KR102419513B1 - 캡처된 이미지들과 관련된 메타 데이터 저장 - Google Patents

캡처된 이미지들과 관련된 메타 데이터 저장 Download PDF

Info

Publication number
KR102419513B1
KR102419513B1 KR1020227005433A KR20227005433A KR102419513B1 KR 102419513 B1 KR102419513 B1 KR 102419513B1 KR 1020227005433 A KR1020227005433 A KR 1020227005433A KR 20227005433 A KR20227005433 A KR 20227005433A KR 102419513 B1 KR102419513 B1 KR 102419513B1
Authority
KR
South Korea
Prior art keywords
user
metadata
images
implementations
automated assistant
Prior art date
Application number
KR1020227005433A
Other languages
English (en)
Other versions
KR20220028147A (ko
Inventor
이브라힘 바드르
코에칸 바키르
다니엘 쿤클
카빈 카르티크 일란고반
데니스 브라코프
Original Assignee
구글 엘엘씨
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 구글 엘엘씨 filed Critical 구글 엘엘씨
Publication of KR20220028147A publication Critical patent/KR20220028147A/ko
Application granted granted Critical
Publication of KR102419513B1 publication Critical patent/KR102419513B1/ko

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
    • G06F16/583Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content
    • G06F16/5846Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content using extracted text
    • 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
    • G06F16/583Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content
    • G06F16/5854Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content using shape and object relationship
    • 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
    • G06F16/5866Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using information manually generated, e.g. tags, keywords, comments, manually generated location and time information
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/44Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
    • G06V10/443Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components by matching or filtering
    • G06V10/449Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters
    • G06V10/451Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters with interaction between the filter responses, e.g. cortical complex cells
    • G06V10/454Integrating the filters into a hierarchical structure, e.g. convolutional neural networks [CNN]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/20Scenes; Scene-specific elements in augmented reality scenes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/35Categorising the entire scene, e.g. birthday party or wedding scene
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/60Type of objects
    • G06V20/62Text, e.g. of license plates, overlay texts or captions on TV images
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/00127Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture
    • H04N1/00204Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture with a digital computer or a digital computer system, e.g. an internet server
    • H04N1/00244Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture with a digital computer or a digital computer system, e.g. an internet server with a server, e.g. an internet server
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/00127Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture
    • H04N1/00281Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture with a telecommunication apparatus, e.g. a switched network of teleprinters for the distribution of text-based information, a selective call terminal
    • H04N1/00307Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture with a telecommunication apparatus, e.g. a switched network of teleprinters for the distribution of text-based information, a selective call terminal with a mobile telephone apparatus
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/00127Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture
    • H04N1/00326Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture with a data reading, recognizing or recording apparatus, e.g. with a bar-code apparatus
    • H04N1/00328Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture with a data reading, recognizing or recording apparatus, e.g. with a bar-code apparatus with an apparatus processing optically-read information
    • H04N1/00331Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture with a data reading, recognizing or recording apparatus, e.g. with a bar-code apparatus with an apparatus processing optically-read information with an apparatus performing optical character recognition
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/0035User-machine interface; Control console
    • H04N1/00405Output means
    • H04N1/00408Display of information to the user, e.g. menus
    • H04N1/00411Display of information to the user, e.g. menus the display also being used for user input, e.g. touch screen
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/0035User-machine interface; Control console
    • H04N1/00405Output means
    • H04N1/00408Display of information to the user, e.g. menus
    • H04N1/00413Display of information to the user, e.g. menus using menus, i.e. presenting the user with a plurality of selectable options
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/0035User-machine interface; Control console
    • H04N1/00405Output means
    • H04N1/00408Display of information to the user, e.g. menus
    • H04N1/00413Display of information to the user, e.g. menus using menus, i.e. presenting the user with a plurality of selectable options
    • H04N1/00416Multi-level menus
    • H04N1/00419Arrangements for navigating between pages or parts of the menu
    • H04N1/00424Arrangements for navigating between pages or parts of the menu using a list of graphical elements, e.g. icons or icon bar
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/21Intermediate information storage
    • H04N1/2166Intermediate information storage for mass storage, e.g. in document filing systems
    • H04N1/217Interfaces allowing access to a single user
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/21Intermediate information storage
    • H04N1/2166Intermediate information storage for mass storage, e.g. in document filing systems
    • H04N1/2179Interfaces allowing access to a plurality of users, e.g. connection to electronic image libraries
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/21Intermediate information storage
    • H04N1/2166Intermediate information storage for mass storage, e.g. in document filing systems
    • H04N1/2179Interfaces allowing access to a plurality of users, e.g. connection to electronic image libraries
    • H04N1/2187Interfaces allowing access to a plurality of users, e.g. connection to electronic image libraries with image input from a plurality of different locations or from a non-central location, e.g. from one or more users
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/21Intermediate information storage
    • H04N1/2166Intermediate information storage for mass storage, e.g. in document filing systems
    • H04N1/2179Interfaces allowing access to a plurality of users, e.g. connection to electronic image libraries
    • H04N1/2191Interfaces allowing access to a plurality of users, e.g. connection to electronic image libraries for simultaneous, independent access by a plurality of different users
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/32Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
    • H04N1/32101Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title
    • H04N1/32106Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title separate from the image data, e.g. in a different computer file
    • H04N1/32112Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title separate from the image data, e.g. in a different computer file in a separate computer file, document page or paper sheet, e.g. a fax cover sheet
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/63Control of cameras or camera modules by using electronic viewfinders
    • H04N23/631Graphical user interfaces [GUI] specially adapted for controlling image capture or setting capture parameters
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/63Control of cameras or camera modules by using electronic viewfinders
    • H04N23/631Graphical user interfaces [GUI] specially adapted for controlling image capture or setting capture parameters
    • H04N23/632Graphical user interfaces [GUI] specially adapted for controlling image capture or setting capture parameters for displaying or modifying preview images prior to image capturing, e.g. variety of image resolutions or capturing parameters
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/64Computer-aided capture of images, e.g. transfer from script file into camera, check of taken image quality, advice or proposal for image composition or decision on when to take image
    • H04N5/23222
    • H04N5/232935
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/765Interface circuits between an apparatus for recording and another apparatus
    • H04N5/77Interface circuits between an apparatus for recording and another apparatus between a recording apparatus and a television camera
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/765Interface circuits between an apparatus for recording and another apparatus
    • H04N5/77Interface circuits between an apparatus for recording and another apparatus between a recording apparatus and a television camera
    • H04N5/772Interface circuits between an apparatus for recording and another apparatus between a recording apparatus and a television camera the recording apparatus and the television camera being placed in the same enclosure
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/91Television signal processing therefor
    • H04N5/92Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback
    • H04N5/9201Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback involving the multiplexing of an additional signal and the video signal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N9/00Details of colour television systems
    • H04N9/79Processing of colour television signals in connection with recording
    • H04N9/80Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback
    • H04N9/82Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback the individual colour picture signal components being recorded simultaneously only
    • H04N9/8205Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback the individual colour picture signal components being recorded simultaneously only involving the multiplexing of an additional signal and the colour video signal
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • G06F18/2413Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on distances to training or reference patterns
    • G06F18/24133Distances to prototypes
    • G06F18/24137Distances to cluster centroïds
    • G06F18/2414Smoothing the distance, e.g. radial basis function networks [RBFN]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/18Extraction of features or characteristics of the image
    • G06V30/1801Detecting partial patterns, e.g. edges or contours, or configurations, e.g. loops, corners, strokes or intersections
    • G06V30/18019Detecting partial patterns, e.g. edges or contours, or configurations, e.g. loops, corners, strokes or intersections by matching or filtering
    • G06V30/18038Biologically-inspired filters, e.g. difference of Gaussians [DoG], Gabor filters
    • G06V30/18048Biologically-inspired filters, e.g. difference of Gaussians [DoG], Gabor filters with interaction between the responses of different filters, e.g. cortical complex cells
    • G06V30/18057Integrating the filters into a hierarchical structure, e.g. convolutional neural networks [CNN]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N2101/00Still video cameras
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N2201/00Indexing scheme relating to scanning, transmission or reproduction of documents or the like, and to details thereof
    • H04N2201/0077Types of the still picture apparatus
    • H04N2201/0084Digital still camera
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N2201/00Indexing scheme relating to scanning, transmission or reproduction of documents or the like, and to details thereof
    • H04N2201/0096Portable devices
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N2201/00Indexing scheme relating to scanning, transmission or reproduction of documents or the like, and to details thereof
    • H04N2201/32Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
    • H04N2201/3201Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title
    • H04N2201/3225Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title of data relating to an image, a page or a document
    • H04N2201/3253Position information, e.g. geographical position at time of capture, GPS data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N2201/00Indexing scheme relating to scanning, transmission or reproduction of documents or the like, and to details thereof
    • H04N2201/32Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
    • H04N2201/3201Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title
    • H04N2201/3261Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title of multimedia information, e.g. a sound signal
    • H04N2201/3266Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title of multimedia information, e.g. a sound signal of text or character information, e.g. text accompanying an image
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N2201/00Indexing scheme relating to scanning, transmission or reproduction of documents or the like, and to details thereof
    • H04N2201/32Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
    • H04N2201/3201Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title
    • H04N2201/3273Display

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Library & Information Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Computing Systems (AREA)
  • Artificial Intelligence (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Software Systems (AREA)
  • Medical Informatics (AREA)
  • Molecular Biology (AREA)
  • Biomedical Technology (AREA)
  • Biodiversity & Conservation Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • User Interface Of Digital Computer (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Image Analysis (AREA)
  • Character Input (AREA)
  • Studio Devices (AREA)

Abstract

본 발명은 클라이언트 디바이스의 카메라에 의해 캡처된 이미지들과 관련된 사용자에 의해 선택된 메타 데이터에 관한 것이다. 사용자에 의해 선택된 메타 데이터는 이미지들이 캡처될 때 사용자에 의해 제공되는 상황 정보 및/또는 정보를 포함할 수 있다. 다양한 구현들에서, 자유 양식 입력은 사용자에 의해 운영되는 하나 이상의 클라이언트 디바이스의 제1 클라이언트 디바이스에서 수신될 수 있다. 작업 요청은 자유 형식 입력으로부터 인식될 수 있고, 그리고 작업 요청은 제1 클라이언트 디바이스의 카메라에 의해 캡처된 하나 이상의 이미지와 관련된 메타 데이터를 저장하기 위한 요청을 포함하는 것으로 결정될 수 있다. 메타 데이터는 작업 요청의 콘텐츠에 기초하여 선택될 수 있다. 메타 데이터는, 예를 들어, 카메라에 의해 캡처된 하나 이상의 이미지와 관련하여, 컴퓨터 판독 가능 매체에 저장될 수 있다. 컴퓨터 판독 가능 매체는 메타 데이터에 의해 검색 가능할 수 있다.

Description

캡처된 이미지들과 관련된 메타 데이터 저장{STORING METADATA RELATED TO CAPTURED IMAGES}
본 발명은 캡처된 이미지들과 관련된 메타 데이터 저장에 관한 것이다.
인간은 여기에서 "자동화된 어시스턴트들(automated assistants)"로 지칭되는("챗봇들", "대화형 개인 어시스턴트들", "지능형 개인 어시스턴트들", "개인 음성 어시스턴트들", "대화 상담원들"등으로도 지칭됨) 대화형 소프트웨어 애플리케이션들과의 인간 대 컴퓨터 다이얼로그들에 관여할 수 있다. 예를 들어, 인간(자동화된 어시스턴트들과 상호 작용할 때 "사용자"라고 할 수 있음)은 자연 언어 입력 (즉, 발화)을 사용하여 명령, 질의 및/또는 요청을 제공할 수 있고, 이는 어떤 경우들에서는, 텍스트로 변환된 다음 처리되고 그리고/또는 텍스트인(예를 들어, 타이핑된) 자연 언어 입력을 제공함으로써 변환될 수 있다. 일부 자동화된 어시스턴트들은 사용자가 요청하면 간단한 사실들을 "기억"할 수 있다. 예를 들어, 사용자는 자동화된 어시스턴트가 사용자의 이름, 사용자의 배우자 이름, 기념일 등을 기억하도록 요청할 수 있다. 사용자는 나중에 자동화된 어시스턴트에게 이러한 사실들을 기억하도록 요청할 수 있다. 그러나 이러한 간단한 사실은 컨텍스트 정보를 많이 제공하지 않고 개별적으로 저장되는 경향이 있다.
클라이언트 디바이스의 카메라에 의해 캡처된 이미지(들)와 관련된 사용자에 의해 선택된 메타 데이터를 저장하기 위한 기술들이 여기에 서술된다. 사용자에 의해 선택된 메타 데이터는, 컨텍스트 정보(지오 태그 등과 같은 이미지와 관련하여 이미 저장된 메타 데이터를 넘어서) 및/또는 이미지들이 캡처될 때 사용자에 의해 제공되는 정보를 포함할 수 있다. 일부 구현들에서, 사용자는, 자동화된 어시스턴트(사용자의 카메라가 장착된 클라이언트 디바이스에서 적어도 부분적으로 실행됨)가 카메라에 의해 캡처된 하나 이상의 이미지와 관련된 사용자에 의해 선택된 메타 데이터를 저장하기 위한 "작업 요청"을 포함하는 입력을 제공할 수 있다. 일부 구현들에서, 메타 데이터는 사용자의 태스크 요청의 콘텐츠를 포함할 수 있다. 다른 구현들에서, 메타 데이터는 작업 요청의 콘텐트(예를 들어, 위치 좌표)에 기초하여 선택된 데이터를 포함할 수 있다. 일부 구현들에서, 사용자는 나중에 검색 질의와 같은 다른 작업 요청을 자동화된 어시스턴트에게 제공할 수 있고, 그리고 자동화된 어시스턴트는 작업 요청을 검색 질의에 응답하는 사용자에 의해 선택 메타 데이터에 매칭시키려고 시도할 수 있다. 후속 작업 요청은 메타 데이터에 기초하여 응답될 수 있다.
간단한 예로서, 사용자는 사용자의 여권 사진을 찍을 때 "이것이 나의 여권임을 기억해"라는 음성 작업 요청을 제공할 수 있다. 이미지와 관련된 메타 데이터는, 예를 들어, 이미지 자체와 관련하여 저장될 수 있다. 나중에, 사용자는 자동화된 어시스턴트에게 "나의 여권을 보여줘" 또는 "나의 여권에 대한 정보를 보여줘"를 요청할 수 있으며, 메타 데이터 및/또는 이전에 캡처된 이미지는 사용자에게 노출될 수 있다. 일부 구현들에서, 광학 문자 인식("OCR")은 여권의 캡처된 이미지상에서 수행될 수 있고 그리고 메타 데이터로서 저장될 수 있다. 따라서, 일부 경우에 자동화된 어시스턴트로의 요청을 통해 여권 이미지를 리콜할 수 있는 것 외에도, 일부 구현들에서, 사용자는 자동화된 어시스턴트에게 만료 날짜와 같은 여권에 대한 정보를 검색하도록 요청할 수 있다. 사용자는 유사한 기술을 사용하여 Wi-Fi 자격 증명의 이미지(예를 들어, 서비스 세트 식별자 또는 "SSID" 및 Wi-Fi 라우터 하단에 인쇄된 패스워드)를 저장할 수 있고, 이후, OCR의 자격 증명을 요청할 수 있다.
다른 예로서, 사용자가 카메라를 특정 위치로 향하게 하는 동안 사용자는 자동화된 어시스턴트에게 "주차 장소를 기억해"하도록 요청할 수 있다. 이러한 일부 구현들에서, 자동화된 어시스턴트는, 예를 들어, 사용자가 캡처한 이미지와 연관된 지오 태그(들) 및/또는 사용자의 현재 위치 좌표(예를 들어, GPS 센서로부터 결정)에 기초하여 위치를 기억할 수 있다. 사용자가 나중에 "어디에 주차 했지?"라고 물을 때, 일부 구현들에서, 캡처된 이미지가 표시될 수 있고, 그리고 일부 경우들에서, 자동화된 어시스턴트는 위치 좌표와 같은 대응하는 메타 데이터 중 적어도 일부를 청각적으로 또는 시각적으로 제시할 수 있다.
다양한 다른 사용자에 의해 선택된 메타 데이터가 저장 될 수 있고, 그리고 다양한 구현들에서, 간단한 이미지 리콜에 부가하여 또는 대신에 다양한 목적으로 사용될 수 있다. 일부 구현들에서, 사용자는 이미지에 묘사된 객체가 사용자의 배우자와 같은 엔티티로서 식별되도록 요청할 수 있다. 그러한 일부 구현들에서, 그 이미지는 사용자에 의해 표시된 엔티티와 관련된 참조 이미지로서 사용될 수 있다. 일부 구현들에서, 상이한 이미지들에서 동일한 엔티티를 식별하기 위해 이미지 처리는 그 이미지 및/또는 사용자의 다른 저장된 이미지들에서 수행될 수 있다. 예를 들어, 사용자가 카메라를 사용자의 아내로 향하고 "이 사람은 내 아내야"라고 말하면, 그 이미지는 이전에 캡처된 그리고/또는 미래에 캡처될 사용자의 아내의 다른 이미지들을 라벨링하는데 사용될 수 있다.
다른 예로서, 레스토랑을 지나가는 사용자는 레스토랑의 이미지를 캡처하고 자동화된 어시스턴트에게 "나중에 이 레스토랑을 확인하라고 알려줘"라고 지시할 수 있다. 이미지 처리(예를 들어, OCR)는, 예를 들어, 레스토랑의 이름, 주소 등과 같은 식별 가능한 단어들을 식별하기 위해 캡처된 이미지에 대해 수행될 수 있다.추가적으로 또는 대안적으로, 레스토랑은 이미지가 캡처될 때의 사용자의 위치 좌표(또는 이미지의 메타 데이터에 이미 저장될 수 있는 지오 태그)와 같은 다른 신호들로부터 식별될 수 있다. 사용자는, 나중에, 자동화된 어시스턴트에게 "내가 말했던 레스토랑을 나에게 알려줘"라고 요청하여 이 이미지 및/또는 메타 데이터를 리콜할 수 있다. 추가적으로 또는 대안적으로, 자동화된 어시스턴트는, 미래의 어느 시점에서, 예를 들어, 사용자가 다시 레스토랑 근처에 있을 때 (예를 들어, 사용자의 GPS 좌표에 기초하여) 또는 사용자가 레스토랑 추천을 요청할 때, 사용자에게 리마인더를 자동으로 표면화(예를 들어, 청각적으로 또는 가시적으로 출력)할 수 있다.
일부 구현들에서, 사용자는 제품과 같은 엔티티의 이미지를 캡처할 수 있고, 그리고 자동화된 어시스턴트에게 이미지와 관련된 메타 데이터로서 하나 이상의 사용자에 의해 선택된 정보의 조각들을 저장하도록 요청할 수 있다. 예를 들어, 와인 한 병의 이미지를 캡처하는 동안, 사용자는 자동화된 어시스턴트에게 "이 와인은 훌륭하다"는 것을 기억하도록 요청할 수 있다. 사용자가 나중에 와인 추천을 요청할 때, 자동화된 어시스턴트는 사용자가 저장 한 다른 병과 함께 이 와인 병을 추천할 수 있다. 추가적으로 또는 대안적으로, 사용자가, 예를 들어, 소위 "스마트"안경에 포함될 수 있는 증강 현실 디스플레이를 통해 상점의 선반에서 복수의 와인을 보고 있다고 가정하자. 이전에 저장된 이미지와 해당 메타 데이터를 기반으로, 동일한 와인은 선반에서 인식될 수 있고, 그리고, 예를 들어, 선반에서 와인을 강조하거나 시각적으로 강조함으로써 사용자에게 시각적으로 주석이 달릴 수 있다(예를 들어, "당신은 이 와인은 '훌륭해'라고 말했다"). 마찬가지로, 카메라가 장착 된 스마트 폰을 사용하는 사용자는, 카메라를 동일한 와인 선반으로 향하게 할 수 있고, 그리고 스마트 폰의 전자식 뷰 파인더에서 사용자가 좋아하는 와인을 시각적으로 강조할 수 있다. 예를 들어, 사용자가 나중에 다른 사람들의 이름 (또는 다른 관련 정보)을 기억하도록 돕기 위해 이미지들에서 사용자에 의해 식별된 인간 엔티티에 유사한 기술들이 적용될 수 있다.
사용자는 자동화된 어시스턴트를 호출하여 다양한 방식들로 캡처된 이미지와 관련된 사용자에 의해 선택된 메타 데이터를 저장할 수 있다. 일부 구현들에서, 카메라 애플리케이션과 연관된 그래픽 사용자 인터페이스("GUI")는 자동화된 어시스턴트를 호출하기 위해 사용자에 의해 선택 가능한 그래픽 요소를 포함할 수 있다. 이미지가 촬영되기 직전, 촬영되는 도중 또는 촬영된 후에, 사용자는 이 그래픽 요소를 선택할 수 있고, 그리고 사용자에 의해 선택된 메타 데이터를 저장하는데 사용될 수 있는 작업 요청을 제공할 수 있다. 다른 구현들에서, 사용자는 사진을 찍기 직전, 찍는 도중 또는 찍은 후에 기존의 호출 문구(예를 들어, "어이, 자동화된 어시스턴트" 또는 "기억해"를 말함으로써)를 사용하여 자동화된 어시스턴트를 간단하게 호출할 수 있다.
일부 구현들에서, 자동화된 어시스턴트는 다양한 신호들에 응답하여 사용자에게 작업 요청을 추천할 수 있다. 예를 들어, 사용자는 카메라를 자동차(예를 들어, 사용자의 자동차)로 향하게 할 수 있다. 자동화된 어시스턴트는 이미지 내의 특정 자동차(또는, 더 일반적으로 차량)를 인식할 수 있고, 그리고 자동화된 어시스턴트가 주차 장소를 기억하기를 사용자가 원하는지, 사용자에게 요청할 수 있다.
일부 구현들에서, 하나 이상의 프로세서에 의해 구현되는 방법은, 사용자에 의해 운영되는 하나 이상의 클라이언트 디바이스 중 제1 클라이언트 디바이스에서, 상기 사용자로부터 자유 형식 입력을 수신하는 단계와; 상기 자유 형식 입력으로부터 작업 요청을 인식하는 단계와; 상기 작업 요청이 상기 제1 클라이언트 디바이스의 카메라에 의해 캡처된 하나 이상의 이미지와 관련된 메타 데이터를 저장하기 위한 요청을 포함한다고 결정하는 단계 - 상기 메타 데이터는 상기 작업 요청의 콘텐츠에 기초하여 선택되며 - 와; 그리고 하나 이상의 컴퓨터 판독 가능 매체에 상기 메타 데이터를 저장하는 단계를 포함하고, 상기 하나 이상의 컴퓨터 판독 가능 매체는 상기 메타 데이터를 사용하여 검색 가능하다.
여기에서 개시된 기술의 이러한 구현들 및 다른 구현들은 다음 특징들 중 하나 이상을 선택적으로 포함할 수 있다.
다양한 구현들에서, 상기 방법은, 상기 하나 이상의 클라이언트 디바이스의 제1 클라이언트 디바이스 또는 제2 클라이언트 디바이스에서 제2 자유 형식 입력을 수신하는 단계와; 상기 제2 자유 형식 입력으로부터 다른 작업 요청을 인식하는 단계와; 상기 카메라에 의해 캡처된 하나 이상의 이미지와 관련된 메타 데이터가 상기 다른 작업 요청에 응답한다고 결정하는 단계와; 그리고 상기 메타 데이터가 상기 다른 작업 요청에 응답한다는 결정하는 단계에 응답하여, 상기 작업 요청을 수행하는 단계를 더 포함할 수 있다.
다른 구현들에서, 상기 자유 형식 입력은, 상기 제1 클라이언트 디바이스의 전자 뷰 파인더가 상기 제1 클라이언트 디바이스의 카메라에 의해 캡처된 데이터를 스트리밍하는 동안 수신될 수 있다. 다른 구현들에서, 상기 방법은, 상기 제1 클라이언트 디바이스의 하나 이상의 출력 디바이스를 통한 출력으로서, 상기 작업 요청을 상기 사용자에게 제안으로서 제공하는 단계를 더 포함할 수 있고, 상기 작업 요청은 상기 제1 클라이언트 디바이스의 하나 이상의 센서에 의해 생성된 하나 이상의 신호에 기초하여 선택된다. 다양한 구현들에서, 상기 하나 이상의 신호는 상기 카메라에 의해 캡처된 데이터를 포함할 수 있다. 다양한 구현들에서, 상기 하나 이상의 신호는 위치 좌표 센서로부터의 위치 좌표 데이터를 포함할 수 있다.
다양한 구현들에서, 상기 방법은, 상기 하나 이상의 이미지에 대해 이미지 처리를 수행하는 단계와; 상기 이미지 처리에 기초하여, 상기 하나 이상의 이미지에 묘사된 객체를 식별하는 단계와; 그리고 동일한 객체 또는 상기 묘사된 객체와 하나 이상의 속성을 공유하는 다른 객체를 나타내는 다른 저장된 이미지와 관련하여 상기 메타 데이터를 저장하는 단계를 더 포함할 수 있다.
다양한 구현들에서, 상기 방법은, 상기 하나 이상의 이미지에 묘사된 텍스트 콘텐츠를 결정하기 위해 상기 하나 이상의 이미지의 일부에 대해 광학 문자 인식을 수행하는 단계를 더 포함할 수 있다. 다양한 구현들에서, 상기 메타 데이터는 상기 텍스트 콘텐츠 중 적어도 일부를 더 포함할 수 있다. 다양한 구현들에서, 상기 메타 데이터는 상기 작업 요청의 콘텐츠 중 적어도 일부를 포함할 수 있다. 다양한 구현들에서, 상기 메타 데이터는 상기 하나 이상의 이미지의 캡처와 동시에 획득된 위치 좌표를 포함할 수 있다.
또한, 일부 구현들은 하나 이상의 컴퓨팅 디바이스의 하나 이상의 프로세서를 포함하고, 하나 이상의 프로세서가 관련 메모리에 저장된 명령을 실행하도록 동작할 수 있고, 여기서 명령어들은는 전술한 방법들 중 임의의 것을 수행하도록 구성된다. 일부 구현은 또한 전술한 방법들 중 임의의 것을 수행하기 위해 하나 이상의 프로세서에 의해 실행 가능한 컴퓨터 명령어들을 저장하는 하나 이상의 비 일시적인 컴퓨터 판독 가능 저장 매체를 포함한다.
본 명세서에서 더 상세하게 설명된 전술한 개념들 및 추가 개념들의 모든 조합은 본원에 개시된 주제의 일부인 것으로 고려된다는 것을 이해해야 한다. 예를 들어, 본 개시의 끝에 나타나는 청구된 주제의 모든 조합들은 본 명세서에 개시된 주제의 일부인 것으로 고려된다.
본 명세서에 개시된 구현은 다수의 기술적 이점을 제공한다. 캡처된 이미지와 관련된 사용자 선택 메타 데이터의 저장은 캡처된 이미지의 후속 검색이 보다 효율적임을 보장한다. 입력 질의에 기초하여 이미지가 식별될 수 없을 가능성은 이미지와 관련된 메타 데이터를 저장하는 프로세스에 의해 감소되며, 이는 성공적인 결과를 달성하기 위해 필요한 클라이언트 디바이스와의 사용자 상호 작용들이 감소됨을 의미한다. 결과적으로, 여러 검색 작업들의 수행 및 여러 사용자 입력들의 처리와 관련된 리소스가 절약된다. 또한, 작업 요청을 인식하는 자유 형식 입력에 메타 데이터를 저장하라는 촉구를 기반으로 하여, 메타 데이터 저장 프로세스의 시작이 효율적임을 보장할 수 있고, 그리고 사용자가 제한된 형식의 입력을 제공할 필요는 없다. 결과적으로, 잘못된 입력 또는 잘못된 처리의 가능성이 감소되고, 개시된 구현들을 호스팅하는 시스템의 리소스들을 최적화함으로써, 저장 및 후속 검색 프로세스가 보다 효율적으로 수행될 수 있다.
도 1은 여기에 개시된 기술들이 구현될 수 있는 예시적인 환경의 블록도이다.
도 2, 도 3, 도 4, 도 5 및 도 6은 다양한 구현들에 따라 여기에 개시된 기술들이 어떻게 이용될 수 있는지의 예들을 도시한다.
도 7 및 도 8은 여기에 개시된 구현들에 따른 예시적인 방법들을 도시하는 흐름도를 도시한다.
도 9는 컴퓨팅 디바이스의 예시적인 아키텍처를 도시한다.
이제, 도 1을 참조하면, 여기에 개시된 기술들이 구현될 수 있는 예시적인 환경이 도시되어 있다. 예시적인 환경은 복수의 클라이언트 컴퓨팅 디바이스들(1061-N) 및 자동화된 어시스턴트(120)를 포함한다. 자동화된 어시스턴트(120)가 도 1에 클라이언트 컴퓨팅 디바이스들(1061-N)과 별개로 도시되어 있지만, 일부 구현들에서 자동화된 어시스턴트(120)의 모든 또는 일부 양태들은 하나 이상의 클라이언트 컴퓨팅 디바이스(1061-N)에 의해 구현될 수 있다. 예를 들어, 클라이언트 디바이스(1061)는 자동화된 어시스턴트(120)의 하나 이상의 양태의 하나의 인스턴스를 구현할 수 있고 그리고 클라이언트 디바이스(106N)는 또한 자동화된 어시스턴트(120)의 하나 이상의 양태의 개별 인스턴스를 구현할 수 있다. 자동화된 어시스턴트(120)의 하나 이상의 양태가 클라이언트 컴퓨팅 디바이스들(1061-N)로부터 떨어진 하나 이상의 컴퓨팅 디바이스에 의해 구현되는 구현들에서, 클라이언트 컴퓨팅 디바이스들(1061-N) 및 자동화된 어시스턴트(120)의 이러한 양태들은 근거리 네트워크(LAN) 및/또는 광역 네트워크(WAN)(예를 들어, 인터넷)와 같은 하나 이상의 네트워크를 통해 통신할 수 있다.
클라이언트 디바이스들(1061-N)은, 예를 들어, 데스크탑 컴퓨팅 디바이스, 랩톱 컴퓨팅 디바이스, 태블릿 컴퓨팅 디바이스, 휴대 전화 컴퓨팅 디바이스, 사용자 차량의 컴퓨팅 디바이스(예를 들어, 차량 내 통신 시스템, 차량 내 엔터테인먼트 시스템, 차량 내비게이션 시스템), 독립형 대화형 스피커, 및/또는 컴퓨팅 디바이스를 포함하는 사용자의 웨어러블 디바이스(예를 들어, 컴퓨팅 디바이스를 갖는 사용자의 시계, 컴퓨팅 디바이스를 갖는 사용자의 안경들, 가상 또는 증강 현실 컴퓨팅 디바이스) 중 하나 이상을 포함할 수 있다. 추가 및/또는 대안적인 클라이언트 컴퓨팅 디바이스들이 제공될 수 있다. 일부 구현들에서, 본 발명의 선택된 양태들로 구성된 자동화된 어시스턴트들은 디지털 카메라들과 같은 다른 유형들의 전자 디바이스들 상에 설치될 수 있다. 일부 구현들에서, 특정 사용자는 통합된 컴퓨팅 디바이스들의 "생태계"로부터 집합적으로 복수의 클라이언트 컴퓨팅 디바이스들을 이용하여 자동화된 어시스턴트(120)와 통신할 수 있다. 일부 이러한 구현들에서, 자동화된 어시스턴트(120)는, 특정 사용자, 예를 들어, 자동화된 어시스턴트(120)에게 "서빙된" 사용자에 의해 액세스가 제어되는 리소스들(예를 들어, 콘텐츠, 문서 등)에 대한 향상된 액세스를 부여하는 것으로 간주될 수 있다. 그러나, 간결성을 위해, 본 명세서에서 서술된 일부 예들은 단일 클라이언트 컴퓨팅 디바이스(106)를 운영하는 사용자에 초점을 맞출 것이다.
클라이언트 컴퓨팅 디바이스들(1061-N) 각각은 다양한 상이한 애플리케이션들을, 예를 들어, 복수의 메시지 교환 클라이언트들(1071-N) 중 대응하는 하나, 복수의 카메라 애플리케이션들(1091-N) 중 대응하는 하나, 및 음성 캡처/텍스트-대-음성("TTS")/음성-대-텍스트("STT") 모듈(1141-N)를 동작시킬 수 있다. 각각의 클라이언트 디바이스(106)는 또한 하나 이상의 카메라(111)(예를 들어, 스마트 폰 또는 태블릿의 경우 전면 및/또는 후면 카메라)를 구비할 수 있다.
각각의 음성 캡처/TTS/STT 모듈(114)은 하나 이상의 기능을 수행하도록, 예를 들어, 마이크로폰(도시되지 않음)을 통해 사용자의 음성을 캡처하고, 캡처한 오디오를 텍스트로 변환하며, 그리고/또는 텍스트를 음성으로 변환하도록 구성될 수 있다. 예를 들어, 일부 구현들에서, 클라이언트 디바이스(106)는 컴퓨팅 리소스들(예를 들어, 프로세서 사이클들, 메모리, 배터리 등)의 관점에서 상대적으로 제한될 수 있기 때문에, 각각의 클라이언트 디바이스(106)에 로컬인 음성 캡처/TTS/STT 모듈(114)은 한정된 수의 상이한 음성 문구들, 특히 자동화된 어시스턴트(120)를 호출하는 문구들을 텍스트로 변환하도록 구성될 수 있다. 다른 음성 입력은, 클라우드 기반 TTS 모듈(116) 및/또는 클라우드 기반 STT 모듈(118)을 포함할 수 있는 자동화된 어시스턴트(120)로 전송될 수 있다.
STT 모듈(118)은 음성 캡처/TTS/STT 모듈(114)에 의해 캡처된 오디오 데이터를 텍스트(이후 자연 언어 프로세서(122)에 제공될 수 있음)로 변환하기 위해 클라우드의 사실상 무한한 리소스를 활용하도록 구성될 수 있다. TTS 모듈(116)은 텍스트 데이터(예를 들어, 자동화된 어시스턴트(120)에 의해 공식화된 자연 언어 응답)를 컴퓨터로 생성된 음성 출력으로 변환하기 위해 클라우드의 사실상 무한한 리소스들을 활용하도록 구성될 수 있다. 일부 구현들에서, TTS 모듈(116)은 컴퓨터로 생성된 음성 출력을 클라이언트 디바이스(106)에 제공하여, 예를 들어, 하나 이상의 스피커를 사용하여 직접 출력될 수 있다. 다른 구현들에서, 자동화된 어시스턴트(120)에 의해 생성된 텍스트 데이터(예를 들어, 자연 언어 응답)는 음성 캡처/TTS/STT 모듈(114)에 제공될 수 있고, 이후, 텍스트 데이터를 컴퓨터로 생성된 음성 출력으로 로컬로 변환할 수 있다.
메시지 교환 클라이언트들(1071-N)는 다양한 형태들로 제공될 수 있고, 형태들은 클라이언트 컴퓨팅 디바이스들(1061-N)에 걸쳐 다양할 수 있고 그리고/또는 다수의 형태들이 클라이언트 컴퓨팅 디바이스들(1061-N) 중 하나에서 작동될 수 있다. 일부 구현들에서, 하나 이상의 메시지 교환 클라이언트(1071-N)는, 단문 메시징 서비스("SMS") 및/또는 멀티미디어 메시징 서비스("MMS") 클라이언트, 온라인 채팅 클라이언트(예를 들어, 인스턴트 메신저, 인터넷 릴레이 채팅 또는 "IRC" 등), 소셜 네트워크와 관련된 메시징 애플리케이션, 자동화된 어시스턴트(120)와의 대화에 전념하는 개인 어시스턴트 메시징 서비스 등의 형태로 올 수 있다. 일부 구현들에서, 메시지 교환 클라이언트들 (1071-N) 중 하나 이상은 웹 브라우저(도시되지 않음) 또는 클라이언트 컴퓨팅 디바이스(106)의 다른 애플리케이션에 의해 렌더링된 웹 페이지 또는 다른 리소스들을 통해 구현될 수 있다.
카메라 애플리케이션(1091-N)은 사용자들이 카메라들(1111-N)을 제어하도록 할 수 있다. 예를 들어, 하나 이상의 카메라 애플리케이션들(1091-N)은 사용자가 하나 이상의 이미지 및/또는 비디오를 캡처하기 위해, 예를 들어 저장, 화상 회의 등을 위해 상호 작용할 수 있는 그래픽 사용자 인터페이스들을 제공할 수 있다. 일부 구현들에서, 카메라 애플리케이션들(1091-N)은, 사용자들이, 예를 들어, 카메라들 (1111-N)에 의해 캡처된 이미지들과 관련하여 사용자에 의해 선택된 메타 데이터를 저장할 수 있게 하기 위해 여기에 서술된 바와 같이 자동화된 어시스턴트(120)와 상호 작용/인터페이스할 수 있다. 다른 구현들에서, 하나 이상의 카메라 애플리케이션(1091-N)은, 예를 들어, 카메라들(1111-N)에 의해 캡처된 이미지들과 관련하여, 사용자들에 의해 선택된 메타 데이터를 저장할 수 있게 하는, 자동화된 어시스턴트(120)와는 별개로, 자체 내장 기능을 가질 수 있다. 다양한 구현들에서, 이 저장된 사용자에 의해 선택된 메타 데이터는 자동화된 어시스턴트(120) 및/또는 클라이언트 디바이스(1061-N)의 다른 컴포넌트들에 액세스하여 나중에 사용자들에 의해 검색 및 시청/소비될 수 있다. 추가적으로 또는 대안적으로, 일부 구현들에서, 메시지 교환 클라이언트(107) 또는 클라이언트 디바이스(106)에 설치된 임의의 다른 애플리케이션은, 애플리케이션이 카메라(111)에 의해 캡처된 데이터뿐만 아니라 그와 함께 저장된 메타 데이터에 액세스하고 그리고 여기에 서술된 기술들을 수행할 수 있게 하는 기능을 포함할 수 있다.
여기에서 보다 상세하게 설명된 바와 같이, 자동화된 어시스턴트(120)는 하나 이상의 클라이언트 디바이스(1061-N)의 사용자 인터페이스 입력 및 출력 디바이스를 통해 하나 이상의 사용자와 인간 대 컴퓨터 다이얼로그 세션에 관여한다. 일부 구현들에서, 자동화된 어시스턴트(120)는 클라이언트 디바이스들(1061-N) 중 하나의 하나 이상의 사용자 인터페이스 입력 디바이스들을 통해 사용자에 의해 제공되는 사용자 인터페이스 입력에 응답하여 사용자와 인간 대 컴퓨터 다이얼로그 세션에 관여할 수 있다. 이러한 구현들 중 일부에서, 사용자 인터페이스 입력은 명시적으로 자동화된 어시스턴트(120)로 보내진다. 예를 들어, 메시지 교환 클라이언트들 (1071-N) 중 하나는 자동화된 어시스턴트(120)와의 대화들에 전용인 개인 어시스턴트 메시징 서비스일 수 있고, 그리고 그 개인 어시스턴트 메시징 서비스를 통해 제공된 사용자 인터페이스 입력은 자동화된 어시스턴트(120)에 자동으로 제공될 수 있다. 또한, 예를 들어, 사용자 인터페이스 입력은 자동화된 어시스턴트(120)가 호출될 것임을 나타내는 특정 사용자 인터페이스 입력에 기초하여 하나 이상의 메시지 교환 클라이언트들(1071-N)의 자동화된 어시스턴트(120)로 명시적으로 지시될 수 있다. 예를 들어, 특정 사용자 인터페이스 입력은, 하나 이상의 타이핑된 문자들(예를 들어, @AutomatedAssistant), 하드웨어 버튼 및/또는 가상 버튼(예를 들어, 탭, 긴 탭), 구두 명령(예를 들어, "헤이 자동화된 어시스턴트(Hey Automated Assistant)") 및/또는 다른 특정 사용자 인터페이스 입력일 수 있다. 일부 구현들에서, 자동화된 어시스턴트(120)는, 사용자 인터페이스 입력이 자동화된 어시스턴트(120)로 명시적으로 지시되지 않은 경우에도 사용자 인터페이스 입력에 응답하여 대화 세션에 관여할 수 있다. 예를 들어, 자동화된 어시스턴트(120)는 사용자 인터페이스 입력의 콘텐츠를 검사할 수 있고 그리고 사용자 인터페이스 입력에 존재하는 특정 용어들에 응답하여 그리고/또는 다른 큐들에 기초하여 대화 세션에 참여할 수 있다. 많은 구현들에서, 자동화된 어시스턴트(120)는 대화식 음성 응답("IVR")을 관여시켜서, 사용자가 명령, 검색 등을 할 수 있고 그리고 자동화된 어시스턴트는 자연 언어 처리 및/또는 하나 이상의 문법을 사용하여 발화들을 텍스트로 변환하고 이에 따라 응답할 수 있다.
클라이언트 컴퓨팅 디바이스들(1061-N) 및 자동화된 어시스턴트(120) 각각은, 데이터 및 소프트웨어 애플리케이션들의 저장을 위한 하나 이상의 메모리, 데이터에 액세스하고 애플리케이션을 실행하기 위한 하나 이상의 프로세서, 및 네트워크를 통한 통신을 용이하게 하는 다른 컴포넌트들을 포함할 수 있다. 하나 이상의 클라이언트 컴퓨팅 디바이스(1061-N) 및/또는 자동화된 어시스턴트(120)에 의해 수행되는 동작들은 다수의 컴퓨터 시스템들에 걸쳐 분산될 수 있다. 자동화된 어시스턴트(120)는, 예를 들어, 네트워크를 통해 서로 연결된 하나 이상의 위치에서 하나 이상의 컴퓨터에서 실행되는 컴퓨터 프로그램들로서 구현될 수 있다.
자동화된 어시스턴트(120)는 도 1에 도시되지 않은 다른 컴포넌트들 중에서 자연 언어 프로세서(122) 및 이미지 메모리 엔진(130)을 포함할 수 있다. 일부 구현들에서, 자동화된 어시스턴트(120)의 엔진들 및/또는 모듈들 중 하나 이상은 자동화된 어시스턴트(120)와 분리된 컴포넌트에서 생략, 결합 및/또는 구현될 수 있다. 일부 구현들에서, 자동화된 어시스턴트(120)는 자동화된 어시스턴트(120)와의 인간 대 컴퓨터 다이얼로그 세션 동안 클라이언트 디바이스들(1061-N) 중 하나의 사용자에 의해 생성된 다양한 입력들에 응답하여 응답 콘텐츠를 생성한다. 자동화된 어시스턴트(120)는 다이얼로그의 세션의 일부로서 사용자에게 제시하기 위해 (예를 들어, 사용자의 클라이언트 디바이스로부터 분리될 때 하나 이상의 네트워크를 통해) 응답형 콘텐츠를 제공한다. 예를 들어, 자동화된 어시스턴트(120)는 클라이언트 디바이스들(1061-N) 중 하나를 통해 제공되는 자유 형식의 자연 언어 입력에 응답하여 응답성 콘텐츠를 생성할 수 있다. 본원에 사용된 바와 같이, 자유 형식 입력은 사용자에 의해 공식화되고 사용자에 의해 선택하기 위해 제시된 옵션들의 그룹에 제한되지 않는 입력이다.
여기에서 사용되는 바와 같이, "다이얼로그 세션"은 사용자와 자동화된 어시스턴트(120)(및 일부 경우들에서, 스레드의 다른 사람 참가자들) 사이의 하나 이상의 메시지들의 논리적으로 자체 포함된 교환을 포함할 수 있다. 자동화된 어시스턴트(120)는 다양한 신호들, 예를 들어, 세션들 사이의 시간의 경과, 세션들 사이의 사용자 콘텍스트의 변경(예를 들어, 위치, 예정된 미팅 전/중/후), 사용자와 자동화된 어시스턴트 사이의 다이얼로그 이외의 사용자와 클라이언트 디바이스 사이의 하나 이상의 개입 상호 작용들의 검출(예를 들어, 사용자가 잠시 동안 애플리케이션을 전환하고, 사용자가 멀어졌다가 나중에 독립형 음성 활성화 제품으로 돌아옴), 세션들 사이의 클라이언트 디바이스의 잠금/절전 모드, 자동화된 어시스턴트(120)의 하나 이상의 인스턴트와 인터페이스하기 위해 사용된 클라이언트 디바이스들의 변경에 기초하여 사용자와 다수의 다이얼로그 세션들 사이를 구별할 수 있다.
일부 구현들에서, 자동화된 어시스턴트(120)가 사용자 피드백을 요청하는 촉구를 제공할 때, 자동화된 어시스턴트(120)는 촉구에 응답하여 수신될 사용자 인터페이스 입력을 처리하도록 구성된 클라이언트 디바이스(프롬프트가 제공되는)의 하나 이상의 컴포넌트를 선제적으로 활성화할 수 있다. 예를 들어, 사용자 인터페이스 입력이 클라이언트 디바이스(1061)의 마이크로폰을 통해 제공되는 경우, 자동화된 어시스턴트(120)는 하나 이상의 명령으로 하여금, 마이크로폰이 선제적으로 "열려지도록"하고(그 결과, 인터페이스 요소를 열거나 또는 마이크를 열기 위해 "핫 워드"를 말하도록 할 필요를 방지함), 클라이언트 디바이스(1061)의 로컬 음성 대 텍스트 프로세서가 선제적으로 활성화될 수 있고, 클라이언트 디바이스(1061)와의 원격 음성 대 텍스트 프로세서 사이의 통신 세션이 선제적으로 확립되고 그리고/또는 그래픽 사용자 인터페이스는 클라이언트 디바이스(1061)(예를 들어, 피드백을 제공하도록 선택될 수 있는 하나 이상의 선택 가능한 요소를 포함하는 인터페이스) 상에 렌더링되도록 할 수 있다. 이는 사용자 인터페이스 입력이 컴포넌트들이 선제 적으로 활성화되지 않은 경우보다 더 빠르게 제공 및/또는 처리될 수 있게 한다.
자동화된 어시스턴트(120)의 자연 언어 프로세서(122)는 클라이언트 디바이스들(1061-N)을 통해 사용자들에 의해 생성된 자연 언어 입력을 처리하고, 그리고 이미지 메모리 엔진(130)과 같은 자동화된 어시스턴트(120)의 하나 이상의 다른 컴포넌트에 의해 사용하기 위해 주석이 달린 출력을 생성할 수 있다. 예를 들어, 자연 언어 프로세서(122)는 클라이언트 디바이스(1061)의 하나 이상의 사용자 인터페이스 입력 디바이스를 통해 사용자에 의해 생성된 자연 언어 자유 형식 입력을 처리할 수 있다. 생성된 주석이 달린 출력은 자연 언어 입력의 하나 이상의 주석 및 선택적으로 자연 언어 입력의 용어드 중 하나 이상(예를 들어, 모두)을 포함한다.
일부 구현들에서, 자연 언어 프로세서(122)는 자연 언어 입력에서 다양한 유형들의 문법 정보를 식별하고 주석을 달도록 구성된다. 예를 들어, 자연 언어 프로세서(122)는 용어들을 문법 역할들로 주석을 달도록 구성된 음성 태거의 일부를 포함할 수 있다. 예를 들어, 음성 태거의 일부는 "명사", "동사", "형용사", "대명사" 등과 같은 음성의 일부로 각 용어에 태그를 지정할 수 있다. 또한, 예를 들어, 일부 구현들에서, 자연 언어 프로세서(122)는 자연 언어 입력에서 용어들 간의 구문적 관계를 결정하도록 구성된 의존성 파서(도시되지 않음)를 부가적으로 그리고/또는 대안적으로 포함할 수 있다. 예를 들어, 의존성 파서는 어떤 용어들이 문장들의 다른 용어들, 주제들 및 동사들 등을 수정하는지(예를 들어, 파스 트리)를 결정할 수 있고 그러한 의존성들에 주석을 달 수 있다.
일부 구현들에서, 자연 언어 프로세서(122)는, 사람(예를 들어, 문학적 인물, 유명인, 대중 인물 등), 조직, 위치(실제 및 가상 위치 등)에 대한 참조들과 같은 하나 이상의 세그먼트에서 엔티티 참조들에 주석을 달도록 구성되는 엔티티 태거(도시되지 않음)를 추가적으로 그리고/또는 대안적으로 포함할 수 있다. 일부 구현들에서, 엔티티들에 관한 데이터는 (도시되지 않은) 지식 그래프와 같은 하나 이상의 데이터베이스에 저장될 수 있다. 일부 구현들에서, 지식 그래프는 알려진 엔티티들(및 경우에 따라 엔티티 속성들)을 나타내는 노드들뿐만 아니라 노드들을 연결하고 엔티티들 사이의 관계를 나타내는 에지들을 포함할 수 있다. 예를 들어, "바나나" 노드는 (예를 들어, 차일드로서) "과일" 노드에 연결될 수 있고, "과일" 노드는, 차례로 (예를 들어, 차일드로서) "생산물" 및/또는 "음식" 노드에 연결될 수 있다. 다른 예로서, "가설적인 카페(Hypothetical Cafe)"라고 불리는 레스토랑은, 주소, 음식 유형, 시간, 연락처 정보 등과 같은 속성들을 포함하는 노드로 표현될 수 있다. "가설적인 카페" 노드는 일부 구현들에서 하나 이상의 다른 노드들, 예를 들어, "레스토랑" 노드, "기업" 노드, 레스토랑이 위치하는 도시 및/또는 주를 나타내는 노드 등에 대한 에지(예를 들어, 차일드-페어런트 관계를 나타내는 에지)에 의해 연결될 수 있다.
자연 언어 프로세서(122)의 엔티티 태거는 (예를 들어, 사람과 같은 엔티티 클래스에 대한 모든 참조들의 식별을 가능하게 하기 위해) 높은 레벨의 세분성으로 그리고/또는 (예를 들어, 특정 개인과 같은 특정 엔티티에 대한 모든 참조들의 식별을 가능하게 하기 위해) 낮은 레벨의 세분성으로 엔티티에 대한 참조들에 주석을 달 수 있다. 엔티티 태거는 특정 엔티티를 해결하기 위해 자연 언어 입력의 콘텐츠에 의존할 수 있고 그리고/또는 선택적으로 특정 엔티티를 해결하기 위해 지식 그래프 또는 다른 엔티티 데이터베이스와 통신할 수 있다.
일부 구현들에서, 자연 언어 프로세서(122)는 하나 이상의 상황적 큐들에 기초하여 동일한 엔티티에 대한 참조들을 그룹화하거나 "클러스터"하도록 구성된 공동 참조 리졸버(도시되지 않음)를 부가적으로 및/또는 대안적으로 포함할 수 있다. 예를 들어, 공동 참조 리졸버는 자연어 입력에서 "저번에 거기서 우리가 먹었던 가설의 카페가 마음에 들었다(I liked Hypothetical Cafe last time we ate there)."에서 "거기(there)"라는 용어를 "가설의 카페(Hypothetical Cafe)"로 해석하기 위해 사용될 수 있다.
일부 구현들에서, 자연 언어 프로세서(122)의 하나 이상의 컴포넌트는 자연 언어 프로세서(122)의 하나 이상의 다른 컴포넌트들로부터의 주석들에 의존할 수 있다. 예를 들어, 일부 구현들에서, 명명된 엔티티 태거는 모든 언급들을 특정 엔티티에 주석을 달 때 공동 참조 리졸버 및/또는 의존성 파서로부터의 주석들에 의존할 수 있다. 또한, 예를 들어, 일부 구현들에서, 공동 참조 리졸버는 동일한 엔티티에 대한 클러스터링 참조들에서 종속성 파서로부터의 주석들에 의존할 수 있다. 일부 구현들에서는, 특정 자연 언어 입력을 처리할 때, 자연 언어 프로세서 (122)의 하나 이상의 컴포넌트는 하나 이상의 주석을 결정하기 위해 특정 자연 언어 입력 외부의 관련 사전 입력 및/또는 다른 관련 데이터를 사용할 수 있다.
전술한 바와 같이, 예를 들어, 이미지 메모리 엔진(130)을 통해 자동화된 어시스턴트(120)는 사용자들이 카메라들(1111-N)에 의해 캡처된 이미지들과 관련된 사용자에 의해 선택된 메타 데이터를 (예를 들어, 하나 이상의 데이터베이스와 같은 검색 가능한 컴퓨터 판독 가능 매체에) 저장하게 할 수 있다. 일부 구현들에서, 사용자에 의해 선택된 메타 데이터는, 예를 들어, 이미지 메모리 엔진(130)에 의해 이미지 메타 데이터 인덱스(124)에 저장될 수 있다. 일부 구현들에서, 요구되지는 않지만(예를 들어, 일부 구현들에서 일단 메타 데이터가 추출되면 이미지들은 폐기될 수 있다), 대응하는 이미지들은 이미지 인덱스(126)에 저장될 수 있다. 일부 이러한 구현들에서, 메타 데이터 인덱스(124)의 특정 메타 데이터 레코드 및 이미지 데이터베이스(126)의 대응하는 이미지는, 고유 식별자, 파일 이름 등을 통해 다양한 방식으로 연관될 수 있다. 그러나, 이것은 제한적인 것으로 의도되지 않는다. 다양한 구현들에서, 사용자 선택 메타 데이터 및 대응하는 이미지들은 단일 인덱스에 함께 저장될 수 있거나, 메타 데이터 만이 저장될 수 있다. 더욱이, 사용자에 의해 선택된 메타 데이터 및/또는 대응 이미지들은 클라이언트 디바이스들(1061-N), 클라이언트 디바이스들(1061-N)로부터 떨어진 하나 이상의 컴퓨팅 시스템, 또는 이들의 임의의 조합에 로컬로 저장될 수 있다. 일반적으로 말해서, 여기에 기술된 몇몇 예들은 캡처된 이미지들과 관련하여 메타 데이터를 저장하는 것을 포함하지만, 이것은 요구되지 않으며, 메타 데이터는 격리되어 저장될 수 있고, 관련 이미지는 저장되거나 저장되지 않을 수 있다.
사용자에 의해 선택된 메타 데이터는 다양한 형태들로 제공될 수 있다. 일부 구현들에서, 사용자에 의해 선택된 메타 데이터는 사용자에 의해 자동화된 어시스턴트(120)에 제공되는 작업 요청에 포함된 콘텐츠를 포함할 수 있다. 예를 들어, 사용자는 사용자 배우자의 사진을 찍을 수 있고, 그리고 작업 요청(음성 또는 타이핑된 입력)을 "이 사람이 나의 배우자임을 기억해"를 제공할 수 있다. 사진은 이미지 인덱스(126)에 저장될 수 있고, 그리고 사진이 사용자의 배우자를 묘사한다는 것을 나타내는 메타 데이터는 이미지 메타 데이터 인덱스(124)에 저장될 수 있다.
일부 구현들에서, 사용자에 의해 선택된 메타 데이터는 메타 데이터를 저장하기 위한 사용자의 요청에 응답하여 생성된 정보를 포함할 수 있다. 예를 들어, 일부 구현들에서, 사용자에 의해 선택된 메타 데이터는 이미지(들)의 캡처와 동시에 획득된 위치 좌표를 포함할 수 있다. 사용자가 공원에서 특히 매력적인 지역의 사진을 찍고 "나의 다음 명상 세션을 위해 이 위치를 기억해"라고 가정하자. 자동화된 어시스턴트(120)는, 영역의 이미지가 캡처될 때와 동시에 (또는 직전 또는 직후에), 사용자의 클라이언트 디바이스(106) 상에서 예를 들어, GPS(Global Positioning System) 센서에 의해 생성된 위치 좌표를 획득할 수 있다. 이 위치 좌표는, 예를 들어, 이미지 인덱스(126)에 저장된 이미지와 관련하여, 이미지 메타 데이터 인덱스(124)에 저장될 수 있다. 이 특정 예에서, "명상", "명상 세션, "다음 명상 세션" 등과 같은 사용자가 나중에 검색할 수 있는 추가 메타 데이터는 또한 이미지 메타 데이터 인덱스(124)에 저장될 수 있다. 부가적으로 또는 대안적으로, 일부 구현들에서, 위치는, 예를 들어, 저장된 위치, 떨어진 핀 등으로, 클라이언트 디바이스(106) 상에 설치된 지도 애플리케이션에 제공될 수 있다. 사용자가 나중에 지도 애플리케이션을 조작하고 해당 위치를 클릭하거나 핀을 떨어뜨린 경우, 사용자가 캡처한 이미지가 표시될 수 있거나 또는 표시되지 않을 수 있다.
또 다른 구현들에서, 사용자에 의해 선택된 메타데이터는 이미지 자체에 포함된 정보, 예를 들어, 광학 문자 인식("OCR")을 사용하여 캡처된 텍스트, 그리고 예를 들어, 다양한 객체 인식 기술들에 기초하여 그리고/또는 이미지에서의 시각적 표시(예를 들어, 바코드들, 빠른 응답 또는 "QR" 코드들 등)를 판독함으로써 이미지에서 식별된 객체들을 포함할 수 있다. 따라서, "사용자 선택 메타 데이터"는 사용자에 의해 명시적으로 그리고/또는 의도적으로 입력된 정보로 제한되지 않으며, 또한, 예를 들어 이미지와 관련하여 메타 데이터를 저장하기 위해 여기에서 서술된 사용자 트리거링 기술들의 결과로서 생성, 관찰, 캡처 및/또는 인식되는 정보를 포함한다.
이미지 메모리 엔진(130)은 또한 클라이언트 디바이스(106)에서 사용자로부터 수신된 자유 형식의 입력에 응답하여 이미지 메타 데이터 인덱스(124)로부터 사용자에 의해 선택된 데이터 및/또는 이미지 인덱스(126)로부터 대응하는 이미지 (들)를 후속적으로 검색하도록 구성될 수 있다. 위의 예를 계속하여, 동일한 사용자 또는 상이한 사용자가 나중에 "다음 명상 세션의 위치는 어디인가?"라는 검색 질의를 제공한다고 가정하자. 질의는 공원의 매력적인 영역의 이미지와 관련된 메타 데이터와 매칭될 수 있다. 다양한 구현들에서, 응답 메타 데이터 및/또는 대응하는 이미지는, 예를 들어, 클라이언트 디바이스(106)의 디스플레이상에 렌더링되거나 하나 이상의 스피커를 사용하여 청각적으로 렌더링됨으로써 표면화될 수 있다. 예를 들어, 명상하는 사용자는 사용자가 공원의 매력적인 영역에 대해 캡처 한 이미지와 함께 사용자가 위치(즉, 위치 좌표)를 다시 찾을 수 있게 하는 정보가 제시될 수 있다. 이 정보는, 예를 들어, 위치가 사전에 로딩된 상태에서 클라이언트 디바이스(106) 상에 설치된 맵 애플리케이션을 사용자가 호출하도록 선택할 수 있는 소위 선택 가능한 "딥 링크"를 포함할 수 있다. 다른 경우들에서, 정보는 예를 들어 "X" 또는 드롭 핀으로 표시된 위치를 갖는 렌더링된 맵을 포함할 수 있다.
일부 구현들에서, 자동화된 어시스턴트(120)와 통합되거나 통합되지 않을 수있는 상기에서 서술된 이미지 프로세싱 엔진(132)은 이미지 인덱스(126)의 이미지들에 대해 다양한 유형들의 이미지 프로세싱을 수행하도록 구성될 수 있다. 이러한 일부 구현들에서, 이러한 이미지 프로세싱은 여기에 서술된 기술들을 사용함으로써 촉발될 수 있다. 예를 들어, 사용자는 캡처된 이미지 내의 객체가 사용자의 배우자와 같은 엔티티로서 식별되도록 요청하기 위해 여기에 서술된 기술을 이용할 수 있다. 그러한 일부 구현들에서, 그 이미지는 사용자에 의해 표시된 엔티티와 관련된 참조 이미지로서 사용될 수 있다. 일부 구현들에서, 이미지 프로세싱은, 상이한 이미지들에서 동일한 엔티티를 식별하기 위해, 예를 들어, 이미지 프로세싱 엔진(132)에 의해 이미지 및/또는 이미지 인덱스(126)에 저장된 다른 이미지들에 대해 수행될 수 있다. 따라서, 예를 들어, 사용자가 카메라를 사용자의 아내로 향하고 "이것은 내 아내이다"라고 말하면, 그 이미지는 이전에 캡처된 그리고/또는 미래에 캡처될 사용자 아내의 다른 이미지들을 라벨링하기 위한 참조 이미지로서 사용될 수 있다.
추가적으로 또는 대안적으로, 이미지 처리 엔진(132)은 다른 유형들의 이미지 처리, 예를 들어, 사용자에 의해 선택된 메타 데이터와 관련된 이미지들에 묘사 된 객체들 및/또는 텍스트를 식별하기 위해 객체 인식, OCR 등을 수행하도록 구성될 수 있다. 일부 구현들에서, 인식된 객체의 아이덴티티들(예를 들어, 특정 제품, 특정 유형의 음식, 특정 유형의 차량, 특정 와인 한 병 등)은 이미지 메타 데이터 인덱스(124)에 사용자에 의해 선택된 메타 데이터로서 저장될 수 있고, 그리고 다양한 방법들로 사용될 수 있다. 아래에서 서술되는 바와 같이, 일부 구현들에서, 사용자가 클라이언트 디바이스의 카메라를 미래에 유사한 객체들(예를 들어, 하나 이상의 속성을 공유하는 객체들)을 향할 때, 이미지 프로세싱 엔진(132)은 전자 뷰파인더에서 현재 캡처된 객체들을 사용자에 의해 선택된 메타 데이터와 관련하여 저장된 이미지들에 도시된 객체들과 매칭시킬 수 있다. 이러한 일부 구현들에서, 이미지 메모리 엔진(130)은 객체와 관련된 사용자에 의해 선택된 메타 데이터를 제공하기 위해 현재 카메라 뷰를 시각적으로 주석을 달 수 있다.
예를 들어, 사용자는 사용자가 알레르기가 있는 특정 견과의 이미지를 캡처할 수 있으며, 예를 들어, 사용자의 질병을 나타내는 메타 데이터와 관련하여 해당 이미지를 저장할 수 있다(예를 들어, "이 유형의 견과에 알레르기가 있음을 기억해). 전자식 뷰 파인더에 동일한 종류의 견과가 나중에 묘사될 때마다, 도시된 견과는, 예를 들어, 이미지 처리 엔진(132)에 의해 인식될 수 있고, 사용자에게 알레르기를 상기시키거나 경고하기 위해 시각적으로 주석이 달릴 수 있다. 부가적으로 또는 대안적으로, 청취 가능한 주석들(예를 들어, 자동화된 어시스턴트(120)에 의해 발언됨), 경보들, 진동들 등과 같은 비 시각적 주석들이 사용될 수 있다. 소위 "스마트 글래스" 또는 환경의 증강 현실 시청을 용이하게 하는 다른 기술들(예를 들어, 텔레프레즌스 로봇, 화상 회의 등)과 유사한 접근법들이 사용될 수 있다. 예를 들어, 사용자가 스마트 안경을 통해 동일한 종류의 견과를 볼 때마다, 스마트 안경은, 예를 들어, 동일한 유형의 견과의 사용자의 이전에 캡처된 이미지에 기초하여 견과를 인식할 수 있고, 그리고 견과에 시각적으로 주석을 달고(예를 들어, 빨간색으로 강조 표시하고, 메타 데이터를 텍스트로 표시하는 등) 사용자에게 알레르기를 실시간으로 상기시킨다.
이미지 처리 엔진(132)은 다양한 목표들을 달성하기 위해 다양한 기술들을 사용하여 이미지들을 처리하도록 구성될 수 있다. 예를 들어, 이미지들에 묘사된 객체들(예를 들어, 차량들, 의류 종류들, 제품들, 위치들 등)를 인식하기 위해, 이미지 프로세싱 엔진(132)은, 해석 트리, 포즈 일관성 및 포즈 클러스터링과 같은 기능 기반 방법들, 에지 매칭, 분할 및 정복 검색, 그래디언트 매칭 및/또는 히스토그램들, 컴퓨터 지원 설계("CAD") 모델 비교들과 같은 외관 기반 방법들, 다양한 유형들의 기계 학습 모델들(예를 들어, 컨볼루션 및 다른 유형들의 훈련된 신경망들), 특징 검출 등을 이용하는 방법들을 포함하는 이용 기술들을 이용할 수 있다. 유사하게, 이미지 프로세싱 엔진(132)은 매트릭스 매칭, 특징 추출 등을 포함하지만 이에 한정되지 않는 OCR을 수행하기 위한 다양한 기술들을 이용할 수 있다.
도 2는, 여기에 서술된 기술들을 수행하기 위해 클라이언트 디바이스(206) 상에서 동작하는 자동화된 어시스턴트(도 1의 120, 도 2에서 도시되지 않음)의 인스턴스와 사용자(도시되지 않음)가 상호작용할 수 있는 방법을 도시한다. 클라이언트 디바이스(206)는 터치 스크린(240) 및 적어도 하나의 카메라(211)(정면 및/또는 후면)를 포함하는 스마트 폰 또는 태블릿 컴퓨터의 형태를 취한다. 터치 스크린 (240)에는 카메라 애플리케이션(예를 들어, 도 1의 109)과 관련된 그래픽 사용자 인터페이스가 제공되며, 이는, 예를 들어, 카메라(211)에 의해 캡처된 광 데이터를 실시간으로 렌더링하는 전자 뷰 파인더를 포함한다. 그래픽 사용자 인터페이스는 사용자 입력 필드(244) 및 카메라(211)의 동작을 제어하도록 동작 가능한 하나 이상의 그래픽 요소(2461-3)를 포함한다. 예를 들어, 제1 그래픽 요소(2461)는 전방 및 후방 카메라 사이를 전환하도록 동작 가능할 수 있고, 제2 그래픽 요소(2462)는 카메라(211)를 사용하여 이미지(또는 설정들에 따른 비디오)를 캡처하도록 동작 가능할 수 있고, 그리고 제3 그래픽 요소(2463)는 이전에 캡처된 사진들을 보도록 동작 가능할 수 있다. 도 2에 도시되지 않은 다른 그래픽 요소들은 다른 동작들, 예를 들어, 카메라 설정들의 변경, 이미지 캡처와 비디오 캡처 모드 간 전환, 다양한 효과들 추가 등을 수행하도록 동작가능할 수 있다.
사용자 입력 필드(244)는 다양한 입력, 예를 들어, 여기에서 서술된 다양한 구현들에 따라, 하나 이상의 캡처된 이미지와 관련된 메타 데이터를 저장하도록 클라이언트 디바이스(206) 상에서 실행되는 자동화된 어시스턴트(120)(도 2에 도시되지 않음)를 지시하는 자유 형식 자연 언어 입력을 제공하기 위해 사용자에 의해 작동될 수 있다. 사용자는, 사용자 입력 필드(244)에 입력으로서 텍스트, 음성(예를 들어, 오른쪽의 마이크로폰 아이콘을 클릭함으로써), 이미지 등을 제공할 수 있다. 다양한 구현들에서, 사용자 입력 필드(244)를 통해 제공되는 음성 입력은, 예를 들어, 클라이언트 디바이스(206)에서 그리고/또는 원격으로(예를 들어, 하나 이상의 클라우드 컴포넌트들에서) 텍스트로 변환될 수 있다.
일 예로서, 도 2의 카메라(211)는 그 시야에서 와인 한 병(248)을 캡처하고 있다. 결과적으로, 와인 병(248)의 변환(248')은 앞서 언급된 전자 뷰 파인더의 일부로서 터치 스크린(240) 상에 나타난다. 사용자가 와인 병(248)에 대한 의견을 문서화하기 위해 사용자가 이 사진을 찍고 있다고 가정하자. 다양한 구현들에서, 사용자는, 예를 들어, 사용자 입력 필드(244)를 두드리거나 "어이, 자동화된 어시스턴트(Hey Automated Assistant)"와 같은 호출 문구를 말함으로써 자동화된 어시스턴트(120)를 호출할 수 있다. 자동화된 어시스턴트(120)가 호출되면, 사용자는, 예를 들어, 사용자에 의해 선택된 메타 데이터와 관련하여 와인 병(248)의 이미지 (카메라(211)에 의해 캡처됨)를 저장하기 위한 작업 요청을 포함하는 자연 언어 입력을 말하거나 타이핑할 수 있다. 추가적으로 또는 대안적으로, 사용자는 자동화 된 어시스턴트(120)를 호출하고 작업 요청을 제공하는 단일 자연 언어 입력을 제공할 수 있다. 일부 구현들에서, 카메라 애플리케이션(109)이 클라이언트 디바이스 상에서 활성화될 때마다, 자동화된 어시스턴트(120)는 자동으로 호출될 수 있거나, 그렇지 않으면 자동화된 어시스턴트(120)를 호출하지 않을 다른 호출 문구들에 응답하여 호출될 수 있다. 예를 들어, 일부 구현들에서, 카메라 애플리케이션(109)이 활성화될 때(즉, 사용자에 의해 상호 작용되고, 그래픽 사용자 인터페이스로서 제시될 때), "기억하라 ...", "기억하세요 ...", "나중에 나에게 상기 시켜라 ..."와 같은 문구들 및 유사한 문구들은 자동화된 어시스턴트(120)를 호출할 수 있다.
다양한 구현들에서, 이미지를 캡처하고 사용자에 의해 선택된 메타 데이터를 저장하는 단계는 함께 또는 별도로 수행될 수 있다. 예를 들어, 일부 구현들에서, 사용자는 (예를 들어, 도 2의 요소(2462)를 누름으로써) 사진을 촬영한 다음, 예를 들어, 마지막에 촬영된 이미지와 관련하여 사용자에 의해 선택된 메타 데이터를 저장하기 위해 자동화된 어시스턴트(120)를 호출할 수 있다. 다른 구현들에서, 사용자는 카메라(211)를 원하는 목표로 가리키고 (예를 들어, 전자 뷰 파인더에서 원하는 목표를 캡처함), 자동화된 어시스턴트를 호출하고 그리고/또는 작업 요청을 제공할 수 있고, 이로 인해 이미지가 캡처되고 메타 데이터 및 경우에 따라 캡처된 이미지가 저장될 수 있다.
도 2에서, 사용자가 "내가 이 유형의 와인을 좋아한다는 것을 기억해"라는 문구를 말한다고 가정하자. 자동화된 어시스턴트(120)는 음성 문구로부터의 작업 요청을 인식할 수 있고 그리고 작업 요청이 메타 데이터와 관련하여 카메라(211)에 의해 캡처된 하나 이상의 이미지를 저장하기 위한 요청을 포함한다고 결정할 수 있다. 자동화된 어시스턴트(120)는 예를 들어 카메라(211)에 의해 캡처된 하나 이상의 이미지를 (클라이언트 디바이스(206)에 로컬 및/또는 클라우드 기반일 수 있는) 이미지 인덱스(126)에 저장할 수 있다. 또한, 일부 구현들에서, 자동화된 어시스턴트(120)는, 예를 들어, 저장된 이미지 메타 데이터와 관련하여 이미지 메타 데이터 인덱스(124)에 저장할 수 있다. 이 예에서, 메타 데이터는 "내가 이 유형의 와인을 좋아해"와 같은 사용자의 작업 요청의 콘텐츠의 일부 또는 전부를 포함할 수 있다.
일부 구현들에서, 이미지를 캡처하고 및/또는 작업 요청을 제공하는 것은 또한 자동화된 어시스턴트(120) 및/또는 이미지 처리 엔진(132)에 의해 수행될 수 있는 추가 작업들을 촉발할 수도 있다. 예를 들어, 일부 구현들에서, 캡처된 것으로부터 직접 추가 메타 데이터를 획득하려고 시도하는 OCR, 객체 인식, 바코드 스캐닝 등과 같은 서브 태스크가 촉발될 수 있다. 일부 구현들에서, 이들 서브 태스크들 중 하나 이상은 사용자가 제공한 태스크 요청에 기초하여 선택될 수 있다(예를 들어, 사용자가 자신의 요청에서 제품을 주문하면, 이미지 처리 이미지(132)는 OCR 및/또는 바코드 스캐닝을 수행하려고 시도할 수 있다).
나중에, 동일한 사용자 또는 상이한 사용자는, 예를 들어, 저장된 메타 데이터가 응답하는 검색 질의를 자동화된 어시스턴트(120)에 제공할 수 있다. 예를 들어, 사용자는 "내가 좋아하는 와인은 뭐지?"라는 문구를 사용자의 자동화된 어시스턴트(120)에 말할 수 있다. 저장된 메타 데이터는 이 검색 질의에 응답하기 때문에, 사용자의 자동화된 어시스턴트(120)는 저장된 메타 데이터의 일부 또는 전부를 포함하는 응답(예를 들어, 원시 형태 또는 문장으로 재구성)을 제공할 수 있다. 추가적으로 또는 대안적으로, 사용자의 자동화된 어시스턴트(120)는, 예를 들어, 터치 스크린(240) 상에 이전에 저장된 이미지를 표면화할 수 있다. 물론, 사용자가 즐기는 다수의 와인 병들의 다수의 이미지들을 사용자가 캡처하면(그리고 여기에 서술된 기술들을 사용하여 사용자에 의해 선택된 메타 데이터와 관련하여 이를 저장하면), 이후, 그러한 검색 질의는 여러 결과들을 반환할 수 있다. 이러한 일부 구현들에서, 복수의 응답형 이미지들은 개별적으로 그리고/또는 콜라주로서 리턴될 수 있다.
도 3은 도 2의 와인 한 병(248)의 저장된 이미지가 사용자를 추가로 돕기 위해 사용될 수 있는 하나의 가능한 애플리케이션을 도시한다. 도 3에서, 클라이언트 디바이스(306)는 착용자의 디스플레이 디바이스로서 작동하도록 구성된 투명 렌즈들(350)을 포함하는 소위 "스마트" 안경의 형태를 취한다. 클라이언트 디바이스(306)는 또한 착용자가 렌즈들(350)을 통해 보는 것에 대략 대응하는 시야(들)를 갖는 하나 이상의 카메라(311)를 포함할 수 있다. 일부 구현들에서, 여기에 서술된 기술들을 사용하여 사용자에 의해 선택된 메타 데이터와 관련하여 저장된 이미지들은, 예를 들어, "증강 현실" 디스플레이 기술들을 사용하여 클라이언트 디바이스(306)의 착용자에게 정보를 제공하기 위해 사용될 수 있다.
예를 들어, 도 3에서, 클라이언트 디바이스(306)가 도 2의 클라이언트 디바이스(206)와 동일한 조정된 클라이언트 디바이스들의 에코 시스템의 일부라고 가정하자. 또한, 클라이언트 디바이스(306)의 착용자가, 복수의 와인 병들(348)이 선반에 배열된 상점을 방문하고 있다고 가정하자. 착용자는 렌즈들(350)을 통해 복수의 와인 병들(348)을 볼 수 있다. 한편, 카메라(들)(311)에 의해 캡처된 광 데이터는, 예를 들어, 이미지 처리 엔진(132)에 의해 분석되어 복수의 와인 병들(348) 중 하나 이상이 (예를 들어, 이미지 인덱스(126)의) 이전에 캡처된 이미지들과 매칭될 수 있다. 이어서, 매칭 이미지(들)와 관련하여 저장된 사용자에 의해 선택된 메타 데이터는, 예를 들어, 렌즈들(350) 상에 렌더링된 증강 현실 주석들로서 클라이언트 디바이스(305)의 착용자에 제시될 수 있다. 도 3에서, 예를 들어, 와인 한 병에 텍스트 "당신은 이것이 '훌륭하다'라고 말했습니다"가 주석으로 표시되어 있고 그리고 다른 한 병에 텍스트 "당신의 이것이 '평범하다'라고 말했습니다"가 주석으로 표시되어 있다.
이 예에 의해 입증된 바와 같이, 여기에서 서술된 다양한 기술들의 구현들에서, 사용자에 의해 선택된 메타 데이터는, (예를 들어, 검색 질의 또는 다른 이벤트에 응답하여) 리콜될 때, 다양한 방식들로 표면화될 수 있다(예를 들어, 시각적 또는 청각적으로 출력될 수 있다). 일부 경우들에서는, 사용자 그대로 표현될 수도 있다. 다른 구현들에서, 메타 데이터는 메타 데이터의 콘텐츠, 사용자의 현재 상황 등과 같은 다양한 요소에 따라 재구성 및/또는 표현될 수 있다. 예를 들어, 주차된 차량의 이미지와 관련된 위치 좌표들은 "당신의 차량은 <위치>에 있습니다"와 같은 언어를 사용하여 사용자에게 노출될 수 있다. 다른 예로서, 메타 데이터가 나중에 리콜될 때 사용자가 "<메타 데이터>를 상기시켜줘"라는 작업 요청을 발행하면, 자동화된 어시스턴트(120)는 "당신은 <메타 데이터>라고 말했다"와 같은 언어로 그것을 머리말에 붙일 수 있다.
다양한 구현들에서, 도 3에 도시된 바와 같은 객체들 및/또는 다른 엔티티들을 인식하는 능력은 항상 가능하게 그리고/또는 선택적으로 가능하게 될 수 있다. 예를 들어, 클라이언트 디바이스(306)가 이미지 처리 엔진(132)과 같은 클라우드 기반 컴포넌트들과 데이터를 효율적으로 교환할 수 있도록 네트워크 연결이 강한 경우, 이는 증강 현실 주석들이 사용자에게 디스플레이될 수 있도록 (예를 들어, 네트워크 강도 등에 기초하여 미리 결정되고 그리고/또는 선택된 프레임 레이트에서 실시간으로 연속적으로) 데이터를 캡처하도록 카메라(311)를 촉발할 수 있다. 한편, 클라이언트 디바이스(306)의 네트워크 연결이 약하거나 존재하지 않으면, 또는 클라이언트 디바이스(306)의 배터리 전력이 비교적 적으면, 카메라(311)는 비활성화될 수 있고 그리고/또는 카메라(311)에 의해 캡처된 광 데이터는 도 3에 도시된 바와 같이 이미지 처리되지 않을 수 있다. 일부 구현들에서, 사용자는, 또한, 카메라(311)를 수동으로 활성화하여, 예를 들어, "내가 언급한 와인 병들을 강조해"와 같은 문구를 말함으로써 여기에 서술된 기술들을 구현할 수 있다.
도 3의 예는 사용자가 특정 제품들을 식별하는 것을 돕는 것에 관한 것이지만, 이는 제한적이지 않다. 다양한 구현들에서, 착용자가 다른 객체들 및/또는 엔티티들을 식별하는 것을 돕기 위해 유사한 기술들이 사용될 수 있다. 예를 들어, 일부 구현에서는, 사용자는, 그 효과에 대한 메타 데이터와 관련하여 사용자가 알레르기가 있는 특정 유형의 견과의 이미지를 저장할 수 있다(예를 들어, "이 유형의 견과에 내가 알레르기가 있음을 기억해"). 클라이언트 디바이스(306)를 착용할 때, 해당 유형의 다른 견과는 이전에 캡처한 이미지와 매칭하고, 그리고 예를 들어, "당신은 이러한 견과에 대해 알레르기가 있습니다"와 같은 언어로 주석이 달릴 수 있다("이런 유형의 견과에 내가 알레르기가 있다는 것을 기억해"라는 작업 요청으로부터의 재구성도 유의해야 한다). 예를 들어, 다른 개인들의 이름이나 다른 개인들에 대한 다른 정보를 기억하기 위해 유사한 기술들을 사용자들이 사용할 수 있다(예를 들어, "샐리의 생일은 6월 4 일입니다.", "빌은 닉스를 좋아합니다.", "이 사람의 이름은 알이고 그의 아내의 이름은 제인입니다.").
도 4는, 사용자에 의해 선택된 메타 데이터를 저장하기 위해 여기에 서술된 기술들을 사용하는, 예를 들어, 캡처된 이미지와 관련하여, 도 2의 클라이언트 디바이스(206)와 본질적으로 동일한 컴포넌트들로 구성된 클라이언트 디바이스(406)를 사용하는(그 결과, 유사하게 번호가 매겨짐) 다른 예를 도시한다. 이 예에서, 사용자가 특정 시설(452)을 지나서 그리고 카메라(411)의 시야에서 시설(452)을 캡처한다고 가정하자. 결과적으로, 시설(452)의 표현(452')은, 예를 들어, 카메라 애플리케이션(예를 들어, 도 1의 109)의 그래픽 사용자 인터페이스의 일부를 형성하는 전자 뷰 파인더에서, 터치 스크린(440) 상에 렌더링된다. 사용자가 (예를 들어, 사용자 입력 필드(444)를 통해) 타이핑된 또는 발언한 "나중에 이 장소를 확인하도록 나에게 알려줘"와 같은 자연 언어 입력을, 예를 들어, 사용자가 이미지를 캡처하기 위해 사용자가 제2 그래픽 요소(4622)를 누르는 즉시, 누른 후, 또는 누른 동시에 제공한다고 가정하자. 시설(452)의 표현(452')을 포함하는 이미지는 사용자의 자연 언어 입력에 기초하여 생성된 메타 데이터(예를 들어, 구두어, 재구성, 추출된 키워드 등)와 관련하여 저장될 수 있거나 저장되지 않을 수 있다. 나중에, 사용자가 "내가 체크 아웃하고 싶은 장소는 어디지?"와 같은 검색 질의를 제공한다고 가정하자. 해당 검색 질의는 저장된 메타 데이터와 매칭할 수 있다. 따라서, 메타 데이터(및 일부 경우들에서 이전에 저장된 이미지)는, 예를 들어, 터치스크린(440) 상에 렌더링 됨으로써 사용자에게 노출될 수 있다.
위에서 언급한 바와 같이, 일부 구현들에서, 사용자에 의해 선택된 메타 데이터는 사용자에 의해 명시적으로 입력되지 않은 정보를 포함할 수 있다. 도 4의 예에서, 예를 들어, 사용자의 자연어 입력이 "장소"라는 용어를 포함한다는 사실은, 시설(452)의 이미지와 관련된 위치 좌표를 얻기 위해 자동화된 어시스턴트(120)를 촉발할 수 있다. 기존 메타 데이터로 지오태그와 관련하여 이미지들이 이미 저장되어 있는 경우들에서, 지오태그는 이미지의 종래 메타 데이터로부터 복사될 수 있고 그리고 이미지 메타 데이터 인덱스(124)에 저장될 수 있다.
추가적으로 또는 대안적으로, 일부 구현들에서, 자동화된 어시스턴트(120)는, 예를 들어, 이미지 처리 엔진(132)에 의해, 이미지에 묘사된 하나 이상의 객체들 및/또는 텍스트를 인식하기 위해 획득된 이미지(또는 전자 뷰 파인더에서 렌더링된 이미지 데이터)를 처리할 수 있다. 예를 들어, 시설(452)은 시설의 이름 및/또는 주소를 전달하는 텍스트(도 4에 도시되지 않음)를 포함하는 표시(454)를 포함할 수 있다. 도시된 텍스트는, 예를 들어, 이미지 프로세싱 엔진(132)에 의해 OCR 될 수 있고, 그리고 인식된 텍스트는, 예를 들어, 인덱스(124)에서 사용자에 의해 선택된 메타 데이터로서 전체적으로 또는 부분적으로 저장될 수 있다. 따라서, 예를 들어, 도 4에서, 시설(452)의 이름 및/또는 주소는, 예를 들어, 캡처된 이미지와 관련하여 사용자에 의해 선택된 메타 데이터로서 저장될 수 있다. 나중에, 사용자는 이 주소를 검색하여 이전에 캡처된 시설(452)의 이미지를 노출시킬 수 있다. 추가적으로 또는 대안적으로, 이전에 캡처된 시설(452)의 이미지가 사용자의 검색 질의에 응답하여 표면화될 때, 시설(452)의 이름 및/또는 주소도 나타날 수 있다. 예를 들어, Wi-Fi 라우터 표면으로부터 Wi-Fi SSID 및 패스워드를 인식 및 저장하고, 여권으로부터 여권 번호 및/또는 만료 날짜를 인식 및 저장하기 위해 유사한 기술들이 사용될 수 있다.
도 5는 개시된 기술들이 이용될 수 있는 다른 예시적인 시나리오를 도시한다. 도 5에서, 클라이언트 디바이스(506)는 독립형 대화형 스피커의 형태를 취하고, 이 독립형 대화형 스피커는, 사용자(501)가 클라이언트 디바이스(506) 상에서 적어도 부분적으로 실행되는 자동화된 어시스턴트(120)와 음성인 인간-대-컴퓨터 다이얼로그에 참여할 수 있게 한다. 이를 위해, 클라이언트 디바이스(506)는 또한 사용자(501)로부터의 음성 입력을 검출하기 위한 하나 이상의 마이크로폰(도 5에 도시되지 않음)을 포함할 수 있다. 클라이언트 디바이스(506)는, 또한, 예를 들어, 사용자(501)로부터의 작업 요청에 응답하여 이미지들을 캡처하도록 구성된 적어도 하나의 카메라(511)를 포함한다. 도 5에는 도시되어 있지 않지만, 일부 구현들에서, 클라이언트 디바이스(506)는 또한 카메라(511)와 함께 사용될 때, 본 발명과 관련된 특정 부가적인 특징들을 가능하게 하는 디스플레이 디바이스를 포함할 수 있다.
이 예에서, 사용자(501)는 이벤트에 대한 티켓(560)을 구매했다. 도 5에 도시되지 않았지만, 티켓(560) 상에 인쇄된 것은 위치, 날짜, 시간 등과 같은 이벤트의 다양한 세부 사항인 것으로 가정될 수 있다. 여기에서 서술된 기술들을 사용하여, 사용자(501)는 이벤트의 세부 사항들을 기억하기 위해 자동화된 어시스턴트(120)를 촉발할 수 있다. 예를 들어, 사용자(501)는, 카메라(511)의 시야에서 티켓(500)을 잡고 있는 동안, 다음과 같은 음성의 자연 언어 입력 "이 다가오는 이벤트에 대한 티켓 세부 사항들을 기억해 줘"를 제공할 수 있다. 그 순간 또는 그 주위에, 자동화된 어시스턴트(120)는 카메라(511)로 하여금 티켓(560)의 이미지를 캡처하도록 할 수 있다. 이미지 처리 엔진(132)은 광학 문자 인식 또는 다른 유사한 기술들을 수행하여 티켓(560)의 얼굴로부터 텍스트를 추출할 수 있다. 이 텍스트는 위치, 시간, 날짜 등과 같은 이벤트 세부 사항들을 추출하기 위해 처리(예를 들어, 파싱)될 수 있다. 이러한 이벤트 세부 사항들은, 예를 들어, 캡처된 이미지와 관련하여 사용자에 의해 선택된 메타 데이터로서 저장될 수 있다.
사용자(501) 또는 다른 사용자는, 예를 들어, "다가오는 이벤트에 대해 알려줘"와 같은 이벤트에 대한 검색 질의 또는 "금요일 밤에 내 계획들은 무엇이지?"와 같이 이벤트와 간접적으로 관련된 검색 질의를 제공함으로써 캡처된 이미지 및/또는 사용자에 의해 선택된 메타 데이터를 이후에 리콜할 수 있다(이벤트가 금요일 밤에 있다고 가정하면, 자동화된 어시스턴트(120)는 저장된 메타 데이터가 검색 질의에 응답하는 것으로 결정할 수 있다).
부가적으로 또는 대안적으로, 일부 구현들에서, 자동화된 어시스턴트(120)는 이벤트 세부 사항들을 사용자(501)의 캘린더의 캘린더 엔트리에 저장할 수 있다(도 5에 도시된 바와 같이, 이 사실을 사용자에게 알려줄 수 있다). 보다 일반적으로, 다양한 구현들에서, 사용자에 의해 선택된 메타 데이터는 사용자의 캘린더들, 리마인더 리스트들, 연락처 등과 같은 일반적인 이미지 메타 데이터 인덱스(124)에 추가하여 또는 대신에 적절한 위치들에 저장될 수 있다. 예를 들어, 사용자가 다른 사람의 신원의 이미지(예를 들어, 운전 면허증, 여권, 이름표, 명함 등)를 캡처하는 경우, 사용자는 신원으로부터 추출된 텍스트가 이미지 메타 데이터 인덱스 (124) 및/또는 사용자의 연락처 리스트에 메타 데이터로서 저장(기억)되도록 요청할 수 있다.
일부 구현들에서, 작업 요청은 사용자가 작업 요청을 사전에 제공하는 대신에 하나 이상의 출력 디바이스를 통해 사용자에게 제안으로서 제공될 수 있다. 다양한 구현들에서, 작업 요청은 클라이언트 디바이스의 하나 이상의 센서에 의해 생성된 하나 이상의 신호에 기초하여 선택될 수 있다. 일부 구현들에서, 하나 이상의 신호는 클라이언트 디바이스의 카메라에 의해 캡처된 데이터를 포함할 수 있다. 일부 구현들에서, 하나 이상의 신호는 위치 좌표 센서로부터의 위치 좌표 데이터를 포함할 수 있다. 다양한 구현들에서, 어떤 신호가 사용되든, 제안된 작업 요청은 예를 들어, 자동화된 보조자(120)에 의해 사용자에게 시각적 또는 청각적 촉구로서 제공될 수 있다.
이것의 일례는 도 6에 도시되어 있으며, 클라이언트 디바이스(206 및 406)에 포함된 것과 동일한 많은 컴포넌트들을 포함하는 태블릿 또는 스마트 폰 형태의 클라이언트 디바이스(606)를 다시 한번 도시한다(따라서 유사하게 번호가 매겨짐). 이 예에서, 사용자(도시되지 않음)는 카메라(611)를 통해 차량(660)의 이미지를 캡처하기 위해 클라이언트 디바이스(606)를 작동시켰다. 다양한 구현들에서, 이미지 프로세싱 엔진(132)은 이미지를 프로세싱하여 도시된 객체를 차량(660)인 것으로 식별할 수 있다. 이에 응답하여, 자동화된 어시스턴트(120)는 사용자가 촉발하도록 제안된 작업 요청을 포함하는 자연 언어 출력을 사전에 제공할 수 있다. 예를 들어, 도 6에서, 자동화된 어시스턴트(120)("AA")는 "이것은 주차된 차량처럼 보입니다. 이 이미지와 관련된 주차 위치를 기억해 주시겠습니까?" 일부 구현들에서, 사용자는 단순히 (음성으로 또는 도시되지 않은 입력 필드에서 타이핑하여) "예스" 또는 "오케이"로 응답할 수 있고 그리고 자동화된 어시스턴트(120)는, 예를 들어, 차량(660)의 이미지와 관련하여, 예를 들어 위치 좌표를 포함하는 메타 데이터를 저장하기 위해 여기에 서술된 기술들을 이용할 수 있다.
추가적으로 또는 대안적으로, 일부 구현들(도 6의 예를 포함)에서, 하나 이상의 선택 가능한 요소(662)가 사전에 제시될 수 있어서, 사용자는 자유 형식의 자연 언어 입력을 제공하는 대신 요소를 선택할 수 있다. 도 6에서, 예를 들어, 제1 선택 가능 요소(6621)는 긍정적으로 응답하고, 제2 선택 가능 요소(6622)는 긍정적으로 응답하고, 제3 선택 가능 요소(6623)는 감소하지만 자동화된 어시스턴트(120)에게 도시된 차량이 사용자의 차량임을 기억하도록 지시한다. 일부 구현들에서, 사용자가 마지막 선택 가능한 요소(6623)를 선택해야 하는 경우, "나의 자동차"와 같은 콘텐츠 및 이미지 처리 엔진(132)에 의해 식별 가능한 차량(660)의 임의의 속성들은 예를 들어 캡처된 이미지와 관련하여 사용자에 의해 선택된 메타 데이터로서 저장될 수 있다. 위에서 언급된 바와 같이, 일부 구현들에서, 이미지 처리 엔진 (132)은 동일하거나 유사한 메타 데이터로 사용자의 자동차를 또한 나타내는 임의의 다른 이미지들을 분석하고 라벨링할 수 있다.
다양한 구현들에서, 이미지 처리 엔진(132)은 (예를 들어, 프레임 버퍼로부터) 전자식 뷰 파인더의 캡처된 이미지 및/또는 콘텐츠를 분석하여 텍스트 및/또는 인식 가능한 객체들을 검출하려고 시도할 수 있고, 그리고 이 인식은 자동화된 어시스턴트(120)가 662와 같은 선택 가능한 요소들을 사전에 제공하도록 촉구할 수 있다. 예를 들어, 이미지 처리 엔진(132)은 주차된 차량 근처의 스톨 번호 또는 주차 섹션을 검출할 수 있다. 이는 지하 차고들 및 위치 좌표를 얻기 어려운 다른 구조들(예를 들어, 약한 GPS 신호)에 특히 유용할 수 있다. 일부 이러한 구현들에서, 자동화된 어시스턴트(120)는 가능한 빨리(예를 들어, 사용자가 구조물을 떠난 후) 위치 좌표를 획득하고 그리고 이를 저장된 스톨 번호로서 저장된 메타 데이터와 결합할 수 있다. 나중에, 자동화된 어시스턴트(120) 및/또는 별도의 지도 애플리케이션은 위치 좌표를 사용하여 사용자를 다시 주차 구조로 안내한 다음, 사용자가 찾을 수 있는 스톨 번호를 제공할 수 있다. 추가적으로 또는 대안적으로, 자동화된 어시스턴트는 차의 위치 좌표들이 이용 가능하지 않더라도 2가지 유형들의 데이터를 결합할 수 있고 내부 지도를 합성할 수 있다.
도 7은 여기에 개시된 구현들에 따른 예시적인 방법(700)을 도시한 흐름도이다. 편의상, 흐름도의 동작은 동작들을 수행하는 시스템을 참조하여 서술된다. 이 시스템은 다양한 컴퓨터 시스템들의 다양한 컴포넌트들, 예를 들어, 자동화된 어시스턴트(120)의 하나 이상의 컴포넌트를 포함할 수 있다. 더욱이, 방법(700)의 동작들이 특정 순서로 도시되어 있지만, 이는 제한적인 것으로 의도되지 않는다. 하나 이상의 동작들이 재정렬, 생략 또는 추가될 수 있다.
블록 702에서, 시스템은, 사용자에 의해 운영되는 하나 이상의 클라이언트 디바이스의 클라이언트 디바이스(예를 들어, 106, 206, 306, 406, 506, 606)의 하나 이상의 입력 인터페이스에서, 자연 언어 또는 사용자로부터의 "자유 형식" 입력을 수신할 수 있다. 다양한 구현들에서, 이 자연 언어 입력은 음성 입력 및/또는 타이핑된 입력의 형태일 수 있다. 일부 구현들에서, 음성 입력은, 예를 들어, 자연 언어 프로세서(122)에 제공되기 전에 텍스트로 변환될 수 있다. 그리고, 도 6과 관련하여 위에서 설명된 바와 같이, 다른 구현들에서, 입력은 제안 작업 요청을 나타내는 그래픽 요소를 사용자가 선택하는 형태를 취할 수 있다.
블록 704에서, 시스템은 입력으로부터 작업 요청을 인식할 수 있고, 그리고 블록 706에서, 시스템은 작업 요청이 클라이언트 디바이스의 카메라에 의해 캡처 된 하나 이상의 이미지와 관련된 메타 데이터를 저장하기 위한 요청을 포함한다고 결정할 수 있다. 일부 구현들에서, "기억하십시오 ...", "기억하세요 ...", "나중에 알려주세요 ..."등과 같은 키워드 또는 문구는, 단독으로 또는 다른 단서(예를 들어, 카메라 애플리케이션(109)이 활성화됨)와 함께, 사용자에 의해 선택된 메타 데이터와 관련하여 캡처된 이미지를 저장하기 위한 작업 요청을 사용자가 제공했음을 인식하도록 자동화된 어시스턴트(120)를 촉발할 수 있다. 다양한 구현들에서, 메타 데이터는 작업 요청의 콘텐츠에 기초하여 선택될 수 있고 그리고/또는 작업 요청에 응답하여 캡처, 인식, 획득 등의 다른 데이터(예를 들어, OCR의 텍스트, 위치 좌표, 객체 분류 등)를 포함할 수 있다.
블록 708에서, 시스템은 하나 이상의 컴퓨터 판독 가능 매체에 메타 데이터를 저장할 수 있다. 다양한 구현들에서, 하나 이상의 컴퓨터 판독 가능 매체는 메타 데이터를 사용하여 검색 가능할 수 있어서, 예를 들어, 사용자는 이전에 캡처 된 이미지 및/또는 대응하는 사용자에 의해 선택된 메타 데이터를 나중에 검색할 수 있다. 그러한 검색을 위한 예시적인 흐름이 도 8에 도시되어 있다. 일부 구현들에서, 메타 데이터는 하나 이상의 캡처된 이미지와 관련하여 저장될 수 있지만, 이것이 요구되는 것은 아니다(예를 들어, 이미지들은, 예를 들어, 객체 인식 및/또는 OCR을 사용하여 관련 메타 데이터가 캡처되면 폐기될 수 있다).
도 8은 여기에 개시된 구현들에 따른 다른 예시적인 방법(800)을 도시한 다른 흐름도이다. 편의상, 흐름도의 동작들은 동작들을 수행하는 시스템을 참조하여 서술된다. 이 시스템은 다양한 컴퓨터 시스템들의 다양한 컴포넌트들, 예컨대, 자동화된 어시스턴트(120)의 하나 이상의 컴포넌트를 포함할 수 있다. 더욱이, 방법 (800)의 동작들이 특정 순서로 도시되어 있지만, 이는 제한적인 것으로 의도되지는 않는다. 하나 이상의 동작들이 재정렬, 생략 또는 추가될 수 있다. 일부 구현들에서, 방법(800)의 동작들은, 이것이 필수는 아니지만, 방법(700)의 동작들 후에 발생할 수 있다.
블록 802에서, 시스템은, 클라이언트 디바이스에서 자유 형식의 입력을 수신할 수 있다. 도 7의 블록 702에서와 같이, 블록 802에서 수신된 입력은 자동화된 어시스턴트(120)로 보내질 수있는 음성 또는 타이핑된 자연어 입력일 수 있다. 블록 804에서, 시스템은 자유 형식의 입력으로부터 작업 요청을 인식할 수 있고, 그리고 일부 경우들에서, 작업 요청을 이미지 메모리 엔진(130)에 제공할 수 있다. 일부 구현들에서, 이 작업 요청은 검색 질의의 형태를 취할 수 있지만(예를 들어, "내 아들의 사진을 찾는다"), 이것이 요구되는 것은 아니다.
블록 806에서, 시스템은, 예를 들어, 이미지 메모리 엔진(130)을 통해, 카메라에 의해 미리 캡처된 하나 이상의 이미지와 관련된 메타 데이터(예를 들어, 이미지 메타 데이터 인덱스(124)에 저장됨)가 검색 질의에 응답하는 것으로 결정할 수 있다. 블록 808에서, 시스템은, 블록 806에서의 결정에 응답하여, 예를 들어, 메타 데이터에 기초하여 작업 요청을 실행할 수 있다. 예를 들어, 일부 구현들에서, 자동화된 어시스턴트(120)는, 작업 요청이 수신된 동일한 클라이언트 디바이스 또는 상이한 클라이언트 디바이스의 하나 이상의 출력 디바이스들을 통한 출력으로서, 메타 데이터 및 하나 이상의 이미지를 나타내는 콘텐츠 중 하나 또는 둘 모두를 제공할 수 있다.
예시들에서 서술된 클라이언트 디바이스들에는 스마트 폰들, 태블릿들, 스마트 안경 및 독립형 대화형 스피커들이 포함되어 있지만 제한적인 것은 아니다. 다른 유형들의 전자 장치에는 자동화된 어시스턴트 또는 기타 유사한 기능들이 설치될 수 있다. 예를 들어, 일부 구현들에서, 본 명세서에 서술된 기술들은 디지털 카메라 상에 구현될 수 있다. 예를 들어, 디지털 카메라는 로컬로 저장된 사진들을 가질 수 있고 그리고/또는 클라우드에 저장된 사진들에 네트워크로 액세스할 수 있으며, 그리고 다양한 디지털 카메라 제어들의 사용자 선택에 응답하여 사용자의 요청에 따라, 사용자에 의해 선택된 메타 데이터와 관련하여 이미지들을 저장할 수 있고 그리고/또는 사용자에 의해 선택된 메타 데이터를 사용하여 이미지들을 검색할 수 있다. 백업 카메라들, 대시 보드 카메라들 등과 같은 전방, 측면 및/또는 후방에 카메라들을 사용할 수 있는 차량 내비게이션 시스템들과 같은 다른 디바이들도 마찬가지이다.
도 9는 여기에 서술된 기술들의 하나 이상의 양태를 수행하기 위해 선택적으로 사용될 수 있는 예시적인 컴퓨팅 디바이스(910)의 블록도이다. 일부 구현들에서, 하나 이상의 클라이언트 디바이스, 자동화된 어시스턴트(120) 및/또는 다른 컴포넌트(들)은 예시적인 컴퓨팅 디바이스(910)의 하나 이상의 컴포넌트들을 포함할 수 있다.
컴퓨팅 디바이스(910)는 통상적으로 버스 서브시스템(912)을 통해 다수의 주변 디바이스들과 통신하는 적어도 하나의 프로세서(914)를 포함한다. 이러한 주변 디바이스들은, 예를 들어, 메모리 서브시스템(925) 및 파일 저장 서브시스템(926)을 포함하는 저장 서브시스템(924), 사용자 인터페이스 출력 디바이스들(920), 사용자 인터페이스 입력 디바이스들(922) 및 네트워크 인터페이스 서브시스템(916)을 포함할 수 있다. 입력 디바이스 및 출력 디바이스는 컴퓨팅 디바이스(910)와의 사용자 상호 작용을 가능하게 한다. 네트워크 인터페이스 서브시스템(916)은 외부 네트워크들에 인터페이스를 제공하고 그리고 다른 컴퓨팅 디바이스들 내의 대응하는 인터페이스 디바이스들에 연결된다.
사용자 인터페이스 입력 디바이스들(922)은, 키보드, 마우스, 트랙볼, 터치 패드 또는 그래픽 태블릿과 같은 포인팅 디바이스, 스캐너, 디스플레이에 통합된 터치 스크린, 음성 인식 시스템들과 같은 오디오 입력 디바이스들, 마이크로폰들, 및/또는 다른 유형의 입력 디바이스들을 포함할 수 있다. 일반적으로, 용어 "입력 디바이스(input device)"의 사용은 컴퓨팅 디바이스(910)에 또는 통신 네트워크상에 정보를 입력하는 모든 가능한 유형들을 디바이스들 및 방식들을 포함하도록 의도된다.
사용자 인터페이스 출력 디바이스들(920)은 디스플레이 서브시스템, 프린터, 팩스 머신 또는 오디오 출력 디바이스들과 같은 비 시각적 디스플레이들을 포함할 수 있다. 디스플레이 서브 시스템은 음극선관(CRT), 액정 디스플레이(LCD)와 같은 평판 디바이스, 프로젝션 디바이스, 또는 가시적 이미지를 생성하기 위한 다른 메커니즘을 포함할 수 있다. 디스플레이 서브 시스템은 또한 오디오 출력 디바이스들을 통한 비 시각적 디스플레이를 제공할 수 있다. 일반적으로, 용어 "출력 디바이스(output device)"의 사용은 컴퓨팅 디바이스(910)로부터 사용자 또는 다른 머신 또는 컴퓨팅 디바이스로 정보를 출력하는 모든 가능한 유형들의 디바이스들 및 방식들을 포함하도록 의도된다.
저장 서브시스템(924)은 여기에 서술된 일부 또는 모든 모듈들의 기능을 제공하는 프로그래밍 및 데이터 구조를 저장한다. 예를 들어, 저장 서브시스템(924)은 도 7 및/또는 도 8의 방법들의 선택된 측면들을 수행하고, 도 1에 도시된 다양한 컴포넌트들을 구현하기 위한 로직을 포함할 수 있다.
이들 소프트웨어 모듈들은 일반적으로 프로세서(914) 단독으로 또는 다른 프로세서들과 조합하여 실행된다. 저장 서브시스템(924)에서 사용되는 메모리(925)는, 프로그램 실행 중 명령어들 및 데이터의 저장을 위한 메인 랜덤 액세스 메모리(RAM)(930) 및 고정된 명령어들이 저장되는 판독 전용 메모리(ROM)(932)를 포함하는 다수의 메모리들을 포함할 수 있다. 파일 저장 서브시스템(926)은 프로그램 및 데이터 파일들을 위한 영구 저장 장치를 제공할 수 있으며, 그리고 하드 디스크 드라이브, 관련 착탈가능한 매체와 함께 플로피 디스크 드라이브, CD-ROM 드라이브, 광 드라이브 또는 착탈가능한 매체 카트리지들을 포함할 수 있다. 특정 구현들의 기능을 구현하는 모듈들은, 저장 서브시스템(924)의 파일 저장 서브시스템(926) 또는 프로세서(들)(914)에 의해 액세스 가능한 다른 머신들에 저장될 수 있다.
버스 서브시스템(912)은 컴퓨팅 디바이스(910)의 다양한 컴포넌트들 및 서브 시스템들이 의도된 바와 같이 서로 통신하게 하는 메커니즘을 제공한다. 버스 서브시스템(912)은 단일 버스로서 개략적으로 도시되어 있지만, 버스 서브시스템의 다른 구현들은 다수의 버스들을 사용할 수 있다.
컴퓨팅 디바이스(910)는 워크스테이션, 서버, 컴퓨팅 클러스터, 블레이드 서버, 서버 팜 또는 임의의 다른 데이터 프로세싱 시스템 또는 컴퓨팅 디바이스를 포함하는 다양한 유형일 수 있다. 컴퓨터들 및 네트워크들의 끊임없이 변화하는 특성으로 인해, 도 9에 도시된 컴퓨팅 디바이스(910)의 서술은 단지 일부 구현들을 설명하기 위한 특정 예로서 의도된다. 도 9에 도시된 컴퓨팅 디바이스보다 많거나 적은 컴포넌트들을 갖는 컴퓨팅 디바이스(910)의 많은 다른 구성들이 가능하다.
여기에 서술된 특정 구현들이 사용자들에 관한 개인 정보(예를 들어, 다른 전자 통신들로부터 추출된 사용자 데이터, 사용자의 사회적 네트워크, 사용자의 위치, 사용자의 시간에 대한 정보, 사용자의 생체 정보, 및 사용자의 활동 및 인구 통계 정보, 사용자들 간의 관계 등)를 수집하거나 또는 개인 정보를 사용할 수 있는 경우, 사용자는 정보 수집 여부, 개인 정보 저장 여부, 개인 정보 사용 여부 및 사용자에 대한 정보 수집 방법, 저장 및 사용 방법을 제어할 수 있는 하나 이상의 기회가 제공된다. 즉, 여기에서 논의된 시스템들 및 방법들은 관련 사용자로부터 명시적인 승인을 받은 경우에만 사용자 개인 정보를 수집, 저장 및/또는 사용한다.
예를 들어, 사용자에게는 프로그램 또는 피처가 특정 사용자 또는 프로그램 또는 피처와 관련된 다른 사용자들에 대한 사용자 정보를 수집하는지 여부를 제어할 수 있다. 개인 정보를 수집할 각 사용자에게는 해당 사용자와 관련된 정보 수집을 제어하고, 정보의 수집 여부와 정보의 어느 부분을 수집해야 하는지에 대한 허가 또는 승인 제공할 수 있는 하나 이상의 옵션이 제공된다. 예를 들어, 통신 네트워크를 통해 사용자에게 하나 이상의 이러한 제어 옵션이 제공될 수 있다. 또한, 특정 데이터는 개인 식별 정보가 제거되도록 저장되거나 사용되기 전에 하나 이상의 방식으로 처리될 수 있다. 일례로서, 어떤 개인 식별 정보도 결정될 수 없도록 사용자의 신원이 처리될 수 있다. 다른 예로서, 사용자의 지리적 위치는 더 큰 영역으로 일반화되어 사용자의 특정 위치가 결정될 수 없다.
또한, 본 개시에 따른 특정 처리는 데이터 및 관련 처리가 네트워크 또는 다른 제3 당사자 디바이스 또는 서비스와 공유되지 않도록, 사용자의 디바이스에서 배타적으로 수행될 수 있으며, 그리고 추가 프라이버시 및 보안을 위해 암호화 및/또는 패스워드로 보호될 수 있다.
몇몇 구현들이 본 명세서에서 설명되고 예시되었지만, 기능을 수행하고 그리고/또는 결과들 및/또는 여기에 서술된 하나 이상의 이점들을 얻기 위한 다양한 다른 수단 및/또는 구조들이 이용될 수 있고, 그리고 그러한 변형들 및/또는 수정들 각각은 본 명세서에서 서술된 구현들의 범위 내에 있는 것으로 간주된다. 보다 일반적으로는, 여기에 서술된 모든 파라미터들, 치수들, 재료들 및 구성들은 예시적인 것이며, 실제 파라미터, 치수들, 재료들 및/또는 구성들은 특정 애플리케이션 또는 그 교시들이 사용되는 애플리케이션들이 의존할 것이다. 통상의 기술자는 일상적인 실험만을 사용하여 본 명세서에서 서술된 특정 구현들에 대한 많은 균등물을 인식할 수 있거나 또는 확인할 수 있을 것이다. 따라서, 전술한 구현들은 단지 예일 뿐이며, 첨부된 청구 범위 및 그 등가물의 범위 내에서, 구현들은 구체적으로 서술되고 청구된 것과 다르게 실시될 수 있음을 이해해야 한다. 본 개시의 구현들은 여기에 서술된 각각의 개별적인 피처, 시스템, 물품, 재료, 키트 및/또는 방법에 관한 것이다. 또한, 그러한 피처들, 시스템들, 물품들, 재료들, 키트들 및/또는 방법들이 상호 불일치하지 않는 경우, 둘 이상의 그러한 피처들, 시스템들, 물품들, 재료들, 키트들 및/또는 방법들의 임의의 조합이 본 발명의 범위 내에 포함된다.

Claims (19)

  1. 하나 이상의 프로세서를 사용하여 구현되는 방법으로서,
    자동화된 어시스턴트를 지시하는 사용자로부터 자유 형식 자연 언어 입력을, 제1 클라이언트 디바이스에서 수신하는 단계와;
    상기 자유 형식 자연 언어 입력에 기초하여 작업 요청을 인식하는 단계와;
    하나 이상의 카메라에 의해 캡처된 하나 이상의 초기 이미지와 관련된 메타데이터를 저장하기 위한 상기 자동화된 어시스턴트에 대한 요청을 상기 작업 요청이 포함한다고 결정하는 단계 - 상기 메타데이터는 상기 작업 요청의 콘텐츠에 기초하여 선택됨 - 와;
    상기 하나 이상의 초기 이미지에 대해 제1 이미지 처리를 수행하는 단계와;
    상기 제1 이미지 처리에 기초하여, 상기 하나 이상의 초기 이미지에 묘사된 객체를 식별하는 단계와;
    상기 식별된 객체와 관련하여 하나 이상의 검색 가능한 컴퓨터 판독 가능 매체에 상기 메타데이터를 저장하는 단계와;
    상기 저장에 후속하여, 상기 하나 이상의 카메라에 의해 캡처된 하나 이상의 후속 이미지에 대해 제2 이미지 처리를 수행하는 단계와;
    상기 제2 이미지 처리에 기초하여, 상기 하나 이상의 후속 이미지에 묘사된 객체를 식별하는 단계와;
    상기 하나 이상의 초기 이미지에 묘사된 식별된 객체를 상기 하나 이상의 후속 이미지에 묘사된 식별된 객체와 매칭시키는 단계; 그리고
    상기 하나 이상의 초기 이미지에 묘사된 식별된 객체가 상기 하나 이상의 후속 이미지에 묘사된 식별된 객체와 매칭한다는 결정에 응답하여, 상기 제1 클라이언트 디바이스의 하나 이상의 출력 디바이스를 통한 출력으로서 상기 메타데이터를 나타내는 콘텐츠를 제공하는 단계를 포함하는 것을 특징으로 하는
    하나 이상의 프로세서를 사용하여 구현되는 방법.
  2. 제1항에 있어서,
    상기 제1 클라이언트 디바이스의 하나 이상의 출력 디바이스를 통한 출력으로서, 상기 작업 요청을 제안으로서 상기 사용자에게 제공하는 단계를 더 포함하고,
    상기 작업 요청은 상기 제1 클라이언트 디바이스의 하나 이상의 센서에 의해 생성된 하나 이상의 신호에 기초하여 선택되는 것을 특징으로 하는
    하나 이상의 프로세서를 사용하여 구현되는 방법.
  3. 제2항에 있어서,
    상기 하나 이상의 신호는 상기 카메라에 의해 캡처된 데이터를 포함하는 것을 특징으로 하는
    하나 이상의 프로세서를 사용하여 구현되는 방법.
  4. 제2항에 있어서,
    상기 하나 이상의 신호는 위치 좌표 센서로부터의 위치 좌표 데이터를 포함하는 것을 특징으로 하는
    하나 이상의 프로세서를 사용하여 구현되는 방법.
  5. 제1항에 있어서,
    동일한 객체 또는 상기 객체와 하나 이상의 속성을 공유하는 다른 객체를 묘사하는 다른 저장된 이미지와 관련하여 상기 메타데이터를 저장하는 단계를 더 포함하는 것을 특징으로 하는
    하나 이상의 프로세서를 사용하여 구현되는 방법.
  6. 제1항에 있어서,
    상기 하나 이상의 이미지에 묘사된 텍스트 콘텐츠를 결정하기 위해 상기 하나 이상의 초기 이미지의 일부에 대해 광학 문자 인식을 수행하는 단계를 더 포함하는 것을 특징으로 하는
    하나 이상의 프로세서를 사용하여 구현되는 방법.
  7. 제6항에 있어서,
    상기 메타데이터는 상기 텍스트 콘텐츠의 적어도 일부를 더 포함하는 것을 특징으로 하는
    하나 이상의 프로세서를 사용하여 구현되는 방법.
  8. 제1항에 있어서,
    상기 메타데이터는 상기 작업 요청의 콘텐츠 중 적어도 일부를 포함하는 것을 특징으로 하는
    하나 이상의 프로세서를 사용하여 구현되는 방법.
  9. 제1항에 있어서,
    상기 제공하는 단계는, 상기 메타데이터를 나타내는 콘텐츠를 전달하는 시각적 주석을 증강 현실 디스플레이상에 렌더링하는 단계를 포함하는 것을 특징으로 하는
    하나 이상의 프로세서를 사용하여 구현되는 방법.
  10. 제9항에 있어서,
    상기 증강 현실 디스플레이 및 상기 하나 이상의 프로세서는 하나의 스마트 안경과 통합되는 것을 특징으로 하는
    하나 이상의 프로세서를 사용하여 구현되는 방법.
  11. 하나 이상의 프로세서 및 메모리를 포함하는 시스템으로서,
    상기 메모리는 명령어들을 저장하고, 상기 명령어들의 실행에 응답하여, 상기 하나 이상의 프로세서는:
    자동화된 어시스턴트를 지시하는 사용자로부터 자유 형식 자연 언어 입력을, 제1 클라이언트 디바이스에서 수신하고;
    상기 자유 형식 자연 언어 입력에 기초하여 작업 요청을 인식하고;
    하나 이상의 카메라에 의해 캡처된 하나 이상의 초기 이미지와 관련된 메타데이터를 저장하기 위한 상기 자동화된 어시스턴트에 대한 요청을 상기 작업 요청이 포함한다고 결정하고, 상기 메타데이터는 상기 작업 요청의 콘텐츠에 기초하여 선택되며;
    상기 하나 이상의 초기 이미지에 대해 제1 이미지 처리를 수행하고;
    상기 제1 이미지 처리에 기초하여, 상기 하나 이상의 초기 이미지에 묘사된 객체를 식별하고;
    상기 식별된 객체와 관련하여 하나 이상의 검색 가능한 컴퓨터 판독 가능 매체에 상기 메타데이터를 저장하고;
    상기 메타데이터가 저장되는 것에 후속하여, 상기 하나 이상의 카메라에 의해 캡처된 하나 이상의 후속 이미지에 대해 제2 이미지 처리를 수행하고;
    상기 제2 이미지 처리에 기초하여, 상기 하나 이상의 후속 이미지에 묘사된 객체를 식별하고;
    상기 하나 이상의 초기 이미지에 묘사된 식별된 객체를 상기 하나 이상의 후속 이미지에 묘사된 식별된 객체와 매칭시키고; 그리고
    상기 하나 이상의 초기 이미지에 묘사된 식별된 객체가 상기 하나 이상의 후속 이미지에 묘사된 식별된 객체와 매칭한다는 결정에 응답하여, 상기 제1 클라이언트 디바이스의 하나 이상의 출력 디바이스를 통한 출력으로서 상기 메타데이터를 나타내는 콘텐츠를 제공하는 것을 특징으로 하는
    시스템.
  12. 제11항에 있어서,
    상기 제1 클라이언트 디바이스의 하나 이상의 출력 디바이스를 통한 출력으로서, 상기 작업 요청을 제안으로서 상기 사용자에게 제공하기 위한 명령어들을 더 포함하고,
    상기 작업 요청은 상기 제1 클라이언트 디바이스의 하나 이상의 센서에 의해 생성된 하나 이상의 신호에 기초하여 선택되는 것을 특징으로 하는
    시스템.
  13. 제12항에 있어서,
    상기 하나 이상의 신호는 상기 카메라에 의해 캡처된 데이터를 포함하는 것을 특징으로 하는
    시스템.
  14. 제12항에 있어서,
    상기 하나 이상의 신호는 위치 좌표 센서로부터의 위치 좌표 데이터를 포함하는 것을 특징으로 하는
    시스템.
  15. 제11항에 있어서,
    상기 하나 이상의 이미지에 묘사된 텍스트 콘텐츠를 결정하기 위해 상기 하나 이상의 초기 이미지의 일부에 대해 광학 문자 인식을 수행하도록 하는 명령어들을 더 포함하는 것을 특징으로 하는
    시스템.
  16. 제11항에 있어서,
    상기 명령어들은, 상기 메타데이터를 나타내는 콘텐츠를 전달하는 시각적 주석을 증강 현실 디스플레이상에 렌더링하도록 하는 명령어들을 포함하는 것을 특징으로 하는
    시스템.
  17. 제16항에 있어서,
    상기 증강 현실 디스플레이 및 상기 하나 이상의 프로세서는 하나의 스마트 안경과 통합되는 것을 특징으로 하는
    시스템.
  18. 제16항에 있어서,
    상기 시각적 주석은 상기 하나 이상의 후속 이미지에 묘사된 식별된 객체의 적어도 일부를 오버레이하는 위치에서 렌더링되는 것을 특징으로 하는
    시스템.
  19. 제16항에 있어서,
    상기 시각적 주석은 상기 하나 이상의 후속 이미지에 묘사된 식별된 객체에 근접한 위치에서 렌더링되는 것을 특징으로 하는
    시스템.
KR1020227005433A 2017-05-16 2018-05-15 캡처된 이미지들과 관련된 메타 데이터 저장 KR102419513B1 (ko)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
US201762507108P 2017-05-16 2017-05-16
US62/507,108 2017-05-16
US15/602,661 US10469755B2 (en) 2017-05-16 2017-05-23 Storing metadata related to captured images
US15/602,661 2017-05-23
KR1020217005424A KR102366754B1 (ko) 2017-05-16 2018-05-15 캡처된 이미지들과 관련된 메타 데이터 저장
PCT/US2018/032787 WO2018213322A1 (en) 2017-05-16 2018-05-15 Storing metadata related to captured images

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020217005424A Division KR102366754B1 (ko) 2017-05-16 2018-05-15 캡처된 이미지들과 관련된 메타 데이터 저장

Publications (2)

Publication Number Publication Date
KR20220028147A KR20220028147A (ko) 2022-03-08
KR102419513B1 true KR102419513B1 (ko) 2022-07-12

Family

ID=64269655

Family Applications (3)

Application Number Title Priority Date Filing Date
KR1020197037169A KR102222421B1 (ko) 2017-05-16 2018-05-15 캡처된 이미지들과 관련된 메타 데이터 저장
KR1020217005424A KR102366754B1 (ko) 2017-05-16 2018-05-15 캡처된 이미지들과 관련된 메타 데이터 저장
KR1020227005433A KR102419513B1 (ko) 2017-05-16 2018-05-15 캡처된 이미지들과 관련된 메타 데이터 저장

Family Applications Before (2)

Application Number Title Priority Date Filing Date
KR1020197037169A KR102222421B1 (ko) 2017-05-16 2018-05-15 캡처된 이미지들과 관련된 메타 데이터 저장
KR1020217005424A KR102366754B1 (ko) 2017-05-16 2018-05-15 캡처된 이미지들과 관련된 메타 데이터 저장

Country Status (6)

Country Link
US (2) US10469755B2 (ko)
EP (1) EP3513334A1 (ko)
JP (2) JP6911155B2 (ko)
KR (3) KR102222421B1 (ko)
CN (1) CN110637295A (ko)
WO (1) WO2018213322A1 (ko)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11876941B1 (en) 2016-06-20 2024-01-16 Pipbin, Inc. Clickable augmented reality content manager, system, and network
US11785161B1 (en) 2016-06-20 2023-10-10 Pipbin, Inc. System for user accessibility of tagged curated augmented reality content
US10469755B2 (en) * 2017-05-16 2019-11-05 Google Llc Storing metadata related to captured images
EP4060476A3 (en) * 2017-06-13 2022-09-28 Google LLC Establishment of audio-based network sessions with non-registered resources
US12111860B1 (en) 2017-12-06 2024-10-08 Dennis J M Donahue, III Patent application preparation system and template creator
US12072491B2 (en) * 2018-05-29 2024-08-27 Kopin Corporation Head-mounted display system
US20200244896A1 (en) * 2018-08-17 2020-07-30 Gregory Walker Johnson Tablet with camera's
CN112272846A (zh) 2018-08-21 2021-01-26 谷歌有限责任公司 用于调用自动助理的动态的和/或特定于场境的热词
EP3631793B1 (en) 2018-08-21 2022-03-30 Google LLC Dynamic and/or context-specific hot words to invoke automated assistant
EP3864575A4 (en) 2018-10-09 2021-12-01 Magic Leap, Inc. VIRTUAL AND AUGMENTED REALITY SYSTEMS AND PROCESSES
CN113795825B (zh) * 2019-05-06 2024-08-27 谷歌有限责任公司 根据动态用户队列和/或多模式存在检测为自动化助理指配优先级
US11227007B2 (en) * 2019-07-23 2022-01-18 Obayashi Corporation System, method, and computer-readable medium for managing image
US10916241B1 (en) * 2019-12-30 2021-02-09 Capital One Services, Llc Theme detection for object-recognition-based notifications
KR20220118545A (ko) * 2019-12-31 2022-08-25 스냅 인코포레이티드 메시징 시스템에서의 캡처후 처리
KR102364881B1 (ko) * 2020-03-24 2022-02-18 주식회사 에스아이에이 전문가 모사 모델 학습 방법 및 그 학습을 위한 장치
WO2021250871A1 (ja) * 2020-06-11 2021-12-16 富士通株式会社 会話制御プログラム、会話制御方法および情報処理装置
CN113793529A (zh) * 2021-08-25 2021-12-14 阿波罗智能技术(北京)有限公司 用于辅助泊车的方法、装置、设备、存储介质和程序产品
CN113986530A (zh) * 2021-09-30 2022-01-28 青岛歌尔声学科技有限公司 一种图像处理方法、装置、存储介质及终端
US11755859B2 (en) 2021-12-22 2023-09-12 Datalogic Ip Tech S.R.L. Apparatus and method for enabling decoding of remotely sourced and visually presented encoded data markers
KR20240053270A (ko) 2022-10-17 2024-04-24 주식회사 클리카 자동화된 데이터 스트리밍 시스템 및 방법
WO2024122951A1 (ko) * 2022-12-05 2024-06-13 삼성전자 주식회사 화면 및 화면 캡처 시점의 상황을 공유하는 전자 장치, 동작 방법, 및 저장 매체

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100754656B1 (ko) * 2005-06-20 2007-09-03 삼성전자주식회사 이미지와 관련한 정보를 사용자에게 제공하는 방법 및시스템과 이를 위한 이동통신단말기
JP4175390B2 (ja) * 2006-06-09 2008-11-05 ソニー株式会社 情報処理装置、および情報処理方法、並びにコンピュータ・プログラム
US9318108B2 (en) * 2010-01-18 2016-04-19 Apple Inc. Intelligent automated assistant
JP5320913B2 (ja) * 2008-09-04 2013-10-23 株式会社ニコン 撮像装置およびキーワード作成プログラム
JP5279466B2 (ja) 2008-11-28 2013-09-04 キヤノン株式会社 情報処理装置及びその制御方法、プログラム及び記憶媒体
JP2010245607A (ja) * 2009-04-01 2010-10-28 Nikon Corp 画像記録装置および電子カメラ
DE102009054000A1 (de) * 2009-11-19 2011-05-26 Schoeller Holding Gmbh Gerät zur bildlichen Aufnahme und Darstellung von Objekten, insbesondere Digitalfernglas, Digitalkamera oder Digitalvideokamera
US9305024B2 (en) 2011-05-31 2016-04-05 Facebook, Inc. Computer-vision-assisted location accuracy augmentation
CN103999446B (zh) * 2011-12-30 2019-01-01 英特尔公司 电子设备的用户界面
US20130346068A1 (en) * 2012-06-25 2013-12-26 Apple Inc. Voice-Based Image Tagging and Searching
JP5869989B2 (ja) * 2012-08-24 2016-02-24 富士フイルム株式会社 物品照合装置および方法並びにプログラム
US9547647B2 (en) * 2012-09-19 2017-01-17 Apple Inc. Voice-based media searching
KR101973649B1 (ko) * 2012-09-28 2019-04-29 엘지전자 주식회사 휴대 단말기 및 그 동작 방법
KR20140075997A (ko) * 2012-12-12 2014-06-20 엘지전자 주식회사 이동 단말기 및 이동 단말기의 제어 방법
US9696874B2 (en) 2013-05-14 2017-07-04 Google Inc. Providing media to a user based on a triggering event
JP6273755B2 (ja) * 2013-10-11 2018-02-07 株式会社デンソー 車両位置管理システム、車載装置、及びプログラム
AU2015214298B2 (en) * 2014-02-10 2018-05-10 Google Llc Smart camera user interface
US9704204B2 (en) * 2015-01-20 2017-07-11 Grace Fang Methods and systems for tagging data in a network
KR20170034729A (ko) * 2015-09-21 2017-03-29 주식회사 웨이짱 단말기가 촬영한 이미지로 주차위치를 확인하는 시스템 및 그 운용방법
RU2622843C2 (ru) * 2015-09-24 2017-06-20 Виталий Витальевич Аверьянов Способ управления устройством обработки изображения
KR101761631B1 (ko) * 2015-12-29 2017-07-26 엘지전자 주식회사 이동단말기 및 그 제어방법
US10469755B2 (en) * 2017-05-16 2019-11-05 Google Llc Storing metadata related to captured images

Also Published As

Publication number Publication date
WO2018213322A1 (en) 2018-11-22
US10469755B2 (en) 2019-11-05
EP3513334A1 (en) 2019-07-24
JP2021166083A (ja) 2021-10-14
US10893202B2 (en) 2021-01-12
US20200021740A1 (en) 2020-01-16
CN110637295A (zh) 2019-12-31
KR102222421B1 (ko) 2021-03-03
US20180338109A1 (en) 2018-11-22
KR20220028147A (ko) 2022-03-08
JP6911155B2 (ja) 2021-07-28
KR20200007946A (ko) 2020-01-22
KR102366754B1 (ko) 2022-02-24
KR20210024222A (ko) 2021-03-04
JP7529624B2 (ja) 2024-08-06
JP2020521226A (ja) 2020-07-16

Similar Documents

Publication Publication Date Title
KR102419513B1 (ko) 캡처된 이미지들과 관련된 메타 데이터 저장
JP7032504B2 (ja) 会議能力を有する自動アシスタント
US10685187B2 (en) Providing access to user-controlled resources by automated assistants
JP7159392B2 (ja) 画像および/または他のセンサデータに基づいている自動アシスタント要求の解決
CN107430858B (zh) 传送标识当前说话者的元数据
KR102364400B1 (ko) 다수의 코퍼스들로부터 응답 정보 획득
US11023051B2 (en) Selective detection of visual cues for automated assistants
JP7471371B2 (ja) アシスタントデバイスのディスプレイにレンダリングするコンテンツの選択

Legal Events

Date Code Title Description
A107 Divisional application of patent
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant