(57)【特許請求の範囲】
【請求項１】
追加のビデオユニットの補間または外挿のための１つまたは複数の候補参照ビデオユニットの動きレベルを分析することと、ここにおいて、前記動きレベルを分析することが、前記候補参照ビデオユニットの少なくとも１つにおいてゼロ値動きベクトルの数をカウントすることを備える、
前記追加のビデオユニットの補間または外挿のためのデコーディングユニットを含むデバイスのリソースレベルを監視することと、
前記追加のビデオユニットの補間または外挿のためのデコーディングユニットを含むデバイスのリソースレベルを決定することと、
前記動きレベルおよび前記リソースレベルに基づいて、前記デコーディングユニットで、前記追加のビデオユニットの補間または外挿を選択的に有効または無効にすることと、ここにおいて、選択的に有効または無効にすることが、ゼロ値動きベクトルの前記数がしきい値を下回るとき、補間または外挿を有効にすることと、ゼロ値動きベクトルの前記数が前記しきい値を上回るとき、補間または外挿を無効にすることとを備える、
を備える方法。
【請求項２】
前記動きレベルを分析することと、前記リソースレベルを決定することと、第１の動作モードにおいて前記動きレベルおよび前記リソースレベルに基づいて補間または外挿を選択的に無効にすることと、
第２の動作モードにおいて前記追加のビデオユニットの補間または外挿を有効にすることと、
少なくとも前記追加のビデオユニットのための前記第１の動作モードを選択することと、
をさらに備える、請求項１に記載の方法。
【請求項３】
前記デバイスのリソースレベルが、前記デバイスの電力リソースレベルと、計算リソースレベルと、メモリリソースレベルとのうちの１つを備える、請求項１に記載の方法。
【請求項４】
前記決定されたリソースレベルに基づいて前記しきい値を調整することをさらに備え、前記リソースレベルが、電力リソースレベルと、計算リソースレベルと、メモリリソースレベルとのうちの１つを備える、請求項１に記載の方法。
【請求項５】
前記しきい値が、第２のしきい値を備え、前記動きレベルを分析することが、前記候補参照ビデオユニットの少なくとも１つにおいて小さい動きベクトルの数をカウントすることをさらに備え、前記小さい動きベクトルの各々が、第１のしきい値を下回る値を有する０でない値の動きベクトルであり、無効にすることが、ゼロ値動きベクトルの前記数が前記第２のしきい値を上回り、小さい動きベクトルの前記数が第３のしきい値を下回るとき、補間または外挿を無効にすることをさらに備える、請求項１に記載の方法。
【請求項６】
選択的に有効または無効にすることが、ゼロ値動きベクトルの前記数が前記第２のしきい値を下回るかまたは小さい動きベクトルの前記数が前記第３のしきい値を上回るとき、補間または外挿を有効にすることを備える、請求項５に記載の方法。
【請求項７】
前記決定されたリソースレベルに基づいて前記第２のしきい値と前記第３のしきい値とのうちの少なくとも１つを調整することをさらに備え、前記リソースレベルが、電力リソースレベルと、計算リソースレベルと、メモリリソースレベルとのうちの１つを備える、請求項６に記載の方法。
【請求項８】
前記追加のビデオユニットのサイズに基づいて前記第１のしきい値を調整することをさらに備える、請求項５に記載の方法。
【請求項９】
前記補間または外挿が無効にされたとき、前記追加のビデオユニットのための前記候補参照ビデオユニットの１つを繰り返すことをさらに備える、請求項１に記載の方法。
【請求項１０】
前記ビデオユニットの各々がビデオフレームである、請求項１に記載の方法。
【請求項１１】
ビデオデコーディングデバイスであって、
追加のビデオユニットの補間または外挿のための１つまたは複数の候補参照ビデオユニットの動きレベルを分析するように構成された動き分析器と、ここにおいて、前記動き分析器が、前記候補参照ビデオユニットの少なくとも１つにおいてゼロ値動きベクトルの数をカウントするように構成される、
前記追加のビデオユニットの補間または外挿のための前記ビデオデコーディングデバイスのリソースレベルを監視し、決定するように構成されたリソースモニタと、
前記動きレベルおよび前記リソースレベルに基づいて前記追加のビデオユニットの補間または外挿を選択的に有効または無効にするように構成された選択ユニットと、ここにおいて、前記選択ユニットが、ゼロ値動きベクトルの前記数がしきい値を下回るとき、補間または外挿を有効にし、ゼロ値動きベクトルの前記数が前記しきい値を上回るとき、補間または外挿を無効にするように構成される、
を備えるビデオデコーディングデバイス。
【請求項１２】
第１の動作モードにおいて前記追加のビデオユニットの補間または外挿を選択的に無効にするように前記選択ユニットに指示し、第２の動作モードにおいて前記追加のビデオユニットの補間または外挿を有効にするように前記選択ユニットに指示するモード選択ユニットをさらに備え、少なくとも前記追加のビデオユニットについて、前記モード選択ユニットが前記選択ユニットについて前記第１の動作モードを選択する、請求項１１に記載のデバイス。
【請求項１３】
前記ビデオデコーディングデバイスの前記リソースレベルが、前記ビデオデコーディングデバイスの電力リソースレベルと、計算リソースレベルと、メモリリソースレベルとのうちの１つを備える、請求項１２に記載のデバイス。
【請求項１４】
前記動き分析器が、前記決定されたリソースレベルに基づいて前記しきい値を調整し、前記リソースレベルが、電力リソースレベルと、計算リソースレベルと、メモリリソースレベルとのうちの１つを備える、請求項１１に記載のデバイス。
【請求項１５】
前記しきい値が、第２のしきい値を備え、前記動き分析器が、前記候補参照ビデオユニットの少なくとも１つにおいて小さい動きベクトルの数をさらにカウントし、前記小さい動きベクトルの各々が、第１のしきい値を下回る値を有する０でない値の動きベクトルであり、前記選択ユニットが、ゼロ値動きベクトルの前記数が前記第２のしきい値を上回り、小さい動きベクトルの前記数が第３のしきい値を下回るとき、補間または外挿をさらに選択的に無効にする、請求項１１に記載のデバイス。
【請求項１６】
前記選択ユニットが、ゼロ値動きベクトルの前記数が前記第２のしきい値を下回るかまたは小さい動きベクトルの前記数が前記第３のしきい値を上回るとき、補間または外挿を選択的に有効にする、請求項１５に記載のデバイス。
【請求項１７】
前記動き分析器が、前記決定されたリソースレベルに基づいて前記第２のしきい値と前記第３のしきい値とのうちの少なくとも１つを調整し、前記リソースレベルが、電力リソースレベルと、計算リソースレベルと、メモリリソースレベルとのうちの１つを備える、請求項１６に記載のデバイス。
【請求項１８】
前記動き分析器が、前記追加のビデオユニットのサイズに基づいて前記第１のしきい値を調整する、請求項１５に記載のデバイス。
【請求項１９】
前記補間または外挿が無効にされたとき、前記追加のビデオユニットのための前記候補参照ビデオユニットの１つを繰り返す繰り返しユニットをさらに備える、請求項１１に記載のデバイス。
【請求項２０】
前記デバイスがワイヤレス通信デバイスハンドセットを備える、請求項１１に記載のデバイス。
【請求項２１】
前記デバイスが集積回路デバイスを備える、請求項１１に記載のデバイス。
【請求項２２】
前記ビデオユニットの各々がビデオフレームである、請求項１１に記載のデバイス。
【請求項２３】
デバイスであって、
追加のビデオユニットの補間または外挿のための１つまたは複数の候補参照ビデオユニットの動きレベルを分析するための手段と、ここにおいて、前記動きレベルを分析するための前記手段が、前記候補参照ビデオユニットの少なくとも１つにおいてゼロ値動きベクトルの数をカウントするための手段を備える、
前記追加のビデオユニットの補間または外挿のための前記デバイスのリソースレベルを監視する手段と、
前記追加のビデオユニットの補間または外挿のための前記リソースレベルを決定するための手段と、
前記動きレベルおよび前記リソースレベルに基づいて前記追加のビデオユニットの補間または外挿を選択的に有効または無効にするための手段と、ここにおいて、選択的に有効または無効にするための前記手段が、ゼロ値動きベクトルの前記数がしきい値を下回るとき、補間または外挿を有効にするための手段と、ゼロ値動きベクトルの前記数が前記しきい値を上回るとき、補間または外挿を無効にするための手段とを備える、
を備えるデバイス。
【請求項２４】
前記動きレベルを分析するための前記手段と、前記リソースレベルを決定するための手段と、前記動きレベルおよび前記リソースレベルに基づいて補間または外挿を選択的に無効にするための手段とが、第１の動作モードにおいて動作可能であり、前記デバイスが、第２の動作モードにおいて動作可能である、１つまたは複数の候補参照ビデオユニットを使用して追加のビデオユニットの補間または外挿を有効にするための手段と、少なくとも前記追加のビデオユニットのための前記第１の動作モードを選択する手段とをさらに備える、請求項２３に記載のデバイス。
【請求項２５】
前記デバイスのリソースレベルが、前記デバイスの電力リソースレベルと、計算リソースレベルと、メモリリソースレベルとのうちの１つを備える、請求項２３に記載のデバイス。
【請求項２６】
前記決定されたリソースレベルに基づいて前記しきい値を調整するための手段をさらに備え、前記リソースレベルが、電力リソースレベルと、計算リソースレベルと、メモリリソースレベルとのうちの１つを備える、請求項２３に記載のデバイス。
【請求項２７】
前記しきい値が、第２のしきい値を備え、前記動きレベルを分析するための前記手段が、前記候補参照ビデオユニットの少なくとも１つにおいて小さい動きベクトルの数をカウントするための手段をさらに備え、前記小さい動きベクトルの各々が、第１のしきい値を下回る値を有する０でない値の動きベクトルであり、選択的に無効にするための前記手段が、ゼロ値動きベクトルの前記数が前記第２のしきい値を上回り、小さい動きベクトルの前記数が第３のしきい値を下回るとき、補間または外挿を無効にするための手段をさらに備える、請求項２３に記載のデバイス。
【請求項２８】
選択的に有効または無効にするための前記手段が、ゼロ値動きベクトルの前記数が前記第２のしきい値を下回るかまたは小さい動きベクトルの前記数が前記第３のしきい値を上回るとき、補間または外挿を有効にするための手段を備える、請求項２７に記載のデバイス。
【請求項２９】
前記決定されたリソースレベルに基づいて前記第２のしきい値と前記第３のしきい値とのうちの少なくとも１つを調整するための手段をさらに備え、前記リソースレベルが、電力リソースレベルと、計算リソースレベルと、メモリリソースレベルとのうちの１つを備える、請求項２８に記載のデバイス。
【請求項３０】
前記追加のビデオユニットのサイズに基づいて前記第１のしきい値を調整するための手段をさらに備える、請求項２７に記載のデバイス。
【請求項３１】
前記補間または外挿が無効にされたとき、前記追加のビデオユニットのための前記候補参照ビデオユニットの１つを繰り返すための手段をさらに備える、請求項２３に記載のデバイス。
【請求項３２】
前記ビデオユニットの各々がビデオフレームである、請求項２３に記載のデバイス。
【請求項３３】
１つまたは複数のプロセッサに、
追加のビデオユニットの補間または外挿のための１つまたは複数の候補参照ビデオユニットの動きレベルを分析することを行なわせる命令と、ここにおいて、前記１つまたは複数のプロセッサに、前記動きレベルを分析することを行わせる前記命令は、前記候補参照ビデオユニットの少なくとも１つにおいてゼロ値動きベクトルの数をカウントすることを前記プロセッサに行わせる命令を備える、
前記追加のビデオユニットの補間または外挿のための１つ以上のプロセッサを含むデバイスのリソースレベルを監視することを行なわせる命令と、
前記追加のビデオユニットの補間または外挿のための前記１つ以上のプロセッサを含むデバイスの前記リソースレベルを決定することを行なわせる命令と、
前記動きレベルおよび前記リソースレベルに基づいて前記追加のビデオユニットの補間または外挿を選択的に有効または無効にすることを行なわせる命令と、ここにおいて、前記１つまたは複数のプロセッサに、選択的に有効または無効にすることを行わせる前記命令は、ゼロ値動きベクトルの前記数がしきい値を下回るとき、補間または外挿を有効にすることと、ゼロ値動きベクトルの前記数が前記しきい値を上回るとき、補間または外挿を無効にすることとを前記１つまたは複数のプロセッサに行わせる命令を備える、
を記録するコンピュータ可読記録媒体。
【請求項３４】
前記動きレベルを分析することと、前記リソースレベルを決定することと、第１の動作モードにおいて前記動きレベルおよび前記リソースレベルに基づいて補間または外挿を選択的に無効にすることと、
第２の動作モードにおいて前記追加のビデオユニットの補間または外挿を有効にすることと、
少なくとも前記追加のビデオユニットのための前記第１の動作モードを選択することとを前記１つまたは複数のプロセッサに行わせるための命令をさらに備える、請求項３３に記載のコンピュータ可読記録媒体。
【請求項３５】
前記デバイスのリソースレベルが、前記デバイスの電力リソースレベルと、計算リソースレベルと、メモリリソースレベルとのうちの１つを備える、請求項３３に記載のコンピュータ可読記録媒体。
【請求項３６】
前記１つまたは複数のプロセッサに、決定された前記リソースレベルに基づいて前記しきい値を調整させる命令をさらに備え、前記リソースレベルが、電力リソースレベルと、計算リソースレベルと、メモリリソースレベルとを備える、請求項３３に記載のコンピュータ可読記録媒体。
【請求項３７】
前記しきい値が、第２のしきい値を備え、前記命令が、前記１つまたは複数のプロセッサに、前記候補参照ビデオユニットの少なくとも１つにおいて小さい動きベクトルの数をさらにカウントすることであって、前記小さい動きベクトルの各々が、第１のしきい値を下回る値を有する０でない値の動きベクトルである、カウントすることと、前記１つまたは複数のプロセッサに、補間または外挿を無効にすることを行わせる前記命令は、ゼロ値動きベクトルの前記数が前記第２のしきい値を上回り、小さい動きベクトルの前記数が第３のしきい値を下回るとき、補間または外挿を無効にすることとを前記１つまたは複数のプロセッサに行わせる命令を備える、請求項３３に記載のコンピュータ可読記録媒体。
【請求項３８】
前記命令が、前記１つまたは複数のプロセッサに、ゼロ値動きベクトルの前記数が前記第２のしきい値を下回るかまたは小さい動きベクトルの前記数が前記第３のしきい値を上回るとき、補間または外挿を有効にさせる、請求項３７に記載のコンピュータ可読記録媒体。
【請求項３９】
前記命令が、前記１つまたは複数のプロセッサに、前記リソースレベルに基づいて前記第２のしきい値と前記第３のしきい値とのうちの少なくとも１つを調整させ、前記リソースレベルが、電力リソースレベルと、計算リソースレベルと、メモリリソースレベルとのうちの１つを備える、請求項３８に記載のコンピュータ可読記録媒体。
【請求項４０】
前記１つまたは複数のプロセッサに、前記追加のビデオユニットのサイズに基づいて前記第１のしきい値を調整させる命令をさらに備える、請求項３７に記載のコンピュータ可読記録媒体。
【請求項４１】
前記命令が、前記１つまたは複数のプロセッサに、前記補間または外挿が無効にされたとき、前記追加のビデオユニットのための前記候補参照ビデオユニットの１つを繰り返させる、請求項３３に記載のコンピュータ可読記録媒体。
【請求項４２】
前記ビデオユニットの各々がビデオフレームである、請求項３３に記載のコンピュータ可読記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本出願は、その内容全体が参照により本明細書に組み込まれる、２００７年１２月１０日に出願された米国仮出願第６１／０１２，７０３号の利益を主張する。
【０００２】
本開示は、デジタルビデオコーディングに関し、より詳細には、ビデオフレーム補間または外挿のための技法に関する。
【背景技術】
【０００３】
デジタルビデオシーケンスを符号化するために、いくつかのビデオ符号化技法が開発されてきた。たとえば、Ｍｏｖｉｎｇ  Ｐｉｃｔｕｒｅ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ（ＭＰＥＧ）は、ＭＰＥＧ−１、ＭＰＥＧ−２、およびＭＰＥＧ−４を含むいくつかの技法を開発した。他の例には、Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｔｅｌｅｃｏｍｍｕｎｉｃａｔｉｏｎ  Ｕｎｉｏｎ（ＩＴＵ）−Ｔ  Ｈ．２６３規格、ならびにＩＴＵ−Ｔ  Ｈ．２６４規格およびその相対物、ＩＳＯ／ＩＥＣ  ＭＰＥＧ−４、Ｐａｒｔ１０、すなわち、Ａｄｖａｎｃｅｄ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ（ＡＶＣ）がある。これらのビデオ符号化規格は、圧縮方法でデータを符号化することによって、ビデオシーケンスの効率的な送信をサポートする。圧縮は、送信する必要があるデータの総量を低減する。
【０００４】
ビデオ圧縮では、ビデオシーケンスに固有の冗長性を低減するために空間予測および／または時間予測を行う。イントラコーディングは、空間予測を使用して、同じビデオフレーム内のビデオブロック間の空間冗長性を低減する。インターコーディングは、時間予測を使用して、連続するビデオフレーム中のビデオブロック間の時間冗長性を低減する。インターコーディングの場合、ビデオエンコーダが、動き推定を実行して、１つまたは複数の参照フレーム中の対応する予測ビデオブロックに対するビデオブロックの変位を示す動きベクトルを発生する。ビデオエンコーダは、動き補償を実行して、参照フレームから予測ビデオブロックを発生し、コーディングされている元のビデオブロックから予測ビデオブロックを減算することによって残差ビデオブロックを形成する。
【０００５】
低帯域幅要件を満たすために、いくつかのビデオアプリケーションでは、低減されたフレームレートでビデオを符号化し、および／またはいくつかのフレームの符号化をスキップする。残念ながら、低フレームレートビデオは、動きジャーキネスの形態で時間アーティファクトを生成することがある。フレーム補間または外挿をデコーダ側で採用して、エンコーダによってスキップされたフレーム、またはエンコーダによって生成された基本フレームレートを超えるフレームのコンテンツを近似することができる。フレーム補間または外挿は一般にフレーム置換と呼ばれることがある。フレーム置換を使用して、実際に、実際のフレームレートをアップコンバートして、より滑らかな動きの知覚を与えることができる。フレーム置換を使用して、しばしばフレームレートアップコンバージョン（ＦＲＵＣ）と呼ばれるプロセスをサポートすることができる。ＦＲＵＣは、たとえば、補間または外挿を使用して、フレームを置換することによって時間品質を向上させることができるが、いくつかのフレームの置換は、視覚的品質を損なう望ましくない空間アーティファクトを導入することがある。
【発明の概要】
【０００６】
本開示は、たとえば、補間または外挿によってビデオユニットの置換に使用すべき１つまたは複数の参照ビデオユニットを選択するための技法を対象とする。ビデオユニットは、ビデオフレーム、スライス、ブロック、または他のユニットとすることができる。ビデオコーダは、１つまたは複数の品質基準の分析に基づいて参照ビデオユニットを選択する品質重視ビデオモードを適用することができる。品質基準は、たとえば、選択された参照ビデオユニットによって生成される可能性のある補間または外挿品質のレベルを示すことができる。品質基準は、空間および／または時間視覚的品質を含むことができる。参照ビデオユニットのいずれも適用可能な品質基準を満たさない場合、フレーム置換は、追加すべき特定のビデオユニットに対して無効にされる。
【０００７】
ビデオコーダは、ビデオシーケンスの動きレベルに基づいて、いくつかのビデオユニットに対して置換を選択的に有効または無効にするリソース重視ビデオモードを適用することができる。１つまたは複数の参照ビデオユニットが概して静的である場合、ビデオデコーダまたは別のデバイスは置換を無効にし、それによって、電力、計算および／またはメモリリソースなどのリソースを節約することができる。動きレベルは、利用可能リソースのレベルに応じて固定または調節可能である、しきい値と比較できる。参照ビデオユニットがかなりの動きを含む場合、ビデオデコーダまたは別のデバイスは、たとえば、参照ビデオユニットの選択のための品質基準を使用して、置換を有効にすることができる。
【０００８】
ビデオ電話などの遅延敏感ビデオアプリケーションの場合、処理および提示遅延を低減するためにビデオ参照ビデオユニットを選択するように、ビデオコーダまたは別のデバイスを構成することができる。たとえば、将来の参照ビデオユニットを選択するときに、追加すべきビデオユニットからの距離に基づいて参照ビデオユニットを選択するようにビデオコーダを構成することができる。また、補間または外挿されたビデオユニットに関連する１つまたは複数の品質特性を分析し、分析に基づいてビデオユニットの表示を選択的に有効または無効にするようにビデオコーダを構成することができ、それによって、場合によっては追加のビデオユニットを表示するために必要なリソースを節約することができる。
【０００９】
一態様では、本開示は、１つまたは複数の候補参照ビデオユニットの少なくとも１つの特性を分析することと、分析に少なくとも部分的に基づいて追加のビデオユニットの補間または外挿のための参照ビデオユニットとして候補参照ビデオユニットの１つまたは複数を選択することとを備える方法を提供する。
【００１０】
別の態様では、本開示は、１つまたは複数の候補参照ビデオユニットの少なくとも１つの特性を分析する分析ユニットと、分析に少なくとも部分的に基づいて追加のビデオユニットの補間または外挿のための参照ビデオユニットとして候補参照ビデオユニットの１つまたは複数を選択する選択ユニットとを備えるデバイスを提供する。
【００１１】
追加の態様では、本開示は、追加のビデオユニットの補間または外挿のための１つまたは複数の候補参照ビデオユニットの動きレベルを分析することと、追加のビデオユニットの補間または外挿のためのリソースレベルを決定することと、動きレベルおよびリソースレベルに基づいて追加のビデオユニットの補間または外挿を選択的に無効にすることとを備える方法を提供する。
【００１２】
さらなる態様では、本開示は、追加のビデオユニットの補間または外挿のための１つまたは複数の候補参照ビデオユニットの動きレベルを分析するように構成された動き分析器と、追加のビデオユニットの補間または外挿のためのリソースレベルを決定するように構成されたリソースモニタと、動きレベルおよびリソースレベルに基づいて追加のビデオユニットの補間または外挿を選択的に無効にする選択ユニットとを備えるデバイスを提供する。
【００１３】
別の態様では、本開示は、フレームレートアップコンバージョンプロセスによって生成された、補間または外挿されたビデオユニットに関連する１つまたは複数の特性を分析する分析ユニットと、分析に基づいてディスプレイ上での補間または外挿されたビデオユニットの提示を選択的に無効にする制御ユニットとを備えるビデオ復号デバイスを提供する。
【００１４】
追加の態様では、本開示は、フレームレートアップコンバージョンプロセスによって生成された、補間または外挿されたビデオユニットに関連する１つまたは複数の特性を分析することと、分析に基づいてディスプレイ上での補間または外挿されたビデオユニットの提示を選択的に無効にすることとを備える方法を提供する。
【００１５】
本開示で説明する技法は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの組合せで実装できる。ソフトウェアで実装した場合、ソフトウェアは、１つまたは複数のプロセッサによって実行できる。ソフトウェアは、最初にコンピュータ可読媒体に記憶し、実行のためにプロセッサによってロードすることができる。したがって、本開示は、１つまたは複数のプロセッサに、本開示で説明する技法を実行させる命令を備えるコンピュータ可読媒体を企図する。
【００１６】
たとえば、いくつかの態様では、本開示は、１つまたは複数のプロセッサに、１つまたは複数の候補参照ビデオユニットの少なくとも１つの特性を分析することと、分析に少なくとも部分的に基づいて追加のビデオユニットの補間または外挿のための参照ビデオユニットとして候補参照ビデオユニットの１つまたは複数を選択することとを行わせる命令を備えるコンピュータ可読媒体を提供する。
【００１７】
他の態様では、本開示は、１つまたは複数のプロセッサに、追加のビデオユニットの補間または外挿のための１つまたは複数の候補参照ビデオユニットの動きレベルを分析することと、追加のビデオユニットの補間または外挿のためのリソースレベルを決定することと、動きレベルおよびリソースレベルに基づいて追加のビデオユニットの補間または外挿を選択的に無効にすることとを行わせる命令を備えるコンピュータ可読媒体を提供する。
【００１８】
別の態様では、本開示は、１つまたは複数のプロセッサに、フレームレートアップコンバージョンプロセスによって生成された、補間または外挿されたビデオユニットに関連する１つまたは複数の特性を分析することと、分析に基づいてディスプレイ上での補間または外挿されたビデオユニットの提示を選択的に有効および無効にすることとを行わせる命令を備えるコンピュータ可読媒体を提供する。
【００１９】
開示する技法の１つまたは複数の態様の詳細を添付の図面および以下の説明に示す。他の特徴、目的、および利点は、説明および図面、ならびに特許請求の範囲から明らかになろう。
【図面の簡単な説明】
【００２０】
【図１】ビデオユニット置換に使用するための参照ビデオユニットを選択するように構成されたビデオ符号化および復号システムを示すブロック図。
【図２Ａ】ビデオデコーダにおけるビデオユニットの補間のための技法の例を示す図。
【図２Ｂ】選択された参照ビデオユニットを使用したビデオユニットの補間を示す図。
【図２Ｃ】ビデオデコーダにおけるビデオユニットの外挿のための技法の例を示す図。
【図２Ｄ】選択された参照ビデオユニットを使用したビデオユニットの外挿を示す図。
【図３】フレーム置換において使用するための参照フレームを選択するように構成されたビデオデコーダの例を示すブロック図。
【図４】フレーム置換において使用するための参照フレームを選択するように構成されたビデオデコーダの別の例を示すブロック図。
【図５】図３または図４に示すビデオデコーダとともに使用できる分析ユニットを示すブロック図。
【図６】ビデオデコーダがビデオユニット置換のための参照ビデオユニットを選択する例示的な技法を示す流れ図。
【図７】参照ビデオユニット選択のための例示的な技法をより詳細に示す流れ図。
【図８】ビデオユニット置換のための参照ビデオユニット選択をサポートするための、参照ビデオユニットの品質分析のための例示的な技法を示す流れ図。
【図９】ビデオユニット置換のための参照ビデオユニット選択をサポートするための、参照ビデオユニットの品質スコアを発生するための例示的な技法を示す流れ図。
【図１０】リソース重視モードにおける動き分析に基づく選択的置換の例示的な技法を示す流れ図。
【図１１】リソース重視モードにおける動き分析に基づく選択的置換の別の例示的な技法を示す流れ図。
【図１２】置換フレームの表示を選択的に有効または無効にするように構成されたビデオデコーダの例を示すブロック図。
【図１３】品質分析に基づく置換フレームの選択的表示のための例示的な技法を示す流れ図。
【図１４Ａ】図１２に示すビデオデコーダとともに使用できる分析ユニットを示すブロック図。
【図１４Ｂ】図１２に示すビデオデコーダとともに使用できる別の分析ユニットを示すブロック図。
【図１５】置換フレームの選択的表示をサポートするための、品質スコアを発生するための例示的な技法を示す流れ図。
【図１６】ビデオユニットが遅延敏感ビデオアプリケーションをサポートするときの、ビデオユニット置換のための参照ビデオユニット選択をサポートするための、参照ビデオユニットの品質分析のための例示的な技法を示す流れ図。
【発明を実施するための形態】
【００２１】
図１は、ビデオユニット置換に使用するための参照ビデオユニットを選択するように構成されたビデオ符号化および復号システム１０を示すブロック図である。様々な態様では、置換されるビデオユニットおよび選択される参照ビデオユニットは、たとえば、ビデオフレーム、ビデオスライス、またはビデオブロックとすることができる。図１に示すように、システム１０は、ビデオエンコーダ１２とビデオデコーダ１４とを含むことができ、各々は一般的にビデオコーダと呼ばれることがある。図１の例では、ビデオエンコーダ１２は、入力ビデオフレーム１６を符号化して、符号化ビデオフレーム１８を生成する。ビデオエンコーダ１２は、符号化ビデオフレーム１８を通信チャネル１９を介してビデオデコーダ１４に送信することができる。
【００２２】
本開示で説明する技法は、フレーム、スライス、ブロックまたはサブブロックなどの様々なビデオユニットに適用可能であるが、本開示では、本開示で広く説明するそのような技法の態様の限定なしに、例示のためにビデオフレームへの本技法の適用について一般的に説明する。
【００２３】
エンコーダ１２とデコーダ１４との間で送信されなければならないデータ量を低減し、それによって、チャネル１９の低減された帯域幅要件に準拠するために、ビデオエンコーダ１２は、ソースビデオユニットコーディングレートよりも小さい基本ビデオユニットコーディングレートで動作することができる。たとえば、ビデオエンコーダ１２は、たとえば、１５、３０、６０フレーム毎秒（ｆｐｓ）などの低減されたビデオフレームレートで動作することができる。
【００２４】
代替的に、または追加的に、場合によっては、ビデオエンコーダ１２は、所与のビデオフレームレートで動作し、エンコーダ１２にいくつかのビデオユニットの符号化をスキップさせるスキップユニット２０を随意に含むかまたは選択的に活動化することができる。たとえば、エンコーダ１２にいくつかのフレームの符号化をスキップさせるようにビデオユニットスキップユニット２０を構成し、それによって、たとえば、ソースビデオフレームレートに対するビデオエンコーダ１２の実効フレームレートを低減することができる。図１では、スキップされたビデオフレームは、符号化フレーム１８中の影付きフレームで示されている。
【００２５】
フレームがスキップされるか、またはコーディングレートがアップコンバートできる場合、実際のビデオフレームレートを高いビデオフレームレートに変換するために、たとえば、補間または外挿によって、デコーダ側で追加のビデオユニットを置換することが望ましい。そのようなプロセスは、フレームレートアップコンバーション（ＦＲＵＣ）をサポートするためのフレーム置換と呼ばれることがある。実際に、デコーダ１４は、ビデオエンコーダ１２によって生成された実際のフレームレートを、アップコンバートされたフレームレートに高めることができる。
【００２６】
一例として、フレームスキッピングを用いてまたは用いずにエンコーダ１２によって生成された実際のフレームレートが３０ｆｐｓである場合、デコーダ１４は、たとえば、補間または外挿によって追加のフレームを置換し、実効フレームレートを３０ｆｐｓから６０ｆｐｓまたは１２０ｆｐｓに高めるように構成できる。実際に、追加のフレームは、スキップされたフレームと置換されるか、またはビデオエンコーダ１２の基本フレームコーディングレートがより大きければ含めることができたであろうフレームと置換される。上述のように、ビデオエンコーダ１２によって生成されたフレームレートは、ソースビデオレートよりも小さい基本フレームレート、および／または、たとえば、随意のスキップユニット２０によるいくつかのフレームの随意のスキッピングにより、所望のフレームレートよりも小さくなる。
【００２７】
上述のように、いくつかのフレームをスキップするかまたはより小さいフレーム毎秒でコーディングすることによって、ビデオエンコーダ１２は、低減されたフレームレートでビデオを符号化することができる。しかしながら、低フレームレートビデオは、動きジャーキネスの形態で時間アーティファクトを生成することがある。より滑らかな動きの知覚を与えるために、フレーム置換をデコーダ１４によって採用して、スキップされたフレームまたは他の除外されたフレームのコンテンツを近似し、実際に、実際のフレームレートをアップコンバートすることができる。たとえば、ビデオデコーダ１４は、復号ビデオの実効フレームレートを高めるために、少なくともいくつかの追加のビデオフレームを補間または外挿するフレームレートアップコンバージョン（ＦＲＵＣ）ユニット２２を含むことができる。
【００２８】
ここでも、フレームの実効コーディングレートのアップコンバージョンに関してＦＲＵＣユニット２２を説明するが、本開示で説明する技法は、スライス、ブロック、またはサブブロックなどの他のビデオユニットにも適用できる。ビデオデコーダ１４は、ＦＲＵＣユニット２２を介して受信フレーム２４を復号し、追加のビデオフレームを近似して、出力ビデオフレーム２６を生成することができる。復号された出力ビデオフレーム２６を使用して、ディスプレイデバイスを駆動することができる。図１では、スキップされたフレームの例は、受信ビデオフレーム２４中の影付きビデオフレームで示されている。
【００２９】
図１の例では、ＦＲＵＣユニット２２はビデオデコーダ１４内に示されている。他の実装形態では、ＦＲＵＣユニット２２はビデオ後処理モジュールの一部をなすことができる。ビデオ後処理モジュールは、ビデオデコーダ１４の出力を処理することができ、平滑化、シャープニング、輝度調節、および／またはコントラスト強調、ならびにＦＲＵＣ動作など、様々な処理動作を実行することができる。別の代替形態として、ＦＲＵＣユニット２２は、ビデオディスプレイプロセッサ、または、たとえば、モバイルマルチメディアデバイス用のモバイルディスプレイプロセッサ（ＭＤＰ）デバイスの一部をなすことができる。したがって、ビデオデコーダ１４内のＦＲＵＣユニット２２の実装形態は、例示のために図１および他の図に示されており、本開示で概して説明する技法を限定するものとみなされるべきでない。
【００３０】
動き補償（ＭＣ）ビデオフレーム補間（ＶＦＩ）は、デコーダ側のＦＲＵＣなどのアプリケーションにおいてビデオの時間知覚品質を向上させるために使用される技法の一例である。ＦＲＵＣプロセスをサポートするために、他の補間技法、ならびに外挿技法を適用して、追加のフレームを近似することができる。ＦＲＵＣ技法は、スキップされたフレームを近似することによって、またはビデオエンコーダ１２の基本フレームレートを超える追加のフレームを発生することによって時間品質を向上させることができるが、いくつかのフレームの補間または外挿は、視覚的品質を損なう望ましくない空間アーティファクトを導入することがある。
【００３１】
たとえば、置換されたビデオフレームの視覚的品質は、保証されないことがあり、特定の参照フレームあるいは補間または外挿を実行するために使用されるフレームに大いに依存することがある。さらに、ＶＦＩ方法は、非常に複雑で、多くの電力および他のリソースを消費することがあり、これは、限られた電力、計算および／またはメモリリソースをもつモバイルデバイスなど、いくつかのデバイスにおけるビデオアプリケーションでのＶＦＩの使用を阻むことがある。他のフレーム置換技法は、同様の品質およびリソースの問題を提示することがある。
【００３２】
ＦＲＵＣユニット２２は、ビデオデコーダ１４によって受信された１つまたは複数の参照ビデオフレームに関連する少なくとも１つの特性を分析し、ビデオデコーダによってビデオフレームの置換において使用するための参照ビデオフレームの１つまたは複数を分析に基づいて選択するように構成できる。参照ビデオフレームは、時間的に置換すべきフレームの前または後に存在する受信フレーム２４から選択できる。言い換えれば、ＦＲＵＣユニット２２は、置換すべき追加のフレームを近似することにおいて使用するための１つまたは複数の以前のまたは将来のフレーム２４を選択することができる。
【００３３】
以前のビデオフレームは、置換すべきフレームに直接先行するフレーム、または置換すべきフレームに近接する１つまたは複数の前のフレームを含むことができる。将来のフレームは、置換すべきフレームの直接後にくるフレーム、または置換すべきフレームに近接する１つまたは複数のフレームを含むことができる。補間による置換の場合、１つまたは複数の以前のフレームおよび１つまたは複数の将来のフレームを、追加の中間のフレームを補間するために使用することができる。外挿による置換の場合、１つまたは複数の以前のフレームまたは１つまたは複数の将来のフレームを、追加の以前または将来のフレームの外挿のために使用することができる。
【００３４】
いくつかの態様では、ＦＲＵＣユニット２２は、参照ビデオフレームの品質を分析して、追加のビデオフレームの置換において使用するための１つまたは複数の参照フレームを選択することができる。このようにして、ＦＲＵＣユニット２２は、たとえば、補間または外挿によるビデオフレーム置換のための参照フレームとしてどのフレームを使用すべきかを判断する。この場合、ＦＲＵＣユニット２２は、出力ビデオフレーム２６の時空間ビデオ品質を向上させるように参照ビデオフレームを選択することができる。他の態様では、ＦＲＵＣユニット２２は、参照フレームの品質とビデオデコーダ１４が常駐するデバイスのリソース制約との両方を分析することができる。この場合、ＦＲＵＣユニット２２は、電力消費の低減、計算リソースの節約、および／またはメモリリソースの節約における利害関係のバランスをとりながら、出力ビデオフレーム２６の時空間ビデオ品質を向上させることができる。ＦＲＵＣユニット２２は、補間または外挿されたフレーム品質ならびにビデオシーケンスの時間品質を向上させることができる。一般に、計算およびメモリリソースの消費は、電力消費の増加、ならびに場合によっては待ち時間の増加に寄与することがある。
【００３５】
さらに、いくつかの態様では、ＦＲＵＣユニット２２は、終端間処理および／または提示遅延の低減への偏りをもつ参照ビデオフレームを選択するように構成できる。そのような遅延は、遅延敏感である、ビデオ電話などのいくつかのリアルタイムまたはほとんどリアルタイムのアプリケーションでは特に望ましくないことがある。たとえば、将来の参照ビデオフレームを使用して置換されたフレームを近似するとき、ＦＲＵＣユニット２２は、近似すべきフレームに時間的に比較的近接した将来の参照ビデオフレームの選択に有利であるように構成できる。代替的に、ＦＲＵＣユニット２２は、そのような遅延敏感アプリケーションのためのビデオフレーム置換を無効にすることができる。
【００３６】
一例として、ビデオ電話アプリケーションでは、終端間遅延を低減するために、将来のフレームに基づいてフレーム外挿を選択することはあまり望ましくなく、また、ビデオフレーム補間の場合、さらに将来にある将来のフレームではなく、より近い将来のフレームを選択し、それによって、ユーザのための時間品質を保持することが望ましい。特に、さらに将来に存在する将来の参照フレームに依拠する結果、そのような将来のフレームが復号されるのを待機する必要による遅延が生じることがある。フレームが将来のより先に存在するほど、待機は長くなり、ビデオ電話提示に混乱させる遅延を生じることがある。
【００３７】
いくつかの態様では、ビデオデコーダ１４は、１つまたは複数の参照フレーム品質基準の分析に基づいて参照フレームを選択する第１の動作モードとして品質重視フレーム置換モードを与えることができる。さらに、ビデオデコーダ１４は、リソース考慮事項と品質考慮事項の組合せに基づいて、いくつかのフレームのフレーム置換を選択的に有効または無効にする第２の動作モードとしてリソース重視フレーム置換モードを与えることができる。品質重視およびリソース重視モードは、いくつかの態様では、品質最適化および電力最適化モードと呼ばれることがある。したがって、いくつかの態様では、ビデオデコーダ１４は、電力を節約し、ビデオの補間フレーム品質ならびに時間品質を向上させるために、ビデオフレーム補間または外挿のための参照フレームとしてどのフレームを使用すべきかを決定し、また、どのフレームを補間または外挿すべきかを決定することができる。代替的に、または追加的に、ビデオデコーダ１４は、補間または外挿が実行された後でも、品質基準に基づいてビデオバッファからディスプレイへの置換フレームの送信を無効にするように構成できる。
【００３８】
いくつかの態様では、上述のように、このリソース重視モードを電力最適化モードと考えることができる。たとえば、ビデオデコーダ１４は、視覚的品質を電力の節約および／または計算負荷に対してバランスをとるように構成できる。場合によっては、ビデオデコーダ１４は、たとえば、置換すべきフレームのためのＦＲＵＣ動作が適用されるときにビデオデコーダに利用可能なリソースに従って、品質重視モードとリソース重視モードとの間で選択的に切替え可能とすることができる。
【００３９】
品質重視モードおよび／またはリソース重視モードでは、品質基準は、たとえば、（１つまたは複数の）選択された参照フレームを使用して生成される可能性のある置換されたフレーム品質のレベルを示す１つまたは複数の特性を含むことができる。言い換えれば、参照フレームを使用して補間または外挿されるフレームの、可能性のある品質の指示として特性を選択することができる。参照フレームのいずれも品質基準を満たさない場合、ビデオデコーダ１４は特定のフレームに対するフレーム置換を無効にすることができる。したがって、品質重視モードでは、参照フレームのいずれも満足な、たとえば、しきい値を上回る補間または外挿品質を生成する可能性がないとき、ビデオデコーダ１４は、電力を節約するためにフレーム補間または外挿を無効にすることができる。
【００４０】
いくつかの態様では、置換されたフレームがデコーダ１４によって実際に発生される前または後に品質重視基準を適用することができる。たとえば、フレーム補間または外挿の後に品質分析を適用することができ、その場合、結果に基づいてディスプレイデバイスに置換フレームを選択的に適用することができる。補間または外挿されたフレームの品質がしきい値品質レベルを満たさない場合、ＦＲＵＣユニット２２は、補間または外挿されたフレームを出力ビデオフレームバッファから送信してディスプレイデバイスを駆動するのではなく、そのフレームを廃棄することができる。
【００４１】
この場合、補間または外挿がすでに実行されていても、品質レベルが、フレームを表示するために必要とされる追加のリソースを補わない場合、フレームを廃棄することは依然として有利なことがある。ディスプレイを駆動するためにフレームをビデオバッファからディスプレイバッファに送信する際に、かなりの量の電力が消耗されることがある。したがって、補間または外挿が実行された後でも、置換フレームを廃棄することにより、さもなければビデオバッファとディスプレイとの間のビデオデータトラフィックに起因する電力消費を節約することができる。
【００４２】
リソース重視モードでは、ビデオデコーダ１４は、１つまたは複数の候補参照フレームの動きレベルがしきい値未満の場合、フレーム置換を無効にすることができる。この場合、ビデオシーンが概して静的であるとき、補間または外挿されたフレームと繰り返しフレームとの間の差は無視することができる。したがって、補間または外挿の代わりにフレーム繰り返しを使用することにより、電力などのリソースを節約することができる。動きレベルしきい値は、ビデオデコーダのリソースレベルまたはリソース節約要件に応じて固定または調節可能とすることができる。品質重視モードまたはリソース重視モードのいずれが活動化される場合も、フレーム置換が有効にされた場合、１つまたは複数の品質基準を使用して、参照フレームを選択することができる。
【００４３】
候補参照フレームを分析するために使用される１つまたは複数の品質基準は、候補参照フレームを使用することによって生成される可能性のある補間または外挿の品質を示す特性として選択できる。たとえば、検討中の候補参照フレームが、その追加のフレームの補間または外挿に使用される場合、品質基準は、補間または外挿されたフレームの、可能性のある品質を示すことができる。また、ＦＲＵＣユニット２２は、参照フレーム品質のさらなる指示として動きベクトル信頼性を分析することができる。ＦＲＵＣユニット２２によって分析される品質基準の例は、量子化パラメータ（ＱＰ）値、符号化ブロックパターン（ＣＢＰ）値、および参照ビデオフレームに関連する０でない変換係数の数を含むことができる。ＣＢＰ値が０に等しくない場合、ＱＰ値を０でない係数の数と結合して、参照フレームによって与えられた動きベクトルの信頼性を判定することができる。
【００４４】
ＦＲＵＣユニットはまた、補間または外挿において使用するための候補参照フレームの品質を判断するために、構造的類似性メトリック（ＳＳＩＭ）、ブロッキネス（blockiness）、および／またはぼけ度（blurriness）などを考慮することができる。さらに、参照フレームのためのイントラモードおよび動きベクトルカウントに加えてイントラモードのタイプを考慮することができる。
【００４５】
ＦＲＵＣユニット２２は、一般的にビデオユニット損失と呼ばれる、完全または部分ビデオユニット損失の証拠などの他の品質基準を分析することができる。たとえば、ＦＲＵＣユニット２２は、フレームのためのエラー隠蔽機構の利用可能性の欠如に関連する参照ビデオフレームのスライスまたはフレーム損失を分析することができる。たとえば、ＦＲＵＣユニット２２は、エラーのレベルおよびエラー隠蔽機構の品質を評価することができる。上記の品質基準のタイプの追加または代替として、他の品質基準を使用することができる。
【００４６】
場合によっては、ＦＲＵＣユニット２２は、１つまたは複数の品質しきい値を満たす参照ビデオフレームを選択することができる。他の場合には、ＦＲＵＣユニット２２は、複数の参照ビデオフレームの品質を記録し、ランク付けし、最良のスコアを生成する１つまたは複数の参照フレームを選択することができる。２つのフレーム（たとえば、２つの以前のフレームまたは２つの将来のフレーム）がほぼ同じにランク付けされる場合、補間すべきスキップされたフレームに時間的により近いフレームを選択することが望ましい。
【００４７】
例示のために、本開示では、一般的に、追加のフレームの補間または外挿のための参照フレームの選択に言及する。ただし、いくつかの実装形態では、本開示は、より一般的に、フレーム以外の追加のビデオユニットの近似のための参照ビデオユニットの選択を企図する。たとえば、本開示で説明する技法は、ビデオフレーム、ビデオスライス、またはマクロブロックなどのビデオブロックなど、様々な参照ビデオユニットのいずれかを分析し、選択するように適合できる。
【００４８】
フレーム、スライスまたはブロックなどのビデオユニットがビデオエンコーダ１２によってスキップされるとき、本技法を使用して、補間または外挿に使用できる様々な候補参照フレームの中の対応するフレーム、スライスまたはブロックを識別することができる。代替的に、フレーム、スライスまたはブロックがスキップされないときでも、本技法を使用して、たとえば、フレームレート変換アプリケーションの場合にエンコーダ１２の基本フレームコーディングレートを高めるために追加のフレームを近似することができる。
【００４９】
スキッピングまたは低いフレームレートのためにフレーム全体を近似することが望ましいときでも、近似すべきフレームのスライスまたはブロックを補間することにおいて使用するための個々のスライスまたはブロックを選択することが有利である。この場合、異なる候補フレームからのスライスまたはブロックは、近似すべきフレーム中の対応するスライスまたはブロックを補間または外挿するように選択できる。たとえば、追加のビデオユニットの補間または外挿のための参照ビデオユニットを選択するために、本開示で説明する品質分析または品質分析と同様の分析をスライスごとまたはブロックごとに適用することができる。したがって、本開示は、置換すべきスキップされたフレームの補間または外挿のための参照フレームの選択に重点を置くことによって、概して説明する態様を限定するものとみなされるべきではない。
【００５０】
図１をさらに参照すると、ビデオエンコーダ１２とビデオデコーダ１４は、伝送チャネル１９によって接続できる。伝送チャネル１９は、ビットストリーム内でビデオフレームを搬送することが可能な有線またはワイヤレス媒体、または両方の組合せとすることができる。チャネル１９は、双方向または単方向ビデオ送信をサポートすることができる。システム１０は、ビデオ電話、ビデオストリーミング、ビデオブロードキャストなどのために構成できる。したがって、相互符号化、復号、多重化（ＭＵＸ）および逆多重化（ＤＥＭＵＸ）構成要素をチャネル１９の両端に設けることができる。いくつかの実装形態では、いわゆるワイヤレスビデオ電話またはカメラ付き携帯電話など、ビデオストリーミング、ビデオブロードキャスト受信、および／またはビデオ電話などが可能なワイヤレスモバイル端末などのビデオ通信デバイス内に、エンコーダ１２およびデコーダ１４を設けることができる。
【００５１】
そのようなワイヤレス通信デバイスは、ワイヤレス通信、オーディオコーディング、ビデオコーディング、およびユーザインターフェース機能をサポートするために様々な構成要素を含む。たとえば、ワイヤレス通信デバイスは、１つまたは複数のプロセッサ、オーディオ／ビデオエンコーダ／デコーダ（ＣＯＤＥＣ）、メモリ、１つまたは複数のモデム、増幅器などの送信受信（ＴＸ／ＲＸ）回路、周波数変換器、フィルタなどを含むことができる。さらに、ワイヤレス通信デバイスは、画像およびオーディオキャプチャデバイス、画像およびオーディオ出力デバイス、関連するドライバ、ユーザ入力メディアなどを含むことができる。
【００５２】
エンコーダ１２、デコーダ１４または両方は、上述のようにワイヤレスまたは有線通信デバイスに組み込むことができる。また、エンコーダ１２、デコーダ１４または両方は、ワイヤレスまたは有線通信デバイスに組み込むことができる集積回路チップまたはチップセットなどの集積回路デバイス、あるいはデジタルメディアプレーヤ、携帯情報端末（ＰＤＡ）、デジタルテレビジョンなど、デジタルビデオアプリケーションをサポートする別のタイプのデバイスとして実装できる。
【００５３】
システム１０は、セッション開始プロトコル（ＳＩＰ）、ＩＴＵ−Ｔ  Ｈ．３２３規格、ＩＴＵ−Ｔ  Ｈ．３２４規格、または他の規格に従ってビデオ電話をサポートすることができる。ビデオエンコーダ１２は、ＭＰＥＧ−２、ＭＰＥＧ−４、ＩＴＵ−Ｔ  Ｈ．２６３、ＩＴＵ−Ｔ  Ｈ．２６４、またはＭＰＥＧ−４、Ｐａｒｔ１０などのビデオ圧縮規格に従って符号化ビデオデータを発生することができる。図１には示されていないが、ビデオエンコーダ１２およびビデオデコーダ１４は、それぞれ、オーディオエンコーダおよびデコーダと一体化でき、データストリームのオーディオ部分とビデオ部分の両方を処理するために適切なハードウェアおよびソフトウェア構成要素を含むことができる。
【００５４】
エンコーダ１２は、イントラフレーム（Ｉフレーム）と、予測フレーム（Ｐフレーム）と、双方向予測フレーム（Ｂフレーム）とを含むことができるビデオフレーム１６を符号化する。Ｉフレームは、空間コーディング技法を使用して、すべてのビデオ情報を完全に符号化するフレームである。符号化フレームは、フレームを形成する一連のビデオブロックを表す情報を備えることができる。ビデオブロックは、マクロブロック（ＭＢ）と呼ばれることがあり、たとえば、輝度（Ｙ）チャネル、クロミナンス赤（Ｃｒ）およびクロミナンス青（Ｃｂ）色チャネルのピクセル値を定義するコーディングビットを含むことができる。
【００５５】
上述のように、エンコーダ１２は、伝送チャネル１９を介して送信されるデータのフレームレートを低減するためにフレームスキッピングを実装することができる。特に、エンコーダ１２は、選択されたフレームをコーディングしないかまたは選択された符号化フレームを送信しないことによって、選択されたフレームを意図的にスキップするように構成できる。代替的に、エンコーダ１２は、フレームスキッピングを用いてまたは用いずに、所望のフレームレート未満の基本フレームコーディングレートでフレームを発生することができる。フレームスキッピングまたは低減されたフレームレートコーディングにより、エンコーダ１２は、チャネル１９の低減された伝送レート要件に準拠することが可能になる。
【００５６】
フレームスキッピングの場合、スキッピングが交互のフレームで起こるかまたはｎ番目のフレームごとに起こるように、フレームスキップユニット２０によって固定レートでフレームをスキップすることができる。代替的に、たとえば、知的フレームスキッピング基準に基づいて、変動レートでフレームをスキップすることができる。また、エンコーダ１２は、固定ベースで所与のフレームレートでフレームを符号化するか、またはフレームレートがチャネル状態または他の要件などの考慮事項に従って変化するように適応ベースでフレームを符号化することができる。いずれの場合も、フレームレートをデコーダ１４によって効果的にアップコンバートして、たとえば、３０ｆｐｓから６０ｆｐｓまたは１２０ｆｐｓに高められたフレームレートを生成することができる。
【００５７】
ＦＲＵＣユニット２２をデコーダ１４によって使用して、フレームレートを高めるために、フレーム置換を実行して、スキップされたフレームを交換するか、または追加のフレームを発生することができる。さらに、いくつかの実装形態では、ＦＲＵＣユニット２２は、送信中に破棄されたかまたは失われたフレームに使用できる。エンコーダ１２によってスキップされたフレームおよび送信中に破棄されたかまたは失われたフレームは、本開示では一般的にスキップされたフレームと呼ばれる。各場合において、実効フレームレートを高め、それによって時間品質を改善するために、デコーダ１４のＦＲＵＣユニット２２は、ＦＲＵＣプロセスを実行して、ビデオフレーム補間または外挿および参照フレーム選択を使用して、スキップされたフレームの少なくとも一部を置換フレームで近似することができる。
【００５８】
参照ビデオフレームのいずれも十分な品質レベルをもつフレーム置換をサポートする可能性がない場合、ＦＲＵＣユニット２２は、フレーム置換を無効にし、フレーム繰り返しを適用することができる。フレーム置換が無効にされたとき、デコーダ１４は、以前のフレームと将来のフレームとの間にフレームを補間または外挿する代わりに、以前のまたは将来のフレームを単に繰り返すことができる。この場合、デコーダ１４は、スキップされたフレームの代わりに、またはフレームレート変換のための追加のフレームとして、以前のまたは将来のフレームの複製バージョンを使用することができる。
【００５９】
フレーム繰り返しを使用することによって、デコーダ１４は、補間または外挿によって導入されることがある望ましくない空間アーティファクトを回避することができる。フレーム繰り返しはビデオの知覚時間品質を低減することがあるので、十分な品質が達成できるときには、通常、補間または外挿によるフレーム置換がより望ましい。しかしながら、電力、計算、および／またはメモリリソースの過大な消費は、置換技法の全体的な有用性を低減することがある。本開示に記載されているリソース重視モードは、品質対リソース消費のバランスをとるのに役立つことができる。
【００６０】
図１の例では、ビデオエンコーダ１２はビデオ情報の入力フレーム１６（Ｆｔ−２、Ｆｔ−１、Ｆｔ、Ｆｔ＋１、Ｆｔ＋２）を受信する。Ｆｔは、随意のフレームスキップユニット２０によるフレームスキッピング、またはエンコーダ１２によって生成される基本フレームレートのために、時間ｔにおいてコーディングされないフレームを表す。したがって、本開示に記載されているフレーム置換は、一般的に、フレームスキッピング、チャネル損失、またはエンコーダ１２の基本フレームレートのいずれかのために、デコーダ１４によって受信されるフレーム中で供給されなかったフレームＦｔを近似するフレームＦｔ’の追加を指すことに留意されたい。
【００６１】
フレームスキップユニット２０が適用可能な場合、上述のように、フレームは、固定、調節可能または動的フレームスキッピングプロセスに従ってスキップできる。Ｆｔ−２およびＦｔ−１は、時間的にフレームＦｔより前にある過去のフレームを表し、Ｆｔ＋１およびＦｔ＋２は、一時的にフレームＦｔの後にある将来のフレームである。フレームＦｔの補間または外挿に使用できる参照フレームは、フレームＦｔの前と後の両方に多数のフレームを含むことができる。しかしながら、説明しやすいように、図１では、Ｆｔの前後に２つのフレームのみを示す。
【００６２】
一般に、ビデオエンコーダ１２は、入力フレーム１６を上述のＩ、Ｐ、またはＢフレームの１つとして符号化して、符号化フレーム１８を生成する。この場合も、フレームＦｔは、時間的に以前のフレームＦｔ−２、Ｆｔ−１と将来のフレームＦｔ＋１、Ｆｔ＋２との間に存在する。ビデオエンコーダ１２は、符号化フレームＦｔ−２、Ｆｔ−１、Ｆｔ＋１、Ｆｔ＋２を含むが、フレームＦｔを含まない符号化フレーム１８を伝送チャネル１９を介してビデオデコーダ１４に送信する。一般に、エンコーダ１２は、これらのフレームをＩＢＢＰＢＢＰＢＢＰＢＢＩなどのあらかじめ定義されたシーケンスで送信し、Ｉ、Ｂ、およびＰは、それぞれ、Ｉフレーム、Ｂフレーム、およびＰフレームを指す。
【００６３】
符号化フレーム１８は、イントラコーディングまたはインターコーディングでき、入力フレーム１６中に存在するビデオコンテンツを生成するために復号できる。さらに、符号化フレーム１８は、ビデオシーケンス中の他のインターコーディングされたフレームの復号のための参照フレームとして、すなわち、予測されたフレームの動き推定および動き補償のための参照として役立つことができる。予測コーディングの技術分野でよく知られているように、符号化フレームは、参照フレームとして役立つ異なる符号化フレーム中の同様の対応するブロックに対する、符号化フレーム中のブロックの変位を示す動きベクトルによって特徴づけることができる。さらに、符号化フレームは、符号化フレーム中のビデオブロックと参照フレーム中の対応するビデオブロックとの間の差異を示す残差情報によって特徴づけることができる。
【００６４】
入力フレーム１６の符号化および受信フレーム２４の復号は、予測コーディングの場合、上述の参照フレームに依拠することができる。しかしながら、置換すべきフレームの場合、本開示に記載されている参照フレームは、一般的に、デコーダ側で追加のフレームを与えるための補間または外挿に使用されるフレームを指す。したがって、いくつかの例では、所与のフレームを補間と予測コーディングの両方のための参照フレームとして使用できるが、補間または外挿のための参照フレームは、予測コーディングのための参照フレームとはその使用において異なることに留意されたい。予測コーディングのための参照フレームは、エンコーダ側で指定され、予測コーディングに使用される。反対に、補間または外挿のための参照フレームは、デコーダ側で選択し、たとえば、補間または外挿によって追加のフレームの置換に使用できる。
【００６５】
図１の例では、フレーム１６は、多くのフレームを含んでいるビデオシーケンス中の５つのフレームを表し、時間的に符号化フレーム１８間（たとえば、以前のフレームＦｔ−２、Ｆｔ−１と将来のフレームＦｔ＋１、Ｆｔ＋２との間）に存在するフレームＦｔを近似する、追加の、すなわち、余分のフレームＦｔ’の補間または外挿について説明するために使用される。いくつかの態様では、複数のフレームを追加する必要があり、その場合、２つの送信されたフレーム間に存在する２つ以上のフレームが補間または外挿を必要とすることがある。説明しやすいように、本開示では、選択された参照フレームを使用して、以前のフレームと将来のフレームとの間の単一のフレームＦｔ’を補間する例示的な場合に言及する。
【００６６】
ビデオデコーダ１４は伝送チャネル１９を介してフレーム２４を受信する。受信フレーム２４は、ビデオエンコーダ１２によって送信され、伝送チャネル１９の特性によるスライス、フレームまたはブロック損失を受ける符号化フレーム１８と実質的に同じである。ビデオデコーダ１４は、受信フレーム２４（Ｆｔ−２、Ｆｔ−１、Ｆｔ＋１、Ｆｔ＋２）の各々を復号するために、たとえば、ＭＰＥＧ−１、ＭＰＥＧ−２、ＭＰＥＧ−４、Ｈ．２６３、Ｈ．２６４、またはＭＰＥＧ−４、Ｐａｒｔ１０規格のうちの１つに従って標準的な復号技法を適用することができる。本開示によれば、デコーダ１４は、追加のフレームＦｔ’を選択的に近似するためにフレーム２４に適用するＦＲＵＣユニット２２をさらに含む。ＦＲＵＣユニット２２を用いて、ビデオデコーダ１４は、フレームＦｔを発生するためにフレームを補間または外挿し、復号フレームＦｔ−２、Ｆｔ−１、Ｆｔ＋１、Ｆｔ＋２と、追加すべきフレームＦｔの近似Ｆｔ’とを含む出力フレーム２６を発生する。
【００６７】
ＦＲＵＣユニット２２は、ビデオシーケンス中の連続するフレームを受信する。補間すべき各追加のフレームについて、補間のための参照フレームとして使用できる少なくとも１つの以前のフレームおよび少なくとも１つの将来のフレームがある。補間すべきフレームは、時間的に複数の以前のフレームと複数の将来のフレームとの間に存在する。補間の代わりに外挿が近似に使用される場合、外挿すべきフレームは、時間的に１つまたは複数の参照フレームの後、または時間的に１つまたは複数の参照フレームの前に存在することができる。以前および将来のフレームのいくつかは、他のフレームよりも良好なフレーム置換結果を生成することができる。補間は、動き補償補間（ＭＣＩ）、直線補間、双１次補間、双３次補間、スプライン補間、最近隣補間、候補フレームの線形または非線形フィルタ処理など、様々な技法のいずれかによって実行できる。補間は、単方向の補間に対して単一の参照フレームを利用するか、または双方向の補間に対して２つ以上のフレームを利用することができる。同様に、外挿は、単方向の外挿に対して単一の参照フレームまたは２つ以上のフレームを利用することができる。
【００６８】
ＦＲＵＣユニット２２は、以前および／または将来の候補フレームを分析し、追加のフレームの補間または外挿において参照フレームとして使用するためにフレームの１つまたは複数を選択することができる。ＦＲＵＣユニット２２は、好ましいフレーム置換結果を生成する可能性の高い特定の参照フレームを選択するように構成できる。たとえば、ＦＲＵＣユニット２２は、候補参照フレームのセットの１つまたは複数の特性を分析することができる。候補参照フレームは、ビデオシーケンス内のフレームのサブセットから選択できる。たとえば、ＦＲＵＣユニット２２は、Ｎ個の以前のフレームおよびＭ個の将来のフレームのサブセットを分析することができ、ＮとＭは、等しいかまたは等しくない。
【００６９】
候補参照フレームのいずれもフレーム置換のための十分な品質レベルを有しないことを分析が示す場合、ＦＲＵＣユニット２２はフレーム置換を無効にすることができる。この場合、ＦＲＵＣユニット２２は、フレーム置換結果の品質に関して潜在的なＦＲＵＣ障害を検出することができる。低品質補間結果を生成するために電力および計算リソースを浪費する代わりに、たとえば、ＦＲＵＣユニット２２は、フレーム繰り返しを適用して、スキップされたフレームの近似を生成することができる。フレーム繰り返しの場合、前述のように、デコーダ１４は、スキップされたフレームの代わりに以前のまたは将来のフレームのうちの１つの複製バージョンを使用する。したがって、品質重視モードでは、ＦＲＵＣユニット２２は、補間または外挿のための特定の参照フレームを選択するように構成でき、許容品質レベルの可能性がないとき、フレーム置換を無効にすることができる。ＦＲＵＣユニット２２は、デコーダ１４がリソース重視モードで動作するとき、フレーム置換を補うために、より高い品質レベルを探すことができる。
【００７０】
いくつかの構成では、システム１０は１つまたは複数の利益を与えることができる。たとえば、いくつかの構成では、システム１０は、好ましい結果をおそらく生成しないとき、フレーム置換を無効にすることによってビデオデコーダ１４の電力消費を低減することができる。さらに、いくつかの構成では、システム１０は、フレーム置換において使用するための特定の参照フレームを選択することによって、置換されたフレームの品質を向上させることができる。置換されたフレームの補間または外挿において使用するためのより高品質の参照フレームの選択は、符号化ビデオが可変ビットレート（ＶＢＲ）レート制御技法を使用して圧縮されるアプリケーションなど、様々なビデオアプリケーションにおいて有用である。ＶＢＲの場合、いくつかのフレームが、補間または外挿のための参照フレームとして使用されるときに他のフレームよりも良好であるように、品質は異なるフレームの間で変化する。
【００７１】
また、ビデオデコーダ１４は、スライス、フレームまたはブロック損失を被る候補参照フレームを検出するように構成でき、適用されるエラー隠蔽機構がないとき、または利用可能なエラー隠蔽機構が良好な品質のフレームをおそらく与えない場合、そのようなフレームを考慮事項から除外することができる。不十分なエラー隠蔽をもつ候補参照フレームの除外は、ビデオ電話アプリケーションの場合など、著しい伝送損失が起こるときに有用である。リソース重視モードは、たとえば、低い動きのビデオクリップにおいて妥当な客観的および主観的ビデオ品質を維持しながら電力消費を低減することにおいて有用である。
【００７２】
図２Ａは、ビデオデコーダ１４においてＦＲＵＣ技法をサポートするための追加のフレームの補間のための単純な技法の例を示す図である。一般に、選択された以前のフレームＦｔ−Ｎと選択された将来のフレームＦｔ＋Ｍとの間の補間されたフレームＦｔ’中のマクロブロック（ＭＢ）２８を補間するために、ビデオデコーダ１４は、以前のフレームＦｔ−Ｎ中のＭＢ３０と将来のフレームＦｔ＋Ｍ中の対応するＭＢ３２との間に延びる動きベクトルｖＮＭに依拠することができる。この例では、時間ｔは、補間すべき追加のフレームがビデオシーケンス中に現れるであろう時間位置、すなわち、時間を示す。フレームＦｔ−ＮおよびＦｔ＋Ｍは、それぞれ、補間を必要とする追加のフレームＦｔ’の、時間的に先行する（ｔ−Ｎ）フレームと後にくる（ｔ＋Ｍ）フレームである。図２Ａの例では、フレームＦｔ−ＮおよびＦｔ＋Ｍは、追加のフレームＦｔ’の補間のための参照フレームとして役立つ。
【００７３】
ＮおよびＭは、時間ｔに対する時間オフセットを示し、互いに等しいことも等しくないこともある。たとえば、Ｎ＝１およびＭ＝２の場合、フレームＦｔ−Ｎは、補間されたフレームに直接先行するフレームであり、フレームＦｔ＋Ｍは、補間されたフレームの後の第２のフレームである。Ｎ＝１およびＭ＝１である単純な例では、補間の場合、フレームＦｔ−ＮとフレームＦｔ＋Ｍとの間に延びるベクトルｖ１３を一般に（１：２のフレームレート変換の場合）２で除算して、動きベクトルｖＮＭ／２および−ｖＭＮ／２を生成し、補間すべきフレームＦｔ’中の対応するＭＢ２８を識別する。したがって、この簡略例では、ＭＢ２８の位置は、動きベクトルｖＮＭ／２と−ｖＮＭ／２との関数であり、この例のためにＮ＝１およびＭ＝１である。ＭＢ２８には、ＭＢ３０またはＭＢ３２に対応するピクセル値のセット、またはＭＢ３０および３２のピクセル値の平均を割り当てることができる。より高いまたは低いフレームアップコンバージョン、たとえば、１：Ｘ変換では、動きベクトルは、それに応じてスケーリングされる。他の場合、たとえば、ＮとＭの少なくとも１つが１に等しくない場合には、動き推定および動きベクトル処理によって得られる異なる動きベクトルを使用することができる。
【００７４】
さらに、補間のいくつかのタイプでは、ＦＲＵＣユニット２２は、２つ以上の以前のフレームおよび２つ以上の将来のフレームなど、複数の参照フレームに依拠することができる。一般に、参照フレームは、スキップされたフレームなどのフレームを補間するために、単独で使用されるか、あるいは１つまたは複数の他の参照フレームと組み合わせて使用されるフレームを指す。補間プロセスでは、１つまたは複数の参照フレーム中に存在するマクロブロックに関連するピクセル値を使用して、たとえば、図２Ａに示す補間すべき追加のフレーム中の対応するマクロブロックにおいてピクセル値を補間することができる。ピクセル値は、輝度および／またはクロミナンスピクセル値を含むことができる。
【００７５】
一例として、補間されたマクロブロックは、以前のフレーム中のマクロブロックにおけるピクセル値、将来のフレーム中のマクロブロックにおけるピクセル値、または以前および将来のフレーム中の対応するマクロブロックにおけるピクセル値の平均に等しいピクセル値を含むことができる。補間されたフレーム中のマクロブロックは、図２Ａに示すように、参照ビデオフレーム中の対応するブロックに対して動き補償できる。マクロブロックは、図２Ａに示すように、以前のフレームと将来のフレームとの間に延びる動きベクトルによって識別できる。図２Ａに示す補間の図は一例であり、本開示で概して説明する技法を限定しないものとみなされるべきである。多種多様な異なる補間技法を本開示によるフレーム置換に使用することができる。
【００７６】
図２Ｂは、選択された参照フレームを使用した余分のビデオフレームの補間を示す図である。図２Ｂの例では、ＦＲＵＣユニット２２は、追加のフレームＦｔ’を補間することにおいて使用するための参照フレームＦｔ−１とＦｔ＋２とを選択する。ＦＲＵＣユニット２２は、複数の以前のフレームＦｔ−１、Ｆｔ−２、およびＦｔ−３ならびに複数の将来のフレームＦｔ＋１、Ｆｔ＋２、およびＦｔ＋３のうちの１つまたは複数の特性を分析することができる。図２Ｂの例では、ＦＲＵＣユニット２２は、説明のために、３つの以前の参照フレームおよび３つの将来の参照フレームを分析する。この例では、ＦＲＵＣユニット２２は、この分析に基づいて、補間されたフレームＦｔ’の補間において使用するための１つの以前の参照フレームと１つの将来の参照フレームとを選択することができる。ただし、以前および将来の参照フレームの実際の数は、図２Ｂの例とは異なることがある。さらに、ＦＲＵＣユニット２２によって分析される以前のフレームの数は、ＦＲＵＣユニットによって分析される将来のフレームの数とは異なることがある。一般に、ＦＲＵＣユニット２２は、品質分析に基づいて、容認できる品質レベルをもつ補間結果を生成する可能性のある以前のフレームと将来のフレームとを選択することができる。図２Ｂの例では、選択された参照フレームＦｔ−１およびＦｔ＋２はクロスハッチングで示されている。
【００７７】
図２Ｃは、ビデオデコーダ１４におけるビデオユニットの外挿のための技法の例を示す図である。図２Ｃの例では、２つの以前の参照フレームＦｔ−ＭおよびＦｔ−Ｎを使用して、フレーム置換をサポートするために追加のフレームＦｔ’を外挿する。一般に、選択された以前のフレームＦｔ−Ｎおよび選択された以前のフレームＦｔ−Ｍの後にくるフレームＦｔ’中のＭＢ３１を外挿するために、ビデオデコーダ１４は、以前のフレームＦｔ−Ｎ中の対応するＭＢ３３と以前のフレームＦｔ＋Ｍ中の対応するＭＢ３５との間に延びるベクトルｖに依拠することができる。この例では、ｔは、補間すべき追加のフレームがビデオシーケンス中に現れるであろう時間位置、すなわち、時間を示す。フレームＦｔ−ＮおよびＦｔ＋Ｍは、それぞれ、外挿を必要とする追加のフレームＦｔ’に、（ｔ−Ｎ）および（ｔ＋Ｍ）だけ時間的に先行するフレームである。図２Ｃの例では、以前の参照フレームＦｔ−ＮおよびＦｔ＋Ｍは、追加のフレームＦｔ’の外挿のための参照フレームとして役立つ。しかしながら、１つまたは複数の以前の参照フレームまたは１つまたは複数の将来の参照フレームを使用して、追加のフレームＦｔ’を外挿することができる。言い換えれば、追加のフレームは、それぞれ、以前のフレームまたは将来のフレームを使用して前方または後方に外挿できる。
【００７８】
図２Ａの例の場合のように、図２ＣのＮおよびＭは、時間ｔに対する時間オフセットを示し、互いに等しいことも等しくないこともある。たとえば、Ｎ＝２およびＭ＝１の場合、フレームＦｔ−Ｍは、外挿されたフレームに直接先行するフレームであり、フレームＦｔ−Ｎは、外挿されたフレームの２つ前のフレームである。ＭＢ３１には、ＭＢ３３またはＭＢ３５に対応するピクセル値のセット、またはＭＢ３３および３５のピクセル値の平均を割り当てることができる。外挿プロセスは動き補償された外挿を利用することができる。補間の場合のように、外挿では、参照フレームは、復号ビデオフレームに追加すべき余分のフレームを外挿するために、単独で使用されるか、あるいは１つまたは複数の他の参照フレームと組み合わせて使用されるフレームを指すことができる。
【００７９】
外挿では、図２Ｃに示すように、参照フレーム中の対応するブロックから動きベクトルｖを外挿することによって動き補償することができる。外挿プロセスでは、１つまたは複数の参照フレーム中に存在するＭＢに関連するピクセル値を使用して、外挿すべき追加のフレーム中の対応するＭＢにおいてピクセル値を外挿することができる。図２Ｃに示す外挿の図は一例であり、本開示で概して説明する技法を限定しないものとみなされるべきである。多種多様な異なる外挿技法を本開示によるフレーム置換に使用することができる。
【００８０】
図２Ｄは、選択された参照フレームを使用した余分のビデオフレームの外挿を示す図である。図２Ｄの例では、ＦＲＵＣユニット２２は、追加のフレームＦｔ’を外挿することにおいて使用するための参照フレームＦｔ−１とＦｔ−２とを選択する。ＦＲＵＣユニット２２は、外挿に以前のフレームが使用されるか将来のフレームが使用されるかに応じて、複数の以前のフレームＦｔ−１、Ｆｔ−２、およびＦｔ−３または複数の将来のフレームのうちの１つまたは複数の特性を分析することができる。図２Ｄの例では、ＦＲＵＣユニット２２は、説明のために、４つの以前の参照フレームＦｔ−１、Ｆｔ−２、Ｆｔ−３、Ｆｔ−４を分析する。この例では、ＦＲＵＣユニット２２は、この分析に基づいて、フレームＦｔ’の外挿において使用するための２つの以前の参照フレームを選択することができる。ただし、参照フレームの実際の数は、図２Ｄの例とは異なることがある。一般に、ＦＲＵＣユニット２２は、品質分析に基づいて、容認できる品質レベルをもつ外挿結果を生成する可能性のある参照フレームを選択することができる。図２Ｄでは、選択された参照フレームＦｔ−１およびＦｔ−２はクロスハッチングで示されている。
【００８１】
図３は、図１のビデオデコーダ１４の一例をより詳細に示すブロック図である。図３の例では、ビデオデコーダ１４は、受信フレームバッファ３４と、復号ユニット３６と、フレーム置換ユニット３８と、出力フレームバッファ４０と、ＦＲＵＣ分析ユニット４２と、選択ユニット４４とを含む。フレーム置換ユニット３８と、ＦＲＵＣ分析ユニット４２と、選択ユニット４４とは、ビデオデコーダ１４のＦＲＵＣユニット２２の一部を形成することができる。図３の例では、ＦＲＵＣユニット２２はビデオデコーダ１４内に常駐する。ただし、上述のように、ＦＲＵＣユニット２２は、他の実装形態では、ビデオデコーダ１４の外部に、たとえば、ビデオポストプロセッサモジュール、またはビデオディスプレイプロセッサ、またはＭＤＰデバイス内に常駐することがある。受信フレームバッファ３４は、ビデオエンコーダ１２からチャネル１９上で送信される符号化フレームを受信し、記憶する。復号ユニット３６は、適用可能なコーディングプロセスを使用して受信フレームを復号し、復号フレームを出力フレームバッファ４０中に入れる。
【００８２】
受信フレーム３４は、補間または外挿すべき様々なフレームを除外することができる。そのようなフレームは、エンコーダ１２によってスキップされたフレームと、チャネル１９上での送信中に損失したフレームまたはフレームの部分と、エンコーダ１２の基本フレームレートによってサポートされなかったフレームとを含む。時空間品質を促進するために、フレーム置換ユニット３８は、適用可能な場合に、補間または外挿において使用するための特定の受信フレームの分析および選択に基づいて追加のフレームを補間または外挿するように構成できる。
【００８３】
前述のように、フレーム置換ユニット３８による補間は、動き補償補間（ＭＣＩ）、直線補間、双１次補間、双３次補間、スプライン補間、最近隣補間など、様々な補間技法のいずれかを含む。補間は、単方向の補間に対して単一の参照フレームを利用するか、または双方向の補間に対して２つ以上のフレームを利用することができる。同様に、外挿は１つまたは複数のフレームを利用することができる。場合によっては、フレーム置換ユニット３８は、フレーム置換を無効にし、代わりに、たとえば、追加すべきフレームの代わりに以前または将来のフレームを繰り返すことによって、フレーム繰り返しを適用することができる。
【００８４】
フレーム置換ユニット３８は置換または繰り返しフレームをビデオ出力フレームバッファ４０に追加する。ビデオ出力フレームバッファ４０中の復号フレームと、置換または繰り返しフレームとを使用して、ディスプレイなどのビデオ出力デバイスを駆動することができる。一例として、ビデオデコーダ１４は、移動無線電話、デジタルメディアプレーヤ、携帯情報端末（ＰＤＡ）、デジタルテレビジョンなどのワイヤレス通信デバイスを含む、デジタルビデオ機能を含む様々なデバイスのいずれかの一部を形成する。代替的に、出力フレームバッファ４０中のフレームを、アーカイブまたは表示のための１つまたは複数の他のデバイスに送信することができる。各場合において、フレーム置換ユニット３８によって生成された置換または繰り返しフレームは、たとえば、ビデオクリップの時間的視覚的品質を向上させるために、復号ユニット３６によって復号されたフレームを捕捉する。
【００８５】
図３にさらに示すように、フレーム置換ユニット３８は、フレームを補間または外挿する際に参照フレームとして使用するために、復号ユニット３６の出力から復号フレームを受信することができる。復号ユニット２６から受信した復号フレームは、受信フレームバッファ３４からの符号化フレームに基づいて復号ユニット３６によって生成されるピクセル領域フレームとすることができる。フレーム置換ユニット３８は、追加のフレームの補間または外挿のための参照フレームとして復号参照フレームを使用することができる。補間または外挿のために使用される特定の参照フレームは、ＦＲＵＣ分析ユニット４２による候補参照フレームの分析に基づいて選択ユニット４４によって特定される。
【００８６】
分析ユニット４２は、候補参照ビデオフレームを分析するために設けられる。たとえば、分析ユニット４２は、たとえば、構造的類似性メトリック（ＳＳＩＭ）などの客観的品質メトリック、ブロッキネス、および／またはぼけ度、および随意にカラーブリーディングの分析のために、復号ユニット３６の出力からピクセル領域中の復号フレームを得て、補間または外挿において使用するための候補参照フレームの品質を決定することができる。代替的に、または追加的に、分析ユニット４２は、フレームの相対品質レベルの指示として、候補フレームに関連するＱＰ値およびＣＢＰ値など、候補参照フレームのためのコーディング情報を分析することができる。ＱＰ値およびＣＢＰ値などのコーディング情報は、たとえば、復号ユニット３６によって、受信フレームバッファ３４中のフレームに関連するビットストリームからパースされ、図２Ａにさらに示すように分析ユニット４２に与えられる。したがって、いくつかの実装形態では、分析ユニット４２は、復号ユニット３６の出力からの復号ピクセル領域フレーム、および／または復号ユニット３６によって候補フレームからパースされたＱＰ値およびＣＢＰ値などのビットストリーム情報を受信する。
【００８７】
復号ユニット３６から得られるビデオフレームは、追加のフレームの置換のための参照フレームとして置換ユニット３８によって使用することができるという点で、候補参照フレームとみなすことができる。追加すべきフレームごとに、分析ユニット４２は、追加すべきフレームに対して、以前および／または将来のフレームのサブセットのピクセル領域情報、および／またはビットストリーム情報を分析し、置換ユニット３８によるフレーム補間または外挿において使用するための選択されるべきフレームを特定するために、選択ユニット４４に出力を与えることができる。選択ユニット４４は、分析ユニット４２による分析出力に基づいて追加のフレームの補間または外挿のための１つまたは複数のフレームを選択するように構成される。さらに、場合によっては、選択ユニット４４は、たとえば、分析が候補参照フレームのいずれも容認できる品質レベルでのフレーム置換において使用するのに適切でないことを示すとき、置換ユニット３８にフレーム置換を有効または無効にするように指示するように構成できる。
【００８８】
図３に示すように、選択ユニット４４は、追加すべきフレームの補間または外挿において使用するために、受信フレームバッファ３４から１つまたは複数のフレームを選択するようにフレーム置換ユニット３８に指示する、フレーム選択信号またはコマンドを発生することができる。たとえば、追加すべきフレームごとに、選択ユニット４４は、補間において使用するための１つの以前のフレームと１つの将来のフレームとを選択するようにフレーム置換ユニット３８に指示する。次いで、フレーム置換ユニット３８は、選択されたフレームをスキップされたフレームの補間のための参照フレームとして適用することができる。一例として、以前のフレームと将来のフレームとは、たとえば、図２Ａに示すように、以前および将来のフレーム中の対応するブロック間に広がる動きベクトルに基づいて、追加すべきフレーム中のブロックを補間するために使用される。別の例として、選択ユニット４４は、追加のフレームの外挿において使用するための以前のフレームのペアを選択するようにフレーム置換ユニット３８に指示することができる。
【００８９】
選択ユニット４４は、フレーム置換有効化／無効化コマンドを発生することもできる。分析ユニット４２による分析が候補参照フレームのいずれもフレーム置換において使用するために適切ではないことを示すとき、選択ユニット４４はフレーム置換ユニット３８による補間または外挿を無効にする。また、フレーム置換とフレーム繰り返しとの間の視覚差が比較的微小であるとき、選択ユニット４４はリソース重視モードにおける補間を無効にする。いずれの場合も、フレーム置換ユニット４８は、置換フレームを生成するために補間または外挿を実行するのではなく、追加のフレームの代わりに以前または将来のフレームを繰り返すことができる。フレーム繰り返しは、補間または外挿よりも消費する電力および計算リソースが実質的に少なくなる。分析ユニット４２が、受信フレームバッファ３４が適切な参照フレームを含むことを示すとき、選択ユニット４４はフレーム置換を有効にし、フレーム置換において使用するために選択されたフレームを特定する。
【００９０】
フレーム置換のために選択される参照フレームは、追加すべきフレームに最も近接したフレームでも、追加すべきフレームからはるかに離れたフレームでもよい。場合によっては、最も近接したフレーム（すなわち、最も近い以前のフレームおよび最も近い将来のフレーム）は、一般に通常のＦＲＵＣプロセスのために選択されるが、実際は、たとえば、ＶＢＲコーディングまたは他のファクタによる、他の参照フレームよりも補間または外挿において使用するための適合性を低くする特性を有することがある。分析ユニット４２は、フレーム置換において使用するためのそのようなフレームの適合性の指示を与えるために候補参照フレームを分析する。デフォルト値としてスキップされたフレームに隣接するフレームを単に使用する代わりに、分析ユニット４２と選択ユニット４４とにより、フレーム置換ユニット３８は、より最適な結果を与える参照フレームを使用することが可能になる。
【００９１】
図４は、図１のビデオデコーダ１４の別の例をより詳細に示すブロック図である。図４の例では、ビデオデコーダ１４は、図３Ａのビデオデコーダに実質的に対応する。ただし、図４のビデオデコーダ１４のＦＲＵＣユニット２２は、モード選択ユニット４６とリソースモニタ４８とをさらに含む。さらに、ＦＲＵＣユニット２２は随意に、遅延検出ユニット５１を含むことがある。モード選択ユニット４６は、ＦＲＵＣユニット２２の２つ以上の動作モードをサポートすることができる。たとえば、ＦＲＵＣユニット２２は、第１の動作モードとして品質重視モードで、または第２の動作モードとしてリソース重視モードで動作するように構成される。図４の例では、ＦＲＵＣユニット２２はビデオデコーダ１４内に常駐する。他の実装形態では、ＦＲＵＣユニット２２は、ビデオデコーダ１４の外部に、たとえば、ビデオポストプロセッサモジュール、またはビデオディスプレイプロセッサ、またはモバイルディスプレイプロセッサ内に常駐することができる。
【００９２】
リソースモニタ４８は、ビデオデコーダ１４が設けられているデバイス内で利用可能な電力、計算および／またはメモリリソースを監視、検出、推定、あるいは決定するように構成される。場合によっては、リソースモニタ４８は、フレームの処理に適用可能なリソースバジェットを監視するように構成される。したがって、リソースモニタ４８は、フレームがビデオデコーダ１４内で処理される所与の時間に利用可能な実際のリソースを監視するか、またはフレームの処理に適用可能なリソースバジェットに対する推定されたリソース消費を監視するように構成される。異なるリソースレベルに応じて、リソースモニタ４８は、ＦＲＵＣユニット２２の動作のために異なるモード（たとえば、品質重視またはリソース重視）を選択するようにモード選択ユニット４６をトリガすることができる。モード選択ユニット４６は、参照フレーム選択のための候補フレームのその分析を変更するために、ＦＲＵＣ分析ユニット４２にモード選択を送信することができる。代替的に、モード選択ユニット４６は、後述するように、置換（たとえば、補間または外挿）を有効または無効にするためにモード選択を送信することができる。
【００９３】
一例として、リソースモニタ４８は、処理リソースの消費のためのバジェットに対するデコーダ１４中の処理リソースの消費を監視または推定することによって、電力レベルを決定するように構成される。一般に、デジタル信号プロセッサ（ＤＳＰ）などのプロセッサにおいて費やされたＭＩＰＳ（１００万命令毎秒）と、ＤＳＰの動作のために消費された電力との間に対応がある。また、外部メモリからフェッチされたデータ量と、そのようなデータをフェッチするために消費された電力との間に対応がある。さらに、ディスプレイに送信されたフレームデータの量と、この動作のために費やされた電力との間に対応がある。この対応は、既知のデバイスまたはチップセットのために確実に確立され、次いで、ルックアップテーブル中のエントリによって表される。たとえば、ＭＩＰＳ、データフェッチ量、および表示量は、ルックアップテーブル中の電力消費値エントリにマッピングするインデックスとして使用できる。
【００９４】
所与のチップセットにおけるＦＲＵＣアプリケーションでは、各動作がＭＩＰＳに関してどのくらい必要とするか、どのくらいのデータが外部メモリからフェッチされるか、ならびにどのくらいのデータがディスプレイに送信されるかを判断することが可能である。１つのシナリオでは、リソースモニタ４８は、各補間または外挿されたフレームの発生および表示のために消費された電力を計算し、消費された電力のレベルをフレームまたはフレームのセットに割り振られた電力バジェットと比較するように構成される。電力バジェットは、モバイルワイヤレスハンドセットまたは他のデバイス中のビデオデコーダ（またはＣＯＤＥＣ全体）などのデバイスの機能ユニットの設計要件として指定される所定、固定または調節可能な電力レベルとすることができる。
【００９５】
電力バジェットは、画像グループ（ＧＯＰ）または他のビデオシーケンスなど、一連のフレームに対して割り振られる。フレームが処理され、電力が消費されるにつれて、電力バジェット中の利用可能な電力は減少する。リソースモニタ４８は、たとえば、ルックアップテーブル中に記憶された補間または外挿されたフレームのＭＩＰＳと、データフェッチと、表示との間の既知の対応に基づいて、どのくらいの電力が新しいＦＲＵＣフレームを補間または外挿するために必要とされるかを推定するように構成できる。上述のように、電力バジェットは、固定（すなわち、デバイスからのフィードバックループによって調節されない）か、またはデバイスからのフィードバックループに基づいて調節されるかのいずれかとすることができる。
【００９６】
所与のフレームについて、補間のための電力バジェットに残っている電力が十分である場合、補間プロセスを有効にすることができる。代替的に、電力バジェットに残っている電力が不十分である場合、補間プロセスを無効にすることができる。本開示の一態様によれば、補間を有効および無効にする代わりに、リソースモニタ４８とモード選択ユニット４６は異なる補間／外挿モードを選択するように構成される。特に、リソースモニタ４８によって決定された利用可能なリソースレベルに基づいて、モード選択ユニット４６は品質重視モードまたはリソース重視モードを選択することができる。
【００９７】
たとえば、ビデオシーケンス中の以前のフレームのＭＩＰＳ、データフェッチおよび／または表示により、利用可能な電力バジェットが第１の所定のしきい値を下回るレベルまで低下した場合、リソースモニタ４８は、リソース重視モードを選択すべきであることをモード選択ユニット４６に示す。代替的に、利用可能な電力バジェットが第１の所定のしきい値を上回る場合、リソースモニタ４８は、品質重視モードを選択すべきであることをモード選択ユニット４６に示す。いくつかの態様では、利用可能な電力バジェットが、第１の所定のしきい値よりも小さい第２の所定のしきい値を下回る場合、リソースモニタ４８は、フレーム繰り返しのほうを優先して補間外挿を無効にすること、または、場合によっては、デバイス中の電力を節約するために、補間も、外挿も、フレーム繰り返しも有効にすべきではないことを示す。
【００９８】
電力バジェット中の利用可能な電力を監視する際に、リソースモニタ４８は、所与のビデオシーケンスにわたって、フレームごとに消耗されたＭＩＰＳ、フレームごとにフェッチされたデータ、表示のために送信されたフレームデータの量を追跡することができる。たとえば、リソースモニタ４８は、特定のＧＯＰまたは他のビデオシーケンスのＭＩＰＳ、フェッチされたデータおよび表示されたデータの現在の累計を維持し、そのような値を対応する電力消費値にマッピングする。特に、リソースモニタ４８は、値の各々を、たとえば、１つまたは複数のルックアップテーブル中の対応する電力消費値にマッピングし、次いで、値を合計して総電力消費値を生成することができる。代替として、リソースモニタ４８は、ＭＩＰＳ、フェッチされたデータ、表示されたデータに関係するインデックスの組合せをフレームまたは他のビデオユニットのための総電力消費値にマッピングする、多次元ルックアップテーブルにアクセスすることができる。
【００９９】
さらなる代替として、リソースモニタ４８は、そのような値をフレームごとの電力消費値にマッピングし、電力消費値を累積的に追加して、ビデオシーケンスにわたる電力消費の現在の合計を生成することができる。一例として、ビデオシーケンス（たとえば、３０個のフレームのシーケンス）が電力バジェットＸを有し、シーケンス中のｎ番目のフレームにおいて、ＭＩＰＳと、フェッチされたデータと、表示されたデータとは電力量Ｙを消費したと推定され、したがって利用可能な電力バジェットはＸ−Ｙ＝Ｚである場合、リソースモニタ４８は、利用可能な電力バジェットを所定の第１のしきい値と比較して、品質重視モードまたは電力重視モードのいずれかを選択することができる。
【０１００】
シーケンスのための電力バジェットは、シーケンス中のフレームの数によって分割し、追加の電力バジェットを補うことができるシーケンス全体またはシーケンス中のフレームにわたってより均一な割当てを与える様々な方法でシーケンスの過程にわたって更新することができ、したがって、電力バジェットはビデオシーケンスの早い段階で不均一に消耗されない。品質重視モードまたは電力重視モードの選択をサポートするために、様々な代替が、電力バジェットに対する電力消費を推定するために利用可能である。したがって、上記の例は、例示のために提供され、本開示で概して説明する技法を限定するものとみなされるべきでない。
【０１０１】
品質重視モードでは、ＦＲＵＣユニット２２は、１つまたは複数の参照フレーム品質基準に専ら、主に、または、実質的に基づいて参照フレーム選択を実行することができる。品質基準は、たとえば、選択された参照フレームによって生成される可能性がある補間または外挿品質のレベルを示すことができる。参照フレームのいずれも品質基準を満たさない場合、追加すべき特定のフレームに対して、フレーム置換は選択ユニット４４によって無効にされる。この場合、フレーム置換ユニット３８は、フレーム補間の代わりにフレーム繰り返しを適用して、追加すべきフレームに近似することができる。
【０１０２】
リソース重視モードでは、ＦＲＵＣユニット２２は、リソース考慮事項と品質考慮事項の両方の組合せに基づいて、いくつかのフレームのためのフレーム置換を選択的に有効または無効にする。たとえば、ＦＲＵＣ分析ユニット４２が、置換すべきフレームの近傍にあるビデオシーケンスが概して静的であると判断したとき、選択ユニット４４はフレーム置換を無効にする。ビデオシーケンスが低い動きレベルを含む場合、補間または外挿とフレーム繰り返しとの間の視覚差が小さい、またはさらには微小なので、置換を実行する利点がほとんどまたは全くない。この場合、置換を無効にすることによって、デコーダ１４は、視覚的品質にほとんど影響を及ぼすことなしに補間または外挿のために電力およびリソースを消耗することを回避することができる。
【０１０３】
リソース重視モードにおいて置換を補うのに十分な動きがあるとき、分析ユニット４２は、品質重視モードにおいて使用されるものと同じまたは同様の品質分析を実行する。したがって、リソース重視モードと品質重視モードとは、完全に別々のモードというわけではない。むしろ、リソース重視モードが活動化されたとき、品質重視モードは、適用可能な場合に、補間または外挿を補うのに動きレベルが十分な場合にのみ進行する。品質重視モードを単独で活動化するか、またはリソース重視モードを、フレーム置換を無効にし、それによって品質重視モードを非活動化するように、または置換を有効にし、品質重視モードを活動化するように動作させることができる。特に、品質重視モードでさえ、候補参照フレームのいずれも品質基準を満たさない場合、置換は無効にされる。
【０１０４】
オプションとして、リソース重視モードでは、置換が有効にされたとき、品質分析のために使用される品質しきい値は、たとえば、ビデオデコーダ１４のリソース節約要件に応じて調整可能である。たとえば、しきい値を、利用可能な電力、計算リソース、および／またはメモリリソースなど、ビデオデコーダ１４の利用可能な補間リソースに基づいて調整することができる。いくつかの実装形態では、品質しきい値は、ビデオデコーダ１４、ビデオポストプロセッサ、および／またはモバイルディスプレイプロセッサ（ＭＤＰ）などのビデオディスプレイプロセッサに関連する利用可能な電力リソースのレベルなど、利用可能な電力リソースのレベルに基づいて調整される。しきい値が固定または調整可能であるいずれの場合も、置換が有効にされた場合、分析ユニット４２は、参照フレームを選択するか、または置換を無効にするための１つまたは複数の品質基準を適用することができる。
【０１０５】
一例として、追加すべきフレームの近傍にあるビデオシーケンスが極めて低い動きのビデオコンテンツを特徴とする場合、ビデオフレーム補間または外挿の恩恵はあまり顕著にならない。したがって、ＦＲＵＣユニット２２は、ビデオフレーム置換のための参照フレームとしてどのフレームを使用すべきかだけでなく、どのフレームをフレーム置換によって追加すべきか、すなわち、どのフレームを補間または外挿すべきかも判断することができる。いくつかのフレームでは、補間または外挿のコストを時間的視覚的品質の十分な増強によって補うことができない。たとえば、いくつかのスキップされたフレームのための補間を回避することによって、リソース重視モードでは、ＦＲＵＣユニット２２は、計算リソースの節約と、ビデオシーケンスの補間されたフレーム品質および時間的視覚的品質の増強に関連する電力消費とのバランスをとることができる。ゼロ動きベクトルカウント、および／または小さい動きベクトルカウントを、動きコンテンツに基づいて特定のフレームを補間または外挿すべきかどうかを判断するための判断基準として使用することができる。カウントしきい値は、様々な方法で導出される。たとえば、しきい値を、ゼロ動きベクトルカウントおよび小さい動きベクトルカウントの判定動きアクティビティの一方または両方に対して固定することができる。代替的に、しきい値の一方または両方を、たとえば、デコーダ１４のリソースレベルに基づいて調整することができる。
【０１０６】
図３および図４の例では、置換のための参照フレームの品質重視選択では、ビデオデコーダ１４は、様々な品質関連基準を利用することができる。たとえば、ＦＲＵＣユニット２２は、参照フレームを再構成するために与えられるエラー隠蔽方法の信頼性およびタイプと組み合わせて参照フレームのスライスおよび／またはフレーム損失情報に基づいて、ビデオフレーム置換において使用するための参照フレームを選択する。ＦＲＵＣユニット２２は、損失によるエラーのレベルとエラーを訂正するために利用可能なエラー隠蔽機構の品質とを分析するように構成できる。代替的に、または追加的に、ＦＲＵＣユニット２２は、フレームの相対品質レベルの指示として、候補フレームに関連するＱＰ値およびＣＢＰ値を分析することができる。たとえば、ＱＰ値は、参照フレームの品質を判定するためにＣＢＰ値と結合される。
【０１０７】
ＦＲＵＣユニット２２はまた、客観的視覚的品質メトリックを適用することができる。客観的視覚的空間品質メトリックは、構造的類似性メトリック（ＳＳＩＭ）、ブロッキネス、および／またはぼけ度など、非基準メトリックとすることができる。客観的品質メトリックは、代替的にまたは追加的にカラーブリーディングを含むことができる。客観的品質メトリックは、候補参照フレームのための品質スコアを生成するために使用できる。品質基準の他の例は、候補参照フレームにおいて使用されるイントラモードのタイプ、または候補参照フレームの各々のためのイントラモードおよび動きベクトルカウントを含むことができる。追加の基準も必要に応じて利用できる。
【０１０８】
いくつかの態様では、前述のように、所与のビデオアプリケーションが終端間の処理におけるより短い遅延を必要とするとき、ＦＲＵＣユニット２２はフレーム置換を無効にするか、または参照ビデオフレームの選択を将来のフレームではなく以前のフレームに偏らせるように構成できる。ビデオ電話アプリケーションでは、たとえば、ユーザは、ビデオの処理および提示における遅延の低減または除去を必要とする、リアルタイムまたはほとんどリアルタイムのテレビ会議を行うことができる。フレーム置換技法が、たとえば、補間または外挿のために将来のフレームを利用する場合、追加のフレームを生成するためにそのような将来のフレームを復号し、処理する際の遅延は許容できない。この場合、ビデオアプリケーションが遅延要件を課すとき、ＦＲＵＣユニット２２はフレーム置換を無効にするか、将来の候補参照フレームの選択を禁止するか、または、追加すべきフレームの所定数のフレーム内ではない将来の候補参照フレームの選択を禁止するように構成できる。
【０１０９】
たとえば、図４に示すように、ＦＲＵＣユニット２２は、最大遅延、または所与のビデオアプリケーションによって課された他のサービス品質要件を検出する遅延検出ユニット５１を随意に含み、フレーム置換を無効にするか、あるいは補間または外挿のための参照フレームとして過去のフレームまたは近い将来のフレームの選択を必要とするように選択ユニット４４に指示する。遅延検出ユニット５１が、ビデオ電話アプリケーションまたは他の遅延敏感ビデオアプリケーションが最小の遅延を必要とすることを検出した場合、遅延検出ユニット５１はフレーム置換を無効にするように選択ユニット４４に指示する。遅延敏感アプリケーションまたは遅延敏感である場合があるアプリケーションのタイプは、デコーダ１４が組み込まれたデバイスからの特定の信号の受信、デコーダ１４によって受信されたビデオデータに関連するサイド情報において与えられる特定の信号の受信に基づいて、または様々な他の方法のいずれかで、遅延検出ユニット５１によって検出される。遅延敏感アプリケーションの検出の場合、置換ユニット３８は、ユーザにとってテレビ会議の品質を損なうことがある混乱させる遅延を回避するために、フレーム繰り返しを適用するか、または全面的にＦＲＵＣを非活動化することができる。
【０１１０】
代替的に、遅延検出ユニット５１は、フレーム置換を有効にするが、たとえば、時間的距離要件に基づいて、補間または外挿のための過去の参照フレームまたは近い将来の参照フレームの使用を必要とするように選択ユニット４４（および／または分析ユニット４２）に指示することができる。したがって、遅延検出ユニット５１は、十分な品質を有するが、追加すべきフレームからの過度の時間的距離を有するとして示される特定の将来の参照フレームの選択を回避するために、選択ユニット４４に制約を課すことができる。
【０１１１】
たとえば、追加すべきフレームに対して、将来に１または２フレームであるフレームは、フレーム置換のための参照フレームとして使用するために容認できる。ただし、将来のフレームが、追加すべきフレームから数フレーム離れた時間的距離にある場合、フレームが復号され、分析されるのを待つことから生じ得る処理および提示遅延は容認できない。距離分析は、品質分析の後、または品質分析の前に候補参照フレームに適用できる。距離分析が品質分析の前に適用される場合、候補参照フレームが将来のフレームであり、追加すべきフレームからのフレーム距離が大きすぎる場合、遅延検出ユニット５１は、特定の候補参照フレームのための品質分析を中断するように分析ユニット４２に指示することができる。
【０１１２】
代替として、遅延検出ユニット５１は、追加すべきフレームから過度の距離にある将来の参照フレームが低品質スコアを与えられるか、または品質分析において検討から除外されるように、遅延が重要であるとき、その品質分析を調整するように分析ユニット４２に指示することができる。いずれの場合も、フレーム置換がビデオ電話などの遅延敏感ビデオアプリケーションの遅延特性に悪影響を及ぼすことなく進行することができるように、いくつかの将来の参照フレームが参照フレームとしての選択から除外されるという結果になる。場合によっては、ビデオ電話または他の遅延敏感ビデオアプリケーションでは、遅延要件は、たとえば、ビデオ電話アプリケーションのリアルタイムまたはほとんどリアルタイムのサービス要件によりフレーム置換を排除することができる。ただし、ビデオストリーミングおよび再生では、遅延問題は通常あまり重要ではない。
【０１１３】
上述のように、いくつかの実装形態では、追加のビデオユニットの補間または外挿において使用するための１つまたは複数の候補参照ビデオユニットは、追加のビデオフレームからの候補参照ビデオユニットのうちの１つまたは複数の時間的距離に少なくとも部分的に基づいて選択される。候補参照ビデオユニットは、遅延敏感アプリケーションが検出されたとき、時間的距離に基づいて選択される。代替的に、候補参照ビデオユニットは、規則的に、または何らかの他のトリガイベントに応答して時間的距離に基づいて選択される。したがって、いくつかの態様では、時間的距離は、補間または外挿において使用するための参照フレームの選択に適用される品質分析の一部をなすことができる。
【０１１４】
図５は、図３または図４のビデオデコーダ１４とともに使用する参照フレーム分析ユニット４２を示すブロック図である。前述のように、参照ビデオフレームの分析および選択を例示のために説明するが、分析ユニット４２の構造および機能は、スライスまたはブロック（たとえば、マクロブロックまたはより小さいブロック）など、他の参照ビデオユニットの分析および選択に適合できる。図５の例では、分析ユニット４２は、客観的メトリックチェッカー５０と、エラー隠蔽（ＥＣ）チェッカー５２と、量子化パラメータ（ＱＰ）チェッカー５４と、コーディングされたブロックパターン（ＣＢＰ）チェッカー５６と、品質スコア計算器５８と、比較ユニット５９と、動きベクトル（ＭＶ）信頼性チェッカー６０とを含む。
【０１１５】
図５に示す様々なユニットは、品質重視動作モード、ならびに補間が有効にされたときリソース重視動作モードにおいて使用できる。たとえば、モード選択ユニット４６によってリソース重視動作モードが選択されたとき、分析ユニット４２は動き分析器６４を活動化させることができる。さらに、随意に、分析ユニット４２は、リソース重視モードにおいてモード調整ユニット６２を活動化させることができる。選択ユニット４４は、追加すべきフレームのためのフレーム置換を実行すべきかどうかを判断し、実行する場合、フレームを追加するためにフレーム置換において使用するための参照フレームとして分析されているフレームを選択すべきかどうか判断するために、ＭＶ信頼性チェッカー６０および動き分析器６４の出力を考慮することができる。
【０１１６】
客観的メトリックチェッカー５０は、候補参照フレームを分析して、そのようなフレームに関連するＳＳＩＭ値、および／またはブロッキネス、ぼけ度、またはカラーブリーディングの度合いを判断し、その判断に基づいて品質スコアを発生するように構成できる。特定の候補参照フレームのための客観的メトリックチェッカー５０によって生成された品質スコアは、大幅なブロッキネス、ぼけ度、および／またはカラーブリーディングが検出されると低く、ブロッキネス、ぼけ度、および／またはカラーブリーディングがほぼないと高い。異なる候補参照ブロックのための品質スコアは、そのような客観的視覚的品質メトリック特性に応じて、高いスコアと低いスコアの間で異なる。代替的に、品質スコアは、所定のしきい値との比較に基づいて高いかまたは低いと表される。
【０１１７】
分析ユニット４２が客観的メトリックチェッカー５０を利用するとき、客観的メトリックチェッカーは復号ユニット３６によって再構成された復号フレームに適用される。したがって、分析ユニット４２は、受信フレームバッファ３４から得られる符号化フレームを分析し、客観的メトリックチェッカー５０を介して、復号ユニット３６を介した受信フレームバッファ３４からの復号フレームによって得られる再構成されたフレームを受信し、分析することができる。客観的メトリックチェッカー５０は、品質スコアを発生するために、ＳＳＩＭ値、ブロッキネス、ぼけ度、カラーブリーディング、または他の客観的品質メトリックについて再構成された候補参照フレームを分析することができる。
【０１１８】
ＥＣチェッカー５２は、候補参照フレームを分析して、各フレームがスライスおよび／またはフレーム損失を受けたかどうかを判断し、受けた場合、受信フレームバッファ３４から得た符号化フレームを再構成するために信頼できるエラー隠蔽機構が利用可能かどうかを判断する。この意味で、ＥＣチェッカー５２はＥＣ信頼性チェッカーとして動作することができる。損失が所定レベルを上回るエラーを生じた場合、ＥＣチェッカー５２は、エラーを訂正するために利用可能なエラー隠蔽機構の品質を評価する。スライスまたはフレーム損失がない、またはスライスまたはフレーム損失を補償するのに十分なエラー隠蔽機構があるとき、ＥＣチェッカー５２は特定の候補参照フレームに対して比較的高いスコアを発生する。エラー隠蔽がスライスまたはフレーム損失を補償するのに不十分なとき、ＥＣチェッカー５２は低いスコアを発生する。ＥＣチェッカー５２によって発生されるスコアは、スライスまたはフレーム損失の量、または所定のしきい値との比較に基づいた単に高いまたは低いスコアに応じて変わる。
【０１１９】
ＥＣチェッカー５２は、様々な方法で利用可能な十分なエラー隠蔽機構があるかどうか判断することができる。一例として、ＥＣチェッカー５２は、ビデオコーディングのタイプ、たとえば、（コロケートマクロブロックからの動きベクトルを使用する）Ｈ．２６４、またはデコーダ１４が実装されたチップまたはチップセットにおいて実行されることが知られているビデオコーディングのタイプのために使用されるエラー隠蔽の所定の知識に基づいて、エラー隠蔽のタイプを特定する。ＥＣチェッカー５２は、異なるスライスまたはフレーム損失シナリオに対する特定のエラー隠蔽機構の有効性の以前のオフライン分析を利用することができる。
【０１２０】
たとえば、各エラー隠蔽機構は、損失の異なる数、損失の異なる位置、影響を及ぼされたブロックまたはユニットの数、誤り検出時間などを扱う際の有効性を評価される。ＥＣチェッカー５２は、特定のスライスまたはフレーム損失に関連する上記の特性（すなわち、損失の数、位置、誤り検出時間）の１つまたは複数を判断し、次いで、それらの特性と、同様の条件下でのそのようなエラー隠蔽機構のパフォーマンスの事前知識とを考え合せて、利用可能なエラー隠蔽機構が有効であるどうかを判断する。
【０１２１】
一例として、エラー隠蔽機構Ｘがデコーダ１４において使用され、機構Ｘが、Ｙ１未満の損失の数によって特徴づけられる損失、特定領域中の損失の位置、Ｙ２未満の影響を及ぼされたブロック／ユニットの数、時間Ｚを超える誤り検出処理のための与えられた時間に有効であると知られている場合、上記の特性に合致する損失は機構Ｘを使用した隠蔽が可能なはずであり、その場合、ＥＣチェッカー５２は高いＥＣスコアを発生する。
【０１２２】
様々なシナリオでは、特性のいずれか１つが満たされない場合、または特性の１つまたは複数の組合せがスライスまたはフレーム損失に存在する場合、エラー隠蔽は失敗する。損失が上記の特性に合致しない場合、ＥＣチェッカー５２は低いＥＣスコアを発生する。したがって、ＥＣチェッカー５２は、エラー隠蔽機構のタイプの知識と、異なる特性を有するスライスまたはフレーム損失を隠蔽する際のその有効性を利用することができる。
【０１２３】
ＱＰチェッカー５４は、各候補参照フレームに関連する量子化パラメータ（ＱＰ）値を分析する。一般に、ＱＰ値は、符号化ビデオフレームのそれぞれのブロックにおける変換係数の量子化ステップサイズを示す。ＱＰ値は、フレーム中のすべてのブロックに対して同じか、または異なるブロックに対して異なる。一例として、ＱＰチェッカー５４は、参照フレームを形成するブロックの平均ＱＰ値を分析することができる。代替的に、ＱＰチェッカー５４は、フレームの最大または最小ＱＰ値を分析することができる。フレームの平均ＱＰ値が高い場合、ＱＰチェッカー５４は比較的低いスコアを発生し、Ｈ．２６４コーディングの場合、ビデオデータの粗い量子化を示す。より小さいＱＰ値は、Ｈ．２６４コーディングにおけるより細かい量子化ステップサイズ、および概してより高いビデオ品質を示す。したがって、Ｈ．２６４コーディングでは、平均ＱＰ値がより低い場合、ＱＰチェッカー５４はより高い品質スコアを発生する。
【０１２４】
ＣＢＰチェッカー５６は、候補参照フレームごとにＣＢＰ値を分析する。ＣＢＰ値は、フレームを形成するブロックの平均ＣＢＰ値とすることができる。一般に、ＣＢＰ値は、０でない変換係数がブロック中にないか、または少なくとも１つの０でない係数がブロック中にあることを示す。変換係数は、離散コサイン変換（ＤＣＴ）、ウェーブレット変換、または他の圧縮変換領域など、圧縮領域中に存在する。ＣＢＰチェッカー５６によって分析されるＣＢＰ値は、ルーマまたはクロマＣＢＰ値でも、あるいは両方でもよい。所与のフレームについて、ＣＢＰチェッカー５６は、ＣＢＰ値が少なくとも１つの０でない変換係数値を示すブロックの数を判断することができる。いくつかの態様では、ＱＰチェッカー５４およびＣＢＰチェッカー５６を組み合わせることができる。この場合、組合せスコアは、平均ＱＰ値とＣＢＰ値とに基づいて発生される。
【０１２５】
ＱＰ値が所定のＱＰしきい値を下回り、ＣＢＰ値が概して０であり、実質的にいずれのブロックも０でない係数を有しないことを示す場合、フレームの品質は高いスコアによって示される。ＣＢＰ値が少なくとも１つの０でない係数を示すブロックの数が、ＣＢＰしきい値を下回るとき、概して０とみなされるＣＢＰ値が判断される。代替的に、ＱＰ値がＱＰしきい値を上回る場合、スコアは低い。極めて高いＱＰ、および０または中間のＣＢＰ値は、低いスコアを示す。ＣＢＰが０であり、ＱＰ値がしきい値を下回る場合、ブロックのための動き推定は極めて正確であり、品質スコアは高くなるはずである。
【０１２６】
品質スコア計算器５８は、客観的メトリックチェッカー５０、ＥＣチェッカー５２、ＱＰチェッカー５４、およびＣＢＰチェッカー５６のうちの１つまたは複数の出力に基づいて、候補参照フレームの全体的な品質スコアを発生するように構成できる。客観的メトリックチェッカー５０、ＥＣチェッカー５２、ＱＰチェッカー５４、およびＣＢＰチェッカー５６によって生成される個々のスコアは、単に高または低品質値、あるいは高、中間または低品質値として作成される。代替的に、スコアは、多数の階調または実質的に連続スケールに沿って計算できる。品質スコア計算器５８は、客観的メトリックチェッカー５０、ＥＣチェッカー５２、ＱＰチェッカー５４、およびＣＢＰチェッカー５６によって生成されたスコアの各々に等しい重みを与えることができる。代替的に、品質スコア計算器５８は、総品質スコアがすべてのスコアの重み付けされた合計になるように、スコアに所定の、不均一な重み付けを適用することができる。
【０１２７】
一例として、いくつかの実装形態では、品質スコア計算器５８は、ＥＣチェッカー５２および客観的メトリックチェッカー５０によって出力されるスコアよりも、ＱＰチェッカー５４およびＣＢＰチェッカー５６によって出力されるスコアに多くの重みを付けることができる。他の実装形態では、ＥＣチェッカー５２の出力をより重要とすることができる。上記のように、品質スコア計算器５８は、出力に重み付けすることができる。代替として、チェッカー５０、５２、５４、５６の各々は、事前割当てされた重みを用いて個々に重み付けされたスコアを生成するように構成できる。品質スコア計算器５８は、スキップされたフレームの補間において使用するための候補参照フレームの品質を示す総スコアを出力する。
【０１２８】
スコアを計算するために使用される品質特性、たとえば、客観的メトリック、ＥＣ特性、ＱＰおよびＣＢＰ特性が与えられると、総スコアは候補参照フレームが容認できる品質レベルをもつフレーム置換結果を生成する可能性があるかどうかを示すことができる。比較ユニット５９は、総スコアを品質しきい値と比較する。総スコアが十分である、たとえば、品質しきい値を超える場合、比較ユニット５９は、候補参照フレームが、適用可能な場合に、追加の、すなわち余分のフレームの補間または外挿のための参照フレームとしての選択に容認できる品質レベルを有することを示す。総スコアが品質しきい値未満の場合、比較ユニット５９は、候補参照フレームが、適用可能な場合に、補間または外挿のための参照フレームとしての選択に容認できないと判断する。各場合において、分析ユニット４２は、次いで、現在検討中の追加のフレームのための次の候補参照フレームの分析に進むか、または追加すべき次のフレームのための参照フレームの分析に進む。特定の置換フレームに対して検討される候補参照フレームの数は、設計の考慮事項に応じて異なることができる。
【０１２９】
総スコアが十分である、たとえば、品質しきい値を満たすまたは超える場合、比較ユニット５９は、検討中の候補参照フレームが品質を基準として参照フレームとしての選択に適することを示す。代替的に、比較ユニット５９は、上述のように最も高くランク付けされた参照フレームを選択することができる。いずれの場合も、いくつかの実装形態では、参照フレームの選択を承認するために、分析ユニット４２は、動きベクトル（ＭＶ）信頼性チェッカー６０をさらに含むことができる。ＭＶ信頼性チェッカー６０は、ビデオフレーム置換が補間または外挿のために動き補償予測方法を利用する場合、選択された参照フレームが高品質フレーム置換結果を生成するように、候補参照フレームにおける動きベクトルの信頼性を分析することができる。
【０１３０】
動きベクトルが信頼できる場合、ＭＶ信頼性チェッカー６０は分析中の候補参照フレームをフレーム置換のための参照フレームとして選択することができることを選択ユニット４４に示す。ただし、動きベクトルが信頼できない場合、ＭＶ信頼性チェッカー６０は、比較ユニット５９の品質要件を満たしても、候補参照フレームを拒絶する。この場合、ＭＶ信頼性チェッカー６０は、分析中の候補参照フレームをフレーム置換のための参照フレームとして選択すべきではないことを選択ユニット４４に示す。
【０１３１】
いくつかの実装形態では、比較ユニット５９は、検討される参照フレームとしての選択に適切なフレームを示すことができる。言い換えれば、分析ユニット４２は、各候補参照フレームを分析するので、適切な候補参照フレームを特定する場合、候補参照フレームが選択されなければならないことを示す。分析ユニット４２が候補参照フレームの十分な数およびタイプを特定するまでプロセスは続き、特定した時点で、分析ユニット４２は、現在のフレームの補間または外挿のための候補参照フレームの分析を止め、ビデオシーケンス中の追加すべき次のフレームの補間のための候補参照フレームの分析に移る。
【０１３２】
単純な例として、分析ユニット４２は、時間的に以前のフレームと将来のフレームとの間に存在するフレームの補間のために単一の以前の参照フレームと単一の将来の参照フレームとを特定することができる。代替的に、補間のより複雑なタイプに対して、分析ユニット４２は、追加すべきフレームの補間のための選択できる複数の以前および将来の参照フレームを特定することができる。各場合において、十分な数およびタイプ（たとえば、必要な場合、以前および将来）が選択のために特定されるまで、分析ユニット４２は、追加すべきフレームに隣接する以前および将来のフレームのサブセットを分析する。有限の数のフレームを分析することができる。分析されたフレームのいずれも十分な品質スコアを生成しない場合、分析ユニット４２は、フレームが選択されず、フレーム置換ユニット３８はフレーム置換の代わりにフレーム繰り返しを適用しなければならないことを示す。
【０１３３】
いくつかの実装形態では、分析ユニット４２は、候補参照フレームにおいて使用されるイントラコーディングモード、および／または候補参照フレームのためのイントラモードおよび動きベクトルカウントのタイプなど、他のタイプの品質基準を使用することができる。一例として、特定の候補参照フレーム中のイントラコーディングされたブロック（たとえば、マクロブロック）の数がモード判断しきい値を超える場合、分析ユニット４２は、参照フレームに対して、たとえば、その候補参照フレームを追加のフレームの補間のために使用すべきでないような低い補間品質を示す。モード判断しきい値を、たとえば、候補参照フレームにおけるしきい値を上回るいくつかのコーディングビットを有するブロックの数に基づいて、静的または動的に調整することができる。多種多様な他の品質基準を使用することができる。品質分析のために使用されるそのような情報を、客観的品質メトリック、ＱＰおよびＣＢＰ特性、およびＥＣ特性など本開示に記載の他の情報への代替、または追加とみなすことができる。
【０１３４】
いくつかの追加のフレームは、補間または外挿される他の近くのフレームと同じ参照フレームのうちのいくつかを使用して補間または外挿できる。このため、場合によっては、候補参照フレームが品質を分析されると、候補参照フレームの品質に関係する情報を記憶することが望ましい。このようにして、特定の候補参照フレームが後に候補参照フレームとみなされた場合、再び分析を実行する必要なしにその品質を迅速に判断することができる。候補参照フレームは、ビデオシーケンスの一部分中の補間または外挿される数個のフレームのための潜在的な参照フレームとして重要である。
【０１３５】
ビデオシーケンスが進むにつれて、記憶された情報は、補間または外挿されるフレームに対して候補参照フレームの時間的隔たりが増すことにより、使用されなくなるか、または少なくとも重要でなくなる。したがって、情報は、何らかのポイントにおいて、たとえば、ビデオシーケンスが候補参照フレームから所定数のフレームよりも離れたポイントに進んだ後、廃棄できる。品質情報を記憶することによって、候補参照フレームごとに１回のみ、分析ユニット４２において品質分析を実行する必要がある。代替的に、追加すべきフレームのための候補参照フレームとしてフレームを特定するたびに、品質分析を実行することができる。
【０１３６】
いくつかの実装形態では、分析ユニット４２は、関係する品質レベルに関して分析された候補参照フレームをランク付けするように構成される。たとえば、分析ユニット４２は、候補参照フレームをランク付けするランク付けユニット（６７Ａまたは６７Ｂ）を含む。この場合、品質しきい値を満たす品質スコアを有するフレームの適切な数およびタイプがわかると止めるのではなく、分析ユニット４２は、候補参照フレームをランク付けして、最良の品質スコアを生成するフレームを特定する。たとえば、分析ユニット４２は、比較ユニット５９によって示される、品質レベルを満たす、たとえば、品質しきい値を満たすまたは超える、候補参照フレームを総品質スコア順にランク付けし、最も高くランク付けされた候補参照フレームを選択する。
【０１３７】
１つのオプションとして、図５を参照すると、分析ユニット４２は、十分である、すなわち、品質しきい値を満たすまたは超えるとして比較ユニット５９によって特定された候補参照フレームを評価し、ランク付けするランク付けユニット６７Ａを含む。ランク付けユニット６７は、フレーム置換ユニット３８によって適用されたフレーム置換のタイプに必要な参照フレームの数と一致する数の最高位にランク付けされた参照フレームを選択する。次いで、選択された、すなわち、最高位にランク付けされた候補参照フレームは、ランク付けユニット６７ＡからＭＶ信頼性チェッカー６０にパスされて、それらが信頼できるＭＶコンテンツを有するかどうかを判断する。有する場合、ＭＶ信頼性チェッカー６０は、フレーム置換において使用するためのフレームを選択すべきであることを選択ユニット４４に示す。最高位にランク付けされた候補参照フレームが信頼できるＭＶコンテンツを有しない場合、ＭＶ信頼性チェッカー６０は、フレーム置換ユニット３８がフレーム置換の代わりにフレーム繰り返しを適用すべきであることを選択ユニット４４に示す。
【０１３８】
別のオプションとして、ランク付けが信頼できないＭＶコンテンツによって影響されることがあるので、分析ユニット４２は十分である、たとえば、品質しきい値を満たすまたは超える品質スコアを有するすべてのランク付けされた候補参照フレームをＭＶ信頼性チェッカー６０にパスすることができる。特に、比較ユニット５９は、パスするスコアをもつすべての候補参照フレームをＭＶ信頼性チェッカー６０に与えることができる。ＭＶ信頼性チェッカー６０は、たとえば、比較ユニット５９によって示された、たとえば、品質しきい値を満たすまたは超える十分な品質スコアと、信頼できるＭＶコンテンツとの両方を有する候補参照フレームを特定する。分析ユニット４２は、ＭＶ信頼性チェッカー６０の出力を受信し、品質スコアの観点から候補参照フレームをランク付けするランク付けユニット６７Ｂを随意に含む。次いで、ランク付けユニット６７Ｂは、いくつかの最高位にランク付けされた候補参照フレームを選択し、選択された参照フレームを選択ユニット４４に伝達する。選択ユニット４４は、ビデオフレームを追加するために、フレーム置換において使用するための選択された参照フレームをフレーム置換ユニット３８に通知する。
【０１３９】
ＭＶ信頼性チェッカー６０は、信頼できるＭＶコンテンツを有しない候補参照フレームを除外し、ランク付けユニット６７Ｂによる参照フレームのランク付けおよび参照フレームとしての選択のために残りの候補参照フレームを残す。特に、ランク付けユニット６７Ｂは、補間の参照フレームとしての選択のための選択ユニット４４に対して、信頼できるＭＶコンテンツを有する最高位にランク付けされた候補参照フレームを特定することができる。この場合も、選択される参照フレームの数は、フレーム置換ユニット３８によって使用されるフレーム置換のタイプ、すなわち、補間または外挿のタイプと、フレーム置換プロセスをサポートするために必要とされる参照フレームの数とに対応する。
【０１４０】
ＭＶ信頼性チェッカー６０は、多種多様な技法のいずれかを使用して動きベクトル信頼性を分析することができる。一例として、ＭＶ信頼性チェッカー６０は、動き差分ベースの手法を適用するように構成される。ＭＶ信頼性チェッカー６０は、ビデオフレームのＸ（横軸）方向とＹ（縦軸）方向との両方における動きベクトル情報を分析するように動作することができる。この場合、ＭＶ信頼性チェッカー６０は、候補参照フレーム中のブロック（たとえば、マクロブロック）のＸ方向における動きベクトルと、以前のフレーム中のコロケートブロックのＸ方向における動きベクトルとの間の差分がしきい値を超えるかどうかを判断する。超える場合、ＭＶ信頼性チェッカー６０は、候補参照フレームにおける動きベクトルが信頼できないと判断する。たとえば、ＭＶ信頼性チェッカー６０は、候補参照フレームにおける信頼できない動きベクトルの数をカウントするか、または候補参照フレームと以前の参照フレームとにおける動きベクトル間の全体的な平均差分を判断する。
【０１４１】
Ｘ（たとえば、横軸）方向における動きベクトル信頼性の判断に加えて、ＭＶ信頼性チェッカー６０は、同様の方法でＹ（たとえば、縦軸）方向における動きベクトル信頼性を判断することができる。ＭＶ信頼性チェッカー６０が、Ｘ方向ＭＶ不信頼性またはＹ方向ＭＶ不信頼性のいずれかを検出した場合、ＭＶ信頼性チェッカーは、検討中の現在の候補参照フレームを拒絶し、スキップされたフレームの補間のための参照フレームとして候補参照フレームを選択すべきではないことを選択ユニット４４に示す。代替として、いくつかの実装形態では、角度情報を動きベクトルの大きさと方向の両方を評価するために使用することができる。ただし、候補参照フレームのためのＭＶが信頼できる場合、ＭＶ信頼性チェッカー６０は、余分のフレームの補間または外挿のための参照フレームとしてその候補フレームを選択することができることを選択ユニット４４に示す。
【０１４２】
代替として、ＭＶ信頼性チェッカー６０は、フレーム間動き変化検出技法を使用してＭＶ信頼性を分析することができる。この技法によれば、ＭＶ信頼性チェッカー６０は、現在の候補参照フレームにおける動きが、以前のまたは将来のフレームなど、別の、隣接するフレームにおける動きから実質的に変化したとき検出するように構成される。変化の大きさがしきい値よりも大きい場合、ＭＶ信頼性チェッカー６０は、候補参照フレームのＭＶは信頼できず、フレーム置換のための参照フレームとして選択すべきではないと判断する。
【０１４３】
フレーム間動き変化検出技法では、候補参照フレームと隣接するフレームとにおける動きが連続的かどうかを検出するために、以下の２つの方法を使用することができる。第１に、動き変化検出は動き統計に基づく。この場合、動きベクトル統計は、両方のフレーム、すなわち、候補参照フレームと隣接するフレームとに対して計算される。統計は、動きベクトル（大きさおよび角度）平均と標準偏差とを含むことができる。第２に、動き変化検出は動きベクトルラベリングに基づく。この場合、統計に基づく動き変化検出は、フレームレベルでの動きの範囲を利用して判断することができる。２つのフレーム中のコロケートマクロブロックごとの動きの差分を検出することはできない。しかしながら、この問題を解決するために、動きベクトルラベリングに基づく動き変化検出を使用することができる。
【０１４４】
さらなる代替として、ＭＶ信頼性チェッカー６０は、動き軌道ベースの技法を使用してＭＶ信頼性を分析することができる。この場合、動き軌道ベースの手法は、隣接するフレームの場合と同じ動き軌道に従う場合、候補フレーム中のマクロブロックがある場所を調べることによって隣接するフレームからの動きベクトルを使用すべきかどうかを判断する。マクロブロックによって搬送されるオブジェクトが候補フレーム中の当該の領域（すなわち、損失したマクロブロックの位置）と著しく重なる場合、そのＭＶを信頼できるとみなすことができ、その候補フレームはフレーム置換のために使用されるべきである。他の場合は、それが当該の領域から離れる場合、そのＭＶは信頼できず、候補フレームはフレーム置換のために使用されるべきではない。
【０１４５】
比較ユニット５９によって使用される品質しきい値は、容認できるフレーム置換結果と相関すると考えられる品質レベルを表すようにあらかじめ決定され、選択される。品質しきい値は、固定でも、調整可能でもよい。いくつかの実装形態では、たとえば、品質しきい値は、デコーダ１４が動作するモードに応じて調整可能である。動作中、分析ユニット４２は、リソース重視モードがオンかオフかを最初に検査する。モード選択ユニット４６が品質重視モードを示す場合、モード調整ユニット６２は既存の品質しきい値を調整することができない。しかしながら、モード選択ユニット４６がリソース重視モードを示す場合、モード調整ユニット６２は既存の品質しきい値を調整することができる。たとえば、いくつかの実装形態では、モード調整ユニット６２は、フレームの補間または外挿のための参照フレームとしてより高品質のフレームの選択を要求するために、品質しきい値を増加させる。
【０１４６】
いくつかの実装形態では、リソース重視モードが選択されたとき、品質しきい値は第１の値から第２の増加した値に増加される。他の実装形態では、リソース重視モードが選択されたとき、品質しきい値は利用可能なリソースレベルに応じて計算される値に増加される。たとえば、利用可能な電力または利用可能な計算リソースなどのリソースが低くなるにつれて、品質しきい値は高くなる。このようにして、リソースレベルがより低いときフレーム置換のコスト、すなわち、フレーム補間または外挿のコストを補うためにより高品質が必要とされように、品質しきい値は利用可能なリソースレベルに反比例する。したがって、いくつかの例では、リソース重視モードでは、分析ユニット４２は、フレーム置換を有効にするか、または無効にするかを判断し、フレーム置換が有効にされたとき、固定の品質しきい値か、または利用可能なリソースレベルに応じて調整された品質しきい値のいずれを使用するかを判断するために動きアクティビティしきい値を適用する。
【０１４７】
特定のフレームの補間または外挿のための候補参照フレームのいずれもリソース重視モードにおける増加した品質しきい値を満たす品質スコアを生成しない場合、フレームの補間または外挿のためにいずれのフレームも選択されない。この場合、選択ユニット４４は補間を無効にし、その場合、フレーム置換ユニット３８はフレーム置換を中断し、フレーム繰り返しを代わりに適用する。リソース重視モードにおいて増加した品質しきい値を要求することによって、より高品質の参照フレームがフレーム置換に利用可能でなければ、モード調整ユニット６２は、実際には、フレーム置換ユニット３８にフレーム置換を無効にすることを強いる。
【０１４８】
リソースが限られるとき、たとえば、電力、計算および／またはメモリリソースがより乏しいとき、モード選択ユニット４６はリソース重視モードを選択する。極めて低い動きのビデオコンテンツの場合など、ビデオフレーム補間の恩恵があまり顕著でないとき、リソース重視モードはビデオフレーム補間を無効にすることができる。このようにして、リソースが限られるとき、モード選択ユニット４６およびモード調整ユニット６２はフレーム補間または外挿に対してより高品質のジャスティフィケーションを課す。言い換えれば、リソース消費の観点からフレーム置換のコストを補うために、フレーム置換の実際の結果は、比較的高い視覚的品質でなければならない。リソースがそれほど乏しくないとき、モード選択ユニット４６は品質重視モードを選択し、モード調整ユニット６２は品質しきい値を低減することができる。より多くの候補フレームが低減された品質しきい値を満たす可能性があるので、低減された品質しきい値により、フレーム置換はより高い頻度で進行することが可能になる。
【０１４９】
リソース重視モードでは、モード選択ユニット４６はまた、動き分析器６４を活動化することができる。品質しきい値を調整するいくつかの実装形態においてモード調整ユニット６２を活動化することに加えて、動き分析器６４は、関係するビデオシーンが比較的静的か否かを判断するために、１つまたは複数の候補参照フレームの動きアクティビティを分析することができる。動き分析器６４は、ビデオシーンが極めて小さい動きか、または著しい動きのいずれを特徴とするかを判断するために候補参照フレームからの動きベクトルデータを分析する。たとえば、動き分析器６４は、ビデオフレーム置換を有効にすべきか、または無効にすべきかを判断するために、現在のアンカーフレームの動きベクトルを分析する。アンカーフレームは、スキップされたフレームの、たとえば、前にまたは後に隣接するフレームとすることができる。
【０１５０】
アンカーフレームによって極めて小さい動きが示され、したがってシーンが比較的静的である場合、動き分析器６４はフレーム置換を無効にする出力を発生する。シーンが比較的静的な場合、選択された参照フレームが高品質フレーム置換結果を生成するとしても、フレーム繰り返しに対して、時間的にスキップされたフレームの補間は通常補うことができない。一例として、シーンが比較的静的のとき、フレーム補間およびフレーム繰り返しによって生成された視覚的品質差分は比較的微小である。このため、ビデオバッファとディスプレイとの間の補間およびビデオデータトラフィックによって消費される電力のコストは、品質でのいかなる著しい利得によっても補われず、無効にすべきである。この場合、品質およびリソース保全の観点からフレーム繰り返しがより望ましい。動き分析器６４がフレーム置換を無効にすべきと示すとき、現在検討中の参照フレームのための品質重視分析も同様に無効にされる。
【０１５１】
いくつかの実装形態では、動き分析器６４は、動きアクティビティをしきい値と比較する。動きしきい値は、固定でも、調整可能でもよい。たとえば、動き分析器６４は、利用可能な電力、計算、および／またはメモリリソースのレベルに基づいて動きしきい値を調整する。調整可能な場合、たとえば、電力リソースが比較的高いレベルである場合、動きアクティビティしきい値は比較的低い。たとえば、電力リソースが比較的低いレベルである場合、動きしきい値は比較的高い。いずれの場合も、しきい値以上の動きアクティビティは、フレーム置換において使用するための１つまたは複数の参照フレームの選択を必要とする、品質重視動作モードと一致する補間をトリガする。電力レベルがより高い場合、より低いしきい値は、フレーム置換をトリガするために必要とされる動きがより小さいことを意味する。しかしながら、電力レベルがより低い場合、より高いしきい値は、フレーム置換をトリガするために必要とされる動きがより大きいことを意味する。
【０１５２】
動き分析器６４および、随意に、モード調整ユニット６２は、モード選択ユニット４６がリソース重視モードを選択するとき活動化され、モード選択ユニット４６が品質重視モードを選択するとき非活動化される。品質重視モードでは、デコーダ１４は、望ましい視覚的品質を生成するように動作することができる。しかしながら、リソース重視モードでは、デコーダ１４は、品質保全の目的とリソース保全の目的の両方を組み合わせることができる。モード選択ユニット４６は、たとえば、利用可能なリソースの１つまたは複数のリソースしきい値との比較によって、限られたリソースの検出に応答してリソース重視モードを選択することができる。したがって、いくつかの実装形態では、モード選択ユニット４６は、デフォルトで品質重視モードを選択し、利用可能なリソースのレベルに基づいてリソース重視モードを選択する。代替的に、リソースベースのモードをデフォルトモードとすることができ、その場合、モード選択ユニット４６は、利用可能なリソースが１つまたは複数のリソースしきい値を上回るとき品質重視モードを選択する。
【０１５３】
実際には、モード選択ユニット４６は、リソース重視モードにおける追加のビデオユニットの補間または外挿を選択的に有効または無効にするように選択ユニット４４に指示し、品質重視モードにおける追加のビデオユニットの補間または外挿を有効にするように選択ユニットに指示する。特に、モード選択ユニット４６は、動き分析器６４をトリガすることによってリソース重視モードにおける補間または外挿を選択的に有効または無効にするように選択ユニット４４に指示することができる。次いで、選択ユニット４４は、動き分析器６４の出力に基づいて補間または外挿を選択的に有効または無効にする。代替的に、選択ユニット４４は、たとえば、動き分析器６４をトリガしないことによって、補間または外挿を有効にするように選択ユニット４４に指示することができる。適切な参照フレームが利用可能でない場合、選択ユニット４４による補間の有効化は参照フレームを選択するために、あるいは補間または外挿を無効にするために依然として分析ユニット４２による品質分析を必要とする。
【０１５４】
追加の、随意の特徴として、いくつかの態様では、分析ユニット４２は距離ユニット６３を含むことができる。図４を参照して上述したように、遅延検出ユニット５１はビデオ電話アプリケーションなど、遅延敏感ビデオアプリケーションの動作を検出することができる。ビデオ電話の視覚的品質を阻害し得る処理および提示における遅延を回避するために、遅延検出ユニット５１は、追加すべきフレームに対する、さらに将来にある将来の参照フレームの選択を回避するように選択ユニット４４に指示する。したがって、分析ユニット４２が候補参照フレームに対して相対的に高品質を示すとしても、選択ユニット４４は追加すべきフレームからのそのようなフレームの時間的距離の分析に少なくとも部分的に基づいていくつかの候補参照フレームを拒絶することができる。時間的距離に基づく参照フレームの選択を遅延敏感アプリケーションの検出に基づいてトリガすることができるが、いくつかの実装形態では、時間的距離を定期的に、すなわち、遅延敏感アプリケーションの検出の有無にかかわらず、参照フレーム選択のために使用することができる。
【０１５５】
図５に示すように、遅延フィーチャは分析ユニット４２に組み込まれる。特に、選択ユニット４４を介して、追加すべきフレームに対して将来のあまりに遠くに存在する（すなわち、過度の時間的距離に基づいて）将来の候補参照フレームを拒絶する代わりに、分析ユニット４２は、そのようなフレームに相対的に低い品質スコアを割り当てるように構成できる。選択ユニット４４は、直接時間的距離に基づくが、間接的に時間的距離から生じる低い品質スコアに基づいて、そのようなフレームを拒絶することができない。いずれの場合も、選択ユニット４４は、フレーム置換プロセスに過大な待ち時間をもたらす時間的に遠い参照フレームの選択を回避することができる。この場合も、ビデオ電話など遅延敏感アプリケーションの動作が検出されたときに選択的に、または、たとえば、遅延敏感アプリケーションが検出されたか否かにかかわらず規則的に、時間的距離を参照フレームの選択のために使用することができる。場合によっては、遅延敏感アプリケーションの検出を含む動作なしに規則的に時間的距離に少なくとも部分的に基づいて、参照フレームを選択することができる。
【０１５６】
距離ユニット６３は、様々なフレーム特性の１つとして、追加すべきフレームからの将来の候補参照フレームの距離を判断することができる。距離ユニット６３は、追加すべきフレームからさらに離れた将来の候補参照フレームに対して漸進的により低いスコアを発生するように構成できる。場合によっては、候補参照フレームが追加すべきフレームに対して将来の最大フレーム数を超える場合、距離ユニット６３は０のスコアを生成する。
【０１５７】
距離ユニット６３は、遅延敏感ビデオアプリケーションが検出されたとき、遅延検出ユニット５１によって活動化される。代替的に、遅延検出ユニット５１は、敏感アプリケーションが検出されたとき、距離ユニット６３の出力に、増加した重みを担持させる。ビデオプレイバックなどのアプリケーションが著しく遅延敏感ではないとき、距離ユニット６３が無効にされるか、またはその出力スコアが全体的な品質スコアにおいて低減された重みを担持する。
【０１５８】
図１〜図５においてシステム１０、エンコーダ１２、およびデコーダ１４中に含まれる様々な構成要素、ユニット、またはモジュール、ならびに本開示全体にわたって説明する他の構成要素は、ハードウェアおよび／またはソフトウェアの任意の適切な組合せによって実現できる。図１〜図５では、様々な構成要素は、別々の構成要素、ユニット、またはモジュールとして示される。しかしながら、図１〜図５を参照しながら説明した様々な構成要素のすべてまたはいくつかは、共通ハードウェアおよび／またはソフトウェア内の組合せユニットまたはモジュールに統合できる。したがって、構成要素、ユニット、またはモジュールとしての特徴の表現は、説明しやすいように特定の機能的特徴を強調するものであり、別々のハードウェアまたはソフトウェア構成要素によるそのような特徴の実現を必ずしも必要としない。場合によっては、様々なユニットを、１つまたは複数のプロセッサによって実行されるプログラマブルプロセスとして実装できる。たとえば、様々な態様では、動き分析器、リソースモニタ、および選択ユニットは、別々のハードウェアおよび／またはソフトウェアユニット、あるいは同じハードウェアおよび／またはソフトウェアユニット、あるいはそれらの組合せによって実現できる。
【０１５９】
図６は、ビデオデコーダ１４がビデオフレーム置換のための参照フレームを選択する例示的な技法を示す流れ図である。図６に示すプロセスは、品質重視モードにおいて、またはフレーム置換が有効にされたときリソース重視モードにおいて実行される。図６に示すように、ビデオデコーダ１４は入力ビデオフレームを受信する（６８）。デコーダ１４の場合、入力ビデオフレームは、フレームのいくつかがフレームスキップまたはエンコーダ１２の基本フレームレートのためになくなっている、着信ビットストリーム中の符号化フレームとして受信される。エンコーダ１２の場合、入力ビデオフレームは、エンコーダによって符号化すべきソースビデオフレームである。時間的な除外されたフレームは、ビデオエンコーダ１２によって意図的にスキップされたフレーム、またはチャネル１９上での送信中に損失したフレーム、またはエンコーダ１２の基本フレームレートによってサポートされず、フレームレート変換のために追加として作成される必要があるフレームである。図６の例では、分析ユニット４２は、フレーム置換において使用するための候補参照フレームのセットの１つまたは複数の特性を分析する（７０）。
【０１６０】
候補参照フレームは、追加すべきフレームに対してＮ個の以前のフレームおよびＭ個の将来のフレームから選択され、ＮおよびＭは等しくても等しくなくてもよい。一例として、３つの以前のフレームおよび３つの将来のフレームが考えられるが、フレームの特定の数は例示のためであり、限定的なものとみなされるべきではない。以前および将来のフレームを双方向補間について考える。単方向補間または外挿の場合、いくつかの態様では、以前のフレームのみ、または将来のフレームのみを考えることができる。
【０１６１】
フレームの１つまたは複数の特性は、フレームの品質に関係し、ピクセル領域値、変換領域値、ビットストリームデータなどを使用して分析できる。分析に基づいて、分析ユニット４２は、候補フレームの１つまたは複数を参照フレームとして選択する（７２）。選択された候補フレームを参照フレームとして使用して、フレーム置換ユニット３８は、追加すべきフレームの補間（または適用可能な場合、外挿）によってフレーム置換を実行する（７４）。図６で概説するプロセスは、受信したビットストリーム中の追加のビデオフレームの補間（または外挿）のために、デコーダ１４によって実質的に連続的に繰り返される。
【０１６２】
図７は、参照フレーム選択のための例示的な技法をより詳細に示す流れ図である。一般に、分析ユニット４２は、節電モードなどのリソース重視モードがオンかオフかを判断する。リソース重視モードがオンの場合、動き分析器６４は候補参照フレームの動きアクティビティを分析する。たとえば、候補参照フレームのための受信した動きベクトルを分析する。動きベクトル分析に基づいて、追加すべきフレームを補間（または外挿）すべきか否かの決定を行う。決定が補間するである場合、品質重視モードに一致する、参照フレームの品質を次に分析する。この分析に基づいて、補間すべきか外挿すべきかに関する別の決定を行う。補間または外挿が選ばれた場合、品質分析に基づいて（１つまたは複数の）参照フレームを選択する。次いで、少なくとも選択された参照フレームおよび場合によっては複数の参照フレームを使用して、ビデオフレーム補間または外挿を実行する。
【０１６３】
図７で概説するプロセスは、ビデオデコーダ１４によって受信されたビデオシーケンス中の追加すべき各フレーム、または追加すべき選択されたフレームに対して実質的に連続的に繰り返される。図７の例では、デコーダ１４は、ビデオシーケンスの符号化入力ビデオフレームを含み、いくつかのフレームを除外する着信ビットストリームを受信する（７６）。なくなっているフレームの補間または外挿では、ビデオデコーダ１４は、リソース重視モードがオンかオフかを判断する（７８）。たとえば、モード選択ユニット４６は、デコーダ１４のフレーム置換プロセスがリソース重視モードで動作すべきか、品質重視モードで動作すべきかを示す。
【０１６４】
リソース重視モードが活動化された場合（７８）、分析ユニット４２は、動き分析器６４を活動化して、候補参照フレームの各々について示された動きを分析する（８０）。たとえば、動き分析器６４は、ビデオシーンが比較的静的であるか、または著しい運動を含むかを判断するために候補参照フレームからの動きベクトルデータを分析する。動き分析器６４は、ビデオフレーム置換を有効にすべきか無効にすべきかの決定を行うために、追加すべき置換フレームに時間的に隣接したフレームなど、アンカーフレームの動きベクトルを分析する。
【０１６５】
アンカーフレームによって示された動きレベルがしきい値動きレベルよりも高いか、またはそれに等しい場合（８２）、動き分析器６４は、動きレベルが追加すべきフレームの補間（または外挿）によるフレーム置換を補うのに十分であることを選択ユニット４４に示す。この場合、分析ユニット４２は（１つまたは複数の）候補参照フレームの品質の分析に進む（８４）。しかしながら、動きレベルがしきい値動きレベルを下回る場合、動き分析器６４は、フレーム置換を使用すべきでないことを選択ユニット４４に示し、その場合、デコーダ１４は、フレームを補間するのではなく、除外されたフレームの代わりに参照フレームを繰り返す（９２）。この場合、以前のまたは将来のフレームは、ビデオシーケンスのフレームレートを効果的にアップコンバートするために繰り返される。
【０１６６】
いくつかの実装形態では、フレーム繰り返しの場合、分析ユニット４２は、単に以前のフレームまたは将来のフレームを選択し、追加すべきフレームの代わりにそのフレームを繰り返す。フレーム繰り返しが選択されるので、現在のフレームのための品質重視モードの様々な品質分析動作を実行する必要がない。しかしながら、代替として、分析ユニット４２は、品質分析を適用して、複数の候補参照フレームのうちの１つから参照フレームを選択し、次いで、選択された参照フレームを繰り返しフレームとして使用する。特に、分析ユニット４２は、品質しきい値を満足する、たとえば、満たすまたは超える総品質スコアを有する参照フレームを選択し、フレーム繰り返しのための選択されたフレームを使用する。したがって、場合によっては、品質重視モードに一致する参照フレームの品質ベースの選択は、フレーム補間または外挿のためだけでなく、フレーム繰り返しのためにも使用できる。
【０１６７】
上述のように、動きレベルがしきい値レベル以上である場合（８２）、分析ユニット４２は、（１つまたは複数の）候補参照フレームの品質を分析するために品質重視動作モードに進み、得られた品質スコアを品質しきい値と比較する（８６）。図５を参照しながら説明したように、たとえば、品質スコア計算器５８は、客観的メトリックチェッカー５０、ＥＣチェッカー５２、ＱＰチェッカー５４、およびＣＢＰチェッカー５６のうちの１つまたは複数によって発生された品質スコアに基づいて、総品質スコアを計算する。次いで、比較ユニット５９は、総品質スコアを比較し、それを品質しきい値と比較する（８６）。
【０１６８】
品質スコアが十分である、たとえば、しきい値よりも大きいか、またはそれに等しい場合（８６）、分析ユニット４２は、（１つまたは複数の）参照フレームの選択をフレーム置換ユニット３８に示す。たとえば、選択ユニット４４は、追加すべきフレームの補間（または外挿）において使用するための、フレーム置換ユニット３８による選択のための（１つまたは複数の）参照フレームを特定する。次いで、フレーム置換ユニット３８は、たとえば、（１つまたは複数の）選択された参照フレームを使用してフレームを補間または外挿することによって、フレーム置換の実行に進む（９０）。候補参照フレームのいずれも十分な、たとえば、品質しきい値を満たすまたは超える総品質スコアを有しない場合（８６）、比較ユニット５９は参照フレームを選択すべきでないことを選択ユニット４４に示す。この場合、選択ユニット４４は、フレーム置換を無効にすべきであり、フレーム置換の代わりにフレーム繰り返しを適用すべきである（９２）ことをフレーム置換ユニット３８に示す。
【０１６９】
図７に示すように、分析ユニット４２は、品質しきい値を満足する総品質スコアを有する候補参照フレームをランク付けするように随意に構成できる（９３）。たとえば、双方向補間の場合、分析ユニット４２は、品質レベルの順に以前の候補参照フレームをランク付けし、品質レベルの順に将来の候補参照フレームをランク付けし、ただし、以前のフレームは追加すべきフレームよりも時間的に前であり、将来のフレームは追加すべきフレームの時間的に後であり、次いで、フレーム置換において使用するための最高位にランク付けされた以前のフレームと最高位にランク付けされた将来のフレームとを選択する。ランク付けにおいて事実上同点の場合、分析ユニット４２は、追加すべきフレームに時間的に最も近接したフレームを選択する。単方向補間の場合、分析ユニット４２は、以前のまたは将来のフレームが参照フレームとして使用されるかどうかに応じて、最高位にランク付けされた以前のフレームか、または最高位にランク付けされた将来のフレームを選択する。さらなる一例として、場合によっては、ランク付けは、フレーム置換と同様にフレーム繰り返しのための最高位にランク付けされたフレームを選択するために使用される。
【０１７０】
いくつかの実装形態では、図５を参照しながら説明したように、フレームの選択は、ＭＶ信頼性チェッカー６０によるＭＶ信頼性分析を必要とする。さらに、いくつかの実装形態では、品質しきい値および／または他の基準または動作は、品質重視モードとリソース重視モードとの間で異なる。たとえば、モード調整ユニット６２は、リソースが限られているとき、補間を補うためにより高い補間品質を要求するためにリソース重視モードにおいて品質しきい値を増加させる。
【０１７１】
図８は、品質重視モードによるビデオフレーム補間のための参照フレーム選択をサポートするための、参照フレームの品質分析のための例示的な技法を示す流れ図である。一般に、候補参照フレームの品質は推定または分析される。品質スコアは候補参照フレームごとに与えられる。候補参照フレームは、スキップされたフレームに対する以前のまたは将来のフレームである。特定の参照フレームの品質スコアがしきい値未満の場合、その参照フレームはビデオフレーム置換において使用するために選択されない。参照フレームの品質スコアが適切な場合、その参照フレームはビデオフレーム補間または外挿において使用するために選択される。いくつかの実装形態では、分析ユニット４２は、候補参照フレームに関連する動きベクトルが信頼できることを必要とする。たとえば、ビデオフレーム置換に補間または外挿のための動き補償予測方法を使用する場合、動きベクトルを検査する。
【０１７２】
図８の例に示すように、分析ユニット４２は、フレームの補間または外挿のための、以前のフレームおよび将来のフレームを含む参照フレームを特定するために複数の候補参照フレームを連続して分析することができる。受信フレームバッファ３４から次の候補参照フレームを取り出す（９４）と、分析ユニット４２は、たとえば、図５を参照しながら上述したように、候補参照フレームの品質を推定し（９６）、品質スコアを計算する（９８）。スコアが十分である、たとえば、品質しきい値よりも大きいか、またはそれに等しい場合（１００）、比較ユニット５９は、候補参照フレームをＭＶ信頼性チェッカー６０にパスして、フレームのＭＶコンテンツが信頼できるかどうかを判断する（１０２）。
【０１７３】
総品質スコアが品質しきい値未満の場合（１００）、分析ユニット４２は、フレーム置換のための選択のために候補参照フレームを「オフ」に設定する（１０４）。この場合、選択ユニット４４は、フレーム置換ユニット３８による置換フレームの補間または外挿に「オフ」フレームを選択しない。総品質スコアが品質しきい値以上であり（１００）、ＭＶ信頼性チェッカー６０がＭＶコンテンツは信頼できると判断した（１０６）場合、分析ユニット４２は、フレーム置換のための選択のために候補参照フレームを「オン」に設定する（１０６）。
【０１７４】
分析ユニット４２が、候補参照フレームのすべてを検討したわけではない場合、すなわち、候補参照フレームのあらかじめ定義された範囲中の候補参照フレームの最後に達しなかった場合（１０８）、分析ユニット４２は分析のための次の候補参照フレームを取り出す。たとえば、図２Ａ〜図２Ｄを参照しながら説明したように、分析ユニット４２によって分析される候補参照フレームの数はあらかじめ選択でき、補間または外挿すべきフレームに対して１つまたは複数の以前のフレーム、および１つまたは複数の将来のフレームを含むことができる。候補参照フレームの最後に達したとき（１０８）、選択ユニット４４は、「オン」に設定された候補参照フレームを選択し（１１０）、選択されたフレームをフレーム置換ユニット３８に伝達する。次いで、フレーム置換ユニット３８は、追加すべきフレームを補間または外挿して、（１つまたは複数の）選択された参照フレームを使用してフレーム置換を実行する（１１２）。
【０１７５】
「オン」に設定された参照フレームがない、または「オン」フレームの数が不十分である場合、選択ユニット４４は、フレーム置換を無効にすべきであり、フレーム置換ユニット３８が追加すべきフレームのためのフレーム繰り返しを代わりに適用すべきであることを示す。いくつかの実装形態では、ＦＲＵＣユニット２２におけるＦＲＵＣプロセスは、選択的に有効および無効にされる。ＦＲＵＣが有効にされたとき、図８で概説するプロセスは、ビデオデコーダ１４によって受信されたビデオシーケンス中の追加すべき各フレーム、または選択されたフレームに対して実質的に連続的に繰り返される。
【０１７６】
この場合も、図７を参照しながら説明したように、図８に示すプロセスは、品質しきい値を満足する候補参照フレームがランク付けされるランク付け動作を含むことができる。この場合、最高ランクのフレームが、フレーム置換のための参照フレームとして選択される。
【０１７７】
図９は、ビデオフレーム補間のための参照フレーム選択をサポートするための、参照フレームの品質分析を発生するための例示的な技法を示す流れ図である。たとえば、図５を参照しながら説明したように、品質スコアは、総品質スコアを発生するために使用される。一般に、初期ステップとして、各参照フレーム（スキップされたフレームに対する将来のまたは以前の参照フレーム）の平均ＱＰ値ならびにＣＢＰ値が検査される。ＱＰ値がしきい値よりも小さい（たとえば、Ｈ．２６４コーディングにおけるより小さいＱＰ値は、より細かい量子化ステップサイズに対応する）場合、高い品質スコアが参照フレームに与えられる。その逆が、より小さいＱＰ値がより粗い量子化ステップサイズに対応するＨ．２６４以外のいくつかのコーディングプロセスに当てはまる。
【０１７８】
さらに、候補参照フレーム中にスライス損失または複数スライス損失が存在するかどうかに関して判断することができる。損失があり、エラー隠蔽が適用されない場合、参照フレームの品質スコアは低減される。損失があり、エラーが隠蔽される場合、参照フレームに対してより高い品質スコアが設定される。いくつかの実装形態では、客観的、非基準視覚品質メトリック（ブロッキネス、ぼけ度、および／またはカラーブリーディングなど）が、再構成された候補参照フレームに適用される。メトリックが高い結果を与える場合、参照の総品質スコアは増加される。参照フレームが高い総品質スコアを有する場合、時間的にスキップされたフレームの補間に使用できる。
【０１７９】
図９に示すように、分析ユニット４２は、受信フレームバッファ３４から次の候補参照フレームを取り出し（１１４）、フレームのＱＰおよびＣＢＰ値を分析する。図９の例では、分析ユニット４２は、ＱＰおよびＣＢＰ値に基づいて組み合わせられたＱＰベースのスコアを発生する。ＱＰ値が適用可能なＱＰしきい値（ＱＰ＿ｔｈ）未満であり、ＣＢＰ値が０に等しくない場合（１１６）、分析ユニット４２はフレームのＱＰベースのスコアを「高」に設定する（１１８）。ＱＰ値がＱＰしきい値（ＱＰ＿ｔｈ）よりも高いまたはそれに等しいか、ＣＢＰ値がほぼ０に等しいかのいずれかの場合（１１６）、分析ユニット４２はフレームのＱＰベースのスコアを「低」に設定する（１２０）。
【０１８０】
図９にさらに示すように、分析ユニット４２はまた、候補参照フレームのスライス損失を検査するように構成される（１２２）。図５を参照すると、スライス損失検査はＥＣチェッカー５２によって実行される。スライス損失は、チャネル１９上の損失、またはいくつかの他の損失、またはデータの改変に起因することがある。スライス損失がある場合、分析ユニット４２は、スライス損失を補正するために適切なエラー隠蔽（ＥＣ）機構が利用可能かどうかを判断する（１２４）。利用可能でない場合、分析ユニット４２は、候補参照フレームのＥＣベースのスコアを「低」に設定する（１２６）。適切なＥＣ機構が利用可能な場合（１２４）、分析ユニット４２はＥＣベースのスコアを「高」に設定する（１２８）。この場合、損失したスライスをＥＣ機構を使用して再生することができる場合、候補参照フレームの品質はフレーム置換のための参照フレームとして使用するのに適切である。しかしながら、スライスを再生することができない場合、候補参照フレームをフレーム置換のために使用すべきではない。
【０１８１】
分析ユニット４２はまた、客観的品質メトリックを候補参照フレームに適用する（１３０）。たとえば、分析ユニット４２は、ブロッキネス、ぼけ度、カラーブリーディングなど、様々な客観的メトリックのいずれかを分析するために、候補参照フレームの復号および再構成されたバージョンを分析する。したがって、客観的メトリックは、視覚的品質を評価するために、ピクセル領域において適用される。分析ユニット４２は、品質メトリックスコアＱＭを作成するために、客観的メトリックの各々を定量化する。品質メトリックスコアＱＭが適用可能な品質メトリックしきい値（ＱＭ＿ｔｈ）よりも高い場合（１３２）、分析ユニット４２は候補参照フレームのＱＭベースのスコアを「高」に設定する（１３４）。品質メトリックスコアＱＭが品質メトリックしきい値（ＱＭ＿ｔｈ）よりも低いか、またはそれに等しい場合、分析ユニット４２はＱＭベースのスコアを「低」に設定する（１３６）。
【０１８２】
分析ユニット４２は、ＱＰベースのスコアと、ＥＣベースのスコアと、ＱＭベースのスコアとの組合せに基づいて候補参照フレームの総品質スコアを設定する（１３８）。フレーム置換において使用するための候補フレームを選択すべきかどうかを判断するために、総品質スコアをしきい値と比較する。図５を参照しながら説明したように、総品質スコアはＱＰベースのスコアと、ＥＣベースのスコアと、ＱＭベースのスコアとの重み付けされた合計に従って作成され、ここで、分析ユニット４２は個々のスコアの各々に異なる重みを付ける。個々のＱＰベースのスコアと、ＥＣベースのスコアと、ＱＭベースのスコアとが得られる順序は、図９に示す順序と異なってもよい。さらに、図９に示すスコアの特定のタイプは変更される場合がある。一般に、分析ユニット４２は、候補参照フレームが許容できる品質レベルをもつ補間結果を与える可能性を示す品質スコアを得るように構成される。
【０１８３】
図１０および図１１は、リソース重視モードにおける選択的フレーム置換の例示的な技法を示す流れ図である。リソース重視モードでは、分析ユニット４２は、参照フレームによって表されるビデオシーンが静的であるかどうかを判断するための尺度として動きアクティビティを使用することができる。判断基準としてゼロ動きベクトルカウント、および／または小さい動きベクトルカウントを使用することができる。一般に、しきい値は２つの方法で導出できる。非適応型の場合、動きアクティビティを判定するために、たとえばゼロ動きベクトルカウント用の固定のしきい値と、小さい動きベクトルカウント用の固定のしきい値とを使用することができる。適応型の場合、たとえば、利用可能な電力、計算リソースまたは、メモリのレベルなどのデコーダ１４のリソースレベルに基づいてそれらのしきい値の一方または両方を調整することができる。
【０１８４】
一般に、フレーム置換とフレーム繰り返しの結果の間に大幅な知覚可能な差がないとき、たとえば、補間とフレーム繰り返しとの間の差が、たとえばデコーダ１４に関連するデバイス内の電力、計算またはメモリ制約に鑑みて補間の使用を補うほど十分でないときは、リソース重視モードは、補間または外挿がオフすなわち無効にされる選択的フレーム置換のオプションのモードとすることができる。しかしながら、動きアクティビティが著しいとき、デコーダ１４は、実際には、品質重視モードに戻ってフレーム置換用の参照フレームを選択することができる。
【０１８５】
いくつかの実装形態では、リソース重視モードは、省電力モードまたは電力最適化選択的ＦＲＵＣモードとして特徴づけできる。リソース重視モードでは、動きアクティビティは、ビデオシーンが静的であるかどうかを判断するための尺度として使用できる。シーンが静的であるとアルゴリズムが判断する場合、一般により計算集約的でより多くの電力を消費するビデオフレーム置換の代わりに単純なフレーム繰り返し技法をＦＲＵＣに使用することができる。しかしながら、ビデオシーンが概して静的でない場合は、フレーム繰り返しよりもフレーム置換が望ましいことがある。
【０１８６】
シーンが静的かどうかを判断するためには、現在のアンカーフレームの動きベクトルを分析して、ビデオフレーム補間または外挿を有効または無効にすべきかどうかの判断を行うことができる。動きベクトルは、デコーダ１４におけるビットストリーム動きベクトルの処理後に得られた、またはデコーダ１４の動き推定モジュールから得られたビットストリームから直接使用することができる。場合によっては、動き分析用に使用される動きベクトルの一部を、補間または外挿用に使用される同じ動きベクトルとすることができる。アンカーフレームは、追加すべきフレームにすぐ隣接するまたは近接する以前または将来のフレームなど、追加すべきフレームに隣接するフレームとすることができる。この分析に基づいて、分析ユニット４２は、現在検討中のフレームに対してビデオフレーム補間を有効にすべきかまたは無効にすべきかについての判断を行うことができる。一例では、判断基準としてフレーム中に存在するゼロ動きベクトルの数を使用することができる。
【０１８７】
ゼロ動きベクトルは、０、または実質的に０の値をもつ動きベクトルである。たとえば、いくつかの実装形態では、しきい値を下回る値をもつ動きベクトルをゼロ動きベクトルとみなすことができる。いくつかの実装形態では、動きベクトルは、ビットストリーム埋込み動きベクトルから処理された値とすることができる。ゼロ動きベクトルカウント、すなわちゼロ値動きベクトルの数がしきい値よりも大きい場合、シーンは静的であると判断することができ、その場合、ビデオフレーム補間は無効にされる。静的シーンではフレーム繰り返しを使用することができる。モード判断情報、たとえば、イントラまたはインターコーディングモード判断情報を使用することによってさらなる拡張を加えることができる。たとえば、非イントラコーディングマクロブロックについてゼロ動きベクトルの数をカウントして、より正確なゼロ動きベクトルカウントを得ることができる。
【０１８８】
別の例では、判断基準として、ゼロ動きベクトルカウントに加えて小さい動きベクトルカウントを使用することができる。小さい動きベクトルは、所定のしきい値を下回る値をもつ０でない動きベクトルとすることができる。小さい動きベクトルカウントを追加する１つの理由は、たとえば、いくつかのシーンは、ゼロ動きベクトルによって示される多数の静的マクロブロックを有する場合であっても、投げられたボール、飛行中の鳥、または通過車両など、比較的小さい数の高速移動物体を含むこともあることである。一連のビデオフレームにわたって新しい物体がビデオシーンに急速に入りまたはビデオシーンから急速に出ると、フレーム中にかなりの動きアクティビティが生成されることがある。
【０１８９】
高速移動物体が全フレームの小さい部分を占有することがあるが、ＦＲＵＣ生成フレーム中でそれらを補間して時間品質を保持することが重要である。したがって、フレーム補間が無効にされたときにシーンが完全に静的であることを保証するために、小さい動きベクトルカウントに依存する第２の基準、たとえば、小さい動きベクトルカウントしきい値を追加することができる。さらに、この基準により、暗黙的に高速移動小物体の問題をなくすことができる。
【０１９０】
図１０の例では、動き分析器６４は、フレーム中のゼロ値動きベクトルの数をカウントしてゼロ動きベクトルカウント（Ｚｍｖ＿ｃ）を生成する（１４０）。一般に、フレーム中の各マクロブロックは動きベクトルを有する。マクロブロックの動きベクトルが、移動なしを示す０の値を有する場合、動きベクトルをゼロ動きベクトルとしてカウントする。同じく、場合によっては、動きベクトルは、しきい値を下回る０でない小さい値を有する場合、ゼロ値動きベクトルとしてカウントできる。いずれの場合も、ゼロ動きベクトルの数がカウントされると、動き分析器６４は、ゼロ動きベクトルの数、すなわちゼロＭＶカウントＺｍｖ＿ｃが適用可能なしきい値Ｔｈ以上であるかどうかを判断する（１４２）。そうであれば、ビデオシーンは比較的静的である。この場合、動き分析器６４は、補間または外挿を無効にし、その代わりにフレーム置換ユニット３８は追加すべきフレームに対してフレーム繰り返しを適用すべきことを選択ユニット４４に伝達する（１４４）。前述のように、フレーム繰り返しは、最も近接した以前または将来のフレームを選択する単純な方式を使用するか、あるいは繰り返しフレームとしてより高品質の参照フレームを選択するための品質ベースの方式を使用することができる。
【０１９１】
ゼロＭＶカウントＺｍｖ＿ｃがしきい値未満の場合（１４２）、動き分析器６４は、フレーム置換を実行すべきことを選択ユニット４４に伝達する（１４６）。この場合、分析ユニット４２によって実行された品質分析の結果としての１つまたは複数の適切な参照フレームの選択に従って、補間（または外挿）を実行し、または実行しないことができる。実際には、シーンが静的でないとき、補間用に十分な品質を有するフレームが利用できる場合、分析ユニット４２は品質重視モードに戻って１つまたは複数の参照フレームを選択することができる。品質分析によって１つまたは複数の適切な参照フレームが生成された場合、選択ユニット４４は、追加すべきフレームの補間において使用するために選択されたフレームをフレーム置換ユニット３８に伝達することができる。
【０１９２】
しきい値Ｔｈ（１４２）は固定とすることができる。代替的に、しきい値Ｔｈは、電力レベル、計算リソースレベル、および／またはメモリリソースレベルなど、ビデオデコーダ１４の利用可能なフレーム置換リソースに基づいて調整できる。図１０に示すように、リソース重視モードでは、分析ユニット４２は随意に、リソースレベルを検出し（１４３）、その検出されたリソースレベルに基づいてしきい値Ｔｈを調整する（１４５）ことができる。たとえば、分析ユニット４２は、バッテリレベル、および／または利用可能な計算リソース、秒当たりに利用可能な命令の数、および／または利用可能なメモリリソースなど、利用可能な電力リソースを判断することができる。リソースレベルは、たとえば、計算動作とリソース消費との間の知られている関係に基づいて直接的に検出または推定できる。モバイルデバイスの場合、バッテリリソースが低い場合は、分析ユニット４２は、かなりの量の動きが存在するときフレーム置換が有効にされるようにしきい値Ｔｈを低減することができる。しきい値が固定または調整可能であるいずれの場合も、フレーム置換が有効にされた場合、分析ユニット４２は、参照フレームを選択するか、またはフレーム置換を無効にするための１つまたは複数の品質基準を適用することができる。
【０１９３】
図１１の例では、動き分析器６４は、ゼロＭＶカウントと小さいＭＶカウントの両方に基づいて動きを分析する。図１１に示すように、動き分析器６４は、フレーム中のゼロ値動きベクトルの数をカウントしてゼロ動きベクトルカウント（Ｚｍｖ＿ｃ）を生成し（１４８）、フレーム中の小さい動きベクトルの数をカウントして小さい動きベクトルカウント（Ｓｍｖ＿ｃ）を生成する（１５０）。小さい動きベクトルは、しきい値を下回る０でない値をもつ動きベクトルとすることができる。ゼロ動きベクトルが優勢であるときでも、しきい値を下回る値を有するという意味において小さい０でない動きベクトル（本明細書では小さい動きベクトルと呼ぶ）を含む、いくつかの０でない動きベクトルが存在することがある。小さい動きベクトルは、ボール、鳥、車など、１つまたは複数の小さい移動物体に関連することができる。動き分析器６４は、それぞれゼロＭＶカウント（Ｚｍｖ＿ｃ）および小さいＭＶカウント（Ｓｍｖ＿ｃ）を、それぞれのしきい値Ｔｈ１およびＴｈ２と比較する（１５２）。
【０１９４】
ゼロＭＶカウント（Ｚｍｖ＿ｃ）がしきい値Ｔｈ１以上であり、小さいＭＶカウント（Ｓｍｖ＿ｃ）がしきい値Ｔｈ２未満である場合、動き分析器６４は、フレーム置換の代わりにフレーム繰り返しを適用すべきことを示すよう選択ユニット４４に指示する（１５４）。この場合、しきい値Ｔｈ１を上回るゼロＭＶカウントは、フレームによって提示されたビデオシーンが概して静的であることを示す。同時に、しきい値Ｔｈ２未満である小さいＭＶカウントは、フレームによって提示されたビデオシーン内で移動中の有意な小さい物体がないことを示す。フレームの概して静的なコンテンツを鑑みると、フレーム繰り返しが適切である。
【０１９５】
ゼロＭＶカウント（Ｚｍｖ＿ｃ）がしきい値Ｔｈ１未満であるか、または小さいＭＶカウント（Ｓｍｖ＿ｃ）がしきい値Ｔｈ２以上である場合、動き分析器６４は、分析ユニット４２によって実行された品質分析の一部としての参照フレームの選択に従って、フレーム置換を実行すべきことを示す（１５６）。この場合、しきい値Ｔｈ１未満であるゼロＭＶカウントは、ビデオシーンが有意な動きを含むことを示す。
【０１９６】
ゼロＭＶカウントがしきい値Ｔｈ１未満でない場合でも、フレームは、補間によってより良く提示できるはずの１つまたは複数の比較的小さい移動物体を含むことがある。したがって、動き分析器６４は、小さいＭＶカウントがしきい値Ｔｈ２以上であって１つまたは複数の小さい高速物体の存在を示しているときは、補間を実行すべきことを示すことができる。そのような物体は概して小さく、フレーム中の他の物体よりも高速に移動できる。フレームコンテンツが概して静的でないか、または概して静的なフレームが小さい移動物体を含むときは、たとえば、フレームの補間または外挿によるフレーム置換が適切である。
【０１９７】
図１０の例の場合のように、図１１のしきい値Ｔｈ１、Ｔｈ２は、固定とすることも、または利用可能な補間リソースに基づいて調整することもできる。特に、しきい値Ｔｈ１、Ｔｈ２の一方または両方は、判断されたリソースレベルに基づいて調整できる。図１１に示すように、リソース重視モードでは、分析ユニット４２は随意に、リソースレベルを検出し（１４３）、検出されたリソースレベルに基づいてしきい値を調整する（１４５）ことができる。たとえば、分析ユニット４２は、モバイルデバイスのバッテリレベル、および／または利用可能な計算リソース、秒当たりに利用可能な命令の数、および／または利用可能なメモリリソースなど、利用可能な電力リソースを検出または推定することができる。たとえば、バッテリリソースが低い場合、分析ユニット４２は、かなりの量の動きが存在するとき補間が有効にされるようにしきい値Ｔｈ１を低減し、しきい値Ｔｈ２を増大させることができる。
【０１９８】
場合によっては、動きベクトルを小さい動きベクトルとして分類するために使用されるしきい値は、固定とするか、またはフォーマットサイズに基づいて調節可能とすることができる。上述のように、小さい動きベクトルは、特定のしきい値を下回る値を有する０でない動きベクトルとすることができる。いくつかの実装形態では、０でない動きベクトルが小さいかどうかを判断するのに使用されるしきい値は、復号され、補間または外挿されるビデオユニットのフォーマットサイズに基づいて調整できる。たとえば、小さい動きベクトルは、漸進的により大きいフォーマットサイズを有するＱＣＩＦ、ＣＩＦ、ＱＶＧＡ、およびＶＧＡフレーム用の様々なしきい値によって分類できる。ＣＩＦフレーム用の小さい動きベクトルしきい値の値は、ＶＧＡフレーム用の小さい動きベクトルしきい値の値よりも小さくてよい。特に、動きベクトルの大きさは、より小さいフォーマットフレーム中では大きいとみなすことができるが、より大きいフォーマットフレーム中では、より大きいフォーマットフレームのより大きい全サイズを考慮して小さいとみなすことができる。したがって、いくつかの実装形態では、動き分析器６４は、補間または外挿されているビデオユニットのフォーマットサイズに基づいて小さい動きベクトルしきい値を調整することができる。たとえば、より小さいフォーマットフレーム用に使用される小さい動きベクトルしきい値は、より大きいフォーマットフレーム用に使用される小さい動きベクトルしきい値よりも小さくてよい。
【０１９９】
図１２は、たとえば、１つまたは複数の品質特性の分析に基づいて置換フレームの表示を選択的に有効または無効にするように構成されたビデオデコーダ１５８の一例を示すブロック図である。たとえば、後述するように、ビデオデコーダ１５８は、ビデオデコーダにおけるフレームレートアップコンバージョンプロセスによって生成された、補間または外挿されたビデオフレームに関連する１つまたは複数の特性を分析し、その分析に基づいてディスプレイ上での補間または外挿されたビデオユニットの提示を選択的に有効および無効にするように構成できる。
【０２００】
この分析は、多種多様な品質特性のいずれかの分析を含むことができる。品質特性は、ピクセル領域特性、変換領域特性、および／または動きベクトル信頼性のうちの少なくとも１つを含むことができる。この１つまたは複数の品質特性を使用して、空間品質メトリック、時間品質メトリック、または他のメトリックを含む品質メトリックを作成することができる。そのような品質メトリックは、ディスプレイによってユーザに提示されるときビデオシーケンスの視覚的空間および／または時間品質に対する補間または外挿されたフレームの影響を予測する際に有用である。デコーダ１５８は、置換フレームに関連する品質レベルが品質しきい値を満たさない場合、置換フレームがすでに補間または外挿されていても置換フレームの表示を選択的に無効にするように構成できる。
【０２０１】
置換フレームに関連する品質レベルは置換フレーム自体の品質レベルに基づくことができる。いくつかの実装形態では、品質レベルは、置換フレームを補間または外挿するのに使用される１つまたは複数の参照フレームの品質レベルに基づくことができる。他の実装形態では、品質レベルは、置換フレームと、置換フレームを生成するために使用している１つまたは複数の参照フレームとの品質レベルに基づくことができる。各場合において、品質レベルは、概して、置換フレームを表示することによって達成できる視覚的品質の増強の程度を示すことができる。
【０２０２】
置換フレームがすでに補間または外挿されていても、ビデオデコーダ中の置換フレームの送信および表示を選択的に無効にすることが依然として望ましいことがある。たとえば、補間または外挿がすでに実行されていても、置換フレームを表示することによって生成された視覚的品質は、置換フレームの送信および表示のための追加のリソースの消耗を補うのに不十分なことがある。その代わりに、置換フレームを廃棄し、たとえば、新しいフレームを送信する代わりにより長い時間期間表示されるようにフレームを保持することによって隣接するフレームを繰り返し、それによって置換フレームを表示するのに必要な電力または他のリソースを節約することがより望ましいことがある。いくつかの実装形態では、一部のフレームの送信および表示を選択的に無効にすることに加えて、ビデオデコーダ１５８はまた、平滑化、シャープニング、輝度調節、および／またはコントラスト強調などの１つまたは複数の後処理動作を無効にして、置換フレームが追加のリソースを節約することができる。
【０２０３】
図１２の例では、ビデオデコーダ１５８は、たとえばエンコーダ１２から符号化フレーム２４を受信する受信フレームバッファ１６０と、受信フレームを復号する復号ユニット１６２と、復号フレームを記憶する出力フレームバッファ１６４と、補間または外挿によってフレーム置換を実行して出力フレームバッファ１６４にフレームを追加しそれによってＦＲＵＣプロセスをサポートする置換ユニット１６６と、選択的表示分析ユニット１６８とを含む。分析ユニット１６８は信号またはコマンドを発生するように構成できる。分析ユニット１６８からの信号またはコマンドに応答して、制御ユニット１７２は、出力フレームバッファ１６４などのビデオバッファから、ユーザに対する視覚的提示用のディスプレイ１７０への置換フレームの送信を選択的に有効または無効にすることができる。いくつかの態様では、デコーダ１５８が、たとえば図４、図５、および図７を参照しながら説明したリソース重視モードにあるとき、分析ユニット１６８を選択的に活動化することができる。代替的に、他の実装形態では、選択的表示分析ユニット１６８は、選択的活動化を用いてまたは用いずに置換単位１６６によって生成される置換フレームの表示を選択的に有効または無効にするように定期的に動作することができる。
【０２０４】
置換ユニット１６６は、フレーム補間または外挿などのフレーム置換を実行して、出力フレームバッファ１６４に記憶された出力フレームにフレームを追加し、それによってＦＲＵＣプロセスをサポートする。ビデオデコーダ１５８は、置換フレームの補間または外挿において置換ユニット１６６が使用するための特定の参照フレームを選択するために、本開示の他の場所で説明した参照フレーム選択技法を適用してもしなくてもよい。いくつかの態様では、置換ユニット１６６は、それらのフレームの分析に基づいて１つまたは複数の参照フレームを選択し、あるいは単に１つまたは複数の隣接するフレームを使用して置換フレームを生成することができる。しかしながら、いずれの場合も、分析ユニット１６８はさらに、置換フレームに関連する品質レベルを分析して置換フレームを表示すべきかどうかを判断するように構成できる。置換フレームに関連する品質は、置換フレームそれ自体に関連する１つまたは複数の品質特性、置換フレームを補間または外挿するのに使用される参照フレームのうちの１つまたは複数に関連する１つまたは複数の品質特性、あるいは両者の組合せを含むことができる。品質を分析するために、分析ユニット１６８は客観的品質メトリックを、置換（たとえば、補間または外挿される）フレーム、および／または置換フレームを補間または外挿するのに使用される参照フレームに適用することができる。
【０２０５】
分析ユニット１６８は、品質分析に基づいてディスプレイ１７０による出力フレームバッファ１６４からの置換フレームの表示を選択的に有効または無効にするように制御ユニット１７２に指示することができる。たとえば、置換フレームを発生するために使用される１つまたは複数の参照フレームの品質、および／または置換フレーム自体の品質が、適用可能な品質しきい値を満たさない場合、分析ユニット１６８は、ディスプレイ１７０上で提示するための出力フレームバッファ１６４からの補間されたフレームの送信を無効にするように制御ユニット１７２に指示することができる。しかしながら、品質が容認できる場合、選択的ディスプレイ分析ユニット１６８は、ディスプレイ１７０によってユーザに提示するためのディスプレイ１７０への補間または外挿されたフレームの送信を有効にするように制御ユニット１７２に指示することができる。このようにして、ビデオデコーダ１５８は、置換フレームの品質が不十分なとき置換フレームを表示するための追加のリソースの消耗を回避することができる。
【０２０６】
置換フレームは、ディスプレイ１７０に送信されないとき、たとえば、後に復号、補間または外挿されるフレームでそのフレームを上書きすることによって出力フレームバッファ１６４から廃棄できる。この場合、ディスプレイ１７０は、出力フレームバッファ１６４からディスプレイに送信された以前のフレームを（たとえば、より長い時間期間表示されるように以前のフレームを保持することによって）単に繰り返すか、または置換フレームの後にくる次のフレームを送信し、繰り返す（たとえば、保持する）ことができる。この場合、ディスプレイ１７０は、追加の時間期間にわたって置換フレームを表示するのではなく、その時間中に以前のフレームを表示することができる。フレーム繰り返しを使用することによって、ビデオデコーダ１５９は、置換フレームを送信し表示する必要をなくし、それによって電力および／または他のリソースを節約することができる。上述のように、置換フレームの選択的表示は、単独で、または本開示の他の場所で説明した参照フレーム選択技法と組み合わせて使用できる。
【０２０７】
分析ユニット１６８は、置換ユニット１６６によって生成される置換フレームに関連する様々な品質特性のうちの１つまたは複数を分析するように構成できる。いくつかの実装形態では、分析ユニット１６８によって分析される品質特性は、図５の客観的メトリックチェッカー５０によって評価される品質特性と同様とすることができる。たとえば、分析ユニット１６８は、置換ユニット１６６によって生成される置換（たとえば、補間または外挿される）フレームに関連するピクセル値、あるいは置換フレームを生成するのに使用される１つまたは複数の参照フレームに関連するピクセル値を分析し、そのようなフレームに関連するブロッキネス、ぼけ度、カラーブリーディング、または他の客観的空間品質メトリックの度合いを判断し、その判断に基づいて品質スコアを発生するように構成できる。
【０２０８】
したがって、品質分析は、ピクセル領域中の置換ユニット１６６によって生成された置換フレームを分析することによって、またはピクセル領域中の復号ユニット１６２によって生成された、復号され、再構成された参照フレームを分析することによって、または両者の組合せによって実行できる。参照フレームを分析する実装形態では、参照フレームは、置換フレームを補間または外挿するのに使用される参照フレームとすることができる。置換ユニット１６６によって生成された特定の補間または外挿された置換フレームの品質スコアは、大幅なブロッキネス、ぼけ度、および／またはカラーブリーディングが置換フレームにおいて（または、フレームを生成するのに使用された１つまたは複数の参照フレームにおいて）検出されると低く、ブロッキネス、ぼけ度、および／またはカラーブリーディングがほぼないと高い。
【０２０９】
異なる置換フレームのための品質スコアは、そのような客観的視覚的品質メトリック特性に応じて、高いスコアと低いスコアの間で異なる。代替的に、品質スコアは、所定のしきい値との比較に基づいて高いかまたは低いと表される。いずれの場合も、置換フレームの品質スコアが品質しきい値を満たさない（たとえば、品質しきい値よりも小さい）場合、分析ユニット１６８は、出力フレームバッファ１６４からディスプレイ１７０へのフレームの送信を無効にするように制御ユニット１７２に指示することができる。代替的に、置換フレームの品質スコアがしきい値を満たす（たとえば、しきい値以上である）場合、分析ユニット１６８は、ユーザに提示するための出力フレームバッファ１６４からディスプレイ１７０への置換フレームの送信を有効にするように制御ユニット１７２に指示することができる。
【０２１０】
上述のように、分析ユニット１６８は、置換フレームのピクセル値、補間または外挿によって置換フレームを生成するのに使用される１つまたは複数の参照フレームのピクセル値、あるいは置換フレームの近傍にある１つまたは複数の他のフレームのピクセル値を分析することによって置換フレームに関連する品質特性を分析することができる。参照フレームが分析されると、置換ユニット１６６は、特定の置換フレームを補間または外挿するためにどの１つまたは複数の参照フレームが使用されたのかを分析ユニット１６８に示すことができる。
【０２１１】
ピクセル値を使用して、上述のように、分析ユニット１６８は、置換フレームおよび／または置換フレームを生成するのに使用される１つまたは複数の参照フレームに関連するＳＳＩＭ、ブロッキネス、ぼけ度、および／またはカラーブリーディングメトリックなどの１つまたは複数の空間品質メトリックを分析することができる。いくつかの実装形態では、（参照フレームまたは置換フレームの追加または代替として）置換フレームに時間的に最も近い他のフレームに、代替的に、または追加的に、ピクセル値分析を適用することができる。置換フレーム、参照フレーム、または別の近くのフレームのための空間品質メトリックが、適用可能なしきい値を満たさない場合、分析ユニット１６８は、置換フレームの表示を無効にするように制御ユニット１７２に指示することができる。
【０２１２】
単純な例として、置換フレームに関連するピクセル値によって提示されるブロッキネスの量がしきい値を超える場合、分析ユニット１６８は置換フレームの表示を無効にすることができる。このようにして、復号器１５８は、品質に悪影響を及ぼす置換フレーム、または追加の表示リソースの消耗を補うには不十分である品質増強を行う置換フレームの表示を回避することができる。
【０２１３】
代替、または追加の動作として、品質分析のために、分析ユニット１６８は、空間品質メトリックの時間変動などの１つまたは複数の時間品質メトリックを分析することができる。たとえば、分析ユニット１６８は、置換フレームと、置換フレームを補間または外挿するのに使用される１つまたは複数の参照フレームとの間の空間品質（たとえば、ＳＳＩＭ、ブロッキネス、ぼけ度、および／またはカラーブリーディング）の変動を分析することができる。時間品質変動が変動しきい値よりも大きい場合、分析ユニット１６８は、置換フレームの表示を無効にするように制御ユニット１７２に指示することができる。
【０２１４】
分析ユニット１６８は、１つまたは複数の空間品質メトリックの時間変動を単独で、または空間品質メトリックそれ自体と組み合わせて検討することができる。たとえば、空間品質メトリックまたは時間品質メトリックのいずれかが、適用可能なしきい値を満たさない場合、分析ユニット１６８は置換フレームの表示を無効にすることができる。代替的に、分析ユニット１６８は、空間品質と時間品質値との重み付けされた合計に基づいてスコアを計算し、その合計を複合しきい値と比較することができる。
【０２１５】
さらなる改良として、いくつかの実装形態では、分析ユニット１６８は、置換フレーム、参照フレーム、または他の近くのフレーム内のアーティファクトの位置を分析するように構成できる。アーティファクトは、表示フレームの特定の局在領域においてブロッキネス、ぼけ度、またはカラーブリーディングによって生成される望ましくない可視の特徴とすることができる。分析ユニット１６８は、フレームの全体的なブロッキネス、ぼけ度、またはカラーブリーディングを分析し、あるいはフレームの局在領域のコンテキストにおいてそのような特性を検討することができる。たとえば、分析ユニット１６８は、フレームの局在領域、たとえば３×３ピクセル領域のピクセル値分散を分析して、そのような領域中でテクスチャの指示を発生することができる。一般に低い分散によって示される滑らかな領域は、ブロッキネス、ぼけ度、カラーブリーディング、または他のアーティファクトによって引き起こされる可視のアーティファクトをより受けやすいことがある。しかしながら、そのようなアーティファクトは、より多くのテクスチャをもつより高い分散領域ではより見えにくいことがある。
【０２１６】
フレームのための空間品質メトリックの代替または追加として、分析ユニット１６８は、フレーム内の複数の局在領域のための局在空間品質メトリックを生成することができる。フレームの局在空間品質メトリックが、アーティファクトがより見えるであろう滑らかな領域のいずれにおいても適用可能なしきい値を満たさない場合、分析ユニット１６８は、可視のアーティファクトの提示を低減または回避するために置換フレームの表示を無効にすることができる。しかしながら、局在空間品質メトリックが、より多くのテクスチャをもつより高い分散領域のみにおいて品質しきい値を満たさない場合、分析ユニット１６８は、そのような領域ではアーティファクトがユーザに見えないかまたはより見えにくいであろうとの認識を用いて置換フレームの表示を可能にすることができる。さらなる代替として、分析ユニット１６８は、異なる局在領域に対して異なるしきい値を使用することができる。滑らかな低分散領域では、分析ユニット１６８は、可視のアーティファクトの導入を低減または回避するために実際にはより高い品質を必要とするので、より高い品質しきい値を使用することができる。より高い分散領域では、分析ユニット１６８は、高いテクスチャ領域中でかなりのアーティファクトが発生するときにのみまたは実質的に発生するときにのみ置換フレームの表示を可能にする品質しきい値を使用することができる。
【０２１７】
分析ユニット１６８は、前述した局在領域を分析するためにフレームをスキャンすることができる。局在領域のいずれか、または局在領域の所定の割合が、表示フレーム中の可視のアーティファクトの可能性を示す、（分散しきい値を下回る）低い分散と（品質しきい値を下回る）低品質メトリックの両方を示す場合、分析ユニット１６８は、置換フレームの表示を無効にするように制御ユニット１７２に指示することができる。この所定の割合は、固定または適応型のしきい値とすることができる。他の実装形態では、分析ユニット１６８は、たとえば、低いテクスチャと低い品質を有する局在領域が連続しているかどうかを検討することによってアーティファクトが可視である領域のサイズを分析するように構成できる。したがって、分析ユニット１６８は、割合しきい値に対するかなりのアーティファクトを有するすべての局在領域の、および／またはサイズしきい値に対する（たとえば、低品質／低テクスチャ領域によって示される）アーティファクトのすべてのサイズの割合を分析して、置換フレームの表示を有効にすべきかまたは無効にすべきかを判断することができる。
【０２１８】
追加的に、または代替的に、分析ユニット１６８は、置換フレームを補間または外挿するのに使用される参照フレームに関連する動きベクトルの信頼性を示すデータなど、他のタイプのデータを使用して置換フレームに関連する品質を分析することができる。分析ユニット１６８によって品質分析のために使用できるデータの他の例には、置換フレームの補間または外挿のために使用される１つまたは複数の参照フレームに関連する離散コサイン変換（ＤＣＴ）またはウェーブレット変換係数に関係する情報などの圧縮領域情報がある。圧縮領域情報は、たとえば、ＱＰおよびＣＢＰ値を含むことができる。図１２に示すように、いくつかの実装形態では、分析ユニット１６８は復号ユニット１６２からＱＰおよびＣＢＰ値を受信することができる。ＱＰおよび／またはＣＢＰ値は、置換フレームを補間または外挿するのに使用される参照フレームに関連することができる。ＱＰ、ＣＢＰ値、および／または他の圧縮領域情報を使用して、分析ユニット１６８は置換フレームの品質を分析することができる。
【０２１９】
一例として、分析ユニット１６８は、たとえば、図５および図８を参照しながら上述したしたのと同様の方法で動きベクトル信頼性を評価することができる。１つまたは複数の参照フレームの動きベクトル信頼性が不十分である場合、分析ユニット１６８は、置換フレームの表示を無効にするように制御ユニット１７２に指示することができる。分析ユニット１６８は、たとえば、図５のＭＶ信頼性チェッカー６０に関して上述したのと同様の方法で、動き差分ベースの手法、フレーム間動き変化検出の手法、または動き軌道ベースの手法など、動きベクトル信頼性を判断するための様々な技法のいずれでも適用することができる。分析ユニット１６８は、置換フレームの表示を有効にすべきかまたは無効にすべきかを判断するために、動きベクトル信頼性を単独で、またはたとえば、ピクセル領域品質メトリック、時間メトリックまたは局在メトリックを含む本明細書で説明する他の品質メトリックと組み合わせて検討することができる。
【０２２０】
上述のように、分析ユニット１６８は、置換フレームを補間または外挿するのに使用される参照フレームに関連するＱＰおよび／またはＣＢＰ値などの圧縮領域情報に基づいて品質を分析することができる。圧縮領域情報は、たとえば、受信フレームに関連するビットストリームをパースすることによって受信フレームバッファ１６０中の参照フレームから得ることができる。一例として、分析ユニット１６８は、図５のＱＰチェッカー５４およびＣＢＰチェッカー５６および品質スコア計算器５８、ならびに図９のフロー図に示すプロセスを参照しながら説明したのと同様の方法で、参照フレームに関連するＱＰおよび／またはＣＢＰを分析するように構成できる。ＱＰおよびＣＢＰ値が、たとえば、図９に示すようにＱＰをＱＰしきい値ＱＰ＿ｔｈと比較しＣＢＰ値が０でないかどうかを判断することによって参照フレームの比較的高い品質を示す場合、分析ユニット１６８は、関係する参照フレームを使用して補間または外挿された置換フレームの表示を有効にするように制御ユニット１７２に指示することができる。しかしながら、ＱＰおよびＣＢＰ値が低品質を示す場合、分析ユニット１６８は、置換フレームの表示を無効にするように制御ユニット１７２に指示することができる。
【０２２１】
置換フレームを表示すべきかどうかを判断するために、圧縮領域情報およびＭＶ信頼性の分析は、分析ユニット１６８によって、単独で、または空間品質情報もしくは時間品質情報などの他の品質情報との組合せのいずれかで使用できる。いくつかの実装形態では、分析ユニット１６８は、組み合わせられた様々な品質情報を分析するように構成できる。たとえば、分析ユニット１６８は、ピクセル領域における客観的空間および／または時間品質メトリック（たとえば、ＳＳＩＭ、ブロッキネス、ぼけ度、およびカラーブリーディング、および／または関連する時間変動）、ならびにＱＰおよびＣＢＰ値などの変換領域情報、および場合によってはエラー隠蔽（ＥＣ）信頼性情報を分析して、品質スコアを発生し、次いで動きベクトル（ＭＶ）信頼性分析を適用して、品質スコアが容認できる置換フレームを表示すべきかどうかを判断することができる。
【０２２２】
エラー隠蔽（ＥＣ）信頼性については、分析ユニット１６８は、図５のＥＣチェッカーおよび図９のプロセッサを参照しながら説明したのと同様のＥＣ分析を適用することができる。たとえば、分析ユニット１６８は、置換フレームを生成するのに使用される１つまたは複数の参照フレームを分析し、スライス損失があるかどうかを判断することができる。そうであれば、分析ユニット１６８は、適切なＥＣ機構が利用できるかどうかを判断することができる。適切なＥＣ機構がない場合、分析ユニット１６８は、ディスプレイ１７０による置換フレームの表示を無効にするように制御ユニット１７２に指示することができる。しかしながら、容認できるＥＣ機構が利用可能である場合、分析ユニット１６８は置換フレームの表示を可能にすることができる。スライス損失およびＥＣ機構の分析は、置換フレームの表示を選択的に有効または無効にするための基準として、単独で、または空間品質、時間品質、動きベクトル信頼性などの他の品質特性の分析と組み合わせて実行できる。
【０２２３】
いくつかの実装形態では、分析ユニット１６８は、分析ユニット１６８が、置換フレームを補間または外挿することにおいて使用するためにフレームの特定の参照フレームを選択すべきかどうかを判断する代わりに、置換フレームを表示すべきかどうかを判断することを除いては、図５の分析ユニット４２と同様の方法で動作するように構成できる。特に、置換フレームはすでに置換ユニット１６６によって生成されているので、分析ユニット１６８は、１つまたは複数の参照フレームの品質特性を分析することの追加または代替のいずれかとして、ピクセル領域における置換フレームの客観的品質特性を分析することができる。たとえば、分析ユニット１６８は置換フレームの品質を、単独で、あるいは１つまたは複数の参照フレームの品質および／または動きベクトル信頼性と組み合わせて検討することができる。代替的に、分析ユニット１６８は、置換フレームの品質を検討することなしに参照フレームの品質および／または動きベクトル信頼性を検討することができる。
【０２２４】
分析ユニット１６８は、置換フレームが視覚的および／または時間品質に有利に寄与する可能性が高いときそのようなフレームをディスプレイ１７０に選択的に供給するために効果的なことがある。補間または外挿がすでに実行されていても、品質レベルが、フレームを送信し、表示するために必要とされる追加のリソースを補わない場合、フレームを廃棄することは依然として有利なことがある。置換フレームを出力フレームバッファ１６４からディスプレイ１７０に送信するのに大量の電力が必要とされることがある。
【０２２５】
一般に、分析ユニット１６８は、ビデオデコーダ１５８中の置換ユニット１６６によって実行されるＦＲＵＣプロセスによって生成された、補間または外挿されたビデオフレームの１つまたは複数の品質および／または動き特性を分析するように構成できる。この分析に基づいて、分析ユニット１６８は、ディスプレイデバイス１７０上で提示するための補間または外挿されたビデオフレームの送信を選択的に有効および無効にするように制御ユニット１７２に指示することができる。品質分析のためにＳＳＩＭ、ブロッキネス、ぼけ度、および／またはカラーブリーディングなどの客観的視覚的品質メトリック特性を分析することができるが、他の品質メトリックを使用することもできる。
【０２２６】
いくつかの態様では、復号器１５８は異なるモードで動作するように構成できる。リソース重視モードなどの第１のモードでは、復号器１５８は、たとえば、制御ユニット１７２によってディスプレイデバイス１７０上で表示するための補間または外挿されたビデオフレームの送信を品質分析に基づいて選択的に有効および無効にすることができる。第２の動作モードでは、復号器１５８の制御ユニット１７２は、品質分析を実行することなしに、または品質分析の結果を顧慮せずに表示デバイス１７０上で提示するための補間または外挿されたフレームの送信を有効にすることができる。
【０２２７】
分析ユニット１６８はまた、過去の一連のＮ個の以前の置換フレームにわたって表示が無効にされた置換フレームの数を検討するように構成でき、ここで、Ｎは１つよりも大きい数を表す。最後のＮ個のフレーム中の所定の数または割合Ｍを上回る以前の置換フレームが、たとえば、品質特性のために表示されなかった場合、分析ユニット１６８は現在の置換フレームの表示を有効にすることができる。この場合、現在の置換フレームは、適用可能な品質しきい値を満たしていなくても表示できる。このようにして、分析ユニット１６８は、長い一連の置換フレームの表示をスキップすることを回避することができる。
【０２２８】
代替的に、表示を有効にする代わりに、分析ユニット１６８は、置換フレームが表示される確率がより高くなるように現在の置換フレームのための１つまたは複数の適用可能な品質しきい値を低減することができる。したがって、いずれの場合も、分析ユニット１６８は、所定数の以前のフレームにわたって表示されなかった置換フレームの数に少なくとも部分的に基づいて現在の置換フレームの表示を有効にすべきかどうかを判断することができる。一例として、検討中の以前の置換フレームの数がＮ＝１０であり、表示されないフレームＭのしきい値数が５である場合、分析ユニット１６８は、最後の１０個のフレーム中の表示されないフレームの数が５以上であった場合、現在の置換フレームの表示を可能にするように制御ユニット１７２に指示することができる。
【０２２９】
改良として、いくつかの実装形態では、最後のＮ個の置換フレーム中の表示されなかった置換フレームの絶対数を検討するのではなく、分析ユニット１６８は、表示されなかった連続する置換フレームの数を検討することができる。たとえば、分析ユニット１６８は連続するカウントしきい値Ｍを適用することができる。以前のＭ＋１個の連続する置換フレームが、たとえば、品質特性のために表示されなかった場合、分析ユニットは、現在の置換フレームの表示を有効にするように制御ユニット１７２に指示することができる。分析ユニット１６８は、以前の置換フレームの非表示に基づいて現在の置換フレームを表示すべきかどうかを判断するための多種多様なしきい値方式のどれでも適用することができる。したがって、この説明は、限定ではなく例示のために与えるものである。
【０２３０】
図１３は、置換フレームの選択的表示のための例示的な技法を示す流れ図である。図１２の復号器１５８は、図１３の技法を実行するように構成できる。図１３に示すように、復号器１５８は、入力ビデオフレームを受信し（１７４）、フレームを復号し（１７６）、フレーム置換を実行して（１７８）、受信フレームの一部を使用して補間または外挿用の参照フレームとして置換フレームを生成する。復号器１５８中に設けられた分析ユニット１６８などの分析ユニットは、置換フレームのうちの全部または一部の１つまたは複数の品質特性を分析する（１８０）。いくつかの実装形態では、分析ユニットは、ビデオデコーダ１５８、ビデオ後処理ユニット中に、またはモバイルディスプレイプロセッサ（ＭＤＰ）などのビデオディスプレイ処理ユニット中に設けることができる。たとえば、分析ユニット１６８は、置換ユニット１６６によって生成された、補間または外挿されたフレーム中のＳＳＩＭ、ブロッキネス、ぼけ度、またはカラーブリーディングなどの様々な客観的品質特性を分析することができる。
【０２３１】
置換フレームの品質が品質しきい値を満たす、たとえば、品質しきい値以上である場合（１８２）、分析ユニット１６８は、たとえば、出力フレームバッファ１６４からディスプレイ１７０へのフレームの送信を有効にすることによって置換フレームの表示を有効にするように制御ユニット１７２に指示する（１８４）。品質が品質しきい値を満たさない、たとえば、しきい値以下である場合（１８２）、分析ユニット１６８は、置換フレームの表示を無効にするように制御ユニット１７２に指示する（１８６）。場合によっては、品質しきい値は、たとえば、利用可能なリソースに基づいて適応的に調整できる。したがって、置換フレームを生成するためにいくつかのリソースが消耗されても、復号器１５８は、たとえば、あらかじめ定義されたしきい値品質レベルに対して置換フレームの品質が不十分であるとき追加のリソースの消費を回避することができる。
【０２３２】
図１３の例では、分析ユニット１６８は、置換フレーム自体の品質を分析してその置換フレームを表示すべきかどうかを判断するように構成できる。したがって、場合によっては、他のフレームを分析する必要がないことがある。しかしながら、他の実装形態では、分析ユニット１６８は、置換フレームを表示すべきかどうか判断するための基準として置換フレームを生成するために使用される１つまたは複数の参照フレームの品質を分析することができる。ブロック１８８によって示されるように、分析ユニット１６８は、随意に、１つまたは複数の参照フレームの品質を、単独で、または置換フレームの品質の分析との組合せのいずれかで分析することができる。置換フレームの品質分析は、概して置換フレームのピクセル領域値の分析を含むことができる。上述のように、参照フレームの品質分析は、ピクセル領域値、変換領域値、ＭＶ信頼性、ＥＣ信頼性などの分析を含むことができる。
【０２３３】
図１４Ａは、図１２に示すビデオデコーダ１５８とともに使用できる分析ユニット１６８を示すブロック図である。図１４Ａの例では、分析ユニット１６８は、置換フレームのための客観的な１つまたは複数の品質メトリックを使用して置換フレームに関連する品質を分析するように構成される。たとえば、客観的メトリックチェッカー１７３は、置換フレームのためのＳＳＩＭ、ブロッキネス、ぼけ度、またはカラーブリーディングなどの客観的空間品質メトリックを分析することができる。そのようなメトリックは、たとえば、置換フレームのピクセル値から得ることができる。いくつかの実装形態では、客観的メトリックチェッカー１７３は、フレームを全体として、または局在領域単位で分析することができる。品質スコア計算器１７５は、１つまたは複数の客観的品質メトリックに基づいて品質スコアを発生することができる。比較ユニット１７７は、置換フレームの表示を有効にすべきかまたは無効にすべきかを判断するために、品質スコアをしきい値と比較することができる。品質スコアが品質しきい値を満たす場合、比較ユニット１７７は、ディスプレイ１７０による置換フレームの表示を可能にするように制御ユニット１７２に指示することができる。品質スコアが品質しきい値を満たさない場合、比較ユニット１７７は、置換フレームの表示を無効にするように制御ユニット１７２に指示することができる。この場合、置換フレームの代わりに以前または将来のフレームをディスプレイ１７０によって繰り返すことができる。
【０２３４】
図１４Ｂは、図１２に示すビデオデコーダ１５８とともに使用できる分析ユニット１６８を示す別のブロック図である。図１４Ａの例では、分析ユニット１６８は、置換フレームの品質を直接分析するように構成される。図１４Ｂの例では、分析ユニット１６８は、参照フレームの品質、置換フレームの品質、または両方の組合せを分析するように構成できる。さらに、図１４Ｂでは、分析ユニット１６８は、ピクセル値、変換領域値、動きベクトル、および／または他のタイプの情報を分析するように構成できる。一般に、分析ユニット１６８は、図５の分析ユニット４２にいくぶん類似した方法で構成できる。たとえば、分析ユニット１６８は、客観的メトリックチェッカー１７３、品質スコア計算器１７５、比較ユニット１７７、ＥＣチェッカー１７９、ＱＰチェッカー１８１、ＣＢＰチェッカー１８３、およびＭＶ信頼性チェッカー１８５のうちの１つまたは複数を含むことができる。
【０２３５】
客観的メトリックチェッカー１７３は、上述のように、置換フレーム、および／または置換フレームを生成するのに使用される１つまたは複数の参照フレームを分析して客観的空間品質および／または時間品質の指示を生成することができる。いくつかの実装形態では、客観的メトリックチェッカー１７３は、フレームを全体として、または局在領域単位で分析することができる。ＥＣチェッカー１７９は、スライス損失を検出し、容認できるＥＣ機構が利用可能であるかどうかを判断することができる。ＱＰチェッカーおよびＣＢＰチェッカー１８１、１８３は、参照フレーム用のＱＰおよびＣＢＰ値に基づいて品質の指示を発生することができる。
【０２３６】
品質スコア計算器１７５は、いくつかの実装形態では、たとえば、図５および図９を参照しながら説明したのと同様の方法で、置換フレームの選択的表示の検討のために全体的な品質スコアを計算することができる。品質スコアは置換フレームごとにリセットすることができる。しかしながら、以前の置換フレームについて分析された品質メトリックは、現在の置換フレームに対して有用ならば、保持し、再利用できる。一例として、同じ参照フレームを別の置換フレームのために使用する場合、１つの置換フレームの補間または外挿のために使用される特定の参照フレームについて判断されたＱＰおよびＣＢＰデータ、ＭＶ信頼性データ、またはＥＣ信頼性データを再利用することができる。
【０２３７】
品質スコア計算器１７５は、客観的メトリックチェッカー１７３、ＥＣチェッカー１８１、ＱＰチェッカー１８１、およびＣＢＰチェッカー１８３のうちの１つまたは複数の出力に基づいて候補参照フレームの全体的な品質スコアを発生するように構成できる。図５および図９を参照しながら説明したシステムプロセスと同様の方法で、客観的メトリックチェッカー１７３、ＥＣチェッカー１８１、ＱＰチェッカー１８１、およびＣＢＰチェッカー１８３によって生成される個々のスコアは、単に高もしくは低品質値、または高、中間もしくは低品質値として作成されるか、あるいは多数の階調または実質的に連続スケールに沿って計算できる。品質スコア計算器１７５は、たとえば、総品質スコアがすべてのスコアの重み付けされた合計になるように、個々のスコアの各々に等しいまたは不均一な重み付けを与えることができる。
【０２３８】
総スコアを計算するために使用される品質特性、たとえば、客観的メトリック、ＥＣ特性、ＱＰおよびＣＢＰ特性は、ディスプレイ１７０によって提示されるとき、置換フレームが容認できる視覚的品質レベルを生成する可能性があるかどうかを示すことができる。比較ユニット１７７は、総スコアを品質しきい値と比較する。総スコアが十分である、たとえば、品質しきい値を満たすかまたは超える場合、比較ユニット１７７は、ディスプレイ１７０による提示用に容認できるレベルの品質を置換フレームが有することを示す。総スコアが品質しきい値未満である場合、比較ユニット１７７は、置換フレームはディスプレイ１７０による提示用には容認できないと判断する。各場合において、分析ユニット１６８は次いで、次の置換フレームの選択的表示の品質を分析することに進む。
【０２３９】
品質が十分であると品質スコアは示していても、置換フレームを生成するのに使用される１つまたは複数の参照フレームに関連する動きベクトルが信頼できるかどうかを判断するためにＭＶ信頼性チェッカー１８５を与えることができる。ＭＶ信頼性チェッカー１８５は、フレーム置換が補間または外挿のために動き補償予測方法を利用する場合、（１つまたは複数の）選択される参照フレームが高品質フレーム置換結果をおそらく生成するように、１つまたは複数の参照フレームにおける動きベクトルの信頼性を分析することができる。動きベクトルが信頼できる場合、ＭＶ信頼性チェッカー１８５は、置換フレームをディスプレイ１７０によって表示させるためのイネーブル信号を制御ユニット１７０に送信することができる。しかしながら、動きベクトルが信頼できない場合、ＭＶ信頼性チェッカー１８５は、置換フレームがディスプレイ１７０によって表示されないように信号を制御ユニット１７２に送信することができる。その代わりに、制御ユニット１７２は、ディスプレイ１７０が置換フレームの代わりに以前または将来のフレームを繰り返すことができるように置換フレームの表示を無効にすることができる。
【０２４０】
図１５は、置換フレームの選択的表示をサポートするための、品質スコアを発生するための例示的な技法を示す流れ図である。図１５のプロセスは図９のプロセスと同様とすることができる。しかしながら、図１２〜図１４を参照しながら説明したように、スコアリングプロセスは、補間または外挿を実行するための参照フレームの選択のためではなく、すでに補間または外挿された置換フレームの選択的表示のために使用できる。図１５に示すように、置換フレームを表示すべきかどうかを検討することにおいて、分析ユニット１６８は、補間または外挿のために使用される１つまたは複数の参照フレームを取り出して受信フレームバッファ１６０から置換フレームを生成し（１９０）、参照フレーム用のＱＰおよびＣＢＰ値を分析する。図９の例の場合のように、図１５に示すように、分析ユニット１６８は、ＱＰおよびＣＢＰ値に基づいて組み合わせられたＱＰベースのスコアを発生することができる。ＱＰ値が適用可能なＱＰしきい値（ＱＰ＿ｔｈ）未満であり、ＣＢＰ値が０に等しくない場合（１９２）、分析ユニット１６８はフレームのＱＰベースのスコアを「高」に設定する（１９４）。ＱＰ値がＱＰしきい値（ＱＰ＿ｔｈ）以上であるか、またはＣＢＰ値がほぼ０に等しいかのいずれかの場合（１９２）、分析ユニット４２はフレームのＱＰベースのスコアを「低」に設定する（１９６）。
【０２４１】
図１５にさらに示すように、分析ユニット１６８はまた、１つまたは複数の参照フレームのスライス損失を検査するように構成される（１９８）。図１４Ｂを参照すると、スライス損失検査はＥＣチェッカー１７９によって実行される。スライス損失がある場合、分析ユニット１６８は、スライス損失を補正するために適切なエラー隠蔽（ＥＣ）機構が利用可能かどうかを判断する（２００）。利用可能でない場合、分析ユニット１６８は、参照フレームのＥＣベースのスコアを「低」に設定する（２０２）。信頼できる適切なＥＣ機構が利用可能な場合（１２４）、分析ユニット１６８はＥＣベースのスコアを「高」に設定する（２０４）。この場合、損失したスライスをＥＣ機構を使用して確実に再生することができる場合、参照フレームの品質により、置換フレームが信頼できることを示すことができる。しかしながら、スライスを再生することができない場合、参照フレームにより、置換フレームは表示すべきでない誤った情報を含むかもしれないことを示すことができる。
【０２４２】
分析ユニット１６８はまた、客観的品質メトリックを（１つまたは複数の）参照フレームおよび／または置換フレームに適用する（２０６）。たとえば、分析ユニット１６８は、ブロッキネス、ぼけ度、カラーブリーディングなど、様々な客観的メトリックのいずれかを分析するために（１つまたは複数の）参照フレームの復号および再構成されたバージョンを分析する。さらに、分析ユニット１６８は置換フレームのピクセル領域値を分析する。したがって、客観的メトリックは、視覚的品質を評価するために、ピクセル領域における（１つまたは複数の）参照フレームおよび／または置換フレームに適用される。分析ユニット１６８は、品質メトリックスコアＱＭを作成するために、客観的メトリックの各々を定量化する。品質メトリックスコアＱＭが適用可能な品質メトリックしきい値（ＱＭ＿ｔｈ）以上である場合（２０８）、分析ユニット１６８は置換フレームのＱＭベースのスコアを「高」に設定する（２１０）。品質メトリックスコアＱＭが品質メトリックしきい値（ＱＭ＿ｔｈ）以下である場合、分析ユニット１６８は置換フレームのＱＭベースのスコアを「低」に設定する（２１２）。
【０２４３】
分析ユニット１６８は、ＱＰベースのスコアと、ＥＣベースのスコアと、ＱＭベースのスコアとの組合せに基づいて置換フレームの総品質スコアを設定する（２１４）。総品質スコアは、（１つまたは複数の）参照フレームおよび／または置換フレームのＱＰベースのスコアと、ＥＣベースのスコアと、ＱＭベースのスコアとの重み付けされた合計に従って作成され、ここで、分析ユニット１６８は個々のスコアの各々に異なる重みを付ける。個々のＱＰベースのスコアと、ＥＣベースのスコアと、ＱＭベースのスコアとが得られる順序は、図１５に示す順序と異なってもよい。さらに、図１５に示すスコアの特定のタイプは変更される場合がある。一般に、分析ユニット１６８は、置換フレームが、視覚的品質を損なわないようにし、置換フレームを表示するための追加のリソースの消耗を補う視覚的品質増強の程度に寄与する可能性を示す品質スコアを得るように構成できる。
【０２４４】
図１６は、ビデオユニットが遅延敏感ビデオアプリケーションをサポートするときの、ビデオユニット置換のための参照ビデオユニット選択をサポートするための、参照ビデオユニットの動きおよび／または品質分析のための例示的な技法を示す流れ図である。図１６の流れ図は、実質的に図８の流れ図に対応するが、復号器１４によってサポートされるビデオアプリケーションがビデオ電話通信などの遅延敏感アプリケーションであるかどうかを判断する動作（２１６）と、そうであれば、適用可能な時間距離基準が満たされるかどうかを判断する動作（２１８）とをさらに含む。
【０２４５】
図１６の例では、候補参照フレームを取り出し（９４）、遅延敏感アプリケーションを検出する（２１６）と、復号器１４は、そのフレームが追加すべきフレームに対する将来のフレームであるかどうかを判断する。そうであれば、復号器１４は、将来の参照フレームの距離がしきい値距離未満であるかどうかを判断する。候補参照フレームが、追加すべきフレームからしきい値距離未満だけ離れている以前のフレームまたは将来のフレームである場合、距離基準が満たされる（２１８）。いくつかの態様では、距離は、候補参照フレームと追加すべきフレームを隔てているフレームの数の観点から表すことができる。
【０２４６】
時間距離基準を満たすと、復号器１４は、たとえば、図８を参照しながら説明し動作（９６）〜（１１２）に示したような品質分析に進む。しかしながら、距離基準を満たさない場合、復号器１４は、補間用の参照フレームとして検討から候補参照フレームを取り除くことに進み、検討のために次の候補参照フレームを取り出すことに進む（９４）。したがって、たとえば、図１６に示すように距離基準を満たさないとき、遅延敏感アプリケーションのための距離基準の適用は、置換フレームからの時間距離に基づいて特定の参照フレームを除外する選択ユニット４４（図４）の制御、距離ユニット６３（図５）による距離に部分的に基づく品質スコアの計算、または品質分析を無効にする分析ユニット４２の制御など、多種多様な実装に従うことができる。
【０２４７】
一般に、本開示に記載されている補間のための参照フレームを選択するための技法は、様々な態様において、不必要であるかまたは有利でないときフレーム置換を無効にすることによってリソース消費を低下させることができ、フレーム置換において使用するのに良好な参照フレームを選択することによって、補間されたフレームの品質を増強することができるＦＲＵＣ実装形態を与えることができる。増強された品質の利点は、ＱＰおよびＣＢＰ値を分析し、この分析に基づいて、可変ビットレート（ＶＢＲ）制御機構を用いて圧縮されたビデオにおいて特に有用である高品質参照フレームを選択することによって達成できる。
【０２４８】
さらに、エラー隠蔽機構がない場合、またはエラー隠蔽機構が良好な品質フレームを与えない場合、増強された品質は、参照フレームとしてスライスまたはフレーム損失をもつフレームを選択しないことによって達成できたことであろう。スライスまたはフレーム損失および不十分なエラー隠蔽をもつフレームの回避は、ビデオ電話アプリケーションの場合など、伝送損失が発生するときに特に有用である。また、リソース重視モードは、低い動きのビデオクリップにおいて客観的および主観的ビデオ品質を実質的に維持しながら電力消費または他のリソースの消費を低減することにおいて効果的である。
【０２４９】
本明細書で説明した技術は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せで実施できる。モジュール、ユニット、または構成要素として説明するフィーチャは、集積論理デバイスに一緒に、または個別であるが相互運用可能な論理デバイスとして別々に実装できる。場合によっては、様々なフィーチャは、集積回路チップまたはチップセットなどの集積回路デバイスとして実装できる。ソフトウェアで実装した場合、これらの技法は、実行されると、上記で説明した方法の１つまたは複数をプロセッサに実行させる命令を備えるコンピュータ可読媒体によって少なくとも部分的に実現できる。
【０２５０】
コンピュータ可読媒体は、パッケージング材料を含むことがある、コンピュータプログラム製品の一部をなすことができる。コンピュータ可読媒体は、ランダムアクセスメモリ（ＲＡＭ）、同期ダイナミックランダムアクセスメモリ（ＳＤＲＡＭ）、読取り専用メモリ（ＲＯＭ）、不揮発性ランダムアクセスメモリ（ＮＶＲＡＭ）、電気消去可能プログラマブル読出し専用メモリ（ＥＥＰＲＯＭ）、ＦＬＡＳＨメモリ、磁気または光学データ記憶媒体などのコンピュータデータ記憶媒体を備えることができる。本技法は、追加または代替として、命令またはデータ構造の形態でコードを搬送または伝達し、コンピュータによってアクセス、読込み、および／または実行できるコンピュータ可読通信媒体によって、少なくとも部分的に実現できる。
【０２５１】
コードまたは命令は、１つまたは複数のＤＳＰ、汎用マイクロプロセッサ、ＡＳＩＣ、フィールドプログラマブル論理アレイ（ＦＰＧＡ）、または他の等価な集積またはディスクリート論理回路など、１つまたは複数のプロセッサによって実行できる。したがって、本明細書で使用する「プロセッサ」という用語は、前述の構造、または本明細書で説明する技法の実装に好適な他の構造のいずれかを指す。さらに、いくつかの態様では、本明細書で説明する機能を、専用のソフトウェアモジュールまたはハードウェアモジュールの内部に与えることができる。本開示はまた、本開示で説明した技法の１つまたは複数を実装する回路を含む様々な集積回路デバイスのいずれかを企図する。そのような回路は、単一の集積回路チップ、またはいわゆるチップセット中の複数の相互運用可能な集積回路チップで提供できる。そのような集積回路デバイスは様々な適用例において使用でき、適用例のいくつかは携帯電話ハンドセットなどのワイヤレス通信デバイスでの使用を含む。
【０２５２】
開示する技法の１つまたは複数の態様の詳細を添付の図面および以下の説明に示す。他の特徴、目的、および利点は、説明および図面、ならびに特許請求の範囲から明らかになろう。
以下の記載は、出願当初の特許請求の範囲の記載に実質的に一致するものである。
［１］
追加のビデオユニットの補間または外挿のための１つまたは複数の候補参照ビデオユニットの動きレベルを分析することと、
前記追加のビデオユニットの補間または外挿のためのリソースレベルを決定することと、
前記動きレベルおよび前記リソースレベルに基づいて前記追加のビデオユニットの補間または外挿を選択的に無効にすることと
を備える方法。
［２］
前記動きレベルを分析することと、前記リソースレベルを決定することと、第１の動作モードにおいて前記動きレベルおよび前記リソースレベルに基づいて補間または外挿を選択的に無効にすることと、
第２の動作モードにおいて前記追加のビデオユニットの補間または外挿を有効にすることと
をさらに備える、［１］に記載の方法。
［３］
前記リソースレベルが、電力リソースレベルと、計算リソースレベルと、メモリリソースレベルとのうちの１つを備える、［１］に記載の方法。
［４］
前記動きレベルを分析することが、前記候補参照ビデオユニットの少なくとも１つにおいてゼロ値動きベクトルの数をカウントすることを備え、選択的に有効または無効にすることが、ゼロ値動きベクトルの前記数がしきい値を下回るとき、補間または外挿を有効にすることと、ゼロ値動きベクトルの前記数が前記しきい値を上回るとき、補間または外挿を無効にすることとを備える、［１］に記載の方法。
［５］
前記決定されたリソースレベルに基づいて前記しきい値を調整することをさらに備え、前記リソースレベルが、電力リソースレベルと、計算リソースレベルと、メモリリソースレベルとのうちの１つを備える、［４］に記載の方法。
［６］
分析することが、前記候補参照ビデオユニットの少なくとも１つにおいてゼロ値動きベクトルの数と小さい動きベクトルの数とをカウントすることを備え、前記小さい動きベクトルの各々が、第１のしきい値を下回る値を有する０でない値の動きベクトルであり、選択的に有効または無効にすることが、ゼロ値動きベクトルの前記数が第２のしきい値を上回り、小さい動きベクトルの前記数が第３のしきい値を下回るとき、補間または外挿を無効にすることを備える、［１］に記載の方法。
［７］
選択的に有効または無効にすることが、ゼロ値動きベクトルの前記数が前記第２のしきい値を下回るかまたは小さい動きベクトルの前記数が前記第３のしきい値を上回るとき、補間または外挿を有効にすることを備える、［６］に記載の方法。
［８］
前記決定されたリソースレベルに基づいて前記第２のしきい値と前記第３のしきい値とのうちの少なくとも１つを調整することをさらに備え、前記リソースレベルが、電力リソースレベルと、計算リソースレベルと、メモリリソースレベルとのうちの１つを備える、［７］に記載の方法。
［９］
前記追加のビデオユニットのサイズに基づいて前記第１のしきい値を調整することをさらに備える、［６］に記載の方法。
［１０］
前記補間または外挿が無効にされたとき、前記追加のビデオユニットのための前記参照ビデオユニットの１つを繰り返すことをさらに備える、［１］に記載の方法。
［１１］
前記ビデオユニットの各々がビデオフレームである、［１］に記載の方法。
［１２］
追加のビデオユニットの補間または外挿のための１つまたは複数の候補参照ビデオユニットの動きレベルを分析するように構成された動き分析器と、
前記追加のビデオユニットの補間または外挿のためのリソースレベルを決定するように構成されたリソースモニタと、
前記動きレベルおよび前記リソースレベルに基づいて前記追加のビデオユニットの補間または外挿を選択的に無効にするように構成された選択ユニットと
を備えるビデオコーディングデバイス。
［１３］
第１の動作モードにおいて前記追加のビデオユニットの補間または外挿を選択的に無効にするように前記選択ユニットに指示し、第２の動作モードにおいて前記追加のビデオユニットの補間または外挿を有効にするように前記選択ユニットに指示するモード選択ユニットをさらに備える、［１２］に記載のデバイス。
［１４］
前記リソースレベルが、電力リソースレベルと、計算リソースレベルと、メモリリソースレベルとのうちの１つを備える、［１３］に記載のデバイス。
［１５］
前記動き分析器が、前記候補参照ビデオユニットの少なくとも１つにおいてゼロ値動きベクトルの数をカウントし、前記選択ユニットが、ゼロ値動きベクトルの前記数がしきい値を下回るとき、補間または外挿を有効にし、ゼロ値動きベクトルの前記数が前記しきい値を上回るとき、補間または外挿を無効にする、［１２］に記載のデバイス。
［１６］
前記動き分析器が、前記決定されたリソースレベルに基づいて前記しきい値を調整し、前記リソースレベルが、電力リソースレベルと、計算リソースレベルと、メモリリソースレベルとのうちの１つを備える、［１５］に記載のデバイス。
［１７］
前記動き分析器が、前記参照ビデオユニットの少なくとも１つにおいてゼロ値動きベクトルの数と小さい動きベクトルの数とをカウントし、前記小さい動きベクトルの各々が、第１のしきい値を下回る値を有する０でない値の動きベクトルであり、前記選択ユニットが、ゼロ値動きベクトルの前記数が第２のしきい値を上回り、小さい動きベクトルの前記数が第３のしきい値を下回るとき、補間または外挿を選択的に無効にする、［１２］に記載のデバイス。
［１８］
前記選択ユニットが、ゼロ値動きベクトルの前記数が前記第２のしきい値を下回るかまたは小さい動きベクトルの前記数が前記第３のしきい値を上回るとき、補間または外挿を選択的に有効にする、［１７］に記載のデバイス。
［１９］
前記動き分析器が、前記決定されたリソースレベルに基づいて前記第２のしきい値と前記第３のしきい値とのうちの少なくとも１つを調整し、前記リソースレベルが、電力リソースレベルと、計算リソースレベルと、メモリリソースレベルとのうちの１つを備える、［１８］に記載のデバイス。
［２０］
前記動き分析器が、前記追加のビデオユニットのサイズに基づいて前記第１のしきい値を調整する、［１７］に記載のデバイス。
［２１］
前記補間または外挿が無効にされたとき、前記追加のビデオユニットのための前記参照ビデオユニットの１つを繰り返す繰り返しユニットをさらに備える、［１２］に記載のデバイス。
［２２］
前記デバイスがワイヤレス通信デバイスハンドセットを備える、［１２］に記載のデバイス。
［２３］
前記デバイスが集積回路デバイスを備える、［１２］に記載のデバイス。
［２４］
前記ビデオユニットの各々がビデオフレームである、［１２］に記載のデバイス。
［２５］
追加のビデオユニットの補間または外挿のための１つまたは複数の候補参照ビデオユニットの動きレベルを分析するための手段と、
前記追加のビデオユニットの補間または外挿のためのリソースレベルを決定するための手段と、
前記動きレベルおよび前記リソースレベルに基づいて前記追加のビデオユニットの補間または外挿を選択的に無効にするための手段と
を備えるデバイス。
［２６］
前記動きレベルを分析するための前記手段と、前記リソースレベルを決定するための手段と、前記動きレベルおよび前記リソースレベルに基づいて補間または外挿を選択的に無効にするための手段とが、第１の動作モードにおいて動作可能であり、前記デバイスが、第２の動作モードにおいて動作可能である、１つまたは複数の参照ビデオユニットを使用して追加のビデオユニットの補間または外挿を有効にするための手段をさらに備える、［２５］に記載のデバイス。
［２７］
前記リソースレベルが、電力リソースレベルと、計算リソースレベルと、メモリリソースレベルとのうちの１つを備える、［２５］に記載のデバイス。
［２８］
前記動きレベルを分析するための前記手段が、前記候補参照ビデオユニットの少なくとも１つにおいてゼロ値動きベクトルの数をカウントするための手段を備え、選択的に有効または無効にするための前記手段が、ゼロ値動きベクトルの前記数がしきい値を下回るとき、補間または外挿を有効にするための手段と、ゼロ値動きベクトルの前記数が前記しきい値を上回るとき、補間または外挿を無効にするための手段とを備える、［２５］に記載のデバイス。
［２９］
前記決定されたリソースレベルに基づいて前記しきい値を調整するための手段をさらに備え、前記リソースレベルが、電力リソースレベルと、計算リソースレベルと、メモリリソースレベルとのうちの１つを備える、［２８］に記載のデバイス。
［３０］
分析するための前記手段が、前記参照ビデオユニットの少なくとも１つにおいてゼロ値動きベクトルの数と小さい動きベクトルの数とをカウントするための手段を備え、前記小さい動きベクトルの各々が、第１のしきい値を下回る値を有する０でない値の動きベクトルであり、選択的に有効または無効にするための前記手段が、ゼロ値動きベクトルの前記数が第２のしきい値を上回り、小さい動きベクトルの前記数が第３のしきい値を下回るとき、補間または外挿を無効にするための手段を備える、［２５］に記載のデバイス。
［３１］
選択的に有効または無効にするための前記手段が、ゼロ値動きベクトルの前記数が前記第２のしきい値を下回るかまたは小さい動きベクトルの前記数が前記第３のしきい値を上回るとき、補間または外挿を有効にするための手段を備える、［３０］に記載のデバイス。
［３２］
前記決定されたリソースレベルに基づいて前記第２のしきい値と前記第３のしきい値とのうちの少なくとも１つを調整するための手段をさらに備え、前記リソースレベルが、電力リソースレベルと、計算リソースレベルと、メモリリソースレベルとのうちの１つを備える、［３１］に記載のデバイス。
［３３］
前記追加のビデオユニットのサイズに基づいて前記第１のしきい値を調整するための手段をさらに備える、［３０］に記載のデバイス。
［３４］
前記補間または外挿が無効にされたとき、前記追加のビデオユニットのための前記参照ビデオユニットの１つを繰り返すための手段をさらに備える、［２５］に記載のデバイス。
［３５］
前記ビデオユニットの各々がビデオフレームである、［２５］に記載のデバイス。
［３６］
追加のビデオユニットの補間または外挿のための１つまたは複数の候補参照ビデオユニットの動きレベルを分析することと、
前記追加のビデオユニットの補間または外挿のためのリソースレベルを決定することと、
前記動きレベルおよび前記リソースレベルに基づいて前記追加のビデオユニットの補間または外挿を選択的に無効にすることと
を１つまたは複数のプロセッサに行わせるための命令を備えるコンピュータ可読媒体。
［３７］
前記動きレベルを分析することと、前記リソースレベルを決定することと、第１の動作モードにおいて前記動きレベルおよび前記リソースレベルに基づいて補間または外挿を選択的に無効にすることと、
第２の動作モードにおいて前記追加のビデオユニットの補間または外挿を有効にすることと
を前記１つまたは複数のプロセッサに行わせるための命令をさらに備える、［３６］に記載のコンピュータ可読媒体。
［３８］
前記リソースレベルが、電力リソースレベルと、計算リソースレベルと、メモリリソースレベルとのうちの１つを備える、［３６］に記載のコンピュータ可読媒体。
［３９］
前記命令が、前記１つまたは複数のプロセッサに、前記候補参照ビデオユニットの少なくとも１つにおいてゼロ値動きベクトルの数をカウントすることと、ゼロ値動きベクトルの前記数がしきい値を下回るとき、補間または外挿を有効にすることと、ゼロ値動きベクトルの前記数が前記しきい値を上回るとき、補間または外挿を無効にすることとを行わせる、［３６］に記載のコンピュータ可読媒体。
［４０］
前記１つまたは複数のプロセッサに、前記決定されたリソースレベルに基づいて前記しきい値を調整させる命令をさらに備え、前記リソースレベルが、電力リソースレベルと、計算リソースレベルと、メモリリソースレベルとを備える、［３９］に記載のコンピュータ可読媒体。
［４１］
前記命令が、前記１つまたは複数のプロセッサに、前記候補参照ビデオユニットの少なくとも１つにおいてゼロ値動きベクトルの数と小さい動きベクトルの数とをカウントすることであって、前記小さい動きベクトルの各々が、第１のしきい値を下回る値を有する０でない値の動きベクトルである、カウントすることと、ゼロ値動きベクトルの前記数が第２のしきい値を上回り、小さい動きベクトルの前記数が第３のしきい値を下回るとき、補間または外挿を無効にすることとを行わせる、［３６］に記載のコンピュータ可読媒体。
［４２］
前記命令が、前記１つまたは複数のプロセッサに、ゼロ値動きベクトルの前記数が前記第２のしきい値を下回るかまたは小さい動きベクトルの前記数が前記第３のしきい値を上回るとき、補間または外挿を有効にさせる、［４１］に記載のコンピュータ可読媒体。
［４３］
前記命令が、前記１つまたは複数のプロセッサに、前記リソースレベルに基づいて前記第２のしきい値と前記第３のしきい値とのうちの少なくとも１つを調整させ、前記リソースレベルが、電力リソースレベルと、計算リソースレベルと、メモリリソースレベルとのうちの１つを備える、［４２］に記載のコンピュータ可読媒体。
［４４］
前記１つまたは複数のプロセッサに、前記追加のビデオユニットのサイズに基づいて前記第１のしきい値を調整させる命令をさらに備える、［４１］に記載のコンピュータ可読媒体。
［４５］
前記命令が、前記１つまたは複数のプロセッサに、前記補間または外挿が無効にされたとき、前記追加のビデオユニットのための前記候補参照ビデオユニットの１つを繰り返させる、［３６］に記載のコンピュータ可読媒体。
［４６］
前記ビデオユニットの各々がビデオフレームである、［３６］に記載のコンピュータ可読媒体。
【図１】
0005502747.tif 000002
【図２Ａ】
0005502747.tif 000003
【図２Ｂ】
0005502747.tif 000004
【図２Ｃ】
0005502747.tif 000005
【図２Ｄ】
0005502747.tif 000006
【図３】
0005502747.tif 000007
【図４】
0005502747.tif 000008
【図５】
0005502747.tif 000009
【図６】
0005502747.tif 000010
【図７】
0005502747.tif 000011
【図８】
0005502747.tif 000012
【図９】
0005502747.tif 000013
【図１０】
0005502747.tif 000014
【図１１】
0005502747.tif 000015
【図１２】
0005502747.tif 000016
【図１３】
0005502747.tif 000017
【図１４Ａ】
0005502747.tif 000018
【図１４Ｂ】
0005502747.tif 000019
【図１５】
0005502747.tif 000020
【図１６】
0005502747.tif 000021