(57)【特許請求の範囲】
【請求項１】
装置内の映像デコーダに入力されたビットストリームを、外部の映像デコーダにより復号化された、処理済み映像シーケンスと時間的に同期するための、前記装置によって実行される、方法であって、
a)前記ビットストリームを捕捉し、それをビットストリーム分析器に供給するステップ、
b)前記ビットストリーム分析器により、前記捕捉されたビットストリームをパースかつ分析するステップ、
c)前記ビットストリームを復号化し、それから再構成された画像Nrecを提供するステップ、
d)前記再構成された画像Nrecをバッファに記憶するステップ、および、
e)マッチングフレームn*を、前記バッファ内の再構成された画像の集合から探し出すために、前記外部の映像デコーダの出力側から受信される、処理済み映像シーケンスを、前記記憶された再構成された画像の各個と比較するステップ
を含む、前記装置によって実行される方法。
【請求項２】
前記マッチングフレームn*、およびその前記ビットストリームの対応する部分を、映像品質評価ユニットに供給するステップf)をさらに含む、請求項1に記載の前記装置によって実行される方法。
【請求項３】
ステップe)が、画素ドメインにおいて実行される、請求項1または2に記載の前記装置によって実行される方法。
【請求項４】
ステップb)が、前記ビットストリームから、各画像に対して、
伝送エラーによって失われていたパケット、およびパケット損失により影響を受けていた各フレーム内の対応する領域、ならびに、
各フレームのどの画素が、それらの予測のために、エラーを含む部位を参照するか、したがって、前記パケット損失により影響を及ぼされていた傾向にあるかを示す、動きベクトルおよびマクロブロックタイプに基づくエラー伝播マップ
を抽出するステップをさらに含む、請求項1、2または3に記載の前記装置によって実行される方法。
【請求項５】
ステップe)が、前記ビットストリームから抽出される情報を活用することにより、前記処理済み映像シーケンスと、前記バッファ内の前記再構成された画像との間の距離メトリックを計算するステップを含む、請求項1から4のいずれかに記載の前記装置によって実行される方法。
【請求項６】
前記ビットストリームから抽出される前記情報が、パケット損失による劣化の空間的および時間的な場所を含む、請求項5に記載の前記装置によって実行される方法。
【請求項７】
ステップf)で、前記映像品質評価ユニットが、前記ビットストリームおよび前記処理済み映像シーケンスからの取得情報に基づいて、主観品質スコアを推定する、請求項2から6のいずれかに記載の前記装置によって実行される方法。
【請求項８】
装置内の映像デコーダに入力されたビットストリームを、外部の映像デコーダにより復号化された、処理済み映像シーケンスと時間的に同期するための前記装置であって、
前記ビットストリームを受信し、前記ビットストリームをパースかつ分析するように構成されるビットストリーム分析器、ならびに、
前記分析されたビットストリームを、前記処理済み映像シーケンスと同期するように構成され、
前記ビットストリーム分析器から前記分析されたビットストリームを受信し、それから再構成された画像Nrecを提供するように構成されるデコーダと、
前記処理済み映像シーケンスにより表される出力画像が、前記再構成された画像Nrecと比較され得るように、前記装置内の前記デコーダからの前記再構成された画像Nrecを記憶するように構成されるバッファと、
前記ビットストリーム分析器から前記分析されたビットストリームを、前記バッファから前記再構成された画像を、および前記処理済み映像シーケンスを受信し、
前記処理済み映像シーケンスを、前記バッファ内の前記再構成された画像のうちのそれぞれと比較するように、かつ、
前記バッファ内の最良のマッチング画像を決定するように
構成される画素ドメイン比較ユニットと
を備える同期モジュール
を備える装置。
【請求項９】
前記映像シーケンスの品質を査定するために、前記ビットストリームおよび前記処理済み映像シーケンスからの情報を組み合わせる映像品質評価モジュールをさらに備える、請求項8に記載の装置。
【請求項１０】
前記比較ユニットが、前記ビットストリームから抽出される情報を活用することにより、前記処理済み映像シーケンスと、前記バッファ内の前記比較される再構成された画像との間の距離メトリックを計算するようにさらに構成される、請求項8または9に記載の装置。
【請求項１１】
前記比較ユニットが、前記ビットストリームおよび前記処理済み映像シーケンスからの情報に基づいて、主観品質スコアを推定するために、前記映像品質評価モジュールに前記最良のマッチング画像を出力するように構成される、請求項9または10に記載の装置。
【請求項１２】
前記ビットストリーム分析器が、前記ビットストリームから、各ピクチャに対して、
伝送エラーによって失われていたパケット、およびパケット損失により影響を受けていた各フレーム内の対応する領域、ならびに、
各フレームのどの画素が、それらの予測のために、エラーを含む部位を参照するか、したがって、前記パケット損失により影響を及ぼされていた傾向にあるかを示す、動きベクトルおよびマクロブロックタイプに基づくエラーマップ
を抽出するように構成される、請求項8から11のいずれかに記載の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、映像デコーダの入力映像ビットストリームを、映像デコーダにより復号化された、処理済み映像シーケンス(processed video sequence)と時間的に同期するための方法および装置に関する。
【背景技術】
【０００２】
ここ数年にわたって映像通信の用途が急増したことにより、ユーザにより知覚されるサービス品質として定義される、ユーザ体感品質(QoE)を評価するためのロバストな映像品質尺度の開発が必要とされてきた。映像品質の評価は、コンテンツプロバイダによるサービスの効率的な設計、計画立案、および監視において重要な事柄である。
【０００３】
今日では、ハイブリッド映像品質評価モデル/システムが、パケット情報、ビットストリーム情報および復号化された再構成された画像の組み合わせを使用する。一般に、ハイブリッド映像品質評価アルゴリズムでは、ビットストリームから抽出または算出される特徴(例えば、動きベクトル、マクロブロックタイプ、変換係数、量子化パラメータ等)、および、パケットヘッダにより抽出される情報(例えば、ビットレート、パケット損失、遅延等)が、画素ドメインにおいて出力される再構成された画像から抽出される特徴と組み合わされる。しかしながら、前者の特徴が、時間的な同期の損失によって、後者と時間的に対応しないならば、品質の査定は精密でないことになる。したがって、あらゆるハイブリッド映像品質評価アルゴリズムでの第1のステップは、復号化された再構成された画像との映像ビットストリームの同期である。
【０００４】
ハイブリッド映像品質評価システムのブロック図が、図1に図示される。エンドユーザ側では、プローブデバイスが、入来するビットストリームを捕捉し、次いでそれを、何らかの特徴を抽出かつ計算するために、パースかつ分析する。これらの特徴は、出力される映像シーケンスとの映像ビットストリームの時間的な同期に関与しているモジュールに入力される。
【０００５】
さらに、復号化デバイス、例えば、セットトップボックス(STB)が、受信されたビットストリームを復号化し、出力デバイスにより表示される、処理済み映像シーケンス(PVS)を生成する。PVSは、それが映像ビットストリームと時間的に同期され得るように、時間的な同期に関与しているモジュールにさらに入力される。
【０００６】
一般に、ビットストリームとPVSとの間の時間的な同期の損失の主な理由は、遅延である。映像ストリームが、インターネットなどのベストエフォート型ネットワークを介して伝送される場合、各パケットの到着時間は、一定ではなく、有意に変動する場合がある。ネットワークにわたってのパケットのレイテンシの経時的な変動性は、ジッタと呼ばれる。ジャーキネスを伴わないシーケンスの円滑な再生を確実にするために、大部分の映像システムは、デジッタバッファを用いる。受信されたビットストリームは、各パケットの到着時間に基づいて入力バッファに書き込まれ、それからデコーダに、フレームに対応するピクチャデータが、フレーム周期に対応する所定の時間間隔で読み出される。各ピクチャの表示タイミングは、パケットヘッダに記録されるタイムスタンプフィールドにより決定される。すなわち、タイムスタンプ値は、ピクチャスタートコードの検出からピクチャ表示タイミングまでに経過する遅延時間期間に対応する。
【０００７】
上記で説明された映像復号化システムでは、各映像フレームの表示タイミングは、表示タイミングの決定のために映像ビットストリームに含まれるデータによって決定される。フレームの表示のための時間は固定していないので、PVSは、元のビットストリームと常に正確にマッチングされ得るとは限らない。
【０００８】
文献において、ソース映像シーケンスとひずんだ映像シーケンスとの間の時間的な同期の問題は、以前に研究されており、映像位置合わせ(video registration)とも呼ばれる。M. Barkowsky、R. Bitto、J. Bialkowski、およびA. Kaup、「Comparison of matching strategies for temporal frame registration in the perceptual evaluation of video quality」、Proc. of the Second International Workshop on Video Processing and Quality Metrics for Consumer Electronics、2006年1月では、映像位置合わせのためのブロックマッチングと位相相関との間の比較が、提示され、性能および複雑性に関して検査されている。さらに、動的計画法を使用するマッチングコスト関数の最小化に基づく、フレームの除去、挿入、シャフリング、およびデータ圧縮の原因を説明するフレームマッチングアルゴリズムが、Y. Y. Lee、C. S. Kim、およびS. U. Lee、「Video frame-matching algorithm using dynamic programming」、Journal of Electronic Imaging、SPIE、2009年において提示されている。J. Lu、「Fast video temporal alignment estimation」(米国特許第6751360号)では、映像品質測定値に関して、ひずんだ映像を対応するソース映像に対して時間的に位置調整するための、高速の時間的な位置調整(alignment)推定方法が提示されている。各映像シーケンスは、各フレームに対するデータ点を、2つの後続のフレーム間の相互相関として算出することにより、シグネチャ曲線に変換される。次いで、ひずんだ映像の時間的な位置ずれが、検査される映像シーケンスのシグネチャ曲線間の正規化された相互相関の最大値を探し出すことにより決定される。2つの映像シーケンス間の空間的、時間的、およびヒストグラムの対応関係を特定するための別の方法が、H. Cheng、「Video registration based on local prediction errors」(米国特許第7366361号)で説明されている。各マッピングが局所的予測誤差を最小化するように、1つまたは複数の元のフレームの選択された集合から処理済み集合へのマッピングを生成することにより、PVSは、参照映像シーケンスに対して位置調整される。K. Ferguson、「Systems and methods for robust video temporal registration」(米国特許出願公開第2008/0253689号)では、フレームおよび部分画像の抜き出し測定値が、参照および試験の映像シーケンスから生じる。次いで、それらは、フレーム間の局所的なピアソンの相互相関係数を使用して線形的に位置調整される。加えて、C. Souchard、「Spatial and temporal alignment of video sequences」(米国特許出願公開第2007/0097266号)では、動き関数が、試験および参照の映像シーケンスのフレーム間での画素の集合の動きを説明するために定義され、変換が、2つの画像を位置調整するために使用される。
【０００９】
J. Bainaら、「Method for controlling a digital television metrology equipment、米国特許第6,618,077号、2003年」では、同期信号を生成するための、MPEG-2トランスポートストリームからのパラメータの抽出のための方法が提案されている。しかしながら、この方法は、映像エレメンタリストリームがMPEG-2トランスポートストリームでパケット化されている場合にのみ適用可能であり、任意のトランスポーテーションプロトコルには適用され得ない。それとは反対に、提案される方法は、特定のトランスポーテーションまたはアプリケーションのプロトコルを必要とすることなく、任意の映像ビットストリームに適用され得る。さらに、上記の方法では、映像信号のどのピクチャ(映像フレーム)が、品質予測のために使用されるべきかを指示するために、映像品質監視アルゴリズムに同期信号を提供する。それとは違い、提案される方法は、外部のデコーダからの考慮中の各ピクチャに対応するビットストリームの部分を特定する。最後に、この方法は、映像ビットストリームを外部の映像デコーダからのピクチャと同期するためにビットストリーム情報を活用せず、一方で、提案される本発明は、同期を実行するためにビットストリームを活用する。映像ビットストリームの活用は、パケット損失からの影響を考慮することを可能にし、伝送エラーの場合に適用され得る。
【００１０】
2つのデータ信号の位置調整のための別の方法が、「M. Keyhl、C. Schmidmer、およびR. Bitto、Apparatus for determining data in order to temporally align two data signals、国際公開第2008/034632号、2008年」に提示されている。それとは違い、提案される本発明は、外部の映像デコーダからのピクチャと入力映像ビットストリームとの間の同期をもたらす。さらに、上記の方法は、画素ドメインで同期を実行し、したがってそれは、入力映像ビットストリームの完全な復号化を必要とする。一方、提案される方法は、同期が、完全な復号化を伴わず、パケットヘッダから実行される、2つの実施形態(第2および第3の実施形態)を提供する。
【００１１】
デジタル信号を同期するためのさらに別の方法が、「J. Bainaら、「Method for synchronizing digital signals」、米国特許出願公開第2003/0179740号、2003年」に提示されている。それは、フルリファレンスの方法である、すなわち、参照信号が、同期を実行するために必要とされる。それとは反対に、本発明は、映像ビットストリームと、外部の映像デコーダからの復号化されたピクチャとの間の同期のためのノーリファレンスの方法を提案し、したがって、参照信号(映像シーケンス)は必要でない。さらに、上記の方法は、同期のためにビットストリームからのパラメータの抽出を必要とし、したがって、暗号化されたビットストリームの場合には適用され得ない。一方、提案される本発明での方法では、PVSとの暗号化されたビットストリームの同期に対する実施形態を説明する。
【先行技術文献】
【特許文献】
【００１２】
【特許文献１】米国特許第6751360号明細書
【特許文献２】米国特許第7366361号明細書
【特許文献３】米国特許出願公開第2008/0253689号明細書
【特許文献４】米国特許出願公開第2007/0097266号明細書
【特許文献５】米国特許第6,618,077号明細書
【特許文献６】国際公開第2008/034632号パンフレット
【特許文献７】米国特許出願公開第2003/0179740号明細書
【特許文献８】国際公開第2009/012297号パンフレット
【非特許文献】
【００１３】
【非特許文献１】M. Barkowsky、R. Bitto、J. Bialkowski、およびA. Kaup、「Comparison of matching strategies for temporal frame registration in the perceptual evaluation of video quality」、Proc. of the Second International Workshop on Video Processing and Quality Metrics for Consumer Electronics、2006年1月
【非特許文献２】Y. Y. Lee、C. S. Kim、およびS. U. Lee、「Video frame-matching algorithm using dynamic programming」、Journal of Electronic Imaging、SPIE、2009年
【非特許文献３】G. Valenziseら、「Estimating channel-induced distortion in H.264/AVC video without bitstream information」、QoMEX、2010年
【非特許文献４】T. Adamek、およびN. O'Connor、「Efficient contour-based shape representation and matching」、Multimedia Information Retrieval、2003年
【発明の概要】
【発明が解決しようとする課題】
【００１４】
本発明の目的は、映像デコーダ、例えばセットトップボックス(STB)の入力映像ビットストリームを、処理済み映像シーケンス(PVS)と時間的に同期し、それらの同期を可能にするための方法および装置を提供することである。この目的は、特許請求の範囲の特徴によって実現される。
【課題を解決するための手段】
【００１５】
第1の態様によれば、本発明は、映像デコーダの入力ビットストリームを、外部の映像デコーダにより復号化された、処理済み映像シーケンスと時間的に同期するための方法であって、
a)入力ビットストリームを捕捉し、それをビットストリーム分析器に供給するステップ、
b)ビットストリーム分析器により、捕捉された入力ビットストリームをパースかつ分析するステップ、
c)入力ビットストリームを復号化し、それから再構成された画像Nrecを提供するステップ、
d)再構成された画像Nrecをバッファに記憶するステップ、および、
e)マッチングフレームn*を、バッファ内の再構成された画像の集合から探し出すために、映像デコーダの出力側から受信される、処理済み映像シーケンスを、記憶された再構成された画像の各個と比較するステップ
を含む方法を提供する。
【００１６】
この方法は、マッチングフレームn*、およびそのビットストリームの対応する部分を、映像品質評価ユニットに供給するステップf)をさらに含み得る。映像品質評価ユニットは、ビットストリームおよび処理済み映像シーケンスからの取得情報に基づいて、主観品質スコアを推定することができる。
【００１７】
この方法のステップb)は、ビットストリームから、各画像に対して、伝送エラーによって失われていたパケット、およびパケット損失により影響を受けていた各フレーム内の対応する領域、ならびに、各フレームのどの画素が、それらの予測のために、エラーを含む部位を参照するか、したがって、パケット損失により影響を及ぼされていた傾向にあるかを示す、動きベクトルおよびマクロブロックタイプに基づくエラー伝播マップ(error propagation map)を抽出するステップをさらに含み得る。
【００１８】
さらに、ステップe)は、ビットストリームから抽出される情報を活用することにより、処理済み映像シーケンスと、バッファ内の再構成された画像との間の距離メトリック(distance metric)を計算するステップを含み得る。ビットストリームから抽出される情報は、パケット損失による劣化(impairment)の空間的および時間的な場所を含み得る。
【００１９】
第2の態様によれば、本発明は、画素ドメインに対して映像ビットストリームを完全に復号化することなく、映像デコーダの入力ビットストリームを、映像デコーダにより復号化された、処理済み映像シーケンスと時間的に同期するための方法であって、
a)入力ビットストリームを捕捉し、それをビットストリーム分析器に供給するステップ、
b)エラーマップI(x,y,t)、およびパケット損失により影響を及ぼされていた画素の集合Aを生成するために、ビットストリーム分析器により、捕捉されたビットストリームを分析するステップであって、I(x,y,t)が、第tのフレームの場所(x,y)でのエラーマップ値を示し、ただし、x=0、1、…、M、およびy=0、1、…、Nであり、M、Nがそれぞれ、映像シーケンスの各フレームの水平方向および垂直方向のサイズであるステップ、
c)ステップ(b)でビットストリーム分析器により生成される、Nrecのフレームのエラーマップをバッファに記憶するステップ、ならびに、
d)処理済み映像シーケンスの現在の画像とマッチングする、マッチングフレームn*を、バッファ内の再構成されたフレームの集合から探し出すために、生成されたNrecのフレームの記憶されたエラーマップを、現在の処理済み映像シーケンスの対応するエラーマップと比較するステップ
を含む方法を提供する。
【００２０】
この方法は、マッチングフレームn*、およびそのビットストリームの対応する部分を、映像品質評価ユニットに供給するステップe)を含み得る。
【００２１】
ステップc)とd)との間で、以下のステップ、すなわち、
処理済み映像シーケンスの現在の画像のエッジを抽出するステップ、
パケット損失により影響を受けた領域に属する可能性があるエッジの輪郭を計算するステップ、
処理済み映像シーケンスのエッジ輪郭を、バッファに記憶されたエラーマップのエッジ輪郭と比較するステップ
が実行されることがさらに好ましい。
【００２２】
第3の態様によれば、本発明は、映像デコーダの暗号化された入力ビットストリームを、映像デコーダにより復号化された、処理済み映像シーケンスと時間的に同期するための方法であって、
a)暗号化された入力ビットストリームを分析モジュールに供給するステップ、
b)分析モジュールで、暗号化された入力ビットストリームのパケットヘッダ情報を分析し、ビットストリームに包含されるピクチャのサイズおよびタイプを算出するステップ、
c)算出されたピクチャのサイズおよびタイプを基にして、映像ピクチャで描写されるコンテンツを表す特徴を抽出するステップ、
d)処理済み映像シーケンスのピクチャから、コンテンツのタイプ、およびコンテンツを表すそれぞれの特徴を抽出するステップ、
e)現在の処理済み映像シーケンスに対応するビットストリームの部分を計算するために、ステップd)で、処理済み映像シーケンスの現在のピクチャから抽出される特徴を、ステップc)で、分析されたピクチャから抽出される特徴と比較するステップ
を含む方法を提供する。
【００２３】
ステップc)およびd)で抽出される特徴は、好ましくは、時間依存性(time-varying)の特徴であり、これらのステップは、画素ドメインにおいて実行され得る。
【００２４】
好ましい実施形態によれば、検査中の処理済み映像シーケンスに対応するビットストリームの特徴および部分は、映像品質評価モジュールにさらに入力される。
【００２５】
ステップb)は、パケット損失により影響を受けていたフレームをさらに検出し得るものであり、
f)パケット損失によって生成されたアーチファクトに関して、処理済み映像シーケンスの現在のピクチャを検査するステップ、および、
g)処理済み映像シーケンスの、ビットストリームの対応するフレームとのマッチングのステップであって、処理済み映像シーケンスの現在のピクチャが、ステップf)で、パケット損失の結果として挿入されたアーチファクトを包含することが検出されたならば、そのピクチャが、ステップb)で、パケット損失を包含することがわかったフレームに対応するビットストリームの部分とマッチングされるステップ
をさらに含み得る。
【００２６】
本発明のさらなる態様は、映像デコーダの入力ビットストリームを、外部の映像デコーダにより復号化された、処理済み映像シーケンスと時間的に同期するための装置であって、
入力ビットストリームを受信し、入力ビットストリームをパースかつ分析するように構成されるビットストリーム分析器、ならびに、
分析されたビットストリームを、処理済み映像シーケンスと同期するように構成され、
ビットストリーム分析器から分析されたビットストリームを受信し、それから再構成された画像Nrecを提供するように構成されるデコーダと、
処理済み映像シーケンスにより表される出力画像が、この特定の数の、前に再構成された画像と比較され得るように、前記デコーダからの前記再構成された画像Nrecを記憶するように構成されるバッファと、
ビットストリーム分析器から分析されたビットストリームを、バッファから再構成された画像を、および処理済み映像シーケンスを受信し、
処理済み映像シーケンスを、バッファ内の再構成された画像のうちのそれぞれと比較するように、かつ、
映像バッファ内の最良のマッチング画像を決定するように
構成される画素ドメイン比較ユニットと
を備える同期モジュール
を備える装置に関する。
【００２７】
装置は、好ましくは、映像シーケンスの品質を査定するために、ビットストリームおよび処理済み映像シーケンスからの情報を組み合わせる映像品質評価モジュールを備える。比較ユニットは、ビットストリームから抽出される情報を活用することにより、処理済み映像シーケンスと、バッファ内の検査される再構成された画像との間の距離メトリックを計算するようにさらに構成され得る。さらに、比較ユニットは、ビットストリームおよび処理済み映像シーケンスからの情報に基づいて、主観品質スコアを推定するために、映像品質評価モジュールに最良のマッチング画像を出力するように構成される。
【００２８】
ビットストリーム分析器は、ビットストリームから、各ピクチャに対して、伝送エラーによって失われていたパケット、およびパケット損失により影響を受けていた各フレーム内の対応する領域、ならびに、各フレームのどの画素が、それらの予測のために、エラーを含む部位を参照するか、したがって、パケット損失により影響を及ぼされていた傾向にあるかを示す、動きベクトルおよびマクロブロックタイプに基づくエラーマップを抽出するように構成されることがさらに好ましい。
【００２９】
さらなる態様によれば、本発明は、映像デコーダの入力ビットストリームを、映像デコーダにより復号化された、処理済み映像シーケンスと時間的に同期するための装置であって、
入力ビットストリームを受信し、暗号化された入力ビットストリームのパケットヘッダ情報のために入力ビットストリームを分析するように、かつ、ビットストリームに包含されるフレームのサイズおよびタイプを算出するように構成されるビットストリーム分析器、ならびに、
分析されたビットストリームを、処理済み映像シーケンスと同期するように構成され、
ビットストリーム分析器から、分析されたビットストリームを受信し、エラーマップI(x,y,t)、およびパケット損失により影響を及ぼされていた画素の集合Aを生成するように構成される抽出モジュールであって、I(x,y,t)が、第tのフレームの場所(x,y)でのエラーマップ値を示し、ただし、x=0、1、…、M、およびy=0、1、…、Nであり、M、Nがそれぞれ、映像シーケンスの各フレームの水平方向および垂直方向のサイズである、抽出モジュールと、
プローブ内でビットストリーム分析器により内部で生成される、Nrecのフレームのエラーマップを記憶するように構成されるバッファと、
バッファから、再構成されたフレームNrecのエラーマップを、および処理済み映像シーケンスの対応するエラーマップを受信し、
Nrecの再構成されたフレームの記憶されたエラーマップを、現在の処理済み映像シーケンスの対応するエラーマップと比較するように、かつ、
処理済み映像シーケンスの現在の画像とマッチングする、マッチングフレームn*を、バッファ内の再構成されたフレームの集合から決定するように
構成されるエラーパターン検索モジュールと
を備える同期モジュール
を備える装置を提供する。
【００３０】
さらなる態様によれば、本発明は、映像デコーダの暗号化された入力ビットストリームを、映像デコーダにより復号化された、処理済み映像シーケンスと時間的に同期するための装置であって、
暗号化された入力ビットストリームを受信し、入力ビットストリームをパースかつ分析するように構成されるビットストリーム分析器、ならびに、
分析されたビットストリームを、処理済み映像シーケンスと同期するように構成される同期モジュールであって、
算出されたピクチャのサイズおよびタイプを基にして、映像ピクチャで描写されるコンテンツを表す特徴を抽出するように構成される第1の抽出モジュールと、
処理済み映像シーケンスのピクチャから、コンテンツのタイプ、およびコンテンツを表すそれぞれの特徴を抽出するように構成される第2の抽出モジュールと、
第1の抽出ユニットおよび第2の抽出ユニットに接続され、
処理済み映像シーケンスの現在のピクチャから抽出される特徴を、分析されたピクチャから抽出される特徴と比較するように、かつ、
現在の処理済み映像シーケンスに対応するビットストリームの部分を計算するように
構成される比較ユニットと
を備えることを特徴とする同期モジュール
を備える装置を提供する。
【００３１】
本発明の目的に戻ると、それは、一般論的には、本発明によって、入力ビットストリームをパースかつ復号化するためのビットストリーム分析器、ビットストリームをPVSと時間的に同期することに関与している同期モジュールを含む、デバイス(プローブ)の提供により実現され得る。
【００３２】
映像ビットストリームとPVSとの時間的な同期に関与しているデバイスは、デコーダから出力される再構成された画像を記憶するバッファを備える。このバッファは、復号化デバイスからの特定の数の再構成された画像Nrecをプローブ内で記憶可能であるべきであり、それによって、出力画像が、この特定の数の、前に再構成された画像と比較され得る。
【００３３】
PVSと映像ビットストリームとの同期に関与しているモジュールは、以下の動作、すなわち、
a)PVSをバッファ内の再構成された画像のうちのそれぞれと比較する
b)ビットストリームから抽出される情報(例えば、パケット損失による劣化の空間的および時間的な場所)を活用することにより、PVSと、バッファ内の検査される再構成された画像との間の距離メトリックを計算する
c)映像バッファ内の最良のマッチング画像を決定し、それを、ビットストリームおよびPVSからの情報に基づいて主観スコアMOSを推定することに関与している映像品質評価モジュールに出力する
を実行する。
【００３４】
以下では、本発明がより詳細に説明される。
【００３５】
第1に、ビットストリームとPVSとの間の時間的な同期の第1の実施形態が、図2を参照して説明される。
【００３６】
ビットストリームと復号化/処理済み映像シーケンスとの間の時間的な同期は、2つのステップからなる。最初に、第1のステップでは、本発明による装置、すなわちプローブデバイスは、ビットストリームを捕捉し、それを、各ピクチャに対して以下の情報、すなわち、
a.伝送エラーによって失われていたパケット、およびパケット損失により影響を受けていた各フレーム内の対応する領域、ならびに、
b.各フレームのどの画素が、それらの予測のために、エラーを含む部位を(予測のために)参照するか、したがって、パケット損失により影響を及ぼされていた傾向にあるかを示す、動きベクトルおよびマクロブロックタイプに基づくエラー伝播マップ
を抽出するビットストリーム分析器に送り込む。
【００３７】
Aによって、パケット損失により影響を受けていた画素、および、それらの予測のために、失われた画素を参照する画素の集合を示す。さらに、I(x,y,t)によって、第tのフレームの場所(x,y)でのエラー伝播マップ値を示し、ただし、x=1、2、…、M、およびy=1、2、…、Nであり、M、Nがそれぞれ、映像シーケンスの各フレームの水平方向および垂直方向のサイズである。集合Aに属する画素に対する値は1であり、そうでない場合は、それらの値は0である。したがって、次式となる。
【００３８】
【数１】
0005955319.tif 000002
【００３９】
換言すれば、集合Aは、異なるエラー隠蔽技法によって、処理済み映像シーケンスと、プローブ内のデコーダの再構成された画像との間で同一でないことになるすべての画素を包含する。この理由で、集合Aに属するすべての画素は、以下の段階での時間的な同期のために利用不可能と示される。エラー伝播マップの導出の例が、図5に図示される。パケット損失が第1のフレームで発生し(図5では、右側のピクチャ内の暗い領域が、パケット損失によって劣化されていたマクロブロックを示す)、予測処理のために第1のフレームの影響を受けた領域を参照する後続のフレームの画素が、計算され、同期処理のために利用不可能とマーキングされる。これは、プローブの内部の映像デコーダと、復号化デバイス、例えばSTBのデコーダとの間での異なるエラー隠蔽技法の適用によって、再構成された画像と処理済み映像シーケンスとの間で異なり得る画素をなくすのに役立つことになる。
【００４０】
以下では、内部のデコーダ内のエラー伝播マップの生成のためのより多くの情報が提供される。各ピクチャに対して、プローブ分析器が、ビットストリームで、(例えば、ネットワークの劣化および/またはパケット損失によって)正しく受信されなかったマクロブロックの数および位置を検出する。検出は、新しいスライスの始まりを示すスライスヘッダのパーシングに基づく。現代の符号化スキームでは、スライスは、同じピクチャから他の情報を参照することなく、独立して符号化され得る符号化ユニットと定義されることに留意されたい。したがって、損失が発生する所とスライスの末端との間のすべてのマクロブロックが、復号化不可能とマーキングされる。例として、図6では、エラーがフレームtで発生し、影響を受けたマクロブロックが灰色で示されるものとする。エラー伝播マップの値が、そのマクロブロックに属するすべての座標に対しては1に設定され、他のすべての(正しく受信かつ復号化された)フレームに対しては0に設定される。
【００４１】
加えて、エンコーダの予測的性質によって、後続のフレームでのマクロブロックは、復号化されるために前のフレームを参照する場合がある。インター予測ピクチャ(PピクチャおよびBピクチャ)に対しては、前のフレームでの参照される場所に対する情報が、ビットストリームにおいて、各マクロブロックに対する以下の構文要素、すなわち、(a)使用されるべき参照フレームを示す参照インデックス、(b)マクロブロックの元の場所からの(水平方向および垂直方向の)変位を示す動きベクトルに包含される。現代のエンコーダ、例えばH.264/AVCでは、参照インデックスおよび動きベクトルは、マクロブロックのサブパーティションに対しては異なる場合があることに留意されたい。したがって、エラー伝播マップが、参照フレームでのエラーを含む領域を参照するマクロブロックのすべての座標に対しては1に設定され、そうでない場合は0に設定される。
【００４２】
この手順の例が、図6に図示される。図6は、時間的な(インター)予測による、内部のデコーダでのエラー伝播マップの生成を示す。エラーは、元はフレームtで発生し(灰色のマクロブロック)、後続のフレームt+1に対して、フレームtでのエラーを含むマクロブロックを参照する、位置(x1,y1)および(x2,y2)でのマクロブロックにおいて伝播する。新たなエラーはフレームt+1では発生しないが、マクロブロックは、参照フレームでのエラーを含む情報を参照することによってエラーを含むことに留意されたい。すなわち、フレームt+1でのマクロブロック、位置(x1,y1)および(x2,y2)でのマクロブロックは、フレームtでのエラーを含むマクロブロックを参照し、したがって、エラーを含むとして示される(すなわち、これらのフレームに対するエラー伝播マップが1に設定される)。
【００４３】
したがって、時間的に予測されるマクロブロックに対しては、次式となる。
I(x,y,t)=I(x+mvx,y+mvy,t+r)  式(2)
ただし、x、yは、考慮中のマクロブロックの行および列を示し、tは、フレーム番号を示し、mvxおよびmvyは、そのマクロブロックの水平方向および垂直方向の動きベクトルを示し、t+rは、参照として使用されるべきフレームに対する参照インデックスを示す。
【００４４】
さらに、エラーは、イントラ予測によって、すなわち、同じフレームでの近傍のマクロブロックからのマクロブロックの予測によって伝播する場合がある。現代の符号化スキームでは、マクロブロックは、それがインター予測ピクチャに属する場合でも、イントラモードで符号化され得ることに留意されたい。これは図7に例示され、マクロブロックA、B、およびCは、(パケット損失がその位置で発生したため、または、それらが、時間的に予測され、前に復号化されたピクチャでのエラーを含む領域を参照するためのいずれかで)エラーを含み、したがって、デコーダにより隠蔽される。しかしながら、マクロブロック、例えばDが、イントラ符号化され、マクロブロックA、B、およびCを参照として使用するならば、エラーがそのマクロブロックに伝播し、エラー伝播マップが1に設定される。そうでない場合、マクロブロックが、エラーを含むマクロブロックを参照として使用しないならば、そのマクロブロックの座標に対するエラー伝播マップが0に設定される。マクロブロックF、D、Eは、正しく受信される。しかしながら、マクロブロックEは、マクロブロックD、B、およびCを参照し、したがって、エラーがそれに伝播する。
【００４５】
エラー伝播マップの生成は、画素レベルでのビットストリームの完全な復号化を必要としないことに留意しなければならない。実際、それは、ビットストリーム分析器によりビットストリームから抽出される以下の情報、すなわち(a)スライスヘッダ、(b)ピクチャタイプ、(c)マクロブロックタイプ、(d)時間的に予測されたマクロブロックの参照インデックスを使用することにより生成され得る。
【００４６】
さらに、プローブデバイス内の別個のデコーダが、受信されたビットストリームを復号化し、再構成されたピクチャが、バッファに記憶される。バッファのサイズは、STBによりもたらされ得る遅延に対して責任をもつのに十分に大きくあるべきである。最大の予期される遅延が、d(秒単位)であるとし、fが、映像シーケンスのフレームレートであるとする。その場合、バッファは、総計でNrec=d・fのフレームを記憶可能であるべきである。
【００４７】
第2のステップでは、処理済み映像シーケンスが、バッファ内の再構成されたピクチャのうちのそれぞれと比較される。この比較の目的は、以下の式に基づいて、マッチングフレームn*を、バッファ内の再構成されたピクチャの集合から探し出すことである。
【００４８】
【数２】
0005955319.tif 000003
【００４９】
ただし、F'(x,y,t)は、検査下における処理済み映像ピクチャのtフレームの位置(x,y)での画素値であり、F(x,y,n)は、再構成されたピクチャのバッファ内の第nのフレームの同じ位置での画素であり、ここで、n=0、1、…、Nrecである。エラー伝播マップとの各ピクチャの画素値の乗算は、(直接、またはエラー伝播によってのいずれかで)パケット損失により影響を受けていた画素を排除し、マッチング処理が、2つのピクチャ間でより類似している可能性がある画素に制限されることを確実にするために適用される。最小化のために(差分絶対値和、SADと呼ばれる)ここで使用される特定の関数の代わりに、任意の類似の関数、例えば平均二乗誤差が使用され得ることにもまた留意しなければならない。
【００５０】
マッチング処理が完了した後、マッチングされたフレームn*が、再構成されたピクチャのバッファから取り出され、マッチングされたフレームは、そのビットストリームの対応する部分とともに、例えば、ハイブリッド映像品質評価に関与しているモジュールへの入力として使用されるために、さらに用いられ得る。
【００５１】
以下では、映像ビットストリームと復号化された映像シーケンスとの間の同期の第2の実施形態が説明される。
【００５２】
本発明の第2の実施形態では、ビットストリームと処理済み映像シーケンスとの間の同期は、ビットストリームを分析すること、パケット損失から影響を受けている各フレームの領域に対する情報を抽出すること、およびその後、エラーの同じパターンが、処理済み映像シーケンスに出現するかを検査することにより実行される。全体的な手続のブロック図が、図3に図示される。
【００５３】
第1のステップでは、プローブデバイス内のビットストリーム分析器が、(各フレームに対して)第1の実施形態の文脈において上記で定義されたような、エラーマップI(.,.,.)、および、したがって、パケット損失により影響を及ぼされていた画素の集合Aを生成するために、ビットストリームを処理かつ分析する。Nrecのフレームのエラーマップが、それらが、下記で解説されるように、処理済み映像シーケンスの対応するエラーマップと後でマッチングされ得るように、バッファに記憶される。
【００５４】
続くステップでは、パケット損失によって劣化されていた、処理済み映像シーケンスの現在のピクチャのマクロブロックが推定され、第1の実施形態の文脈において上記で定義されたような、エラーマップIPVS(...)および集合APVSが生成される。次に、エラーマップIPVS(...)の画素の輪郭が推定される。現在のピクチャの劣化マクロブロック、およびこれらのマクロブロックに属する画素の輪郭を推定するための方法は、本発明の範囲外であり、したがって、当業者に知られている任意の方法、例えば、G. Valenziseら、「Estimating channel-induced distortion in H.264/AVC video without bitstream information」、QoMEX、2010年で提案される方法が使用され得る。
【００５５】
処理済み映像シーケンスの輪郭のエッジが、バッファに前に記憶されていたエラーマップの輪郭のエッジと比較されることになる。輪郭のマッチングが、集合Aに属する画素である、エラーマップにより定義される領域に制限されるならば、処理済み映像シーケンスから検出される輪郭のエッジは考慮されない。さらに、エラーを含むとして検出される領域、および処理済み映像シーケンスからエラーを含むとして検出される対応する領域の、典型的にはわずかな誤解釈が存在するので、検索の領域は、デコーダにより検出される輪郭のエッジが、処理済み映像シーケンスで検出されるものより小さくないことについて保証するために、kの画素だけ増大される。この実施形態では、kは5に等しいように選択される。しかしながら、任意の他の値が選択され得る。
【００５６】
このようにして、(上記のように増大された)パケット損失による輪郭のエッジが検出される領域に属する画素の集合APVSが生じ、エラーマップIPVSが生成される。IPVS(x,y,t)によって、場所(x,y)での第tの処理済み映像シーケンスピクチャのエラーマップ値を示し、ただし、x=1、2、…、M、およびy=1、2、…、Nであり、M、Nがそれぞれ、映像シーケンスの各フレームの水平方向および垂直方向のサイズである。さらに、次式となる。
【００５７】
【数３】
0005955319.tif 000004
【００５８】
第3のステップでは、処理済み映像シーケンスの現在のピクチャのエラーマップが、バッファに記憶されている、(第1のステップでビットストリームを分析することにより生成された)エラーマップのうちのそれぞれと比較される。この比較の目的は、以下の式に基づいて、処理済み映像シーケンスの現在のピクチャとマッチングする、マッチングフレームn*を、バッファ内の再構成されたピクチャの集合から探し出すことである。
【００５９】
【数４】
0005955319.tif 000005
【００６０】
ただし、IPVS(x,y,t)は、検査中のPVSのエラーマップのtフレームの位置(x,y)での値であり、I(x,y,n)は、第nのフレームに対応するエラーマップの同じ位置での画素であり、ここで、n=1、2、…、Nrecである。
【００６１】
最後に、映像シーケンスの品質を査定するために、ビットストリームおよび処理済み映像シーケンスからの情報を組み合わせるハイブリッド映像品質評価モジュールが、図3に示されるように存在し得る。
【００６２】
関数f(.,.)は、輪郭パターンマッチングに基づいて、2つのエラーマップ間の類似度を決定するために使用され得る関数である。輪郭ベースのパターンマッチングアルゴリズムは、本発明の範囲外であり、任意の関連性のある方法が使用され得るものであり、例えば、T. Adamek、およびN. O'Connor、「Efficient contour-based shape representation and matching」、Multimedia Information Retrieval、2003年での方法が、この目的のために使用され得る。
【００６３】
以下では、本発明のさらなる実施形態による、ビットストリームと、暗号化された映像シーケンスの復号化された画像との間の時間的な同期が説明される。
【００６４】
フレーム同期の問題は、映像シーケンスが暗号化され、ビットストリームに対する唯一の利用可能な情報がパケットヘッダから抽出され得る場合に、より明白になる。パケットヘッダの精査のみに基づいてビットストリームから抽出され得るパラメータは、各フレームのサイズおよびタイプである。
【００６５】
フレームベースの特徴マッチングに基づく同期
映像ビットストリームと、暗号化された映像シーケンスの復号化された画像との間の同期のための方法の第1の実施形態は、ビットストリームでパケット損失が存在しない場合を対象とし、図4に示される。
【００６６】
第1のステップでは、映像ビットストリームが、パケットヘッダ情報の分析、ならびに、フレーム(イントラ、予測、または双予測)のサイズおよびタイプの算出に関与しているモジュールに送り込まれる。暗号化された映像のフレームのタイプの、それらのサイズに基づく抽出のための方法は、本特許の範囲外である。例えば、この説明の最後に説明される方法が使用され得る。
【００６７】
第2のステップでは、フレームのサイズおよびタイプに関する情報が、映像フレームで描写されるコンテンツを表す(例えば時間依存性の)特徴を抽出するために使用される。ペイロード情報は暗号化によって利用可能でないので、コンテンツクラスの概略のみが推定され得ることは明らかである。フレームサイズおよびフレームタイプに基づくコンテンツクラスの推定のための方法は、本発明の範囲外である。この目的のための任意の利用可能な方法、例えば、A. Clark、「Method and system for content estimation of packet video streams」、国際公開第2009/012297号が使用され得る。
【００６８】
同様に、コンテンツのタイプ、およびコンテンツを表すそれぞれの(例えば時間依存性の)特徴が、処理済み映像シーケンスのピクチャから抽出される。本発明は、ビットストリームと処理済み映像シーケンスとの間の同期の態様のみを重点的に取り扱うので、(画素ドメインでの)ピクチャからの特徴の抽出、およびコンテンツタイプの検出のための方法は、その範囲内ではない。
【００６９】
第3のステップでは、処理済み映像シーケンスの現在のピクチャから抽出される特徴が、パケットヘッダ分析モジュールにより分析されたフレームから抽出される特徴とマッチングされる。検査中の現在のPVSに対応するビットストリームの部分に関する、対応する特徴および同期の情報は、映像品質の評価に関与しているモジュールへの入力として使用され得ることに留意されたい。図4に示されるように、映像シーケンスの品質を査定するために、ビットストリームおよび処理済み映像シーケンスからの情報を組み合わせるハイブリッド映像品質評価モジュールが存在し得る。
【００７０】
パケット損失イベントトリガに基づく時間的な同期
本発明のこの実施形態では、ビットストリームおよび処理済み映像シーケンスは、前の小節で説明された方法に基づいて、(例えば、パケット損失による)エラーが発生しない場合は同期されているものとし、それは、パケット損失が検出される場合に同期が必要とされるときの場合を考慮する。
【００７１】
第1のステップでは、映像ビットストリームが、パケットヘッダ情報の分析、フレームタイプの算出、および、パケット損失により影響を受けていたフレームの検出に関与しているモジュールに送り込まれる。すべてのフレームのタイプが検出され、したがって、パケット損失が、予測処理によって、その後続のフレームに伝播するか否かが決定される。
【００７２】
続くステップでは、処理済み映像シーケンスの現在のピクチャが、パケット損失によって生成されていた可能性があるひずみに関して検査される。このアルゴリズムは、パケット損失により引き起こされるひずみと、元の映像シーケンスの非可逆圧縮の結果として生じたひずみとの間で分類可能であるべきであるということに留意しなければならない。ひずみの検出および分類のためのアルゴリズムは、本発明の範囲外である。例えば、G. Valenziseら、「Estimating channel-induced distortion in H.264/AVC video without bitstream information」、QoMEX、2010年での方法が、この目的のために使用され得る。
【００７３】
第3のステップでは、処理済み映像シーケンスの、ビットストリームの対応するフレームとのマッチングが実行される。処理済み映像シーケンスの現在のピクチャが、パケット損失の結果として引き起こされたひずみを包含することが検出されたならば、そのピクチャは、(最初のステップで)パケット損失を包含することがわかったフレームに対応するビットストリームの部分とマッチングされる。
【００７４】
最後に、同期情報が(すなわち、PVSの現在のフレームが、その映像ビットストリームの対応する部分とともに)計算される。この情報は、映像品質の評価に関与しているモジュールへの入力として転送され得る。
【００７５】
上記の導入部で述べられた従来技術は、エラーを含むネットワークにわたる映像シーケンスの伝送、またはシーケンスの処理によってもたらされ得る、フレームのスキッピング、重複、欠落、シャフリング、およびデータ圧縮による、2つの映像シーケンス間の時間的な同期の問題を考慮する。それとは反対に、本発明は、エンドユーザ側でのビットストリームとの処理済み映像シーケンスの同期のみを考慮し、したがって、同期の損失の唯一の原因は、デコーダデバイスおよびビットストリーム分析器によりもたらされる遅延、ならびに、デコーダ(STB)およびプローブデバイス内のデコーダにより適用される異なるエラー隠蔽技法である。
【図面の簡単な説明】
【００７６】
【図１】ビットストリームおよび復号化された画像データとの、処理済み映像シーケンスの時間的な同期のための従来のプローブデバイスを示す。
【図２】本発明の第1の好ましい実施形態による、出力画像とのビットストリームの同期に対するブロック図を示す。
【図３】映像ビットストリームと、処理済み映像シーケンスとの間の同期に対する、本発明の第2の好ましい実施形態のブロック図を示す。
【図４】本発明のさらなる好ましい実施形態による、ビットストリームと、暗号化された映像シーケンスの復号化された画像との間の同期を示す。
【図５】後続のフレームに対するエラー伝播マップの例である。
【図６】時間的な(インター)予測による、内部のデコーダでのエラー伝播マップの生成を示す。
【図７】イントラ予測による、内部のデコーダでのエラー伝播マップの生成を示す。
【発明を実施するための形態】
【００７７】
以下では、上述のような、暗号化された映像のフレームのタイプの、それらのサイズに基づく抽出のための方法が説明される。
【００７８】
第1のステップでは、各映像フレームに対するバイトの数が、推定または算出される。異なる方法が、このタスクを実行するのに適切であり得る。例えば、トランスポート層でのある決まったタイムスタンプの変化が、新しいフレームの始まりを検出するために活用され得る、または、新しいフレームを合図するために使用されるヘッダ構造内のある決まったビットが利用され得る。一般に、これらのビットストリーム特性は、暗号化されたビットストリームでさえ利用可能である。したがって、フレームサイズは、バイトの正確性で算出され得るか、以下のステップを実行するのに十分に良好に推定され得るかのいずれかである。
【００７９】
第2のステップでは、映像ビットストリームが、次のGoPの開始を表す、次のIフレームが探し出されるまでスキャンされる。
【００８０】
暗号化されないストリームでは、(フレームタイプのすべてのように)次のIフレームは、映像フレームヘッダを探索することにより探し出され得る。もしくは、暗号化されたストリームでは、フレーム境界がペイロード内の未知の点のどこかに出現するならば、Iフレームを「ランダムアクセスポイント」としてマーキングする、ある決まったフラグが、代わりにアクセスされ得る。何らかの理由で、これらのフラグが出現しないならば、さらに、遭遇するフレームのサイズの分析が、Iフレームを検出するために使用され得る、というのは、それらのサイズは、一般に、PフレームおよびBフレームのものよりはるかに大きいからである。
【００８１】
第3のステップでは、次のIフレームまでのすべての後続の映像フレームのバイト単位のサイズが、次のIフレームに遭遇するまで、したがってGoPが完全なものになるまで、ある決まった配列に捕捉されることになる。
【００８２】
第4のステップでは、これらの配列は、典型的なGoP構造を表すいくつかの既定のパターンとマッチングされることになる。最良のマッチが、後のステップで、後に続くGoPに対するプロトタイプとして役立つことになり、したがって、入来するフレームのフレームタイプの容易で演えき的な推定を可能にし得る特定のGoP構造に関連付けられる。
【００８３】
後続のGoPに対して、フレームサイズの配列は、現在のGoPのデータのみが使用されるようにリセットされ得る、または、ある決まった数の前のGoPのフレームサイズが、平均値を取得するために合計され得る。後者の場合では、追加的な配列が、配列の要素に合計されるフレームサイズ値の数を記すために必要とされ得る。好ましくは、移動平均が、次のコードを適用することにより算出され得る。
for(現在のGoP内のすべてのフレームn)
FrameSizeArray[n]=(M-1)/M*FrameSizeArray[n]+1/M*FrameSize[n]
ただしMは、平均されるべきGoPの数である。
【００８４】
異なる重み付けスキームが、本発明によって使用され得る。
【００８５】
可能なGoPパターン
上述のように、GoPは、通常、GoPの境界をマーキングする2つのIフレーム間の、ある決まったシーケンスのPフレームおよびBフレームから構成される特定の構造を有する。典型的なGoP構造に対する例は、次の通りである。
I、b、b、P、b、b、P、b、b、P…(MPEG2から知られている「古典的な」GoP構造)
I、b、B、b、P、b、B、b、P、b、B、b、P(B=参照Bフレーム、b=非参照Bフレームを用いた、階層符号化に対する可能なGoP構造)
【００８６】
インターレース映像は、1つの映像フレームに対して2つの独立したフィールドを含む「フィールドシーケンス」として符号化されることが多いことを考慮しなければならない。その場合、上記の構造は、次のようになる。
I/P、b/b、b/b、P/P、b/b、b/b、P/P…
I/P、b/b、B/B、b/b、P/P、b/b、B/B、b/b、P/P…
これらは、正しく検出されるならば、暗号化されたストリームでさえ、フレーム符号化とフィールド符号化との間での判断を可能にする、別々のパターンを形成する。ここで、フィールドシーケンスでは、キーフレームの第1のフィールドのみが、イントラフィールドとして実際に符号化されることが多いことに留意されたい。キーフレームの第2のフィールドは、予測されるフィールドであり得る。上記の表記では、これは、I/Pフレームということになる。P/Iフレームさえも可能である。
【００８７】
上記のパターンは、「表示順序」で視覚化される。実際は、フレームは、異なる順序、いわゆる「ビットストリーム順序」または「復号化順序」で伝送される。Bフレームは、過去および将来での参照を行うので、これらの将来の参照は、あらかじめ伝送されなければならず、結果として、下記に示されるようなビットストリーム順序となる。
I0、P1、b2、b3、P4、b5、b6、P7、b8、b9…ビットストリーム順序
I0、b2、b3、P1、b5、b6、P4、b8、b9、P7…(ビットストリーム順序インデックスを伴う)表示順序
I0、P1、B2、b3、b4、P5、B6、b7、b8、…ビットストリーム順序
I0、b3、B2、b4、P1、b7、B6、b8、P5、…(ビットストリーム順序インデックスを伴う)表示順序
【００８８】
同じGoP構造に対してさえ、異なるパターンが可能である。これは、「クローズドGoP伝送」および「オープンGoP伝送」の技法が存在するからである。
【００８９】
クローズドGoPでは、異なるGoPのコンテンツの伝送は、決してオーバーラップしない。オープンGoP構造では、最初のIフレームが、表示順序ではそれより前にあるBフレーム(前のGoPを閉じているもの)の前に伝送される。上記の例は、クローズドGoP方式で示された。オープンGoP方式での同じ例は、次のようになる。
【００９０】
【数５】
0005955319.tif 000006
【００９１】
最初の2つ(3つ)のBフレーム(ここでは、ボールド体の文字で示される)は、前のGoPに属し、それらは、現在のGoPのIフレームの後で伝送される。
【００９２】
容易にわかるように、ビットストリーム順序、および、したがって、結果としてのGoPパターンは、正しく検出されるならば、クローズドGoPシーケンスとオープンGoPシーケンスとの間での判断を可能にする、別々の様式で異なる。
【００９３】
他の可能なパターンは、次のものである。
I、P、P、P、P…(テレビ会議および他の低遅延の用途で使用されるような、Bフレームを用いないGoP構造)
I、b、P、b、P、…(ただ1つのBフレームを用いるGoPパターン)
【００９４】
任意の分析された映像ストリームのGoP構造を、それが、完全に可読である、暗号化されている、またはパケット損失により破損した場合でも推定することは、本発明の範囲内である。この目的を実現するために必要な唯一の情報は、あらゆる遭遇する映像フレームのバイト単位のサイズ、および、フレームのどれがIフレームのタイプのものであるかの知識である。
【００９５】
フレームサイズの算出/推定
本発明は、映像シーケンスでのすべてのフレームのバイトサイズの分析に基づくので、これらのサイズは、あらゆるフレームに対してビットストリームから抽出されなければならない。このタスクを実行するために異なる処置を必要とし得る、多くの異なるトランスポートスキームが存在する。しかしながら、IPベースのネットワークに関して飛びぬけて重要なトランスポートスキームは、「リアルタイムプロトコル」(RTP)である。したがってここでは、フレームサイズの抽出は、RTPのみに対して説明されるが、他のトランスポートスキームに対しても同様に働くことになる。当業者であれば、自分が使用する任意の異なるトランスポートスキームに対して本発明を容易に採用することが可能であろう。
【００９６】
RTPによって映像コンテンツを伝送するための2つの主要な手法が存在する。
・映像が、RTPパケットのペイロードとして直接搬送される。この場合、音声および他の可能な情報(「システム」情報)は、異なるポート番号を有する異なるRTPストリームで搬送される。したがって、ビットストリームの映像部分は、パケットの残りから容易に分離され得る。
一般に、1つの映像フレームは、各個がタイムスタンプを搬送しているいくつかのRTPパケットのペイロードからなることになる。映像の場合では、これらのRTPタイムスタンプは、それらが搬送する映像フレームの相対的な復号化時間に設定される。RTPパケットは、各個でサイズが異なる場合があるので、映像フレームは、一般に、いくつかの完全なRTPパケットにあることになる。この場合に映像フレームのサイズを算出するために、同じタイムスタンプを伴うすべてのRTPパケットのペイロードサイズのみが合計されなければならない。
フレーム境界が単一のRTPペイロード内に出現する場合でも、フレームサイズは、上記の値により非常に良好に推定され得る。暗号化されている可能性がある、ペイロード自体にアクセスしないことが必要である。
RTPヘッダの部分であるRTPシーケンス番号が、RTPパケット損失を検出するためにアクセスされ得る。失われたパケットのサイズは知られ得ないので、それは推定される必要がある。これは、過去のパケットの何らかの平均サイズのようなものにより行われ得る。
・映像がRTPによって搬送されるが、ペイロードは、「トランスポートストリーム」(TS)である。TSでは、映像、音声および他の情報が、単一のストリームに多重化される。多重パケットの各個は、小さなTSヘッダを含む、188バイトのサイズを有する。1つのRTPパケットは、いわゆる「プログラムID」(PID)により特定のサブストリームに属するとマーキングされる、これらのTSパケットの7つを搬送する。これらのサブストリームの1つが、分析されるべき映像である。暗号化されたストリームでさえ、TSヘッダは、一般には暗号化されず、したがってアクセスされ得る。それらは、フレームサイズの正確な測定に備えるものである。RTPパケット損失の場合には、TSヘッダ内のいわゆる「巡回カウンタ」が、個々のRTP損失に対し、各サブストリームに対して別個に、失われたサブストリームパケットの数を算出するために利用され得る。TSパケットは、RTPパケットよりはるかに小さく、(スタッフィングのまれな場合でなければ)同じペイロードサイズを有するので、失われたバイトの数は、より精密に推定され得る。TSヘッダでの述べられた巡回カウンタは、わずか4ビットを有する。したがって、最高で16の欠損したTSパケットが検出され得る。欠損したRTPパケットの知られた数、および、容易に算出され得る、RTPパケットあたりのTSサブストリームパケットの平均数に対する値とともに、16より大きい失われたTSパケットに対する精密な推定が推定され得る。
RTPタイムスタンプは、それらが搬送する映像フレームの相対的な復号化時間に同期されるので、完全な欠損したフレームさえ検出され得る、というのは、そのような場合、RTPタイムスタンプは、連続しているフレーム間の1つの時間差を超える分だけ増分されることになるからである。
【００９７】
Iフレームの検出
分析を開始するために、ビットストリームは、新しいGoPの始まりをマーキングする、次のIフレームの始まりを探し出すためにスキャンされる。Iフレームは、異なる手段により検出され得る。暗号化されないストリームの場合、エレメンタリストリームのフレームヘッダが、すべての映像フレームに対して容易にアクセスされ得る。映像フレームヘッダは、フレームタイプを明示的に包含する。
【００９８】
映像が、RTPペイロードとして直接搬送されるならば、フレームヘッダは、RTPヘッダのMビットが1に設定されたRTPパケットの後に来る、あらゆるRTPパケットのペイロードでの第1のバイトとともに常に出現するはずである。フレームヘッダが、RTPパケットのペイロード内で同様に出現し得るならば、それらは、一意的なバイトシーケンスを包含するので、それらは、容易に検索され得る。
【００９９】
RTPに対してTSが使用される場合では、TSヘッダのアダプテーションフィールド内のいわゆる「random_access_flag」が活用され得る。それは、来るフレームがIフレームとして符号化されたことを合図する。暗号化されたストリームでさえ、TSヘッダの部分としてのアダプテーションフィールドは、通常は暗号化されない。
【０１００】
フレーム境界が知られると、Iフレームがやはり経験的に検出され得る。それらの平均サイズは、通常、PフレームおよびBフレームのものよりはるかに大きい。
【０１０１】
Iフレームの始まりが探し出されると、次のGoPの始まりがさらに探し出される。その点から続けて、すべての後続のフレームのサイズが、いくつかの可能な方法で集められる。以下の説明において、この集める処理は、完全なGoPに対して、集められたデータの分析が開始されるまで継続される。本発明の他の実施形態では、収集期間は、異なる長さを有し得る。
【０１０２】
データ収集およびパターンマッチングの第1の実施形態
フレームサイズの1つの長い配列
現在のGoPの最初のIフレームに遭遇した後、すべての後続のフレームのフレームサイズが、配列の要素に記憶され、配列のインデックスは、前記Iフレームを時間的に過ぎたフレームの数に等しい。これは、好ましくは、分析されるべき第1のGoPの末端を合図する、次のIフレームが検出されるまで行われる。フレームサイズのそのように構成された配列は、この配列を典型的なパターンの集合と比較し、推定されるGoPパターン、および適用可能な場合は他のデータを出力する、パターンマッチング処理への入力である。
【０１０３】
分析されるビットストリームが暗号化されないならば、したがって、フレームタイプがアルゴリズムに知られるならば、現実のフレームサイズは、非参照Bフレームに対して「1」、参照Bフレームに対して「2」、およびPフレームに対して「4」のような標準化された値により置換され得るものであり、それらは、現実のフレームサイズと同じ目的に役立つが、少しも統計的不確実性をもたらさない。
【０１０４】
パターンマッチング
本発明の実施形態では、フレームサイズの配列は、Bフレームに対して「0」、およびPフレームに対して「1」であるバイナリパターンとマッチングされることになる。したがって、上記の一例のGoP構造は、次のようなパターンとマッチングされることになる。
0、0、1、0、0、1…(オープンGoPを用いたI、b、b、P、b、b、P構造)
1、0、0、1、0、0…(クローズドGoPを用いたI、b、b、P、b、b、P構造)
0、0、0、1、0、0、0、1…(オープンGoPを用いたI、b、B、b、P、b、B、b、P構造)
1、0、0、0、1、0、0、0…(クローズドGoPを用いたI、b、B、b、P、b、B、b、P構造)
【０１０５】
したがって、本発明のこの実施形態では、「フレームサイズの配列」がさらに、バイナリ配列に転換されることになる。最も容易な場合では、単一の参照値が、前記配列のあらゆる要素の値を、「小さなサイズのフレーム」に対して「0」に、および「大きなフレーム」に対して「1」に置換するために使用されることになる。「大きい」と「小さい」との間で判断するための参照値は、単に、すべての要素の平均に>1の係数を乗算したものであり得る。代替実施形態では、しきい値は、すべての配列要素の中央値、または要素の最小値および最大値の重み付き組み合わせ、または配列要素の他の組み合わせであり得る。さらに、しきい値は、小さな数のフレームサイズ値に関して採用され得る。これは、説明されたしきい値の1つを、係数もしくは付加的な項により変動させることにより、または、現在値のある決まった近傍でのフレームサイズ値からのみでしきい値を算出することにより達成され得る。
【０１０６】
一般に、Iフレームの直後に、PフレームおよびBフレームは変則的に小さなサイズを有することが多いので、配列内の最初の数個の値を使用しないことが合理的である場合がある。
【０１０７】
マッチング処理
一般に、GoPの長さは、あらかじめ知られていない。典型的な値は、1または2秒ごとに1つのIフレームであり、その結果、例えば、25フレーム/秒の典型的なフレームレートに対しては、25から50フレーム(または、「フィールド符号化」モードに対しては50から100フィールド)のGoPの長さとなる。通常、エンコーダは、シーンカット検出を有し、あらゆるシーンカット位置にIフレームを配置する。したがって、シーンカットに遭遇する場合、GoPは、2または1フレームにさえも減った任意のサイズを有し得る。
【０１０８】
全体的な長さとは違い、可能なGoP構造のそれぞれの基本的なパターンは、一定であり短い(例えば、I、b、b、P、…の例に対しては、0、0、1)。完全なGoPの要素とのマッチングの目的で、これらの単純な基本的なパターンは、実際のGoPサイズに達するまで反復されなければならない。
【０１０９】
バイナリマッチングのみが適用される本発明の実施形態では、マッチング処理自体は、フレームサイズの転換された配列のあらゆる要素に関する、連結された基本的なパターン要素を用いた、単純な「排他的nor」演算であり得る。次いで、これらの「排他的nor」演算の結果が、使用されるパターンに対するマッチングスコアに合計される。これが、すべての利用可能な既定のパターンを用いて行われる。
【０１１０】
最高スコア数を得る特定のパターンが、最良のマッチとみなされ、次いで、その関連するGoP構造、フレーム/フィールド状態、オープン/クローズド状態が、さらなる分析のために採用される。
【０１１１】
階層符号化と従来のBフレーム符号化との間での区別
3つ以上の連続するBフレームが、最良のマッチングのGoPパターンで推定される場合では、フレームのシーケンスが、上述のような参照Bフレームを用いた「階層符号化」方法を用いて符号化されていた可能性がある。これが事実であるならば、これらの参照Bフレームは、(上記でbフレームと名付けられた)非参照Bフレームより大きな、バイト単位のフレームサイズを有する可能性がある。
【０１１２】
使用されているのが階層符号化であるか、それとも非階層符号化であるかの信頼性の高い推定を得るために、(2つのPフレーム間の)連続するBフレームのあらゆる部分集合が、参照Bフレームを表す部分集合内の要素に対するフレームサイズが、前記部分集合でのBフレームを表す他のすべての要素より有意に大きいかどうかについて検査され得る。3つの連続するBフレームの場合、これは、第1の部分集合要素であり、5つの連続するBフレームの場合、これらは、第1および第2の部分集合要素である。7つの連続するBフレームの場合、これらは、(復号化順に)第1、第2および第3の部分集合要素である。他の組み合わせは、階層符号化に対して可能性は非常に低い。この条件が、連続するBフレームの集合の大きさに当てはまるならば、GoP、階層符号化が推測され得る。
【０１１３】
階層符号化を用いずに4つ以上のBフレームが連続しているということは、きわめて可能性が低いので、4つ以上のBフレームを伴うパターンに対しては、階層符号化が、説明された試験なしでも推測され得る。
【０１１４】
結果として得られる推定されたGoP構造を、後に続くGoPのフレームに適用することにより、シーケンスが暗号化されている、またはフレームヘッダがパケット損失によって欠損している場合に、これらのフレームのフレームタイプの信頼性の高い推定がもたらされる。
【０１１５】
本発明は、図面および前述の説明において詳細に例示かつ説明されたが、そのような例示および説明は、例示的または一例としてのものであり、限定的ではないとみなされるべきである。変更および修正が、以下の特許請求の範囲の範囲内で、当業者により行われ得ることが理解されよう。具体的には、本発明は、上記および下記で説明される異なる実施形態からの特徴の任意の組み合わせを用いた、さらなる実施形態を網羅する。
【０１１６】
さらに、特許請求の範囲では、単語「備える、含む」は、他の要素またはステップを排除せず、不定冠詞「a」または「an」は、複数を排除しない。単一のユニットが、特許請求の範囲に記載されるいくつかの特徴の機能を充足する場合がある。具体的には属性または値に関連する用語「本質的に」、「約」、「近似的に」などが、それぞれ、属性を正確に、または値を正確に、さらに定義する。特許請求の範囲でのいかなる参照符号も、範囲を限定すると解釈されるべきではない。
【符号の説明】
【０１１７】
PVS  処理済み映像シーケンス
STB  セットトップボックス
【図５】
0005955319.tif 000007
【図１】
0005955319.tif 000008
【図２】
0005955319.tif 000009
【図３】
0005955319.tif 000010
【図４】
0005955319.tif 000011
【図６】
0005955319.tif 000012
【図７】
0005955319.tif 000013