(57)【特許請求の範囲】
【請求項１】
画像情報を受け取り、前記画像情報を画素の空間ブロックへ分割するブロック分割器と、
前記ブロックの予測値を提供する予測器と、
画像情報および予測値を受け取り、差分値を形成する減算器と、
変換係数を提供するために前記ブロック差分値の変換を行うブロック変換部とを備え、
前記予測器が前記ブロック内の画素サブセットの画素に並列に作用し、前記ブロック内に少なくとも第１の画素サブセットと第２の画素サブセットがあり、
前記第２の画素サブセットが、少なくとも一部は前記第１のサブセットの画素から予測される画素を含み、
前記第１の画素サブセットおよび前記第２の画素サブセットは、個々の行を含むか、若しくは個々の列を含む、
ビデオ圧縮符号器。
【請求項２】
前記第１の画素サブセットが、既に符号化されて再構築されたブロックから予測される画素を含む、請求項１に記載の符号器。
【請求項３】
前記第１の画素サブセットが、既に処理されたいずれのブロックとも隣接していない少なくとも１つの画素を含む、請求項２に記載の符号器。
【請求項４】
既に処理されたいずれのブロックとも隣接していないそのような画素の位置または値が、変換係数からのストリームで別個に送られ、または別のやり方で復号器に知らされる、請求項３に記載の符号器。
【請求項５】
前のサブセットからのサブセットの予測が方向予測である、請求項１から請求項４のいずれか一項に記載の符号器。
【請求項６】
前のサブセットからのサブセットの予測が動き補償予測である、請求項１から請求項５のいずれか一項に記載の符号器。
【請求項７】
前記予測器が、一連のサブセットＳｉに対して順次に、各サブセットの画素に対して並列に作用し、サブセットＳｉ内の画素についての予測が、少なくとも一部は、前のサブセットＳ０，…，Ｓｉ−１内の画素に依存する、請求項１から請求項６のいずれか一項に記載の符号器。
【請求項８】
前記予測器が、少なくとも一部は現在のブロック内の画素に基づいて予測を生成する開ループ予測器と、ローカル復号器からの画素情報のみに基づいて予測を生成する閉ループ予測器とを備える、請求項１に記載の符号器。
【請求項９】
前記予測値が開ループ予測値と閉ループ予測値との加重和を含む、請求項８に記載の符号器。
【請求項１０】
前記閉ループ予測器が、ローカル復号器からの画素情報に基づいて第１の画素サブセットについての予測を生成し、少なくとも一部は現在のブロック内の画素に基づいて、第２の画素サブセットおよび、任意選択で、後続の画素サブセットについての予測を生成する、請求項８または請求項９に記載の符号器。
【請求項１１】
前記閉ループ予測器が選択可能な方向を有し、前記開ループ予測器が前記閉ループ予測器の選択方向に従って選択される、請求項８から請求項１０のいずれか一項に記載の符号器。
【請求項１２】
予測戦略がサブセット内で一定である、請求項１から請求項１１のいずれか一項に記載の符号器。
【請求項１３】
予測戦略がサブセットによって異なる、請求項１から請求項１２のいずれか一項に記載の符号器。
【請求項１４】
予測ブロックについて、入力画像値と画像予測値との差分を形成するステップと、
前記差分をブロックベースの変換で変換するステップとを含み、
ブロックについての差分を形成する前記ステップが、前記予測ブロック内の第１の画素サブセットに対して並列に行われる第１のステップと、前記予測ブロック内の第２の画素サブセットに対して並列に行われる第２のステップと、任意選択のさらなるステップとを含み、
前記第２の画素サブセットが、少なくとも一部は前記第１のサブセットの画素から予測される画素を含み、
前記第１の画素サブセットおよび前記第２の画素サブセットは、個々の行を含むか、若しくは個々の列を含む、
圧縮符号化の方法。
【請求項１５】
前記第１のステップが、既に処理されたブロックに完全に基づく画像予測値を使用する、請求項１４に記載の方法。
【請求項１６】
前記第１の画素サブセットが、前に処理されたいずれのブロックとも隣接していない少なくとも１つの画素を含む、請求項１４または請求項１５に記載の方法。
【請求項１７】
ブロックについての差分を形成する前記ステップが、一連の個々のサブセットＳｉに対して順次に、各サブセットの画素に対して並列に行われる一連のステップを含み、サブセットＳｉ内の画素についての予測値が、少なくとも一部は、前のサブセットＳ０，…，Ｓｉ−１内の画素に依存する、請求項１４から請求項１６のいずれか一項に記載の方法。
【請求項１８】
前記第１のステップが、前に処理されたブロックと隣接している画素についての第１の予測器と、前に処理されたブロックと隣接していない少なくとも１つの画素に作用する第２の予測器とを使用する、請求項１４に記載の方法。
【請求項１９】
予測戦略がサブセット内で一定である、請求項１４から請求項１８のいずれか一項に記載の方法。
【請求項２０】
予測戦略がサブセットによって異なる、請求項１４から請求項１９のいずれか一項に記載の方法。
【請求項２１】
各ステップが、ＳＩＭＤ、ＭＭＸまたはＣＰＵプロセッサ内で使用可能な他の固有の並列演算を使用して行われる、請求項１４から請求項２０のいずれか一項に記載の方法。
【請求項２２】
ブロック単位で編成された変換画像差分を表す圧縮符号化ビットストリームを受け取る入力部と、
倍率変更された変換係数を提供する逆量子化部と、
復号画像差分値を提供するために前記変換係数の逆空間変換を行う逆ブロック変換部と、
前記画像差分と加算するための予測値を提供するように前記復号画像値に作用する予測器とを備え、
前記予測器がブロック内の画素サブセットの画素に並列に作用し、前記ブロック内に少なくとも２つの画素サブセットがあり、
一方の画素サブセットが、少なくとも一部は他方のサブセットの画素から予測される画素を含み、
前記第１の画素サブセットおよび前記第２の画素サブセットは、個々の行を含むか、若しくは個々の列を含む、
ビデオ圧縮復号器。
【請求項２３】
第１の画素サブセットが、既に予測されたブロックから完全に予測される画素を含む、請求項２２に記載の復号器。
【請求項２４】
前記第１の画素サブセットが、前に処理されたいずれのブロックとも隣接していない少なくとも１つの画素を含む、請求項２２に記載の復号器。
【請求項２５】
既に処理されたいずれのブロックとも隣接していないそのような画素の位置または値が、変換係数からのストリームで別個に送られ、または別のやり方で復号器に知らされる、
請求項２４に記載の復号器。
【請求項２６】
前記予測器が、一連のサブセットＳｉに対して順次に、各サブセットの画素に対して並列に作用し、サブセットＳｉ内の画素についての予測が、少なくとも一部は、前のサブセットＳ０，…，Ｓｉ−１内の画素に依存する、請求項２２から請求項２５のいずれか一項に記載の復号器。
【請求項２７】
請求項１４から請求項２１のいずれか一項に記載の方法を実施するように構成され、適合された装置。
【請求項２８】
請求項１４から請求項２１のいずれか一項に記載の方法をプログラマブル装置に実行させる命令を含むコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は画像の圧縮符号化に関し、特にビデオシーケンス内の画像の符号化に関する。画像という語を、本明細書では、フィールドおよびフレームを含むのに使用する。
【背景技術】
【０００２】
差分パルス符号変調（ＤＰＣＭ：Ｄｉｆｆｅｒｅｎｔｉａｌ  Ｐｕｌｓｅ  Ｃｏｄｅ  Ｍｏｄｕｌａｔｉｏｎ）と呼ばれる画像圧縮の初期の考え方は、画素値ではなく、当該画素値と当該画素の予測値との差分を送ることであった。この差分法は、画像内の空間的冗長性を利用することができ、画像のビデオシーケンス内の空間的冗長性と時間的冗長性の両方を利用することができる。
【０００３】
ビデオ圧縮法が周知のＭＰＥＧ圧縮方式へ向けて発展するにつれて、時間領域における差分法の使用に注目が集まった。連続した画像内のブロック間の動きベクトルを定義する正確な動き測定法を用いれば、画像間差分を非常に小さくし、高効率で符号化することができる。空間的冗長性を利用するには、空間変換法が好まれ、画像の動き予測（インター符号化）領域と非予測（イントラ符号化）領域の両方に適用された。
【０００４】
よって、周知のビデオ符号器は、動き補償予測、ＤＣＴまたは他の空間変換、量子化および可変長符号化または他のエントロピー符号化を含むものであった。
【０００５】
ＭＰＥＧ方式でも他の符号化方式でも、符号化効率を高め、符号化能力をＨＤＴＶおよびさらに高い画像解像度へと拡張するための努力が続いた。参照により本明細書に組み込まれる国際公開第２０１１／００４０２７号パンフレットを参照されたい。
【０００６】
ＭＰＥＧ−４第１０部／ＡＶＣ／Ｈ．２６４に含まれる一技法は、空間変換を画像内予測で補足するものである。復号器では、すでに復号され、再構築されているブロックからのデータを使用して、現在のブロックの空間的予測を提供することができる。符号器では、このイントラ予測が当然ながらローカル復号器を介して利用に供される。
【０００７】
この追加の空間的予測は、特にエッジ細部と、斜線縞といった方向性の強いテクスチャとでは、著しく性能を高めることがわかっている。
【０００８】
しかし実験の示すところによれば、性能の向上は小ブロックサイズにおいて最大であり、性能はブロックサイズが増加するに従って低下する。これが問題なのは、第１に、変換符号化利得は小ブロックサイズでは相対的に低く、効率のよい変換符号化は大ブロックサイズを必要とするからである。第２に、より高い精細度へ移行すれば必然的にさらに大きいブロックサイズを伴うことになる。いくつか例を示すと、イントラ予測は４×４および８×８のブロックサイズでうまく働くことがわかっている。より大きいブロックへ移行すればより大きい変換符号化利得が得られる可能性もあるが、空間的予測はより複雑で、効果の低いものになる。ＨＤ解像度以上では、１６×１６ブロック以上の変換が必要になる（おそらくは、最大でＵＨＤＴＶの６４×６４まで）。
【０００９】
同様の対立関係が動き補償予測にも存在する。すなわち、ブロックサイズが大きいほど、符号化される動きベクトルがより少なくてすみ、残りのベクトルに対してより大きい変換を使用することが可能になる。しかしそれにより、おそらくはブロック領域内のある小さいオブジェクトまたはオブジェクトの一部の動きが原因で、大きいブロックのある部分の予測が不十分になる可能性が高くなる。
【先行技術文献】
【特許文献】
【００１０】
【特許文献１】国際公開第２０１１／００４０２７号パンフレット
【発明の概要】
【発明が解決しようとする課題】
【００１１】
本発明は、有効な予測に必要とされる小ブロックサイズと、有効な変換符号化利得に（特に高い精細度で）必要とされる大ブロックサイズとのこの対立関係に対処する。また本発明は、予測法の効率的処理の問題にも対処する。
【課題を解決するための手段】
【００１２】
したがって本発明は、一態様では、
画像情報を受け取り、画像情報を画素の空間ブロックへ分割するブロック分割器と、
ブロックの予測値を提供する予測器と、
画像情報および予測値を受け取り、差分値を形成する減算器と、
変換係数を提供するためにブロック予測値の変換を行うブロック変換部と
を備え、予測器がブロック内の画素サブセットの画素に並列に作用し、ブロック内に少なくとも２つの画素サブセットがある、ビデオ圧縮符号器に存する。
有利には、第１の画素サブセットは、既に符号化され再構築されたブロックから完全に予測される画素を含む。
【００１３】
適切には、第１の画素サブセットは、前に処理されたいずれのブロックとも隣接していない少なくとも１つの画素を含む。
【００１４】
前に処理されたいずれのブロックとも隣接していないそのような画素の位置または値は、変換係数からのストリームで別個に送られ、またはそれ以外のやり方で復号器に知らされてよい。
【００１５】
好ましくは、第２の画素サブセットは、少なくとも一部は第１のサブセットの画素から予測される画素を含み、この予測は、方向予測器または動き補償予測器とすることができる。
【００１６】
予測器は、一連のサブセットＳｉに対して順次に、各サブセットの画素に対して並列に作用してよく、サブセットＳｉ内の画素についての予測は、少なくとも一部は、前のサブセットＳ０，…，Ｓｉ−１内の画素に依存する。
【００１７】
予測器は、少なくとも一部は現在のブロック内の画素に基づいて予測を生成する開ループ予測器と、ローカル復号器からの画素情報のみに基づいて予測を生成する閉ループ予測器とを備えていてよく、予測値は、開ループ予測値と閉ループ予測値との加重和を含んでいてよい。
【００１８】
好ましくは、閉ループ予測器は、ローカル復号器からの画素情報に基づいて第１の画素サブセットについての予測を生成し、少なくとも一部は現在のブロック内の画素に基づいて、第２の画素サブセットおよび、任意選択で、後続の画素サブセットについての予測を生成する。
【００１９】
閉ループ予測器が選択可能な方向を有する場合、開ループ予測器は、閉ループ予測器の選択方向に従って選択されてよい。予測戦略は、サブセット内で一定とすることができ、サブセットによって異なっていてよい。
【００２０】
別の態様では、本発明は、入力画像値と画像予測値との差分を形成するステップと、差分をブロックベースの変換で変換するステップとを含み、ブロックについての差分を形成するステップが、ブロック内の第１の画素サブセットに対して並列に行われる第１のステップと、ブロック内の第２の画素サブセットに対して並列に行われる第２のステップと、任意選択のさらなるステップとを含む、圧縮符号化の方法に存する。
【００２１】
有利には、第１のステップは、既に処理されたブロックに完全に基づく画像予測値を使用する。
【００２２】
適切には、第１の画素サブセットは、既に処理されたいずれのブロックとも隣接していない少なくとも１つの画素を含む。
【００２３】
好ましくは、第２の画素サブセットは、少なくとも一部は第１のサブセットの画素から予測される画素を含む。
【００２４】
適切には、ブロックについての差分を形成するステップは、一連の個々のサブセットＳｉに対して順次に、各サブセットの画素に対して並列に行われる一連のステップを含み、サブセットＳｉ内の画素の予測値は、少なくとも一部は前のサブセットＳ０，…，Ｓｉ−１内の画素に依存する。
【００２５】
適切には、第１のステップは、前に処理されたブロックと隣接している画素についての第１の予測器と、前に処理されたブロックと隣接していない少なくとも１つの画素に作用する第２の予測器とを使用する。
【００２６】
第１のサブセットおよび第２のサブセットはチェス盤型構成をとっていてよく、個々の行を含んでいてよく、個々の列を含んでいてよい。
【００２７】
各ステップは、ＳＩＭＤ、ＭＭＸまたはＣＰＵプロセッサ内で使用可能な他の固有の並列演算を使用して行われてよい。
【００２８】
別の態様では、本発明は、
ブロック単位で編成された変換画像差分を表す圧縮符号化ビットストリームを受け取る入力部と、
倍率変更された変換係数を提供する逆量子化部と、
復号画像差分値を提供するために変換係数の逆空間変換を行う逆ブロック変換部と、
上記画像差分と加算するための予測値を提供するように復号画像値に作用する予測器と
を備え、予測器が画像のサブセットの画素に並列に作用するビデオ圧縮復号器に存する。
【００２９】
別の態様では、本発明は、入力画像値と画像予測値との差分を形成するステップと、差分をブロックベースの変換で変換するステップとを含み、イメージの、またはイメージ内のスライスの境界のところに位置するブロックであり、当該ブロックの予測値の形成に際して使用できるイメージの前に処理されたブロックの数が不十分であり、または前に処理されたブロックが使用できないようなブロックにおいて、当該ブロック内の画像値の少なくとも一部の画像予測値が、当該ブロック内の他の画像値に基づくものである、圧縮符号化の方法に存する。
【００３０】
次に本発明を、例として、添付の図面を参照して説明する。
【図面の簡単な説明】
【００３１】
【図１】公知の空間的予測法を示す図である。
【図２】符号器を示すブロック図である。
【図３】本発明の技法を示す図である。
【図４】本発明の技法を示す図である。
【図５】本発明の技法を示す図である。
【図６】本発明の技法を示す図である。
【図７】複数パス符号化法を示すブロック図である。
【図８】本発明の技法を示す図である。
【図９】本発明の技法を示す図である。
【図１０】本発明の技法を示す図である。
【図１１】本発明の技法を示す図である。
【図１２】本発明の技法を示す図である。
【図１３】本発明の技法を示す図である。
【図１４】本発明の技法を示す図である。
【図１５】符号器を示すブロック図である。
【図１６】複数パス符号化法を示すブロック図である。
【図１７】複数パス符号化法を示すブロック図である。
【発明を実施するための形態】
【００３２】
前述のように、ＭＰＥＧ第１０部／ＡＶＣ／Ｈ．２６４（以下、便宜上Ｈ．２６４と呼ぶ）は、前のＭＰＥＧ規格への追加を含み、それはブロックのイントラ予測への備えである。すでに復号され、再構築されているブロックの上部に沿ったデータおよび左側のデータは、次に差分的に符号化することができる現在のブロックについての予測を提供するのに使用することができる。図１に、４×４ブロックに使用することのできる８つの可能な方向予測を示す（前に再構築されたサンプルは網掛け表示されている）。これらの方向予測に加えて、ブロックのエッジのところの画素の平均値からＤＣを予測することができ、全部で９つのモードが与えられる。１６×１６ブロックおよび８×８ブロックについての他の予測も利用できる。
【００３３】
Ｈ２６４イントラ予測ツールは、空間的予測符号化を変換符号化と組み合わせるという利点を示した。この予測ツールは、エッジ細部と、斜線縞といった方向性の強いテクスチャとについては特に有効であった。
【００３４】
しかし、適切な予測を生成するのに必要とされる小さいブロックと、適切な変換符号化利得を得るのに必要とされる大きいブロックとの固有の対立関係に問題がある。
【００３５】
ブロックサイズの増加と共に空間的予測符号化の効率が減少することは、現在の画素と予測の基となる画素との間の（少なくとも、ラスタ走査されるブロックの端部へ向かう）距離の増加から生じると理解することができる。この距離が増加するにつれて、画素間の相関が低減し、そのため、差分符号化効率も低下する。
【００３６】
同様に、動き補償予測もＭＰＥＧ−１以来のビデオ圧縮規格の不可欠な部分を形成している。重要な問題は、ブロックサイズと予測精度とのトレードオフである。ブロックサイズが大きいほど符号化されるべき動きベクトルが少なくて済むが、予測精度がより低くなる。というのは、大きいブロック内の小さいオブジェクトまたはオブジェクトの部分が、ブロックの残りの部分に対して差分的に移動し得るからである。
【００３７】
したがって、あるブロックから別のブロックへの移行部を変換するという困難な問題を回避するために、ブロック変換がもっぱら予測ブロック内で全体的に適用されるので、変換ブロックサイズが制約される。Ｈ２６４では、これらのトレードオフは、非常に多種多様な動きブロック区画の中から選択することによって達成され得る。
【００３８】
新しく出現しつつあるＭＰＥＧ  ＨＥＶＣ規格など、いくつかのシステムでは、変換ブロックは、予測に使用されるブロックよりも厳密に小さいものとし得ることに留意されたい。例えば、１６×１６予測ブロックは、ある順序で符号化される４個の８×８変換ブロックに分割されるはずである。これは予測データがどこで知らされるかについての規定にすぎない。というのは、８×８サブブロックごとの予測は局所的に復号されたブロックから更新することができ、局所的に復号されたブロックは前に符号化されたサブブロックを含み得るからである。そのような方法は予測を改善するが、予測を８×８変換ブロックサイズ内へ改善することはできない。
【００３９】
望ましいはずなのは、変換が可能にし得るより細かい粒度で予測することである。しかし、ブロック内では、復号器の使用に供されるサンプルは、復号され、再構築されているサンプルである。符号器で使用されるサンプルは元のサンプルであり、これらのサンプルは後続の量子化のために異なる。予測はこの意味では開ループになるはずであり、符号器によって使用される予測値が復号器で厳密に再構築され得ることを符号器内のローカル復号器が保証する場合に与えられる閉ループと対照をなす。この差は、著しい雑音増加を生じさせるおそれがある。
【００４０】
再構築雑音がどのようにして増加し得るか調べるために、Ｐ（ｘ０，…，ｘｒ−１）で、サンプルｘｋ、ｋ＝０，…，ｒ−１からのサンプルｘｒの予測を表す。その場合、予測残差ｙｒは次式で与えられる。
ｙｒ＝ｘｒ−Ｐ（ｘ０，…，ｘｒ−１）
【００４１】
Ｌ＝Ｔ１Ｑ−１ＱＴで、シーケンスｙｒの変換、量子化、逆量子化、および逆変換プロセスを表す。ここでさしあたり、Ｌの効果は、分散σｎ２の雑音源ｎｒをｙｒに加えること、すなわち、
Ｙｒ＝Ｌ（ｙｒ）＝ｙｒ＋ｎｒ
であると仮定することができる。
【００４２】
再構築する際に、復号器は、
Ｘｒ＝Ｙｒ＋Ｐ（Ｘ０，…，Ｘｒ−１）
を形成することになる。
【００４３】
Ｙｒに対する雑音ｎｒに加えて、予測は、前の再構築値Ｘのそれぞれに対する雑音のために異なるものになり、したがってこの雑音は増加し得る。特に、良好な予測器Ｐは通常、ＤＣにおいて単位利得を有し、これは、１−Ｐが０であり、逆フィルタが極、すなわちＤＣにおいて無限利得を有することになる。このため、雑音は無限に増加し得る。閉ループ予測器は、予測器が符号器においても再構築値Ｘ０を使用し、この問題を生じない。
【００４４】
よって、変換符号器と併用される閉ループ予測器は、（ブロックが大きい場合の）予測の精度において、または（ブロックが小さい場合の）変換の効率において制限され、開ループ予測器は無限の雑音利得により損なわれ得るという問題がある。
【００４５】
次にこの問題の解決を説明する。
【００４６】
数学的に、ＰＣとＰＯとを２つの予測器であると定義する。符号器では、ＰＣが閉ループで適用されて、既に符号化され再構築された係数から構築される完全な予測を生成し、ＰＯが開ループで適用され、すなわちＰＯは元の符号化されていない係数から予測を生成するために適用される。当然ながら、復号器では、どちらの予測も再構築された係数を使用しなければならない。
【００４７】
ＰＣの一例は、ブロック内の画素を、隣接ブロック内の画素の平均値によって予測することになるはずである。ＰＯの一例は、それらが同じブロック内に含まれているにせよ含まれていないにせよ、直接隣接する画素から画素を予測することになるはずである。
【００４８】
次いで、新しい組み合わせ予測器Ｐを次式によって作成することができる。
Ｐ＝（１−ｃ）ＰＣ＋ｃＰＯ
【００４９】
この場合、係数ｃはＰＯに適用される。この係数ｃが０と１との間である場合、係数ｃは、復号器内の開ループ予測器に起因する雑音に対する減衰係数または漏出係数として働き、これが雑音増加を制御する。にもかかわらず、組み合わせ予測器は、閉ループ予測器の相補的寄与により優れた予測器のままであり、相補的閉ループ予測器がなければ、予測の効率は係数ｃがより小さくなるにつれて下がるはずである。特に、両方の予測器がＤＣを除く場合には、組み合わせ予測器もＤＣを除くことになる。
【００５０】
符号器アーキテクチャの一例が図２に示されている。入力ビデオが、入力データをブロックに分割する役割を果たすブロック分割器Ｂで受け取られる。ブロック情報はブロックストアＢＳと減算器（２００）とに供給される。ブロックストアＢＳは開ループ予測器ＰＯにデータを提供する。この予測器は、ブロック内で、現在の画素の予測値を提供するように動作する。予測値は、一例では、それぞれ、現在の画素の横方向左と、斜め方向左上と、縦方向上の３画素の算術平均値の形をとる。予測値は、他の様々なやり方で、それ以上の、または異なる隣接画素を利用し、異なる隣接画素に異なる重み付けを適用して形成することもできることが理解されるであろう。
【００５１】
ＰＯからの予測値は、利得係数ｃを適用する乗算器（２０４）を介して減算器（２００）に負の入力として供給される。パラメータｃは、典型的には、０と１との間を変動し得る。この利得制御は、ｃが１未満であるとき、通常は開ループ予測器の使用と関連付けられるはずの雑音増加の問題に対処する。
【００５２】
減算器（２００）からの出力は、第２の減算器（２０４）を通って、従来のＤＣＴまたは他の空間変換ブロックＴへ渡される。変換Ｔは受け取った画像差分に作用して、変換係数を概ね従来型の量子化器ブロックＱに提供する。量子化された変換係数は、ブロックＥＣで、符号器の出力ビットストリームを提供するために、可変長符号化または他のエントロピー符号化を施される。
【００５３】
閉ループ予測を提供するために、既に再構築されたデータ値のみを使用して、復号器で復元されるのと全く同様に復元された値を含むローカル復号ブロックストアＬＤＢＳが維持される。閉ループの空間的予測は、好都合には、公知のＨ．２６４空間的予測器または動き補償予測器の形をとってよい。
【００５４】
閉ループ予測値は、（１−ｃ）の利得制御係数を適用する乗算器を介して減算器に負の入力として渡される。
【００５５】
ＬＤＢＳからの値は、逆量子化器ブロックＱ−１と、逆変換ブロックＴ−１と、同じ割合での、ＬＤＢＳ自体からの前に復号された再構築値だけを使用した予測の加算とによって構築される。
【００５６】
ブロック操作では、フィードフォワード予測器ＰＯは、ブロックがラスタ順に走査されるものと想定する場合にはブロックの上と左にある再構築サンプルも、それらが使用可能な場合には使用することができることに留意されたい。よって、ＰＣに入力されるサンプルはＰＯにも入力される。これは、可能な場合は常に、予測は再構築サンプルを使用することを意味する。
【００５７】
よって、現在の４×４ブロックの上の行と左の列内の画素は、図で網掛け表示されている（現在のブロックの外側にある）局所的に復号された画素から完全に、または大部分を予測することができる。その結果は、ブロックごとに符号器内と復号器内の予測を同期させることにより、雑音の増加をさらに一層制限することになるはずである。
【００５８】
ブロックの上と左とでは符号器と復号器との間の発散がほとんど、または全く生じなくなるため、その部分では低度の漏出ですみ、よって、これらの領域ではより良い予測を使用することが可能になる。言い換えると、パラメータｃは、画像内容による任意の変動に加えて、ブロック内の現在の画素の位置によっても変動し得る。この画素位置による変動は、必ずしもビットストリームで知らされる必要はなく、例えば、業界標準または事実上の標準を形成していてもよい。
【００５９】
この手法では、予測および差分生成のための係数順序は、ラスタ順序にはならず、ブロックごとになる。
【００６０】
もはや予測全体に重み係数がないため、このアーキテクチャは、スプリアス周波数成分を導入せずにブロック全体にわたる漏出の度合いを変動させることを可能にする。
【００６１】
ｃが固定されている場合には、有用な値は０．５前後であることがわかっている。
【００６２】
パラメータｃは、使用されるブロックサイズ、選択される量子化パラメータおよび２つの予測の相対的成功に応じた異なる画像内容について最適化され得る。ブロックサイズが小さく、量子化レベルが低いと、符号器と復号器との開ループ予測間で生じる発散は一般により少なくなり、そのため、これらの状況ではｃの全般的値を、ビットストリームにおける符号化によって、または準拠規格に従って、１により近づくよう調整することができるはずである。
【００６３】
このシステムが特に魅力的なのは、あらゆる種類の異なる予測器と容易に組み合わせることができるからである。例えば、ＰＣはＨ２６４ですでに定義されている方向予測器とすることができ、ＰＯは方向画素単位予測器とすることができるはずである。あるいは、ＰＣは動き補償時間的予測器とすることもできるはずである。
【００６４】
あるいは、ウェーブレット符号化では、ローパス係数が各レベルでの閉ループ予測を提      供する階層的符号化の形をとることもできるはずである。
【００６５】
別の変形では、ｃの固定数の可能な値を事前に決定することもできるはずであり、符号器は特定のブロックもしくはブロックセットに使用すべき最善の値を選択することができ、または閉ループ予測器だけを使用するよう選択することができる。各ブロックまたはブロックセットの変換係数に付随して、開ループ予測が使用されているかどうか、およびｃのどの値が用いられているかを表示するメタデータを送ることもできるはずである。
【００６６】
例えば、ｃの４つの可能な非ゼロの値、おそらくは、１／４、１／２、３／４および１が使用されるとする。１５／３２、２５／３２、１０／３２および２２／３２という値がうまく働くことが示されている。符号器は、通常は何らかのレート−歪み最適化法によって、使用すべき最適値を選択するはずである。
【００６７】
現在のブロック内での予測を生成するための様々な戦略を用いることができる。そのような戦略を策定する際の重要な問題は、結果として得られる復号器動作の効率および組み合わせ予測プロセスの精度である。
【００６８】
図３に、符号化／復号時のフレームの一部を示す。その位置が走査順序によって決定される、すでに符号化／復号されたブロック（Ａ）は、それらについての再構築サンプルを符号器と復号器の両方で使用することができるユニットである。また、処理されているブロック内を調べること、および当該ブロックの画素を定義されたサブセットへ分割することも有益である。図３に示す一例では、サブセットは全ブロック構造内のサブブロックである。現在のブロック（Ｂ）からのすでに予測されたサブブロック（Ｃ）および現在処理されているサブブロック（Ｄ）は、この例では、現在のブロック（Ｂ）に属する。その再構築サンプルが、現在のブロック処理の瞬間に符号器と復号器とですでに使用できるユニットは、閉ループ予測に使用することができる。サブブロックＣは全変換ブロックＢ内に留まっているため、そのサンプルは閉ループ予測には使用できない。
【００６９】
（現在の、または前のブロックまたはサブブロックからの）隣接する画素またはサンプルからの開ループ予測の可能な戦略が、図４に矢印で表示されている。この例では、サブブロック内のサンプルのラスタ走査が想定されており、これは、現在のサブブロックの上と右上のサンプルを現在のサンプル（Ｘ）の予測に供するものである。しかし、そのような方法は、連続した画素の再構築を必要とするために復号器で無効となる。というのは、各画素がラスタ順序での前の値に依存するからである。（符号器では、元の値が開ループ予測に使用されてよく、そのすべてが符号器の使用に供されるため、そのような制約は課されない。）
【００７０】
並列計算処理を可能にするシステムの存在下では、ＰＯの値の並列計算処理が非常に有利であることに留意することは重要である。ブロック内の画素の並列処理のための手法は、使用される予測テンプレートに大きく依存することになる。予測テンプレートは、どの隣接サンプルを予測で使用することができるか定義する構成要素の１つである。図５のテンプレート例では、左、上および左上のサンプルを予測で使用することができる。係数の走査順序は、その場合、異なるやり方で決めることができ、異なる走査戦略に関連した２つの例が８×８ブロックについて図６および図７に描かれている。これらの図中の番号は、対応する画素位置における予測を計算することのできるタイムインスタンスを表す。図６の例は単純なラスタ走査を示唆しているが、図７に提示される戦略を使用して結果的に得られる予測は、図６に示すものと同一である。図７の例は並列処理の潜在能力を示しており、矢印は可能な走査戦略を示唆している。図６の例は、全サンプルの予測の計算処理に６４個のタイムインスタンスを必要とするが、図７の例に必要とされる時間は、並列処理が使用できる場合には、１５（Ｎ・２＋１、Ｎ＝８）である。これは、処理に際しての非常に高い効率をもたらし得る。
【００７１】
並列化可能予測を向上させる別の手法は適応的テンプレートを用いて達成することができ、適応的テンプレートは、異なる原理に基づいて、例えば、使用できるサンプルの数を考慮に入れることに基づいて構築することができる。図８に、予測を少なくとも２つの使用可能な隣接サンプルから計算することができる例を示す。このようにして、Ｎ×Ｎブロックの処理時間はＮ個のタイムインスタンスに下がる。
【００７２】
別の並列化および結果として生じる処理効率の向上は、代替の予測構造を用いて達成することができ、この構造では、ブロック内のいくつかのサンプルが局所的に復号された隣接ブロックから予測されるにすぎず、これは、それらのサンプルを別の（開ループ）予測に即座に使用できることを意味する。図９に、ブロックからの３サンプル（「Ｃ」で記されたアンカー画素）が局所的に復号されたデータを使用するだけで予測され、次いでその予測が、少なくとも２つの隣接サンプルが利用できることにより定義される適応的テンプレートを用いて８×８ブロック内のすべてのサンプルをわずか４ステップ（０から３）で予測することができる多重走査の方法を提供する例を示す。各サンプル内の線は、そこから各サンプルの値を予測することができる隣接サンプルを表示する。アンカー画素は閉ループ方式で予測することができるが、異なるやり方で使用に供することもでき、例えば、アンカー画素の元の値または量子化された値を、変換係数によって、または追加のメタデータとしてビットストリームで送ることもできる。
【００７３】
前述の用語を使用して、閉ループ予測と開ループ予測との組み合わせは、閉ループ予測と開ループ予測の両方が現在処理されているブロック内で行われる場合へ拡張される。
【００７４】
アンカー画素を使用する方式は、図９の例で描かれているように、前進並列化の可能性と、新しい予測戦略のための柔軟な基礎の両方を提供する。この方式でのアンカー画素は、それらの位置が符号器と復号器の両方に知られている限り、ユニット内で恣意的に配置することができる。例えば、それらの位置は、特定のモードについて定義することもでき、ビットストリームで知らせることもでき、復号器で他の使用可能なデータから回復することもできる。
【００７５】
以下の説明では、４つのサブブロックからなるブロックについての一般化された予測戦略を説明する。予測は、従来から、すべてのサブブロックについての予測が隣接ブロックから実際に行われるような閉ループ方式で行われる。これは図１０に示されており、図１０では４つのサブブロックが閉ループ（ＣＬ）方式で方向的に予測される。「０」は、ブロック内の全サンプルについての予測が（それらがどのサブブロックに属するかにかかわらず）同じタイムインスタンスにおいて計算されることを表示する。この種の予測は、開ループ予測と閉ループ予測の組み合わせへさらに拡張することができる。例えば図１１では、現在のブロックの左上サブブロックを、すでに復号されたブロックからの閉ループ予測を使用してまず予測することができる。選択される方向、すなわち予測戦略に応じて、右上サブブロックおよび左下サブブロックを、隣接するブロックと、すでに復号された左上サブブロックの両方から同じタイムインスタンス「１」において予測することができる。最後に、残りのサブブロックを、同じブロックのサブブロックからタイムインスタンス「２」で予測することができる。
【００７６】
フレームの実際の境界（または、当該スライス外の情報を符号器で使用できないスライスの境界といった他の「ハード」境界）上のブロックは、隣接ブロックで取り囲まれたブロックと同様に扱うことができない。現行の手法は、使用できない画素からの予測を、ブロック全体に使用される適切な値（ＤＣ値）で置き換えるものである。その値は予測にとっては準最適となり得る。したがって、ここで代替の戦略を提案する。
【００７７】
図１２には、フレームの左上ブロックが描かれている。境界画素についての可能な予測方向が（あたかも、それらがすべての隣接ブロックが予測に使用できるある他のブロックがあるかのように）点線と実線とで提示されている。しかし、点線で記された予測方向はこのブロック内のそれらの画素には使用できない。（ここでは簡略な表現のために内側画素についての予測方向は含まれていないことに留意されたい）。所与の画素についての予測テンプレートは変更することができ、予測に使用できる画素だけを使用し、ＤＣ値のおそらくはマイナスの寄与を回避することができる。よって、サブブロックの上の行の各画素は、その左側隣接画素から予測され得る（やはりＤＣ値が使用される左上画素を除く）。使用できる画素だけからの予測または従来の手法（必要な場合にはＤＣ値を使用する）を使用した予測の選択は、任意選択、すなわち適応的とし、ブロックごとまたはサブブロックごとにビットストリームで知らせることができる。
【００７８】
ＤＣ値を使用した不十分な可能性のある予測を除くことに加えて、さらに別の代替の予測戦略を、境界上のブロックからの画素に適用することができる。境界画素が予測された後で、境界画素を、所与のブロックまたはサブブロックの内側画素の予測に使用することができる。その予測は画素ごとでなくてもよく、従来の予測戦略の１つ（例えば方向、角度など）とすることができる。違いは、この場合、その予測が、現在のブロックからの画素（図１３の網掛け表示された画素）、または現在のブロックもしくはサブブロックからの画素と、隣接するブロックまたはサブブロックからの画素との組み合わせ（網掛け表示された画素が現在のブロックもしくはサブブロックからのものである図１４で表されており、図には隣接するブロックもしくはサブブロックからの画素は描かれていない）を使用することである。図１３および図１４において、太線は境界を表す（当然ながら、境界全体にわたって予測に使用できる画素はない）。
【００７９】
前述の配列は、処理されているブロック内の有用な画素またはサンプルのサブセットの例にすぎない。当該ブロックにおいて、ブロック外から取得されるすべての予測は、無制限に、復号器で同時に使用できる。ブロック内で取得される予測は制限され、連続して処理される必要があり、予測の基となる画素が再構築された後で、任意の画素が当該の再構築画素から予測される。
【００８０】
ある用途では、ブロックの行または列をブロックのサブセットとして定義することが有用となり、各サブセット内の画素またはサンプルが同時に処理され、個々のサブセットが並列に処理される。またチェス盤型配列も企図されており、「白いマス」をあるサブセットとし、「黒いマス」を別のサブセットとする。
【００８１】
開ループ予測と閉ループ予測とを組み合わせる予測戦略は、所与の符号化プロファイルについて定めることができる。例えば、あるサイズの全ブロック上で、開ループを閉ループ予測と組み合わせて使用することができ、他のすべてのブロック上で、閉ループ予測だけを使用することができる。そのような戦略ではそれらのブロックについてのメタデータは不要である。他方、個々のブロックまたはブロックのセットについての予測方法を構成するためのメタデータは、既存のビデオ規格において構成可能オプションを符号化する周知の方法によって符号化されてよい。例えば、符号器がまず、開ループ予測器の有無を表示するフラグを符号化し得る。開ループ予測器が存在する場合、選択されたオプションをいくつかのビットで符号化することができるはずである。典型的な方式は、以下のＮ＝２の場合についての擬似コードに示すように、Ｎビットで符号化された２Ｎ通りのオプションを可能にするはずである。
【００８２】
ＥｎｃｏｄｅＢｉｔ（ｕｓｉｎｇ＿ｏｐｅｎ＿ｌｏｏｐ）；
ｉｆ（１＝＝ｕｓｉｎｇ＿ｏｐｅｎ＿ｌｏｏｐ）｛
【００８３】
ＥｎｃｏｄｅＢｉｔ（ｃｏｍｂｉｎｅｄ＿ｐｒｅｄ＿ｍｏｄｅ  ＆  ０ｘ０１）；
【００８４】
ＥｎｃｏｄｅＢｉｔ（（ｃｏｍｂｉｎｅｄ＿ｐｒｅｄ＿ｍｏｄｅ  ＆  ０ｘ０２）＞＞１）；
｝
【００８５】
あるいは、あるブロックのメタデータと前に符号化されたブロックのメタデータとの間にある相関があってもよい。その場合符号器は、Ｈ．２６４でイントラ予測モードを符号化するのに使用されるのと同様の方式に従ってよい。この方式は、開ループが追加の予測モードとして使用されない場合を考慮し、２Ｎ＋１通りのオプションを可能にし得る。次いで、予測が使用されるかどうか表示するフラグが符号化される。予測が使用されない場合には、残りの２Ｎ通りのモードを、以下のＮ＝２の場合についての擬似コードに例示するように、Ｎビットを使用して符号化することができる。
【００８６】
ｐｒｅｄｉｃｔｅｄ＿ｍｏｄｅ  ＝  ｇｅｔ＿ｍｏｄｅ＿ｐｒｅｄｉｃｔｉｏｎ（）；
ＥｎｃｏｄｅＢｉｔ（ｃｏｍｂｉｎｅｄ＿ｐｒｅｄ＿ｍｏｄｅ＝＝ｐｒｅｄｉｃｔｅｄ＿ｍｏｄｅ）；
ｉｆ（ｃｏｍｂｉｎｅｄ＿ｐｒｅｄ＿ｍｏｄｅ＜ｐｒｅｄｉｃｔｅｄ＿ｍｏｄｅ）｛
ＥｎｃｏｄｅＢｉｔ（ｃｏｍｂｉｎｅｄ＿ｐｒｅｄ＿ｍｏｄｅ  ＆  ０ｘ０１）；
ＥｎｃｏｄｅＢｉｔ（（ｃｏｍｂｉｎｅｄ＿ｐｒｅｄ＿ｍｏｄｅ  ＆  ０ｘ０２）＞＞１）；
｝
ｅｌｓｅ  ｉｆ（ｃｏｍｂｉｎｅｄ＿ｐｒｅｄ＿ｍｏｄｅ＞ｐｒｅｄｉｃｔｅｄ＿ｍｏｄｅ）｛
ｃｏｍｂｉｎｅｄ＿ｐｒｅｄ＿ｍｏｄｅ  ＝  ｃｏｍｂｉｎｅｄ＿ｐｒｅｄ＿ｍｏｄｅ−１；
ＥｎｃｏｄｅＢｉｔ（ｃｏｍｂｉｎｅｄ＿ｐｒｅｄ＿ｍｏｄｅ  ＆  ０ｘ０１）；  
ＥｎｃｏｄｅＢｉｔ（（ｃｏｍｂｉｎｅｄ＿ｐｒｅｄ＿ｍｏｄｅ  ＆  ０ｘ０２）＞＞１）；
｝
【００８７】
復号器アーキテクチャが図１５に示されている。復号器では、ビットストリームがエントロピー復号ブロックＥＤによって受け取られ、逆量子化器ブロックＱ−１と逆変換ブロックＴ−１とを通る。逆変換ブロックの出力は復号ブロックストアＤＢＳの入力に渡される。復号ブロックストアからの復号データは閉ループ予測器ＰＣおよび開ループプロテクタＰＯの入力に渡される。ＰＯの出力は、利得制御係数ｃを適用する乗算器（４０４）を介して加算器（４０２）に渡される。予測器ＰＣの出力は、利得制御係数（１−ｃ）を適用する乗算器（４０８）を介して加算器（４０６）に適用される。開ループ予測器ＰＯも利得制御係数ｃも、符号器によって送られたメタデータに基づいて選択可能とすることができる。２つの加算器は、逆変換ブロックから出力される値に加重予測出力を加算する役割を果たす。再構築されると、値は、後続の値の予測に使用するためにＤＢＳに渡される。
【００８８】
また、ＤＢＳへの入力は、当然ながら、復号器からのビデオ出力も提供する。
【００８９】
最適予測器を適応的手段によって選択することができる。予測器は、例えば、線形最適化法、最小平均二乗誤差によって、あるいは局所的な傾きを求め、それを補外することによって選択されてもよい。方法が何であれ、基本的な違いは、予測器の選択が現在の画素の近隣における値の連続関数になる連続的適応的技法か、予測器が切り換えられる不連続的技法かである。
【００９０】
開ループを動作させると、任意の適応的技法では、適応的予測器自体が符号器と復号器とで異なることになり得る。不連続的適応的技法は特に危険と思われるはずである。というのは、全く異なる予測器が選択され得るからである。連続的システムでは、所与の類似の値、類似の予測器が選択されるはずである。
【００９１】
連続的適応の一例として、画素が、自己相関Ｒ（ｋ）を有するシーケンスｘ（ｎ）を生じるように走査される場合には、ＭＭＳＥ予測器
0005860479.tif 000002
は係数ａｋを有し、係数ａｋはＴＶ線形方程式の系
0005860479.tif 000003
を満たすことを示すことができる。
【００９２】
したがって、信号のローリングスナップショットを取得し、この系を解くことによって適応的システムを得ることができる。これを近似する（定常的統計が与えられた場合には、これに収束する）はずのより扱いやすい適応法は、ＬＭＳアルゴリズムまたはＲＬＳアルゴリズムを使用するものであろう。
【００９３】
この場合には、基本サンプルと自己相関関数の両方が、符号器と復号器とで異なり、異なるフィルタを使用させることになるはずである。しかし、予測がはるかに良くなる可能性がある場合には、これはさほど重大な問題とならないであろう。適応は、ある程度の白色雑音を想定することによって、例えば、測定された自己相関Ｒ（ｋ）に小さいデルタインパルスを加えることによって、あるいはＬＭＳ／ＲＬＳアルゴリズムでフィードバック信号に人工雑音を直接加えることによって、より安定させることができるはずである。
【００９４】
前述のアーキテクチャは、元の符号化されていないサンプルを使用した予測を伴う。これが予測プロセスからの雑音付加を引き起こす原因である。しかし、圧縮システムでは、符号器はビットストリームを生成するのにどんなサンプルでも使用することができ、指定される必要があるのは復号器プロセスだけである。そのため、符号器は、予測に使用されるサンプルを、復号器が再構築に使用するサンプルにより近くなるように変更してよい。開ループ予測器では、サンプルが同一であることを保証することができず、複数のパスがある程度の収束を提供すべきである。
【００９５】
これを行うための方法は、２つ（以上）の符号器を連結して、予測が、第１の符号器によって符号化され、局所的に復号されているデータを利用するようにすることである。この場合には、フィードバックの要素が符号化プロセスに再導入されている。ブロック図が図１６および図１７に示されている。ここで、第１の符号器は前述の方式で初期符号化を行う。復号器は、やはり前述のように、次いで第１のパスの復号信号を生成し、この復号信号が次いで第２の符号器に渡される。当然ながら、第１の符号器および第２の符号器は別々に描かれているが、これらは、典型的には、１つのハードウェアまたはソフトウェア符号器の第１のパスおよび第２のパスを構成することになる。
２つの基本的な変形が考慮され得る。第１の変形では、図１６に示すように、第２の符号器の予測器だけが局所復号バージョンを使用し、予測される画素は元の画素のままである（第１のパスの符号化と復号とに見合う補正遅延を伴う）。図１７に示す第２の変形では、予測と予測される画素の両方が局所復号バージョンを使用するはずである。符号器と復号器の予測符号化プロセス間でより大きい収束を達成するために、任意の数のこれらの段が連結され得る。
【００９６】
本発明を例として説明したにすぎず、添付の特許請求の範囲を逸脱することなく多種多様な改変が可能であることが理解されるであろう。前述の各例が別々の特徴およびオプションを含む範囲内で、そのような特徴およびオプションのすべての実施可能な組み合わせは本明細書で開示されたものとみなすべきである。特に、添付の特許請求の範囲の各請求項のいずれか一項の主題は、他のあらゆる請求項の主題と組み合わせて開示されたものとみなすべきである。
【図１】
0005860479.tif 000004
【図２】
0005860479.tif 000005
【図３】
0005860479.tif 000006
【図４】
0005860479.tif 000007
【図５】
0005860479.tif 000008
【図６】
0005860479.tif 000009
【図７】
0005860479.tif 000010
【図８】
0005860479.tif 000011
【図９】
0005860479.tif 000012
【図１０】
0005860479.tif 000013
【図１１】
0005860479.tif 000014
【図１２】
0005860479.tif 000015
【図１３】
0005860479.tif 000016
【図１４】
0005860479.tif 000017
【図１５】
0005860479.tif 000018
【図１６】
0005860479.tif 000019
【図１７】
0005860479.tif 000020