KR102483507B1 - 비디오 컨텐츠의 기계-기반 객체 인식 - Google Patents

비디오 컨텐츠의 기계-기반 객체 인식 Download PDF

Info

Publication number
KR102483507B1
KR102483507B1 KR1020197013525A KR20197013525A KR102483507B1 KR 102483507 B1 KR102483507 B1 KR 102483507B1 KR 1020197013525 A KR1020197013525 A KR 1020197013525A KR 20197013525 A KR20197013525 A KR 20197013525A KR 102483507 B1 KR102483507 B1 KR 102483507B1
Authority
KR
South Korea
Prior art keywords
metadata
video content
product
video
electronic device
Prior art date
Application number
KR1020197013525A
Other languages
English (en)
Other versions
KR20190088974A (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 KR20190088974A publication Critical patent/KR20190088974A/ko
Application granted granted Critical
Publication of KR102483507B1 publication Critical patent/KR102483507B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • G06Q30/0601Electronic shopping [e-shopping]
    • G06Q30/0641Shopping interfaces
    • G06Q30/0643Graphical representation of items or shoppers
    • 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/95Retrieval from the web
    • G06F16/955Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
    • G06F16/9558Details of hyperlinks; Management of linked annotations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • G06K9/6273
    • 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/40Scenes; Scene-specific elements in video content
    • G06V20/46Extracting features or characteristics from the video content, e.g. video fingerprints, representative shots or key frames
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/237Communication with additional data server
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/431Generation of visual interfaces for content selection or interaction; Content or additional data rendering
    • H04N21/4312Generation of visual interfaces for content selection or interaction; Content or additional data rendering involving specific graphical features, e.g. screen layout, special fonts or colors, blinking icons, highlights or animations
    • H04N21/4316Generation of visual interfaces for content selection or interaction; Content or additional data rendering involving specific graphical features, e.g. screen layout, special fonts or colors, blinking icons, highlights or animations for displaying supplemental content in a region of the screen, e.g. an advertisement in a separate window
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/472End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
    • H04N21/4722End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for requesting additional data associated with the content
    • H04N21/4725End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for requesting additional data associated with the content using interactive regions of the image, e.g. hot spots
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/478Supplemental services, e.g. displaying phone caller identification, shopping application
    • H04N21/47815Electronic shopping
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/85Assembly of content; Generation of multimedia applications
    • H04N21/858Linking data to content, e.g. by linking an URL to a video object, by creating a hotspot
    • 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
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/0482Interaction with lists of selectable items, e.g. menus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V2201/00Indexing scheme relating to image or video recognition or understanding
    • G06V2201/10Recognition assisted with metadata

Abstract

비디오들에 나타나는 아이템들에 관한 정보를 디스플레이하기 위한 현재 인터페이스들은 눈에 거슬리고 비직관적이다. 이들은 또한 비디오의 프레임들에 손으로 부가되고, 비디오들의 아이템들에 관한 정보를 디스플레이하기 위한 능력을 제한하는 주석들, 또는 메타데이터 태그들에 의존한다. 대조하여, 본원에 개시된 시스템들의 예들은 직관적인 사용자 음성 질의들, 터치스크린 탭들 및/또는 커서 이동들에 응답하여 온- 및 오프-스크린 상에 나타나는 아이템들을 식별하기 위해 뉴럴 네트워크들을 사용한다. 이들 시스템들은 시청 경험을 방해하는 것을 회피시키기 위해 동적으로 그리고 보이지 않게 온- 및 오프-스크린 아이템들에 관한 정보를 디스플레이한다.

Description

비디오 컨텐츠의 기계-기반 객체 인식
본 출원은 발명의 명칭이 "Methods and Apparatus for Displaying Products Related to Video Content"이고 2016년 11월 17일에 출원되고, 그리고 그 전체가 인용에 의해 본원에 통합된 미국 출원 번호 제 62/423,495호에 대해 35 U.S.C. § 119 하에서 우선권을 조장한다.
비디오의 상태는 수십 년 동안 크게 변화하지 않고 있다. 상호작용의 부가를 통해 비디오를 현대화하기 위한 일부 시도들이 있었지만, 이들 시도들은 다양한 이유들 때문에 충분하지 않았다. 이 경우, 상호작용에 있어서의 이전 시도들을 통해 제공된 정보는 일반적으로 극히 제한되었다. 이는 주로, 수십만 개의 프레임들을 포함하는 비디오에 수동으로 주석을 다는(annotating) 데 요구되는 인력이 매우 비싸기 때문이다. 게다가, 이전 상호작용 비디오 인터페이스들은 비직관적이고 시청(viewing) 경험에 매우 지장을 주었다.
본 기술의 실시예들은 비디오들에 주석을 달고 상호작용 비디오 인터페이스들을 디스플레이하는 문제들을 처리한다. 첫째, 미디어 컨텐츠에 대한 메타데이터를 자동으로 생성할 수 있는 기계 학습 엔진은 컨텐츠의 철저한 주석 달기에 요구되는 인력을 감소시킨다. 둘째, 새로운 상호작용 인터페이스들은 사용자의 컨텐츠 시청 목표를 방해하지 않고 이 메타데이터를 사용자들에게 끊김 없이 릴레이(relay)한다. 결합된 이들 2개의 엘리먼트들은 상세한 상호작용 비디오의 광범위한 배포 및 채택을 허용한다.
본 기술은 비디오 컨텐츠에서 특징화된 객체들의 식별 및 사용자들이 식별된 객체들에 관한 더 많은 정보를 리트리브(retrieve)할 수 있게 하는 사용자 인터페이스들을 디스플레이하기 위한 방법을 포함한다. 개별적으로 또는 실시간 이미지 인식 엔진과 함께 사용될 수 있는 사용자 인터페이스들의 예들은 오버레이드 비디오 플레이어(Overlaid Video Player) 사용자 인터페이스 및 인접 레이아웃(Adjacent Layout) 사용자 인터페이스를 참조하여 논의된다. 이와 함께, 오버레이드 비디오 플레이어 사용자 인터페이스 및 인접 레이아웃 사용자 인터페이스는 실시간 이미지 인식, 인식된 객체들의 정보의 실시간 리트리벌(retrieval) 및 비디오 컨텐츠에서 인식된 객체들에 관련된 다른 적절한 사용자-개시 프로세스들에 대한 현재 기술과 연관된 다양한 기술적 문제들을 처리한다. 주제 기술의 예들이 비디오 컨텐츠에서 특징으로 하는 아이템들을 브라우징 및 구매하는 것에 관련된 사용자 상호작용들의 맥락에서 논의되지만, 주제 기술은 맥락들, 이를테면 감시, 증거 수집 및 다른 적절한 맥락들에 이용될 수 있다.
예컨대, 비디오 컨텐츠에 관련된 제품들을 구매하기 위한 현재 솔루션(solution)들은 사용하기 어렵고 구매율이 낮다. 참여율 구매 클릭률을 증가시키기 위해, 오버레이드 비디오 플레이어는 비디오와 함께 실시간으로 제품 이미지들을 디스플레이하는 인터페이스를 통해 사용자에게 더 직관적인 비디오 컨텐츠를 통해 제품들을 구매하게 한다. 이는, 사용자들이 최소 수의 단계들로 쉽게 구매하게 하는 거슬리지 않는 방식으로 비디오의 위에 제품들을 제시한다. 인접 레이아웃은 또한 비디오 컨텐츠의 제품들에 더 많은 가시성을 야기할 수 있고 사용자들이 제품을 구매하게 하는 다른 기회이다.
다른 기술적 문제들은 끊김 없는 디스플레이를 제공하기에 충분하게 오버레이드 비디오 플레이어의 인터페이스를 자주 업데이팅하는 것을 포함한다. 비디오와의 맥락을 유지하기 위해, 오버레이드 비디오 플레이어 인터페이스는 자주(예컨대, 초당 약 1-4번의 빈도로) 업데이트되어야 한다. 이런 속도(rate)는 각각의 간격 동안 네트워크 요청을 실행하기에 너무 빠르다.
이 문제를 처리하기 위해, 오버레이드 비디오 플레이어는 압축 포맷으로 세그먼트의 시작부에 각각의 비디오 세그먼트(예컨대, 비디오 컨텐츠의 0-15 분)에 대한 키 데이터를 다운로드하고 키 데이터를 사용자의 디바이스 상에 캐시(cache)한다. 이것은, 인터페이스가 디바이스 상에 캐시된 데이터를 사용함으로써 자주 업데이트되는 것을 허용하고, 이는 데이터를 인출(fetch)하기 위해 외부 네트워크를 수행하는 것보다 훨씬 더 빠르다.
호환성은 오버레이드 비디오 플레이어 사용자 인터페이스에 대한 다른 기술적 고려사항이다. 오버레이드 비디오 플레이어 사용자 인터페이스는 광범위하게 배포되도록 많은 상이한 기본이 되는 비디오 플레이어 기술들(예컨대, HTML5, Flash 등)과 인터페이스하여야 한다. 이것은 비디오를 플레이/일시정지/탐색할 수 있는 것, 및 비디오의 상태(예컨대, 현재 시간, 플레이 중/일시중지됨, 광고가 플레이 중인지 여부 등)에 관하여 알려질 수 있게 하는 것을 포함한다. 이 문제를 처리하기 위해, 오버레이드 비디오 플레이어 인터페이스는 오버레이드 비디오 플레이어 인터페이스와 기본이 되는 비디오 플레이어 사이의 통신을 용이하게 하는 일반 릴레이(relay)(도 1b-메타데이터 제어기)에 커플링될 수 있다. 이런 일반 릴레이는 인터페이스가 새로운 비디오 플레이어들에 쉽게 플러깅(plug)하게 한다.
본 기술의 실시예들은 다양한 방법들 및 시스템들을 포함한다. 이들 방법들의 일부는, 전자 디바이스에 의해, 비디오 컨텐츠에 대한 사용자로부터의 요청을 수신하는 단계; 전자 디바이스에 의해, 비디오 서버로부터 비디오 컨텐츠를 요청하는 단계; 및 전자 디바이스에 의해, 메타데이터 서버로부터의 비디오 컨텐츠에 나타나는 사람과 연관된 객체에 관한 메타데이터를 요청하는 단계를 포함한다. 메타데이터의 개별 피스(piece)들은 비디오 컨텐츠의 개별 프레임들과 정렬된다. 전자 디바이스는 자신의 디스플레이 상에, 비디오 컨텐츠의 제1 프레임을 사용자에게 보여준다. 이 제1 프레임은 사람의 이미지를 포함하고 사람과 연관된 객체를 보여주거나 보여주지 않을 수 있다. 응답으로, 전자 디바이스는 사람과 연관된 객체에 관한 메타데이터에 대한 사용자로부터의 요청을 수신한다. 그리고 사용자로부터의 요청에 응답하여, 전자 디바이스는 비디오 컨텐츠를 갖는 객체에 관한 메타데이터의 제1 피스를 디스플레이한다. 이런 메타데이터의 제1 피스는 제1 프레임과 정렬될 수 있다.
이들 방법들의 일부 예들에서, 메타데이터를 수신하는 단계는 비디오 컨텐츠에 나타나는 모든 사람이 착용한 객체들에 대한 제품 식별 정보를 수신하는 단계를 포함한다. 이 메타데이터는 비디오 컨텐츠에 나타나는 모든 사람이 착용한 객체들을 획득하기 위한 링크들을 포함할 수 있다. 전자 디바이스는 객체를 획득하기 위한 대응하는 링크를 디스플레이할 수 있고, 그리고 대응하는 링크는 객체를 획득하기 위한 웹사이트로 사용자를 동적으로 재지향시킬 수 있다. 일부 경우들에서, 메타데이터는 비디오 컨텐츠에 나타나는 사람이 착용한 객체와 유사한 객체를 획득하기 위한 링크를 포함한다. 전자 디바이스는 또한 이런 타입의 링크를 디스플레이할 수 있다.
전자 디바이스는 다양한 포맷들 중 임의의 포맷으로 사용자의 요청을 수신할 수 있다. 예컨대, 전자 디바이스의 마이크로폰은 음성 커맨드 또는 음성 질의(query)로서 사용자의 요청을 수신할 수 있다. 또는, 전자 디바이스는 전자 디바이스의 디스플레이의 플레이 바(play bar) 영역 근방에서, 터치스크린 상에서의 커서 이동 또는 터치를 검출함으로써 사용자의 요청을 수신할 수 있다.
이들 방법들의 일부 예들에서, 전자 디바이스는 비디오 컨텐츠의 프레임을 사용자에게 디스플레이하기 전에 전자 디바이스의 메모리에 객체에 관한 메타데이터를 저장한다. 전자 디바이스는 또한 비디오 컨텐츠를 사용자에게 디스플레이하는 동안 비디오 컨텐츠의 제2 프레임에 나타나는 다른 사람과 연관된 다른 객체에 관한 메타데이터를 요청할 수 있다. 그리고, 전자 디바이스는 사용자로부터의 요청에 응답하여 비디오 컨텐츠의 재생을 일시중지할 수 있다.
다른 실시예 방법들은, 서버에서, 사용자 디바이스 상의 비디오에 나타나는 객체에 관한 메타데이터에 대한 사용자로부터의 제1 요청을 수신하는 단계 및 서버에 의해, 메타데이터 데이터베이스가 객체에 관한 메타데이터를 갖지 않는다고 결정하는 단계를 포함한다. 메타데이터 데이터베이스가 객체에 관한 메타데이터를 갖지 않는다는 결정에 응답하여, 서버는 비디오에 나타나는 객체의 아이덴티티에 대한 질의를 객체 인식 서버에 전송한다. 서버는 객체 인식 서버로부터 비디오에 나타나는 객체의 아이덴티티를 수신하고 객체의 아이덴티티에 기반하여 객체에 관한 메타데이터를 획득한다. 이어서, 서버는 사용자에게 디스플레이하기 위한 메타데이터를 제공하고, 그리고 사용자 디바이스는 비디오와 함께 메타데이터의 적어도 일부를 디스플레이한다. 원하는 경우, 이 메타데이터는 메타데이터 데이터베이스에 저장되고 메타데이터에 대한 후속 요청들에 응답하여 리트리브된다.
일부 경우에서, 객체 인식 서버는 비디오에 나타나는 객체를 인식하는 적어도 하나의 뉴럴 네트워크를 구현한다. 뉴럴 네트워크는 비디오에 나타나는 객체를 표현하는 임베딩(embed)을 생성하고 객체 데이터베이스에 저장된 복수의 임베딩들에 이 임베딩의 비교를 수행함으로써 이를 행할 수 있다. 복수의 임베딩들의 개별 임베딩들은 복수의 객체들의 개별 객체들을 표현한다. 뉴럴 네트워크는 예컨대, 복수의 객체들 중으로부터 가장 가까이 매칭되는 것을 객체로서 식별함으로써 비교에 기반하여 객체의 아이덴티티를 결정할 수 있다. 원하는 경우, 뉴럴 네트워크는, 비교에 기반하여 복수의 객체들 중으로부터 본래의 객체와 유사한 다른 객체를 식별할 수 있다. 이들 경우들에서, 서버는 이런 다른 객체와 연관된 메타데이터를 사용자에게 제공할 수 있다. 그리고, 사용자 디바이스는 다른 객체와 연관된 메타데이터의 적어도 일부를 사용자에게 디스플레이할 수 있다.
전술한 개념들 및 아래에서 더 상세히 논의되는 부가적인 개념들(그런 개념들이 상호 불일치하지 않으면)의 모든 조합들이 본원에 개시된 본 발명의 주제의 부분인 것으로 고려되는 것이 인지되어야 한다. 특히, 본 개시내용의 종료부에 나타나는 청구된 주제의 모든 조합들은 본원에 개시된 본 발명의 주제의 일부인 것으로 고려된다. 또한, 인용에 의해 통합된 임의의 개시내용에 또한 나타날 수 있는 본원에 명시적으로 이용된 전문용어가 본원에 개시된 특정 개념들과 가장 잘 일치하는 의미에 부합되는 것이 인지되어야 한다.
당업자는, 도면들이 주로 예시 목적들을 위한 것이고 본원에 설명된 본 발명의 주제의 범위를 제한하도록 의도되지 않는 것을 이해할 것이다. 도면들은 반드시 실척이지 않고; 일부 경우들에서, 본원에 개시된 본 발명의 주제의 다양한 양상들은 상이한 피처(feature)들의 이해를 가능하게 하기 위해 도면들에서 과장 또는 확대되어 도시될 수 있다. 도면들에서, 유사한 참조 문자들은 일반적으로 유사한 피처들(예컨대, 기능적으로 유사하고 그리고/또는 구조적으로 유사한 엘리먼트들)을 지칭한다.
도 1a는 일 실시예에 따른, 텔레비전, 컴퓨터, 모바일 디바이스 또는 다른 미디어 플레이어를 통해 비디오 컨텐츠를 제공하는 데 사용되는 시스템의 다이어그램이다.
도 1b는 일 실시예에 따른, 도 1a에 도시된 시스템의 동작을 예시하는 블록 다이어그램이다.
도 2는 일 실시예에 따른, 실시간, 기계-기반 객체 인식을 위한 시스템의 블록 다이어그램이다.
도 3은 일 실시예에 따른, 실시간 이미지 인식을 위한 기계 학습 모델의 아키텍처의 예이다.
도 4a는 일 실시예에 따른, 실시간 이미지 인식 엔진을 구현하기 위한 기계-학습 모델의 트레이닝을 예시하는 흐름도이다.
도 4b는 일 실시예에 따른, 실시간 이미지 인식 엔진을 구현하기 위한 기계-학습 모델의 테스팅 및 검증을 예시하는 흐름도이다.
도 5는 일 실시예에 따른, 비디오 프레임에 대한 실시간 이미지 인식 엔진에 의해 생성된 경계 박스들의 예이다.
도 6a-도 6f는 일 실시예에 따른, 도 1a의 시스템에 의해 제공된 오버레이드 비디오 플레이어 인터페이스를 예시한다.
도 7a-도 7g는 일 실시예에 따른, 컴퓨터 데스크톱 상에 인접 레이아웃 인터페이스를 사용하는 것을 예시한다.
도 8a-도 8e는 일 실시예에 따른, 모바일 디바이스(예컨대, 스마트 폰) 상에 인접 레이아웃 인터페이스를 사용하는 것을 예시한다.
도 9a 및 도 9b는 일 실시예에 따른, 오버레이드 비디오 플레이어와 통합된 인접 레이아웃 인터페이스의 상이한 도면들을 도시한다.
도 10a-도 10c는 일 실시예에 따른, 데스크톱 또는 모바일 디바이스 상에 디스플레이된 비디오 컨텐츠 상에 메타데이터를 오버레이하는 상호작용 인터페이스를 예시한다.
도 11a-도 11d는 일 실시예에 따른, 스마트 텔레비전 상에 디스플레이된 비디오 컨텐츠 상에 메타데이터를 오버레이하는 상호작용 인터페이스를 예시한다.
도 12a-도 12c는 일 실시예에 따른, 도 11a-도 11d의 상호작용 인터페이스를 갖는 음성 제어부를 예시한다.
시스템의 전체적인 뷰(view)가 도 1a에 보여질 수 있다. 사용자(예컨대, 사용자들(101A-101D) 중 임의의 사용자)는 비디오 컨텐츠를 플레이할 수 있는 디바이스로 시작한다. 비디오를 플레이할 수 있도록 하는 일부 예시적인 디바이스들은 텔레비전(103A), 모바일/태블릿 디바이스(103B), 퍼스널 컴퓨터(PC)(103C) 및 스트리밍 미디어 플레이어(103D)(예컨대, Apple TV 또는 Roku 디바이스)를 포함한다. 예컨대, 인터넷(105)을 통해, 사용자의 디바이스는 컨텐츠 제공자(107)에 의해 제공된 비디오 컨텐츠에 액세스한다. 컴퓨터 디바이스들(103A-103D)의 각각은, 사용자가 비디오들을 플레이하기 위해 상호작용하는 "비디오 플레이어 플랫폼"을 가진다. 예컨대, 모바일/태블릿 디바이스(103B) 또는 PC(103C)에서, 비디오 플레이어 플랫폼은 통상적으로 웹 브라우저 또는 소프트웨어 애플리케이션이다. 미디어 플레이어들(103D)(예컨대, Apple TV, Roku, Google Chromecast 등)의 경우, 비디오 플레이어 플랫폼은 통상적으로 네이티브(native) 애플리케이션이다. 그리고, 텔레비전(103A)(예컨대, 케이블, 위성 또는 스마트 TV)에서, 비디오 플레이어 플랫폼은 통상적으로 그 기술에 대해 특정하게 개발된 독점 시스템이다. 도 1a에 도시된 시스템은, 비디오를 플레이하는 데 사용되는 어떤 디바이스에도 통합되거나 사용될 수 있다.
디바이스 및 비디오 플레이어 플랫폼(이 예에서, 웹 브라우저를 가진 PC)에서, 사용자는 비디오를 플레이할 수 있는 페이지로 네비게이팅(navigate)한다. 웹사이트는 비디오 서버(111)로부터 109에서 비디오를 요청하고, 그리고 비디오 서버는 비디오 데이터(도 1에 도시되지 않음)를 사용자의 비디오 플레이어 플랫폼(이 예에서, 웹 브라우저)에 송신함으로써 요청에 대해 응답한다. 이어서, 사용자의 비디오 플레이어 플랫폼은 디바이스의 스크린(예컨대, PC(103C)에 커플링된 액정 디스플레이) 상에 비디오를 플레이한다(112로 표시됨). "상호작용 컴포넌트들"(오버레이드 비디오 플레이어 및 인접 레이아웃) 중 하나 또는 둘 모두는 스크린 상에 제시된 페이지 상에 통합될 수 있다.
비디오 플레이어 플랫폼 상에 상호작용 컴포넌트들을 통합하기 위한 코드는 비디오 또는 비디오가 나타나는 페이지를 디스플레이하는 컨텐츠 제공자의 코드에 부가될 수 있다. 대안적으로, 코드는 컨텐츠 제공자가 비디오 플레이어 플랫폼 상에 통합하기 위한 코드(또는 애플리케이션 프로그래밍 인터페이스(API))를 제공하는 서드 파티 메타데이터 서비스(Third Party Metadata Service)에 의해 비디오 플레이 플랫폼으로 개발되어 서빙된다. 다른 대안은 컨텐츠 제공자 또는 서드 파티가 (컨텐츠 또는 페이지가 코드를 주입하는 컨텐츠 제공자 또는 서드 파티에 의해 소유되지 않더라도) 컨텐츠를 검출하고 상호작용 컴포넌트 코드를 페이지 상에 주입할 수 있는 플러그-인(plug-in) 또는 확장(예컨대, 웹 브라우저 확장 또는 스트리밍 미디어 플레이어 플러그인)에 코드를 배치하는 것이다. 모든 경우들에서, 상호작용 컴포넌트들이 통합될 때, 코드는 113에서 메타데이터 서버(115)(메타데이터 제공자에 의해 호스팅됨)로부터 적합한 제품 이미지들 및 정보를 리트리브하고 이들을 사용자가 볼 수 있도록 스크린 상에 디스플레이한다(예컨대, 117에서).
상호작용 컴포넌트들(및 메타데이터 서버)은 비디오에 관련된 제품들을 디스플레이하는 것으로 제약되지 않는다. 이들은 비디오에 관련된 무언가에 관한 정보, 이를테면 비디오에 관한 서비스들, 물리적 위치들 또는 일반 정보를 디스플레이하는 데 사용될 수 있다. 예컨대, 이들은 비디오에 나타나는 레스토랑에 관한 세부사항들을 디스플레이하고 사용자들이 거기서 식사하기 위한 예약을 예약하게 하는데 사용될 수 있다. 또는, 이들은 캐릭터들에 관한 일반상식 또는 사실들 또는 비디오가 제작되는 방법을 디스플레이하는 데 사용될 수 있다. 상호작용 컴포넌트들은 통상적으로 비디오 기간 동안 프레임들의 범위 및 시점에 연관되지만, 또한 일반적이고 그리고 전체적으로 비디오와 연관될 수 있다. 이 문헌에서 "제품"으로 지칭될 때, 이것이 또한 서비스들, 물리적 위치들, 또는 비디오에 나타나는 사람들 또는 객체들에 관련된 임의의 정보를 포함하는 것을 유의하라.
상호작용 컴포넌트들과 상호작용하는 사용자는 제품에 관한 부가적인 정보를 보거나 제품을 구매할 능력을 가질 수 있다. 일부 경우들에서, 제품은 121에 도시된 바와 같이 컨텐츠 제공자로부터 직접 구매될 수 있다. 예컨대, 컨텐츠 제공자가 제품 소매점이면, 이들은 이들 제품들을 특징으로 하는 비디오를 디스플레이하기를 원할 수 있다. 이어서, 사용자는 제품들을 쇼핑 카트에 부가하고 그리고 비디오가 나타나는 컨텐츠 제공자/소매점 웹사이트로부터 직접 구매할 수 있다.
다른 경우에, 컨텐츠 제공자는 소매점이 아니고 자기의 제품들을 판매하지 않는다. 이의 예는 텔레비전 스튜디오의 웹사이트일 것이고, 여기서 이들은 사용자들이 클립(clip)들 및 그들 쇼들의 전에 에피소드들을 시청(그리고 쇼핑)하는 것을 허용한다. 이 경우에, 컨텐츠 제공자는 123에 도시된 바와 같이 그들의 구매를 완료시키기 위해 사용자들을 하나 초과의 서드 파티 소매점 웹사이트들로 보내도록 선정할 수 있다. 이 경우에 대한 다른 옵션은, 통합될 때, 컨텐츠 제공자의 웹사이트를 떠나지 않고 사용자가 구매를 하게(또는 소매점 웹사이트의 쇼핑 카드에 부가) 하는 범용 쇼핑 카드 솔루션 또는 소매점의 API를 사용하는 것이다.
지불(예컨대, 신용 카드) 정보의 쉬운 사용자 입력을 허용하지 않는 텔레비전들, 미디어 스트리머들 또는 다른 디바이스들 및 비디오 플랫폼들에서, 다른 통합 옵션이 가능하다. 사용자가 아이템을 구매하기를 원한다는 것을 표시할 때, 컨텐츠 제공자의(또는 제3 비디오 서비스의) 코드는 페이지 상에 짧은 URL을 디스플레이하고 그리고/또는 그들 모바일 디바이스 상에 SMS 메시지(URL을 사용하여)를 수신하기 위한 옵션을 제공하고, 여기서 사용자는 구매를 완료할 수 있다.
도 1b는, 도 1a에 도시된 시스템이 동작하는 방법을 예시하는 흐름도이다. 사용자(206)는 컴퓨터 디바이스(100) 상에 비디오를 플레이하기 위한 요청을 전송한다(단계 1). 스마트 텔레비전, 스마트 폰, 컴퓨터 또는 태블릿일 수 있는 컴퓨터 디바이스(100)는 도 1b에 도시된 비디오 플레이어(107), 비디오 이벤트 심(shim)(203) 및 메타데이터 제어기(205)를 함께 구현하는 프로세서, 메모리, 디스플레이 및 네트워크 인터페이스(예컨대, 안테나, 이더넷 포트 또는 동축 케이블 연결)를 포함한다.
사용자의 요청을 수신하는 것에 응답하여, 비디오 플레이어(107)는 비디오 서버(111)로부터 비디오를 요청한다(단계 2). 비디오 서버(111)는 비디오를 비디오 플레이어(107)에 전달한다(단계 3). 비디오가 비디오 플레이어(107)에서 플레이하기 시작하면, 비디오 이벤트 심(203)은, 재생이 시작된 것을 표시하는 이벤트 메시지(비디오 프레임 타임 스탬프(time stamp))를 비디오 플레이어(107)로부터 수신한다(단계 4). 게다가, 비디오 이벤트 심(203)은, 요청된 비디오의 재생이 시작된 것을 표시하는 통지 메시지를 메타데이터 제어기(205)에 전송한다(단계 5). 메타데이터 제어기(205)는 가능하면, 아래에 설명된 인터페이스들을 통한 사용자 요청에 응답하여, 제품 서버(207)로부터 대응 이벤트(비디오 프레임 타임 스탬프)와 연관된 메타데이터를 요청하고(단계 6), 그리고 제품 서버(207)는 요청된 메타데이터를 찾아서, 리트리브하고, 메타데이터 제어기(205)에 전송한다(단계 7). 마찬가지로, 메타데이터 제어기(205)는 요청된 메타데이터를 비디오 플레이어(107)에 의한 디스플레이를 위해 메타데이터 오버레이(201)에 전송한다(단계 8).
사용자(206)가 메타데이터 오버레이(201)에 의해 디스플레이된 제품을 선택하면(단계 9), 메타데이터 오버레이(201)는 통지 메시지를 메타데이터 제어기(205)에 전송한다(단계 10). 응답으로, 메타데이터 제어기(205)는 비디오 플레이어(107)에서 비디오를 일시중지하도록 비디오 이벤트 심(203)에게 커맨드를 전송하고(단계 11) 비디오 이벤트 심은 일시중지 메시지를 비디오 플레이어(107)에게 전송한다(단계 12). 메타데이터 제어기(205)는 또한 제품에 대한 상세한 정보 또는 테이크산(takesan) 액션, 이를테면 제품에 대한 소매 페이지로 새로운 브라우저 탭을 개방하는 것을 보여주기 위해 비디오 오버레이 또는 인접 레이아웃을 업데이트할 수 있다.
도 1b에 예시된 상호작용들은 다양한 상이한 순서들로 구현될 수 있다. 예컨대, 메타데이터 제어기(205)는, 비디오 플레이어(107)가 비디오를 플레이하는 것을 시작하기 전에 전체 비디오에 대한 메타데이터를 요청, 수신 및 캐시(로컬 메모리에 저장)할 수 있다. 이것은 재생 동안 네트워크 트래픽을 감소시키고 그리고 네트워크 연결성의 중단이 사용자 요청들에 응답하여 메타데이터의 리트리벌 및 디스플레이를 중단하는 가능성을 감소 또는 제거한다. 대안적으로, 메타데이터 제어기(205)는 간격들, 예컨대 주기적 간격들, 광고 사이의 간격들, 또는 특정 장면과 연관된 간격들에서 메타데이터를 요청, 수신 및 캐시(로컬 메모리에 저장)할 수 있다. 다시, 이것은 네트워크 연결성의 차단들에 의해 유발되는 중단들을 감소시킨다. 메타데이터 제어기(205)는 또한 실시간으로, 예컨대 사용자 요청들에 응답하여 그리고/또는 비디오 재생 상태에 기반하여 메타데이터 서버에게 질의할 수 있다.
메타데이터는 비디오 프레임 타임 스탬프들을 사용하여 비디오 프레임들에 시간-정렬된다. 이것은, 메타데이터 제어기(205)가 비디오 재생 상태에 기반하여, 예컨대 실시간 메타데이터 요청들 또는 간격들에서 메타데이터에 대한 요청들에 기반하여 메타데이터를 요청 및 큐잉(queue)할 수 있게 한다. 예컨대, 비디오 프레임들은 초당 1 내지 4개의 프레임들(fps)의 레이트(rate)로 메타데이터로 태그(tag)될 수 있다. 24 fps의 재생 속력들에 대해, 이것은 매초마다 디스플레이되는 메타데이터로 태그된 1개 내지 4개의 프레임들로 작동하고; 더 빠른 재생 속력들(예컨대, 고화질 비디오에 사용된 60 fps)에 대해, 태그된 프레임 레이트는 1-4 fps로 유지될 수 있고, 태그된 프레임들의 퍼센티지는 더 낮다.
각각의 태그된 비디오 프레임에 대한 메타데이터는, 객체들 및 제품들이 프레임에 나타나는지에 무관하게, 비디오 프레임에 나타나는 사람들과 연관된 모든 객체들 및 제품들에 대한 객체 또는 제품 식별 정보(예컨대, 제품 ID들)를 포함할 수 있다. 다른 말로, 메타데이터는 프레임에 나타나지 않는 객체들 또는 제품들에 대한 객체 또는 제품 ID들을 포함할 수 있다. 예컨대, 사람의 발들 또는 하체가 비디오 프레임에 나타나지 않더라도, 메타데이터는 사람에 의해 착용된 신발 및 팬티에 관한 정보를 포함할 수 있다. 이것은, 시스템이 단지 스크린상에 나타난 아이템들 대신 사람이 착용한 모든 아이템에 관한 정보를 디스플레이함으로써 사용자 질의들, 이를테면 "What is he wearing?"에 대해 응답할 수 있게 한다.
일부 경우들에서, 메타데이터 제어기(205)는 최근 프레임들, 예컨대 지난 몇 초 또는 몇 분에 걸쳐 디스플레이된 프레임들에 관한 정보를 일시적으로 저장 또는 질의할 수 있다. 다시, 이것은, 시스템이, 사용자가 자신의 질의를 만들 때 스크린 상에 나타나지 않은 아이템들에 관한 정보를 리트리브 및 디스플레이함으로써 사용자 질의들, 이를테면 "What is he wearing?" or "What car was she driving?"에 대해 응답할 수 있게 한다.
원하는 경우, 메타데이터는 비디오에 나타나는 사람 또는 사람들과 연관된 아이템들에 관련된 아이템들에 관한 정보를 포함할 수 있다. 예컨대, 하나의 아이템이 특정 가죽 자켓이면, 메타데이터는 가죽 자켓들 또는 가죽 자켓과 또한 쌍을 이루는 액세서리들(예컨대, 부츠 및 백들)에 관한 정보를 포함할 수 있다. 유사한 아이템들은 질의 프로세스 동안 서버들과 제어기들 사이에서 전달되는 데이터의 양을 감소시키기 위해 자신의 제품 ID들에 의해 링크될 수 있다. 유사한 아이템들은 재생 이전 또는 동안 식별될 수 있다. 이들이 재생 동안 식별되면, 이들은 데이터베이스에 저장된 미리 결정된 관계들에 따라 또는 아래에 설명된 객체 인식 서버를 사용하여 구현된 하나 초과의 뉴럴 네트워크들을 동적으로 사용하여 식별될 수 있다.
아이템 메타데이터는 또한 판매용 아이템들을 제공하는 웹사이트들에 대한 링크들(예컨대, URL(uniform resource locator)들)을 포함할 수 있다. 이들 링크들은 정적일 수 있고 그리고 예컨대 인터넷 광고를 배치하기 위해 수행된 것들 같은 실시간 인터넷 경매에 응답하여 미리 또는 메타데이터가 요청될 때 할당될 수 있다. 링크들은 아이템 가용성, 가격, 관계, 또는 실시간 인터넷 경매의 결과에 기반하여 사용자를 서드 파티 웹사이트로 재지향시키는 재지향 페이지를 나타낼 수 있다.
실시간 객체 인식
도 2는 일 실시예에 따른, 실시간, 기계-기반 객체 인식을 위한 시스템을 예시하는 다이어그램이다. 시스템은 제품 메타데이터 데이터베이스(209) 및 객체 인식 서버(200)에 커플링된 제품 서버(207)를 포함한다. 제품 메타데이터 데이터베이스(209)는 비디오들과 연관된 미리 인덱싱(index)된 메타데이터를 포함한다.
제품 인식 서버(200)는 하나 초과의 그래픽 프로세싱 유닛(GPU)(213)들, 랜덤 액세스 메모리(RAM)(211), 네트워크 인터페이스(도 2에 도시되지 않음) 및 다른 적절한 하드웨어를 포함할 수 있다. 객체 인식 서버(200)는 실시간 인식 애플리케이션(210)을 구현하기 위한 프로세서 실행가능 명령들을 포함한다. 객체 인식 서버(200)에 포함된 하나 이상의 GPU들(213)은 이들 메모리 명령들을 실행한다.
사용자-요청 비디오의 이미지들은, 사용자가 비디오를 시청하는 동안, 실시간 인식 애플리케이션(210)을 사용하여 처음으로 인식될 수 있다. 동시에, 실시간 인식 애플리케이션(210)은, 비디오 지속기간 내의 시간에 대응하는 기준 타임스탬프 및 비디오의 비디오 프레임들에 포함된 객체들과 연관된 다른 적절한 정보를 포함하는, 인식된 객체들의 메타데이터를 저장할 수 있다. 따라서, 제2 사용자가 동일한 비디오를 시청하도록 요청하면, 실시간 인식 애플리케이션(210)은 비디오를 다시 분석할 필요가 없다. 따라서, 제품 서버(207)는 제품 메타데이터 데이터베이스(209)로부터 데이터를 리트리브할 수 있다.
동작 시, 제품 서버(207)는 객체 인식 서버(200)를 사용하여 실시간으로 메타데이터를 획득하고 제품 메타데이터 데이터베이스(209)로부터 미리 인덱싱된 메타데이터를 인출할 수 있다. 실시간 또는 미리 인덱싱된 메타데이터에 액세스하기 위해, 제품 서버(207)는 예컨대 도 1b를 참조하여 논의된 메타데이터 오버레이(201) 상에 제품 정보의 디스플레이를 위한 메타데이터를 리트리브하기 위해 제품 메타데이터 데이터베이스(209)에 메타데이터 요청들을 전송할 수 있다(단계 1A). 단계 1B에서, 제품 메타데이터 데이터베이스(209)는, 메타데이터가 이용가능할 때 요청된 메타데이터로 제품 서버(207)에 응답하고; 다른 경우들에서, 요청된 메타데이터가 제품 메타데이터 데이터베이스(209)에서 이용가능하지 않을 때, 제품 메타데이터 데이터베이스(209)는, 요청된 메타데이터가 발견되지 않았다는 것을 표시하는 메시지를 제품 서버(207)에 전송한다.
실시간 인식 모드에서 동작할 때, 제품 서버(207)는, 요청된 메타데이터가 제품 메타데이터 데이터베이스(209)에서 발견되지 않은 것을 표시하는 메시지를 제품 서버(207)가 수신할 때 객체 인식 서버(200)에 요청을 전송한다(단계 2A). 실시간 인식 애플리케이션(210)은, 예컨대 비디오 플레이어(107)에서 디스플레이된 비디오 프레임에 도시된 제품들, 캐릭터들, 또는 다른 적절한 엔티티들을 설명 및/또는 식별하는 메타데이터를 포함하여, 요청된 메타데이터를 생성함으로써 제품 서버(207)로부터 수신된 메타데이터 요청들에 응답한다(도 1a 및 도 1b에 도시됨; 단계 2B). 객체 인식 서버(200)는 메타데이터 오버레이(201) 상에 디스플레이를 위해 이 메타데이터를 제품 서버(207)에 전송한다(도 1b에 도시됨). 객체 인식 서버(200)는 또한 이 메타데이터를 제품 메타데이터 데이터베이스(209)에 전송할 수 있다(단계 2C). 따라서, 제품 서버(207)는 미래에 제품 메타데이터 데이터베이스(209)로부터 직접 그런 메타데이터를 리트리브할 수 있고, 이는 실시간 인식 프로그램(210)의 실행에 의해 초래되는 계산 비용들(예컨대, 프로세싱 시간, 및 GPU 작업량)을 감소시킨다.
객체 인식 서버에 대한 뉴럴 네트워크들
도 3은 일 실시예에 따른, 실시간 이미지 인식을 위한 객체 인식 서버에 의해 사용된 기계 학습 모델의 아키텍처의 예이다. 이 예는 입력 이미지(301)에 대해 동작하는 컨벌루셔널(convolutional) 뉴럴 네트워크(303)이다. 컨 벌루셔널 뉴럴 네트워크(303)는 컨벌루셔널 계층들(305A 및 305B)(집합적으로, 컨벌루셔널 계층들(305))로서 도 3에 도시된 몇몇 컨벌루셔널 계층들을 포함한다. 당업자들에 의해 쉽게 이해될 바와 같이, 컨벌루셔널 계층들(305)은 시각 자극 - 여기서, 입력 이미지(301) -에 대한 뉴런들의 응답을 에뮬레이팅(emulate)한다. 완전히 연결된 층(307)은 컨벌루셔널 계층들(305) 내의 뉴런들을 서로 연결시킨다. 이와 함께, 컨벌루셔널 계층들(305) 및 완전히 연결된 층(307)은 입력 이미지(301)에 대한 컨벌루셔널 뉴럴 네트워크의 응답을 표현하는 출력 임베딩들(309)을 생성하기 위해 입력 이미지(301)에 대해 동작한다. 예컨대, 출력 임베딩들(309)은, 특정 객체(예컨대, 의류(an article of clothing))가 입력 이미지(301)에 나타나는 가능성을 표시할 수 있다.
동작 시, 도 3에 도시된 뉴럴 네트워크(303)는 다음과 같이 실시간으로 객체들을 인식할 수 있다. 객체 인식 서버가 비디오 프레임을 수신할 때, 객체 인식 서버는 이미지를 뉴럴 네트워크의 제1 구현에 전달한다. 이런 제1 구현은 비디오 프레임에 나타나는 객체들 둘레의 경계 박스들을 식별 및 그린다. 뉴럴 네트워크의 제2 구현은 경계 박스들 내의 객체들에 대한 임베딩들을 계산한다. (대안적으로, 뉴럴 네트워크의 단일 구현은 경계 박스들 및 임베딩들을 결정할 수 있다).
객체 인식 서버는 이들 임베딩들을, 새로운 아이템들이 이용가능하게 될 때 끊임없이 업데이트되는 데이터베이스(예컨대, 제품 데이터베이스)에 저장된 임베딩들에 비교한다. 예컨대, 계산된 임베딩들, 예컨대 자켓과 저장된 임베딩들 사이의 다차원 공간의 거리를 계산할 수 있다. 제2 구현은 계산된 임베딩들에 가장 가까운 저장된 임베딩을 매칭으로서 식별한다. 객체 인식 서버는 매칭 저장된 임베딩에 대응하는 아이템(예컨대, 자켓)을 아이템(이 경우에, 자켓)으로서 식별하고 연관된 제품 ID 또는 유사한 정보를 리턴한다. 일부 경우들에서, 뉴럴 네트워크에 의해 식별된 아이템은 비디오에 나타나는 객체와 동일하고; 다른 경우들에서, 뉴럴 네트워크에 의해 식별된 아이템은 저장된 임베딩들에 의해 표현된 객체들 사이에서 비디오에 나타나는 객체와 가장 가까운(가장 유사한) 매칭이다.
뉴럴 네트워크의 제2 구현은 또한 그 다음-가장 짧은 거리(들)를 가진 저장된 임베딩(들)을 유사한 아이템(들)에 대응하는 것으로 식별할 수 있다. 원하는 경우, 객체 인식 서버는 이들 유사한 아이템들(예컨대, 유사한 자켓)을 식별하고 또한 사용자에게 디스플레이하기 위해 연관된 제품 ID들 또는 유사한 정보를 리턴할 수 있다.
뉴럴 네트워크 트레이닝, 테스팅 및 검증
실시간 이미지 인식 엔진은 기계-학습 모델(303), 이를테면 CPU, GPU 또는 다른 프로세서에 의해 구현되는 뉴럴 네트워크를 통해 구현될 수 있다. 이런 기계-학습 모델(303)은 비디오 상에 디스플레이되는 제품들, 아이템들, 캐릭터들 및 다른 적절한 엔티티들을 실시간으로 식별 또는 인식하기 위해 트레이닝, 테스팅 및 검증될 수 있다. 마찬가지로, 기계-학습 모델(303)은 비디오 상에 디스플레이된 아이템들, 캐릭터들 및 다른 적절한 엔티티들 사이의 연관들을 추론할 수 있다. 기계-학습 모델(303)은 단일 비디오 프레임 또는 비디오 세그먼트(비디오 프레임들의 시퀀스로서 정의된 비디오 세그먼트)를 입력으로 취하고, 그리고 비디오에 보여지는 아이템들의 세트를 식별할 수 있다. 기계 학습 모델(303)은 식별된 아이템들의 세트 사이의 연관 또는 관계를 추가로 추론할 수 있는 데, 예컨대 기계 학습 모델은, 식별된 아이템들의 서브세트가 비디오에 보여지는 캐릭터에 의해 착용하거나 휴대되는 것을 추론할 수 있다. 따라서, 그런 서브세트는 캐릭터와 연관된 카테고리 하에서 그룹화될 수 있다.
기계 학습 모델(303)에 입력된 데이터는 전체 이미지들 또는 큐레이팅된(curated) 이미지들(예컨대, 크롭핑된(cropped) 이미지들)인 이미지들(예컨대, 401A 및 401B)을 포함한다. 큐레이팅된 이미지들은 인간 또는 자동화 시스템에 의해 생성될 수 있다. 본래의 이미지들은 메타데이터 태깅을 요구하는 임의의 미디어 컨텐츠로부터 공급될 수 있다. 모델은 또한, 이미지가 남성인지 또는 여성인지, 또는 다른 타입의 인간인지 또는 비-인간 엔티티인지 같은 작업을 돕기 위해 부가적인 메타데이터 입력을 가질 수 있다.
트레이닝
도 4a는 기계-학습 모델(303)의 트레이닝을 예시한다. 기계-학습 모델(303)은 이미지들(401A)의 트레이닝 세트들 및 연관된 메타데이터에 대해 트레이닝될 수 있다. 이미지들은, 모델이 자신을 교정하는 데 사용하는 메타데이터로 미리 수동으로 라벨링된다(도 4 - "올바른 라벨들"(403A)). 이 메타데이터는 광범위한 카테고리화, 상세한 속성들, 유사한 이미지들의 리스팅들, 텍스트 설명들 등을 포함할 수 있다. 기계-학습 모델(303)은 트레이닝 목적들을 위해 올바른 라벨들(403A)과 함께 기계-학습 모델에 다시 공급되는 출력 임베딩들(예컨대, 뉴럴 네트워크 가중치(weight)들)(405A)을 생성한다.
테스팅 및 검증
도 4b는 기계-학습 모델(303)의 테스팅 및 검증을 예시한다. 기계 학습 모델(303)은 트레이닝 세트와 동일한 포맷을 가진 데이터에 대해 테스팅된다; 그러나, 이것은 트레이닝 동안 보이지 않는 데이터 포인트들(예컨대, 입력 이미지들(401B))에 대해 테스팅된다. 트레이닝에서와 같이, 기계-학습 모델(303)은 입력 이미지들(401B)에 응답하여 출력 임베딩들(405B)을 생성한다. 이들 출력 임베딩들(405B)은 입력 이미지들(401B)에 대한 미리 결정된 올바른 라벨들(403B)에 비교하고 그리고 기계-학습 모델(303)이 입력 이미지들(401B)의 알려진 객체들을 얼마나 잘 식별하는지를 표시하는 스코어(score)(407)를 생성하는 데 사용된다.
기계 학습 모델은 트레이닝 및 테스팅 세트와 동일한 포맷을 가진 데이터에 대해 검증된다; 그러나, 이것은 트레이닝 또는 테스팅 동안 보이지 않는 데이터 포인트들에 대해서만 검증된다. 모델을 검증하기 위해 부가적이고, 정성적인 테스팅이 행해질 수 있고, 이에 의해 모델로부터 제안된 결과들은 전체적으로 정확성을 평가하기 위해 인간 조정자들에게 보여진다.
연관들의 추론
적절히 트레이닝될 때, 모델(303)은 제품들 사이의 연관들을 이해한다. 예컨대, 이들 신발은 이 자켓과 동일한 사람에 의해 착용된다. 이것은 네트워크에 입력된 이미지들의 프리-프로세싱(pre-processing) 및 네트워크의 출력의 포스트-프로세싱(post-processing)의 조합을 통해 달성될 수 있다. 예컨대, 네트워크에 입력되기 전에, 이미지들은 사람들을 검출하도록 트레이닝된 다른 뉴럴 네트워크를 먼저 실행함으로써 세그먼트화될 수 있다. 이어서, 이들 세그먼트화된 구역들의 각각은 기계 학습 모델에 별도로 입력될 수 있고, 이들 출력들은 서로 연관된다. 프레임들에 걸쳐 이들 구역들을 연관시키기 위해, 얼굴 인식이 구역들을 서로 매칭하기 위해 이용될 수 있다. 얼굴들이 보이지 않는 경우들에서, 대안적인 휴리스틱(heuristics), 이를테면 구역들 사이의 시공간적 유사성들의 평가, 및 기계 학습 모델의 출력을 사용하여 구역들 사이의 유사성의 계산이 사용될 수 있다.
출력들
기계-학습 모델의 출력은 각각의 아이템, 예컨대 405B의 수치 임베딩 외에, 상이한 아이템들을 에워싸는 경계 박스들(예컨대, 도 5에 도시된 경계 박스(501))의 세트이다. 이어서, 이들 출력들은 캐릭터에 의해 그룹화된 미디어에 있는 모든 의상의 최종 리스팅을 생성하기 위해 위에서 논의된 프리- 및 포스트-프로세싱과 결합된다.
오버레이드 비디오 플레이어 사용자 인터페이스
오버레이드 비디오 플레이어는, 비디오 컨텐츠의 소비자들이 비디오를 시청할 때, 어떤 제품들이 실시간으로 비디오에 나타나는지를 알게 하는 방법을 제공한다. 이는, 도 1a, 도 2 및 도 3에 도시된 시스템들 및 도 1b, 도 4a 및 도 4b에 예시된 방법들을 사용하여 구현될 수 있다. 동작 시, 오버레이드 비디오 플레이어는 도 6-도 12에 도시된 인터페이스들에 대해 아래에 설명된 바와 같이 사용자로부터의 커맨드 또는 질의에 응답하여 비디오에 나타나는 하나 초과의 객체들에 관한 메타데이터를 디스플레이한다.
일 예로서, 오버레이드 비디오 플레이어는 텔레비전 쇼의 웹사이트(예컨대, 도 6a에 도시된 비디오) 상에 구현될 수 있고, 여기서 사용자들은 그들의 선호하는 효들의 클립들 및 전체-길이 비디오들을 시청할 수 있다. 텔레비전 스튜디오는 오버레이드 비디오 플레이어를 가능하게 하는 코드를 부가하였고, 사용자는 그 위의 플레이어로 페이지에 도달한다(도 6a). 비디오는 자동으로 또는 사용자가 플레이 버튼을 누를 때 플레이하기 시작한다(도 6a에 도시되지 않음).
사용자가 그의 커서를 비디오 플레이어 영역으로 이동시킬 때, 제품 인셋(Product Inset)(601)이 나타나고, 비디오 영역 또는 비디오 영역 바로 옆에 오버레이된다(도 6b). 커서를 갖지 않는 디바이스들(예컨대, 모바일 앱들)에서, 비디오 일시중지 또는 특정 키누름은 제품 인셋을 호출할 수 있다. 대안적으로, 임의의 종류의 디바이스에서, 제품 인셋은 (코드의) 컨텐츠 제공자에 의해 항상 나타나게 하도록 설정될 수 있어서, 사용자가 호출할 필요가 없다.
제품 인셋은 비디오의 대응 시간에서 프레임에 나타나는 제품과 매칭하는 제품 이미지들을 실시간으로 디스플레이한다. 이를 가능하게 하기 위해, 쇼핑 피처를 가능하게 하기 전에, 관련 제품 정보는 메타데이터 제공자에 의해 메타데이터 서버의 데이터베이스에 부가된다. 데이터베이스에서, 비디오의 모든 프레임(또는 설정 간격, 예컨대 매 15번째 프레임의 모든 프레임)은 주어진 프레임에 나타나는 제품들(그리고 대응하는 제품 정보, 이를테면 이미지들, 가격, 구매 링크 등)과 연관될 수 있다. 프레임(및 제품들)이 비디오에 나타날 때의 타임스탬프는 또한 데이터베이스에 유지되어, 코드는 실시간으로 제품들을 디스플레이할 수 있다. 이 예에서, 남성 캐릭터가 착용한 티셔츠는 제품 인셋에 보여질 수 있다. 제품 이미지는 제품의 실제 이미지일 필요가 없다; 이는 스크린 상에 보여지는 제품을 표현하기 위한 무언가(예컨대, 텍스트, 아이콘 또는 그림)일 수 있다. 이 예에서, 비디오가 플레이 중인 동안, 한 번에 하나의 제품 이미지만이 제품 인셋에 보여진다. 프레임에 하나 초과의 제품이 있다면, 다른 제품들은 제1 제품 아래에 적층되고 부분적으로 뷰로부터 숨겨진다.
이 예에서, 제품 인셋은 현재 비디오 프레임에 나타나는 하나의 제품만을 보여주고 - 비디오 플레이 중이고 인셋 내의 제품이 현재 프레임에 더 이상 나타나지 않을 때, 새로운 프레임에 나타나는 제품으로 변화한다. 예컨대, 백색 티셔츠의 남성 캐릭터가 프레임에 더 이상 나타나지 않으면, 티셔츠는 제품 인셋에 더 이상 나타나지 않을 수 있다. 코드는, 어느 프레임/어떤 시간에 비디오 플레이가 플레이하는지를 인식하고, 그리고 데이터베이스로부터 적합한 프레임의 제품 정보를 끌어와 이를 스크린 상에 디스플레이할 수 있다. 비디오의 모든 단일 프레임이 데이터베이스에 부가되지 않기 때문에(예컨대, 매 12 프레임들일 수 있음), 주어진 프레임에 대한 제품 인셋에 보여지는 제품은 이에 결부된 제품 정보를 가진 가장 가까운, 이전 또는 다음 프레임에 대한 제품 정보일 수 있다. 현재 프레임에 어떠한 제품들도 없으면, 제품 인셋은 어떠한 제품 이미지들도 보여주지 않는다. 대안적으로, 보여지는 마지막 제품 이미지는, 새로운 제품이 프레임에 나타나고 이전 제품을 대체할 때까지 제품 인셋에 남아 있을 수 있다 - 이것은 제품 인셋에 항상 제품이 나타나는 것을 보장할 것이다.
사용자는 프레임에서 제품들을 보기 위해 상호작용할 수 있다. 이것은 제품 인셋(601) 상에 커서를 (데스크톱 디바이스들 상에서) 호버링(hovering)하거나, 비디오 자체를 클릭/탭핑(tap)하거나, 또는 쇼핑을 가능하게 하는 전용 버튼을 클릭함으로써 행해질 수 있다. 숨겨진 적층 제품들은 확대되고 보이게 된다(도 6c). 확대된 제품들은 각각의 그룹 위에 배우 또는 캐릭터 이름(예컨대, 606)과 함께 의복(예컨대, 605)에 의해 그룹화될 수 있다. 이 예에서, 티셔츠(608) 제품 이미지 위의 호버링은 티셔츠, 청바지 및 부츠를 포함하여 605에서 전체 의상을 보여주도록 제품들을 확대한다. 그의 의상 아래에서, 당신은 다른 캐릭터(Leigh)의 탑(top)과 자켓을 볼 수 있고, 하향 스크롤링(scrolling)은 그녀의 의상의 나머지를 드러낼 것이다.
최상부 제품(608)(티셔츠)은 대응 제품 세부사항 컨테이너(Product Details Container)(603)를 보여주도록 확대된다. 제품 세부사항 컨테이너(603)는 그 제품에 관한 세부사항들을 디스플레이하고, 또한 하나 초과의 대안 제품들을 포함할 수 있다. 이 정보는 메타데이터 데이터베이스에 저장될 수 있다. 이 예에서, 티셔츠(608)는 J. Crew에 의한 것이고 비용이 $24.50이며, 상이한 가격들을 가진 2개의 대안 티셔츠 제품들이 보여진다. 제품 및 대안 제품들에 대한 세부사항들은 제품 이미지, 상표명, 제품명, 가격/재고 상태, 소매점 이름, 디자이너 이름, 제품 타입 또는 설명을 포함할 수 있다. 이는 또한, 제품이 비디오에 보여지는 제품과 정확하거나 밀접한 매칭인지를 나타내기 위한 라벨을 포함한다(이 예에서, J. Crew 티셔츠는 정확한 매칭임). 이는 또한, 제품 또는 대안 제품들에 관한 더 많은 정보를 구매하거나 얻거나, 또는 가상 쇼핑 카트에 부가하기 위한 액션 버튼(action button)에 대한 호출을 포함할 수 있다(이 경우에, 제품을 구매하기 위해, 버튼 상에 가격을 가진 버튼이 보여짐). 대안 제품(들)은 유사한 제품(예에서 2개의 유사한 티셔츠 같은), 상이한 소매점으로부터의 동일한 제품, 관련 제품 또는 임의의 제품일 수 있다.
일부 예들에서, 제품 정보 데이터 모두는 미리 데이터베이스에 부가된다. 데이터의 일부 부분들은 동적으로 생성되고 메타데이터 데이터베이스에 부가될 수 있다. 예컨대, 이미지 인식은 프레임 내의 제품들을 식별하는 데 사용되고 제품들의 다른 내부 데이터베이스 또는 소매점 API들로부터 선택된, 가장 가까운 매칭을 제공할 수 있다. 대안 제품들은 또한 다양한 특성들(예컨대, 이름, 컬러, 가격, UPC 번호 등)에 자동으로 기반하는 대안 제품들을 선택하는 서드 파티 API(또는 내부 시스템)로부터 리트리브될 수 있다. 제품 및 대안 제품들에 대한 다른 속성들, 이를테면 가격 및 재고 데이터는 또한 메타데이터 데이터베이스에 동적으로 업데이트될 수 있다.
사용자가 다른 제품 이미지를 호버링/태핑할 때, 임의의 개방 제품 세부사항 컨테이너는 숨겨질 것이고 새로운 대응 제품 세부사항 컨테이너가 보여지게 될 것이다(예컨대, 도 6d의 607). 이 예에서, 사용자는 Trace의 청바지 상으로 호버링하고, 그리고 청바지에 관한 정보가 디스플레이된다.
확대된 제품들이 비디오 플레이어의 맨 아래를 지나 확장되면, 스크롤링하여 더 많은 것을 볼 수 있다. 데스크톱 상에서, 이는 마우스 또는 트랙패드 상의 스크롤 휠을 사용하여, 또는 커서를 비디오 플레이어의 바닥으로 이동시킴으로써 달성될 수 있고, 확대된 제품들은 상향으로 이동할 것이다. 모바일에서, 사용자는 더 많은 것을 보기 위해 제품 이미지들을 위쪽 및 아래로 드래그(drag)할 수 있다. 양쪽 플랫폼들에서, 인터페이스는 또한 스크롤링하기 위해 클릭/태핑될 수 있는 확대된 제품 리스트 위 및 아래에 위쪽 및 아래쪽 화살표들을 가질 수 있다.
확대된 제품들은 또한 현재 프레임으로부터의 제품들 아래의 이전 프레임들로부터의 제품들 또는 의상을 보여줄 수 있다. 이는, 컨텐츠 제공자 또는 서드 파티 오버레이드 비디오 서비스가 코드에서 설정하도록 선정할 수 있는 무언가이다. 이것은, 사용자들이 그 특정 프레임으로 거꾸로 탐색할 필요 없이 이전 의상을 보게 허용한다. 이것은, 비디오에 많은 제품들이 없을 때 유용할 수 있지만, 많을 때 혼동을 줄 수 있다.
제품 인셋에 대한 다른 변형에서, 뷰로부터 숨겨진 다른 제품들을 가진 하나의 제품 이미지만을 보여주기보다, 컨텐츠 제공자 또는 서드 파티 오버레이드 비디오 서비스는 제품 인셋에 프레임에 대한 제품 이미지들 중 하나 초과(또는 모두)를 노출시키도록 코드를 설정할 수 있다. 그 내부에 하나 초과의 제품 이미지를 가진 제품 인셋은 비디오 재생 동안 항상 보여질 수 있거나, 또는 위에서 언급된 방식들로 비디오를 일시중지할 때 보여지게 될 수 있다.
제품 세부사항 컨테이너의 엘리먼트들을 클릭킹/태핑하는 것은 제품 또는 대안 제품들에 관한 더 많은 정보를 구매 또는 얻기 위해 서드 파티 웹사이트를 개방할 수 있다(도 6e). 이 예에서, $17.70 버튼을 클릭하는 것은 사용자를 Amazon.com으로 보내고, 여기서 사용자는 청바지를 구매할 수 있다.
제품 세부사항 컨테이너는, 사용자가 컨테이너로부터 멀리 호버링하거나(데스크톱 상에서) 또는 컨테이너의 외측을 태핑하거나(모바일에서), 또는 플레이 버튼을 클릭/태핑할 때(비디오가 현재 일시중지된 경우) 축소되고 이어서 제품 인셋 내의 제품들은 하나의 제품만을 보여주기 위해 스택(stack)으로 축소된다. 제품 인셋은, 마우스가 정의된 시간 기간 동안 비디오 플레이어 위에서 상호작용하지 않은 후(또는 사용자가 비디오를 태핑하지 않음) 사라진다. 대안적으로, 제품 인셋은 지속성 있게 계속 보일 수 있다. 제품 인셋에 대한 초기 호버링/태핑 이전 비디오가 일시중지된 상태이면, 비디오는 일시중지된 채로 있는다.
오버레이드 비디오 플레이어 인터페이스는 또한 스틸(still) 이미지들 또는 애니메이션화된 gif들에 적응될 수 있고 - 이는 텔레비전 쇼 또는 영화에 대한 홍보 또는 설정 이미지, 임의의 사람 또는 유명 인사의 사진, 또는 거리 패션 사진일 수 있다. 이 예(도 6f)에서, 패션 갤러리는 인터페이스를 사용하여 만들어졌다.
인접 레이아웃
인접 레이아웃은, 비디오 컨텐츠의 소비자들이 비디오에 어떤 제품들이 나타나는지 알 수 있는 방법을 제공하는 다른 인터페이스이다. 오버레이드 비디오 플레이어 인터페이스가 비디오 플레이어 내측에 위치되는 반면, 인접 레이아웃은 통상적으로 비디오 플레이어의 외측에 위치된다. 이는, 이들 이미지들에 나타나는 제품들에 관한 스틸 이미지들 및 세부사항들의 조합이다. 데스크톱 및 모바일 사용자들에 대한 경험은 상이하다. 오버레이드 비디오 플레이어와 같이, 인접 레이아웃 인터페이스는 도 1a, 도 2 및 도 3에 도시된 시스템들 및 도 1b, 도 4a 및 도 4b에 예시된 방법들을 사용하여 구현될 수 있다.
데스크톱 경험
일 예로서, 인접 레이아웃은 텔레비전 쇼의 웹사이트 상에 구현될 수 있고, 여기서 사용자들은 그들의 선호하는 쇼들의 클립들 및 전체-길이 비디오들을 시청할 수 있다. 텔레비전 스튜디오는 인접 레이아웃을 가능하게 하는 코드를 부가하였고, 사용자는 그 위의 인접 레이아웃으로 페이지에 도달한다(도 7a). 이것은 또한, 위에 오버레이드 비디오 플레이어 인터페이스를 가진 페이지일 수 있고 - 2개의 사용자 인터페이스들이 동일한 페이지 상에 사용될 수 있다. 도 7a에 도시된 인접 레이아웃은 비디오 프레임으로부터 추출된 비디오 스틸 이미지(703)를 포함한다. 실시간 인식 엔진(209)(도 2에 도시됨)은, 캐릭터가 "Abby O'Brien"이고 헤딩(heading)(701) 상에 그녀의 이름을 디스플레이하는 것을 인식한다. 마찬가지로, 실시간 인식 엔진(209)은 "Abby O'Brien"가 착용하고 있는 의상을 결정하고 제품 이미지 섹션(705)에 의상 아이템들을 디스플레이할 수 있다.
하나 이상의 의상은 페이지 상에 디스플레이된다(도 7b). 각각의 의상은 의상 이미지를 포함한다. 이것은 비디오 프레임 프레임으로부터 유도된 스틸 이미지(크롭핑되거나 크롭핑되지 않음)일 수 있고 - 이 예에서, 이는, 캐릭터들 중 하나의 크롭핑된 비디오 스틸(703에 도시됨)이다. 그러나, 이는, 내부에 하나 초과의 제품들을 가진 임의의 종류의 이미지(또는 짧은 비디오 클립/애니메이션화된 gif)일 수 있다. 예컨대, 이는 텔레비전 쇼 또는 영화에 대한 홍보 또는 설정 이미지, 임의의 사람 또는 유명 인사의 사진, 또는 거리 패션 사진이다. 각각의 의상은 또한 개별 스틸 이미지에 관련된 제품 이미지들의 세트, 예컨대 Burberry watch(708)를 포함한다. 제품 이미지들은 또한 다음 정보(상표명, 제품명 및 가격/재고 상태) 중 일부 또는 모두를 포함할 수 있다. 이 경우에, 제품 이미지들은 그들 아래에 상표명들을 가지게 보여진다. 일부 다른 경우들에서, 각각의 제품 이미지는, 제품이 의상 이미지에 보여진 실제 제품과 정확하거나 밀접한 매칭인지를 도시하는 라벨을 가질 수 있다. 이는 또한, 제품 또는 대안 제품들에 관한 더 많은 정보(707)를 구매하거나 얻거나, 또는 가상 쇼핑 카트에 부가하기 위한 액션 버튼에 대한 호출을 포함할 수 있다. 이들 엘리먼트들 외에, 헤딩은 배우 이름, 캐릭터 이름, 비디오 이름, 쇼 이름, 시즌 및/또는 에피소드를 포함하는 정보와 함께 각각의 의상 위에 배치될 수 있고 - 이 경우 캐릭터의 이름(Abby O'Brien)은 701에 포함된다.
제품 이미지 위에 호버링하는 것은 그 제품에 관한 더 많은 정보에 대해 클릭하기 위한 버튼으로 오버레이를 호출할 수 있다(도 7b). 이 예에서, Club Monaco 코트 상에 호버링하는 것은 더 많은 정보 버튼(707)을 드러낸다. 대안적으로, 제품 이미지를 직접 클릭하는 것은 동일한 기능성을 가질 수 있다. 이들 액션들 둘 모두는 제품 세부사항 박스가 나타나게 한다.
제품 세부사항 박스(713)(도 7c)는 선택된 제품(이 예에서 Club Monaco 코트(709))에 관한 부가적인 세부사항들을 디스플레이한다. 이는, 다음 정보(상표명, 제품명, 소매점 이름, 디자이너, 제품 타입, 설명, 가격/재고 상태 및 정확한/밀접한 매칭 라벨) 중 일부 또는 모두를 포함한다. 이는 또한 제품에 관한 더 많은 정보를 구매하거나 도는 얻거나, 또는 가상 쇼핑 카트에 부가하기 위한 액션 버튼에 대한 호출을 포함할 수 있다. 이 예에서, 액션에 대한 호출은 $239.00 가격을 가진 버튼이다.
제품 세부사항 박스(713)는 또한 하나 초과의 대안 제품들, 예컨대 710A, 710B 및 710C를 포함할 수 있다. 대안 제품들에 대한 세부사항들은 제품 이미지, 상표명, 제품명, 가격/재고 상태, 소매점 이름 또는 설명을 포함할 수 있다. 이는 또한, 대안 제품들에 관한 더 많은 정보를 구매하거나 얻거나, 또는 가상 쇼핑 카트에 부가하기 위한 액션 버튼에 대한 호출을 포함할 수 있다. 대안 제품(들)은 유사한 제품, 상이한 소매점으로부터의 동일한 제품, 관련 제품(예컨대, 711) 또는 임의의 제품일 수 있다. 이 예에서, 3개의 유사한 스타일들이 대안 제품들로 보여진다.
제품 세부사항 박스가 개방될 때, 의상 이미지는 의상 제품에 대한 맥락을 제공하기 위해 계속 보여질 수 있다. 이는 또한 의상에서 다른 제품들의 이미지들을 포함할 수 있다. 이 예에서, 이들은 제품 세부사항 박스의 우측 상에 보여진다. 코트는 선택된 이후 페이드 아웃(fade out)되고, 그리고 사용자들은 의상에서 다른 제품들을 클릭할 수 있다. 의상에서 다른 제품을 클릭하는 것은 제품 정보(대안 제품들을 포함함)를 새롭게 선택된 제품에 관련된 정보로 대체한다(도 7d). 이 예에서, 사용자는 립스틱(715)을 클릭하였고, 그 제품에 대한 정보는 코트에 관한 정보를 대체하였다.
제품 세부사항 박스 내의 엘리먼트들을 클릭킹하는 것은 제품 또는 대안 제품들에 관한 더 많은 정보를 구매 또는 얻기 위해 서드 파티 웹사이트를 개방할 수 있다(도 7e). 이 예에서, 사용자는 Dermstore 웹사이트에서 구매를 완료하도록 유도하는 립스틱 밀접 매칭 버튼을 클릭하였다.
인접 레이아웃의 더 복잡한 구현에서, 하나 초과의 의상이 동일한 페이지 상에 디스플레이될 수 있다(도 7f). 이 예에서, 코트를 입은 Abby의 의상(717)이 먼저 디스플레이되고, 그 아래에 Trace의 의상(719)이 디스플레이된다. 하나 초과의 의상이 디스플레이될 때, 사용자는 배우, 캐릭터, 영화, 쇼, 에피소드 및 패션 카테고리를 포함하는 다양한 상이한 속성들에 의해 의상을 필터링하기 위한 옵션을 가질 수 있다. 이 예에서, 사용자가 윈도우의 상단에서 Trace의 이미지(721)를 클릭하면, 그에게 속한 의상만으로 의상을 필터링한다(도 7g).
모바일 경험
인접 레이아웃에 대한 대안적인 설계는 통상적으로 모바일 디바이스들에 사용된다. 일 예로서, 인접 레이아웃 모바일 경험은 텔레비전 쇼의 웹사이트 또는 소프트웨어 애플리케이션 상에 구현될 수 있고, 여기서 사용자들은 그들의 선호하는 쇼들의 클립들 및 전체-길이 비디오들을 시청할 수 있다. 텔레비전 스튜디오는 인접 레이아웃을 가능하게 하는 코드를 부가하였고, 사용자는 그 위의 인접 레이아웃으로 페이지에 도달한다(도 8a). 이것은 또한, 위에 오버레이드 비디오 플레이어 인터페이스를 가진 페이지일 수 있고 - 2개의 사용자 인터페이스들이 동일한 페이지 상에 사용될 수 있다.
하나 초과의 의상 카드들(도 8a)이 페이지 상에 디스플레이된다. 각각의 의상 카드는, 이 예에서 비디오 프레임으로부터 유도된 크롭핑된 스틸 이미지(크롭핑되거나 크롭핑되지 않음)이지만, 임의의 이미지 일 수 있는 의상 이미지(801)를 포함한다. 이는 또한, 2개의 타입들의 버튼들(의상 이미지 버튼(801) 및 하나 초과의 제품 이미지 버튼들(803))을 포함하는 네비게이션 섹션을 포함한다. 먼저 의상을 로딩할 때, 의상 이미지 버튼은, 의상 이미지가 디스플레이되는 중인 것을 나타내기 위해 선택된다.
805에서 제품 이미지 버튼을 태핑하는 것은 의상 이미지를 개별 제품 세부사항 카드(806)로 대체할 것이다(도 8b). 제품 세부사항 카드들은 또한 제품 세부사항 카드들을 통해 순차적으로 네비게이팅하고, 마지막 제품 세부사항 카드에 도달한 후 의상 이미지로 다시 루핑하는, 의상에 대한 좌측 또는 우측 스와이핑(swiping)에 의해 액세스될 수 있다. 이 예에서, 사용자는 제1 제품 이미지 버튼, 즉 코트를 태핑하고, 이어서 코트 정보를 제품 세부사항 카드(806)로 로딩한다.
제품 세부사항 카드는 선택된 제품에 관한 세부사항들을 디스플레이한다. 이는, 다음 정보(상표명, 제품명, 소매점 이름, 디자이너, 제품 타입, 설명, 가격/재고 상태 및 정확한/밀접한 매칭 라벨) 중 일부 또는 모두를 포함한다. 이는 또한 제품에 관한 더 많은 정보를 구매하거나 도는 얻거나, 또는 가상 쇼핑 카트에 부가하기 위한 액션 버튼에 대한 호출을 포함할 수 있다. 이 예에서, $239.00 가격을 가진 버튼이 포함된다. 이는 또한 하나 초과의 대안 제품들을 포함할 수 있다. 대안 제품들에 대한 세부사항들은 제품 이미지, 상표명, 제품명, 가격/재고 상태, 소매점 이름 또는 설명을 포함할 수 있다. 이는 또한, 대안 제품들에 관한 더 많은 정보를 구매하거나 얻기 위한 액션 버튼에 대한 호출을 포함할 수 있다. 대안 제품은 유사한 제품, 상이한 소매점으로부터의 동일한 제품, 관련 제품 또는 임의의 제품일 수 있다.
제품 세부사항 박스 내의 엘리먼트들을 클릭킹하는 것은 제품 또는 대안 제품들에 관한 더 많은 정보를 구매 또는 얻기 위해 서드 파티 웹사이트를 개방할 수 있다(도 8c). 이 예에서, 사용자는 코트에 대한 $1,050.00 가격 버튼을 클릭하였고, 이는 matchesfashion.com 웹사이트를 개방하여 그들의 구매를 완료시킨다.
하나 초과의 의상은 페이지 상에 디스플레이된다(도 8d). 이 예에서, 코트를 입은 Abby의 의상(807)이 먼저 디스플레이되고, 그 아래에 Trace의 의상(809)이 디스플레이된다. 하나 초과의 의상이 디스플레이될 때, 사용자는 디스플레이된 의상을 필터링하기 위한 옵션을 가질 수 있다. 의상은 배우, 캐릭터, 영화, 쇼, 에피소드, 패션 카테고리를 포함하는 다양한 상이한 속성들에 의해 필터링될 수 있다. 이 예에서, 사용자가 윈도우의 상단에서 Trace의 이미지(811)를 태핑하면, 그에게 속한 의상만으로 의상을 필터링한다(도 8e).
일반 통합(데스크톱 및 모바일)
인접 레이아웃은 다양한 페이지들 상에 디스플레이될 수 있다. 이는, 오버레이드 비디오 플레이어 - 통상적으로 비디오 아래에 있음 -로서 동일한 페이지 상에 디스플레이될 수 있다. 이는, 일반(비-) 비디오로서 동일한 페이지 상에 디스플레이될 수 있다. 또는 이는, 비디오 플레이어 없이 페이지 상에 디스플레이될 수 있다.
인접 레이아웃은 또한 다른 타입들의 비디오 플레이어들 내에 통합될 수 있다. 하나 초과의 의상은 비디오 동안의 특정 시간 - 통상적으로 비디오 광고 이전 또는 이후, 또는 비디오의 종료 시 -에 비디오 플레이어 내에 디스플레이될 수 있다(도 9a). 이 예에서, Trace 의상 중 하나는 비디오의 종료 시 디스플레이된다. 이것은, 사용자가 비디오 동안 쇼핑하는 것을 원하지 않고 오히려 종료 시에 쇼핑하는 경우 유용하다. 사용자는 그 비디오로부터 더 많은 의상을 시청하기 위해 다음 및 이전 버튼들을 사용할 수 있다.
비디오 플레이어 내에 통합된 인접 레이아웃의 다른 버전은 듀얼 뷰 쇼핑(Dual View Shopping)이다(도 9b). 비디오 재생 중 임의의 시각에, 비디오는 이 뷰에 입장하게 할 수 있다. 시청 영역은 2개의 영역들로 분할된다 - 하나의 영역은 비디오 플레이어를 보여주고 다른 영역은 인접 레이아웃을 보여준다. 듀얼 뷰 쇼핑은 비디오의 설정된 시간에 호출될 수 있거나, 또는 비디오 상의 전용 버튼을 클릭킹/태핑함으로써 사용자에 의해 호출될 수 있다. 이 예에서, 비디오는 좌측에 나타나고, 쇼핑은 우측에 나타난다. 하나의 사용 경우는, 사용자가 그들의 데스크톱 디바이스 상에서 비디오 전체-스크린을 시청할 때, 비디오의 종료에 있는 크레딧(credit)들 동안 듀얼 뷰 쇼핑을 자동으로 호출하는 것이다. 크레딧들 및 비디오는, 사용자가 인접 레이아웃을 사용하여 쇼핑하는 동안 계속 플레이할 수 있거나, 일시정지될 수 있다.
데스크톱 및 모바일 애플리케이션들에 대한 인터페이스
도 10a-도 10c는 도 1a, 도 2 및 도 3에 도시된 시스템들 및 도 1b, 도 4a 및 도 4b에 예시된 방법들로 구현될 수 있는 비디오의 플레이바를 가진, 데스크톱 및 모바일 디바이스들, 이를테면 스마트폰들 및 태블릿들에 대한 다른 인터페이스를 예시한다. 이 인터페이스는 위에서 논의된 오버레이보다 한 눈에 더 많은 정보를 보여준다. 도 10a는, 컴퓨터, 스마트폰, 또는 태블릿 상에서 플레이할 때 나타나는 인터페이스 없이 비디오를 보여준다. 스마트폰 또는 태블릿 터치스크린 상의 스크린의 객체 또는 소정 구역을 태핑하거나 데스크톱 또는 랩톱 상의 커서로 스크린 상의 객체 또는 소정 구역 위에 호버링하는 것은, 도 10b에 도시된 바와 같이 비디오가 계속 플레이하는 동안 플레이바(1001) 및 제품 메타데이터(1003)가 나타나게 한다. (일반적으로, 제품 메타데이터(1003)는 플레이바(1001)와 함께 나타나고 사라진다). 제품 메타데이터(1003)는 현재 시간에 스크린 상에 보여지는 제품들에 관한 정보를 포함한다. 제품들은, 플레이바(1001)가 사라질 때까지 변화하지 않고 스크린 상에 남아있을 수 있고(이는 몇 초의 무행동 이후 또는 모바일 디바이스 상에서, 터치스크린을 태핑함으로써 발생할 수 있음), 그리고 다시 호출된다. "비디오 탐색" 버튼(1007)을 클릭하는 것은 위에서 설명된 인접 레이아웃으로 전이시킨다.
도 10c는 제품 메타데이터(1003) 내의 제품 버블(bubble)을 태핑함으로써 호출되는 제품 세부사항 뷰(1007)를 도시한다. 제품 세부사항 뷰(1007)는, 비디오가 디스플레이 상에서 계속 플레이하는 동안, 선택된 제품에 대한 상세한 제품 정보를 보여준다. 제품 세부사항 뷰 또는 비디오의 상부 우측에 있는 "X"를 태핑하는 것은 제품 세부사항 뷰(1007)를 닫는다. 사용자는 예컨대 방향 및 제품들을 선택하기 위한 화살표 키들, 오버레이를 가져오기 위한 엔터 키, 뒤로 가기 위한 시프트 키를 가진 키보드 또는 키패드를 사용하여 제품 세부사항 뷰(1007)를 네비게이팅할 수 있다. 마이크로폰들을 가진 데스크톱들 및 모바일 디바이스들은 또한 음성 커맨드들에 응답할 수 있다. "V" 키를 누르는 것은 마이크로폰을 활성화한다. 적절한 커맨드들 및 질의들은 "What X is that?", "What is X wearing?", "What are they wearing?", 및 "Shop the movie."(그러나 이에 제한되지 않음)을 포함한다.
음성 제어부를 가진 스마트 텔레비전 인터페이스
도 11a-도 11d는 도 1a, 도 2 및 도 3에 도시된 시스템들 및 도 1b, 도 4a 및 도 4b에 예시된 방법들로 구현될 수 있는 음성 제어부를 가진 스마트 텔레비전 인터페이스를 예시한다.
사용자는 예컨대 반드시 인터페이스를 보지 않고도 스마트 텔레비전 상에서 비디오를 시청할 수 있다(도 11a). 사용자는 스마트 텔레비전을 제어하는 원격 제어부 또는 다른 디바이스 상의 전용 버튼을 누름으로써 오버레이드 비디오 플레이어 인터페이스(1101)를 활성화할 수 있다(도 11b). 오버레이드 비디오 플레이어 인터페이스(1101)에 보여지는 제품들 또는 아이템들은, 사용자가 오버레이드 비디오 플레이어 인터페이스(1101)를 활성화할 때 스마트 텔레비전 상에 디스플레이된 제품들 또는 아이템들에 대응한다. 일부 경우들에서, 오버레이드 비디오 플레이어에 보여지는 제품들 또는 아이템들은 정적으로 있지만, 비디오는, 사용자가 오버레이드 비디오 플레이어 인터페이스를 제거하거나 없애기 위해 원격 제어부를 통해 다른 커맨드를 전송할 때까지 계속 플레이된다. 사용자는 예컨대 아래에 논의되는 인접 레이아웃 인터페이스를 전이시키기 위해 탐색 비디오 버튼을 누를 수 있다. 사용자는 원격 제어부를 통해 활성화된 포인터 또는 커서를 통해 오버레이드 비디오 플레이어 인터페이스 상에 디스플레이되는 제품들 또는 아이템들을 통해 네비게이팅할 수 있다.
디스플레이된 제품 또는 아이템의 이미지(1103)는, 사용자가 그런 이미지 위에 포인터 또는 커서를 호버링할 때 확대될 수 있다(도 11c). 사용자는 원격 제어부 상의 화살표 키들 또는 방향 패드를 사용하여 부가적인 아이템들 또는 제품들을 시청하기 위해 오버레이드 비디오 플레이어 인터페이스(1101) 상에서 좌측 또는 우측으로 스크롤링할 수 있다. 사용자는 원격 제어부 상의 엔터 버튼을 누름으로써 오버레이드 비디오 플레이어 인터페이스 상에 디스플레이되는 특정 제품 또는 아이템을 선택할 수 있다. 이것은, 오버레이드 비디오 플레이어 인터페이스가 유사한 객체(1105A 및 1105B)의 제품 세부사항들 및 이미지들을 디스플레이하게 한다(도 11d). 사용자는 원격부 상의 전용 키를 누르거나 또는 선택된 제품을 지나 좌측 또는 우측으로 계속 네비게이팅함으로써 구매를 위해 선택된 아이템을 카트에 부가하고 그리고/또는 확대된 인터페이스를 닫을 수 있다.
도 12a-도 12c는 도 11a-도 11d의 인터페이스를 갖는 음성 제어부를 예시한다. 이들은, 오버레이드 비디오 플레이어 인터페이스가 어떻게 원격 제어부 또는 스마트 텔레비전 내에 있거나 동작가능하게 커플링된 마이크로폰을 사용하여 수신된 음성 커맨드 또는 질의를 통해 활성화될 수 있는지를 보여준다. 도 12a는, 마이크로폰이 활성이고 사용자로부터 음성 커맨드 또는 질의를 수신할 준비가 될 때 스마트 텔레비전에 의해 디스플레이된 "듣기" 프롬프트를 보여준다. 이들 질의들은 고유, 예컨대 "Which brown bag is she carrying?", 또는 더 일반적으로 예컨대 "What is he wearing?"일 수 있다. 음성 커맨드 또는 질의를 수신하는 것에 응답하여, 오버레이드 비디오 플레이어 인터페이스는 도 12b에서와 같이 음성 커맨드 또는 질의를 스마트 텔레비전 상에 디스플레이되는 텍스트로 변환한다. 오버레이드 비디오 플레이어 인터페이스는 도 12의 음성 커맨드를 실행하고 음성 커맨드를 통해 요청된 아이템 또는 제품에 관한 정보를 디스플레이한다.
결론
다양한 본 발명의 실시예들이 본원에 설명 및 예시되었지만, 당업자들은 기능을 수행하고 그리고/또는 본원에 설명된 결과들 및/또는 장점들 중 하나 초과를 획득하기 위한 다양한 다른 수단 및/또는 구조들을 쉽게 구상할 것이고, 그리고 그런 변형들 및/또는 수정들 각각은 본원에 설명된 본 발명의 실시예들의 범위 내에 있는 것으로 간주된다. 더 일반적으로, 당업자들은, 본원에 설명된 모든 파라미터들, 치수들, 재료들 및 구성들이 예시적인 것을 의미하고 실제 파라미터들, 치수들, 재료들 및/또는 구성들이, 본 발명의 교시들이 사용되는 특정 애플리케이션 또는 애플리케이션들에 의존할 것이라는 것을 쉽게 인지할 것이다. 당업자들은 단지 루틴 실험을 사용하여, 본원에 설명된 특정한 본 발명의 실시예들에 대한 많은 균등물들을 인식할 것이거나, 또는 확인할 수 있다. 그러므로, 전술한 실시예들이 단지 예로써 제시되고 첨부된 청구항들의 범위 및 이에 대한 등가물들 내에서, 본 발명의 실시예들이 구체적으로 설명 및 청구된 것과 다르게 실시될 수 있다는 것이 이해될 것이다. 본 개시내용의 본 발명의 실시예들은 본원에 설명된 각각의 개별 피처, 시스템, 물품, 재료, 키트(kit) 및/또는 방법에 관련된다. 게다가, 2개 초과의 그런 피처들, 시스템들, 물품들, 재료들, 키트들 및/또는 방법들이 상호 불일치하지 않으면 그런 피처들, 시스템들, 물품들, 재료들, 키트들 및/또는 방법들의 임의의 조합은 본 개시내용의 본 발명의 범위 내에 포함된다.
위에서 설명된 실시예들은 다수의 방법들 중 임의의 방법으로 구현될 수 있다. 예컨대, 본원에 개시된 기술을 설계 및 만드는 실시예들은 하드웨어, 소프트웨어 또는 이들의 조합을 사용하여 구현될 수 있다. 소프트웨어로 구현될 때, 소프트웨어 코드는, 단일 컴퓨터에 제공되든 다수의 컴퓨터들 사이에 분배되든, 임의의 적절한 프로세서 또는 프로세서들의 콜렉션 상에서 실행될 수 있다.
추가로, 컴퓨터가 다수의 형태들, 이를테면 랙-장착 컴퓨터, 데스크톱 컴퓨터, 랩톱 컴퓨터 또는 태블릿 컴퓨터 중 임의의 것으로 구현될 수 있다는 것이 인지되어야 한다. 부가적으로, 컴퓨터는 일반적으로 컴퓨터로 간주되지 않지만, 퍼스널 디지털 어시스탄트(PDA), 스마트 폰 또는 임의의 다른 적절한 휴대용 또는 고정식 전자 디바이스를 포함하는, 적절한 프로세싱 능력들을 가진 디바이스에 임베딩될 수 있다.
또한, 컴퓨터는 하나 초과의 입력 및 출력 디바이스들을 가질 수 있다. 이들 디바이스들은 특히 사용자 인터페이스를 제시하는 데 사용될 수 있다. 사용자 인터페이스를 제공하는 데 사용될 수 있는 출력 디바이스들의 예들은 출력의 시각적 표현을 위한 디스플레이 스크린들 및 스피커들 또는 출력의 청각적 표현을 위한 다른 사운드 생성 디바이스들(예컨대, 시청이 불편한 사용자들을 위함)을 포함한다. 사용자 인터페이스에 사용될 수 있는 입력 디바이스들의 예들은 키보드들, 및 포인팅 디바이스들, 이를테면 마우스들, 터치 패드들, 및 디지털화 태블릿들을 포함한다. 다른 예로서, 컴퓨터는 스피치 인식 또는 다른 청각적 포맷을 통해 입력 정보를 수신할 수 있다.
그런 컴퓨터들은 로컬 영역 네트워크 또는 광역 네트워크, 이를테면 엔터프라이즈 네트워크, 및 지능형 네트워크(EST) 또는 인터넷을 포함하는, 임의의 적절한 형태의 하나 초과의 네트워크들에 의해 상호연결될 수 있다. 그런 네트워크들은 임의의 적절한 기술에 기반할 수 있고 임의의 적절한 프로토콜에 따라 동작할 수 있으며 무선 네트워크들, 유선 네트워크들 또는 광섬유 네트워크들을 포함할 수 있다.
본원에 서술된 다양한 방법들 또는 프로세스들(예컨대, 위에 개시된 기술을 설계 및 만듬)은 다양한 오퍼레이팅 시스템들 또는 플랫폼들 중 임의의 하나를 이용하는 하나 초과의 프로세서들 상에서 실행가능한 소프트웨어로서 코딩될 수 있다. 부가적으로, 그런 소프트웨어는 다수의 적절한 프로그래밍 언어들 및/또는 프로그래밍 또는 스크립팅 툴들 중 임의의 것을 사용하여 쓰여질 수 있고, 그리고 또한 프레임워크 또는 가상 기계에서 실행되는 실행가능 기계 언어 코드 또는 중간 코드로 컴파일링될 수 있다.
이에 관하여, 다양한 본 발명의 개념들은, 하나 또는 그 초과의 컴퓨터들 또는 다른 프로세서들 상에서 실행될 때, 위에 논의된 본 발명의 다양한 실시예들을 구현하는 방법들을 수행하는 하나 초과의 프로그램들로 인코딩된 컴퓨터 판독가능 저장 매체(또는 다수의 컴퓨터 판독가능 저장 미디어)(예컨대, 컴퓨터 메모리, 하나 초과의 플로피 디스크들, 컴팩트 디스크들, 광학 디스크들, 자기 테이프들, 플래시 메모리들, 필드 프로그램가능 게이트 어레이들 또는 다른 반도체 디바이스들의 회로 구성들, 또는 다른 비-일시적 매체 또는 유형의 컴퓨터 저장 매체)로서 구현될 수 있다. 컴퓨터 판독가능 매체 또는 미디어는 운반가능할 수 있어서, 그 위에 저장된 프로그램 또는 프로그램들은 위에 논의된 본 발명의 다양한 양상들을 구현하기 위해 하나 초과의 상이한 컴퓨터들 또는 다른 프로세서들 상에 로딩될 수 있다.
용어들 "프로그램" 또는 "소프트웨어"는 본원에서, 위에 논의된 실시예들의 다양한 양상들을 구현하기 위해 컴퓨터 또는 다른 프로세서를 프로그래밍하는 데 이용될 수 있는 임의의 타입의 컴퓨터 코드 또는 컴퓨터-실행가능 명령들의 세트를 지칭하기 위해 일반적인 의미에서 사용된다. 부가적으로, 일 양상에 따라, 실행될 때 본 발명의 방법들을 수행하는 하나 초과의 컴퓨터 프로그램들이 단일 컴퓨터 또는 프로세서 상에 상주할 필요가 있는 것이 아니라, 본 발명의 다양한 양상들을 구현하기 위해 다수의 상이한 컴퓨터들 또는 프로세서들 사이에 모듈식 방식으로 분배될 수 있다는 것이 인지되어야 한다.
컴퓨터-실행가능 명령들은 하나 초과의 컴퓨터들 또는 다른 디바이스들에 의해 실행되는 많은 형태들, 이를테면 프로그램 모듈들일 수 있다. 일반적으로, 프로그램 모듈들은 특정 태스크들을 수행하거나 또는 특정 요약 데이터 타입들을 구현하는 루틴들, 프로그램들, 객체들, 컴포넌트들, 데이터 구조들 등을 포함한다. 통상적으로, 프로그램 모듈들의 기능성은 다양한 실시예들에서 원하는 대로 조합되거나 분배될 수 있다.
또한, 다양한 본 발명의 개념들은 하나 초과의 방법들로 구현될 수 있고, 그 예가 제공되었다. 방법의 부분으로서 수행되는 동작들은 임의의 적절한 방식으로 순서가 정해질 수 있다. 따라서, 실시예들은, 예시적인 실시예들에서 순차적인 동작들로 도시되지만, 일부 동작들을 동시에 수행하는 것을 포함할 수 있는, 예시된 것과 상이한 순서로 동작들이 수행되는 것으로 구성될 수 있다.
명세서에서 본원에 사용된 단수 표현은, 명확하게 반대로 표시되지 않으면, "적어도 하나"를 의미하는 것으로 이해되어야 한다.
명세서 및 청구항들에서 본원에 사용된 어구 "및/또는"은 이와 같이 결합된 엘리먼트들의 "어느 하나 또는 둘 모두"를 의미하는 것으로 이해되어야 하는 데, 즉 엘리먼트들은 일부 경우들에서 결합적으로 존재하고 다른 경우들에서 분리적으로 존재한다. "및/또는"으로 열거된 다수의 엘리먼트들은 동일한 방식으로, 즉 그렇게 결합된 엘리먼트들 중 "하나 초과"로 해석되어야 한다. 특정하게 식별된 이들 엘리먼트들에 관련되든 관련되지 않든, "및/또는" 절에 의해 특정하게 식별된 엘리먼들 외에 다른 엘리먼트들이 선택적으로 존재할 수 있다. 따라서, 비-제한적 예로서, "포함하는" 것과 같은 개방 언어와 함께 사용될 때, "A 및/또는 B"에 대한 참조는 일 실시예에서, A만(선택적으로 B 이외의 엘리먼트들을 포함함); 다른 실시예에서, B만(선택적으로 A 이외의 엘리먼트들을 포함함); 또 다른 실시예에서 A 및 B 둘 모두(선택적으로 다른 엘리먼트들을 포함함); 등을 지칭할 수 있다.
명세서에서 본원에 사용된 바와 같이, "또는"은 위에서 정의된 "및/또는"과 동일한 의미를 가지는 것으로 이해되어야 한다. 예컨대, 리스트에서 아이템들을 분리할 때, "또는" 또는 "및/또는"은 포괄적인 것으로 해석될 것이고, 즉, 포괄적은 엘리먼트들 및 선택적으로 부가적인 열거되지 않은 아이템들의 수 또는 리스트의 적어도 하나의 포함이지만, 또한 하나 초과를 포함한다. "오직 하나" 또는 "정확하게 하나", 또는 청구항들에서 사용될 때 "이루어지는" 같은 반대로 명확하게 표시된 용어들만이 엘리먼트들의 수 또는 리스트의 정확히 하나의 엘리먼트의 포함을 지칭할 것이다. 일반적으로, 본원에 사용되는 용어 "또는"은, "어느 하나", "하나", "하나만" 또는 "정확히 하나" 같은 배타적 측면이 선행될 때 배타적 대안들(즉, "하나 또는 다른 하나이지만 둘 모두가 아님")을 표시하는 것으로 해석되어야 할 것이다. 청구항들에 사용될 때 "필수적으로 이루어진"은 특허법 분야에서 사용된 통상적인 의미를 가질 것이다.
본원의 명세서에 사용된 바와 같이, 어구 "적어도 하나"는, 하나 초과의 엘리먼트들의 리스트를 참조하여, 엘리먼트들의 리스트 내 엘리먼트들 중 임의의 하나 또는 그 초과로부터 선택된 적어도 하나의 엘리먼트를 의미하는 것으로 이해되어야 하지만, 반드시 엘리먼트들의 리스트 내에 구체적으로 열거된 각각 및 모든 엘리먼트 중 적어도 하나를 포함하지 않고 그리고 엘리먼트들의 리스트 내의 엘리먼트들의 임의의 조합들을 배제하지 않는다. 이런 정의는 또한, 특정하게 식별된 이들 엘리먼트들에 관련되든 관련되지 않든, 어구 "적어도 하나"가 지칭하는 엘리먼트들의 리스트 내에서 특정하게 식별된 엘리먼트들 외에 엘리먼트들이 선택적으로 존재할 수 있는 것을 허용한다. 따라서, 비-제한적 예로서, "A 및 B의 적어도 하나"(또는, 등가적으로, "A 또는 B 중 적어도 하나", 또는 등가적으로, "A 및/또는 B 중 적어도 하나")는 일 실시예에서, 선택적으로 하나 초과의 A를 포함하는 적어도 하나(B가 존재하지 않음(그리고 선택적으로 B 이외의 엘리먼트들을 포함함)); 다른 실시예에서, 선택적으로 하나 초과의 B를 포함하는 적어도 하나(A가 존재하지 않음(그리고 선택적으로 A 이외의 엘리먼트들을 포함함)); 또 다른 실시예에서, 선택적으로 하나 초과의 A를 포함하는 적어도 하나, 및 선택적으로 하나 초과의 B를 포함하는 적어도 하나(및 선택적으로 다른 엘리먼트들을 포함함) 등을 지칭할 수 있다.
위의 명세서에서, 모든 과도적 어구들, 이를테면 "포함하는("comprising", "including", "containing"), "지니는(carrying), "가지는(having)", "수반하는(involving)", "홀딩하는(holding)", "구성되는(composed of)" 등은 개방된 것으로, 즉 포함하는을 의미하지만 이에 제한되지 않는 것으로 이해될 것이다.

Claims (20)

  1. 방법에 있어서,
    전자 디바이스에 의해, 비디오 컨텐츠에 대한 사용자로부터의 요청을 수신하는 단계;
    상기 전자 디바이스에 의해, 비디오 서버에게 상기 비디오 컨텐츠를 요청하는 단계;
    상기 전자 디바이스에 의해, 메타데이터 서버에게 상기 비디오 컨텐츠에 나타나 있는 사람과 연관된 객체에 관한 메타데이터를 요청하는 단계 - 상기 메타데이터의 개별 피스(piece)들은 상기 비디오 컨텐츠의 개별 프레임들과 정렬됨 - ;
    상기 전자 디바이스의 디스플레이를 통해, 상기 사용자에게 상기 비디오 컨텐츠의 제1 프레임을 디스플레이하는 단계 - 상기 제1 프레임은 상기 사람 및 상기 객체를 보여주는 것임 - ;
    상기 전자 디바이스의 디스플레이를 통해, 상기 사용자에게 상기 비디오 컨텐츠의 제2 프레임을 디스플레이하는 단계 - 상기 제2 프레임은 상기 객체를 보여주지 않고 상기 사람을 보여주는 것임 - ;
    상기 전자 디바이스에 의해, 상기 비디오 컨텐츠의 상기 제2 프레임을 디스플레이하는 동안 상기 사람과 연관된 객체에 관한 메타데이터에 대한 상기 사용자로부터의 요청을 수신하는 단계; 및
    상기 메타데이터에 대한 상기 사용자로부터의 요청에 응답하여, 상기 전자 디바이스의 디스플레이를 통해, 상기 비디오 컨텐츠와 함께 상기 객체에 관한 제1 피스의 메타데이터를 디스플레이하는 단계 - 상기 제1 피스의 메타데이터는 상기 제1 프레임과 정렬됨 -
    를 포함하는, 방법.
  2. 제1항에 있어서,
    상기 메타데이터를 수신하는 것은, 상기 비디오 컨텐츠에 나타나 있는 모든 사람이 착용한 객체들에 대한 제품 식별 정보를 수신하는 것을 포함하는 것인, 방법.
  3. 제2항에 있어서,
    상기 메타데이터를 수신하는 것은, 상기 비디오 컨텐츠에 나타나 있는 모든 사람이 착용한 객체들을 획득하기 위한 링크들을 수신하는 것을 포함하는 것인, 방법.
  4. 제3항에 있어서,
    상기 제1 피스의 메타데이터를 디스플레이하는 단계는, 상기 객체를 획득하기 위한 대응 링크를 디스플레이하는 단계를 포함하고, 상기 대응 링크는 상기 객체를 획득하기 위한 웹사이트로 상기 사용자를 동적으로 재지향(redirect)시키는 것인, 방법.
  5. 제1항에 있어서,
    상기 메타데이터를 수신하는 것은, 상기 비디오 컨텐츠에 나타나 있는 상기 사람과 연관된 상기 객체와 유사한 객체를 획득하기 위한 링크를 수신하는 것을 포함하는 것인, 방법.
  6. 제1항에 있어서,
    상기 사용자로부터 요청을 수신하는 것은, 상기 전자 디바이스의 마이크로폰을 통해, 자연어 음성 커맨드 또는 자연어 음성 질의(query)를 수신하는 것을 포함하는 것인, 방법.
  7. 제1항에 있어서,
    상기 사용자로부터 요청을 수신하는 것은, 상기 전자 디바이스의 디스플레이의 플레이바(play bar) 영역 근방에서, 커서 이동 또는 터치스크린 상의 터치 중 적어도 하나를 검출하는 것을 포함하는 것인, 방법.
  8. 제1항에 있어서,
    상기 전자 디바이스에 의해, 상기 비디오 컨텐츠의 프레임을 상기 사용자에게 디스플레이하기 전에 상기 전자 디바이스의 메모리에 상기 객체에 관한 메타데이터를 저장하는 단계를 더 포함하는, 방법.
  9. 제1항에 있어서,
    상기 비디오 컨텐츠를 디스플레이하는 동안 상기 전자 디바이스에 의해, 상기 비디오 컨텐츠의 제2 프레임에 나타나 있는 다른 사람과 연관된 다른 객체에 관한 메타데이터를 요청하는 단계를 더 포함하는, 방법.
  10. 제1항에 있어서,
    상기 메타데이터에 대한 상기 사용자로부터의 요청에 응답하여, 상기 전자 디바이스에 의해, 상기 비디오 컨텐츠의 재생을 일시중지하는 단계를 더 포함하는, 방법.
  11. 방법에 있어서,
    전자 디바이스에 의해, 비디오 컨텐츠에 대한 사용자로부터의 요청을 수신하는 단계;
    상기 전자 디바이스에 의해 구현되는 비디오 플레이어에 의해, 비디오 서버에게 상기 비디오 컨텐츠를 요청하는 단계;
    상기 비디오 플레이어로부터 상기 전자 디바이스에 의해 구현되는 비디오 이벤트 심(shim)에 이벤트 메시지를 전송하는 단계 - 상기 이벤트 메시지는 상기 비디오 컨텐츠의 재생이 시작되었음을 표시함 - ;
    상기 비디오 이벤트 심으로부터 상기 전자 디바이스에 의해 구현되는 메타데이터 제어기에 통지 메시지를 전송하는 단계 - 상기 통지 메시지는 상기 비디오 컨텐츠의 재생이 시작되었음을 표시함 - ;
    상기 통지 메시지에 응답하여, 상기 전자 디바이스에 의해 구현되는 상기 메타데이터 제어기에 의해, 메타데이터 서버에게 상기 비디오 컨텐츠에 나타나 있는 제품에 관한 메타데이터를 요청하는 단계 - 상기 메타데이터의 각각의 피스들은 상기 비디오 컨텐츠의 각각의 프레임들과 시간 상 정렬됨 - ;
    상기 메타데이터 제어기에 의해, 상기 메타데이터 서버로부터 상기 메타데이터를 수신하는 단계 - 상기 메타데이터는 상기 비디오 컨텐츠의 지속기간(duration) 내의 일 시간에 대응하는 기준 타임스탬프를 포함함 - ;
    상기 메타데이터 제어기에 의해, 상기 전자 디바이스의 메모리에 상기 메타데이터를 캐싱(cache)하는 단계 - 상기 메타데이터의 캐싱은, 재생 동안 네트워크 트래픽을 감소시키고, 네트워크 연결성의 중단이 사용자 요청들에 응답한 상기 메타데이터의 리트리벌(retrieval) 및 디스플레이를 중단하는 가능성을 감소 또는 제거함 - ;
    상기 메타데이터 제어기에 의해, 상기 비디오 컨텐츠의 재생 상태에 기초하여 상기 메타데이터를 큐잉(queue)하는 단계;
    상기 전자 디바이스의 디스플레이를 통해, 상기 비디오 컨텐츠의 제1 프레임 - 상기 제1 프레임은 상기 제품의 이미지를 포함함 - 을 상기 사용자에게 디스플레이하는 단계;
    상기 전자 디바이스에 의해, 상기 제품에 관한 메타데이터에 대한 상기 사용자로부터의 요청을 수신하는 단계; 및
    상기 제품에 관한 메타데이터에 대한 상기 사용자로부터의 요청을 수신하는 것에 응답하여, (i) 상기 제품의 가용성(availability), 상기 제품의 가격, 관계, 또는 실시간 인터넷 경매에 기초하여, 웹사이트로부터 상기 제품을 구매하기 위한 링크를 동적으로 할당하고, (ii) 상기 전자 디바이스의 디스플레이를 통해 상기 비디오 컨텐츠와 함께 상기 제품에 관한 제1 피스의 메타데이터를 디스플레이하는 단계 - 상기 제1 피스의 메타데이터는 비디오 컨텐츠와 시간 상 정렬되며, 상기 웹사이트로부터 상기 제품을 구매하기 위한 링크를 포함함 -
    를 포함하는, 방법.
  12. 제11항에 있어서,
    상기 사용자로부터 요청을 수신하는 것은,
    상기 전자 디바이스의 마이크로폰을 통해 자연어 음성 커맨드 또는 자연어 음성 질의를 수신하는 것 또는
    상기 전자 디바이스의 디스플레이의 플레이바 영역 근방에서 커서 이동 또는 터치스크린 상의 터치 중 적어도 하나를 검출하는 것
    중 적어도 하나를 포함하는 것인, 방법.
  13. 제11항에 있어서,
    상기 비디오 컨텐츠의 프레임들은 1 내지 4의 초당 프레임(frames per second: fps)의 레이트(rate)로 메타데이터로 태그(tag)되고,
    상기 비디오 컨텐츠를 디스플레이하는 것은, 적어도 24 fps의 재생 속력으로 상기 비디오 컨텐츠를 플레이하는 것을 포함하는 것인, 방법.
  14. 제11항에 있어서,
    상기 비디오 컨텐츠를 디스플레이하면서, 상기 전자 디바이스에 의해, 상기 비디오 컨텐츠의 제2 프레임에 나타나 있는 다른 제품에 관한 메타데이터를 요청하는 단계를 더 포함하는, 방법.
  15. 제11항에 있어서,
    상기 사용자로부터의 요청에 응답하여, 상기 전자 디바이스에 의해, 상기 비디오 컨텐츠의 재생을 일시중지하는 단계를 더 포함하는, 방법.
  16. 제11항에 있어서,
    상기 메타데이터 서버에서, 상기 제품에 관한 메타데이터에 대한 상기 전자 디바이스로부터의 요청을 수신하는 단계;
    상기 메타데이터 서버에 의해, 메타데이터 데이터베이스가 상기 메타데이터를 갖지 않는다고 결정하는 단계;
    상기 메타데이터 데이터베이스가 상기 메타데이터를 갖지 않는다는 결정에 응답하여, 상기 메타데이터 서버에 의해, 상기 비디오 컨텐츠에 나타나 있는 제품의 아이덴티티에 대한 질의를 객체 인식 서버에 전송하는 단계;
    상기 메타데이터 서버에 의해, 상기 객체 인식 서버로부터 상기 비디오 컨텐츠에 나타나 있는 제품의 아이덴티티를 수신하는 단계;
    상기 메타데이터 서버에 의해, 상기 제품의 아이덴티티에 기반하여 상기 제품에 관한 메타데이터를 획득하는 단계; 및
    상기 메타데이터 서버에 의해, 상기 사용자에게 디스플레이하기 위한 메타데이터를 상기 전자 디바이스에 제공하는 단계
    를 더 포함하는, 방법.
  17. 제16항에 있어서,
    상기 객체 인식 서버는 적어도 하나의 뉴럴 네트워크를 구현하고,
    상기 방법은, 상기 적어도 하나의 뉴럴 네트워크에 의해, 상기 비디오에 나타나 있는 제품을 인식하는 단계를 더 포함하는, 방법.
  18. 제17항에 있어서,
    상기 적어도 하나의 뉴럴 네트워크로, 상기 비디오 컨텐츠에 나타나 있는 제품을 표현하는 임베딩(embedding)을 생성하는 단계;
    상기 비디오에 나타나 있는 객체를 표현하는 임베딩의, 객체 데이터베이스에 저장된 복수의 임베딩들과의 비교를 수행하는 단계 - 상기 복수의 임베딩들 중 각각의 임베딩들은 복수의 객체들 중 각각의 객체들을 표현함 - ; 및
    상기 비교에 기초하여, 상기 복수의 객체들 중에서 제2 객체 - 상기 제2 객체는 상기 제품임 - 와 동일하거나 유사한 제1 객체를 식별하는 단계
    를 더 포함하는, 방법.
  19. 방법에 있어서,
    전자 디바이스에 의해, 비디오 컨텐츠에 대한 사용자로부터의 요청을 수신하는 단계;
    상기 전자 디바이스에 의해 구현되는 비디오 플레이어에 의해, 비디오 서버에게 상기 비디오 컨텐츠를 요청하는 단계;
    상기 비디오 플레이어로부터 상기 전자 디바이스에 의해 구현되는 비디오 이벤트 심(shim)에 이벤트 메시지를 전송하는 단계 - 상기 이벤트 메시지는 상기 비디오 컨텐츠의 재생이 시작되었음을 표시함 - ;
    상기 비디오 이벤트 심으로부터 상기 전자 디바이스에 의해 구현되는 메타데이터 제어기에 통지 메시지를 전송하는 단계 - 상기 통지 메시지는 상기 비디오 컨텐츠의 재생이 시작되었음을 표시함 - ;
    상기 통지 메시지에 응답하여, 상기 전자 디바이스에 의해 구현되는 상기 메타데이터 제어기에 의해, 메타데이터 서버에게 상기 비디오 컨텐츠에 나타나 있는 제품에 관한 메타데이터를 요청하는 단계;
    상기 메타데이터 제어기에 의해, 상기 메타데이터 서버로부터 상기 메타데이터를 수신하는 단계 - 상기 메타데이터는 상기 비디오 컨텐츠의 지속기간(duration) 내의 일 시간에 대응하는 기준 타임스탬프를 포함함 - ;
    상기 메타데이터 제어기에 의해, 상기 전자 디바이스의 메모리에 상기 메타데이터를 캐싱(cache)하는 단계 - 상기 메타데이터의 캐싱은, 재생 동안 네트워크 트래픽을 감소시키고, 네트워크 연결성의 중단이 사용자 요청들에 응답한 상기 메타데이터의 리트리벌 및 디스플레이를 중단하는 가능성을 감소 또는 제거함 - ;
    상기 메타데이터 제어기에 의해, 상기 비디오 컨텐츠의 재생 상태에 기초하여 상기 메타데이터를 큐잉(queue)하는 단계;
    상기 전자 디바이스의 디스플레이를 통해, 상기 비디오 컨텐츠를 상기 사용자에게 제1 레이트로 디스플레이하는 단계 - 상기 비디오 컨텐츠는 상기 제품의 이미지를 보여주는 적어도 하나의 프레임을 포함함 - ;
    상기 전자 디바이스에 의해, 상기 제품에 관한 메타데이터에 대한 상기 사용자로부터의 요청을 수신하는 단계 - 상기 비디오 컨텐츠의 프레임들은 상기 제1 레이트보다 낮은 제2 레이트로 메타데이터로 태그됨 - ; 및
    상기 비디오 컨텐츠의 프레임들의 타임 스탬프들에 적어도 부분적으로 기초하여, 상기 제품에 관한 메타데이터를 상기 비디오 컨텐츠의 프레임들과 정렬하는 단계; 및
    상기 사용자로부터의 요청에 응답하여, 상기 전자 디바이스의 디스플레이를 통해, 상기 비디오 컨텐츠와 함께 상기 제품에 관한 메타데이터를 디스플레이하는 단계
    를 포함하는, 방법.
  20. 제19항에 있어서,
    상기 전자 디바이스의 메모리에 상기 메타데이터를 캐시하는 단계는,
    상기 비디오 컨텐츠를 세그먼트들로 나누는 단계;
    상기 비디오 컨텐츠의 세그먼트들의 각 세그먼트의 시작부에서, 그 세그먼트에 대한 메타데이터를 압축된 포맷으로 다운로드하는 단계; 및
    상기 메타데이터를 다운로드하는 빈도 보다 더 빠른 빈도로, 메타데이터 인터페이스를 해당 세그먼트에 대한 메타데이터로 업데이트하는 단계
    를 포함하는 것인, 방법.
KR1020197013525A 2016-11-17 2017-11-17 비디오 컨텐츠의 기계-기반 객체 인식 KR102483507B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201662423495P 2016-11-17 2016-11-17
US62/423,495 2016-11-17
PCT/US2017/062284 WO2018094201A1 (en) 2016-11-17 2017-11-17 Machine-based object recognition of video content

Publications (2)

Publication Number Publication Date
KR20190088974A KR20190088974A (ko) 2019-07-29
KR102483507B1 true KR102483507B1 (ko) 2022-12-30

Family

ID=62146712

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020197013525A KR102483507B1 (ko) 2016-11-17 2017-11-17 비디오 컨텐츠의 기계-기반 객체 인식

Country Status (4)

Country Link
US (2) US11317159B2 (ko)
EP (1) EP3542256A4 (ko)
KR (1) KR102483507B1 (ko)
WO (1) WO2018094201A1 (ko)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11080777B2 (en) * 2014-03-31 2021-08-03 Monticello Enterprises LLC System and method for providing a social media shopping experience
EP3542256A4 (en) 2016-11-17 2020-07-01 Painted Dog, Inc. MACHINE-BASED VIDEO CONTENT RECOGNITION
EP3926967A4 (en) * 2019-02-14 2022-09-14 LG Electronics Inc. DISPLAY DEVICE AND RELATED METHOD OF OPERATION
US11676063B2 (en) * 2019-03-28 2023-06-13 International Business Machines Corporation Exposing payload data from non-integrated machine learning systems
US10779046B1 (en) 2019-08-28 2020-09-15 Coupang Corp. Automated generation of video-based electronic solicitations
CN110620949B (zh) * 2019-09-17 2022-02-08 北京字节跳动网络技术有限公司 热点推荐弹窗的控制方法、装置、介质及电子设备
US11461393B1 (en) 2019-12-09 2022-10-04 Amazon Technologies, Inc. Automated identification and mapping of objects in video content
US11776047B1 (en) * 2019-12-09 2023-10-03 Amazon Technologies, Inc. Semantic video segmentation to identify objects appearing in video content
KR20220082890A (ko) * 2019-12-23 2022-06-17 엘지전자 주식회사 디스플레이 장치 및 그의 동작 방법
US11049176B1 (en) * 2020-01-10 2021-06-29 House Of Skye Ltd Systems/methods for identifying products within audio-visual content and enabling seamless purchasing of such identified products by viewers/users of the audio-visual content
KR20210096394A (ko) * 2020-01-28 2021-08-05 라인플러스 주식회사 컨텐츠에 관한 부가 정보를 제공하는 방법, 장치, 및 컴퓨터 프로그램
US20210326967A1 (en) * 2020-04-15 2021-10-21 DroppTV Holdings, Inc. Shopping directly from user screen while viewing video content or in augmented or virtual reality
US11051067B1 (en) * 2020-08-14 2021-06-29 Global Sports & Entertainment Marketing, LLC Interactive video overlay
US20220239983A1 (en) * 2021-01-28 2022-07-28 Comcast Cable Communications, Llc Systems and methods for determining secondary content
CN115086734A (zh) * 2021-03-12 2022-09-20 北京字节跳动网络技术有限公司 一种基于视频的信息展示方法、装置、设备及介质
US11263385B1 (en) * 2021-03-24 2022-03-01 Ebay Inc. Web browser extension for linking images to webpages
US20240037145A1 (en) * 2022-08-01 2024-02-01 Google Llc Product identification in media items
US20240040201A1 (en) * 2022-08-01 2024-02-01 Google Llc Media item and product pairing
WO2024064271A1 (en) * 2022-09-23 2024-03-28 Apple Inc. Techniques for implementing dynamic interactive on-demand user interface ordering

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060117352A1 (en) * 2004-09-30 2006-06-01 Yoichiro Yamagata Search table for metadata of moving picture

Family Cites Families (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7809192B2 (en) * 2005-05-09 2010-10-05 Like.Com System and method for recognizing objects from images and identifying relevancy amongst images and information
US7953736B2 (en) 2007-01-04 2011-05-31 Intersect Ptp, Inc. Relevancy rating of tags
US7987098B2 (en) 2007-07-30 2011-07-26 Eric Schifone Interactive computerized communication apparatus and method
US7840415B2 (en) 2007-07-30 2010-11-23 Eric Schifone Method and platform for providing an interactive internet computer-driven/IP based streaming video/audio apparatus
US20110191809A1 (en) 2008-01-30 2011-08-04 Cinsay, Llc Viral Syndicated Interactive Product System and Method Therefor
US8312486B1 (en) 2008-01-30 2012-11-13 Cinsay, Inc. Interactive product placement system and method therefor
US8745657B2 (en) * 2008-02-13 2014-06-03 Innovid Inc. Inserting interactive objects into video content
US9113214B2 (en) 2008-05-03 2015-08-18 Cinsay, Inc. Method and system for generation and playback of supplemented videos
US20100082653A1 (en) 2008-09-29 2010-04-01 Rahul Nair Event media search
US9336528B2 (en) 2008-12-16 2016-05-10 Jeffrey Beaton System and method for overlay advertising and purchasing utilizing on-line video or streaming media
US8458053B1 (en) 2008-12-17 2013-06-04 Google Inc. Click-to buy overlays
US8984406B2 (en) * 2009-04-30 2015-03-17 Yahoo! Inc! Method and system for annotating video content
US9838744B2 (en) * 2009-12-03 2017-12-05 Armin Moehrle Automated process for segmenting and classifying video objects and auctioning rights to interactive sharable video objects
US9264785B2 (en) * 2010-04-01 2016-02-16 Sony Computer Entertainment Inc. Media fingerprinting for content determination and retrieval
US10674230B2 (en) * 2010-07-30 2020-06-02 Grab Vision Group LLC Interactive advertising and marketing system
US8682739B1 (en) 2010-07-30 2014-03-25 Amazon Technologies, Inc. Identifying objects in video
US20120167145A1 (en) * 2010-12-28 2012-06-28 White Square Media, LLC Method and apparatus for providing or utilizing interactive video with tagged objects
US8984562B2 (en) * 2011-01-13 2015-03-17 Verizon Patent And Licensing Inc. Method and apparatus for interacting with a set-top box using widgets
US20130019268A1 (en) 2011-02-11 2013-01-17 Fitzsimmons Michael R Contextual commerce for viewers of video programming
US8792684B2 (en) * 2011-08-11 2014-07-29 At&T Intellectual Property I, L.P. Method and apparatus for automated analysis and identification of a person in image and video content
RU2733103C2 (ru) 2011-08-29 2020-09-29 ЭйБай, Инк. Контейнерное программное обеспечение для вирусного копирования из одной конечной точки в другую
US9607330B2 (en) 2012-06-21 2017-03-28 Cinsay, Inc. Peer-assisted shopping
US9185441B2 (en) * 2013-03-15 2015-11-10 Matthew A. Pequignot Upstream/downstream network and/or content delivery apparatus and methods
US9875489B2 (en) 2013-09-11 2018-01-23 Cinsay, Inc. Dynamic binding of video content
EP3049954A4 (en) 2013-09-27 2017-04-05 Cinsay, Inc. N-level replication of supplemental content
US10701127B2 (en) 2013-09-27 2020-06-30 Aibuy, Inc. Apparatus and method for supporting relationships associated with content provisioning
WO2015054644A1 (en) 2013-10-10 2015-04-16 Cinsay, Inc. Apparatus and method for peer-assisted e-commerce shopping
US20150245103A1 (en) * 2014-02-24 2015-08-27 HotdotTV, Inc. Systems and methods for identifying, interacting with, and purchasing items of interest in a video
CN106170812A (zh) 2014-03-14 2016-11-30 辛赛股份有限公司 用于商品的自动供应的装置和方法
US9177225B1 (en) * 2014-07-03 2015-11-03 Oim Squared Inc. Interactive content generation
WO2016109810A1 (en) 2014-12-31 2016-07-07 Cinsay, Inc. System and method for managing a product exchange
US10885570B2 (en) 2014-12-31 2021-01-05 Aibuy, Inc. System and method for managing a product exchange
US9633019B2 (en) * 2015-01-05 2017-04-25 International Business Machines Corporation Augmenting an information request
US11120478B2 (en) * 2015-01-12 2021-09-14 Ebay Inc. Joint-based item recognition
WO2016123538A1 (en) * 2015-01-29 2016-08-04 Clear Research Corporation Mobile visual commerce system
US10354290B2 (en) * 2015-06-16 2019-07-16 Adobe, Inc. Generating a shoppable video
EP3542256A4 (en) 2016-11-17 2020-07-01 Painted Dog, Inc. MACHINE-BASED VIDEO CONTENT RECOGNITION

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060117352A1 (en) * 2004-09-30 2006-06-01 Yoichiro Yamagata Search table for metadata of moving picture

Also Published As

Publication number Publication date
EP3542256A4 (en) 2020-07-01
US20220217444A1 (en) 2022-07-07
KR20190088974A (ko) 2019-07-29
US11317159B2 (en) 2022-04-26
US20200134320A1 (en) 2020-04-30
US11966967B2 (en) 2024-04-23
EP3542256A1 (en) 2019-09-25
WO2018094201A1 (en) 2018-05-24

Similar Documents

Publication Publication Date Title
KR102483507B1 (ko) 비디오 컨텐츠의 기계-기반 객체 인식
US10783215B2 (en) Digital image and content display systems and methods
US11496792B2 (en) Interactive video overlay with persistent cart
US20180152767A1 (en) Providing related objects during playback of video data
US9535945B2 (en) Intent based search results associated with a modular search object framework
US20180025405A1 (en) Presentation of content items synchronized with media display
US20120304065A1 (en) Determining information associated with online videos
US20120167146A1 (en) Method and apparatus for providing or utilizing interactive video with tagged objects
US9830388B2 (en) Modular search object framework
US20130042261A1 (en) Electronic video media e-wallet application
US10440435B1 (en) Performing searches while viewing video content
KR20140107253A (ko) 관련 콘텐츠를 관찰하기 위한 제스처 기반 태깅 기법
US20150317319A1 (en) Enhanced search results associated with a modular search object framework
US20150294370A1 (en) Target Area Based Monetization Using Sensory Feedback
KR20170013369A (ko) 검색 정보를 표시하는 방법, 장치 및 컴퓨터 프로그램
US20170013309A1 (en) System and method for product placement
KR101690528B1 (ko) 검색 정보를 표시하는 방법, 장치 및 컴퓨터 프로그램
US11436826B2 (en) Augmented reality experience for shopping
US11468675B1 (en) Techniques for identifying objects from video content
JP7218847B2 (ja) 情報処理装置、情報処理方法、およびプログラム

Legal Events

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