(58)【調査した分野】(Int.Cl.,DB名)
前記風雑音置換動作が、前記セグメントの周辺の前記オーディオ構成要素のその他のセグメントから抽出されたオーディオ信号の補間によって前記セグメントを埋めることを含む請求項1に記載の方法。
前記風雑音置換動作が、前記セグメントから前記風雑音アーチファクトを削除するために前記セグメントをフィルタリングすることを含む請求項1または2に記載の方法。
前記風雑音置換動作が、前記オーディオ構成要素の別のセグメントから抽出されたオーディオ信号によって前記風雑音アーチファクトを置換することを含む請求項1から4のいずれか一項に記載の方法。
前記風雑音置換動作が、前記セグメントの周辺の前記オーディオ構成要素のその他のセグメントから抽出されたオーディオ信号の補間によって前記セグメントを埋めることを含む請求項13に記載のシステム。
前記風雑音置換動作が、前記セグメントから前記風雑音アーチファクトを削除するために前記セグメントをフィルタリングすることを含む請求項13または14に記載のシステム。
前記風雑音置換動作が、前記オーディオ構成要素の別のセグメントから抽出されたオーディオ信号によって前記風雑音アーチファクトを置換することを含む請求項13、14、または15に記載のシステム。
前記風雑音置換動作が、前記セグメントの周辺の前記オーディオ構成要素のその他のセグメントから抽出されたオーディオ信号の補間によって前記セグメントを埋めることを含む請求項20に記載の非一時的機械可読記録媒体。
【発明を実施するための形態】
【0013】
本開示の態様および実装は、ビデオコンテンツ内の風雑音をフィルタリングすることを対象とする。1つの実装においては、風雑音調整システムが、コンテンツ共有プラットフォームのユーザビデオ内の風雑音の自動化された風雑音検出および補正/置換を提供する。ユーザがビデオを記録するおよび/またはコンテンツ共有プラットフォームにアップロードするとき、風雑音調整システムは、風雑音(すなわち、風雑音アーチファクト)の任意の発生を特定するためにビデオコンテンツのオーディオ構成要素を自動的に分析する。任意の検出された風雑音に関して、風雑音が発生するオーディオセグメントを特定するデータ、風雑音の強度および継続時間、ならびに特定された風雑音を伴うオーディオセグメントの周辺コンテキストオーディオ(Surrounding Context Audio)(すなわち、検出された風雑音を含む特定されたオーディオセグメントの前のおよび/または後のその他のセグメントの予め決められた時間間隔)が、特定された風雑音を伴うオーディオセグメントに適用する風雑音置換動作の種類を決定するために使用される。風雑音置換動作は、周辺オーディオ信号もしくはスペクトログラムの補間によって風雑音オーディオセグメントを埋めること、オーディオセグメントから風雑音をフィルタリングすること、オーディオセグメントをビデオからのクリッピングされない背景雑音の推定値もしくは無音によって置換すること、または(ユーザに促した後)ビデオのオーディオファイル全体を背景音楽もしくは別のオーディオトラックによって置換することを含み得る。
【0014】
風雑音低減のための既存の解決策は、風雑音の特性に基づく風雑音の置換の様々な手法の使用を提供しない。風雑音低減のための従来の解決策は、オーディオ信号を同時に記録するいくつかのマイクロフォンに依拠し、是認されない背景雑音を削減するためにこれらの複数の記録を使用した。別の手法は、環境を競合する音源(Source)としてモデル化し、風雑音をフィルタリングするために音源分離技法を使用した。しかし、風雑音は、クリッピング(すなわち、信号を最大の振幅まで送ること)につながる可能性があり、クリッピングは、これらの既存の解決策の適用を妨げる破壊的な変換である。本開示の実装は、検出された風雑音の特性に基づく様々な風雑音置換動作の使用を提供し、(クリッピングを含む)風雑音の検出および置換は、自動的に実行され、ビデオを生成するとおよび/またはコンテンツ共有プラットフォームにアップロードすると実行される。したがって、実装は、モバイルデバイスに記録されたおよび/またはコンテンツ共有プラットフォームにアップロードされたビデオから風雑音アーチファクトを自動的に削除し、したがって、コンテンツ共有プラットフォーム上でのユーザエクスペリエンス全体を改善する。
【0015】
本開示は、簡単および簡潔にするためにしばしばビデオを参照する。しかし、本開示の教示は、メディアアイテムに広く適用され、たとえば、ビデオ、オーディオ、テキスト、画像、プログラム命令などを含む様々な種類のコンテンツまたはメディアアイテムに適用され得る。
【0016】
図1は、本開示の1つの実装による例示的なシステムアーキテクチャ100を示す。システムアーキテクチャ100は、クライアントデバイス110Aから110Z、ネットワーク105、データストア106、コンテンツ共有プラットフォーム120、およびサーバ130を含む。1つの実装において、ネットワーク105は、パブリックネットワーク(たとえば、インターネット)、プライベートネットワーク(たとえば、ローカルエリアネットワーク(LAN)もしくは広域ネットワーク(WAN))、有線ネットワーク(たとえば、イーサネット(登録商標)ネットワーク)、ワイヤレスネットワーク(たとえば、802.11ネットワークもしくはWi-Fiネットワーク)、セルラーネットワーク(たとえば、ロングタームエボリューション(LTE)ネットワーク)、ルータ、ハブ、スイッチ、サーバコンピュータ、および/またはこれらの組合せを含み得る。1つの実装において、データストア106は、メモリ(たとえば、ランダムアクセスメモリ)、キャッシュ、ドライブ(たとえば、ハードドライブ)、フラッシュドライブ、データベースシステム、またはデータを記憶することができる別の種類の構成要素もしくはデバイスである可能性がある。また、データストア106は、複数のコンピューティングデバイス(たとえば、複数のサーバコンピュータ)に広がる可能性もある複数の記録構成要素(たとえば、複数のドライブまたは複数のデータベース)を含む可能性がある。
【0017】
クライアントデバイス110Aから110Zは、それぞれ、パーソナルコンピュータ(PC)、ラップトップ、モバイル電話、スマートフォン、タブレットコンピュータ、ネットブックコンピュータ、ネットワークに接続されたテレビなどのコンピューティングデバイスを含み得る。一部の実装において、クライアントデバイス110Aから110Zは、「ユーザデバイス」とも呼ばれる可能性がある。各クライアントデバイスは、メディアビュワー111を含む。1つの実装において、メディアビュワー111は、ユーザが画像、ビデオ、ウェブページ、ドキュメントなどのコンテンツを閲覧することを可能にするアプリケーションである可能性がある。たとえば、メディアビュワー111は、ウェブサーバによって提供されるコンテンツ(たとえば、ハイパーテキストマークアップ言語(HTML)ページなどのウェブページ、デジタルメディアアイテムなど)にアクセスし、それらのコンテンツを取得し、提示し、および/またはナビゲートすることができるウェブブラウザである可能性がある。メディアビュワー111は、ユーザに対してコンテンツ(たとえば、ウェブページ、メディアビュワー)をレンダリングし、表示し、および/または提示する可能性がある。メディアビュワー111は、ウェブページ(たとえば、オンライン売買業者によって販売される製品についての情報を提供し得るウェブページ)に埋め込まれる埋め込みメディアプレイヤー(たとえば、Flash(登録商標)プレイヤーまたはHTML5プレイヤー)を表示する可能性もある。別の例において、メディアビュワー111は、ユーザがデジタルメディアアイテム(たとえば、デジタルビデオ、デジタル画像、電子ブックなど)を閲覧することを可能にするスタンドアロンのアプリケーション(たとえば、モバイルアプリケーションまたはアプリ)である可能性がある。本開示の態様によれば、メディアビュワー111は、コンテンツ共有プラットフォーム上で共有するためのコンテンツをユーザが記録し、編集し、および/またはアップロードするためのコンテンツ共有プラットフォームアプリケーションである可能性があり、ビデオコンテンツ内の風雑音のフィルタリングを実装する。
【0018】
メディアビュワー111は、サーバ130および/またはコンテンツ共有プラットフォーム120によってクライアントデバイス110Aから110Zに提供される可能性がある。たとえば、メディアビュワー111は、コンテンツ共有プラットフォーム120によって提供されるウェブページに埋め込まれる埋め込みメディアプレイヤーである可能性がある。別の例において、メディアビュワー111は、サーバ130からダウンロードされるアプリケーションである可能性がある。
【0019】
一般に、コンテンツ共有プラットフォーム120によって実行されるものとして1つの実装において説明される機能は、適切な場合、その他の実装においてクライアントデバイス110Aから110Z上で実行される可能性もある。加えて、特定の構成要素に帰せられる機能が、一緒に動作する異なるまたは複数の構成要素によって実行される可能性がある。コンテンツ共有プラットフォーム120は、適切なアプリケーションプログラミングインターフェースを通じてその他のシステムまたはデバイスに提供されるサービスとしてアクセスされる可能性もあり、したがって、ウェブサイトにおける使用に限定されない。
【0020】
1つの実装において、コンテンツ共有プラットフォーム120は、ユーザにメディアアイテムへのアクセスを提供し、および/もしくはユーザにメディアアイテムを提供するために使用され得る(ラックマウントサーバ、ルータコンピュータ、サーバコンピュータ、パーソナルコンピュータ、メインフレームコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、デスクトップコンピュータなどの)1つもしくは複数のコンピューティングデバイス、データストア(たとえば、ハードディスク、メモリ、データベース)、ネットワーク、ソフトウェア構成要素、ならびに/またはハードウェア構成要素である可能性がある。たとえば、コンテンツ共有プラットフォーム120は、ユーザがメディアアイテムを消費し、アップロードし、検索し、メディアアイテムに賛成し(「いいね!(Like)し」)、良くないね(Dislike)とし、および/またはコメントすることを可能にする可能性がある。コンテンツ共有プラットフォーム120は、ユーザにメディアアイテムへのアクセスを提供するために使用され得るウェブサイト(たとえば、ウェブページ)またはアプリケーションバックエンドソフトウェアを含む可能性もある。
【0021】
本開示の実装において、「ユーザ」は、1人の個人として表される可能性がある。しかし、本開示のその他の実装は、ユーザの集合によって制御されるエンティティである「ユーザ」および/または自動化されたソースを包含する。たとえば、ソーシャルネットワーク内のコミュニティとして連合させられた個人ユーザの集合が、「ユーザ」とみなされる可能性がある。別の例においては、自動化された消費者が、コンテンツ共有プラットフォーム120のトピックチャンネルなどの自動化された摂取パイプライン(Ingestion Pipeline)である可能性がある。
【0022】
コンテンツ共有プラットフォーム120は、複数のチャンネル(たとえば、チャンネルAからZ)を含む可能性がある。チャンネルは、共通のソースから利用可能なデータコンテンツ、または共通の話題、テーマ、もしくは趣旨を有するデータコンテンツである可能性がある。データコンテンツは、ユーザによって選択されたデジタルコンテンツ、ユーザによって利用可能にされたデジタルコンテンツ、ユーザによってアップロードされたデジタルコンテンツ、コンテンツプロバイダによって選択されたデジタルコンテンツ、放送者によって選択されたデジタルコンテンツなどである可能性がある。たとえば、チャンネルXは、ビデオYおよびZを含む可能性がある。チャンネルは、チャンネルに対して行為を実行することができるユーザである所有者に関連付けられ得る。異なる活動は、所有者がデジタルコンテンツをチャンネル上で利用可能にすること、所有者が別のチャンネルに関連するデジタルコンテンツを選択すること(たとえば、いいね!すること)、所有者が別のチャンネルに関連するデジタルコンテンツにコメントすることなどの所有者の行為に基づいてチャンネルに関連付けられ得る。チャンネルに関連する活動は、チャンネルに関する活動のフィードへとまとめられる可能性がある。チャンネルの所有者以外のユーザは、それらのユーザが関心のある1つまたは複数のチャンネルを登録する(Subscribe)ことができる。「登録する」という概念は、「いいね!する」、「フォローする」、「友達になる」などと言われる可能性もある。
【0023】
ユーザがチャンネルを登録すると、ユーザは、チャンネルの活動のフィードからの情報を提示され得る。ユーザが複数のチャンネルを登録する場合、ユーザが登録している各チャンネルに関する活動のフィードが、同時配信される(Syndicated)活動のフィードへと組み合わされる可能性がある。同時配信される活動のフィードからの情報は、ユーザに提示され得る。チャンネルは、独自のフィードを有する可能性がある。たとえば、コンテンツ共有プラットフォーム上のチャンネルのホームページにナビゲートするとき、そのチャンネルによって生成されたフィードの項目が、チャンネルのホームページ上に示される可能性がある。ユーザは、ユーザが登録しているチャンネルのすべてからのコンテンツアイテムの少なくともサブセットからなるフィードである同時配信されるフィードを有する可能性がある。同時配信されるフィードは、ユーザが登録していないチャンネルからのコンテンツアイテムも含む可能性がある。たとえば、コンテンツ共有プラットフォーム120またはその他のソーシャルネットワークは、おすすめのコンテンツアイテムをユーザの同時配信されるフィードに挿入する可能性があり、またはユーザの関連するつながりに関連するコンテンツアイテムを同時配信されるフィードに挿入する可能性がある。
【0024】
各チャンネルは、1つまたは複数のメディアアイテム121を含み得る。メディアアイテム121の例は、デジタルビデオ、デジタルムービー、デジタル写真、デジタルミュージック、ウェブサイトコンテンツ、ソーシャルメディアの最新記事、電子ブック(eブック)、電子雑誌、デジタル新聞、デジタルオーディオブック、電子ジャーナル、ウェブブログ、リアルシンプルシンジケーション(RSS: Real Simple Syndication)フィード、電子漫画、ソフトウェアアプリケーションなどを含み得るがこれらに限定されない。一部の実装において、メディアアイテム121は、コンテンツアイテムとも呼ばれる。
【0025】
メディアアイテム121は、インターネットを介しておよび/またはモバイルデバイスアプリケーションを介して消費される可能性がある。簡潔および簡単にするために、オンラインビデオ(以降、ビデオとも呼ばれる)が、本明細書全体を通じてメディアアイテム121の例として使用される。本明細書において使用されるとき、「メディア」、「メディアアイテム」、「オンラインメディアアイテム」、「デジタルメディア」、「デジタルメディアアイテム」、「コンテンツ」、および「コンテンツアイテム」は、エンティティにデジタルメディアアイテムを提示するように構成されたソフトウェア、ファームウェア、またはハードウェアを使用して実行またはロードされ得る電子ファイルを含む可能性がある。1つの実装において、コンテンツ共有プラットフォーム120は、データストア106を使用してメディアアイテム121を記憶し得る。
【0026】
1つの実装において、サーバ130は、1つまたは複数のコンピューティングデバイス(たとえば、ラックマウントサーバ、サーバコンピュータなど)である可能性がある。1つの実装において、サーバ130は、コンテンツ共有プラットフォーム120に含まれる可能性がある。サーバ130は、オーディオ調整システム140を含み得る。本開示の実装において、オーディオ調整システム140は、ユーザコンテンツ内の風雑音のフィルタリングを可能にする。一部の実装においては、クライアントデバイス110A〜110Zが、ユーザコンテンツ内の風雑音のフィルタリングを可能にするクライアント側オーディオ調整システム115を含み得る。クライアント側オーディオ調整システム115は、サーバ130のオーディオ調整システム140とは独立して本開示の実装を実行する可能性があり、またはオーディオ調整システム140と連携して働く可能性がある。下の説明はオーディオ調整システム140が本開示の実装を実行することに言及する可能性があるが、オーディオ調整システム140の機能がクライアントデバイス110A〜110Zのクライアント側オーディオ調整システム115によって単独でおよび/またはクライアントデバイス110A〜110Zのクライアント側オーディオ調整システム115と連携して同様に実行され得ることを理解されたい。
【0027】
1つの実装において、ユーザコンテンツは、ビデオを含む可能性がある。ビデオは、動いているシーンを表す連続的な画像フレームの組である。たとえば、一連の連続的な画像が、アニメーションを生成するために連続してキャプチャされるかまたは後で再構築される可能性がある。ビデオコンテンツは、アナログ、デジタル、2次元、および3次元のビデオを含むがこれらに限定されない様々なフォーマットで提示される可能性がある。さらに、ビデオコンテンツは、ムービー、ビデオクリップ、または順に表示されるアニメーションされる画像の任意の組を含み得る。加えて、ビデオコンテンツは、ビデオ構成要素およびオーディオ構成要素を含むビデオファイルに記憶され得る。ビデオ構成要素は、ビデオコーディングフォーマット(たとえば、H.264、H.264 MPEG-4 Part 2など)のビデオデータを指す可能性がある。オーディオ構成要素は、オーディオコーディングフォーマット(たとえば、アドバンストオーディオコーディング(AAC: Advanced Audio Coding)、MP3など)のオーディオデータを指す可能性がある。
【0028】
コンテンツ共有プラットフォーム120のユーザは、気象条件を考えることなく屋外で自分のデバイス(たとえば、カメラ付き携帯電話)110A〜Zにビデオを記録する可能性がある素人を含み得る。たとえば、荒れた天候、砂浜、スキーなどのアドベンチャースポーツ中などで記録されたビデオは、多くの場合、風の条件によって引き起こされた雑音に影響されやすい。オーディオ調整システム140は、ビデオコンテンツに関する自動化された風雑音検出および補正を提供するためにビデオコンテンツを分析し得る。オーディオ調整システム140は、オーディオ構成要素内の風雑音アーチファクトの発生を検出するためにビデオコンテンツのオーディオ構成要素(オーディオファイル、オーディオストリーム、オーディオ信号、聴覚情報などとも呼ばれる)を分析し得る。風雑音アーチファクトは、聴覚情報のキャプチャ(たとえば、オーディオ構成要素を含むビデオの記録)中に風の発生によってもたらされる聴覚情報(たとえば、オーディオ構成要素)の知覚または表現の誤りまたは異常を指す可能性がある。検出された風雑音アーチファクトの特性に応じて、オーディオ調整システム140は、オーディオ構成要素内の検出された風雑音アーチファクトを補正および/または置換するために利用する風雑音置換動作を選択する。
【0029】
1つの実装において、オーディオ調整システム140によって利用される風雑音置換動作は、検出された風雑音アーチファクトの方向および強度に応じて変わる可能性がある。1つの実装において、風雑音置換動作は、オーディオ構成要素の周辺セグメントから抽出されたオーディオ信号の補間によって風雑音アーチファクトを埋めること、風雑音アーチファクトを無音によって置換すること、風雑音アーチファクトをオーディオ構成要素の周辺セグメントから抽出されたオーディオセグメントによって置換すること、またはオーディオ構成要素全体を異なるオーディオ構成要素によって置換することを含む可能性があるがこれらに限定されない。
【0030】
一部の実装において、サーバ130のオーディオ調整システム140は、本開示の実装を提供するためにコンテンツ共有プラットフォーム120とインタラクションし得る。さらに、オーディオ調整システム140およびその特定の機能のさらなる説明が、
図2に関連して下でより詳細に記載される。
【0031】
本開示の実装がコンテンツ共有プラットフォーム、およびコンテンツ共有プラットフォーム上のコンテンツアイテムのソーシャルネットワークの共有を促進することの観点で検討されるが、実装は、概して、ユーザの間のつながりを提供する任意の種類のソーシャルネットワークにも適用され得る。本開示の実装は、チャンネルの講読をユーザに提供するコンテンツ共有プラットフォームに限定されない。
【0032】
本明細書において検討されたシステムがユーザについての個人情報を収集するかまたは個人情報を利用し得る状況において、ユーザは、コンテンツ共有プラットフォーム120がユーザ情報(たとえば、ユーザのソーシャルネットワーク、ソーシャルな行為もしくは活動、職業、ユーザの好み、またはユーザの現在の位置についての情報)を収集するかどうかを制御するか、あるいはユーザにより関連性がある可能性があるコンテンツをコンテンツサーバから受信すべきかどうかおよび/またはどのようにして受信すべきかを制御する機会を与えられる可能性がある。加えて、特定のデータが、個人を特定できる情報が削除されるように、記憶されるかまたは使用される前に1つまたは複数の方法で処理される可能性がある。たとえば、ユーザの識別情報が、個人を特定できる情報がユーザに関して決定され得ないか、または位置情報が取得される場合にユーザの地理的な位置が(都市、郵便番号、もしくは州のレベルなどに)一般化される可能性があり、したがって、ユーザの特定の位置が決定され得ないように処理される可能性がある。したがって、ユーザは、どのようにして情報がユーザについて収集され、コンテンツ共有プラットフォーム120によって使用されるのかを制御することができる可能性がある。
【0033】
図2は、本開示の1つの実装によるオーディオ調整システム140を示すブロック図である。上で検討されたように、オーディオ調整システム140は、単一のソーシャルネットワークとインタラクションする可能性があり、または複数のソーシャルネットワークの間で利用される(たとえば、その他の第三者のソーシャルネットワークによって利用されるコンテンツ共有プラットフォームのサービスとして提供される)可能性がある。1つの実装において、オーディオ調整システム140は、オーディオ分析モジュール210、風雑音検出モジュール220、オーディオ置換動作選択モジュール230、およびオーディオ調整モジュール240を含む。より多くのまたはより少ない構成要素が、一般性を損なうことなくオーディオ調整システム140に含まれる可能性がある。たとえば、モジュールのうちの2つが、単一のモジュールへと組み合わされる可能性があり、またはモジュールのうちの1つが、2つ以上のモジュールへと分割される可能性がある。1つの実装においては、モジュールのうちの1つまたは複数が、異なるコンピューティングデバイス上に(たとえば、異なるサーバコンピュータ、単一のクライアントデバイス上、または複数のクライアントデバイスの間に分散されるなど)存在する可能性がある。さらに、モジュールのうちの1つまたは複数は、異なるコンテンツ共有プラットフォーム、第三者のソーシャルネットワーク、および/または外部サーバ上に存在する可能性がある。
【0034】
オーディオ調整システム140は、データストア106に通信可能なように結合される。たとえば、オーディオ調整システム140は、ネットワークを介して(たとえば、
図1に示されたようにネットワーク105を介して)データストア106に結合される可能性がある。別の例において、データストア106は、オーディオ調整システム140が存在する(たとえば、サーバ130に直接結合される可能性がある)サーバに直接結合される可能性がある。データストア106は、メモリ(たとえば、ランダムアクセスメモリ)、キャッシュ、ドライブ(たとえば、ハードドライブ)、フラッシュドライブ、データベースシステム、またはデータを記憶することができる別の種類の構成要素もしくはデバイスである可能性がある。また、データストア106は、複数のコンピューティングデバイス(たとえば、複数のサーバコンピュータ)に広がる可能性もある複数の記録構成要素(たとえば、複数のドライブまたは複数のデータベース)を含む可能性がある。データストア106は、コンテンツアイテムデータ290、一時的オーディオデータ291、およびオーディオ補正データ292を含む。
【0035】
上で検討されたように、本開示の実装において、オーディオ調整システム140は、ユーザコンテンツ内の風雑音のフィルタリングを可能にする。1つの実装において、ユーザコンテンツは、本明細書においてビデオコンテンツと呼ばれるビデオを含み得る。ビデオコンテンツは、コンテンツアイテムデータ290としてデータストア106に記憶される可能性がある。オーディオ調整システム140のオーディオ分析モジュール210は、オーディオ構成要素およびビデオ構成要素を特定するためにビデオコンテンツを分析するための論理を含み得る。オーディオ構成要素は、オーディオコーディングフォーマットで表されるビデオコンテンツのオーディオデータである可能性がある。
【0036】
それから、特定されたオーディオ構成要素は、風雑音検出モジュール220に提供され得る。風雑音検出モジュール220は、オーディオ構成要素内の風雑音アーチファクトの発生を検出するための論理を含む。上で検討されたように、風雑音アーチファクトは、オーディオ構成要素によって表されるオーディオ情報のキャプチャ中に風の発生によってもたらされるオーディオ構成要素の知覚または表現の誤りまたは異常を指す可能性がある。オーディオ構成要素内の風雑音の発生を検出する(たとえば、異常な断絶を探索する)ために、様々な動作が風雑音検出モジュール220によって実装され得る。
【0037】
1つの実装において、風雑音検出モジュール220は、オーディオ構成要素のスペクトログラムを生成し得る。スペクトログラムは、周波数が時間または何らかのその他の変数と共に変化するときのオーディオ構成要素内に発生する周波数の視覚的表現である。オーディオ構成要素のスペクトログラムは、オーディオ構成要素が風雑音アーチファクトを表すいずれかの周波数を含むかどうかを特定するために分析され、処理される可能性がある。たとえば、風雑音は、大量の低周波成分を有し、概して、スペクトログラムの低周波領域に発生する。
【0038】
別の実装において、風雑音検出モジュール220は、オーディオ構成要素内の風雑音アーチファクトを特定するために機械学習技法を実装する可能性がある。機械学習は、解析モデルの構築を自動化するデータ分析の方法である。データから反復的に学習するアルゴリズムを使用して、機械学習は、コンピューティングデバイスがどこを見るべきかを明示的にプログラミングされることなしに隠れた洞察を見つけることを可能にする。たとえば、ビデオの訓練セットと、風雑音アーチファクトの存在に関する訓練セット内の各ビデオの分類とが、分類器に与えられる可能性があり、分類器は、ビデオ(またはそれらのビデオのオーディオ構成要素)の特性とこれらのビデオに関して与えられた分類との間の対応を導出する。分類器は、ビデオの訓練セットを使用して訓練されると、新しいビデオを処理し、それらの新しいビデオが風雑音アーチファクトを含むかどうかを判定し、そのようなアーチファクトを含むビデオセグメントを特定することができる。
【0039】
1つの実装においては、ディープラーニングと呼ばれる機械学習の分野が、オーディオ構成要素内の風雑音アーチファクトを特定するために利用され得る。ディープラーニング(深層構造化学習(Deep Structured Learning)、階層的学習(Hierarchical Learning)、または深層機械学習とも呼ばれる)は、複雑な構造を有するかまたはそうでなければ複数の非線形変換からなる複数の処理層を使用することによってデータ内の高レベルの抽象概念をモデル化しようと試みる1組のアルゴリズムに基づく。ディープラーニングは、データの表現を学習することに基づく機械学習技法のより広いグループの一部として説明される可能性もある。ディープラーニングは、所与のオーディオ構成要素内で発生するオーディオイベントのクラス(たとえば、風雑音)を記述することができる様々なオーディオイベント検出手法を開発するために利用され得る。そして、風雑音検出モジュール220は、オーディオ構成要素内の風雑音アーチファクトの発生を特定するために開発されたオーディオイベント検出手法を実装し得る。
【0040】
上述の技法のうちの1つまたは複数を使用して、風雑音検出モジュール220は、風雑音アーチファクトが検出されたオーディオ構成要素のセグメント(たとえば、部分、クリップ、および/またはサブセット)を特定する。一部の実装においては、2つ以上のセグメントが、風雑音検出モジュール220によって特定される可能性がある。風雑音検出モジュール220は、特定されたセグメントに対応する特性も提供する可能性がある。セグメントの特性は、オーディオ構成要素内のセグメントを定義する開始時間マーカーおよび終了時間マーカー、セグメントの時間の長さ、セグメント内に発生する周波数、ならびに/またはセグメントの振幅のうちの1つまたは複数を含む可能性があるがこれらに限定されない。1つの実装において、オーディオセグメントの特性は、データストア106の一時的オーディオデータ291に記憶され得る。
【0041】
オーディオ置換動作選択モジュール230は、風雑音検出モジュール220が風雑音アーチファクトの発生を検出した各セグメントに関して特定された特性を受け取り得る。一部の実装においては、セグメントに関して特定された特性に加えて、特定されたセグメント自体が、風雑音検出モジュール220によって提供される可能性がある。その他の実装においては、特定されたセグメントが、いかなる関連する特性も伴わず風雑音検出モジュール220によって提供される。風雑音検出モジュール220は、セグメントに関する周辺オーディオコンテキスト(Surrounding Audio Context)に対応するデータ(すなわち、特定されたオーディオセグメントの前のおよび/または後のその他のセグメントの予め決められた時間間隔)も提供する可能性がある。さらなる実装において、風雑音検出モジュール220は、特定されたオーディオセグメントに対応するビデオ構成要素のセグメントも提供する可能性がある。
【0042】
1つの実装において、検出された風雑音アーチファクトの特性に応じて、オーディオ置換動作選択モジュール230は、オーディオ構成要素のセグメント内の検出された風雑音アーチファクトを補正および/または置換するために使用される風雑音置換動作を選択する。1つの実装において、風雑音置換動作は、オーディオ構成要素の周辺セグメントから抽出されたオーディオ信号の補間によって風雑音アーチファクトを埋めること、風雑音アーチファクトを削除するためにオーディオセグメントをフィルタリング/クリーニングすること、オーディオセグメントをビデオからのクリッピングされない背景雑音の推定値によって置換すること、風雑音アーチファクトを無音によって置換すること、およびオーディオ構成要素を異なるオーディオ構成要素によって置換することを含む可能性があるがこれらに限定されない。
【0043】
1つの実装において、オーディオ置換動作選択モジュール230によって選択される風雑音置換動作は、セグメントの特定された特性に応じて変わり得る。オーディオ置換動作選択モジュール230は、風雑音検出モジュール220によって提供されるオーディオ構成要素のセグメントの特性から導出された信号に対応する閾値を維持する可能性がある。閾値は、適用される風雑音置換動作を決定するために使用される。
【0044】
たとえば、信号は、たとえば、風雑音アーチファクトの1つまたは複数の周波数および風雑音アーチファクトに対応する信号対雑音比によって測られるような風雑音アーチファクトの継続時間および強度に対応する可能性がある。これらの信号は、まとめられるとき、検出された風雑音がオーディオ構成要素のセグメントに対してならびにオーディオ構成要素全体に対してどれだけ破壊的であるかの推定値(たとえば、影響を受けるビデオの割合)を提供し得る。閾値は、ユーザの満足度の調査(たとえば、どの閾値が最も高いユーザの満足度をもたらしたかを判定すること)に基づいてオーディオ置換動作選択モジュール230によって確立され得る。
【0045】
1つの実装においては、特定されたオーディオセグメントからの導出された信号が閾値の第1の予め決められた組を満足するとき、風雑音アーチファクトを埋めるオーディオ置換動作が、オーディオ置換動作選択モジュール230によって選択される可能性がある。風雑音アーチファクトを埋めることは、セグメントおよび/またはオーディオ構成要素内のクリッピングされない背景音の推定値によって風雑音アーチファクトを置換することを含む。風雑音アーチファクトを置換することは、オーディオの壊れたセクション内に(たとえば、周辺オーディオコンテキストを使用して)オーディオの壊れたセクションの外に発生するオーディオテクスチャ(Audio Texture)を複製することを含み得る。オーディオテクスチャは、オーディオ構成要素の周辺オーディオコンテキスト(たとえば、その他のセグメント)から抽出されたオーディオ信号および/またはスペクトログラムの補間を決定することによって複製され得る。この場合、その他のセグメントからの周辺オーディオコンテキストが、特定されたオーディオセグメントのために利用される可能性がある。一部の実装において、風雑音アーチファクトを埋めることは、特定されたオーディオセグメント内の(風雑音アーチファクトの)周波数領域の長さが短いおよび/または特定されたオーディオセグメントの周波数領域内に発話された言葉がほとんどもしくは全くないときにオーディオ置換動作として選択される可能性がある。
【0046】
別の実装においては、特定されたオーディオセグメントからの導出された信号が閾値の第2の予め決められた組を満足するとき、オーディオ信号をフィルタリングおよび/またはクリーニングするオーディオ置換動作が、オーディオ置換動作選択モジュール230によって選択される可能性がある。オーディオ信号をフィルタリングする動作は、セグメント内の根本的なオーディオ信号を復元することを目標とする。ダイナミックノイズリミッタ(DNL: Dynamic Noise Limiter)、ダイナミックノイズリダクション(DNR: Dynamic Noise Reduction)、時間周波数フィルタ、その他の特別な目的のノイズリダクションプログラムなどを含むがこれらに限定されない様々なフィルタリング技法が、使用され得る。一部の実装において、オーディオ信号をフィルタリング/クリーニングすることは、特定されたオーディオセグメントの周波数領域の幅および強度が高くない(たとえば、オーディオセグメント内の極端なおよび/または破壊的な風雑音を示す)ときにオーディオ置換動作として選択される可能性がある。
【0047】
さらなる実装においては、特定されたオーディオセグメントからの導出された信号が閾値の第3の予め決められた組を満足するとき、風雑音アーチファクトを無音によって置換するオーディオ置換動作が、オーディオ置換動作選択モジュール230によって選択される可能性がある。無音によって置換する動作は、オーディオセグメントの振幅をゼロに調整することを含み得る。オーディオセグメント内の風雑音アーチファクトを無音によって置換することは、風雑音アーチファクトが破壊的であり、長い時間間隔にわたって広がっていることを周波数領域の長さ、幅、および強度が示すときにオーディオ置換動作として選択される可能性がある。その他の実装において、オーディオセグメント内の風雑音アーチファクトを無音によって置換することは、周波数領域の長さが短いが、幅および強度がセグメント内のオーディオ構成要素の破壊を示すときにオーディオ置換動作として選択される可能性がある。加えて、無音による風雑音アーチファクトの置換は、風雑音アーチファクトが破壊的であり、埋めることが実行可能な置換の選択肢でない(たとえば、発話された言葉が周辺オーディオコンテキスト内にある)ときにオーディオ置換動作として選択される可能性がある。
【0048】
1つの実装においては、特定されたオーディオセグメントからの導出された信号が閾値の第4の予め決められた組を満足するとき、風雑音アーチファクトをビデオからのクリッピングされない背景雑音の推定値によって置換するオーディオ置換動作が、オーディオ置換動作選択モジュール230によって選択される可能性がある。ビデオからのクリッピングされない背景雑音の推定値によって置換する動作は、(たとえば、特定されたオーディオセグメントに時間的近さで見て近い)周辺オーディオセグメントを、風雑音アーチファクトを置換するためのクリッピングされない背景雑音として利用することを含む可能性がある。オーディオセグメント内の風雑音アーチファクトをクリッピングされない背景雑音の推定値によって置換することは、周波数領域の長さが短いが、幅および強度がセグメント内のオーディオ構成要素の破壊を示すときにオーディオ置換動作として選択される可能性がある。
【0049】
別の実装においては、特定されたオーディオセグメントからの導出された信号が閾値の第5の予め決められた組を満足するとき、風雑音アーチファクトを異なるオーディオ構成要素によって置換するオーディオ置換動作が、オーディオ置換動作選択モジュール230によって選択される可能性がある。異なるオーディオ構成要素によって置換する動作は、オーディオ構成要素全体を背景音楽トラックによって置換することを含み得る。1つの実装において、ユーザは、置換として使用するそのユーザの好ましいオーディオ構成要素の選択を促される可能性がある。オーディオセグメント内の風雑音アーチファクトを異なるオーディオ構成要素によって置換することは、風雑音アーチファクトが破壊的であり、長い時間間隔にわたって広がっていることを周波数領域の長さ、幅、および強度が示す(たとえば、充填/補間のために使用され得るオーディオ構成要素の良好なセグメントが残っていない)ときにオーディオ置換動作として選択される可能性がある。
【0050】
適切な風雑音置換動作が選択されると、オーディオ調整モジュール240は、オーディオセグメントから風雑音アーチファクトを削除するためにオーディオセグメントに風雑音置換動作を適用する。1つの実装において、元のオーディオセグメントおよび補正されたオーディオセグメントは、データストア106のオーディオ補正データ292に記憶され得る。そして、オーディオ調整モジュール240は、データストア106のコンテンツアイテムデータ290内にビデオの一部として記憶される更新されたオーディオ構成要素を提供し得る。
【0051】
図3は、本開示のいくつかの実装によるビデオコンテンツ内の風雑音をフィルタリングするための方法300を示す流れ図である。方法300は、ハードウェア(たとえば、回路、専用論理、プログラミング可能な論理、マイクロコードなど)、ソフトウェア(たとえば、ハードウェアのシミュレーションを実行するために処理デバイス上で実行される命令)、またはこれらの組合せを含む処理論理によって実行され得る。
【0052】
説明を簡単にするために、本開示の方法は、一連の行為として示され、説明される。しかし、本開示による行為は、様々な順序でおよび/または同時に、ならびに本明細書において提示および説明されないその他の行為とともに行われる可能性がある。さらに、開示される主題による方法を実装するために、示されるすべての行為が必要とされるわけではない可能性がある。加えて、当業者は、方法が、代替的に状態図による一連の相互に関連した状態またはイベントとして表される可能性があることを理解し、認識されよう。その上、本明細書において開示される方法は、そのような方法をコンピューティングデバイスに運び、転送することを容易にするための製品に記憶され得ることを認識されたい。本明細書において使用される用語「製品」は、任意のコンピュータ可読デバイスまたは記録媒体からアクセス可能なコンピュータプログラムを包含するように意図される。1つの実装において、方法300は、
図2に示されるようなオーディオ調整システム140によって実行され得る。
【0053】
方法300は、オーディオ構成要素およびビデオ構成要素を含むビデオコンテンツが受け取られるブロック302において始まる。それから、ブロック304において、風雑音アーチファクトの発生が、オーディオ構成要素のセグメント内で検出される。1つの実装においては、上で検討されたように、風雑音アーチファクトが、いくつか例を挙げるとすれば、スペクトログラム分析、機械学習、またはディープラーニングによって検出され得る。そして、ブロック306において、風雑音アーチファクトの継続時間および強度が特定され得る。
【0054】
その後、ブロック308において、風雑音置換動作が、風雑音アーチファクトの特定された継続時間および強度に基づいて選択される。1つの実装においては、オーディオセグメントに対応する1つまたは複数の信号が、風雑音アーチファクトの継続時間および強度から導出され得る。信号は、風雑音アーチファクトの周波数領域の長さ、周波数領域の幅、および周波数領域の強度のうちの1つまたは複数を含み得る。そして、これらの信号は、マッピングされた閾値に対応する風雑音置換動作を決定するために各信号のための閾値にマッピングされる可能性がある。風雑音動作は、オーディオ構成要素の周辺セグメントから抽出されたオーディオ信号の補間によって風雑音アーチファクトを埋めること、風雑音アーチファクトを削除するためにオーディオセグメントをフィルタリング/クリーニングすること、風雑音アーチファクトを無音によって置換すること、風雑音アーチファクトをビデオからのクリッピングされない背景雑音の推定値によって置換すること、およびオーディオ構成要素を異なるオーディオ構成要素によって置換することを含む可能性があるがこれらに限定されない。
【0055】
最後に、ブロック310において、選択された風雑音置換動作が、オーディオ構成要素のセグメントに適用される。選択された風雑音置換動作が、オーディオ構成要素のオーディオセグメントから風雑音アーチファクトを削除するために使用される。
【0056】
風雑音アーチファクトを有する2つ以上のオーディオセグメントがブロック304において特定される場合、風雑音アーチファクトを有するそれぞれの特定されたオーディオセグメントがブロック406〜410に従って処理され得る。
【0057】
図4は、本開示の実装によるビデオコンテンツ内の風雑音をフィルタリングするための別の方法400を示す流れ図である。方法400は、ハードウェア(たとえば、回路、専用論理、プログラミング可能な論理、マイクロコードなど)、ソフトウェア(たとえば、ハードウェアのシミュレーションを実行するために処理デバイス上で実行される命令)、またはこれらの組合せを含む処理論理によって実行され得る。1つの実装において、方法400は、
図2に示されるようなオーディオ調整システム140によって実行され得る。
【0058】
方法400は、ビデオコンテンツが受け取られるブロック402において始まる。そして、ブロック404において、オーディオ構成要素が、ビデオコンテンツから抽出される。ブロック406において、オーディオ構成要素が、風雑音アーチファクトを有するオーディオセグメントを特定するために分析される。1つの実装においては、風雑音アーチファクトが、いくつか例を挙げるとすれば、スペクトログラム分析、機械学習、またはディープラーニングによって検出され得る。それから、ブロック408において、オーディオセグメントの特性が決定される。1つの実装において、特性は、オーディオセグメント内の風雑音アーチファクトの継続時間および強度を含み得る。
【0059】
その後、ブロック410において、風雑音置換動作が、特定された特性に基づいて選択される。1つの実装においては、オーディオセグメントに対応する1つまたは複数の信号が、風雑音アーチファクトの特性から導出され得る。信号は、たとえば、風雑音アーチファクトの1つまたは複数の周波数および/または風雑音アーチファクトに対応する信号対雑音比で測られるような風雑音アーチファクトの継続時間および強度を含む可能性がある。そして、これらの信号は、マッピングされた閾値に対応する風雑音置換動作を決定するために各信号のための閾値にマッピングされる可能性がある。風雑音動作は、オーディオ構成要素の周辺セグメントから抽出されたオーディオ信号の補間によって風雑音アーチファクトを埋めること、風雑音アーチファクトを削除するためにオーディオセグメントをフィルタリング/クリーニングすること、風雑音アーチファクトを無音によって置換すること、風雑音アーチファクトをビデオからのクリッピングされない背景雑音の推定値によって置換すること、およびオーディオ構成要素を異なるオーディオ構成要素によって置換することを含む可能性があるがこれらに限定されない。
【0060】
ブロック412において、選択された風雑音置換動作が、オーディオ構成要素のセグメントに適用される。選択された風雑音置換動作が、オーディオセグメントから風雑音アーチファクトを削除するために使用される。最後に、ブロック414において、修正されたオーディオ構成要素が、ビデオコンテンツの一部として記憶される。
【0061】
風雑音アーチファクトを有する2つ以上のオーディオセグメントがブロック406において特定される場合、風雑音アーチファクトを有するそれぞれの特定されたオーディオセグメントがブロック408〜414に従って処理され得る。
【0062】
図5は、本明細書において検討される方法のうちのいずれか1つまたは複数をマシンに実行させるための1組の命令が実行され得るコンピュータシステム500の例示的な形態のマシンの図を示す。代替的な実装において、マシンは、ローカルエリアネットワーク(LAN)、イントラネット、エクストラネット、またはインターネット内のその他のマシンに接続される(たとえば、ネットワーク接続される)可能性がある。マシンは、クライアント-サーバネットワーク環境内のサーバもしくはクライアントマシンの能力内で、またはピアツーピア(もしくは分散型)ネットワーク環境内のピアマシンとして動作する可能性がある。マシンは、パーソナルコンピュータ(PC)、タブレットPC、セットトップボックス(STB)、携帯情報端末(PDA)、セルラー電話、ウェブアプライアンス、サーバ、ネットワークルータ、スイッチもしくはブリッジ、またはそのマシンによって行われるべき行為を指定する(逐次的もしくはその他の)命令の組を実行することができる任意のマシンである可能性がある。さらに、単一のマシンだけが示されているが、用語「マシン」は、本明細書において検討された方法のうちのいずれか1つまたは複数を実行するための命令の1つの組(または複数の組)を個々にまたは連携して実行するマシンの任意の集合を含むとやはり受け取られる。1つの実装において、コンピュータシステム500は、
図1および
図2に関連して説明されたようにオーディオ調整システム140を実行するサーバ102などのサーバを表す可能性がある。
【0063】
例示的なコンピュータシステム500は、バス530を介して互いに通信する処理デバイス502、メインメモリ504(たとえば、読み出し専用メモリ(ROM)、フラッシュメモリ、ダイナミックランダムアクセスメモリ(DRAM)(同期DRAM(SDRAM)またはRambus DRAM(RDRAM)など)、スタティックメモリ506(たとえば、フラッシュメモリ、スタティックランダムアクセスメモリ(SRAM)など)、およびデータ記録デバイス518を含む。本明細書において説明される様々なバスを介して提供される信号のいずれかは、その他の信号と時間多重化され、1つまたは複数のよくあるバスを介して提供される。加えて、回路構成要素またはブロックの間の相互接続が、バスとしてまたは単一の信号線として示される可能性がある。バスの各々は、代替的に、1つまたは複数の単一の信号線である可能性があり、単一の信号線の各々は、代替的に、バスである可能性がある。
【0064】
処理デバイス502は、マイクロプロセッサ、中央演算処理装置などの1つまたは複数の汎用処理デバイスを表す。より詳細には、処理デバイスは、複合命令セットコンピューティング(CISC)マイクロプロセッサ、縮小命令セットコンピュータ(RISC)マイクロプロセッサ、超長命令語(VLIW)マイクロプロセッサ、またはその他の命令セットを実装するプロセッサ、または命令セットの組合せを実装するプロセッサである可能性がある。処理デバイス502は、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、デジタル信号プロセッサ(DSP)、ネットワークプロセッサなどの1つまたは複数の専用処理デバイスである可能性もある。処理デバイス502は、本明細書において検討された動作およびステップを実行するための処理論理526を実行するように構成される。
【0065】
コンピュータシステム500は、ネットワークインターフェースデバイス508をさらに含み得る。コンピュータシステム500は、ビデオディスプレイユニット510(たとえば、液晶ディスプレイ(LCD)またはブラウン管(CRT))、英数字入力デバイス512(たとえば、キーボード)、カーソル制御デバイス514(たとえば、マウス)、および信号生成デバイス516(たとえば、スピーカ)も含み得る。
【0066】
データ記録デバイス518は、本明細書において説明された機能の方法のうちの任意の1つまたは複数を具現化する命令522(たとえば、ソフトウェア)の1つまたは複数の組が記憶されるコンピュータ可読記録媒体528(機械可読記録媒体とも呼ばれる)を含む可能性がある。命令522は、コンピュータシステム500によるそれらの命令522の実行中にメインメモリ504内におよび/または処理デバイス502内に完全にまたは少なくとも部分的に存在する可能性もあり、また、メインメモリ504および処理デバイス502は、機械可読記録媒体を成す。命令522は、ネットワークインターフェースデバイス508を介してネットワーク520上でさらに送信または受信される可能性がある。
【0067】
コンピュータ可読記録媒体528は、本明細書において説明されたようにビデオコンテンツ内の風雑音をフィルタリングするための方法を実行するための命令を記憶するために使用される可能性もある。コンピュータ可読記録媒体528は例示的な実装においては単一の媒体であるように示されているが、用語「機械可読記録媒体」は、命令の1つまたは複数の組を記憶する単一の媒体または複数の媒体(たとえば、集中型のもしくは分散型のデータベース、ならびに/または関連するキャッシュおよびサーバ)を含むものと受け取られるべきである。機械可読媒体は、機械(たとえば、コンピュータ)によって読み取り可能な形態(たとえば、ソフトウェア、処理アプリケーション)で情報を記憶するための任意のメカニズムを含む。機械可読媒体は、磁気記録媒体(たとえば、フロッピーディスケット)、光記録媒体(たとえば、CD-ROM)、光磁気記録媒体、読み出し専用メモリ(ROM)、ランダムアクセスメモリ(RAM)、消去可能なプログラマブルメモリ(たとえば、EPROMおよびEEPROM)、フラッシュメモリ、または電子的な命令を記憶するのに好適な別の種類の媒体を含み得るがこれらに限定されない。
【0068】
上述の説明は、本開示のいくつかの実装の深い理解を与えるために、特定のシステム、構成要素、方法などの例などの多数の特定の詳細を記載する。しかし、本開示の少なくとも一部の実装がこれらの特定の詳細なしに実践され得ることは、当業者に明らかであろう。その他の場合、よく知られている構成要素または方法は、本開示を不必要に曖昧にすることを避けるために詳細に説明されないかまたは単純なブロック図に提示される。したがって、記載された特定の詳細は、例示的であるに過ぎない。特定の実装は、これらの例示的な詳細とは異なり、なおも本開示の範囲内にあることが企図される可能性がある。
【0069】
本明細書全体を通じた「1つの実装」または「実装」への言及は、実装に関連して説明された特定の特徴、構造、または特性が少なくとも1つの実装に含まれることを意味する。したがって、語句「1つの実装において」または「実装において」が本明細書全体を通じて様々な箇所に現れることは、必ずしもすべて同じ実装を指すものではない。加えて、用語「または(or)」は、排他的な「または(or)」ではなく包含的な「または(or)」を意味するように意図される。
【0070】
本明細書の方法の動作は特定の順序で示され、説明されているが、各方法の動作の順序は、特定の動作が逆順に実行され得るようにまたは特定の動作が少なくとも部分的にその他の動作と同時に実行され得るように変更される可能性がある。別の実装において、異なる動作の命令または下位動作は、間欠的であるおよび/または交互に変わる可能性がある。