JP7299327B2 - ビデオの生成 - Google Patents

ビデオの生成 Download PDF

Info

Publication number
JP7299327B2
JP7299327B2 JP2021544221A JP2021544221A JP7299327B2 JP 7299327 B2 JP7299327 B2 JP 7299327B2 JP 2021544221 A JP2021544221 A JP 2021544221A JP 2021544221 A JP2021544221 A JP 2021544221A JP 7299327 B2 JP7299327 B2 JP 7299327B2
Authority
JP
Japan
Prior art keywords
video
sub
data
target object
videos
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.)
Active
Application number
JP2021544221A
Other languages
English (en)
Other versions
JP2022541361A (ja
Inventor
ネイサン・ジェームズ・フレイ
ジェン・スン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Google LLC
Original Assignee
Google LLC
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 Google LLC filed Critical Google LLC
Publication of JP2022541361A publication Critical patent/JP2022541361A/ja
Application granted granted Critical
Publication of JP7299327B2 publication Critical patent/JP7299327B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/02Editing, e.g. varying the order of information signals recorded on, or reproduced from, record carriers
    • G11B27/031Electronic editing of digitised analogue information signals, e.g. audio or video signals
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • G11B27/19Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier
    • G11B27/28Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording
    • 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/44Processing 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/44016Processing 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 splicing one content stream with another content stream, e.g. for substituting a video clip
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • 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/41Higher-level, semantic clustering, classification or understanding of video scenes, e.g. detection, labelling or Markovian modelling of sport events or news items
    • 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/49Segmenting video sequences, i.e. computational techniques such as parsing or cutting the sequence, low-level clustering or determining units such as shots or scenes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/50Context or environment of the image
    • G06V20/52Surveillance or monitoring of activities, e.g. for recognising suspicious objects
    • 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/435Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream
    • H04N21/4355Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream involving reformatting operations of additional data, e.g. HTML pages on a television screen
    • 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/44Processing 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/4402Processing 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 reformatting operations of video signals for household redistribution, storage or real-time display
    • 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/47205End-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 manipulating displayed content, e.g. interacting with MPEG-4 objects, editing locally
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10016Video; Image sequence

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Computational Linguistics (AREA)
  • Software Systems (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Human Computer Interaction (AREA)
  • Computing Systems (AREA)
  • Databases & Information Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Information Transfer Between Computers (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Description

本明細書は、ビデオの生成に関する。
インターネットは、地球を横断する、ユーザ間での情報の交換を容易にする。ビデオを含む、複数の異なるプロバイダからのコンテンツが単一の電子文書の中に組み込まれて、複合文書を作成することができる。たとえば、電子文書の中に含まれるコンテンツの一部分が、電子文書の発行者によって選択(または、指定)されてよい。コンテンツ(たとえば、ビデオを含む、サードパーティのコンテンツ)の様々な部分は、サードパーティ(たとえば、電子文書の発行者でないエンティティ)によって提供され得、電子文書の中に組み込まれて、複数の異なるソースからのコンテンツを含む複合文書を形成することができる。
J.Henriques、R.Caseiro、P.Martins、J.Batista、「High-speed tracking with kernelized correlation filters」、IEEE Transactions on Pattern Analysis and Machine Intelligence、第37巻、第3号、583~596頁(2014) N.Wojke、A.Bewley、D.Paulus、「Simple online and realtime tracking with a deep association metric」、2017 IEEE International Conference on Image Processing (ICIP)、3645~3649頁(2017)
本明細書は、各々がターゲットオブジェクトタイプのそれぞれのオブジェクトを表示する入力ビデオから複数のサブビデオを抽出するために入力ビデオを処理することができる、1つまたは複数のロケーションにおいて1つまたは複数のコンピュータ上でコンピュータプログラムとして実装されるシステムを説明する。システムは、(たとえば、所与のトピック(topic)に関係するターゲットオブジェクトタイプを含む)「トピカル(topical)」ビデオを生成するために、ターゲットオブジェクトタイプのオブジェクトを表示するサブビデオを組み合わせることができる。トピカルビデオは、たとえば、検索結果の横またはサードパーティのウェブサイト上のブロックの中でユーザデバイスにおいて電子文書と一緒に提示するために送信される、デジタルコンポーネントの中に組み込まれてよい。
第1の態様によれば、1つまたは複数のデータ処理装置によって実行される方法が提供され、方法は、(i)ビデオフレームのシーケンスを備える入力ビデオ、および(ii)ターゲットオブジェクトタイプを示すデータを受信することと、入力ビデオの中のターゲットオブジェクトタイプのターゲットオブジェクトの1つまたは複数のインスタンスの視覚的ロケーションを識別および追跡する追跡データを生成するために、入力ビデオを処理することと、サブビデオごとに、ターゲットオブジェクトタイプの識別されたターゲットオブジェクトの中から所与のターゲットオブジェクトのそれぞれのインスタンスを含むように、各々が入力ビデオのそれぞれのビデオフレームから抽出されるサブビデオフレームのそれぞれのシーケンスを生成することを含む、入力ビデオおよび追跡データに基づいて複数のサブビデオを生成することであって、サブビデオフレームのうちの少なくとも1つが、それぞれのビデオフレームのコンテンツを全体よりも小さく含むように、入力ビデオのそれぞれのビデオフレームからクロップ(crop)されることと、複数のサブビデオを備える出力ビデオを生成することとを備える。
いくつかの実装形態では、追跡データを生成するために入力ビデオを処理することは、入力ビデオの中のターゲットオブジェクトタイプのターゲットオブジェクトのインスタンスごとに、入力ビデオの複数のビデオフレームの各々に対して、ビデオフレームの中のターゲットオブジェクトのインスタンスを囲むそれぞれのバウンディングボックス(bounding box)を決定することを備える。
いくつかの実装形態では、サブビデオごとに、サブビデオフレームのそれぞれのシーケンスを生成することは、サブビデオに対応する所与のターゲットオブジェクトのインスタンスを囲むそれぞれのバウンディングボックスを、入力ビデオの複数のビデオフレームの各々からクロップすることを備える。
いくつかの実装形態では、サブビデオごとに、サブビデオフレームのそれぞれのシーケンスを生成することは、入力ビデオの複数のビデオフレームの各々の中のサブビデオに対応する所与のターゲットオブジェクトのインスタンスを囲む同じバウンディングボックスを、追跡データに基づいて決定することと、入力ビデオの複数のビデオフレームの各々から同じバウンディングボックスをクロップすることとを備える。
いくつかの実装形態では、第1のサブビデオのサブビデオフレームおよび第2のサブビデオのサブビデオフレームが各々、入力ビデオの同じビデオフレームからクロップされる。
いくつかの実装形態では、複数のサブビデオを備える出力ビデオを生成することは、複数のサブビデオを組み合わせるためのフォーマットを規定するビデオテンプレートの中のそれぞれのスロットに、複数のサブビデオの各サブビデオを割り当てることを備える。
いくつかの実装形態では、方法は、1つまたは複数の追加のデータ要素を受信することと、ビデオテンプレートの中のそれぞれのスロットに追加の各データ要素を割り当てることとをさらに備える。
いくつかの実装形態では、追加の各データ要素は、画像データ、テキストデータ、またはその両方を備える。
いくつかの実装形態では、出力ビデオは、複数のサブビデオのサブビデオのうちの少なくとも2つを同時に表示する。
いくつかの実装形態では、方法は、デジタルコンポーネントを求める要求を受信することと、出力ビデオを含むデジタルコンポーネントが要求に応答することを決定することと、検索結果の横またはサードパーティのウェブページ上での要求の提示に応答して、出力ビデオを含むデジタルコンポーネントを提供することとをさらに備える。
いくつかの実装形態では、ターゲットオブジェクトタイプを示すデータを受信することは、キーワードを指定するデータを受信することと、キーワードからの、可能なターゲットオブジェクトタイプの既定のセットへのマッピングに従って、ターゲットオブジェクトタイプにキーワードをマッピングすることとを備える。
別の態様によれば、1つまたは複数のデータ処理装置と命令を記憶する1つまたは複数の記憶デバイスとを備えるシステムが提供され、命令は、1つまたは複数のデータ処理装置によって実行されたとき、上記で説明した方法の動作を1つまたは複数のデータ処理装置に実行させる。
別の態様によれば、命令を記憶するコンピュータ可読記憶媒体が提供され、命令は、1つまたは複数のデータ処理装置によって実行されたとき、上記で説明した方法の動作を1つまたは複数のデータ処理装置に実行させる。
本明細書で説明する主題の特定の実施形態は、以下の利点のうちの1つまたは複数を実現するように実施され得る。
本明細書は、入力ビデオを処理して、各々がターゲットオブジェクトタイプのそれぞれのオブジェクトを表示する複数のサブビデオを抽出することができ、次いで、サブビデオを組み合わせてトピカルビデオを生成することができる、ビデオ生成システムを説明する。ビデオ生成システムは、たとえば、ビデオテンプレートの中にサブビデオを差し入れることによって、サブビデオを組み合わせてよく、ここで、複数のサブビデオは同時に表示されてよい。トピカルビデオは、入力ビデオよりも短い持続時間を潜在的に有し、入力ビデオよりも小さい、メモリの中の空間を占有し、かつ/または通信ネットワーク(たとえば、インターネット)を介して送信するために入力ビデオよりも小さい帯域幅を必要としながら、ターゲットオブジェクトタイプに関係する入力ビデオのコンテンツを効果的に要約し得る。たとえば、(たとえば、トピカルビデオを構成する)各サブビデオの各サブビデオフレームは、ビデオフレームのコンテンツを全体よりも小さく含むように、入力ビデオのそれぞれのビデオフレームからクロップされるので、かつ/または各サブビデオが、入力ビデオのビデオフレームのサブセットからのコンテンツを備えるので、トピカルビデオは、入力ビデオよりも小さい、メモリの中の空間を占有し得、かつ/または通信ネットワークを介して送信するために入力ビデオよりも小さい帯域幅を必要とし得る。言い換えれば、各サブビデオは、入力ビデオのコンテンツの空間的かつ/または時間的なサブセットを備える。その上、コンテンツのこのサブセットは、入力ビデオの中のターゲットオブジェクトタイプのターゲットオブジェクトの1つまたは複数のインスタンスの視覚的ロケーションを識別および追跡する、生成された追跡データに基づく。このことは、入力ビデオのターゲットにされる部分を識別および選択するために入力ビデオのコンテンツをフィルタ処理することを通じて、ビデオのより効率的な生成をもたらす。入力ビデオ全体が分散システムへ送信されるのではなく、入力ビデオのターゲットにされるサブセットを備えるトピカルビデオが生成され得、特定のシステムへ送信され得る。このことは、入力ビデオの中に含まれるコンテンツに対して要求が受信されるときに入力ビデオのコンテンツを送信するために必要とされる、帯域幅を低減することができる。したがって、ビデオ生成システムは、計算リソース、たとえば、メモリ、帯域幅、および計算能力の、より効率的な使用を可能にし得る。追加として、サブビデオを組み合わせることによってターゲットオブジェクトタイプに関係する入力ビデオのコンテンツを要約することによって、入力ビデオからのターゲットオブジェクトタイプについての情報が、より凝縮した形態で、かつユーザが入力ビデオの全体を見ることを必要とすることなく、提示され得る。このことは、ターゲットオブジェクトタイプについての情報をユーザに提示するために必要とされるネットワーク帯域幅の量を低減し、ターゲットオブジェクトタイプについての情報を提示するために必要とされる時間の量も低減する。
本明細書で説明するビデオ生成システムは、たとえば、入力ビデオを提供しターゲットオブジェクトタイプを指定すること以外に手作業のユーザ入力をほとんどまたはまったく必要とせずに、視覚的に満足なトピカルビデオを(たとえば、わずか数分間で)迅速に生成することができる。対照的に、トピカルビデオを手作業で生成することは費用および時間がかかる場合があり、たとえば、数時間または数日と、著しい量の専門知識とを必要とする。したがって、本明細書で説明するビデオ生成システムは、トピカルビデオを生成するタスクを自動化することによって、時間およびリソースのより効率的な割振りを可能にする。
本明細書の主題の1つまたは複数の実施形態の詳細が、添付図面および以下の説明において説明される。本主題の他の特徴、態様、および利点は、説明、図面、および特許請求の範囲から明らかとなろう。
例示的なビデオ生成システムを示す図である。 例示的なビデオテンプレートの図である。 例示的なデジタルコンポーネント生成システムを示す図である。 電子文書とともに提示するためにデジタルコンポーネント配信システムがデジタルコンポーネントデータベースからデジタルコンポーネントを送信する例示的な環境のブロック図である。 トピカルビデオを生成するための例示的なプロセスのフロー図である。
様々な図面における同様の参照番号および名称は、同様の要素を示す。
図1は、例示的なビデオ生成システム100を示す。ビデオ生成システム100は、以下で説明するシステム、構成要素、および技法が実施される、1つまたは複数のロケーションにおいて1つまたは複数のコンピュータ上でコンピュータプログラムとして実装されるシステムの一例である。
システム100は、トピカルビデオ106を生成するために、(i)入力ビデオ102、および(ii)「ターゲット」オブジェクトタイプ104を識別するデータを処理するように構成される。
入力ビデオ102は、ビデオフレームのシーケンスを含んでよく、ここで、各ビデオフレームは、数値のアレイとして表されてよく、入力ビデオ102におけるそれぞれの時点に関連し得る。
ターゲットオブジェクトタイプ104は、可能なオブジェクトタイプの既定のセットからの可能なオブジェクトタイプであってよい。可能なオブジェクトタイプのセットは、任意の適切なオブジェクトタイプ、たとえば、食品タイプ(たとえば、ピザ、サンドイッチなど)、飲料タイプ(たとえば、ワイン、ビールなど)、衣料タイプ(たとえば、ドレス、ズボン、シャツ、ブラウスなど)、アクセサリタイプ(たとえば、帽子、ハンドバッグ、眼鏡など)、電子装置タイプ(たとえば、コンピュータ、スマートフォンなど)、動物タイプ(たとえば、犬、猫など)、車両タイプ(たとえば、トラック、セダン、スポーツ用多目的車(SUV)など)、健康/美容タイプ(たとえば、口紅、パレット、マニキュア液など)、スポーツ用品タイプ(たとえば、フットボール、サッカーボール、テニスラケット、水中眼鏡など)、家庭用器具タイプ(たとえば、食器洗い機、冷蔵庫など)、家具タイプ(たとえば、椅子、ソファなど)、および/または人物タイプ(たとえば、男性、女性、子供など)を含んでよい。いくつかの実装形態では、可能なオブジェクトタイプのセットは、たとえば、特定の製品、たとえば、特定のメーカーおよびモデルの車両を識別する、粒度の細かいオブジェクトタイプを含んでよい。
システム100は、入力ビデオ102から抽出(たとえば、クロップ)される複数の「サブビデオ」を含むトピカルビデオ106を生成するために、入力ビデオ102およびターゲットオブジェクトタイプ104を処理し、ここで、各サブビデオは、ターゲットオブジェクトタイプ104のそれぞれのオブジェクトを表示(たとえば、描写)する。すなわち、システム100は、ターゲットオブジェクトタイプ104のオブジェクトを表示する、入力ビデオ102の部分を含む、トピカルビデオ106を生成する。
システム100は、様々な適用例のうちのいずれかのために使用され得る。たとえば、システム100は、図3および図4を参照しながらより詳細に説明するように、たとえば、検索結果の横またはサードパーティのウェブサイト上のブロックの中でユーザデバイスにおいて電子文書と一緒に提示するために送信されるデジタルコンポーネントの中に組み込まれる、トピカルビデオを生成するために使用され得る。
システム100は、追跡エンジン108、クロッピングエンジン110、および合成エンジン112を含み、その各々が次により詳細に説明される。
追跡エンジン108は、入力ビデオ102、およびターゲットオブジェクトタイプ104を識別するデータを処理して、入力ビデオ102の中のターゲットオブジェクトタイプ104のオブジェクトの1つまたは複数のインスタンスの視覚的ロケーションを識別し、ラベル付けし、かつ追跡する、追跡データ114を生成するように構成される。便宜上、本明細書全体にわたって、ターゲットオブジェクトタイプ104のオブジェクトは「ターゲットオブジェクト」と呼ばれることがある。
追跡データ114は、1つまたは複数の「ターゲットオブジェクト軌跡」を規定するデータを含んでよく、ここで、各ターゲットオブジェクト軌跡は、ターゲットオブジェクトのそれぞれのインスタンスに対応し、複数のビデオフレームのシーケンスの中の各ビデオフレームを通じてターゲットオブジェクトの位置を追跡する。より詳細には、ターゲットオブジェクトに対応するターゲットオブジェクト軌跡は、たとえば、ビデオフレームの中のターゲットオブジェクトを囲む、各ビデオフレームに対応するそれぞれのバウンディングボックスを指定することによって、ビデオフレームのシーケンスの中の各ビデオフレームの中のターゲットオブジェクトの位置を指定し得る。ビデオフレームに対応するバウンディングボックスは、たとえば、バウンディングボックスの頂点の座標によって規定されてよく、ここで、座標は、ビデオフレームの基準のフレームの中で表現される。本明細書全体にわたって使用される、ビデオフレームの中の「バウンディングボックス」は、任意の適切な形状、たとえば、正方形形状、長方形形状、または円形形状を有する、ビデオフレームの領域を指定し得る。
ビデオフレームの中のターゲットオブジェクトの位置を指定するバウンディングボックスは、たとえば、バウンディングボックスがビデオフレームの少なくとも一部を除外するように、ビデオフレームを全体よりも小さく囲み得る(ただし、場合によっては、ビデオフレームの中のバウンディングボックスはビデオフレームの全体を囲むことがある)。その上、各ターゲットオブジェクト軌跡は、入力ビデオのビデオフレームのシーケンス全体の真部分集合である、ビデオフレームのシーケンスを通じて、対応するターゲットオブジェクトの位置を追跡し得る。
追跡エンジン108は、追跡データ114のターゲットオブジェクト軌跡を生成するために、任意の適切なオブジェクト検出および追跡技法を使用し得る。一例として、追跡エンジン108は、J.Henriques、R.Caseiro、P.Martins、J.Batista、「High-speed tracking with kernelized correlation filters」、IEEE Transactions on Pattern Analysis and Machine Intelligence、第37巻、第3号、583~596頁(2014)に記載される、オブジェクト検出および追跡技法を使用し得る。別の例として、追跡エンジン108は、N.Wojke、A.Bewley、D.Paulus、「Simple online and realtime tracking with a deep association metric」、2017 IEEE International Conference on Image Processing (ICIP)、3645~3649頁(2017)に記載される、オブジェクト検出および追跡技法を使用し得る。
特定の例では、追跡データ114を生成するために、追跡エンジン108は、ビデオフレームを処理してオブジェクト検出出力を生成するように構成されるオブジェクト検出ニューラルネットワークを使用して、入力ビデオ102の各ビデオフレームを処理し得る。オブジェクト検出出力は、(i)ビデオフレームの中で描写されるそれぞれのオブジェクトを各々が囲む1つまたは複数のバウンディングボックス、および(ii)バウンディングボックスごとに、バウンディングボックスによって囲まれるオブジェクトのタイプを識別するラベルを含んでよい。追跡エンジン108は、他のバウンディングボックスを廃棄しながら(たとえば、そのさらなる処理を控えながら)、ターゲットオブジェクトタイプ104のオブジェクトを囲むものとしてラベル付けされるバウンディングボックスを保持し得る。追跡エンジン108は、第1のバウンディングボックスと第2のバウンディングボックスとの間の類似性尺度がしきい値を超えることを決定することによって、第1のフレームの中の第1のバウンディングボックスおよび第2の(たとえば、後続の)フレームの中の第2のバウンディングボックスが、同じオブジェクトを囲むことを決定し得る。類似性尺度は、(i)第1のバウンディングボックスのコンテンツと第2のバウンディングボックスのコンテンツとの間の視覚的類似性、および(ii)第1のバウンディングボックスと第2のバウンディングボックスとの間のオーバーラップに基づいてよい。第1のバウンディングボックスおよび第2のバウンディングボックスが同じオブジェクトを囲むという決定に応答して、追跡エンジン108は、第1のバウンディングボックスおよび第2のバウンディングボックスが同じターゲットオブジェクト軌跡の中に含まれることを決定してよく、たとえば、それによって、第1のフレームから第2のフレームまでオブジェクトの位置を追跡する。
クロッピングエンジン110は、1つまたは複数のサブビデオ116を生成するために、入力ビデオ102および追跡データ114を処理するように構成される。より詳細には、クロッピングエンジン110は、追跡データ114によって指定される各ターゲットオブジェクト軌跡に対応するそれぞれのサブビデオ116を生成し得る。本明細書全体にわたって使用される「サブビデオ」とは、サブビデオの各サブビデオフレームがビデオ102のそれぞれのビデオフレームからクロップされるような、「サブビデオフレーム」と呼ばれるビデオフレームのシーケンスを有するビデオを指す。ビデオ102の対応するビデオフレームからクロップされるサブビデオ116のサブビデオフレームは、たとえば、サブビデオフレームが、対応するビデオフレームの少なくとも一部分を除外するように、対応するビデオフレームを全体よりも小さく含んでよい(ただし、場合によっては、サブビデオフレームはビデオ102の対応するビデオフレームの全体を含むことがある)。特定の例では、ビデオフレームは寸法がa×bであってよく、ただし、aは、ビデオフレームの幅(たとえば、ビデオフレームの幅空間次元に沿ったピクセル数)であり、bは、ビデオフレームの高さ(たとえば、ビデオフレームの高さ空間次元に沿ったピクセル数)である。この例では、ビデオフレームからクロップされるサブビデオフレームは寸法がc×dであってよく、ただし、cはaよりも小さく、dはbよりも小さい。
本明細書全体にわたって使用される、ビデオフレーム(または、サブビデオフレーム、もしくはビデオフレームの中のバウンディングボックス)の「寸法」とは、(i)ビデオフレームの幅(たとえば、ビデオフレームの幅空間次元に沿ったピクセル数)、および(ii)ビデオフレームの高さ(たとえば、ビデオフレームの高さ空間次元に沿ったピクセル数)を指定するデータを指してよい。
クロッピングエンジン110は、ターゲットオブジェクトのターゲットオブジェクト軌跡に対応するサブビデオ116を様々な方法で生成することができる。クロッピングエンジン110のいくつかの例示的な実装形態が、次により詳細に説明される。
一実装形態では、クロッピングエンジン110は、ビデオフレームの中のターゲットオブジェクトの位置に基づいてビデオフレームの一部分を抽出することによって、ターゲットオブジェクト軌跡に対応する各ビデオフレームからそれぞれのサブビデオフレームを抽出し得る。たとえば、ターゲットオブジェクト軌跡は、ビデオフレームの中のターゲットオブジェクトを囲む、ビデオフレームごとのそれぞれのバウンディングボックスを指定してよく、クロッピングエンジン110は、ビデオフレームに対してバウンディングボックスによって囲まれる、各ビデオフレームの部分を抽出してよい。すなわち、クロッピングエンジン110は、ビデオフレームの中のターゲットオブジェクトを囲むものとしてターゲットオブジェクト軌跡によって指定されるバウンディングボックスによって囲まれる、対応するビデオフレームの部分を抽出することによって、各サブビデオフレームを生成し得る。この例では、追跡エンジン108は、たとえば、抽出されるサブビデオフレームの各々が同じ寸法を有するような、ビデオフレームごとに固定された寸法(たとえば、幅および高さ)を有するバウンディングボックスを指定するターゲットオブジェクト軌跡を生成するように構成され得る。
別の実装形態では、ターゲットオブジェクト軌跡に対応するサブビデオ116を生成するために、クロッピングエンジン110は、「スーパー」バウンディングボックスの寸法(たとえば、幅および高さ)および位置(たとえば、中心)を決定し得る。詳細には、クロッピングエンジン110は、ターゲットオブジェクト軌跡に対応する各ビデオフレームの中でターゲットオブジェクトがスーパーバウンディングボックスによって囲まれるような、スーパーバウンディングボックスの寸法および位置を決定し得る。たとえば、ターゲットオブジェクト軌跡は、ビデオフレームの中のターゲットオブジェクトを囲む、ビデオフレームごとのそれぞれのバウンディングボックスを指定してよく、クロッピングエンジン110は、ターゲットオブジェクト軌跡によって指定されるバウンディングボックスの各々を囲むスーパーバウンディングボックスを識別し得る。すなわち、クロッピングエンジン110は、(依然として各ビデオフレームを全体よりも小さく囲みながら)ターゲットオブジェクト軌跡によって指定されるバウンディングボックスのセットの和集合を囲むスーパーバウンディングボックスを識別し得る。スーパーバウンディングボックスの寸法および位置を決定した後、クロッピングエンジン110は、スーパーバウンディングボックスによって囲まれる、対応するビデオフレームの部分を抽出することによって、各サブビデオフレームを生成し得る。各ビデオフレームに対して同じであるスーパーバウンディングボックスを使用してサブビデオ116を生成することは、たとえば、元のビデオ102の映画的な効果、たとえば、パンおよびズームをより良好に維持することによって、サブビデオ116の視覚的品質を改善し得る。
場合によっては、クロッピングエンジン110によって生成されるいくつかのサブビデオ116は、「時間的にオーバーラップしている」ことがあり、たとえば、サブビデオのうちのそのような2つ以上は、入力ビデオ102の同じビデオフレームから抽出されるそれぞれのサブビデオフレームを含む。このことは、たとえば、追跡エンジン108がビデオの中の同じビデオフレームを通じてターゲットオブジェクトの2つの異なるインスタンスを追跡するときに起こる場合がある。
合成エンジン112は、トピカルビデオ106を生成するためにサブビデオ116およびビデオテンプレート118を処理するように構成される。ビデオテンプレート118は、複数のサブビデオ116を組み合わせてサブビデオの各々を含む複合ビデオ(たとえば、トピカルビデオ106)にするためのフォーマットを規定する。たとえば、ビデオテンプレートは、「スロット」と呼ばれる1つまたは複数の下位領域への(たとえば、形状が正方形または長方形の)2次元(2-D)領域の区分を規定し得る。合成エンジン112は、ビデオテンプレート118の中のそれぞれのスロットに各サブビデオ116を割り当てることによってトピカルビデオ106を生成する。ビデオテンプレート118は、トピカルビデオ106の持続時間にわたって動的に変化してよく、たとえば、トピカルビデオの持続時間にわたってスロットが除去されてよく、スロットが追加されてよく、またはスロットのサイズが変更されてよい。
例示的なビデオテンプレート200が図2を参照しながら示される。ビデオテンプレート200は、3つのスロット- すなわち、スロット202、スロット204、およびスロット206を含む。合成エンジン112は、たとえば、各スロットの中のサブビデオが同時に表示されるような、ビデオテンプレート200の各スロットにそれぞれのサブビデオ116を割り当てることによってトピカルビデオ106を生成し得る。図2を参照しながら示す例では、ターゲットオブジェクトタイプは「車両」であってよく、車両のインスタンスを表示するそれぞれのサブビデオが各スロットに割り当てられてよい。
別の例では、ビデオテンプレート118は、任意のサブビデオが同時に表示されるのではなく、各サブビデオ116が連続的に、たとえば、次々に表示されるように規定され得る。
トピカルビデオ106を生成することの一部として、合成エンジン112は、ビデオテンプレート118の中のスロットにサブビデオ116を割り当てる前に、サブビデオ116を修正し得る。たとえば、合成エンジン112は、たとえば、ビデオテンプレート118の中の対応するスロットの寸法にサブビデオの寸法を整合させるために、サブビデオのサブビデオフレームの寸法(たとえば、幅および/または高さ)を修正(たとえば、短縮)してよい。別の例として、合成エンジン112は、スロットの持続時間にサブビデオの持続時間を整合させるために、(たとえば、サブビデオの1つまたは複数のサブビデオフレームを除去することによって)サブビデオの持続時間を短縮してよい。スロットの持続時間とは、たとえば、テンプレートから除去される前にスロットがテンプレートの中に含められている時間の長さを指してよい。
合成エンジン112は、様々な方法のうちのいずれかで、ビデオテンプレート118のスロットへのサブビデオ116の割当てを決定し得る。一例では、合成エンジン112は、ビデオテンプレート118のそれぞれのスロットにサブビデオ116をランダムに割り当ててよい。別の例では、合成エンジン112は、たとえば、サブビデオをそれらの割り当て済みのスロットに合わせるための、サブビデオに適用される修正を最小限に抑えるために、(たとえば、すべてのスロットの中から)サブビデオ116の寸法に最も類似の寸法を有する対応するスロットに各サブビデオ116を割り当ててよい。
場合によっては、ビデオテンプレート118の中のスロットにサブビデオ116を割り当てる前に、合成エンジン112は、サブビデオごとにそれぞれのスコアを決定してよく、ここで、サブビデオに対するスコアは、サブビデオの品質を特徴づける。合成エンジン112は、1つまたは複数の基準、たとえば、サブビデオのシャープネスおよびサブビデオにおける動きの量に基づいて、サブビデオごとにスコアを決定してよい。サブビデオのシャープネスは、たとえば、サブビデオフレームをラプラシアンカーネル(Laplacian kernel)と畳み込んだ後、サブビデオフレームの中の最大ピクセル強度値を算出することによって、任意の適切なシャープネス尺度を使用して算出され得る。サブビデオにおける動きの量は、たとえば、サブビデオフレームに対応するオプティカルフローフレームのセットの平均値を算出することによって、算出され得る。合成エンジン112は、たとえば、サブビデオのシャープネスを特徴づけるシャープネススコアとサブビデオにおける動きの量を特徴づける動きスコアとの線形結合に基づいて、サブビデオに対する全体的なスコアを生成し得る。合成エンジン112は、よりシャープでありより多くの動きを含むサブビデオに対して、より高いスコアを生成してよい。
合成エンジン112は、どのサブビデオ116がトピカルビデオ106の中に含められるべきであるのかを決定するために、サブビデオ116に対するスコアを使用し得る。たとえば、合成エンジン112は、スコアが最も高いサブビデオ116の真部分集合のみが、トピカルビデオ106の中に含められるべきであることを決定し得る。別の例として、合成エンジン112は、(たとえば、しきい値を超えることによって)既定のしきい値を満たさないスコアを有する任意のサブビデオ116が、トピカルビデオ106の中に含められるべきでないことを決定し得る。
いくつかの実装形態では、システム100は、たとえば、入力ビデオ102から抽出されるサブビデオ116以外の、トピカルビデオ106の中に含められるべき1つまたは複数のデータ要素120を受信し得る。データ要素120は、たとえば、画像、またはテキストの部分を含んでよい。合成エンジン112は、ビデオテンプレート118のそれぞれのスロットにデータ要素を割り当てることによって、トピカルビデオ106の中にデータ要素120を含めてよい。
ビデオ生成システム100によって生成されるトピカルビデオ106は、様々な適用例のうちのいずれかにおいて使用され得る。いくつかの例示的な適用例が、次により詳細に説明される。
一例では、たとえば、図3および図4を参照しながらより詳細に説明するように、ビデオ生成システム100によって生成されるトピカルビデオ106が、デジタルコンポーネント要求に応答して提供されるデジタルコンポーネントの中に含められてよい。
別の例では、ビデオ生成システム100は、対応するトピカルビデオ106を生成するために、(i)たとえば、1つまたは複数の監視カメラ(セキュリティカメラ)によって生成される、入力ビデオ、および(ii)ユーザによって指定されるターゲットオブジェクトタイプ104を処理し得る。監視カメラによって生成される入力ビデオは長期にわたることがあり、たとえば、数時間または数日という持続時間を有する。ビデオ生成システム100は、対象のオブジェクト、たとえば、ペット、人物、または車両をユーザに表示するトピカルビデオを生成するために、監視カメラによって生成されるビデオの迅速な処理を可能にし得る。監視カメラとは、所与の位置(たとえば、自宅の表玄関の横)に配置され、かつ所与の位置の近傍にある領域のビデオを継続的にキャプチャする、カメラを指してよい。
別の例では、ビデオ生成システム100は、対応するトピカルビデオ106を生成するために、(i)ユーザデバイス、たとえば、スマートフォンのビデオカメラによって生成される、入力ビデオ、および(ii)ユーザによって指定されるターゲットオブジェクトタイプ104を処理し得る。
図3は、例示的なデジタルコンポーネント生成システム300を示す。デジタルコンポーネント生成システム300は、以下で説明するシステム、構成要素、および技法が実施される、1つまたは複数のロケーションにおいて1つまたは複数のコンピュータ上でコンピュータプログラムとして実装されるシステムの一例である。
デジタルコンポーネント生成システム300は、コンテンツプロバイダから1つまたは複数のキーワード302および入力ビデオ102を受信し、それぞれのキーワード302に関連するトピカルビデオ106を含む1つまたは複数のデジタルコンポーネント306を生成するように構成される。コンテンツプロバイダは、たとえば、発行者、広告主、または他のコンテンツソースであってよい。
本明細書全体にわたって使用されるデジタルコンポーネントという句は、たとえば、画像、ビデオクリップ(たとえば、トピカルビデオ)、オーディオクリップ、マルチメディアクリップ、テキストセグメント、またはユニフォームリソースロケータ(URL)のうちの1つまたは複数を含むことができる、デジタルコンテンツまたはデジタル情報の個別単位を指す。デジタルコンポーネントは、単一のファイルとして、またはファイルの集合をなして、物理メモリデバイスの中に電子的に記憶することができ、デジタルコンポーネントは、ビデオファイル、オーディオファイル、マルチメディアファイル、画像ファイル、またはテキストファイルの形態をとることができ、ストリーミングビデオ、ストリーミングオーディオ、ソーシャルネットワークポスト、ブログポスト、および/または広告が、あるタイプのデジタルコンポーネントであるような、広告情報を含むことができる。デジタルコンポーネントは、1つまたは複数のソースからのデータ(たとえば、天気情報、リアルタイムのイベント情報、または他のソースから取得される他の情報)を用いて拡張され得る。
システム300は、キーワードマッピングエンジン308および(図1を参照しながら説明したような)ビデオ生成システム100を含む。加えて、システム300は、以下でより詳細に説明するように、コンテンツプロバイダがシステム300と相互作用することを可能にするユーザインターフェース(たとえば、グラフィカルユーザインターフェース、または任意の他の適切な種類のユーザインターフェース)に関連し得る。
キーワードマッピングエンジン308は、たとえば、キーワードからの、可能なオブジェクトタイプへの既定のマッピングに従って、可能なオブジェクトタイプのセットからの対応するターゲットオブジェクトタイプ104に各キーワード302をマッピングするように構成される。たとえば、キーワードマッピングエンジン308は、キーワード「眼鏡(spectacles)」、「眼鏡(specs)」、「読書用眼鏡(reading glasses)」、「サングラス(sunglasses)」、および「眼鏡(eyeglasses)」の各々を、「眼鏡(glasses)」という可能なオブジェクトタイプにマッピングし得る。可能なオブジェクトタイプのセットとは、ビデオの中を識別および追跡するためにビデオ生成システム100の追跡エンジンがトレーニング(または、別の方法で構成)されるオブジェクトタイプのセットであってよい。いくつかの実装形態では、システム300は、キーワード302に対応するターゲットオブジェクトタイプ104の表示をコンテンツプロバイダに提供してよく、コンテンツプロバイダがターゲットオブジェクトタイプ104の各々を「承認する」(たとえば、受け付けるためのアクションを実行する)ことを要求してよい。
システム300は、たとえば、ビデオ生成システム100を使用してターゲットオブジェクトタイプ104および入力ビデオ102を処理することによって、各ターゲットオブジェクトタイプ104に対応する1つまたは複数のそれぞれのトピカルビデオ106を生成するために、ビデオ生成システム100を使用し得る。ビデオ生成システム100は、たとえば、可能なビデオテンプレート310のセットからの異なるビデオテンプレートを使用してトピカルビデオ106を生成することによって、入力ビデオから抽出されるサブビデオの異なる組合せを使用してトピカルビデオ106を生成することによって、入力ビデオ102のサブビデオがビデオテンプレートの中のスロットの異なる組合せに割り当てられるトピカルビデオ106を生成することによって、または異なるオーディオサウンドトラックをトピカルビデオ106の上にオーバーレイすることによって、単一のターゲットオブジェクトタイプ104に対応する複数のトピカルビデオ106を生成し得る。システム300は、トピカルビデオ106の生成を制御する様々な要因、たとえば、トピカルビデオ106を生成するために、どのビデオテンプレート310および/またはオーディオサウンドトラックがビデオ生成システム100によって使用されるべきであるのかを、(たとえば、ユーザインターフェースを通じて)コンテンツプロバイダが指定することを可能にし得る。
キーワード302および入力ビデオ102に加えて、コンテンツプロバイダはまた、トピカルビデオ106の中に含められるべき1つまたは複数の他のデータ要素(たとえば、画像、またはテキストの部分)をシステム300に提供し得る。ビデオ生成システム100は、たとえば、図1を参照しながら説明したように、提供されたデータ要素をトピカルビデオの中に含めてよい。
システム300は、それぞれのデジタルコンポーネント306の中に含められるべきトピカルビデオ106のうちの1つまたは複数をコンテンツプロバイダが選択することを可能にし得る。各デジタルコンポーネント306は、コンテンツプロバイダによって提供され得るトピカルビデオ106および他のデータ要素(たとえば、ビデオ、画像、テキストの部分、URL)を含んでよい。
コンテンツプロバイダは、システム300によって生成されたデジタルコンポーネント306をデジタルコンポーネント配信システム、たとえば、図4を参照しながら説明するデジタルコンポーネント配信システム410に提供し得る。デジタルコンポーネント配信システムは、たとえば、検索結果の横またはサードパーティのウェブサイト上のブロックの中でユーザデバイスにおいて電子文書とともに提示されるべきデジタルコンポーネントを求める要求に応答して、デジタルコンポーネント306を送信することができる。
システム300の有用性を示す特定の例では、コンテンツプロバイダは、ファッションショーの数時間の映像を含む入力ビデオ102、および「ハンドバッグ」というキーワード302を、システム300に提供し得る。システム300は、ハンドバッグのインスタンスを表示する入力ビデオの複数のサブビデオをその各々が含むトピカルビデオ106の対応するセットを生成するために、入力ビデオ102およびキーワード302を処理してよく、ここで、サブビデオが、自動的に編集されて視覚的に満足なビデオテンプレートになり、埋められたビデオテンプレートが入力ビデオ102の持続時間(たとえば、ファッションショーの数時間の映像)よりも短い持続時間(たとえば、30秒、1分、2分、または別の持続時間)を有するように、入力ビデオの部分を割愛する。コンテンツプロバイダは、次いで、デジタルコンポーネント配信システムに提供されるデジタルコンポーネントの中に含められるべき、トピカルビデオ106のうちの1つまたは複数を選択し得る。
図4は、デジタルコンポーネント配信システム410が、電子文書と一緒に提示するためにデジタルコンポーネントデータベース416からデジタルコンポーネントを送信する、例示的な環境400のブロック図である。コンテンツプロバイダは、(図3を参照しながら説明した)デジタルコンポーネント生成システム300を使用してデジタルコンポーネントを生成してよく、生成されたデジタルコンポーネントをデジタルコンポーネント配信システム410に提供してよい。
例示的な環境400は、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、インターネット、またはそれらの組合せなどの、ネットワーク402を含む。ネットワーク402は、電子文書サーバ404、クライアントデバイス406、デジタルコンポーネントサーバ408、およびデジタルコンポーネント配信システム410(「配信システム」410とも呼ばれる)を接続する。例示的な環境400は、多くの異なる電子文書サーバ404、クライアントデバイス406、およびデジタルコンポーネントサーバ408を含んでよい。
クライアントデバイス406は、ネットワーク402を介してリソースを要求および受信することが可能な電子デバイスである。例示的なクライアントデバイス406は、パーソナルコンピュータ、モバイル通信デバイス(たとえば、モバイルフォン)、ならびにネットワーク402を介してデータを送ることおよび受信することができる他のデバイスを含む。クライアントデバイス406は、通常、ネットワーク402を介してデータを送ることおよび受信することを容易にするために、ウェブブラウザなどのユーザアプリケーションを含むが、クライアントデバイス406によって実行されるネイティブアプリケーションも、ネットワーク402を介してデータを送ることおよび受信することを容易にすることができる。
電子文書とは、クライアントデバイス406においてコンテンツのセットを提示するデータである。電子文書の例は、ウェブページ、ワードプロセシング文書、ポータブルドキュメントフォーマット(PDF)文書、画像、ビデオ、検索結果ページ、およびフィードソースを含む。モバイルコンピューティングデバイス、タブレットコンピューティングデバイス、またはデスクトップコンピューティングデバイス上にインストールされたアプリケーションなどのネイティブアプリケーション(たとえば、「アプリ(app)」)も、電子文書の例である。電子文書は、電子文書サーバ404(「電子ドキュメントサーバ(Electronic Doc Server)」)によってクライアントデバイス406に提供され得る。たとえば、電子文書サーバ404は、発行者ウェブサイトをホストするサーバを含むことができる。この例では、クライアントデバイス406は、所与の発行者ウェブページを求める要求を開始することができ、所与の発行者ウェブページをホストする電子サーバ404は、クライアントデバイス406における所与のウェブページの提示を開始する機械実行可能命令を送ることによって、要求に応答することができる。
別の例では、電子文書サーバ404は、クライアントデバイス406がそこからアプリをダウンロードできるアプリサーバを含むことができる。この例では、クライアントデバイス406は、クライアントデバイス406においてアプリをインストールするために必要とされるファイルをダウンロードすることができ、次いで、ダウンロードされたアプリを局所的に実行することができる。
電子文書は、様々なコンテンツを含むことができる。たとえば、電子文書は、電子文書自体内にあり、かつ/または経時的に変化しない、静的コンテンツ(たとえば、テキストまたは他の指定されたコンテンツ)を含むことができる。電子文書はまた、経時的にまたは要求ごとに変化することがある動的コンテンツを含むことができる。たとえば、所与の電子文書の発行者は、電子文書の部分を埋めるために使用されるデータソースを保持することができる。この例では、所与の電子文書は、所与の電子文書がクライアントデバイス406によって処理(たとえば、レンダリングまたは実行)されると、クライアントデバイス406に、データソースにコンテンツを要求するようにさせる、1つまたは複数のタグまたはスクリプトを含むことができる。クライアントデバイス406は、データソースから取得されたコンテンツを所与の電子文書の中に組み込んで、データソースから取得されたコンテンツを含む複合電子文書を作成する。
いくつかの状況では、所与の電子文書は、デジタルコンポーネント配信システム410を参照する、1つまたは複数のデジタルコンポーネントタグまたはデジタルコンポーネントスクリプトを含むことができる。これらの状況では、デジタルコンポーネントタグまたはデジタルコンポーネントスクリプトは、所与の電子文書がクライアントデバイス406によって処理されるとき、クライアントデバイス406によって実行される。デジタルコンポーネントタグまたはデジタルコンポーネントスクリプトの実行は、1つまたは複数のデジタルコンポーネントを求める要求412(「コンポーネント要求」と呼ぶ)を生成するようにクライアントデバイス406を構成し、そうした要求は、ネットワーク402を介してデジタルコンポーネント配信システム410へ送信される。たとえば、デジタルコンポーネントタグまたはデジタルコンポーネントスクリプトは、ヘッダおよびペイロードデータを含むパケット化されたデータ要求をクライアントデバイス406が生成することを可能にすることができる。コンポーネント要求412は、デジタルコンポーネントを要求されているサーバの名称(または、ネットワークロケーション)、要求しているデバイス(たとえば、クライアントデバイス406)の名称(または、ネットワークロケーション)、および/または要求に応答して提供される1つもしくは複数のデジタルコンポーネントを選択するためにデジタルコンポーネント配信システム410が使用できる情報などの、機能を指定するイベントデータを含むことができる。コンポーネント要求412は、クライアントデバイス406によってネットワーク402(たとえば、電気通信ネットワーク)を介してデジタルコンポーネント配信システム410のサーバへ送信される。
コンポーネント要求412は、電子文書が要求されること、およびデジタルコンポーネントが提示され得る電子文書のロケーションの特性などの、他のイベント機能を指定するイベントデータを含むことができる。たとえば、デジタルコンポーネントがその中に提示される電子文書(たとえば、ウェブページ)への参照(たとえば、URL)、デジタルコンポーネントを提示するために利用可能な電子文書の利用可能なロケーション、利用可能なロケーションのサイズ、および/またはそのロケーションにおいて提示するのに適格なメディアタイプを指定する、イベントデータが、デジタルコンポーネント配信システム410に提供され得る。同様に、電子文書に関連するキーワード(「文書キーワード」)、または電子文書によって参照されるエンティティ(たとえば、人間、場所、または物)を指定する、イベントデータも、電子文書とともに提示するのに適格なデジタルコンポーネントの識別を容易にするために、(たとえば、ペイロードデータとして)コンポーネント要求412の中に含めることができ、デジタルコンポーネント配信システム410に提供され得る。イベントデータはまた、検索結果ページ、ならびに/あるいは検索結果および/または検索結果の中に含まれるテキストコンテンツ、音響コンテンツ、もしくは他の視覚コンテンツを指定するデータを取得するために、クライアントデバイス406からサブミットされた、検索クエリを含むことができる。
コンポーネント要求412はまた、クライアントデバイスのユーザが提供している情報、コンポーネント要求がそこからサブミットされた州もしくは地域を示す地理情報、またはデジタルコンポーネントが表示される環境(たとえば、コンポーネント要求の時刻、コンポーネント要求の曜日、モバイルデバイスまたはタブレットデバイスなどのデジタルコンポーネントが表示されるデバイスのタイプ)に対するコンテキストを提供する他の情報などの、他の情報に関係するイベントデータを含むことができる。コンポーネント要求412は、たとえば、パケット化ネットワークを介して送信することができ、コンポーネント要求412自体は、ヘッダおよびペイロードデータを有するパケット化されたデータとしてフォーマットされ得る。ヘッダは、パケットの宛先を指定することができ、ペイロードデータは、上記で説明した情報のうちのいずれかを含むことができる。
コンポーネント配信システム410は、コンポーネント要求412の受信に応答して、かつ/またはコンポーネント要求412の中に含まれる情報を使用して、所与の電子文書とともに提示されるデジタルコンポーネントを選ぶ。いくつかの実装形態では、デジタルコンポーネントは、デジタルコンポーネントの遅延した選択によって引き起こされることがあるエラーを回避するために、1秒未満のうちに(本明細書で説明する技法を使用して)選択される。たとえば、コンポーネント要求412に応答してデジタルコンポーネントを提供する際の遅延は、クライアントデバイス406においてページロードエラーをもたらすことがあり、または電子文書の他の部分がクライアントデバイス406において提示された後でも電子文書の部分を埋められないままにさせることがある。また、デジタルコンポーネントをクライアントデバイス406に提供する際の遅延が大きくなるにつれて、デジタルコンポーネントがクライアントデバイス406に送付されるとき、電子文書がもはやクライアントデバイス406において提示されない可能性が高く、それによって、電子文書とのユーザの体験に悪影響を及ぼす。さらに、デジタルコンポーネントを提供する際の遅延は、たとえば、デジタルコンポーネントが提供されるときに電子文書がもはやクライアントデバイス406において提示されない場合、デジタルコンポーネントの送付の失敗という結果になることがある。
いくつかの実装形態では、デジタルコンポーネント配信システム410は、たとえば、相互接続されているサーバおよび複数のコンピューティングデバイスのセット414を含む分散コンピューティングシステムの中に実装され、要求412に応答してデジタルコンポーネントを識別および配信する。複数のコンピューティングデバイスのセット414は、数百万個の利用可能なデジタルコンポーネント(DC1-x)のコーパスから、電子文書の中で提示されるのに適格なデジタルコンポーネントのセットを識別するように一緒に動作する。数百万個の利用可能なデジタルコンポーネントは、たとえば、デジタルコンポーネントデータベース416の中で、インデックスが付けられ得る。各デジタルコンポーネントインデックスエントリは、対応するデジタルコンポーネントを参照することができ、かつ/または対応するデジタルコンポーネントの配信/送信に寄与する(たとえば、それを調整または限定する)配信パラメータ(DP1~DPx)を含むことができる。たとえば、配信パラメータは、デジタルコンポーネントの配信パラメータのうちの1つに(たとえば、厳密に、またはいくつかの事前指定されたレベルの類似度を伴ってのいずれかで)整合する、少なくとも1つの基準をコンポーネント要求が含むことを要求することによって、デジタルコンポーネントの送信に寄与することができる。
いくつかの実装形態では、特定のデジタルコンポーネント用の配信パラメータは、デジタルコンポーネントが提示するのに適格であるように、(たとえば、電子文書、文書キーワード、またはコンポーネント要求412の中で指定された用語によって)整合されなければならない配信キーワードを含むことができる。言い換えれば、配信パラメータは、ネットワーク402を介したデジタルコンポーネントの配信(たとえば、送信)をトリガするために使用される。配信パラメータはまた、デジタルコンポーネントが提示するのに適格であるように、特定の地理的領域(たとえば、国または州)を指定する情報、および/またはコンポーネント要求412が特定のタイプのクライアントデバイス(たとえば、モバイルデバイスまたはタブレットデバイス)において生じたことを指定する情報を、コンポーネント要求412が含むことを要求することができる。
配信パラメータはまた、たとえば、コンポーネント評価プロセスによって、配信/送信にとってのデジタルコンポーネントの適格性を(たとえば、他の利用可能なデジタルコンポーネントの間で)評価するために使用される、適格性値(たとえば、ランク付けスコア、つけ値、またはいくつかの他の指定された値)を指定することができる。いくつかの状況では、適格性値は、(たとえば、デジタルコンポーネントとのユーザ対話などの、デジタルコンポーネントの提示に帰属する特定のイベントのインスタンスごとに)デジタルコンポーネントのプロバイダがデジタルコンポーネントの送信に応答してサブミットする意思がある最高の代償額を指定することができる。
適格なデジタルコンポーネントの識別は、次いで複数のコンピューティングデバイスのセット414内のコンピューティングデバイスの間で割り当てられる、複数のタスク417a~417cにセグメント化され得る。たとえば、セット414の中の異なるコンピューティングデバイスは各々、デジタルコンポーネントデータベース416の異なる部分を分析して、コンポーネント要求412の中に含まれる情報に整合する配信パラメータを有する様々なデジタルコンポーネントを識別することができる。いくつかの実装形態では、セット414の中の所与の各コンピューティングデバイスは、様々なデータディメンション(または、ディメンションのセット)を分析することができ、分析の結果(Res1~Res3)418a~418cをデジタルコンポーネント配信システム410に戻して渡すこと(たとえば、送信すること)ができる。たとえば、セット414の中のコンピューティングデバイスの各々によって提供される結果418a~418cは、コンポーネント要求に応答して配信するのに適格なデジタルコンポーネントのサブセット、および/またはいくつかの配信パラメータを有するデジタルコンポーネントのサブセットを識別し得る。デジタルコンポーネントのサブセットの識別は、たとえば、イベントデータを配信パラメータと比較すること、およびイベントデータの少なくともいくつかの特徴に整合する配信パラメータを有するデジタルコンポーネントのサブセットを識別することを含むことができる。
デジタルコンポーネント配信システム410は、複数のコンピューティングデバイスのセット414から受信された結果418a~418cを集約し、集約された結果に関連する情報を使用して、(i)要求412に応答して提供される1つまたは複数のデジタルコンポーネントを選択し、(ii)1つまたは複数のデジタルコンポーネントにとっての送信要件を決定する。たとえば、デジタルコンポーネント配信システム410は、1つまたは複数のコンポーネント評価プロセスの成果に基づいて、勝者のデジタルコンポーネントのセット(1つまたは複数のデジタルコンポーネント)を選択することができる。そして次に、デジタルコンポーネント配信システム410は、クライアントデバイス406が勝者のデジタルコンポーネントのセットを所与の電子文書の中に組み込むことを可能にする返答データ420(たとえば、返答を表すデジタルデータ)を生成すること、およびネットワーク402を介してそれを送信することができ、その結果、勝者のデジタルコンポーネントのセットおよび電子文書のコンテンツが、クライアントデバイス406のディスプレイにおいて一緒に提示される。
いくつかの実装形態では、クライアントデバイス406は、返答データ420の中に含まれる命令を実行し、命令は、1つまたは複数のデジタルコンポーネントサーバから勝者のデジタルコンポーネントのセットを取得するようにクライアントデバイス406を構成し、かつクライアントデバイス406がそれを取得することを可能にする。たとえば、返答データ420の中の命令は、デジタルコンポーネントサーバ408から所与の勝者のデジタルコンポーネントを取得するために、ネットワークロケーション(たとえば、ユニフォームリソースロケータ(URL))、およびクライアントデバイス406にサーバ要求(SR:server request)421をデジタルコンポーネントサーバ408へ送信させるスクリプトを含むことができる。要求に応答して、デジタルコンポーネントサーバ408は、サーバ要求421の中で指定された(たとえば、複数のデジタルコンポーネントを記憶するデータベース内の)所与の勝者のデジタルコンポーネントを識別し、クライアントデバイス406において電子文書の中で所与の勝者のデジタルコンポーネントを提示するデジタルコンポーネントデータ(DCデータ)422を、クライアントデバイス406へ送信する。
電子文書の検索を容易にするために、環境400は、電子文書をクロール(crawl)するとともに電子文書にインデックスを付ける(たとえば、電子文書のクロールされたコンテンツに基づいてインデックスが付けられる)ことによって電子文書を識別する検索システム450を含むことができる。電子文書についてのデータは、データが関連する電子文書に基づいてインデックスが付けられ得る。電子文書のインデックス付きの随意にキャッシュされたコピーが、検索インデックス452(たとえば、ハードウェアメモリデバイス)の中に記憶される。電子文書に関連するデータは、電子文書の中に含まれるコンテンツを表すデータ、および/または電子文書用のメタデータである。
クライアントデバイス406は、ネットワーク402を介して検索クエリを検索システム450にサブミットすることができる。それに応答して、検索システム450は、検索インデックス452にアクセスして、検索クエリに関連する電子文書を識別する。検索システム450は、検索結果の形態での電子文書を識別し、検索結果ページの中でクライアントデバイス406に検索結果を戻す。検索結果は、特定の検索クエリに応答する(たとえば、関連する)電子文書を識別する、検索システム450によって生成されるデータであり、検索結果とのユーザ対話に応答して、クライアントデバイスに、指定されたネットワークロケーション(たとえば、URL)にデータを要求するようにさせる、アクティブリンク(たとえば、ハイパーテキストリンク)を含む。例示的な検索結果は、ウェブページタイトル、ウェブページから抽出されたテキストの断片または画像の一部分、およびウェブページのURLを含むことができる。別の例示的な検索結果は、ダウンロード可能なアプリケーションのタイトル、ダウンロード可能なアプリケーションを記述するテキストの断片、ダウンロード可能なアプリケーションのユーザインターフェースを描写する画像、および/またはアプリケーションがそこからクライアントデバイス406にダウンロードされ得るロケーションへのURLを含むことができる。いくつかの状況では、サブミットされた検索クエリに関連するダウンロード可能なアプリケーションについての情報を提示するために、検索システム450は、クライアントデバイス406においてインストールするためにアプリケーションがそこからダウンロードされ得るアプリケーションストア(または、オンラインポータル)の一部であり得るか、またはそれと対話し得る。他の電子文書と同様に、検索結果ページは、デジタルコンポーネント(たとえば、広告、ビデオクリップ、オーディオクリップ、画像、または他のデジタルコンポーネント)がその中に提示され得る1つまたは複数のスロットを含むことができる。
コンポーネント要求に応答して送信されるべきデジタルコンポーネントを選択するために、配信システム410は、コンポーネント要求に応答して送信されるのに適格なデジタルコンポーネントのセットを識別し得る。配信システム410は、次いで、たとえば、オークション手順を通じて送信されるべき、適格なデジタルコンポーネントのうちの1つまたは複数を選択し得る。いくつかの実装形態では、配信システム410は、それらのそれぞれの適格性値に従って、適格なデジタルコンポーネントをランク付けすること、およびコンポーネント要求に応答して送信されるべき、最も高くランク付けされた1つまたは複数のデジタルコンポーネントを選択することによって、オークション手順を実行する。
図5は、トピカルビデオを生成するための例示的なプロセス500のフロー図である。便宜上、プロセス500は、1つまたは複数のロケーションに位置する1つまたは複数のコンピュータのシステムによって実行されるものとして説明される。たとえば、ビデオ生成システム、たとえば、本明細書に従って適切にプログラムされた、図1のビデオ生成システム100は、プロセス500を実行することができる。
システムは、(i)ビデオフレームのシーケンスを含む入力ビデオ、および(ii)ターゲットオブジェクトタイプを示すデータを受信する(502)。たとえば、システムは、キーワード(たとえば、「サングラス」)を指定するデータを受信してよく、次いで、キーワードからの、可能なターゲットオブジェクトタイプの既定のセットへのマッピングに従って、対応するターゲットオブジェクトタイプ(たとえば、「眼鏡」)に、受信されたキーワードをマッピングし得る。随意に、システムはまた、1つまたは複数の追加のデータ要素、たとえば、画像、テキストの部分、またはその両方を受信してよい。
システムは、入力ビデオの中のターゲットオブジェクトタイプのターゲットオブジェクトの1つまたは複数のインスタンスの視覚的ロケーションを識別および追跡する追跡データを生成するために、入力ビデオを処理する(504)。たとえば、入力ビデオの中のターゲットオブジェクトタイプのターゲットオブジェクトのインスタンスごとに、システムは、入力ビデオの複数のビデオフレームの各々の中のターゲットオブジェクトのインスタンスを囲むそれぞれのバウンディングボックスを決定し得る。システムは、たとえば、図1を参照しながら説明したように、追跡データを生成するために、任意の適切なオブジェクト検出および追跡技法を使用し得る。
システムは、入力ビデオおよび追跡データに基づいて複数のサブビデオを生成する(506)。サブビデオごとに、システムは、(i)それぞれのビデオフレームのコンテンツを全体よりも小さく、かつ(ii)ターゲットオブジェクトタイプの識別されたターゲットオブジェクトの中から所与のターゲットオブジェクトのそれぞれのインスタンスを含むように、各々が入力ビデオのそれぞれのビデオフレームからクロップされるサブビデオフレームのそれぞれのシーケンスを生成し得る。いくつかの実装形態では、サブビデオフレームの各々が、それぞれのビデオフレームのコンテンツを全体よりも小さく含むようにクロップされるのではなく、サブビデオフレームのうちの少なくとも1つが、少なくとも1つのそれぞれのビデオフレームのコンテンツを全体よりも小さく含むように、入力ビデオの少なくとも1つのそれぞれのビデオフレームからクロップされる。そのような実装形態では、たとえば、ターゲットオブジェクトが、それらのそれぞれのビデオフレームの中の、それぞれのビデオフレームのすべてまたはそれぞれのビデオフレームの大部分を占有するので、サブビデオフレームのうちの1つまたは複数は、それぞれのビデオフレームの全体のコンテンツを備えてよい。サブビデオフレームは、それぞれのビデオフレームの全体のコンテンツのサブセットを備えてよく、サブセットは、それぞれのビデオフレームの全体のコンテンツよりも小さいかまたはそれに等しい。いくつかの実装形態では、システムは、所与のターゲットオブジェクトのインスタンスを囲むそれぞれのバウンディングボックスを、入力ビデオの複数のビデオフレームの各々からクロップすることによって、所与のターゲットオブジェクトのインスタンスに対応するサブビデオのサブビデオフレームのシーケンスを生成し得る。所与のターゲットオブジェクトのインスタンスを囲むバウンディングボックスは、追跡データによって指定され得る。いくつかの実装形態では、所与のターゲットオブジェクトのインスタンスに対応するサブビデオのサブビデオフレームのシーケンスを生成するために、システムは、入力ビデオの複数のビデオフレームの各々の中の所与のターゲットオブジェクトのインスタンスを囲む同じバウンディングボックスを、追跡データに基づいて決定し得る。システムは、次いで、入力ビデオの複数のビデオフレームの各々から同じバウンディングボックスをクロップすることによって、サブビデオのサブビデオフレームのシーケンスを生成し得る。
場合によっては、いくつかのサブビデオが「時間的にオーバーラップしている」ことがあり、たとえば、サブビデオのうちのそのような2つ以上は、入力ビデオの同じビデオフレームから抽出されるそれぞれのサブビデオフレームを含む。このことは、たとえば、システムが入力ビデオの中の同じビデオフレームを通じてターゲットオブジェクトの2つの異なるインスタンスを追跡するときに起こる場合がある。
システムは、サブビデオを含む出力ビデオを生成する(508)。たとえば、出力ビデオを生成するために、システムは、サブビデオを組み合わせるためのフォーマットを規定するビデオテンプレートの中のそれぞれのスロットに各サブビデオを割り当ててよい。出力ビデオを生成することの一部として、システムは、サブビデオごとにそれぞれのスコアを(たとえば、サブビデオのシャープネスに基づいて)決定してよく、出力ビデオの中に含めるためのサブビデオの真部分集合(たとえば、最高のスコアを有する、既定の個数のサブビデオ)を選択してよい。場合によっては、出力ビデオは、サブビデオのうちの少なくとも2つを同時に表示してよく、他の場合には、出力ビデオは、サブビデオの各々を連続的に、たとえば、次々に表示してよい。出力ビデオを生成することの一部として、システムは、ビデオテンプレートの中のそれぞれのスロットに、1つまたは複数の追加のデータ要素(たとえば、502を参照しながら説明したような、テキストデータ要素または画像データ要素)の各々を割り当ててよい。
システムによって生成された出力ビデオは、デジタルコンポーネント要求に応答して提供され、かつその次に検索結果の横またはサードパーティのウェブページ上で提示される、デジタルコンポーネントの中に含められてよい。
本明細書は、システムおよびコンピュータプログラム構成要素に関して「構成される」という用語を使用する。1つまたは複数のコンピュータのシステムの場合、特定の動作またはアクションを実行するように構成されることは、動作においてシステムに動作またはアクションを実行させる、ソフトウェア、ファームウェア、ハードウェア、またはそれらの組合せが、システムにインストールされていることを意味する。1つまたは複数のコンピュータプログラムの場合、特定の動作またはアクションを実行するように構成されることは、1つまたは複数のプログラムが、データ処理装置によって実行されたとき、装置に動作またはアクションを実行させる命令を含むことを意味する。
本明細書で説明した主題および機能的動作の実施形態は、デジタル電子回路構成において、有形に具現されたコンピュータソフトウェアまたはファームウェアにおいて、本明細書で開示する構造およびそれらの構造的均等物を含むコンピュータハードウェアにおいて、あるいはそれらのうちの1つまたは複数の組合せにおいて実施され得る。本明細書で説明した主題の実施形態は、1つまたは複数のコンピュータプログラム、たとえば、データ処理装置による実行のための、またはデータ処理装置の動作を制御するための、有形非一時的記憶媒体上で符号化されたコンピュータプログラム命令の1つまたは複数のモジュールとして実施され得る。コンピュータ記憶媒体は、機械可読記憶デバイス、機械可読記憶基板、ランダムアクセスメモリデバイスもしくはシリアルアクセスメモリデバイス、またはそれらのうちの1つまたは複数の組合せであり得る。代替的にまたは追加として、プログラム命令は、データ処理装置による実行のための好適な受信機装置への送信用に情報を符号化するために生成される、人工的に生成された伝搬信号、たとえば、機械生成された電気信号、光信号、または電磁信号において符号化され得る。
「データ処理装置」という用語はデータ処理ハードウェアを指し、例として、プログラマブルプロセッサ、コンピュータ、または複数のプロセッサもしくはコンピュータを含む、データを処理するためのすべての種類の装置、デバイス、および機械を包含する。装置はまた、専用論理回路構成、たとえば、FPGA(フィールドプログラマブルゲートアレイ)またはASIC(特定用途向け集積回路)であり得るか、またはそれをさらに含むことができる。装置は、ハードウェアに加えて、コンピュータプログラム用の実行環境を作成するコード、たとえば、プロセッサファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム、またはそれらのうちの1つまたは複数の組合せを構成するコードを随意に含むことができる。
プログラム、ソフトウェア、ソフトウェアアプリケーション、アプリ、モジュール、ソフトウェアモジュール、スクリプト、またはコードと呼ばれることもあり、またはそのように説明されることもある、コンピュータプログラムは、コンパイル型言語もしくはインタープリタ型言語、または宣言型言語もしくは手続き型言語を含む、任意の形式のプログラミング言語で書くことができ、スタンドアロンプログラムとして、またはモジュールとして、コンピューティング環境において使用するのに適したコンポーネント、サブルーチン、または他のユニットを含む、任意の形態で展開され得る。プログラムは、ファイルシステムの中のファイルに対応してよいが、そのことは必須ではない。プログラムは、他のプログラムまたはデータ、たとえば、マークアップ言語文書の中、当該のプログラムに専用の単一のファイルの中、あるいは複数の協調ファイル、たとえば、1つまたは複数のモジュール、サブプログラム、またはコードの部分を記憶するファイルの中に記憶された、1つまたは複数のスクリプトを保持するファイルの一部分の中に、記憶され得る。コンピュータプログラムは、1つのサイトに位置するか、または複数のサイトにわたって分散されデータ通信ネットワークによって相互接続される、1つのコンピュータ上または複数のコンピュータ上で実行されるように展開され得る。
本明細書では、「エンジン」という用語は、ソフトウェアベースのシステム、サブシステム、または1つもしくは複数の特定の機能を実行するようにプログラムされるプロセスを指すために広く使用される。概して、エンジンは、1つまたは複数のロケーションにおける1つまたは複数のコンピュータ上にインストールされた、1つまたは複数のソフトウェアモジュールまたは構成要素として実装される。いくつかの場合には、1つまたは複数のコンピュータは特定のエンジンに専用であり、他の場合には、複数のエンジンが1つまたは複数の同じコンピュータにおいてインストールされ得るとともに実行中であり得る。
本明細書で説明したプロセスおよび論理フローは、入力データに対して動作するとともに出力を生成することによって機能を実行するために、1つまたは複数のプログラマブルコンピュータが1つまたは複数のコンピュータプログラムを実行することによって実行され得る。プロセスおよび論理フローはまた、専用論理回路構成、たとえば、FPGAもしくはASICによって、または専用論理回路構成と、プログラムされた1つもしくは複数のコンピュータとの組合せによって実行され得る。
コンピュータプログラムの実行に適したコンピュータは、汎用マイクロプロセッサもしくは専用マイクロプロセッサまたはその両方、あるいは任意の他の種類の中央処理ユニットに基づくことができる。概して、中央処理ユニットは、読取り専用メモリもしくはランダムアクセスメモリまたはその両方から命令およびデータを受け取る。コンピュータの必須要素は、命令を実行(perform)または実行(execute)するための中央処理ユニット、ならびに命令およびデータを記憶するための1つまたは複数のメモリデバイスである。中央処理ユニットおよびメモリは、専用論理回路構成によって増補され得るか、または専用論理回路構成の中に組み込まれ得る。概して、コンピュータはまた、データを記憶するための1つまたは複数の大容量記憶デバイス、たとえば、磁気ディスク、光磁気ディスク、または光ディスクを含むか、あるいはそれらからデータを受け取ること、もしくはそれらにデータを転送すること、またはその両方を行うように動作可能に結合される。しかしながら、コンピュータは、そのようなデバイスを有することは必須ではない。その上、コンピュータは、別のデバイス、たとえば、ほんのいくつかの例を挙げれば、携帯電話、携帯情報端末(PDA)、モバイルオーディオプレーヤもしくはモバイルビデオプレーヤ、ゲーム機、全地球測位システム(GPS)受信機、またはポータブル記憶デバイス、たとえば、ユニバーサルシリアルバス(USB)フラッシュドライブの中に組み込まれ得る。
コンピュータプログラム命令およびデータを記憶するのに適したコンピュータ可読媒体は、例として、半導体メモリデバイス、たとえば、EPROM、EEPROM、およびフラッシュメモリデバイス、磁気ディスク、たとえば、内部ハードディスクまたはリムーバルディスク、光磁気ディスク、ならびにCD-ROMディスクおよびDVD-ROMディスクを含む、すべての形態の不揮発性メモリ、不揮発性媒体、および不揮発性メモリデバイスを含む。
ユーザとの対話を行うために、本明細書で説明した主題の実施形態は、情報をユーザに表示するためのディスプレイデバイス、たとえば、CRT(陰極線管)モニタまたはLCD(液晶ディスプレイ)モニタ、ならびにユーザがそれによってコンピュータに入力を与えることができるキーボードおよびポインティングデバイス、たとえば、マウスまたはトラックボールを有する、コンピュータ上で実施され得る。ユーザとの対話を行うために他の種類のデバイスも使用することができ、たとえば、ユーザに提供されるフィードバックは、任意の形態の知覚フィードバック、たとえば、視覚フィードバック、聴覚フィードバック、または触覚フィードバックであり得、ユーザからの入力は、音響入力、音声入力、または触覚入力を含む、任意の形態で受け取ることができる。加えて、コンピュータは、ユーザによって使用されるデバイスへ文書を送ること、およびそうしたデバイスから文書を受信することによって、たとえば、ユーザのデバイス上のウェブブラウザから受信された要求に応答してそのウェブブラウザへウェブページを送ることによって、ユーザと対話することができる。また、コンピュータは、パーソナルデバイス、たとえば、メッセージングアプリケーションを動作させているスマートフォンへテキストメッセージまたは他の形式のメッセージを送ること、および見返りとしてユーザから応答メッセージを受信することによって、ユーザと対話することができる。
機械学習モデルを実施するためのデータ処理装置はまた、たとえば、機械学習トレーニングまたは機械学習産物の共通の部分および計算集約的な部分、たとえば、推論、作業負荷を処理するための、専用ハードウェアアクセラレータユニットを含むことができる。
機械学習モデルは、機械学習フレームワーク、たとえば、TensorFlowフレームワーク、Microsoft Cognitive Toolkitフレームワーク、Apache Singaフレームワーク、またはApache MXNetフレームワークを使用して実装および展開され得る。
本明細書で説明した主題の実施形態は、たとえば、データサーバとしての、バックエンド構成要素を含むか、またはミドルウェア構成要素、たとえば、アプリケーションサーバを含むか、またはフロントエンド構成要素、たとえば、本明細書で説明した主題の実装形態とユーザがそれを通じて対話できるグラフィカルユーザインターフェース、ウェブブラウザ、もしくはアプリを有するクライアントコンピュータを含む、コンピューティングシステム、あるいは1つまたは複数のそのようなバックエンド構成要素、ミドルウェア構成要素、またはフロントエンド構成要素の任意の組合せにおいて実施され得る。システムの構成要素は、デジタルデータ通信の任意の形態または媒体、たとえば、通信ネットワークによって、相互接続され得る。通信ネットワークの例は、ローカルエリアネットワーク(LAN)およびワイドエリアネットワーク(WAN)、たとえば、インターネットを含む。
コンピューティングシステムは、クライアントおよびサーバを含むことができる。クライアントおよびサーバは、一般に互いからリモートであり、通常は通信ネットワークを通じて相互作用する。クライアントとサーバとの関係は、それぞれのコンピュータ上で動作しており互いにクライアントサーバ関係を有するコンピュータプログラムによって生じる。いくつかの実施形態では、サーバは、たとえば、クライアントとして働くデバイスと対話するユーザにデータを表示し、かつそうしたユーザからユーザ入力を受信するために、データ、たとえば、HTMLページを、ユーザデバイスへ送信する。ユーザデバイスにおいて生成されるデータ、たとえば、ユーザ対話の結果は、サーバにおいてデバイスから受信され得る。
本明細書は多くの特定の実装詳細を含むが、これらは、任意の発明の範囲において、または特許請求され得るものの範囲において、限定として解釈されるべきではなく、むしろ特定の発明の特定の実施形態に特有であり得る特徴の説明として解釈されるべきである。本明細書において別個の実施形態のコンテキストで説明されるいくつかの特徴はまた、単一の実施形態において組合せで実施され得る。反対に、単一の実施形態のコンテキストで説明される様々な特徴はまた、複数の実施形態において別個にまたは任意の好適な部分組合せで実施され得る。その上、特徴はいくつかの組合せで作用するものとして上記で説明されることがあり、さらには当初はそのように特許請求されることがあるが、特許請求される組合せからの1つまたは複数の特徴は、場合によっては、その組合せから削除することができ、特許請求される組合せは、部分組合せまたは部分組合せの変形を対象とすることがある。
同様に、動作は特定の順序で図面の中に描写され特許請求の範囲の中に記載されるが、このことは、望ましい結果を達成するために、そのような動作が、示された特定の順序または連続的な順序で実行されること、またはすべての図示した動作が実行されることを必要とするものと、理解されるべきではない。いくつかの環境では、マルチタスキングおよび並列処理が有利であり得る。その上、上記で説明した実施形態における様々なシステムモジュールおよび構成要素の分離は、すべての実施形態においてそのような分離を必要とするものと理解されるべきではなく、説明したプログラム構成要素およびシステムが、一般に、単一のソフトウェア製品の中に一緒に組み込まれ得るか、または複数のソフトウェア製品の中にパッケージ化され得ることを理解されたい。
本主題の特定の実施形態が説明されている。他の実施形態が以下の特許請求の範囲内に入る。たとえば、特許請求の範囲において記載されるアクションは、異なる順序で実行することができ、依然として望ましい結果を達成することができる。一例として、添付の図面の中に示すプロセスは、望ましい結果を達成するために、必ずしも図示の特定の順序または連続的な順序を必要とするとは限らない。場合によっては、マルチタスキングおよび並列処理が有利であり得る。
100 ビデオ生成システム
102 入力ビデオ
104 ターゲットオブジェクトタイプ
106 トピカルビデオ
108 追跡エンジン
110 クロッピングエンジン
112 合成エンジン
114 追跡データ
116 サブビデオ
118 ビデオテンプレート
120 データ要素
200 ビデオテンプレート
202、204、206 スロット
300 デジタルコンポーネント生成システム
302 キーワード
306 デジタルコンポーネント
308 キーワードマッピングエンジン
310 ビデオテンプレート
400 環境
402 ネットワーク
404 電子文書サーバ
406 クライアントデバイス
408 デジタルコンポーネントサーバ
410 デジタルコンポーネント配信システム
412 コンポーネント要求
414 コンピューティングデバイスのセット
416 デジタルコンポーネントデータベース
417 タスク
418 分析の結果
420 返答データ
421 サーバ要求(SR)
422 デジタルコンポーネントデータ(DCデータ)
450 検索システム
452 検索インデックス

Claims (9)

1つまたは複数のデータ処理装置によって実行される方法であって、
(i)ビデオフレームのシーケンスを備える入力ビデオ、および(ii)ターゲットオブジェクトタイプを示すデータを受信するステップと、
前記入力ビデオの中の前記ターゲットオブジェクトタイプのターゲットオブジェクトの1つまたは複数のインスタンスの視覚的ロケーションを識別および追跡する追跡データを生成するために、前記入力ビデオを処理するステップと、
サブビデオごとに、前記ターゲットオブジェクトタイプの前記識別されたターゲットオブジェクトの中から所与のターゲットオブジェクトのそれぞれのインスタンスを含むように、各々が前記入力ビデオのそれぞれのビデオフレームから抽出されるサブビデオフレームのそれぞれのシーケンスを生成するステップであって、前記サブビデオフレームのうちの少なくとも1つが、前記それぞれのビデオフレームのコンテンツを全体よりも小さく含むように、前記入力ビデオのそれぞれのビデオフレームからクロップされる、ステップを含む、
前記入力ビデオおよび前記追跡データに基づいて複数のサブビデオを生成するステップと、 前記複数のサブビデオを備える出力ビデオを生成するステップと、を備え、
サブビデオごとに、サブビデオフレームの前記それぞれのシーケンスを生成するステップが、
前記入力ビデオの複数のビデオフレームの各々の中の前記サブビデオに対応する前記所与のターゲットオブジェクトの前記インスタンスを囲む同じバウンディングボックスを、前記追跡データに基づいて決定するステップであって、前記複数のビデオフレームの各々の中で前記所与のターゲットオブジェクトが前記同じバウンディングボックスによって囲まれるような、前記同じバウンディングボックスの寸法および位置を決定するステップを含む、決定するステップと、
前記入力ビデオの前記複数のビデオフレームの各々から前記同じバウンディングボックスをクロップするステップと、を含む、
方法
1のサブビデオのサブビデオフレームおよび第2のサブビデオのサブビデオフレームが各々、前記入力ビデオの同じビデオフレームからクロップされる、請求項1に記載の方法。
前記複数のサブビデオを備える前記出力ビデオを生成するステップが、
前記複数のサブビデオを組み合わせるためのフォーマットを規定するビデオテンプレートの中のそれぞれのスロットに、前記複数のサブビデオの各サブビデオを割り当てるステップを備える、
請求項1または2に記載の方法。
前記入力ビデオから抽出される前記サブビデオ以外の1つまたは複数の追加のデータ要素を受信するステップと、
前記ビデオテンプレートの中のそれぞれのスロットに追加の各データ要素を割り当てるステップと
をさらに備え、
追加の各データ要素が、画像データ、テキストデータ、またはその両方を備える、
請求項3に記載の方法。
前記出力ビデオが、前記複数のサブビデオの前記サブビデオのうちの少なくとも2つを同時に表示する、請求項1から4のいずれか一項に記載の方法。
デジタルコンポーネントを求める要求を受信するステップと、
前記出力ビデオを含むデジタルコンポーネントが前記要求に応答することを決定するステップと、
前記要求に応答して、検索結果に並べてまたはサードパーティのウェブページ上で提示される、前記出力ビデオを含む前記デジタルコンポーネントを提供するステップと
をさらに備える、請求項1から5のいずれか一項に記載の方法。
前記ターゲットオブジェクトタイプを示すデータを受信するステップが、
キーワードを指定するデータを受信するステップと、
キーワードからの、可能なターゲットオブジェクトタイプの既定のセットへのマッピングに従って、前記ターゲットオブジェクトタイプに前記キーワードをマッピングするステップとを備える、
請求項1から6のいずれか一項に記載の方法。
1つまたは複数のデータ処理装置と命令を記憶する1つまたは複数の記憶デバイスとを備えるシステムであって、前記命令が、前記1つまたは複数のデータ処理装置によって実行されたとき、請求項1から7のいずれか一項に記載の方法を備える動作を前記1つまたは複数のデータ処理装置に実行させる、システム。
命令を記憶するコンピュータ可読記憶媒体であって、前記命令が、1つまたは複数のデータ処理装置によって実行されたとき、請求項1から7のいずれか一項に記載の方法を備える動作を前記1つまたは複数のデータ処理装置に実行させる、コンピュータ可読記憶媒体。
JP2021544221A 2020-06-22 2020-06-22 ビデオの生成 Active JP7299327B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2020/038963 WO2021262137A1 (en) 2020-06-22 2020-06-22 Generating videos

Publications (2)

Publication Number Publication Date
JP2022541361A JP2022541361A (ja) 2022-09-26
JP7299327B2 true JP7299327B2 (ja) 2023-06-27

Family

ID=71608058

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021544221A Active JP7299327B2 (ja) 2020-06-22 2020-06-22 ビデオの生成

Country Status (5)

Country Link
US (2) US11915724B2 (ja)
EP (1) EP3956810B1 (ja)
JP (1) JP7299327B2 (ja)
CN (1) CN114080818A (ja)
WO (1) WO2021262137A1 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP4246465B1 (en) * 2022-03-16 2024-01-03 Axis AB Improved masking of objects in an image stream
EP4276772A1 (en) * 2022-05-12 2023-11-15 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Method, computer program and system for analysing one or more moving objects in a video
CN115278338B (zh) * 2022-07-28 2023-09-19 广州市百果园信息技术有限公司 视频壁纸处理方法及其装置、设备、介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005094799A (ja) 2004-11-15 2005-04-07 Chuo Electronics Co Ltd 映像集約表示装置
JP2019140526A (ja) 2018-02-09 2019-08-22 キヤノン株式会社 情報処理装置、情報処理方法、プログラムおよび記憶媒体

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10218954B2 (en) 2013-08-15 2019-02-26 Cellular South, Inc. Video to data
US20160034956A1 (en) * 2014-07-29 2016-02-04 Facebook, Inc. Presenting targeting criteria options for inclusion in targeting criteria associated with content items
EP3249651B1 (en) * 2016-05-23 2018-08-29 Axis AB Generating a summary video sequence from a source video sequence
CN110188719B (zh) * 2019-06-04 2022-03-29 北京字节跳动网络技术有限公司 目标跟踪方法和装置
CN110139158B (zh) * 2019-06-21 2021-04-02 上海摩象网络科技有限公司 视频以及子视频的生成方法、装置、电子设备

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005094799A (ja) 2004-11-15 2005-04-07 Chuo Electronics Co Ltd 映像集約表示装置
JP2019140526A (ja) 2018-02-09 2019-08-22 キヤノン株式会社 情報処理装置、情報処理方法、プログラムおよび記憶媒体

Also Published As

Publication number Publication date
CN114080818A (zh) 2022-02-22
JP2022541361A (ja) 2022-09-26
EP3956810A1 (en) 2022-02-23
EP3956810B1 (en) 2023-12-27
US20230095856A1 (en) 2023-03-30
US20240161783A1 (en) 2024-05-16
US11915724B2 (en) 2024-02-27
WO2021262137A1 (en) 2021-12-30

Similar Documents

Publication Publication Date Title
US11947897B2 (en) Systems and methods for video content association
JP6400772B2 (ja) 複数のデバイスにわたるユーザへのコンテンツの提供
JP7299327B2 (ja) ビデオの生成
US10657310B2 (en) Ordinal positioning of content items based on viewport
JP6334696B2 (ja) ハッシュタグおよびコンテンツ提示
AU2012253364B2 (en) Dynamic image display area and image display within web search results
US8374914B2 (en) Advertising using image comparison
CN105745643B (zh) 以基于文本内容为基础创建基于图像内容的系统和方法
US20230186348A1 (en) Image Recognition Based Content Item Selection
WO2017041359A1 (zh) 信息推送方法、装置、设备及非易失性计算机存储介质
US10445753B1 (en) Determining popular and trending content characteristics
US20100312608A1 (en) Content advertisements for video
US20090287645A1 (en) Search results with most clicked next objects
Mei et al. ImageSense: Towards contextual image advertising
US20130117110A1 (en) Dynamic determination of number of served advertisements
JP7267453B2 (ja) 画像拡張ニューラルネットワーク
US11403653B2 (en) Distributing electronic surveys via third-party content
US11336737B2 (en) Opt-out compliance
US11468675B1 (en) Techniques for identifying objects from video content
EP3327652A1 (en) Automatic selection of items for a computerized graphical advertisement display using a computer-generated multidimensional vector space
US11250475B2 (en) Neural network architecture for efficient resource allocation
US20160260125A1 (en) Systems and Methods for Cold-start and Continuous-learning via Evolutionary Explorations
CN106709036B (zh) 一种展示搜索结果页面的方法和装置
US10891653B1 (en) Approaches for retrieval of electronic advertisements

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210927

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20221205

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230221

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230301

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20230522

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230615

R150 Certificate of patent or registration of utility model

Ref document number: 7299327

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150