(57)【特許請求の範囲】
【請求項１】
（ａ）ビデオシーケンス中の現在の画像フレームのピクセル値と基準画像フレームの該当ピクセル値との絶対差を求め、求めた各絶対差を平均し、この平均絶対差を現在の画像の生の歪み指数として算出する段階と、
（ｂ）ビデオシーケンスの以前の画像フレームの生の歪み指数から現在の画像フレームの生の歪み指数への百分率変化を歪み変化指数として求めるとともに、求めた歪み変化指数Ｈと、予め定めたしきい値Ｔ１，Ｔ２（Ｔ１＜Ｔ２）とに基づいて、Ｈ＜Ｔ１の場合は現在の画像の動き補償された歪み指数の推定値Ｓｅ（Ｉ）を、以前の画像に対して動き補償された歪み指数の推定値Ｓ（Ｉ−１）と同一値とし、Ｈ＞Ｔ２の場合は現在の画像の動き補償された歪み指数の推定値Ｓｅ（Ｉ）を、現在の画像に対する歪み指数ＭＡＤ（Ｉ）に因子ｋ（０＜ｋ＜１）を乗じた値とし、Ｔ１＜Ｈ＜Ｔ２の場合は現在の画像の動き補償された歪み指数の推定値Ｓｅ（Ｉ）を、Se(I)=S(I-1)+(k*MAD(I)-S(I-1))*(H-T1)/(T2-T1)として算出する段階と、
（ｃ）前記動き補償された歪み指数推定値により現在の画像をエンコードするかどうか及びそのエンコード方法を決定する段階と、
（ｄ）前記段階（ｃ）の決定により、ビデオ画像のシーケンスに対して圧縮されたビデオビットストリームを算出する段階と
を含むことを特徴とするビデオ画像のシーケンス処理方法。
【請求項２】
請求項１において、
前記段階（ａ）は、
（１）現在の画像フレームのピクセル値と基準画像フレームの該当ピクセル値との絶対差が所定のしきい値より小さい場合はこの絶対差を現在の画像の第１中間歪み指数として算出するとともに、前記絶対差が前記所定のしきい値より大きい場合はこの絶対差を現在の画像の第２中間歪み指数として算出する段階と、
（２）現在の画像と基準画像との間の相対的動きから発生する二重画像効果に対する修整を行う場合、二重画像相当領域内における前記第１中間歪み指数を有する第１のピクセルの数に前記第１中間歪み指数を乗じた値と、前記二重画像相当領域内における前記第２中間歪み指数を有する第２のピクセルの数に前記第２中間歪み指数を乗じた値の１／２と、前記二重画像相当領域内における前記第２のピクセルの数に前記第１中間歪み指数を乗じた値の１／２との和を求め、求めたこれらの値の和を、前記二重画像相当領域内における第１のピクセルの数と第２のピクセルの数との和で除算することにより、前記二重画像効果に対する修整を行うとともに、前記除算結果を前記生の歪み指数として出力する段階と
を含むことを特徴とするビデオ画像のシーケンス処理方法。
【請求項３】
請求項１において、
前記動き補償された歪み指数の推定値は、連続関数の一つである区分的連続関数を使用して算出されることを特徴とするビデオ画像のシーケンス処理方法。
【請求項４】
請求項１において、
前記歪み変化指数が第１のしきい値レベルより小さいと、動き補償された歪み指数の推定値は、以前の画像フレームに対して実際の動き補償された歪み指数と同一であり、
前記歪み変化指数が前記第１のしきい値レベルよりレベルが大の第２のしきい値レベルより大きいと、動き補償された歪み指数の推定値は、前記生の歪み指数とほぼ同一であり、
そのほかの場合、前記動き補償された歪み指数の推定値は、以前の画像フレームに対して実際の動き補償された歪み指数と、この歪み指数と前記生の歪み指数との差に前記歪み変化指数と前記第１のしきい値との差を乗じた値を第１のしきい値と第２のしきい値の差で除算した一次補間値との和と同一であることを特徴とするビデオ画像のシーケンス処理方法。
【請求項５】
請求項１において、
前記段階（ｃ）は、
（１）前記動き補償された歪み指数を用いて、該当バッファに現在の画像をＰフレームとして伝送する十分な空間があるか否かを決定する段階と、
（２）現在の画像での動きが生の歪み指数による特定しきい値レベルより大きいか否かを決定する段階と、
（３）前記段階（１）、（２）の結果によって、現在の画像をエンコードすべきかどうか及びその方法を決定する段階と
を含むことを特徴とするビデオ画像のシーケンス処理方法。
【請求項６】
請求項５において、
前記段階（１）は、２次方程式速度歪みモデルにより現在の画像をＰフレームにエンコードするのに必要なビット数を推定する段階を含むことを特徴とするビデオ画像のシーケンス処理方法。
【請求項７】
請求項６において、
前記２次方程式速度歪みモデルはつぎのように提示され、
（Ｒ−Ｈ）／Ｓｅ＝Ｘ１／Ｑ＋Ｘ２／（Ｑ**２）
ここで、
Ｒは現在の画像をエンコードするのに必要なビット数であり、
Ｈは現在の画像に対するオーバーヘッドデータをエンコードするのに必要なビット数であり、
Ｓｅは動き補償された歪み指数の推定値であり、
Ｑは現在の画像に対する平均量子化器ステップサイズであり、Ｘ１、Ｘ２は２次方程式速度歪みモデルのパラメータである
ことを特徴とするビデオ画像のシーケンス処理方法。
【請求項８】
請求項１において、
前記段階（ｃ）は、
（１）現在の画像をスキップするか、
（２）現在の画像をＢフレームにエンコードするか、
（３）現在の画像をＰＢフレームの一部にエンコードするか、又は
（４）現在の画像を基準フレームにエンコードするかを決定する段階
を含むことを特徴とするビデオ画像のシーケンス処理方法。
【請求項９】
請求項１において、
前記シーケンス処理は固定状態又は遷移状態で行われ、前記固定状態では、現在の画像はスキップされるか、Ｐフレーム、Ｂフレーム又はＰＢフレームの一部にエンコードされ、前記遷移状態では、現在の画像はスキップされるか、Ｉフレーム又はＰフレームにエンコードされることを特徴とするビデオ画像のシーケンス処理方法。
【請求項１０】
請求項９において、
前記シーケンス処理は、該当バッファレベルが特定しきい値レベルより低いときは、自動的に遷移状態から固定状態に転換することを特徴とするビデオ画像のシーケンス処理方法。
【請求項１１】
請求項１において、
前記段階（ａ）は、
（１）現在の画像フレームのピクセル値と基準画像フレームの該当ピクセル値との絶対差が所定のしきい値より小さい場合はこの絶対差を現在の画像の第１中間歪み指数として算出するとともに、前記絶対差が前記所定のしきい値より大きい場合はこの絶対差を現在の画像の第２中間歪み指数として算出する段階と、
（２）現在の画像と基準画像との間の相対的動きから発生する二重画像効果に対する修整を行う場合、二重画像相当領域内における前記第１中間歪み指数を有する第１のピクセルの数に前記第１中間歪み指数を乗じた値と、前記二重画像相当領域内における前記第２中間歪み指数を有する第２のピクセルの数に前記第２中間歪み指数を乗じた値の１／２と、前記二重画像相当領域内における前記第２のピクセルの数に前記第１中間歪み指数を乗じた値の１／２との和を求め、求めたこれらの値の和を、前記二重画像相当領域内における第１のピクセルの数と第２のピクセルの数との和で除算することにより、前記二重画像効果に対する修整を行うとともに、前記除算結果を前記生の歪み指数として出力する段階と
前記段階（ｂ）は、
（１）区分的連続関数を使用し、前記歪み変化指数に基づいて動き補償された歪み指数の推定値を算出する段階を含み、
ここで、前記歪み変化指数が第１のしきい値レベルより小さいと、動き補償された歪み指数の推定値は、以前の画像フレームに対して実際の動き補償された歪み指数と同一であり、
前記歪み変化指数が前記第１のしきい値レベルよりレベルが大の第２のしきい値レベルより大きいと、動き補償された歪み指数の推定値は、前記生の歪み指数とほぼ同一であり、
そのほかの場合、前記動き補償された歪み指数の推定値は、以前の画像フレームに対して実際の動き補償された歪み指数と、この歪み指数と前記生の歪み指数との差に前記歪み変化指数と前記第１のしきい値との差を乗じた値を第１のしきい値と第２のしきい値の差で除算した一次補間値との和と同一であり、
前記段階（ｃ）は、
（１）２次方程式速度歪みモデルにより現在の画像をＰフレームにエンコードするのに必要なビット数を推定することにより、動きが補償された歪み指数の推定値に基づいて現在の画像をＰフレームに伝送する十分な空間が該当バッファにあるかどうかを決定する段階と、
その際に、前記２次方程式速度歪みモデルはつぎのように与えられ、
（Ｒ−Ｈ）／Ｓｅ＝Ｘ１／Ｑ＋Ｘ２／（Ｑ**２）
ここで、
Ｒは現在の画像をエンコードするのに必要なビット数、
Ｈは現在の画像に対するオーバーヘッドデータをエンコードするのに必要なビット数、
Ｓｅは動き補償された歪み指数の推定値、
Ｑは現在の画像に対する平均量子化器ステップサイズ、
Ｘ１、Ｘ２は２次方程式速度歪みモデルのパラメータであり、
（２）現在の画像の動きが生の歪み指数に基づいた特定しきい値レベルより大きいかどうかを決定する段階と、
（３）前記段階（ｃ）（１）及び（ｃ）（２）の結果によって、現在の画像をエンコードするかどうか及びその方法を決定する段階とを含み、
前記段階（ｃ）は、（１）現在の画像をスキップするか、（２）現在の画像をＢフレームにエンコードするか、（３）現在の画像をＰＢフレームの一部にエンコードするか、又は（４）現在の画像を基準フレームにエンコードするかを決定する段階を含み、
前記シーケンス処理は固定状態又は遷移状態で行われ、
前記固定状態では、現在の画像はスキップされるか、Ｐフレーム、Ｂフレーム又はＰＢフレームの一部にエンコードされ、
前記遷移状態では、現在の画像はスキップされるか、Ｉフレーム又はＰフレームにエンコードされ、
該当バッファレベルが特定しきい値レベル以下であると、遷移状態から固定状態に自動的に転換されることを特徴とするビデオ画像のシーケンス処理方法。
【請求項１２】
ビデオ画像のシーケンスを処理し得る命令を含む多数の命令が記憶されたコンピュータ判読可能な媒体を有する処理器を用いるビデオ画像のシーケンス処理方法において、
（１）前記ビデオシーケンスにおいて、現在の画像フレームのピクセル値と基準画像フレームの該当ピクセル値との絶対差を求め、求めた各絶対差を平均し、この平均絶対差を現在の画像の生の歪み指数として算出する段階と、
（２）ビデオシーケンスの以前の画像フレームの生の歪み指数から現在の画像フレームの生の歪み指数への百分率変化を歪み変化指数として求めるとともに、求めた歪み変化指数Ｈと、予め定めたしきい値Ｔ１，Ｔ２（Ｔ１＜Ｔ２）とに基づいて、Ｈ＜Ｔ１の場合は現在の画像の動き補償された歪み指数の推定値Ｓｅ（Ｉ）を、以前の画像に対して動き補償された歪み指数の推定値Ｓ（Ｉ−１）と同一値とし、Ｈ＞Ｔ２の場合は現在の画像の動き補償された歪み指数の推定値Ｓｅ（Ｉ）を、現在の画像に対する歪み指数ＭＡＤ（Ｉ）に因子ｋ（０＜ｋ＜１）を乗じた値とし、Ｔ１＜Ｈ＜Ｔ２の場合は現在の画像の動き補償された歪み指数の推定値Ｓｅ（Ｉ）を、Se(I)=S(I-1)+(k*MAD(I)-S(I-1))*(H-T1)/(T2-T1)として算出する段階と、
（３）前記動き補償された歪み指数推定値により現在の画像をエンコードするかどうか及びそのエンコード方法を決定する段階と、
（４）前記段階（３）の決定により、ビデオ画像のシーケンスに対して圧縮されたビデオビットストリームを算出する段階と
を含むことを特徴とするビデオ画像のシーケンス処理方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明はビデオ画像処理に関するもので、特に、ビデオ圧縮時、動き推定を行う必要なくフレームをスキップする方法に関するものである。
【０００２】
本出願は弁理士登録番号ＳＡＲ１２７２８ＰＲＯＶとして１９９８年９月１８日に出願された米国仮出願番号６０／１００，９３９の出願日付に対する権利を主張する。
【０００３】
【従来の技術】
一般に、ビデオ圧縮処理時、画像が動き補償されたフレーム間の差を用いてエンコードされ、その際、画像データブロックが、現在エンコードされている画像における各ブロックと基準画像における選択されたブロックのピクセルとの間の差によりエンコードされるのが知られている。
【０００４】
ここで、現在の画像の特定ブロックのため、基準画像から一つのブロックを選択する過程を動き推定と称する。
動き推定の目的は、現在の画像のブロックと最も整合されるブロックを基準画像から捜して、前記二つのブロックのピクセル間の差を小さくすることにより、現在の画像のブロックを相対的に小さいビット数を使用して圧縮されたビットストリームにエンコードすることにある。
【０００５】
通常の動き推定アルゴリズムにおいて、現在の画像のブロックは、基準画像の既設定されたサーチ領域内で大きさ及び形状の同一であるほかのブロックと比較される。サーチ領域は、通常、各方向への特定ピクセル数（例えば、８）によるフレーム間動きに対して、現在の画像ブロックの該当位置に基づいて定義される。
【０００６】
そして、各々の比較には、画像データの２ブロック間の差の量を決定する数学的歪み指数の計算が含まれる。ほかの歪み指数も使用できるが、２ブロック間の該当ピクセル間の差の絶対値の合に相当する絶対差の合計（sum of absolute difference；ＳＡＤ）が通常の一つの歪み指数である。
【０００７】
現在の画像データのブロックに“最適に”整合される基準画像データのブロックを確認する方法が多数知られている。その１方法として、“抑止（brute force）”消耗的接近（exhaustive approach）方法がある。この方法においては、サーチ領域に対して個別に比較し、最低歪み値（lowest distortion value）により最適整合を指定する。計算負荷を減らすため、ほかの方法として、一部だけ比較する、例えばログに基づいた技法（log-based scheme）又は階層技法（layered scheme）などが実行されこともある。
【０００８】
前記両方の場合においても、結果は、現在の画像データのブロックに“最適に”整合するブロックを基準画像データブロックから選択することに左右される。選択された基準画像データのブロックは“最適整数−ピクセル位置（best integer-pixel location）”と言われる。なぜななら、これは、前記ブロック及び現在の画像データの該当ブロックの位置の距離がピクセルの整数値変位を示す整数であるＸ（水平）とＹ（垂直）を有する動きベクトルにより現わされるためである。最適整数−ピクセル位置の選択過程は、フル−ピクセル（full-pixel）動き推定又は整数−ピクセル（integer-pixel）動き推定と言及される。
【０００９】
この際に、全体的にエンコード技法をより改善するため、ハーフ−ピクセル（half-pixel）動き推定を実施できる。このハーフ−ピクセル動き推定において、現在の画像データブロックは、最適整数−ピクセル位置選択のための整数−ピクセル動き推定を実施した後、最適整数−ピクセル位置の周囲のほかのハーフ−ピクセル位置に対応する基準画像データと比較される。各ハーフ−ピクセル位置に対する比較は補間された基準画像データに基づく。
【００１０】
そして、動き推定技術の更にほかのいくつかの方法には他の技術に比べて少ない計算ですむものもあるが、いずれも動き推定にはなりの計算が要求される。
【００１１】
一方、ビデオ圧縮処理の主目的は、ビデオ画像シーケンスを示すために使用されるビットを減らすとともに、その結果である圧縮されたビデオビットストリームの画像品質を、再生中、適切なレベルに維持することである。そして、多くのビデオ圧縮適用の更にほかの目的は、一例として、伝送帯域幅及び／又は再生処理制限を充足させるため、相対的均一なビットレートを維持することである。
【００１２】
このようなビデオ圧縮処理はたびたびビットレートと再生品質との間のトレードオフを含む。トレードオフは、通常、圧縮されたビデオビットストリームにエンコードされる各画像の再生品質を選択的に減少させることにより、元のビデオの画像当たりの平均ビット数を減らすことを含む。その代わりに、又は付加的に、トレードオフは元のビデオシーケンスにおいて特定の画像をスキップすることにより、元の画像の一部のみを圧縮されたビデオビットストリームにエンコードすることを含むことができる。
【００１３】
この従来のビデオ圧縮アルゴリズムは、例えば、元のビデオシーケンスの画像を一つ置きに一つずつスキップする画像スキップの規則的なパターンを指示する。また、ビデオエンコーダは、ビットレート要求を充足させるために必要な程度だけ、付加的画像を適宜スキップすることができる。ここで、付加的画像をスキップする決定は、通常、動きの補償されたフレーム間の差の歪み指数（例えば、ＳＡＤ）に基づく。このことは動き推定が特定画像に対して実施された後にだけ成り立つ。
【００１４】
この際に、現在のフレームをスキップしないように決定される場合、動き推定処理により得た動き補償されたフレーム間の差は、さらに画像データをエンコードするのに使用される（例えば、離散コサイン変換（ＤＣＴ）処理、量子化、ラン長さエンコード及び可変長さエンコードのような技術を使用する正確なビデオ圧縮アルゴリズムに依存する）。反面、現在のフレームをスキップするように決定される場合は、動きの補償されたフレーム間の差は必要なく、処理はビデオシーケンスのつぎの画像に続けられる。
【００１５】
【発明が解決しようとする課題】
本発明の目的は、ビデオシーケンスの特定画像に対して動き推定を実施する必要なく、動き補償された歪み指数を推定するビデオ画像のシーケンス処理方法を提供することにある。
【００１６】
【課題を解決するための手段】
本発明の好ましい実施態様によると、推定された歪み指数は、ビデオエンコード中に動き推定を行わなずに画像をスキップするかどうかを決定するのに使用することができる。仮に、画像をスキップするように決定される場合、動き推定処理は省略され、それにより、ビデオ圧縮処理の計算負荷が減少する。一方、画像をエンコードするように決定される場合、動き推定処理は、つぎの圧縮処理に対する動き補償されたフレーム間の差を算出するために必要な程度に実行できる。本ビデオ圧縮技法において、動き推定処理は、その結果として得られるフレーム間の差が該当画像をエンコードするために必要なときにだけ実行される。
【００１７】
本発明の一実施態様によると、本発明は、（ａ）ビデオシーケンス中の現在の画像フレームのピクセル値と基準画像フレームの該当ピクセル値との絶対差を求め、求めた各絶対差を平均し、この平均絶対差を現在の画像の生の歪み指数として算出する段階と、（ｂ）ビデオシーケンスの以前の画像フレームの生の歪み指数から現在の画像フレームの生の歪み指数への百分率変化を歪み変化指数として求めるとともに、求めた歪み変化指数と予め定めたしきい値との大小比較に基づいて現在の画像の動き補償された歪み指数の推定値を算出する段階と、（ｃ）動き補償された歪み指数の推定値に基づいて現在の画像のエンコードの実行の有無及びその方法を決定する段階と、（ｄ）前記段階（ｃ）に基づいて、ビデオ画像のシーケンスに対する圧縮されたビデオビットストリームを算出する段階とを含むことを特徴とするビデオ画像のシーケンス処理方法である。
【００１８】
【発明の実施の形態】
本発明のそのほかの面、特徴及び利点はつぎの詳細な説明、添付した請求の範囲、及び添付図面により明らかになる。
以下、本発明の好ましい実施形態を添付図面に基づいて詳細に説明する。
【００１９】
現在の画像に対する生の歪み指数の算出
図１は本発明の一実施形態で、画像に対する生（つまり、動きが補償されていない）歪み指数の算出アルゴリズムの擬似コードを示す。図１のようなアルゴリズムを使用して算出された特定の生の歪み指数は平均絶対差（mean absolute difference；ＭＡＤ）である。
【００２０】
この際に、図１のアルゴリズムは、各ピクセルがマルチビットの強度値で表されるグレースケール画像に対する適用として解釈できる。また、図１のアルゴリズムは、各ピクセルが二つ以上のほかのマルチビット要素（例えば、ＲＧＢフォーマットにおける赤色、緑色及び青色要素、又はＹＵＶフォーマットにおける輝度（Ｙ）及び２色（Ｕ、Ｖ）要素）により現れるカラー画像に容易に拡張できる。
【００２１】
図１のアルゴリズムは、現在の画像のピクセルを相違した２類型、つまり基準画像の該当ピクセル値に十分に類似した輝度値を有するタイプＩピクセルと、基準画像の該当ピクセル値とは全く異なるピクセル値を有するタイプIIピクセルとに区分する。このようなアルゴリズムにおいて、“該当”ピクセルとは現在の画像のピクセルと同一の位置（つまり、同一列及び行）を有する基準画像のピクセルである。
【００２２】
ここで、基準画像と現在の画像の該当部分間に動きがないとき、現在の画像のその部分において、ピクセルは通常タイプＩの特徴を有する。同様に、相対的空間均一部分（つまり、ピクセルが概略的に同一値を有する部分）間に動きがあれば、そのピクセルも通常タイプＩの特徴を有するであろう。しかし、空間的非均一部分間に動きがあれば、現在の画像のピクセルと基準画像の該当ピクセルとの絶対差は相対的に大きく、前記現在の画像のピクセルの大部分は通常タイプIIの特徴を有するであろう。
【００２３】
図において、変数ｎ１及びｎ２はそれぞれ前記２タイプのピクセルに対するカウンタであり、変数ｄｉｓｔ１及びｄｉｓｔ２はそれぞれ前記２タイプのピクセルに対する中間歪み指数（intermediate distortion measure）である。新たな各画像に対し、前記４変数は図１のライン１、２で０に初期化される。
【００２４】
そして、現在の画像の各ピクセルに対し（ライン３）、現在のピクセル値と基準フレームの該当ピクセル値との間の絶対差（absolute difference ）ａｄが算出される（ライン４）。この際に、ａｄが特定しきい値ｔｈｒｅｓｈより小さいと、現在のピクセルはタイプＩに決定され、ｄｉｓｔ１とｎ１はそれぞれａｄと１だけ増加する（ｄｉｓｔ１＝ｄｉｓｔ１＋ａｄ、ｎ１＝ｎ１＋１）（ライン５）。反対の場合、現在のピクセルはタイプIIと決定され、ｄｉｓｔ２とｎ２がそれぞれａｄと１だけ増加する（ｄｉｓｔ２＝ｄｉｓｔ２＋ａｄ、ｎ２＝ｎ２＋１）（ライン６）。重要エッジを求めるため、パラメータｔｈｒｅｓｈに対する通常の値は約２０である。その後、中間歪み指数ｄｉｓｔ１及びｄｉｓｔ２はそれぞれライン８、９で正規化される（ｄｉｓｔ１／ｎ１、ｄｉｓｔ２／ｎ２）。
【００２５】
仮に、ビデオ会議の場合、均一背景（例えば、均一に塗られた壁）の前にある話者の頭部のフレーム間で相対的動き（例えば、側面対側面動き（side-to-side motion ））があると、壁の一部が頭部に該当するピクセルで占められ、以前に頭部により占められていた壁の部分は新たに露出される。このような状況により、原フレーム間の差から、二つの相違した重要エッジ、つまり頭部により新たに占められた背景部分に該当するエッジ、及び頭部により新たに露出された前記背景部分に該当するエッジが得られる。この二つのエッジは二重画像効果（double-image effect）と言われる。
【００２６】
一方、ライン１０において、下記の式１により算出される生の歪み指数ＭＡＤは、二重画像効果のために修整される平均絶対差である。
ＭＡＤ＝（dist1*n1+dist2*n2*factor+dist1*n2*(1-factor))/(n1+n2)・・１
式１において、重要エッジの二重カウンティングを避けるため、パラメータｆａｃｔｏｒに対する通常の値は０．５である。（ｄｉｓｔ１*ｎ２*（１−ｆａｃｔｏｒ））項は、タイプIIから除去されたピクセルをタイプＩのピクセルのように取り扱うことにより、二重画像効果を修整して、類似領域の平均歪みレベルが再び加わるようにする。タイプＩピクセルの歪みｄｉｓｔ１は残り（residual）及びコード化雑音に対する推定値と見なされる。その推定値は動き補償により削除できないと推定される。また、タイプIIピクセルは、“完全に”動き補償された画像と比較するとき、ほぼ２倍の領域を占有し、ｆａｃｔｏｒ項はこれを反映し、名目上０．５に選択される。この際、ｆａｃｔｏｒ項は変化が許容され、このことは動き補償が通常完全でないためである。また、占められていなかった領域は動き補償されると推定される。しかし、ピクセルの一部（ｎ２*（１−ｆａｃｔｏｒ））はタイプＩピクセルに類似したコード化雑音及び残りを有することが期待される。したがって、ｄｉｓｔ１*ｎ２*（１−ｆａｃｔｏｒ）項は前記占められていなかったタイプIIピクセルの歪みに対する推定値として使用される。
【００２７】
生の歪み指数から推定された動き補償された歪み指数算出
図２は本発明の一実施形態で、画像に対して動き補償された歪み指数推定アルゴリズムの擬似コードを示す。図２のアルゴリズムを使用して推定された特定歪み指数は、動き補償された平均絶対差Ｓである。図２のアルゴリズムは、図１のアルゴリズムを使用して誘導された生の歪み指数ＭＡＤから、歪み指数Ｓに対する推定値Ｓｅを導出する。前記推定された歪み指数Ｓｅは、ビデオエンコード中、各画像に対して動き推定を行う必要なくスキップするかどうかを決定するのに使用できる。
【００２８】
図２のアルゴリズムによると、現在のフレームに対する生の歪み指数ＭＡＤ（Ｉ）及び以前のフレームに対する生の歪み指数ＭＡＤ（Ｉ−１）は、下記の式２に示すように、以前のフレームから現在のフレームへのＭＡＤの百分率変化指数Ｈを決定するため、使用される（ライン１）。また、以前のフレームから現在のフレームへの生の歪み指数ＭＡＤの変化を特徴とするほかの適切な式も使用できる。
Ｈ＝abs[(MAD(I)-MAD(I-1))*2]/[MAD(I)+MAD(I-1)]・・・・・２
【００２９】
この百分率変化Ｈが第１しきい値Ｔ１より小さいと（Ｈ＜Ｔ１）、現在のフレームに対する推定歪み指数Ｓｅ（Ｉ）は以前のフレームに対して実際に動き補償された歪み指数Ｓ（Ｉ−１）と同一であると推定される（Ｓｅ（Ｉ）＝Ｓ（Ｉ−１））。反対に、百分率変化Ｈが第２しきい値Ｔ２より小さいと（Ｈ＜Ｔ２）（ライン４）（ここで、Ｔ２はＴ１より大きい）、現在のフレームに対する推定歪み指数Ｓｅ（Ｉ）は、下記の式３に示すように決定される（ライン５）。
Ｓｅ（Ｉ）＝S(I-1)+(K*MAD(I)-S(I-1)*(H-T1)/(T2-T1)        ３
【００３０】
式３において、因子ｋは好ましくは０と１との間で指定される特定パラメータである。通常、Ｔ１及びＴ２の値はそれぞれ０．１及び０．５である。
【００３１】
一方、百分率変化Ｈが第２しきい値Ｔ２より大きいと（ライン６）、現在のフレームに対する推定歪み指数Ｓｅ（Ｉ）は下記の式４により決定される（ライン７）。
Ｓｅ（Ｉ）＝ｋ*ＭＡＤ（Ｉ）                            ４
【００３２】
図２の処理を支持する動機はつぎのようである。すなわち、生の歪み指数ＭＡＤ（Ｉ）は現在のフレームと基準フレームとの間の動きが補償されなかったピクセル差の指数である。同様に、生の歪み指数ＭＡＤ（Ｉ−１）は現在のフレームと基準フレームとの間の生のピクセル差の指数であり、現在のフレームに対する基準フレームと同一であるか、異なる。百分率変化Ｈは二つの生の歪み指数ＭＡＤ（Ｉ）とＭＡＤ（Ｉ−１）との間の相対的変化指数であり、前記ＭＡＤ（Ｉ）及びＭＡＤ（Ｉ−１）はその自体として前記画像及び該当基準画像の間の変化速度指数である。
【００３３】
そして、動き補償は、フレーム間の歪み変化が殆ど又は全くないとき、画像データを非常に正しく予測する。前記の場合のように、百分率変化Ｈが小さいとき（例えば、Ｈ＜Ｔ１であるとき）は、以前のフレームに対して実際の動き補償された歪み指数Ｓ（Ｉ−１）は、図２のライン３に示すように、現在のフレームに対して動き補償された歪み指数Ｓ（Ｉ）の良い推定値Ｓｅ（Ｉ）となり得る。
【００３４】
しかし、フレームからフレームへの歪みが変化するときは（例えば、形状内場面変化又はほかの非均一変化中）、動き補償は画像データをよく予測しえない。このような状況で、以前のフレームに対して実際の動き補償された歪み指数Ｓ（Ｉ−１）は現在のフレームに対して実際の動き補償された歪み指数Ｓ（Ｉ）の適合した指示とは必ずしもなることはできない。したがって、百分率変化Ｈが大きいとき（つまり、Ｈ＞Ｔ２であるとき）、式４（ライン７）に示すように、現在のフレームに対する生の歪み指数ＭＡＤ（Ｉ）から、現在のフレームに対して実際の動き補償された歪み指数Ｓ（Ｉ）を推定することがより安全であろう。この際に、因子ｋを０ないし１の間（例えば、好ましくは０．８）に選択することは、動き補償が通常歪み指数を一部指定された限度に減少させることを推定する。
【００３５】
図２のライン５（式３）は、百分率変化Ｈが小さくも大きくもない状態（例えば、Ｔ１＜Ｈ＜Ｔ２＞であるとき、前記二つの“極端の”場合間の線形補間法（を行う。このように、図２のアルゴリズムは、生の歪み指数ＭＡＤ及びすべてのＭＡＤ値に対して推定される動き補償された歪み指数Ｓｅの間の連続関係、つまり区分的連続関数（piecewise-linear）を提供する。実験の結果は、図１及び図２のアルゴリズムが実際に動き補償された歪み指数Ｓの信頼し得る推定値Ｓｅを与えることを証明している。ここで、推定された歪み指数Ｓｅはほぼ常に実際の歪み指数Ｓの２０％内にあり、通常は１０〜１５％にある。
【００３６】
推定された歪み指数を使用して現在画像のスキップ可否決定
図１及び図２のアルゴリズムを使用して算出された推定歪み指数Ｓｅは、現在の画像のスキップ可否、つまりビデオエンコード処理途中、現在の画像を圧縮されたビデオビットストリームへのエンコードを避けるか否かを決定することに使用できる。本発明の一実施形態において、適応フレームスキップ技法は、ビデオコーダが伝送されたフレーム速度及び基準フレームの品質に対して制御を維持させる。大きな動きの場合、その技法はフレームの品質とフレーム速度とにスムースな性能低下を保障する。
【００３７】
前記ビデオコーダは、つぎの２状態、すなわち固定状態及び遷移状態のいずれか１状態となり得る。固定状態では、特定フレーム速度を充足させるためのすべての試みが行われ、このことが可能でなければ、任意の最小フレーム速度を維持しようとする試みが行われる。最小フレーム速度の維持さえ不可能になるとき、前記コーダは遷移状態に転換され、ここで、大きなフレームスキップはバッファレベルが減少するまで許容され、その後、つぎのフレームが伝送できる。伝送の開始に加えて遷移状態は、通常、場面変化及び突発的な大きい動きの途中に発生する。コーダは短時間に遷移状態から固定状態に移動することが好ましい。
【００３８】
この際に、ビデオ圧縮アルゴリズムによる圧縮処理のため、画像はつぎのように互いに異なる形態のフレームで現すことができる。
○  フレーム内圧縮技術のみを使用してエンコードされるイントラ（Ｉ）フレーム；
○  以前のＩ又はＰフレームによるフレーム間圧縮技術を使用してエンコードされ、その自体が一つ以上のほかのフレームをエンコードする基準フレームといて使用できる予測（Ｐ）フレーム；
○  以前及び後続Ｉ又はＰフレームによる両方向フレーム間圧縮技術を使用してエンコードされ、ほかのフレームエンコードには使用できない両方向（Ｂ）フレーム；及び
○  単一オーバーヘッドデータセットを有する単一フレームでエンコードされる（Ｈ．２６３ビデオ圧縮アルゴリズムでのように）二つの画像（Ｐフレームと時間的に先行するＢフレーム）に相応するＰＢフレーム。
【００３９】
本発明の一実施形態において、遷移状態ではＩ及びＰフレームのみが許容されるのに対して、固定状態ではＢフレーム（Ｈ．２６３＋、ＭＰＥＧ）及びＰＢフレーム（Ｈ．２６３）も許容される。固定状態において、ＢフレームとＰＢフレームはほかの２状況で二つの目的のために使用される。一番目、動きが大きいとき、Ｂフレームはフレーム速度を適正レベルまで増加させるために使用される。二番目、動きが小さいときは、Ｂ及び／又はＰＢフレームを使用することにより、より高い圧縮効率の完成が可能になる。このようなシステムは、基準フレームの速度及び品質に対する制御が要求される応用のために設計されたものである。この際に、調整されたパラメータはフレームに対する速度、フレームの適正歪みレベル及びフレーム速度を含む。また、Ｂ又はＰＢフレームをいつエンコードするかに対するインテリジェントモードの決定を実施し、保証された場合には、知能的にフレームをスキップすることにより、パラメータを維持しようとする試みが行われる。
【００４０】
前記決定は、フレームがフレームバッファ内で判読されるとき、測定される速度及び歪みパラメータの推定値に基づき、Ｈ．２６３＋ビデオコデック近似項モデル８（TMN 8, Study Group16, ITU-U, Q15-A-59文書, Release 0, 1997年6月）及び、ＭＰＥＧとＨ．２６３に対して使用可能な特定速度制御構成に好適である。また、その方法は、エンコードされる流入フレーム（incoming frame）のため、最小記憶量が使用されることを保証する。そして、より多い記憶が必要であるが、フレーム速度及び基準フレーム品質に対するより良い制御を維持し得るようにするほかの方法も可能である。また、本発明の方法は、特に、動き推定のための計算的オーバーヘッドが最小であることを保証する。仮に、付加的計算を動き推定に使用し得ると、アルゴリズムの実施はより改善できる。
【００４１】
前記方法は、動き補償以後、エンコードするための速度及びＳＡＤ（絶対差総計）に関連した２次速度歪みモデルに基づく。その２次速度歪みモデルは下記の式５で示される。
（Ｒ−Ｈ）／Ｓｅ＝Ｘ１／Ｑ＋Ｘ２／（Ｑ**２）        ５
【００４２】
式５において、
Ｒ：現在のフレームをＰフレームにエンコードするのに必要なビット数、通常、該当Ｐフレームの量子化器より高い量子化器を有する場合を除き、同一モデルをＢフレームにも適用し得る。
Ｈ：オーバーヘッド（例えば、ヘッダー及び動き情報）をエンコードするのに必要なビット数。
Ｓｅ：現在のフレームに対して動きが補償されたフレーム間ＳＡＤ。
Ｑ：以前のフレームに対する平均量子化器ステップサイズ。
Ｘ１、Ｘ２：方程式モデルのパラメータであり、フレーム間で循環的に更新される。
【００４３】
このとき、エンコードされないフレームに対する動き推定は避けることが好ましいので、動き推定を実施する必要なく、図１及び図２のアルゴリズムを使用して算出されたＳｅは、動き補償された歪み指数Ｓのために式５で使用される。前記モデルは費用関数として絶対差総計を使用して記述されたが、本発明は適切なほかの費用関数を使用して実行することもできる。
【００４４】
例えば、三つのフレームシーケンスＡ、Ｃ及びＥがあり、ここで、時間的にフレームＡが３フレームのなかで一番目のフレームであり、フレームＥが最終フレームであるとする。つぎの論議はＰＢフレーム又は基準フレームの間で多くても一つのＢフレームを有するコード化技法のためのものである。基準フレームの間で、一つ以上のＢフレームを有するコーダに対する一般化は以降に記述する。その際に、フレームＡが基準フレーム（つまり、ＩフレームあるいはＰフレーム）にエンコードされると推定するとき、フレームＣ及びＥをどのようにエンコードするかに対する決定を下さなければならない。つぎの二つの選択が可能である。
【００４５】
（１）フレームＣをＢフレームに、フレームＥを基準フレームにエンコードする。
（２）フレームＣ及びＥをともにＰＢフレームにエンコードする。
（３）フレームＣを基準フレームにエンコードし、フレームＥのエンコード方法を決定するため処理を再開する。
（４）フレームＣをスキップし、フレームＥを基準フレームにエンコードする。
仮に、可能であれば、フレームＣ及びＥをともにＰＢフレームにエンコードすることが好ましい。そして、動きが大きくバッファ占有度が余り高くない場合、フレームＣは基準フレームにエンコードされる必要があり、このような場合、前記処理はフレームＥのエンコード方法を決定するために再開される。また、動きが大きくバッファ占有度が非常に高い場合は、フレームＣがスキップされる必要があり、このような場合、フレームＥが基準フレームにエンコードされるべきである。つぎの論議は時間基準がフレームＡにあることを仮定する。
【００４６】
表記法
つぎの表記法は、本明細書で以降に詳細に説明されるアルゴリズムに使用される。
ＭＡＤ：現在のフレームに対する生の歪み指数であり、ここで、歪み指数は平均絶対差に基づく。
Ｓ：現在のフレームに対して実際動き補償された指数であり、ここで、歪み指数は平均絶対差に基づく。
Ｓｅ：現在のフレームに対して実際動き補償された歪み指数Ｓの推定値であり、ここで、歪み指数は生の平均絶対差ＭＡＤに基づく。
Ｒ：現在のフレームをエンコードするのに必要なビット数であり、推定された歪み指数Ｓｅ又は実際の歪み指数Ｓを使用して式５により算出される。
Ｈ：現在のフレームの残りを伝送するために使用されるビットを除くオーバーヘッドビット（例えば、動きベクトルに対し）であり、この情報が利用できなければ、Ｈは０と推定される。
Ｒｐ：一定ビットレート（constant bit rate；ＣＢＲ）の場合において、一つのピクチャ間隔内チャネルに対するビット出力。
ｓｍｉｎ：つぎのフレームをエンコードするための最小スキップ（例えば、１／平均ターゲットフレーム速度）。
ｓｍａｘ：固定状態のフレーム間で許容された最大スキップ。
ｓｋｉｐ：以前にエンコードされたフレームからスキップするためのフレーム数に該当するポインタ。
Ｂｆｒａｍｅｓｋｉｐ：潜在的Ｂフレームに記憶されるフレームに該当するポインタ。
Ｂｍａｘ：バッファの全体大きさ。
Ｂ：フレームｓｋｉｐをエンコードする前のフレームｓｋｉｐでのバッファ占有、一定ビットレートチャネルに対してＢ＝Ｂｐ−（Ｒｐ* ｓｋｉｐ）であり、ここで、Ｂｐは以前のフレームをエンコードした後のバッファ占有である。
【００４７】
また、前記アルゴリズムはつぎのようなフラグに従う。
ＰＣＦＤ１：バッファ内に現在のフレームをＰフレームとして伝送する十分な空間があるか否かを示し、ここでは、その決定は優先的に現在のフレームに対して動き推定を行う必要なしになされる。一実施形態において、（Ｒ（Ｓｅ）＋Ｂ＜ｘ*Ｂｍａｘ）であると（ここで、Ｒは推定された歪み指数Ｓｅに基づき、式５を使用して算出される）、バッファには空間があり、ＰＣＦＤ１は１である。反対の場合、バッファには十分な空間がなく、ＰＣＦＤ１は０である。ｘ値の変化によって制限の密着度（tightness）が変わるが、一実施形態において、ｘは８０％である。
【００４８】
ＰＣ１：Ｒが動き推定を実施した後、式５を使用して算出され、実際の歪み指数Ｓに基づくことを除くと、ＰＣＦＤ１に類似する。
【００４９】
ＰＣＦＤ２：基準フレームに関係した現在のフレームの動きが“大きいか”を示し、その決定は、優先的に現在のフレームに対して動き推定を実施する必要なくなされる。このような場合、動きの範囲は生の歪み指数ＭＡＤに基づく。ＭＡＤが特定しきい値レベルより大きいと、動きが大きいといい、ＰＣＦＤ２は１である。反対の場合、動きは大きくなく、ＰＣＦＤ２は０である。
【００５０】
ＰＣ２：前記決定が、動き推定後、例えば、平均動きベクトル範囲を特定しきい値レベルに比較することによりなされることを除くと、ＰＣＦＤ２に類似する。
ＰＢＣＦＤ：潜在的Ｂフレームに記憶された現在のフレーム及び以前のフレームがともにＰＢフレームにコード化できるか否かを示し、ここで、前記決定は優先的に現在のフレームに対して動き推定を実施する必要なしになされる。一実施形態において、（Ｒ（Ｓｅ）＋（Ｂフレームをエンコードするためのビット）＋Ｂ＜ｘ＊Ｂｍａｘ）であると、二つのフレームはともにＰＢフレームにエンコードされることができ、ＰＢＣＦＤは１である。反対の場合、前記二つのフレームはともにＰＢフレームにエンコードされることができなく、ＰＢＣＦＤは０である。
【００５１】
Ｐｍｅｅｔ：以前に記憶されたフレームがＰフレームとして伝送できるか否かを示す。仮に、伝送できれば、Ｐｍｅｅｔは１である。
【００５２】
図３ないし図７は本発明の一実施形態による、コード化すべきフレームの種類及びコード化方法決定アルゴリズムの擬似コードを提供する。前記アルゴリズムは七つのルーチン、つまり、開始、ループ１ないしループ５（LOOP1〜LOOP5）及び遷移（TRANSIENT）ルーチンを含む。開始ルーチンは、基準フレームをコーディングした後、固定状態処理中に要求され、遷移ルーチンは遷移中に要求される。前述したように、固定状態では、予め決められた特定フレーム速度を充足させるためのすべての試みが行われ、このことが可能でなければ、特定最小フレーム速度を維持しようとする試みが行われる。最小フレーム速度の維持さえ不可能になると、コーダは自動に遷移状態に転換され、ここで、大きいフレームスキップがバッファレベルが減少するまで許容され、その後、つぎのフレームが伝送できる。遷移状態は、通常、伝送の開始、場面変化及び突発的な大きい動き中に発生する。
【００５３】
開始ルーチン
前記開始ルーチンの処理は、図３のラインＡ１において、現在のフレームポインタｓｋｉｐを最小スキップ値ｓｍｉｎに初期化して開始する。例えば、一実施形態において、最小フレームスキップ値は２であり、これは、元のビデオシーケンスにおいて、画像を一つ置きに一つずつエンコードするための試みが行われるコード化技法に相当する。そして、生の歪み指数ＭＡＤは図１のアルゴリズムを使用して現在のフレームｓｋｉｐに対して計算される。また、生の歪み指数ＭＡＤから、動きの補償された推定歪み指数Ｓｅを算出するため、図２のアルゴリズムを使用した後、式５はＳｅを使用してＲの値を求める。ここで、Ｒは現在のフレームをＰフレームにエンコードするのに必要なビット数である。現在のフレームをＰフレームにエンコードすることがバッファを過密にしなければ、フラグＰＣＦＤ１は１にセットされる（つまり、真）。反対の場合、ＰＣＦＤ１はＯにリセットされる（つまり、偽り）。
【００５４】
仮に、ＰＣＦＤ１が、現在のフレームがＰフレームに伝送できることを示す真であれば（ラインＡ２）、動き推定が現在のフレームに対して実施され、実際動き補償された歪み指数Ｓが算定され、式５において、ビット数Ｒの値がＳｅの代わりにＳを使用して再び求められ、フラグＰＣ１及びＰＣ２に対する値が決定される（ラインＡ３）。ここで、フラグＰＣ１は、動き補償された歪み指数Ｓに基づいて現在のフレームｓｋｉｐをＰフレームにエンコードすることによるバッファの影響を示す。その際に、ＰＣＦＤ１のように、ＰＣ１はフレームｓｋｉｐがＰフレームにエンコードできれば、１にセットされる。フラグＰＣ２は、動き推定の結果が（例えば、フレームに対する平均動きベクトル大きさ）特定のしきい値より大きいことを示すか否かを示す。仮に、示せば、ＰＣ２は１にセットされる。
【００５５】
仮に、バッファ内にフレームｓｋｉｐをＰフレームにエンコードする十分な空間があり（ラインＡ４）、推定された動きが大きければ（ラインＡ５）、現在のフレームｓｋｉｐはＰフレームにエンコードされた後、ビデオシーケンスにおいて、つぎのフレームエンコード方法を決定するため（ラインＡ６）、開始ルーチンの開始点に復帰する。そうではない場合、つまり、バッファにフレームｓｋｉｐをＰフレームにエンコードする十分な空間がなければ（ラインＡ４及びＡ１０）、フラグＰｍｅｅｔが０にリセットされた後、ループ２ルーチンに進行される（ラインＡ１１）。同様に、生の歪み指数に基づいて推定されたバッファへの影響が、現在のフレームｓｋｉｐはＰフレームに伝送できないことを示すと（ラインＡ２及びＡ１３）、フラグＰｍｅｅｔは０にリセットされた後、ループ２ルーチンに進行される（ラインＡ１４）。
【００５６】
ループ１ルーチン
開始ルーチン部分で記述したように、ループ１ルーチンは、バッファに現在のフレームｓｋｉｐ＝ｓｍｉｎをＰフレームにエンコードする十分な空間はあるが、動きが大きくないときに要求される。このような環境下で、フレームｓｍｉｎは（１）Ｐフレームに従うＢフレーム、又は（２）後に従うフレームと結合してＰＢフレームにエンコードされる。
【００５７】
特に、ループ１ルーチンは,現在のフレームのｓｍｉｎを可能なＢフレームに記憶することにより、開始される（図３のラインＢ１）。その後、パラメータｓｋｉｐは増加され（ｓｋｉｐ＝ｓｍｉｎ＋１）（ラインＢ２）、ｓｍｉｎ＋１から２* ｓｍｉｎ−１までのフレームが連続的にチェックされる（ラインＢ３、Ｂ６、Ｂ７）。このことは、前記フレームのどのフレームがＰフレームにエンコードできるかを確認するためである（ラインＢ４、Ｂ５）。これは、動き推定を行わなく、バッファに対する影響及び動きの大きさを推定することによりなされる（ラインＢ４）。仮に、バッファに十分な空間があり、動きが大きければ、現在のフレームｓｋｉｐはＰフレームにエンコードされた後、ビデオシーケンス内のつぎのフレームのため、開始ルーチンの初期点に復帰する（ラインＢ５）。そして、ｓｍｉｎが２であるとき、ｓｋｉｐ＝３のみが前記“do while”ループ（ラインＢ３ないしＢ７）で評価される。
【００５８】
仮に、前記条件がどのフレームにもあたらなけれ、ｓｋｉｐを２* ｓｍｉｎと同一に設定することにより、つぎのフレームが選択される（ラインＢ８）。その後、フレームｓｋｉｐをＰフレームにエンコードするのに必要なビット数であるＲが動き推定を実施する必要なしに推定され、フラグＰＢＣＦＤがセットされる（ラインＢ９）。仮に、バッファ内に、フレームｓｍｉｎ及びｓｋｉｐをＰＢフレームにエンコードし得る十分な空間があると推定されると、ＰＢＣＦＤは１にセットされる。このような条件が満足されると、動き推定はフレームｓｋｉｐに対して実施され、ｓｍｉｎ及びｓｋｉｐ＝２* ｓｍｉｎフレームはともにＰＢフレームにエンコードされる（ラインＢ１０）。そうでない場合、つまり、前記フレームをＰＢフレームにエンコードする十分な空間がなければ、フレームｓｍｉｎはＰフレームにエンコードされる（ラインＢ１１）。両方の場合、前記処理が終わると、開始ルーチンに付記する（ラインＢ１２）。
【００５９】
ループ２ルーチン
前記開始ルーチン部分で記述したように、ループ２ルーチンは、バッファに現在のフレームｓｋｉｐ＝ｓｍｉｎをＰフレームに伝送する十分な空間がないときに要求される。その状況下で、フレームｓｍｉｎはエンコードされず、ループ２ルーチンはコード化されるつぎのフレームを選択し、選択されたつぎのフレームがどの方法でエンコードされるかを決定する。
【００６０】
特に、パラメータｓｋｉｐは、ビデオシーケンスにおいて、つぎのフレームを指示するため、ｓｍｉｎ＋１にセットされる（図４のラインＣ１）。そして、ｓｍｉｎ＋１からｓｍｉｎ＋ｆｌｏｏｒ（ｓｍｉｎ／２）までのフレームが連続的に分析され（ラインＣ２、Ｃ１４、Ｃ１５）る。このことは、前記フレームのなかでどれをエンコードできるかを確認するためである（ラインＣ３ないしＣ１３）。ここで、前記“ｆｌｏｏｒ”は切断作業（truncation operation）である。前記分析された各フレームに対し、エンコードすべきビット数が生の歪み指数ＭＡＤに基づいて計算され、フラグＰＣＦＤ１及びＰＣＦＤ２はそれぞれバッファ内の十分な空間の存在の有無及び動きの大小を示すように設定される（ラインＣ３）。また、フラグＰＣＦＤ２は、実質的に動き推定を実施せず、生の歪み指数ＭＡＤを特定しきい値レベルと比較することにより、設定される。その際に、ＭＡＤが前記しきい値レベルより大きければ、動きが大きいものと見なされ、ＰＣＦＤ２は１にセットされる。
【００６１】
仮に、バッファ内に、現在のフレームｓｋｉｐをＰフレームにエンコードする空間があり、動きが大きければ（ラインＣ５）、動き推定が実施され、バッファ（ＰＣ１）及び動き（ＰＣ２）に対する影響が実際の歪み指数Ｓを使用して再び求められる（ラインＣ６）。また、バッファに依然として空間が十分であり（ラインＣ７）、動きが大きければ（ラインＣ８）、現在のフレームｓｋｉｐはＰフレームにエンコードされた後、開始ルーチンに復帰する。
【００６２】
そうでない場合、つまり、動き補償された結果が、バッファには十分な空間があることを示すが（ラインＣ７）、実際の動きが大きくないとき（ラインＣ８、Ｃ９）、現在のフレームｓｋｉｐがＢフレームに記憶され、ポインタＢｆｒａｍｅｓｋｉｐはｓｋｉｐと同一に設定され、フラグＰｍｅｅｔは０にリセットされて、フレームｓｋｉｐをＰフレームに伝送する十分な空間がバッファにないことを示した後、ループ３ルーチンに進む（ラインＣ９）。
【００６３】
一方、動きが補償された結果が、バッファに十分な空間がないことを示すと（ラインＣ７、Ｃ１１）、現在のフレームｓｋｉｐはＢフレームに記憶され、ポインタＢｆｒａｍｅｓｋｉｐはｓｋｉｐと同一に設定され、フラグＰｍｅｅｔは０にリセットされて、フレームｓｋｉｐをＰフレームに伝送する十分な空間がないことを示した後、ループ３ルーチンに進む（ラインＣ１１）。また、動き補償されていないデータが、バッファ内に十分な空間はあるが（ラインＣ４）、推定された動きが大きくないことを示すと（ラインＣ５、Ｃ１３）、現在のフレームｓｋｉｐはＢフレームに記憶され、ポインタＢｆｒａｍｅｓｋｉｐはｓｋｉｐと同一に設定され、フラグＰｍｅｅｔは１にセットされて、バッファにフレームｓｋｉｐをＰフレームに伝送する十分な空間があることを示した後、ループ３ルーチンに進む（ラインＣ１３）。
【００６４】
しかし、動き補償されていないデータが、バッファ内に十分な空間がないことを示すと（ラインＣ４、Ｃ１４）、スキップ処理はつぎのフレームに続けられる（ｓｋｉｐ＝ｓｋｉｐ＋１）（ラインＣ１４）。
【００６５】
そして、前記ｓｍｉｎ＋１からｓｍｉｎ＋ｆｌｏｏｒ（ｓｍｉｎ／２）までのフレームの何れのものもラインＣ４の条件を満足させ得なければ、フラグＰｍｅｅｔは０にリセットされて、最終フレームｓｋｉｐ＝ｓｍｉｎ＋ｆｌｏｏｒ（ｓｍｉｎ／２）をＰフレームに伝送する十分な空間がバッファにないことを示した後、ループ３ルーチンに進む（ラインＣ１６）。
【００６６】
ループ３ルーチン
ループ２ルーチン部分で指摘したように、ループ３ルーチンは、ループ２ルーチンにおいて、つぎにエンコードするフレームの種類及び／又はエンコード方法を最終的に決定することに失敗した場合、要求される。この場合、ループ３ルーチンはコード化されるつぎのフレームを選択し、つぎのフレームがどの方法でエンコードされるかを決定しようとする。
【００６７】
特に、パラメータｓｋｉｐがｓｍｉｎ＋ｆｌｏｏｒ（ｓｍｉｎ／２）＋１に設定され（図５のラインＤ１）、そのｓｍｉｎ＋ｆｌｏｏｒ（ｓｍｉｎ／２）＋１から２* ｓｍｉｎ−１までが連続的に分析され（ラインＤ２、Ｄ５、Ｄ６）る。これは、どのフレームがエンコードできるかを確認するためである（ラインＤ３、Ｄ４）。そして、パラメータｓｋｉｐをｓｍｉｎ＋ｆｌｏｏｒ（ｓｍｉｎ／２）＋１に初期化することは、Ｐ及びＢフレームが与えられたＢｓｋｉｐにともに近接することを許容し、Ｈ．２６３ＰＢフレームにおいて、ＰとＢフレームが密接に結合されているときのコード化効率（coding efficiency ）を向上させる。真（true）Ｂフレームがある場合、前記方法は変化される必要がある。
【００６８】
また、分析された各フレームに対し、エンコードされるビット数Ｒは生の歪み指数ＭＡＤから算出された推定歪み指数Ｓｅに基づいて計算され、フラグＰＣＦＤ１及びＰＣＦＤ２は、バッファ内の空間の存在の有無及び動きの大小をそれぞれ示すため、設定される（ラインＤ３）。仮に、前記２条件が充足されると、現在のフレームｓｋｉｐはＰフレームにエンコードされた後、開始ルーチンに復帰する（ラインＤ４）。
【００６９】
仮に、ｓｍｉｎ＋ｆｌｏｏｒ（ｓｍｉｎ／２）＋１から２* ｓｍｉｎ−１までのフレームのなかで、どのフレームもＰフレームにエンコードされず、２* ｓｍｉｎ−１フレームに到達すると、ｓｋｉｐはつぎのフレーム２* ｓｍｉｎと同一に設定される（ラインＤ７）。その後、フレームｓｋｉｐをＰフレームにエンコードするのに必要なビット数であるＲが動き推定を実施せず、ＭＡＤから推定され、フラグＰＢＣＦＤが設定される（ラインＤ８）。仮に、潜在的Ｂフレームに記憶された（ループ２で）以前のフレームＢｆｒａｍｅｓｋｉｐ及び現在のフレームｓｋｉｐ＝２* ｓｍｉｎをＰＢフレームにエンコードする十分な空間がバッファにあると推定されると（ラインＤ９）、動き推定が現在のフレームｓｋｉｐに対して実施され、Ｂフレームに記憶された以前のフレームに対しても既に実施されていないと、動き推定が推定される（ラインＤ１０）。その後、前記フレームはともにＰＢフレームにエンコードされた後、開始ルーチンに復帰する（ラインＤ１１）。
【００７０】
そうでない場合、すなわち、前記二つのフレームがともにＰＢフレームにエンコードできなく（ラインＤ９、Ｄ１２）、Ｂフレームに記憶された（ループ２で）以前のフレームＢｆｒａｍｅｓｋｉｐがＰフレームに伝送できれば（つまり、Ｐｍｅｅｔ＝１）、以前のフレームＢｆｒａｍｅｓｋｉｐはＰフレームにエンコードされた後、開始ルーチンに復帰する（ラインＤ１２）。
【００７１】
一方、前記以前のフレームがＰフレームに伝送できないが（Ｐｍｅｅｔ＝０）（ラインＤ１２、Ｄ１３）、動きが補償されていないデータが、バッファ内に空間があること（ＰＣＦＤ１＝１）を示し、その動きが大きいと（ＰＣＦＤ２＝１）、現在のフレームｓｋｉｐ＝２* ｓｍｉｎはＰフレームにエンコードされた後、開始ルーチンに復帰する（ラインＤ１３）。そうでない場合、処理はループ４ルーチンに進行する（ラインＤ１４）。
【００７２】
ループ４ルーチン
ループ３ルーチン部分で指摘したように、ループ４ルーチンは、ループ３ルーチンにおいて、つぎにエンコードするフレームの種類及び／又はエンコード方法を最終的に決定することに失敗した場合、要求される。この場合、ループ４ルーチンはコード化されるつぎのフレームを選択し、つぎのフレームがどの方法でエンコードされるかを決定しようとする。
【００７３】
特に、パラメータｓｋｉｐが２* ｓｍｉｎ＋１に設定され（図６のラインＥ１）、その２* ｓｍｉｎ＋１からｓｍａｘ−１までのフレームが連続的に分析される（ラインＥ２、Ｅ６、Ｅ７）。このことは、前記フレームのどのフレームがエンコードできるかを確認するためである（ラインＥ３ないしＥ５）。そして、分析された各フレームに対し、エンコードされるビット数Ｒは推定歪み指数Ｓｅに基づいて計算される。ここで、推定歪み指数は生の歪み指数ＭＡＤに基づき、フラグＰＢＣＦＤが設定される（ラインＥ３）。
【００７４】
この際に、Ｂフレームに記憶された（ループ２で）以前のフレームＢｆｒａｍｅｓｋｉｐ及び現在のフレームｓｋｉｐをＰＢフレームにエンコードする十分な空間がバッファにあると推定されると（つまり、ＰＢＣＦＤ＝１）、動き推定が現在のフレームｓｋｉｐに対して実施され、必要な場合、Ｂフレームに記憶された以前のフレームＢｆｒａｍｅｓｋｉｐに対しても動き推定が実施される。その後、前記フレームはともにＰＢフレームにエンコードされた後、開始ルーチンに復帰する（ラインＥ４）。
【００７５】
そうでない場合、つまり、前記二つのフレームがともにＰＢフレームにエンコードできず（ＰＢＣＦＤ＝０）（ラインＥ４、Ｅ５）、現在のフレームｓｋｉｐがＰフレームにコード化されなければならないときは（ＰＣＦＤ１＝ＰＣＦＤ２＝１）、現在のフレームはＰフレームにエンコードされた後、開始ルーチンに復帰する（ラインＥ５）。
【００７６】
一方、２*ｓｍｉｎ＋１からｓｍａｘ−１までのフレームのどのフレームもＰフレームにエンコードしないでｓｍａｘ−１フレームに到達すると、処理はループ５ルーチンに進行する（ラインＥ８）。
【００７７】
ループ５ルーチン
ループ４ルーチン部分で指摘したように、ループ５ルーチンは、ループ４ルーチンにおいて、つぎにエンコードするフレームの種類及び／又はエンコード方法を最終的に決定することに失敗した場合、要求される。この場合、ループ５ルーチンはコード化されるつぎのフレームを選択し、つぎのフレームがどの方法でエンコードされるかを決定しようとする。
【００７８】
特に、パラメータｓｋｉｐがｓｍａｘ＋１に設定され（図６のラインＦ１）、そのｓｍａｘ＋１からｓｍｉｎ＋ｓｍａｘまでのフレームが連続的に分析され（ラインＦ２、Ｆ５、Ｆ６）る。このことは、前記フレームのどのフレームがエンコードできるかを確認するためである（ラインＦ３、Ｆ４）。
【００７９】
そして、分析された各フレームに対し、エンコードされるビット数Ｒは推定歪み指数Ｓｅに基づいて計算される。ここで、推定歪み指数は順に生の歪み指数ＭＡＤに基づき、フラグＰＢＣＦＤが設定される（ラインＦ３）。その際に、Ｂフレームに記憶された（ループ２で）以前のフレームＢｆｒａｍｅｓｋｉｐ及び現在のフレームｓｋｉｐをＰＢフレームにエンコードし得る十分な空間があると推定されると（つまり、ＰＢＣＦＤ＝１）、動き推定は現在のフレームｓｋｉｐに対して実施され、必要な場合、Ｂフレームに記憶された以前のフレームＢｆｒａｍｅｓｋｉｐに対しても動き推定が実施される。その後、前記フレームはともにＰＢフレームにエンコードされた後、開始ルーチンに復帰する（ラインＦ４）。
【００８０】
一方、ｓｍａｘ＋１からｓｍｉｎ＋ｓｍａｘまでのフレームのなかで、どのフレームもＰフレームにエンコードされずｓｍｉｎ＋ｓｍａｘフレームに到達すると、処理は遷移ルーチンに進行される（ラインＦ７）。
【００８１】
遷移ルーチン
ループ５ルーチン部分で記述したように、遷移ルーチンは、ループ５ルーチンにおいて、つぎにエンコードするフレーム種類及び／又はエンコード方法を最終的に決定することに失敗した場合に要求される。この場合、処理は固定状態から遷移状態に切り替わる。その際に、遷移ルーチンは、処理が固定状態に復帰し得ると決定されるまでＰフレームにエンコードすべき一つ以上のフレームを選択する。ほかの実施形態において、遷移ルーチンは少なくともいくつかのフレームをＢフレームにエンコードすることができる。
【００８２】
特に、現在のフレームｓｋｉｐに対し、生の歪み指数ＭＡＤ及びエンコードすべきビット数Ｒは推定された歪み指数Ｓｅに基づいて計算され、フラグＰＣＦＤ１が設定される（図７のラインＧ１）。このときに、バッファに現在のフレームｓｋｉｐをＰフレームに伝送する十分な空間があると推定されると（つまり、ＰＣＦＤ＝１）（ラインＧ２）、動き推定が現在のフレームｓｋｉｐに対して実施され、現在のフレームはＰフレームにエンコードされる（ラインＧ３）。
【００８３】
仮に、バッファ占有が特定しきい値限度Ｂ０より小さければ、処理は開始ルーチンの固定状態に復帰する（ラインＧ４）。そうでない場合、現在のフレームｓｋｉｐはビデオシーケンス内のつぎのフレームを選択するため、ｓｍｉｎに設定された後、遷移ルーチンの開始に復帰して、つぎのフレームを処理する（ラインＧ５）。
【００８４】
一方、現在のフレームｓｋｉｐがＰフレームに伝送できなければ（ラインＧ２、Ｇ７）、現在のフレームｓｋｉｐが増加した後（ｓｋｉｐ＝ｓｋｉｐ＋１）、現在のフレームをエンコードしないで、つぎのフレームを処理するため、遷移ルーチンの開始に復帰する（ラインＧ７）。
【００８５】
このような本発明は、方法及びその方法を実行する装置の形態として実施し得る。また、本発明は、フロッピーディスク、ＣＤ−ＲＯＭ、ハードドライブ、そのほかに機械で判読可能な記憶媒体のような媒体に実装されるプログラムコードの形態で実施できる。ここで、プログラムコードがコンピュータのような機械に搭載されて実行されるとき、その機械は本発明を実施する装置となる。また、本発明はプログラムコードの形態でも実施できる。例えば、記憶媒体に記憶された後、機械に搭載され、及び／又は、機械により実行されるか、又は電線又はケーブルを経由するか、オプチカルファイバを通ずるか、又は電磁波を経るかなどのように、どの伝送媒体を経由しても伝送され、この際に、プログラムコードがコンピュータのような機械に搭載されて実行されると、その機械は本発明を実行する装置となるものである。一般的な用途の処理装置で実行されたとき、プログラムコードセグメントは特定論理回路に作用する特殊装置を提供するため、処理装置と結合する。
【００８６】
【発明の効果】
以上説明したように、本発明によるビデオ画像のシーケンス処理方法によると、量子化器のステップ変化が一基準フレームからつぎの基準フレームまでの特定境界内に限定されるときのフレームスキッピング、ＰＢ決定及び品質制御に対する安全なアクセスを行うことができる。また、その技法は、固定状態動作中に使用者が定義した最小フレーム速度を維持し、高品質及び“適正”フレーム速度（最小フレーム速度より高い速度）でデータを伝送することができる。その技法は、動き又は複雑度が増加すると、品質及びフレーム速度のスムースに性能が低下する。この際に、Ｂフレームはフレーム速度及びコード化された品質の両方を向上させることに使用される。しかし、場面変化又は動きが非常に速やかに早いときは、フレーム速度と基準フレームの品質要求を充足させることができなくなり得る。このような状況で、処理は“追いつく”ため遷移状態となり、新たな固定状態に徐々に再進入することになる。本発明は最小付加的計算複雑度で十分であり、別の記憶（入力されるフレームを記憶するために要求されるもの以上）は不要である。
【図面の簡単な説明】
【図１】本発明の一実施形態で、画像に対する原（つまり、動きが補償されていない）歪み指数を算出するアルゴリズムの擬似コードを示す図である。
【図２】本発明の一実施形態で、画像に対して動き保証された歪み指数推定アルゴリズムの擬似コードを示す図である。
【図３】本発明の一実施形態で、コード化すべきフレームの種類及びコード化方法決定アルゴリズムの擬似コードを示す図である。
【図４】本発明の一実施形態で、コード化すべきフレームの種類及びコード化方法決定アルゴリズムの擬似コードを示す図である。
【図５】本発明の一実施形態で、コード化すべきフレームの種類及びコード化方法決定アルゴリズムの擬似コードを示す図である。
【図６】本発明の一実施形態で、コード化すべきフレームの種類及びコード化方法決定アルゴリズムの擬似コードを示す図である。
【図７】本発明の一実施形態で、コード化すべきフレームの種類及びコード化方法決定アルゴリズムの擬似コードを示す図である。
【図１】
0003641172.tif 000002
【図２】
0003641172.tif 000003
【図３】
0003641172.tif 000004
【図４】
0003641172.tif 000005
【図５】
0003641172.tif 000006
【図６】
0003641172.tif 000007
【図７】
0003641172.tif 000008