(57)【要約】【課題】フェーディング、ブレンディング、またはモーフィング効果を含むビデオシーケンスの、レート歪みパフォーマンスを改善するための、様々な技術及びツールを対象とした、ビデオ画像を処理するコンピュータ実行方法及び記録媒体を提供する。【解決手段】ビデオ処理アプリケーションにおけるフェーディング補償について信号通知するための技術及びツールを提供する。例えば、ソフトウェア５８０が実装するビデオエンコーダは、基準画像にフェーディング補償を行い、フェーディング補償が使用されたことを通知し、フェーディング補償のフェーディングパラメータを信号通知する。ソフトウェア５８０が実装するビデオデコーダは、信号通知された情報を受け取り、フェーディングパラメータに従って基準画像にフェーディング補償を行う。【選択図】図５
2007306619.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータシステムにおけるコンピュータ実行方法であって、
複数のビデオフレームのそれぞれについて、
前記ビデオフレームのグローバル輝度変化補償のオン／オフ信号の値を判定するステップであって、該値は前記ビデオフレームにグローバル輝度変化補償が使用されているかどうかに応じる、判定するステップと、
前記ビデオフレームのその他のフレームレベルの情報とともに前記グローバル輝度変化補償のオン／オフ信号の値をエントロピ符号化するステップと、
フレームレベルで、前記エントロピ符号化するステップの結果を信号通知するステップと
を備えることを特徴とするコンピュータ実行方法。
【請求項２】
前記複数のビデオフレームを含むシーケンスの、グローバル輝度変化補償機能オン／オフ信号の値を信号通知するステップをさらに備えたことを特徴とする請求項１に記載のコンピュータ実行方法。
【請求項３】
前記グローバル輝度変化補償機能オン／オフ信号の値を判定するステップの前に、前記複数のビデオフレームの少なくとも１つについて、
前記デオフレームの中のフェーディングを検出するステップと、
前記ビデオフレームのグローバル輝度変化補償のパラメータを推定するステップであって、前記グローバル輝度変化パラメータは前記ビデオフレームの前記エントロピ符号化するステップの結果の後に信号通知される、推定するステップと
を備えることを特徴とする請求項１に記載のコンピュータ実行方法。
【請求項４】
コンピュータシステムにおけるコンピュータ実行方法であって、
複数のビデオフレームのそれぞれについて、
フレームレベルで情報を受信するステップであって、該情報は、前記ビデオフレームのその他のフレームレベルの情報とともに前記ビデオフレームのグローバル輝度変化補償のオン／オフ信号の値をエントロピ符号化することの結果を含む、受信するステップと、
受信した前記情報から、前記ビデオフレームの前記グローバル輝度変化補償のオン／オフ信号の値及びその他のフレームレベルの情報をエントロピ復号するステップと、
前記ビデオフレームの前記グローバル輝度変化補償のオン／オフ信号に基づいて、前記ビデオフレームについてグローバル輝度変化補償がオンかオフかを判定するステップと
を備えることを特徴とするコンピュータ実行方法。
【請求項５】
前記複数のビデオフレームを含むシーケンスの、グローバル輝度変化補償機能オン／オフ信号の値を受信するステップをさらに備えたことを特徴とする請求項４に記載のコンピュータ実行方法。
【請求項６】
前記エントロピ符号化するステップの結果は、前記ビデオフレームの前記グローバル輝度変化補償のオン／オフ信号及び前記ビデオフレームのその他のフレームレベルの情報の値の両方を少なくとも一部表す可変長コードを含む
ことを特徴とする請求項１乃至５のいずれかに記載のコンピュータ実行方法。
【請求項７】
前記エントロピ符号化するステップの結果は、複数の可変長コードを持つ単一の可変長コードテーブルから選択された可変長コードを含むことを特徴とする請求項１乃至５のいずれかに記載のコンピュータ実行方法。
【請求項８】
前記可変長コードはエスケープコードであることを特徴とする請求項７に記載のコンピュータ実行方法。
【請求項９】
前記その他のフレームレベルの情報は、前記ビデオフレームの動きモード情報であることを特徴とする請求項１乃至５のいずれかに記載のコンピュータ実行方法。
【請求項１０】
グローバル輝度変化補償が前記ビデオフレームにオンである場合、前記エントロピ符号化するステップの結果は、第１の可変長コード、該第１の可変調コードに続く単一ビット及び該単一ビットに続く第２の可変長コードであり、前記単一ビットが、信号のグローバル輝度変化補償を最低頻度発生動きモードと区別することを特徴とする請求項１乃至５のいずれかに記載のコンピュータ実行方法。
【請求項１１】
グローバル輝度変化補償が前記ビデオフレームにオフである場合、  前記ビデオフレームの動きモードが最低頻度発生動きモードならば、前記エントロピ符号化するステップの結果は、前記ビデオフレームの最低頻度発生動きモードを表す可変長コード及び単一ビットであり、
そうでないならば、前記エントロピ符号化するステップの結果は、前記ビデオフレームの前記動きモードを表す可変長コードであることを特徴とする請求項１乃至５のいずれかに記載のコンピュータ実行方法。
【請求項１２】
コンピュータシステムにおけるコンピュータ実行方法であって、
ビデオの符号化中に、
ビデオシーケンスレベルで、ビデオシーケンスのフェーディング補償機能信号を信号通知するステップと、
フェーディング補償が使用可能の場合は、フレームレベルで、前記ビデオシーケンス中のビデオフレームの１つまたは複数のフェーディング補償のオン／オフ信号を信号通知するステップと
を備えることを特徴とするコンピュータ実行方法。
【請求項１３】
コンピュータシステムにおけるコンピュータ実行方法であって、
ビデオの復号中に、
ビデオシーケンスレベルで、ビデオシーケンスのフェーディング補償機能信号を受信し処理するステップと、
フェーディング補償が使用可能の場合は、フレームレベルで、前記ビデオシーケンス中のビデオフレームの１つまたは複数のフェーディング補償のオン／オフ信号を受信し処理するステップと
を備えることを特徴とするコンピュータ実行方法。
【請求項１４】
前記１つまたは複数のフェーディング補償のオン／オフ信号は、ビデオフレームについてフェーディング補償が使われているかどうかを表す、１ビデオフレーム当たり１ビットを含むことを特徴とする請求項１２又は１３に記載のコンピュータ実行方法。
【請求項１５】
前記１つまたは複数のフェーディング補償のオン／オフ信号は、１ビデオフレーム当たり１つまたは複数のエントロピコードを含み、該１つまたは複数のエントロピコードはフェーディング補償が使われているかどうかを、その他のフレームレベルの情報とともに表すことを特徴とする請求項１２又は１３に記載のコンピュータ実行方法。
【請求項１６】
フレームレベルで、前記１つまたは複数のフェーディング補償のオン／オフ信号にフェーディングパラメータが続くことを特徴とする請求項１２又は１３に記載のコンピュータ実行方法。
【請求項１７】
請求項１乃至５、１２又は１３のいずれかに記載の方法をコンピュータ実行可能命令によってプログラムされたコンピュータシステムに実施させるための該コンピュータ実行可能命令を記憶したことを特徴とするコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ビデオ画像を処理するコンピュータ実行方法及び記録媒体に関する。より詳しくは、ビデオ処理アプリケーションにおけるフェーディング補償について信号通知（signaling）するための技術及びツールに係り、例えば、ビデオエンコーダが、基準画像にフェーディング補償を行い、フェーディング補償が使用されたことを信号通知し、そのフェーディング補償のフェーディングパラメータを信号通知するコンピュータ実行方法及び記録媒体に関する。
【背景技術】
【０００２】
ディジタルビデオは、大容量の記憶及び送信能力を消費する。典型的な生ディジタルビデオシーケンスは、１秒あたり１５または３０のフレームを含む。各フレームは、何万または何十万ものピクセル（画素とも呼ばれる）を含む。各ピクセルは、画像のごく小さい要素を表す。生の形では、コンピュータは、通例、２４ビットで１ピクセルを表す。したがって、典型的な生ディジタルビデオシーケンスの１秒当たりのビット数、またはビットレートは、５００万ビット／秒またはそれ以上のことがある。
【０００３】
ほとんどのコンピュータ及びコンピュータネットワークは、生ディジタルビデオを処理するための資源が不足している。この理由から、エンジニアは、圧縮（コーディングまたは符号化とも呼ぶ）を使って、ディジタルビデオのビットレートを低減させる。圧縮は可逆的であってもよく、この場合、ビデオの品質は損なわれないが、ビデオの複雑さによってビットレートの低減は限定される。あるいは、圧縮は不可逆的な場合もあり、この場合、ビデオの品質は損なわれるが、ビットレートの低減はより劇的である。圧縮解除は圧縮の逆を行う。
【０００４】
一般に、ビデオ圧縮技術は、フレーム内圧縮及びフレーム間圧縮を含む。フレーム内圧縮技術は、一般にＩフレームまたはキーフレームと呼ばれる個々のフレームを圧縮する。フレーム間圧縮技術は、前及び／または次のフレームを参照して、フレームを圧縮し、フレームは一般に予測フレーム、ＰフレームまたはＢフレームと呼ばれる。
【０００５】
マイクロソフト社のウィンドウズ（登録商標）メディアビデオ、バージョン８（ＷＭＶ８）は、ビデオエンコーダ及びビデオデコーダを含む。ＷＭＶ８エンコーダは、フレーム内及びフレーム間圧縮を使用し、ＷＭＶ８デコーダは、フレーム内及びフレーム間圧縮解除を使用する。
【０００６】
Ａ．ＷＭＶ８におけるフレーム内圧縮
図１は、ＷＭＶ８エンコーダにおける、キーフレーム中のピクセルブロック１０５に、ブロックベースのフレーム内圧縮を行う例１００を示す。例えば、ＷＭＶ８エンコーダは、キービデオフレームを８×８のピクセルブロックに分割し、個々のブロックに８×８の離散コサイン変換（ＤＣＴ）１１０を適用して、８×８のピクセルブロック１０５を８×８のＤＣＴ係数ブロック１１５に変換する。エンコーダは、ＤＣＴ係数を量子化して（図中符号１２０）、８×８の量子化ＤＣＴ係数ブロック１２５にする。次いで、エンコーダは、これにエントロピ符号化を行うための準備をする。
【０００７】
エンコーダは、符号化されるブロックに隣接する、前に符号化されたブロック（例えば、隣接ブロック１３５）のＤＣ係数１３６との差分として、ＤＣ係数１２６を符号化する。エンコーダエントロピは差分１４０を符号化する。図１は、隣接（左側の）ブロック１３５の左縦列１３７との差分１４７として符号化された、ＡＣ係数の左縦列１２７を示す。残りのＡＣ係数は、量子化ＤＣＴ係数ブロック１２５からのものである。
【０００８】
エンコーダは、予測された量子化ＡＣ  ＤＣＴ係数の８×８ブロック１４５を１次元配列１５５にスキャンし（１５０）、次いで、エントロピが、ランレングスコーディング１６０のバリエーション（variation）を使って、スキャンしたＡＣ係数を符号化する。エンコーダは、１つまたは複数のＲＵＮ／ＬＥＶＥＬ／ＬＡＳＴテーブル１６５からエントロピコードを選択して、エントロピコード１７０を出力する。
【０００９】
Ｂ．ＷＭＶ８におけるフレーム間圧縮
ＷＭＶ８エンコーダにおけるフレーム間圧縮は、ブロックベースの動き補償予測コーディング、その後に残差の変換コーディングを使用する。図２及び３は、ＷＭＶ８エンコーダにおける、予測フレームに対するブロックベースのフレーム間圧縮を示す。特に、図２は、予測フレーム２１０の動き推定（motion estimation）を示し、図３は、予測フレームの、動きが推定されたブロックの予測残差の圧縮を示す。
【００１０】
例えば、ＷＭＶ８エンコーダは、予測フレームを８×８のピクセルブロックに分割する。４つの８×８ブロックのグループは、マクロブロックを形成する。各マクロブロックについて、動き推定プロセスが実行される。動き推定は、ピクセルマクロブロックの動きを、基準フレーム、例えば前に符号化された先行フレームに近づける。図２では、ＷＭＶ８エンコーダは、予測フレーム２１０中のマクロブロック２１５の動きベクトルを計算する。動きベクトルを計算するために、エンコーダは、基準フレーム２３０のサーチエリア２３５中をサーチする。エンコーダは、サーチエリア２３５内で、予測フレーム２１０からのマクロブロック２１５を、様々な候補マクロブロックと比較して、よくマッチする候補マクロブロックを見つける。エンコーダは、よくマッチするマクロブロックを見つけた後、そのマッチするマクロブロックに動きベクトル（コード化されたエントロピ）を指定する情報を出力して、デコーダが復号中にそのマッチするマクロブロックを見つけることができるようにする。動き補償を使って予測フレーム２１０を復号する場合、デコーダは、動きベクトルを使い、基準フレーム２３０からの情報を使って、マクロブロック２１５の予測マクロブロックを計算する。マクロブロック２１５の予測が完全なことはめったにないので、エンコーダは、通常、予測マクロブロックとマクロブロック２１５自体の８×８ピクセルブロックの差（誤差または残差ブロックとも呼ぶ）を符号化する。
【００１１】
図３は、ＷＭＶ８エンコーダにおける誤差ブロック３３５の計算及び符号化の例３００を示す。誤差ブロック３３５は、予測ブロック３１５と元のカレントブロック３２５の差である。エンコーダは、誤差ブロック３３５にＤＣＴ３４０を適用し、その結果、８×８の係数ブロック３４５が得られる。次いで、エンコーダはＤＣＴ係数を量子化し（３５０）、その結果、８×８の量子化ＤＣＴ係数ブロック３５５が得られる。量子化のステップサイズは調整可能である。量子化の結果、精度が損なわれるが、係数の情報が完全に失われるわけではない。
【００１２】
次いで、エンコーダは、８×８の量子化ＤＣＴ係数ブロック３５５をエントロピ符号化する準備をする。エンコーダは、８×８のブロック３５５を６４個の要素を有する１次元配列３６５にスキャンする（３６０）。それによって、係数は、一般に、低周波数から高周波数の順に並び、一般にゼロ値の長い列ができる。
【００１３】
エンコーダエントロピは、ランレングスコーディング３７０のバリエーションを使って、スキャンした係数を符号化する。エンコーダは、１つまたは複数のＲＵＮ／ＬＥＶＥＬ／ＬＡＳＴテーブル３７５からエントロピコードを選択して、エントロピコードを出力する。
【００１４】
図４は、フレーム間コード化（ｉｎｔｅｒ−ｃｏｄｅｄ）ブロックのための対応する復号プロセスの例４００を示す。ＤＣＴ係数を量子化するために、再構築されたブロック４７５は、対応する元のブロックと同一ではない。この圧縮は不可逆である。
【００１５】
図４について要約すると、デコーダは、１つまたは複数のＲＵＮ／ＬＥＶＥＬ／ＬＡＳＴテーブル４１５ともに可変長復号４１０、及びランレングス復号４２０を使って、予測残差を表すエントロピ符号化した情報を復号する。デコーダは、エントロピ復号した情報を記憶している１次元配列４２５を、２次元ブロック４３５に逆スキャンする（４３０）。デコーダは、データの逆量子化及び逆離散コサイン変換の両方を行い（４４０）、その結果、再構築された誤差ブロック４４５が得られる。別個の動き補償のパスでは、デコーダは、基準フレームからの変位に関する動きベクトル情報４５５を使って、予測ブロック４６５を計算する。デコーダは、予測ブロック４６５を再構築誤差ブロック４４５と結合して（４７０）、再構築ブロック４７５を形成する。
【００１６】
元のフレームと再構築フレームの間の変化量を歪みといい、フレームのコード化に必要なビット数をそのフレームのレートという。歪みの量はレートにだいたい反比例する。言い換えれば、フレームのコード化に使用するビット数が少ない（圧縮率が高い）ほど歪みは大きくなり、またその反対も言える。
【００１７】
Ｃ．従来の動きに基づくビデオ圧縮の限界
フェーディング、モーフィング、ブレンディングなどの効果を有するビデオシーケンスは、従来の動きに基づくビデオ圧縮方法が一般にこのようなフレームには有効ではないため、符号化するのに相対的に多数のビットを必要とする。例えば、あるフレームから次のフレームで、フレーム中のオブジェクトがある方向にわずかに移動したビデオシーケンスについて考えてみよう。典型的なブロックマッチングの動き推定技術では、フェーディングのないビデオシーケンスにおいては、カレントフレーム中のあるブロックに適したマッチを前のフレーム中に見つけ、結果として得られる動きベクトルを符号化することは簡単なことかもしれない。しかし、例えば、そのビデオシーケンス中で「フェードトゥブラック（ｆａｄｅ−ｔｏ−ｂｌａｃｋ）」が発生している場合には、カレントフレーム中のすべての輝度値が前のフレームに対して変化しており、それによって、ビデオエンコーダは、そのブロックに適したマッチを見つけることができなくなる。フェーディングは、自然の照明の変化によってもシーケンス中に発生することがある。その他の遷移効果であるブレンディング及びモーフィングも、簡単な動き推定／補償の有効性を低下させることがある。
【００１８】
Ｄ．ビデオ圧縮及び圧縮解除の標準
ＷＭＶ８以外にも、ビデオ圧縮及び圧縮解除に関するいくつかの国際標準がある。これらの標準には、動画エキスパートグループＭＰＥＧ（Ｍｏｔｉｏｎ  Ｐｉｃｔｕｒｅ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ）１、２及び４の標準、及びＩＴＵ（国際電気通信連合）のＨ．２６１、Ｈ．２６２、Ｈ．２６３の標準が含まれる。これらの標準は、ＷＭＶ８と同様、フレーム内圧縮とフレーム間圧縮の組み合わせを使っている。ただし、これらの標準は、一般に、使用している圧縮技術の詳細についてはＷＭＶ８とは異なる。例えば、符号化中に、画像の解像度を適応させて変更するために使用できる、予測の際に使用する基準画像再サンプリングモードについて記載している標準もある（例えば、非特許文献１参照）。
【００１９】
ディジタルビデオにとってビデオ圧縮及び圧縮解除がきわめて重要であることを考えれば、ビデオ圧縮及び圧縮解除が盛んに開発されている分野であることも驚くことではない。
【００２０】
【非特許文献１】Ｈ．２６３標準の付録Ｐ
【発明の開示】
【発明が解決しようとする課題】
【００２１】
しかし、従来のビデオ圧縮及び圧縮解除技術の利点が何であろうと、それらは、フェーディング、ブレンディング、またはモーフィング効果を含むビデオシーケンスの、レート歪みパフォーマンスを改善するための、様々な技術及びツールの有利点を備えてはいない。
【００２２】
ビデオ圧縮の目標の１つは、レート歪みパフォーマンスを改善すること、言い換えれば、より少ないビット数で同じ品質を達成すること、または同じビット数でより高い品質を達成することである。この目標を達成する１つの方法は、ビデオシーケンスの、符号化に相対的に多数ビットを必要とする部分を識別し、次いで、そのような部分をよりよく圧縮するための方法を見つけることである。ビデオシーケンスには、フェーディング、モーフィング、ブレンディングなどの効果を有する部分はあまりない。しかし、このような部分が発生した場合には、従来の動きに基づくビデオ圧縮方法が一般にそのような部分には有効ではないため、符号化に多数ビットを必要とする。
【００２３】
本発明は、このような課題に鑑みてなされたもので、その目的とするところは、フェーディング、ブレンディング、またはモーフィング効果を含むビデオシーケンスの、レート歪みパフォーマンスを改善するための、様々な技術及びツールを対象とした、ビデオ画像を処理するコンピュータ実行方法及び記録媒体を提供することにある。
【課題を解決するための手段】
【００２４】
したがって、要約すれば、詳細な説明は、フェードイン、フェードアウト、クロスフェード、またはその他のフェーディング、ブレンディング、またはモーフィング効果を含むビデオシーケンスの、レート歪みパフォーマンスを改善するための、様々な技術及びツールを対象としている。例えば、ビデオエンコーダは、基準フレームを調整することにより、カレントフレームのフェーディング補償を行う。これによって、基準フレームを使った動き補償がより効率的になる。ビデオエンコーダは、次いで、対応するビデオデコーダがどのようにフェーディング補償を行うべきかを信号通知する。ビデオデコーダは、信号通知された情報を受け取り、基準フレームを調整することによってフェーディング補償を行う。特に、詳細な説明では、一般的なビデオシーケンスについてのフェーディング補償情報に関連するビットレートを低減する、フェーディング補償情報を信号通知するための効率的な方法を述べている。
【００２５】
第１の技術及びツールのセットでは、ビデオエンコーダまたはデコーダは、ビデオ画像（例えば、カレントビデオフレーム）のフェーディング補償のオン／オフ信号を処理する。例えば、ビデオエンコーダは、ビデオ画像にフェーディング補償を使用するかどうかに応じて、オン／オフ信号の値を決定する。ビデオエンコーダは、次いで、オン／オフ信号を伝送する（フェーディング補償を使用する場合には、フェーディングパラメータとともに）。対応するビデオデコーダは、オン／オフ信号を受け取り（フェーディングパラメータがある場合には、それとともに）、次いで、ビデオ画像のフェーディング補償がオンかオフかを、そのオン／オフ信号に基づいて判断する。
【００２６】
第２の技術及びツールのセットでは、フェーディング補償のオン／オフ信号は、他の画像レベル情報（例えば、動きモード情報）とともにエントロピ符号化される。これによって、一般的なビデオシーケンス中のオン／オフ信号に関連するビットレートが低減される。例えば、１つまたは複数のエントロピコードは、ビデオ画像のオン／オフ信号を、そのビデオ画像のその他の画像レベルの情報とともに表す。
【００２７】
第３の技術及びツールのセットでは、ビデオエンコーダまたはデコーダは、ビデオシーケンス中のフェーディング補償の機能信号を処理する。フェーディング補償が使用可能の場合は、ビデオエンコーダまたはデコーダは、ビデオシーケンス中のビデオ画像の１つまたは複数のオン／オフ信号を処理する。例えば、機能信号はシーケンスレベルのものであり、オン／オフ信号は画像レベルのものである。
【００２８】
種々の技術及びツールは、組み合わせても独立させても使用することができる。様々な実施形態は、説明した技術及びツールの１つまたは複数を実装する。
【００２９】
さらなる特徴及び有利点は、添付の図面を参照しながら以下に続ける、様々な実施形態の詳細な説明から明らかになろう。
【発明の効果】
【００３０】
以下説明するように本発明によれば、フェーディング、ブレンディング、またはモーフィング効果を含むビデオシーケンスの、レート歪みパフォーマンスを改善するための、様々な技術及びツールを対象とした、ビデオ画像を処理するコンピュータ実行方法及び記録媒体を提供できる。
【発明を実施するための最良の形態】
【００３１】
以下、図面を参照して本発明の実施形態を詳細に説明する。
【００３２】
記載の実施形態は、フェーディング推定及び／または補償のための技術及びツールに関する。フェーディング補償／推定を行わないと、フェーディング、モーフィング、ブレンディングなどの効果を有するビデオシーケンスは、従来の動きに基づくビデオ圧縮方法が一般にこのようなフレームには有効ではないため、符号化に相対的に多数のビットを必要とする。記載の実施形態は、このようなシーケンス中でフェーディング推定／補償を行うことによって、レート歪みパフォーマンスを改善する。様々な実施形態は、グローバル輝度変化パラメータを推定し、適用し、コード化し、かつ／または復号するための技術及びツールに関する。
【００３３】
いくつかの実施形態では、フェーディング補償は、１つまたは複数の基準フレームにグローバル輝度変化を実施して、フェーディングを補償するステップを含む。グローバル輝度変化は、定義済み領域を対象とする輝度の変化である。定義済み領域は、フレーム、フレームの一部（例えば、フレーム中の個々のブロックまたはマクロブロック、あるいはフレーム中のマクロブロックのグループ）、あるいはコード化または復号された画像の、別の特定の一部であってよい。次いで、カレントフレームを、動き推定／補償によって、調整した１つまたは複数の基準フレームから予測する。あるいは、フェーディング補償は、ブレンディングやモーフィングなどの効果を補償するための、基準フレームへのグローバル変化を含む。一般に、フェーディング補償は、フェーディング（すなわち、フェードトゥブラックまたはフェードフロムブラック（ｆａｄｅ−ｆｒｏｍ−ｂｌａｃｋ））、ブレンディング、モーフィング、または、ピクセル値の強度に影響を与えるその他の自然または合成の照明の効果に対するいずれかの補償を含む。しかし、ここでは、文脈が明らかにそうではないことを示す場合を除き、一般性が損なわれることなく、グローバル輝度変化及びフェーディングという用語を相互交換可能に使用する。
【００３４】
フレームにフェーディング補償を行うことの代案として、いくつかの実施形態では、フィールド、オブジェクト層、またはその他の画像にフェーディング補償を行う。
【００３５】
いくつかの実施形態では、ＹＵＶ色空間で基準フレームの、輝度及びクロミナンスチャネルの、ピクセル値を調整することにより、フェーディング補償を行う。この調整は、輝度のピクセル値を基準化して（scaling）シフトするステップと、クロミナンスのピクセル値を基準化してシフトするステップとを含む。あるいは、色空間が異なり（例えば、ＹＩＱまたはＲＧＢ）、かつ／または補償がその他の調整技術を使用する。
【００３６】
エンコーダ／デコーダは、フレームごとのベースでフェーディング推定／補償を行う。あるいは、エンコーダ／デコーダは、特定のその他のベースで、または、１つまたは複数のブロックまたはマクロブロックなど、フレームの一部について、フェーディング推定／補償を行う。
【００３７】
様々な技術及びツールは、組み合わせても、独立させても使用することができる。様々な実施形態は、記載の技術及びツールの１つまたは複数を実装する。これらの技術の動作を、一般に、説明のために特定の順番で記載してあるが、この記載方法は、特定の順序付けが必要とされる場合を除き、その動作順序を多少並べ替えた場合も含むことを理解されたい。例えば、順次に記載してある動作を、場合によっては、並べ替えることが可能であり、または同時に行われることが可能である。さらに、簡単にするために、流れ図には、一般に、特定の技術をその他の技術とともに使用することができる様々な方法を示していない。
【００３８】
いくつかの実施形態では、ビデオエンコーダ及びデコーダが、ビットストリーム中で様々なフラグ及び信号を使用する。特定のフラグ及び信号を記載しているが、この記載方法は、フラグ及び信号の様々な表記法（例えば、１ではなく０）を含むことを理解されたい。
【００３９】
Ｉ．コンピューティング環境
図５は、記載の実施形態のいくつかを実施することができる、適切なコンピューティング環境の一般化した例（図中符号５００）を示す。技術及びツールは、多種多様な汎用または専用コンピューティング環境で実装できるので、コンピューティング環境５００は、使用または機能の範囲に関して、何ら限定を示唆するものではない。
【００４０】
図５を参照すると、コンピューティング環境５００は、少なくとも１つの処理装置（プロセッサ）５１０及びメモリ５２０を含む。図５では、この最も基本的な構成５３０が破線で囲まれている。処理装置５１０は、コンピュータ実行可能命令を実行し、実または仮想プロセッサであってよい。多重処理システムでは、処理能力を向上させるために、複数の処理装置がコンピュータ実行可能命令を実行する。メモリ５２０は揮発性メモリ（例えば、レジスタ、キャッシュ、ＲＡＭ（random access memory））、不揮発性メモリ（例えば、ＲＯＭ（read only memory）、ＥＥＰＲＯＭ（electrically erasable PROM）、フラッシュメモリなど）、またはこれらの２種類の特定の組み合わせであってよい。メモリ５２０は、ビデオエンコーダまたはビデオデコーダのような、エンコーダまたはデコーダを実装するソフトウェア５８０を記憶している。
【００４１】
コンピューティング環境はさらなる特徴を持つ場合がある。例えば、コンピューティング環境５００は、記憶装置５４０、１つまたは複数の入力装置５５０、１つまたは複数の出力装置５６０、及び１つまたは複数の通信接続５７０を含む。バス、コントローラ、またはネットワークなどの相互接続メカニズム（図示せず）は、コンピューティング環境５００のコンポーネントを相互接続する。一般に、オペレーティングシステムソフトウェア（図示せず）は、コンピューティング環境５００中で実行するその他のソフトウェアに動作環境を提供し、コンピューティング環境５００のコンポーネントの活動を調整する。
【００４２】
記憶装置５４０は、リムーバブルまたはノンリムーバブルであってよく、磁気ディスク、磁気テープまたはカセット、ＣＤ（compact disc [disk]）−ＲＯＭ、ＤＶＤ（digital versatile disk）、または、情報を記憶するために使用することができ、コンピューティング環境５００内でアクセスすることができるいずれかのその他の媒体を含む。記憶装置５４０は、エンコーダまたはデコーダを実行するソフトウェア５８０の命令を記憶する。
【００４３】
入力装置５５０は、キーボード、マウス、ペン、またはトラックボールなどのタッチ入力装置、音声入力装置、スキャン装置、またはコンピューティング環境５００に入力を供給する他の装置であってよい。オーディオまたはビデオの符号化用として、入力装置５５０は、サウンドカード、ビデオカード、ＴＶチューナカード、またはオーディオまたはビデオ入力をアナログまたはディジタルの形で受け付ける同様の装置、あるいはオーディオまたはビデオサンプルをコンピューティング環境５００内に読み込むＣＤ−ＲＯＭまたはＣＤ−ＲＷ（CD-ReWritable）であってよい。出力装置５６０は、ディスプレイ、プリンタ、スピーカ、ＣＤライタ、またはコンピューティング環境５００から出力を供給する他の装置であってよい。
【００４４】
通信接続５７０は、通信媒体を介した、別のコンピューティングエンティティへの通信を可能にする。通信媒体は、コンピュータ実行可能命令、オーディオまたはビデオの入力または出力、あるいはその他のデータなどの情報を、変調データ信号で運ぶ。変調データ信号は、信号中の情報を符号化するように、その特性の１つまたは複数が設定または変更された信号である。例として、通信媒体には、電気、光、ＲＦ（radio frequencies）、赤外線、音響、またはその他の搬送波を用いて実装した有線または無線技術が非限定的に含まれる。
【００４５】
技術及びツールを、コンピュータ可読媒体の一般的な状況で説明することができる。コンピュータ可読媒体は、コンピュータ環境内でアクセスできる任意の利用可能な媒体である。例として、コンピューティング環境５００の場合、コンピュータ可読媒体には、メモリ５２０、記憶装置５４０、通信媒体、及び上記のいずれかの組み合わせが非限定的に含まれる。
【００４６】
技術及びツールを、プログラムモジュール中に含まれる命令など、コンピューティング環境中のターゲットとする実または仮想プロセッサ上で実行されるコンピュータ実行可能命令の一般的な状況で説明することができる。一般に、プログラムモジュールには、特定のタスクを実行し、または特定の抽象データ型を実装する、ルーチン、プログラム、ライブラリ、オブジェクト、クラス、コンポーネント、データ構造などが含まれる。様々な実施形態では、プログラムモジュールの機能を、プログラムモジュール間で要望通りに結合または分割することができる。プログラムモジュールのコンピュータ実行可能命令は、ローカルまたは分散コンピューティング環境内で実行することができる。
【００４７】
説明のために、詳細な説明では、コンピューティング環境におけるコンピュータの動作を記載するのに、「推定する（estimate）」、「信号を送る（signal）」、「符号化する（encode）」、「復号する（decode）」などの用語を使っている。これらの用語は、コンピュータが実行する動作の高レベルの抽象概念であり、人間が実行する動作と混同してはならない。これらの用語に対応する実際のコンピュータの動作は、実装により異なる。
【００４８】
ＩＩ．汎用型ビデオエンコーダ及びデコーダ
図６は汎用型ビデオエンコーダ６００の構成図であり、図７は汎用型ビデオデコーダ７００の構成図である。
【００４９】
エンコーダ及びデコーダ内のモジュールの間に示す関係は、エンコーダ及びデコーダ内の情報の主な流れを表し、簡略にするため、その他の関係は示していない。特に、図６及び７は、ビデオシーケンス、フレーム、マクロブロック、ブロックなどのために使用する、エンコーダの設定、モード、テーブルなどを表す補助的情報を示していない。このような補助的情報は、一般にエントロピ符号化を行った後、出力ビットストリームで送られる。出力ビットストリームのフォーマットは、ウィンドウズ（登録商標）メディアビデオフォーマットまたは別のフォーマットでよい。
【００５０】
エンコーダ６００及びデコーダ７００は、ブロックベースであり、４：２：０のマクロブロックフォーマットを使用する。各マクロブロックフォーマットは、４つの８×８の輝度ブロック（１つの１６×１６のマクロブロックとして扱うことがある）及び２つの８×８クロミナンスブロックを含む。あるいは、エンコーダ６００及びデコーダ７００は、オブジェクトベースであり、異なるマクロブロックフォーマットまたはブロックフォーマットを使用し、または、８×８ブロック及び１６×１６マクロブロックとは異なるサイズまたは構成のピクセルセット上で動作する。
【００５１】
実装及び所望の圧縮のタイプに応じて、エンコーダまたはデコーダのモジュールを追加し、省略し、複数のモジュールに分割し、他のモジュールと結合し、かつ／または同様のモジュールと置き換えることができる。別の実施形態では、異なるモジュール及び／またはその他のモジュール構成を有するエンコーダまたはデコーダが、記載の技術の１つまたは複数を実施する。
【００５２】
Ａ．ビデオエンコーダ
図６は、一般的なビデオエンコーダシステム６００の構成図である。エンコーダシステム６００は、カレントフレーム６０５を含むビデオフレームのシーケンスを受け取り、出力として圧縮ビデオ情報６９５を生成する。ビデオエンコーダの特定の実施形態は、一般に、汎用エンコーダ６００の変形のまたは補足のバージョンを使用する。
【００５３】
エンコーダシステム６００は、予測フレーム及びキーフレームを圧縮する。説明のために、図６は、エンコーダシステム６００を通るキーフレームのパス、及び順方向予測フレームのパスを示す。エンコーダシステム６００のコンポーネントの多くは、キーフレーム及び予測フレームの両方を圧縮するために使用される。これらのコンポーネントが実行する正確な動作は、圧縮される情報のタイプに応じて異なる。
【００５４】
予測フレーム（Ｐフレーム、双方向予測の場合はＢフレーム、またはフレーム間コード化フレームとも呼ぶ）は、１つまたは複数の他のフレームからの予測（またはそれらとの差）に関して表される。予測残差は、予測されたものと元のフレームの差である。これに対し、キーフレーム（Ｉフレーム、フレーム内コード化（ｉｎｔｒａ−ｃｏｄｅｄ）フレームとも呼ぶ）は、他のフレームを参照することなく圧縮される。
【００５５】
カレントフレーム６０５が順方向予測フレームの場合、動き推定（motion estimator）６１０は、カレントフレーム６０５のマクロブロックまたはその他のピクセルセットの、基準フレームに関する動きを推定する。基準フレームは、フレーム記憶（frame store）６２０中に一時的に記憶されている、再構築した前のフレーム６２５である。別の実施形態では、基準フレームは後のフレームであり、またはカレントフレームが双方向に予測される。動き推定６１０は、動きベクトルなどの動き情報６１５を補助情報として出力する。動き補償（motion compensator）６３０は、再構築した前のフレーム６２５に動き情報６１５を適用して、動き補償済みのカレントフレーム６３５を形成する。しかし、予測が完全なことはめったになく、動き補償カレントフレーム６３５と元のカレントフレーム６０５の差は予測残差（residual）６４５である。あるいは、動き推定６１０及び動き補償６３０は別のタイプの動き推定／補償を適用する。
【００５６】
周波数変換（frequency transformer）６６０は、空間領域のビデオ情報を、周波数領域（すなわちスペクトル）データに変換する。ブロックベースのビデオフレームの場合、周波数変換６６０は、離散コサイン変換（ＤＣＴ）またはＤＣＴの変形を、動き予測残差データのブロックに適用して、ＤＣＴ係数ブロックを生成する。あるいは、周波数変換６６０は、フーリエ変換など、別の従来の周波数変換を適用し、あるいは、ウェーブレットまたはサブバンド分析を使用する。いくつかの実施形態では、周波数変換６６０は、キーフレームの空間予測残差のブロックに周波数変換を適用する。周波数変換６６０は、８×８、８×４、４×８またはその他のサイズの周波数変換を適用することができる。
【００５７】
次いで、量子化（quantizer）６７０が、スペクトルデータ係数のブロックを量子化する。量子化は、フレームごとのベースまたはその他のベースで変化するステップサイズを用いて、均一なスカラー量子化をスペクトルデータに適用する。あるいは、量子化６７０は、別のタイプの量子化、例えば不均一なベクトル量子化または非適応（non-adaptive）量子化を、スペクトルデータ係数に適用し、または、周波数変換を使用しないエンコーダシステム中の空間領域データを直接、量子化する。適応量子化に加えて、エンコーダ６００は、フレームドロップ、適応フィルタリング、またはレート制御のためのその他の技術を使用することができる。
【００５８】
その後の動き推定／補償のために、再構築したカレントフレームが必要な場合には、逆量子化（inverse quantizer）６７６が、量子化したスペクトルデータ係数に逆量子化を実施する。次いで、逆周波数変換（inverse frequency transformer）６６６が、周波数変換６６０の動作の逆を実行して、（予測フレームの）再構築した予測残差または再構築したキーフレームを生成する。カレントフレーム６０５がキーフレームだった場合には、再構築したキーフレームが再構築したカレントフレーム（図示せず）としてとられる。カレントフレーム６０５が予測フレームだった場合には、再構築した予測残差が動き補償カレントフレーム６３５に追加されて、再構築したカレントフレームを形成する。フレーム記憶６２０は、次のフレームの予測に使用するために、再構築したカレントフレームを一時的に記憶する。いくつかの実施形態では、エンコーダは、再構築したフレームに非ブロック化フィルタを適用して、フレームのブロック中の不連続部を適応可能に滑らかにする。
【００５９】
エントロピコーダ６８０は、ある補助的情報（例えば、動き情報６１５、量子化ステップサイズ）だけでなく、量子化６７０の出力も圧縮する。代表的なエントロピコーディング技術には、算術コーディング、差分コーディング、ハフマンコーディング、ランレングスコーディング、ＬＺコーディング、ディクショナリコーディング、及び上記の組み合わせが含まれる。エントロピコーダ６８０は、一般に、異なる種類の情報（例えば、ＤＣ係数、ＡＣ係数、様々な種類の補助的情報）に合わせて異なるコーディング技術を使用し、特定のコーディング技術内で、複数のコードテーブルから選択することができる。
【００６０】
エントロピコーダ６８０は、圧縮ビデオ情報６９５をバッファ６９０内に置く。バッファレベル標識が、ビットレート適応モジュールにフィードバックされる。圧縮ビデオ情報６９５は、一定または比較的一定のビットレートでバッファ６９０から出され、そのビットレートで後続ストリーミングのために記憶される。あるいは、エンコーダシステム６００は、圧縮ビデオ情報を、圧縮後、直ちに流す。
【００６１】
バッファ６９０の前または後で、圧縮ビデオ情報６９５を、ネットワーク上に伝送するためにチャネルコーディングを施すことができる。このチャネルコーディングは、圧縮ビデオ情報６９５にエラー検出及び訂正データを適用する。
【００６２】
Ｂ．ビデオデコーダ
図７は、一般的なビデオデコーダシステム７００の構成図である。デコーダシステム７００は、圧縮したビデオフレームシーケンスの情報７９５を受け取り、再構築したフレーム７０５を含む出力を生成する。ビデオデコーダの特定の実施形態は、一般に、汎用型デコーダ７００の変形のまたは補足のバージョンを使用する。
【００６３】
デコーダシステム７００は、予測フレーム及びキーフレームを圧縮解除する。説明のために、図７は、デコーダシステム７００を通るキーフレームのパス、及び順方向予測フレームのパスを示す。デコーダシステム７００のコンポーネントの多くは、キーフレーム及び予測フレームの両方を圧縮解除するために使用される。これらのコンポーネントが実行する正確な動作は、圧縮されている情報のタイプに応じて異なる。
【００６４】
バッファ７９０は、圧縮ビデオシーケンスの情報７９５を受け取り、受け取った情報をエントロピデコーダ７８０が利用できるようにする。バッファ７９０は、一般に、時間が経ってもだいたい一定の速度で情報を受け取り、帯域幅または伝送の、短期的な変動を滑らかにする、ジッタバッファを含む。バッファ７９０には、再生（playback）バッファ及びその他のバッファも含めることができる。あるいは、バッファ７９０は、変化する速度で情報を受け取る。バッファ７９０の前または後で、圧縮したビデオ情報にチャネルデコーディングを施し、エラー検出及び訂正のために処理することができる。
【００６５】
エントロピデコーダ７８０は、一般にエンコーダ中で実施されたエントロピ符号化の逆を適用することにより、エントロピコード化した量子化データ及びエントロピコード化した補助的情報（例えば、動き情報７１５、量子化ステップサイズ）をエントロピ復号する。エントロピ復号技術には、算術復号、差分復号、ハフマン復号、ランレングス復号、ＬＺ復号、ディクショナリ復号、及び上記の組み合わせが含まれる。エントロピデコーダ７８０は、しばしば、異なる種類の情報（例えば、ＤＣ係数、ＡＣ係数、異なる種類の補助的情報）に合わせて異なる復号技術を使用し、特定の復号技術内で、複数のコードテーブルから選択することができる。
【００６６】
再構築するフレーム７０５が順方向予測フレームの場合、動き補償（motion compensator）７３０は、基準フレーム７２５に動き情報７１５を適用して、再構築するフレーム７０５の予測７３５を形成する。例えば、動き補償７３０は、マクロブロックの動きベクトルを使って、基本フレーム７２５中のマクロブロックを見つける。フレーム記憶（frame store）７２０は、基準フレームとして使用するために、前の再構築したフレームを記憶している。あるいは、動き補償７３０は、別のタイプの動き補償を適用する。動き補償７３０による予測が完全なことはめったになく、デコーダ７００は、予測残差も再構築する。
【００６７】
デコーダがその後の動き補償のために再構築したフレームを必要とする場合、フレーム記憶７２０は、再構築したカレントフレームを、次のフレームの予測で使用するために一時的に記憶する。いくつかの実施形態では、エンコーダは、再構築したフレームに非ブロック化フィルタを適用して、フレームのブロック中の不連続部を適応可能に滑らかにする。
【００６８】
逆量子化（inverse quantizer）７７０は、エントロピ復号したデータを逆量子化する。一般に、逆量子化７７０は、フレームごとのベースまたはその他のベースで変化するステップサイズを用いて、エントロピ復号したデータに均一なスカラー逆量子化を適用する。あるいは、逆量子化７７０は、別のタイプの逆量子化、例えば不均一なベクトル量子化または非適応量子化をデータに適用し、または、逆周波数変換を使用しないデコーダシステム中の空間領域データを直接、逆量子化する。
【００６９】
逆周波数変換（inverse frequency transformer）７６０は、量子化した周波数領域データを、空間領域のビデオ情報に変換する。ブロックベースのビデオフレームの場合、逆周波数変換７６０は、ＤＣＴ係数ブロックに逆ＤＣＴ（ＩＤＣＴ）またはＩＤＣＴの変形を適用して、動き予測残差データを生成する。あるいは、逆周波数変換７６０は、フーリエ変換など、別の従来の逆周波数変換を適用し、あるいは、ウェーブレットまたはサブバンド分析を使用する。いくつかの実施形態では、逆周波数変換７６０は、逆周波数変換をキーフレームの空間予測残差のブロックに適用する。逆周波数変換７６０は、８×８、８×４、４×８またはその他のサイズの逆周波数変換を適用することができる。
【００７０】
ＩＩＩ．グローバル輝度変化の推定／補償
記載したいくつかの実施形態は、少数のパラメータで記述されたグローバル輝度変化の推測、適用、コード化及び／または復号のための技術及びツールを必要とする。それらのツール及び技術は、再構築したビデオの同じ主観的及び客観的品質がより低いビットレートで達成されることを可能にする。個々のツールまたは技術のそれぞれは、１）グローバル輝度変化補償スキーム、２）グローバル輝度パラメータのパラメータ化、３）グローバル輝度パラメータの計算上有効な推定／抽出、４）グローバル輝度変化があるフレームの低コストの信号通知、及び５）グローバル輝度パラメータの低コストの信号通知、の１つまたは複数を実現する。輝度変化は、フレーム、フィールド、例えば個々のブロック、個々のマクロブロック、またはマクロブロックのグループなど、フレーム／フィールドの一部、あるいは画像の他の特定の部分に対してグローバルであり得る。以下の説明の多くは、フレーム全体における輝度変化の、パラメータ化及び補償について述べているが、輝度変化補償のための同じフレームワークを、（ａ）画像の一部分（例えば、個々のブロックまたはマクロブロック）中のフェーディングの存在を判定すること、（ｂ）この部分内のフェーディングパラメータを計算すること、及び（ｃ）画像の所与の一部分について、これらのフェーディングパラメータをパラメータ化して伝送すること、に使用することができる。これらの技術を、画像の複数の部分について繰り返すことができる。
【００７１】
グローバル輝度変化（「フェーディング」としても知られる）は、シーンの明度及び／またはコントラストにおける変化のことがある。一般に、この変化は線形である。しかし、フェーディングを、同じフレームワーク内のいずれかの滑らかで非線形のマッピングを含むものとしても定義できる。フェーディング、モーフィング、ブレンディングは、ビデオコンテンツの作成において、シーンの遷移に伴うビデオフレームの進展を滑らかにするために、また、特殊な効果を与えるために、ビデオの作成において広く使用されている。さらに、ある種のシーケンスでは、照明の変化によって自然にフェーディングが発生する。フェーディング、モーフィング、ブレンディングなどの効果を伴うビデオフレームは、一般にこのようなフレームには有効ではない、従来の動きに基づくビデオ圧縮方法では、符号化するのに相対的に多数のビットを必要とする。
【００７２】
Ａ．グローバル輝度変化補償スキーム
図８は、グローバル輝度変化補償を使ってビデオを符号化するための技術を示す流れ図８００を示す。図６に示すエンコーダ６００などのエンコーダは、流れ図８００の処理を実施することができる。
【００７３】
最初に、エンコーダは、ビデオシーケンス中の符号化されるカレントフレームなど、符号化するフレーム中のフェーディングをチェックする（ステップ８１０）。エンコーダは、フレームのフェーディングを検出すると（ステップ８１０）、フェーディングパラメータを取得する（ステップ８２０）。例えば、エンコーダは、後でセクションＣ．で説明するようにフェーディングを検出し、フェーディングパラメータを取得する。あるいは、エンコーダは、異なる技術を使ってフェーディングを検出し、かつ／またはパラメータを取得する。エンコーダは、フェーディング補償がオンまたはオフかを信号通知し、オンの場合は、フェーディングパラメータも信号通知する。
【００７４】
フレームにフェーディングが検出されると、エンコーダは、次いで、例えば後のセクションＢ．で説明しているように、そのフレームの１つまたは複数の基準フレームに対してフェーディング補償を行う（ステップ８３０）。エンコーダが複数の基準フレームに対してフェーディング補償を行う場合、その複数の基準フレームは、符号化されるフレームの（再生順で）前または後のものであってよい。エンコーダは、符号化されるフレームのどの部分が、複数の基準フレームのどれから補償されるのかを信号通知する。この信号通知については、エンコーダは、すでにこのようなシステムで基準フレームの選択に使用している信号通知を使用することができる。いくつかの実施形態では、エンコーダは、符号化するフレームの動き推定／補償で、元の基準フレーム及び再マップした基準フレームの両方を使用することができる。エンコーダは、例えばフェードしている内容とフェードしていないオーバレイの両方を有するカレントフレームを符号化するために、これを行うことがある。
【００７５】
フェーディング補償の後、エンコーダは、動き推定／補償を使って、調整した基準フレームからフレームを符号化する（ステップ８４０）。エンコーダは、フェーディングを検出しないと、フェーディングパラメータを取得することなく、またはフェーディング補償を行うことなく、フレームを符号化する（ステップ８４０）。符号化が終わると（ステップ８５０）、プロセスは終了する。
【００７６】
図９は、フェーディング補償を使って符号化したビデオを復号するための技術を示す流れ図９００を示す。図７に示すデコーダ７００などのデコーダは、流れ図９００の処理を実施することができる。
【００７７】
最初に、デコーダは、復号するフレームのフェーディングがオンかオフかをチェックする（ステップ９１０）。このチェックを行う方法の１つは、エンコーダが送る信号通知情報をチェックすることである。デコーダは、フレームのフェーディングがオンであると判断すると（ステップ９１０）、フェーディング補償を行う（ステップ９２０）。例えば、デコーダは、エンコーダが送るフェーディングパラメータを取得して、復号するフレームの１つまたは複数の基準フレームに対して（エンコーダで行われたように）フェーディング補償を行う。
【００７８】
デコーダは、次いで、例えば、動き補償を使って、調整した基準フレームからフレームを復号する（ステップ９３０）。フェーディングがオフの場合、デコーダは、フェーディング補償を行うことなくフレームを復号する（ステップ９３０）。復号が終わると（ステップ９４０）、プロセスは終了する。
【００７９】
図１０は、グローバル輝度変化補償を行うための例示的なエンコーダのフレームワーク１０００を示す。このフレームワーク１０００では、エンコーダは、フェーディング推定によって取得したパラメータを使って、基準フレームを条件付きで再マップする。エンコーダは、かなりの確実性及び一貫性があるフェーディングをフレームに検出すると、再マッピングまたはフェーディング補償を行う。検出しないと、フェーディング補償は同一の動作（すなわち、出力＝入力）である。
【００８０】
図１０を参照すると、エンコーダは、フェーディング検出モジュール１０３０を使ってカレントフレーム１０１０を基準フレーム１０２０と比較し、フェーディングが発生しているかどうかを判定する。いくつかの実施形態では、基準フレームが、ビデオシーケンス中のカレントフレームの前のフレームである。あるいは、基準フレームが前のフレームよりもさらに早いフレーム、またはカレントフレームの後のフレームである。複数の基準フレームを使用する場合、エンコーダは、各基準フレーム中のフェーディングをチェックすることができる。エンコーダは、フェーディングの検出の結果に基づき、「フェーディングオン」または「フェーディングオフ」信号１０４０を生成する。
【００８１】
フェーディングがオンの場合、フェーディング推定モジュール１０５０が、カレントフレーム１０１０及び基準フレーム１０２０の上で実行された計算に基づいて、フェーディングパラメータ１０６０を推定する。（いくつかの実施形態におけるフェーディング推定の詳細を、後のセクションＣ．で説明する。）
フェーディング補償モジュール１０７０は、フェーディングパラメータ１０６０を使って、基準フレーム１０２０（または複数の基準フレーム）を再マップする。エンコーダは、次いで、その他のエンコーダモジュール１０８０（例えば、動き推定と補償、周波数変換、及び量子化モジュール）を使って、フレームを圧縮する。エンコーダは、動きベクトル、残差、及び符号化したカレントフレーム１０１０を定義するその他の情報１０９０を出力する。並進動きベクトルを使った動き推定／補償の他に、グローバル輝度変化補償のフレームワークを、多種多様の動き補償に基づくビデオコーデックに適用することができる。
【００８２】
図１１は、グローバル輝度変化補償を行うための例示的なデコーダのフレームワーク１１００を示す。デコーダは、復号したカレントフレーム１１１０を生成する。符号化されたフェーディング補償フレームを復号するために、デコーダは、フェーディング補償モジュール１１３０を使って、前に復号した基準フレーム１１２０（または複数の基準フレーム）に対してフェーディング補償を行う。
【００８３】
フェーディングオン／オフ信号１１４０が、符号化されたカレントフレーム１１１０のフェーディングがオンであることを表す場合、デコーダは基準フレーム１１２０に対してフェーディング補償を行う。デコーダは、フェーディング推定中に取得したフェーディングパラメータ１１５０を使用して、（エンコーダで行われたように）フェーディング補償を行う。そうでない場合（カレントフレームのフェーディングがオフである場合）、フェーディング補償は同一の動作（すなわち、出力＝入力）である。
【００８４】
デコーダは、次いで、その他のデコーダモジュール１１６０（例えば、動き補償、逆周波数変換、及び逆量子化モジュール）を使って、符号化されたフレームを動きベクトル、残差、及びエンコーダが供給するその他の情報１１７０を用いて圧縮解除することができる。
【００８５】
Ｂ．パラメータ化及び補償
ビデオ編集においては、単純なピクセルの線形変換を輝度及びクロミナンスチャネルに適用することによって、合成フェーディングが実現されることがある。同様に、時間とともに変化する合成で、クロスフェーディングが２つのビデオシーケンスの線形和として実現されることがある。したがって、いくつかの実施形態では、図１０のフレームワーク１０００中に示すもののようなエンコーダが、フェーディング（自然であろうと合成であろうと）をピクセルの線形変換としてパラメータ化し、クロスフェーディングを線形和としてパラメータ化し、図１１のフレームワーク１１００中に示すもののようなデコーダが対応する変換を行う。
【００８６】
Ｉ（ｎ）をフレームｎの画像とし、Ｉ（ｎ−１）をその前のフレームの画像とする。動きが小さい場合、単純なフェーディングは、式（１）の１次の関係でモデル化される。（式（１）中の関係は、ビデオシーケンス中の可能性ある動きのために近似関係である。）
【００８７】
【数１】
2007306619.tif 000003
【００８８】
式中、フェーディングパラメータＢ及びＣは、それぞれ明度及びコントラストに対応する。非線形フェーディングが発生すると、１次成分は、一般に、変化の大きさを表す。
【００８９】
画像シーケンスＵ（ｎ）から画像シーケンスＶ（ｎ）までのクロスフェードは、式（２）の関係でモデル化することができる。式（２）の関係は、シーケンス中の可能性ある動きのために、近似関係である。
【００９０】
【数２】
2007306619.tif 000004
【００９１】
【数３】
2007306619.tif 000005
【００９２】
はクロスフェードの開始を表し、
【００９３】
【数４】
2007306619.tif 000006
【００９４】
は、クロスフェードの終了を表す。いくつかのフレームにわたるクロスフェードの場合、αは小さい。クロスフェードの開始時、ｎ番目のフレームは、ｎ−１番目のフレームの減衰した（コントラスト＜１）バージョンに近い。終了に向かって、ｎ番目のフレームは、ｎ−１番目のフレームの増幅した（コントラスト＞１）バージョンである。言い換えれば、クロスフェードの開始時には、ｎ番目のフレームを、コントラスト値１−αによって基準化されたｎ−１番目のフレームとしてモデル化することができ、クロスフェードの終了時には、ｎ番目のフレームを、コントラスト値１＋αによって基準化されたｎ−１番目のフレームとしてモデル化することができる。式（２）は、クロスフェードの開始時及び終了時に、エンコーダが、線形則（下記の式（３）及び（４）に示すものなど）を使って、基準フレーム（例えば、ｎ−１番目のフレーム）を再マップすることによりｎ番目のフレームを取得することを示す。
【００９５】
エンコーダは、基準フレームを再マップすることによって、グローバル輝度変化の補償を実行する。エンコーダは、ピクセルごとのベース、または特定のその他のベースで、基準フレームを再マップする。元の再マップされていない基準フレームは、基本的に破棄される（ただし、基準フレームが複数のシナリオでは、再マップされていない基準フレームも使用することができる）。
【００９６】
次の線形則は式（１）に基づき、２つのパラメータＢ及びＣ（シーンの明度及びコントラストに対応）に関して、基準フレームＲの輝度値を、再マップされた基準フレーム
【００９７】
【数５】
2007306619.tif 000007
【００９８】
に再マップする。
【００９９】
【数６】
2007306619.tif 000008
【０１００】
基準フレームの輝度値は、コントラスト値で基準化（scale）され（または「重み付け」され）、明度値だけ（すなわち、オフセットを加算することによって）シフトされる。クロミナンスについては、次の規則に従って再マップを行う。
【０１０１】
【数７】
2007306619.tif 000009
【０１０２】
式中、μは、クロミナンス値の平均である。一実施形態では、１２８を、符号なし８ビット表示のクロミナンス値の平均とみなす。このクロミナンスの再マップの規則は、明度の成分を使用しない。
【０１０３】
いくつかの実施形態では、式（３）及び（４）で使用している２パラメータの線形再マップを、より高次の項に拡張している。例えば、式（５）は、輝度値Ｒを
【０１０４】
【数８】
2007306619.tif 000010
【０１０５】
に再マップする２次式である。
【０１０６】
【数９】
2007306619.tif 000011
【０１０７】
他の実施形態は、他の再マップ規則を使用している。このような再マップ規則のカテゴリの１つでは、非線形フェーディングの場合には、線形マッピングが非線形マッピングに置き換えられる。
【０１０８】
Ｃ．フェーディングパラメータの推定
フェーディング推定は、符号化プロセス中にフェーディングパラメータを計算するプロセスである。図１０のフレームワーク１０００中に示すもののようなエンコーダは、符号化プロセス中に、明度Ｂ及びコントラストＣのパラメータを計算することができる。
【０１０９】
いくつかの実施形態では、正確に、かつ迅速な方法でパラメータを推定するために、エンコーダは、図１２に示す流れ図１２００の処理を使用する。図示の技術では、輝度チャネルのみが分析されている。あるいは、より多くの計算資源が利用可能な場合は、エンコーダは分析にクロミナンスを含める。例えば、エンコーダは、式（３）及び（４）で（式（３）だけでなく）Ｃを求めて、Ｃをよりローバスト（robust）にする。
【０１１０】
図１２に示す実施形態では、フェーディング推定プロセス中は、シーン中の動きが無視される。これは、（ａ）フェード及びクロスフェードが一般に静止または動きが少ないシーンで発生し、また、（ｂ）動きが多いシーンでのグローバル輝度変化補償の有用性は非常に低い、という観察に基づく。あるいは、エンコーダは、フェーディングパラメータと動き情報を一緒にして求める。その場合、流れ図１２００のより後の段階で、またはその他の特定の時に、その動き情報を使用して、フェーディングパラメータの正確度を高める。動き情報を使用する１つの方法は、基準フレームの、動きが検出された部分を、フェーディング推定の計算から除外することである。
【０１１１】
流れ図１２００の様々な部分において、絶対誤差の和、
【０１１２】
【数１０】
2007306619.tif 000012
【０１１３】
は、フェーディングの存在とパラメータとを判断するためのメトリックスの役割を果たす。あるいは、エンコーダは、同じ誤差項に対する二乗誤差の和（ＳＳＥ）または平均二乗誤差（ＭＳＥ）など、その他またはさらなるメトリックスを使い、または、異なる誤差項を使う。
【０１１４】
流れ図１２００中の様々な時点で、エンコーダは、ＥＸＩＴ条件を満たした時点で流れ図１２００を終了することができる。図１２は、いくつかのＥＸＩＴ条件を示す。別のＥＸＩＴ条件（図１２には図示せず）の場合、エンコーダは、流れ図１２００の開始時または中間段階で、コントラストパラメータが１．０に近いかどうかを（一実施形態では０．９９＜Ｃ＜１．０２）をチェックし、もしそうであれば、流れ図１２００を終了する。
【０１１５】
エンコーダは、カレントフレーム及び基準フレームをダウンサンプリングすることによって、流れ図１２００のプロセスを開始する（ステップ１２１０）。一実施形態では、エンコーダは、縦横ともに４倍でダウンサンプリングする。あるいは、エンコーダは別の倍率でダウンサンプリングし、または全くダウンサンプリングしない。
【０１１６】
エンコーダは、次いで、カレント及び基準フレームの、より低い解像度のバージョン（下付き文字ｄで表す）の絶対誤差の和、Σａｂｓ（Ｉｄ（ｎ）−Ｒｄ）を計算する（ステップ１２２０）。絶対誤差の和は、ダウンサンプリングしたカレントフレームとダウンサンプリングした基準フレームのピクセル値の差を測定する。絶対誤差の和が特定の閾値（例えば、ダウンサンプリングしたカレントフレーム及び基準フレーム中のピクセルの輝度値の間の、所定の差の測度）よりも小さい場合（ステップ１２３０）、エンコーダは、フェーディングは発生していないという結論を下し、フェーディング補償を行わない（ステップ１２３５）。
【０１１７】
そうでない場合は、エンコーダは、明度（Ｂ）及びコントラスト（Ｃ）パラメータを推定する（ステップ１２４０）。Ｂ及びＣのファーストカット（first cut）の推定は、ＲｄについてＩｄ（ｎ）をモデル化することによって得られる。一実施形態では、明度及びコントラストパラメータは、ダウンサンプリングしたフレーム全体に対する線形回帰によって得られる。他の実施形態では、エンコーダは、よりローバストな分析のために、総合最小二乗、最小二乗メディアンなどのその他の形の統計分析を使用する。例えば、エンコーダは、誤差項Ｉｄ（ｎ）−ＲｄのＭＳＥまたはＳＳＥを最小限にする。状況によっては、ＭＳＥ及びＳＳＥがローバストではなく、そのため、エンコーダは、誤差項の絶対誤差の和もテストする。エンコーダは、特定の点における高誤差値（フェーディングではなく、動きによる場合がある）を廃棄する。
【０１１８】
エンコーダは、次いで、Ｂ及びＣを量子化及び逆量子化することによって、Ｂｆ及びＣｆを算出する（ステップ１２５０）。ファーストカットのパラメータを量子化及び逆量子化してＢｆ及びＣｆを得て、それらが確実に許容範囲内に収まり、また整合性のテストができるようにする。いくつかの実施形態では、一般に８ビット深度（depth）の画像の場合、Ｂ及びＣがそれぞれ６ビットに量子化される。Ｂは、符号付き５ビット整数として表される、−３２から３１までの整数値をとる。Ｃｑとして表されるＣの量子化値は、量子化された値の１から６３までに対応する、０．０１５６２５（１／６４）の一様なステップの、０．５１５６２５から１．４８４３７５までの値である。量子化は、Ｂ及びＣを最も近い有効逆量子化値に四捨五入して、適切なビンインデックス（bin index）をピッキングすることにより行われる。
【０１１９】
エンコーダは、次いで、元の有界の絶対誤差の和（ＳＯｒｇＢｎｄ）及び再マップした有界の絶対誤差の和（ＳＲｍｐＢｎｄ）を算出する（ステップ１２７０）。いくつかの実施形態では、エンコーダは、適合度分析（ｇｏｏｄｎｅｓｓ−ｏｆ−ｆｉｔ  ａｎａｌｙｓｉｓ）を使って和を算出する。元の解像度の、ランダムまたは擬似ランダムのピクセル集合の場合、エンコーダは、再マップした有界の絶対誤差の和、Σｂａｂｓ（Ｉ（ｎ）−ＣｆＲ−Ｂｆ）を計算する。式中、特定の界Ｍについて、ｂａｂｓ（ｘ）＝ｍｉｎ（ａｂｓ（ｘ），Ｍ）である。一実施形態では、Ｍは、符号化されるフレームの量子化パラメータの倍数である。界Ｍは、量子化パラメータが「粗」の場合には高くなり、量子化パラメータが「微」の場合には低くなる。エンコーダはまた、元の有界の絶対誤差の和、Σｂａｂｓ（Ｉ（ｎ）−Ｒ）を累算する。計算資源が利用可能な場合は、エンコーダは、全フレームの有界の誤差の和を計算することができる。
【０１２０】
次いで、エンコーダは、元の、及び再マップした有界の絶対誤差の和の相対的値に基づき、フェーディング補償を使うべきかどうかを判断する（ステップ１２８０）。例えば、いくつかの実施形態では、再マップした有界の絶対誤差の和が、元の有界の絶対誤差の和の特定の閾値である率σ以下でない場合には、エンコーダはフェーディング補償を行わない。一実施形態では、σ＝０．９５である。エンコーダは、フェーディング補償を行っている場合に、このときはＩ（ｎ）とＲの間の線形回帰に基づいて、しかしフル解像度で、フェーディングパラメータを再計算する（ステップ１２９０）。計算時間の節約のために、エンコーダは、フレームのランダムまたは擬似ランダムサンプリングに対して繰り返し線形回帰を実施することができる。この場合も、エンコーダは、よりローバストな分析のためには、その他の形の統計分析（例えば、総合最小二乗、最小二乗メディアンなど）を代替的に使用することができる。符号化が終わると（ステップ１２９５）、プロセスは終了する。
【０１２１】
一実施形態では、エンコーダは、式（３）及び（４）においてＣ＝−１である特殊なケースも認める。この特殊なケースは、ビットストリーム中のＣｑ＝０によって信号通知される。この「逆」モードでは、基準フレームは、Ｂだけシフトされる前に逆転され、Ｂの範囲は、２の一様なステップの、１９３から３１９までの値である。
【０１２２】
Ｄ．信号通知
図１０のフレームワーク１０００中に示すもののようなエンコーダは、フェーディングオン／オフ信号通知情報を、フェーディングパラメータとともに送る。図１１のフレームワーク１１００中に示すもののようなデコーダは、その信号通知情報及びフェーディングパラメータを受け取る。
【０１２３】
いくつかの実施形態では、エンコーダは、シーケンスレベルで、グローバル輝度変化補償がそのシーケンスに使用可能であるかどうかを示す１ビットを送る。エンコーダはまた、フレームレベルでグローバル輝度変化を信号通知することができ、かつ／またはフレーム中の個々のブロックまたはマクロブロックなど、フレームの一部分のグローバル輝度変化を信号通知することができる。
【０１２４】
典型的なビデオシーケンス中のフレームの間では、グローバル輝度変化またはフェーディングが発生することは稀である。ビットを追加することによって、フェーディングを（または、同様に、フェーディングが存在しないことを）を信号通知することが可能である。例えば、エンコーダは、１ビットを使って、フレームレベルでフェーディングを（または、同様に、フェーディングが存在しないことを）信号通知することができる。しかし、フェーディングを（または、同様に、フェーディングが存在しないことを）、他の情報と一緒に信号通知する方がより経済的である。例えば、エンコーダは、動きモード（すなわち、動きベクトルの数及び構成、サブピクセル補間スキーム）のための可変長コード（ＶＬＣ）テーブル中のエスケープシーケンスを使って、フレームレベルの信号通知を行う。このような実施形態では、エンコーダは、最低頻度動きモード（ｔｈｅ  ｌｅａｓｔ  ｆｒｅｑｕｅｎｔ  ｍｏｔｉｏｎ  ｍｏｄｅ）とフェーディング補償の起動とを一緒に信号通知する。
【０１２５】
イベントＦはフェーディングの存在を表し、Ｇはそのフレームに最低頻度動きモードが選択されていることを表すとする。ＶＬＣ＜ＭＶＭＯＤＥ＞は、Ｇが偽である場合の動きモードを表すとする。このＶＬＣテーブルは、Ｆ及び／またはＧが真である場合にそれを信号通知するために使用される、エスケープ記号＜ＥＳＣ＞を備えて設計されている。表１は、フェーディング補償が起動されると、Ｆと動きモードが一緒にコード化され、その後にフェーディングパラメータＢ及びＣが付けられることを示している。
【０１２６】
【表１】
2007306619.tif 000013
【０１２７】
あるフレームについてグローバル輝度変化が起動されると、別のＶＬＣ（＜ＭＶＭＯＤＥ＞または＜ＥＳＣ＞のいずれか）が付けられて、動きモードであることを表す。次いで、Ｂ及びＣにそれぞれ２つの６ビットの固定長コードワードを使って、パラメータを信号通知する。あるいは、ＶＬＣを使ってパラメータを信号通知する。ブロックやマクロブロックなど、フレームの個々の部分に適用された場合には、エンコーダは、その部分は独立させて、フェーディングパラメータを信号通知することができる。例えば、ビデオフレームのあるマクロブロックにのみフェーディングが適用される場合、コード化されたブロックパターンや変換タイプなど、マクロブロックレベルの情報と結合したエントロピコードによって、フェーディング情報を信号通知することができる。
【０１２８】
図１３は、エンコーダが最低頻度動きモードとフェーディングの存在を一緒にコード化する場合の、コーディング構成（一実施形態の表１に対応する）を示す樹形図１３００である。（フェーディングパラメータのコーディングの詳細は省略する。）エンコーダは、ＶＬＣを使って、その他の動きモードのそれぞれを表す（例えば、コード「０」、「１０」、「１１０」は、それぞれ動きモード「０」、「１」、「２」を表す。）エンコーダは、フェーディングが起動されない場合には、最低頻度動きモードを表す「０」が付いたエスケープコード（例えば、「１１１」）を使う。エンコーダは、フェーディングが起動されることを表すには、「１」が付いたエスケープコードを使う。
【０１２９】
別途記載していない限り、本明細書に記載のプログラム、プロセス、または方法は、特定のタイプのコンピューティング環境に関するものではなく、またそれに限定されるものでもないことを理解されたい。様々なタイプの汎用または専用コンピューティング環境は、本明細書に記載の教示に従って使用することができ、または、動作を行うことができる。ソフトウェアで示す実施形態の要素をハードウェアで実装することができ、またその反対も可能である。
【０１３０】
本発明の原理を適用することができる多くの可能な実施形態を考慮して、特許請求の範囲及びその同等物の範囲及び趣旨に含み得るものすべてを、本発明として主張する。
【図面の簡単な説明】
【０１３１】
【図１】従来技術によるブロックに基づくフレーム内圧縮を示す図である。
【図２】従来技術によるビデオエンコーダ中の動き推定を示す図である。
【図３】従来技術によるブロックに基づくフレーム間圧縮を示す図である。
【図４】従来技術によるブロックに基づくフレーム間圧縮解除を示す図である。
【図５】本発明の実施形態を実装することができる、適切なコンピューティング環境の構成図である。
【図６】本発明の実施形態で使用される、汎用型ビデオエンコーダシステムの構成図である。
【図７】本発明の実施形態で使用される、汎用型ビデオデコーダシステムの構成図である。
【図８】本発明の実施形態の、フェーディング推定及び補償を使った、ビデオを符号化するための技術を示す流れ図である。
【図９】本発明の実施形態の、フェーディング補償を使った、ビデオを復号するための技術を示す流れ図である。
【図１０】本発明の実施形態の、フェーディング推定及び補償を行うことが可能なビデオエンコーダシステムの構成図である。
【図１１】本発明の実施形態の、フェーディング補償を行うことが可能なビデオデコーダの構成図である。
【図１２】本発明の実施形態の、フェーディングの検出及びパラメータの抽出のための技術を示す流れ図である。
【図１３】本発明の実施形態の、フレームにフェーディング補償を使用すべきかどうかを指示するための信号通知スキームを示す図である。
【符号の説明】
【０１３２】
１００  ブロックベースのフレーム内圧縮
１０５  ８×８のピクセルブロック
１１０  離散コサイン変換（ＤＣＴ）
１１５  ８×８のＤＣＴ係数ブロック
１２５  ８×８の量子化ＤＣＴ係数ブロック
１３５  隣接ブロック
１４５  ８×８ブロック
１７０  エントロピコード
１０９０、１１７０  その他の情報
１２６、１３６  ＤＣ係数
１２７、１３７  左縦列
１４０、１４７  差分
１５５、３６５、４２５  １次元配列
１６５、３７５、４１５  Ｒｕｎ／Ｌｅｖｅｌ／Ｌａｓｔテーブル
２１０  予測フレーム
２１５  マクロブロック
２３０、７２５、１０２０、１１２０  基準フレーム
２３５  サーチエリア
３１５、４６５  予測ブロック
３２５  元のカレントブロック
３３５  誤差ブロック
３４０  ＤＣＴ
３４５  ８×８の係数ブロック
３５５  ８×８の量子化ＤＣＴ係数ブロック
４００  復号プロセス
４１０  可変長復号可変長復号
４２０  ランレングス復号
４３５  ２次元ブロック
４４５  誤差
４５５  動きベクトル情報
４７５  再構築ブロック
５００  コンピューティング環境
５１０  処理装置
５２０  メモリ
５３０  基本的な構成
５４０  記憶装置
５５０  入力装置
５６０  出力装置
５７０  通信接続
５８０  ソフトウェア
６００  汎用型ビデオエンコーダ、エンコーダ
６０５、１０１０  カレントフレーム
６１０  動き推定
６１５、７１５  動き情報
６２０  フレーム記憶
６２５  フレーム
６３０、７３０  動き補償
６３５  動き補償カレントフレーム
６４５  予測残差
６６６、７６０  逆周波数変換
６６０  周波数変換
６７０  量子化
６７６、７７０  逆量子化
６９０、７９０  バッファ  ６８０  エントロピコーダ
６９５  圧縮ビデオ情報
７００  汎用型ビデオデコーダ
７０５  再構築フレーム
７２０  フレーム記憶
７３５  フレームの予測
７８０  エントロピデコーダ
７９５  ビデオフレームシーケンスの情報
８００  ビデオを符号化する流れ図
９００  ビデオを復号する流れ図
１０００  エンコーダフレームワーク
１０３０  フェーディング検出モジュール
１０５０  フェーディング推定モジュール
１０７０  フェーディング補償モジュール
１０８０  その他のエンコーダモジュール
１１００  デコーダフレームワーク
１１１０  復号されたカレントフレーム
１１３０  フェーディング補償モジュール
１１６０  その他のデコーダモジュール
１０４０、１１４０  フェーディングオン／オフ信号
１０６０、１１５０  フェーディングパラメータ
１２００  パラメータを推定するための流れ図
１３００  樹形図
【図１】
2007306619.tif 000014
【図２】
2007306619.tif 000015
【図３】
2007306619.tif 000016
【図４】
2007306619.tif 000017
【図５】
2007306619.tif 000018
【図６】
2007306619.tif 000019
【図７】
2007306619.tif 000020
【図８】
2007306619.tif 000021
【図９】
2007306619.tif 000022
【図１０】
2007306619.tif 000023
【図１１】
2007306619.tif 000024
【図１２】
2007306619.tif 000025
【図１３】
2007306619.tif 000026