(57)【特許請求の範囲】
【請求項１】
動きアクティビティ基準及びモード判断基準に基づきビデオ・デコーダにおいてビデオ・フレーム・レート・アップコンバージョンを選択的にイネーブルする及びディスエーブルすること、；
飛ばされたフレームの近くの少なくとも１つの前のビデオ・フレームの１又はそれより多くの特性に基づいて前記動きアクティビティ基準を適応させること、前記動きアクティビティ基準は動きアクティビティしきい値を含む；
前記飛ばされたフレームの近くの前記少なくとも１つの前のビデオ・フレームの前記１又はそれより多くの特性に基づいて前記モード判断基準を適応させること、前記モード判断基準はモード判断しきい値を含む；
前記動きアクティビティ基準及び前記モード判断基準が、前のフレームの内容が大きな動き又は新たな内容を含むことを示すとき、前記ビデオ・フレーム・レート・アップコンバージョンはディスエーブルされ、フレームの繰り返しが適用されること；及び
前記動きアクティビティ基準及び前記モード判断基準が、ほとんど動きアクティビティがないことを示すとき、前記ビデオ・フレーム・レート・アップコンバージョンはイネーブルされ、フレームの補間が適用されること、
を具備する方法。
【請求項２】
前記方法は、現在のフレームについての動きアクティビティ値が前記動きアクティビティしきい値を超えるとき、フレーム・レート・アップコンバージョンを選択的にディスエーブルすること、をさらに具備する、請求項１の方法。
【請求項３】
前記動きアクティビティ値は、前記現在のフレームについての平均動きベクトル値を含む、そしてここにおいて、前記動きアクティビティしきい値は、前記少なくとも１つの前のフレームについての動きベクトル値のヒストグラムから導き出される、請求項２の方法。
【請求項４】
前記動きアクティビティ基準を適応させることは、前記少なくとも１つの前のフレームについての前記動きベクトル値に基づいて前記動きアクティビティしきい値を調節することを含む、請求項３の方法。
【請求項５】
前記方法は、現在のフレーム中の内部コード化されたマクロブロックの数が前記モード判断しきい値を超えるときに、フレーム・レート・アップコンバージョンを選択的にディスエーブルすること、をさらに具備する、請求項１の方法。
【請求項６】
しきい値を超える複数のコーディング・ビットを有する前記前のフレーム中のマクロブロックの数に基づいて前記モード判断しきい値を決定すること、をさらに具備する、請求項５の方法。
【請求項７】
少なくとも１つの前のフレーム中のつながったオブジェクトの近似サイズに基づいて前記モード判断しきい値を決定すること、をさらに具備する、請求項５の方法。
【請求項８】
フレーム・レート・アップコンバージョン・モジュールがディスエーブルされるときに、前記飛ばされたフレームの代わりに前記前のフレームを繰り返すこと、をさらに具備する、請求項１の方法。
【請求項９】
前記モード判断基準は、マクロブロック・カウントを規定するモード判断しきい値を含む、及び
前記方法は、現在のフレームについての動きアクティビティ値が前記動きアクティビティしきい値を超えるとき、又は前記現在のフレーム中の内部コード化されたマクロブロックの数が前記モード判断しきい値の前記マクロブロック・カウントを超えるときに、フレーム・レート・アップコンバージョンを選択的にディスエーブルすること、をさらに具備する、請求項１の方法。
【請求項１０】
前記モード判断基準は、つながったオブジェクト・サイズを規定するモード判断しきい値を含む、及び
前記方法は、現在のフレームについての動きアクティビティ値が前記動きアクティビティしきい値を超えるとき、又は前記現在のフレーム中のつながっている内部コード化されたマクロブロックの数が前記モード判断しきい値を超えるときに、フレーム・レート・アップコンバージョンを選択的にディスエーブルすること、をさらに具備する、請求項１の方法。
【請求項１１】
前記モード判断基準は、マクロブロック・カウントしきい値及びつながったオブジェクト・サイズしきい値を含む、及び
前記方法は、
現在のフレームについての動きアクティビティ値を前記動きアクティビティしきい値と比較して、第１の差異値を生成すること；
前記現在のフレーム中の内部コード化されたマクロブロックの数を前記モード判断しきい値と比較して、第２の差異値を生成すること；
前記現在のフレーム中のつながっている内部コード化されたマクロブロックの数をつながったオブジェクト・サイズしきい値と比較して、第３の差異値を生成すること；
前記複数の差異値を重み付けすること；
前記重み付けされた差異値を合計すること；及び
前記重み付けされた差異値の前記合計がしきい値を超えるときには、フレーム・レート・アップコンバージョンを選択的にディスエーブルすること、
をさらに具備する、請求項１の方法。
【請求項１２】
前記フレーム・レート・アップコンバージョンは、ビデオ・フレーム補間を含み、
前記動きアクティビティ基準及び前記モード判断基準は、前記ビデオ・フレーム補間が重大なアーティファクト（artifact）を生成する可能性があるかどうかを示す、請求項１の方法。
【請求項１３】
フレーム・レート・アップコンバージョン・モジュール；及び
動きアクティビティ基準及びモード判断基準に基づき前記フレーム・レート・アップコンバージョン・モジュールを選択的にイネーブルする及びディスエーブルし、
飛ばされたフレームの近くの少なくとも１つの前のビデオ・フレームの１又はそれより多くの特性に基づいて前記動きアクティビティ基準を適応させ、前記動きアクティビティ基準は動きアクティビティしきい値を含む
飛ばされたフレームの近くの少なくとも１つの前のビデオ・フレームの前記１又はそれより多くの特性に基づいて前記モード判断基準を適応させ、前記モード判断基準はモード判断しきい値を含む
前記動きアクティビティ基準及び前記モード判断基準が、前のフレームの内容が大きな動き又は新たな内容を含むことを示すとき、前記ビデオ・フレーム・レート・アップコンバージョンはディスエーブルされ、フレームの繰り返しが適用され、及び
前記動きアクティビティ基準及び前記モード判断基準が、ほとんど動きアクティビティがないことを示すとき、前記ビデオ・フレーム・レート・アップコンバージョンはイネーブルされ、フレームの補間が適用される、制御モジュール
を具備するビデオ・デコーダ。
【請求項１４】
前記制御モジュールは、現在のフレームについての動きアクティビティ値が前記動きアクティビティしきい値を超えるときに、前記フレーム・レート・アップコンバージョンを選択的にディスエーブルする、請求項１３のビデオ・デコーダ。
【請求項１５】
前記動きアクティビティ値は、前記現在のフレームについての平均動きベクトル値を含む、そしてここにおいて、前記動きアクティビティしきい値は、前記少なくとも１つの前のフレームについての動きベクトル値のヒストグラムから導き出される、請求項１４のビデオ・デコーダ。
【請求項１６】
前記制御モジュールは、前記少なくとも１つの前のフレームについての前記動きベクトル値に基づいて前記動きアクティビティしきい値を調節して、前記動きアクティビティ基準を適応させる、請求項１５のビデオ・デコーダ。
【請求項１７】
前記制御モジュールは、現在のフレーム中の内部コード化されたマクロブロックの数が前記モード判断しきい値を超えるときに、前記フレーム・レート・アップコンバージョン・モジュールを選択的にディスエーブルする、請求項１３のビデオ・デコーダ。
【請求項１８】
前記制御モジュールは、しきい値を超える複数のコーディング・ビットを有する前記前のフレーム中のマクロブロックの数に基づいて前記モード判断しきい値を決定する、請求項１７のビデオ・デコーダ。
【請求項１９】
前記制御モジュールは、少なくとも１つの前のフレーム中のつながったオブジェクトの近似サイズに基づいて前記モード判断しきい値を決定する、請求項１７のビデオ・デコーダ。
【請求項２０】
前記デコーダは、前記フレーム・レート・アップコンバージョン・モジュールがディスエーブルされるときに、前記飛ばされたフレームの代わりに前記前のフレームを繰り返す、請求項１３のビデオ・デコーダ。
【請求項２１】
前記モード判断基準は、マクロブロック・カウントを規定するモード判断しきい値を含む、及び
前記制御モジュールは、現在のフレームについての動きアクティビティ値が前記動きアクティビティしきい値を超えるとき、又は前記現在のフレーム中の内部コード化されたマクロブロックの数が前記モード判断しきい値の前記マクロブロック・カウントを超えるときに、前記ビデオ・フレーム・レート・アップコンバージョン・モジュールを選択的にディスエーブルする、請求項１３のビデオ・デコーダ。
【請求項２２】
前記モード判断基準は、つながったオブジェクト・サイズを規定するモード判断しきい値を含む、及び
前記制御モジュールは、現在のフレームについての動きアクティビティ値が前記動きアクティビティしきい値を超えるとき、又は前記現在のフレーム中のつながっている内部コード化されたマクロブロックの数が前記モード判断しきい値を超えるときに、前記ビデオ・フレーム・レート・アップコンバージョン・モジュールを選択的にディスエーブルする、請求項１３のビデオ・デコーダ。
【請求項２３】
前記モード判断基準は、マクロブロック・カウントしきい値及びつながったオブジェクト・サイズしきい値を含む、及び
前記制御モジュールは、現在のフレームについての前記動きアクティビティ値を前記動きアクティビティしきい値と比較して、第１の差異値を生成し、前記現在のフレーム中の内部コード化されたマクロブロックの数を前記モード判断しきい値と比較して、第２の差異値を生成し、前記現在のフレーム中のつながっている内部コード化されたマクロブロックの数を前記つながったオブジェクト・サイズしきい値と比較して、第３の差異値を生成し、前記複数の差異値を重み付けし、前記重み付けされた差異値を合計し、そして、前記重み付けされた差異値の前記合計がしきい値を超えるときには、前記フレーム・レート・アップコンバージョン・モジュールを選択的にディスエーブルする、請求項１３のビデオ・デコーダ。
【請求項２４】
フレーム・レート・アップコンバージョン・モジュールは、前記飛ばされたビデオ・フレームを補間し、
前記動きアクティビティ基準及び前記モード判断基準は、前記ビデオ・フレーム補間が重大なアーティファクトを生成する可能性があるかどうかを示す、請求項１３のビデオ・デコーダ。
【請求項２５】
前記フレーム・レート・アップコンバージョンは、ビデオ・フレーム補間を適用し、
前記動きアクティビティ基準及び前記モード判断基準は、前記ビデオ・フレーム補間が重大なアーティファクトを生成する可能性があるかどうかを示す、請求項１３のビデオ・デコーダ。
【請求項２６】
プロセッサに、
動きアクティビティ基準及びモード判断基準に基づきビデオ・デコーダにおいてビデオ・フレーム・レート・アップコンバージョンを選択的にイネーブルする及びディスエーブルするように；
飛ばされたフレームの近くの少なくとも１つの前のビデオ・フレームの１又はそれより多くの特性に基づいて前記動きアクティビティ基準を適応するように、前記動きアクティビティ基準は動きアクティビティしきい値を含む；
飛ばされたフレームの近くの少なくとも１つの前のビデオ・フレームの前記１又はそれより多くの特性に基づいて前記モード判断基準を適応するように、前記モード判断基準はモード判断しきい値を含む；
前記動きアクティビティ基準及び前記モード判断基準が、前のフレームの内容が大きな動き又は新たな内容を含むことを示すとき、前記ビデオ・フレーム・レート・アップコンバージョンはディスエーブルされ、フレームの繰り返しが適用されるように、；及び
前記動きアクティビティ基準及び前記モード判断基準が、ほとんど動きアクティビティがないことを示すとき、前記ビデオ・フレーム・レート・アップコンバージョンはイネーブルされ、フレームの補間が適用されるように、
させる命令を具備する、コンピュータ読取り可能な媒体。
【請求項２７】
前記命令は、現在のフレームについての動きアクティビティ値が前記動きアクティビティしきい値を超えるときに、前記プロセッサに、ビデオ・フレーム・レート・アップコンバージョンを選択的にディスエーブルするようにさせる、請求項２６のコンピュータ読取り可能な媒体。
【請求項２８】
前記動きアクティビティ値は、前記現在のフレームについての平均動きベクトル値を含む、そしてここにおいて、前記動きアクティビティしきい値は、前記少なくとも１つの前のフレームについての動きベクトル値のヒストグラムから導き出される、請求項２７のコンピュータ読取り可能な媒体。
【請求項２９】
前記命令は、前記プロセッサに、前記少なくとも１つの前のフレームについての前記動きベクトル値に基づいて前記動きアクティビティしきい値を調節するようにさせる、請求項２８のコンピュータ読取り可能な媒体。
【請求項３０】
前記命令は、現在のフレーム中の内部コード化されたマクロブロックの数が前記モード判断しきい値を超えるときに、前記プロセッサに、ビデオ・フレーム・レート・アップコンバージョンを選択的にディスエーブルするようにさせる、請求項２６のコンピュータ読取り可能な媒体。
【請求項３１】
前記命令は、前記プロセッサに、しきい値を超える複数のコーディング・ビットを有する前記前のフレーム中のマクロブロックの数に基づいて前記モード判断しきい値を決定するようにさせる、請求項３０のコンピュータ読取り可能な媒体。
【請求項３２】
前記命令は、前記プロセッサに、少なくとも１つの前のフレーム中のつながったオブジェクトの近似サイズに基づいて前記モード判断しきい値を決定するようにさせる、請求項３０のコンピュータ読取り可能な媒体。
【請求項３３】
前記命令は、フレーム・レート・アップコンバージョンがディスエーブルされるときに、前記プロセッサに、前記飛ばされたフレームの代わりに前記前のフレームを繰り返すようにさせる、請求項２６のコンピュータ読取り可能な媒体。
【請求項３４】
ここにおいて、前記モード判断基準は、マクロブロック・カウントを規定するモード判断しきい値を含む、及び
ここにおいて、前記命令は、現在のフレームについての動きアクティビティ値が前記動きアクティビティしきい値を超えるとき、又は前記現在のフレーム中の内部コード化されたマクロブロックの数が前記モード判断しきい値の前記マクロブロック・カウントを超えるときに、前記プロセッサに、ビデオ・フレーム・レート・アップコンバージョンを選択的にディスエーブルするようにさせる、請求項２６のコンピュータ読取り可能な媒体。
【請求項３５】
ここにおいて、前記モード判断基準は、つながったオブジェクト・サイズを規定するモード判断しきい値を含む、及び
ここにおいて、前記命令は、現在のフレームについての動きアクティビティ値が前記動きアクティビティしきい値を超えるとき、又は前記現在のフレーム中のつながっている内部コード化されたマクロブロックの数が前記つながったオブジェクト・サイズしきい値を超えるときに、前記プロセッサに、ビデオ・フレーム・レート・アップコンバージョンを選択的にディスエーブルするようにさせる、請求項２６のコンピュータ読取り可能な媒体。
【請求項３６】
ここにおいて、前記モード判断基準は、マクロブロック・カウントしきい値及びつながったオブジェクト・サイズしきい値を含む、及び
ここにおいて、前記命令は、前記プロセッサに、
現在のフレームについての前記動きアクティビティ値を前記動きアクティビティしきい値と比較して、第１の差異値を生成するように；
前記現在のフレーム中の内部コード化されたマクロブロックの数を前記モード判断しきい値と比較して、第２の差異値を生成するように；
前記現在のフレーム中のつながっている内部コード化されたマクロブロックの数を前記つながったオブジェクト・サイズしきい値と比較して、第３の差異値を生成するように；
前記複数の差異値を重み付けするように；
前記重み付けされた差異値を合計するように；及び
前記重み付けされた差異値の前記合計がしきい値を超えるときには、ビデオ・フレーム・レート・アップコンバージョンを選択的にディスエーブルするように、させる命令である、請求項２６のコンピュータ読取り可能な媒体。
【請求項３７】
フレーム・レート・アップコンバージョンは、ビデオ・フレーム補間を含み、前記動きアクティビティ基準及び前記モード判断基準は、前記ビデオ・フレーム補間が重大なアーティファクトを生成する可能性があるかどうかを示す、請求項２６のコンピュータ読取り可能な媒体。
【請求項３８】
動きアクティビティ基準及びモード判断基準に基づきビデオ・デコーダにおいてビデオ・フレーム・レート・アップコンバージョンを選択的にイネーブルする及びディスエーブルするための手段；
飛ばされたフレームの近くの少なくとも１つの前のビデオ・フレームの１又はそれより多くの特性に基づいて前記動きアクティビティ基準を適応させるための手段、前記動きアクティビティ基準は動きアクティビティしきい値を含む、
飛ばされたフレームの近くの少なくとも１つの前のビデオ・フレームの前記１又はそれより多くの特性に基づいて前記モード判断基準を適応させるための手段、前記モード判断基準はモード判断しきい値を含む、
前記動きアクティビティ基準及び前記モード判断基準が、前のフレームの内容が大きな動き又は新たな内容を含むことを示すとき、前記ビデオ・フレーム・レート・アップコンバージョンはディスエーブルされ、フレームの繰り返しが適用される手段、及び
前記動きアクティビティ基準及び前記モード判断基準が、ほとんど動きアクティビティがないことを示すとき、前記ビデオ・フレーム・レート・アップコンバージョンはイネーブルされ、フレームの補間が適用される手段、
を具備するビデオ・デコーダ。
【請求項３９】
現在のフレームについての動きアクティビティ値が前記動きアクティビティしきい値を超えるときに、ビデオ・フレーム・レート・アップコンバージョンを選択的にディスエーブルするための手段、をさらに具備する、請求項３８のビデオ・デコーダ。
【請求項４０】
前記動きアクティビティ値は、前記現在のフレームについての平均動きベクトル値を含む、そしてここにおいて、前記動きアクティビティしきい値は、前記少なくとも１つの前のフレームについての動きベクトル値のヒストグラムから導き出される、請求項３９のビデオ・デコーダ。
【請求項４１】
前記動きアクティビティ基準を適応させるための手段は、前記少なくとも１つの前のフレームについての前記動きベクトル値に基づいて前記動きアクティビティしきい値を調節するための手段、を含む、請求項４０のビデオ・デコーダ。
【請求項４２】
現在のフレーム中の内部コード化されたマクロブロックの数が前記モード判断しきい値を超えるときに、ビデオ・フレーム・レート・アップコンバージョンを選択的にディスエーブルするための手段、をさらに具備する、請求項３８のビデオ・デコーダ。
【請求項４３】
しきい値を超える複数のコーディング・ビットを有する前記前のフレーム中のマクロブロックの数に基づいて前記モード判断しきい値を決定するための手段、をさらに具備する、請求項４２のビデオ・デコーダ。
【請求項４４】
少なくとも１つの前のフレーム中のつながったオブジェクトの近似サイズに基づいて前記モード判断しきい値を決定するための手段、をさらに具備する、請求項４２のビデオ・デコーダ。
【請求項４５】
前記フレーム・レート・アップコンバージョンは、ビデオ・フレーム補間を含み、
前記動きアクティビティ基準及び前記モード判断基準は、前記ビデオ・フレーム補間が重大なアーティファクトを生成する可能性があるかどうかを示す、請求項３８のビデオ・デコーダ。
【発明の詳細な説明】
【優先権の主張】
【０００１】
本出願は、米国仮特許出願番号第６０／７９２，１４７号、２００６年４月１３日出願、の優先権を主張し、その全体の内容は、引用により本明細書中に組み込まれている。
【技術分野】
【０００２】
本発明は、ディジタル・ビデオ・エンコーディング及びデコーディングに係わり、特に、ビデオ・フレーム・レート・アップコンバージョンのための技術に関する。
【背景技術】
【０００３】
複数の異なるビデオ・エンコーディング規格が、ディジタル・ビデオ系列をエンコードするために制定されてきている。例えば、動画専門家グループ（ＭＰＥＧ：Moving Picture Expert Group）は、ＭＰＥＧ−１，ＭＰＥＧ−２及びＭＰＥＧ−４を含む複数の規格を開発してきている。別の例は、国際電気通信連合（ＩＴＵ：International Telecommunication Union）−ＴＨ．２６３規格、及び明らかにされてきているＩＴＵ−ＴＨ．２６４規格及びその対応規格、ＩＳＯ／ＩＥＣ  ＭＰＥＧ−４，パート１０、すなわち、先端ビデオ・コーディング（ＡＶＣ：Advanced Video Coding）を含む。これらのビデオ・エンコーディング規格は、圧縮方式でデータをエンコードすることによりビデオ系列の伝送効率の向上をサポートする。
【０００４】
圧縮は、伝送される必要があるデータの全体量を削減する。一般的なディジタル・ビデオ・エンコーディング技術は、連続したビデオ・フレームの類似性、時間的な相関又はフレーム間相関と呼ばれる、を利用して、フレーム間圧縮を提供する。フレーム間圧縮技術は、ビデオ・フレームのピクセル・ベースの表示を動き表示に変換することによってフレーム全体にわたるデータ冗長性を活用する。フレーム間技術を使用してエンコードされたフレームは、Ｐ（“予測（predictive”）フレーム又はＢ（“双方向（bi-directional）”）フレームと呼ばれる。他のフレームは、空間的圧縮を使用して内部コード化される。
【０００５】
低帯域幅要求を満足させるために、ある複数のビデオ・アプリケーションは、フレーム・スキッピングを使用して低減したフレーム・レートでビデオをエンコードする。不幸にして、低フレーム・レート・ビデオは、ぎくしゃくした動きの形でアーティファクト（artifact）を生成することがある。フレーム内挿又は外挿は、デコーダ側で利用されることができて、飛ばされたフレームの内容を近似し、そして実質的に、実際のフレーム・レートをアップコンバートしてより滑らかな動きの認知を提供する。フレーム内挿又は外挿は、フレーム・レート・アップコンバージョン（ＦＲＵＣ：frame rate up  conversion）をサポートするために使用されることができる。ＦＲＵＣが飛ばされたフレームを内挿すること又は外挿することによって時間的な品質を向上させるとは言え、ある複数のフレームの内挿又は外挿は、望ましくない空間的アーティファクトを同様に導入することがあり、それはビデオ系列の視覚的な品質を害する。
【発明の概要】
【０００６】
本明細書は、ビデオ・デコーダにおいてＦＲＵＣを選択にイネーブルするため及びディスエーブルするための技術に向けられている。本明細書にしたがえば、ビデオ・デコーダは、１又はそれより多くの適応基準に基づいてＦＲＵＣを選択的にイネーブルする及びディスエーブルする。適応基準は、特定のフレームの内挿又は外挿が重大な空間的アーティファクトを導入する可能性があるかどうかを示すために選択されることができる。フレーム内挿又は外挿技術は、ＦＲＵＣ方式の一部として使用されることができ、ビデオ系列の時間的品質を向上させる。ＦＲＵＣがディスエーブルされるとき、デコーダは、フレーム繰返し、すなわち、飛ばされたフレームの代わりに前のフレームの繰返し、を適用することができる。
【０００７】
ＦＲＵＣを選択的にイネーブルするための適応基準は、動きアクティビティしきい値、モード判断しきい値、又は両者を含むことができる。それぞれのケースにおいて、適切な基準は、固定というよりはむしろ適応性がある。特に、その基準は、飛ばされたフレームの近くの１又はそれより多くのフレームの内容に適応できることがある。前のフレームの内容が大きな動き又は新たな内容を含むことを、その基準が示すときには、ビデオ・デコーダは、ＦＲＵＣを一時的にディスエーブルする。それゆえ、適応基準に基づいて、ビデオ・デコーダは、ＦＲＵＣ又はフレーム繰返しのいずれかを選択する。
【０００８】
１つの実施形態では、本明細書は、１又はそれより多くの基準に基づきビデオ・デコーダにおいてビデオ・フレーム・レート・アップコンバージョンを選択的にイネーブルすること及びディスエーブルすること；及び飛ばされたフレームの近くの少なくとも１つの前のビデオ・フレームの１又はそれより多くの特性に基づいて該基準を適応させること、を具備する方法を提供する。
【０００９】
別の１つの実施形態では、本明細書は、フレーム・レート・アップコンバージョン・モジュール；及び１又はそれより多くの基準に基づき該フレーム・レート・アップコンバージョン・モジュールを選択的にイネーブルし及びディスエーブルし、そして飛ばされたフレームの近くの少なくとも１つの前のビデオ・フレームの１又はそれより多くの特性に基づいて該基準を適応させる、制御モジュールを具備するビデオ・デコーダを提供する。
【００１０】
本明細書中に記載される技術は、ハードウェア、ソフトウェア、ファームウェア、及びこれらの任意の組み合わせで実行されることができる。ソフトウェアで実行される場合に、ソフトウェアは、プロセッサ、例えば、ディジタル信号プロセッサ（ＤＳＰ：digital signal processor）、において実行されることができる。本技術を実行するソフトウェアは、コンピュータ読取り可能な媒体中に最初に記憶されることができ、そしてプロセッサにロードされ、実行されることができる。したがって、本発明は、プロセッサに、適応ビデオ・フレーム補間のための技術を実行するようにさせる命令を具備するコンピュータ読取り可能な媒体をも同様に想定する。
【００１１】
本発明の１又はそれより多くの実施形態の詳細は、添付された図面及び以下の説明に記載される。本発明のその他の特徴、目的及び利点は、詳細な説明及び図面から、そして特許請求の範囲から明らかなるであろう。
【図面の簡単な説明】
【００１２】
【図１】本明細書にしたがった選択的ＦＲＵＣ技術を使用するように構成されたビデオ・エンコーディング及びデコーディング・システムを説明するブロック図である。
【図２】ビデオ・デコーダにおいてＦＲＵＣ技術をサポートするために飛ばされたフレームの補間のための簡単な技術の一例を説明する図である。
【図３】図１のビデオ・デコーダをより詳細に説明するブロック図である。
【図４】図３のＦＲＵＣ失敗予測（ＦＦＰ）モジュールをさらに詳細に説明するブロック図である。
【図５】具体例の技術を説明するフローチャートであり、そこではビデオ・デコーダはＦＲＵＣをイネーブルするか又はディスエーブルするかどうかに適応するように判断する。
【図６】別の１つの具体例の技術を説明するフローチャートであり、そこではビデオ・デコーダはＦＲＵＣをイネーブルするか又はディスエーブルするかどうかに適応するように判断する。
【図７Ａ】前のフレームのマクロブロック（ＭＢ）の具体例の分布と付随する動きベクトル（ＭＶ）ヒストグラムとを説明するグラフである。
【図７Ｂ】前のフレームのマクロブロック（ＭＢ）の具体例の分布と付随する動きベクトル（ＭＶ）ヒストグラムとを説明するグラフである。
【図７Ｃ】前のフレームのマクロブロック（ＭＢ）の具体例の分布と付随する動きベクトル（ＭＶ）ヒストグラムとを説明するグラフである。
【図７Ｄ】前のフレームのマクロブロック（ＭＢ）の具体例の分布と付随する動きベクトル（ＭＶ）ヒストグラムとを説明するグラフである。
【図８Ａ】マクロブロック（ＭＢ）へと分割されたビデオ・フレームを説明する。
【図８Ｂ】動きアクティビティの解析における使用のために図８Ａのビデオ・フレーム中のＭＢのそれぞれに割り当てられるコーディング・ビットの数を示しているマップである。
【図９】動きアクティビティの解析における使用のためにビデオ・フレーム中のつながったオブジェクトの近似サイズの決定を説明するマップである。
【発明を実施するための形態】
【００１３】
図１は、ＦＲＵＣが１又はそれより多くの適応基準に基づいて選択的にイネーブルされる又はディスエーブルされる選択的ＦＲＵＣ技術を使用するように構成されたビデオ・エンコーディング及びデコーディング・システム１０を説明するブロック図である。図１に示されるように、システム１０は、送信チャネル１５により接続されたビデオ・エンコーダ１２とビデオ・デコーダ１４とを含む。送信チャネル１５は、ビットストリーム内のフレームを搬送することが可能な有線媒体ケーブル又は無線媒体ケーブルであり得る。チャネル１５は、双方向又は一方向ビデオ送信をサポートすることができる。
【００１４】
システム１０は、テレビ電話法、ビデオ・ストリーミング又はビデオ・ブロードキャスティングのために構成されることができる。したがって、相互のエンコーディング、デコーディング、多重化（ＭＵＸ：multiplexing）及び逆多重化（ＤＭＵＸ：demultiplexing）構成素子は、チャネル１５の反対側の端に与えられることができる。ある複数の実施形態では、エンコーダ１２とデコーダ１４は、ビデオ通信デバイス、例えば、ビデオ・ストリーミング、ビデオ・ブロードキャストの受信、及び／又はテレビ電話法、例えば、いわゆる無線テレビ電話、又はカメラ電話、のために装備された無線移動端末、の内部に組み込まれることができる。
【００１５】
システム１０は、セッション・イニシエーデッド・プロトコル（ＳＩＰ：Session Initiated Protocol）、ＩＴＵ−ＴＨ．３２３規格、ＩＴＵ−ＴＨ．３２４規格、又はその他の規格にしたがってテレビ電話法をサポートすることができる。ビデオ・エンコーダ１２は、ビデオ圧縮規格、例えば、ＭＰＥＧ−２，ＭＰＥＧ−４，ＩＴＵ−ＴＨ．２６３，ＩＴＵ−ＴＨ．２６４，又はＭＰＥＧ−４，パート１０、にしたがってエンコードされたビデオ・データを生成する。図１には示されていないが、ビデオ・エンコーダ１２とビデオ・デコーダ１４は、それぞれオーディオ・エンコーダ及びデコーダとともに統合されることができ、そしてデータ・ストリームのオーディオ部分とビデオ部分との両方を取り扱うために適切なハードウェア構成要素とソフトウェア構成要素とを含むことができる。
【００１６】
エンコーダ１２は、ビデオ・フレーム１６をエンコードし、そのフレームは内部フレーム（Ｉフレーム）、予測フレーム（Ｐフレーム）、及び双方向予測フレーム（Ｂフレーム）を含むことができる。Ｉフレームは、空間コーディング技術を使用して全てのビデオ情報を完全にエンコードするフレームである。エンコードされたフレームは、フレームを形成する一連のビデオ・ブロックを記述する情報を備えることができる。そのビデオ・ブロックは、時にはマクロブロック（ＭＢ）と呼ばれ、例えば、ルミナンス（Ｙ）色チャネル、クロミナンス赤（Ｃｒ）色チャネル、及びクロミナンス青（Ｃｂ）色チャネルで、ピクセル値を定めるコーディング・ビットを含む。
【００１７】
エンコーダ１２は、送信チャネル１５を経由して送信されるデータのフレーム・レートを削減するためにフレーム・スキッピングを実行することができる。特に、エンコーダ１２は、例えば、選択されたフレームをコーディングしないことにより、又は選択されたコード化済みフレームを送信しないことにより、選択されたフレームを意図的に飛ばすように構成されることができる。フレーム・スキッピングは、エンコーダ１２がチャネル１５の送信レート要求の削減にしたがうことを可能にする。フレームは、固定レートで飛ばされることができ、その結果、スキッピングが一つ置きのフレームで生じる、又はｎ番目のフレーム毎に生じる。あるいは、フレームは、例えば、インテリジェント・フレーム・スキッピング基準に基づいて、変化するレートで飛ばされることができる。いずれのケースでも、実効フレーム・レートを増加させるために、そしてそれにより時間的品質を向上させるために、デコーダ１４は、ＦＲＵＣプロセスを実行して、ビデオ・フレーム内挿又は外挿のいずれかを使用して飛ばされたフレームの少なくともあるものを近似する。ＦＲＵＣプロセスがビデオ・フレーム外挿を使用できるとは言え、ビデオ・フレーム内挿（補間）が、一般に、説明の目的のために本明細書で説明される。
【００１８】
ＦＲＵＣは、デコーダ１４によって使用されることができ、飛ばされたフレームを置き換える。それに加えて、ある複数のインプリメンテーションでは、ＦＲＵＣは、送信の間に欠落したフレーム又は失われたフレームのために使用されることができる。エンコーダ１２によって飛ばされたフレーム若しくは送信の間に欠落した又は失われたフレームは、一般に本明細書では飛ばされたフレームとして呼ばれる。ＦＲＵＣプロセスが飛ばされたフレームを内挿すること又は外挿することによって時間的品質を向上させることができるが、そのような技術は、望ましくない空間的アーティファクトを導入することがあり、それはビデオ系列の本来的な視覚品質を害することがある。デコーダ１４は、本明細書にしたがって、飛ばされたビデオ・フレームにＦＲＵＣの選択的な適用のための技術を適用する。本明細書にしたがって、デコーダ１４は、１又はそれより多くの適応基準に基づいてＦＲＵＣを選択的にイネーブルする、及びディスエーブルする、その基準は、ＦＲＵＣが重大な空間的アーティファクトを導入する可能性があるかどうかを示す。
【００１９】
一般に、ＦＲＵＣを選択的にイネーブルすること及びディスエーブルすることのためにデコーダ１４により適用される適応基準は、動きアクティビティしきい値、モード判断しきい値、又は両者を含むことができる。それぞれのケースにおいて、適切な基準は、飛ばされたフレームの近くの、例えば、補間されようとしているフレームの近くの、１又はそれより多くのフレーム内容に適応しそして適合する。例えば、前のフレームの内容が過剰な動き又は新たな内容を含むことをその基準が示すときには、デコーダ１４は、ＦＲＵＣを一時的にディスエーブルする。その基準がほとんど動きアクティビティがないことを示すときには、デコーダ１４は、ＦＲＵＣをイネーブルする。
【００２０】
ＦＲＵＣがディスエーブルされるときには、デコーダ１４は、フレーム繰返し、すなわち、飛ばされたフレームの代わりに前のフレームの繰返し、を作動させる。このケースでは、デコーダ１４は、例えば、補間に起因して、ＦＲＵＣにより導入されることがある、望ましくない空間的アーティファクトを防止する。しかしながら、フレーム繰返しは、ビデオの認識される時間的品質を低下させる。これゆえ、適応基準は、デコーダ１４がフレーム内挿（又は外挿）又はフレーム繰返しのいずれかを選択的に適用することによって時間的な品質に対して空間的な品質をバランスさせることを可能にする。
【００２１】
図１の例では、ビデオ・エンコーダ１２は、ビデオ情報の着信フレームＦ１，Ｆ２，Ｆ３を処理するために構成されたフレーム処理ユニット２０を含む。フレーム処理ユニット２０は、着信フレームＦ１とＦ３を上記のＩ，Ｐ又はＢフレーム１６のうちの１つとしてエンコードする。Ｆ２は、飛ばされようとしているフレームを表す。ビデオ・エンコーダ１２は、送信チャネル１５を介してビデオ・デコーダ１４へ、処理されたフレームＦ１とＦ３を含むが、飛ばされたフレームＦ２を含まないフレーム１６を送信する。一般的に、エンコーダ１２は、ＩＢＢＰＢＢＰＢＢＰＢＢＩのような、事前に決められた系列でこれらのフレームを送信する、ここで、Ｉ，ＢそしてＰは、それぞれＩフレーム、Ｂフレーム、そしてＰフレームを指す。
【００２２】
フレームＦ１，Ｆ２，Ｆ３は、複数のフレームを含んでいるビデオ系列中の３つのフレームを表し、そして２つの送信されたフレームの間に存在する飛ばされたフレームＦ２（Ｆ１，Ｆ２，Ｆ３）の補間（内挿）を説明するために使用される。ある複数の実施形態では、複数のフレームが飛ばされることがあり、そのケースでは、２つの送信されたフレームの間に存在する１より多くのフレームが補間を必要とすることがある。説明を容易にするために、本明細書は、１つのフレームＦ２が飛ばされそして選択的に補間されるケースの例を言及する。
【００２３】
ビデオ・デコーダ１４は、送信チャネル１５を介して送信されたフレーム１６を連続的に受信する。ビデオ・デコーダ１４は、例えば、ＭＰＥＧ−１，ＭＰＥＧ−２，ＭＰＥＧ−４，Ｈ．２６３，Ｈ．２６４，ＭＰＥＧ−４，パート１０規格のうちの１つにしたがって、受信したフレーム１６（Ｆ１とＦ３）のそれぞれをデコードするために標準デコーディング技術を適用することができる。本明細書にしたがって、デコーダ１４は、選択的ＦＲＵＣモジュール２４をさらに含み、それは飛ばされたフレームＦ２を選択的に補間するためにフレーム１６に適用する。再び、ＦＲＵＣプロセスがフレーム外挿を使用することができるけれども、フレーム内挿が例の目的ために本明細書では説明される。
【００２４】
選択的ＦＲＵＣモジュール２４は、ビデオ系列で連続するフレームを受け取る。補間されようとしている各飛ばされたフレーム（Ｆ２）に対して、前のフレーム（Ｆ１）と現在のフレーム（Ｆ３）とがある。補間されようとしているフレームは、前のフレームと現在のフレームとの間に存在する。補間は、様々な技術、例えば、動き補償された補間（ＭＣＩ：motion-compensated interpolation）、一次補間、双一次補間、双三次補間、スプライン補間、最近接補間、又はその他、のうちのいずれかにより実行されることができる。選択的ＦＲＵＣモジュール２４は、受け取ったフレームが過剰な量の動き又は新たな内容を含んでいるかどうかを、適応基準、例えば、適応動きアクティビティしきい値、適応モード判断しきい値、又は両者、を使用して判断する。
【００２５】
前のフレームＦ１と現在のフレームＦ３とが過剰な動き又は新たな内容を示す場合には、飛ばされたフレームＦ２は、補間のために良くない候補と考えられる。特に、過剰な動きアクティビティ又は新たな内容は、補間が望ましくない空間的アーティファクトを生成するという実質的な可能性を示す。望ましくない空間的アーティファクトのもっともらしい生成は、ＦＲＵＣに対する補間の適用が望ましくない結果を生成するはずであるという観点でＦＲＵＣ失敗として呼ばれることがある。これゆえ、選択的ＦＲＵＣモジュール２４は、補間をイネーブルするかディスエーブルするかどうかを判断する際に、ＦＲＵＣ失敗予測（ＦＦＰ：FRUC failure prediction）を頼りにする。
【００２６】
選択的ＦＲＵＣモジュール２４は、動きアクティビティしきい値、モード判断しきい値、又は両者に基づいてＦＲＵＣ失敗を予測する。特に、そのようなしきい値は、一定ではない。その代りに、しきい値は、フレーム系列のあいだ中ビデオ・フレーム内容に動的に適応される。ＦＲＵＣ失敗が予測されるとき、前のフレームからの情報に基づいて、選択的ＦＲＵＣモジュール２４は、補間をディスエーブルする。補間がディスエーブルされるときには、デコーダ１４は、その前のフレームと現在のフレームとの間でフレームを補間することの代わりに、単純に前のフレームを繰り返すことができる。このケースでは、デコーダ１４は、飛ばされたフレームの代わりに前のフレームの複写された版を使用する。
【００２７】
選択的なＦＲＵＣは、補間されたフレームが顕著な空間的アーティファクトを生成するという可能性を低減する。逆に、選択的なＦＲＵＣは、飛ばされたフレームの補間が許容可能な視覚的な結果を生成する見込みがあるときには、前のフレームの繰返しを避ける。そのように、自由裁量の判断又は経験的な判断に基づく固定のしきい値に依存する技術とは異なり、本明細書に記載される技術は、それによってデコーダ１４は補間されたときに空間的アーティファクトの高い可能性を有するそれらのフレームを繰り返すことができる、エラーに強くそして内容に基づいた選択的技術を提供する。
【００２８】
図２は、ビデオ・デコーダ１４においてＦＲＵＣ技術をサポートするための飛ばされたフレームの補間のための簡単な技術の一例を説明する図である。一般に、前のフレームＦ１と現在のフレームＦ３との間の飛ばされたフレームＦ２中のＭＢを補間するために、ビデオ・デコーダ１４は、フレームＦ１中のＭＢ２５とフレームＦ３中の対応するブロック２７との間に延びるベクトルｖ１３を頼りにすることができる。フレームＦ１とＦ３は、補間を必要とする飛ばされたフレームＦ２の、それぞれ時間的に前の（ｔ−１）及び次の（ｔ＋１）フレームである。ベクトルｖ１３は、一般に（１：２フレーム・レート変換のために）２つに分割され、動きベクトルｖ１３／２と−ｖ１３／２を生成し、そして飛ばされたフレームＦ２中の対応するＭＢ２９を同定する。１：Ｎ変換のために、動きベクトルは、それにしたがってスケーリングされるはずである。
【００２９】
図３は、図１のビデオ・デコーダ１４をより詳細に説明するブロック図である。図３に示されるように、ビデオ・デコーダ１４は、選択的ＦＲＵＣモジュール２４を含む。選択的ＦＲＵＣモジュール２４は、ＦＲＵＣ失敗予測（ＦＦＰ）モジュール２６及びＦＲＵＣモジュール２８を含む。図２の例では、ＦＦＰモジュール２６は、ＦＲＵＣモジュール２８のための制御モジュールを形成し、そして動きアクティビティ解析モジュール３０及び内部マクロブロック（ＭＢ）解析モジュール３２を含む。別の実施形態では、ＦＦＰモジュール２６は、動きアクティビティ解析モジュール３０だけ、内部ＭＢ解析モジュール３２だけ、又は動きアクティビティ解析モジュール３０と内部ＭＢ解析モジュール３２との両者を含むことができる。
【００３０】
動きアクティビティ解析モジュール３０は、現在のフレームＦ３と前のフレームＦ１についての動きアクティビティ情報を解析して、前のフレームと現在のフレームとの間の飛ばされたフレームＦ２が補間されるべきであるかどうかを判断する。内部ＭＢ解析モジュール３２は、モード判断しきい値に対して現在のフレーム中の内部コード化されたＭＢビットを解析して、飛ばされたフレームが補間されるべきであるかどうかを判断する。ＦＦＰモジュール２６は、動きアクティビティ解析モジュール３０と内部ＭＢ解析モジュール３２を別々に又は組み合わせで利用することができて、例えば、内挿又は外挿により、ＦＲＵＣプロセスを使用して再生する代わりに繰り返されるべきフレームを同定する。ＦＲＵＣモジュール２８は、ＦＲＵＣプロセスをサポートするために従来の補間技術を適用することができ、ＦＦＰモジュール２６に応じて選択的にイネーブルすること又はディスエーブルすることを行わせ、それはＦＲＵＣモジュールに対する制御モジュールとして機能する。
【００３１】
ＦＦＰモジュール２６は、動きアクティビティ解析モジュール３０を使用して、過剰な動き又は新たな内容の指標である動きアクティビティしきい値を適応するように（adaptively）決定する。新たな内容は、新たなオブジェクトを指すことができ、それは一連のビデオ・フレームにわたりあるビデオ・シーンを迅速に挿入する又は取り去る。動きアクティビティ解析モジュール３０は、フレームの系列中の前のビデオ・フレームを受け取りそして解析し、そして動きアクティビティ値を生成する。ある複数の実施形態では、動きアクティビティ値は、動きベクトル・ヒストグラムから得られる動きベクトル値であり得る。前のビデオ・フレームは、飛ばされたフレームの直前のフレーム、又は飛ばされたフレームの近くの１又はそれより多くの前のフレームであり得る。動きベクトル・ヒストグラムは、前のビデオ・フレーム中の複数のＭＢの間の動きベクトルの分布を示し、そして例えば、そのフレーム中の全てのＭＢ全体にわたる平均又は中間値動きベクトル値の観点から、前のビデオ・フレームの内容の動きアクティビティを特徴づけるために使用されることができる。
【００３２】
前のフレームについての、又は動きベクトルが利用可能である最も近い過去のフレームについての動きベクトル・ヒストグラムを使用して、動きアクティビティ解析モジュール３０は、動きアクティビティしきい値を適応するように調節する。動きアクティビティしきい値は、ヒストグラムの全体の範囲から選択されることができる。例えば、動きアクティビティ解析モジュール３０は、前のフレームについての平均又は中間値動きベクトルと差異値の総和として動きアクティビティしきい値を設定することができる。このようにして、動きアクティビティしきい値は、各新たなフレームが受信されると適応するように更新される。特に、動きアクティビティ解析モジュール３０がビデオ系列中の追加のフレームを受信するので、新たな“前の”フレームを受信し、そしてそのフレームについての平均動きベクトルに基づいて動きアクティビティしきい値を更新する。これゆえ、ビデオ系列が進行するにつれ、飛ばされたフレームの補間は、飛ばされたフレームに関係する新たな前のフレーム及び現在のフレームと相関関係がある。
【００３３】
動きアクティビティ解析モジュール３０は、前のフレームが、複数のビデオ・ブロック（マクロブロック（ＭＢ）と呼ばれることがある）を記述する情報を含むことを一般に要求し、そこでは、各ＭＢが動きベクトル情報を含む。したがって、動きアクティビティ解析モジュール３０は、一般的に、ビデオ系列のＰフレームに対して使用されることができる。Ｐフレームは、付随する動きベクトルを有する相互コード化されたＭＢの優位性を一般に含む。利用可能な動きベクトル情報から、動きアクティビティ解析モジュール３０は、動きベクトル・ヒストグラムを計算する。この例では、動きベクトル・ヒストグラムに基づいて、動きアクティビティ解析モジュール３０は、動きアクティビティしきい値を適応するように決定する。
【００３４】
動きアクティビティ解析モジュール３０は、現在のビデオ・フレームについての動きベクトル情報を現在の“前の”フレームに基づいて調節された動きアクティビティしきい値と比較して、ＦＲＵＣがイネーブルされるべきであるかどうか、そしてそれゆえ、あるフレームが補間されるべきであるかどうかを、判断する。現在のフレームについての動きアクティビティ情報、例えば、平均動きベクトル、が、動きアクティビティしきい値を超え、過剰な動き又は新たな内容を示している場合には、ＦＦＰモジュール２６は、ＦＲＵＣモジュール２８による補間をディスエーブルする。このケースでは、デコーダ１４は、前のフレームを繰り返す。あるいは、動きアクティビティ情報が動きアクティビティしきい値を超えない場合には、ＦＦＰモジュール２６は、ＦＲＵＣモジュール２８をイネーブルして、補間を適用する。
【００３５】
ある複数の実施形態では、動きアクティビティ解析モジュール３０は、ビデオ・フレームのＸ（水平）方向とＹ（垂直）方向との両方で動きベクトル情報を解析するように動作することができる。現在のフレームのＸ方向の平均動きベクトル値がＸ方向に対する適応動きアクティビティしきい値を超える場合には、ＦＦＰモジュール２６は、補間をディスエーブルする。同様に、現在のフレームのＹ方向の平均動きベクトル値がＹ方向に対する適応動きアクティビティしきい値を超える場合には、ＦＦＰモジュール２６は、補間をディスエーブルする。代案として、角度情報がベクトル強度及びベクトル方向の両者を評価するために使用されることができる。より高度な適応しきい値ストラトジー（strategy）は、同様に使用されることが可能である。例えば、スライディングＭＢウィンドウは、動きベクトル・ヒストグラムを定式化するために使用されることができる。
【００３６】
あるいは、又はそれに加えて、ＦＦＰモジュール２６は、内部ＭＢ解析モジュール３２を使用することができ、フレームが補間されるべきであるかどうかを適応するように判断する。内部ＭＢ解析モジュール３２は、現在のフレームのモード判断情報を使用する。内部ＭＢは、動き推定が失敗したときに、又はＭＢを相互コード化するよりはむしろＭＢを内部コード化することがより経済的（すなわち、少ないコーディング・ビット）であるときに、使用される。両方のケースにおいて、フレーム中に内部ＭＢの存在が重要な新たな内容又は動きの指標であると仮定することは、妥当である。一般に、内部ＭＢ解析モジュール２８は、現在のフレーム中の内部ＭＢの数を適応モード判断しきい値と比較して、飛ばされたフレームが補間されるべきであるかどうかを判断する。モード判断しきい値は、これから説明されるように、２つの異なる技術のいずれか一方又は両方を使用して決定されることができる。
【００３７】
１つの技術にしたがって、内部ＭＢ解析モジュール３２は、ビットストリーム・レベルで現在のフレーム中の内部ＭＢカウントにしたがってモード判断しきい値を適応するように調節する。特に、内部ＭＢ解析モジュール３２は、前のフレームに関する中間値から１標準偏差を超える複数のＭＢビットを有する前のフレーム中のＭＢを数えるために、フレームの系列の前のフレームを受け取りそして解析する。あるＭＢが１標準偏差を超える複数のＭＢビットを有する場合に、別のＭＢと比較して、ＭＢの内部コーディング又は大きな動きが、推論されることができる。前のフレーム中の内部コード化されたＭＢの数は、一般に前のフレーム中の動き又は変化の程度を示す。同様に、ＭＢビットの大きな数は、前のフレームからのより大きな変化の領域を意味する。
【００３８】
このＭＢ情報から、内部ＭＢ解析モジュール３２は、モード判断しきい値を適応するように決定する。特に、内部ＭＢ解析モジュール３２は、前のフレーム中で内部ＭＢとして計数されたＭＢの数と差異値との合計としてモード判断しきい値を設定することができる。現在のフレーム中の内部ＭＢの数がモード判断しきい値よりも大きい場合には、前のフレームと現在のフレームとの間に実質的な動き又は変化がある。このケースでは、ＦＦＰモジュール２６は、ＦＲＵＣモジュール２８をディスエーブルし、そしてビデオ・デコーダ１４は、飛ばされたフレームを補間する代わりに前のフレームを繰り返す。特に、内部ＭＢビットの解析は、モード判断しきい値がビットストリーム・レベル情報を使用して得られることを可能にする。
【００３９】
あるいは、又はそれに加えて、内部ＭＢ解析モジュール３２は、前のフレーム中のおおよそのつながったオブジェクト・サイズを推定することによって内部ＭＢカウントに対するモード判断しきい値を使用することができる。このアプローチは、前にデコードされたフレームの強度情報を頼りにし、そしてそのフレーム内の主要なオブジェクトのサイズを予測する。それゆえ、モード判断しきい値は、フレーム中のつながったオブジェクト・サイズ、フレーム中の内部ＭＢの数、又は両方に基づくことができる。強度情報を使用して、内部ＭＢ解析モジュール３２は、前のフレーム中の主要なオブジェクトによってカバーされるＭＢの数を推定し、そしてそのモード判断しきい値を推定値に、又は推定値プラス差異値に等しく設定する。特に、強度情報は、つながったオブジェクトの指標である強度の実質的に共通の範囲を共有するＭＢを同定するために使用される。
【００４０】
現在のフレーム中のつながった内部ＭＢの数は、モード判断しきい値と比較されることができ、飛ばされたフレームの補間がイネーブルされるべきか又はディスエーブルされるべきかどうかを判断する。現在のフレーム中の内部ＭＢカウントがこのモード判断しきい値、すなわち、前のフレーム中の主要なオブジェクトによりカバーされるＭＢの推定された数、を超える場合には、そのオブジェクトが実質的に動いた、又は新たなオブジェクトが導入された可能性がある。このケースでは、ＦＦＰモジュール２６は、ＦＲＵＣモジュール２８をディスエーブルする。このようにして、ＦＦＰモジュール２６は、制御モジュールとして動作し、その場面の突然の動き又はそれへの新たなオブジェクトの導入のいずれかのために内部ＭＢの過大な個数を含んでいるフレームに対するＦＲＵＣをディスエーブルする。
【００４１】
上記の２つの異なるモード判断しきい値技術、すなわち、内部ＭＢカウント及びつながったオブジェクト・サイズ、は、単独で、又は互いに組み合わせられて使用されることができ、補間を選択的にイネーブルする及びディスエーブルする。同様に、上記の動きアクティビティしきい値技術は、単独で若しくは１つ又は両方のモード判断しきい値との組み合わせで使用されることができる。モード判断しきい値技術に関して、適応しきい値は、前のフレーム中で内部コード化されたとして同定されるＭＢの数と相関関係がある。動きアクティビティしきい値技術に関して、適応しきい値は、前のフレーム中の動きベクトル情報と相関関係がある。それぞれのケースにおいて、適応しきい値の使用は、フレーム補間及びフレーム繰返しのより効率的な適用をサポートして、時間的品質と空間的品質の両方を向上させる。動きアクティビティしきい値とモード判断しきい値の決定と使用のさらなる議論が、図４を参照してこの後に続く。
【００４２】
図４は、図２のＦＦＰモジュール２６をさらに詳細に説明するブロック図である。図４に示されるように、ＦＦＰモジュール２６の動きアクティビティ解析モジュール３０は、前のフレーム３４Ａと現在のフレーム３４Ｂとを処理する。ＦＦＰモジュール２６の内部ＭＢ解析モジュール３２は、しかも、前のフレーム３４Ａと現在のフレーム３４Ｂとを処理する。前のフレーム３４Ａと現在のフレーム３４Ｂは、図１と図２においてＦ１とＦ２でそれぞれ記されたフレームをそれぞれ備えることができ、それらはビデオ・エンコーダ１２によってエンコードされ、そしてビデオ・デコーダ１４に送信チャネル１５を介して送信される。以下に説明される動作は、ＦＦＰモジュール２６がフレーム３４Ａ、３４Ｂを受け取った後で進むことができ、そしてこれらの動作をサポートする命令を実行することが可能なプロセッサによって実行されることができる。
【００４３】
フレーム３４Ａ，３４Ｂを受け取ると、動きアクティビティ解析モジュール３０は、前のフレーム３４Ａを解析することができ、動きベクトル（ＭＶ）ヒストグラム３８（“ＭＶヒストグラム３８”）を計算することができる、それは下記の図７Ｂと図７Ｄにさらに詳細に示される。特に、動きアクティビティ解析モジュール３０は、前のフレーム３４Ａ内部の各ＭＢを解析しそしてＭＶヒストグラムを生成するためにそれぞれのＭＶをコンパイルすることによって、ＭＶヒストグラム３８を決定する。ＭＶヒストグラム３８から、動きアクティビティ解析モジュール３０は、様々な方法のうちの１つで動きベクトル（ＭＶ）しきい値４０Ａ（“ＭＶ＿ｐｒｅｖしきい値４０Ａ”）を適応するように決定する。
【００４４】
ある複数の実施形態では、動きアクティビティ解析モジュール３０は、ＭＶヒストグラム３８から中間値又は平均動きベクトルを決定し、そしてこの中間値又は平均動きベクトル＋差異値にＭＶ＿ｐｒｅｖしきい値４０Ａを設定する。別の実施形態では、動きアクティビティ解析モジュール３０は、ＭＶヒストグラム３８を計算するために移動ＭＢウィンドウを使用するより高度なステラテジー（strategy）を使用する、そこでは、これらの高度なストラテジーを使用して計算された値にしたがってＭＶ＿ｐｒｅｖしきい値４０Ａを設定する。それぞれのケースにおいて、値ＭＶ＿ｐｒｅｖしきい値４０Ａは、ビデオ系列が処理されるにつれてそれぞれの新たな“前の”フレームへの適応性がある。
【００４５】
ＭＶ＿ｐｒｅｖしきい値４０Ａを適応するように決定した後で、動きアクティビティ解析モジュール３０は、現在のフレーム３４Ｂを解析し、ＭＶ＿ｐｒｅｖが中間値又は平均動きベクトルに設定されることを仮定して、平均動きベクトル（ＭＶａｖｇ）４２を決定する。特に、動きアクティビティ解析モジュール３０は、現在のフレーム３４ＢのＭＢについてのＭＶを示している現在のフレーム３４Ｂにより搬送される情報からＭＶａｖｇ４２を決定する。動きアクティビティ解析モジュール３０は、ＭＶａｖｇ４２をＭＶ＿ｐｒｅｖしきい値４０Ａと比較する。
【００４６】
ＭＶａｖｇ４２がＭＶ＿ｐｒｅｖしきい値４０Ａを超える場合には、それは、前のフレーム３４Ａに比して現在のフレーム３４Ｂの動きアクティビティの著しい変化のためであり得る。これゆえ、前のフレーム３４Ａと現在のフレーム３４Ｂとの間を補間することは、望ましくない空間的アーティファクトに導くはずであり、そして最適なストラテジーは、ＦＲＵＣよりはむしろフレーム繰返しであるはずである。このケースでは、ＦＲＵＣモジュール２８が飛ばされたフレームを内挿する又は外挿する従来のＦＲＵＣ技術を実行すべきではなく、その代わりに前のフレーム３４Ａを繰り返すことを、動きアクティビティ解析モジュール３０は、ＦＦＰモジュール２６に指示する。
【００４７】
同様に、フレーム３４Ａ，３４Ｂを受け取ると、内部ＭＢ解析モジュール３２は、前のフレーム３４Ａを解析して、前の内部ＭＢカウントしきい値（Ｎ＿ｐｒｅｖ）４０Ｂを決定することができる。特に、内部ＭＢ解析モジュール３２は、そのフレーム中の全てのＭＢに関する中間値から１標準偏差を超えるコーディング・ビットの数を有するＭＢの数に基づいて前のフレームについての内部ＭＢカウントしきい値を生成することができる。前のＭＢカウントしきい値４０Ｂは、それゆえ、前のフレーム中の内部コード化されたＭＢの推定された数の指標を与え、それは前のフレーム中の動きアクティビティの程度に相互に関係する。前のＭＶカウントしきい値（Ｎ＿ｐｒｅｖ）は、前のフレームに関する中間値から１標準偏差を超えるビットを有するＭＢの数に等しい、又はその数プラス差異値に等しいことがある。
【００４８】
前のＭＢカウントしきい値４０Ｂを適応するように決定した後で、内部ＭＢ解析モジュール３２は、現在のフレーム３４Ｂを解析して、内部ＭＢカウント（Ｎｉｎｔｒａ）４４、すなわち、現在のフレーム中の内部コード化されたＭＢの数、を決定する。特に、内部ＭＢ解析モジュール３２は、前のフレームについての前のＭＢカウントしきい値４０Ｂを決定することを参照して上に論じた方法で実質的に、現在のフレームについての内部ＭＢカウント４４を決定することができる。次に、内部ＭＢ解析モジュール３２は、前のフレームについての前の内部ＭＢカウントしきい値４０Ｂを現在のフレームについての内部ＭＢカウント４４と比較する。もし、現在のフレーム中の内部ＭＢの数、すなわち、内部ＭＢカウント４４、が前のＭＢカウントしきい値Ｎ＿ｐｒｅｖ４０Ｂを超える場合には、前のフレーム３４Ａから現在のフレーム３４Ｂへの著しい変化がある。このケースでは、内部ＭＢ解析モジュール３２は、ＦＲＵＣモジュール２８をディスエーブルし、その結果、それは飛ばされたフレームを補間しない。その代りに、デコーダ１４は、飛ばされたフレームの代わりに前のフレーム３４Ａを繰り返す。
【００４９】
内部ＭＢカウント技術とともに、又は代わりとして、内部ＭＢ解析モジュール３２は、前のフレーム及び現在のフレーム内のつながったオブジェクト・サイズしきい値（Ｃｏｎｔｉｇ＿ｔｈ）４０Ｃの推定値に基づいてモード判断しきい値を生成することができる。特に、内部ＭＢ解析モジュール３２は、前のフレーム３４ＡのＭＢ情報を解析することができ、その結果、つながったＭＢの数として表わされた前のフレーム３４Ａ内部に存在するオブジェクトのおおよそのサイズを決定する。つながったオブジェクト・サイズしきい値４０Ｃを決定するために、内部ＭＢ解析モジュール３２は、ＭＢ情報内部に存在する情報のピクセル強度、例えば、ルミナンス（Ｙ）値、を頼りにすることができる。
【００５０】
具体例の実施形態では、内部ＭＢ解析モジュール３２は、前のフレーム３４Ａの複数の垂直断面及び水平断面を決定し、そしてそれらの断面に沿ったピクセル強度プロファイルを解析することによって、最大のつながったオブジェクトのサイズを推定する。強度に基づいて、内部ＭＢ解析モジュール３２は、断面がそこを通過する任意のオブジェクトの一つの次元に沿ったおおよそのサイズを推定する。次に、内部ＭＢ解析モジュール３２は、Ｘ次元とＹ次元断面からの断面情報を統合し、そして得られたオブジェクト・サイズの間で最大値を同定する。内部ＭＢ解析モジュール３２は、最大オブジェクト・サイズによって定められるつながったオブジェクトによりカバーされるＭＢの数を推定し、そしてつながったオブジェクト・サイズしきい値４０Ｃをこの数又はこの数プラス差異値の合計のいずれかに設定する。
【００５１】
ある複数の実施形態では、内部ＭＢ解析モジュール３２は、強度プロファイルを考慮しつつ計算上の複雑さを軽減するために、前のフレーム３４Ａの空間的にサブ−サンプリングされた版を利用することができる。別の実施形態では、内部ＭＢ解析モジュール３２は、強度プロファイルを考慮しないことがあるが、その代わりに前のフレーム３４Ａ内部で規定されたＭＢのＤＣ値を考慮する、それはビットストリームで容易に適用可能である。そのような実施形態では、内部ＭＢ解析モジュール３２は、ＤＣ値プロファイルの形状変動を見つけることにより、つながったオブジェクト・サイズしきい値４０Ｃを推定することができる。
【００５２】
一旦、つながったオブジェクト・サイズしきい値４０Ｃが決定されると、内部ＭＢ解析モジュール３２は、現在のフレーム３４Ｂを解析して、つながった内部ＭＢカウント（Ｎ＿ｃｏｎｔｉｇｕｏｕｓｉｎｔｒａ）４６を決定する。内部ＭＢ解析モジュール３２は、つながったオブジェクト・サイズしきい値４０Ｃを決定することを参照して上に記述したものと実質的に類似の方法で、現在のフレーム３４Ｂについてのつながった内部ＭＢカウント４６を決定することができる。次に、内部ＭＢ解析モジュール３２は、つながったオブジェクト・サイズしきい値４０Ｃをつながった内部ＭＢカウント４６と比較する。もし、現在のフレーム中の内部ＭＢの数、すなわち、つながった内部ＭＢカウント４６、が、つながったオブジェクト・サイズしきい値４０Ｃを超える場合には、前のフレーム３４Ａから現在のフレーム３４Ｂへの著しい変化が生じている。例えば、オブジェクトは、前のフレームと現在のフレームとの間で、移動した、回転した、引っ込んだ、前進した、又は向きを変えたことがある。このケースでは、内部ＭＢ解析モジュール３２は、ＦＲＵＣモジュール２８をディスエーブルし、その結果、それは飛ばされたフレームを補間しない。その代りに、デコーダ１４は、飛ばされたフレームの代わりに前のフレーム３４Ａを繰り返す。
【００５３】
図５は、具体例の技術を説明するフローチャートであり、そこでは図３のビデオ・デコーダ１４のような、ビデオ・デコーダが飛ばされたフレームを補間するためにＦＲＵＣを使用するかどうかを適応するように判断する。図４の例では、ビデオ・デコーダ１４のＦＦＰモジュール２６は、上記のように、３つの異なるしきい値を適応するように決定し、そしてカスケードされた構成でこれらのしきい値を適用する。例えば、ＦＦＰモジュール２６は、動きアクティビティしきい値、内部ＭＢカウントに基づいて第１のモード判断しきい値、そしてつながったオブジェクト・サイズに基づいて第２のモード判断しきい値を適用することができる。図５では、ＦＲＵＣモジュール２８による補間をイネーブルするために、現在のフレームが３つの適用可能なしきい値のいずれをも超えないことを、ＦＦＰモジュール２６が検証するという観点で、複数のしきい値は、“カスケード”される。図４を参照して以下に説明されるが、本技術は、飛ばされたフレームを内挿すること又は外挿することによりＦＲＵＣを適用することが可能ないずれのビデオ・デコーダにも適用することができ、そして図４の図示された実施形態に限定されるべきではない。
【００５４】
最初に、ＦＦＰモジュール２６は、送信チャネル１５を介して前のフレーム３４Ａと現在のフレーム３４Ｂの両方を受信する（４８）。フレーム３４Ａ、３４Ｂを受信すると、動きアクティビティ解析モジュール３０は、前のフレームについてのＭＶヒストグラム３８を決定し、そして上記のように、ＭＶヒストグラム３８に基づいて、動きアクティビティしきい値ＭＶ＿ｐｒｅｖしきい値４０Ａを適応するように決定する（５０）。次に、動きアクティビティ解析モジュール３０は、現在のフレーム３４Ｂを解析して、現在のフレーム中のＭＢのあいだの平均動きベクトル（ＭＶａｖｇ）４２を決定する（５２）。一旦、しきい値４０Ａと平均動きベクトル４２の両方が決定されると、動きアクティビティ解析モジュール３０は、ＭＶ＿ｐｒｅｖしきい値４０Ａを平均動きベクトル（ＭＶａｖｇ）４２と比較する（５４）。もし、ＭＶａｖｇ４２がＭＶ＿ｐｒｅｖしきい値４０Ａを超える場合には、ＦＦＰモジュール２６は、飛ばされたフレームを補間することの代わりに前のフレーム３４Ａを繰り返すことをＦＲＵＣモジュール２８に指示する（５６）。しかしながら、もし、ＭＶａｖｇ４２がＭＶ＿ｐｒｅｖしきい値４０Ａを超えない場合には、動きアクティビティ解析モジュール３０は、ＦＲＵＣモジュール２８に何の指示も行わないで、制御を内部ＭＢ解析モジュール３２に渡す。
【００５５】
内部ＭＢ解析モジュール３２は、同様に前のフレーム３４Ａと現在のフレーム３４Ｂを受け取る。上に記述したように、内部ＭＢ解析モジュール３２は、前のフレーム３４Ａについての内部ＭＢカウントに基づいて前のＭＢカウントしきい値（Ｎ＿ｐｒｅｖ）４０Ｂを適応するように決定することができ、そして現在のフレーム３４Ｂについての内部ＭＢカウント（Ｎｉｎｔｒａ）４４を決定する（５８，６０）。次に、内部ＭＢ解析モジュール３２は、Ｎｉｎｔｒａ４４をＮ＿ｐｒｅｖしきい値４０Ｂと比較する（６２）。もし、Ｎｉｎｔｒａ４４がＮ＿ｐｒｅｖしきい値４０Ｂを超える場合には、内部ＭＢ解析モジュール３２は、飛ばされたフレームを補間することの代わりに前のフレーム３４Ａを繰り返すべきであることをＦＲＵＣモジュール２８に指示する（５６）。
【００５６】
しかしながら、もし、Ｎｉｎｔｒａ４４がＮ＿ｐｒｅｖしきい値４０Ｂを超えない場合には、内部ＭＢ解析モジュール３２は、上に記述したように、第３のしきい値、すなわち、つながったオブジェクト・サイズしきい値（Ｃｏｎｔｉｇ＿ｔｈ）４０Ｃを適応するように決定する（６４）。内部ＭＢ解析モジュール３２は、しかも上に記述した方法で、現在のフレーム３４Ｂについての内部ＭＢカウント（Ｎ＿ｃｏｎｔｉｇｕｏｕｓｉｎｔｒａ）４６を決定する（６６）。両者を決定した後で、内部ＭＢ解析モジュール３２は、Ｎ＿ｃｏｎｔｉｇｕｏｕｓｉｎｔｒａ４６をＣｏｎｔｉｇ＿ｔｈしきい値４０Ｃと比較する（６８）。もし、Ｎ＿ｃｏｎｔｉｇｕｏｕｓｉｎｔｒａ４６がＣｏｎｔｉｇ＿ｔｈしきい値４０Ｃを超える場合には、内部ＭＢ解析モジュール３２は、前のフレーム３４Ａを繰り返すべきであることをＦＲＵＣモジュール２８に指示する。もし、Ｎ＿ｃｏｎｔｉｇｕｏｕｓｉｎｔｒａ４６がＣｏｎｔｉｇ＿ｔｈしきい値４０Ｃを超えない場合には、内部ＭＢ解析モジュール３２は、例えば、飛ばされたフレームの補間により、ＦＲＵＣを実行すべきであることをＦＲＵＣモジュール２８に指示する（７０）。
【００５７】
これゆえ、ＦＦＰモジュール２６は、ＦＲＵＣモジュール２８に対してＦＲＵＣ又はフレーム繰返し判断を与える。もし、過大な動き又は内容の変化のために繰返しが望ましい場合には、ＦＦＰモジュール２６は、特定の飛ばされたフレームに対してＦＲＵＣモジュール２８をディスエーブルする。ＦＦＰモジュール２６は、その後、次の組の前のフレームと現在のフレームを受け取り、そしてもう１つのＦＲＵＣ又は繰返し判断を行う。プロセスは、ビデオ系列の終わりまで連続的に進み、飛ばされたフレームのそれぞれに対して動きアクティビティしきい値及び／又はモード判断しきい値をアドレスする。図５に示されたカスケードされたアプローチでは、ＦＦＰモジュール２６は、３つの異なるしきい値４０Ａ−４０Ｃを適応するように決定しそして適用する。別の実施形態では、ＦＦＰモジュール２６は、補間判断をサポートするために１つだけ又は２つだけのしきい値を適用することができる。
【００５８】
図６は、別の１つの具体例の技術を説明するフローチャートであり、そこではビデオ・デコーダ、例えば、図２のビデオ・デコーダ１４、はＦＲＵＣをイネーブルするか又はディスエーブルするかどうかを適応するように判断する。図６の例では、ビデオ・デコーダ１４のＦＦＰモジュール２６は、上記の３つの異なるしきい値、すなわち、動きアクティビティしきい値、内部ＭＢカウント−ベースのモード判断しきい値、及びつながったオブジェクト・サイズ−ベースのモード判断しきい値、を適応するように決定し、そして重み付けされた構成でこれらのしきい値を適用する。図６に示されたプロセスは、ＦＦＰモジュール２６が図４に示されたしきい値４０Ａ−４０Ｃを適応するように決定し、例えば、しきい値４０Ａ−４０Ｃを現在のフレーム３４Ｂから得られた情報と比較し、そして比較のそれぞれを重み付けして飛ばされたフレームを補間するか否かを決定する。
【００５９】
しきい値比較の重み付け解析は、判断融合（decision fusion）をもたらす。各比較の重みは、互いに相対的にしきい値比較を優先させるように調節することができ、そしてそれにより適応補間技術を調整する。ある複数の実施形態では、重みは、ビデオ・デコーダ１４の動作の間に手動で又は自動的に調節されることができる。別の実施形態では、重みは、例えば、工場において変化しないように設定されることができる。図４を参照して以下に記述されるが、本技術は、飛ばされたフレームを補間することができる任意のビデオ・デコーダに対しても適用することができ、そして図４の図示された実施形態に限定されるべきではない。
【００６０】
最初に、ＦＦＰモジュール２６は、送信チャネル１５を介して前のフレーム３４Ａと現在のフレーム３４Ｂの両方を受け取る（７２）。フレーム３４Ａ、３４Ｂを受け取ると、動きアクティビティ解析モジュール３０は、ＭＶヒストグラム３８を決定し、そしてＭＶヒストグラム３８に基づいて、上記のように、前のフレーム３４ＡからＭＶ＿ｐｒｅｖしきい値４０Ａを適応するように決定する（７４）。次に、動きアクティビティ解析モジュール３０は、現在のフレーム３４Ｂを解析して、平均動きベクトル（ＭＶａｖｇ）４２を決定する（７６）。一旦、しきい値４０Ａと平均動きベクトル４２との両方が決定されると、動きアクティビティ解析モジュール３０は、ＭＶ＿ｐｒｅｖしきい値４０Ａを平均動きベクトル（ＭＶａｖｇ）４２と比較し、そして比較の結果を重み付けし、重み付けされた差異値を生成する（７８）。
【００６１】
次に、上記したように、内部ＭＢ解析モジュール３２は、前のフレーム３４Ａについての前のＭＢカウントしきい値（Ｎ＿ｐｒｅｖ）４０Ｂを適応するように決定し、そして現在のフレーム３４Ｂについての内部ＭＢカウント（Ｎｉｎｔｒａ）４４を決定する（８０，８２）。これらの決定に引き続いて、内部ＭＢ解析モジュール３２は、Ｎｉｎｔｒａ４４をＮ＿ｐｒｅｖしきい値４０Ｂと比較し、そして比較の差異の結果を重み付けする（８４）。内部ＭＢ解析モジュール３２は、上に記述したように、第３のしきい値、すなわち、前のフレーム３４Ａから、つながったオブジェクト・サイズしきい値（Ｃｏｎｔｉｇ＿ｔｈ）４０Ｃを適応するように決定する（８６）。内部ＭＢ解析モジュール３２は、上に記述した方法で、現在のフレーム３４Ｂについてのつながった内部ＭＢカウント（Ｎ＿ｃｏｎｔｉｇｕｏｕｓｉｎｔｒａ）４６を同様に決定する（８８）。両者を決定した後で、内部ＭＢ解析モジュール３２は、Ｎ＿ｃｏｎｔｉｇｕｏｕｓｉｎｔｒａ４６をＣｏｎｔｉｇ＿ｔｈしきい値４０Ｃと比較し、そして比較の差異結果を重み付けする（９０）。
【００６２】
上記の３つの比較を行いそして各比較を重み付けると、ＦＦＰモジュール２６は、例えば、１又はそれより多くの数学演算を実行することによって重み付けした比較を融合する（９２）。例えば、重み付けされた差異結果は、単純に合計されることができ、そして合成しきい値と比較される。もし、重み付けされた差異の合計が合成しきい値を超える場合には、ＦＦＰモジュール２６は、ＦＲＵＣモジュール２８による補間をディスエーブルし、結果として前のフレームの繰返しをもたらす（９６）。もし、重み付けされた差異結果の合計が合成しきい値を超えない場合には、ＦＦＰモジュール２６は、ＦＲＵＣモジュール２８をイネーブルする（９８）。重み付けされた比較の融合は、広範囲の数学演算、例えば、規格化及びスケーリング、で行われる。
【００６３】
図７Ａ−図７Ｄは、前のフレーム、例えば、図４の前のフレーム３４Ａ、のマクロブロック（ＭＢ：macro block）の具体例の分布とそれらに付随するＭＶヒストグラム（それはＭＶヒストグラム３８と実質的に同じであり得る）とを説明するグラフである。図７Ａは、動きベクトル大きさのヒストグラム分布を図示するグラフ１００を示す。図７Ｂは、動きベクトル大きさの規格化したヒストグラムを図示するグラフ１０２を示す。図７Ｃは、動きベクトル方向の分布を図示するグラフ１０４を示す。図７Ｄは、動きベクトル方向のヒストグラムを図示するグラフ１０６を示す。
【００６４】
グラフ１００−１０６は、本明細書中に記述される選択的ＦＲＵＣ技術において使用されることができる情報を図示する。図７Ａを参照して、グラフ１００のｘ−軸は、動きベクトル大きさを示し、そしてグラフ１００のｙ−軸は、それぞれの動きベクトル大きさを有するＭＢの数を示す。そのように、グレーの棒は、ｘ−軸により定められる特定の動きベクトル大きさを有するＭＢの数を示す。
【００６５】
図７Ｂを参照して、グラフ１０２のｘ−軸は、動きベクトル大きさを示し、そしてグラフ１０２のｙ−軸は、ＭＢがｙ−軸に沿った所与の値以下の動きベクトル大きさを有する確率を示す。そのように、グレーの棒は、ＭＢがｘ−軸により示される大きさ以下の動きベクトルを有するであろう可能性を示す。例えば、右端の最後のグレーの棒は、ＭＢが１９以下の大きさを有するであろう１００％（すなわち、１．０）の可能性があることを示す。
【００６６】
グラフ１００又は１０２に示されたデータを使用して、動きアクティビティ解析モジュール３０は、前のフレームについての平均動きベクトル大きさを決定することができる。図示されたヒストグラム・グラフ１０２では、動きアクティビティ解析モジュール３０は、平均動きベクトル大きさをほぼ６．８と決定する。図７Ｃを参照して、グラフ１０４のｘ−軸は、動きベクトル方向を度で示し、そしてグラフ１０４のｙ−軸は、各動き方向を有するＭＢの数を示す。そのように、グレーの棒は、ｘ−軸により定められる特定の動きベクトル方向を有するＭＢの数を示す。グラフ１０４は、前のフレーム３４ＡのＭＢ情報に基づいている。グラフ１０４は、方向ごとにＭＢを配列し、そして２５度回転角度の各方向範囲についてのＭＢの数をカウントする。
【００６７】
図７Ｄを参照して、グラフ１０６のｘ−軸は、動きベクトル方向を度で示し、そしてグラフ１０６のｙ−軸は、ＭＢがｙ−軸に沿った所与の値以下の動きベクトル方向を有する確率を示す。そのように、グレーの棒は、ＭＢがｘ−軸により示される方向より小さいかそれに等しい方向の動きベクトルを有するであろう可能性を示す。例えば、右端のグレーの棒は、ＭＢが３５０度より小さいかそれに等しい方向を有するであろう１００％（すなわち、１．０）の可能性があることを示す。ヒストグラム・グラフ１０６中の情報を使用して、動きアクティビティ解析モジュール３０は、前のフレームについての平均動きベクトル方向を決定することができる。図示されたヒストグラム・グラフ１０６は、１３８．５０の平均動きベクトル方向を示す。
【００６８】
ベクトルが大きさと方向の両方を必要とするので、ヒストグラム・グラフ１０２，１０６から決定された結果の平均値を使用して、動きアクティビティ解析モジュール３０は、平均動きベクトルを決定する。動きアクティビティ解析モジュール３０は、それぞれヒストグラム・グラフ１０２，１０６から導かれた平均大きさと平均方向に基づくベクトル値にＭＶ＿ｐｒｅｖしきい値４０Ａを設定する。このようにして、動きアクティビティ解析モジュール３０は、ＭＶヒストグラム３８（それはヒストグラム・グラフ１０２，１０６と実質的に同じであり得る）中のデータからＭＶ＿ｐｒｅｖしきい値４０Ａを決定する。
【００６９】
一例として、動きアクティビティ解析モジュール３０は、前に述べたように、Ｘ（水平）方向、Ｙ（垂直）方向、又は両方向のベクトル成分の大きさを比較することができる。あるいは、動きアクティビティ解析モジュール３０は、それぞれのしきい値に対してベクトルの大きさと角度とを比較することができる。それぞれのケースにおいて、動きアクティビティ解析モジュール３０は、大きさと方向の両方を頼りにすることができて、過大な動き又は場面変化を同定する。
【００７０】
説明の容易さのためにグラフ１００−１０６として示されるが、動きアクティビティ解析モジュール３０は、グラフ形式でヒストグラム・グラフ１０２，１０６を実際に構成する必要はない。その代りに、動きアクティビティ解析モジュール３０は、ある複数の実施形態では、グラフ１０２，１０６によって表わされるものと類似の情報を含む表、リンクされたリスト、ツリー、又は別のタイプのデータ構造を記憶することができる。これらのデータ構造の解析は、上記のように、比較を実行することができる平均動きベクトルを同様にもたらすことができる。
【００７１】
図８Ａと図８Ｂは、ＭＢにより形成された具体例の前のフレーム１０８及びフレーム１０８のＭＢに関するＭＢビットを示している解析された前のフレーム１１０を図示する。内部ＭＢ解析モジュール３２は、前のフレーム１０８を受け取り、それは前のフレーム３４Ａに形式で実質的に同じであり得て、そして前のフレーム１０８に解析を実行して、解析された前のフレーム１１０を生成する。解析された前のフレーム１１０の個々のグレー・スケール・タイルは、ＭＢを表し、そしてそれぞれのＭＢに割り当てられるコーディング・ビットの数を指定する数値を含む。より明るいグレー・スケール・タイルは、少ない数のコーディング・ビットが割り当てられているＭＢを示し、より低い動きを示す。より暗いグレー・スケール・タイルは、多くの数のコーディング・ビットが割り当てられているＭＢを示し、より大きな動き又は場面変化を示す。内部ＭＢ解析モジュール３２は、最初に、例えば、コーディング・ビットの全数をＭＢの数で割ることにより、各ＭＢに対するコーディング・ビットの平均個数を決定する。
【００７２】
平均ビット値を計算した後で、内部ＭＢ解析モジュール３２は、平均値より１標準偏差大きい複数のコーディング・ビットを有するそれらのＭＢを同定し、そしてこの数に基づいて前のＭＢカウントしきい値（Ｎ＿ｐｒｅｖ）４０Ｂを調節する。同定されたＭＢは、ＭＢに割り当てられるコーディング・ビットの数が相対的に大きいために内部コード化されたＭＢであると考えられる。Ｎ＿ｐｒｅｖは、平均強度値より１標準偏差大きい複数のコーディング・ビットを有する前のフレーム中のＭＢの数と差異値との合計であり得る。内部ＭＢ解析モジュール３２は、現在のフレーム３４Ｂについての内部ＭＢカウント（Ｎ＿ｉｎｔｒａ）４４を計算するために同様の演算を実行することができる。
【００７３】
この演算を介してＮ＿ｐｒｅｖとＮ＿ｉｎｔｒａの両方を計算すると、内部ＭＢ解析モジュール３２は、その値を比較して、ＦＲＵＣモジュール２８による飛ばされたフレームの補間がイネーブルされるべきか又はディスエーブルされるべきかどうかを決定する。もし、現在のフレーム中の内部コード化されたＭＢ  Ｎ＿ｉｎｔｒａの数が前のフレームに対するしきい値Ｎ＿ｐｒｅｖよりも大きい場合には、ＦＦＰモジュール２６は、ＦＲＵＣモジュール２８による飛ばされたフレームの補間をディスエーブルする。その代りに、デコーダ１４は、飛ばされたフレームの代わりに前のフレームを繰り返す。あるいは、もし、現在のフレーム中の内部コード化されたＭＢ  Ｎ＿ｉｎｔｒａの数が前のフレームに対するしきい値Ｎ＿ｐｒｅｖ以下である場合には、ＦＦＰモジュール２６は、ＦＲＵＣをイネーブルする。
【００７４】
説明を容易にするために図８Ａと図８Ｂを介して図式的に表示したが、デコーダ１４において実行される適応補間技術は、図式的な方法でいずれかのそのような演算を実行する必要はなく、その代わりにこれらの演算を実行することができ、そして比較を実行する際に使用するために、表、リンクされたリスト、ツリー、又は任意の他のデータ構造に結果を記憶することができる。したがって、図８Ａと図８Ｂの図式的表示は、単に説明の目的のためである。
【００７５】
図９は、図４の内部ＭＢ解析モジュール３２が、つながったオブジェクト・サイズしきい値（Ｃｏｎｔｉｇ＿ｔｈ）４０Ｃを決定するために解析することができる、具体例の前のフレーム１１２を図示する。前のフレーム１１２は、前のフレーム３４Ｂと実質的に同じであり得る。内部ＭＢ解析モジュール３２は、前のフレーム１１２を上記の方法で、すなわち、様々なオブジェクトの強度断面を計算することにより、そして強度断面によって最大のオブジェクトを同定することによって、解析する。前のフレーム１１２を解析した後で、内部ＭＢ解析モジュール３２は、最大のオブジェクトが占めるＭＢの数を推定することにより、つながったオブジェクト・サイズしきい値４０Ｃ決定する。
【００７６】
前のフレーム１１２中では、例えば、内部ＭＢ解析モジュール３２は、断面強度解析によって最大のオブジェクトとしてオブジェクト１１４を同定する。次に、内部ＭＢ解析モジュール３２は、近似オブジェクト・サイズ１１６を形成するＭＢの数を計数することにより、つながったオブジェクト・サイズしきい値４０Ｃを決定する。内部ＭＢ解析モジュール３２は、次の式（それは図９に同様に示されている）にしたがって近似オブジェクト・サイズ１１６を計算することができる：  
近似オブジェクト・サイズ  
＝（Ｖｙ＊Ｖｘ）／（ＭＢ＿ｓｉｚｅｙ＊ＭＢｓｉｚｅｘ）  
ここで、ＶｙとＶｘは、オブジェクト１１４に関するそれぞれ最大の連続するｙ−軸強度断面及びｘ−軸強度断面を表す。ＭＢ＿ｓｉｚｅｙとＭＢｓｉｚｅｘは、それぞれｙ−軸及びｘ−軸に沿ったマクロブロック（ＭＢ）の大きさを表す。この式を使用して、内部ＭＢ解析モジュール３２は、近似オブジェクト・サイズ１１６をそしてそれゆえつながったオブジェクト・サイズしきい値４０Ｃを決定することができる。
【００７７】
前のフレームと現在のフレーム中のつながった内部ＭＢの比較は、ＦＦＰモジュール２６による補間判断のための基礎として働く。もし、現在のフレーム中の最大のつながったオブジェクトについての推定されるＭＢカウントが前のフレーム中の最大のつながったオブジェクトについてのＭＢカウントに基づいて計算されたモード判断しきい値を超える場合には、そのオブジェクトは、実質的に動いた可能性がある。このケースでは、ＦＦＰモジュール２６は、ＦＲＵＣモジュール２８による補間をディスエーブルする。このようにして、ＦＦＰモジュール２６は、過大な量の動き又は新たな内容を含むフレームに対する補間をディスエーブルする。
【００７８】
動きアクティビティしきい値又はモード判断しきい値の適応決定は、ビデオ・デコーダ１４をイネーブルすることができて、飛ばされたフレームの補間のために、よりエラーに強くそして適応性のあるフレームの事前スクリーニングの方法を提供する。適応補間を用いて、ビデオ・デコーダ１４は、観察者によって見られる空間的アーティファクトを最小にすることが可能である。それに加えて、デコーダ１４は、ある複数のフレームの補間を回避することによって計算上のオーバーヘッド及び電力消費を削減することができる。所与のフレームを繰り返すこと又は補間することの判断を行うために必要な大部分の情報がビットストリーム・レベルで利用可能であるので、適応技術は、実行するために必ずしも困難であることもない。
【００７９】
本明細書中に記述された技術は、ハードウェア、ソフトウェア、ファームウェア又はこれらのいずれかの組み合わせで実行されることができる。特に、本明細書中に記述されたように、デコーダは、様々なハードウェア、ソフトウェア及びファームウェア構成要素のうちのいずれかによって実現されることができる。用語モジュール、ユニット、又は類似の術語は、同様に、ハードウェア・モジュール、ソフトウェア・モジュール、ファームウェア・モジュール、又はそれらの組み合わせを指すことができる。
【００８０】
本技術の様々な態様は、１又はそれより多くのマイクロプロセッサ、ディジタル信号プロセッサ（ＤＳＰ：digital signal processor）、用途特定集積回路（ＡＳＩＣ：application specific integrated circuit）、フィールド・プログラマブル・ゲートアレイ（ＦＰＧＡ：field programmable gate array）若しくは他の同等な集積回路又はディスクリート論理回路、同様にそのような構成要素のいずれかの組み合わせの内部で実行されることができる。用語“プロセッサ”又は“処理回路構成”は、一般に、上記の論理回路構成のいずれか単独で又は他の論理回路構成との組み合わせで、若しくはいずれかの他の等価な回路構成を指すことができる。ある複数の実施形態では、本明細書中に記述された機能は、専用のソフトウェア・モジュール又はエンコーディングそしてデコーディングのために構成されたハードウェア・ユニット、若しくは複合されたビデオ・エンコーダ−デコーダ（ＣＯＤＥＣ）の組み合わせで組み込まれることができる。
【００８１】
ソフトウェアで実行されるとき、本技術は、プログラム・コード又は命令を具備するコンピュータ読取り可能な媒体により一部は実現されることができ、そのプログラム・コード又は命令はプロセッサにより実行されたときに、上記の１又はそれより多くの機能を実行する。そのようなプログラム・コード又は命令を記憶するコンピュータ読取り可能な媒体は、ランダム・アクセス・メモリ（ＲＡＭ：random access memory）、例えば、シンクロナス・ダイナミック・ランダム・アクセス・メモリ（ＳＤＲＡＭ：synchronous Dynamic RAM）、読み出し専用メモリ（ＲＯＭ：read only memory）、不揮発性ランダム・アクセス・メモリ（ＮＶＲＡＭ：non-volatile RAM）、電気的消去書き込み可能ＲＯＭ（ＥＥＰＲＯＭ：electrically erasable programmable read-only memory）、ＦＬＡＳＨメモリ、磁気又は光データ記憶媒体、若しくはそのようなメモリ又は記憶媒体のいずれかの組み合わせを備えることができる。
【００８２】
本発明の様々な実施形態が記述されてきた。これらの実施形態及び他の実施形態は、特許請求範囲の範囲内である。
以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
（１）  １又はそれより多くの基準に基づきビデオ・デコーダにおいてビデオ・フレーム・レート・アップコンバージョンを選択的にイネーブルする及びディスエーブルすること；及び
飛ばされたフレームの近くの少なくとも１つの前のビデオ・フレームの１又はそれより多くの特性に基づいて前記基準を適応させること、
を具備する方法。
（２）  前記基準は、動きアクティビティしきい値を含む、ここで、前記方法は、現在のフレームについての動きアクティビティ値が前記動きアクティビティしきい値を超えるとき、フレーム・レート・アップコンバージョンを選択的にディスエーブルすること、をさらに具備する、上記（１）の方法。
（３）  前記動きアクティビティ値は、前記現在のフレームについての平均動きベクトル値を含む、そしてここにおいて、前記動きアクティビティしきい値は、前記少なくとも１つの前のフレームについての動きベクトル値のヒストグラムから導き出される、上記（２）の方法。
（４）  前記基準を適応させることは、前記少なくとも１つの前のフレームについての前記動きベクトル値に基づいて前記動きアクティビティしきい値を調節することを含む、上記（３）の方法。
（５）  前記基準は、モード判断しきい値を含む、ここで、前記方法は、現在のフレーム中の内部コード化されたマクロブロックの数が前記モード判断しきい値を超えるときに、フレーム・レート・アップコンバージョンを選択的にディスエーブルすること、をさらに具備する、上記（１）の方法。
（６）  しきい値を超える複数のコーディング・ビットを有する前記前のフレーム中のマクロブロックの数に基づいて前記モード判断しきい値を決定すること、をさらに具備する、上記（５）の方法。
（７）  少なくとも１つの前のフレーム中のつながったオブジェクトの近似サイズに基づいて前記モード判断しきい値を決定すること、をさらに具備する、上記（５）の方法。
（８）  フレーム・レート・アップコンバージョン・モジュールがディスエーブルされるときに、前記飛ばされたフレームの代わりに前記前のフレームを繰り返すこと、をさらに具備する、上記（１）の方法。
（９）  前記基準は、動きアクティビティしきい値及びマクロブロック・カウントを規定するモード判断しきい値を含む、ここで、前記方法は、現在のフレームについての動きアクティビティ値が前記動きアクティビティしきい値を超えるとき、又は前記現在のフレーム中の内部コード化されたマクロブロックの数が前記モード判断しきい値を超えるときに、フレーム・レート・アップコンバージョンを選択的にディスエーブルすること、をさらに具備する、上記（１）の方法。
（１０）  前記基準は、動きアクティビティしきい値及びつながったオブジェクト・サイズを規定するモード判断しきい値を含む、ここで、前記方法は、現在のフレームについての動きアクティビティ値が前記動きアクティビティしきい値を超えるとき、又は前記現在のフレーム中のつながっている内部コード化されたマクロブロックの数が前記モード判断しきい値を超えるときに、フレーム・レート・アップコンバージョンを選択的にディスエーブルすること、をさらに具備する、上記（１）の方法。
（１１）  前記基準は、動きアクティビティしきい値、マクロブロック・カウントしきい値及びつながったオブジェクト・サイズしきい値を含む、ここで、前記方法は、
現在のフレームについての動きアクティビティ値を前記動きアクティビティしきい値と比較して、第１の差異値を生成すること；
前記現在のフレーム中の内部コード化されたマクロブロックの数を前記モード判断しきい値と比較して、第２の差異値を生成すること；
前記現在のフレーム中のつながっている内部コード化されたマクロブロックの数をつながったオブジェクト・サイズしきい値と比較して、第３の差異値を生成すること；
前記複数の差異値を重み付けすること；
前記重み付けされた差異値を合計すること；及び
前記合計がしきい値を超えるときには、フレーム・レート・アップコンバージョンを選択的にディスエーブルすること、
をさらに具備する、上記（１）の方法。
（１２）  前記フレーム・レート・アップコンバージョンは、ビデオ・フレーム補間を含む、そして前記１又はそれより多くの基準は、前記ビデオ・フレーム補間が重大なアーティファクト（artifact）を生成する可能性があるかどうかを示す、上記（１）の方法。
（１３）  フレーム・レート・アップコンバージョン・モジュール；及び
１又はそれより多くの基準に基づき前記フレーム・レート・アップコンバージョン・モジュールを選択的にイネーブルする及びディスエーブルする、そして飛ばされたフレームの近くの少なくとも１つの前のビデオ・フレームの１又はそれより多くの特性に基づいて前記基準を適応させる制御モジュール
を具備するビデオ・デコーダ。
（１４）  前記基準は、動きアクティビティしきい値を含む、そして、前記制御モジュールは、現在のフレームについての動きアクティビティ値が前記動きアクティビティしきい値を超えるときに、前記フレーム・レート・アップコンバージョンを選択的にディスエーブルする、上記（１２）のビデオ・デコーダ。
（１５）  前記動きアクティビティ値は、前記現在のフレームについての平均動きベクトル値を含む、そしてここにおいて、前記動きアクティビティしきい値は、前記少なくとも１つの前のフレームについての動きベクトル値のヒストグラムから導き出される、上記（１４）のビデオ・デコーダ。
（１６）  前記制御モジュールは、前記少なくとも１つの前のフレームについての前記動きベクトル値に基づいて前記動きアクティビティしきい値を調節して、前記基準を適応させる、上記（１５）のビデオ・デコーダ。
（１７）  前記基準は、モード判断しきい値を含む、そして、前記制御モジュールは、現在のフレーム中の内部コード化されたマクロブロックの数が前記モード判断しきい値を超えるときに、前記フレーム・レート・アップコンバージョン・モジュールを選択的にディスエーブルする、上記（１３）のビデオ・デコーダ。
（１８）  前記制御モジュールは、しきい値を超える複数のコーディング・ビットを有する前記前のフレーム中のマクロブロックの数に基づいて前記モード判断しきい値を決定する、上記（１７）のビデオ・デコーダ。
（１９）  前記制御モジュールは、少なくとも１つの前のフレーム中のつながったオブジェクトの近似サイズに基づいて前記モード判断しきい値を決定する、上記（１７）のビデオ・デコーダ。
（２０）  前記デコーダは、前記フレーム・レート・アップコンバージョン・モジュールがディスエーブルされるときに、前記飛ばされたフレームの代わりに前記前のフレームを繰り返す、上記（１３）のビデオ・デコーダ。
（２１）  前記基準は、動きアクティビティしきい値及びマクロブロック・カウントを規定するモード判断しきい値を含む、そして、前記制御モジュールは、現在のフレームについての動きアクティビティ値が前記動きアクティビティしきい値を超えるとき、又は前記現在のフレーム中の内部コード化されたマクロブロックの数が前記モード判断しきい値を超えるときに、前記ビデオ・フレーム・レート・アップコンバージョン・モジュールを選択的にディスエーブルする、上記（１３）のビデオ・デコーダ。
（２２）  前記基準は、動きアクティビティしきい値及びつながったオブジェクト・サイズを規定するモード判断しきい値を含む、そして、前記制御モジュールは、現在のフレームについての動きアクティビティ値が前記動きアクティビティしきい値を超えるとき、又は前記現在のフレーム中のつながっている内部コード化されたマクロブロックの数が前記モード判断しきい値を超えるときに、前記ビデオ・フレーム・レート・アップコンバージョン・モジュールを選択的にディスエーブルする、上記（１３）のビデオ・デコーダ。
（２３）  前記基準は、動きアクティビティしきい値、マクロブロック・カウントしきい値及びつながったオブジェクト・サイズしきい値を含む、そして、前記制御モジュールは、現在のフレームについての前記動きアクティビティ値を前記動きアクティビティしきい値と比較して、第１の差異値を生成し、前記現在のフレーム中の内部コード化されたマクロブロックの数を前記モード判断しきい値と比較して、第２の差異値を生成し、前記現在のフレーム中のつながっている内部コード化されたマクロブロックの数を前記つながったオブジェクト・サイズしきい値と比較して、第３の差異値を生成し、前記複数の差異値を重み付けし、前記重み付けされた差異値を合計し、そして、前記合計がしきい値を超えるときには、前記フレーム・レート・アップコンバージョン・モジュールを選択的にディスエーブルする、上記（１３）のビデオ・デコーダ。
（２４）  フレーム・レート・アップコンバージョン・モジュールは、前記飛ばされたビデオ・フレームを補間する、そして、前記１又はそれより多くの基準は、前記ビデオ・フレーム補間が重大なアーティファクトを生成する可能性があるかどうかを示す、上記（１３）のビデオ・デコーダ。
（２５）  前記フレーム・レート・アップコンバージョンは、ビデオ・フレーム補間を適用する、そして、前記１又はそれより多くの基準は、前記ビデオ・フレーム補間が重大なアーティファクトを生成する可能性があるかどうかを示す、上記（１３）のビデオ・デコーダ。
（２６）  プロセッサに、
１又はそれより多くの基準に基づきビデオ・デコーダにおいてビデオ・フレーム・レート・アップコンバージョンを選択的にイネーブルする及びディスエーブルするように；そして
飛ばされたフレームの近くの少なくとも１つの前のビデオ・フレームの１又はそれより多くの特性に基づいて前記基準を適応するように、
させる命令を具備する、コンピュータ読取り可能な媒体。
（２７）  前記基準は、動きアクティビティしきい値を含む、そして、前記命令は、現在のフレームについての動きアクティビティ値が前記動きアクティビティしきい値を超えるときに、前記プロセッサに、ビデオ・フレーム・レート・アップコンバージョンを選択的にディスエーブルするようにさせる、上記（２６）のコンピュータ読取り可能な媒体。
（２８）  前記動きアクティビティ値は、前記現在のフレームについての平均動きベクトル値を含む、そしてここにおいて、前記動きアクティビティしきい値は、前記少なくとも１つの前のフレームについての動きベクトル値のヒストグラムから導き出される、上記（２７）のコンピュータ読取り可能な媒体。
（２９）  前記命令は、前記プロセッサに、前記少なくとも１つの前のフレームについての前記動きベクトル値に基づいて前記動きアクティビティしきい値を調節するようにさせる、上記（２８）のコンピュータ読取り可能な媒体。
（３０）  前記基準は、モード判断しきい値を含む、そしてここにおいて、前記命令は、現在のフレーム中の内部コード化されたマクロブロックの数が前記モード判断しきい値を超えるときに、前記プロセッサに、ビデオ・フレーム・レート・アップコンバージョンを選択的にディスエーブルするようにさせる、上記（２６）のコンピュータ読取り可能な媒体。
（３１）  前記命令は、前記プロセッサに、しきい値を超える複数のコーディング・ビットを有する前記前のフレーム中のマクロブロックの数に基づいて前記モード判断しきい値を決定するようにさせる、上記（３０）のコンピュータ読取り可能な媒体。
（３２）  前記命令は、前記プロセッサに、少なくとも１つの前のフレーム中のつながったオブジェクトの近似サイズに基づいて前記モード判断しきい値を決定するようにさせる、上記（３０）のコンピュータ読取り可能な媒体。
（３３）  前記命令は、フレーム・レート・アップコンバージョンがディスエーブルされるときに、前記プロセッサに、前記飛ばされたフレームの代わりに前記前のフレームを繰り返すようにさせる、上記（２６）のコンピュータ読取り可能な媒体。
（３４）  前記基準は、動きアクティビティしきい値及びマクロブロック・カウントを規定するモード判断しきい値を含む、ここにおいて、前記命令は、現在のフレームについての動きアクティビティ値が前記動きアクティビティしきい値を超えるとき、又は前記現在のフレーム中の内部コード化されたマクロブロックの数が前記モード判断しきい値を超えるときに、前記プロセッサに、ビデオ・フレーム・レート・アップコンバージョンを選択的にディスエーブルするようにさせる、上記（２６）のコンピュータ読取り可能な媒体。
（３５）  前記基準は、動きアクティビティしきい値及びつながったオブジェクト・サイズを規定するモード判断しきい値を含む、ここにおいて、前記命令は、現在のフレームについての動きアクティビティ値が前記動きアクティビティしきい値を超えるとき、又は前記現在のフレーム中のつながっている内部コード化されたマクロブロックの数が前記つながったオブジェクト・サイズしきい値を超えるときに、前記プロセッサに、ビデオ・フレーム・レート・アップコンバージョンを選択的にディスエーブルするようにさせる、上記（２６）のコンピュータ読取り可能な媒体。
（３６）  前記基準は、動きアクティビティしきい値、マクロブロック・カウントしきい値及びつながったオブジェクト・サイズしきい値を含む、ここにおいて、前記命令は、前記プロセッサに、
現在のフレームについての前記動きアクティビティ値を前記動きアクティビティしきい値と比較して、第１の差異値を生成するように；
前記現在のフレーム中の内部コード化されたマクロブロックの数を前記モード判断しきい値と比較して、第２の差異値を生成するように；
前記現在のフレーム中のつながっている内部コード化されたマクロブロックの数を前記つながったオブジェクト・サイズしきい値と比較して、第３の差異値を生成するように；
前記複数の差異値を重み付けするように；
前記重み付けされた差異値を合計するように；及び
前記合計がしきい値を超えるときには、ビデオ・フレーム・レート・アップコンバージョンを選択的にディスエーブルするように、
させる命令である、上記（２６）のコンピュータ読取り可能な媒体。
（３７）  フレーム・レート・アップコンバージョンは、ビデオ・フレーム補間を含む、そして、前記１又はそれより多くの基準は、前記ビデオ・フレーム補間が重大なアーティファクトを生成する可能性があるかどうかを示す、上記（２６）のコンピュータ読取り可能な媒体。
（３８）  １又はそれより多くの基準に基づきビデオ・デコーダにおいてビデオ・フレーム・レート・アップコンバージョンを選択的にイネーブルする及びディスエーブルするための手段；及び
飛ばされたフレームの近くの少なくとも１つの前のビデオ・フレームの１又はそれより多くの特性に基づいて前記基準を適応させるための手段、
を具備するビデオ・デコーダ。
（３９）  前記基準は、動きアクティビティしきい値を含む、ここで、前記デコーダは、現在のフレームについての動きアクティビティ値が前記動きアクティビティしきい値を超えるときに、ビデオ・フレーム・レート・アップコンバージョンを選択的にディスエーブルするための手段、をさらに具備する、上記（３８）のビデオ・デコーダ。
（４０）  前記動きアクティビティ値は、前記現在のフレームについての平均動きベクトル値を含む、そしてここにおいて、前記動きアクティビティしきい値は、前記少なくとも１つの前のフレームについての動きベクトル値のヒストグラムから導き出される、上記（３９）のビデオ・デコーダ。
（４１）  前記基準を適応させるための手段は、前記少なくとも１つの前のフレームについての前記動きベクトル値に基づいて前記動きアクティビティしきい値を調節するための手段、を含む、上記（３６）のビデオ・デコーダ。
（４２）  前記基準は、モード判断しきい値を含む、ここで、前記デコーダは、現在のフレーム中の内部コード化されたマクロブロックの数が前記モード判断しきい値を超えるときに、ビデオ・フレーム・レート・アップコンバージョンを選択的にディスエーブルするための手段、をさらに具備する、上記（３６）のビデオ・デコーダ。
（４３）  しきい値を超える複数のコーディング・ビットを有する前記前のフレーム中のマクロブロックの数に基づいて前記モード判断しきい値を決定するための手段、をさらに具備する、上記（４２）のビデオ・デコーダ。
（４４）  少なくとも１つの前のフレーム中のつながったオブジェクトの近似サイズに基づいて前記モード判断しきい値を決定するための手段、をさらに具備する、上記（４２）のビデオ・デコーダ。
（４５）  前記フレーム・レート・アップコンバージョンは、ビデオ・フレーム補間を含む、そして、前記１又はそれより多くの基準は、前記ビデオ・フレーム補間が重大なアーティファクトを生成する可能性があるかどうかを示す、上記（１）のビデオ・デコーダ。
【図１】
0005420731.tif 000002
【図２】
0005420731.tif 000003
【図３】
0005420731.tif 000004
【図４】
0005420731.tif 000005
【図５】
0005420731.tif 000006
【図６】
0005420731.tif 000007
【図７Ａ】
0005420731.tif 000008
【図７Ｂ】
0005420731.tif 000009
【図７Ｃ】
0005420731.tif 000010
【図７Ｄ】
0005420731.tif 000011
【図８Ａ】
0005420731.tif 000012
【図８Ｂ】
0005420731.tif 000013
【図９】
0005420731.tif 000014