(57)【要約】  実装は、ビデオのための相互雑音推定を開示する。方法は、ビデオのフレームの各フレームの強度値に関する最適なフレームの雑音の分散を決定するステップであって、最適なフレームの雑音の分散が、フレーム内の均質なブロックの強度値の空間的分散と時間的分散との間の決定された関係に基づく、ステップと、ビデオのフレームの最適なフレームの雑音の分散に基づいてビデオに関する最適なビデオの雑音の分散を特定するステップと、ビデオの各フレームに関して、最適なビデオの雑音の分散未満である空間的分散を有するブロックのうちの1つまたは複数を選択するステップであって、1つまたは複数のフレームが、均質なブロックとして選択される、ステップと、ビデオの雑音信号を推定するために選択された均質なブロックを利用するステップとを含む。
2019524000.tif 000002
【特許請求の範囲】
【請求項１】
ビデオのフレームの各フレームの強度値に関する最適なフレームの雑音の分散を処理デバイスによって決定するステップであって、前記最適なフレームの雑音の分散が、前記フレーム内の均質なブロックの前記強度値の空間的分散と時間的分散との間の決定された関係に基づく、ステップと、
前記ビデオの前記フレームの最適なフレームの雑音の分散に基づいて前記ビデオに関する最適なビデオの雑音の分散を特定するステップと、
前記ビデオの各フレームに関して、前記最適なビデオの雑音の分散未満である空間的分散を有する前記ブロックのうちの1つまたは複数を選択するステップであって、前記1つまたは複数の選択されたブロックが、前記均質なブロックとしてラベル付けされる、ステップと、
前記ビデオの雑音信号を推定するために前記選択された均質なブロックを前記処理デバイスによって利用するステップとを含む、方法。
【請求項２】
前記ブロックの各々が、前記フレームのN×Nピクセルを含み、Nが、正の数である、請求項1に記載の方法。
【請求項３】
前記ブロックの各々が、少なくとも半分重なっている、請求項2に記載の方法。
【請求項４】
前記ビデオの前記推定された雑音信号を使用して前記ビデオを処理するステップをさらに含み、前記ビデオの処理が、ビデオ圧縮、セグメンテーション、フォーマット変換、動き推定、雑音除去、またはフィルタリングのうちの1つまたは複数を含む、請求項1から3のいずれか一項に記載の方法。
【請求項５】
各フレームに関する前記最適なフレームの雑音の分散を決定するステップが、
前記フレーム内の各ブロックの前記空間的分散を計算することと、
前記フレーム内の各ブロックの前記時間的分散を計算することと、
前記空間的分散と前記時間的分散との間の前記決定された関係に基づいて、および前記均質なブロックの間の雑音の共分散が一定の値であるという仮定に基づいて、前記フレームの前記ブロックの前記時間的分散の各々をそれぞれの変換された時間的分散に変換することと、
前記フレーム内の前記空間的分散に第1の関数を適用することであって、前記第1の関数が、分散値の範囲に対して分散値「x」未満の空間的分散を有する前記フレーム内の前記ブロックの前記空間的分散の平均を与える、適用することと、
前記フレーム内の前記変換された時間的分散に第2の関数を適用することであって、前記第2の関数が、分散値の前記範囲に対して前記分散値「x」未満の変換された時間的分散を有する前記フレーム内の前記ブロックの前記変換された時間的分散の平均を与える、適用することと、
前記適用された第1の関数および前記適用された第2の関数の交差に基づいて前記フレームに関する前記最適なフレームの雑音の分散の値を選択することとを含む、請求項1に記載の方法。
【請求項６】
前記時間的分散が、前記フレームの前のおよび後の決定された数のフレームを利用する、請求項5に記載の方法。
【請求項７】
分散値の前記範囲が、ゼロから、前記フレームに関する前記空間的分散および前記時間的分散の集合の和集合の最大の分散までの分散値を含む、請求項5または6に記載の方法。
【請求項８】
前記交差が、V(x)の絶対最大値未満であり、V(x)が、分散値xにおける前記適用された第1の関数と前記適用された第2の関数との間の差の分散を示す、請求項7に記載の方法。
【請求項９】
各フレームの前記強度値が、前記フレーム内のピクセルの数値を含み、前記数値が、前記ピクセルのグレーレベル値に対応する、請求項1から8のいずれか一項に記載の方法。
【請求項１０】
各フレームの前記強度値が、前記フレーム内のピクセルの数値を含み、前記数値が、前記ピクセルのカラーチャンネル値に対応する、請求項1から9のいずれか一項に記載の方法。
【請求項１１】
前記最適なビデオの雑音の分散が、ビデオの集合の前記フレームの最適なフレームの雑音の分散の中央値である、請求項1から10のいずれか一項に記載の方法。
【請求項１２】
実行されるときに処理デバイスに
ビデオのフレーム内の各ブロックに関する強度値の空間的分散を計算する動作と、
前記フレーム内の各ブロックの前記強度値に関する時間的分散を計算する動作と、
前記空間的分散と前記時間的分散との間の決定された関係に基づいて、および前記ビデオ内の均質なブロックの間の雑音の共分散が一定の値であるという仮定に基づいて、前記フレームの前記ブロックの前記時間的分散の各々を変換された時間的分散に変換する動作と、
前記フレーム内の前記空間的分散に第1の関数を適用する動作であって、前記第1の関数が、分散値の範囲に対して分散値「x」未満の空間的分散値を有する前記フレーム内の前記ブロックの前記空間的分散の平均を与える、動作と、
前記フレーム内の前記変換された時間的分散に第2の関数を適用する動作であって、前記第2の関数が、分散値の前記範囲に対して分散値「x」未満の変換された時間的分散値を有する前記フレーム内の前記ブロックの前記変換された時間的分散の平均を与える、動作と、
前記適用された第1の関数および前記適用された第2の関数の交差に基づいて前記フレームに関する最適なフレームの雑音の分散の値を選択する動作とを含む動作を実行させる命令を記憶する、コンピュータプログラム製品。
【請求項１３】
前記動作が、
前記ビデオに関する最適なビデオの雑音の分散を特定する動作であって、前記最適なビデオの雑音の分散が、前記ビデオの前記フレームの前記最適なフレームの雑音の分散の中央値を含む、動作と、
前記ビデオの各フレームに関して、前記最適なビデオの雑音の分散未満である空間的分散を有する前記ブロックのうちの1つまたは複数を選択する動作であって、前記1つまたは複数の選択されたブロックが、均質なブロックとしてラベル付けされる、動作と、
前記ビデオの雑音信号を推定するために前記均質なブロックを前記処理デバイスによって利用する動作とをさらに含む、請求項12に記載のコンピュータプログラム製品。
【請求項１４】
前記動作が、前記ビデオの前記推定された雑音信号を使用して前記ビデオを処理する動作をさらに含み、前記ビデオの処理が、ビデオ圧縮、セグメンテーション、フォーマット変換、動き推定、雑音除去、またはフィルタリングのうちの1つまたは複数を含む、請求項13に記載のコンピュータプログラム製品。
【請求項１５】
前記時間的分散が、前記フレームの前のおよび後の決定された数のフレームを利用し、前記時間的分散が、動き補償プロセスを使用して決定される、請求項12から14のいずれか一項に記載のコンピュータプログラム製品。
【請求項１６】
分散値の前記範囲が、ゼロから、前記フレームに関する前記空間的分散および前記時間的分散の集合の和集合の最大の分散までの分散値を含む、請求項12から15のいずれか一項に記載のコンピュータプログラム製品。
【請求項１７】
メモリと、
前記メモリに結合された処理デバイスとを含み、前記処理デバイスが、
決定された種類のビデオキャプチャデバイスに対応するビデオの集合の各ビデオに関する最適なビデオの雑音の分散を特定することであって、前記最適なビデオの雑音の分散が、ビデオの前記集合のフレームの各々の中の均質なブロックの空間的分散と時間的分散との間の決定された関係に基づく、特定することと、
前記特定された最適なビデオの雑音の分散に基づいて、前記決定された種類のビデオキャプチャデバイスに対応する雑音モデルを生成することと、
前記決定された種類のビデオキャプチャデバイスに関する前記雑音モデルを記憶することと、
前記決定された種類のビデオキャプチャデバイスによってキャプチャされたものとして示されるアップロードされたビデオの雑音を除去するために前記記憶された雑音モデルを適用することとを行うためのものである、システム。
【請求項１８】
前記分散が、ビデオの前記集合の前記フレームの各々のピクセルの強度値に関して計算され、前記強度値が、前記フレーム内の前記ピクセルの各々の数値を含み、前記数値が、前記ピクセルのグレーレベル値または前記ピクセルのカラーチャンネル値のうちの少なくとも1つに対応する、請求項17に記載のシステム。
【請求項１９】
前記最適なビデオの雑音の分散が、ビデオの前記集合の前記フレームの最適なフレームの雑音の分散の中央値である、請求項17または18に記載のシステム。
【請求項２０】
前記処理デバイスが、
前記フレーム内の各ブロックの前記空間的分散を計算することと、
前記フレーム内の各ブロックの前記時間的分散を計算することと、
前記均質なブロックの前記空間的分散と前記時間的分散との間の前記決定された関係に基づいて、および前記均質なブロックの間の雑音の共分散が一定の値であるという仮定に基づいて、前記フレームの前記ブロックの前記時間的分散の各々を変換された時間的分散に変換することと、
前記フレーム内の前記空間的分散に第1の関数を適用することであって、前記第1の関数が、分散値の範囲に対して分散値「x」未満の空間的分散を有する前記フレーム内の前記ブロックの前記空間的分散の平均を与える、適用することと、
前記フレーム内の前記変換された時間的分散に第2の関数を適用することであって、前記第2の関数が、分散値の前記範囲に対して分散値「x」未満の変換された時間的分散を有する前記フレーム内の前記ブロックの前記変換された時間的分散の平均を与える、適用することと、
前記適用された第1の関数および前記適用された第2の関数の交差に基づいて前記フレームに関する前記最適なフレームの雑音の分散の値を選択することと
によって各フレームに関する前記最適なフレームの雑音の分散を特定するように構成される、請求項19に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、ビデオ処理の分野に関し、特に、ビデオのための相互雑音推定に関する。
【背景技術】
【０００２】
ビデオは、ビデオの獲得、記録、処理、および送信中に生成された雑音によって損なわれることが多い。雑音は、撮像されている対象内に存在しない画像内の輝度または色情報のランダムな変動を指し得る。雑音は、ビデオ圧縮、セグメンテーション、フォーマット変換、動き推定、雑音除去、およびフィルタリングなどの多くのビデオ処理の応用の有効性および性能に影響を与えながらビデオの視覚的な品質を悪化させる。そのようなビデオ処理の応用の結果は、雑音信号についての正確な情報が利用可能であるとき、改善され得る。ビデオ雑音推定の正確さは、信号および雑音処理の分野の重要な構成要素である。
【発明の概要】
【課題を解決するための手段】
【０００３】
以下は、本開示のいくつかの態様の基本的な理解を提供するための本開示の簡潔な概要である。この概要は、本開示の広範囲にわたる全体像ではない。この概要は、本開示の重要なまたは決定的な要素を特定するように意図されておらず、本開示の特定の実装のいかなる範囲または請求項のいかなる範囲を示すようにも意図されていない。この概要の唯一の目的は、後ほど提示されるより詳細な説明に対する前置きとして、本開示のいくつかの概念を簡潔な形態で提示することである。
【０００４】
本開示の態様においては、方法が、ビデオのフレームの各フレームの強度値に関する最適なフレームの雑音の分散を処理デバイスによって決定するステップであって、最適なフレームの雑音の分散が、フレーム内の均質なブロックの強度値の空間的分散と時間的分散との間の決定された関係に基づく、ステップと、ビデオのフレームの最適なフレームの雑音の分散に基づいてビデオに関する最適なビデオの雑音の分散を特定するステップと、ビデオの各フレームに関して、最適なビデオの雑音の分散未満である空間的分散を有するブロックのうちの1つまたは複数を選択するステップであって、1つまたは複数の選択されたブロックが、均質なブロックとしてラベル付けされる、ステップと、ビデオの雑音信号を推定するために選択された均質なブロックを処理デバイスによって利用するステップとを含む。
【０００５】
1つの実装において、ブロックの各々は、フレームのN×Nピクセルを含み、Nは、正の数である。加えて、ブロックの各々は、少なくとも半分重なっている可能性がある。方法は、ビデオの推定された雑音信号を使用するビデオの処理をさらに含み得るし、ビデオを処理することは、ビデオ圧縮、セグメンテーション、フォーマット変換、動き推定、雑音除去、またはフィルタリングのうちの1つまたは複数を含み得る。
【０００６】
1つの実装において、各フレームに関する最適なフレームの雑音の分散を決定するステップは、フレーム内の各ブロックの空間的分散を計算することと、フレーム内の各ブロックの時間的分散を計算することと、空間的分散と時間的分散との間の決定された関係に基づいて、および均質なブロックの間の雑音の共分散が一定の値であるという仮定に基づいて、フレームのブロックの時間的分散の各々を変換された時間的分散に変換することと、フレーム内の空間的分散に第1の関数を適用することであって、第1の関数が、分散値の範囲に対して分散値「x」未満の空間的分散値を有するフレーム内のブロックの空間的分散の平均を与える、適用することと、フレーム内の変換された時間的分散に第2の関数を適用することであって、第2の関数が、分散値の範囲に対して分散値「x」未満の変換された時間的分散を有するフレーム内のブロックの変換された時間的分散の平均を与える、適用することと、適用された第1の関数および適用された第2の関数の交差に基づいてフレームに関する最適なフレームの雑音の分散の値を選択することとをさらに含み得る。
【０００７】
一部の実装において、時間的分散は、フレームの前のおよび後の決定された数のフレームを利用する。加えて、分散値の範囲は、ゼロから、フレームに関する空間的分散および時間的分散の集合の和集合の最大の分散までの分散値を含み得る。1つの実装において、交点は、V(x)の絶対最大値未満であり、V(x)は、分散値xにおける適用された第1の関数と適用された第2の関数との間の差の分散を含む。加えて、各フレームの強度値は、フレーム内のピクセルの数値を含み得るし、数値は、ピクセルのグレーレベル値に対応する。各フレームの強度値は、やはりフレーム内のピクセルの数値を含み得るし、数値は、ピクセルのカラーチャンネル値に対応する。さらに、最適なビデオの雑音の分散は、ビデオの集合のフレームの最適なフレームの雑音の分散の中央値であってもよい。
【０００８】
上述の方法および本明細書において説明される様々な実装の動作を実行するためのコンピューティングデバイスが、開示される。上述の方法および本明細書において説明される様々な実装に関連する動作を実行するための命令を記憶するコンピュータプログラム製品(非一時的コンピュータ可読ストレージ媒体などであるが、通信ネットワークを介して送信される信号などの一時的信号も含む)も、開示される。
【０００９】
本開示の第2の態様においては、(非一時的機械可読ストレージ媒体などの)コンピュータプログラム製品が、実行されるときに処理デバイスに
ビデオのフレーム内の各ブロックに関する強度値の空間的分散を計算する動作と、
フレーム内の各ブロックの強度値に関する時間的分散を計算する動作と、
空間的分散と時間的分散との間の決定された関係に基づいて、およびビデオ内の均質なブロックの間の雑音の共分散が一定の値であるという仮定に基づいて、フレームのブロックの時間的分散の各々を変換された時間的分散に変換する動作と、
フレーム内の空間的分散に第1の関数を適用する動作であって、第1の関数が、分散値の範囲に対して分散値「x」未満の空間的分散値を有するフレーム内のブロックの空間的分散の平均を与える、動作と、
フレーム内の変換された時間的分散に第2の関数を適用することであって、第2の関数が、分散値の範囲に対して分散値「x」未満の変換された時間的分散値を有するフレーム内のブロックの変換された時間的分散の平均を与える、動作と、
適用された第1の関数および適用された第2の関数の交差に基づいてフレームに関する最適なフレームの雑音の分散の値を選択する動作とを含む動作を実行させる命令を記憶する。本発明のこの態様は、代替的に、プロセッサおよび命令を記憶するメモリ(ストレージ媒体)を含むシステムとして、または命令を実行するときにプロセッサによって実行される方法として定義され得る。
【００１０】
本開示の第3の態様においては、システムが、
メモリと、
メモリに結合された処理デバイスとを含み、処理デバイスは、
決定された種類のビデオキャプチャデバイスに対応するビデオの集合の各ビデオに関する最適なビデオの雑音の分散を特定することであって、最適なビデオの雑音の分散が、ビデオの集合のフレームの各々の中の均質なブロックの空間的分散と時間的分散との間の決定された関係に基づく、特定することと、
特定された最適なビデオの雑音の分散に基づいて、決定された種類のビデオキャプチャデバイスに対応する雑音モデルを生成することと、
決定された種類のビデオキャプチャデバイスに関する雑音モデルを記憶することと、
決定された種類のビデオキャプチャデバイスによってキャプチャされたものとして示されるアップロードされたビデオの雑音を除去するために記憶された雑音モデルを適用することとを行うためのものである。本発明のこの態様は、代替的に、処理デバイス(プロセッサ)によって実行されるステップを含む方法として、またはプロセッサによって実装されるときにプロセッサに方法を実行させる命令を記憶する(非一時的コンピュータ可読ストレージ媒体もしくは通信信号などの)コンピュータプログラム製品として定義され得る。
【００１１】
(たとえば、「最適なビデオの雑音の分散」にあるような)用語「最適な」は、本明細書においては、特定された任意の値、特に物理量を表す値を指定するために使用される。その値は、特定の目的に用いるのに最良の値であると信じられ得る。
【００１２】
本開示は、添付の図面の図において例として示され、限定として示されない。
【図面の簡単な説明】
【００１３】
【図１】本開示の実装が実装され得る例示的なネットワークアーキテクチャを示すブロック図である。
【図２】本開示の実装による雑音推定構成要素のブロック図である。
【図３】実装によるビデオのための相互雑音推定のための方法を示す流れ図である。
【図４】実装によるビデオのための相互雑音推定のための別の方法を示す流れ図である。
【図５】実装によるビデオのための相互雑音推定を使用してビデオキャプチャデバイスに関する雑音モデルを生成するための方法を示す流れ図である。
【図６】実装によるコンピュータシステムの1つの実装を示すブロック図である。
【発明を実施するための形態】
【００１４】
ビデオのための相互雑音推定のための本開示の態様および実装が、説明される。ビデオは、ビデオの獲得、記録、処理、および送信中に生成された雑音によって損なわれることが多い。雑音は、記録されている対象内に存在しない画像内の輝度または色情報のランダムな変動を指し得る。特定のビデオ内に存在する雑音の正確な推定は、ビデオ圧縮、セグメンテーション、フォーマット変換、動き推定、雑音除去、およびフィルタリングなどの多くのビデオ処理の応用にとって有用である。ビデオ内に存在する推定された雑音のレベルは、対応するビデオ処理の応用のパラメータをチューニングするために使用され得る。そのようなビデオ処理の応用の結果は、推定された雑音のレベルについての正確な情報が利用可能であるとき、改善され得る。
【００１５】
概して、ビデオ雑音推定システムは、ビデオのビデオフレームの最も強度が均質なブロックを特定する。特定された強度が均質なブロック内のいかなる強度の変動も、雑音であるとみなされる。ビデオフレームのブロックは、フレームのピクセルのサブセットを含むビデオフレームの一部分を指し得る。強度は、ビデオフレーム内のピクセルの数値を指し得る。たとえば、グレースケール画像において、強度は、各ピクセルのグレーレベル値である(たとえば、127は、220よりも暗い)。別の例で、カラー画像において、強度は、カラー画像内の各カラーチャンネル(たとえば、赤、緑、青(RGB)カラーチャンネル)の数値に基づいて決定され得る。本明細書において使用されるとき、用語「均質な」は、単調な見た目(たとえば、テクスチャがなく、ブロック全体を通じて一貫して単色)を有することを指し得る。同様に、強度が均質なブロック(または単に「均質なブロック」)は、ブロックのピクセルの間で強度の値の変動がほとんどもしくは全くないビデオフレームのブロック、または特に、均質なブロックを示す均質さの基準を満たすブロックを指し得る。基準は、閾値未満である均質さを示す均質さのパラメータを有するブロックによって表され得る。
【００１６】
一部の通常のビデオ雑音推定システムは、雑音のレベルを推定するために純粋にビデオの時間的情報に依拠する一方、その他の通常のビデオ雑音推定システムは、純粋に空間的情報に依拠する。さらにその他の通常のビデオ雑音推定システムは、ビデオの時空間領域に依拠する。しかし、概して、通常のビデオ雑音推定システムのすべては、ビデオ内の均質なブロックについての不正確な予め定義された閾値および/または不正確な仮定のどちらかまたは両方に依拠する。不正確な予め定義された閾値の例は、ブロックの上位X%を均質なブロックとして選択することを含み得る。不正確な仮定の例は、上位X個の最も均質なブロックの中央の分散(median variance)を基準の分散として設定して均質なブロックを特定してもよい。
【００１７】
結果として、そのような通常のシステムの正確性は、これらの予め定義された閾値および/または仮定に基づく均質なブロックの選択に拘束される。これは、ビデオ内の雑音の過大評価または過小評価につながり得る。加えて、通常のビデオ雑音推定システムは、さらに、異なる強度を有するビデオフレーム内の領域に関して同じパワー(power)を有するように雑音信号を制約する。雑音が様々な強度および色に関して異なる可能性があるので、通常のビデオ雑音推定システムは、概して、雑音を表すブロックの包括的な組を選択しそこない、不正確な雑音推定につながる。
【００１８】
通常のビデオ雑音推定システムとは異なり、本開示の実装は、決まった閾値および予め定義された雑音モデルの仮定を使用するのではなく、ビデオのフレームの2つの雑音の分散(空間的および時間的)を動的に決定することによって均質なブロックを特定する。本開示の実装のビデオ雑音推定構成要素は、ビデオの各フレーム内の均質な時空間ブロック(均質なブロック)を特定することによってビデオ内の雑音を推定する。
【００１９】
ビデオ雑音推定構成要素は、最初に、ビデオのフレーム内のブロックの強度の空間的分散および時間的分散を決定する。雑音推定構成要素は、それから、フレームに関する最適なフレームの雑音の分散を決定する。最適なフレームの雑音の分散は、ブロックが強度が均質であるときに存在する空間的分散と時間的分散との間の決定された関係に基づく。そして、この最適なフレームの雑音の分散は、ビデオ内の均質なブロックを特定するために利用されてもよく、特定された均質なブロックは、互いに比較されるとき、強度および/または色が変動し得る。これらの均質なブロックは、ビデオの雑音信号を推定するために使用され得る。
【００２０】
本開示の実装は、ブロックが強度が均質であるときに存在する空間的分散と時間的分散との間の決定された関係に基づく最適なフレームの雑音の分散を選択することによって通常のビデオ雑音推定システムに優る技術的な利点を提供する。また、本開示の実装は、ビデオ内の雑音信号をより精密に特定し、抽出するために雑音推定プロセスの効率を高めることによってビデオ雑音推定のための技術的な改善を提供する。本開示の実装によって提供される雑音信号の精密な特定および抽出は、ビデオ処理の応用のためのより正確な雑音推定をもたらし、ビデオのより高い視覚的品質をもたらす。
【００２１】
本開示は、簡単および簡潔にするためにしばしばビデオを参照する。しかし、本開示の教示は、メディアアイテムに広く適用され、たとえば、ビデオ、オーディオ、テキスト、画像、プログラム命令などを含む様々な種類のコンテンツまたはメディアアイテムに適用され得る。
【００２２】
図1は、本開示の1つの実装による例示的なシステムアーキテクチャ100を示す。システムアーキテクチャ100は、クライアントデバイス110Aから110Z、ネットワーク105、データストア106、コンテンツ共有プラットフォーム120、およびサーバ130を含む。1つの実装において、ネットワーク105は、パブリックネットワーク(たとえば、インターネット)、プライベートネットワーク(たとえば、ローカルエリアネットワーク(LAN)もしくは広域ネットワーク(WAN))、有線ネットワーク(たとえば、イーサネット(登録商標)ネットワーク)、ワイヤレスネットワーク(たとえば、802.11ネットワークもしくはWi-Fiネットワーク)、セルラーネットワーク(たとえば、ロングタームエボリューション(LTE)ネットワーク)、ルータ、ハブ、スイッチ、サーバコンピュータ、および/またはこれらの組合せを含み得る。1つの実装において、データストア106は、メモリ(たとえば、ランダムアクセスメモリ)、キャッシュ、ドライブ(たとえば、ハードドライブ)、フラッシュドライブ、データベースシステム、またはデータを記憶することができる別の種類の構成要素もしくはデバイスであってもよい。また、データストア106は、複数のコンピューティングデバイス(たとえば、複数のサーバコンピュータ)に広がる可能性もある複数のストレージ構成要素(たとえば、複数のドライブまたは複数のデータベース)を含み得る。
【００２３】
クライアントデバイス110Aから110Zは、それぞれ、パーソナルコンピュータ(PC)、ラップトップ、モバイル電話、スマートフォン、タブレットコンピュータ、ネットブックコンピュータ、ネットワークに接続されたテレビなどのコンピューティングデバイスを含み得る。一部の実装において、クライアントデバイス110Aから110Zは、「ユーザデバイス」とも称し得る。各クライアントデバイスは、メディアビューア111を含む。1つの実装において、メディアビューア111は、ユーザが画像、ビデオ、ウェブページ、ドキュメントなどのコンテンツを閲覧することを可能にするアプリケーションであってもよい。たとえば、メディアビューア111は、ウェブサーバによって提供されるコンテンツ(たとえば、ハイパーテキストマークアップ言語(HTML)ページなどのウェブページ、デジタルメディアアイテムなど)にアクセスし、それらのコンテンツを取得し、提示し、および/またはナビゲートすることができるウェブブラウザであってもよい。メディアビューア111は、ユーザに対してコンテンツ(たとえば、ウェブページ、メディアビューア)をレンダリングし、表示し、および/または提示し得る。メディアビューア111は、ウェブページ(たとえば、オンライン売買業者によって販売される製品についての情報を提供し得るウェブページ)に埋め込まれる埋め込みメディアプレイヤー(たとえば、Flash(登録商標)プレイヤーまたはHTML5プレイヤー)を表示する可能性もある。別の例において、メディアビューア111は、ユーザがデジタルメディアアイテム(たとえば、デジタルビデオ、デジタル画像、電子ブックなど)を閲覧することを可能にするスタンドアロンのアプリケーション(たとえば、モバイルアプリケーションまたはアプリ)であってもよい。本開示の態様によれば、メディアビューア111は、モバイルデバイスからのライブビデオストリーミングに関する品質およびユーザエクスペリエンスを高めるために集計されたネットワーク統計を利用するためのコンテンツ共有プラットフォームアプリケーションであってもよい。
【００２４】
メディアビューア111は、サーバ130および/またはコンテンツ共有プラットフォーム120によってクライアントデバイス110Aから110Zに提供されてもよい。たとえば、メディアビューア111は、コンテンツ共有プラットフォーム120によって提供されるウェブページに埋め込まれる埋め込みメディアプレイヤーであってもよい。別の例において、メディアビューア111は、サーバ130からダウンロードされるアプリケーションであってもよい。
【００２５】
コンテンツ共有プラットフォーム120によって実行されるものとして1つの実装において説明される機能は、適切な場合、その他の実装においてクライアントデバイス110Aから110Z上で実行される可能性もあることに留意されたい。加えて、特定の構成要素に帰せられる機能が、一緒に動作する異なるまたは複数の構成要素によって実行されてもよい。コンテンツ共有プラットフォーム120は、適切なアプリケーションプログラミングインターフェースを通じてその他のシステムまたはデバイスに提供されるサービスとしてアクセスされる可能性もあり、したがって、ウェブサイトにおける使用に限定されない。
【００２６】
1つの実装において、コンテンツ共有プラットフォーム120は、ユーザにメディアアイテムへのアクセスを提供し、および/もしくはユーザにメディアアイテムを提供するために使用され得る(ラックマウントサーバ、ルータコンピュータ、サーバコンピュータ、パーソナルコンピュータ、メインフレームコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、デスクトップコンピュータなどの)1つもしくは複数のコンピューティングデバイス、データストア(たとえば、ハードディスク、メモリ、データベース)、ネットワーク、ソフトウェア構成要素、ならびに/またはハードウェア構成要素であってもよい。たとえば、コンテンツ共有プラットフォーム120は、ユーザがメディアアイテムを消費し、アップロードし、検索し、賛成し(「いいね!(like)し」)、ひどいね!(dislike)し、および/またはコメントすることを可能にし得る。コンテンツ共有プラットフォーム120は、ユーザにメディアアイテムへのアクセスを提供するために使用され得るウェブサイト(たとえば、ウェブページ)またはアプリケーションバックエンドソフトウェアを含む可能性もある。
【００２７】
本開示の実装において、「ユーザ」は、1人の個人として表されてもよい。しかし、本開示のその他の実装は、ユーザの集合によって制御されるエンティティである「ユーザ」および/または自動化されたソースを包含する。たとえば、ソーシャルネットワーク内のコミュニティとして連合させられた個人ユーザの集合が、「ユーザ」とみなされてもよい。別の例においては、自動化された消費者が、コンテンツ共有プラットフォーム120のトピックチャンネルなどの自動化された摂取パイプライン(ingestion pipeline)であってもよい。
【００２８】
コンテンツ共有プラットフォーム120は、メディアアイテム121などのコンテンツをホストし得る。データコンテンツは、ユーザによって選択されたデジタルコンテンツ、ユーザによって利用可能にされたデジタルコンテンツ、ユーザによってアップロードされたデジタルコンテンツ、コンテンツプロバイダによって選択されたデジタルコンテンツ、放送者によって選択されたデジタルコンテンツなどであってもよい。メディアアイテム121の例は、デジタルビデオ、デジタルムービー、デジタル写真、デジタルミュージック、ウェブサイトコンテンツ、ソーシャルメディアの最新記事、電子ブック(eブック)、電子雑誌、デジタル新聞、デジタルオーディオブック、電子ジャーナル、ウェブブログ、リアルシンプルシンジケーション(RSS:real simple syndication)フィード、電子漫画、ソフトウェアアプリケーションなどを含み得るがこれらに限定されない。一部の実装において、メディアアイテム121は、コンテンツアイテムとも呼ばれる。
【００２９】
メディアアイテム121は、インターネットを介しておよび/またはモバイルデバイスアプリケーションを介して消費されてもよい。簡潔および簡単にするために、オンラインビデオ(以降、ビデオとも呼ばれる)が、本明細書全体を通じてメディアアイテム121の例として使用される。本明細書において使用されるとき、「メディア」、「メディアアイテム」、「オンラインメディアアイテム」、「デジタルメディア」、「デジタルメディアアイテム」、「コンテンツ」、および「コンテンツアイテム」は、エンティティにデジタルメディアアイテムを提示するように構成されたソフトウェア、ファームウェア、またはハードウェアを使用して実行またはロードされ得る電子ファイルを含み得る。1つの実装において、コンテンツ共有プラットフォーム120は、データストア106を使用してメディアアイテム121を記憶し得る。
【００３０】
1つの実装において、サーバ130は、1つまたは複数のコンピューティングデバイス(たとえば、ラックマウントサーバ、サーバコンピュータなど)であってもよい。1つの実装において、サーバ130は、コンテンツ共有プラットフォーム120に含まれ得る。例として、クライアントデバイス110A〜110Zのユーザは、それぞれ、データストア106に記憶された1つまたは複数のビデオをダウンロードおよび/またはストリーミングするためにネットワーク105を介してサーバ130に要求を送信し得る。加えて、クライアントデバイス110A〜110Zのユーザは、クライアントデバイス110A〜110Zに記憶されたおよび/またはクライアントデバイス110A〜110Zにおいてキャプチャされた1つまたは複数のビデオをサーバ130にアップロードするためにネットワーク105を介してサーバ130に要求をさらに送信し得る。
【００３１】
本開示の実装において、サーバ130は、雑音推定構成要素140を含み得る。雑音推定構成要素140は、ビデオから雑音信号を抽出し、ビデオの雑音のレベルを推定する。ビデオ内の雑音を抽出し、推定するために、雑音推定構成要素140は、ビデオの各フレーム内の均質な時空間ブロック(本明細書においては均質なブロックとも呼ばれる)を特定し得る。上で検討されたように、用語「均質な」は、単調な見た目(すなわちテクスチャがなく、ブロック全体を通じて一貫して単色)を有することを指し得る。均質なブロックは、ビデオのフレームに関する空間的および時間的分散に関する2つの雑音の等式を解くことによって発見される。雑音推定構成要素140は、ビデオ内の均質なブロックに関して存在する空間的な雑音の分散と時間的な雑音の分散との間の設定された関係を与える構成されたパラメータに基づいてビデオに関する雑音推定を提供する。さらに、雑音推定構成要素140は、変動する強度および色を有するビデオのフレーム内のブロックを考慮に入れる。
【００３２】
一部の実装において、サーバ130の雑音推定構成要素140は、モバイルデバイスからのライブビデオストリーミングに関する品質およびユーザエクスペリエンスを高めるために集計されたネットワーク統計を利用することを提供するためにコンテンツ共有プラットフォーム120とインタラクションし得る。別々の構成要素として示され、説明されるが、雑音推定構成要素140は、サーバ130および/またはコンテンツ共有プラットフォーム120の単一の構成要素として実装されてもよい。雑音推定構成要素140ならびにその特定の機能のさらなる説明が、図2に関連して下でより詳細に記載される。
【００３３】
本開示の実装がコンテンツ共有プラットフォームとコンテンツ共有プラットフォームにアップロードされたビデオのための相互雑音推定との観点で検討されるが、実装は、概して、ユーザの間のつながりを提供する任意の種類のソーシャルネットワークにも適用され得る。本開示の実装は、チャンネルの講読をユーザに提供するコンテンツ共有プラットフォームに限定されない。
【００３４】
本明細書において検討されたシステムがユーザについての個人情報を収集する(たとえば、メディアビューア111からのネットワーク統計の収集、ネットワーク接続性データの収集など)かまたは個人情報を利用し得る状況において、ユーザは、コンテンツ共有プラットフォーム120がユーザ情報(たとえば、ユーザのソーシャルネットワーク、ソーシャルな行為もしくは活動、職業、ユーザの好み、またはユーザの現在の位置についての情報)を収集するかどうかを制御するか、あるいはユーザにより関連性があってもよいコンテンツをコンテンツ共有ユーザ120から受信すべきかどうかおよび/またはどのようにして受信すべきかを制御する機会を与えられ得る。加えて、特定のデータが、個人を特定できる情報が削除されるように、記憶されるかまたは使用される前に1つまたは複数の方法で処理されてもよい。たとえば、ユーザの識別情報が、個人を特定できる情報がユーザに関して決定され得ないか、または位置情報が取得される場合にユーザの地理的な位置が(都市、郵便番号、もしくは州のレベルなどに)一般化されてもよく、したがって、ユーザの特定の位置が決定され得ないように処理されてもよい。したがって、ユーザは、どのようにして情報がユーザについて収集され、コンテンツ共有プラットフォーム120によって使用されるのかを制御することができ得る。
【００３５】
図2は、本開示の1つの実装による雑音推定構成要素140を示すブロック図である。上で検討されたように、雑音推定構成要素140は、単一のソーシャルネットワークとインタラクションし得るし、または複数のソーシャルネットワークの間で利用され(たとえば、その他の第三者のソーシャルネットワークによって利用されるコンテンツ共有プラットフォームのサービスとして提供され)得る。
【００３６】
1つの実装において、雑音推定構成要素140は、フレーム分割器210、空間的分散決定器220、時間的分散決定器230、雑音共分散構成要素240、時間的分散変換器250、平均分散決定器260、最適雑音分散決定器270、均質ブロック特定器280、およびデバイスタイプ雑音モデル構成要素290を含む。より多くのまたはより少ない構成要素が、一般性を損なうことなく雑音推定構成要素140に含まれ得る。たとえば、モジュールのうちの2つが、単一のモジュールへと組み合わされてもよく、またはモジュールのうちの1つが、2つ以上のモジュールへと分割されてもよい。1つの実装においては、モジュールのうちの1つまたは複数が、異なるコンピューティングデバイス上に(たとえば、異なるサーバコンピュータ、単一のクライアントデバイス上、または複数のクライアントデバイスの間に分散されるなど)存在し得る。さらに、モジュールのうちの1つまたは複数は、異なるコンテンツ共有プラットフォーム、第三者のソーシャルネットワーク、および/または外部サーバ上に存在し得る。
【００３７】
雑音推定構成要素140は、データストア106に通信可能なように結合される。たとえば、雑音推定構成要素140は、ネットワークを介して(たとえば、図1に示されたようにネットワーク105を介して)データストア106に結合されてもよい。データストア106は、メモリ(たとえば、ランダムアクセスメモリ)、キャッシュ、ドライブ(たとえば、ハードドライブ)、フラッシュドライブ、データベースシステム、またはデータを記憶することができる別の種類の構成要素もしくはデバイスであってもよい。また、データストア106は、複数のコンピューティングデバイス(たとえば、複数のサーバコンピュータ)に広がる可能性もある複数のストレージ構成要素(たとえば、複数のドライブまたは複数のデータベース)を含み得る。データストア106は、メディアアイテムデータ290、雑音推定データ291、およびデバイスタイプ雑音モデルデータ292を含む。
【００３８】
上で検討されたように、雑音推定構成要素140は、ビデオから雑音信号を抽出し、ビデオの雑音のレベルを推定し得る。ビデオ内の雑音を抽出し、推定するために、雑音推定構成要素140は、ビデオの各フレーム内の均質な時空間ブロック(均質なブロック)を特定し得る。
【００３９】
時空間均質ブロックを特定するために、雑音推定構成要素140は、ビデオのビデオフレームをブロックへと分割するためのフレーム分割器210をまず呼び出す。It(x, y)(本明細書においてはI(x, y, t)とも呼ばれる)がビデオ内のフレーム「t」の強度画像であると仮定する。強度画像(強度)は、画像内の位置(x, y)のピクセルに対応する数値を指し得る。たとえば、グレースケール画像において、強度は、各ピクセルのグレーレベル値である(たとえば、127は、220よりも暗い)。別の例で、カラー画像において、強度は、カラー画像内の各カラーチャンネル(たとえば、赤、緑、青(RGB)カラーチャンネル)の数値に基づいて決定され得る。ビデオは、メディアアイテムデータ290としてデータストア106に記憶されてもよい。雑音推定構成要素140は、フレームt内の雑音信号を含む単調な/均質なブロックを特定するための雑音推定プロセスを実行する。
【００４０】
ブロックは、N×Nピクセルのサイズの半分重なったブロックである可能性があり(たとえば、フレームの第1のブロック内のピクセルの半分がフレームの第2のブロックのメンバーでもあるなど)、Nは、正の数である。たとえば、1920×1080のビデオに関して、Nは、32に等しくてもよい。フレーム「t」の半分重なったブロック「B」の例示的な表現は、次の通りであってもよい。
Bt (u, v, xi, yi) = It ((u * N)/2 + xi, (v * N)/2 + yi);
ここで、xi、yiは、集合[0, ..., N - 1]の要素であり、
u、vは、フレーム「t」内のブロック「B」の相対的な位置を示すインデックスである(たとえば、フレーム「t」内にZ個のブロックがあると仮定すると、u、vは集合[0, ..., Z-1]の要素である)。
【００４１】
フレームのあらゆるブロックに関して、空間的分散決定器220は、ブロックの空間的分散を計算する。ブロックの空間的分散は、ブロックのピクセルの強度の分散である。1つの実装において、ブロックの空間的分散は、次の通り計算され得る。
Varspatial(Bt (u, v, xi, yi)) = Var(Bt (u, v, xi, yi))
ここで、
【数１】
2019524000.tif 000003
であり、
【数２】
2019524000.tif 000004
である。
【００４２】
E(.)は、集合の平均値を返す。フレームt内の各ブロックBの空間的分散が、集合Spに収集されてもよい。
【００４３】
時間的分散決定器230は、フレームt内のあらゆるブロックBに関して、空間的分散とは別に時間的分散も計算する。ブロックの時間的分散は、フレームtの前および後のM個のフレームを使用して時間的分散決定器230によって計算される。前のフレームは、z=1,...,Mに対してI(x,y,t-z)であり、次のフレームは、z=1,...,Mに対してI(x,y,t+z)である。1つの実装において、ブロックの時間的分散は、次の通り計算され得る。
【００４４】
【数３】
2019524000.tif 000005
ここで、
【数４】
2019524000.tif 000006
である。
【００４５】
1つの実装においては、前のおよび次のフレームをフレームI(x,y,t)に射影するために動き補償アルゴリズムが適用される。そして、時間的分散が、z=t-M,...,t+Mに対するすべての動き補償されたフレームI(x,y,z)(合計で2M+1個のフレーム)上の各ピクセルに関して計算される。結果として得られるフレームは、D(x,y)と称し得る。D(x,y)の分散が、あらゆるブロックBに関して計算され、集合Stに加えられる。
【００４６】
雑音共分散構成要素240は、本開示の実装の雑音推定を実行するとき、雑音推定構成要素140が準拠すべき条件を確立する。理論的には、上述のようにして計算され、SpおよびStに収集された空間的および時間的分散は、次の式を確立する。
s = Var(I(x,y,t))、ここで、(x,y)は、フレーム内のブロックを表し、
【数５】
2019524000.tif 000007
ここで、sおよびtは、空間的および時間的雑音のパワーであり、Var(.)は、分散の関数であり、
【数６】
2019524000.tif 000008
は、2つのそれぞれの異なるフレーム内の2つの対応するブロックに関して計算された雑音の共分散である。
【００４７】
したがって、雑音共分散構成要素240は、雑音の共分散が決まっている(白色雑音に関して0であり、相関のある雑音に関して非ゼロである定数)と仮定されるという条件を確立する。結果として、均質なブロックは、次の等式を満たすべきである。
【００４８】
【数７】
2019524000.tif 000009
【００４９】
換言すれば、最大の雑音のパワーがvである場合、均質なブロックの空間的雑音のパワーは、v未満であると期待され、均質なブロックに関して計算された雑音の共分散
【数８】
2019524000.tif 000010
は一定の値であると仮定される。雑音共分散構成要素240は、均質なブロックの空間的および時間的分散が上述の関係に従うと期待されるように雑音推定構成要素140のパラメータを構成し得る。
【００５０】
雑音共分散構成要素240によって条件を確立することによって、均質なブロックが、下の説明に従って検出され得る。最初の問題として、時間的分散変換器250は、雑音の共分散をゼロに設定し、集合St内の時間的な雑音の分散tのすべてを
(2M+1) * t / 2M
に設定する。
【００５１】
時間的分散変換器250によって実行される変換は、上述の均質なブロックに関する空間的分散と時間的分散との間の決定された関係に基づく。
【００５２】
そして、平均分散決定器260は、最大の雑音のパワーx(0から集合SpおよびStの和集合の最大の分散までの範囲内にある)を入力にとり、x未満である(Spに収集された)空間的分散を有するそれらのブロックの空間的分散の平均を返す関数Ps(x)を定義する。同様に、平均分散決定器260は、最大の雑音のパワーxを入力にとり、x未満である(Stに収集された)時間的分散を有するそれらのブロックの変換された時間的分散の平均を返す関数Pt(x)を定義する。
【００５３】
それから、最適雑音分散決定器270は、フレームに関する最適な雑音の分散を特定する。雑音共分散構成要素240によって確立された条件に基づいて、均質なブロックの空間的な雑音の分散と変換された時間的な雑音の分散との間の差は、実際の最大の雑音のパワーvに関して一定の値であるはずである。したがって、0からvまでの2つの関数Ps(x)およびPt(x)上のあらゆる対応する点の間の距離は、決まっていると期待される。これは、0からvまでの点の(Ps(x)-Pt(x))の分散がゼロに近いはずであることを意味する。y = 0からxに対して、平均関数は、E(x) = (Ps(y)-Pt(y))として定義されてもよく、分散関数は、V(x) = Var (Ps(y)-Pt(y))として定義されてもよい。ここで、E(x)は、雑音のパワーxにおける推定された雑音の共分散
【数９】
2019524000.tif 000011
を決定する。
【００５４】
その後、最適雑音分散決定器270は、vが、
(1)V(x)上の絶対最大値未満であり、
(2)Ps(x)と(Pt(x)+(x))との間の交点であり、
(3)V(v)が0に近い(たとえば、絶対最大値におけるV(x)の閾値の割合未満、たとえば、絶対最大値におけるV(x)の5%未満であるはずである)
ように実際の雑音のパワー(分散)v(本明細書においては最適なフレームの雑音の分散と呼ばれる)を特定し得る。
【００５５】
ビデオの各フレームに関する最適なフレームの雑音の分散を決定した後、最適雑音分散決定器270は、ビデオの最適な最大の雑音のパワー(本明細書においては最適なビデオの雑音の分散とも呼ばれる)を特定することができる。1つの実装において、最適なビデオの雑音の分散は、ビデオのフレームの各々に関して決定された最適なフレームの雑音の分散のすべての中央値である。
【００５６】
ビデオの最適なビデオの雑音の分散を使用して、均質ブロック特定器280は、最適なビデオの雑音の分散未満の空間的分散を有するそれらのブロックを均質なブロックとして選択し得る。特定された均質なブロックは、ビデオの雑音信号推定のために利用され得る。
【００５７】
1つの実装において、各フレームの最適なフレームの雑音の分散ならびにビデオの最適なビデオの雑音の分散は、雑音推定データ291としてデータストア106に記憶され得る。雑音推定構成要素140によって実行されるような上述の雑音推定プロセスは、異なるビデオキャプチャデバイスによってキャプチャされた(たとえば、データストア106のメディアアイテムデータ290として記憶された)ビデオの集合に関する雑音を推定するために使用され得る。各種類のビデオキャプチャデバイスは、一意の雑音の特徴および/または一意の雑音モデルを有し得る。デバイスタイプ雑音モデル構成要素290は、各種類のビデオキャプチャデバイスに関する雑音モデルを抽出し、生成するために記憶された雑音推定データ291を分析し得る。その後、各種類のビデオキャプチャデバイスに関するデバイス雑音モデルは、特定のビデオキャプチャデバイスによってアップロードされたビデオに対して適用されるビデオ処理の応用(たとえば、雑音除去)において利用され得る。
【００５８】
図3は、本開示のいくつかの実装によるビデオのための相互雑音推定のための方法300を示す流れ図である。方法300は、ハードウェア(たとえば、回路、専用論理、プログラミング可能な論理、マイクロコードなど)、ソフトウェア(たとえば、ハードウェアのシミュレーションを実行するために処理デバイス上で実行される命令)、またはこれらの組合せを含む処理論理によって実行され得る。
【００５９】
説明を簡単にするために、本開示の方法は、一連の行為として示され、説明される。しかし、本開示による行為は、様々な順序でおよび/または同時に、ならびに本明細書において提示および説明されないその他の行為とともに行われ得る。さらに、開示される主題による方法を実装するために、示されるすべての行為が必要とされるわけではなくてもよい。加えて、当業者は、方法が、代替的に状態図による一連の相互に関連した状態またはイベントとして表されてもよいことを理解し、認識するに違いない。その上、本明細書において開示される方法は、そのような方法をコンピューティングデバイスに運び、転送することを容易にするための製品に記憶され得ることを認識されたい。本明細書において使用される用語「製品」は、任意のコンピュータ可読デバイスまたはストレージ媒体からアクセス可能なコンピュータプログラムを包含するように意図される。1つの実装において、方法300は、図2に示されるように雑音推定構成要素140によって実行され得る。
【００６０】
方法300は、ビデオの各フレームに関して、フレーム内の均質なブロックの空間的分散と時間的分散との間の決定された関係に基づいて最適なフレームの雑音の分散の値が決定されるブロック310において始まる。それから、ブロック320において、ビデオに関する最適なビデオの雑音の分散が、ビデオの最適なフレームの雑音の分散に基づいて特定される。最適なフレームの雑音の分散は、上述のようにブロック310において決定された最適なフレームの雑音の分散である。1つの実装において、最適なビデオの雑音の分散は、ビデオ内のフレームの最適なフレームの雑音の分散の中央値である。
【００６１】
その後、ブロック330において、ビデオの各フレームに関して、最適なビデオの雑音の分散未満である空間的分散を有するブロックが選択される。1つの実装において、これらの選択されたブロックは、ビデオの均質なブロックとみなされる。最後に、ブロック340において、選択された均質なブロックが、ビデオに関する雑音信号を推定するために利用される。1つの実装においては、推定された雑音信号が、ビデオの処理において使用される。処理は、いくつか例を挙げるとすれば、ビデオ圧縮、セグメンテーション、フォーマット変換、動き推定、雑音除去、および/またはフィルタリングを含み得るがこれらに限定されない。
【００６２】
図4は、本開示の実装によるビデオのための相互雑音推定のための別の方法400を示す流れ図である。方法400は、ハードウェア(たとえば、回路、専用論理、プログラミング可能な論理、マイクロコードなど)、ソフトウェア(たとえば、ハードウェアのシミュレーションを実行するために処理デバイス上で実行される命令)、またはこれらの組合せを含む処理論理によって実行され得る。1つの実装において、方法400は、図2に示されるような雑音推定構成要素140によって実行され得る。
【００６３】
方法400は、ビデオのフレームがピクセルの等しいサイズのブロックに分割されるブロック410において始まる。1つの実装において、ブロックは、半分重なったブロックである。ブロック420において、各ブロックに関して、強度の空間的分散が、ブロックに関して計算される。それから、ブロック430において、各ブロックに関して、強度の時間的分散が、ブロックに関して計算される。1つの実装においては、フレームの前のおよび後の決められた数のフレームが、ブロックの時間的分散を計算する際に利用される。
【００６４】
その後、ブロック440において、各フレームに関して、フレームのブロックの時間的分散が、変換される。1つの実装において、時間的分散は、空間的分散と時間的分散との間の構成された関係に基づいて、およびフレーム内の均質なブロックに関してゼロの共分散値が存在するという仮定に基づいて変換される。
【００６５】
ブロック450において、各フレームに関して、空間的分散の平均を与えるために第1の関数が適用される。空間的分散の平均は、0から最大の分散までの分散値の範囲に対して分散値「x」未満の空間的分散を有するブロック上で計算される。最大の分散は、ブロック420および430において計算された空間的分散および時間的分散の集合の和集合におけるものである。
【００６６】
ブロック460において、各フレームに関して、ブロック440からの変換された時間的分散の平均を与えるために第2の関数が適用される。変換された時間的分散の平均は、0から最大の分散までの分散値の範囲に対して分散値「x」未満の変換された時間的分散を有するブロック上で計算される。最大の分散は、ブロック420および430において計算された空間的分散および時間的分散の集合の和集合におけるものである。
【００６７】
その後、ブロック470において、各フレームに関して、最適なフレームの雑音の分散が、適用された第1の関数および適用された第2の関数の交差に基づいて特定される。1つの実装において、交点は、V(x)の絶対最大値未満であり、V(x)は、第1の関数と第2の関数との間の差の分散である。最後に、ブロック480において、ビデオに関する最適なビデオの雑音の分散が、(ブロック470において特定された)ビデオのフレームの特定された最適なフレームの雑音の分散の中間値として特定される。
【００６８】
1つの実装において、最適なビデオの雑音の分散は、ビデオ内の均質なブロックを選択し、ビデオに関する雑音信号を推定するために使用されてもよく、雑音信号は、ビデオの処理において使用される。1つの実装において、処理は、いくつか例を挙げるとすれば、ビデオ圧縮、セグメンテーション、フォーマット変換、動き推定、雑音除去、および/またはフィルタリングを含み得る。
【００６９】
図5は、本開示の実装によるビデオのための相互雑音推定を使用してビデオキャプチャデバイスに関する雑音モデルを生成するための方法500を示す流れ図である。方法500は、ハードウェア(たとえば、回路、専用論理、プログラミング可能な論理、マイクロコードなど)、ソフトウェア(たとえば、ハードウェアのシミュレーションを実行するために処理デバイス上で実行される命令)、またはこれらの組合せを含む処理論理によって実行され得る。1つの実装において、方法500は、図2に示されるような雑音推定構成要素140によって実行され得る。
【００７０】
方法500は、決定された種類のビデオキャプチャデバイスに対応するビデオの集合の各ビデオに関して最適なビデオの雑音の分散が特定されるブロック510において始まる。1つの実装において、最適なビデオの雑音の分散は、ビデオのフレームの最適なフレームの雑音の分散の中央値である。最適なフレームの雑音の分散は、フレームの各々の中のブロックの空間的分散と時間的分散との間の決定された関係に基づく。
【００７１】
ブロック520において、ビデオの特定された最適なビデオの雑音の分散に基づいて、決定された種類のビデオキャプチャデバイスに対応する雑音モデルが生成される。その後、ブロック530において、決定された種類のビデオキャプチャデバイスに関する雑音モデルが記憶される。最後に、ブロック540において、記憶された雑音モデルが、決定された種類のビデオキャプチャデバイスによってキャプチャされたものとして示される1つまたは複数のアップロードされたビデオの雑音を除去するために適用される。
【００７２】
図6は、本明細書において検討される方法のうちのいずれか1つまたは複数をマシンに実行させるための1組の命令が実行され得るコンピュータシステム600の例示的な形態のマシンの図を示す。代替的な実装において、マシンは、ローカルエリアネットワーク(LAN)、イントラネット、エクストラネット、またはインターネット内のその他のマシンに接続され(たとえば、ネットワーク接続され)得る。マシンは、クライアント-サーバネットワーク環境内のサーバもしくはクライアントマシンの能力内で、またはピアツーピア(もしくは分散型)ネットワーク環境内のピアマシンとして動作し得る。マシンは、パーソナルコンピュータ(PC)、タブレットPC、セットトップボックス(STB)、携帯情報端末(PDA)、セルラー電話、ウェブアプライアンス、サーバ、ネットワークルータ、スイッチもしくはブリッジ、またはそのマシンによって行われるべき行為を指定する(逐次的もしくはその他の)命令の組を実行することができる任意のマシンであってもよい。
【００７３】
さらに、単一のマシンだけが示されているが、用語「マシン」は、本明細書において検討された方法のうちのいずれか1つまたは複数を実行するための命令の1つの組(または複数の組)を個々にまたは連携して実行するマシンの任意の集合を含むとやはり受け取られる。1つの実装において、コンピュータシステム600は、図1および図2に関連して説明されたように雑音推定構成要素140を実行するサーバデバイス102などのサーバデバイスを表し得る。別の実装において、コンピュータシステム600は、クライアントデバイス110A〜110Zなどのクライアントデバイスを表し得る。
【００７４】
例示的なコンピュータシステム600は、バス630を介して互いに通信する処理デバイス602、メインメモリ604(たとえば、読み出し専用メモリ(ROM)、フラッシュメモリ、ダイナミックランダムアクセスメモリ(DRAM)(同期DRAM(SDRAM)またはRambus DRAM(RDRAM)など)、スタティックメモリ606(たとえば、フラッシュメモリ、スタティックランダムアクセスメモリ(SRAM)など)、およびデータストレージデバイス618を含む。本明細書において説明される様々なバスを介して提供される信号のいずれかは、その他の信号と時間多重化され、1つまたは複数のよくあるバスを介して提供される。加えて、回路構成要素またはブロックの間の相互接続が、バスとしてまたは単一の信号線として示されてもよい。バスの各々は、代替的に、1つまたは複数の単一の信号線であってもよく、単一の信号線の各々は、代替的に、バスであってもよい。
【００７５】
処理デバイス602は、マイクロプロセッサ、中央演算処理装置などの1つまたは複数の汎用処理デバイスを表す。より詳細には、処理デバイスは、複合命令セットコンピューティング(CISC)マイクロプロセッサ、縮小命令セットコンピュータ(RISC)マイクロプロセッサ、超長命令語(VLIW)マイクロプロセッサ、またはその他の命令セットを実装するプロセッサ、または命令セットの組合せを実装するプロセッサであってもよい。処理デバイス602は、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、デジタル信号プロセッサ(DSP)、ネットワークプロセッサなどの1つまたは複数の専用処理デバイスである可能性もある。処理デバイス602は、本明細書において検討された動作およびステップを実行するための処理論理626を実行するように構成される。
【００７６】
コンピュータシステム600は、ネットワークインターフェースデバイス608をさらに含み得る。コンピュータシステム600は、ビデオディスプレイユニット610(たとえば、液晶ディスプレイ(LCD)またはブラウン管(CRT))、英数字入力デバイス612(たとえば、キーボード)、カーソル制御デバイス614(たとえば、マウス)、および信号生成デバイス616(たとえば、スピーカ)も含み得る。
【００７７】
データストレージデバイス618は、本明細書において説明された機能の方法のうちの任意の1つまたは複数を具現化する命令622(たとえば、ソフトウェア)の1つまたは複数の組が記憶されるコンピュータ可読ストレージ媒体628(機械可読ストレージ媒体とも呼ばれる)を含み得る。命令622は、コンピュータシステム600によるそれらの命令622の実行中にメインメモリ604内におよび/または処理デバイス602内に完全にまたは少なくとも部分的に存在する可能性もあり、また、メインメモリ604および処理デバイス602は、機械可読ストレージ媒体を成す。命令622は、ネットワークインターフェースデバイス608を介してネットワーク620上でさらに送信または受信されてもよい。
【００７８】
コンピュータ可読ストレージ媒体628は、本明細書において説明されたようにビデオのための相互雑音推定のための方法を実行するための命令を記憶するために使用される可能性もある。コンピュータ可読ストレージ媒体628は例示的な実装においては単一の媒体であるように示されているが、用語「機械可読ストレージ媒体」は、命令の1つまたは複数の組を記憶する単一の媒体または複数の媒体(たとえば、集中型のもしくは分散型のデータベース、ならびに/または関連するキャッシュおよびサーバ)を含むものと受け取られるべきである。機械可読媒体は、機械(たとえば、コンピュータ)によって読み取り可能な形態(たとえば、ソフトウェア、処理アプリケーション)で情報を記憶するための任意のメカニズムを含む。機械可読媒体は、磁気ストレージ媒体(たとえば、フロッピーディスケット)、光ストレージ媒体(たとえば、CD-ROM)、光磁気ストレージ媒体、読み出し専用メモリ(ROM)、ランダムアクセスメモリ(RAM)、消去可能なプログラマブルメモリ(たとえば、EPROMおよびEEPROM)、フラッシュメモリ、または電子的な命令を記憶するのに好適な別の種類の媒体を含み得るがこれらに限定されない。
【００７９】
上述の説明は、本開示のいくつかの実装の深い理解を与えるために、特定のシステム、構成要素、方法などの例などの多数の特定の詳細を記載する。しかし、本開示の少なくとも一部の実装がこれらの特定の詳細なしに実践され得ることは、当業者に明らかであるに違いない。その他の場合、よく知られている構成要素または方法は、本開示を不必要に曖昧にすることを避けるために詳細に説明されないかまたは単純なブロック図に提示される。したがって、記載された特定の詳細は、例示的であるに過ぎない。特定の実装は、これらの例示的な詳細とは異なり、なおも本開示の範囲内にあることが企図されてもよい。
【００８０】
本明細書全体を通じた「1つの実装」または「実装」への言及は、実装に関連して説明された特定の特徴、構造、または特性が少なくとも1つの実装に含まれることを意味する。したがって、語句「1つの実装において」または「実装において」が本明細書全体を通じて様々な箇所に現れることは、必ずしもすべて同じ実装を指すものではない。加えて、用語「または(or)」は、排他的な「または(or)」ではなく包含的な「または(or)」を意味するように意図される。
【００８１】
本明細書の方法の動作は特定の順序で示され、説明されているが、各方法の動作の順序は、特定の動作が逆順に実行され得るようにまたは特定の動作が少なくとも部分的にその他の動作と同時に実行され得るように変更されてもよい。別の実装において、異なる動作の命令または下位動作は、間欠的であるおよび/または交互に変わり得る。
【符号の説明】
【００８２】
100  システムアーキテクチャ
102  サーバデバイス
105  ネットワーク
106  データストア
110A〜110Z  クライアントデバイス
111  メディアビューア
120  コンテンツ共有プラットフォーム
121  メディアアイテム
130  サーバ
140  雑音推定構成要素
210  フレーム分割器
220  空間的分散決定器
230  時間的分散決定器
240  雑音共分散構成要素
250  時間的分散変換器
260  平均分散決定器
270  最適雑音分散決定器
280  均質ブロック特定器
290  デバイスタイプ雑音モデル構成要素、メディアアイテムデータ
291  雑音推定データ
292  デバイスタイプ雑音モデルデータ
300  方法
400  方法
500  方法
600  コンピュータシステム
602  処理デバイス
604  メインメモリ
606  スタティックメモリ
608  ネットワークインターフェースデバイス
610  ビデオディスプレイユニット
612  英数字入力デバイス
614  カーソル制御デバイス
616  信号生成デバイス
618  データストレージデバイス
620  ネットワーク
622  命令
626  処理論理
628  コンピュータ可読ストレージ媒体
630  バス
【図１】
2019524000.tif 000012
【図２】
2019524000.tif 000013
【図３】
2019524000.tif 000014
【図４】
2019524000.tif 000015
【図５】
2019524000.tif 000016
【図６】
2019524000.tif 000017
【国際調査報告】
2019524000.tif 000018
2019524000.tif 000019