JP2022542643A - パーセプチュアルフレームハッシングを使用したビデオメタデータの識別および検索 - Google Patents
パーセプチュアルフレームハッシングを使用したビデオメタデータの識別および検索 Download PDFInfo
- Publication number
- JP2022542643A JP2022542643A JP2021576733A JP2021576733A JP2022542643A JP 2022542643 A JP2022542643 A JP 2022542643A JP 2021576733 A JP2021576733 A JP 2021576733A JP 2021576733 A JP2021576733 A JP 2021576733A JP 2022542643 A JP2022542643 A JP 2022542643A
- Authority
- JP
- Japan
- Prior art keywords
- hash
- hash vector
- database
- vector
- source video
- Prior art date
- Legal status (The legal status 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 status listed.)
- Pending
Links
- 239000013598 vector Substances 0.000 claims description 226
- 238000000034 method Methods 0.000 claims description 68
- 230000004044 response Effects 0.000 claims description 21
- 230000008569 process Effects 0.000 claims description 16
- 230000008447 perception Effects 0.000 claims description 4
- 238000010586 diagram Methods 0.000 abstract description 4
- 101150060512 SPATA6 gene Proteins 0.000 description 174
- 239000000463 material Substances 0.000 description 5
- 230000008901 benefit Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 2
- 230000004931 aggregating effect Effects 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 230000037406 food intake Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003825 pressing Methods 0.000 description 1
- 230000003362 replicative effect Effects 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 238000011144 upstream manufacturing Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/70—Information retrieval; Database structures therefor; File system structures therefor of video data
- G06F16/78—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
- G06F16/783—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content
- G06F16/7837—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content using objects detected or recognised in the video content
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/08—Payment architectures
- G06Q20/12—Payment architectures specially adapted for electronic shopping systems
- G06Q20/123—Shopping for digital content
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
- G06F16/2255—Hash tables
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/70—Information retrieval; Database structures therefor; File system structures therefor of video data
- G06F16/71—Indexing; Data structures therefor; Storage structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/70—Information retrieval; Database structures therefor; File system structures therefor of video data
- G06F16/78—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
- G06F16/7867—Retrieval 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, title and artist information, manually generated time, location and usage information, user ratings
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/547—Remote procedure calls [RPC]; Web services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/764—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/77—Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
- G06V10/7715—Feature extraction, e.g. by transforming the feature space, e.g. multi-dimensional scaling [MDS]; Mappings, e.g. subspace methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/40—Scenes; Scene-specific elements in video content
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
- H04N21/2343—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
- H04N21/23439—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements for generating different versions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/25—Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
- H04N21/266—Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
- H04N21/26603—Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel for automatically generating descriptors from content, e.g. when it is not made available by its provider, using content analysis techniques
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/27—Server based end-user applications
- H04N21/278—Content descriptor database or directory service for end-user access
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing 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/44—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
- H04N21/44008—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving operations for analysing video streams, e.g. detecting features or characteristics in the video stream
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/47—End-user applications
- H04N21/472—End-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/47217—End-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 controlling playback functions for recorded or on-demand content, e.g. using progress bars, mode or play-point indicators or bookmarks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/47—End-user applications
- H04N21/472—End-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/4722—End-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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/47—End-user applications
- H04N21/478—Supplemental services, e.g. displaying phone caller identification, shopping application
- H04N21/47815—Electronic shopping
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client
- H04N21/65—Transmission of management data between client and server
- H04N21/654—Transmission by server directed to the client
- H04N21/6547—Transmission by server directed to the client comprising parameters, e.g. for client setup
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client
- H04N21/65—Transmission of management data between client and server
- H04N21/658—Transmission by the client directed to the server
- H04N21/6581—Reference data, e.g. a movie identifier for ordering a movie or a product identifier in a home shopping application
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/83—Generation or processing of protective or descriptive data associated with content; Content structuring
- H04N21/835—Generation of protective data, e.g. certificates
- H04N21/8352—Generation of protective data, e.g. certificates involving content or source identification data, e.g. Unique Material Identifier [UMID]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/40—Scenes; Scene-specific elements in video content
- G06V20/48—Matching video sequences
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V2201/00—Indexing scheme relating to image or video recognition or understanding
- G06V2201/10—Recognition assisted with metadata
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Signal Processing (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Business, Economics & Management (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Library & Information Science (AREA)
- Accounting & Taxation (AREA)
- Medical Informatics (AREA)
- General Health & Medical Sciences (AREA)
- Evolutionary Computation (AREA)
- Computing Systems (AREA)
- Artificial Intelligence (AREA)
- Health & Medical Sciences (AREA)
- Human Computer Interaction (AREA)
- Finance (AREA)
- Strategic Management (AREA)
- General Business, Economics & Management (AREA)
- Computer Security & Cryptography (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
ショッパブルビデオは、視聴者が、ビデオに現れる商品を識別して購入することを可能にする。ビデオのフレーム中のアイテムに関する情報を検索するために、再生装置は、そのフレームのパーセプチュアルハッシュを生成し、そのハッシュを使用して、ビデオの異なるバージョンのパーセプチュアルハッシュを保存している第1のデータベースに問い合わせる。データベースの問い合わせはフレームに対する識別子を返し、これが次に、アイテム情報を保存する第2のデータベースに問い合わせるために使用される。この問い合わせの結果は再生装置に返され、再生装置はそれらをユーザに示し、これにより視聴者はアイテムに関してさらに詳しく知り、それを購入することが可能になる。ビデオの異なるバージョンのパーセプチュアルハッシュに基づいた問い合わせを使用すると、フォーマットの違いにもかかわらず、マッチが返される可能性が高くなる。また、別々のハッシュデータベースおよびメタデータデータベースを使用することで、ハッシュを変更せずにメタデータを更新することが可能になる。【選択図】 図1
Description
関連出願の相互参照
本出願は、米国特許出願第62/870,127号(2019年7月3日出願)の米国特許法119条(e)の下での優先権利益を主張し、引用することによりその全体が本明細書の一部をなすものとする。
本出願は、米国特許出願第62/870,127号(2019年7月3日出願)の米国特許法119条(e)の下での優先権利益を主張し、引用することによりその全体が本明細書の一部をなすものとする。
ショッパブルビデオ(shoppable video)は、ビデオを視聴している視聴者が、ファッション、アクセサリー、家庭用品、テクノロジーデバイス、さらにはビデオに表示されるメニューやレシピのアイテムを買い物することを可能にする。視聴者がビデオを見ると、視聴者は、購入したいアイテムがビデオに表示されるのを見い出す。視聴者はリモコンのボタンを押すか、リモコンのマイクに話しかけることで、価格や在庫情報など、そのアイテムに関する情報を得ることができる。テレビの中にあるかまたはテレビに結合されたプロセッサは、この要求を受信し、それをサーバに送信し、サーバはアイテムに関する情報をデータベースから検索し、それをプロセッサに返す。テレビは、アイテムに関する情報を視聴者に表示し、視聴者はアイテムを購入したり、類似製品に関する情報を要求したりすることができる。
ショッパブルビデオは、各ビデオフレーム中の製品を認識するために、手動で、または機械学習技術を使用して、通常、テレビに表示される前にタグ付けされる。タグ付けされた製品の製品メタデータは、対応するビデオフレームにマッチ(match:合致)され、データベースに保存される。視聴者が製品メタデータを要求すると、プロセッサは対応するビデオフレームを識別し、その後、それらのビデオフレームに対する製品メタデータを検索する。
ショッパブルビデオの課題の1つは、ビデオフレーム内の製品に関する情報に対する視聴者の要求を、データベース中の情報にマッチさせることである。同一のショッパブルビデオは、多くの異なるフォーマットのうちの1つで表示される場合があり、表示されているビデオフレームを対応するビデオフレームにマッチさせる能力を複雑にする。理由の1つとしては、可能なフォーマットの数は経時的に増加するため、それぞれの可能なフォーマットにタグを付け、対応するフレームのそれぞれについて情報を記憶することは実用的ではない。
本技術は、パーセプチュアルハッシング(perceptual hashing)を使用してソースビデオ(source video)のフレームを識別することにより、この課題に対処する。本方法の一実施例では、プロセッサは、ソースビデオの異なるバージョンのそれぞれのフレームに対してハッシュベクトル(hash vector)を生成する。これらのハッシュベクトルは、データベース中のソースビデオに関する情報と関連付けられている。スマートテレビ、セットトップボックス付きテレビ、コンピュータ、またはモバイルデバイスなどの再生装置(playback device)が、ソースビデオの第1のバージョンを再生するとき、ソースビデオの第1のバージョンの第1のフレームに対する第1のハッシュベクトルを生成する。この第1のハッシュベクトルは、例えば、データベースに問い合わせる(query)ためにアプリケーションプログラミングインターフェース(API:application programming interface)を使用して、データベース中のハッシュベクトルの中のマッチするハッシュベクトルにマッチされる。第1のハッシュベクトルを、マッチするハッシュベクトルにマッチさせることに応答して、ソースビデオに関する情報が、データベースから検索される。
第1のハッシュベクトルがマッチするハッシュベクトルにマッチすると判断することには、第1のハッシュベクトルが、マッチするハッシュベクトルの閾値距離(threshold distance)内にあると判断することを含むことができる。マッチするハッシュベクトルは、ソースビデオの第1のバージョンとは異なるソースビデオの第2のバージョンのフレームに対するものとすることができる。
ハッシュベクトルおよび第1のハッシュベクトルは、パーセプチュアルハッシングプロセス(perceptual hashing process)、例えばパーセプションハッシング(pHash:perception hashing)、差分ハッシング(dHash:difference hashing)、平均ハッシング(aHash:average hashing)、およびウェーブレットハッシング(wHash:wavelet hashing)を用いて生成することができる。第1のハッシュベクトルの生成にかかる時間は、約100ミリ秒以下とするとができる。第1のハッシュベクトルは、4096ビット以下のサイズを有してもよい。第1のハッシュベクトルの生成は、一定の間隔(regular interval)で、および/または視聴者からのコマンドに応答して自動的に発生させることができる。
必要に応じて、ハッシュベクトル(hash vector)をシャード(shard:断片化)して、シャード化されたデータベース(shard database)に保存することができる。言い換えれば、ハッシュベクトルは、サブセットに分離または分割することができ、各サブセットは、データベースの異なるシャード(断片)に保存される。ハッシュベクトルは、ランダムに、またはハッシュベクトルがどの程度の頻度でアクセスされるかもしくはどの程度最近にアクセスされたか、ハッシュベクトル間の距離、および/またはハッシュベクトルの特徴に基づいて、サブセットに分割することができる。
本技術は、ソースビデオに関連付けられたメタデータを識別および取得するためにも使用することができる。再び、プロセッサは、ソースビデオの少なくとも1つのバージョンのそれぞれのフレームに対してハッシュベクトルを生成し、ハッシュベクトルを第1のデータベースに保存する。第2のデータベースは、それぞれのフレームに対応するメタデータ(metadata)を保存する。(このメタデータは、第1のデータベース中のハッシュベクトルを変更することなく更新することができる。)再生装置は、ソースビデオの第1のバージョンを再生する。再生装置または関連付けられたプロセッサは、ソースビデオの第1のバージョンの第1のフレームに対する第1のハッシュベクトルを生成する。APIサーバは、第1のハッシュベクトルを、第1のデータベース中のハッシュベクトルの中のマッチするハッシュベクトルにマッチさせる。第1のハッシュベクトルをマッチするハッシュベクトルにマッチさせることに応答して、APIは、第2のデータベースからマッチするハッシュベクトルに対応するメタデータを検索し、再生装置はメタデータを視聴者に表示する。
メタデータは、ソースビデオ内の位置、ソースビデオ中の俳優が着用する衣服、ソースビデオ中に現れる製品、またはソースビデオを再生する音楽のうちの少なくとも1つを表することができる。ハッシュベクトルは、それぞれのタイムスタンプ(timestamp)によってメタデータと関連付けることができる。
第1のハッシュベクトルをマッチするハッシュベクトルにマッチさせることは、第1のハッシュベクトルをAPIサーバに送信することを含むことができる。APIサーバは、第1のハッシュベクトルが、マッチするハッシュベクトルにマッチすると判定し、次いで、第1のデータベース中のマッチするハッシュベクトルと関連付けられたタイムスタンプを識別する。この場合、メタデータの検索は、タイムスタンプに基づいて第2のデータベースに問い合わせる(query)こと、およびタイムスタンプに関連付けられたメタデータを第2のデータベースから検索することをさらに含む。第1のハッシュベクトルがマッチするハッシュベクトルにマッチすると判断することは、第1のハッシュベクトルがマッチするハッシュベクトルの閾値距離内にあることを含むことができる。
ビデオに関連付けられたメタデータを識別、取得、および表示するための方法はまた、ディスプレイを介してビデオを再生することと、ビデオの第1のフレームに対する第1のハッシュベクトルを生成することと、第1のハッシュベクトルをAPIサーバに送信することと、APIサーバを介して、第1のフレームに関連付けられたメタデータをメタデータデータベースから取得することとを含むことができる。メタデータは、第1のハッシュベクトルを、ハッシュベクトルデータベースに格納された第2のハッシュベクトルにマッチさせることに応答して、第1のデータベースから検索される。ディスプレイは、第1のフレームと関連付けられたメタデータをユーザに表示する。
別の観点から、データベースは、ビデオの第1のフレームに対して生成された第1のハッシュベクトルを受信する。データベースは、第1のハッシュベクトルを保存し、第2のハッシュベクトルに基づいて再生装置からクエリまたは問い合わせ(query)を受信する。データベースは、第2のハッシュベクトルに対する問い合わせを実行し、第2のハッシュベクトルを第1のハッシュベクトルにマッチさせることに応答して、第1のハッシュベクトルと関連付けられたタイムスタンプをAPIに送信する。このタイムスタンプは、メタデータをビデオの第1のフレームと関連付ける。
別の実施例では、プロセッサは、ソースビデオの第1のフレームに対する第1のハッシュベクトルを生成する。第1のデータベースは、第1のハッシュベクトルを第1のデータベースに保存する。再生装置は、ソースビデオの1つのバージョンを再生する。同じプロセッサまたは別のプロセッサが、ソースビデオのそのバージョンの第2のフレームに対して第2のハッシュベクトルを生成する。第2のハッシュベクトルは、第1のデータベース中の第1のハッシュベクトルにマッチさせられる。第2のハッシュベクトルを第1のハッシュベクトルにマッチさせることに応答して、第2のハッシュベクトルに対応するタイムスタンプが検索され、再生装置に送信されうる。
前述の概念および追加的概念のすべての組み合わせが(このような概念は相互に矛盾していないという前提で)以下でより詳細に論じられており、本明細書に開示する本発明の主題の一部である。特に、本開示に添付されて表わされる特許請求される主題のすべての組み合わせは、本明細書に開示する本発明の主題の一部である。引用することにより本明細書の一部をなすものとする、任意の開示においても現れる場合がある、本明細書に使用する用語には、本明細書に開示する特定の概念と最も一致する意味が与えるべきである。
当業者であれば、図面が主として例示的な目的で提示されていて、本明細書に記載の本発明の主題の範囲を制限することを意図していないことを理解するであろう。図面は必ずしも一定の比率ではなく、いくつかの実例では、本明細書に開示する本発明の主題のさまざまな態様は、異なる特徴の理解を容易にするために、図面内で誇張または拡大されて示される場合がある。図面では、同様の参照文字は概して、同様の特徴(例えば、機能的および/または構造的に類似した要素)を意味する。
本明細書に開示される技術は、テレビ視聴者に、ビデオに示される製品、場所、およびその他の情報への即時アクセスを提供するのに役立つ。より具体的には、本明細書に開示される技術は、表示されているビデオ中の要素(例えば、製品、場所など)を識別することと、これらの要素に関する情報を視聴者に表示することとの間の時間および/または摩擦(friction)を低減する。その後、視聴者は、情報を保存する、および/またはビデオ中の好きな製品を購入することができる。
本技術は、パーセプチュアルハッシング(perceptual hashing)を使用して、再生装置上で視聴者に示されたビデオフレームを識別する。ビデオフレーム中のアイテムに関する情報を得るために、再生装置は、フレーム画像のパーセプチュアルハッシュ(perceptual hash)を生成し、そのハッシュ(hash)をサーバに送り、サーバは、様々な異なるフォーマットの様々なビデオからのフレームに対するパーセプチュアルハッシュおよびタイムスタンプ、または他の識別子を含むハッシュデータベース(hash database)に問い合わせ(query)る。この問い合わせ(query:クエリ)は識別子を返し、識別子を使用して、フレーム中のアイテムに関する情報もしくはメタデータのため、または視聴者の調査もしくはその他のデータ収集操作のために、別のデータベースに問い合わせることができる。別の方法として、メタデータは、ハッシュと同じデータベースに保存され、識別子と共に返すことができる。このメタデータには、ソースビデオからの位置、衣服、製品、音楽、もしくはスポーツスコアに関する情報、またはビデオ自体に関する詳細情報(例えば、ランタイム、概要、キャストなど)が含むことができる。サーバはこの情報またはメタデータを再生装置に返し、その後にそれをユーザに表示すことができる。
パーセプチュアルハッシュ(perceptual hash)を使用することは、ビデオフレームおよびそれらのビデオフレーム中のオブジェクトを識別するための他の技術よりもいくつかの利点を提供する。まず、パーセプチュアルハッシュの送信は、ビデオフレームまたは他の識別情報の送信よりも消費するアップストリーム帯域幅(upstream bandwidth)が少ない。パーセプチュアルハッシュを生成しマッチさせることは、専用のハードウェアを必要としない。パーセプチュアルハッシュは、ビデオ品質の劣化に対して非常に堅牢であり、より広範なビデオ視聴および送信条件にわたって、正しいマッチの可能性を高める。また、視聴者のプライバシーも保護される。ハッシュデータベースがない場合、パーセプチュアルハッシュを傍受する人物が、再生装置上に表示されているコンテンツを把握することは決してない。そして、視聴者のみが所有する任意のコンテンツ(例えば、ホームムービー)については、(前述したようなハッシュデータベースを用いても)いかなる人物も、ハッシュ値(hash value)に基づいて再生装置上に何が表示されているかを識別できる手段は、実際上ない。これは、同じハッシュ値をもたらす、生成できる画像の数がほぼ無限にあるため、ソース画像をハッシュから推測またはリバースエンジニアリングすることは事実上不可能である。(技術的には、複数のフレームが同じハッシュベクトルを生成することができるが、512ビットのハッシュベクトルについては、2512個の可能なハッシュベクトル(1の後に154個のゼロ)が存在するため、圧縮されたハッシュ空間(hash space)は、同じハッシュベクトルを使用して異なるフレームをエンコードすることなく、ほぼ無限のフレームをエンコードするのに十分な大きさである。)
さらに、(同じデータベース中のハッシュと関連付けられたアイテム情報とは対照的に)ハッシュデータベースおよびメタデータデータベースを二分岐させる(bifurcate)ことによって、ハッシュデータベースに影響を与えることなく、所定のフレームと関連付けられたメタデータを更新することが可能になる。例えば、所与のコンテンツに表示される製品に関するメタデータは、ハッシュデータベースの変更を必要とせずに、その在庫/価格が変更するにつれて頻繁に更新することができる。
図1は、スマートテレビ、別個のセットトップボックスを備えたテレビ、コンピュータ、タブレット、またはコンテンツプロバイダ120に結合されたスマートフォンなどの再生装置110上のいくつかのフォーマット125の1つで表示することができる、ソースビデオ121中の要素への即時のアクセスを可能にするシステム100を示す。このソースビデオ121は、コンテンツパートナー(例えば、Hallmark Channelは、放送前のエピソードに対するソースビデオ121を提供することができる)、配信パートナー(例えば、Comcast)、インターネットからのダウンロード(例えば、YouTube(登録商標)から)、またはライブビデオ供給からの取り込み(例えば、NBAゲームの供給のライブ取り込み)によって提供することができる。システム100は、ハッシュデータベース140およびアプリケーションプログラミングインターフェース(API)サーバ130に通信可能に結合されたメタデータデータベース150を含み、これは再生装置110にも通信可能に結合されている。例えば、再生装置110、コンテンツプロバイダ120、APIサーバ130、ハッシュデータベース140、およびメタデータデータベース150は、同一または異なる地理的位置にあり、同一または異なる当事者によって操作され、インターネットまたは1つ以上の他の適切な通信ネットワークを介して互いに通信することができる。
(コンテンツソースに応じて、システム100は、図1~4に示すものに加えて、いくつかのステップを実行しうる。例えば、セットトップボックスの場合、コンテンツは、コンテンツプロバイダ120(例えば、ディズニー)から、再生装置でコンテンツを再生するケーブル会社(例えば、Comcast)に配信されてもよい。)
図2~4は、ハッシュデータベース140およびメタデータデータベース150から情報を取り込みおよび検索するためのプロセスを示す。図2は、ハッシュ値ベクトル、ハッシュ値、またはハッシュとも呼ばれるハッシュベクトル145が、ハッシュデータベース140にどのように入力される(populate)かを示す。まず、ソースビデオ121が複数の個々のフレーム123a~123c(総称して、フレーム123)に分割される(ブロック202)。この分割は、一定のフレームレート(例えば、12フレーム/秒(fps))で行うことができ、またはビデオのコンテンツがフレーム間でどれほど大きく変化しているかを示す指標(metric)によって誘導することができ、ビデオのコンテンツが閾値を超えて変化するたびに分割が行われるが、これはハッシュマッチ閾値(hash-matching threshold)に基づくことができ、または所望のレベルのハッシュマッチ精度(hash-matching accuracy)に基づいて実験的に選択することができる。これにより、データベースに保存するハッシュの数が減少する。各ソースフレーム123の複数のバージョン125は、アスペクト比(例えば、16×9の代わりに21×9または4×3)、色値、または他のパラメータに対して行われた修正を用いて、ソースビデオ121が、ブロードキャストトランスコーディングシステム(broadcast transcoding system)などを経た後に再生装置110上に表示されうる様々な方法を複製することを目的として、生成することができる(ブロック204)。
各ソースフレーム123の各バージョン125は、ハッシュ生成プロセッサ(hash generation processor)142によりパーセプチュアルハッシングプロセスを通して実行される(ブロック206)。このハッシュ生成プロセッサ130は、各フレームバージョン125を対応するパーセプチュアル(perceputually:知覚的に)に有意義なハッシュベクトル145に変換する。ハッシュ生成プロセッサ142は、パーセプションハッシング(pHash)、差分ハッシング(dHash)、平均ハッシング(aHash)、またはウェーブレットハッシング(wHash)などの1つ以上のパーセプチュアルハッシュプロセスを使用して、ハッシュベクトル145を生成することができる。ハッシュベクトル145は、固定サイズバイナリベクトル(N×1ベクトルで、ベクトルの各要素が1または0のいずれかを含む)または浮動小数点ベクトルとすることができる。ハッシュベクトル145は、128ビット、256ビット、512ビット、1024ビット、2048ビット、4096ビット、またはそれより大きいものを含むがこれらに限定されない、様々なサイズのいずれかとすることができる。同じソースフレーム123の異なるバージョン125に対するハッシュベクトル145は、それらの視覚的類似性に応じて、互いに近接または離れているものとすることができる。例えば、色がわずかに異なるバージョン125は、互いにマッチするのに十分近いハッシュベクトル145を有することができるのに対し、異なるアスペクト比(例えば、4:3対16:9)を有するバージョン125は、互いに非常に離れているため互いにマッチしないハッシュベクトル145を有することができる。
パーセプチュアルハッシュプロセスおよびハッシュベクトル145のサイズを選択するための考慮事項には、以下が含まれる。
(1)どれほど迅速に、ハッシュを、再生装置110の安価なハードウェア(例えば、スマートテレビまたはセットトップボックス(STB)中のプロセッサ)上で計算できるか(ハッシュベクトルを計算する目標時間の例は、100ミリ秒以下)。
(2)ハッシュベクトル145のサイズ。より小さいハッシュベクトル145は、再生装置110、APIサーバ120、およびハッシュデータベース140間の帯域幅消費の低減、ハッシュデータベース140のメモリ要件の低減、および検索時間の短縮を可能にする。16×16のサイズのdHashは、512ビット出力を有する。より大きなハッシュベクトル145は、より正確なマッチを可能にするが、より多くの帯域幅を消費し、より長い検索時間を有する。
(3)衝突の可能性(2つの異なる画像が同じハッシュベクトルを生成する可能性)。ハッシュベクトルの計算速度およびサイズは、2つの、類似しているが異なる入力に対して正確に異なるハッシュを生成するハッシングプロセス(hashing process)の能力と比較検討するべきである。例えば、(16×16とは対照的に)32×32のサイズでdHashを実行すると、2048ビットのサイズのハッシュベクトルがもたらされ、メモリ記憶空間を4倍にするコストで、フレーム間のより正確な識別(すなわち、より高い精度)が可能となる。使用ケースによっては、これは価値のあるトレードオフである場合があるが、他の使用ケースではそうでない場合がある。
(1)どれほど迅速に、ハッシュを、再生装置110の安価なハードウェア(例えば、スマートテレビまたはセットトップボックス(STB)中のプロセッサ)上で計算できるか(ハッシュベクトルを計算する目標時間の例は、100ミリ秒以下)。
(2)ハッシュベクトル145のサイズ。より小さいハッシュベクトル145は、再生装置110、APIサーバ120、およびハッシュデータベース140間の帯域幅消費の低減、ハッシュデータベース140のメモリ要件の低減、および検索時間の短縮を可能にする。16×16のサイズのdHashは、512ビット出力を有する。より大きなハッシュベクトル145は、より正確なマッチを可能にするが、より多くの帯域幅を消費し、より長い検索時間を有する。
(3)衝突の可能性(2つの異なる画像が同じハッシュベクトルを生成する可能性)。ハッシュベクトルの計算速度およびサイズは、2つの、類似しているが異なる入力に対して正確に異なるハッシュを生成するハッシングプロセス(hashing process)の能力と比較検討するべきである。例えば、(16×16とは対照的に)32×32のサイズでdHashを実行すると、2048ビットのサイズのハッシュベクトルがもたらされ、メモリ記憶空間を4倍にするコストで、フレーム間のより正確な識別(すなわち、より高い精度)が可能となる。使用ケースによっては、これは価値のあるトレードオフである場合があるが、他の使用ケースではそうでない場合がある。
ハッシュベクトル145は、ハッシュデータベース140に保存され(ブロック208)、これは、ハッシュベクトル145の近似最近傍探索(approximate nearest-neighbor search)を、迅速(例えば、<100ミリ秒)かつ高スループット(例えば、毎秒数千回の検索)で可能にするように構成されている。図1は、このハッシュデータベース140を単一の実体として表しているが、実際には、ハッシュデータベース140は複数のシャードを含むことができ、その各々が、ハッシュベクトル145のサブセットを含有する。ハッシュベクトル145は、シャードにわたってランダムに分配することができ、または特定のスキームに従って意図的に分配することができる。例えば、ハッシュデータベース140は、類似の(距離が近い)ベクトル145を同じシャード上に保存することができる。または、ハッシュデータベース140は、最も頻繁に、または最も最近にアクセスされたベクトル145を同じシャード上に保存することができる。または、ハッシュデータベース140は、ハッシュの特徴を使用して、それをどのシャード上に置くかを決定することができる(例えば、局所性鋭敏型ハッシング(Locality Sensitive Hashing)、またはハッシュのサブセット上で訓練されるニューラルネットワークなどの学習プロセスを使用する)。
シャーディング(sharding)は、ベクトル145の各サブセットを同時に検索して結果を集計することを可能にし、多くのハッシュベクトル145が検索されているときでさえも、検索時間を低く保つ。シャードは、例えば、アクセス頻度別にシャードが整理されている場合に、最も頻繁にアクセスされるベクトル145を保存しているシャードが最初に検索され、次に、2番目に頻繁にアクセスされるベクトル145を保存しているシャードが2番目に検索されるなど、マッチが見つかるまで順次検索されることもできる。加えて、所与のビデオからの1つ以上のハッシュに対する検索ボリュームが増加した場合には、そのビデオの残りのハッシュに対するより多くの検索を予想して、そのビデオに対するハッシュのすべてが第1のシャードに同時に昇格することができるという点で、所与のビデオからの全てのハッシュは、このスキームまたはその他のスキームにおいてグループとして扱うことができる。(検証では、市販のハードウェアおよびソフトウェアを使用して、各データベースのシャードが少なくとも数億のハッシュベクトル145を処理でき、総システム100が数十億のハッシュベクトル145を処理できることが示されている。)このシステム100がライブイベント(すなわち、ライブのバスケットボールの試合)に使用された場合、新しいハッシュ145をデータベース140に挿入する時間から、そのハッシュベクトル145がインデックス化され検索に利用可能となるまでの時間は、短い(例えば、5秒未満)はずである。
各ハッシュベクトル145は、ハッシュデータベース140中で、対応するソースビデオ101を識別する情報ならびに対応するフレーム123/125のタイムスタンプおよび/またはフレーム番号/識別子に関連付けられている。一部の場合、同じソースフレーム123の異なるバージョン125は、コンテンツまたは長さの編集のために異なる絶対タイムスタンプを有することができる。これらの場合、各ハッシュベクトル145はまた、関連するフレームバージョン125のタイムスタンプとソースビデオ101の対応するフレーム123のタイムスタンプとの間の差を示す、タイムスタンプオフセットと関連付けることができる。ハッシュデータベース140は、メタデータデータベース150に問い合わせるためのハッシュベクトルの問い合わせに応答して、タイムスタンプ、タイムスタンプオフセット、およびソースビデオ情報を返すことができる。
図3は、ソースビデオ121に対するメタデータがどのように生成されるかを示す。ソースビデオ121は、メタデータ生成およびタグ付けのために、フレーム127a~127c(総称して、フレーム127)の別のセットに分割される(ブロック302)。フレームレートは、パーセプチュアルハッシングに対してよりもメタデータ生成に対して低くすることができるため、メタデータ生成のためのフレーム127のセットは、ハッシングのためのフレーム123のセットよりも小さくすることができる。メタデータ生成のためのフレーム127間の分割は、ソースビデオ121に対する関連するメタデータ(例えば、画面上の俳優/キャラクターに関する情報、撮影場所、画面上のキャラクターが着用する衣服、および/または類似のもの)を生成するために選択される一方、パーセプチュアルハッシングのためのフレーム123間の分割は、自動コンテンツ認識(ACR:automatic content recognition)を実行してソースビデオを識別するために選択される。例えば、被写体ブレ(motion blur)が大きいフレームは、被写体ブレが画面上に現れるアイテムの識別を困難または不可能にするほど十分深刻である場合、メタデータ生成のためには有効ではない場合があり、メタデータ生成から除外することができるが、視覚的に一意な画像(unique image)であるため、ACRのためには依然として有用とすることができる。分割は、異なる基準(criteria)に従って異なる選択をするため、メタデータ生成のために選択されるフレーム127は、ハッシュベクトル125を生成するために使用されるフレーム123とは直接にはマッチ、または整列(align)しない場合がある。結果として、同じソースビデオ121が、異なる数のフレーム123、127および/または異なるタイムスタンプを有するフレーム123、127を、ハッシュ生成(hash generation)およびメタデータ生成のために生じることができる。
メタデータ生成プロセッサ152は、メタデータ生成のために選択されたフレーム127上で動作し、対応するフレーム127のタイムスタンプまたは他の識別子と関連付けられたメタデータを、メタデータデータベース150に保存する(ブロック304および306)。メタデータ生成は、例えば、「Machine-Based Object Recognition of Video Content」と題する米国特許出願公開第2020/0134320 A1号(これは引用することによりその全体が本明細書の一部をなすものとする)に開示されている技術を使用して、ユーザによって、または任意選択的なユーザの介在を伴って、自動的に達成されうる。自動化されたフレームの取り込み(ingestion)およびメタデータ生成により、メタデータをわずか数秒(例えば、5秒以下)で検索に利用できるようになり、本プロセスが、スポーツ、パフォーマンス、およびニュースなどのライブビデオのタグ付けおよび検索に適したものになる。メタデータプロセッサ152によって生成されうるメタデータの例には、画面上にどの俳優/キャラクターがいるか、どの衣服アイテムがそれらの俳優/キャラクターによって着用されているか、または画面上に描写された撮影場所についての情報を含むことができる。このメタデータ生成は、独立して、または図2に示されるフレームハッシング(frame hashing)と共同して行うことができる。
必要に応じて、ソースビデオ101のメタデータの一部またはすべては、メタデータデータベースが入力された後に更新することができる。例えば、ソースビデオ101にタグ付けされた製品が販売されている場合、もはや入手可能でない場合、または別のベンダーから入手可能である場合、メタデータデータベース140中の対応する入力を更新して、変更を反映させることができる。メタデータデータベース140の入力を更新して、他のベンダーから入手可能な類似の製品への参照を含めることもできる。これらの更新は、ハッシュデータベース140の入力のいずれも変更することなく実施することができる。そして、メタデータデータベース150中の入力が、フレーム127のタイムスタンプまたは他の識別情報を含む限り、それらはハッシュデータベース140中の対応するハッシュにマッチさせることができる。
一部の場合、メタデータデータベース150は、ソースビデオ101のみに連動または関連付けられ、ソースビデオの異なるバージョンには連動または関連付けられていないメタデータを保存する。このメタデータは、上述のタイムスタンプおよびタイムスタンプオフセットを使用して、ビデオの異なるバージョンに対して検索することができる。他の場合、メタデータデータベース150は、ソースビデオ101の異なるバージョン(例えば、劇場用リリースおよびテレビ用に編集された短いバージョン)に連動または関連付けられたメタデータを保存する。これらの場合、メタデータデータベースの問い合わせは、ソースビデオ101の対応するバージョンと関連付けられたメタデータを識別して返すことができる。
図4は、再生装置110およびAPIサーバ130がどのようにハッシュデータベース140およびメタデータデータベース150に問い合わせを行うかを示す。再生装置110(例えば、スマートテレビ、セットトップボックス、または他のインターネット接続ディスプレイ)は、ソースビデオ121の潜在的に修正されたバージョンを視聴者に表示する。この変更されたバージョンは、編集(例えば、コンテンツまたは長さについて)、またはフォーマットを変更(例えば、レターボックスまたはトリミング(cropped)して再生することができる。また、コマーシャルおよびその他の休憩を含んでもよい。
視聴者がソースビデオの変更されたバージョンを見ると、ビデオ再生装置は、その画面上に表示されている画像をキャプチャ(capture)し、ハッシュデータベース140に保存されたハッシュベクトル145を生成するために使用されるのと同じパーセプチュアルハッシングプロセス(例えば、pHash、dHash、aHash、またはwHash)を使用して、その画像からハッシュベクトル115を生成する(ブロック404)。再生装置110は、例えば、100ミリ秒以下など、待ち時間をできるだけ低く維持するために、ハッシュベクトル115を迅速に生成する。
再生装置110は、リモコン上のボタンを押すか、またはリモコンもしくは他のデバイス上のマイクに話しかけることによってなされる視聴者の要求またはコマンドに応答して、画像をキャプチャおよびハッシュすることができる。再生装置110はまた、または別の方法として、一定の間隔で(例えば、Nフレームごとまたは1~300秒ごとに1フレーム)フレームをキャプチャしてハッシュし、最も最近に導出されたハッシュベクトル115を使用して、視聴者の要求に応答して検索を実行することができる。(再生装置110が、コマーシャルまたは他のプログラムの中断を感知できる場合、処理負荷および/または帯域幅の消費を低減するために、コマーシャル中はハッシュベクトル115の生成を停止することができる。)または、再生装置110は、代わりに、自動的に生成されたハッシュ115を使用して、バックグラウンドで検索を自動的に実行し、その後の視聴者の要求に応答してその検索結果を表示することができる。再生装置110はまた、自動的に検索された結果を使用して、現在表示されているビデオに対してメタデータが利用可能であることを画面上に通知することにより、視聴者に促すことができる。
再生装置110は、これらのハッシュベクトル115のうちの1つ以上、ならびに任意選択的に、画像中の人、アイテム、および/または場所を識別するために、フレームタイムスタンプおよびビデオコンテンツを識別する情報をAPIサーバ130に送信する(ブロック406)。再生装置110は、各ハッシュベクトル115をAPIサーバ130に送信することができ、またはハッシュベクトル115のサブセットのみをAPIサーバ130に送信することができる。例えば、再生装置110が定期的にハッシュベクトル115を計算する場合、各ハッシュベクトル115をAPIサーバ130に送信することができる。これはより多くの帯域幅を消費するが、APIサーバ130からの情報の要求を送信し、視聴者からのコマンドを待たずにそれらの要求に対する応答を受信することによって、待ち時間を低減する可能性がある。結果として、再生装置110は、再生装置によって表示される人物、オブジェクト、または場所に関する情報についての視聴者の要求に対する応答を、データベースの問い合わせを待たずに表示することができるが、これは、それらの問い合わせがすでに実行されているためである。
別の方法として、または追加的に、再生装置110は、ハッシュベクトル115が定期的に生成されたか、または視聴者からのコマンドに応答して生成されたかに関わらず、視聴者からのコマンドに応答して、ハッシュベクトル115をAPIサーバ130に送信することができる。これは、より少ない帯域幅を消費し、データベースの問い合わせの数を減少させることによって、APIサーバ130、ハッシュデータベース140、およびメタデータデータベース150の処理負荷を低減する。しかし、視聴者が情報を要求するまでAPIサーバ130を問い合わせることを待つことによって、待ち時間が増大する可能性がある。
一部の場合、再生装置110のコンテンツによって示されるソースビデオ121のアイデンティティ(identity:同一性)は、すでに既知であるとすることができ(例えば、スマートテレビまたはセットトップボックスは、テレビ上に示されるプログラムのアイデンティティを知っていてもよい)、システム100は、ソースビデオ121の対応するフレームの正確なタイムスタンプを識別するためにのみ使用されてもよい。これらの場合、再生装置110は、ハッシュ値115に加えてコンテンツの識別子を送信することができる。例えば、コンテンツ識別子は、補助的ACRシステム(例えば、Gracenote)によって生成することができ、またはセットトップボックスを使用して電子プログラミングガイド(EPG:electronic programming guide)情報から引き出することができる。次いで、コンテンツ識別子を使用して、指定されたコンテンツに基づいて、探索空間を制限する、またはハッシュデータベース140からの偽陽性マッチ(false-positive match)を取り除くことができる。
APIサーバ130が、再生装置110からハッシュベクトル115を受信すると、APIサーバ130は、ハッシュデータベース140に、マッチする保存されたハッシュベクトル145(ブロック408)を問い合わせる。ハッシングは1方向であるため、ハッシュが生成された正確なソース値(ビデオフレーム)を決定することは不可能でありうる。しかしながら、ハッシュ値115および145はパーセプチュアルハッシング(例えば、dHash)を使用して生成されているため、類似のソース画像のハッシングは類似のハッシュ値をもたらすため、ハッシュ値間の位置関係/距離には意味がある。これは、入力のわずかな摂動(perturbation)でさえも、劇的に異なるハッシュ値を生成するように設計されている、SHAまたはMD5などの標準的な暗号化ハッシュアルゴリズム(hash algorithm)とは対照的である。
検索が、予め定義された厳しい閾値距離内の類似のハッシュベクトル145をもたらした(ブロック410)場合、ハッシュデータベース140は、マッチするフレームのタイムスタンプをAPIサーバ130に返す。距離の閾値は、実験データおよび所与の使用事例に対する許容可能な偽陽性率(false positive rate)に基づいて決定することができる(より高い閾値は、より高い真陽性率を与える傾向があるが、高い偽陽性率も与える傾向がある)。例えば、システム100は、異なる閾値を使用して検査および調整されて、既知のグラウンドトゥルースタイムスタンプ(ground-truth timestamp)を返すことができる。ハッシュベクトル間の距離は、例えば、L2(ユークリッド)距離またはハミング距離(ベクトルがバイナリである場合)などの様々な距離判定基準(distance metric)のうちの1つを使用して計算されうる。別の方法として、コサイン類似性または交差相関などの類似性の他の概念を使用して、ハッシュを比較することができる。加えて、閾値は、異なるビデオに対して、またはハッシュデータベースの異なるシャードに対して、異なる方法で設定することができる。
厳しい閾値距離(strict threshold distance)内にマッチが見つからない場合、厳しさの低い(より緩い)閾値を使用することができ(ブロック412)、偽陽性の精度を維持するためにコンセンサス法が用いられる。例えば、より緩い閾値を用いた3つの最も近いマッチが、すべて同じソースビデオ101からのものであり、互いに数秒以内のタイムスタンプを有する場合、これは、厳しい閾値の範囲外であったとしても最も近いマッチが正しいという、より大きな確信を提供する。しかし、3つの最も近いマッチが、異なるソースビデオ101からのものである場合、および/または数秒を超えて離れたタイムスタンプを有する場合、マッチがないと推測する方が安全とすることができる。マッチが見つからない場合、APIサーバ130は、ヌルの結果を再生装置110に返す(ブロック420)。
ハッシュデータベース140中にマッチするハッシュがある場合、ハッシュデータベースの問い合わせは、マッチするハッシュについて、ソースビデオ101に関するタイムスタンプおよび関連情報をAPIサーバ130に返す(ブロック414)。APIサーバ130は、このタイムスタンプを再生装置110に送信し、および/またはこのタイムスタンプおよび関連するソースビデオ情報を使用して、メタデータデータベース150に、マッチするフレームのメタデータを問い合わせることができる(ブロック416)。メタデータデータベース150は、要求されたメタデータをAPIサーバ130に返し、これは次に、要求されたメタデータを再生装置110に送信して、視聴者に表示する(ブロック418)。再生装置110は、要求された情報を、ビデオ上に現れるかまたはビデオと一体化するオーバーレイ(overlay)で視聴者に表示する。表示された情報は、再生装置110または、スマートフォンもしくはタブレットなどの別の装置を介して、視聴者が製品を購入することを可能にするリンクまたは他の情報を含むことができる。視聴者へのメタデータの表示に関する詳細は、例えば、「Dynamic Media-Product Searching Platform Apparatuses, Methods and Systems」と題する米国特許第_____号(米国特許出願第14/527,854号から発行され、これはその全体が引用することにより本明細書の一部をなすものとする)を参照されたい。
結論
発明に関するさまざまな実施形態を本明細書に記述し、かつ例示してきたが、当業者は、本明細書に記載の機能を実施するための、ならびに/または結果および/もしくは1つ以上の利点を得るための、さまざまな他の手段および/または構造を容易に想定し、またこうした変形および/または修正のそれぞれは、本明細書に記載の発明に関する実施形態の範囲内であるものと見なされる。より一般的に、当業者は、本明細書に記載のすべてのパラメータ、寸法、材料、および構成が例示であることを意味することと、実際のパラメータ、寸法、材料、および/または構成が、本発明の教示が使用される特定の用途(複数可)に依存することとを容易に理解するであろう。当業者は、本明細書に記載の特定の発明に関する実施形態の多くの同等物を、単に通常の実験を用いて認識し、または確認することができるであろう。従って、前述の実施形態は、例としてのみ提示されていて、添付の特許請求の範囲およびその均等物の範囲内で、発明に関する実施形態は、具体的に記述および特許請求される以外の形で実践されうることが理解される。本開示の発明に関する実施形態は、本明細書に記載の各個々の特徴、システム、物品、材料、キット、および/または方法を対象とする。加えて、2つ以上のこうした特徴、システム、物品、材料、キット、および/または方法の任意の組み合わせは、こうした特徴、システム、物品、材料、キット、および/または方法が相互に矛盾しない場合、本開示の発明の範囲内に含まれる。
発明に関するさまざまな実施形態を本明細書に記述し、かつ例示してきたが、当業者は、本明細書に記載の機能を実施するための、ならびに/または結果および/もしくは1つ以上の利点を得るための、さまざまな他の手段および/または構造を容易に想定し、またこうした変形および/または修正のそれぞれは、本明細書に記載の発明に関する実施形態の範囲内であるものと見なされる。より一般的に、当業者は、本明細書に記載のすべてのパラメータ、寸法、材料、および構成が例示であることを意味することと、実際のパラメータ、寸法、材料、および/または構成が、本発明の教示が使用される特定の用途(複数可)に依存することとを容易に理解するであろう。当業者は、本明細書に記載の特定の発明に関する実施形態の多くの同等物を、単に通常の実験を用いて認識し、または確認することができるであろう。従って、前述の実施形態は、例としてのみ提示されていて、添付の特許請求の範囲およびその均等物の範囲内で、発明に関する実施形態は、具体的に記述および特許請求される以外の形で実践されうることが理解される。本開示の発明に関する実施形態は、本明細書に記載の各個々の特徴、システム、物品、材料、キット、および/または方法を対象とする。加えて、2つ以上のこうした特徴、システム、物品、材料、キット、および/または方法の任意の組み合わせは、こうした特徴、システム、物品、材料、キット、および/または方法が相互に矛盾しない場合、本開示の発明の範囲内に含まれる。
また、さまざまな発明に関する概念が、1つ以上の方法として具現化することができ、その例を提供してきた。方法の一部として行われる行為は、任意の好適なやり方で順序付けることができる。その結果、行為が例示するものとは異なる順序で実施される実施形態を構築することができ、それは、例示的な実施形態に連続する行為として示されている場合であってさえも、一部の行為を同時に実施することを含むことができる。
本明細書で定義および使用されるすべての定義は、辞書による定義、引用することにより本明細書の一部をなすものとする文書中の定義、および/または定義された用語の通常の意味を統制するものと理解されるべきである。
本明細書および特許請求の範囲で使用する不定冠詞「1つの(「a」および「an」)」は、明確にそうでないと示されない限り、「少なくとも1つ」を意味すると理解されるべきである。
本明細書および特許請求の範囲で使用する「および/または」という語句は、結合された要素の「いずれかまたは両方」を意味し、すなわち一部の場合において接続的に存在し、他の場合において離接的に存在する要素を意味すると理解されるべきである。「および/または」で挙げられる複数の要素は、同じ様式、すなわち等位接続される要素のうちの「1つ以上」と解釈されるべきである。具体的に識別される要素に関連するかまたは関連しないかにかかわらず、「および/または」節によって具体的に識別される要素以外に、他の要素が随意に存在し得る。それゆえに、非限定的な例として、「Aおよび/またはB」への言及は、「含む」などの制限のない語法と連動して使われるときに、一実施形態においてAのみ(任意選択的にB以外の要素を含む)、別の実施形態においてBのみ(任意選択的にA以外の要素を含む)、さらに別の実施形態においてAとBの両方(任意選択的に他の要素を含む)などを指すことができる。
本明細書および特許請求の範囲において使用する場合、「または」は、上で定義した「および/または」と同じ意味を有すると理解されるべきである。例えば、リスト内の項目を分離するとき、「または」または「および/または」は包括的なもの、すなわち多数の要素または要素のリスト、および任意選択的にリストに無い追加の項目のうちの少なくとも1つを含むが、2つ以上も含むと解釈されるものとする。それとは反対であると明確に指示される用語、例えば「のうちの1つのみ」もしくは「のうちのまさに1つ」、または特許請求の範囲において使用する時の「から成る」などの用語のみが、多数のまたは列挙された要素のうちのまさに1つの要素を包含することを指すことになる。一般に、本明細書で使用する場合、「または」という用語は、「いずれか」、「のうちの1つ」、「のうちの1つのみ」、または「のうちのまさに1つ」など、排他的な用語が先行する時に、排他的な選択肢(すなわち「両方ではなく一方または他方」)を示すとのみ解釈されるものとする。「から本質的に成る」は、特許請求の範囲で使用する場合、特許法の分野において使用される通常の意味を有するものとする。
本明細書および特許請求の範囲で使用する場合、1つ以上の要素のリストに関連する「少なくとも1つ」という語句は、要素のリストの中の要素のいずれか1つ以上から選択される、少なくとも1つの要素を意味するが、要素のリスト内で具体的に列挙したありとあらゆる要素のうちの、少なくとも1つを必ずしも含むわけではなく、要素のリストのいかなる要素の組み合せも除外するものではないと理解されるべきである。またこの定義によって、「少なくとも1つ」という語句が指す、要素のリスト内で具体的に識別される以外の要素が、具体的に識別される要素に関連するかまたは関連しないかにかかわらず、任意選択的に存在しうることも許容される。それゆえに、非限定的な例として、「AおよびBのうちの少なくとも1つ」(または等価的に「AまたはBのうちの少なくとも1つ」、もしくは等価的に「Aおよび/またはBのうちの少なくとも1つ」)は、一実施形態においてBは存在せず、任意選択的に2つ以上のAを含む、少なくとも1つのA(任意選択的にB以外の要素を含む)、別の実施形態においてAは存在せず、任意選択的に2つ以上のBを含む、少なくとも1つのB(任意選択的にA以外の要素を含む)、また別の実施形態において任意選択的に2つ以上のAを含む、少なくとも1つのA、および任意選択的に2つ以上のBを含む、少なくとも1つのB(任意選択的に他の要素を含む)を指すことなどができる。
特許請求の範囲、ならびに上記の明細書において、すべての移行句、例えば「含む(comprising)」、「含む(including)」、「持つ(carrying)」、「有する(having)」、「包含する(containing)」、「伴う(involving)」、「保つ(holding)」、「から構成される(composed of)」、およびこれに類するものは制限がないと理解され、すなわち含むがそれに限定はされないということを意味する。「から成る(consisting of)」および「から本質的に成る(consisting essentially of)」という移行句のみが、米国特許局の特許審査手続便覧、セクション2111.03に規定の通り、それぞれ閉鎖的または半閉鎖的な移行句であるものとする。
Claims (38)
- ソースビデオのフレームを識別する方法であって、
前記ソースビデオの異なるバージョンのそれぞれのフレームに対してハッシュベクトルを生成することと、
前記ハッシュベクトルを、データベース中の前記ソースビデオに関する情報と関連付けることと、
再生装置上で前記ソースビデオの第1のバージョンを再生することと、
前記ソースビデオの前記第1のバージョンの第1のフレームに対して第1のハッシュベクトルを生成することと、
前記第1のハッシュベクトルを、前記データベース中の前記ハッシュベクトルの中のマッチするハッシュベクトルにマッチさせることと、
前記第1のハッシュベクトルを前記マッチするハッシュベクトルにマッチさせることに応答して、前記ソースビデオに関する情報を前記データベースから検索することと
を含む方法。 - 前記再生装置が、テレビ、セットトップボックス、コンピュータ、またはモバイルデバイスのうちの少なくとも1つを含む、請求項1に記載の方法。
- 前記第1のハッシュベクトルが前記マッチするハッシュベクトルにマッチすると判定することが、前記第1のハッシュベクトルが、前記マッチするハッシュベクトルの閾値距離内にあると判定することを含む、請求項1に記載の方法。
- 前記マッチするハッシュベクトルが、前記ソースビデオの前記第1のバージョンとは異なる前記ソースビデオの第2のバージョンのフレームに対するものである、請求項1に記載の方法。
- 前記ハッシュベクトルおよび前記第1のハッシュベクトルが、パーセプチュアルハッシングプロセスを用いて生成される、請求項1に記載の方法。
- 前記パーセプチュアルハッシングプロセスが、パーセプションハッシング(pHash)、差分ハッシング(dHash)、平均ハッシング(aHash)、およびウェーブレットハッシング(wHash)から成る群の1要素である、請求項5に記載の方法。
- 前記第1のハッシュベクトルを生成することが、約100ミリ秒以内に起こる、請求項6に記載の方法。
- 前記第1のハッシュベクトルが、4096ビット以下のサイズを有する、請求項6に記載の方法。
- 前記ハッシュベクトルがどの程度の頻度でアクセスされたか、または前記ハッシュベクトルがどの程度最近にアクセスされたかのうちの少なくとも1つに基づいて、前記ハッシュベクトルをサブセットに分離することと、
各サブセットを前記データベースの異なるシャードに保存することと
をさらに含む請求項1に記載の方法。 - 前記ハッシュベクトル間の距離に基づいて、前記ハッシュベクトルをサブセットに分離することと、
各サブセットを前記データベースの異なるシャードに保存することと
をさらに含む請求項1に記載の方法。 - 前記ハッシュベクトルの特徴に基づいて、前記ハッシュベクトルをサブセットに分離することと、
各サブセットを前記データベースの異なるシャードに保存することと
をさらに含む請求項1に記載の方法。 - 前記ハッシュベクトルをランダムにサブセットに分離することと、
各サブセットを前記データベースの異なるシャードに保存することと
をさらに含む請求項1に記載の方法。 - 前記第1のハッシュベクトルを生成することは、一定の間隔で自動的に起こる、請求項1に記載の方法。
- 前記第1のハッシュベクトルを生成することは、視聴者からのコマンドに応答して起こる、請求項1に記載の方法。
- ソースビデオの異なるバージョンのそれぞれのフレームに対するハッシュベクトルを保存するデータベースであって、前記ハッシュベクトルは前記ソースビデオに関する情報と前記データベース中で関連付けられているものである、データベースと、
再生装置上で再生された前記ソースビデオの第1のバージョンの第1のフレームに対する第1のハッシュベクトルを有する前記データベースに問い合わせるため、および前記ソースビデオに関する情報を、前記第1のハッシュベクトルと前記データベース中の前記ハッシュベクトルの中のマッチするハッシュベクトルとのマッチに応答して返すために、前記データベースに通信可能に結合されたアプリケーションプログラミングインターフェース(API)と
を備えるシステム。 - ソースビデオに関連付けられたメタデータを識別および取得する方法であって、
前記ソースビデオの少なくとも1つのバージョンのそれぞれのフレームに対してハッシュベクトルを生成することと、
前記ハッシュベクトルを第1のデータベースに保存することと、
前記それぞれのフレームに対応するメタデータを第2のデータベースに保存することと、
再生装置上で前記ソースビデオの第1のバージョンを再生することと、
前記ソースビデオの前記第1のバージョンの第1のフレームに対して第1のハッシュベクトルを生成することと、
前記第1のハッシュベクトルを、前記第1のデータベース中の前記ハッシュベクトルの中のマッチするハッシュベクトルにマッチさせることと、
前記第1のハッシュベクトルを前記マッチするハッシュベクトルにマッチさせることに応答して、前記第2のデータベースから前記マッチするハッシュベクトルに対応する前記メタデータを検索することと、
前記再生装置を介して前記メタデータを前記視聴者に表示することと
を含む方法。 - 前記再生装置が、テレビ、セットトップボックス、コンピュータ、またはモバイルデバイスのうちの少なくとも1つを含む、請求項16に記載の方法。
- 前記メタデータが、前記ソースビデオ中の場所、前記ソースビデオ中の俳優が着用する衣服、前記ソースビデオ中に現れる製品、または前記ソースビデオを再生する音楽のうちの少なくとも1つを表す、請求項16に記載の方法。
- 前記ハッシュベクトルは、それぞれのタイムスタンプによって前記メタデータと関連付けられている、請求項16に記載の方法。
- 前記第1のハッシュベクトルを前記マッチするハッシュベクトルにマッチさせることが、
前記第1のハッシュベクトルをアプリケーションプログラミングインターフェース(API)サーバに送信することと、
前記APIサーバを介して、前記第1のハッシュベクトルが、前記第1のデータベース中の前記ハッシュベクトルの中の前記マッチするハッシュベクトルにマッチすると判定することと、
前記第1のハッシュベクトルを前記マッチするハッシュベクトルにマッチさせることに応答して、前記第1のデータベース中の前記マッチするハッシュベクトルに関連付けられた前記タイムスタンプを識別することと
を含み、前記メタデータを検索することがさらに、
前記タイムスタンプに基づいて、前記第2のデータベースに問い合わせることと、
前記第2のデータベースから、前記タイムスタンプと関連付けられた前記メタデータを検索することと
を含む、請求項19に記載の方法。 - 前記第1のハッシュベクトルが前記マッチするハッシュベクトルにマッチすると判定することは、前記第1のハッシュベクトルが、前記マッチするハッシュベクトルの閾値距離内にあると判定することを含む、請求項16に記載の方法。
- 前記マッチするハッシュベクトルは、前記ソースビデオの前記第1のバージョンとは異なる前記ソースビデオの第2のバージョンのフレームに対するものである、請求項16に記載の方法。
- 前記ハッシュベクトルおよび前記第1のハッシュベクトルは、パーセプチュアルハッシングプロセスを用いて生成されるものである、請求項16に記載の方法。
- 前記パーセプチュアルハッシングプロセスは、パーセプションハッシング(pHash)、差分ハッシング(dHash)、平均ハッシング(aHash)、およびウェーブレットハッシング(wHash)から成る群の1要素である、請求項23に記載の方法。
- 前記第1のハッシュベクトルを生成することは、約100ミリ秒以内に起こる、請求項24に記載の方法。
- 前記第1のハッシュベクトルは、4096ビット以下のサイズを有する、請求項24に記載の方法。
- 前記ハッシュベクトルを保存することは、
前記ハッシュベクトルがどの程度の頻度でアクセスされたか、または前記ハッシュベクトルがどの程度最近にアクセスされたかのうちの少なくとも1つに基づいて、前記ハッシュベクトルをサブセットに分離することと、
各サブセットを前記第1のデータベースの異なるシャードに保存することと
を含む、請求項16に記載の方法。 - 前記ハッシュベクトルを保存することは、
前記ハッシュベクトル間の距離に基づいて、前記ハッシュベクトルをサブセットに分離することと、
各サブセットを前記第1のデータベースの異なるシャードに保存することと
を含む、請求項16に記載の方法。 - 前記ハッシュベクトルを保存することは、
前記ハッシュベクトルの特徴に基づいて、前記ハッシュベクトルをサブセットに分離することと、
各サブセットを前記第1のデータベースの異なるシャードに保存することと
を含む、請求項16に記載の方法。 - 前記ハッシュベクトルを保存することが、
前記ハッシュベクトルをランダムに等しいサブセットに分離することと、
各サブセットを前記第1のデータベースの異なるシャードに保存することと
を含む、請求項16に記載の方法。 - 前記第1のデータベース中の前記ハッシュベクトルを変更せずに、前記メタデータを更新することをさらに含む、請求項16に記載の方法。
- 前記第1のハッシュベクトルを生成することは、一定の間隔で自動的に発生する、請求項16に記載の方法。
- 前記第1のハッシュベクトルを生成することは、視聴者からのコマンドに応答して起こる、請求項16に記載の方法。
- ソースビデオの異なるバージョンのそれぞれのフレームに対するハッシュベクトルを保存するための第1のデータベースであって、前記ハッシュベクトルは前記ソースビデオに関する情報と前記第1のデータベース中で関連付けられているものである、第1のデータベースと、
前記ソースビデオに関するメタデータを保存するための第2のデータベースと、
再生装置上で再生される前記ソースビデオの第1のバージョンの第1のフレームに対する第1のハッシュベクトルを有する前記第1のデータベースに問い合わせるため、および前記第1のハッシュベクトルと前記データベース中の前記ハッシュベクトルの中のマッチするハッシュベクトルとのマッチに応答して、前記第1のデータベースから返される前記ソースビデオに関する前記情報に基づいて、前記ソースビデオに関する前記メタデータの少なくとも一部について、前記第2のデータベースに問い合わせるための、前記第1のデータベースおよび前記第2のデータベースに通信可能に結合されたアプリケーションプログラミングインターフェース(API)と
を備えるシステム。 - ビデオに関連付けられたメタデータを識別、取得、および表示する方法であって、
前記ビデオを、ディスプレイを介して再生することと、
前記ビデオの第1のフレームに対して第1のハッシュベクトルを生成することと、
前記第1のハッシュベクトルをアプリケーションプログラミングインターフェース(API)サーバに送信することと、
前記APIサーバを介して、前記第1のフレームと関連付けられた前記メタデータをメタデータデータベースから取得することであって、前記メタデータが、前記第1のハッシュベクトルを、ハッシュベクトルデータベースに保存された第2のハッシュベクトルにマッチさせることに応答して、前記第1のデータベースから検索されることと、
前記ディスプレイを介して、前記第1のフレームと関連付けられた前記メタデータをユーザに表示することと
を含む方法。 - データベースで、ビデオの第1のフレームに対して生成された第1のハッシュベクトルを受信することと、
前記第1のハッシュベクトルを前記データベースに保存することと、
前記データベースで、再生装置から第2のハッシュベクトルに基づいた問い合わせを受信することと、
前記第2のハッシュベクトルに対して前記データベースの前記問い合わせを実行することと、
前記第2のハッシュベクトルを前記第1のハッシュベクトルにマッチさせることに応答して、前記第1のハッシュベクトルと関連付けられたタイムスタンプをアプリケーションプログラミングインターフェース(API)サーバに送信することであって、前記タイムスタンプはメタデータを前記ビデオの前記第1のフレームと関連付けることと
を含む方法。 - ソースビデオの第1のフレームに対して第1のハッシュベクトルを生成することと、
前記第1のハッシュベクトルを第1のデータベースに保存することと、
再生装置上で前記ソースビデオの1つのバージョンを再生することと、
前記ソースビデオの前記バージョンの第2のフレームに対して第2のハッシュベクトルを生成することと、
前記第2のハッシュベクトルを前記第1のデータベース中の前記第1のハッシュベクトルにマッチさせることと
を含む方法。 - 前記第2のハッシュベクトルを前記第1のハッシュベクトルにマッチさせることに応答して、前記第2のハッシュベクトルに対応するタイムスタンプを検索することと、
前記タイムスタンプを前記再生装置に送信することと
を含む、請求項37に記載の方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201962870127P | 2019-07-03 | 2019-07-03 | |
US62/870,127 | 2019-07-03 | ||
PCT/US2020/040584 WO2021003323A1 (en) | 2019-07-03 | 2020-07-02 | Identifying and retrieving video metadata with perceptual frame hashing |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2022542643A true JP2022542643A (ja) | 2022-10-06 |
Family
ID=74101125
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2021576733A Pending JP2022542643A (ja) | 2019-07-03 | 2020-07-02 | パーセプチュアルフレームハッシングを使用したビデオメタデータの識別および検索 |
Country Status (5)
Country | Link |
---|---|
US (3) | US11321389B2 (ja) |
EP (1) | EP3994615A4 (ja) |
JP (1) | JP2022542643A (ja) |
KR (1) | KR20220077120A (ja) |
WO (1) | WO2021003323A1 (ja) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2022542643A (ja) | 2019-07-03 | 2022-10-06 | ペインテッド・ドッグ・インコーポレイテッド | パーセプチュアルフレームハッシングを使用したビデオメタデータの識別および検索 |
EP4087265A4 (en) * | 2020-01-03 | 2023-08-16 | LG Electronics Inc. | DISPLAY DEVICE AND DISPLAY SYSTEM |
US11417099B1 (en) | 2021-11-08 | 2022-08-16 | 9219-1568 Quebec Inc. | System and method for digital fingerprinting of media content |
US11496288B1 (en) * | 2022-04-08 | 2022-11-08 | Verkada Inc. | Enhanced encryption for face-related data |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8494234B1 (en) | 2007-03-07 | 2013-07-23 | MotionDSP, Inc. | Video hashing system and method |
US8171030B2 (en) * | 2007-06-18 | 2012-05-01 | Zeitera, Llc | Method and apparatus for multi-dimensional content search and video identification |
WO2009018168A2 (en) * | 2007-07-27 | 2009-02-05 | Synergy Sports Technology, Llc | Using a website containing video playlists as input to a download manager |
US8195689B2 (en) * | 2009-06-10 | 2012-06-05 | Zeitera, Llc | Media fingerprinting and identification system |
US9026668B2 (en) | 2012-05-26 | 2015-05-05 | Free Stream Media Corp. | Real-time and retargeted advertising on multiple screens of a user watching television |
US9071868B2 (en) * | 2009-05-29 | 2015-06-30 | Cognitive Networks, Inc. | Systems and methods for improving server and client performance in fingerprint ACR systems |
US8730354B2 (en) * | 2010-07-13 | 2014-05-20 | Sony Computer Entertainment Inc | Overlay video content on a mobile device |
GB201210702D0 (en) * | 2012-06-15 | 2012-08-01 | Qatar Foundation | A system and method to store video fingerprints on distributed nodes in cloud systems |
US9773228B2 (en) * | 2012-11-02 | 2017-09-26 | Facebook, Inc. | Systems and methods for sharing images in a social network |
CA2924764C (en) * | 2013-10-21 | 2020-03-10 | Microsoft Technology Licensing, Llc | Mobile video search |
WO2017019643A1 (en) | 2015-07-24 | 2017-02-02 | Videoamp, Inc. | Targeting tv advertising slots based on consumer online behavior |
US9906831B2 (en) * | 2016-02-24 | 2018-02-27 | Sorenson Media, Inc. | Fingerprinting media content using hashing |
US20190042853A1 (en) * | 2017-08-04 | 2019-02-07 | Facebook, Inc. | System and Method of Determining Video Content |
US20190129806A1 (en) * | 2017-10-27 | 2019-05-02 | Synology Inc. | Methods and computer program products for a file backup and apparatuses using the same |
US10846554B2 (en) * | 2018-07-17 | 2020-11-24 | Avigilon Corporation | Hash-based appearance search |
US10839220B2 (en) * | 2018-10-15 | 2020-11-17 | Kepler Vision Technologies B.V. | Method for categorizing a scene comprising a sub-scene with machine learning |
JP2022542643A (ja) | 2019-07-03 | 2022-10-06 | ペインテッド・ドッグ・インコーポレイテッド | パーセプチュアルフレームハッシングを使用したビデオメタデータの識別および検索 |
-
2020
- 2020-07-02 JP JP2021576733A patent/JP2022542643A/ja active Pending
- 2020-07-02 KR KR1020227003009A patent/KR20220077120A/ko unknown
- 2020-07-02 US US17/271,061 patent/US11321389B2/en active Active
- 2020-07-02 EP EP20834443.2A patent/EP3994615A4/en active Pending
- 2020-07-02 WO PCT/US2020/040584 patent/WO2021003323A1/en unknown
-
2022
- 2022-04-06 US US17/714,533 patent/US11727375B2/en active Active
-
2023
- 2023-07-17 US US18/353,426 patent/US12062026B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
US11321389B2 (en) | 2022-05-03 |
US12062026B2 (en) | 2024-08-13 |
KR20220077120A (ko) | 2022-06-08 |
EP3994615A1 (en) | 2022-05-11 |
WO2021003323A1 (en) | 2021-01-07 |
US20220229867A1 (en) | 2022-07-21 |
US20210256058A1 (en) | 2021-08-19 |
US11727375B2 (en) | 2023-08-15 |
EP3994615A4 (en) | 2023-07-19 |
US20240013178A1 (en) | 2024-01-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11971919B2 (en) | Systems and methods for partitioning search indexes for improved efficiency in identifying media segments | |
US12062026B2 (en) | Identifying and retrieving video metadata with perceptual frame hashing | |
US10820048B2 (en) | Methods for identifying video segments and displaying contextually targeted content on a connected television | |
US20210084369A1 (en) | Methods for identifying video segments and displaying contextually targeted content on a connected television | |
EP2541963B1 (en) | Method for identifying video segments and displaying contextually targeted content on a connected television | |
US10873788B2 (en) | Detection of common media segments | |
WO2012138491A2 (en) | Video signature | |
US20240333995A1 (en) | Methods and systems for accessing media content from multiple sources | |
KR20160080603A (ko) | 협찬 상품 정보 제공 방법, 서버 및 시스템 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20230628 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20240712 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20240726 |