(57)【要約】【課題】変換ドメインベースの歪みコスト推定。【解決手段】マクロブロックを符号化するためのモードと関連付けられたレート歪みコストを計算するために使用できる変換ベースの歪みコスト推定を説明する。発明の一つの実施例において、ある特定のモードの歪み値を変換ドメイン内で推定し、そうすることによってこの計算から逆変換および逆動き関数をともになくすことができる。マクロブロックの動き補償後の予測残余とそれに対応する再構築後の信号との間の差を識別することによって変換ドメイン内で符号化モードの空間ドメイン残余を推定する。推定空間ドメイン残余を次に歪み行列計算に用いて符号化モードの歪みレベルを変換ドメイン内で推定することができる。【選択図】図２
2007174649.tif 000002
【特許請求の範囲】
【請求項１】
符号化モードと関連付けられた歪みレベルを推定する方法であって、この方法は、
符号化モードと関連付けられた動き補償後の予測残余を変換し、
変換された動き補償後の予測残余を量子化し、
量子化および変換された動き補償後の予測残余を逆量子化してその結果として再構築後の変換ドメイン残余を生じ、
変換された動き補償後の予測残余および再構築された変換ドメイン残余の変換ドメインベースの解析を介して空間ドメイン残余を推定し、
推定した空間ドメイン残余から歪みレベルを計算するステップを含む。
【請求項２】
符号化モードは H.264 規格に準じて定義される、請求項１に記載の方法。
【請求項３】
符号化モードはイントラモードである、請求項２に記載の方法。
【請求項４】
計算された歪みレベルを用いて符号化モードのレート歪み値を計算するステップをさらに含む、請求項１に記載の方法。
【請求項５】
歪みレベルはトレース((e - eQ)(e - eQ)T)と定義され、これにおいて e は動き補償後の予測残余を表し、 eQ は推定空間ドメイン残余を表す、請求項１に記載の方法。
【請求項６】
2007174649.tif 000015
【請求項７】
請求項１の方法を実行するための命令を有するコンピュータ可読媒体。
【請求項８】
符号化モードのレート歪みコストを計算するためのシステムであって、このシステムは、
マクロブロックおよび基準画素を受け取るようにつながれた、符号化モードの動きベクトルを生成する動き推定器と、
基準画素および動きベクトルを受け取るようにつながれた、符号化モードの動き補償後の予測を生成するための予測器と、
変換された動き補償後の予測残余および再構築された変換ドメイン残余を受け取るようにつながれた推定空間ドメイン残余計算モジュールを含み、変換された動き補償後の予測残余および再構築された変換ドメイン残余はともにマクロブロックおよび動き補償後の予測から導出され、これにおいてモジュールは変換ドメインにおける推定空間ドメイン残余を生成し、さらに
推定空間ドメイン残余を受け取るようにつながれた、レート歪みコストを生成する元となる歪み値を生成する歪み計算モジュールを含む。
【請求項９】
変換および量子化された動き補償後の残余を受け取るようにつながれた、符号化モードのレートを計算するレート推定器をさらに含む、請求項８に記載のシステム。
【請求項１０】
符号化モードは H.264 規格によって定義される、請求項８に記載のシステム。
【請求項１１】
符号化モードはイントラモードである、請求項１０に記載のシステム。
【請求項１２】
歪みレベルはトレース((e - eQ)(e - eQ)T)と定義され、これにおいて e は動き補償後の予測残余を表し、 eQ は推定空間ドメイン残余を表す、請求項８に記載のシステム。
【請求項１３】
2007174649.tif 000016
【請求項１４】
RDコストは、ラグランジュの乗数を掛けた符号化モードの算出レートに符号化モードの歪みレベルを足したものと定義される、請求項８に記載のシステム。
【請求項１５】
符号化モードの推定空間ドメイン残余を変換ドメインで推定するためのモジュールであって、このモジュールは、
変換された動き補償後の予測残余を受け取る第１インタフェースと、
再構築された変換ドメイン残余を受け取る第２インタフェースと、
変換された動き補償後の予測残余および再構築された変換ドメイン残余から変換ドメインで推定空間ドメイン残余を生成するプロセッサとを含む。
【請求項１６】
符号化モードの歪みレベルを計算するのに推定空間ドメイン残余を用いる、請求項１５に記載のモジュール。
【請求項１７】
歪みレベルはトレース ((e - eQ)(e - eQ)T) と定義される、請求項１６に記載のモジュール。
【請求項１８】
符号化モードは H.264 規格によって定義される、請求項１６に記載のモジュール。
【請求項１９】
符号化モードはイントラモードである、請求項１８に記載のモジュール。
【請求項２０】
2007174649.tif 000017
【発明の詳細な説明】
【技術分野】
【０００１】
A.技術分野
本発明は、一般的には通信リンクで送信するためのデータの符号化に関し、より具体的にはビデオ符号化モードのための変換ドメイン内での歪みコスト推定に関する。
【背景技術】
【０００２】
B.発明の背景
ボイスやビデオなど、ネットワークにかかる高バンド幅アプリケーションの負担は増え続けている。こうしたバンド幅集約型アプリケーションを使い易くために、こうしたアプリケーションをもっと効果的にネットワークでクライアントに通信できるように圧縮テクノロジーおよび規格が進展している。ビデオ信号の符号化や復号化に関するそうした一つの規格が、MPEG-4/AVC（Advanced Video Coding Standard）と呼ばれるMPEG-4の最新のコーディング規格で、これは一般に H.264 という国際電気通信連合（International Telecommunication Union）の規格名で呼ばれている。コーディング効率を高めるために、MPEG-4/AVCはビデオマクロブロックを符号化するための可変ブロックサイズ動き補償予測のツールを提供する。
【０００３】
この規格はデータを符号化する方法を概して向上させるけれども、エンコーダ自体の処理リソースにかかるデマンドも増やす。ビデオデータの送受信にはタイムセンシティブな性質があるために、エンコーダはビデオフレームのしかるべき符号化方法を選び、そのビデオフレームを符号化してネットワークで送信する時間が限られる。エンコーダがビデオ信号を符号化して送信するのに必要となることのある符号化の計算を全て所要時間内に完了できないと、ビデオ信号の品質が危うくなることがある。
【０００４】
図１は、符号化されたビデオ信号を通信できる典型的な通信リンク１２０を示す図である。図に示すように、ビデオカメラ１１０がビデオ信号を生成し、それはエンコーダ１１５に送られる。このエンコーダ１１５は通信リンク１２０に接続されたコンピュータまたはサーバ上にあるソフトウェアで構わない。エンコーダ１１５はビデオフレームを受け取り、ビデオフレームは符号化のために普通マクロブロックに分割される。こうしたマクロブロックにおけるコンテントいかんによっては、符号化プロセスの精度を高めるためにさらに小さなブロックに分割されることがある。
【０００５】
こうしたマクロブロックの各々、および一つのマクロブロック内のサブブロックは、同じビデオフレーム内にあるもう一つのブロックに対して、あるいはビデオ信号内の前のまたはこれから先の基準フレームにおける一つのブロックに対して、符号化されることがある。この符号化は、通信リンク１２０で送信されるデータ冗長性の量を低減させることにある。
【０００６】
マクロブロックを符号化できるモードには、普通、インターモードおよびイントラモードという２つのタイプのモードがある。イントラモードとは、同じビデオフレーム内のブロックに対して符号化が発生することである。インターモードとは、現行のビデオフレーム以外の一つ以上の基準フレームに対して符号化が発生することである。マクロブロックは符号化された後、通信リンク１２０を介して受信側デコーダ１２５に送信される。デコーダ１２５は、対応するフレームコンテキストで表示デバイス１３０上に表示できるようにビデオ信号内のマクロブロックを再構築する。
【０００７】
【特許文献１】米国特許出願公開第2004/0196903号明細書
【発明の開示】
【発明が解決しようとする課題】
【０００８】
上述のごとく、インターモードまたはイントラモードいずれかの符号化を行うときは、マクロブロック（例えば、あるビデオフレーム内の１６x１６の一ブロック）は自分自身のフレームまたは別の基準フレームのいずれかに入っている一マクロブロックに対して符号化される。エンコーダは、普通、複数の使用可能なモードから、その特定のマクロブロックを符号化するためのモードを一つ選択しなければならない。
【０００９】
モードの選択では、往々にして、使用可能な各モードのレートおよび歪みの特性を識別しなければならない。一般的に、レート歪みコストは、しかるべきモードを選択できるように、使用可能なモード毎に計算される。レート歪みコストの計算は、普通は、ビデオマクロブロックに対して変換および量子化の計算を行い、次に、ある特定の符号化モードの誤差または歪みレベルを識別できるように逆変換および逆量子化を行うことによって達成される。可変長符号化スキームの場合には、こうしたレートおよび歪みの解析は多数の計算を必要とし、そのことがエンコーダの処理リソースに負担となり、エンコーダの性能に負の影響を与えることがある。
【課題を解決するための手段】
【００１０】
マクロブロックを符号化するためのモードと関連付けられるレート歪みコストを計算するために使用できる変換ベースの歪みコスト推定を説明する。発明の一つの実施例においては、ある特定のモードの歪み値が変換ドメイン内で計算され、こうすることによってこの計算における逆変換および逆動き関数をともになくすことができる。したがって、歪み推定の計算数を有意に減少させる。符号化モードのレート歪みコストを識別するために、レート計算とともに、この歪み推定を用いる。
【００１１】
発明の一つの実施例において、動き補償後の予測残差（residual）とマクロブロックを符号化するためのモードと関連付けられたその再構築信号との間の差を変換ドメイン内で識別することによって空間ドメイン残差を推定する。この推定空間ドメイン残差値は逆変換計算を行わずに変換ドメインで判定される。
【００１２】
符号化モードのレート歪みコストを計算するのにさらに推定空間ドメイン残差を用いることができる。とりわけ、符号化モードの歪みレベルを変換ドメイン内で推定する歪み行列計算に推定空間ドメイン残差を用いる。歪み推定は次に、ある特定の符号化モードと関連付けられたレート歪みコストを識別するためにレート値を用いて処理されることがある。
【発明を実施するための最良の形態】
【００１３】
以下、本発明の実施形態を図面に基づいて説明する。
【実施例１】
【００１４】
符号化モードの歪みを変換ドメイン内で推定するためのシステム、装置および方法。発明の一つの実施例において、ある特定のモードの歪み値を変換ドメイン内で推定し、こうすることでこの計算における逆変換および逆動き関数をともになくすことができる。とりわけ、マクロブロックの動き補償後の予測残差とそれに対応する再構築された信号との間の差を変換ドメイン内において識別することによって符号化モードの空間ドメイン残差を推定する。推定した空間ドメイン残差を次に歪み行列計算に用いてある符号化モードの歪みレベルを変換ドメイン内で推定することができる。次に、ある特定の符号化モードと関連付けられるレート歪みを識別するためにレート値を用いて歪み推定を処理することができる。
【００１５】
説明のために、下記の明細書においては、発明を理解できるように具体的な詳細を述べている。しかし、当業者ならば、こうした詳細を知らなくても発明を実施できることは明白であろう。当業者ならば、以下に一部を説明している本発明の実施例は、パーソナルコンピュータおよびネットワークサーバなど多数の異なったデバイスの中に組み入れることができることを認識するだろう。本発明の実施例はソフトウェア、ハードウェア、またはファームウェアとしても実施できる。以下にブロック図に表示した構造およびデバイスは発明の模式的な実施例を示すもので、発明を曖昧にしないようにするためのものである。さらに、図の中のコンポーネントおよび／またはモジュール間の接続は直接接続に限定されるものではない。むしろ、こうしたコンポーネントおよびモジュール間のデータは中間コンポーネントおよびモジュールによって修正、リフォーマット、あるいはその他のやり方で変更が可能である。
【００１６】
明細書で「一つの実施例」または「実施例」と称しているのは、その実施例に関して説明したある特定の特徴、構造、特性、または機能が発明の少なくとも一つの実施例の中に含まれていることを意味する。明細書のいろいろな個所に「一つの実施例において」という表現が出てくるが、これは必ずしも全て同じ実施例を指しているとは限らない。
【００１７】
C.概要
本発明は、ある特定のマクロブロックの符号化モードと関連付けられた変換ドメインベースの歪みコスト推定を提供する。とりわけ、本発明は、ある特定のマクロブロックを符号化するためにしかるべきモードを選択できるように、使用可能な符号化モードの各々に対してRDコスト値を判定する際に行われる計算の数を減らすことができる。
【００１８】
インターモードを選択するかまたはイントラモードを選択するかは、モードのレート歪み（“RD”）効率いかんによって有意に変わることがある。選択したモードいかんによって、マクロブロックを様々なサブブロックに分割することができる。普通、符号化プロセスの複雑さおよび所要計算数はマクロブロックを分割したサブブロック数に比例して増える。従って、マクロブロックをサブブロックに分割した分割数が増えると、マクロブロックを符号化するモードの複雑さが増し、より多量の歪みを有効に補償することが一層可能になる。
【００１９】
しかるべきモードを選択する際に使用できる一つの計算は、モード毎に計算されるRDコストである。RDコスト値（J）は次のように定義される。
J(s, c, m | QP, λm) = D (s, c, m | QP) + λm * R(s, c, m | QP)
【００２０】
ここで、QPはマクロブロック量子化パラメータ、 λmはモード決定のためのラグランジュの乗数（Lagrange multiplier）、Dはオリジナルブロックと再構築ブロックとの間の二乗差（squared differences）の和で、Rはモードを符号化するためのビット数を表す。
【００２１】
レート歪み計算の複雑さおよび計算を行う回数は、マクロブロックの予測モードを識別するのに必要な時間およびリソースに直接影響を与える。エンコーダによっては、またエンコーダが動作するシステムによっては、こうした計算がエンコーダをオーバーロードし、その結果として符号化システム性能の劣化が生じる。
【００２２】
D.エンコーダ
図２は、複数の使用可能な符号化モードを用いてビデオフレームマクロブロックを符号化するエンコーダ２００を示す。ビデオ信号２０５内のフレームは直接コサイン変換（direct cosine transformation）（‘DCT’）を用いて変換モジュール２１０により空間周波数係数の集合に変換される。このDCTは時間ドメイン信号から周波数ドメイン信号への変換に類似している。周波数係数は次に、周波数係数に対してスカラーを適用する量子化モジュール２１５によって量子化される。実際には、量子化プロセスは打ち切り信号（truncated signal）を結果として生じる整数のスケーリング因子で周波数係数を分割する。ビデオフレームを変換および量子化するこのプロセスはビデオ信号にデータ損失といったエラーをもたらす。
【００２３】
エンコーダ２００は、フレームの中の各マクロブロックを符号化する単数または複数のモードを識別するモードセレクタ２５０を含んでいる。このモードセレクタ２５０は、逆量子化および逆変換（reverse quantization and transformation）モジュール２３５、イントラ予測モジュール２２０、動き補償モジュール２２５、デブロッキング・フィルタ２４０を含んでいる。モードセレクタ２５０は動き推定モジュール２３０および複数の動き基準フレームを格納しているメモリデバイスとインタフェースをとるまたは含むことができる。
【００２４】
逆量子化および逆変換モジュール２３５は、符号化処理でビデオ信号に生じた歪み量を識別できるように、前に変換および量子化されたマクロブロックを再構築する。再構築はビデオ信号を逆量子化することによって起き、その結果、リスケーリングされた信号が生じる。このリスケーリングされた信号は次に、逆離散コサイン変換によって逆に変換され、再構築されたフレームを生じる。この再構築されたフレームをオリジナルのビデオフレーム２０５と比較して、符号化プロセスによって生じた歪みまたはエラーを識別することができる。ビデオ信号２０５内の各マクロブロックを複数の異なったインター予測モードまたはイントラ予測モードのうちの一つで符号化することができる。予測モードは各々が関連付けられた歪みおよびレート値を有する。
【００２５】
イントラフレーム予測モジュール２２０は、あるマクロブロックに対して可能な（potential）予測イントラモードを識別する。上に述べたように、イントラモード符号化はあるイントラフレームにおけるある特定のフレームを予測するのに同じビデオフレーム内の他のブロックを用いる。
【００２６】
動き推定モジュール２３０は、基準ブロックを識別するとともに、基準ブロックとインターモードでこれから符号化するブロックとの間の空間変位を表す動きベクトルを識別する。基準ブロックは単一のビデオ基準フレーム内にあることもあるし、あるいは単数または複数の基準フレーム内の複数のブロックから生成されることもある。動きベクトルは、これからインター符号化するブロックの位置に関する２次元グリッド内での基準ブロックの移動を表す。
【００２７】
動き補償モジュール２２５は、インター符号化プロセスで使用できる前のフレームの中にある前に復号化された他のブロックからマクロブロックを予測する。この予測は、これからインター符号化する特定のブロックに関して基準ブロックおよび動きベクトルと関連付けられたエラーレベルまたは歪みレベルを識別することによって行われる。このエラーは特定のブロックを基準ブロックおよび動きベクトルデータから再構築できるように符号化され、受信側クライアントに供給される。上述のごとく、各インターモードは特定のブロックに対して関連付けられた歪みまたはエラー値を有する。このエラー値は各モードのレート歪み性能における有意なコンポーネントであり、特定のモードに対するインター符号化モードをただ一つ選択する際に重要な考慮事項となることがある。
【００２８】
デブロッキング・フィルタ２４０は動き補償ループ内にあり、画像の品質向上のためにマクロブロックまたはサブブロックのエッジに沿った水平および垂直方向のアーティファクトを減らす。
【００２９】
符号化モードを選択したら（インターモードかイントラモードかいずれか）、それに対応してマクロブロックが符号化されて通信リンクに送られる。この符号化されたデータを使ってマクロブロックを再構築して表示する。
【００３０】
E.予測モード選択
図３は、H.264 規格で定義された符号化モードの許容可能なマクロブロック分割の集合を示す。イントラ予測３１５かインター予測３２０かどちらかを用いてマクロブロック３１０を符号化することができる。イントラ予測３１５では、同じフレーム内の近傍のブロッックから前に復号化された画素を用いる４つのモードのうちの一つで１６x１６の各ブロック毎のルーマコンポーネント３３０を予測することができる。また、１６x１６のブロックを４x４のサブブロックに分割して、同じフレーム内の近傍のブロックから前に復号化された画素を用いる９つのモードのうちの一つでこうしたサブブロックを符号化することによってルーマコンポーネント３３０を予測することもできる。マクロブロック３１０のクロマコンポーネント３４０は８x８のサブブロックに分割されて４つの使用可能なモードのうちの一つで符号化される。
【００３１】
インター予測３２０では、マクロブロック３１０を様々なサイズのサブブロックに分割することができ、マクロブロック３１０またはその中にある分割されたサブブロックに対して動き補償後の予測が実行される。マクロブロックを分割して９つのインターモード３５０のうちの一つで符号化することができる。
【００３２】
a)予測イントラモード（ H.264 規格）
図４Aは、 H.264 規格に基づく４x４のルーマビデオブロックのための３つの模式的な予測モード図である。この規格は、４x４のルーマブロックを符号化できるモード０からモード８までの合わせて９つの異なった予測モードを定義している。モード０（４０５）は、画素データがブロック内で上部サンプルから補外される垂直モードである。モード１（４１０）は、画素データがブロック内で左サンプルから補外される水平モードである。モード８（４１５）は、画素データがブロック内で左下サンプルから補外される横上（horizontal-up）モードである。モード２から７は表示されていないが、４x４のルーマブロックモード全てについて詳細な説明が H.264 規格にある。
【００３３】
図４Bは、 H.264 規格に基づく１６x１６のルーマビデオブロックまたは８x８のクロマビデオブロックのための３つの模式的なモード図である。この規格は、１６x１６のルーマブロックまたは８x８のクロマブロックどちらかを符号化できるモード０からモード３までの合わせて４つの異なった予測モードを定義している。モード０（４３０）は、画素データがブロック内で上部サンプルから補外される垂直モードである。モード１（４３５）は、画素データがブロック内で左サンプルから補外される水平モードである。モード３（４４０）は、一次平面関数（linear plane function）がブロック内で上と左側のサンプルにフィットする「平面」モードである。モード２は表示されていないが、１６x１６のルーマブロックおよび８x８のクロマブロックモード全てについて詳細な説明が H.264 規格にある。
【００３４】
b)予測インターモード（ H.264 規格）
図５は、本発明の一つの実施例に従って使用することのできる模式的な予測インターモードを示す。これらのモードは H.264 仕様によって定義され、１６x１６のマクロブロックをサブブロックに分割できる７つの異なったインターモードを含んでいる。１６x１６のモード５１０はマクロブロックを分割せずに、マクロブロック全体が単一ブロックとして符号化される。１６x８のモード５２０は、マクロブロックを２つの１６x８のブロックに水平方向に分割し、各ブロックは個々に符号化される。８x１６のモード５３０はマクロブロックを２つの８x１６のブロックに垂直方向に分割し、各ブロックは個々に符号化される。８x８のモード５４０はマクロブロックを４つの８x８のブロックに分割し、各ブロックは個々に符号化される。８x４のモード５５０はマクロブロックを８つの８x４のブロックに分割し、各ブロックは個々に分割される。４x８のモード５６０は８つの４x８のブロックに分割し、各ブロックは個々に符号化される。４x４のブロック５７０はマクロブロックを１６個の４x４のブロックに分割し、各ブロックは個々に符号化される。
【００３５】
概して、マクロブロックが分割および符号化されるブロック数に比例して複雑さおよび符号化の正確さのレベルが上がる。従って、マクロブロックが有意な量の歪み（つまり、基準ブロックに対したエラー）を含んでいると、４x４モード５７０など、分割ブロック数の多いモードを用いてマクロブロック内の歪みをより正確に伝えることができる。しかし、４x４モードで符号化するのに必要なプロセッサリソースおよびバンド幅の必要量は上に説明した他のモードに比べて比較的に大きくなる。従って、マクロブロック内にほとんど歪みがない場合には、他のマクロブロックを符号化するためのリソースを保存するために、１６x１６モード５１０などもっと負担の軽いモードを用いることができる。
【００３６】
F.レート歪み最適化
図６は、 H.264 規格で定義されたインター予測モードのためのレート歪み最適化フレームワークのブロック図である。あるビデオフレームにおける現行のマクロブロック（c）６０５と別のビデオフレームからの画素情報（p）６０７とが動き推定器６１０に供給される。動き推定器はマクロブロック６０５と画素情報６０７に関して実行された動き推定演算に基づいてマクロブロック６０５の動きベクトル（mv）を識別する。
【００３７】
動きベクトルおよび画素情報６０７は予測器６１５に供給され、予測器６１５はマクロブロック６０５の動き補償後の予測値（Pmv）を生成する。マクロブロックおよび動き補償後の予測値（Pmv）は比較され、空間ドメインにおける動き補償後の予測残差（e）が識別される。残差（e）は変換され６２５、その結果として変換ドメインにおける残差（E）が生じる。残差（E）は量子化され６３０、その結果として生じる変換および量子化後の残差がレート計算モジュール６４０に供給される。
【００３８】
変換および量子化後の残差は次に逆量子化および逆変換され、それにより動き補償後の予測残差に対応する空間ドメイン再構築信号（eQ）が生まれる。空間ドメイン再構築信号（eQ）は動き補償後の予測値（Pmv）との和がとられ、オリジナルマクロブロック（C）６０５の逆動き補償後の再構築版（cQ）が生じる。マクロブロックとオリジナルマクロブロック（c）６５０との逆動き補償後の再構築版（cQ）は歪み計算モジュール６６０に供給され、歪み計算モジュール６６０は解析中の特定のモードと関連付けられた歪みレベルを計算する。レート計算モジュール６４０は、モードのRDコストを計算できるようにその特定のモードと関連付けられたレートを計算する。解析された各モードには異なったレートおよび歪みのトレードオフがある。
【００３９】
イントラ予測モードを解析しようとする場合には、動き推定のタスクと逆動き補償の計算を除き、同じようなプロシジャが実行される。
【００４０】
a)変換ドメインベースの歪みコスト推定
図７は、本発明の一つの実施例による変換ドメインRDコストフレームワークを示す。動き推定器７１０および予測器７１５は図６に関して上に説明したと同じように動作し、空間ドメインにおける動き補償後の予測残差（e）を識別する。残差（e）は変換されたて７２０、その結果変換ドメインにおける残差（E）になり、量子化される７２５。結果として生じた変換および量子化された残差はレート計算モジュール７４０に供給される。
【００４１】
変換された残差（E）は逆量子化７３０されてその結果として再構築後の変換ドメイン残差（EQ）になり、推定空間ドメイン残差計算モジュール７６０に供給される。変換後の残差（E）も推定空間ドメイン残差計算モジュール７６０に供給される。推定空間ドメイン残差計算モジュール７６０は、変換ドメイン内で推定空間ドメイン残差を生成するために、変換残差（E）および再構築後の変換ドメイン残差（EQ）を処理する。推定空間ドメイン残差は動き補償後の予測残差とオリジナルマクロブロック（c）７０５を符号化するためのモードと関連付けられた空間ドメイン再構築後の信号との差である。
【００４２】
発明の一つの実施例によれば、推定空間ドメイン残差計算モジュール７６０は変換ドメイン内で計算された推定空間ドメイン残差を生成してそれを歪み計算モジュール７７０に供給する。変換ドメイン内で生成されたこの推定空間ドメイン残差を用いてマクロブロック７０５の符号化モードと関連付けられた歪みを計算することができる。このように、歪み計算およびRDコスト計算プロシジャ時に逆変換計算と逆動き計算が省かれる。
【００４３】
RDコスト計算プロセスは歪み計算を次のように表示する、
2007174649.tif 000003
次のように書き換えることができる、
2007174649.tif 000004
ここで、行列は４x４行列と定義される。
【００４４】
次のように記述することもできる
2007174649.tif 000005
図６に関して表示したように、マクロブロック c はその動き補償後の予測値（Pmv）と動き補償後の予測残差（e）とを足したものである。また、マクロブロックの逆動き補償後の再構築版（cQ）は、動き補償後の予測値（Pmv）と補償後の予測残差に対応する空間ドメイン再構築信号（eQ）とを足したものである。したがって、歪みは次のように書くことができる、
2007174649.tif 000006
この歪み方程式が示すように、図６の逆動き補償計算に関するRDコスト計算を省くことができる。逆変換計算を使わずに歪みを計算すれば、モードRDコスト計算における計算を有意に減らすことができる。さらに、マクロブロックの時間ドメイン動き補償後の再構築版の計算時に動き補償後の予測値（Pmv）をフェッチしなくていい。
【００４５】
（i）変換ドメイン内に基づいた空間ドメイン残差推定
推定空間ドメイン残差計算モジュール７６０は、マクロブロック７０５を符号化するためのモードと関連付けられた空間ドメイン残差を空間ドメイン内で推定する。
【００４６】
変換残差 E は e の変換出力だから、E = T e T-1、ここで T は H.264 符号化規格に用いられている４x４の直接コサイン変換（“DCT”）の４x４の整数変換近似値で、以下のように表示される。
2007174649.tif 000007
上の方程式から、次式が示される、
2007174649.tif 000008
そしてこの空間ドメイン残差は次のように表すことができる。
2007174649.tif 000009
これは次のように書き換えることができる、
2007174649.tif 000010
【００４７】
まだ変換ドメインにある空間ドメイン残差は歪み計算モジュール７７０に供給される。
【００４８】
（ii）変換ドメイン歪み計算
一つの実施例によれば、歪み計算モジュール７７０は、マクロブロック７０５を符号化するためのモードと関連付けられた歪みレベルを変換ドメイン内で識別する。この歪みレベルを識別するために、変換ドメインで計算された推定空間ドメイン残差が供給され使用される。
【００４９】
歪みは次のように書くことができる、
2007174649.tif 000011
ここで AM2は次のように定義される、
2007174649.tif 000012
そして、これにおいて aij は行列 A のij番目の要素である。行列とその転置（transpose）との積のトレースは行列の要素の平方和であるという性質を用いて、歪み方程式は次のように表すことができる、
2007174649.tif 000013
したがって、 A の要素は変換ドメイン行列 E および EQ.から計算されているから、 RDコスト関数の歪み D を直接に変換ドメインで計算することができる。
【００５０】
変換ベースのRDコスト計算フレームワークの中から逆変換および逆動き補償の計算がなくなるから、RDコスト計算の総体的な複雑さが軽減される。変換ベースの歪み計算は空間ドメインフレームワークで計算した歪みとはかすかに異なることがあるが、この誤差は普通は無視できるし、逆変換および逆動き補償のステップを除外したことから生じる算術上の精度の誤差（arithmetic precision error）の結果である。
【００５１】
2007174649.tif 000014
【産業上の利用可能性】
【００５２】
発明を特定の模式的実施例に関して説明してきたが、当業者ならば様々な修正が可能なことを認識するだろう。したがって、発明の範囲は下記の特許請求の範囲によってのみ限定されるものである。
【図面の簡単な説明】
【００５３】
【図１】符号化されたデータを通信できる通信リンク。
【図２】本発明の一つの実施例によるエンコーダの概略ブロック図。
【図３】本発明の一つの実施例によるインターモードおよびイントラモード符号化に使用可能なモードの図。
【図４】本発明の一つの実施例によるイントラモードに使用可能なモードのより詳細な図。
【図５】本発明の一つの実施例によるインターモードに使用可能なモードのより詳細な図。
【図６】本発明の一つの実施例による或る特定のインターモードまたはイントラモードのための H.264 レート歪み計算フレームワークのブロック図。
【図７】本発明の一つの実施例による或る特定のインターモードまたはイントラモードのための変換ベースのレート歪み計算のブロック図。
【符号の説明】
【００５４】
110  ビデオカメラ
115  エンコーダ
120  通信リンク
125  デコーダ
130  ディスプレイ
205  ビデオ信号
210  変換
215  量子化
220  イントラ（空間）予測
225  動き補償
230  動き推定
235  逆量子化および逆変換
240  デブロッキング・フィルタ
280  デコーダ
310  マクロブロック
315  イントラ予測
320  インター予測
330  ルーマ（イントラ）
340  クロマ（イントラ）
350  インター
405  モード０（垂直方向）
410  モード１（水平方向）
415  モード８（横上方向）
430  モード０（垂直方向）
435  モード１（水平方向）
440  モード３（平面）
610  動き推定器
615  予測器
640  レート計算モジュール
660  歪み計算モジュール
710  動き推定器
715  予測器
740  レート予測器
760  推定空間ドメイン残余計算モジュール
770  歪み計算モジュール
【図１】
2007174649.tif 000018
【図２】
2007174649.tif 000019
【図３】
2007174649.tif 000020
【図５】
2007174649.tif 000021
【図６】
2007174649.tif 000022
【図７】
2007174649.tif 000023
【図４】
2007174649.tif 000024