(57)【要約】現在の画像または該現在の画像内のピクセル領域（たとえばビデオオブジェクト）の（前方または後方）インター符号化に使われるアクティブな参照画像のリストを最小化および最適化するための方法（２００）。現在の画像と一つまたは複数の参照画像との間のピクセルデータおよび動きに関係する一つまたは複数の判定に基づいてリスト中のアクティブな参照画像の数を１にセットする（２９４）。そうされなければ、現在の画像と一つまたは複数の参照画像との間のピクセルデータおよび動きに関係する一つまたは複数のその他の判定に基づいて前記リスト中のアクティブな参照画像の数を最小化する（３００）。第一の参照画像リスト内の参照画像の利用実績に基づいて第二の参照画像内のアクティブな参照画像の数を最小化する。ビデオエンコーダ（７００）は従来の市販されているビデオカメラによって生成された二次元ビデオ画像を表すデータを処理する。前記ビデオエンコーダは現在の画像をインター符号化するのに使われるアクティブな参照画像を決定し、選択し、その数を最小化するよう適応されている。エンコーダ（７００）によって送信されるビットストリームは関連技術のデコーダによって復号できる。
2007503776.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも一つの参照リスト中にリストされている複数の参照を含むビデオ画像シーケンス中で現在の画像のあるピクセル領域をインター符号化する方法であって：ある参照リスト内にリストされている第一の参照を、現在の画像の前記ピクセル領域をエンコードするために使われる唯一の参照として使われるものとして選択するステップを有することを特徴とする方法。
【請求項２】
Nを前記参照リストの番号を表すものとしてnum_ref_idx_IN_active_minus1が0に等しくなるよう設定するステップをさらに有することを特徴とする、請求項１記載の方法。
【請求項３】
前記第一のリストされている参照が、エンコードすべき前記ピクセル領域を含んでいる現在の画像に時間的に最も近いものであることを特徴とする、請求項１記載の方法。
【請求項４】
エンコードすべき前記ピクセル領域が現在の画像の全体を含むことを特徴とする、請求項１記載の方法。
【請求項５】
エンコードすべき前記ピクセル領域が実質的にあるビデオオブジェクトのピクセルからなることを特徴とする、請求項１記載の方法。
【請求項６】
エンコードすべき前記ピクセル領域が実質的にあるスライスのピクセルからなることを特徴とする、請求項１記載の方法。
【請求項７】
前記第一のリストされている参照を選択するステップが、現在の画像と第一のリストされている参照との対応するピクセルの間のピクセル差分の絶対値和を計算するサブステップを有することを特徴とする、請求項１記載の方法。
【請求項８】
前記計算されたピクセル差分絶対値和を第一の閾値T1と比較するステップをさらに有することを特徴とする、請求項７記載の方法。
【請求項９】
前記ピクセル差分絶対値和が第一の閾値T1より小さければ、現在の画像の前記ピクセル領域をエンコードするために前記参照リスト中にリストされている単一の参照を使うことを特徴とする、請求項７記載の方法。
【請求項１０】
前記ピクセル差分絶対値和が第一の閾値T1より小さくなければ、現在の画像の前記ピクセル領域をエンコードするために前記参照リスト中にリストされている複数の参照を使うことを特徴とする、請求項９記載の方法。
【請求項１１】
前記第一のリストされている参照を選択するステップが：現在の画像の前記ピクセル領域中のブロックで前記第一のリストされている参照に対するピクセル差分絶対和の値MBSADが第二の閾値T2より小さいものの比率MBRを計算する第一のサブステップを有しており、比率MBRが第一の閾値比率TRR以上であれば前記ピクセル領域をエンコードするために前記第一のリストされている参照だけが使われることを特徴とする、請求項１記載の方法。
【請求項１２】
参照リスト中にリストされている複数の参照を含むビデオ画像シーケンス中の現在の画像をインター符号化する方法であって：前記参照リスト内にリストされている第一の参照を、現在の画像をエンコードするために使われる唯一の参照として使われるものとして選択するステップを有することを特徴とする方法。
【請求項１３】
前記第一のリストされている参照を選択するステップが、前記第一のリストされている参照画像中でエンコードされているうち参照インデックス０でエンコードされているブロックの比率RK1を計算するサブステップを有しており、比率RK1が所定の閾値比率TRK1を超えていれば現在の画像をエンコードするために前記第一のリストされている参照だけが使われることを特徴とする、請求項１２記載の方法。
【請求項１４】
前記の比率RK1を計算するサブステップが、現在の画像の前記ピクセル領域中のブロックで前記第一のリストされている参照に対するブロックSAD値MBSADが第四の閾値T4より小さいものの比率MBRが第二の所定の閾値比率TRH以上である場合にのみ実行されることを特徴とする、請求項１３記載の方法。
【請求項１５】
前記の比率RK1を計算するサブステップが、現在の画像と第一のリストされている参照との対応するピクセル領域内のピクセル差分絶対値和が第三の所定の閾値T3より小さい場合にのみ実行されることを特徴とする、請求項１３記載の方法。
【請求項１６】
前記第一のリストされている参照を選択するステップが、前記第一の参照画像のブロックで動きベクトルの成分の大きさMVxおよびMVyがそれぞれ所定の閾値大きさTXおよびTY以下であるものの割合RK2を計算するサブステップを有しており、比率RK2が所定の閾値比率TRK2より大きければ現在の画像をエンコードするために前記第一のリストされている参照だけが使われることを特徴とする、請求項１２記載の方法。
【請求項１７】
閾値大きさTXが閾値大きさTYに等しいことを特徴とする、請求項１６記載の方法。
【請求項１８】
前記比率RK2を計算するサブステップが現在の画像と第一のリストされている参照との対応するピクセル領域内のピクセル差分絶対値和が第一の所定の閾値T1より小さくない場合にのみ実行されることを特徴とする、請求項１６記載の方法。
【請求項１９】
ビデオ画像シーケンス中で現在の画像を、アクティブな参照のリストにリストされている複数の参照画像のうちの少なくとも一つを使ってインター符号化する方法であって：前記アクティブな参照のリストから前記リストされている参照の少なくとも一つを除去するステップであって、各除去対象参照と現在の画像との比較に基づくステップを有することを特徴とする方法。
【請求項２０】
Nを前記アクティブな参照のリストの番号を表すものとしてnum_ref_idx_IN_active_minus1をしかるべく縮小するステップをさらに有することを特徴とする、請求項１９記載の方法。
【請求項２１】
前記比較が直接比較であることを特徴とする、請求項１９記載の方法。
【請求項２２】
リストされている参照を除去するステップが、現在の画像と各除去対象参照との間のピクセルの差分絶対値和を計算することによってゆがみを測定するサブステップを有することを特徴とする、請求項２１記載の方法。
【請求項２３】
リストされている参照を除去するステップが、当該リストから除去される各参照について、差分絶対値和の値が所定の閾値T6よりも大きいブロックの数を計算するサブステップを実行することを有することを特徴とする、請求項２１記載の方法。
【請求項２４】
現在の画像に時間的により近い別の参照画像のエンコードに使われていない各参照画像についての閾値T6の値を動的に下げることをさらに含むことを特徴とする、請求項２３記載の方法。
【請求項２５】
前記比較が間接比較であることを特徴とする、請求項１９記載の方法。
【請求項２６】
前記アクティブな参照のリストから前記リストされている参照の少なくとも一つを除去するステップであって各除去対象参照と現在の画像との比較に基づくステップが、ある第二の参照画像が第一の参照画像に比較してゆがみが大きく、第一の参照画像が現在の画像と比較してゆがみが小さければ、アクティブな参照のリストから前記第二の参照画像を除去することを含むことを特徴とする、請求項２５記載の方法。
【請求項２７】
現在の画像を、アクティブな参照のリストにリストされている複数の参照画像のうちの少なくとも一つを使ってインター符号化する方法であって：前記リストされた参照を並べ替えて、現在の画像に対してゆがみのより小さい参照画像が前記アクティブな参照のリストにおいてより高い優先度をもってリストされるようにするステップを有することを特徴とする方法。  
【請求項２８】
ビデオ画像シーケンスをインター符号化する方法であって：現在の画像を参照画像リスト中にリストされているすべての参照画像を使ってエンコードする第一の符号化ステップを実行することと、前記参照リストから一つまたは複数の画像を選択して除去することにより新たな参照リストを生成するステップと、そして前記新たな参照リスト中にリストされている画像のみを使って現在の画像を再符号化する第二の符号化ステップを実行することとを含むことを特徴とする方法。
【請求項２９】
前記参照リストから除去された前記選択された画像の少なくとも一つが除去された理由が、前記第一の符号化ステップにおいて現在の画像のブロックのいずれのエンコードにも参照として使われなかったことであることを特徴とする、請求項２８記載の方法。
【請求項３０】
前記参照リストから除去された前記選択された画像の少なくとも一つが除去された理由が、その参照インデックスを前記第一のステップにおいてエンコードに使用した現在の画像のブロックの数が所定の閾値数に満たなかったためであることを特徴とする、請求項２８記載の方法。
【請求項３１】
前記アクティブな参照リストから前記第一のパスの間に参照画像として使われなかった画像すべてを除去することをさらに含むことを特徴とする、請求項２８記載のエンコード方法。
【請求項３２】
第一のパスにおいて現在の画像中である特定のインデックス指定された参照画像を符号化の参照として使用したブロックの数を計算し、そのブロック数が所定の閾値ブロック数より少なければその特定のインデックス指定された参照画像が第二のパスでは現在の画像のエンコードに使用されないことをさらに含むことを特徴とする、請求項２８記載のエンコード方法。
【請求項３３】
ビデオ画像シーケンスをエンコードする方法であって：Kを
【数１】
2007503776.tif 000005
としてM個の参照画像のK個の順列を使って現在の画像をK回インター符号化するステップと、
それに続く、前記K個のエンコードされた現在の画像のうちから一つのエンコードされた現在の画像を、所定の基準に基づいて他のK−1個のエンコードされた現在の画像と比較して選択するステップ、
とを有することを特徴とする方法。
【請求項３４】
一つのエンコードされた現在の画像を選択する前記ステップが、前記K個のエンコードされた現在の画像のそれぞれの、エンコードすべき現在の画像に対するゆがみを計算して比較することを含むことを特徴とする、請求項３３記載の方法。
【請求項３５】
一つのエンコードされた現在の画像を選択する前記ステップが、前記K個のエンコードされた現在の画像のそれぞれのビットレートを計算して比較することを含むことを特徴とする、請求項３３記載の方法。
【請求項３６】
一つのエンコードされた現在の画像を選択する前記ステップが、前記K個のエンコードされた現在の画像のそれぞれのビットレートおよびゆがみを計算して比較することを含み、ゆがみがビットレートに対してラグランジュ乗数を使って重みをかけられることを特徴とする、請求項３３記載の方法。
【請求項３７】
ビデオ画像シーケンスのインター符号化の方法であって：利用可能な参照の複数の順列のそれぞれを使って現在の画像の動き補償符号化を実行し、前記利用可能な参照の順列のうちで所定の条件を最小化するものを選択するステップを有することを特徴とする方法。
【請求項３８】
所定の条件が：ビットレート、ゆがみまたはビットレートおよびゆがみの重みをかけた組み合わせから選択されることを特徴とする、請求項３７記載の方法。
【請求項３９】
前記の選択された利用可能な参照の順列が単一の参照からなり、最小化される前記所定の条件がビットレートであることを特徴とする、請求項３７記載の方法。
【請求項４０】
前記の選択された利用可能な参照の順列が単一の参照からなる場合、さらにその単一の参照のみを動き推定に使って現在の画像を再符号化するステップを実行することを含むことを特徴とする、請求項３７記載の方法。
【請求項４１】
ビデオ画像シーケンスをエンコードするための、参照画像バッファを有するエンコーダであって、当該エンコーダは前記参照画像バッファ中に保存されておりある参照リスト中にリストされている複数の参照画像のうちの少なくとも一つを使って画像シーケンス中の現在の画像をインター符号化するよう適応されており、当該エンコーダはさらに第一のリストされている参照を、現在の画像をインター符号化するために使われる唯一の参照として使われるものとして所定の基準に基づいて動的に選択するよう適応されていることを特徴とするエンコーダ。
【請求項４２】
前記所定の基準がエンコードすべき現在の画像のビットレートを最小化することを含むことを特徴とする、請求項４１記載のエンコーダ。
【請求項４３】
前記所定の基準がエンコードすべき現在の画像のゆがみを最小化することを含むことを特徴とする、請求項４１記載のエンコーダ。
【請求項４４】
前記所定の基準がエンコードすべき現在の画像のビットレートおよびゆがみの重みをかけた組み合わせを最小化することを含むことを特徴とする、請求項４１記載のエンコーダ。
【請求項４５】
当該エンコーダがさらに、前記参照画像バッファ内に保存されている参照のリストを動的に並べ替えて、現在の画像に対してゆがみのより小さい参照画像が前記リストにおいてより高い優先度をもってリストされるようにするよう適応されていることを特徴とする、請求項４１記載のエンコーダ。
【請求項４６】
当該エンコーダがさらに、前記参照画像バッファに保存されている参照のリストから一つまたは複数の画像を動的に選択して除去することにより新たな参照リストを生成し、該新たな参照リスト中にリストされている画像のみを使って現在の画像をインター符号化するよう適応されていることを特徴とする、請求項４１記載のエンコーダ。
【請求項４７】
画像シーケンスをエンコードするエンコーダであって、参照バッファを有しており、当該エンコーダは現在の画像を前記参照バッファにリストされている複数の参照画像のうちの少なくとも一つを使ってインター符号化するよう適応されており、前記参照バッファに保存されている参照のリストを動的に並べ替えて、現在の画像に対してゆがみの小さな参照画像がアクティブな参照のリストにおいてより高い優先度をもってリストされるようにするよう適応されていることを特徴とするエンコーダ。
【請求項４８】
当該エンコーダがさらに、第一のリストされている参照のみを使ってのエンコードが所定の基準を満たす場合に、第一のリストされている参照のみを現在の画像をインター符号化するために使われる唯一の参照として使って現在の画像をインター符号化するよう適応されていることを特徴とする、請求項４７記載のエンコーダ。
【請求項４９】
前記所定の基準がエンコードすべき現在の画像のビットレートを最小化することを含むことを特徴とする、請求項４７記載のエンコーダ。
【請求項５０】
前記所定の基準がエンコードされた現在の画像のゆがみを最小化することを含むことを特徴とする、請求項４７記載のエンコーダ。
【発明の詳細な説明】
【技術分野】
【０００１】
本出願は、2003年8月26日に出願された「エンコーダのための参照画像の数を適応的に選択する方法および装置」と題する米国仮出願第60/497,814号（代理人整理番号PU030257）の利益を主張するものであり、前記仮出願はここに参照によってその全体において組み込まれる。
【０００２】
本発明は、一般にデジタルビデオ符号化技術に、より詳細にはデジタルビデオエンコード用途のための複数参照画像規格における画像のマクロブロックのインター符号化に関するものである。
【背景技術】
【０００３】
ビデオエンコーダは画像シーケンスの一つまたは複数のフレームをデジタル情報にエンコードするのに使われる。このデジタル情報は次いで受信機に送信されてもよく、そこで画像または画像シーケンスが再構築できる。送信チャネルそのものは数多い媒体のうちのいずれを介したものでもよい。たとえば（単に例示のためであって排他的なリストであることは意図していない）、媒体は無線放送、電波接続、衛星接続、同軸ケーブルテレビもしくはデータ、光ファイバー、携帯電話接続、または固定電話接続、インターネットまたはこれらもしくはその他の媒体の組み合わせでありうる。
【０００４】
ビデオのエンコードおよび送信についてはさまざまな国際規格が合意されている。一般に、規格は画像のフレームに関係するデータを圧縮し、エンコードするための規則を与える。これらの規則は、画像データを圧縮してエンコードすることにより当該画像について元来ビューイングカメラが与えたより送信データを小さくする方法を提供する。データ量が減ることで送信のための必要なチャネル帯域幅も減る。受信機は送信されたデータが従っている規則（つまり規格）を知っていれば送信されたデータから画像を再構築できる。H.264規格は以前のフレームから動き補償されたマクロブロック予測を使うことによって、当該画像の諸部分の冗長な送信を避ける。
【０００５】
MPEG-2およびJVT／H.264／MPEG4  Part10／AVCのようなビデオ圧縮のアーキテクチャおよび規格は、各マクロブロックのエンコードにはフレーム内（「イントラ」）符号化またはフレーム間（「インター」）符号化の一方のみの方法を使う。フレーム間の動き推定／補償についてはエンコードされるべきビデオフレームは重なり合わない長方形または最も普通には正方形のピクセルブロックに分割される。これらの各ブロックについて、最もよく一致する同じ形のブロックが特定の一致誤差基準に従って所定の検索窓内の参照フレームから検索される。次いで一致したブロックが現在のブロックを予測するのに使われ、予測誤差ブロックがさらに処理されてデコーダに送信される。元来のブロックに対する参照ブロックの水平および垂直方向の相対的な偏位はまとめて元来のブロックの動きベクトル（MV:  motion  vector）と称される。動き推定の主たるねらいは、動きベクトルを予測することによって、参照ブロックと現在のブロックとの差を取って得られる差分ブロックがエンコードにおいて生成するビット数が最小になるようにすることである。
【０００６】
近年のビデオ符号化の規格およびアーキテクチャは、符号化効率を改善しようとして動き推定および動き補償のために複数の参照画像を用いる。MPEG-2やその先行規格での予測的に（predictively）符号化される画像（「P」画像という）は、現在の画像における値を予測するために以前の画像を一つ使うだけだった。H.264規格は複数の参照画像（またはフレーム）の使用を許している。それは通例、異なる時刻における画像であるが、その多くが空間的にも時間的にも現在の画像とは無関係であることもありうる。MPEG-2では一つだけの参照インデックスが使われ、すべての画像について動きベクトルのエンコードのためにｆコードパラメータという名の特殊コードもビットストリーム中で送信され、それが動きベクトルの決定および復号に使われる。このｆコードパラメータは動き推定工程の間に導出されるもので、動きベクトルのVLC符号化に影響する。すべての画像についてその動きパラメータおよび範囲に依存してｆコードパラメータを自動的に適応させるための以前の提案は、該パラメータを固定した場合に比べればよりよい符号化効率を達成できた。H.264はこのパラメータをサポートせず、動きベクトルのエンコードには、本質的にはあらかじめ決められたVLCコードを使う。他方、H.264は複数参照の使用を認めており、したがって参照インデックスパラメータも送信される。
【０００７】
複数参照の使用は、動き推定工程でより多くの画像を調べる必要があるので、エンコーダの複雑さを著しく増すことになりうる。H.264規格はエンコーダが動き補償のために、復号されてデコーダ内に保存される多数の画像のうちから選択することを認めている。参照機能の同じ拡張はまた、動き補償された双方向予測にも適用される。これはMPEG-2では二つの特定の画像のみの使用に制限される（一方は表示順において直前のイントラ（I）またはP画像であり、他方は表示順において次のIまたはP画像である）。
【０００８】
典型的には、エンコーダは、ビデオデータストリーム中に表現される適切な動きベクトルおよびその他のデータ要素を計算する。エンコーダ内でのマクロブロックのインター予測の工程は、参照画像として使うべき画像を、以前に復号されて保存されているいくつかの画像から選ぶことを伴う。「参照インデックス」はインター符号化されたマクロブロックの予測に使われるべき参照画像の参照画像リスト（リスト０またはリスト１）内での位置（インデックス）を指定するものである。「参照インデックス」は、あるフレームシーケンス（参照画像リストという）のために選択された諸画像を同定する変数（PicNumおよびLongTermPicNum）のリストのインデックスである。PスライスまたはSPスライスを復号するときには、単一の参照画像リストRefPicList0がある。Bスライスを復号するときには、RefPicList0に加えて第二の独立した参照画像リストRefPicList1がある。各参照画像リスト中においてどの画像が実際に位置特定されるかが複数画像バッファ制御の問題である。画像はスライディングウィンドウ参照画像マーキング工程という先入れ先出し機構によって「参照には不使用」とマークされることができ、以後は参照画像リストのいずれにもリストされなくなる。H.264規格は参照リスト内の参照の並べ替えを許容する。
【０００９】
複数参照画像動き補償予測はエンコーダとデコーダの両方がインター予測に使われる参照画像を複数画像バッファ内に保存することを必要とする。デコーダは、ビットストリーム中で指定されるメモリ管理制御動作に従って、エンコーダの複数画像バッファを再現する。複数画像バッファの大きさが１画像に設定されており、リスト０またはリスト１についての最大参照インデックスが信号で1に等しいとされていない場合、複数画像バッファ内でどの位置に参照画像があるかを示す参照インデックスが、送信される各インター符号化されたマクロブロックとともに信号で示されなければならない。
【００１０】
参照画像リストの大きさが１画像より大きいときはすべてのインター符号化されたマクロブロックまたはマクロブロック区画（たとえば、１６×８、８×１６、８×８ピクセルのサブブロック）について、ビットストリーム中で参照インデックスが信号化されなければならないため、ある特定の画像のエンコードにおいて複数参照が圧縮利得を増すかどうかは必ずしも定かではない（たとえば、画像は単一参照のみに偏っていることもありうる）。あるインター符号化されたマクロブロック（またはサブブロック）について、ビットストリーム中には一つの動きベクトル差分および一つの参照インデックスが存在しうる。双方向予測的にインター符号化されたマクロブロック（またはサブブロック）については、二つの動きベクトル差分および二つの参照インデックスがビットストリーム中に存在しうる。たとえば、H.264における各マクロブロックについて、予測（P:  Predictive）画像については４つまでの参照インデックス、双方向（B:  Bi-directionally）予測画像については８つまでの参照インデックスを送信することが可能であることを考えると、参照インデックスのためのビットレートのオーバーヘッドはきわめて重要になりうる。
【００１１】
H.264では、参照画像数はスライスレベルで信号化されるnum_ref_idx_IN_active_minus1パラメータを通じて制御される。ここでNはリスト０については0、リスト１については1となる。num_ref_idx_IN_active_minus1パラメータは参照画像リストNについて、リストNが使われている画像の各スライスを復号するのに使われるべき最大参照インデックスを指定する（たとえば、num_ref_idx_I0_active_minus1は当該スライスを復号するのに使われるべき参照画像リスト０についての最大参照インデックスを指定する）。num_ref_idx_IN_active_minus1の値は0から31（両端含む）の範囲である。このパラメータが0であれば、現在のスライスについてはそのスライス内のマクロブロックをインター符号化するのに使われる参照画像は一つだけとなり、そのスライスのインター符号化されたマクロブロックとともに参照インデックスを送信する必要はない。
【発明の開示】
【発明が解決しようとする課題】
【００１２】
ある所与の画像をエンコードするのに先立って参照の数を動的に決定できるようビデオエンコーダを適応させることが望ましい。使われる参照が一つだけであれば、前述した（各マクロブロックについての参照インデックスのための）ビットのオーバーヘッドは解消または軽減され、可能性としてはエンコーダのパフォーマンス改善を提供し、その一方で動き推定の間に検査すべき参照画像が少なくなるので複雑さが減る。
【課題を解決するための手段】
【００１３】
したがって、本発明は、ビデオエンコーダがマクロブロックのインター符号化のために使われるべき参照画像の数を適応的に（エンコード実行中のリアルタイムベースで動的に）選択できるようにする方法および装置である。参照数の決定は現在画像‐参照画像相関、参照画像動きベクトル、残差などといった以前に生成された情報に基づいていてもよいし、および／またはこの決定はレート‐ゆがみ最適化法に基づいていてもよい。本発明の諸実施形態は圧縮利得および／またはエンコード効率の改善をもたらしうる。
【００１４】
本発明の一つの実施形態は、少なくとも一つの参照リスト中にリストされている複数の参照を含むビデオ画像シーケンス中で現在の画像のあるピクセル領域をインター符号化する方法を提供する。当該方法は：ある参照リスト内にリストされている第一の参照を、現在の画像のピクセル領域をエンコードするために使われる唯一の参照として使われるものとして選択するステップを有する。この場合、num_ref_idx_IN_active_minus1は0に設定されうる。ここで、Nは参照リストの番号を表す。この結果として、エンコードすべきピクセル領域を含んでいる現在の画像に時間的に最も近い参照が使われることになってもよい。
【００１５】
本発明のもう一つの実施形態は、参照リスト中にリストされている複数の参照を含むビデオ画像シーケンス中の現在の画像をインター符号化する方法を提供する。当該方法は前記参照リスト内にリストされている第一の参照を、現在の画像をエンコードするために使われる唯一の参照として使われるものとして選択することを含む。
【００１６】
本発明のもう一つの実施形態は、ビデオ画像シーケンス中で現在の画像を、アクティブな参照のリストにリストされている複数の参照画像のうちの少なくとも一つを使ってインター符号化する方法を提供する。当該方法は：前記アクティブな参照のリストから前記リストされている参照の少なくとも一つを除去するステップであって、各除去対象参照と現在の画像との比較に基づくステップを有する。次いで、num_ref_idx_IN_active_minus1（Nはアクティブな参照のリストの番号を表す）がそれに従って縮小される。前記比較は、現在の画像と各除去対象参照との間のピクセルの差分絶対値和を計算することによってゆがみを測定するといった直接比較である。あるいはまた、前記比較は、ある第二の参照画像が第一の参照画像に比較してゆがみが大きく、第一の参照画像が現在の画像と比較してゆがみが小さければ、アクティブな参照のリストから第二の参照画像を除去するといったことによる間接比較であってもよい。
【００１７】
本発明のもう一つの実施形態は、現在の画像を、アクティブな参照のリストにリストされている複数の参照画像のうちの少なくとも一つを使ってインター符号化する方法を提供する。当該方法は：前記リストされた参照を並べ替えて、現在の画像に対してゆがみのより小さい参照画像が前記アクティブな参照のリストにおいてより高い優先度をもってリストされるようにするステップを有する。
【００１８】
本発明のもう一つの実施形態は、ピクセルデータを複数のブロック変換係数としてエンコードするエンコーダを提供する。該エンコーダは、現在の画像をインター符号化するのに使われるアクティブな参照のリストをここに開示される諸法法に基づいて最小化するよう適応されている回路を有する。当該エンコーダはさらに、アクティブな画像のリストを並べ替えて、現在の画像に対してゆがみのより小さい残ったアクティブな参照画像が前記参照画像リストにおいてより高い優先度をもって位置されるようにするよう適応されていてもよい。
【００１９】
本発明のもう一つの実施形態は、ビデオ画像シーケンスをインター符号化する方法を提供する。当該方法は：現在の画像を参照画像リスト中にリストされているすべての参照画像を使ってエンコードする第一の符号化ステップを実行すること、前記参照リストから一つまたは複数の画像を選択して除去することにより新たな参照リストを生成するステップ、そして前記新たな参照リスト中にリストされている画像のみを使って現在の画像を改めて符号化する第二の符号化ステップを実行することを含む。
【００２０】
本発明のもう一つの実施形態は、ビデオ画像シーケンスを圧縮してエンコードするエンコード方法を提供する。当該方法は： M個の参照画像のK個の順列（Kは
【数２】
2007503776.tif 000003
である）を使って現在の画像をK回インター符号化するステップと、それから前記K個のエンコードされた現在の画像のうちから一つのエンコードされた現在の画像を、所定の基準に基づいて他のK−1個のエンコードされた現在の画像と比較して選択するステップとを有する。
【００２１】
本発明のもう一つの実施形態は、ビデオ画像シーケンスのインター符号化の方法を提供する。当該方法は、利用可能な参照の複数の順列のそれぞれを使って現在の画像の動き補償符号化を実行し、前記利用可能な参照の順列のうちでビットレート、ゆがみまたはビットレートとゆがみの重みをかけた組み合わせのいずれかでありうる所定の条件を最小化するものを選択するステップを有する。
【００２２】
本発明のもう一つの実施形態は、ビデオシーケンス画像をエンコードするエンコーダを提供する。当該エンコーダは参照画像バッファを有しており、当該エンコーダは前記画像シーケンス中の現在の画像を、前記参照画像バッファに保存され、参照リストにリストされている複数の参照画像のうちの少なくとも一つを使ってインター符号化するよう適応されており、当該エンコーダはさらに、所定の基準に基づいて第一のリストされている参照を、現在の画像をインター符号化するために使われる唯一の参照として使われるものとして動的に選択するステップを有する。
【００２３】
本発明のもう一つの実施形態は、画像シーケンスをエンコードするエンコーダを提供する。当該エンコーダは参照バッファを有しており、当該エンコーダは現在の画像を前記参照バッファにリストされている複数の参照画像のうちの少なくとも一つを使ってインター符号化するよう適応されており、また、前記参照バッファに保存されている参照のリストを動的に並べ替えて、現在の画像に対してゆがみの小さな参照画像がアクティブな参照のリストにおいてより高い優先度をもってリストされるようにするよう適応されている。
【００２４】
本発明のもう一つの実施形態は、デジタルビデオシーケンスを取得するための手段が含まれているマルチメディア端末と、ここに記載されているエンコード方法を実行するよう構成されているエンコーダとを提供する。
【００２５】
本発明のもう一つの実施形態は、コンピュータシステムがここに記載されているエンコード方法を実行できるようにするためのコンピュータ可読プログラムコードが具現されているコンピュータ使用可能媒体を提供する。
【００２６】
本発明のもう一つの実施形態は、コンピュータシステムにここに記載されているエンコード方法を実行させるための、コンピュータによって可読なプログラムを保存する記録媒体を提供する。
【００２７】
以下の記述を通じて、マクロブロックのルミナンス（ルーマ）成分は１６×１６ピクセルが４つの８×８ブロックの配列として構成されており、関連するクロミナンス成分は空間的に水平・垂直両方向に1/2のサブサンプリングがされて８×８ブロックを形成しているものとする。それ以外のブロックサイズやそれ以外のサブサンプリング方式への本記述の拡張は通常の当業者には明らかであろう。本発明は１６×１６のマクロブロック構造に限定されるものではなく、セグメント分割に基づくいかなるビデオ符号化システムにおいても使用できる。
【００２８】
本発明の上記した特徴は、その例示的実施形態を付属の図面を参照しつつ詳細に記述することによってより明らかとなるであろう。
【発明を実施するための最良の形態】
【００２９】
図１は、本発明の原理に基づいてインター符号化の参照として使うために符号化され、選択されるべき、時間的に一連の画像の系列（P0,B1,B2,P3,B4,B5,P6,B7,B8,P9）を示している。画像P0はイントラ符号化されており、後続のインター符号化される画像B1,B2,P3,B4,B5,P6のための参照として使われる。画像B1は各予測について参照画像を一つしか使わず双方向予測的にインター符号化される（P0が前方予測について使われる単一の参照であり、P3が後方予測について使われる単一の参照である）。画像B2は各予測について参照画像を一つしか使わず双方向予測的にインター符号化される（P0が前方予測について使われる単一の参照であり、P3が後方予測について使われる単一の参照である）。画像P3はその（前方）予測について参照画像をP0一つしか使わずに単方向予測的にインター符号化される。画像B4はその前方予測については二つの参照画像（P0およびP3）を使い、その後方予測については単一の参照画像（P6）を使って双方向予測的にインター符号化される。画像B5はその前方予測については二つの参照画像（P0およびP3）を使い、その後方予測については単独の参照画像（P6）を使って双方向予測的にインター符号化される。画像P6はその（前方）予測について二つの参照画像（P0およびP3）を使って単方向予測的にインター符号化される。画像B7は各予測について参照画像を一つしか使わず双方向予測的にインター符号化される（P6が前方予測について使われる単一の参照であり、P9が後方予測について使われる単一の参照である）。画像B8は各予測について参照画像を一つしか使わず双方向予測的にインター符号化される（P6が前方予測について使われる単一の参照であり、P9が後方予測について使われる単一の参照である）。画像P9はその前方（たとえばリスト０）予測について参照画像をP6一つしか使わずに単方向予測的にインター符号化される。
【００３０】
インター符号化された画像のうちB1,B2,P3,B7,B8,P9のおのおのでは、各マクロブロックまたはマクロブロック区画についての動きベクトルに参照インデックスをエンコードする必要はない。それぞれが対応する参照画像リストからの単一の参照画像のみを使って（P画像なら一つの参照リスト、B画像なら２つの参照リスト）エンコードされるからである。
【００３１】
本発明の原理によれば、現在の画像のピクセルおよび動き特性に基づき、そしてさらにアクティブ／利用可能な参照画像に基づき、現在の画像の予測的または双方向予測的インター符号化のために使われる参照の数を決定し、制限するための方法が開示される。
【００３２】
所与の画像をインター符号化するために使われる参照の数を選択するための、本発明のある実施形態に基づく一つの方法は、現在の画像を第一のパスですべてのアクティブな（リストされている）参照を使ってエンコードし、次いで最終的に第二のパスで参照される画像のみを使い、他のすべては対応するアクティブな参照リストから除去して画像を再符号化することである。たとえば、現在の画像を参照画像リスト中にリストされているすべての参照画像を使ってエンコードして前記参照リストから一つまたは複数の画像を選択して除去して新たな参照リストを生成する第一の符号化ステップを実行し、次いで前記新たな参照リスト中にリストされている画像のみを使って現在の画像を再符号化する。この結果として、各参照リストはよりコンパクトになり、それゆえ潜在的には参照インデックスが必要とするビット数が少なくなる。
【００３３】
所与のインデックスで指示された参照画像を参照しているマクロブロックまたはブロックの数が所与の条件／閾値（threshold）TMBを満たしているかどうかについての追加的な考慮をしてもよい。この条件／閾値が満たされなければ、被参照数が不十分なこの参照画像はアクティブな参照バッファから除去され、次いで残りのアクティブな（リストされている）参照画像から現在の画像のマクロブロック／ブロックが予測（再エンコード）される。そのような方法は潜在的によりよい利得につながりうるものの、画像を二度符号化しなければならないため著しく高い複雑さをも導入する。これは、H.264のようなコーデックにおいては、すでに複雑さが非常に高いため特に負担になる。にもかかわらず、より力ずくのアプローチでは、1からMの参照を使って同じ画像をK回試行してエンコードすることも可能である。ここでKは：
【数３】
2007503776.tif 000004
であり、これは画像参照の並べ替えも含めた可能なすべての配列および組み合わせ（順列）を示している。これらのK個の組み合わせについて、ゆがみもしくはビットレートが最も小さくなるものを選択することもできるし、あるいはラグランジュ乗数を使ってゆがみ（distortion）にレート（rate）に対して重みをかける（たとえばJ＝D＋λRの形でのラグランジュ乗数の使用により）レート‐ゆがみ最適化基準（ラグランジュ定式化）を使うこともできる。ラグランジュ乗数は制約条件下での数学的な最適化問題の文脈で現れる代数用語である。
【００３４】
本発明の他の実施形態は、画像参照の数を決定するための、著しくエンコード品質を下げたり（つまり、ゆがみを増したり）ビットレートを下げたりすることのない、より簡単な方法論を提供する。我々は、現在の画像の符号化に使われる参照（および参照インデックス）の数と、現在の画像のエンコードに参照として使われる直前に符号化された画像で使われていた参照（および参照インデックス）の数との間に高い相関があることを見出した。この相関は二つの画像の類似度が高い（たとえば差分絶対値和が所与の比較的小さな閾値より小さい）ときに大きくなる。たとえば、時刻t−1において直前に符号化された画像がその直前の時刻t−2における画像のみを参照しておりほとんど動きがなく、時刻tでの現在の画像に非常に似通っている場合（たとえば画像平均差分絶対値PMAD（picture  mean  absolute  difference）＜4）、現在の画像は単一の参照画像を使って有利にエンコードされることが非常に確からしいことになる。参照フレームは現在のフレームより前のものでも後のものでもよい。こうして、一般に、第一の画像P1が単独の参照画像（reference  picture）RPのみを参照してエンコードされ、参照画像RPに対してほとんど動きがなく（たとえばR1−RP  PMAD＜4）、第一の画像P1が現在の画像（current  picture）CPに非常に似通っている場合（たとえばR1−CP  PMAD＜4）、現在の画像CPも単一の参照画像（たとえばP1またはRP）だけを参照して効率的にエンコードしうるものであり、現在の画像CPおよびそれに含まれるすべてのスライスおよびマクロブロックは単一の参照画像（たとえばP1またはRP0）を使ってエンコードされることになる。好ましくは、画像RP、P1、CPは直前または直後の画像であるが、直前または直後の画像である必要はない。現在の画像と残りの参照との間の追加的な単純比較（たとえば差分絶対値）も実行してこの決定をさらに確認することもできる。追加的に、最近接のみならず他のすべての参照をも含めた参照画像の動きベクトルおよび参照インデックスをこの決定を下したり検証したりするために考慮することもできる。
【００３５】
本発明の方法の例示的な諸実施形態は、アクティブな参照の数を選択し、減らすために以下の方法論を提供する：
まず、ゆがみ計算を実行する：所与のリスト（リスト０またはリスト１）中の第一の参照（ゼロ参照）画像に対する現在のCPの画像差分絶対値和（PSAD）をブロックまたはマクロブロックレベルで計算する。画像SAD値（PSAD）はすべてのマクロブロックのSAD（macroblock  SAD）値（MBSAD）の和である。マクロブロックSAD値（MBSAD）はある一つのマクロブロック内のピクセルの他の画像中の対応するマクロブロックに対する差分絶対値の和（SAD:  sum  of  absolute  differences）である。CP−RP画像SAD値（CP−RP  PSAD）は、参照画像RPのオリジナルまたは再構築された（reconstructed）参照画像RPrcのいずれかを使って計算しうる。好ましくは、現在の画像全体と所与のリスト（リスト０またはリスト１）内の前記第一の参照（ゼロ参照）画像との間のゆがみの尺度としては、CPおよびRPの画像平均差分絶対値（CP−RP  PMAD）を（割り算によって）計算する。画像MAD値（PMAD）とは比較される二つの画像についてのピクセル間の平均差分絶対値（MAD：mean  absolute  value）である。画像SAD値（PSAD）と画像MAD値（PMAD）との間の関係は、画像MAD（PMAD）は画像SAD値（PSAD）をある数で割ったもの、たとえば二つの画像のうちのいずれかのマクロブロックの（またはピクセルの）数で割ったものということである。画像MAD値（PMAD）はこのように画像SAD値（PSAD）を規格化したバージョンである。たとえばマクロブロックレベルでの規格化は二つの画像の画像SAD値（PSAD）を画像内のマクロブロックの数で割ることによって行うことができるが、この場合、画像MAD値（MPAD）は（二つの画像の）対応するマクロブロック間のSAD値（MBSAD）の平均として定義されるようになる。このように、PMADおよびPSADの値は、これらの値と比較すべき閾値もすべて適切にスケール変換されるならば交換可能に使うことができる。
【００３６】
画像MAD値（CP−RP0  PMAD）（すなわち、現在の画像CP全体と第一のリストされている参照画像RP0全体との間のMAD）が比較的小さなある第一の閾値T1よりも小さければ、現在の画像をエンコードするのに使うべき（適用リスト０またはリスト１内の）参照の数として1を選択する（たとえば、num_ref_idx_IN_active_minus1を0にする）。さらに、現在の画像のマクロブロックでマクロブロックSAD値MBSADがある第二の閾値T2より小さいものの割合Rがある所定の閾値割合TR（たとえばTR＝95%）であれば、単一の参照が使われる（num_ref_idx_IN_active_minus1が0にセットされる）。よって、もしT1によって、あるいはTRおよびT2によって定義される閾値条件の一方または両方が満たされている場合には、リストN（リスト０またはリスト１）内の単一の参照画像が現在の画像をエンコードするために使われることになる（たとえば、そのリストに適用されるnum_ref_idx_IN_active_minus1が0にセットされる）。
【００３７】
ゆがみ計算において現在の画像との比較に再構築された参照画像RPrcが使われる場合には、これは量子化プロセスによっても影響されることを考えて、T1およびT2はしかるべく調整／スケール変換されたほうがよい。それはたとえば量子化パラメータ（quantization  parameter）QPに対応する特定の重みをあらかじめ定義し、量子化パラメータQPを添え字とするあらかじめ定義された重みをa(  )、b(  )として、T1(QP)＝a(QP)×T1、T2(QP)＝b(QP)×T2として再定義することによる。
【００３８】
上記のゆがみ条件のいずれも真でないが画像MAD値（CP−RP0  PMAD）がある別の閾値T3（たとえばT1≦PMAD＜T3）を満たす場合、あるいはマクロブロックのうちマクロブロックSAD値（MBSAD）がある別の閾値T4（たとえばT2≦MBSAD＜T4）を満たす割合Hが所定の閾値割合THを超えている場合には、第一の参照画像についてエンコードされる動きベクトルおよび参照インデックスをも評価する：前記第一の参照画像のマクロブロックで参照インデックスが0に等しいものの割合K1がある所定の閾値割合TK1を超えている場合、現在の画像をエンコードするためには単一の参照画像（第一の参照画像）だけが使われる（よってnum_ref_idx_IN_active_minus1は0にセットされる）。
【００３９】
任意的に、さらなる最適化のために、以下の決定をなすことができる：リスト中の前記第一の参照画像をエンコードするために使われる動きベクトルのすべてまたはある割合が十分小さければ（動き活性が小さいことを示す）、現在の画像をエンコードするためには単一の参照画像（第一の参照画像）が使われる。たとえば、当該画像中で、ゼロ参照（RP0）を使い、動きベクトル成分MVxおよびMVyがそれぞれ目標範囲[−mx1,mx2]および[my1,my2]（たとえばmx1＝mx2＝my1＝my2＝1）内にあるブロックの割合K2がある所定の閾値割合TK2よりも大きければ（たとえばTK2％≦TK1％）、現在の画像をエンコードするためには所与のリスト（たとえばリスト０）中の単一の参照（たとえばRP0）が使われる。
【００４０】
上に規定した条件のいずれも満たされない場合、適用参照リストにおける残りの参照が現在の画像と比較されることもある（たとえば、画像SAD値PSADまたはブロック／マクロブロックMAD値MBMADの計算によって）。参照i（iは参照画像リストの添え字）について現在の画像に対する画像MAD値PMADiがある閾値T5より大きいか、あるいはそこに含まれるすべてのマクロブロックについてのマクロブロックSAD値MBSADiがある閾値T6よりも大きい場合には、この参照は現在の画像をエンコードするために使われるアクティブな参照のリスト（たとえば参照バッファ）から除去されるべきである。同様に、T5およびT6の値をも適応させることによって、動きベクトルおよび最も近い参照から最も遠い参照までの（昇順の）参照インデックスが逐次考慮に入れられ、決定を補助することができる。たとえば、もしある参照画像が現在の画像により近い別の参照画像のエンコードに使われていなければ、これらの閾値を下げてもよい（閾値を下げるということは、その参照が検査対象の参照から除去される確率が高くなるということを含意する）。
【００４１】
参照画像とそれをエンコードするのに使われた参照画像とを比較してのゆがみの値はその画像の参照数決定のために計算済みであるかもしれないので、これらのゆがみの値は追加的な決定法において再利用されうる。特に、ある所与の参照画像が現在の画像に非常に似ているが第二の参照画像に比べるとゆがみが大きいことがすでにわかっている場合、現在の画像がその第二の参照画像に対してはゆがみの値が大きくなるであろうことは非常に確からしく、ゆがみ計算をなくすことができ、その第二の参照画像は現在の画像をエンコードするのに使われる「アクティブな」参照のバッファから除去することができる。しかし、これら二つの参照の間のゆがみ（あるいはもし利用可能であれば残差）の考慮を動き補償後に行ったほうが、おそらくはより信頼性のある決定に、そしてよりよいパフォーマンスにつながるであろう。
【００４２】
最後に、生成された統計（たとえば、現在の画像に対して、参照リスト中の各参照のゆがみ）を使って適用参照リスト中の参照を並べ替えて、現在の画像に対してゆがみがより小さくなるような参照が参照リスト中でより高い優先度（より若いインデックス番号）をもって位置されるようにすることが可能である。そしてそれから、num_ref_idx_IN_active_minus1は任意的にある数（たとえば１より大きな数）に設定して、ゆがみが最大の参照画像が現在の画像をエンコードするための参照として使われるのを無効することができる。H.264規格では、参照リストにおける参照画像の並べ替えは、参照画像リスト並べ替え要素を信号化することによって実行できる（H.264規格7.3.3.1節参照）。本発明の他の実施形態では、参照画像の間のゆがみを推定するためのその他の既知および将来の諸方法も用いることができ、重み付けした予測方針と組み合わせることができる。
【００４３】
慣用の諸技法と異なり、MPEG-4規格はオブジェクトベースの動画圧縮技法を提供しており、任意の形をもつオブジェクトの個別の符号化を可能にしている。伝統的なフレームベースのビデオ符号化手法では、「実世界」は時間的に相関した長方形フレームの集合によって表現される。長方形フレームが、ユーザーが独立してエンコードしたり表示したり操作したりできる最小単位である。
【００４４】
MPEG-4アーキテクチャのようなオブジェクトベースのビデオ符号化の枠組みでは、場面はもはや所与の空間的および時間的解像度をもつ長方形のフレームの集合と見なされはせず、自然および合成的な起源の視覚オブジェクト（VO:  visual  object）の合成として理解される。それらのオブジェクトは典型的には特性も意味論的な有意性も異なっている。各オブジェクトは独立して符号化され、独立してアクセスできる基本ストリームを生成し、それによりユーザーに意味論的に有意なオブジェクトにアクセスし、それと相互作用する機能を提供するのである。データの面では、フレームベースのシナリオに対して追加的に、各オブジェクトの形状を定義する形状データと、どのオブジェクトが場面内にあって場面がどのように編成されているかを指定する場面記述データとがある。このように、MPEG-4は二次元の任意の形状の自然なビデオオブジェクトをビデオオブジェクト面（VOP:  Video  Object  Plane）のシーケンスによって表現することを可能にするのである。各VOPについて、形状、テクスチャーおよび動きデータがエンコードされる。テクスチャーの符号化はDCTベース（８×８ブロック）で動き補償はマクロブロックまたはブロックベースである（１６×１６または８×８ブロック）。形状については、コンテンツベースの算術符号化（CAE:  Content-based  Arithmetic  Encoding）を使ってエンコードされる。さまざまな場面オブジェクトが独立してエンコードされて別個の基本ストリームを生成するため、各ビデオオブジェクトについてそのオブジェクトのブロックをインター符号化するのに使う最適な参照数を選択することが可能である。
【００４５】
オブジェクトベースの符号化の枠組みでは、場面中のさまざまなオブジェクトはともに場面を構築しているとはいえ今や符号化の面からは独立したエンティティであるので、本発明の原理がフレームベースの符号化から、場面内の複数のビデオオブジェクト（VO:  video  object）が個々に符号化されるオブジェクトベースのビデオ圧縮技法へと拡張できることは当業者には理解されることであろう。オブジェクトベースのエンコードの場合、前述の方法は各全体画像またはその中の全体スライスにではなく、個々に符号化された各ビデオオブジェクトに別個に適用されうる。
【００４６】
たとえば、「背景」ビデオオブジェクト（たとえばフレーム間の動きがほとんどあるいは全くないもの）は、上に開示した本発明の諸実施形態に基づいて参照として単一のフレームのみを使って別個のビデオオブジェクトとして符号化しうる。一方、同じ場面内に表示される別のオブジェクト（人物のような動くオブジェクト）は複数のフレームを使ってエンコードされてもよく、それは下記により具体的に述べる本発明のさらにいま一つの実施形態において実行されうる。こうして、背景オブジェクトが単一の参照画像のみ（または複数の参照画像）を使ってエンコードされる一方、同じ場面内の「背景」オブジェクトに重畳される人物その他の動くオブジェクトはそれ自身の特性に基づいて複数の参照画像（または単一の参照画像）を使ってエンコードされうる。ある特定のオブジェクトの諸ブロックがここに開示される諸方法に基づいて決定されるところでは単一の参照画像のみを使って有利にエンコードできる場合、特定のオブジェクトの該諸ブロックはしかるべく単一の参照のみを使ってエンコードされうる。
【００４７】
さらに、送信される画像のシーケンスがある特定の（たとえば「背景」）オブジェクトのすべてのピクセルの描写を提供する単一の実フレームを含んでいる場合か、あるいは送信された画像から合成フレーム（そのビデオ画像シーケンス内の実際の実画像の再現ではないが、その特定の「背景」オブジェクトの全ピクセルの描写を含んでいるフレーム）が構築（合成）できる場合、その実フレームまたは合成フレームは、ここに開示される方法に基づいて、「背景」オブジェクトをエンコードするために使われる単一の参照として選択されうる（一つまたは複数の他のフレーム中で同じビデオオブジェクトの動きシフトした対応物をエンコードする際の参照として使われる）。
【００４８】
このように、本発明の方法がオブジェクトベースのエンコードに適用される際には、当業者は上述した方法論を、画像全体の比較に基づく参照数決定の代わりにオブジェクトに基づく参照数決定をすることをサポートするよう適応させることができる。たとえば、二つの画像全体の間のSAD値（PSAD）を計算する代わりに、ある特定のビデオオブジェクトの二つのVOP表現の間のSAD値（VOSAD）が計算されて、前述した諸方法論のようにPSAD値を使う代わりに、このVOSADがオブジェクトベースの参照数決定に使われる。同様に、規格化された画像SAD値（PMAD）（すなわち、現在の画像全体と第一のリストされている参照画像全体との間のMAD）はオブジェクトベースのMAD値（VOMAD）によって置き換えられる。オブジェクトベースのエンコードにおけるマクロブロックベースの動き推定は、ある第一の時刻にサンプリングされた現在の画像中のあるビデオオブジェクト内のある特定のブロック（たとえばマクロブロック）を、ある第二の時刻にサンプリングされた参照画像中の同じビデオオブジェクト内の動きシフトした対応する同様の大きさのブロック（たとえばマクロブロック）と比較することによって実行されうる。このように、開示している諸方法論における計算および決定は、オブジェクトベースのエンコードにも容易に適用しうるのである。たとえば、参照i（iは参照画像リストの添え字）についての現在の画像に対する画像MAD値PMADiがある閾値T5より大きいか、あるいはそこに含まれるすべてのマクロブロックについてマクロブロックSAD値MBSADiがある閾値T6よりも大きいかした場合、この参照は、現在の画像におけるそのピクセル領域（たとえばビデオオブジェクト）をエンコードするために使われる参照（たとえば参照バッファ）からは除去されるべきである。
【００４９】
このように、本発明の諸方法論は一般に、個別にエンコードされる「ピクセル領域」の特性に基づく計算および参照数決定であると述べることができる。ここで、前記ピクセル領域の大きさは、（実行するエンコードがフレームベースかオブジェクトベースかに依存して）画像全体の完全な長方形の大きさとある特定のビデオオブジェクトの形状境界内のより小さな領域のより限定された大きさとの間で変わりうる。本発明のいくつかの実施形態では、また付属の特許請求の範囲においては、「ピクセル領域」の用語はまた、エンコードすべき現在の画像または現在のビデオオブジェクトのスライスまたはフィールドをも含む。よって、本発明の方法は、参照リスト中にリストされている複数の参照の少なくとも一つを使ってビデオ画像シーケンス中で現在の画像のあるピクセル領域をインター符号化する方法を提供する。当該方法は：第一のリストされている参照を、現在の画像のピクセル領域をインター符号化するために使われる唯一の参照として使われるものとして動的に選択するステップを有する。ピクセル領域は（長方形の）現在の画像のピクセルすべてを含んでもよいし、あるいはビデオオブジェクトまたはスライスもしくはフィールドといったより小さな（たとえば長方形でない）領域を含んでいてもよい。前記第一のリストされている参照は前記複数のリストされた参照のうちで、インター符号化すべきピクセル領域を含んでいる現在の画像に時間的に最も近い参照でよい。
【００５０】
図２は、現在のP画像またはB画像をインター符号化するのに使われる各（後方または前方）予測について単一の参照のみを使うかどうかを決定する、よって本発明の原理を具現する例示的な方法論の系列２００を示している。ここに含まれる各フローチャート（たとえば図２および図３）において、YESと記された判断ステップの各分枝は、付随する菱形（判断ブロック）内に示されている比較または陳述が真であるときに使われるものである。逆にNOと記された判断ステップの各分枝は、付随する菱形（判断ブロック）内に示されている比較または陳述が偽であるときに使われるものである。
【００５１】
取得ステップ２１０が、現在の画像（CP）および適用される（後方または前方の）参照リストN内の第一の参照RP0N（ゼロ参照）のピクセルデータを含む全変数データ、ならびに判断を行う際に用いられるさまざまな閾値T1,T2,TR,T3,TH,T4,TK1,TK2を取得する。
【００５２】
ゆがみ計算ステップ２２０は、現在の画像CPと所与のリストN（リスト０またはリスト１）における第一の参照（ゼロ参照）画像RP0Nのマクロブロックの間の平均差分絶対値（PMAD）を計算することによって実行される。CP−RP0N  PMADは参照画像RPのオリジナルまたは再構築された参照画像RPrcのいずれを使って計算してもよい。（PMAD計算ステップ２２０は、画像中のマクロブロックについての各マクロブロックSAD値MBSADの計算を含意しており、これは後続の判断ステップたとえば２３４、２６２において使われる情報であることを注意しておく。）
判断ステップ２３２において、現在の画像CP全体と第一のリストされている参照画像RP0全体との間の（マクロブロックレベルでの）PMAD値（CP−RP0N  PMAD）がある比較的小さな第一の閾値T1より小さい場合、YES分枝が選ばれて次に参照限定ステップ２９４が実行される。ここではその現在の画像をエンコードするために使われる（適用されるリスト、リスト０またはリスト１内の）参照の数が1に設定される（たとえばnum_ref_idx_IN_active_minus1を0にセットすることによって）。次いで現在の画像が符号化ステップ２９９で適用される（前方または後方）予測について単一の参照画像（リストN内のゼロ参照）のみを使ってインター符号化される。もし判断ステップ２３２で代わりに第一の閾値T1よりCP−RP0N  PMADのほうが大きかった場合には、現在の画像が適用される（前方または後方）予測について単一の参照画像（リストN内のゼロ参照）のみを使ってインター符号化されるべきかどうかを他の基準によって決定するために後続の判断ステップ（たとえば２３４）が実行される。
【００５３】
判断ステップ２３４において、もし現在の画像CPのうちマクロブロックSAD値MBSADがある第二の閾値T2より小さい割合Rがある所定の閾値割合TR以上であれば（たとえばTR＝９５％）、YES分枝が選ばれ、参照限定ステップ２９４およびエンコードステップ２９９が次に実行される。
【００５４】
判断ステップ２３６において、もし計算ステップ２２０で計算された画像MAD値（CP−RP0N  PMAD）がある別の閾値T3を満たしていれば（たとえばT1≦PMAD＜T3）、YES分枝が選ばれ、第一の参照画像についてエンコードされる動きベクトルおよび参照インデックスが後続のステップ２８０、２９０、２９２で評価される。もし判断ステップ２３６で代わりに画像MAD値が閾値T3を満たしていなかった場合には、後続の計算ステップ２６０および判断ステップ（たとえば２６２）が実行される。
【００５５】
計算ステップ２６０において、マクロブロックのうちマクロブロックSAD値MBSADがある別の閾値T4（たとえばT2≦MBSAD＜T4）を満たす割合Hが次の判断ステップ２６２での使用のために計算される。
【００５６】
判断ステップ２６２では、マクロブロックのうちマクロブロックSAD値MBSADがある別の閾値T4（たとえばT2≦MBSAD＜T4）を超える割合Hがある所定の閾値割合THを超えている場合、YES分枝が選ばれ、第一の参照画像についてエンコードされる動きベクトルおよび参照インデックスが後続のステップ２８０、２９０、２９２で評価される。
【００５７】
もし判断ステップ２６２で代わりに割合Hが所定の閾値割合THを超えていなかった場合には、後続のステップ（図３のステップ３０２から始まるものを含む）を実行して現在の画像をエンコードするために使うアクティブな参照の数を１より大きなある数に減らしてもよい。
【００５８】
計算ステップ２８０では、第一の参照画像のマクロブロックで参照インデックスが0に等しいものの割合K1が次の判断ステップ２８２での使用のために計算される。判断ステップ２８２では、第一の参照画像のマクロブロックで参照インデックスが0に等しいものの割合K1がある所定の閾値割合TK1を超えている場合、YES分枝が選ばれ、参照限定ステップ２９４およびエンコードステップ２９９が次に実行される。もし判断ステップ２８２で代わりに割合K1が所定の閾値割合TK1を満たさなかった場合には、後続の計算ステップ２９０および判断ステップ（たとえば２９２）が実行される。
【００５９】
計算ステップ２９０では、当該画像中で、ゼロ参照（RP0）を使い、動きベクトル成分MVxおよびMVyがそれぞれ目標範囲[−mx1,mx2]および[my1,my2]（たとえばmx1＝mx2＝my1＝my2＝1）内にあるブロックの割合K2が次の判断ステップ２９２での使用のために計算される。判断ステップ２９２では、割合K2が所定の閾値割合TK2より大きければ、YES分枝が選ばれ、参照限定ステップ２９４およびエンコードステップ２９９が次に実行される。もし判断ステップ２９２で代わりにK2が所定の閾値割合TK2より大きくなかった場合には、次いで後続のステップ（図３のステップ３０２から始まるものを含む）を実行して現在の画像をエンコードするために使うアクティブな参照の数を１より大きなある数に減らしてもよい。
【００６０】
図３は、現在の画像をエンコードするために使うアクティブな参照の数（利用可能な各リストについての）を１参照画像より大きなある数に減らすための例示的な方法論の系列３００を示している。図３の方法論３００は、図２の方法論２００のいずれも現在のP（またはB）画像をインター符号化するために使われる各（後方または前方）予測について単一の参照画像のみを使う決定を下さなかった場合に用いられる。
【００６１】
図３は、あるアクティブな参照リストNにおいて最後のアクティブな参照画像が検出される（たとえば、「最後のアクティブな参照？」の問い合わせが「YES」になる）まで各参照画像について繰り返されるRPループというループを含んでおり、また現在の画像を（前方または後方）インター符号化するために使われるアクティブな参照画像のリストから参照画像を除去するために実行されうるステップ３１０、３２０、３３０、３４０、３５０、３６０を含んでいる。もともと参照リストNにあった複数の参照画像はループにおいて整数変数添え字iによってインデックス指定されている。iは「最後のアクティブな参照」が検出される（判断３７０が「YES」になる）までインクリメントされる。添え字iはステップ３０２で1に初期化される。これは参照画像リストN中で図２で調べたゼロ参照の次の参照画像を示す。
【００６２】
取得ステップ３１０が、参照画像リストN中のi番目の参照画像に対応するピクセルデータを含む全変数データを取得し、判断を行う際に用いられるさまざまな閾値（図３によって記載される実施形態ではたとえば例示的にT5およびT6）を決定、アクセスまたは計算する。
【００６３】
計算ステップ３２０では、現在の画像に対してi番目の参照画像（iは参照画像リストNの添え字）内のマクロブロックのそれぞれについてマクロブロックSAD値（MBSADi）が次の判断ステップ３３０での使用のために計算される。
【００６４】
判断ステップ３３０では、i番目の参照画像内の全マクロブロックのマクロブロックSAD値（MBSADi）がある閾値T6より大きなマクロブロックSAD値MBSADiであった場合（すべてのMBSADi＞T6）、YES分枝が選ばれ、参照除去ステップ３６０が実行されて、現在の画像をインター符号化するために使われるアクティブな参照からリストN内からi番目の参照画像が除去される。もし判断ステップ３３０で代わりにすべてのMBSADiがT6より大きいわけではなかった場合、次いで後続の計算ステップ３４０および次の判断ステップ３５０が実行される。
【００６５】
計算ステップ３４０において、現在の画像に対するi番目の参照画像（iは参照画像リストNの添え字）についての画像MAD値PMADiが次の判断ステップ３５０での使用のために計算される。
【００６６】
判断ステップ３５０では、もし現在の画像に対するi番目の参照画像（iは参照画像リストNの添え字）についての画像MAD値PMADiがある閾値T5より大きければ、YES分枝が選ばれ、参照除去ステップ３６０が実行されて、現在の画像をインター符号化するために使われるべきアクティブな参照からリストN内のi番目の参照画像が除去される。
【００６７】
閾値T5およびT6は各参照画像に対して異なるように定義されてもよい（たとえばステップ３１０で）。たとえば、もしリストN内のi番目の参照画像が現在の画像により近い別の参照画像のエンコードに使われていなければ、これらの閾値T5およびT6を下げてもよい（閾値T5およびT6を下げるということは、ステップ３９９で現在の画像をインター符号化するために使われるアクティブな参照からその参照画像がステップ３６０で除去されるべきとなる確率が高くなることを含意する）。
【００６８】
リストN内の参照画像のすべてについてRPループのループが完了したら（判断ステップ３７０で「最後のアクティブな参照」が「YES」）、続いてリスト並べ替えステップ３９０においてステップ３６０で除去された参照画像を除いたリストNを並べ替えてもよい。それにより、残ったアクティブな参照画像は現在の画像に対してより少ないゆがみをもつものが参照リストN内でより高い優先度（より若いインデックス番号）をもって位置されることになる。するとステップ３９９において、現在の画像は、上述した図３のステップ系列３００によって最小化され、並べ替えられた参照リストNを使ってインター符号化されることができる。
【実施例１】
【００６９】
双方向予測
本発明のもう一つの実施形態は特にB画像のエンコードに適用される。画像の双方向（B:  Bi-predictive）インター符号化の場合、B画像が通例リスト０の参照およびリスト１の参照を用いてエンコードされることを考えると、両参照の動きベクトルおよび参照インデックスに依存して追加的な条件を課すことができる。たとえば、リスト１の参照画像内の全部または非常に高い割合のブロックBP（たとえばBP＞90%）が参照としてリスト０にリストされている第一の画像（ゼロ参照）を使っているならば、リスト０について単一の参照（前記ゼロ参照）のみを使うことは、ビットストリームに参照インデックスを符号化しなくてすむことでビット数が節約できるので有益である。実験結果から、B画像は複数参照使用によってP画像ほどの恩恵を受けないし、またこのタイプの画像内での直接モードの使用率の高さを考えると、複数参照オプションは完全に無効にしてさらなる参照数決定を実行する必要をなくしてしまうことも、品質にほとんど影響することなく可能である。
【００７０】
B画像については、ある特定の参照画像を保持するか否かを決定するために両方のリストを使うことが可能である。たとえば、あるB画像のリスト１の参照画像（たとえば図１における画像B7およびB8に対するP9）が使う参照画像は一つのみ（たとえばP6）であるが、これはリスト０における第一の参照でもあり、図１に示したようにこれらの画像の間には時間的な関係がある。よって、これらのB画像もリスト０に単一の参照（たとえばP6）を使ってインター符号化することが有益であろうことは非常に確からしいことである。さらにこれらの参照の現在の画像に対するゆがみについて、また動き情報について、またリスト１の参照のほとんどのブロックが静的である（動きが０または０に近い）か否かについて、図２および図３において上述した先の例と同じようにして考慮してもよい。あるB画像のリスト０での予測が完全に、あるいは大部分において単一の参照を使う場合には、そのB画像を単一の参照を使ってエンコードする決定がさらに指示されることになる。その一方、動きベクトルおよび各参照の間のゆがみがここでも考慮されることもできる。
【実施例２】
【００７１】
図４は、（画像シーケンスをなす）ピクセルデータを複数のブロック変換係数としてエンコードするための例示的なエンコーダ７００を描いたものである。当該エンコーダは、ここに開示されている判断方法および方法論を実行することによって現在の画像をインター符号化するために使われるアクティブな参照のリストを最小化するよう適応されている。エンコーダ７００は、本発明の実施形態に基づきここに開示されている方法論の一つまたは複数を実行することによって現在の画像をインター符号化するのに使われるアクティブな参照のリストを最小化または最適化するために動作するまたは相互運用されるよう特に適応された複数の回路、たとえば７６０、７１６、７２８、７３０を含みうる。エンコーダ７００はビデオ入力端子７１２を含んでおり、これは信号伝達において加算ブロック７１４の非反転入力に結合されている。加算ブロック７１４は今度は係数を与えるための整数変換を実装する機能ブロック７１６に結合されている。機能ブロック７１６は出力ビットストリームを与えるためのエントロピー符号化を実装するエントロピー符号化ブロック７１８に結合されている。前記機能ブロック７１６はさらに、内部ループ部分７２０のスケール変換・逆変換ブロック７２２のところに結合されている。機能ブロック７２２は加算ブロック７２４に結合されており、これが今度はフレーム内予測ブロック７２６に結合されている。フレーム内予測ブロック７２６はスイッチ７２７の第一の入力に結合されており、これは今度は加算ブロック７２４の第二の入力に、そして加算ブロック７１４の反転入力に結合されている。
【００７２】
加算ブロック７２４の出力はさらにブロッキング解除フィルタ７４０に結合されている。ブロッキング解除フィルタ７４０はフレーム記憶７２８に結合されている。フレーム記憶７２８は動き補償（フレーム間予測）ブロック７３０に結合されており、これはスイッチ７２７の代替的な第二の入力に結合されている。ビデオ入力端子７１２は動きベクトルを与えるためにさらに動き推定ブロック７１９に結合されている。動き推定（フレーム間予測）ブロック７１９にはさらに、ブロッキング解除フィルタ７４０が第二の入力に結合されている。動き推定ブロック７１９の出力は動き補償（フレーム間予測）ブロック７３０に、そしてまたエントロピー符号化ブロック７１８の第二の入力に結合されている。
【００７３】
ビデオ入力端子７１２はさらに、符号化器制御ブロック７６０に結合されている。符号化器制御ブロック７６０はブロック７１６、７１８、７１９、７２２、７２６、７３０、７４０のそれぞれの制御入力に結合されており、エンコーダ７００の動作を制御するための制御信号を与える。該制御信号には一つまたは複数の閾値T1,T2,TR,T3,TH,T4,TK1,TK2,T5,T6またはそれに機能的に等価なもしくはその他それらの値を組み込んだ信号が含まれうる。
【００７４】
本発明のさまざまな側面はソフトウェアにおいて実装することもでき、該ソフトウェアは汎用コンピュータまたは他のいかなる好適なコンピューティング環境上で走るものでもよい。本発明は、パーソナルコンピュータ、汎用コンピュータ、サーバーコンピュータ、ハンドヘルド機器、ラップトップ機器、マルチプロセッサ、マイクロプロセッサ、セットトップボックス、プログラム可能な消費者電子製品、ネットワークパソコン、ミニコンピュータ、メインフレームコンピュータ、分散コンピューティング環境などといった数多くの汎用または特殊目的のコンピューティング環境において、本発明のフレーム・ツー・フレームのデジタルビデオエンコードを実行するための、コンピュータ可読媒体上に保存され、コンピュータ実行可能命令を実行するよう動作することができる。本発明は部分的または全体的に、コンピュータによって実行されるプログラムモジュールのようなコンピュータ実行可能命令として実装されてもよい。一般に、プログラムモジュールには、特定のタスクを実行したり、あるいは特定の抽象的なデータ型を実装したりするためのルーチン、プログラム、オブジェクト、コンポーネント、データ構造などが含まれる。分散コンピューティング環境においては、プログラムモジュールの位置はローカルまたはリモートの記憶装置内であってよい。
【００７５】
本発明の例示的な実施形態が上に説明され、図面で示されている。しかし、本発明は上記の例示的な実施形態に限定されるものではなく、当業者が本発明の精神および範囲内で変形や修正を実施できることは明らかである。ゆえに、例示的な実施形態は限定ではなく例として理解されるべきである。本発明の範囲は上の記述によってではなく、付属の請求項によって決定されるものであり、該付属の請求項およびその等価物によって定義される本発明の範囲から外れることなく本発明の実施形態に変形および修正を施すことができる。そこで、i、K、Mは整数である。
【図面の簡単な説明】
【００７６】
【図１】本発明の原理に基づいて符号化され、インター符号化の参照として使うために選択されるべき一連の画像を示す図である。
【図２】現在の画像をインター符号化するために各（後方および前方）予測について使う参照画像をただ一つとすることを決定するための方法論を示すフローチャートである。
【図３】現在の画像を（前方または後方）インター符号化するのに使われるべきアクティブな参照画像のリストから参照画像を除去するための方法論を示すフローチャートである。
【図４】本発明のある実施形態に基づくビデオエンコーダを示すブロック概略図である。
【図１】
2007503776.tif 000006
【図２】
2007503776.tif 000007
【図３】
2007503776.tif 000008
【図４】
2007503776.tif 000009
【国際調査報告】
2007503776.tif 000010
2007503776.tif 000011
2007503776.tif 000012
2007503776.tif 000013
2007503776.tif 000014
2007503776.tif 000015