(57)【特許請求の範囲】
【請求項１】
復号器に６４の係数の対象ブロックのデータを予測させることを可能とするビデオ信号のフォーマットを行う符号化方法であって、
ビデオ信号を、データについての複数のブロックであって、復号器が６４の係数の対象ブロックのデータの予測を複数のステップを実行することによって可能となるようにフォーマットし、
前記複数のステップは、
対象ブロックに対し水平方向左側に隣接するデータの第１ブロックと、第１ブロックに対し垂直方向上側に隣接するデータの第２ブロックと、対象ブロックに対し垂直方向上側に隣接するデータの第３ブロックと、を識別するステップと、
前記第１ブロックの第１ＤＣ係数と前記第２ブロックの第２ＤＣ係数との間の第１勾配を前記第１ＤＣ係数と前記第２ＤＣ係数の差を計算することによって決定するステップと、
前記第３ブロックの第３ＤＣ係数と前記第２ブロックの前記第２ＤＣ係数との間の第２勾配を前記第３ＤＣ係数と前記第２ＤＣ係数の差を計算することによって決定するステップと、
対象ブロックのデータを参照することなく、前記第１勾配及び前記第２勾配に基づき対象ブロックについてのＤＣ係数を予測するステップと、
前記対象ブロックを含むマクロブロックについてのＡＣ予測フラグを受信するステップと、
対象ブロックのランレングス符号の復号化を行う際に、
（ｉ）前記ＡＣ予測フラグがＡＣ予測が使われていないことを示す場合には、対象ブロックについてジグザグ走査を用い、
（ｉｉ）前記ＡＣ予測フラグがＡＣ予測が使われたことを示す場合であって、
前記第１勾配が前記第２勾配より小さい場合には、対象ブロックにおけるＡＣ係数の第１行を第３ブロックにおけるＡＣ係数の第１行から予測し、
その他の場合には、対象ブロックにおけるＡＣ係数の第１列を第１ブロックにおけるＡＣ係数の第１列から予測するとともに、
対象ブロックについての走査順序を、前記第１勾配及び前記第２勾配に基づいて選択する、ステップと、
を含む符号化方法。
【請求項２】
請求項１に記載の方法において、前記復号器は、さらに、対象ブロックの前記ＤＣ係数を予測することができ、
前記第１勾配が前記第２勾配より小さい場合に、前記第３ブロックの前記第３ＤＣ係数に基づき対象ブロックの前記ＤＣ係数を予測するステップと、
前記第１勾配が前記第２勾配より小さくない場合に、前記第１ブロックの前記第１ＤＣ係数に基づき対象ブロックの前記ＤＣ係数を予測するステップと、
含む、方法。
【請求項３】
請求項１に記載の方法において、さらに、離散コサイン変換にしたがってデータのブロックを符号化し、データのブロックを得る、方法。
【請求項４】
請求項３に記載の方法であって、さらに、前記データのブロックを量子化し量子化されたデータのブロックを得る、方法。
【請求項５】
請求項４に記載の方法において、量子化されたブロックは、イントラ符号化技術によって符号化されるデータのフレームの一部である、方法。
【請求項６】
請求項４に記載の方法において、前記離散コサイン変換、量子化、及び予測は、輝度データのブロックと色データのブロックとに対して独立して行われる、方法。
【請求項７】
請求項４に記載の方法において、前記復号器は、さらに、前記データの量子化ブロックを利用して前記第１勾配および第２勾配を決定し、対象ブロックの前記ＤＣ係数を予測することができる、方法。
【請求項８】
請求項１に記載の方法において、さらに、前記対象ブロックの実際のＤＣ係数と前記対象ブロックの予測されたＤＣ係数の差を示す残差データを送信する、方法。
【請求項９】
ビデオ信号をフォーマットしてデコーダが６４の係数の対象ブロックのＤＣ係数を予測できるようにする符号器であって、
プロセッサーと、
前記プロセッサーをコントロールするように構成されているモジュールであって、前記プロセッサーが複数のステップを実行することによって、６４の係数の対象ブロックのＤＣ係数を復号器が予測できるように、ビデオ信号をデータのブロックにフォーマットするモジュールを含み、
前記複数のステップは、
対象ブロックに対し水平方向左側に隣接するデータの第１ブロックと、第１ブロックに対し垂直方向上側に隣接するデータの第２ブロックと、対象ブロックに対し垂直方向上側に隣接するデータの第３ブロックと、を識別するステップと、
前記第１ブロックの第１ＤＣ係数と前記第２ブロックの第２ＤＣ係数との間の第１勾配を前記第１ＤＣ係数と前記第２ＤＣ係数の差を計算することによって決定するステップと、
前記第３ブロックの第３ＤＣ係数と前記第２ブロックの前記第２ＤＣ係数との間の第２勾配を前記第３ＤＣ係数と前記第２ＤＣ係数差を計算することによって決定するステップと、
前記第１勾配及び前記第２勾配に基づき対象ブロックについてのＤＣ係数を予測するステップと、
前記対象ブロックを含むマクロブロックについてのＡＣ予測フラグを生成するステップと、
対象ブロックのランレングス符号化を行う際に、
（ｉ）前記ＡＣ予測フラグがＡＣ予測が使われていないことを示す場合には、対象ブロックについてジグザグ走査を用い、
（ｉｉ）前記ＡＣ予測フラグがＡＣ予測が使われたことを示す場合であって、前記第１勾配が前記第２勾配より小さい場合には、対象ブロックにおけるＡＣ係数の第１行を第３ブロックにおけるＡＣ係数の第１行から予測し、
その他の場合には、対象ブロックにおけるＡＣ係数の第１列を第１ブロックにおけるＡＣ係数の第１列から予測するとともに、
対象ブロックについての走査順序を、前記第１勾配及び前記第２勾配に基づいて選択する、ステップと、
を含む、符号器。
【請求項１０】
請求項９に記載の符号器において、前記復号器は、さらに、前記データの複数のブロックを用いて対象ブロックのＤＣ係数を予測することができ、
前記第１勾配が前記第２勾配より小さい場合に、第３ＤＣ係数に基づき対象ブロックのＤＣ係数を予測するステップと、
前記第１勾配が前記第２勾配より小さくない場合に、前記第１ＤＣ係数に基づき対象ブロックのＤＣ係数を予測するステップと、
含む、符号器。
【請求項１１】
請求項９に記載の符号器において、前記複数のデータのブロックはさらに、離散コサイン変換の係数を含む、符号器。
【請求項１２】
請求項９に記載の符号器において、前記復号器は、前記第１勾配及び第２勾配の比較に基づき、対象ブロックについてのＡＣ係数を予測する、符号器。
【請求項１３】
請求項９に記載の符号器において、前記モジュールは前記プロセッサーを制御してデータのブロックをフォーマットし、さらに離散コサイン変換にしたがってデータのブロックをフォーマットしデータのブロックを得る、符号器。
【請求項１４】
請求項１３に記載の符号器であって、符号化装置は、さらに、データのブロックを量子化し、量子化されたデータのブロックを得るようにプロセッサーを制御するモジュールを含む、符号器。
【請求項１５】
請求項１４に記載の符号器において、第１の量子化されたデータのブロックは、イントラ符号化技術によって符号化されるデータのフレームの一部である、符号器。
【請求項１６】
請求項１４に記載の符号器において、前記離散コサイン変換、量子化、及び予測は、輝度データのブロックと色データのブロックとに対して独立して行われる、符号器。
【請求項１７】
請求項１４に記載の符号器において、前記復号器は、さらに、前記データの量子化ブロックを利用して前記第１勾配および第２勾配を決定し、対象ブロックの前記ＤＣ係数を予測することができる、符号器。
【請求項１８】
請求項９に記載の符号器において、さらに、前記対象ブロックの実際のＤＣ係数と前記対象ブロックの前記ＤＣ係数の差を示す残差データを送信する、符号器。
【請求項１９】
プロセッサーをコントロールしてビデオ信号をフォーマットするインストラクションを格納する媒体であって、
前記インストラクションによって、前記プロセッサーに、
ビデオ信号を、データについての複数のブロックであって、復号器が複数のステップを実行することによって、６４の係数の対象ブロックのＤＣ係数の予測が可能となるようにフォーマットさせることを含み、
前記複数のステップは、
前記６４の係数の対象ブロックに対し水平方向左側に隣接するデータの第１ブロックと、第１ブロックに対し垂直方向上側に隣接するデータの第２ブロックと、対象ブロックに対し垂直方向上側に隣接するデータの第３ブロックと、を識別するステップと、
前記第１ブロックの第１ＤＣ係数と前記第２ブロックの第２ＤＣ係数との間の差を計算することにより前記第１ブロックの第１ＤＣ係数と第２ブロックの第２ＤＣ係数との間の第１勾配を決定するステップと、
前記第３ブロックの第３ＤＣ係数と前記第２ブロックの第２ＤＣ係数との間の差を計算することにより第３ブロックの第３ＤＣ係数と第２ブロックの第２ＤＣ係数の間の第２勾配を決定するステップと、
対象ブロックのデータを参照することなく、前記第１勾配及び前記第２勾配に基づき対象ブロックについてのＤＣ係数を予測するステップと、
前記対象ブロックを含むマクロブロックについてのＡＣ予測フラグを受信するステップと、
対象ブロックのランレングス符号の復号化を行う際に、
（ｉ）前記ＡＣ予測フラグがＡＣ予測が使われていないことを示す場合には、対象ブロックについてジグザグ走査を用い、
（ｉｉ）前記ＡＣ予測フラグがＡＣ予測が使われたことを示す場合であって、
前記第１勾配が前記第２勾配より小さい場合には、
対象ブロックにおけるＡＣ係数の第１行を第３ブロックにおけるＡＣ係数の第１行から予測し、
その他の場合には、対象ブロックにおけるＡＣ係数の第１列を第１ブロックにおけるＡＣ係数の第１列から予測するとともに、
対象ブロックについての走査順序を、前記第１勾配及び前記第２勾配に基づいて選択する、ステップと、
を含む、媒体。
【請求項２０】
請求項１９に記載の媒体において、前記復号器は、さらに、前記データの複数のブロックを用いて対象ブロックのＤＣ係数を予測することができ、
前記第１勾配が前記第２勾配より小さい場合に、前記第３ＤＣ係数に基づき対象ブロックのＤＣ係数を予測するステップと、
前記第１勾配が前記第２勾配より小さくない場合に、前記第１ＤＣ係数に基づき対象ブロックのＤＣ係数を予測するステップと、
含む、媒体。
【請求項２１】
請求項１９に記載の媒体において、前記データのブロックのデータはさらに、離散コサイン変換の係数を含む、媒体。
【請求項２２】
請求項１９に記載の媒体において、前記ビデオ信号をフォーマットする指令は、さらに、離散コサイン変換にしたがってデータのブロックをフォーマットしデータのブロックを得ることを含む、媒体。
【請求項２３】
請求項２２に記載の媒体であって、さらに、データのブロックを量子化し、量子化されたブロック得る、媒体。
【請求項２４】
請求項２３に記載の媒体において、符号化され量子化された複数のブロックは、イントラ符号化技術によって符号化されるデータのフレームの一部である、媒体。
【請求項２５】
請求項２３に記載の媒体において、前記離散コサイン変換、量子化、及び予測は、輝度データのブロックと色データのブロックとに対して独立して行われる、媒体。
【請求項２６】
請求項２３に記載の媒体において、前記復号器は、さらに、前記データの量子化ブロックを利用して前記第１勾配および第２勾配を決定し、対象ブロックの前記ＤＣ係数を予測することができる、媒体。
【請求項２７】
請求項１９に記載の媒体において、さらに、前記対象ブロックの実際のＤＣ係数と前記対象ブロックの前記ＤＣ係数の差を示す残差データを送信する、媒体。
【請求項２８】
復号器において、
６４の係数のブロックＸについてのＤＣ係数またはＡＣ係数の予測方向を、ブロックＸの左側のブロックＡについてのＤＣ係数ＤＣAと、ブロックＡの上側のブロックＢについてのＤＣ係数ＤＣBと、ブロックＸの上側のブロックＣについてのＤＣ係数ＤＣCとに基づき選択する方法であって、
｜ＤＣA−ＤＣB｜  ＜  ｜ＤＣB−ＤＣC｜の場合、ブロックＸのＤＣ係数を前記ＤＣCから予測し、それ以外の場合には前記ＤＣAから予測するステップであって、前記予測はブロックＸのＤＣ係数とブロックＸに隣接するいずれのブロックのＤＣ係数との比較からも独立しているステップと、
前記ブロックＸを含むマクロブロックについてのＡＣ予測フラグを受信するステップと、
対象ブロックＸのランレングス符号の復号化を行う際に、
（ｉ）前記ＡＣ予測フラグがＡＣ予測が使われていないことを示す場合には、ブロックＸについてジグザグ走査を用い、
（ｉｉ）前記ＡＣ予測フラグがＡＣ予測が使われたことを示す場合であって、
｜ＤＣA−ＤＣB｜  ＜  ｜ＤＣB−ＤＣC｜場合には、ブロックＸにおけるＡＣ係数の第１行をブロックＣにおけるＡＣ係数の第１行から予測し、
その他の場合には、ブロックＸにおけるＡＣ係数の第１列をブロックＡにおけるＡＣ係数の第１列から予測するとともに、
ブロックＸについての走査順序を、｜ＤＣA−ＤＣB｜及び｜ＤＣB−ＤＣC｜に基づいて選択するステップと、
を含む、方法。
【請求項２９】
請求項２８に記載の方法において、
各ブロックＮのＤＣ係数ＤＣNは、離散コサイン変換のＤＣ値であり、Ｎは各ブロックブロックＡ，Ｂ，Ｃを代表する、
方法。
【請求項３０】
請求項２８に記載の方法において、
ブロックＡ，Ｂ，Ｃはそれぞれの方向において前記ブロックＸに最も近くにあるブロックである、
方法。
【請求項３１】
請求項２８に記載の方法において、
前記ＤＣCに基づき予測したとき、前記ブロックＸの係数の可変長符号化を表５で特定される走査方向に従って行う、
ことをさらに含む方法。
【請求項３２】
請求項２８に記載の方法において、
前記ＤＣAに基づき予測したとき、前記ブロックＸの係数の可変長符号化を表６で特定される走査方向に従って行う、
ことをさらに含む方法。
【請求項３３】
符号器であって、
プロセッサーに、
ビデオデータの６４の係数の対象ブロックＸのＤＣ係数またはＡＣ係数に対する予測を、対象ブロックＸに対し水平方向左側に隣接するブロックＡについてのＤＣ係数ＤＣAと、ブロックＡに対し垂直方向上側に隣接するブロックＢについてのＤＣ係数ＤＣBと、対象ブロックＸに対して垂直方向上側に隣接するブロックＣについてのＤＣ係数ＤＣCとに基づき選択させるよう制御するように構成されている第１モジュールを含むとともに、
前記第１モジュールは、プロセッサーに、
｜ＤＣA−ＤＣB｜  ＜  ｜ＤＣB−ＤＣC｜の場合、対象ブロックＸのデータを参照することなくブロックＣに基づき前記ブロックＸについての予測をし、それ以外の場合には対象ブロックＸのデータを参照することなくブロックＡに基づき前記ブロックＸについての予測をさせるよう制御するように構成されている第１モジュールと、
前記プロセッサーにＡＣ予測を行わせる第２モジュールであって、
前記ブロックＸを含むマクロブロックについてのＡＣ予測フラグを生成し、
対象ブロックＸのランレングス符号化を行う際に、
（ｉ）前記ＡＣ予測フラグがＡＣ予測が使われていないことを示す場合には、ブロックＸについてジグザグ走査を用い、
（ｉｉ）前記ＡＣ予測フラグがＡＣ予測が使われたことを示す場合であって、
｜ＤＣA−ＤＣB｜  ＜  ｜ＤＣB−ＤＣC｜の場合には、ブロックＸにおけるＡＣ係数の第１行をブロックＣにおけるＡＣ係数の第１行から予測し、
その他の場合には、ブロックＸにおけるＡＣ係数の第１列をブロックＡにおけるＡＣ係数の第１列から予測するとともに、
ブロックＸについての走査順序を、｜ＤＣA−ＤＣB｜及び｜ＤＣB−ＤＣC｜に基づいて選択する、
第２モジュールと、
を含む符号器。
【請求項３４】
ビデオ信号を符号化する符号化方法であって、
ビデオ信号をデータの複数のブロックにフォーマットし、
６４の係数の対象ブロックに対し水平方向左側に隣接するデータの第１符号化ブロックと、第１符号化ブロックに対し垂直方向上側に隣接するデータの第２符号化ブロックと、対象ブロックに対し垂直方向上側に隣接するデータの第３符号化ブロックと、を識別し、
前記第１符号化ブロックの第１ＤＣ係数と前記第２符号化ブロックの第２ＤＣ係数との間の差を計算することにより第１符号化ブロックの第１ＤＣ係数と第２符号化ブロックの第２ＤＣ係数との間の第１勾配を決定し、
前記第３符号化ブロックの第３ＤＣ係数と前記第２符号化ブロックの第２ＤＣ係数との間の差を計算することにより第３符号化ブロックの第３ＤＣ係数と第２符号化ブロックの第２ＤＣ係数との間の第２勾配を決定するステップと、
前記対象ブロックのデータを参照することなく、前記第１勾配及び前記第２勾配に基づき対象ブロックについての予測されたＤＣ係数を発生するステップと、
前記対象ブロックを含むマクロブロックについてのＡＣ予測フラグを生成するステップと、
対象ブロックのランレングス符号化を行う際に、
（ｉ）前記ＡＣ予測フラグがＡＣ予測が使われていないことを示す場合には、対象ブロックについてジグザグ走査を用い、
（ｉｉ）前記ＡＣ予測フラグがＡＣ予測が使われたことを示す場合であって、
前記第１勾配が前記第２勾配より小さい場合には、対象ブロックにおけるＡＣ係数の第１行をブロックＣにおけるＡＣ係数の第１行から予測し、
その他の場合には、対象ブロックにおけるＡＣ係数の第１列をブロックＡにおけるＡＣ係数の第１列から予測するとともに、
対象ブロックについての走査順序を、前記第１勾配及び前記第２勾配に基づいて選択する、ステップと、
を含む符号化方法。
【請求項３５】
請求項３４に記載の方法において、
前記第１勾配は、垂直勾配である，方法。
【請求項３６】
請求項３５に記載の方法において、
前記第２勾配は、水平勾配である，方法。
【請求項３７】
請求項３４に記載の方法において、
さらに、
少なくとも部分的に対象ブロックの前記予測されたＤＣ係数に基づくデータの対象ブロックの残差データを送信する、方法。
【請求項３８】
請求項３７に記載の方法において、
前記残差データは、対象ブロックの実際のＤＣ係数から、対象ブロックの前記予測されたＤＣ係数を減算した残差データである、方法。
【請求項３９】
請求項３４に記載の方法において、
前記第１符号化ブロック、第２符号化ブロック、第３符号化ブロックは、それぞれ離散コサイン変換符号化によって少なくとも各ブロックのＤＣ係数を発生されている方法。
【請求項４０】
符号器であって、
プロセッサーと、
前記プロセッサーがビデオ信号を６４の係数のデータのブロックにフォーマットするように前記プロセッサーを制御するように構成されている第１モジュールと、
プロセッサーを６４の係数の対象ブロックに対し水平方向左側に隣接するデータの第１ブロックと、第１ブロックに対し垂直方向上側に隣接するデータの第２ブロックと、対象ブロックに対し垂直方向上側に隣接するデータの第３ブロックと、を識別するように制御するように構成されている第２モジュールと、
プロセッサーを前記第１ブロックの第１ＤＣ係数と前記第２ブロックの第２ＤＣ係数との間の差を計算することにより前記第１ブロックの第１ＤＣ係数と前記第２ブロックの第２ＤＣ係数との間の第１勾配を決定するように制御するように構成されている第３モジュールと、
プロセッサーを前記第３ブロックの第３ＤＣ係数と前記第２ブロックの第２ＤＣ係数との間の差を計算することにより前記第３ブロックの第３ＤＣ係数と第２ブロックの第２ＤＣ係数との間の第２勾配を決定するように制御するように構成されている第４モジュールと、
プロセッサーを対象ブロックのデータを参照することなく、前記第１勾配及び前記第２勾配に基づき対象ブロックについての予測されたＤＣ係数を発生するように制御するように構成されている第５モジュールと、
前記プロセッサーが、
前記対象ブロックを含むマクロブロックについてのＡＣ予測フラグを生成し、
対象ブロックのランレングス符号化を行う際に、
前記ＡＣ予測フラグがＡＣ予測が使われていないことを示す場合には、対象ブロックについてジグザグ走査を用い、
前記ＡＣ予測フラグがＡＣ予測が使われたことを示す場合であって、
前記第１勾配が前記第２勾配より小さい場合には、対象ブロックにおけるＡＣ係数の第１行を第３ブロックにおけるＡＣ係数の第１行から予測し、
その他の場合には、対象ブロックにおけるＡＣ係数の第１列を第１ブロックにおけるＡＣ係数の第１列から予測するとともに、
対象ブロックについての走査順序を、前記第１勾配及び前記第２勾配に基づいて選択する、
というＡＣ予測を選択的に実行するように、前記プロセッサーを制御するように構成されている第６モジュールと、
を含む、符号器。
【請求項４１】
請求項４０に記載の符号器において、
前記第１勾配は、垂直勾配であり、前記第２勾配は、水平勾配である、符号器。
【請求項４２】
請求項４０に記載の符号器において、
前記第５モジュールは、前記プロセッサに前記第１ブロック、第２ブロックおよび第３ブロックを利用させるように制御して対象ブロックの予測されたＤＣ係数を発生するときに、
第１勾配が第２勾配より小さい場合に、対象ブロックの前記予測されたＤＣ係数を第３ブロックの第３ＤＣ係数に基づき発生するステップと、
第１勾配が第２勾配より小さくない場合に、対象ブロックの前記予測されたＤＣ係数を第１ブロックの第１ＤＣ係数に基づき発生するステップと、
を実行する、符号器。
【請求項４３】
請求項４０に記載の符号器において、
前記６４の係数データは、離散コサイン変換によって発生した係数である、符号器。
【請求項４４】
請求項１，２８，３４のいずれか１つにおいて、前記６４の係数のブロックは、８×８の係数のブロックを含む、方法。
【請求項４５】
請求項４０に記載の符号器において、
前記データのブロックは、複数の行および複数の列から構成される、符号器。
【請求項４６】
請求項４０に記載の符号器において、
前記６４の係数のデータの対象ブロックは、８×８のデータのブロックであり、前記第１のブロックは、８×８のデータのブロックであり、前記第２のブロックは、８×８のデータのブロックであり、前記第３のブロックは、８×８のデータのブロックである、符号器。
【請求項４７】
請求項１に記載の方法において、
ビデオ信号を、
画像データは、復号器が対象ブロックのデータを、対象ブロックのＤＣ係数と如何なる他のブロックのデータとの如何なる比較なしに、予測できるように、構成された画像データのブロックにフォーマットすることをさらに含む、方法。
【請求項４８】
請求項９に記載の符号器において、
前記モジュールは、
前記プロセッサーが、前記モジュールによって前記プロセッサーが制御されている時、ビデオ信号を、復号器が対象ブロックのデータを参照することなくデータを予測できるように構成されたデータのブロックにフォーマットするように、さらにプロセッサーを制御するように構成されている、符号器。
【発明の詳細な説明】
【技術分野】
【０００１】
本出願は、１９９６年９月２０日付けで提出された米国仮出願第６０／０２６，９３３号及び１９９７年２月１４付けで提出された米国仮出願第６０／０３８，０１９号によって付与された優先権に基づくものである。
【背景技術】
【０００２】
ビデオ画像の通信、記憶及び検索のためのプロトコルとしては様々なものが知られている。プロトコルは、常に信号帯域幅を低減させることを特に重視して開発されている。信号帯域幅を低減させることにより、記憶デバイスはより多くの画像を記憶することができ、通信システムは、一定の与えられた通信速度でより多くの画像を送ることができる。信号帯域幅の減少は、信号を用いるシステム全体の容量を増大させる。
【０００３】
しかしながら、帯域幅の減少には特定の欠点が付随する可能性がある。例えば、或る種の既知のコーディングシステムは損失が大きく、又復号された画像の知覚的品質に影響を及ぼしうる誤差を導く。他のコーディングシステムは、或る種のタイプの画像について大幅な帯域幅減少を達成できるが、他のタイプの画像については全く帯域幅減少を達成できない。従って、コーディング体系の選択については注意深い配慮が求められる。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
従って、当該技術分野においては、知覚的に有意な誤差を導くことなく信号帯域幅を低減させる画像コーディング体系に対するニーズが存在する。
【課題を解決するための手段】
【０００５】
新しいブロックに先行する３つの画像データブロックから新しい画像データブロックを予測する予測式コーディング体系によって、先行技術の欠点は、大幅に軽減される。この新しいブロックについて、符号器は、新しいブロックに対し水平方向及び垂直方向に隣接するブロックの画像データを検査する。符号器は、２つの隣接するブロックの各々の画像データを、垂直方向に隣接するブロックに対し水平方向に隣接して位置付けされている（新しいブロックより対角線方向に上）第３のブロックの画像データに対し比較する。これらの比較から、水平及び垂直の勾配が決定される。勾配の値に基づき、符号器は、それに最も類似する水平又は垂直方向に隣接するブロックの画像データとなるべき新しいブロックの画像データを予測する。その後、符号器は、新しいブロックについての画像データの実際値と画像データの予測値の間の残留差を決定し、残余を符号化する。復号器は、水平及び垂直勾配に基づき新しいブロックのための画像データを予測しそれに残余を加算して新しいブロックの実際の画像データを再構築する逆予測を実行する。このプロセスには損失が無い。
【発明の効果】
【０００６】
本発明に従うと、係数データのビデオコーディングは、暗黙的勾配予測によって、及び勾配予測方法により得られた結果を利用する走査技術によって、更に効率よく行うことができる。現時点では、本発明のコーディング体系は、ＭＰＥＧ−４ビデオ検証モデル内に採用されており、ＭＰＥＧ−４ビデオ規格のために考慮されつつある。
【発明を実施するための最良の形態】
【０００７】
図１（ａ）は、本発明の第１の実施形態に従って構築された符号器１００を示す。アナログ画像信号が符号器１００に供給される。画像信号は、当該技術分野において既知の技術を用いてサンプリングされ、アナログ−デジタル（「Ａ／Ｄ」）変換器１１０によりデジタル信号に変換される。Ａ／Ｄ変換器１１０は、画像の複数の画素に対してデジタル画像信号を生成する。代替的には、画像信号は、デジタル画像信号として符号器に供給することもできる。この場合、Ａ／Ｄ変換器１１０は削除される。
【０００８】
デジタル画像信号は、処理回路１２０に入力される。処理回路１２０は、多数の機能を実行することができる。標準的には、処理回路１２０は、画像データをフィルタリングし、画像データを１つの輝度信号成分と２つの色信号成分に分割する。付加的には、処理回路１２０は、画像データをデータブロックの形にまとめる。デジタル入力信号が、走査方向における複数の画素についての情報を表す場合、処理回路１２０のデジタル入力は画素ブロックを表し、例えば、データを画像データの８画素×８画素のアレイの形にブロック化することができる。処理回路１２０は、マクロブロックベースで画像データを出力する。マクロブロックは、標準的に４つの輝度データブロックと２つの色データブロックで構成されている。処理回路１２０は同様に、個々の設計基準に適合するよう、フィルタリングといったような付加的な機能も実行する。
【０００９】
処理回路１２０の出力は、トランスフォーム回路１３０に入力される。トランスフォーム回路１３０は、画素ドメインから係数のドメインへの、離散コサイントランスフォーム（「ＤＣＴ」）コーディング又は副帯域コーディングといったような画像データのトランスフォームを実行する。画素ブロックが、等価のサイズを持つ係数ブロックへとトランスフォームされる。ＤＣＴコーディングにより出力された係数は一般に、単一のＤＣ係数を内含する。残りは、一部が非ゼロであるＡＣ係数である。同様にして、副帯域コーディングによって出力された係数は、様々な周波数での画像の特性を表す：標準的には、副帯域コーディングからの数多くの係数は非常に小さいものである。トランスフォーム回路１３０は、係数ブロックを出力する。
【００１０】
量子化器１４０が、一定の又は可変的スカラー値（Ｑｐ）に従って、トランスフォーム回路１３０により生成された信号を基準化(scale)する。量子化器１４０は、信号を符号化するのに利用可能な量子化レベルの数を低減させることによって、画像信号の帯域幅を減少させる。量子化プロセスは損失が大きい。量子化器１４０に入力された数多くの小さい係数は細分されゼロまでで打ち切られる。基準化された信号は、量子化器１４０から出力される。
【００１１】
予測回路１５０は、各ブロックの基準化されたＤＣ係数を予測するため、勾配予測解析を実行する。予測回路１５０は、基準化されたＡＣ係数を通過させることもできるし、代替的にはブロックのＡＣ係数を予測することもできる。好ましい動作モードでは、予測回路１５０は、ＡＣ係数の予測モード又は通過モードの間での選択を行う。この場合、予測回路１５０は、動作モードを識別するべくＡＣ予測フラグを生成する。予測回路１５０は、ＤＣ残留信号、ＡＣ信号（ＡＣ係数又はＡＣ残余のいずれかを表す）及びＡＣ予測フラグを出力する。
【００１２】
可変長コーダー１６０が予測回路１５０の出力を符号化する。可変長コーダー１６０は、標準的に、基準化された信号に対しランレングス（run length)コーディングを実行するハフマン符号器である。可変長コーダー１６０から出力されたビットストリームは、伝送するか、記憶するか、又は当該技術分野において既知の通りのその他の目的で使用することができる。
【００１３】
符号器１００の中で、予測回路１５０及び量子化器１４０は、互いに独立した機能を実行する。従ってその動作順序は重要でない。図１は、予測回路１５０に対する入力としての量子化器１４０の出力を例示しているが、回路の順序を逆転することも可能である。予測回路１５０の出力は、量子化器１４０に入力できる。
【００１４】
図１（ｂ）において、復号器２００は、上述の符号化動作を元に戻す動作を実行する。可変長復号器２６０が、基準化された信号を回復するための相補的プロセスを用いて、ビットストリームを解析する。符号器１００の可変長コーダー１６０がハフマン符号器を使用していた場合は、ハフマン復号器２６０が用いられる。
【００１５】
復元回路２５０は、予測回路１５０内で実行されるものと同一の勾配解析を実行する。ＤＣ残留信号は識別され、ＤＣ係数を得るべく予測された係数に加算される。任意には、復元回路２５０は、ＡＣ予測フラグを識別することができ、このフラグの状態に基づいてＡＣ情報をＡＣ係数情報又はＡＣ残留情報のいずれかとして解釈する。ＡＣ残留情報が存在する場合、復元回路２５０は、残留信号を対応する予測信号に付加してＡＣ係数を得る。復元回路２５０は係数信号を出力する。
【００１６】
スカラー回路２４０が、量子化回路１４０内の除算のためのベースとして用いられたものと同じスカラーを、回復された信号に乗じる。当然のことながら、ゼロまで分割されたこれらの係数は回復されない。
【００１７】
逆トランスフォーム回路２３０は、符号器１００のトランスフォーム回路１３０によって応用されたトランスフォームの逆を実行する。ＤＣＴトランスフォームが実行された場合、逆ＤＣＴトランスフォームが応用される。副帯域コーディングの場合も同様である。逆トランスフォーム回路２３０は、係数情報を画素ドメインにトランスフォームし戻す。
【００１８】
処理回路２２０は、輝度信号及び色信号を組み合わせ、特定のアプリケーションにおいて望まれるような任意の機能を実行することができる。処理回路２２０は、いつでも表示できる状態にある画素のデジタル信号を出力する。この時点で、信号は、デジタルモニター上に表示するのに適合した状態にある。特定のアプリケーションに適合させることが必要である場合、アナログ表示装置上での表示のためデジタル−アナログ変換器２１０で信号を変換することができる。
【００１９】
図２は、予測回路によって処理されたとおりのデータ構造を例示している。トランスフォーム回路から出力されたデータは、マクロブロックの形に組織された複数のブロックを表す。各々のマクロブロックは、標準的には、マクロブロックの輝度成分を表す４つのブロックとマクロブロックの色成分を表す２つのブロックによって占有されている。
【００２０】
各ブロックは、ブロックがそこから誘導された空間的領域の係数を表す。ＤＣＴトランスフォームが応用された場合、ブロックのＤＣxのＤＣ係数が、左上コーナーのブロックの原点にて提供される。水平方向にはＤＣ係数が占有している横列上に又垂直方向にはＤＣ係数が占有している縦行上に最上位係数が提供されている状態で、ブロック全体を通してＡＣ係数が提供されている。
【００２１】
図３は、予測回路１５０の詳細なブロックダイヤグラムを示す。量子化器１４０は、基準化されたＤＣ及びＡＣ係数を生成する。ＤＣ係数は基準化することができ（ＤＣ＝ＤＣ／Ｑｐ、標準的にはＱｐ＝８）、ＤＣ係数予測器３００に入力される。ＤＣ係数予測器は勾配解析を実行する。
【００２２】
任意のブロックＸについて、ＤＣ係数予測器３００は、図２に示されているブロックＸに対し水平方向に隣接するブロックＡ、ブロックＸに対し垂直方向に隣接するブロックＣ及び、即ちブロックＣに対し水平方向に隣接しブロックＡに対し垂直方向に隣接するブロックであるブロックＢのデータを、メモリ内に維持する。ＤＣ係数予測器は、ブロックＡ（ＤＣA）のＤＣ係数をブロックＢのＤＣ係数（ＤＣB）と比較する。ブロックＡ及びブロックＢのＤＣ係数の間の差は、垂直勾配である。ＤＣ係数予測器３００は同様に、ブロックＢのＤＣ係数（ＤＣB）とブロックＣのＤＣ係数（ＤＣC）を比較する。ブロックＣ及びブロックＢの係数の間の差は水平勾配である。
【００２３】
ブロックＢからの最高の勾配と結び付けられたブロックは、予測のベースとして使用される。垂直勾配が水平勾配よりも大きい場合、ブロックＡがブロックＸと高い相関関係をもつことになると予想され、従って、ＤＣ係数予測器３００は、ブロックＸの予測のためのベースとしてそれがブロックＡを用いる水平予測を利用する。水平勾配が垂直勾配よりも大きい場合、従って、ＤＣ係数予測器３００は、ブロックＸの予測のためのベースとしてそれがブロックＣを用いる垂直予測を利用する。ＤＣ係数予測器３００は、減算器３１０に対し予測のために使用されたブロックのＤＣ係数（ＤＣA又はＤＣC）を出力する。ＤＣ係数予測器３００は、同様に、水平予測又は垂直予測のいずれが実行されるかを示すｈｏｒ／ｖｅｒｔ信号３２０も生成する。
【００２４】
減算器３１０は、ブロックＸについてのＤＣ残留信号を得るためブロックＸのＤＣ係数からＤＣ係数予測器３００によって生成されたＤＣ係数を減算する。ＤＣ残余は、予測回路１５０から可変長コーダー１６０へ出力される。
【００２５】
上述のブロセスは、コーディングすべき画像の内部でのブロックの係数を予測するために利用される。しかしながら、ビデオオブジェクト平面の新しい横列の開始点で係数を予測する場合、予測のための先行ブロックは、通常のプロセスのもとで上にあるラインの最後のブロックである。標準的にはこれらのブロック間にはほとんど相関関係がない。
【００２６】
図２中のブロックＹがビデオオブジェクト平面の開始縁にあると仮定する。走査方向では、いかなるブロックも水平方向にブロックＹと隣接していない。上にある横列内の最終ブロックの画像データは、「水平方向に隣接する」ブロックとして使用されるべく利用可能な状態にあるものの、これは予測のためには用いられない。その代わり、ＤＣ係数予測器３００は、水平方向に隣接するブロック及びその上にあるブロックのためのＤＣ係数値を、人工的に半強度信号にセットする。ＤＣ係数が８ビットのワードによって表される場合、これらのゴーストブロックのＤＣ係数は、１２８にセットされる。このとき、ＤＣ係数予測器３００は、上述のプロセスに従って勾配予測を実行する。
【００２７】
上述の通り、予測回路１５０は、予測無しでＡＣ係数を通過させることができる。しかしながら、好ましい一実施形態においては、予測回路１５０は、ＡＣ係数を予測するために勾配解析を用いる。
【００２８】
予測回路１５０がＡＣ係数を予測した時点で、ＡＣ係数の一部分のみがブロック間の高い相関関係を示し得る。ＤＣＴトランスフォームコーディング及び水平予測の場合においては、予測解析に値するほど十分に高い相関関係を示す可能性の高い唯一のＡＣ係数は、ＤＣ係数と同じ縦行内にあるものである（ブロックＡ内で影のついたもの）。従って、ＤＣ係数と同じ縦行内のブロックＸの各々のＡＣ係数（ＡＣX（０，１）〜ＡＣX（０，ｎ））について、ＡＣ係数予測器３３０は、ブロックＡ（ＡＣA（０，１）〜ＡＣA（０，ｎ））の同じ場所に配置されたＡＣ係数に対応する予測を生成する。予測されたＡＣ係数は、ＡＣ予測残留信号を得るべく、減算器３４０においてブロックＸの実際のＡＣ係数から減算される。
【００２９】
ＤＣＴトランスフォームコーディング及び垂直予測の場合では、予測解析に値するほどの充分高い相関関係を示す確率の高い唯一のＡＣ係数は、ＤＣ係数と同じ横列内にあるものである（ブロックＣ内で影がついたもの）。ＤＣ係数と同じ横列内のブロックＸの各々のＡＣ係数（ＡＣX（１，０）〜ＡＣX（ｎ，０））について、ＡＣ係数予測器３３０は、ブロックＣのＡＣ係数（ＡＣC（１，０）〜ＡＣC（ｎ，０））に対応する予測を生成する。予測されたＡＣ係数は、ＡＣ係数残留信号を得るべく減算器３４０においてブロックＸの実際のＡＣ係数から減算される。ＡＣ係数予測器は、水平予測モードと垂直予測モードの間で、ｈｏｒ／ｖｅｒｔ信号３２０によって切り替えられる。上述のもの以外のＡＣ係数の勾配予測は実行する必要がない。
【００３０】
ブロック間のＡＣ係数の相関関係は、発生する可能性はあるものの、必ず発生するわけではない。従って、ＡＣ係数の予測は常に帯域幅効率化を導くわけではない。従って好ましい実施形態においては、予測回路１５０は、ＡＣ係数予測が実行されるモードとＡＣ係数予測が実行されない第２のモードの間の動作モードの選択を可能にする。後者のケースでは、トランスフォーム回路からのＡＣ係数は、変化無く予測回路の中を通過する。
【００３１】
残余がわかった時点で、ＡＣ予測解析器３５０は、予測無しでマクロブロックのＡＣ係数を伝送することによって消費されるはずの帯域幅と、マクロブロックのＡＣ残余信号を伝送することによって消費されるはずの帯域幅を比較する。予測解析器３５０は、比較的小さい帯域幅を消費する伝送モードを選択する。予測解析器３５０は、その選択を表示するべくＡＣ予測フラグ信号３６０を生成する。
【００３２】
「類似種」ブロックに基づいて予測が実行される。輝度データブロックの予測のためのブロックを識別する場合には、輝度データの隣接ブロックのみが考慮される。予測の目的では、介在する色データブロックは全て無視される。色ブロックの係数を予測する場合には、予測のため、類似種の色信号のみが考慮される。色信号の１つのタイプであるＣrデータのブロックのためのデータを予測するときには、Ｃrデータの隣接ブロックが考慮されるが、介在する輝度ブロック及び第２のタイプの色信号ＣDデータは無視される。同様にして、色信号の第２のタイプであるＣDデータのブロックのためのデータを予測するときには、ＣDデータの隣接ブロックが考慮されるが、介在する輝度ブロック及びＣrデータは無視される。
【００３３】
予測回路１５０は、ＤＣ残留信号、ＡＣ係数又はＡＣ残余のいずれかを表す信号及びＡＣ予測フラグ信号を出力することができる。
【００３４】
図４に示されている復元回路２５０の中で逆予測動作が実行される。全てのブロックＸについて、ＤＣ係数予測器４００は、ブロックＸに先行する隣接ブロックＡのデータ、ブロックＸより上の隣接ブロックＣのデータ及びブロックＸより上のブロックであるブロックＣに先行するブロックＢのデータをメモリ内に保持する。ＤＣ係数予測器４００は、ブロックＡのＤＣ係数をブロックＢのＤＣ係数と比較して、垂直勾配を決定する。更に、ＤＣ係数予測器４００は、ブロックＣのＤＣ係数をブロックＢのＤＣ係数と比較して水平勾配を決定する。水平勾配が垂直勾配よりも大きい場合、ＤＣ係数予測器４００は、予測のためのベースとしてブロックＣのＤＣ係数を生成する。そうでなければ、ＤＣ係数予測器４００はブロックＡのＤＣ係数を生成する。ＤＣ係数予測４００は同様に、水平又は垂直のいずれの予測が使用されているかを識別するｈｏｒ／ｖｅｒｔ信号４２０をも生成する。
【００３５】
復元回路２５０は、入力ビットストリームからのＤＣ残留信号を識別する。加算器４１０は、ＤＣ係数予測器４００によって生成されたＤＣ係数に対してＤＣ残余を加算する。加算器４１０は、ブロックＸのＤＣ係数を出力する。
【００３６】
好ましい実施形態においては、復元回路２５０は、入力ビットストリームからＡＣ予測フラグ３６０を識別する。ＡＣ予測フラグ３６０が、ＡＣ予測が使用されたことを表示した場合、復元回路は、入力ビットストリームからのＡＣ残留信号を識別し、ＡＣ係数予測器４３０を動作させる。ＤＣ係数予測器からのｈｏｒ／ｖｅｒｔ信号４２０が、ブロックＡ又はブロックＣのいずれが予測のベースとして用いられるかを識別する。これに応えて、ＡＣ係数予測器４３０は、予測器１５０のＡＣ係数予測器３３０と同じ要領でブロックＡ又はブロックＣのＡＣ係数に対応する信号を生成する。加算器４４０が、予測されたＡＣ係数を、対応する残余に加算し、復元されたＡＣ係数を出力する。
【００３７】
ＡＣ予測フラグが、ＡＣ予測が使用されなかったことを表示したならば、復元回路２５０は、ビットストリームからのＡＣ係数信号を識別する。ＡＣ係数を復元するのにいかなる算術演算も不要である。
【００３８】
ＤＣ予測の高度化は、好ましい実施形態において、予測ブロックからの知覚的に優位なＡＣ係数の一部分のブロックＸの、ＤＣ係数に対する寄与を誘発することによって達成することができる。例えば、予測ベースとしてブロックＡが使用される場合、ブロックＸの予測されたＤＣ係数は、次のものとしてセットされる：
ＤＣX＝ＤＣA＋（４Ｑp／３）＊（ＡＣ02A−ＡＣ01A／４）
尚、式中Ｑpは量の基準化因子であり、ＡＣ02A及びＡＣ01AはＤＣＴトランスフォームによって生成されるブロックＡのＡＣ係数である。
【００３９】
同様にして、予測のためのベースとしてブロックＣが使用される時、ブロックＸの予測されたＤＣ係数は次のようにセットされ得る：
ＤＣX＝ＤＣC＋（４Ｑp／３）＊（ＡＣ20C−ＡＣ10C／４）
尚、式中Ｑpは量の基準化因子であり、ＡＣ20C及びＡＣ10CはＤＣＴトランスフォームによって生成されるブロックＣのＡＣ係数である。
【００４０】
本書に記述されている予測及び復元プロセスは、予測のためにどのブロックが使用されているかを識別するのにいかなるオーバーヘッド信号も必要とされないことから、「暗黙の(implicit)」方法と呼ばれる。動作中、ブロックＡ、Ｂ及びＣの係数値は、符号器１００と復号器２００の両方で知られている。かくして、復号器２００は、付加的な信号伝送無く符号器の予測動作を復元することができる。予測回路がＡＣ予測のモード間の選択を行わなかった実施形態では、ＡＣ予測及び復元は純粋に暗黙のものである。第２の実施形態においてはＡＣ予測フラグの付加に伴って、予測プロセスはもはや純粋に暗黙のものではなくなる。
【００４１】
予測及び復元回路の符号化／復号化動作は、プログラミングされたマイクロプロセッサ又はデジタル信号プロセッサによってソフトウエア内でも実行され得る。
【００４２】
図５は、ソフトウエアで実行された予測回路の動作を例示している。プロセッサは、ブロックＡのＤＣ係数をブロックＢのＤＣ係数に比較して垂直勾配を決定する（ステップ１０００）。プロセッサは同様に、ブロックＣのＤＣ係数をブロックＢのＤＣ係数に比較して水平勾配を決定する（ステップ１０１０）。
【００４３】
プロセッサは、垂直勾配が水平勾配よりも大きいか否かを決定する（ステップ１０２０）。そうである場合、プロセッサは、ブロックＸのＤＣ残余を、ブロックＸの実際のＤＣ係数からブロックＡのＤＣ係数を引いたものとして定義づける（ステップ１０３０）。そうでなければ、プロセッサは、ブロックＸのＤＣ残余を、ブロックＸの実際のＤＣ係数からブロックＣのＤＣ係数を引いたものとして定義づける（ステップ１０４０）。
【００４４】
プロセッサがＡＣ予測も実行する場合、プロセッサは、図６に示されているように作動する。ステップ１０００〜１０４０が、図５に関して前述したとおりに行われる。垂直勾配が水平勾配よりも大きい場合、ＤＣ係数と同じ縦行の中にあるブロックＡからのＡＣ係数は、ブロックＸの対応するＡＣ係数を予測するためのベースとして用いられる。従って、ブロックＸのこのようなＡＣ係数（ＡＣX（０，１）〜ＡＣX（０，ｎ））の各々について、プロセッサは、ブロックＸ内の実際のＡＣ係数からブロックＡ内の対応するＡＣ係数（ＡＣA（０，１）〜ＡＣX（０，ｎ））を引いたものにセットされたＡＣ残余を計算する（ステップ１０３５）。
【００４５】
ブロックＣが予測のベースとして用いられる場合、ＤＣ係数の同じ横列内のＡＣ係数は、ブロック間の相関関係を示す可能性がある。従って、ブロックＸの横列内の各々のＡＣ係数ＡＣ（ｉ）について、プロセッサは、ブロックＸ内の実際のＡＣ係数からブロックＣ内の対応するＡＣ係数を引いたものにセットされた残余（ｉ）を計算する（ステップ１０４５）。
【００４６】
プロセッサは同様に、ＡＣ係数を予測することによって帯域幅節減が達成されたか否かをも決定する。１つのマクロブロックについて全ての予測がひとたび行われると、プロセッサは、より小さい帯域幅が、符号化された係数又は残余のいずれによって達成されているか否かを決定する（ステップ１０５０）。残余がより小さい帯域幅を有しているならば、プロセッサは残余を出力する（ステップ１０６０）。そうでなければ、プロセッサは、係数を出力する（ステップ１０７０）。
【００４７】
好ましい実施形態においては、勾配予測に対し可変長コーダー１６０の走査方向を拘束することによって、付加的な帯域幅係数が得られる。符号器は、ＶＬＣコーディングされたランレベル事象(run-level events)を生成するため、係数ブロックを走査する。しかしながら、自然の画像では、優勢な好ましい走査方向が往々にして存在する。本発明は、ランレングスコーディングを実行するための３つの走査方向の内の１つを選択するべく、勾配予測解析を用いる。
【００４８】
【表１】
0005209394.tif 000002
【００４９】
【表２】
0005209394.tif 000003
【００５０】
走査方向の内の第１のものは、上の表１に示されている水平交互走査である。水平交互サーチは、好ましい走査方向が水平方向である場合に利用される。走査は、ブロックのＤＣ残余の位置である原点から開始する。原点から、走査は水平方向に３つの位置を横断する（０〜３）。４番目の位置から、走査は、第２横列の第１の位置まで下方に飛び越す。第２横列の第１の位置から、走査は水平方向に３位置を横断する。その後、走査は、ブロックの第１横列まで飛び越して戻り、横列の残りを横断する。第１横列が終結した時点で、走査は、第３横列へと飛び越す。
【００５１】
水平交互走査は、同一の要領で、次の５回のパス（横列３〜８）を横断する。ｉ番目の横列内の第１の位置から、走査は水平走査方向に３つの位置を横断する。次に走査は（ｉ−１）横列まで飛び越し、第５の位置から横列の終わりまで走査する。５番目のパスの終結時点で、走査は、第８横列の第５の位置まで飛び越え、その横列の終わりまで横断する。
【００５２】
走査方向の内の第２のものは、表２に示されている垂直交互走査である。垂直交互サーチは、好ましい走査方向が垂直方向であるとき利用される。垂直交互走査は、水平交互走査に対する相補的プロセスである。
【００５３】
原点から、走査は、垂直方向に３つの位置を横断する（０〜３）。第４の位置から、走査は、第２縦行の第１の位置まで飛び越える。第２縦行の第１の位置から、走査は垂直方向に３つの位置を縦断する。その後、走査はブロックの第１縦行まで飛び越えて戻り、縦行の残りを縦断する。第１縦行の終結時点で、走査は、第３横列まで飛び越す。
【００５４】
垂直交互走査は、同じ要領で次の５回のパス（縦行３〜８）を縦断する。ｉ番目の横列の中の第１の位置から、走査は垂直走査方向に３つの位置を縦断する。走査はその後、（ｉ−１）縦行まで飛び越え、第５の位置から縦行の終わりまで走査する。５番目のパスの終結時点で、走査は８番目の縦行の第５の位置まで飛び越え、縦行の終わりまで横断する。
【００５５】
第３の走査方向は、当該技術分野において周知のものである従来のジグザグ走査である。
【００５６】
可変長コーダー１６０は、実行されたＡＣ予測のタイプに従って、走査タイプを選ぶ。いかなるＡＣ予測も実行されていないことをＡＣ予測フラグ３６０が表示した場合、可変長コーダー１６０は、従来のジグザク走査を実行する。ＡＣ予測が実行されていることをＡＣ予測フラグが表示した場合、可変長コーダー１６０はｈｏｒ／ｖｅｒｔ信号３２０を参照して、水平予測又は垂直予測のいずれが用いられているかを見極める。水平予測の場合には、垂直−対角線方向の走査である垂直交互走査が利用される。垂直予測が用いられる場合、可変長コーダー１６０は水平−対角線方向の走査である水平交互走査を利用する。
【００５７】
走査方向を決定するのに付加的なオーバーヘッドは全く必要でない。可変長復号器２６０は、走査方向を決定する。ＡＣ予測フラグ３６０及びｈｏｒｔ／ｖｅｒｔ信号４２０は、復元回路２５０から出力する。ＡＣ予測が実行されなかったことをＡＣ予測フラグ３６０が表示した場合、可変長復号器２６０は、ジグザクパターンに従って係数をアセンブルする。ＡＣ予測が実行されたことをＡＣ予測フラグが表示した場合、可変長復号器２６０は、勾配予測に基づいて残余をアセンブルする。残余は、水平予測の場合には垂直−対角線方向の走査である垂直交互走査に従って、又垂直予測の場合には水平−対角線方向の走査である水平交互走査によってアセンブルされる。もう１つの実施形態では、水平交互及び垂直交互走査は、以下の表３及び４の中にそれぞれ示されているように展開することができる。
【００５８】
【表３】
0005209394.tif 000004
【００５９】
【表４】
0005209394.tif 000005
【００６０】
さらにもう１つの実施形態では、水平交互及び垂直交互走査は、それぞれ以下の表５及び６に示されているように展開することができる。
【００６１】
【表５】
0005209394.tif 000006
【００６２】
【表６】
0005209394.tif 000007
【００６３】
表５の水平交互走査は、ブロックのＤＣ残余の位置（位置０）である原点で始まる。この原点から、走査は、水平方向に３つの位置をステップする（位置０〜３）。走査は、原点の下の第２横列の第１の位置まで飛び越す（位置４）。位置４から、水平交互走査は、水平方向に１段ステップし（位置５）、次に、第３横列の第１の位置（位置６）まで飛び越す。走査は水平方向に１位置ステップし（位置７）、第３の位置で第２横列まで戻り（位置８）、横列を横断して１位置だけステップする（位置９）。
【００６４】
位置９から、水平交互走査は第５の位置で最初の横列まで戻る（位置１０）。走査は、第１横列の終わりまで横断してステップする（位置１１〜１３）。走査は横列の最後で（位置１４）第２横列に戻り、第２横列が完了するまで内部に向かって横列を横断して水平方向に走査する（位置１５〜１７）。位置１７から、水平交互走査は、第４の位置で第３横列に戻り（位置１８）、原点に向かって水平方向に１ステップ走査し（位置１９）、第４横列の最初の位置まで飛び越す（位置２０）。
【００６５】
第４横列の第１の位置から、水平交互走査は水平方向に１位置だけステップし（位置２１）、次に第５横列の第１の位置まで飛び越し（位置２２）、再び水平に１位置だけステップする（位置２３）。走査は、第３の位置で第４横列まで戻り（位置２４）、１ステップを横断して走査し（位置２５）、次に、第５の位置で第３横列まで戻る（位置２６）。走査は、第３横列を横断して水平にステップし、横列を完了する（位置２７〜２９）。
【００６６】
第３横列の終わりから、水平交互走査は、第５の位置で第４横列まで戻る（位置３０）。走査は、第４横列を横切って水平にステップして横列を完了する（位置３１〜３３）。
【００６７】
第４横列の終わりから、水平交互走査は第３の位置で第５横列まで戻る（位置３４）。走査は、水平方向に１位置だけステップし（位置３５）、次に、第６横列の第１の位置まで飛び越す（位置３６）。走査は、１位置を横切ってステップし（位置３７）、次に、第７横列の第１の位置まで飛び越す（位置３８）。水平交互走査は１位置を横断してステップし（位置３９）、次に、第３の位置で第６横列まで戻る（位置４０）。走査は、１位置だけ横切ってステップし（位置４１）、次に第５の位置で第５横列まで戻る（位置４２）。水平交互走査は水平に第５横列を横断してステップしてこの横列を完了する（位置４３〜４５）。
【００６８】
第５横列の終わりから、水平交互走査は第５の位置で第６横列まで戻り（位置４６）、水平方向に横断してステップしてその横列を完了する（位置４７〜４９）。
【００６９】
第６横列の終わりから、水平交互走査は、第７横列の第３の位置まで戻る（位置５０）。走査は水平方向に１位置だけステップし（位置５１）、次に、第８横列の最初の位置まで飛び越す（位置５２）。走査は、水平方向に３位置ステップし（位置５３〜５５）、次に、第５の位置で第７横列まで戻る（位置５６）。水平交互走査は、水平に横断してその横列を完了する（位置５７〜５９）。第７横列の終わりから、走査は、第８横列の第５の位置まで飛び越し（位置６０）、水平方向に横切ってステップしてその横列を完了する（位置６１〜６３）。
【００７０】
表６の垂直交互走査は、ブロックのＤＣ残余の位置である原点で始まる（位置０）。走査は、垂直方向に３つの場所だけステップする（位置０〜３）。走査は、原点から縦断して第２縦行の第１の位置まで飛び越す（位置４）。位置４から、垂直交互走査は、垂直方向に１段ステップし（位置５）、次に第３縦行の第１の位置まで飛び越す（位置６）。走査は、垂直方向に１位置だけステップし（位置７）、次に、第３の位置で第２縦行まで戻り（位置８）、垂直方向に１位置だけステップする（位置９）。
【００７１】
位置９から、垂直交互走査は、第１縦行の第５位置まで戻る（位置１０）。走査は、第１縦行の終わりまでステップする（位置１１〜１３）。走査は、縦行の終わりで第２縦行まで戻り（位置１４）、第２縦行が完了するまで縦行の内部に向かって縦行を通って垂直に走査する（位置１５〜１７）。位置１７から、垂直交互走査は、第３縦行、第４位置まで戻り（位置１８）、縦行の最上部に向かって垂直方向に１段走査し（位置１９）、第４縦行の第１の位置まで飛び越す（位置２０）。
【００７２】
第４縦行の中の第１の位置から、垂直交互走査は垂直方向に１位置だけステップし（位置２１）、次に第５縦行内の最初の位置まで飛び越し（位置２２）、再び垂直方向に１位置ステップする（位置２３）。走査は第３の位置で第４縦行（位置２４）まで戻り、垂直方向に１段ステップし（位置２５）、次に、第５の位置で第３縦行まで戻る（位置２６）。走査は、垂直に第３縦行を通ってステップしてその縦行を完了する（位置２７〜２９）。
【００７３】
第３縦行の終わりから、垂直交互走査は、第５の位置で第４縦行まで戻る（位置３０）。走査は、垂直に第４縦行を通してステップしてその縦行を完了する（位置３１〜３３）。
【００７４】
第４縦行の終わりから、垂直交互走査は、第３の位置で第５縦行まで戻る（位置３４）。走査は垂直方向に１位置だけステップし（位置３５）、次に、第６縦行の最初の位置まで飛び越す（位置３６）。走査は垂直に１位置ステップし（位置３７）、次に、第７縦行の最初の位置まで飛び越す（位置３８）。垂直交互走査は、垂直方向に１位置だけステップし（位置３９）、次に、第３の位置で第６縦行まで戻る（位置４０）。走査は垂直方向に１位置ステップし（位置４１）、次に、第５縦行の第５の位置（位置４２）まで戻り、垂直方向に第５縦行を縦断してステップしてその縦行を完了する（位置４３〜４５）。
【００７５】
第５縦行の終わりから、垂直交互走査は、第６縦行の第５の位置まで戻り（位置４６）、垂直方向に第６縦行を縦断してステップしてその縦行を完了する（位置４７〜４９）。
【００７６】
第６縦行の終わりから、垂直交互走査は、第７縦行の第３の位置まで戻る（位置５０）。走査は垂直方向に１位置だけステップし（位置５１）、次に、第８縦行の第１の位置まで飛び越す（位置５２）。走査は３つの位置を垂直にステップし（位置５３〜５５）、次に、第７縦行の第５の位置まで戻る。走査は、第７縦行を通って垂直にステップして縦行を完了する（位置５７〜５９）。第７縦行の終わりから、垂直交互走査は、第８縦行の第５の位置まで飛び越し（位置６０）、垂直に第８縦行を通ってステップしてその縦行を完了する（位置６１〜６３）。
【図面の簡単な説明】
【００７７】
【図１】（ａ）は、本発明の実施形態に従った符号器の概略図であり、（ｂ）は、本発明の一実施形態に従った復号器の概略図である。
【図２】本発明によって処理された画像データの一例を示す図である。
【図３】図１の予測ブロックダイヤグラムである。
【図４】図１の復元回路のブロックダイヤグラムである。
【図５】ソフトウエアの中で実現された予測回路の流れ図である。
【図６】ソフトウエアの中で実現された予測回路の第２の実施形態の流れ図である。
【符号の説明】
【００７８】
１００  符号器、１１０  アナログ−デジタル変換器、１２０  処理回路、１３０  トランスフォーム回路、１４０  量子化器、１５０  予測回路、１６０  可変長コーダー、２００  復号器、２１０  デジタル−アナログ変換器、２２０  処理回路、２３０  逆トランスフォーム回路、２４０  スカラー回路、２５０  復元回路、３２０  適合型ＤＣ係数予測器、３３０  適合型ＡＣ係数予測器、３５０  ＡＣ予測解析器、４００  ＤＣ係数予測器、４３０  ＡＣ係数予測器。
【図１】
0005209394.tif 000008
【図２】
0005209394.tif 000009
【図３】
0005209394.tif 000010
【図４】
0005209394.tif 000011
【図５】
0005209394.tif 000012
【図６】
0005209394.tif 000013