(57)【要約】  本発明は、マルチメディアデータを処理するデバイスおよび方法を含む。このような方法は、複数のビデオフレーム中の、選択されたフレームと、近接したフレームに対する差を示す少なくとも１つのメトリックを取得することと、少なくとも１つのメトリックに基づいて、選択されたフレーム中のショットイベントを決定することと、ショットイベントに基づいて、選択されたフレームを適応的にエンコードすることとを含み、メトリックは、双方向の動き情報と輝度差情報とを含む。【選択図】      図２
2009512400.tif 000002
【特許請求の範囲】
【請求項１】
マルチメディアデータを処理する方法において、
前記方法は、
複数のビデオフレーム中の、選択されたフレームと、前記選択されたフレームに時間的に近接したフレームとの間の差を示す少なくとも１つのメトリックを取得することと、
前記少なくとも１つのメトリックに基づいて、前記選択されたフレームに関係付けられたショットイベントを決定することと、
前記ショットイベントに基づいて、前記選択されたフレームを適応的にエンコードすることとを含み、
前記少なくとも１つのメトリックは、前記選択されたフレームと、前記選択されたフレームに時間的に近接したフレームとに関係付けられた、双方向の動き情報と輝度差情報とを含む方法。
【請求項２】
少なくとも１つのメトリックを取得することは、前記少なくとも１つのメトリックを計算することを含む請求項１記載の方法。
【請求項３】
前記ショットイベントは、前記選択されたフレームが、急なシーン変化であることを示し、適応的にエンコードすることは、前記選択されたフレームをＩフレームとしてエンコードすることを含む請求項１記載の方法。
【請求項４】
前記ショットイベントは、前記選択されたフレームが、遅いシーン変化を含んでいる複数のフレームの一部であることを示し、適応的にエンコードすることは、前記選択されたフレームを、ＰフレームまたはＢフレームのいずれかとしてエンコードすることを含む請求項１記載の方法。
【請求項５】
前記ショットイベントは、前記選択されたフレームが、少なくとも１つのカメラのフラッシュライトを含むことを示し、適応的にエンコードすることは、前記選択されたフレームを、特別な処理を必要とするものとして識別し、エンコードすることを含む請求項１記載の方法。
【請求項６】
前記特別な処理は、前記選択されたフレームがエンコードされないように、前記選択されたフレームをスキップすることを含む請求項５記載の方法。
【請求項７】
前記特別な処理は、前記選択されたフレームに時間的に近接したフレームを複製することと、前記複製されたフレームを前記選択されたフレームの代わりに用いることとを含む請求項５記載の方法。
【請求項８】
前記ショットイベントは、前記選択されたフレームが、急なシーン変化、遅いシーン変化の一部、または少なくとも１つのカメラのフラッシュライトを含んでいることを示す請求項１記載の方法。
【請求項９】
前記選択されたフレームが、急なシーン変化、遅いシーン変化の一部、または少なくとも１つのカメラのフラッシュライトを含むことを前記ショットイベントが示さない場合、適応的にエンコードすることは、前記選択されたフレームをＩフレームとしてエンコードすることを含む請求項１記載の方法。
【請求項１０】
前記選択されたフレームが、急なシーン変化、遅いシーン変化の一部、または少なくとも１つのカメラのフラッシュライトを含むことを前記ショットイベントが示さない場合、適応的にエンコードすることは、前記選択されたフレームをドロップすることを含む請求項１記載の方法。
【請求項１１】
前記少なくとも１つのメトリックは、フレーム差のメトリックを含み、ショットイベントを決定することは、前記フレーム差のメットリックが、第１のしきい値Ｔ1より大きい場合に、前記選択されたフレームが、急なシーンであると決定することを含む請求項１記載の方法。
【請求項１２】
前記選択されたフレームに対する前記フレーム差のメトリックは、第１の差のメトリックと、第２の差のメトリックとの比に基づいており、前記第１の差のメトリックは、前記選択されたフレームと前の時間的に近接したフレームとの間の差と、前記選択されたフレームと次の時間的に近接したフレームとの間の差との比を含み、前記第２の差のメトリックは、前記前のフレームとそれに時間的に近接した前のフレームとの間の差と、前記前のフレームと前記選択されたフレームとの間の差との比を含む請求項１１記載の方法。
【請求項１３】
前記選択されたフレームに対する前記フレーム差のメトリックは、γCとγPとの比を含み、ここでγCは、前記現在の選択されたフレームに対する、前方向と後方向との、差のメトリックの比であり、γPは、前記現在の選択されたフレームに対して、時間的に近接した前のフレームに対する、前方向と後方向との、差のメトリックの比である請求項１１記載の方法。
【請求項１４】
前記フレーム差のメトリックは、前記選択されたフレームに対して時間的に前のフレームと、前記選択されたフレームとに関係付けられた輝度ヒストグラムの差に基づいている請求項１１記載の方法。
【請求項１５】
前記選択されたフレームが、急なシーン変化であると決定されず、かつ、前記選択されたフレームと、近接したフレームとの間の差が、前記第１のしきい値Ｔ1より小さく、かつ、第２のしきい値Ｔ2より大きいかまたは等しいことを前記フレーム差のメトリックが示す場合、ショットイベントを決定することは、前記選択されたフレームが遅いシーン変化の一部であると決定することを含む請求項１１記載の方法。
【請求項１６】
前記ショットイベントを決定することは、
前記選択されたフレームと、前記選択されたフレームに時間的に近接した前のフレームと、前記選択されたフレームに時間的に近接した次のフレームとの平均輝度を決定することと、
前記選択されたフレームが、急なフレームまたは遅い変化のフレームであると決定されず、前記選択されたフレームに時間的に近接した前のフレームの平均輝度を引いた、前記選択されたフレームの平均輝度が、第３のしきい値Ｔ3に等しいかまたは超え、前記選択されたフレームに時間的に近接した次のフレームの平均輝度を引いた、前記選択されたフレームの平均輝度が、第３のしきい値Ｔ3に等しいかまたは超え、前記選択されたフレームに関係付けられた、前方向の差のメトリックおよび後方向の差のメトリックが、両方とも、第４のしきい値Ｔ4に等しいかまたは超える場合、前記選択されたフレームが少なくとも１つのカメラのフラッシュライトを含んでいると決定することとを含む請求項１５記載の方法。
【請求項１７】
前記ショットイベントを決定することは、少なくとも１つのしきい値に対して、前記選択されたフレームの輝度差情報を評価することを含む請求項１記載の方法。
【請求項１８】
前記ショットイベントは、３つ以上のショットタイプに分類される請求項１記載の方法。
【請求項１９】
少なくとも１つのメトリックを取得することは、双方向の動き補償を実行して、双方向の動き情報を発生させることを含み、前記双方向の動き情報と輝度差情報は、前記双方向の動き補償に基づいて、前記選択されたフレームに対して決定される請求項１記載の方法。
【請求項２０】
ショットイベントを決定することは、複数のしきい値に対して、前記少なくとも１つのメトリックを評価することを含む請求項１記載の方法。
【請求項２１】
マルチメディアデータを処理する装置において、
複数のビデオフレーム中の、選択されたフレームと、前記選択されたフレームに時間的に近接したフレームとの間の差を示す少なくとも１つのメトリックを取得するように構成された動き補償器と、
前記少なくとも１つのメトリックに基づいて、前記選択されたフレームに関係付けられたショットイベントを決定するように構成されたショット分類器と、
前記ショットイベントに基づいて、前記選択されたフレームを適応的にエンコードするように構成されたエンコーダとを具備し、
前記少なくとも１つのメトリックは、双方向の動き情報と輝度情報とを含む装置。
【請求項２２】
マルチメディアデータを処理する装置において、
複数のビデオフレーム中の、選択されたフレームと、前記選択されたフレームに時間的に近接したフレームとの間の差を示す少なくとも１つのメトリックを取得する手段と、
前記少なくとも１つのメトリックに基づいて、前記選択されたフレームに関係付けられたショットイベントを決定する手段と、
前記ショットイベントに基づいて、前記選択されたフレームを適応的にエンコードする手段とを具備し、
前記少なくとも１つのメトリックは、前記選択されたフレームと、前記選択されたフレームに時間的に近接したフレームとに関係付けられた、双方向の動き情報と輝度差情報とを含む装置。
【請求項２３】
前記ショットイベントは、前記選択されたフレームが、急なシーン変化であることを示し、前記適応的にエンコードする手段は、前記選択されたフレームをＩフレームとしてエンコードする手段を備える請求項２２記載の装置。
【請求項２４】
前記ショットイベントは、前記選択されたフレームが、遅いシーン変化を含んでいる複数のフレームの一部であることを示し、前記適応的にエンコードする手段は、前記選択されたフレームを、ＰフレームまたはＢフレームのいずれかとしてエンコードする手段を備える請求項２２記載の装置。
【請求項２５】
前記ショットイベントは、前記選択されたフレームが、少なくとも１つのカメラのフラッシュライトを含むことを示し、前記適応的にエンコードする手段は、前記選択されたフレームを、特別な処理を必要とするものとして識別する手段を備える請求項２２記載の装置。
【請求項２６】
前記特別な処理は、前記選択されたフレームがエンコードされないように、前記選択されたフレームをスキップまたはドロップすることを含む請求項２２記載の装置。
【請求項２７】
前記特別な処理は、前記選択されたフレームに時間的に近接したフレームを複製し、前記複製されたフレームを前記選択されたフレームの代わりに用いる手段を含む請求項２６記載の装置。
【請求項２８】
前記ショットイベントは、前記選択されたフレームが、急なシーン変化、遅いシーン変化の一部を含み、または少なくとも１つのカメラのフラッシュライトを含んでいることを示す請求項２２記載の装置。
【請求項２９】
前記選択されたフレームが、急なシーン変化、遅いシーン変化の一部、または少なくとも１つのカメラのフラッシュライトを含むことを前記ショットイベントが示さない場合、前記適応的にエンコードする手段は、前記選択されたフレームをＩフレームとしてエンコードする手段を備える請求項２２記載の装置。
【請求項３０】
前記選択されたフレームが、急なシーン変化、遅いシーン変化の一部、または少なくとも１つのカメラのフラッシュライトを含むことを前記ショットイベントが示さない場合、適応的にエンコードする手段は、前記選択されたフレームをドロップすることを含む請求項２２記載の装置。
【請求項３１】
前記少なくとも１つのメトリックは、フレーム差のメトリックを含み、前記ショットイベントを決定する手段は、前記フレーム差のメットリックが、第１のしきい値Ｔ1より大きい場合に、前記選択されたフレームが、急なシーンであると決定する手段を備える請求項２２記載の装置。
【請求項３２】
前記選択されたフレームに対する前記フレーム差のメトリックは、第１の差のメトリックと、第２の差のメトリックとの比に基づいており、前記第１の差のメトリックは、前記選択されたフレームと前の時間的に近接したフレームとの間の差と、前記選択されたフレームと次の時間的に近接したフレームとの間の差との比を含み、前記第２の差のメトリックは、前記前のフレームとそれに時間的に近接した前のフレームとの間の差と、前記前のフレームと前記選択されたフレームとの間の差との比を含む請求項３１記載の装置。
【請求項３３】
前記選択されたフレームに対する前記フレーム差のメトリックは、γCとγPとの比を含み、ここでγCは、前記現在の選択されたフレームに対する、前方向と後方向との、差のメトリックの比であり、γPは、前記選択されたフレームに対して、時間的に近接した前のフレームに対する、前方向と後方向との、差のメトリックの比である請求項３１記載の装置。
【請求項３４】
前記フレーム差のメトリックは、前記選択されたフレームに対して時間的に前の近接したフレームと、前記選択されたフレームとに関係付けられた輝度ヒストグラムの差に基づいている請求項３１記載の装置。
【請求項３５】
前記選択されたフレームが、急なシーン変化として分類されず、かつ、前記選択されたフレームと、近接したフレームとの間の差が、前記第１のしきい値Ｔ1より小さく、かつ、第２のしきい値Ｔ2より大きいかまたは等しいことを前記フレーム差のメトリックが示す場合、前記ショットイベントを決定する手段は、前記選択されたフレームを遅いシーン変化として分類する手段を備える請求項３１記載の装置。
【請求項３６】
ショットイベントを決定する手段は、
前記選択されたフレームと、時間的に近接した前のフレームと、時間的に近接した次のフレームとの平均輝度を決定する手段と、
前記選択されたフレームが、急なフレームまたは遅い変化のフレームであると決定されず、前記選択されたフレームに時間的に近接した前のフレームの平均輝度を引いた、前記選択されたフレームの平均輝度が、第３のしきい値Ｔ3に等しいかまたは超え、前記選択されたフレームに時間的に近接した次のフレームの平均輝度を引いた、前記選択されたフレームの平均輝度が、第３のしきい値Ｔ3に等しいかまたは超え、前記選択されたフレームに関係付けられた、前方向の差のメトリックおよび後方向の差のメトリックが、両方とも、第４のしきい値Ｔ4に等しいかまたは超える場合、前記選択されたフレームをカメラのフラッシュのシーンとして分類する手段とを備える請求項３５記載の装置。
【請求項３７】
マルチメディアデータを処理する命令を含む機械読み取り可能媒体において、
前記命令は、実行時に、
複数のビデオフレーム中の、選択されたフレームと、前記選択されたフレームに時間的に近接したフレームとの間の差を示す少なくとも１つのメトリックを取得することと、
前記少なくとも１つのメトリックに基づいて、前記選択されたフレームに関係付けられたショットイベントを決定することと、
前記ショットイベントに基づいて、前記選択されたフレームを適応的にエンコードすることとを機械に行わせ、
前記少なくとも１つのメトリックは、前記選択されたフレームと、前記選択されたフレームに時間的に近接したフレームとに関係付けられた、双方向の動き情報と輝度差情報とを含む機械読み取り可能媒体。
【請求項３８】
マルチメディアデータを処理するプロセッサにおいて、
前記プロセッサは、
複数のビデオフレーム中の、選択されたフレームと、前記選択されたフレームに時間的に近接したフレームとの間の差を示す少なくとも１つのメトリックを取得し、
前記少なくとも１つのメトリックに基づいて、前記選択されたフレームに関係付けられたショットイベントを決定し、
前記ショットイベントに基づいて、前記選択されたフレームを適応的にエンコードする構成を具備し、
前記少なくとも１つのメトリックは、前記選択されたフレームと、前記選択されたフレームに時間的に近接したフレームとに関係付けられた、双方向の動き情報と輝度差情報とを含むプロセッサ。
【発明の詳細な説明】
【合衆国法典第３５部第１１９条に基づく優先権の主張】
【０００１】
特許に対する本出願は、２００５年１０月１７日に出願され、この出願の譲受人に譲渡され、参照により明白にここに組み込まれている、“ビデオストリーミングにおけるショット検出のための方法および装置”と題する仮出願第６０／７２７，６４４号に対する優先権を主張する。
【分野】
【０００２】
本発明は一般的にマルチメディアデータ処理に向けられており、より詳細には、ショット検出処理に基づいて、マルチメディアデータをエンコードすることに向けられている。
【背景】
【０００３】
ショット検出は、シーン変化が生じたことを示すデータを、ピクチャのグループ（ＧＯＰ）中のフレームがいつ表すかについて決定することに関する。一般的に、ＧＯＰ内で、フレームは、任意の２つまたは３つ（またはより多い）の近接したフレームにおいて著しい変化を有しないかもしれず、あるいは、遅い変化または速い変化があるかもしれない。もちろん、必要な場合、特定のアプリケーションに依存して、これらのシーン変化の分類は、より多数のレベルの変化にさらに分解できる。
【０００４】
ショットまたはシーン変化を検出することは、ビデオの効率的なエンコーディングのために重要である。一般に、ＧＯＰが著しく変化していないとき、ＧＯＰの開始におけるＩフレームには、ビデオを効率的にエンコードできる多数の予測フレームが後に続き、それにより、ビデオの後のデコーディングおよび表示は視覚的に受け入れできるものになる。しかしながら、シーンが、急にまたはゆっくりと変化しているとき、後にデコードされて視覚的に受け入れ可能な結果を生成するために、追加的なＩフレームと、より少ない予測エンコーディング（ＰフレームおよびＢフレーム）とを使用するかもしれない。ショット検出と、ショット検出の結果を使用する対応するエンコーディングとにおける改善により、コーディング効率を改善させ、ＧＯＰ分割に関係付けられた技術における他の問題を克服できる。
【概要】
【０００５】
ここで記述した発明の装置および方法のそれぞれは、いくつかの観点を有し、それらの観点のどの１つも、その望ましい属性に対して単独で役割を果たすものではない。本発明の範囲を限定することなく、本発明のより顕著な特徴をこれから簡潔に論じる。この記述を考慮した後、特に“詳細な説明”と題する段落を読んだ後、マルチメディアデータを処理する装置および方法に対して、本発明の特徴がいかに改良をもたらすかを理解するだろう。
【０００６】
マルチメディアデータを処理する方法において、方法は、複数のビデオフレーム中の、選択されたフレームと、選択されたフレームに時間的に近接したフレームとの間の差を示す少なくとも１つのメトリックを取得することと、少なくとも１つのメトリックに基づいて、選択されたフレームに関係付けられたショットイベントを決定することと、ショットイベントに基づいて、選択されたフレームを適応的にエンコードすることとを含み、少なくとも１つのメトリックは、選択されたフレームと、選択されたフレームに時間的に近接したフレームとに関係付けられた、双方向の動き情報と輝度差情報とを含む。１つの観点において、少なくとも１つのメトリックを取得することは、少なくとも１つのメトリックを計算することを含む。選択されたフレームが、急なシーン変化であることをショットイベントが示す場合、選択されたフレームをＩフレームとして適応的にエンコードできる。選択されたフレームが、遅いシーン変化を含む複数のフレームの一部分であることをショットイベントが示す場合、選択されたフレームをＰフレームまたはＢフレームのいずれかとしてエンコードできる。別の観点において、選択されたフレームが少なくとも１つのカメラのフラッシュライトを含むことをショットイベントが示す場合、特別な処理を必要とするものとして、選択されたフレームを識別できる。このような特別な処理の例は、ビデオからの選択されたフレームの除去、選択されたフレームに時間的に近接したフレームを複製すること、および選択されたフレームの代わりに複製されたフレームを用いることを含む。いくつかの観点において、選択されたフレームが、急なシーン変化、遅いシーン変化の一部分または少なくとも１つのカメラのフラッシュライトを含むことをショットイベントは示す。いくつかの観点において、選択されたフレームが、急なシーン変化、遅いシーン変化の一部分または少なくとも１つのカメラのフラッシュライトを含むことをショットイベントが示さない場合、適応的にエンコードすることは、選択されたフレームをＩフレームとしてエンコードすることを含む。
【０００７】
別の観点において、マルチメディアデータを処理する装置は、複数のビデオフレーム中の、選択されたフレームと、選択されたフレームに時間的に近接したフレームとの間の差を示す少なくとも１つのメトリックを取得するように構成された動き補償器と、少なくとも１つのメトリックに基づいて、選択されたフレームに関係付けられたショットイベントを決定するように構成されたショット分類器と、ショットイベントに基づいて、選択されたフレームを適応的にエンコードするように構成されたエンコーダとを含み、少なくとも１つのメトリックは、双方向の動き情報と輝度情報とを含む。
【０００８】
別の観点において、マルチメディアデータを処理する装置は、複数のビデオフレーム中の、選択されたフレームと、選択されたフレームに時間的に近接したフレームとの間の差を示す少なくとも１つのメトリックを取得する手段と、少なくとも１つのメトリックに基づいて、選択されたフレームに関係付けられたショットイベントを決定する手段と、ショットイベントに基づいて、選択されたフレームを適応的にエンコードする手段とを含み、少なくとも１つのメトリックは、選択されたフレームと、選択されたフレームに時間的に近接したフレームとに関係付けられた、双方向の動き情報と輝度差情報とを含む。選択されたフレームが、急なシーン変化であることをショットイベントが示す場合、適応的にエンコードする手段は、選択されたフレームをＩフレームとしてエンコードできる。別の観点において、選択されたフレームが、遅いシーン変化を含む複数のフレームの一部分であることをショットイベントが示す場合、適応的にエンコードする手段は、選択されたフレームをＰフレームまたはＢフレームのいずれかとしてエンコードする手段を含むことができる。別の観点において、ショットイベントは、選択されたフレームが、少なくとも１つのカメラのフラッシュライトを含むことを示し、適応的にエンコードする手段は、特別な処理を必要とするものとして、選択されたフレームを識別して、エンコードする手段を含むことができる。
【０００９】
別の観点において、機械読み取り可能媒体は、マルチメディアデータを処理する命令を含み、ここで命令は、実行時に、複数のビデオフレーム中の、選択されたフレームと、選択されたフレームに時間的に近接したフレームとの間の差を示す少なくとも１つのメトリックを取得することと、少なくとも１つのメトリックに基づいて、選択されたフレームに関係付けられたショットイベントを決定することと、ショットイベントに基づいて、選択されたフレームを適応的にエンコードすることとを機械に行わせ、少なくとも１つのメトリックは、選択されたフレームと、選択されたフレームに時間的に近接したフレームとに関係付けられた、双方向の動き情報と輝度差情報とを含む。
【００１０】
別の観点において、マルチメディアデータを処理するプロセッサは、複数のビデオフレーム中の、選択されたフレームと、選択されたフレームに時間的に近接したフレームとの間の差を示す少なくとも１つのメトリックを取得し、少なくとも１つのメトリックに基づいて、選択されたフレームに関係付けられたショットイベントを決定し、ショットイベントに基づいて、選択されたフレームを適応的にエンコードする構成を備えるように構成されており、少なくとも１つのメトリックは、選択されたフレームと、選択されたフレームに時間的に近接したフレームとに関係付けられた、双方向の動き情報と輝度差情報とを含む。
【詳細な説明】
【００１１】
以下の説明において、観点の完全な理解を提供するために、特定の詳細な説明を与える。しかしながら、これらの特定の詳細な説明なく、観点を実施できることが当業者に理解されるだろう。例えば、不必要な詳細な説明で観点を不明瞭にしないために、通信システムおよびビデオ処理デバイスは、ブロック図で示されているかもしれない。
【００１２】
既存のエンコーディングシステムの性能を向上させる、ショット検出ならびに、エンコーディングのシステムおよび方法に対する、ある発明の観点をここで記述する。このような観点は、ビデオデータの近接したフレーム間の統計的な比較を含む統計量（すなわちメトリック）を利用して、急なシーン変化が生じたかどうか、シーンがゆっくりと変化しているかどうか、またはビデオエンコーディングを特に複雑にさせることがある、カメラのフラッシュライトがシーン中にあるかどうかを決定する。プリプロセッサから統計量を取得して、エンコーディングデバイスに対して送ることができ、または、（例えば、動き補償を実行するように構成されたプロセッサにより）エンコーディングデバイス中で統計量を発生させることができる。結果として生じる統計量は、シーン変化の検出決定を支援する。トランスコーディングを行うシステムにおいては、適切なプリプロセッサまたは構成可能プロセッサが存在することが多い。プリプロセッサが、動き補償支援のデインターレーシングを実行する場合、動き補償の統計量が使用可能であり、使用できる状態にある。
【００１３】
ここで記述するショット検出器は、単に、前のフレーム、現在のフレームおよび次のフレームから統計量を利用でき、それによりアルゴリズムは待ち時間が非常に少ない。ショット検出器は、急なシーン変化、クロスフェイディングおよび他の遅いシーン変化、ならびにカメラのフラッシュライトを含む、いくつかの異なるタイプのショットイベントを区別する。エンコーダにおいて異なる戦略により異なるタイプのショットイベントを決定することにより、エンコーディング効率および視覚の品質が高められる。
【００１４】
ここでの、“１つの観点”、“観点”、“いくつかの観点”または“ある観点”に対する言及は、観点に関連して記述した、特定の、特徴、構造または特性のうちの１つ以上を、ショット検出およびエンコーディングシステムの少なくとも１つの観点中に含めることができることを意味する。明細書中のさまざまな箇所におけるこのようなフレーズの登場は、必ずしもすべてが同一の観点に言及するわけではなく、他の観点を相互に含まない別個または代替えの観点でもない。さらに、さまざまな特徴を記述するが、それらは、いくつかの観点により示され、他の観点によっては示されないかもしれない。同様に、さまざまな要求を記述するが、それらは、いくつかの観点に対する要求であって、他の観点に対する要求ではないかもしれない。
【００１５】
ここで使用される“マルチメディアデータ”は、ビデオデータ（オーディオデータを含むことができる）、オーディオデータ、またはビデオデータとオーディオデータとの両方を含む広い用語である。特にことわらない限り、画像あるいは、テキスト、画像および／またはオーディオデータを含んでいる画像の、１つ以上のシリーズまたはシーケンスを言及するような、広い用語としてここで使用される“ビデオデータ”または“ビデオ”を、マルチメディアデータに言及するために使用でき、またはそれらの用語を区別なく使用してもよい。
【００１６】
図１は、ストリーミングマルチメディアを配信する通信システム１０のブロック図である。図１中で示したような、非常に多数の端末に対するデジタル圧縮ビデオの送信において、このようなシステムは応用を見い出す。デジタルビデオ源は、例えば、デジタルケーブルまたは衛星供給、あるいはデジタル化されるアナログ源とすることができる。ビデオ源は送信機構２中で処理され、そこでビデオ源はエンコードされ、ネットワーク４を通して１つ以上の端末６に送信するために搬送波上に変調される。端末６は、受信したビデオをデコードし、一般に、ビデオの一部を少なくとも表示する。ネットワーク４は、エンコードされたデータの送信に適した、任意のタイプの通信ネットワーク、ワイヤードまたはワイヤレスを指す。例えば、ネットワーク４は、セル電話ネットワーク、ワイヤードまたはワイヤレスの、ローカルエリアネットワーク（ＬＡＮ）またはワイドエリアネットワーク（ＷＡＮ）あるいはインターネットとすることができる。端末６は、セル電話機、ＰＤＡ、家庭用または商業用ビデオ表示機器、コンピュータ（ポータブル、ラップトップ、ハンドヘルド、ＰＣおよび、より大きなサーバベースのコンピュータシステム）およびマルチメディアデータを使用できるパーソナルエンターテイメントデバイスを含むが、これらに限定されない、データを受信および表示できる任意のタイプの通信デバイスとすることができる。
【００１７】
図２は、いくつかの観点にしたがって、マルチメディアデータをエンコードするデジタル送信機構のいくつかのコンポーネントのブロック図である。デジタル送信機構２中の受信機２１は、デジタルビデオ源を受け取り、ビデオを処理およびエンコードするために、ビデオをエンコーディングコンポーネント（または装置）２２に提供する。エンコーディングコンポーネント２２は、動き補償器２３、ショット分類器２４およびビデオを処理するエンコーダ２５を含む。
【００１８】
動き補償器２３は、ビデオ中のフレームに関して双方向の動き情報を決定するように構成できる。１つ以上の差のメトリック、例えば、絶対差の総和（ＳＡＤ）または絶対差の総和（ＳＳＤ）を決定し、１つ以上のフレームに対する輝度情報（例えば、マクロブロック（ＭＢ）の輝度平均または差）、輝度ヒストグラムの差、およびフレーム差のメトリックを含む他の情報を計算するように、補償器２３を構成することもでき、これらの例は、式１−３に関連して記述する。ショット分類器は、動き補償器により決定される情報を使用して、ビデオ中のフレームを“ショット”の２つ以上のカテゴリに分類するように構成できる。エンコーダは、ショットの分類に基づいて、複数のフレームを適応的にエンコードするように構成されている。式１−１０に関連して、動き補償器、ショット分類器およびエンコーダを以下で記述する。
【００１９】
ハードウェア、ソフトウェア、ファームウェア、ミドルウェア、マイクロコードまたはそれらについての任意の組み合わせにより、エンコーディングコンポーネント２２、そのコンポーネントおよびその中に含まれるプロセスを実現できる。例えば、動き補償器２３、ショット分類器２４およびエンコーダ２５は、スタンドアローンコンポーネントであってもよく、別のデバイスのコンポーネント中にハードウェア、ファームウェア、ミドルウェアとして組み込まれていてもよく、あるいは、プロセッサまたはそれらの組み合わせ上で実行される、マイクロコードまたはソフトウェア中で実現されていてもよい。ソフトウェア、ファームウェア、ミドルウェアまたはマイクロコード中で実現されるとき、動き補償を実行するプログラムコードまたはコードセグメント、ショットを、分類およびエンコードするプロセスを、記憶媒体のような、機械読み取り可能媒体中に記憶してもよい。コードセグメントは、手続き、関数、サブプログラム、プログラム、ルーチン、サブルーチン、モジュール、ソフトウェアパッケージ、クラス、あるいは命令、データ構造、またはプログラムステートメント、の任意の組み合わせを表してもよい。情報、データ、引き数、パラメータまたはメモリコンテンツを渡すおよび／または受け取ることにより、コードセグメントは、別のコードセグメントまたはハードウェア回路に結合されていてもよい。
【００２０】
図３Ａは、いくつかの観点にしたがった、ショット検出のためのプロセッサ３１を備え、検出されたショットに基づいてエンコードするマルチメディア処理デバイス３０のブロック図である。いくつかの観点において、図３中のマルチメディア処理デバイス３０は、図２中のエンコーディングコンポーネント２２とすることもできる。マルチメディア処理デバイス３０に対して外部にある情報源によりデジタルビデオ源を提供でき、マルチメディア処理デバイス３０中の通信モジュール３６に対してデジタルビデオ源を通信できる。マルチメディア処理デバイス３０は、プロセッサ３１と通信する記憶媒体２５を含み、プロセッサ３１および記憶媒体２５の両方は、通信モジュール３６と通信する。プロセッサ３１は、動き補償器３２、ショット分類器およびエンコーダを含み、それらは、動き情報を発生させ、ビデオデータのフレーム中のショットを分類し、ビデオデータをエンコードするように動作できる。動き補償器、ショット分類器およびエンコーダは、ビデオを処理して、式１−１０に関連して以下に記述する情報を決定できる。特に、プロセッサ３１は、複数のビデオフレームの、近接したフレーム間の差を示すメトリックを取得し、メトリックに基づいて、複数のビデオフレーム中のショット変化を決定し、ショット変化に基づいて、複数のフレームを適応的にエンコードする構成を有することができる。メトリックは、双方向の動き情報と輝度情報とを含んでいる。いくつかの観点において、メトリックは、プロセッサ３１に対して外部にあるデバイスまたはプロセスにより計算でき、プロセッサ３１も、マルチメディア処理デバイス３０に対して外部にあるものとすることができ、メトリックは、別のデバイスまたはメモリを介して、直接的にまたは間接的にプロセッサ３１に通信することができる。プロセッサ３１により、例えば、プロセッサ３１の動き補償器３２により、メトリックを計算することもできる。
【００２１】
マルチメディア処理デバイス３０は、さらなる処理および／または送信のために、他のデバイス、例えば、端末６（図１）に対してエンコードされたビデオを提供できる。エンコードされたビデオは、いくつかの観点において、基本レイヤおよびエンハンスメントレイヤを含むことができる、多重レイヤ化され、エンコードされたスケーラブルなビデオとすることができる。スケーラブルなレイヤエンコーディングは、ここの譲受人により所有されている“２つのレイヤエンコーディングと１つのレイヤデコーディングを有するスケーラブルビデオコーディング”と題する、同時継続中の米国特許出願第１１／３７３，６０４号（代理人ドケット第０５００７８号）にさらに記述されており、その全体は、参照により、ここに組み込まれている。図３Ｂは、ショット検出と、検出されたショットに基づいてエンコードするためのマルチメディア処理デバイス３０の別の例示的な観点のブロック図である。マルチメディア処理デバイス３０は、モジュール３７のような、選択されたフレームと、選択されたフレームに時間的に近接したフレームとの間の差を示す少なくとも１つのメトリックを取得する手段を含む。マルチメディア処理デバイス３０はまた、モジュール３７により決定されている、少なくとも１つのメトリックに基づいて、選択されたフレーム中のショットイベントを決定するモジュール３８のような、ショットイベントを決定する手段を含む。ショットイベントを決定する例示的なプロセスは、以下の式４−９を使用する。マルチメディア処理デバイス３０はまた、モジュール３９のような、ショットイベントに基づいて、選択されたフレームを適応的にエンコードする手段を含む。１つの観点において、選択されたフレームが急なシーン変化であることをショットイベントが示す場合、モジュール３９は、選択されたフレームをＩフレームとして適応的にエンコードできる。別の観点において、選択されたフレームが、遅いシーン変化を含む複数のフレームの一部であることをショットイベントが示す場合、モジュール３９は、選択されたフレームをＰフレームまたはＢフレームのいずれかとして適応的にエンコードできる。別の観点において、選択されたフレームが、少なくとも１つのカメラのフラッシュライトを含むことをショットイベントが示す場合、モジュール３９は、特別な処理を必要とするものとして、選択されたフレームを適応的に識別でき、特別な処理は、選択されたフレームをドロップすること、選択されたフレームに近接したフレームを複製すること、選択されたフレームに対して、複製されたフレームを使用すること、選択されたフレームに近接したフレームを補間して、選択されたフレームに取って代わる新しいフレームを形成すること、選択されたフレームに関してエラーの隠匿を実行すること、または選択されたフレームに対して、別の予め定められたエンコーディングプロセスを実行することを含むことができる。
【００２２】
いくつかの観点において、汎用目的のプロセッサ、デジタル信号プロセッサ（ＤＳＰ）、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラム可能ゲートアレイ（ＦＰＧＡ）または他のプログラム可能論理デバイス、ディスクリートゲートまたはトランジスタ論理、ディスクリートハードウェアコンポーネント、あるいはここで記述した機能を実行するために設計された、これらの任意の組み合わせにより、図２、３Ａおよび３Ｂ、ならびに、ここで開示した他の例および図に関連して記述した、さまざまな例示的な論理ブロック、コンポーネント、モジュールおよび回路を実現または実行してもよい。図２で示したような汎用目的のプロセッサはマイクロプロセッサでもよいが、代わりに、プロセッサは任意の従来のプロセッサ、制御装置、マイクロ制御装置、または状態遷移機械であってもよい。計算デバイスの組み合わせ、例えば、ＤＳＰとマイクロプロセッサとの組み合わせ、複数のマイクロプロセッサ、ＤＳＰコアに関連した１つ以上のマイクロプロセッサ、または他の任意のこのような構成として、プロセッサを実現してもよい。
【００２３】
ビデオエンコーディングは通常、構造化されたピクチャのグループ（ＧＯＰ）に動作する。ＧＯＰは通常、イントラコード化されたフレーム（Ｉフレーム）から開始し、一連のＰ（予測）またはＢ（双方向）フレームが後に続く。通常、Ｉフレームは、フレームを表示するためのすべてのデータを記憶することができ、Ｂフレームは、先行および後続のフレーム中のデータに依拠し（例えば、先行フレームから変化したデータを含んでいるだけか、または次のフレーム中のデータとは異なるデータを含んでいるだけである）、Ｐフレームは、先行フレームから変化したデータを含む。
【００２４】
一般的な使用では、エンコードされたビデオにおいて、Ｉフレームには、ＰフレームおよびＢフレームが所々に置かれる。サイズ（例えば、フレームをエンコードするために使用されるビット数）に関して、Ｉフレームは通常、Ｐフレームよりずっと大きく、Ｐフレームは、Ｂフレームより大きい。効率的なエンコーディング、送信およびデコーディング処理のために、ＧＯＰの長さは、大きいＩフレームからの有効損失を減少させるために十分長くあるべきであり、エンコーダとデコーダとの間の不整合、またはチャネル障害と戦うために十分短くあるべきである。さらに、同じ理由のために、Ｐフレーム中のマクロブロック（ＭＢ）をイントラコード化できる。
【００２５】
しばしば不必要とされるＩフレームを固定した間隔で挿入する代わりに、シーン変化検出をビデオエンコーダに対して使用して、適切なＧＯＰの長さを決定し、ＧＯＰの長さに基づいて、Ｉフレームを挿入できる。実際的なストリーミングビデオシステムにおいて、通信チャネルは通常、ビットエラーまたはパケット損失により、損なわれる。ＩフレームまたはＩＭＢをどこに配置するかは、デコードされたビデオ品質および視覚体験に、著しく影響を与えるかもしれない。１つのエンコーディングスキームは、並べて置かれた前のピクチャまたはピクチャの部分から著しい変化を有するピクチャまたはピクチャの部分に対して、イントラコード化されたフレームを使用することである。通常、動き推定により、これらの領域を、効果的に、および効率的に予測することができず、このような領域が、インターフレームコーディング技術（例えば、ＢフレームおよびＰフレームを使用するエンコーディング）から除外される場合、より効率的にエンコーディングを実施できる。チャネル障害の情況において、それらの領域は、エラー伝搬を被りやすいが、イントラフレームエンコーディングにより、エラー伝搬を減少させることができ、または除去（またはほとんどそのように）できる。
【００２６】
ＧＯＰビデオの、選択されたフレームまたは一部分を、２つまたはより多いカテゴリに分類でき、それぞれのフレームまたは部分は、特定の実施に依存してもよい異なるイントラフレームエンコーディング基準を有することができる。例示的な例として、ビデオ中の選択されたフレームを処理して、選択されたフレームが、ある“ショットイベント”を含んでいるかどうかを決定でき、あるショットイベントを使用して、その内容に基づいて、フレームを３つのカテゴリのうちの１つに分類できる。すなわち、それぞれのカテゴリは、フレームまたはフレームの一部により取り込まれるショットイベントのタイプを示している。これらの３つのカテゴリは、急なシーン変化、クロスフェイディングおよび／または他の遅いシーン変化の部分、あるいは“カメラのフラッシュライト”としても呼ばれる、少なくとも１つのカメラのフラッシュを含んでいるフレームのようなものである。
【００２７】
急なシーン変化として分類されるフレームは、前のフレームから著しく異なるフレームを含む。これらの急なシーン変化は通常、ビデオの編集または発生の間のカメラ動作により引き起こされる。例えば、異なるカメラから発生したビデオは、カメラが異なる視点を有するため、急なシーン変化を含むことがある。また、ビデオを録画している間に、カメラの視野を急に変えることは、急なシーン変化を結果として生じることがある。急なシーン変化として分類されるフレームのコンテンツは、前のフレームのコンテンツと異なるため、急なシーン変化のフレームは通常、Ｉフレームとしてエンコードされるべきである。
【００２８】
遅いシーン変化の一部分として分類されるフレームは、クロスフェイディングおよび他の遅いシーン変化、またはシーンの遅い切り換えを有するビデオを含む。いくつかの例において、このことは、カメラショットのコンピュータ処理により引き起こされることがある。２つの異なるシーンの段階的な混合は、人間の目に対しては、より心地よく見えるかもしれないが、ビデオコーディングに対して課題を与える。何らかのゆっくりと変化するシーンに対して、動き補償は、それらのフレームのビットレートを効果的に減少させないかもしれない。いくつかの情況において、より多くのイントラコード化されたＭＢを、これらのフレームに対して使用できる。
【００２９】
フレームはカメラのフラッシュライトを有するものとして分類され、すなわち、カメラフラッシュイベントは、１つ以上のカメラのフラッシュを含むコンテンツを有するフレームを含むことができる。このようなフラッシュは、持続期間が比較的短く（例えば、１つのフレーム）、フラッシュを描写しているフレーム中の画素が、近接したフレーム上の対応するエリアに比べて、通常高い輝度を表すように、極端に明るいものとすることができる。カメラのフラッシュライトは、突然に、そして、迅速に、ピクチャの輝度をシフトする。通常、カメラのフラッシュライトの持続期間は、人間の視覚システム（ＨＶＳ）の時間的なマスキング持続期間より短く、それは通常４４ｍｓと規定されている。人間の目は、これらの短いバーストの明るさの質に対して敏感でなく、それ故に、それらをきめ粗くエンコードできる。フラッシュライトのフレームは、動き補償により効果的に取り扱うことができず、そして、フラッシュライトのフレームは、未来のフレームに対して、不良な予測候補であるため、これらのフレームのきめの粗いエンコーディングは、未来のフレームのエンコーディング効率を減少させない。“人工の”高い輝度のため、フラッシュライトとして分類されたシーンを使用して、他のフレームを予測すべきではなく、同一の理由のため、他のフレームを効率的に使用して、これらのフレームを予測することはできない。いったん識別されると、これらのフレームは、比較的高い量の処理を必要とするかもしれないため、除外することができる。１つのオプションは、カメラのフラッシュライトを含むことが決定されたフレームを除去し、それらの場所におけるＤＣ係数をエンコードすることであり、このような解決は、簡単であり、計算的に速く、エンコーディングの間に多くのビットを節約できる。
【００３０】
上述のタイプのシーン変化のいずれかがフレーム中で検出されるとき、ショットイベントが宣言され、検出されたシーンタイプを使用して、フレームをどのようにエンコードできるかを決定できる。言い換えれば、決定されたショットイベントに基づいて、フレームを適応的にエンコードできる。ショット検出は、エンコーディング品質を向上させるのに役に立つだけでなく、ビデオコンテンツのサーチおよびインデックス付けを識別する際の支援となることもある。シーン検出プロセスの１つの観点を以下で記述する。
【００３１】
図４は、ＧＯＰ上で動作し、ビデオフレーム中のショット検出に基づいて、ビデオをエンコードするための、いくつかの観点において使用できるプロセス４０を図示する。ここでプロセス４０の一部分（すなわちサブプロセス）は、図５−１０に関連して、記述および図示されている。エンコーディングコンポーネント２２（図２）またはプロセッサ３１は、プロセス４０を組み込むように構成できる。プロセス４０が開始した後、プロセス４０はブロック４２に進み、ここでは、メトリック（情報）がビデオフレームに対して取得され、メトリックは、近接したフレーム間の差を示す情報を含んでいる。近接したフレーム間で生じた変化を後に決定することになる、双方向の動き情報と輝度ベースの情報をメトリックは含み、ショット分類のためにそれらの情報を使用できる。このようなメトリックは、別のデバイスまたはプロセスから取得でき、あるいは、例えば、エンコーディングコンポーネント２２またはプロセッサ３１により計算できる。メトリック生成の例示的な例を、図５中のプロセスＡおよび式１−１０に関連して記述する。
【００３２】
プロセス４０は次にブロック４４に進み、ここでは、ビデオ中のショット変化が、メトリックに基づいて決定される。どのようなタイプのショットがフレーム中に含まれているかに関する２つ以上のカテゴリ、例えば、急なシーン変化、ゆっくりと変化しているシーン、または高輝度値（カメラのフラッシュ）を含んでいるシーンに、ビデオフレームを分類できる。ある実施のエンコーディングは、他のカテゴリを必要とするかもしれない。ショット分類の例示的な例は、図６中のプロセスＢに関連して記述し、それぞれ図８−１０中のプロセスＤ、ＥおよびＦに関連してより詳細に記述する。
【００３３】
いったんフレームが分類されると、プロセス４０はブロック４６に進み、ここでは、ショット分類の結果を使用して、フレームは、エンコードすることができ、またはエンコードするために指定できる。このようなショット分類の結果は、イントラコード化されるフレームまたは予測フレーム（例えば、ＰフレームまたはＢフレーム）によりフレームをエンコードするかどうかに影響を与えることができる。図７中のプロセスＣは、ショット結果を使用するエンコーディングスキームの例を示す。
【００３４】
図５は、ビデオのメトリックを取得するプロセスの例を図示する。図５は、図４のブロック４２中で生じる、いくつかのステップを図示する。さらに図５を参照すると、ブロック５２において、プロセスＡは、ビデオの、双方向の動き推定および補償情報を取得または決定する。フレームに関して、双方向の動き推定を実行し、後のショット分類のために使用できる動き補償情報を決定するように、図２および３の動き補償器２３を構成できる。プロセスＡは次にブロック５４に進み、ここでは、プロセスＡは、現在のすなわち選択されたフレームと、１つ以上の近接したフレームとに対して、輝度差のヒストグラムを含む輝度情報を発生させる。最後に、プロセスＡはブロック５６に続き、ここでは、フレーム中に含まれるショットを示すメトリックが計算される。１つのこのようなメトリックは、式４および１０中の２つの例において示されるフレーム差のメトリックである。動き情報、輝度情報およびフレーム差のメトリックを決定する例示的な例を、以下で記述する。
【００３５】
動き補償
双方向の動き推定／補償を実行するために、現在のフレームのすべての８ｘ８ブロックを、最も近接した隣接するフレームの、１つは過去におけるものであり、１つは未来におけるものである２つのフレーム中のブロックに整合させる双方向の動き補償器により、ビデオシーケンスを前処理できる。動き補償器は、すべてのブロックに対して動きベクトルと差のメトリックとを生成する。図１１は、この概念を図示し、現在のフレームＣの画素を過去のフレームＰと未来の（すなわち次の）フレームＮとに整合させる例を示しており、整合された画素に対する動きベクトル、過去の動きベクトルＭＶPおよび未来の動きベクトルＭＶNを描写する。双方向の動きベクトルの生成と、関連するエンコーディングとの例示的な観点の簡潔な説明を以下で続ける。
【００３６】
図１３は、例えば、ＭＰＥＧ−４における動きベクトル決定プロセスおよび予測フレームエンコーディングの例を図示する。図１３中で記述したプロセスは、図５のブロック５２中で生じることができる例示的なプロセスのより詳細な説明図である。図１３において、現在のピクチャ１３４は、５ｘ５のマクロブロックから構成されており、この例におけるマクロブロックの数は任意である。マクロブロックは、１６ｘ１６の画素から構成されている。８ビットの輝度値（Ｙ）と２つの８ビットのクロミナンス値（ＣｒおよびＣｂ）により、画素を規定できる。
【００３７】
ＭＰＥＧにおいては、Ｙ、ＣｒおよびＣｂ成分は、４：２：０フォーマットで記憶でき、ここでＣｒおよびＣｂ成分は、ＸおよびＹ方向において２だけダウンサンプリングされている。したがって、それぞれのマクロブロックは、２５６のＹ成分、６４のＣｒ成分および６４のＣｂ成分からなる。現在のピクチャ１３４のマクロブロック１３６は、現在のピクチャ１３４とは異なる時点における参照ピクチャ１３２から予測される。サーチは参照ピクチャ１３２において実行され、Ｙ、ＣｒおよびＣｂ値の観点から、エンコードされている現在のマクロブロック１３６に最も近い、最も整合するマクロブロック１３８の位置を突きとめる。参照ピクチャ１３２中の最も整合するマクロブロック１３８の位置は、動きベクトル１４０でエンコードされる。参照ピクチャ１３２は、デコーダが、現在のピクチャ１３４の構成の前に再構成することになるＩフレームまたはＰフレームとすることができる。最も整合するマクロブロック１３８が、現在のマクロブロック１３６から減算され（Ｙ、ＣｒおよびＣｂ成分のそれぞれに対する差が計算される）、残余エラー１４２を結果として生じる。残余エラー１４２は、２Ｄ離散コサイン変換（ＤＣＴ）１４４によりエンコードされ、次に量子化１４６される。量子化１４６を実行して、例えば、高い周波数係数に対してより少ないビットを割り当てる一方で、低い周波数係数に対してより多いビットを割り当てることにより、空間圧縮を提供できる。情報を識別する動きベクトル１４０および参照ピクチャ１３４に加えて、残余エラー１４２の量子化された係数は、現在のマクロブロック１３６を表すエンコードされた情報である。エンコードされた情報は、今後の使用のためにメモリ中に記憶させることができ、あるいは、例えば、エラー訂正または画像画質向上のために操作でき、あるいはネットワーク４を通して送信できる。
【００３８】
後の動き推定および補償のための参照フレームの一部として使用するために、エンコードされた動きベクトル１４０に加えて、残余エラー１４２のエンコードされ、量子化された係数を使用して、エンコーダにおいて現在のマクロブロック１３６を再構成できる。エンコーダは、このＰフレームの再構成のために、デコーダの手続きをエミュレートすることができる。デコーダのエミュレーションは、エンコーダとデコーダが同一の参照ピクチャにより動作することになる。さらなるインターコーディングのために、エンコーダ中で実施されようと、またはデコーダ中で実施されようと、再構成プロセスがここで与えられる。参照フレーム（または参照されているピクチャまたはフレームの一部）が再構成された後に、Ｐフレームの再構成を開始できる。エンコードされ、量子化された係数は、逆量子化１５０され、次に、２Ｄ逆ＤＣＴすなわちＩＤＣＴ１５２が実行され、デコードされた、または再構成された残余エラー１５４を結果として生じる。エンコードされた動きベクトル１４０はデコードされて、すでに再構成された参照ピクチャ１３２中の、すでに再構成された最も整合するマクロブロック１５６の位置を突きとめるために使用される。再構成された残余エラー１５４は、再構成された最も整合するマクロブロック１５６に加算されて、再構成されたマクロブロック１５８を形成する。再構成されたマクロブロック１５８は、メモリ中に記憶し、単独で、または他の再構成されたマクロブロックとともにピクチャ中で表示し、あるいは、画像画質向上のためにさらに処理することができる。
【００３９】
Ｂフレーム（または双方向の予測によりコード化された何らかのセクション）を使用するエンコーディングは、現在のピクチャ中の領域と、前のピクチャ中の最も整合する予測領域および後のピクチャ中の最も整合する予測領域との間の時間冗長を使用できる。後の最も整合する予測領域と前の最も整合する予測領域は結合されて、結合された双方向の予測領域を形成する。現在のピクチャ領域と、最も整合する結合された双方向の予測領域との差は、残余エラー（すなわち予測エラー）である。後の参照ピクチャ中の最も整合する予測領域および前の参照ピクチャ中の最も整合する予測領域の位置は、２つの動きベクトルでエンコードできる。
【００４０】
輝度ヒストグラム差
１つの観点において、動き補償器は、すべてのブロックに対して差のメトリックを生成できる。差のメトリックは、あるフレーム中のブロックと、時間的に近接した前のフレームおよび時間的に近接した次のフレーム中の対応するブロックとの間の輝度差に基づいている。差のメトリックは、例えば、平方差の総和（ＳＳＤ）または絶対差の総和（ＳＡＤ）を含むことができる。一般性を失うことなく、ここではＳＡＤを例示的な例として使用する。
【００４１】
現在の（または選択された）フレームに対して、ＳＡＤの比は、式１で示すように計算される。
【数１】
2009512400.tif 000003
【００４２】
ここでＳＡＤPおよびＳＡＤNは、それぞれ、選択されたフレームに対して、前方向および後方向の差のメトリックの絶対差の総和である。“ゼロによる除算”エラーを防ぐために、分母は、小さい正の数εを含むことに注目すべきである。分母中のまとまりの影響との均衡をとるために、分子も値εを含む。例えば、前のフレーム、現在のフレームおよび次のフレームがまったく同じである場合、動きサーチは、ＳＡＤP＝ＳＡＤN＝０を生じるはずである。このケースにおいて、上述の計算は、０または無限大の代わりに、γ＝１を生成する。
【００４３】
輝度ヒストグラムは、すべてのフレームに対して計算できる。一般に、マルチメディア画像は、８ビットの輝度の深さ（例えば、“ビンズ”の数）を有する。いくつかの観点にしたがって、輝度ヒストグラムを計算するために使用される輝度の深さを１６に設定して、ヒストグラムを取得できる。他の観点において、輝度の深さは、処理されているデータのタイプ、利用できる計算能力、または他の予め定められた基準に依存するかもしれない適切な数に設定できる。いくつかの観点において、データのコンテンツのような、計算されたまたは受信されたメトリックに基づいて、輝度の深さをダイナミックに設定できる。
【００４４】
式２は、輝度ヒストグラムの差（ラムダ）を計算する１つの例を示す。
【数２】
2009512400.tif 000004
【００４５】
ここで、ＮPiは、前のフレームに対するｉ番目のビンにおけるブロックの数であり、ＮCiは、現在のフレームに対するｉ番目のビンにおけるブロックの数であり、Ｎは、フレーム中のブロックの総数である。前および現在のフレームの輝度ヒストグラムの差が完全に異なる（すなわち、ばらばらである）場合、λ＝２である。
【００４６】
図５のブロック５６に関連して論じる、フレーム差のメトリックＤは、式３中で示すように計算できる。
【数３】
2009512400.tif 000005
【００４７】
ここで、Ａは、アプリケーションによって選ばれる定数であり、
【数４】
2009512400.tif 000006
【００４８】
であり、かつ、
【数５】
2009512400.tif 000007
【００４９】
である。
【００５０】
図６は、ビデオに対して、取得された、または決定されたメトリックを使用して、ショット（すなわちシーン）変化の３つのカテゴリを決定するプロセスＢの例を図示する。図６は、図４のブロック４４の１つの観点において生じる、いくつかのステップを図示する。再度図６を参照すると、ブロック６２において、フレームが、急なシーン変化であると指定されるための、いくつかの条件または１つ以上の基準を満たすかどうかをプロセスＢは最初に決定する。図８中のプロセスＤは、この決定の例を図示する。プロセスＢは次にブロック６４に進み、ここでは、プロセスＢは、フレームがゆっくりと変化しているシーンの一部であるかを決定する。図９中のプロセスＣは、ゆっくりと変化しているシーンを決定する例を図示する。最後に、ブロック６６において、フレームが、カメラのフラッシュ、言い換えれば、前のフレームとは異なっている大きな輝度値を含んでいるかどうかをプロセスＢは決定する。図１０中のプロセスＦは、カメラのフラッシュを含んでいるフレームを決定する例を図示する。これらのプロセスの例示的な例を以下で記述する。
【００５１】
急なシーン変化
図８は、急なシーン変化を決定するプロセスを図示するフロー図である。図８は、図６のブロック６２のいくつかの観点において生じることがある、いくつかのステップをさらに詳しく述べる。ブロック８２において、フレーム差のメトリックＤが、式４中で示される基準を満たす場合、
【数６】
2009512400.tif 000008
【００５２】
ここでＡは、アプリケーションにより選ばれる定数であり、Ｔ1は、しきい値（例えば、しきい基準）である。しきい値が満たされる場合、ブロック８４において、プロセスＤは、フレームを急なシーン変化として指定し、この例において、さらなるショット分類を必要としなくてもよい。
【００５３】
１つの例において、Ａ＝１、かつ、Ｔ1＝５に設定すると、良い検出性能を達成することをシミュレーションは示す。現在のフレームが、急なシーン変化のフレームである場合、γcは大きくなるはずであり、γpは小さくなるはずである。単独のγcの代わりに、比
【数７】
2009512400.tif 000009
【００５４】
を使用でき、それによりメトリックは、情況の活動レベルに標準化される。
【００５５】
輝度ヒストグラムの差ラムダ（λ）が、非線形的な方法で式４中で使用されていることに注目すべきである。図１２は、λ＊（２λ＋１）が凸関数であることを図示する。ラムダ（λ）が小さい（例えば、ゼロに近い）とき、λ＊（２λ＋１）の寄与は、比較的小さい。しかしながら、λがより大きくなるとき、関数λ＊（２λ＋１）は、増加した重みを有する。１．４より大きい任意のラムダ（λ）に対して、しきい値Ｔ1が５に設定される場合、急なシーン変化が検出される。
【００５６】
クロスフェイディングおよび遅いシーン変化
図９は、図６のブロック６４中で生じることがある、いくつかの観点のさらなる詳細を図示する。図９を参照すると、ブロック９２において、フレームが、遅いシーン変化を描写している一連のフレームの一部であるかどうかをプロセスＥは決定する。フレーム差のメトリックＤが、式５中で示した、第１のしきい値Ｔ1より小さく、かつ、第２のしきい値Ｔ2より大きいかまたは等しい場合、現在のフレームがクロスフェイディングまたは他の遅いシーン変化であることをプロセスＥは決定する。
【数８】
2009512400.tif 000010
【００５７】
ある数の連続的なフレームに対して、Ｔ1は、式４中で使用されるのと同じしきい値であり、Ｔ2は、別のしきい値である。一般的に、実施における可能性ある差のため、基準Ｔ1およびＴ2は、通常の実験またはシミュレーションにより決定される。式５における基準が満たされる場合、ブロック９４において、プロセスＥは、フレームを、ゆっくり変化しているシーンの一部として分類する。フレームのさらなる分類を必要としなくてもよく、選択されたフレームに対するショット分類は終了する。
【００５８】
カメラフラッシュライトイベント
図１０中で示したプロセスＦは、現在のフレームがカメラのフラッシュライトを含んでいるかどうかを決定できるプロセスの例である。この例示的な観点のカメラにおいて、輝度ヒストグラムの統計量を使用して、現在のフレームがカメラのフラッシュライトを含んでいるかどうかを決定する。ブロック１０２において示したように、現在のフレームの輝度が、前のフレームの輝度および次のフレームの輝度より大きいかどうかを最初に決定することにより、プロセスＦは、カメラのフラッシュのイベントが、選択されたフレーム中にあるかどうかを決定する。そうでない場合、フレームは、カメラのフラッシュのイベントではないが、そうである場合、フレームは、カメラのフラッシュのイベントであるかもしれない。ブロック１０４において、後方向の差のメトリックが、あるしきい値より大きいかまたは等しいかどうかを、そして、前方向の差のメトリックが、しきい値より大きいかまたは等しいかどうかをプロセスＦは決定し、これらの条件の両方が満たされる場合、ブロック１０６において、プロセスＦは、現在のフレームを、カメラのフラッシュライトを有するものとして分類する。
【００５９】
１つの例示的な例において、式６および７中で示したように、ブロック１０２において、プロセスＦは、前のフレームの平均輝度を引いた、現在のフレームの平均輝度が、しきい値Ｔ3に等しいかまたは超えているかどうかを決定し、そして、プロセスＦは、次のフレームの平均輝度を引いた、現在のフレームの平均輝度が、しきい値Ｔ3より大きいかまたは等しいかどうかも決定する。
【数９】
2009512400.tif 000011
【００６０】
式６および７の基準が満たされない場合、現在のフレームは、カメラのフラッシュライトを含むものとして分類されず、プロセスＦは戻る。式６および７中で示した基準が満たされる場合、プロセスＦはブロック１０４に進み、ここでは、プロセスＦは、後方向の差のメトリックＳＡＤPおよび前方向の差のメトリックＳＡＤNが、以下の式８および９中で示したような、あるしきい値Ｔ4より大きいか、または等しいかどうかを決定する。
【数１０】
2009512400.tif 000012
【００６１】
ここで
【数１１】
2009512400.tif 000013
【００６２】
は、現在のフレームの平均輝度であり、
【数１２】
2009512400.tif 000014
【００６３】
は、前のフレームの平均輝度であり、
【数１３】
2009512400.tif 000015
【００６４】
は、次のフレームの平均輝度であり、ＳＡＤPおよびＳＡＤNは、それぞれ、現在のフレームに関係付けられた、前方向および後方向の差のメトリックである。式８および９中で示した基準が満たされない場合、プロセスＦは戻り、基準が満たされる場合、ショットイベントは、フレームが少なくとも１つのカメラのフラッシュライトを含んでいることを示す。
【００６５】
記述したプロセスの実施は、しきい値を含む動作パラメータの差となるので、しきい値Ｔ3の値は一般的に、通常の実験により決定される。ＳＡＤ値が決定に含まれる。その理由は、カメラのフラッシュは一般的に、１フレームだけをとり、そして輝度差のために、前方向および後方向の両方からの動き補償を使用して、このフレームを十分予測できないからである。
【００６６】
いくつかの観点において、しきい値Ｔ1、Ｔ2、Ｔ3およびＴ4のうちの１つ以上が、予め定められ、このような値は、エンコーディングデバイス中のショット分類器に組み込まれる。一般的に、これらのしきい値は、ショット検出の特定の実施の試験を通して選択される。いくつかの観点において、しきい値Ｔ1、Ｔ2、Ｔ3およびＴ4のうちの１つ以上は、ショット分類器に供給された情報（例えば、メタデータ）を使用することに基づいた、またはショット分類器そのものにより計算された情報に基づいた処理の間に（例えば、ダイナミックに）設定できる。
【００６７】
図７を参照すると、図７は、選択されたフレームのショット分類に基づいて、ビデオに対するエンコーディングパラメータを決定するための、またはビデオをエンコードするためのプロセスＣを示す。ブロック７０において、プロセスＣは、選択されたフレームが、急なシーン変化として分類されたかどうかを決定する。そうである場合、ブロック７１において、現在のフレームは、急なシーン変化として分類され、フレームは、Ｉフレームとしてエンコードでき、ＧＯＰの境界を決定できる。そうでない場合、プロセスＣは、ブロック７２に進み、現在のフレームが、ゆっくりと変化しているシーンの一部として分類される場合、ブロック７３において、現在のフレームおよびゆっくりと変化しているシーン中の他のフレームは、予測フレーム（例えば、ＰフレームまたはＢフレーム）としてエンコードできる。プロセスＣは次にブロック７４に進み、ここでは、プロセスＣは、現在のフレームが、１つ以上のカメラのフラッシュ（フラッシュライト）を含んでいるシーンとして分類されたかどうかをチェックする。そうである場合、ブロック７５において、フレームは、特別な処理に対するものとして識別できる。特別な処理は、例えば、選択されたフレームの除去、近接したフレームの複製および選択されたフレームに対する代用（例えば、前または後のフレーム）、またはフレームに対して特定の係数をエンコードすることを含むことができる。フレームが、１つ以上のカメラのフラッシュを含んでいるものとして分類されなかった場合、選択されたフレームに対して、特定のショットイベントが決定されず、選択されたフレームは、他の１つ以上の基準にしたがってエンコードでき、Ｉフレームとしてエンコードでき、または選択されたフレームがエンコードされないように、スキップ（例えば、ドロップ）できる。エンコーダ２５（例えば、図２）またはプロセッサ３１（例えば、図３におけるプロセッサ３１中のエンコーダ３４において）中で、プロセスＣは実現できる。
【００６８】
上述した観点において、圧縮すべきフレームと、それに近接した２つのフレームとの間の差の量は、フレーム差のメトリックＤにより示されている。著しい量の単調な輝度変化が検出される場合、それは、フレーム中のクロスフェイド効果を意味する。クロスフェイドが顕著になればなるほど、Ｂフレームを使用することにより、より大きい利得が達成されるかもしれない。いくつかの観点において、以下の式１０中で示すように、修正されたフレーム差のメトリックが使用される。
【数１４】
2009512400.tif 000016
【００６９】
ここで
【数１５】
2009512400.tif 000017
【００７０】
および
【数１６】
2009512400.tif 000018
【００７１】
は、それぞれ、現在のフレームと前のフレームとの間の輝度差、および現在のフレームと次のフレームとの間の輝度差であり、Δは、実施に依存できるので、通常の実験中で決定できる定数を表し、αは、０と１との間の値を有する重み変数である。
【００７２】
ルーマシフトの不変の傾向が観察され、シフト強度が十分大きい場合、修正されたフレーム差のメトリックＤ1は、オリジナルのフレーム差のメトリックＤとわずかに異なる。Ｄ1は、Ｄと等しいかまたは小さい。ルーマの変化が安定（ｄP＝ｄN）している場合、修正されたフレーム差のメトリックＤ1は、（１−α）の最も低い比率だけ、オリジナルのフレーム差のメトリックＤよりも小さい。
【００７３】
以下の表１は、急なシーン変化検出を追加することによる性能の改善を示す。非シーン変化（ＮＳＣ）とシーン変化（ＳＣ）との両方のケースにおけるＩフレームの総数は、およそ同一である。ＮＳＣのケースにおいては、Ｉフレームは、全体のシーケンスの間に均一に配置されるが、一方、ＳＣのケースにおいては、Ｉフレームは、急なシーン変化のフレームに割り当てられるだけである。
【００７４】
一般的に、ＰＳＮＲに関して、０．２〜０．３ｄＢの向上を達成できると見ることができる。シミュレーションの結果は、ショット検出器が、上述したショットイベントを決定することにおいて、非常に正確であることを示す。通常のクロスフェイド効果を有する５つのクリップのシミュレーションは、Δ＝５．５およびα＝０．４において、０．２２６０３１ｄＢのＰＳＮＲの利得が、同じビットレートで達成されることを示す。
【表１】
2009512400.tif 000019
【００７５】
フローチャート、フロー図、構造図またはブロック図として描写されるプロセスとして、ここで記述したショット検出およびエンコーディングの観点を記述してもよいことが注目される。図中で示したフローチャートは、シーケンシャルなプロセスとして動作を記述してもよいが、動作の多くは、並行して、または同時に実行できる。さらに、動作の順序を並べ換えてもよい。プロセスは、その動作が完了するときに終了する。プロセスは、方法、関数、手続き、サブルーチン、サブプログラム等に対応してもよい。プロセスが関数に対応するとき、その終了は、呼び出している関数または主関数に対する関数の戻りに対応する。
【００７６】
ここで開示したデバイスの１つ以上の要素を、デバイスの動作に影響を与えることなく並べ換えてもよいことも当業者に明らかなはずである。同様に、ここで開示したデバイスの１つ以上の要素を、デバイスの動作に影響を与えることなく組み合わせてもよい。さまざまな異なる技術および技法のいくつかを使用して、情報およびマルチメディアデータを表してもよいことを当業者は理解するだろう。電子ハードウェア、ファームウェア、コンピュータソフトウェア、ミドルウェア、マイクロコードまたはこれらの組み合わせとして、ここで開示した例に関して記述したさまざまな実例となる論理ブロック、モジュール、およびアルゴリズムステップを実現してもよいことを、当業者はさらに理解するであろう。ハードウェアおよびソフトウェアのこの互換性を明瞭に図示するために、さまざまな実例となるコンポーネント、ブロック、モジュール、回路、およびステップをそれらの機能の点から一般的に上述した。このような機能がハードウェアまたはソフトウェアとして実現されるかどうかは、特定の用途およびシステム全体に課される設計制約によって決まる。それぞれの特定の用途に対してさまざまな方法で、当業者は記述した機能を実現するかもしれないが、このような実現決定は、開示した方法の範囲から逸脱を生じさせるものとして解釈すべきではない。
【００７７】
例えば、ここで開示したショット検出およびエンコーディングの、例および図に関して記述した方法またはアルゴリズムのステップを、ハードウェア中で直接、プロセッサにより実行されるソフトウェアモジュール中で、またはその２つの組み合わせ中で具体化してもよい。方法およびアルゴリズムは、セル電話機、コンピュータ、ラップトップコンピュータ、ＰＤＡならびに、あらゆるタイプの個人およびビジネスの通信デバイスに対するビデオのワイヤレス送信を含む通信技術に特に応用できる。ソフトウェアモジュールは、ＲＡＭメモリ、フラッシュメモリ、ＲＯＭメモリ、ＥＰＲＯＭメモリ、ＥＥＰＲＯＭメモリ、レジスタ、ハードディスク、リムーバルディスク、ＣＤ−ＲＯＭ、または技術的に知られている他の任意の形態の記憶媒体中に存在してもよい。プロセッサが記憶媒体から情報を読み取ることができ、記憶媒体に情報を書き込むことができるように、例示的な記憶媒体はプロセッサに結合されている。代替では、記憶媒体はプロセッサと一体化されていてもよい。プロセッサおよび記憶媒体は、特定用途向け集積回路（ＡＳＩＣ）中に存在してもよい。ＡＳＩＣはワイヤレスモデム中に存在してもよい。代替では、プロセッサおよび記憶媒体は、ワイヤレスモデム中にディスクリートコンポーネントとして存在してもよい。
【００７８】
さらに、汎用目的のプロセッサ、デジタル信号プロセッサ（ＤＳＰ）、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラム可能ゲートアレイ（ＦＰＧＡ）または他のプログラム可能論理デバイス、ディスクリートゲートまたはトランジスタ論理、ディスクリートハードウェアコンポーネント、あるいはここで記述した機能を実行するために設計された、これらの任意の組み合わせにより、ここで開示した例に関して記述した、さまざまな実例となる論理ブロック、コンポーネント、モジュールおよび回路を実現または実行してもよい。汎用目的のプロセッサはマイクロプロセッサでもよいが、代わりに、プロセッサは任意の従来のプロセッサ、制御装置、マイクロ制御装置、または状態遷移機械であってもよい。計算デバイスの組み合わせ、例えば、ＤＳＰとマイクロプロセッサとの組み合わせ、複数のマイクロプロセッサ、ＤＳＰコアに関連した１つ以上のマイクロプロセッサ、または他の任意のこのような構成として、プロセッサを実現してもよい。
【００７９】
いかなる当業者であっても開示した方法および装置を作りまたは使用できるように、開示した例の記述をこれまでに提供している。これらの例に対してさまざまな修正が当業者に容易に明らかになり、開示した方法および装置の精神または範囲から逸脱することなく、ここで規定した原理を、追加されるかもしれない他の例および追加的な要素に適用してもよい。観点の記述は、例示的であり、かつ、特許請求の範囲を限定しないように向けられている。
【図面の簡単な説明】
【００８０】
【図１】図１は、ストリーミングマルチメディアデータを配信する通信システムのブロック図である。
【図２】図２は、マルチメディアデータをエンコードするデジタル送信機構のいくつかのコンポーネントのブロック図である。
【図３Ａ】図３Ａは、ショット検出と、検出されたショットに基づいてエンコードするための処理デバイスのブロック図である。
【図３Ｂ】図３Ｂは、ショット検出と、検出されたショットに基づいてエンコードするための処理デバイスのブロック図である。
【図４】図４は、ショット検出に基づいて、マルチメディアデータをエンコードする方法を図示するフロー図である。
【図５】図５は、複数のビデオフレームの近接したフレーム間の差のメトリックを取得する方法を図示するフロー図である。
【図６】図６は、決定されたメトリックに基づいて、ショット変化を決定する方法を図示するフロー図である。
【図７】図７は、ショット変化に基づいて、ビデオストリームをエンコードする方法を図示するフロー図である。
【図８】図８は、急なシーン変化を決定する方法を図示するフロー図である。
【図９】図９は、遅いシーン変化を決定する方法を図示するフロー図である。
【図１０】図１０は、カメラのフラッシュを決定する方法を図示するフロー図である。
【図１１】図１１は、現在のフレームＣの画素を過去のフレームＰと未来の（すなわち次の）フレームＮに整合させる例を示す説明図である。
【図１２】図１２は、輝度ヒストグラムの差の値ラムダと、ラムダ＊（２＊ラムダ＋１）との関係を示しているグラフである。
【図１３】図１３は、動きベクトル決定プロセスと予測フレームエンコーディングとの例を図示する。
【図１】
2009512400.tif 000020
【図２】
2009512400.tif 000021
【図３Ａ】
2009512400.tif 000022
【図３Ｂ】
2009512400.tif 000023
【図４】
2009512400.tif 000024
【図５】
2009512400.tif 000025
【図６】
2009512400.tif 000026
【図７】
2009512400.tif 000027
【図８】
2009512400.tif 000028
【図９】
2009512400.tif 000029
【図１０】
2009512400.tif 000030
【図１１】
2009512400.tif 000031
【図１２】
2009512400.tif 000032
【図１３】
2009512400.tif 000033
【国際調査報告】
2009512400.tif 000034
2009512400.tif 000035
2009512400.tif 000036