(57)【要約】【課題】ビデオ用の最適化を識別し、そのような最適化をビデオ所有者に提案するためのシステムを提供する。【解決手段】オプティマイザを実行するコンピューティングデバイスがビデオを解析する。コンピューティングデバイスは、解析結果に基づきビデオに対する1つまたは複数の最適化を識別する。コンピューティングデバイスは、1つまたは複数の最適化をそのビデオに関連付けられているエンティティに提案する。1つまたは複数の最適化をエンティティが受け入れたことに応答して、コンピューティングデバイスは、ビデオに対する1つまたは複数の最適化を実装する。【選択図】図２
2018078654.tif 000002
【特許請求の範囲】
【請求項１】
オプティマイザを実行するコンピューティングデバイスによって、機械学習アルゴリズムを使用してビデオを処理して、前記ビデオの元の内容に対する1つまたは複数の最適化を決定するステップであって、前記1つまたは複数の最適化は、前記ビデオの視聴率統計量を改善する前記ビデオの前記元の内容の修正に関連し、前記機械学習アルゴリズムは、複数の他のビデオの特性および前記複数の他のビデオのうちの他のビデオのそれぞれの視聴率統計量に関して訓練される、ステップと、
前記ビデオの前記元の内容を修正して前記1つまたは複数の最適化を実装する前記ビデオの修正されたバージョンを生成するステップと、
前記1つまたは複数の最適化の結果を示すために前記ビデオの前記修正されたバージョンを視聴者に提示させるステップとを含む、方法。
【請求項２】
前記1つまたは複数の最適化は、前記ビデオに関連付けられているメタデータにさらに関連する、請求項1に記載の方法。
【請求項３】
前記ビデオに関連付けられている前記メタデータを、1つまたは複数の種類の広告を前記ビデオの前記修正されたバージョンに関連して示すことを有効にする広告オプション、前記ビデオの前記修正されたバージョンをサードパーティウェブサイトに埋め込むことを有効化する埋め込みオプション、前記ビデオの前記修正されたバージョンをインターネット環境の外部に示すことを有効化するオフウェブシンジケーションオプション、サードパーティが前記ビデオの前記修正されたバージョンに注釈を付けることを有効化する注釈オプション、サードパーティが前記ビデオの前記修正されたバージョンに関してコメントすることを有効化するコメントオプション、サードパーティが前記ビデオの前記修正されたバージョンを格付けすることを有効化する格付けオプション、前記ビデオの前記修正されたバージョンに対するキャプションを有効化するキャプションオプション、または前記ビデオの前記修正されたバージョンに対するジオタギングを有効化するジオタギングオプションのうちの少なくとも1つを有効化することによって修正するステップをさらに含む、請求項2に記載の方法。
【請求項４】
前記ビデオに関連付けられている前記メタデータを、カスタムサムネイルを前記ビデオの前記修正されたバージョンに追加するステップ、前記ビデオの前記修正されたバージョンをプレイリストに追加するステップ、行動喚起注釈を前記ビデオの前記修正された内容に関連付けるステップ、前記ビデオの前記修正されたバージョンに対するタイトルを修正するステップ、前記ビデオの前記修正されたバージョンに対する説明を修正するステップ、またはタグを前記ビデオの前記修正されたバージョンに追加するステップのうちの少なくとも1つを実行することによって修正するステップをさらに含む、請求項2に記載の方法。
【請求項５】
前記機械学習アルゴリズムを訓練するステップをさらに含み、前記訓練するステップは、
前記複数の他のビデオの前記特性および前記他のビデオのそれぞれの前記視聴率統計量を提供して、前記機械学習アルゴリズムが、
改善された視聴率統計量を示す前記複数の他のビデオの前記特性のサブセットを識別することと、他のビデオのそれぞれが前記視聴率統計量の増加を示す前記特性の前記サブセットのうちの1つまたは複数を含むことを保証するために最適化ルールのセットを使用してどのビデオ最適化を実行すべきかを決定することとを可能にするステップを含む、請求項1に記載の方法。
【請求項６】
前記複数の他のビデオの各々の1つまたは複数の特性を決定するステップをさらに含む、請求項5に記載の方法。
【請求項７】
前記複数の他のビデオの各々の1つまたは複数の特性を決定するステップは、
対応する他のビデオ上で画像認識を実行して、前記対応する他のビデオ中の1つまたは複数のオブジェクトの同一性を決定するステップを含む、請求項6に記載の方法。
【請求項８】
前記複数の他のビデオの各々の1つまたは複数の特性を決定するステップは、対応する他のビデオ中の1つまたは複数のフレームに関して画像解析を実行するステップを含む、請求項6に記載の方法。
【請求項９】
最適化ルールの前記セットは、他のビデオの各々に対する画像特性またはオーディオ特性のうちの少なくとも1つを最適な画像特性または最適なオーディオ特性と比較する1つまたは複数の最適化ルールを含む、請求項5に記載の方法。
【請求項１０】
最適化ルールの前記セットは、他のビデオの各々の有効化オプションの選択を最適な有効化オプションの選択と比較する1つまたは複数の最適化ルールをさらに含む、請求項9に記載の方法。
【請求項１１】
最適化ルールの前記セットは、他のビデオの各々に対するカスタムサムネイル、他のビデオの各々に関連付けられているプレイリスト、他のビデオの各々中の行動喚起注釈、ビデオのタイトル、ビデオの説明、またはビデオのタグのうちの少なくとも1つをチェックして他のビデオの各々の発見性を決定する1つまたは複数の最適化ルールをさらに含む、請求項9に記載の方法。
【請求項１２】
前記ビデオの前記元の内容を修正して前記1つまたは複数の最適化を実装する前記ビデオの修正されたバージョンを生成するステップは、
前記ビデオに対する照明条件を変更するステップ、前記ビデオに対する色を変更するステップ、前記ビデオ中の不鮮明を補正するステップ、前記ビデオを再クロッピングするステップ、前記ビデオを安定化するステップ、または前記ビデオからバックグラウンドノイズを除去するステップのうち少なくとも1つを実行するステップを含む、請求項1に記載の方法。
【請求項１３】
前記1つまたは複数の最適化を前記ビデオに関連付けられているエンティティに提案するステップと、
前記1つまたは複数の最適化を前記エンティティが受け入れたことに応答して、前記ビデオの前記元の内容を修正して前記1つまたは複数の最適化を実装するステップとをさらに含む、請求項1に記載の方法。
【請求項１４】
前記1つまたは複数の最適化を前記エンティティに提案する前に前記ビデオの前記元の内容を修正するステップと、
前記ビデオの前記修正されたバージョンをキャッシュするステップをさらに含み、前記ビデオを修正するステップは、前記ビデオを前記ビデオの前記修正されたバージョンで置き換えるステップを含む、請求項13に記載の方法。
【請求項１５】
前記ビデオの作成時に実装されていたとすれば前記ビデオを最適化しているであろう1つまたは複数の改善を識別するステップと、
将来のビデオに対して前記1つまたは複数の改善を実装することをエンティティに推奨するステップとをさらに含む、請求項5に記載の方法。
【請求項１６】
前記ビデオの前記修正されたバージョンを視聴者に提示させるステップは、前記ビデオの前記修正されたバージョンを一定パーセンテージの視聴者に提示して、前記ビデオの前記修正されたバージョンに対する結果を生成するステップと、
前記ビデオの前記修正されたバージョンの前記結果を前記ビデオの標準の結果と比較するステップと、
前記比較に基づき前記1つまたは複数の最適化を識別するステップとをさらに含む、請求項1に記載の方法。
【請求項１７】
処理デバイスによって実行されたときに、方法を実行することを前記処理デバイスに行わせる命令を有するコンピュータ可読記憶媒体であって、前記方法は、
前記処理デバイスによって、機械学習アルゴリズムを使用してビデオを処理して、前記ビデオの元の内容に対する1つまたは複数の最適化を決定するステップであって、前記1つまたは複数の最適化は、前記ビデオの視聴率統計量を改善する前記ビデオの前記元の内容の修正に関連し、前記機械学習アルゴリズムは、複数の他のビデオの特性および前記複数の他のビデオのうちの他のビデオのそれぞれの視聴率統計量に関して訓練される、ステップと、
前記ビデオの前記元の内容を修正して前記1つまたは複数の最適化を実装する前記ビデオの修正されたバージョンを生成するステップと、
前記1つまたは複数の最適化の結果を示すために前記ビデオの前記修正されたバージョンを視聴者に提示させるステップとを含む、コンピュータ可読記憶媒体。
【請求項１８】
前記方法は、前記機械学習アルゴリズムを訓練するステップをさらに含み、前記訓練するステップは、
前記複数の他のビデオの前記特性および前記他のビデオのそれぞれの前記視聴率統計量を提供して、前記機械学習アルゴリズムが、
改善された視聴率統計量を示す前記複数の他のビデオの前記特性のサブセットを識別することと、他のビデオのそれぞれが前記視聴率統計量の増加を示す前記特性の前記サブセットのうちの1つまたは複数を含むことを保証するために最適化ルールのセットを使用してどのビデオ最適化を実行すべきかを決定することとを可能にするステップを含む、請求項17に記載のコンピュータ可読記憶媒体。
【請求項１９】
ビデオオプティマイザ用の命令を格納するためのメモリと、
前記メモリに接続され、前記命令を実行する処理デバイスとを備え、前記処理デバイスは、
機械学習アルゴリズムを使用してビデオを処理して、前記ビデオの元の内容に対する1つまたは複数の最適化を決定することであって、前記1つまたは複数の最適化は、前記ビデオの視聴率統計量を改善する前記ビデオの前記元の内容の修正に関連し、前記機械学習アルゴリズムは、複数の他のビデオの特性および前記複数の他のビデオのうちの他のビデオのそれぞれの視聴率統計量に関して訓練される、ことをし、
前記ビデオの前記元の内容を修正して前記1つまたは複数の最適化を実装する前記ビデオの修正されたバージョンを生成し、
前記1つまたは複数の最適化の結果を示すために前記ビデオの前記修正されたバージョンを視聴者に提示させるように構成される、システム。
【請求項２０】
前記処理デバイスは、前記機械学習アルゴリズムを訓練するようにさらに構成され、前記機械学習アルゴリズムを訓練するために、前記処理デバイスは、
前記複数の他のビデオの前記特性および前記他のビデオのそれぞれの前記視聴率統計量を提供して、前記機械学習アルゴリズムが、改善された視聴率統計量を示す前記複数の他のビデオの前記特性のサブセットを識別することと、他のビデオのそれぞれが前記視聴率統計量の増加を示す前記特性の前記サブセットのうちの1つまたは複数を含むことを保証するために最適化ルールのセットを使用してどのビデオ最適化を実行すべきかを決定することとを可能にするように構成される、請求項19に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示の実装形態は、オンラインビデオホスティングサービスに関し、より詳細には、ビデオ用の最適化を識別し、そのような最適化をビデオ所有者に提案するためのシステムに関する。
【背景技術】
【０００２】
多くのビデオホスティングウェブサイトでは、エンティティがビデオを投稿することを許している。投稿されると、ユーザはそれらのビデオを視聴することができる。広告をビデオに関連付けることによって、そのようなビデオから収益を得ることができる。ビデオを視聴するユーザは、広告も見せられ、ビデオをアップロードしたエンティティは、ビデオを視聴したユーザに基づき支払いを受けることができる。ビデオの改善は、ビデオを視聴するユーザの数を増やすことにつながり、それにより、ビデオを管理するエンティティの収入が増える。しかし、エンティティが、ビデオを改善するためにビデオをどのように変えるべきかを決定することは困難な場合がある。
【発明の概要】
【課題を解決するための手段】
【０００３】
以下は、本開示のいくつかの態様の基本的な内容を理解できるように本開示を簡単に説明した概要である。この要約は、本発明の概要を広範に述べたものではない。本開示の鍵となる要素または重要な要素を明らかにすること、または本開示の特定の実装形態または特許請求の範囲を定めることは、意図されていない。後で述べるより詳細な説明の前置きとして、本開示のいくつかの概念を簡略化した形式で述べることのみを目的とする。
【０００４】
本開示の一実装形態では、オプティマイザを実行するコンピューティングデバイスがビデオを解析する。コンピューティングデバイスは、解析結果に基づきビデオに対する1つまたは複数の最適化を識別する。コンピューティングデバイスは、1つまたは複数の最適化をそのビデオに関連付けられているエンティティに提案する。1つまたは複数の最適化をエンティティが受け入れたことに応答して、コンピューティングデバイスは、ビデオに対する1つまたは複数の最適化を実装する。
【０００５】
それに加えて、上述の実装形態のオペレーションを実行するための方法およびシステムも実装される。さらに、上述の実装形態のオペレーションを実行する命令を格納するためのコンピュータ可読記憶媒体が提示される。
【０００６】
本開示は、以下に示す詳細な説明から、また本開示のさまざまな実装形態の添付図面からより完全に理解される。
【図面の簡単な説明】
【０００７】
【図１Ａ】本開示の一実装形態による、例示的なシステムアーキテクチャを示す図である。
【図１Ｂ】本開示の一実装形態による、ビデオに対する最適化を推奨するための最適化テンプレートを示す図である。
【図２】本開示の一実装形態による、ビデオオプティマイザのブロック図である。
【図３】ビデオを最適化する方法に対する一実装形態を示す流れ図である。
【図４】ビデオを最適化する方法に対する別の実装形態を示す流れ図である。
【図５】ビデオを最適化する方法に対するさらに別の実装形態を示す流れ図である。
【図６】ビデオに対して行うことができる最適化を決定する方法に対する一実装形態を示す流れ図である。
【図７】ビデオを最適化するために使用され得る最適化ルールを生成する方法に対する一実装形態を示す流れ図である。
【図８】本明細書で説明されているオペレーションのうちの1つまたは複数を実行することができる例示的なコンピュータシステムのブロック図である。
【発明を実施するための形態】
【０００８】
ビデオを生成し、ビデオをビデオホスティングウェブサイトにアップロードするユーザおよび他のエンティティは、それらのビデオを生成するときに常に最良の実践方法を適用できるわけではない。さらに、そのような最良の実践方法は未知であるか、または識別するのが困難な場合がある。したがって、本明細書では、ビデオに対する最適化を識別し、識別された最適化を推奨し、識別された最適化を実装するためのシステムおよび方法が説明される。管理者は、ビデオを視聴して、ビデオ所有者に提案する1つまたは複数のビデオ最適化を手動で選択し得る。最適化の例として、ビデオに対する1つまたは複数の特徴を有効化するステップ、カスタムサムネイルを追加するステップ、タグ、タイトルおよび/またはビデオの説明を編集するステップ、ビデオの内容を編集するステップ、などが挙げられる。代替的に、またはそれに加えて、ビデオオプティマイザは、ビデオに対して行われ得る最適化を識別するための1つまたは複数の最適化ルールを適用することによってビデオを解析することができる。次いで、ビデオオプティマイザは、それらの最適化をビデオ所有者に提案することができる。1つまたは複数の最適化をエンティティが受け入れたことに応答して、ビデオオプティマイザは、提案された最適化を実装するようにビデオを自動的に修正することができる。提案された最適化により、ビデオの視聴者数が増加する、広告収入が増加する、視聴時間が増加する、といったことが生じ得る。
【０００９】
本開示のいくつかの実装形態は、ビデオに関して説明されていることに留意されたい。そのようなビデオは、デジタルビデオであってよく、Windows Media(登録商標)、Real Media(登録商標)、オーディオビデオスタンダード(AVS)、Theora(登録商標)、VP8、WebM、VC-1、Quicktime(登録商標)、MPEG-4(MP4とも称される)、Flash(登録商標)、MPEG-2、DivX(登録商標)、オーディオビデオインターレース(AVI)、または高度ビデオ符号化(AVC)ビデオファイル形式などの数多くの異なる形式で符号化され得る。実装形態は、ビデオに関して説明されているが、本開示の実装形態は、画像およびオーディオファイルなどの他のデジタルメディアアイテムにも適用される。本開示の実装形態が適用され得るオーディオファイルの例として、Moving Picture Experts Group(MPEG)オーディオレイヤ3(MP3)ファイル、高度オーディオ符号化(AAC)ファイル、Waveform Audio File Format(WAV)ファイル、Audio Interchange File Format(AIFF)ファイル、Apple(登録商標)Lossless(m4A)ファイルなどのデジタル音楽および他のオーディオクリップが挙げられる。本開示の実装形態が適用され得る画像ファイルの例として、Joint Photographic Experts Group(JPEG)ファイル、Portable Network Graphics(PNG)ファイル、ビットマップ画像(BMP)ファイル、画像交換フォーマット(GIF)ファイルなどが挙げられる。
【００１０】
図1Aは、本開示の一実装形態による、例示的なシステムアーキテクチャ100を示している。システムアーキテクチャ100は、ネットワーク104に接続されている、サーバマシン115、リポジトリ120、およびクライアントマシン102A〜102Nを含む。システムアーキテクチャ100は、ネットワーク104に接続されたサードパーティサーバマシン118も含み得る。ネットワーク104は、パブリックネットワーク(例えば、インターネット)、プライベートネットワーク(例えば、ローカルエリアネットワーク(LAN)またはワイドエリアネットワーク(WAN))、セルラーネットワーク、放送ネットワーク、またはこれらの組合せとすることができる。
【００１１】
クライアントマシン102A〜102Nは、パーソナルコンピュータ(PC)、ラップトップ、携帯電話、タブレットコンピュータ、または他のコンピューティングデバイスであってよい。クライアントマシン102A〜102Nは、クライアントマシン102A〜102Nのハードウェアおよびソフトウェアを管理するオペレーティングシステム(図示せず)を実行することができる。ブラウザ(図示せず)は、クライアントマシン上で(例えば、クライアントマシンのOS上で)実行され得る。ブラウザは、ウェブサーバ126によって提供されるコンテンツにアクセスすることができるウェブブラウザであってよい。ブラウザは、特定のビデオにアクセスするためのコマンド、ビデオを共有するためのコマンド、ビデオを最適化するためのコマンドなど、クエリおよびコマンドをウェブサーバ126に発行することができる。クライアントマシン102A〜102Nは、ビデオをウェブサーバ126にアップロードして、リポジトリ120に格納することもできる。
【００１２】
サーバマシン115は、ラックマウントサーバ、ルータコンピュータ、パーソナルコンピュータ、携帯情報端末、携帯電話、ラップトップコンピュータ、タブレットコンピュータ、ネットブック、デスクトップコンピュータ、メディアセンタ、または上記の組合せとすることができる。サーバマシン115は、ウェブサーバ126およびビデオオプティマイザ122を備える。代替的実装形態において、ウェブサーバ126およびビデオオプティマイザ122は異なるマシン上で実行される。それに加えて、いくつかの実装形態では、ウェブサーバ126およびビデオオプティマイザ122は組み合わされて単一のコンポーネントになる。
【００１３】
リポジトリ120は、ビデオファイルを格納することができる永続的ストレージである。当業者であれば理解するように、いくつかの実装形態において、リポジトリ120は、ネットワークアタッチトファイルサーバであり、他の実装形態では、リポジトリ120は、サーバマシン115、またはネットワーク104を介してサーバマシン115に結合されている1つまたは複数の異なるマシンによってホストされ得るオブジェクト指向データベース、リレーショナルデータベースなどの他の何らかの種類の永続的ストレージであり得る。リポジトリ120に格納されているビデオは、クライアントマシン102A〜102Nによってアップロードされるユーザ生成コンテンツを含み得る。ビデオは、それに加え、または代替的に、他のエンティティ(例えば、報道機関、出版社、図書館、などのサービスプロバイダ)によって提供されるコンテンツを含み得る。
【００１４】
ウェブサーバ126は、クライアントマシン(本明細書ではクライアントとも称される)102A〜102Nおよび/またはサードパーティサーバマシン118からビデオを受信して、それらのビデオをリポジトリ120に格納することができる。ウェブサーバ126は、それに加えて、リポジトリ120からクライアントマシン102A〜102Nにビデオを提供することができる。したがって、ウェブサーバ126は、メディアホスティングサービスを提供することができる。
【００１５】
ウェブサーバ126は、クライアント102A〜102Nから検索クエリを受信し、リポジトリ120内のビデオに関して検索を実行して、それらの検索クエリの条件を満たすビデオを決定することができる。ウェブサーバ126は、クライアント102A〜102Nに、検索クエリとマッチするビデオを送信することができる。クライアント102A〜102Nは、リポジトリ120のコンテンツを閲覧することもできる。例えば、クライアントは、コンテンツの特定のカテゴリに関連付けられているウェブページ特有のタブまたはフィルタにおいて選択することができる。次いで、ウェブサーバ126は、それらの特定のカテゴリに関連付けられているビデオをクライアント102A〜102Nに提示することができる。
【００１６】
ウェブサーバ126は、それに加えて、広告(ads)を選択して、それらの広告をクライアント102A〜102Nに送信することができる。広告は、インストリーム広告、インビデオ広告、オーバーレイ広告などを含み得る。インストリーム広告は、ビデオが開始する前に示されるプリロール広告、ビデオの再生を一瞬中断するミッドロール(中断)広告、およびビデオが終了した後に示されるポストロール広告を含み得る。オーバーレイ広告は、テキストおよび画像に基づく広告であり、ビデオの再生中にビデオの一部の上に示される。インビデオ広告は、アクセスされた場合に、ビデオを一時停止し、ビデオ広告を再生し、その後ビデオが再開される、一種のオーバーレイ広告である。
【００１７】
ウェブサーバ126は、選択されたビデオをクライアント102A〜102Nにストリーミングするか、またはそれらのビデオをクライアント102A〜102Nにダウンロードすることができる。ストリーミング中、クライアント102A〜102Nは、ビデオ全体を受信する前にビデオの再生を開始することができる。対照的に、ダウンロードでは、ビデオは典型的にはクライアント102A〜102Nによってファイルが完全に受信されるまで再生可能でない。
【００１８】
ビデオオプティマイザ122は、ビデオを解析し、それらのビデオを最適化するために解析済みビデオに行える修正を識別することができる。次いで、ビデオオプティマイザ122は、ビデオを管理するエンティティに最適化推奨を発行することができる。そのようなエンティティは、ビデオアップロードしたエンティティであるか、または他の何らかの形でビデオへの法律上の権利を有しているエンティティであるものとしてよい。本明細書で使用されているように、エンティティは、ユーザ、企業体、または他の個人もしくは組織であってよい。一実装形態において、最適化推奨は、電子メール、インスタントメッセージ、テキストメッセージ(例えば、SMSまたはMMS)、または他のメッセージング媒体を介してエンティティに配信される。また、ビデオオプティマイザ122は、エンティティのアカウントに最適化推奨を投稿することもできる。したがって、エンティティは、エンティティが次にアカウントにアクセスするときに最適化推奨を見て、それに基づき活動することができる。
【００１９】
ビデオオプティマイザ122は、管理者(例えば、ビデオ所有者が自分のビデオから収益を得るのを助けるパートナーマネージャ)がビデオ所有者に最適化提案を提供することを可能にするインターフェースも備え得る。管理者は、ビデオの1つまたは複数のプロパティを決定するためにビデオをレビューすることができる。ビデオオプティマイザ122は、管理者がグラフィカルユーザインターフェース(GUI)などのユーザインターフェースを介して記入することができる最適化テンプレートまたはフォームを提供し得る。次いで、ビデオオプティマイザ122は、記入された最適化テンプレートに基づき解析済みビデオに対する最適化をビデオ所有者に提案することができる。
【００２０】
図1Bは、例えば、パートナーマネージャによって記入され得る例示的な一最適化テンプレート150を示している。図示されているように、パートナーマネージャは、例えば、パブリックビューイング(public viewing)オプション152、格付け(ratings)オプション154、埋め込み(embedding)オプション156、オフウェブシンジケーション(off-web syndication)オプション158(ビデオホスティングサーバがオフウェブエクスペリエンスにおいてビデオを配給することを可能にする)、ブロック外所有(block outside ownership)オプション160、1つまたは複数の広告オプション162、およびFPマッチングに使用(use for FP matching)オプション172(類似のビデオを検出するため、使用されるビデオにフィンガープリントを生成させる)を含み得る、複数のオプションを有効化するか、無効化するか、または変更しないでそのままにするかを選択することができる。パートナーマネージャは、ビデオ所有者がテンプレート150を介してビデオに対するコメント174および/または返信176を追加するよう推奨することもできる。それに加えて、パートナーマネージャは、テキストボックス180を介して特定のタグが追加または削除されることを提案することができる。パートナーマネージャは、ビデオに対する新しいカテゴリ化182を、および/またはビデオがレイシー178として分類されることを、提案することもできる。パートナーマネージャは、最適化テンプレート150に(例えば、GUIを介して)記入した後に、GUIを介してサブミットコマンドを入力することができ、これにより、最適化テンプレートに基づき1つまたは複数の最適化提案が生成され、ビデオ所有者に送信され得る。ビデオ所有者がそれらの最適化提案を受け入れた場合、ビデオオプティマイザは、提案された最適化を実装することができる。
【００２１】
図1Aを再び参照すると、いくつかの実装形態において、ビデオオプティマイザ122は、クライアントマシン102A〜102Nおよび/またはサードパーティサーバマシン118によってアクセスされ得るアプリケーションプログラミングインターフェース(API)を提供する。ビデオオプティマイザ122に対してAPIを使用することで、クライアントマシン102A〜102Nおよび/またはサードパーティサーバマシン118は、いくつかのビデオ(または単一のビデオ)を選択し、ビデオに対する解析、推奨、および/または最適化を開始することができる。
【００２２】
図2は、本開示の一実装形態による、ビデオオプティマイザ205のブロック図である。ビデオオプティマイザ205は、ユーザインターフェース230、ビデオアナライザ210、レコメンダ215、ルールマネージャ220、ビデオエディタ225、および/または実験計画(DOE)ジェネレータ240を備えることができる。代替的実装形態において、ユーザインターフェース230、ビデオアナライザ210、レコメンダ215、ルールマネージャ220、ビデオエディタ225、および/またはDOEジェネレータ240のうちの1つまたは複数の機能を組み合わせて単一のモジュールにするか、または複数のモジュールに分割することができることに留意されたい。一実装において、ビデオオプティマイザ205は、図1のビデオオプティマイザ122に対応する。
【００２３】
ビデオアナライザ210は、ビデオを解析し、それらのビデオを最適化するためにそれらのビデオに行える修正を識別する。ビデオアナライザ210は、ユーザインターフェース230を介してユーザによって呼び出されるか、またはビデオオプティマイザ205によって自動的に呼び出され得る。一実装形態において、ビデオアナライザ210は、新しいビデオがウェブサーバにアップロードされるとき自動的に呼び出される。次いで、ビデオアナライザ210はアップロードされたビデオを解析して、ビデオが公開される前にビデオに対する最適化を識別することができる。ビデオアナライザ210は、それに加えて、または代替的に、リポジトリ245に格納され得る、すでにアップロードされているビデオ250を解析することができる。一実装形態において、ビデオアナライザ210は、ユーザインターフェース230を介してエンティティによって選択されているビデオ250を解析する。ビデオアナライザ210は、特定の1つまたは複数枚エンティティによってアップロードされたビデオ250も解析するか、またはいくつかの、もしくはすべてのアップロードされたビデオ250を(例えば、アップロード日および/またはビデオが最後に最適化された日時に基づき)組織的に解析することができる。例えば、ビデオアナライザ210は、ビデオ250を定期的に、および/または新しい最適化ルールが利用可能になったとき、または既存の最適化ルールが改良されたときに解析し得る。
【００２４】
一実装形態において、ビデオアナライザ210は、一組の最適化ルール260に基づきビデオに対する最適化を決定するルールエンジンである。ビデオアナライザ210は、最適化ルール260を処理して結果を生み出すルールエンジンであってよい。ビデオアナライザ210は、事実、データ、および最適化ルール260を照合して、結果としてアクションまたはイベントを引き起こし得る結論を推論する。一実装形態において、ビデオアナライザ210は、Reteアルゴルズムを使用して事実、データ、およびルール260を照合する。ビデオアナライザ210は、線形アルゴリズム、Treatアルゴリズム、Leapsアルゴリズム、または他のアルゴリズムも使用することができる。例えば、LeapsアルゴリズムおよびReteアルゴリズムの組合せを使用するハイブリッドアルゴリズムも使用され得る。
【００２５】
最適化ルール260は、アクションを実行する、情報を提供する、推奨を生成する、などを行う。最適化ルール260は、条件要素(例えば、and(および)、or(または)、not(否定)、exists(存在する)など)、制約条件(例えば、equal to(等しい)、not equal to(等しくない)、greater than(より大きい)、contains(含む)、など)、および帰結またはアクション(例えば、generate recommendation(推奨を生成する)、process next rule(次のルールを処理する)、edit video(ビデオを編集する)、など)を含み得る。いくつかの最適化ルールは、解析済みビデオへの変更を実装するために受け入れられ得る実行可能な最適化に対する1つまたは複数の提案を出力し得る。いくつかの最適化ルール260は、将来のビデオに組み込まれ得る実行不可能な最適化に対する1つまたは複数の提案を出力し得る。いくつかの最適化ルール260は、実行可能な最適化と実行不可能な最適化の両方に対する提案を出力することができる。最適化ルール260は、他の機能を実行することもできる。
【００２６】
生成された最適化提案は、一般的な提案であるか、または特有の提案であり得る。一般的な提案では、ユーザが特定の種類の最適化(例えば、より多くのタグを追加する、タイトルまたは説明を改良するなど)を実行することを提案することができる。特有の提案では、特有のタグをビデオに追加する、ビデオに対して特有のカスタムサムネイルを使用するなど、特定の最適化が実行されることを提案し得る。
【００２７】
それぞれの最適化ルール260で、1つまたは複数の非効率、誤り、欠如などがビデオにないかチェックすることができる。それぞれの最適化ルール260は、解析済みビデオに実行され得る1つまたは複数の最適化をさらに含み得る。最適化ルール260は、ビデオの内容(例えば、画像内容、オーディオ内容など)、さらにはビデオに関連付けられているメタデータ(例えば、タグ、タイトル、説明など)を調べるために使用され得る。最適化ルール260によって実行される解析の種類は、ルールに基づき異なり、画像解析(例えば、ビデオ中の1つまたは複数のフレームに対する)、画像認識、画像分類などを実行することを含み得る。例えば、最適化ルールは、ビデオ中の画像に関する画像認識を実行して、ビデオ中のオブジェクトを識別することができる。次いで、これらのオブジェクト識別は、最適化ルールによって、または他の最適化ルールに対する入力として使用され得る。さらなる例において、画像認識の実行の結果、最適化ルールによりビデオ中にダンサーが識別されたとする。次いで、最適化ルールで、ダンシングタグがビデオに追加されることが提案され、別の最適化ルールで、ダンスという語句がビデオのタイトルに追加されることがさらに提案され得る。これらの解析結果は、画像のメタデータを構文解析することも含み得る。この構文解析されたメタデータは、メタデータが知られている最適なメタデータパラメータに適合しているかどうかを判定することができる、最適化ルールに対する入力として使用され得る(例えば、有効化オプションの選択が最適である場合、広告オプションの選択が最適である場合、説明が最適である場合、カスタムサムネイルが存在する場合、タグが最適である場合、など)。
【００２８】
最適化ルール260は、特定の種類のビデオを最適化するように構成され得る。例えば、子供のビデオを最適化するための最適化ルールは、音楽ビデオを最適化するための最適化ルールとは異なり得る。それに加えて、いくつかの最適化ルール260は、解析されているビデオの種類に基づき異なる最適化提案を行うことができる。ビデオの種類が識別されていない場合、最適化ルール260は、そのビデオの種類を識別し、ビデオが識別された種類として(例えば、タグをビデオに追加することによって)分類されること提案することができる。
【００２９】
最適化ルール260は、異なる結果に対して最適化するようにも構成され得る。例えば、いくつかの最適化ルールは、最大の収入を得ることに最適化するように構成され得るが、他の最適化ルールは、最高の視聴率、最長の視聴時間、最高の発見性、などについて最適化されるように構成され得る。
【００３０】
一実装形態において、最適化ルール260には複数の異なるクラスがある。最適化ルールのクラスの例として、収益化クラス(monetization class)、ビデオ有効化クラス(video enablements class)、ビデオ発見性クラス(video discoverability class)、著者挙動クラス(author behavior class)、およびビデオコンテンツクラス(video contents class)が挙げられる。使用される最適化クラスが多くても少なくてもよい。最適化ルールクラス構造は、最適化ルール260を組織化するために使用され得る1つの論理構造であることにも留意されたい。最適化ルール260は、代替的に、組織化されていないか、または他の何らかの論理構造または方法に従って組織化されていてもよい。
【００３１】
収益化クラス最適化ルールは、ビデオとともに使用され得る広告の種類および/または広告の最適化をチェックするルールを含む。収益化クラス最適化ルールは、インビデオ広告(ads)が有効化されているかどうか、インストリーム広告が有効化されているかどうか、オーバーレイ広告が有効化されているかどうか、収益化ポリシーがそのビデオについて有効化されているかどうかなどをチェックするルールを含み得る。収益化クラス最適化ルールは、広告の最適な種類も識別することができる。それに加えて、収益化クラス最適化ルールは、広告用の最適な画面配置、広告用の最適なサイズ、などを識別することができる。
【００３２】
いくつかの種類の広告が無効化された場合、収益化クラス最適化ルールは、それらの広告の種類を有効化する提案を出力することができる。それに加えて、広告プロパティが次善最適である(例えば、広告が大きすぎる、小さすぎる、不適切な場所に置かれている、など)場合、収益化クラス最適化ルールは、広告プロパティを修正する提案を出力することができる。
【００３３】
ビデオ有効化クラス最適化ルールは、1つまたは複数のオプションがビデオに対して有効化されるかどうかをチェックするルールを含む。ビデオ有効化クラス最適化ルールは、埋め込みが有効化されているかどうか(ビデオをサードパーティウェブサイトに埋め込むことを可能にする)、オフウェブシンジケーションが有効化されているかどうか(ビデオを放送もしくはケーブルテレビ環境など、インターネット環境の外で示すことを可能にする)、注釈が有効化されているかどうか(ユーザが注釈をビデオに追加することを可能にする)、コメントが有効化されているかどうか(ユーザがコメントをビデオに追加することを可能にする)、格付けが有効化されているかどうか(ユーザがビデオについてコメントすることを可能にする)、キャプションおよび/またはサブタイトルが提供および/または有効化されているかどうか、ジオタギングが有効化されているかどうか、自動共有が有効化されているかどうか、などをチェックするルールを含み得る。いくつかのビデオについて、これらのオプションのうちのいくつかを有効化することで、視聴率および/または広告収入を高めることができる。
【００３４】
ビデオ発見性クラス最適化ルールは、ビデオが視聴者にどのように提示されるか、および/またはビデオがどのように発見されるかをチェックするルールを含む。ビデオ発見性クラス最適化ルールの例として、カスタムサムネイルをチェックし、および/またはカスタムサムネイルを最適化するルール、ビデオがプレイリストに追加されているかどうかをチェックするルール、行動喚起注釈がビデオに含まれるか、または関連付けられているかどうかをチェックするルール、などが挙げられる。行動喚起注釈は、アクションを開始するためにボタンを押すようユーザに勧めるボタンであってよい。このボタンは、ビデオの一部または全部(例えば、2:12から5:00)の間に存在しており、表示の特定の領域に存在し得る。行動喚起注釈はユーザによってクリックされると、新しいウェブページが開き得る。ビデオ発見性クラス内の最適化ルールの他の例は、ビデオタイトル、ビデオ説明、タグ(例えば、ビデオの種類)、などをチェックするルールを含む。発見クラス最適化ルールは、カスタムサムネイルを追加または修正する、タグ、タイトル、および/または記述子を追加または修正する、行動喚起注釈を追加または修正する、などを行う提案を出力し得る。
【００３５】
著者挙動クラス最適化ルールは、ビデオを管理するエンティティの挙動をチェックするルールを含む。いくつかの著者挙動は、ビデオの露出を増やし、それにより、視聴率および/またはそのビデオに付随する広告収入を増加させ得る。著者挙動クラス内の最適化ルールの例として、ソーシャルメディアプラットフォームを介してビデオの共有をチェックする、ビデオに関するコメントをチェックする、などのルールが挙げられる。
【００３６】
ビデオコンテンツクラス最適化ルールは、潜在的改善についてビデオの内容を解析するルールを含む。ビデオコンテンツクラス内の最適化ルールの例として、最適な照明条件をチェックする、不鮮明をチェックする、色の問題をチェックする、クロッピングの問題をチェックする、画像安定性をチェックする、最適なビデオ長をチェックする、などのルールが挙げられる。そのようなルールは、ビデオの1つまたは複数のフレームについて画像解析を実行して、ビデオの画像特性を決定し、それらの画像特性を最適であるとすでに決定されている画像特性と比較することができる。他の例として、バックグラウンドノイズをチェックする、ビデオ内の1つまたは複数のスピーカの音量が不十分でないかチェックする、などのルールが挙げられる。そのようなルールは、ビデオのオーディオ部分についてオーディオ解析を実行して、ビデオに対するオーディオ特性を決定し、それらのオーディオ特性を最適であるとすでに決定されているオーディオ特性と比較することができる。ビデオコンテンツクラス最適化ルールは、照明、安定性、オーディオ音質、不鮮明、などの識別された問題を補正することを提案することができる(例えば、ビデオの画像および/またはオーディオ特性を決定された最適な画像および/またはオーディオ特性に近づける)。
【００３７】
最適化ルールは、ルールマネージャ220によって管理され得る。管理者は、ユーザインターフェースを介して、最適化ルールを組織化する、新しい最適化ルールを追加する、最適化ルールを削除する、などを行うことができる。ルールマネージャ220は、ルール分類、ルール生成、などの自動化されたタスクをユーザ入力なしで実行することもできる。
【００３８】
一実装形態において、ルールマネージャ220は、機械学習モジュール235を備える。機械学習モジュール235は、多数のビデオおよびこれらのビデオに関連する視聴率/収益化統計量を解析する。解析結果に基づき、機械学習モジュール235は、視聴率の増加、広告収入の増加などを示す一組の特性を識別することができる。次いで、機械学習モジュール235は、ビデオが収益化の成功、発見性、および/または視聴率を示す特定の特性を有するかどうかを決定するために使用され得る一組のルールを生成する。これらのルールは、ビデオを最適化して成功を示すそれらの特性を追加するステップ、および/またはビデオを最適化するための推奨を生成するステップなどのアクションをさらに含み得る。
【００３９】
一実装形態において、ルールマネージャ220は、1つまたは複数の類似の特性および/または類似の視聴率統計量に基づきビデオをグループ化するクラスタ分析を適用する。次いで、ルールマネージャ220は、好ましい視聴率統計量に関連付けられているクラスタと好ましくない視聴率統計量に関連付けられているクラスタとの間の違いを識別することができる。ルールマネージャ220は、実装された場合に、好ましくない視聴率統計量を有するクラスタからのビデオを好ましい視聴率統計量を有するクラスタのメンバーとして再分類させる推奨を行うルールを生成することができる。そのようなルールは、ビデオを修正する推奨オペレーションも実行することができる。
【００４０】
クラスタ分析は、機械学習モジュール235が実装し得る機械学習アルゴリズムのただ1つのカテゴリであることに留意されたい。機械学習モジュール235は、ニューラルネットワークアルゴリズム、ベクターマシン学習アルゴリズム、相関ルール学習アルゴリズム、決定木学習アルゴリズム、遺伝的プログラミングアルゴリズム、帰納論理プログラミングアルゴリズム、または他の機械学習アルゴリズムも含み得る。それに加えて、機械学習モジュール235は、機械学習アルゴリズムの複数の異なるクラスを使用することができ、および/またはハイブリッド機械学習アルゴリズムを適用して最適化ルールを生成することができる。
【００４１】
ビデオアナライザ210が、1つまたは複数のビデオ最適化を識別した後、レコメンダ215は、それらの最適化に対する最適化提案を生成する。レコメンダ215は、最適化提案をビデオを管理するエンティティのユーザカウントに投稿することができる。投稿は、押された場合に提案された最適化を実装させる「accept suggestions(提案受け入れ)」ボタンを備えることができる。投稿は、それに加えて、それぞれの最適化提案に対する別の受け入れオプションを含み得る。したがって、エンティティは、実装形態に対する提案された最適化のサブセットを選択するか、または実装形態に対するすべての提案された最適化を受け入れることができる。
【００４２】
レコメンダ215は、それに加えて、または代替的に、最適化提案を含むメッセージを生成することができる。メッセージは、電子メールメッセージ、テキストメッセージ、インスタントメッセージ、または他の種類のメッセージであってよい。メッセージは、エンティティによって選択された場合に、受け入れ応答メッセージを生成し、レコメンダ215に送信することを行わせる「accept suggestions(提案受け入れ)」オプションを含み得る。ユーザは、実装されるべき提案された最適化の一部または全部を識別する返信メッセージをビデオオプティマイザ205に送信することもできる。
【００４３】
ビデオエディタ225は、最適化提案を実装するようにビデオを修正する。一実装形態において、ビデオアナライザ210は、ビデオを解析した後に最適化提案を実装するためにビデオエディタ225を呼び出す。次いで、ビデオエディタ225は、修正されたビデオ255を生成し、一時的に、修正されたビデオをキャッシュするか、または他の何らかの形で、修正されたビデオを(例えば、リポジトリに)格納することができる。ビデオを管理するエンティティが、提案された最適化を受け入れた場合、元のビデオは、事前に生成されている修正済みビデオと置き換えられ得る。ビデオエディタ225は、最適化提案の一部または全部をエンティティが受け入れたことに応答してビデオを編集することもできる。
【００４４】
ビデオエディタ225は、ビデオに関連付けられているメタデータとビデオの内容の両方を編集してビデオを最適化することができる。ビデオエディタ225は、インビデオ広告を有効化する、インストリーム広告を有効化する、オーバーレイ広告を有効化する、収益化ポリシーを有効化する、埋め込みを有効化する、オフウェブシンジケーションを有効化する、注釈を有効化する、コメントを有効化する、格付けを有効化する、キャプションおよび/またはサブタイトルを有効化する、ジオタギングを有効化する、などの有効化オペレーションを実行することができる。ビデオエディタ225は、ビデオに対するカスタムサムネイルを追加または置換する、ビデオをプレイリストに追加する、行動喚起ボタンをビデオに追加する、ビデオのタイトルを編集する(例えば、タイトルをより説明的にする、または魅力的にするため)、ビデオの説明を編集する、ビデオに関連付けられているタグを編集する、など、ビデオに関連付けられているメタデータを編集することもできる。それに加えて、ビデオエディタ225は、ビデオ内容に編集を加えることもできる。そのような編集は、ビデオ中の照明条件を改善するステップ、ビデオ中の色を変化させるステップ、ビデオを安定化するステップ、ビデオからフレームを削除するステップ、ビデオ中の1つまたは複数のスピーカに対する音量を増幅するステップ、ビデオのオーディオにノイズ抑圧を適用するステップ、などを含み得る。
【００４５】
ビデオオプティマイザ205は、最適化が行われた後にビデオの成功状況を監視することができる。ビデオの視聴率、発見性、視聴時間、収益化などの計量が、最適化を実装した後に上昇した場合、その最適化の精度が確認されるものとしてよい。これらの計量の1つまたは複数が、最適化を実装したと後も同じままであるか、低下した場合、ルールマネージャ220は、最適化ルールのうちの1つまたは複数を調整し得る。
【００４６】
一実装形態において、ビデオオプティマイザ205は、実験計画(DOE)ジェネレータ240を備える。DOEジェネレータ240は、ビデオの視聴率および/または収益化を改善すると思われるビデオへの1つまたは複数の変更を決定する。これらの変更は、ビデオアナライザ210を呼び出し、ビデオアナライザ210から最適化提案を受け取ることによって自動的に決定され得る。代替的に、またはそれに加えて、ユーザは、ユーザインターフェース230を介して最適化を指定することができる。次いで、DOEジェネレータ240は、ビデオエディタ225を呼び出して、提案された、または指定された最適化に基づき1つまたは複数の修正されたビデオ255を生成することができる。修正されたビデオ255のそれぞれは、1つまたはいくつかの異なる最適化を実装し得る。
【００４７】
DOEジェネレータ240は、元のビデオおよび1つまたは複数の修正されたビデオを使用して実験を生成する。実験は、元のビデオ250を大半の視聴者(例えば、視聴者の90%)に提示すること、および修正された(1つまたは複数の)ビデオをわずかなパーセンテージの視聴者に提示することをサーバに行わせることができる。例えば、それぞれが異なる最適化を有する、2つの異なる修正されたビデオが生成された場合、DOEジェネレータ240は、第1の修正されたビデオを視聴者の5%に見せ、第2の修正されたビデオを視聴者の5%に見せることができる。次いで、DOEジェネレータ240は、元のビデオの視聴率および/または収益化結果(標準結果と称される)を修正されたビデオの結果(実験結果と称される)と比較する。
【００４８】
修正されたビデオに対する実験結果が、元のビデオに対する標準結果より優れている場合、レコメンダ215は、ビデオへの試験された変更を実装する最適化提案を生成する。次いで、レコメンダ215は、推奨を、ビデオを管理するエンティティに送信する。推奨は、提案された最適化、さらには最適化を受け入れた結果生じる視聴率および/または収益化の計画された改善の両方を含み得る。計画された改善は、元のビデオに対する標準結果と修正された(1つまたは複数の)ビデオに対する実験結果との比較に基づくものとしてよい。複数の実験が、並行して実行され、それぞれ異なる最適化を適用し得ることに留意されたい。実験は、最適化実験を実行するオプションのユーザ受け入れを受信した後に実行され得る。
【００４９】
図3〜図7は、ビデオを最適化することに関係する方法のさまざまな実装形態の流れ図である。これらの方法は、ハードウェア(回路、専用ロジックなど)、ソフトウェア(汎用コンピュータシステムまたは専用マシン上で実行されるものなど)、または両方の組合せを備え得る処理ロジックによって実行される。一実装形態において、これらの方法は、図1のサーバマシン115によって実行される。これらの方法は、例えば、サーバマシン115または別のマシン上で実行されているビデオオプティマイザ122によって実行され得る。
【００５０】
説明を簡単にするため、これらの方法は、一連の活動として図示され、説明される。しかし、本開示による活動は、さまざまな順序で、および/または同時に出現するものとしてよく、他の活動は本明細書では提示し説明することをしない。さらに、開示されている発明対象による方法を実施するために、例示されているすべての活動が必要なわけではない。それに加えて、当業者であれば、これらの方法は、代替的に状態図またはイベントを介して一連の相互に関連のある状態として表され得ることを理解し、了解するであろう。それに加えて、本明細書で開示されている方法は、そのような方法をコンピューティングデバイスにトランスポートおよび転送することを円滑にするための製造品に格納することができることは理解されるであろう。本明細書で使用されるような製造品という用語は、任意のコンピュータ可読デバイスまたは記憶媒体からアクセス可能なコンピュータプログラムを包含することが意図されている。
【００５１】
図3は、ビデオを最適化する方法300に対する一実装形態を示す流れ図である。方法300のブロック305において、処理ロジックがビデオを解析する。ビデオは、ビデオホスティングウェブサイトなどのメディアホスティングサービスによって格納され得る。ビデオを解析するステップは、1つまたは複数の最適化ルールを使用してルールエンジンによってビデオを処理するステップを含み得る。ブロック308で、処理ロジックは、実行可能な最適化が識別されたか、または実行不可能な最適化が識別されたかを決定する。実行可能な最適化は、解析されたビデオに対して実行され得る最適化である。実行不可能な最適化は、将来のビデオに対してそれらのビデオが制作されるときに実行され得る最適化である。実行可能なおよび/または実行不可能な最適化が識別された場合、この方法はブロック310に進む。そうでない場合、この方法は終了する。
【００５２】
ブロック310で、処理ロジックは、識別された実行可能な最適化をビデオを管理するエンティティに提案する。ブロック320で、処理ロジックは、実行不可能な最適化が将来のビデオについて実装されることをエンティティに推奨する。提案および/または推奨は、提案/推奨をエンティティのアカウントに投稿することによって、および/またはメッセージをエンティティに(例えば、電子メール、テキストメッセージ、インスタントメッセージなどを介して)送信することによってエンティティに送信され得る。
【００５３】
ブロック325で、処理ロジックは、エンティティが実行可能な最適化を受け入れたかどうかを決定する。エンティティが実行可能な最適化を受け入れない場合、方法は終了する。エンティティが実行可能な最適化を受け入れた場合、方法はブロック330に進み、処理ロジックは、ビデオを自動的に修正して実行可能な最適化を実装する。これは、ビデオに関連付けられているメタデータを編集するステップおよび/またはビデオの内容を編集するステップを含み得る。
【００５４】
図4は、ビデオを最適化する方法400に対する別の実装形態を示す流れ図である。方法400のブロック405において、処理ロジックは、ビデオを受信する。処理ロジックがストレージからビデオを取り出すか、ビデオがエンティティによってアップロードされるか、または処理ロジックが他の何らかの形でビデオを受信することができる。ブロック410で、処理ロジックは、1つまたは複数の最適化ルールをビデオに適用し、それぞれの最適化ルールは、ビデオの特定の特徴を検出するように構成されている。
【００５５】
ブロック415で、処理ロジックは、ビデオコンテンツ最適化が識別されたかどうかを決定する。そのようなビデオコンテンツ最適化は、ビデオ中の照明条件を改善する、色を変える、オーディオ音質を改善する、ビデオをトリミングする、などの最適化を含み得る。ビデオコンテンツ最適化が識別されている場合、方法はブロック420に進み、処理ロジックは、ビデオの内容を最適化するビデオへの修正を提案する。そうでない場合、方法はブロック425に進む。
【００５６】
ブロック425で、処理ロジックは、メタデータ最適化が識別されたかどうかを決定する。ビデオメタデータ最適化は、ビデオに対する1つまたは複数の特徴を有効化する、ビデオに関連付けられているタグを更新する、ビデオのタイトルおよび/または説明を修正する、カスタムサムネイルを修正するか、またはビデオに追加する、などの最適化を含み得る。ビデオメタデータ最適化が識別された場合、ブロック430で、処理ロジックは、ビデオのメタデータを最適化する修正を提案する。そうでない場合、方法はブロック435に進む。
【００５７】
ブロック435で、処理ロジックは、提案された最適化のうちの1つまたは複数の受け入れを受信する。ブロック440で、処理ロジックは、ビデオの内容および/またはビデオのメタデータを自動的に修正して、受け入れられた最適化を実装する。次いで、この方法は終了する。
【００５８】
図5は、ビデオを最適化する方法500に対するさらに別の実装形態を示す流れ図である。方法500のブロック505において、処理ロジックは、ビデオの解析結果に基づきビデオの現在のバージョンに対する最適化を識別する。ブロック510で、処理ロジックは、識別された最適化を組み込んだビデオの最適化されたバージョンを生成する。ブロック515で、処理ロジックは、ビデオの最適化されたバージョンをキャッシュする。
【００５９】
ブロック520で、処理ロジックは、識別された最適化をビデオを管理するエンティティに提案する。ブロック525で、処理ロジックは、提案された最適化のすべてが受け入れられたかどうかを決定する。最適化がすべて受け入れられた場合、ブロック530で、処理ロジックは、ビデオの現在のバージョンを最適化されたバージョンで置き換える。最適化のすべてが受け入れられてはいない場合、方法はブロック532に進む。
【００６０】
ブロック532で、ビデオのキャッシュされた(最適化された)バージョンが削除され得る。ブロック535で、処理ロジックは、すべての提案された最適化のサブセットが受け入れられたかどうかを決定する。いくつかの最適化が受け入れられた場合、方法はブロック540に進む。そうでない場合、この方法は終了する。
【００６１】
ブロック540で、処理ロジックは、受け入れられた最適化を組み込んだビデオの新しい最適化されたバージョンを生成する。ブロック550で、処理ロジックは、ビデオの現在のバージョンをビデオの新しい最適化されたバージョンで置き換える。次いで、この方法は終了する。
【００６２】
図6は、ビデオに対して行うことができる最適化を決定する方法600に対する一実装形態を示す流れ図である。方法600のブロック605において、処理ロジックは、ビデオの解析結果に基づきビデオの元の(または現在の)バージョンに対する1つまたは複数の最適化を識別する。ブロック610で、処理ロジックは、識別された1つまたは複数の最適化を組み込んだビデオの修正されたバージョンを生成する。ブロック615で、処理ロジックは、ビデオの修正されたバージョンを一定パーセンテージの視聴者(例えば、視聴者の5%)に提示する。
【００６３】
ブロック620で、処理ロジックは、修正されたバージョンの結果を元の(または現在の)バージョンの結果と比較する。ブロック625で、処理ロジックは、修正されたバージョンが元の(または現在の)バージョンより優れた結果を有するかどうかを決定する。優れた結果とは、視聴率の増加、上映毎の広告収入の増加、または他の計量の改善であるものとしてよい。修正されたバージョンが、優れた結果を有する場合、方法はブロック630に進み、ビデオの修正されたバージョンに関連付けられている最適化が提案される。そうでない場合、方法はブロック635に進む。
【００６４】
ブロック635で、処理ロジックは、試験されていない追加の識別された最適化があるかどうかを決定する。追加の最適化がある場合、方法はブロック610に戻り、追加の最適化のうちの1つまたは複数を組み込んだビデオの別の修正されたバージョンが生成される。そうでない場合、この方法は終了する。
【００６５】
図7は、ビデオを最適化するために使用され得る最適化ルールを生成する方法700に対する一実装形態を示す流れ図である。方法700のブロック705において、処理ロジックは、機械学習システムを使用してビデオの集合体を解析する。機械学習システムは、クラスタ分析、ニューラルネットワークなどの1つまたは複数の機械学習アルゴリズムを適用することができる。ブロック710で、処理ロジックは、解析結果に基づき改善された視聴数、収益化、および/または視聴時間に相関するビデオの特性を識別する。ブロック715で、処理ロジックは、識別された特性に基づき1つまたは複数の最適化ルールを生成する。一実装形態において、それぞれの最適化ルールは、ビデオが増加した収益化、視聴数、および/または視聴時間と相関する特定の特性を有するかどうかをチェックするために使用され得る。
【００６６】
図8は、本明細書で説明されている方法のうちの1つまたは複数をマシンに実行させるために、命令セットが実行され得るコンピュータシステム800の例示的な形態におけるマシンの図式的表現を示している。いくつかの実装形態において、マシンは、LAN、イントラネット、エクストラネット、またはインターネットにおいて他のマシンに(例えば、ネットワーク)接続され得る。マシンは、クライアントサーバネットワーク環境内のサーバまたはクライアントマシンの能力内で、またはピアツーピア(または分散)ネットワーク環境内のピアマシンとして動作し得る。マシンは、パーソナルコンピュータ(PC)、タブレットPC、セットトップボックス(STB)、携帯情報端末(PDA)、携帯電話、ウェブアプライアンス、サーバ、ネットワークルータ、スイッチもしくはブリッジ、またはそのマシンによって実行されるアクションを指定する命令セット(順次または他の方法で)実行することができるマシンであってよい。さらに、単一のマシンのみが図示されているが、「マシン」という用語は、本明細書で説明されている方法のうちの1つまたは複数を実行するために命令セット(または複数の命令セット)を個別に、または連携して実行するマシンの集合体を含むと解釈されるものとする。
【００６７】
例示的なコンピュータシステム800は、処理デバイス802、メインメモリ804(例えば、リードオンリーメモリ(ROM)、フラッシュメモリ、シンクロナスDRAM(SDRAM)またはRambus DRAM(RDRAM)などのダイナミックランダムアクセスメモリ(DRAM)、など)、スタティックメモリ806(例えば、フラッシュメモリ、スタティックランダムアクセスメモリ(SRAM)、など)、およびデータストレージデバイス818を備え、これらはバス808を介して互いに通信する。
【００６８】
処理デバイス802は、マクロプロセッサ、中央演算処理装置、または同様のものなどの1つまたは複数の汎用プロセッサを表す。より具体的には、処理デバイス802は、複合命令セットコンピューティング(CISC)マイクロプロセッサ、縮小命令セットコンピューティング(RISC)マイクロプロセッサ、超長命令語(VLIW)マイクロプロセッサ、または他の命令セットを実装するプロセッサもしくは命令セットの組合せを実装するプロセッサであってよい。処理デバイス802は、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、デジタルシグナルプロセッサ(DSP)、ネットワークプロセッサ、または同様のものなどの1つまたは複数の専用処理デバイスであってもよい。処理デバイス802は、本明細書で説明されているオペレーションおよびステップを実行する命令826を実行するように構成される。
【００６９】
コンピュータシステム800は、ネットワークインターフェースデバイス822をさらに備えることもできる。コンピュータシステム800は、ビデオディスプレイユニット810(例えば、液晶ディスプレイ(LCD)または陰極線管(CRT))、英数字入力デバイス812(例えば、キーボード)、カーソル制御デバイス814(例えば、マウス)、および信号発生デバイス820(例えば、スピーカ)も備えることができる。
【００７０】
データストレージデバイス818は、本明細書で説明されている方法または機能のうちの1つまたは複数を使用する1つまたは複数の命令セット826(例えば、ソフトウェア)が格納されるコンピュータ可読媒体824を含み得る。命令826は、コンピュータシステム800による実行中に完全にまたは少なくとも部分的にメインメモリ804および/または処理デバイス802内にも常駐するものとしてもよく、メインメモリ804および処理デバイス802もコンピュータ可読媒体を構成する。
【００７１】
一実装形態において、命令826は、図2のビデオオプティマイザ205に対応し得る、ビデオオプティマイザ850に対する命令、および/またはビデオオプティマイザを呼び出す方法を収めたソフトウェアライブラリを含む。コンピュータ可読媒体824は、単一の媒体であるものとして例示的な実装形態において示されているが、「コンピュータ可読媒体」という語は、1つまたは複数の命令セットを格納する単一の媒体または複数の媒体(例えば、集中または分散データベース、および/または関連するキャッシュおよびサーバ)を含むものとして解釈されるべきである。「コンピュータ可読記憶媒体」という語は、マシンによって実行される命令セットを格納することができ、本開示の方法のうちの1つまたは複数をマシンに実行させる媒体を含むものとしても解釈されるべきである。「コンピュータ可読媒体」および「コンピュータ可読記憶媒体」という語は、限定はしないが、ソリッドステートメモリ、光媒体、および磁気媒体を含むものとしてしかるべく解釈されるものとする。
【００７２】
前記の説明において、多数の詳細が述べられている。しかし、本開示の恩恵を受ける当業者には、本開示がこれらの具体的詳細がなくても実施され得ることは明らかであろう。いくつかの場合において、本開示を曖昧にするのを避けるために、よく知られている構造およびデバイスは、詳細にではなく、ブロック図で示されている。
【００７３】
詳細な説明のいくつかの部分は、コンピュータメモリ内のデータビットに対するオペレーションのアルゴリズムおよび記号表現に関して提示されている。これらのアルゴリズムに関する説明および表現は、作業の内容を当業者に最も効果的に伝えるためにデータ処理の技術者によって使用される手段である。アルゴリズムは、本明細書では、また一般的に、望む結果をもたらす自己矛盾のない一連のステップであることが企図される。これらのステップは、物理的量の物理的操作を必要とするステップである。通常、必ずというわけではないが、これらの量は、格納、転送、組合せ、比較、および他の何らかの形の操作が可能な電気的または磁気的信号の形態をとる。主に共通使用の理由から、これらの信号をビット、値、要素、記号、文字、語、数、または同様のものとして参照することがときには都合がよいことが実証されている。
【００７４】
しかし、これらの語および類似の語はすべて、適切な物理的量に関連付けられ、これらの量に付けられる単に便利なラベルにすぎないことを念頭におくべきである。以下の説明から明らかなように特に断りのない限り、説明全体を通して、「解析(すること)」、「提案(すること)」、「決定(すること)」、「有効化(すること)」、「識別(すること)」、「修正(すること)」、または同様の語句などの語を利用する記述は、コンピュータシステムのレジスタおよびメモリ内で物理的(電子的)量として表されているデータを操作し、コンピュータシステムのメモリまたはレジスタまたは他のそのような情報記憶、伝送、または表示デバイス内で物理的量として同様に表現されている他のデータに変換するコンピュータシステム、または類似の電子コンピューティングデバイスのアクションおよびプロセスを指すことは理解される。
【００７５】
本開示は、本明細書のオペレーションを実行するための装置にも関係する。この装置は、必要な目的のために特別に制作され得るか、またはコンピュータに格納されているコンピュータプログラムによって選択的にアクティブ化されるかもしくは再構成される汎用コンピュータを備えることができる。このようなコンピュータプログラムは、限定はしないが、フロッピィーディスク、光ディスク、CD-ROM、および光磁気ディスクを含む任意の種類のディスク、リードオンリーメモリ(ROM)、ランダムアクセスメモリ(RAM)、EPROM、EEPROM、磁気もしくは光カード、または電子的命令を格納するのに適した任意の種類の媒体などのコンピュータ可読記憶媒体に格納され得る。
【００７６】
「例」または「例示的な」という語は、本明細書では、一例、事例、または例示として使用することを意味するために使用される。「例」または「例示的」として本明細書に記載されたあらゆる態様または設計は必ずしも、他の態様または設計より好ましいまたはこれを凌ぐものであるとして解釈されるべきではない。むしろ、「例」または「例示的」という語の使用は、概念を具体的に示すことが意図されている。本出願において使用されているように、「または」という語は、排他的な「または」ではなく包含的な「または」を意味することが意図されている。つまり、断りのない限り、または文脈から明らかでない限り、「XはAまたはBを含む」は、自然な包含的置換を意味することが意図されている。つまり、XがAを含むか、またはXがBを含むか、またはXがAとBの両方を含む場合、「XはAまたはBを含む」は、前記事例の下で充足される。それに加えて、本出願および付属の特許請求の範囲における「a」および「an」という冠詞は、一般的に、特に断りのない限り、または単数形であることが文脈上明らかでない限り、「1つまたは複数」を意味するものと解釈されるべきである。さらに、「実施形態」または「一実施形態」または「実装形態」または「一実装形態」という語の全体を通しての使用は、そのようなものとして記述されていない限り同じ実施形態または実装形態を意味することは意図されていない。
【００７７】
上の説明は、例示することを目的としており、制限することを目的としていないことは理解されるであろう。上記の説明を読み、理解した後、本発明の他の多くの実装形態が当業者に明らかなものとなるであろう。したがって、本開示の範囲は、付属の特許請求の範囲の対象である等価物の全範囲とともに、付属の特許請求の範囲を参照しつつ、決定されるべきである。
【符号の説明】
【００７８】
100  システムアーキテクチャ
102A〜102N  クライアントマシン
104  ネットワーク
115  サーバマシン
118  サードパーティサーバマシン
120  リポジトリ
122  ビデオオプティマイザ
126  ウェブサーバ
150  最適化テンプレート
152  パブリックビューイングオプション
154  格付けオプション
156  埋め込みオプション
158  オフウェブシンジケーションオプション
160  ブロック外所有オプション
162  広告オプション
172  FPマッチングに使用オプション
174  コメント
176  返信
178  レイシー
180  テキストボックス
182  カテゴリ化
205  ビデオオプティマイザ
230  ユーザインターフェース
210  ビデオアナライザ
215  レコメンダ
220  ルールマネージャ
225  ビデオエディタ
230  ユーザインターフェース
235  機械学習モジュール
240  実験計画(DOE)ジェネレータ
245  リポジトリ
250  ビデオ
255  修正されたビデオ
260  最適化ルール
800  コンピュータシステム
802  処理デバイス
804  メインメモリ
806  スタティックメモリ
808  バス
810  ビデオディスプレイユニット
812  英数字入力デバイス
814  カーソル制御デバイス
818  データストレージデバイス
820  信号発生デバイス
822  ネットワークインターフェースデバイス
824  コンピュータ可読媒体
826  命令
850  ビデオオプティマイザ
【図１Ａ】
2018078654.tif 000003
【図１Ｂ】
2018078654.tif 000004
【図２】
2018078654.tif 000005
【図３】
2018078654.tif 000006
【図４】
2018078654.tif 000007
【図５】
2018078654.tif 000008
【図６】
2018078654.tif 000009
【図７】
2018078654.tif 000010
【図８】
2018078654.tif 000011
【外国語明細書】
2018078654000001.pdf