[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

JP7367187B2 - 非遮蔽ビデオオーバーレイ - Google Patents

非遮蔽ビデオオーバーレイ Download PDF

Info

Publication number
JP7367187B2
JP7367187B2 JP2022512820A JP2022512820A JP7367187B2 JP 7367187 B2 JP7367187 B2 JP 7367187B2 JP 2022512820 A JP2022512820 A JP 2022512820A JP 2022512820 A JP2022512820 A JP 2022512820A JP 7367187 B2 JP7367187 B2 JP 7367187B2
Authority
JP
Japan
Prior art keywords
video
location
content
determining
frame
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
JP2022512820A
Other languages
English (en)
Other versions
JP2023503764A (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 JP2023503764A publication Critical patent/JP2023503764A/ja
Application granted granted Critical
Publication of JP7367187B2 publication Critical patent/JP7367187B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/222Studio circuitry; Studio devices; Studio equipment
    • H04N5/262Studio circuits, e.g. for mixing, switching-over, change of character of image, other special effects ; Cameras specially adapted for the electronic generation of special effects
    • H04N5/272Means for inserting a foreground image in a background image, i.e. inlay, outlay
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/431Generation of visual interfaces for content selection or interaction; Content or additional data rendering
    • H04N21/4312Generation of visual interfaces for content selection or interaction; Content or additional data rendering involving specific graphical features, e.g. screen layout, special fonts or colors, blinking icons, highlights or animations
    • H04N21/4316Generation of visual interfaces for content selection or interaction; Content or additional data rendering involving specific graphical features, e.g. screen layout, special fonts or colors, blinking icons, highlights or animations for displaying supplemental content in a region of the screen, e.g. an advertisement in a separate window
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/74Image or video pattern matching; Proximity measures in feature spaces
    • G06V10/761Proximity, similarity or dissimilarity measures
    • 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/46Extracting features or characteristics from the video content, e.g. video fingerprints, representative shots or key frames
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/16Human faces, e.g. facial parts, sketches or expressions
    • G06V40/161Detection; Localisation; Normalisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/20Movements or behaviour, e.g. gesture recognition
    • 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/44008Processing 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
    • 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
    • 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/10024Color image
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30196Human being; Person
    • G06T2207/30201Face

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Human Computer Interaction (AREA)
  • Marketing (AREA)
  • Business, Economics & Management (AREA)
  • Software Systems (AREA)
  • Computational Linguistics (AREA)
  • Databases & Information Systems (AREA)
  • Medical Informatics (AREA)
  • Evolutionary Computation (AREA)
  • Computing Systems (AREA)
  • Oral & Maxillofacial Surgery (AREA)
  • Psychiatry (AREA)
  • Social Psychology (AREA)
  • Artificial Intelligence (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Description

本明細書は、一般に、データ処理、ならびに、特定のタイプのコンテンツを特徴とするビデオストリームのエリアを回避しながら、異なるタイプのビデオストリームの上にコンテンツをオーバーレイすることに関する。
ユーザにストリーミングされるビデオは、元のビデオストリームの上にオーバーレイされる追加のコンテンツを含み得る。オーバーレイドコンテンツ(overlaid content)は、元のビデオスクリーンの一部分をオーバーレイしてさえぎる矩形領域内で、ユーザに提供され得る。いくつかの手法では、オーバーレイドコンテンツの提供のための領域は、ビデオスクリーンの任意のロケーション、たとえば、スクリーンの中央下部に配置される。元のビデオストリームの重要なコンテンツが、ビデオスクリーンの中央下部に配置される場合、重要なコンテンツが、オーバーレイドコンテンツによってさえぎられるか、または妨げられることがある。
概して、本明細書で説明する主題の1つの発明的態様は、方法において具現され得、方法は、ビデオであって、当該ビデオとともにオーバーレイドコンテンツが表示されることになるビデオについて、あらかじめ定義されたビデオカテゴリーのセットから、ビデオのビデオカテゴリーを識別する動作と、ビデオのサンプリングされたビデオフレームのセットにおける各ビデオフレームについて、ビデオ特徴タイプのセットのうちの各ビデオ特徴タイプについて、およびビデオフレームにおける複数のロケーションのうちの各ロケーションについて、ビデオフレームにおけるロケーションがビデオ特徴タイプの特徴を含む尤度を示す信頼性スコアを決定する動作、ビデオカテゴリーに基づいて、各ビデオ特徴タイプのための重みを決定する動作であって、各ビデオ特徴タイプのための重みが、ビデオカテゴリーのビデオが表示されるときにビデオ特徴タイプのビデオ特徴を遮蔽しないことの重要性を反映する、動作、ならびに、ビデオ特徴タイプのセットのうちの各ビデオ特徴タイプについて、調整された信頼性スコアを生成するために、ビデオ特徴タイプのための決定された重みに基づいて、ビデオフレームにおける複数のロケーションのための信頼性スコアを調整する動作と、集約および調整された信頼性スコアを生成するために、サンプリングされたビデオフレームのセットにおける各ビデオフレームのための各ロケーションのための調整された信頼性スコアを集約する動作と、集約および調整された信頼性スコアに基づいて、ビデオ表示中にオーバーレイドコンテンツを配置するべきロケーションを決定する動作と、ビデオにおける決定されたロケーションにおいて表示するために、オーバーレイドコンテンツを提供する動作とを含む。この態様の他の実施形態は、対応する方法、装置、および、コンピュータ記憶デバイス上に符号化された、方法のアクションを実行するように構成された、コンピュータプログラムを含む。これらおよび他の実施形態は、各々、以下の特徴のうちの1つまたは複数を随意に含み得る。
いくつかの実装形態では、ビデオ特徴タイプは、人間の顔、人間の胴部、テキスト、移動物体、または色分散における変化を含み得る。
いくつかの実装形態では、異なるビデオ特徴タイプのための少なくともいくつかの信頼性スコアが、並列に決定され得る。
いくつかの実装形態では、ビデオ特徴タイプのセットのうちの各ビデオ特徴タイプについて、ビデオフレームにおける複数のロケーションのための信頼性スコアを調整することは、ビデオフレームの中心のあらかじめ定義された近接内にある、ビデオフレームにおけるロケーションのための信頼性スコアを調整することを含み得る。
いくつかの実装形態では、集約および調整された信頼性スコアに基づいて、ビデオ表示中にオーバーレイドコンテンツを配置するべきロケーションを決定することは、オーバーレイドコンテンツの指定されたサイズと、オーバーレイドコンテンツがビデオ内で提供されることになる持続時間またはフレームの数とに基づいて、ビデオ表示中にオーバーレイドコンテンツを配置するべきロケーションを決定することをさらに含み得る。
いくつかの実装形態では、オーバーレイドコンテンツを配置するべきロケーションを決定することが、複数のロケーションを決定することを含み得、決定されたロケーションにおいてオーバーレイドコンテンツを提供することが、複数のロケーションのうちの1つにおいて表示するために、オーバーレイドコンテンツを提供することを含む。
いくつかの実装形態では、方法は、ビデオ処理システムによって、およびサンプリングレートに基づいて、サンプリングされたビデオフレームのセットを取得するために、ビデオをさらにサンプリングすることができる。サンプリングレートは、ビデオ処理システムの処理能力に基づいて決定され得る。
本明細書で説明する主題の特定の実施形態は、以下の利点のうちの1つまたは複数を実現するために実装され得る。
本明細書で説明する技法は、ビデオコンテンツ、およびビデオコンテンツとともに表示されるオーバーレイコンテンツの表示のためのリソース効率的な技法を提供する。たとえば、ユーザが、ビデオスクリーンを満たすビデオストリームを視聴中である間、そのビデオスクリーンエリア内でユーザにとって重要なコンテンツが、ビデオスクリーンのエリア全体を満たさないことがある。重要なコンテンツは、ユーザが最も強い関心を有する可能性のあるビデオ特徴を含み得る。たとえば、重要な特徴、たとえば、顔、テキスト、またはフォアグラウンドもしくは移動物体などの顕著な物体は、ビデオスクリーンエリアの一部分のみを占有し得る。したがって、重要な下にあるコンテンツを含んでいるビデオスクリーンエリアの部分を妨げないオーバーレイドコンテンツの形態で、ユーザに対して追加のコンテンツを表示するための機会がある。
本開示の態様は、オーバーレイドコンテンツを除外するべきビデオフレームにおいて特徴を含んでいるロケーションを識別する利点を提供し、その理由は、これらのロケーションの上にコンテンツをオーバーレイすることが、下にあるビデオストリーム中に含まれる重要なコンテンツ(たとえば、重要として分類されたコンテンツ)をさえぎるか、または覆い隠すことになり、その結果、重要なコンテンツをユーザが知覚できないとき、ユーザにビデオを配信し、それによって、ビデオの配信を不完全または無効にすることによって、コンピューティングリソースが無駄になるからである。いくつかの状況では、機械学習エンジン(ベイズ分類器、光学式文字認識システム、またはニューラルネットワークなど)は、顔もしくは他の人間の部分、テキスト、またはフォアグラウンドもしくは移動物体などの他の顕著な物体など、ビデオストリーム内の重要な特徴を識別することができる。これらの重要な特徴を包含するエリアが識別され得、次いで、オーバーレイドコンテンツが、これらの識別されたエリアの外側に、たとえば、重要な特徴を有していない(または、少なくともそれを有する最も低い尤度を有する)と決定されたロケーションにおいて表示され得る。結果として、ユーザは、下にあるビデオストリームの重要なコンテンツの妨害なしに、オーバーレイドコンテンツを受信することができるので、ビデオを配信するために必要とされたコンピューティングリソースが無駄にされないようになる。これによって、重要なコンテンツが遮蔽されるか、または別様にユーザによって知覚できないビデオの配信を通して、コンピューティングシステムリソース(たとえば、ネットワーク帯域幅、メモリ、プロセッササイクル、および制限されたクライアントデバイスディスプレイ空間)が無駄にされることを防止する、より効率的なビデオ配布システムが生じる。
この技術的解決策は、視聴者に配信される重要なコンテンツの帯域幅に関して、スクリーンエリアの効率を改善する、さらなる利点を有する。ユーザが、典型的であるように、ビデオの重要なコンテンツが視聴エリアの小部分のみを占有するビデオを視聴中である場合、視聴者に重要なコンテンツを配信するために利用可能な帯域幅が十分に利用されない。下にあるビデオストリームの重要なコンテンツを含んでいる視聴エリアのその小部分を識別するために、機械学習システムを使用することによって、本開示の態様は、視聴エリアのその小部分の外側で追加のコンテンツをオーバーレイすることを提供し、視聴者に重要なコンテンツを配信するためのスクリーンエリアのより効率的な利用をもたらす。言い換えれば、より多くのコンテンツが、同じまたは同様のリソースオーバーヘッドで配信される。
いくつかの手法では、オーバーレイドコンテンツは、たとえば、オーバーレイドコンテンツが、下にあるビデオにおける重要なコンテンツを妨げる場合、視聴者がオーバーレイドコンテンツを除去するためにクリックすることができる、ボックスまたは他のアイコンを含む。本開示のさらなる利点は、オーバーレイドコンテンツが、下にあるビデオにおける重要なコンテンツを妨げる可能性が低いので、視聴エクスペリエンスの混乱がより少なく、視聴者が表示されたオーバーレイドコンテンツを「クリックして離れる」ことがない尤度がより高いことである。
加えて、遮蔽を回避するための重要な特徴の識別を、ビデオのカテゴリーに基づいて、さらに改良およびカスタマイズすることができ、それによって、上記で説明した技術的利点の各々における改善を生じることができる。たとえば、異なるビデオ特徴は、異なるビデオカテゴリーにとってより重要であり得る。たとえば、いくつかのビデオカテゴリーでは、いくつかのタイプのビデオ特徴を遮蔽しないことが、より重要であることがあり、カテゴリーにとって最も重要なビデオ特徴を識別することは、(たとえば、重要なコンテンツが遮蔽されるビデオを配布することによって、リソースを無駄にしないことによって)コンテンツ配布の効率を高めることができる。別の例として、いくつかのビデオカテゴリーでは、いくつかのビデオ特徴がより重要でない(または、重要でない)ことがあり、重要性が低いかまたは重要でないコンテンツを含む視聴エリアが、オーバーレイドコンテンツのために利用され、したがって、ユーザに重要なコンテンツを配信するためのスクリーンエリアの効率的な利用が増し得る。
その上、本明細書で説明する技法は、オーバーレイドコンテンツを表示するべきロケーションを決定するための処理時間(および、リソースの使用)を低減するための様々な手法を提供する。たとえば、様々なダウンサンプリングおよび並列化の手法が使用され得る。したがって、オーバーレイドコンテンツを表示するべき適切なロケーションの識別は、依然として、オーバーレイドコンテンツが識別されたロケーションにおいて表示されるときに生じる、本発明の他の技術的利点から利益を得ながら、より少ないコンピューティングリソースを使用して実行され得る。
本明細書で説明する主題の1つまたは複数の実施形態の詳細は、添付の図面および以下の説明に記載される。主題の他の特徴、態様、および利点は、説明、図面、および特許請求の範囲から明らかになるであろう。
デジタルコンテンツが配布され、クライアントデバイス上で表示するために提供される、例示的な環境のブロック図である。 例示的なビデオフレームを示す図である。 ビデオ処理システムが、コンテンツをオーバーレイするべきビデオ内のロケーションを決定する、例示的な環境のブロック図である。 例示的なヒートマップを示す図である。 例示的な信頼性スコア可視化を示す図である。 オーバーレイドコンテンツを表示するべきビデオ内のロケーションを決定するための例示的なプロセスのフロー図である。 説明する動作を実行するために使用され得る、例示的なコンピュータシステムのブロック図である。
本明細書は、一般に、重要なコンテンツを特徴とするビデオストリームのエリアを回避しながら、異なるタイプのビデオストリームの上にコンテンツをオーバーレイすることに関する。
以下で要約し、本明細書全体にわたってより詳細に説明するように、ビデオシステムは、一般に、ビデオの中央下部部分においてなど、ビデオ内の静的な所定のロケーションにおいて、オーバーレイドコンテンツ(たとえば、テキスト、画像など)を表示する。しかしながら、いくつかのビデオでは(または、いくつかのタイプのビデオでは)、静的な所定のロケーションにおいて、オーバーレイドコンテンツを表示することによって、ビデオの重要なコンテンツを遮蔽し得る。たとえば、スポーツ関連のビデオは、ビデオの中央下部部分においてスコアボードを表示することがあり、たとえば、中央下部の、事前構成されたロケーションにおいて表示されたオーバーレイドコンテンツは、スコアボードを遮蔽することがあり、それによってユーザにフラストレーションを起こさせ、下にあるビデオコンテンツを、ユーザにとってより重要でないものにすることがある。
本明細書で説明する技法は、重要なビデオコンテンツを遮蔽することなく、オーバーレイドコンテンツが提供され得る、ビデオの部分を識別するように構成され得る、ビデオシステムを提供する。重要なコンテンツは、たとえば、テキスト、人間の顔、人間の胴部、移動物体、またはビデオフレーム間で色分散変化を受けるビデオの部分など、ビデオ特徴を含み得る。重要なコンテンツは、ユーザがそのコンテンツを視聴することを望み、そのコンテンツが興味深いことを発見するので、その上でオーバーレイドコンテンツを表示することがユーザにとって望ましくないようになる、ビデオ特徴のタイプを含み得る。いくつかの実装形態では、ビデオシステムは、ビデオのフレームのセット内で、重要なコンテンツに対応するビデオ特徴タイプのビデオ特徴を自動的に識別するように構成され得る。ビデオシステムは、ビデオ特徴が識別されなかったロケーションを識別することによって、オーバーレイドコンテンツを表示するべきロケーションを自動的に決定することができる。たとえば、信頼性スコアが、各ビデオ特徴タイプについて、およびビデオフレームにおける複数のロケーションのうちの各ロケーションについて決定され得る。各信頼性スコアは、ビデオフレームにおけるロケーションが特定のビデオ特徴タイプの特徴を含む尤度を示すことができる。信頼性スコアは、オーバーレイドコンテンツを表示するべきロケーションを決定するために集約および使用され得る。
いくつかの実装形態では、ビデオのタイプまたはカテゴリーに応じて、ビデオのいくつかの特徴は、それらの特徴の上にコンテンツをオーバーレイすることがビデオの視聴を妨害するようになる点において、重要であることがあり、他の特徴は、それらの特徴の上にコンテンツをオーバーレイすることがビデオの視聴を妨害しないようになる点において、より重要でないことがある。したがって、ビデオシステムは、ビデオのカテゴリーまたはタイプに基づいて、異なる特徴のための信頼性値を調整するように構成され得る。いくつかの実装形態では、異なるタイプ/カテゴリーのビデオについて、ビデオシステムは、各検出された特徴タイプに異なるレベルの重要性(たとえば、1から5までの数値スケールにおける重み)を割り当てるように構成され得る。特定の特徴タイプのための高い重要性/重みは、その特定の特徴タイプがオーバーレイコンテンツによって遮蔽されるべきではないことを示すが、低い重要性/重みは、その特定の特徴タイプがオーバーレイコンテンツによって遮蔽され得ることを示す。たとえば、トークショービデオでは、高い重要性(たとえば、1から5のスケール上の4の重み)が、人間の顔を含むビデオの部分をオーバーレイしないために割り当てられ得る。スポーツ関連のビデオでは、高い重要性(たとえば、1から5のスケール上の4または5の重み)が、ビデオのテキスト部分(たとえば、スコアを含む部分)をオーバーレイしないため、および動きがあるビデオの部分をオーバーレイしないために割り当てられ得る。
各特徴タイプに割り当てられた重みに基づいて、様々な特徴タイプのための信頼性値が、ビデオカテゴリー重みに基づいて調整され得るので、ビデオカテゴリーにとってより重要な特徴タイプの上にコンテンツをオーバーレイする尤度が低減されるようになる。異なる特徴タイプのための調整された信頼性値に基づいて、ビデオシステムは、オーバーレイコンテンツが表示され得る1つまたは複数のロケーションを識別することができる。次いで、ビデオシステムは、これらの識別されたロケーションのうちの1つにおいて表示するために、オーバーレイコンテンツを提供することができる。
これらの特徴および追加の特徴について、図1~図7を参照しながら以下でより詳細にさらに説明する。
本明細書全体にわたる説明に加えて、ユーザには、本明細書で説明するシステム、プログラム、または特徴がユーザ情報(たとえば、ユーザのソーシャルネットワーク、ソーシャルアクションもしくはアクティビティ、職業、ユーザの選好、またはユーザの現在のロケーションについての情報)の収集を可能にし得るか否か、およびいつ可能にし得るかと、サーバからのコンテンツまたは通信がユーザに送信されるか否かの両方に関して、ユーザが選択を行うことを可能にする制御が提供され得る。加えて、いくつかのデータは、個人を特定可能な情報が除去されるように、記憶または使用される前に1つまたは複数の方法で扱われ得る。たとえば、ユーザの識別情報は、ユーザについて個人を特定可能な情報を決定することができないように扱われることがあり、またはユーザの地理的ロケーションが一般化されることがあり、その場合、ロケーション情報は、ユーザの特定のロケーションを決定することができないように(市、郵便番号、または州レベルなどまで)取得される。したがって、ユーザは、ユーザについてのどの情報が収集されるか、その情報がどのように使用されるか、およびどの情報がユーザに提供されるかを制御することができる。
図1は、デジタルコンテンツが配布され、クライアントデバイス上で表示するために提供される、例示的な環境100のブロック図である。例示的な環境100は、ネットワーク104を含む。ネットワーク104は、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、インターネット、またはそれらの組合せを含み得る。ネットワーク104はまた、任意のタイプのワイヤードおよび/もしくはワイヤレスネットワーク、衛星ネットワーク、ケーブルネットワーク、Wi-Fiネットワーク、モバイル通信ネットワーク(たとえば、3G、4Gなど)、またはそれらの任意の組合せも含み得る。ネットワーク104は、インターネットプロトコル(IP)、伝送制御プロトコル(TCP)、ユーザデータグラムプロトコル(UDP)、または他のタイプのプロトコルなど、パケットベースおよび/またはデータグラムベースのプロトコルを含む、通信プロトコルを利用することができる。ネットワーク104は、スイッチ、ルータ、ゲートウェイ、アクセスポイント、ファイアウォール、基地局、中継器、またはそれらの組合せなど、ネットワーク通信を容易にし、かつ/またはネットワークのためのハードウェア基礎を形成する、いくつかのデバイスをさらに含み得る。
ネットワーク104は、クライアントデバイス102、コンテンツプラットフォーム106、コンテンツプロバイダ108、およびビデオ処理システム110を接続する。例示的な環境100は、多数の異なるコンテンツプラットフォーム106、ビデオ処理システム110、クライアントデバイス102、およびコンテンツプロバイダ108を含み得る。
コンテンツプラットフォーム106は、コンテンツの配布を可能にするコンピューティングプラットフォーム(たとえば、図7を参照しながら説明する、ネットワークサーバまたは別のデータ処理装置など)である。例示的なコンテンツプラットフォーム106は、検索エンジン、ソーシャルメディアプラットフォーム、ビデオシェアリングプラットフォーム、新しいプラットフォーム、データアグリゲータプラットフォーム、または他のコンテンツシェアリングプラットフォームを含む。各コンテンツプラットフォーム106は、コンテンツプラットフォームサービスプロバイダによって動作され得る。
コンテンツプラットフォーム106は、それ自体のコンテンツを公開し、利用可能にすることができる。たとえば、コンテンツプラットフォーム106は、それ自体のニュース記事を公開する、ニュースプラットフォームであり得る。コンテンツプラットフォーム106はまた、コンテンツプラットフォーム106の一部ではない、1つまたは複数のコンテンツプロバイダ108によって提供されたコンテンツも表示し得る。上記の例では、ニュースプラットフォームもまた、1つまたは複数のコンテンツプロバイダ108によって提供されたサードパーティコンテンツを表示し得る。別の例として、コンテンツプラットフォーム106は、それ自体のコンテンツを公開しないが、異なるコンテンツプロバイダ108によって提供されたサードパーティコンテンツを集約および表示する、データアグリゲータプラットフォームであり得る。
いくつかの実装形態では、コンテンツプラットフォーム106は、クライアントデバイスについてのある情報(たとえば、デバイス選好情報、コンテンツ消費情報など)を記憶し得る。そのようなユーザ情報は、コンテンツプラットフォームによって、たとえば、クライアントデバイス102に提供されるコンテンツを適合させるため、またはクライアントデバイス102によって頻繁にアクセスされる特定のコンテンツにすぐにアクセスすることを可能にするために使用され得る。いくつかの実装形態では、コンテンツプラットフォーム106は、プラットフォーム上でそのようなデバイス情報を記憶しないことがあるが、コンテンツプラットフォーム106は、それにもかかわらず、(コンテンツプラットフォームとは別個の)特定のサーバ上に記憶するために、そのような情報を提供し得る。したがって、コンテンツプラットフォーム106(本明細書では、コンテンツプラットフォーム/サーバ106、または単にサーバとも呼ぶ)は、そのようなデバイス情報を記憶するコンテンツプラットフォーム、またはそのようなデバイス情報を記憶する(コンテンツプラットフォームとは別個の)サーバを指す。
いくつかの実装形態では、コンテンツプラットフォーム106は、それを通してユーザがストリーミングされたビデオコンテンツを視聴することができる、ビデオサービスである。ユーザにストリーミングされるビデオは、元のビデオストリームの上にオーバーレイされる(たとえば、コンテンツプロバイダ108によって提供された)追加のコンテンツを含み得る。下にあるビデオストリーム上に、オーバーレイドコンテンツを提供すること、ビデオストリームの視聴者に追加のコンテンツを提供すること、および、所与のビデオストリーミング帯域幅で視聴エリア内で配信されるコンテンツの量を改善することが、一般に望ましくなり得る。ビデオストリーミングシナリオに加えて、または代替として、コンテンツプラットフォーム106は、オーバーレイドコンテンツを含むように、ビデオファイルを修正するために、ビデオファイルを処理するビデオプロセッサを含み得、オーバーレイドコンテンツを伴う処理されたビデオファイルが、クライアントデバイス102上に表示するためにクライアントデバイス102に提供される。
しかしながら、下にあるビデオにおける重要なコンテンツを遮蔽しないように、オーバーレイドコンテンツをどのように置くかを決定する技術的問題がある。これは、ビデオにおける重要なコンテンツのロケーションが、経時的に急速に変化し得るので、ビデオ上にコンテンツをオーバーレイする状況において、特に困難な問題である。したがって、ビデオ内の特定のロケーションが、ある時点において(たとえば、1つのフレームにおいて)オーバーレイコンテンツのための良好な候補である場合でも、そのロケーションは、(たとえば、ビデオ内の登場人物の移動のために)後の時点において/後続のフレームにおいてオーバーレイコンテンツのための不良な候補になり得る。
ビデオ処理システム110によって決定された重要なコンテンツのロケーション情報を使用して、コンテンツプラットフォーム106は、ビデオストリームの上にコンテンツをオーバーレイすると同時に、下にあるビデオストリームにおける重要なコンテンツを特徴とするビデオスクリーンのエリア、たとえば、顔、テキスト、または移動物体などの顕著な物体を含んでいる元のビデオストリームにおけるエリアを回避することができる。ビデオ処理システム110は、たとえば、重要なコンテンツを含む可能性が低い、ビデオにおけるロケーションを識別することができる、機械学習方法およびエンジンを含み得るので、それらのロケーションにおいて表示されたオーバーレイドコンテンツが、下にあるビデオにおける重要なコンテンツを妨げる可能性が低くなる。以下でより詳細に説明するように、異なるタイプ(たとえば、カテゴリー)のビデオは、異なるタイプの重要なコンテンツを含み得る。したがって、ビデオ処理システム110は、ビデオのために決定されたビデオカテゴリーにとって特に重要であるビデオ特徴を回避することに基づいて、オーバーレイドコンテンツのためのロケーションの選択の優先度を付けることができる。
例示的な環境100のこれらの構成要素の追加の構造上および動作上の態様について、図3を参照しながら説明する。
図2は、例示的なビデオフレーム200を示す。ビデオフレーム200は、人物202および様々な物体(たとえば、カップ204、ラップトップ206、看板208、テキストラベル209、およびソーシャルメディア投稿210)など、様々な特徴を含む。テキストラベル209以外に、ビデオフレーム200中に含まれた他の物体のうちのいくつかは、他のテキストを含み得る。たとえば、カップ204はテキストラベルを有し、ラップトップ206は、テキストを含むステッカー212を有し、看板208はテキスト214を含み、ソーシャルメディア投稿210はテキスト216を含む。
オーバーレイドコンテンツがビデオフレーム200の上に表示されるとき、フレーム200において示された重要な特徴を遮蔽しないことが望ましくなり得る。いくつかの特徴は、他の特徴よりもユーザにとって重要であり得る。場合によっては、特徴サイズが重要性を決定し得る。たとえば、人物202の顔は、人物202の顔がソーシャルメディア投稿における顔218よりも大きいことに基づいて、顔218よりも重要であり得る。別の例として、人物202の顔は、ビデオの間の人物202の移動のために、顔218よりも重要であり得る。
別の例として、特徴重要性は、ビデオのカテゴリーに基づき得る。図3に関して以下で説明するように、ビデオのカテゴリーが決定され得る。たとえば、ビデオフレーム200は、トークショービデオからのフレームであり得、ビデオは、トークショーまたはエンターテインメントカテゴリーを有し得る。人物202は、たとえば、トークショーホストであり得る。
トークショービデオでは、人間の顔または胴部など、いくつかのタイプの特徴が特に重要であり得る。テキストなど、他のタイプの特徴も重要であるが、人間の特徴ほど重要でないことがある。トークショービデオは、他のビデオカテゴリーの場合とは異なるタイプの重要性を、いくつかの特徴に置くことがある。たとえば、スポーツビデオでは、スコアボードなどの静的なテキスト、および移動物体(たとえば、選手)が、最高の重要性を有し得る。ボール、ストライク、およびアウトカウントなどの小さいテキスト項目は、スポーツ(たとえば、野球)ビデオにおいて重要であると見なされ得るのに対して、カップ204上のテキストなどの小さいテキスト項目は、トークショービデオでは特に重要であると見なされないことがある(が、看板208上のテキスト214、またはソーシャルメディア投稿210におけるテキスト216など、より大きいテキスト項目は、依然として著しい重要性を有し得る)。
以下でより詳細に説明するように、ビデオ処理システム110は、ビデオフレーム200を含むビデオのビデオカテゴリー(たとえば、トークショー)に基づいて、および、ビデオカテゴリーにとって重要である特徴の検出されたロケーションに基づいて、ビデオカテゴリーにとって重要である特徴を遮蔽しないように、ビデオにおけるオーバーレイコンテンツを表示するべき1つまたは複数のロケーションを決定することができる。
図3は、ビデオ処理システム110が、コンテンツをオーバーレイするべきビデオ内のロケーションを決定する、例示的な環境300のブロック図である。ビデオ処理システム110は、入力ビデオ302を受信するか、またはそれにアクセスすることができる。たとえば、ビデオ処理システム110は、ビデオファイルもしくはストリーム、またはビデオファイルもしくはストリームへのリンクを受信することができる。いくつかの実装形態では、ビデオ処理システム110は、複数のビデオ入力を並列に処理すること(および、各ビデオ入力のためのそれぞれの出力を生じること)ができる。
いくつかの実装形態では、ビデオ処理システム110は、プリプロセッサ304を含む。プリプロセッサ304は、たとえば、フレームレート、ビデオサイズ、ビデオ品質、ビデオ解像度、またはビデオフォーマットのうちの1つまたは複数の均一性を提供するために、入力ビデオ302を前処理することができる。プリプロセッサ304の出力は、ビデオ処理システム110の他のサブエンジンによるさらなる処理のための、標準フォーマットにおけるビデオストリームであり得る。
ビデオカテゴライザ306は、あらかじめ定義されたビデオカテゴリーのセットから、入力ビデオ302のカテゴリーを識別することができる。ビデオカテゴリーは、いくつかの例を挙げれば、エンターテインメント、ゲーム、ライフスタイル、スポーツ、知識、および社会を含み得る。ビデオカテゴライザ306は、たとえば、入力ビデオ302のためのメタデータに基づいて、入力ビデオ302のカテゴリーを決定することができる。メタデータは、ビデオタイトルを含み得るか、またはビデオカテゴリーもしくはジャンルを含み得る。ビデオメタデータ中に含まれたカテゴリーまたはジャンルは、あらかじめ定義されたビデオカテゴリーのうちの1つにマッピングされ得る。メタデータ302は、入力ビデオ302とともに受信され得るか、またはビデオカテゴリー化の一部として、ビデオカテゴライザ302によってアクセスされ得る。いくつかの実装形態では、ビデオカテゴリーは、(たとえば、入力ビデオ302とともに)ビデオ処理システム110への入力として提供される。入力ビデオ302のフレームのサブセットを分析すること、および分析されたフレームのコンテンツに基づいて、ビデオカテゴリーを決定することを伴う技法など、他のタイプのビデオカテゴリー化が実行され得る。
ビデオサンプラー308は、入力ビデオ302のフレームのサブセットをキャプチャすることができる。たとえば、ビデオサンプラー308は、たとえば、フレーム毎秒の数、またはフレームごとの秒数であり得る、サンプリングレートを決定することができる。たとえば、ビデオサンプラー308は、3フレーム毎秒、1フレーム毎秒、または3秒ごとに1フレームをキャプチャすることができる。サンプリングレートは、様々なファクタに基づいて決定され得る。場合によっては、サンプリングレートは、ビデオカテゴリーに基づいて決定され得る。たとえば、いくつかのタイプのビデオコンテンツは、より静的である他のタイプのコンテンツよりも(たとえば、フレーム間のコンテンツの変化に関する限りは)動的であり得る。たとえば、事前分析は、エンターテインメントビデオが一般に知識ビデオよりも動的であり得ることを示し得る。したがって、エンターテインメントビデオのためのサンプリングレートは、知識ビデオの場合よりも高くなり得る。
場合によっては、サンプリングレートは、ビデオ処理システム110の処理能力に基づいて決定され得る。所与の入力ビデオ302を受信する、ビデオ処理システム110の特定のインスタンスは、たとえば、事前構成された処理能力を有し得る。別の例として、処理能力は、現在(または最近の)リソース利用に基づいてなど、動的に決定され得る。最近のリソース利用は、たとえば、ビデオ処理システム110による他の入力ビデオの最近の処理に基づき得る。いくつかの実装形態では、サンプリングレートは、アドミニストレータによって構成され得るパラメータであり得る。サンプリングレートを低下させることは、処理されるフレームの数を低減することによって、リソース効率を生じ得る。
サンプリングされたフレームは、特徴検出器310のセットによって処理され得る。特徴検出器310は、顔検出器310aと、人間関節検出器310bと、身体輪郭検出器310cと、テキスト検出器310dと、移動物体検出器310eと、色信号分散(color signal variance)検出器310fとを含む。いくつかの実装形態では、特徴検出器310は、少なくとも部分的に並列に実行される。別個のタスクが、各特徴タイプについて開始され得、たとえば、マスタータスクが、並列タスクの協調および監視を実行する。一部または全部の特徴検出器310は、所与の特徴検出器310に固有であるいくつかの最適化を実行し得る。たとえば、フレーム画像が、一部(または全部)のタイプの特徴検出のためにダウンサンプリング(たとえば、解像度を下げる)され得る。
各特徴検出器310は、各サンプリングされたフレームの各ロケーションのための信頼性スコアを決定することができ、所与の信頼性スコアは、所与のフレームにおける所与のロケーションが所与の特徴検出器310に対応する特徴を含む、信頼性を示す。信頼性スコアは、0から1までに及ぶことがあり、たとえば、0が特徴検出の最低の信頼性を示し、1が特徴検出の最強の信頼性を示す。
いくつかの手法では、検出された特徴は、特徴検出をより大きい特徴、すなわち、バックグラウンドの特徴とは対照的に、フォアグラウンドにあり、ビデオの視点により近い特徴に制限することによって、区別され得る。たとえば、ビデオのフォアグラウンドにおける人物に対応する、より大きい人間の顔は、顔検出器310aによって検出され得るが、群衆における顔など、ビデオのバックグラウンドにおける人物に対応する、より小さい人間の顔は、顔検出器310aによる検出から除外され得るか、または、より大きい顔よりも低い信頼性スコアを受け得る。
信頼性スコアは、信頼性スコアマップまたは行列において記憶され得る。行列の寸法およびアドレス指定は、たとえば、ビデオフレームの寸法およびロケーションに対応し得る。ロケーションは、たとえば、単一のピクセル、または複数のピクセルのブロックに対応し得る。たとえば、ロケーションは、10×10のピクセルのブロックであり得る。ブロックサイズは、構成可能、または動的に決定されたパラメータであり得る。より大きいまたはより小さいブロックサイズが、たとえば、処理能力、または所望の精度もしくは処理時間に基づいて構成され得る。処理能力は、上述のように、事前構成されたリソース記述に基づいて、または動的な性能に基づいて決定され得る。より高い処理能力、またはより高いレベルの所望の精度は、たとえば、より小さいブロックサイズを生じ得る。より低い処理能力、またはより小さい所望の処理時間は、たとえば、より大きいブロックサイズを生じ得る。
顔検出器310aは、サンプリングされたフレームにおける人間の顔を検出するように構成され得る。顔検出器310aは、ぼやけた顔、横顔、および目を閉じた顔を検出することができる。顔検出器310aは、検出された顔の内側のエリアのための0でない信頼性スコア(0でない信頼性スコアは、検出された顔の信頼性が高いほど、高くなる)と、検出された顔の外側のフレームのエリアのための0の信頼性スコアとを伴う、各サンプリングされたフレームのための信頼性マップを作成することができる。顔検出器310aは、機械学習システムなどのコンピュータビジョンシステム、たとえば、ベイズ画像分類器、または畳み込みニューラルネットワーク(CNN)画像分類器であり得るか、またはそれを含み得る。効率のために、顔検出器310aは、それらのロケーション内に表示される人物の識別情報を実際に認識すること(たとえば、それらの領域内に表示される特定の人物の顔を認識すること)なく、人間の顔がフレームにおいて現れるフレームロケーションを発見し得る。
機械学習コンピュータビジョンエンジンであり得るか、またはそれを含み得る、人間関節検出器310bは、首、肩、肘、手首、または手など、他の重要な人体部分を検出することができる。いくつかの実装形態では、上半身のものなど、いくつかの身体部分は、たとえば、下半身部分よりも重要に扱われ得る。場合によっては、人間関節検出器310bは、上半身部分により重要に重み付けするように構成されるのに対して、他の実装形態では、人間関節検出器310bは、検出から下半身部分を除外することができる。関節が検出されると、関節の周りのエリア(たとえば、円)が識別され得、円内のエリアが、重要な人体部分を含むロケーションとして扱われ得る。円のサイズは、関節が属する人間の検出されたサイズに基づき得る(たとえば、フレームにおいてより大きい人々は、検出された関節の周りでより大きい円形エリアを有し得る)。円のサイズ(または、人物サイズと円サイズの比)は、構成可能パラメータであり得る。異なる関節は、他のタイプの関節と比較して、異なるサイズの円を有し得る。たとえば、肩関節は、肘関節よりも重要であると見なされ得るので、より大きい円が、肘よりも肩のために使用され得る(または、別の例として、肩関節は、一般に肘関節よりも大きい関節であるので、より大きい円によって表され得る)。関節検出器310bは、関節関連円の内側のエリアのための0でない信頼性スコア(0でない信頼性スコアは、検出された関節の信頼性が高いほど、高くなる)と、関節関連円の外側のフレームのエリアのための0の信頼性スコアとを伴う、各サンプリングされたフレームのための信頼性マップを作成することができる。
身体輪郭検出器310cは、サンプリングされたフレームにおいて、検出された人々の輪郭を決定することができる。身体輪郭検出器310cは、CNNであり得るか、またはそれを含み得る。いくつかの実装形態では、身体輪郭検出器310cは、顔検出器310aおよび人間関節検出器310bに加えて、顔または重要な関節などの重要な人体部分のみでなく、人体によって占有されたフレームの任意のエリアを識別するために使用され得る。いくつかの実装形態では、身体輪郭検出器310cは、信頼性マップを生成するが、より低く重み付けされ、次いで顔検出器310aまたは人間関節検出器310bによって生成された高い信頼性スコアである、スコアを含む。たとえば、顔検出器310aは、検出された顔の高い信頼性のために1の信頼性スコアを用いて、検出された顔を伴うロケーションをスコアリングし得、人間関節検出器310bは、検出された関節の高い信頼性のために0.8の信頼性スコアを用いて、検出された関節を伴うロケーションをスコアリングし得、身体輪郭検出器310cは、0.6の信頼性スコアを用いて、身体輪郭内のロケーションをスコアリングし得る。顔検出器310a、人間関節検出器310b、および身体輪郭検出器310cの間のスコアの変動する重みの最終結果は、重要な身体部分の遮蔽を回避することが、身体部分優先度に従って扱われ、顔が最も重大に扱われ、重要な関節が、顔および重要な関節の外側の身体部分よりも重大に扱われることであり得る。最終的に、オーバーレイドコンテンツが所与のフレームロケーション上に置かれるか否かは、以下でより詳細に説明するように、特徴検出器310にわたって集約される、集約(および調整)された信頼性スコアに基づく。
テキスト検出器310dは、字幕、ゲームスコア、または見出しなど、重要なテキストコンテンツを遮蔽することを回避するために、サンプリングされたフレームにおけるテキストを検出することができる。テキスト検出器310dは、製品ラベル、道路標識、学校の講義のビデオ内のスクリーン上のホワイトボードなどにおいて現れるテキストなど、ビデオフレーム内のテキスト特徴を検出することができる。テキスト検出器310dは、複数の言語におけるテキストを検出することができ、様々なサイズのテキスト、またはゆがんでいるテキストを認識することができる。注目すべきことに、フレーム内で検出されたテキスト特徴は、ビデオストリームとは別個であるオーバーレイドコンテンツとは対照的に、ビデオストリーム自体の一部である。
テキスト検出器310dは、光学式文字認識(OCR)システムなど、機械学習システムであり得るか、またはそれを含み得る。効率のために、テキスト検出器310dは、それらのロケーション内に表示されるテキストの値を実際に認識することなく、テキストが現れるフレームロケーションを発見し得る。テキスト検出器310dは、テキストを含むロケーションのための0でない信頼性スコア(0でない信頼性スコアは、検出されたテキストの信頼性が高いほど、高くなる)と、テキストを含むエリアの外側のフレームのエリアのための0の信頼性スコアとを伴う、各サンプリングされたフレームのための信頼性マップを作成することができる。いくつかの実装形態では、パディングエリア(たとえば、20ピクセル)が、遷移勾配(transition gradient)として、テキストを含むロケーションに追加され、パディングエリアは、テキストエリアの一部として扱われる。
ユーザが遮蔽されないことを選好し得る、他のタイプの重要な特徴は、移動物体であり得る。たとえば、動いている物体は、一般に、静的な物体よりも、視聴者にとって重要なコンテンツを伝達する可能性が高く、したがって、一般に、オーバーレイドコンテンツによって遮蔽されることがより好適ではない。移動物体検出器310eは、フレーム間の色空間差(color-space difference)に基づいて、隣接するサンプリングされたフレーム間の移動を検出することによって、移動物体を検出することができる。処理は、(現在のフレームのための信頼性スコアを生じる計算を用いて)前の、現在の、および次のフレームを使用して、(最初のフレームおよび最後のフレーム以外の)各フレームについて実行され得る。移動物体検出は、(たとえば、ロケーションが複数のピクセルに対応するとき)フレームロケーション内のピクセルの平均色値を計算すること、および、前のフレームおよび次のフレームにおける対応するロケーションについて計算された平均色値との、そのロケーションのための平均色値の間のユークリッド差(Euclidean difference)を計算することを含み得る。より高い差値は、ロケーションが移動する(および、したがって重要な)コンテンツに対応する尤度を示す、より高い信頼性スコアに対応し得る。移動物体検出は、以下の式に基づき得る。
Figure 0007367187000001
ただし、
Figure 0007367187000002
ただし、S=すべての整数ペアi,j∈[x:x+10),[y:y+10)
ただし、At=時間tにおけるフレームを表すRGB行列
ただし、|M0[x,y,t0]-M0[x,y,t1]|=2つの3×1ベクトル間のRBGユークリッド距離であり、ただし、
Figure 0007367187000003
、最大の可能なユークリッド距離であり、ただし、i,j,C=座標i,jにおける色値Cである。
色分散は、別のタイプの特徴であり得る。ロケーションのためのフレーム間の色分散は、フォアグラウンドコンテンツなど、重要なコンテンツを示すことができる。フレーム間の色分散が低いかまたはないことは、バックグラウンドエリアなど(たとえば、壁、空など)、より重要でないコンテンツを示すことができる。色信号分散検出器310fは、フレーム間の色分散を決定し、ロケーションが、先行するフレームおよび後続のフレームに対してフレームのための色分散を受けるか否かを示す、各それぞれのフレームにおける各ロケーションのための信頼性スコアを計算することができる。色分散ロケーションに関するロケーションは、上記で説明したように、ピクセルのブロックであり得る。色分散は、以下の公式に従って計算され得る。
Figure 0007367187000004
ただし、S=すべての整数ペアi,j∈[x,x+50),[y,y+50)
ただし、At=時間tにおけるフレームを表すRGB行列
信頼性値調整器312は、ビデオカテゴライザ306によって決定されたビデオカテゴリーに基づいて、特徴検出器310によって生成された信頼性値を調整することができる。信頼性値調整器312は、ビデオカテゴリーに基づいて、各特徴タイプのための重みを識別または決定することができる。上述のように、いくつかの特徴タイプは、いくつかのビデオカテゴリーにとってより重要である。カテゴリーのための各特徴タイプ重みは、たとえば、0と1との間の値であり得る。1の重み値は、特徴タイプがビデオカテゴリーにとって重要であることを示すことができる。ビデオカテゴリーのための特徴タイプのための1未満(たとえば、0.5)の重み値は、特徴タイプがビデオカテゴリーにとってより重要でないことを示すことができる。たとえば、トークショービデオでは、人間の顔特徴のための重みは1であり得、テキスト特徴のための重みは0.8であり得る。スポーツビデオカテゴリーは、移動物体特徴のための1の重みと、(たとえば、スコアボードまたは統計値のための)テキスト特徴のための1の重みと、人間の顔特徴のための0.8の重みとを有し得る。いくつかの実装形態では、信頼性値調整器312は、所与のカテゴリーのための重みを取り出すために、ルックアップテーブルを使用する。ルックアップテーブルは、各カテゴリーについて、様々な特徴の各々のための重み値を記憶することができる。ルックアップテーブルは、アドミニストレータによって事前構成される重み値を含み得るか、またはルックアップテーブルは、異なるビデオカテゴリーのための重み調整を決定するようにトレーニングされる機械学習システムによって動的に決定もしくは調整される重み値を含み得る。
信頼性値アグリゲータ314は、各サンプリングされたフレームのための各ロケーションのための集約および調整された信頼性スコアを生じるために、信頼性値調整器312によって調整された、調整された信頼性スコアを集約することができる。集約および調整された信頼性スコアは、各サンプリングされたフレームのための行列において記憶され得る。集約は、各ロケーションについて、および各サンプリングされたフレームについて、各特徴検出器310によってロケーションのために計算された信頼性値を合計することを含み得る。合計が、サンプリングされたフレームのロケーションについて、1よりも大きい場合、信頼性値アグリゲータ314は、合計の上限を1に定めることができる。したがって、集約および調整された信頼性スコアは、0と1との間の値を有することができ、1の値は、ロケーションにおける重要な特徴の最高の信頼性を示し、0は、ロケーションにおける重要な特徴の最低の信頼性を示す。
信頼性値アグリゲータ314(または、いくつかの実装形態では、信頼性値調整器312)は、フレームの中心またはその近くに位置するロケーションの信頼性スコアを高めるために、信頼性スコアをさらに調整することができる。中心ベースの調整は、ビデオの重要なコンテンツがフレームの中心エリアを占有する可能性が高い(および、中心に置かれたオーバーレイドコンテンツが、ビデオの主要コンテンツから離れたユーザにとって、大きすぎる混乱を引き起こし得る)という一般的な理解に基づいて、中心ロケーションがオーバーレイドコンテンツのために選ばれる可能性を低くするために行われ得る。たとえば、一定の2次元ガウス分布が、たとえば、以下の公式に従って、集約および調整された信頼性スコアに乗数として適用され得る。
Figure 0007367187000005
ただし、
Figure 0007367187000006
ただし、x,y∈[-幅,幅),[-高さ,高さ)
集約および調整された信頼性スコアは、様々な目的のために使用され得る。たとえば、いくつかの実装形態では、および図4に関して以下に示されるように、ビジュアライザ316は、1つまたは複数のサンプリングされたフレームの各々のためのヒートマップを生成およびレンダリングすることができる。フレームのためのヒートマップは、異なる色としてレンダリングされた信頼性値を表示することができる。たとえば、赤色は、高い信頼性値を示すことができ、緑色は、低い信頼性値を示すことができる。別の例として、フレームのためのヒートマップは、図5に関して以下に示されるように、フレーム画像と合成(たとえば、フレーム画像上にオーバーレイ)され、マージされた画像としてレンダリングされ得る。スタンドアロンおよび/またはオーバーレイドヒートマップは、アドミニストレータまたは開発者によって、たとえば、監視、トラブルシューティング、またはデバッギングの目的のために閲覧され得る。
別の例として、いくつかの実装形態では、集約および調整された信頼性スコアは、入力ビデオ302上でオーバーレイコンテンツを表示するために現在使用されている、1つまたは複数の既存の(たとえば、使用中の)コンテンツスロットのための品質スコアを計算するために使用され得る。既存のコンテンツスロットの計算された品質スコアに基づいて、既存のコンテンツスロットにおいてオーバーレイコンテンツを表示し続けるか否かについての決定が行われ得る(たとえば、より高い品質スコアは、既存のコンテンツスロットがオーバーレイコンテンツを表示するために良好であることを示し得るが、より低い品質スコアは、既存のコンテンツスロットがオーバーレイコンテンツを表示するために理想的でないことを示し得る)。
集約および調整された信頼性スコアは、オーバーレイロケーション識別器318によって、たとえば、入力として受信されるオーバーレイドコンテンツおよび寸法入力322のうちの1つまたは複数に基づいて、入力ビデオ302のための推奨されたオーバーレイドコンテンツロケーション320a、および対応する時間オフセット320bを各々含む、1つまたは複数の出力320を決定するために使用され得る。各オーバーレイドコンテンツおよび寸法入力322は、指定された表示持続時間の間に入力ビデオ302の上にオーバーレイされることになるオーバーレイドコンテンツアイテムのための、所望のサイズおよび表示持続時間を指定することができる。
(集約および調整された信頼性スコアによって表されるような)検出された特徴は、入力ビデオ302のある持続時間を占有する異なるフレーム内の異なるロケーションに位置し得る。オーバーレイドコンテンツロケーション320aは、時間オフセット320bにおいて開始して、複数のフレームを含む時間の指定された持続時間の間に表示されるオーバーレイドコンテンツが、検出された特徴が複数のフレームにわたって位置するいかなる場所にも配置されないように、決定され得る。識別されたオーバーレイドコンテンツロケーション320aは、全体的に、または実質的に、入力された持続時間に対応するビデオフレームのシーケンスにおいて識別された特徴を含むロケーションの外側のロケーションであり得る。識別された特徴を含むロケーションは、(たとえば、下にある入力ビデオ302の重要なコンテンツが遮蔽されないことを保証するために)オーバーレイドコンテンツによって(可能な場合)遮蔽されるべきでないロケーションであり得る。別の例として、オーバーレイドコンテンツロケーション320aは、所定のしきい値よりも低い信頼性スコアに対応するロケーションであり得る。
オーバーレイロケーション識別器318は、所与のオーバーレイドコンテンツアイテムサイズおよび持続時間について、(たとえば、コンテンツアイテムサイズ、および入力ビデオ302における特定の数の後続の/連続するビデオフレームに対応するコンテンツアイテムの持続時間に基づいて)候補オーバーレイドコンテンツスロットを決定することができる。オーバーレイロケーション識別器318は、所望の持続時間に対応する異なる一連の連続するフレームの各々について、その一連における各フレームのための各候補スロットのための品質スコアを決定することができる。フレームのための候補スロットのための品質スコアは、候補スロット内に位置するすべてのロケーションのための集約および調整された信頼性スコアの合計であり得る。総合品質スコアは、一連におけるフレームのすべてのための候補スロットのためのすべての品質スコアの合計を計算することによって、一連のための候補スロットについて計算され得る。一連は、一連の最初のフレームの時間オフセットによって識別され得る。1つまたは複数の最高ランクの総合品質スコアのセットが識別され得る。
1つまたは複数の最高ランクの総合品質スコアに基づいて、オーバーレイロケーション識別器318は、1つまたは複数の出力320を識別することができ、各出力320が、最高ランクの品質スコアのうちの1つを有する候補スロットのオーバーレイドコンテンツロケーション320a(たとえば、ロケーションおよびサイズ)と、それにおいてオーバーレイドコンテンツアイテムの表示であるべき開始時間オフセットを示す、対応する時間オフセット320bとを含む。
出力320は、たとえば、コンテンツプラットフォーム106に提供されて、コンテンツプラットフォーム106が、入力ビデオ302の再生中に、対応する時間オフセット320bにおいて開始して、推奨されたオーバーレイドコンテンツロケーション320aにおいて、出力に対応するオーバーレイドコンテンツアイテムを表示することが可能にされ得る。開発またはトラブルシューティング中など、別の例として、出力320は、ビジュアライザ316に提供され得、ビジュアライザ316は、監視またはトラブルシューティングの目的のために、たとえば、アドミニストレータまたは開発者によって閲覧するために、たとえば、オーバーレイドコンテンツの輪郭(または、場合によっては、実際のオーバーレイドコンテンツ)をレンダリングすることができる。
図4は、例示的なヒートマップ400を示す。ヒートマップ400は、図3のビジュアライザ316によって生成され得るものであり、信頼性値アグリゲータ314によって生成された、集約および調整された信頼性スコアを可視化するために使用され得る。ヒートマップ400は、たとえば、トラブルシューティングまたは説明的な目的のために、アドミニストレータまたは開発者によって使用され得る。ヒートマップ400は、図2に関して上記で説明した各サンプリングされたビデオフレーム200のための、集約および調整された信頼性スコアの行列の可視化である。
異なる色が、異なる信頼性レベルを示すために使用され得る。たとえば、赤色は、高い信頼性値を示すことができ、緑色は、低い信頼性値を示すことができる。赤色で着色され得る、ヒートマップ400のエリア402a~402fは、顔検出器310a、人間関節検出器310b、および/または身体輪郭検出器310cによって生成された信頼性スコアに基づく、高い集約および調整された信頼性スコアに対応する。エリア402a~402fは、ビデオカテゴライザ306によって決定されたトークショービデオカテゴリーに従って、信頼性値調整器312によって実行された調整/重み付けに基づいて、(たとえば、高い信頼性スコアに対応する)赤色を有し得る。ヒートマップ400のエリア404a~404eもまた、テキスト検出器310dによるテキストラベル209、ソーシャルメディア投稿210、カップ204、ステッカー212、および看板208上のテキストの検出に対応する、(比較的)高い集約および調整された信頼性スコアに基づいて、赤色で(たとえば、同じまたはより薄い色合いの赤色で)着色され得る。エリア406およびエリア408など、ヒートマップ400の他のエリアは、より低い集約および調整された信頼性スコアを反映するために、緑色(たとえば、その色合い)で着色され得る。上記で説明し、図5において示されているように、オーバーレイロケーション識別器318は、所望の持続時間に等しいフレームのセットのためのオーバーレイコンテンツの表示のためのロケーションのために、フレームのセットにわたって持続する低い信頼性スコアに対応するロケーションを決定することができる。
図5は、例示的な信頼性スコア可視化500を示す。信頼性スコア可視化500は、図2のビデオフレーム200上の図4のヒートマップ400の少なくとも一部分のレンダリングを示す。ヒートマップ400の場合と同様に、信頼性スコア可視化500は、場合によっては、トラブルシューティング、監視、または他の説明的な目的のために(たとえば、図3のビジュアライザ316によって)生成され得る。可視化500は、たとえば、顔検出器310a、人間関節検出器310b、および/または身体輪郭検出器310cによって識別された、人物202の特徴に対応する着色エリア502aを含む。着色エリア502bは、ソーシャルメディアテキスト210における顔202の検出に対応する。影付きテキストエリア504a~504eは、テキスト検出器310dによるテキストラベル209、ソーシャルメディア投稿210上のテキスト216、カップ204上のテキスト、ステッカー212上のテキスト、および看板208上のテキスト214の検出に対応する。他の着色エリアが示され得るか、または所定のしきい値を上回る信頼性スコアに対応する着色エリアが、(たとえば、最高の信頼性スコアをもつエリアのみを示すために)示され得る。
高い信頼性スコアに対応する着色エリアの外側に位置する、コンテンツスロット506は、ビデオフレーム200に対応するトークショービデオの時間オフセットにおいて開始する(または、少なくともそれを含む)指定された持続時間の間の、オーバーレイドコンテンツアイテムの表示のための推奨されたロケーションに対応する。コンテンツスロット506は、所望のオーバーレイドコンテンツサイズに等しいサイズを有し得る。説明的な目的のために、コンテンツスロット506のための品質スコア508が表示され、品質スコア508は、オーバーレイロケーション識別器318によって決定されたフレーム200のための最高ランクの品質スコアに対応し得る。上述のように、コンテンツスロット506のロケーションを表すロケーション情報、およびフレーム200に対応する時間オフセットが、たとえば、エンドユーザがトークショービデオを視聴することを選択するとき、そのロケーションにおけるオーバーレイドコンテンツアイテムの表示のために、コンテンツプラットフォーム106に提供され得る。
単一のフレームおよび単一のコンテンツスロット可視化が示されているが、(たとえば、静止画像の集合として、または修正されたビデオストリームとしての)複数のフレーム可視化が、たとえば、ビジュアライザ216によって生成され、アドミニストレータ、開発者、またはコンテンツマネージャに表示され得る。加えて、各フレーム可視化は、現在のフレームについて識別された上位N個のランク付けされたコンテンツスロットなど、2つ以上の候補コンテンツスロットのレンダリングを含み得る。
図6は、オーバーレイドコンテンツを表示するべきビデオ内のロケーションを決定するための例示的なプロセス600のフロー図である。プロセス600の動作は、図1および図3において説明および図示したシステムの構成要素によって実行されるものとして以下で説明する。プロセス600の動作について、例示のためにのみ以下で説明する。プロセス600の動作は、任意の適切なデバイスまたはシステム、たとえば、任意の適切なデータ処理装置によって実行され得る。プロセス600の動作はまた、非一時的であり得るコンピュータ可読媒体上に記憶された命令として実装され得る。命令の実行は、1つまたは複数のデータ処理装置にプロセス600の動作を実行させる。
ビデオ処理システム110は(602において)、ビデオであって、当該ビデオとともに(たとえば、その上で)オーバーレイドコンテンツが表示されることになるビデオについて、あらかじめ定義されたビデオカテゴリーのセットから、ビデオのビデオカテゴリーを識別する。たとえば、図3を参照しながら上記で説明したように、ビデオカテゴライザ306は、入力ビデオ302のためのビデオカテゴリーを識別することができる。ビデオカテゴリーは、カテゴリーの中でも、エンターテインメント、ゲーム、ライフスタイル、スポーツ、知識、および社会を含み得る。
ビデオ処理システム110は(604において)、ビデオのサンプリングされたビデオフレームのセットにおける各ビデオフレームについて、処理を実行する。たとえば、ビデオ処理システム110は(606において)、ビデオ特徴タイプのセットのうちの各ビデオ特徴タイプについて、およびビデオフレームにおける複数のロケーションのうちの各ロケーションについて、ビデオフレームにおけるロケーションがビデオ特徴タイプの特徴を含む尤度を示す信頼性スコアを決定する。ビデオ特徴タイプは、人間の顔、人間の胴部、テキスト、移動物体、または色分散における変化を含み得る。たとえば、図3を参照しながら上記で説明したように、顔検出器310aと、人間関節検出器310bと、身体輪郭検出器310cと、テキスト検出器310dと、移動物体検出器310eと、色信号分散検出器310fとを含む、特徴検出器310の各々は、各フレームのための各ロケーションのための信頼性スコアを決定することができる。フレーム内のロケーションは、ピクセル、またはピクセルのブロックであり得る。異なるビデオ特徴タイプのための少なくともいくつかの信頼性スコアが、並列に決定され得る。たとえば、特徴検出器310のうちの2つ以上が、並列に動作することができる。
ビデオ処理システム110は(608において)、ビデオカテゴリーに基づいて、各ビデオ特徴タイプのための重みを決定し、各ビデオ特徴タイプのための重みが、ビデオカテゴリーのビデオが表示されるときにビデオ特徴タイプのビデオ特徴を遮蔽しないことの重要性を反映する。たとえば、図3を参照しながら上記で説明したように、信頼性値調整器312は、ビデオカテゴライザ306によって決定されたビデオカテゴリーに基づいて、特徴検出器310に関連付けられた特徴の各特徴タイプのための重みを決定することができる。
ビデオ処理システム110は(610において)、ビデオ特徴タイプのセットのうちの各ビデオ特徴タイプについて、調整された信頼性スコアを生成するために、ビデオ特徴タイプのための決定された重みに基づいて、ビデオフレームにおける複数のロケーションのための信頼性スコアを調整する。たとえば、図3を参照しながら上記で説明したように、信頼性値調整器312は、ビデオカテゴライザ306によって決定されたビデオカテゴリーに基づいて決定されたビデオ特徴タイプの対応する重みに基づいて、特徴検出器310によって決定された信頼性スコアを調整する。いくつかの実装形態では、オーバーレイドコンテンツがフレームの中心またはその近くに配置されることを防止するために、ビデオフレームの中心のあらかじめ定義された近接内にある、ビデオフレームにおけるロケーションのための信頼性スコアが、さらに調整され(たとえば、高められ)得る。
ビデオ処理システム110は(612において)、集約および調整された信頼性スコアを生成するために、サンプリングされたビデオフレームのセットにおける各ビデオフレームのための各ロケーションのための調整された信頼性スコアを集約する。たとえば、図3を参照しながら上記で説明したように、信頼性値アグリゲータ314は、集約および調整された信頼性スコアを生成するために、信頼性スコア調整器312によって生じた、調整された信頼性スコアを集約する。
ビデオ処理システム110は(614において)、集約および調整された信頼性スコアに基づいて、ビデオの表示中にオーバーレイドコンテンツを表示するべきロケーションを決定する。たとえば、図3を参照しながら上記で説明したように、オーバーレイロケーション識別器312は、オーバーレイドコンテンツのサイズおよび所望の表示持続時間に基づいて、そこで入力ビデオ302の上でオーバーレイとしてオーバーレイドコンテンツの表示を開始するべき、入力ビデオ302のオーバーレイドコンテンツロケーション320aおよび時間オフセット320bを決定することができる。ビデオの表示中にオーバーレイドコンテンツを表示するべきロケーションを決定することは、オーバーレイドコンテンツの指定されたサイズと、オーバーレイドコンテンツがビデオ内で提供されることになる持続時間またはフレームの数とに基づいて、ロケーションを決定することを含み得る。たとえば、図3に関して、オーバーレイロケーション識別器は、オーバーレイドコンテンツ寸法および持続時間入力322に基づいて、オーバーレイロケーションを決定することができる。
ビデオ処理システム110は(616において)、ビデオにおける決定されたロケーションにおいて表示するために、オーバーレイドコンテンツを提供する。たとえば、図3を参照しながら上記で説明したように、ビデオ処理システム110は、コンテンツプラットフォーム106が入力ビデオ302上でオーバーレイとして、時間オフセット320bにおいて開始して、オーバーレイドコンテンツロケーション320aにおいて、オーバーレイドコンテンツアイテムをレンダリングするために、コンテンツプラットフォーム106に、オーバーレイドコンテンツアイテムのためのオーバーレイドコンテンツロケーション320a、および対応する時間オフセット320b(ならびに、いくつかの実装形態では、オーバーレイドコンテンツアイテム自体)を提供することができる。
したがって、このようにして、ビデオ処理システム110および/またはコンテンツプラットフォーム106は、重要なビデオコンテンツを遮蔽することなく、および重要なことには、ビデオコンテンツについて決定されたビデオカテゴリーのビデオにとって最も重要であるコンテンツを回避して、ビデオコンテンツの上でオーバーレイドコンテンツアイテムを表示することができる。
図7は、上記で説明した動作を実行するために使用され得る、例示的なコンピュータシステム700のブロック図である。システム700は、プロセッサ710、メモリ720、記憶デバイス730、および入力/出力デバイス740を含む。構成要素710、720、730、および740の各々は、たとえば、システムバス750を使用して相互接続され得る。プロセッサ710は、システム700内での実行のために命令を処理することが可能である。いくつかの実装形態では、プロセッサ710は、シングルスレッドプロセッサである。別の実装形態では、プロセッサ710は、マルチスレッドプロセッサである。プロセッサ710は、メモリ720にまたは記憶デバイス730上に記憶された命令を処理することが可能である。
メモリ720は、システム700内に情報を記憶する。一実装形態では、メモリ720は、コンピュータ可読媒体である。いくつかの実装形態では、メモリ720は、揮発性メモリユニットである。別の実装形態では、メモリ720は、不揮発性メモリユニットである。
記憶デバイス730は、システム700のための大容量記憶を提供することが可能である。いくつかの実装形態では、記憶デバイス730は、コンピュータ可読媒体である。様々な異なる実装形態では、記憶デバイス730は、たとえば、ハードディスクデバイス、光ディスクデバイス、複数のコンピューティングデバイス(たとえば、クラウド記憶デバイス)によってネットワーク上で共有される記憶デバイス、または何らかの他の大容量記憶デバイスを含み得る。
入力/出力デバイス740は、システム700のための入力/出力動作を提供する。いくつかの実装形態では、入力/出力デバイス740は、ネットワークインターフェースデバイス、たとえば、Ethernetカード、シリアル通信デバイス、たとえば、およびRS-232ポート、ならびに/またはワイヤレスインターフェースデバイス、たとえば、および802.11カードのうちの1つまたは複数を含み得る。別の実装形態では、入力/出力デバイスは、入力データを受信し、出力データを周辺デバイス760、たとえば、キーボード、プリンタ、およびディスプレイデバイスに送信するように構成された、ドライバデバイスを含み得る。しかしながら、モバイルコンピューティングデバイス、モバイル通信デバイス、セットトップボックステレビジョンクライアントデバイスなどの他の実装形態も使用され得る。
例示的な処理システムについて、図7で説明したが、本明細書で説明した主題および機能的動作の実装形態は、他のタイプのデジタル電子回路において、または本明細書で開示した構造およびそれらの構造等価物を含む、コンピュータソフトウェア、ファームウェア、もしくはハードウェアにおいて、またはそれらのうちの1つもしくは複数の組合せにおいて実装され得る。
本明細書で説明した主題および動作の実施形態は、デジタル電子回路において、または、本明細書で開示した構造およびそれらの構造等価物を含む、コンピュータソフトウェア、ファームウェア、もしくはハードウェアにおいて、またはそれらのうちの1つもしくは複数の組合せにおいて実装され得る。本明細書で説明した主題の実施形態は、データ処理装置による実行のために、またはデータ処理装置の動作を制御するために、1つまたは複数のコンピュータ記憶媒体上で符号化された1つまたは複数のコンピュータプログラム、すなわち、コンピュータプログラム命令の1つまたは複数のモジュールとして実装され得る。代替的にまたは追加として、プログラム命令は、データ処理装置による実行のために、好適な受信機装置への送信のために情報を符号化するために生成された、人工的に生成された伝搬信号、たとえば、機械生成の電気、光、または電磁信号上で符号化され得る。コンピュータ記憶媒体は、コンピュータ可読記憶デバイス、コンピュータ可読記憶基板、ランダムもしくはシリアルアクセスメモリアレイもしくはデバイス、またはそれらのうちの1つもしくは複数の組合せであり得るか、またはそれらに含まれ得る。さらに、コンピュータ記憶媒体は、伝搬信号ではなく、コンピュータ記憶媒体は、人工的に生成された伝搬信号において符号化されたコンピュータプログラム命令のソースまたは宛先であり得る。コンピュータ記憶媒体はまた、1つまたは複数の別個の物理構成要素または媒体(たとえば、複数のCD、ディスク、または他の記憶デバイス)であり得るか、またはそれらに含まれ得る。
本明細書で説明した動作は、1つまたは複数のコンピュータ可読記憶デバイス上に記憶されたか、または他のソースから受信されたデータに対して、データ処理装置によって実行される動作として実装され得る。
「データ処理装置」という用語は、例として、プログラマブルプロセッサ、コンピュータ、システムオンチップ、もしくは上記の複数のもの、または上記の組合せを含む、データを処理するためのすべての種類の装置、デバイス、および機械を包含する。装置は、専用論理回路、たとえば、FPGA(フィールドプログラマブルゲートアレイ)またはASIC(特定用途向け集積回路)を含むことができる。装置は、ハードウェアに加えて、当該のコンピュータプログラムのための実行環境を作成するコード、たとえば、プロセッサファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム、クロスプラットフォームランタイム環境、仮想機械、またはそれらのうちの1つもしくは複数の組合せを構成するコードも含むことができる。装置および実行環境は、ウェブサービス、分散コンピューティングおよびグリッドコンピューティングインフラストラクチャなど、様々な異なるコンピューティングモデルインフラストラクチャを実現することができる。
(プログラム、ソフトウェア、ソフトウェアアプリケーション、スクリプト、またはコードとしても知られる)コンピュータプログラムは、コンパイラ型またはインタープリタ型言語、宣言型または手続き型言語を含む、任意の形態のプログラミング言語で書き込まれてよく、スタンドアロンプログラムとして、またはモジュール、構成要素、サブルーチン、オブジェクト、もしくはコンピューティング環境において使用するのに好適な他のユニットとして、を含めて、任意の形態で展開され得る。コンピュータプログラムは、ファイルシステムにおけるファイルに対応し得るが、そうである必要はない。プログラムは、他のプログラムもしくはデータ(たとえば、マークアップ言語文書に記憶された1つもしくは複数のスクリプト)を保持するファイルの一部分に、当該のプログラム専用の単一のファイルに、または複数の協調ファイル(たとえば、1つもしくは複数のモジュール、サブプログラム、またはコードの部分を記憶するファイル)に記憶され得る。コンピュータプログラムは、1つのコンピュータ上で、または、1つのサイトに配置されるかもしくは複数のサイトにわたって分散され、通信ネットワークによって相互接続される複数のコンピュータ上で実行されるように展開され得る。
本明細書で説明したプロセスおよび論理フローは、入力データに対して動作し、出力を生成することによってアクションを実行するために、1つまたは複数のコンピュータプログラムを実行する1つまたは複数のプログラマブルプロセッサによって実行され得る。プロセスおよび論理フローは、専用論理回路、たとえば、FPGA(フィールドプログラマブルゲートアレイ)またはASIC(特定用途向け集積回路)によっても実行され得、装置が、同じく専用論理回路、たとえば、FPGA(フィールドプログラマブルゲートアレイ)またはASIC(特定用途向け集積回路)として実装され得る。
コンピュータプログラムの実行に好適なプロセッサは、例として、汎用マイクロプロセッサと専用マイクロプロセッサの両方を含む。一般に、プロセッサは、命令およびデータを読取り専用メモリ、もしくはランダムアクセスメモリ、またはその両方から受信することになる。コンピュータの必須要素は、命令に従ってアクションを実行するためのプロセッサ、ならびに命令およびデータを記憶するための1つまたは複数のメモリデバイスである。一般に、コンピュータはまた、データを記憶するための1つまたは複数の大容量記憶デバイス、たとえば、磁気ディスク、光磁気ディスク、もしくは光ディスクを含むか、または、それらからデータを受信することもしくはそれらにデータを転送すること、もしくは両方を行うために動作可能に結合される。しかしながら、コンピュータはそのようなデバイスを有する必要はない。さらに、コンピュータは、ほんの数例を挙げると、別のデバイス、たとえば、モバイル電話、携帯情報端末(PDA)、モバイルオーディオもしくはビデオプレーヤ、ゲームコンソール、全地球測位システム(GPS)受信機、またはポータブル記憶デバイス(たとえば、ユニバーサルシリアルバス(USB)フラッシュドライブ)に埋め込まれ得る。コンピュータプログラム命令およびデータを記憶するのに好適なデバイスは、例として、半導体メモリデバイス、たとえば、EPROM、EEPROM、およびフラッシュメモリデバイス、磁気ディスク、たとえば、内蔵ハードディスクまたはリムーバブルディスク、光磁気ディスク、ならびにCD-ROMおよびDVD-ROMディスクを含む、すべての形態の不揮発性メモリ、媒体およびメモリデバイスを含む。プロセッサおよびメモリは、専用論理回路によって補完され得るか、または専用論理回路に組み込まれ得る。
ユーザとの対話を提供するために、本明細書で説明した主題の実施形態は、情報をユーザに表示するためのディスプレイデバイス、たとえば、CRT(陰極線管)またはLCD(液晶ディスプレイ)モニタと、それによってユーザが入力をコンピュータに提供することができるキーボードおよびポインティングデバイス、たとえば、マウスまたはトラックボールとを有するコンピュータ上で実装され得る。他の種類のデバイスも、ユーザとの対話を提供するために使用され得、たとえば、ユーザに提供されるフィードバックは、任意の形態の感覚フィードバック、たとえば、視覚フィードバック、聴覚フィードバック、または触覚フィードバックであり得、ユーザからの入力は、音響入力、音声入力、または触覚入力を含む任意の形態で受信され得る。加えて、コンピュータは、文書をユーザによって使用されるデバイスに送り、文書をそのデバイスから受信することによって、たとえば、ユーザのクライアントデバイス上のウェブブラウザから受信された要求に応答してウェブページをそのウェブブラウザに送ることによって、ユーザと対話することができる。
本明細書で説明した主題の実施形態は、たとえば、データサーバとして、バックエンド構成要素を含むか、もしくはミドルウェア構成要素、たとえば、アプリケーションサーバを含むか、またはフロントエンド構成要素、たとえば、ユーザが本明細書で説明した主題の実装形態とそれを通して対話することができるグラフィカルユーザインターフェースまたはウェブブラウザを有するクライアントコンピュータを含むか、あるいは1つもしくは複数のそのようなバックエンド構成要素、ミドルウェア構成要素、またはフロントエンド構成要素の任意の組合せを含む、コンピューティングシステムにおいて実装され得る。システムの構成要素は、デジタルデータ通信の任意の形態または媒体、たとえば、通信ネットワークによって相互接続され得る。通信ネットワークの例は、ローカルエリアネットワーク(「LAN」)およびワイドエリアネットワーク(「WAN」)、インターネットワーク(たとえば、インターネット)、ならびにピアツーピアネットワーク(たとえば、アドホックピアツーピアネットワーク)を含む。
コンピューティングシステムは、クライアントおよびサーバを含み得る。クライアントおよびサーバは、一般に互いから離れており、典型的には通信ネットワークを通じて対話する。クライアントとサーバとの関係は、それぞれのコンピュータ上で実行され、互いにクライアントサーバ関係を有するコンピュータプログラムによって生じる。いくつかの実施形態では、サーバは、(たとえば、クライアントデバイスと対話するユーザにデータを表示し、そのユーザからユーザ入力を受信する目的で)クライアントデバイスにデータ(たとえば、HTMLページ)を送信する。クライアントデバイスにおいて生成されたデータ(たとえば、ユーザ対話の結果)は、サーバにおいてクライアントデバイスから受信され得る。
本明細書は多くの特定の実装形態の詳細を含んでいるが、これらは任意の発明の範囲または特許請求され得るものの範囲に対する限定として解釈されるべきではなく、むしろ特定の発明の特定の実施形態に特有の特徴の説明として解釈されるべきである。別個の実施形態の文脈において本明細書で説明されるいくつかの特徴はまた、単一の実施形態において組み合わせて実装され得る。逆に、単一の実施形態の文脈において説明される様々な特徴はまた、複数の実施形態において別々にまたは任意の好適な部分組合せにおいて実装され得る。さらに、特徴はいくつかの組合せにおいて働くものとして上記で説明され、そのようなものとして最初に特許請求されることさえあるが、特許請求される組合せからの1つまたは複数の特徴は、場合によっては、その組合せから削除される場合があり、特許請求される組合せは、部分組合せまたは部分組合せの変形形態を対象とし得る。
同様に、動作は、特定の順序で図面に示されるが、これは、望ましい結果を達成するために、そのような動作が図示された特定の順序でもしくは順番に実行されること、またはすべての例示された動作が実行されることを必要とするものとして理解されるべきではない。いくつかの状況では、マルチタスキングおよび並列処理が有利であり得る。さらに、上記で説明した実施形態における様々なシステム構成要素の分離は、すべての実施形態においてそのような分離を必要とするものとして理解されるべきではなく、説明したプログラム構成要素およびシステムは一般に、単一のソフトウェア製品に一緒に組み込まれるか、または複数のソフトウェア製品にパッケージ化されることがあると理解されたい。
以上、本主題の特定の実施形態について説明した。他の実施形態は、以下の特許請求の範囲内にある。場合によっては、特許請求の範囲において列挙されるアクションは、異なる順序で実行される場合があるが、依然として望ましい結果を達成することができる。加えて、添付の図において図示されるプロセスは、望ましい結果を達成するために、必ずしも示されている特定の順序または順番を必要とするとは限らない。いくつかの実装形態では、マルチタスキングおよび並列処理が有利であり得る。
100、300 例示的な環境
102 クライアントデバイス
104 ネットワーク
106 コンテンツプラットフォーム、コンテンツプラットフォーム/サーバ
108 コンテンツプロバイダ
110 ビデオ処理システム
200 ビデオフレーム、フレーム
202 人物
204 カップ
206 ラップトップ
208 看板
209 テキストラベル
210 ソーシャルメディア投稿、ソーシャルメディアテキスト
212 ステッカー
214、216 テキスト
218 顔
302 入力ビデオ
304 プリプロセッサ
306 ビデオカテゴライザ
308 ビデオサンプラー
310 特徴検出器
310a 顔検出器
310b 人間関節検出器、関節検出器
310c 身体輪郭検出器
310d テキスト検出器
310e 移動物体検出器
310f 色信号分散検出器
312 信頼性値調整器、信頼性スコア調整器
314 信頼性値アグリゲータ
316 ビジュアライザ
318 オーバーレイロケーション識別器
320 出力
320a 推奨されたオーバーレイドコンテンツロケーション、オーバーレイドコンテンツロケーション、識別されたオーバーレイドコンテンツロケーション
320b 対応する時間オフセット、時間オフセット
322 オーバーレイドコンテンツおよび寸法入力、オーバーレイドコンテンツ寸法および持続時間入力
400 ヒートマップ
402a~402f、404a~404e、406、408 エリア
500 信頼性スコア可視化、可視化
502a、502b 着色エリア
504a~504e 影付きテキストエリア
506 コンテンツスロット
508 品質スコア
700 コンピュータシステム、システム
710 プロセッサ、構成要素
720 メモリ、構成要素
730 記憶デバイス、構成要素
740 入力/出力デバイス、構成要素
750 システムバス

Claims (20)

  1. コンピュータ実装される方法(a computer-implemented method)であって、
    ビデオであって、前記ビデオとともにオーバーレイドコンテンツが表示されることになるビデオについて、あらかじめ定義されたビデオカテゴリーのセットから、前記ビデオのビデオカテゴリーを識別するステップと、
    前記ビデオのサンプリングされたビデオフレームのセットにおける各ビデオフレームについて、
    ビデオ特徴タイプのセットのうちの各ビデオ特徴タイプについて、および前記ビデオフレームにおける複数のロケーションのうちの各ロケーションについて、前記ビデオフレームにおける前記ロケーションが前記ビデオ特徴タイプの特徴を含む尤度を示す信頼性スコアを決定するステップと、
    前記ビデオカテゴリーに基づいて、各ビデオ特徴タイプのための重みを決定するステップであって、各ビデオ特徴タイプのための前記重みが、前記ビデオカテゴリーのビデオが表示されるときに前記ビデオ特徴タイプのビデオ特徴を遮蔽しないことの重要性を反映する、ステップと、
    前記ビデオ特徴タイプのセットのうちの各ビデオ特徴タイプについて、調整された信頼性スコアを生成するために、前記ビデオ特徴タイプのための前記決定された重みに基づいて、前記ビデオフレームにおける前記複数のロケーションのための前記信頼性スコアを調整するステップと、
    集約および調整された信頼性スコアを生成するために、前記サンプリングされたビデオフレームのセットにおける各ビデオフレームのための各ロケーションのための前記調整された信頼性スコアを集約するステップと、
    前記集約および調整された信頼性スコアに基づいて、ビデオ表示中にオーバーレイドコンテンツを配置するべきロケーションを決定するステップと、
    前記ビデオにおける前記決定されたロケーションにおいて表示するために、前記オーバーレイドコンテンツを提供するステップと
    を含むコンピュータ実装方法。
  2. 前記ビデオ特徴タイプが、人間の顔、人間の胴部、テキスト、移動物体、または色分散における変化を含む、請求項1に記載のコンピュータ実装方法。
  3. 異なるビデオ特徴タイプのための少なくともいくつかの信頼性スコアが、並列に決定される、請求項1または2に記載のコンピュータ実装方法。
  4. 前記ビデオ特徴タイプのセットのうちの各ビデオ特徴タイプについて、前記ビデオフレームにおける前記複数のロケーションのための前記信頼性スコアを調整するステップが、前記ビデオフレームの中心のあらかじめ定義された近接内にある、前記ビデオフレームにおけるロケーションのための前記信頼性スコアを調整するステップを含む、請求項1から3のいずれか一項に記載のコンピュータ実装方法。
  5. 前記集約および調整された信頼性スコアに基づいて、ビデオ表示中にオーバーレイドコンテンツを配置するべき前記ロケーションを決定するステップが、オーバーレイドコンテンツの指定されたサイズと、前記オーバーレイドコンテンツが前記ビデオ内で提供されることになる持続時間またはフレームの数とに基づいて、ビデオ表示中に前記オーバーレイドコンテンツを配置するべき前記ロケーションを決定するステップをさらに含む、請求項1から4のいずれか一項に記載のコンピュータ実装方法。
  6. オーバーレイドコンテンツを配置するべき前記ロケーションを決定するステップが、複数のロケーションを決定するステップを含み、前記決定されたロケーションにおいて前記オーバーレイドコンテンツを提供するステップが、前記複数のロケーションのうちの1つにおいて表示するために、前記オーバーレイドコンテンツを提供するステップを含む、請求項1から5のいずれか一項に記載のコンピュータ実装方法。
  7. 前記コンピュータ実装方法が、ビデオ処理システムによって、およびサンプリングレートに基づいて、前記サンプリングされたビデオフレームのセットを取得するために、前記ビデオをサンプリングするステップをさらに含み、前記サンプリングレートが、前記ビデオ処理システムの処理能力に基づいて決定される、請求項1から6のいずれか一項に記載のコンピュータ実装方法。
  8. システムであって、
    命令を記憶する1つまたは複数のメモリデバイスと、
    前記1つまたは複数のメモリデバイスと対話し、前記命令の実行時に、
    ビデオであって、前記ビデオとともにオーバーレイドコンテンツが表示されることになるビデオについて、あらかじめ定義されたビデオカテゴリーのセットから、前記ビデオのビデオカテゴリーを識別すること、
    前記ビデオのサンプリングされたビデオフレームのセットにおける各ビデオフレームについて、
    ビデオ特徴タイプのセットのうちの各ビデオ特徴タイプについて、および前記ビデオフレームにおける複数のロケーションのうちの各ロケーションについて、前記ビデオフレームにおける前記ロケーションが前記ビデオ特徴タイプの特徴を含む尤度を示す信頼性スコアを決定すること、
    前記ビデオカテゴリーに基づいて、各ビデオ特徴タイプのための重みを決定することであって、各ビデオ特徴タイプのための前記重みが、前記ビデオカテゴリーのビデオが表示されるときに前記ビデオ特徴タイプのビデオ特徴を遮蔽しないことの重要性を反映する、こと、ならびに
    前記ビデオ特徴タイプのセットのうちの各ビデオ特徴タイプについて、調整された信頼性スコアを生成するために、前記ビデオ特徴タイプのための前記決定された重みに基づいて、前記ビデオフレームにおける前記複数のロケーションのための前記信頼性スコアを調整すること、
    集約および調整された信頼性スコアを生成するために、前記サンプリングされたビデオフレームのセットにおける各ビデオフレームのための各ロケーションのための前記調整された信頼性スコアを集約すること、
    前記集約および調整された信頼性スコアに基づいて、ビデオ表示中にオーバーレイドコンテンツを配置するべきロケーションを決定すること、ならびに
    前記ビデオにおける前記決定されたロケーションにおいて表示するために、前記オーバーレイドコンテンツを提供すること
    を含む動作を実行するように構成された、1つまたは複数のデータ処理装置とを備える、システム。
  9. 前記ビデオ特徴タイプが、人間の顔、人間の胴部、テキスト、移動物体、または色分散における変化を含む、請求項8に記載のシステム。
  10. 異なるビデオ特徴タイプのための少なくともいくつかの信頼性スコアが、並列に決定される、請求項8または9に記載のシステム。
  11. 前記ビデオ特徴タイプのセットのうちの各ビデオ特徴タイプについて、前記ビデオフレームにおける前記複数のロケーションのための前記信頼性スコアを調整することが、前記ビデオフレームの中心のあらかじめ定義された近接内にある、前記ビデオフレームにおけるロケーションのための前記信頼性スコアを調整することを含む、請求項8から10のいずれか一項に記載のシステム。
  12. 前記集約および調整された信頼性スコアに基づいて、ビデオ表示中にオーバーレイドコンテンツを配置するべき前記ロケーションを決定することが、前記オーバーレイドコンテンツの指定されたサイズと、前記オーバーレイドコンテンツが前記ビデオ内で提供されることになる持続時間またはフレームの数とに基づいて、ビデオ表示中にオーバーレイドコンテンツを配置するべき前記ロケーションを決定することをさらに含む、請求項8から11のいずれか一項に記載のシステム。
  13. オーバーレイドコンテンツを配置するべき前記ロケーションを決定することが、複数のロケーションを決定することを含み、前記決定されたロケーションにおいて前記オーバーレイドコンテンツを提供することが、前記複数のロケーションのうちの1つにおいて表示するために、前記オーバーレイドコンテンツを提供することを含む、請求項8から12のいずれか一項に記載のシステム。
  14. 前記動作が、ビデオ処理システムによって、およびサンプリングレートに基づいて、前記サンプリングされたビデオフレームのセットを取得するために、前記ビデオをサンプリングすることをさらに含み、前記サンプリングレートが、前記ビデオ処理システムの処理能力に基づいて決定される、請求項8から13のいずれか一項に記載のシステム。
  15. 命令を記憶するコンピュータ可読記憶媒体であって、前記命令が、1つまたは複数のデータ処理装置によって実行されると、前記1つまたは複数のデータ処理装置に、
    ビデオであって、前記ビデオとともにオーバーレイドコンテンツが表示されることになるビデオについて、あらかじめ定義されたビデオカテゴリーのセットから、前記ビデオのビデオカテゴリーを識別すること、
    前記ビデオのサンプリングされたビデオフレームのセットにおける各ビデオフレームについて、
    ビデオ特徴タイプのセットのうちの各ビデオ特徴タイプについて、および前記ビデオフレームにおける複数のロケーションのうちの各ロケーションについて、前記ビデオフレームにおける前記ロケーションが前記ビデオ特徴タイプの特徴を含む尤度を示す信頼性スコアを決定すること、
    前記ビデオカテゴリーに基づいて、各ビデオ特徴タイプのための重みを決定することであって、各ビデオ特徴タイプのための前記重みが、前記ビデオカテゴリーのビデオが表示されるときに前記ビデオ特徴タイプのビデオ特徴を遮蔽しないことの重要性を反映する、こと、ならびに
    前記ビデオ特徴タイプのセットのうちの各ビデオ特徴タイプについて、調整された信頼性スコアを生成するために、前記ビデオ特徴タイプのための前記決定された重みに基づいて、前記ビデオフレームにおける前記複数のロケーションのための前記信頼性スコアを調整すること、
    集約および調整された信頼性スコアを生成するために、前記サンプリングされたビデオフレームのセットにおける各ビデオフレームのための各ロケーションのための前記調整された信頼性スコアを集約すること、
    前記集約および調整された信頼性スコアに基づいて、ビデオ表示中にオーバーレイドコンテンツを配置するべきロケーションを決定すること、ならびに
    前記ビデオにおける前記決定されたロケーションにおいて表示するために、前記オーバーレイドコンテンツを提供すること
    を含む動作を実行させる、コンピュータ可読記憶媒体。
  16. 前記ビデオ特徴タイプが、人間の顔、人間の胴部、テキスト、移動物体、または色分散における変化を含む、請求項15に記載のコンピュータ可読記憶媒体。
  17. 異なるビデオ特徴タイプのための少なくともいくつかの信頼性スコアが、並列に決定される、請求項15または16に記載のコンピュータ可読記憶媒体。
  18. 前記ビデオ特徴タイプのセットのうちの各ビデオ特徴タイプについて、前記ビデオフレームにおける前記複数のロケーションのための前記信頼性スコアを調整することが、前記ビデオフレームの中心のあらかじめ定義された近接内にある、前記ビデオフレームにおけるロケーションのための前記信頼性スコアを調整することを含む、請求項15から17のいずれか一項に記載のコンピュータ可読記憶媒体。
  19. 前記集約および調整された信頼性スコアに基づいて、ビデオ表示中にオーバーレイドコンテンツを配置するべき前記ロケーションを決定することが、前記オーバーレイドコンテンツの指定されたサイズと、前記オーバーレイドコンテンツが前記ビデオ内で提供されることになる持続時間またはフレームの数とに基づいて、ビデオ表示中にオーバーレイドコンテンツを配置するべき前記ロケーションを決定することをさらに含む、請求項15から18のいずれか一項に記載のコンピュータ可読記憶媒体。
  20. オーバーレイドコンテンツを配置するべき前記ロケーションを決定することが、複数のロケーションを決定することを含み、前記決定されたロケーションにおいて前記オーバーレイドコンテンツを提供することが、前記複数のロケーションのうちの1つにおいて表示するために、前記オーバーレイドコンテンツを提供することを含む、請求項15から19のいずれか一項に記載のコンピュータ可読記憶媒体。
JP2022512820A 2020-10-30 2020-10-30 非遮蔽ビデオオーバーレイ Active JP7367187B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2020/058087 WO2022093252A1 (en) 2020-10-30 2020-10-30 Non-occluding video overlays

Publications (2)

Publication Number Publication Date
JP2023503764A JP2023503764A (ja) 2023-02-01
JP7367187B2 true JP7367187B2 (ja) 2023-10-23

Family

ID=73544355

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022512820A Active JP7367187B2 (ja) 2020-10-30 2020-10-30 非遮蔽ビデオオーバーレイ

Country Status (6)

Country Link
US (2) US11758216B2 (ja)
EP (1) EP4011061A1 (ja)
JP (1) JP7367187B2 (ja)
KR (1) KR102625760B1 (ja)
CN (1) CN114902649A (ja)
WO (1) WO2022093252A1 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US12045921B2 (en) * 2020-12-30 2024-07-23 Snap Inc. Automated content curation for generating composite augmented reality content
US20220284499A1 (en) * 2021-03-02 2022-09-08 Viralspace, LLC Feature-level recommendations for content items
US20230140042A1 (en) * 2021-11-04 2023-05-04 Tencent America LLC Method and apparatus for signaling occlude-free regions in 360 video conferencing
EP4406232A1 (en) * 2022-12-15 2024-07-31 Google Technology Holdings LLC System and method for video on video overlay

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006041886A (ja) 2004-07-27 2006-02-09 Sony Corp 情報処理装置および方法、記録媒体、並びにプログラム
JP2009022010A (ja) 2007-07-11 2009-01-29 Hewlett-Packard Development Co Lp オーバーレイされるコンテンツの配置情報をビデオストリームのユーザに提供する方法及び装置
JP2012010117A (ja) 2010-06-25 2012-01-12 Kddi Corp 映像コンテンツに重畳する付加情報の領域を決定する映像出力装置、プログラム及び方法
US20140359656A1 (en) 2013-05-31 2014-12-04 Adobe Systems Incorporated Placing unobtrusive overlays in video content
JP2016061885A (ja) 2014-09-17 2016-04-25 ヤフー株式会社 広告表示装置、広告表示方法、及び広告表示プログラム
JP2017510167A (ja) 2014-02-07 2017-04-06 ソニー インタラクティブ エンタテインメント アメリカ リミテッド ライアビリテイ カンパニー メディアにおける広告および他の挿入物の位置およびタイミングを判定するスキーム
US20180012630A1 (en) 2016-07-07 2018-01-11 Yahoo!, Inc. Selective content insertion into areas of media objects

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SG119229A1 (en) * 2004-07-30 2006-02-28 Agency Science Tech & Res Method and apparatus for insertion of additional content into video
KR101153262B1 (ko) * 2009-08-13 2012-06-05 주식회사 케이티 비디오 콘텐츠에 워터마크를 중첩하여 삽입/검출하는 시스템 및 방법
US9111287B2 (en) * 2009-09-30 2015-08-18 Microsoft Technology Licensing, Llc Video content-aware advertisement placement
US10771736B2 (en) * 2014-06-30 2020-09-08 Microsoft Technology Licensing, Llc Compositing and transmitting contextual information during an audio or video call
WO2016012875A1 (en) 2014-07-23 2016-01-28 Comigo Ltd. Reducing interference of an overlay with underlying content
US11076200B2 (en) * 2016-12-13 2021-07-27 Rovi Guides, Inc. Systems and methods for minimizing obstruction of a media asset by an overlay by predicting a path of movement of an object of interest of the media asset and avoiding placement of the overlay in the path of movement
US10997395B2 (en) * 2017-08-14 2021-05-04 Amazon Technologies, Inc. Selective identity recognition utilizing object tracking
WO2019035771A1 (en) * 2017-08-17 2019-02-21 National University Of Singapore METHODS AND SYSTEMS FOR DETECTING VISUAL RELATIONS IN A VIDEO
WO2020047854A1 (en) * 2018-09-07 2020-03-12 Intel Corporation Detecting objects in video frames using similarity detectors
KR20200076968A (ko) * 2018-12-20 2020-06-30 주식회사 케이티 위치 관련 컨텐츠와 오버레이 컨텐츠를 매핑하는 컨텐츠 제공 서버, 사용자 단말 및 방법
US11461915B2 (en) * 2020-01-06 2022-10-04 Qualcomm Incorporated Object size estimation using camera map and/or radar information
US11982630B2 (en) * 2020-04-29 2024-05-14 DataGarden, Inc. Method and apparatus for cleanliness determination of areas and objects via video monitoring
US11386662B2 (en) * 2020-05-28 2022-07-12 Microsoft Technology Licensing, Llc Tracking multiple objects in a video stream using occlusion-aware single-object tracking
US11430221B2 (en) * 2020-09-11 2022-08-30 Sensormatic Electronics, LLC Enhancing detection of occluded objects in a multiple object detection system
US11477426B2 (en) * 2020-10-26 2022-10-18 Avaya Management L.P. Selective image broadcasting in a video conference

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006041886A (ja) 2004-07-27 2006-02-09 Sony Corp 情報処理装置および方法、記録媒体、並びにプログラム
JP2009022010A (ja) 2007-07-11 2009-01-29 Hewlett-Packard Development Co Lp オーバーレイされるコンテンツの配置情報をビデオストリームのユーザに提供する方法及び装置
JP2012010117A (ja) 2010-06-25 2012-01-12 Kddi Corp 映像コンテンツに重畳する付加情報の領域を決定する映像出力装置、プログラム及び方法
US20140359656A1 (en) 2013-05-31 2014-12-04 Adobe Systems Incorporated Placing unobtrusive overlays in video content
JP2017510167A (ja) 2014-02-07 2017-04-06 ソニー インタラクティブ エンタテインメント アメリカ リミテッド ライアビリテイ カンパニー メディアにおける広告および他の挿入物の位置およびタイミングを判定するスキーム
JP2016061885A (ja) 2014-09-17 2016-04-25 ヤフー株式会社 広告表示装置、広告表示方法、及び広告表示プログラム
US20180012630A1 (en) 2016-07-07 2018-01-11 Yahoo!, Inc. Selective content insertion into areas of media objects

Also Published As

Publication number Publication date
KR20220058892A (ko) 2022-05-10
US12143663B2 (en) 2024-11-12
KR102625760B1 (ko) 2024-01-16
CN114902649A (zh) 2022-08-12
US20240007703A1 (en) 2024-01-04
US11758216B2 (en) 2023-09-12
WO2022093252A1 (en) 2022-05-05
EP4011061A1 (en) 2022-06-15
US20220368979A1 (en) 2022-11-17
JP2023503764A (ja) 2023-02-01

Similar Documents

Publication Publication Date Title
JP7367187B2 (ja) 非遮蔽ビデオオーバーレイ
US10810434B2 (en) Movement and transparency of comments relative to video frames
US11315326B2 (en) Extended reality anchor caching based on viewport prediction
US10621954B2 (en) Computerized system and method for automatically creating and applying a filter to alter the display of rendered media
EP3516882B1 (en) Content based stream splitting of video data
US10200725B2 (en) Adaptive data streaming based on virtual screen size
US10810430B2 (en) Augmented reality with markerless, context-aware object tracking
JP6735927B2 (ja) ビデオコンテンツの要約処理
US20090103810A1 (en) Content generation, extraction and distribution of image region segments from video images
US9418292B2 (en) Methods, apparatuses, and computer program products for restricting overlay of an augmentation
US20130308856A1 (en) Background Detection As An Optimization For Gesture Recognition
CN114443188B (zh) 多个媒体流的显示布局优化
US11049273B2 (en) Systems and methods for generating a visibility counts per pixel of a texture atlas associated with a viewer telemetry data
US10147218B2 (en) System to identify and use markers for motion capture
Rakholia et al. Where to place: A real-time visual saliency based label placement for augmented reality applications
US11272171B1 (en) Systems and methods for fallback tracking based on real-time tracking performance
CN113793410A (zh) 视频处理方法、装置、电子设备及存储介质
Bhuyan et al. GameStreamSR: Enabling Neural-Augmented Game Streaming on Commodity Mobile Platforms
US20200349744A1 (en) System and a method for providing color vision deficiency assistance
CN111754493A (zh) 图像噪点强度评估方法、装置、电子设备及存储介质
US12101529B1 (en) Client side augmented reality overlay
US20240355147A1 (en) Gesture detection method and apparatus and extended reality device
TW202345607A (zh) 基於串流的物件辨識之系統及方法
CN116916028A (zh) 使用虚拟分辨率调整的视频流缩放
EP4499253A1 (en) Object viewability in virtual environments

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220421

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230529

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20230531

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230829

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: 20230911

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20231011

R150 Certificate of patent or registration of utility model

Ref document number: 7367187

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150