(57)【要約】【課題】圧縮効率の低下を抑制する。【解決手段】テンプレート動き予測・補償部７６は、画面並べ替えバッファ６２から読み出されたインター符号化が行われる画像と、スイッチ７３を介してフレームメモリ７２から供給される参照画像に基づいて、インターテンプレート予測モードの整数画素単位の動き予測と補償処理を行う。小数画素精度動き予測・補償部７７は、画面並べ替えバッファ６２から読み出されたインター符号化が行われる画像と、スイッチ７３を介してフレームメモリ７２から供給される参照画像に基づいて、インターテンプレート予測モードの小数画素単位の動き予測と補償処理を行う。本発明は、例えば、Ｈ．２６４／ＡＶＣ方式で符号化する画像符号化装置に適用することができる。【選択図】図１
2010016453.tif 000002
【特許請求の範囲】
【請求項１】
フレームの第１の対象ブロックの整数画素精度の動きベクトルを、前記第１の対象ブロックに対して所定の位置関係で隣接するとともに復号画像から生成されるテンプレートを利用して探索する第１の動き予測補償部と、
前記第１の対象ブロックの小数画素精度の動きベクトルを、前記第１の対象ブロックを利用して探索する第２の動き予測補償部と、
前記第１の対象ブロックに対する動きベクトルの情報として、前記第２の動き予測補償部により探索された前記小数画素精度の動きベクトルの情報を符号化する符号化部と
を備える画像符号化装置。
【請求項２】
前記第２の動き予測補償部は、符号化済みのブロックであって、前記第１の対象ブロックに隣接するブロックである隣接ブロックに対する動きベクトルの情報を用いて前記小数画素精度の動きベクトルの予測値を生成し、
前記符号化部は、前記第１の対象ブロックに対する動きベクトルの情報として、前記小数画素精度の動きベクトルの情報と前記予測値との差分を符号化する
請求項１に記載の画像符号化装置。
【請求項３】
前記第２の動き予測補償部は、符号化済みのブロックであって、前記第１の対象ブロックに隣接するブロックである隣接ブロックに対する動きベクトルの情報、前記フレームと異なる符号化済みフレームのブロックであって、前記第１の対象ブロックに対応する位置のブロックである対応ブロックと前記対応ブロックに隣接するブロックに対する動きベクトルの情報、または、前記対応ブロックと前記隣接ブロックに対する動きベクトルの情報を用いて前記小数画素精度の動きベクトルの予測値を生成し、
前記符号化部は、前記第１の対象ブロックに対する動きベクトルの情報として、前記小数画素精度の動きベクトルの情報と前記予測値との差分を符号化する
請求項１に記載の画像符号化装置。
【請求項４】
前記符号化部は、前記第１の対象ブロックの大きさが１６×１６画素であり、前記小数画素精度の動きベクトルの予測値が０であり、かつ、全ての直交変換係数が０である場合、前記第１の対象ブロックに対する動きベクトルの情報として、前記第１の対象ブロックがテンプレートスキップブロックであることを表すフラグのみを符号化する
請求項１に記載の画像符号化装置。
【請求項５】
前記フレームの第２の対象ブロックの動きベクトルを、前記第２の対象ブロックを利用して探索する第３の動き予測補償部と、
前記第１または第２の動き予測補償部により探索された前記動きベクトルに基づく予測画像と、前記第３の動き予測補償部により探索された前記動きベクトルに基づく予測画像のうちの一方を選択する画像選択部とをさらに備える
請求項１に記載の画像符号化装置。
【請求項６】
前記符号化部は、算術符号化を行う場合、前記第１および第２の動き予測補償部が対象とする前記第１の対象ブロックに対する第１のコンテクスト、および前記第３の動き予測補償部が対象とする前記第２の対象ブロックに対する第２のコンテクストをそれぞれ定義し、
前記第１の対象ブロックに対する動きベクトルの情報を前記第１のコンテクストを用いて符号化し、前記第２の対象ブロックに対する動きベクトルの情報を前記第２のコンテクストを用いて符号化する
請求項５に記載の画像符号化装置。
【請求項７】
前記符号化部は、算術符号化を行う場合、１つのコンテクストを定義し、
前記第１の対象ブロックに対する動きベクトルの情報および前記第２の対象ブロックに対する動きベクトルの情報を前記コンテクストを用いて符号化する
請求項５に記載の画像符号化装置。
【請求項８】
前記符号化部は、算術符号化を行う場合、整数画素精度の動きベクトルの情報に対する第１のコンテクストと、小数画素精度の動きベクトルの情報に対する第２のコンテクストをそれぞれ定義し、
前記第１の対象ブロックに対する動きベクトルの情報のうち、前記小数画素精度の動きベクトルの情報を前記第２のコンテクストを用いて符号化し、
前記第２の対象ブロックに対する動きベクトルの情報のうち、前記整数画素精度の動きベクトルの情報を前記第１のコンテクストを用いて符号化し、前記小数画素精度の動きベクトルの情報を前記第２のコンテクストを用いて符号化する
請求項５に記載の画像符号化装置。
【請求項９】
画像符号化装置が、
フレームの対象ブロックの整数画素精度の動きベクトルを、前記対象ブロックに対して所定の位置関係で隣接するとともに復号画像から生成されるテンプレートを利用して探索し、
前記対象ブロックの小数画素精度の動きベクトルを、前記対象ブロックを利用して探索し、
前記対象ブロックに対する動きベクトルの情報として、探索された前記小数画素精度の動きベクトルの情報を符号化する
ステップを含む画像符号化方法。
【請求項１０】
フレームの対象ブロックの整数画素精度の動きベクトルを、前記対象ブロックに対して所定の位置関係で隣接するとともに復号画像から生成されるテンプレートを利用して探索し、
前記対象ブロックの小数画素精度の動きベクトルを、前記対象ブロックを利用して探索し、
前記対象ブロックに対する動きベクトルの情報として、探索された前記小数画素精度の動きベクトルの情報を符号化する
ステップを含む処理をコンピュータに実行させるプログラム。
【請求項１１】
符号化された動きベクトルの情報を復号する復号部と、
フレームの第１の対象ブロックの整数画素精度について、前記第１の対象ブロックに対して所定の位置関係で隣接するとともに復号画像から生成されるテンプレートを利用して動きベクトルを探索することで、整数画素精度の予測画像を生成する第１の動き予測補償部と、
前記復号部により復号された前記第１の対象ブロックの小数画素精度の動きベクトルの情報を用いて、小数画素精度の予測画像を生成する第２の動き予測補償部と
を備える画像復号装置。
【請求項１２】
画像復号装置が、
符号化された動きベクトルの情報を復号し、
フレームの対象ブロックの整数画素精度について、前記対象ブロックに対して所定の位置関係で隣接するとともに復号画像から生成されるテンプレートを利用して動きベクトルを探索することで、整数画素精度の予測画像を生成し、
復号された前記対象ブロックの小数画素精度の動きベクトルの情報を用いて、小数画素精度の予測画像を生成する
ステップを含む画像復号装置。
【請求項１３】
符号化された動きベクトルの情報を復号し、
フレームの対象ブロックの整数画素精度について、前記対象ブロックに対して所定の位置関係で隣接するとともに復号画像から生成されるテンプレートを利用して動きベクトルを探索することで、整数画素精度の予測画像を生成し、
復号された前記対象ブロックの小数画素精度の動きベクトルの情報を用いて、小数画素精度の予測画像を生成する
ステップを含む処理をコンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は画像符号化装置および方法、画像復号装置および方法、並びにプログラムに関し、特に、圧縮効率の低下を抑制するようにした画像符号化装置および方法、画像復号装置および方法、並びにプログラムに関する。
【背景技術】
【０００２】
近年、ＭＰＥＧ（Moving Picture Experts Group）２やＨ．２６４およびＭＰＥＧ−４  Ｐａｒｔ１０  （Ａｄｖａｎｃｅｄ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ）（以下Ｈ．２６４／ＡＶＣと記す）などの方式で画像を圧縮符号化し、パケット化して伝送し、受信側で復号する技術が普及してきた。これによりユーザは高品質の動画像を視聴することができる。
【０００３】
ところで、ＭＰＥＧ２方式においては、線形内挿処理により１／２画素精度の動き予測・補償処理が行われているが、Ｈ．２６４／ＡＶＣ方式においては、６タップのFIR (Finite Impulse Response Filter)フィルタを用いた１／４画素精度の予測・補償処理が行われている。
【０００４】
また、ＭＰＥＧ２方式においては、フレーム動き補償モードの場合には、１６×１６画素を単位として動き予測・補償処理が行われ、フィールド動き補償モードの場合には、第１フィールドと第２フィールドのそれぞれに対し、１６×８画素を単位として動き予測・補償処理が行われている。
【０００５】
これに対して、Ｈ．２６４／ＡＶＣ方式においては、ブロックサイズを可変にして、動き予測・補償を行うことができる。すなわち、Ｈ．２６４／ＡＶＣ方式においては、１６×１６画素で構成される１つのマクロブロックを、１６×１６、１６×８、８×１６、あるいは８×８のいずれかのパーティションに分割して、それぞれ独立した動きベクトル情報を持つことが可能である。また、８×８パーティションに関しては、８×８、８×４、４×８、あるいは４×４のいずれかのサブパーティションに分割し、それぞれ独立した動きベクトル情報を持つことが可能である。
【０００６】
しかしながら、Ｈ．２６４／ＡＶＣ方式においては、上述した１／４画素精度、およびブロック可変の動き予測・補償処理が行われることにより、膨大な動きベクトル情報が生成されてしまい、これをこのまま符号化してしまうと、符号化効率の低下を招いていた。
【０００７】
そこで、符号化対象の画像の領域に対して所定の位置関係で隣接すると共に復号画像の一部であるテンプレート領域の復号画像と相関が高い画像の領域を、復号画像から探索して、探索された領域と所定の位置関係とに基づいて予測を行う方法が提案されている（特許文献１参照）。
【０００８】
この方法は、マッチングに復号画像を用いているため、探索範囲を予め定めておくことで、符号化装置と復号装置において同一の処理を行うことが可能である。すなわち、復号装置においても上述したような予測・補償処理を行うことにより、符号化装置からの画像圧縮情報の中に動きベクトル情報を持つ必要がないため、符号化効率の低下を抑えることが可能である。
【０００９】
【特許文献１】特開２００７−４３６５１号公報
【発明の開示】
【発明が解決しようとする課題】
【００１０】
しかしながら、特許文献１の技術を、小数画素精度の予測・補償処理に適用すると、符号化対象の画像の領域の画素値を用いていないことや、マッチングに用いる画素値が少ないことなどの理由により、予測性能（残差）が低下してしまい、その結果、動きベクトルを持つ必要がないにも関わらず、符号化効率の低下を招いてしまう恐れがあった。
【００１１】
本発明は、このような状況に鑑みてなされたものであり、圧縮効率の低下を抑制するものである。
【課題を解決するための手段】
【００１２】
本発明の一側面の画像符号化装置は、フレームの第１の対象ブロックの整数画素精度の動きベクトルを、前記第１の対象ブロックに対して所定の位置関係で隣接するとともに復号画像から生成されるテンプレートを利用して探索する第１の動き予測補償部と、前記第１の対象ブロックの小数画素精度の動きベクトルを、前記第１の対象ブロックを利用して探索する第２の動き予測補償部と、前記第１の対象ブロックに対する動きベクトルの情報として、前記第２の動き予測補償部により探索された前記小数画素精度の動きベクトルの情報を符号化する符号化部とを備える。
【００１３】
前記第２の動き予測補償部は、符号化済みのブロックであって、前記第１の対象ブロックに隣接するブロックである隣接ブロックに対する動きベクトルの情報を用いて前記小数画素精度の動きベクトルの予測値を生成し、前記符号化部は、前記第１の対象ブロックに対する動きベクトルの情報として、前記小数画素精度の動きベクトルの情報と前記予測値との差分を符号化することができる。
【００１４】
前記第２の動き予測補償部は、符号化済みのブロックであって、前記第１の対象ブロックに隣接するブロックである隣接ブロックに対する動きベクトルの情報、前記フレームと異なる符号化済みフレームのブロックであって、前記第１の対象ブロックに対応する位置のブロックである対応ブロックと前記対応ブロックに隣接するブロックに対する動きベクトルの情報、または、前記対応ブロックと前記隣接ブロックに対する動きベクトルの情報を用いて前記小数画素精度の動きベクトルの予測値を生成し、前記符号化部は、前記第１の対象ブロックに対する動きベクトルの情報として、前記小数画素精度の動きベクトルの情報と前記予測値との差分を符号化することができる。
【００１５】
前記符号化部は、前記第１の対象ブロックの大きさが１６×１６画素であり、前記小数画素精度の動きベクトルの予測値が０であり、かつ、全ての直交変換係数が０である場合、前記第１の対象ブロックに対する動きベクトルの情報として、前記第１の対象ブロックがテンプレートスキップブロックであることを表すフラグのみを符号化することができる。
【００１６】
前記フレームの第２の対象ブロックの動きベクトルを、前記第２の対象ブロックを利用して探索する第３の動き予測補償部と、前記第１または第２の動き予測補償部により探索された前記動きベクトルに基づく予測画像と、前記第３の動き予測補償部により探索された前記動きベクトルに基づく予測画像のうちの一方を選択する画像選択部とをさらに備えることができる。
【００１７】
前記符号化部は、算術符号化を行う場合、前記第１および第２の動き予測補償部が対象とする前記第１の対象ブロックに対する第１のコンテクスト、および前記第３の動き予測補償部が対象とする前記第２の対象ブロックに対する第２のコンテクストをそれぞれ定義し、前記第１の対象ブロックに対する動きベクトルの情報を前記第１のコンテクストを用いて符号化し、前記第２の対象ブロックに対する動きベクトルの情報を前記第２のコンテクストを用いて符号化することができる。
【００１８】
前記符号化部は、算術符号化を行う場合、１つのコンテクストを定義し、前記第１の対象ブロックに対する動きベクトルの情報および前記第２の対象ブロックに対する動きベクトルの情報を前記コンテクストを用いて符号化することができる。
【００１９】
前記符号化部は、算術符号化を行う場合、整数画素精度の動きベクトルの情報に対する第１のコンテクストと、小数画素精度の動きベクトルの情報に対する第２のコンテクストをそれぞれ定義し、前記第１の対象ブロックに対する動きベクトルの情報のうち、前記小数画素精度の動きベクトルの情報を前記第２のコンテクストを用いて符号化し、前記第２の対象ブロックに対する動きベクトルの情報のうち、前記整数画素精度の動きベクトルの情報を前記第１のコンテクストを用いて符号化し、前記小数画素精度の動きベクトルの情報を前記第２のコンテクストを用いて符号化することができる。
【００２０】
本発明の一側面の画像符号化方法は、画像符号化装置が、フレームの対象ブロックの整数画素精度の動きベクトルを、前記対象ブロックに対して所定の位置関係で隣接するとともに復号画像から生成されるテンプレートを利用して探索し、前記対象ブロックの小数画素精度の動きベクトルを、前記対象ブロックを利用して探索し、前記対象ブロックに対する動きベクトルの情報として、探索された前記小数画素精度の動きベクトルの情報を符号化するステップを含む。
【００２１】
本発明の一側面のプログラムは、フレームの対象ブロックの整数画素精度の動きベクトルを、前記対象ブロックに対して所定の位置関係で隣接するとともに復号画像から生成されるテンプレートを利用して探索し、前記対象ブロックの小数画素精度の動きベクトルを、前記対象ブロックを利用して探索し、前記対象ブロックに対する動きベクトルの情報として、探索された前記小数画素精度の動きベクトルの情報を符号化するステップを含む処理をコンピュータに実行させる。
【００２２】
本発明の一側面においては、フレームの対象ブロックの整数画素精度の動きベクトルが、前記対象ブロックに対して所定の位置関係で隣接するとともに復号画像から生成されるテンプレートを利用して探索され、前記対象ブロックの小数画素精度の動きベクトルが、前記対象ブロックを利用して探索される。そして、前記対象ブロックに対する動きベクトルの情報として、探索された前記小数画素精度の動きベクトルの情報が符号化される。
【００２３】
本発明の他の側面の画像復号装置は、符号化された動きベクトルの情報を復号する復号部と、フレームの第１の対象ブロックの整数画素精度について、前記第１の対象ブロックに対して所定の位置関係で隣接するとともに復号画像から生成されるテンプレートを利用して動きベクトルを探索することで、整数画素精度の予測画像を生成する第１の動き予測補償部と、前記復号部により復号された前記第１の対象ブロックの小数画素精度の動きベクトルの情報を用いて、小数画素精度の予測画像を生成する第２の動き予測補償部とを備える。
【００２４】
本発明の他の側面の画像復号方法は、画像復号装置が、符号化された動きベクトルの情報を復号し、フレームの対象ブロックの整数画素精度について、前記対象ブロックに対して所定の位置関係で隣接するとともに復号画像から生成されるテンプレートを利用して動きベクトルを探索することで、整数画素精度の予測画像を生成し、復号された前記対象ブロックの小数画素精度の動きベクトルの情報を用いて、小数画素精度の予測画像を生成するステップを含む。
【００２５】
本発明の他の側面のプログラムは、符号化された動きベクトルの情報を復号し、フレームの対象ブロックの整数画素精度について、前記対象ブロックに対して所定の位置関係で隣接するとともに復号画像から生成されるテンプレートを利用して動きベクトルを探索することで、整数画素精度の予測画像を生成し、復号された前記対象ブロックの小数画素精度の動きベクトルの情報を用いて、小数画素精度の予測画像を生成するステップを含む処理をコンピュータに実行させる。
【００２６】
本発明の他の側面においては、符号化された動きベクトルの情報が復号される。そして、フレームの対象ブロックの整数画素精度について、前記対象ブロックに対して所定の位置関係で隣接するとともに復号画像から生成されるテンプレートを利用して動きベクトルを探索することで、整数画素精度の予測画像が生成され、復号された前記対象ブロックの小数画素精度の動きベクトルの情報を用いて、小数画素精度の予測画像が生成される。
【発明の効果】
【００２７】
以上のように、本発明の一側面によれば、画像を符号化することができる。また、本発明の一側面によれば、圧縮効率の低下を抑制することができる。
【００２８】
本発明の他の側面によれば、画像を復号することができる。また、本発明の他の側面によれば、圧縮効率の低下を抑制することができる。
【発明を実施するための最良の形態】
【００２９】
以下、図を参照して本発明の実施の形態について説明する。
【００３０】
図１は、本発明の画像符号化装置の一実施の形態の構成を表している。この画像符号化装置５１は、Ａ／Ｄ変換部６１、画面並べ替えバッファ６２、演算部６３、直交変換部６４、量子化部６５、可逆符号化部６６、蓄積バッファ６７、逆量子化部６８、逆直交変換部６９、演算部７０、デブロックフィルタ７１、フレームメモリ７２、スイッチ７３、イントラ予測部７４、動き予測・補償部７５、テンプレート動き予測・補償部７６、小数画素精度動き予測・補償部７７、予測画像選択部７８、およびレート制御部７９により構成されている。
【００３１】
この画像符号化装置５１は、例えば、Ｈ．２６４およびＭＰＥＧ−４  Ｐａｒｔ１０  （Advanced Video Coding）（以下Ｈ．２６４／ＡＶＣと記す）方式で画像を圧縮符号化する。
【００３２】
Ｈ．２６４／ＡＶＣ方式においては、ブロックサイズを可変にして、動き予測・補償が行われる。すなわち、Ｈ．２６４／ＡＶＣ方式においては、１６×１６画素で構成される１つのマクロブロックを、図２に示されるように、１６×１６画素、１６×８画素、８×１６画素、あるいは８×８画素のいずれかのパーティションに分割して、それぞれ独立した動きベクトル情報を持つことが可能である。また、８×８画素のパーティションに関しては、図２に示されるように、８×８画素、８×４画素、４×８画素、あるいは４×４画素のいずれかのサブパーティションに分割し、それぞれ独立した動きベクトル情報を持つことが可能である。
【００３３】
また、Ｈ．２６４／ＡＶＣ方式においては、６タップのFIR (Finite Impulse Response Filter)フィルタを用いた１／４画素精度の予測・補償処理が行われている。図３を参照して、Ｈ．２６４／ＡＶＣ方式における小数画素精度の予測・補償処理について説明する。
【００３４】
図３の例において、位置Ａは、整数精度画素の位置、位置ｂ，ｃ，ｄは、１／２画素精度の位置、位置ｅ１，ｅ２，ｅ３は、１／４画素精度の位置を示している。まず、以下においては、Clip()を次の式（１）のように定義する。
【００３５】
【数１】
2010016453.tif 000003
なお、入力画像が８ビット精度である場合、max_pixの値は255となる。
【００３６】
位置ｂおよびｄにおける画素値は、６タップのFIRフィルタを用いて、次の式（２）のように生成される。
【数２】
2010016453.tif 000004
【００３７】
位置ｃにおける画素値は、水平方向および垂直方向に６タップのFIRフィルタを適用し、次の式（３）のように生成される。
【数３】
2010016453.tif 000005
なお、Clip処理は、水平方向および垂直方向の積和処理の両方を行った後、最後に１度のみ実行される。
【００３８】
位置ｅ１乃至ｅ３は、次の式（４）のように線形内挿により生成される。
【数４】
2010016453.tif 000006
【００３９】
図１に戻って、Ａ／Ｄ変換部６１は、入力された画像をＡ／Ｄ変換し、画面並べ替えバッファ６２に出力し、記憶させる。画面並べ替えバッファ６２は、記憶した表示の順番のフレームの画像を、ＧＯＰ（Group of Picture）に応じて、符号化のためのフレームの順番に並べ替える。
【００４０】
演算部６３は、画面並べ替えバッファ６２から読み出された画像から、予測画像選択部７８により選択されたイントラ予測部７４からの予測画像または動き予測・補償部７５からの予測画像を減算し、その差分情報を直交変換部６４に出力する。直交変換部６４は、演算部６３からの差分情報に対して、離散コサイン変換、カルーネン・レーベ変換等の直交変換を施し、その変換係数を出力する。量子化部６５は直交変換部６４が出力する変換係数を量子化する。
【００４１】
量子化部６５の出力となる、量子化された変換係数は、可逆符号化部６６に入力され、ここで可変長符号化、算術符号化等の可逆符号化が施され、圧縮される。
【００４２】
可逆符号化部６６は、イントラ予測に関する情報をイントラ予測部７４から取得し、インター予測やインターテンプレート予測に関する情報などを動き予測・補償部７５から取得する。可逆符号化部６６は、量子化された変換係数を符号化するとともに、イントラ予測に関する情報、インター予測やインターテンプレート予測に関する情報などを符号化し、圧縮画像におけるヘッダ情報の一部とする。可逆符号化部６６は、符号化したデータを蓄積バッファ６７に供給して蓄積させる。
【００４３】
例えば、可逆符号化部６６においては、Ｈ．２６４／ＡＶＣ方式で定められているCAVLC（Context-Adaptive Variable Length Coding）などの可変長符号化、または、CABAC（Context-Adaptive Binary Arithmetic Coding）などの算術符号化等の可逆符号化処理が行われる。ここで、CABAC 符号化方式について説明する。
【００４４】
図４は、CABAC 符号化を行う可逆符号化部６６の構成例を表している。図４の例において、可逆符号化部６６は、コンテクストモデル化部９１、２値化部９２、並びに、確率推定部９４および符号化エンジン９５からなる適応２値算術符号化部９３により構成されている。
【００４５】
コンテクストモデル化部９１は、圧縮画像における任意のシンタクス要素に関して、まず、過去の履歴に応じて、シンタクス要素のシンボル（記号）を適切なコンテクストモデルに変換する。CABAC 符号化においては、異なるシンタクス要素は、異なるコンテクストにより符号化がなされる。また、同じシンタクス要素であっても、周辺ブロックまたはマクロブロックにおける符号化情報に応じて異なるコンテクストにより符号化がなされる。
【００４６】
図５を参照して、フラグmb_skip_fragを例にとって説明するが、他のシンタクス要素に対する処理についても同様である。
【００４７】
図５の例において、これから符号化される対象マクロブロックＣと、既に符号化済みのブロックであり、対象マクロブロックＣに隣接する隣接マクロブロックＡおよびＢが示されている。それぞれのマクロブロックＸ（Ｘ＝Ａ，Ｂ，Ｃ）に対して、フラグmb_skip_fragが定義されており、次の式（５）であるとする。
【００４８】
【数５】
2010016453.tif 000007
すなわち、マクロブロックＸが、参照フレームの空間的に対応する位置の画素をそのまま用いるスキップトマクロブロックである場合、f(X)は１とされ、そうでない場合、０とされる。
【００４９】
このとき、対象マクロブロックＣに対するコンテクストContext(C)は、次の式（６）のように、左の隣接マクロブロックＡのf(A)と上の隣接マクロブロックＢのf(B)の和として算出される。
Context(C) = f(A) + f(B)                                          ・・・（６）
【００５０】
すなわち、対象マクロブロックＣに対するコンテクストContext(C)は、隣接マクロブロックＡ，Ｂのフラグmb_skip_fragに応じて、0,1,2のいずれかの値をとることになる。対象マクロブロックＣに対するフラグmb_skip_fragは、0,1,2のいずれかの符号化エンジン９５が用いられて符号化されることになる。
【００５１】
２値化部９２は、例えば、イントラ予測モードのように、シンタクス上、非２値化データである要素のシンボルを、図６に示されるテーブルに基づいて変換する。
【００５２】
図６のテーブルにおいては、コードシンボルが０の場合、０に２値化され、コードシンボルが１の場合、１０に２値化され、コードシンボルが２の場合、１１０に２値化されることが示されている。また、コードシンボルが３の場合、１１１０に２値化され、コードシンボルが４の場合、１１１１０に２値化され、コードシンボルが５の場合、１１１１１０に２値化されることが示されている。
【００５３】
ただし、マクロブロックタイプに関してはこのテーブルではなく、別途定義されたテーブルに基づいて２値化処理が行われる。
【００５４】
以上のようにして２値化されたシンタクス要素は、後段の適応２値算術符号化部９３により符号化される。
【００５５】
適応２値算術符号化部９３においては、２値化されたシンボルに対して、確率推定部９４によって確率推定がなされ、符号化エンジン９５によって確率推定に基づく適応算術符号化が施される。その際、“0”“1”の確率は、スライス先頭で初期化され、1Binの符号化が行われる毎にその確率テーブルが更新される。すなわち、適応算術符号化処理が行われた後、関連するモデルの更新が行われるため、それぞれのモデルは実際の画像圧縮情報の統計に応じた符号化処理を行うことが可能となる。
【００５６】
図１に戻って、蓄積バッファ６７は、可逆符号化部６６から供給されたデータを、Ｈ．２６４／ＡＶＣ方式で符号化された圧縮画像として、例えば、後段の図示せぬ記録装置や伝送路などに出力する。レート制御部７９は、蓄積バッファ６７に蓄積された圧縮画像に基づいて、量子化部６５の量子化動作を制御する。
【００５７】
また、量子化部６５より出力された、量子化された変換係数は、逆量子化部６８にも入力され、逆量子化された後、さらに逆直交変換部６９において逆直交変換される。逆直交変換された出力は演算部７０により予測画像選択部７８から供給される予測画像と加算されて、局部的に復号された画像となる。デブロックフィルタ７１は、復号された画像のブロック歪を除去した後、フレームメモリ７２に供給し、蓄積させる。フレームメモリ７２には、デブロックフィルタ７１によりデブロックフィルタ処理される前の画像も供給され、蓄積される。
【００５８】
スイッチ７３はフレームメモリ７２に蓄積された参照画像を動き予測・補償部７５またはイントラ予測部７４に出力する。
【００５９】
この画像符号化装置５１においては、例えば、画面並べ替えバッファ６２からのＩピクチャ、Ｂピクチャ、およびＰピクチャが、イントラ予測（イントラ処理とも称する）する画像として、イントラ予測部７４に供給される。また、画面並べ替えバッファ６２から読み出されたＢピクチャおよびＰピクチャが、インター予測（インター処理とも称する）する画像として、動き予測・補償部７７に供給される。
【００６０】
イントラ予測部７４は、画面並べ替えバッファ６２から読み出されたイントラ予測する画像とフレームメモリ７２から供給された参照画像に基づいて、候補となる全てのイントラ予測モードのイントラ予測処理を行い、予測画像を生成する。
【００６１】
その際、イントラ予測部７４は、候補となる全てのイントラ予測モードに対してコスト関数値を算出し、算出したコスト関数値が最小値を与えるイントラ予測モードを、最適イントラ予測モードとして選択する。
【００６２】
イントラ予測部７４は、最適イントラ予測モードで生成された予測画像とそのコスト関数を、予測画像選択部７８に供給する。イントラ予測部７４は、予測画像選択部７８により最適イントラ予測モードで生成された予測画像が選択された場合、最適イントラ予測モードに関する情報を、可逆符号化部６６に供給する。可逆符号化部６６は、この情報を符号化し、圧縮画像におけるヘッダ情報の一部とする。
【００６３】
動き予測・補償部７５は、候補となる全てのインター予測モードの動き予測・補償処理を行う。すなわち、動き予測・補償部７５は、画面並べ替えバッファ６２から読み出されたインター処理する画像と、スイッチ７３を介してフレームメモリ７２から供給される参照画像に基づいて、候補となる全てのインター予測モードの動きベクトルを検出し、動きベクトルに基づいて参照画像に動き予測と補償処理を施し、予測画像を生成する。
【００６４】
また、動き予測・補償部７５は、画面並べ替えバッファ６２から読み出されたインター処理される画像と、スイッチ７３を介してフレームメモリ７２から供給される参照画像を、テンプレート動き予測・補償部７６に供給する。
【００６５】
さらに、動き予測・補償部７５は、候補となる全てのインター予測モードに対してコスト関数値を算出する。動き予測・補償部７５は、算出したインター予測モードに対してのコスト関数値と、テンプレート動き予測・補償部７６により算出されたインターテンプレート予測モードに対してのコスト関数値のうち、最小値を与える予測モードを、最適インター予測モードとして決定する。
【００６６】
動き予測・補償部７５は、最適インター予測モードで生成された予測画像とそのコスト関数を、予測画像選択部７８に供給する。動き予測・補償部７５は、予測画像選択部７８により最適インター予測モードで生成された予測画像が選択された場合、最適インター予測モードに関する情報、およびその最適インター予測モードに応じた情報（動きベクトル情報、フラグ情報、参照フレーム情報など）を可逆符号化部６６に出力する。可逆符号化部６６は、動き予測・補償部７５からの情報をやはり可変長符号化、算術符号化といった可逆符号化処理し、圧縮画像のヘッダ部に挿入する。
【００６７】
テンプレート動き予測・補償部７６と小数画素精度動き予測・補償部７７は、インターテンプレート予測モードの動き予測・補償処理を行う。テンプレート動き予測・補償部７６は、インターテンプレート予測モードのうち、整数画素単位の動き予測と補償処理を行い、小数画素精度動き予測・補償部７７は、小数画素単位の動き予測と補償処理を行う。
【００６８】
すなわち、テンプレート動き予測・補償部７６は、画面並べ替えバッファ６２から読み出されたインター処理される画像と、スイッチ７３を介してフレームメモリ７２から供給される参照画像に基づいて、インターテンプレート予測モードの整数画素単位の動き予測と補償処理を行い、予測画像を生成する。
【００６９】
また、テンプレート動き予測・補償部７６は、画面並べ替えバッファ６２から読み出されたインター符号化が行われる画像と、スイッチ７３を介してフレームメモリ７２から供給される参照画像を、小数画素精度動き予測・補償部７７に供給する。
【００７０】
テンプレート動き予測・補償部７６は、インターテンプレート予測モードに対してコスト関数値を算出し、算出したコスト関数値と予測画像を、動き予測・補償部７５に供給する。インターテンプレート予測モードに応じた情報（例えば、動きベクトル情報やフラグ情報など）がある場合には、それも動き予測・補償部７５に供給される。
【００７１】
小数画素精度動き予測・補償部７７は、画面並べ替えバッファ６２から読み出されたインター処理される画像と、スイッチ７３を介してフレームメモリ７２から供給される参照画像に基づいて、インターテンプレート予測モードの小数画素単位の動き予測と補償処理を行い、予測画像を生成する。小数画素精度動き予測・補償部７７は、生成した予測画像と、動きベクトル情報またはフラグ情報などを、テンプレート動き予測・補償部７６に供給する。
【００７２】
予測画像選択部７８は、イントラ予測部７４または動き予測・補償部７５より出力された各コスト関数値に基づいて、最適イントラ予測モードと最適インター予測モードから、最適予測モードを決定し、決定された最適予測モードの予測画像を選択し、演算部６３，７０に供給する。このとき、予測画像選択部７８は、予測画像の選択情報を、イントラ予測部７４または動き予測・補償部７５に供給する。
【００７３】
レート制御部７９は、蓄積バッファ６７に蓄積された圧縮画像に基づいて、オーバーフローあるいはアンダーフローが発生しないように、量子化部６５の量子化動作のレートを制御する。
【００７４】
次に、図７のフローチャートを参照して、図１の画像符号化装置５１の符号化処理について説明する。
【００７５】
ステップＳ１１において、Ａ／Ｄ変換部６１は入力された画像をＡ／Ｄ変換する。ステップＳ１２において、画面並べ替えバッファ６２は、Ａ／Ｄ変換部６１より供給された画像を記憶し、各ピクチャの表示する順番から符号化する順番への並べ替えを行う。
【００７６】
ステップＳ１３において、演算部６３は、ステップＳ１２で並び替えられた画像と予測画像との差分を演算する。予測画像は、インター予測する場合は動き予測・補償部７５から、イントラ予測する場合はイントラ予測部７４から、それぞれ予測画像選択部７８を介して演算部６３に供給される。
【００７７】
差分データは元の画像データに較べてデータ量が小さくなっている。したがって、画像をそのまま符号化する場合に較べて、データ量を圧縮することができる。
【００７８】
ステップＳ１４において、直交変換部６４は演算部６３から供給された差分情報を直交変換する。具体的には、離散コサイン変換、カルーネン・レーベ変換等の直交変換が行われ、変換係数が出力される。ステップＳ１５において、量子化部６５は変換係数を量子化する。この量子化に際しては、後述するステップＳ２５の処理で説明されるように、レートが制御される。
【００７９】
以上のようにして量子化された差分情報は、次のようにして局部的に復号される。すなわち、ステップＳ１６において、逆量子化部６８は量子化部６５により量子化された変換係数を量子化部６５の特性に対応する特性で逆量子化する。ステップＳ１７において、逆直交変換部６９は逆量子化部６８により逆量子化された変換係数を直交変換部６４の特性に対応する特性で逆直交変換する。
【００８０】
ステップＳ１８において、演算部７０は、予測画像選択部７８を介して入力される予測画像を局部的に復号された差分情報に加算し、局部的に復号された画像（演算部６３への入力に対応する画像）を生成する。ステップＳ１９においてデブロックフィルタ７１は、演算部７０より出力された画像をフィルタリングする。これによりブロック歪みが除去される。ステップＳ２０においてフレームメモリ７２は、フィルタリングされた画像を記憶する。なお、フレームメモリ７２にはデブロックフィルタ７１によりフィルタ処理されていない画像も演算部７０から供給され、記憶される。
【００８１】
ステップＳ２１において、イントラ予測部７４、動き予測・補償部７５、テンプレート動き予測・補償部７６、および小数画素精度動き予測・補償部７７は、それぞれ画像の予測処理を行う。すなわち、ステップＳ２１において、イントラ予測部７４は、イントラ予測モードのイントラ予測処理を行い、動き予測・補償部７５は、インター予測モードの動き予測・補償処理を行う。また、テンプレート動き予測・補償部７６および小数画素精度動き予測・補償部７７は、インターテンプレート予測モードの動き予測・補償処理を行う。
【００８２】
ステップＳ２１における予測処理の詳細は、図８を参照して後述するが、この処理により、候補となる全ての予測モードでの予測処理がそれぞれ行われ、候補となる全ての予測モードでのコスト関数がそれぞれ算出される。そして、算出されたコスト関数値に基づいて、最適イントラ予測モードが選択され、最適イントラ予測モードのイントラ予測により生成された予測画像とそのコスト関数が予測画像選択部７８に供給される。また、算出されたコスト関数に基づいて、インター予測モードとインターテンプレート予測モードの中から、最適インター予測モードが決定され、最適インター予測モードで生成された予測画像とそのコスト関数が、予測画像選択部７８に供給される。
【００８３】
ステップＳ２２において、予測画像選択部７８は、イントラ予測部７４および動き予測・補償部７５より出力された各コスト関数値に基づいて、最適イントラ予測モードと最適インター予測モードのうちの一方を、最適予測モードに決定し、決定された最適予測モードの予測画像を選択し、演算部６３，７０に供給する。この予測画像が、上述したように、ステップＳ１３，Ｓ１８の演算に利用される。
【００８４】
なお、この予測画像の選択情報は、イントラ予測部７４または動き予測・補償部７５に供給される。最適イントラ予測モードの予測画像が選択された場合、イントラ予測部７４は、最適イントラ予測モードに関する情報（すなわち、イントラ予測モード情報）を、可逆符号化部６６に供給する。
【００８５】
最適インター予測モードの予測画像が選択された場合、動き予測・補償部７５は、最適インター予測モードに関する情報、およびその最適インター予測モードに応じた情報（動きベクトル情報やフラグ情報、参照フレーム情報など）を可逆符号化部６６に出力する。さらに具体的には、最適インター予測モードとして、インター予測モードによる予測画像が選択されているときには、動き予測・補償部７５は、インター予測モード情報、動きベクトル情報、参照フレーム情報を可逆符号化部６６に出力する。
【００８６】
一方、最適インター予測モードとして、インターテンプレート予測モードによる予測画像が選択されているときには、動き予測・補償部７５は、インターテンプレート予測モード情報、動きベクトル情報、小数画素単位の動きベクトル情報を可逆符号化部６６に出力する。なお、その際、対象ブロックがテンプレートスキップであると判定されているときには、小数画素単位の動きベクトル情報の代わりに、図１７を参照して後述するテンプレートマッチングスキップであることを表すフラグ情報（TM_skip_frag＝１）が出力される。
【００８７】
ステップＳ２３において、可逆符号化部６６は量子化部６５より出力された量子化された変換係数を符号化する。すなわち、差分画像が可変長符号化、算術符号化等の可逆符号化され、圧縮される。このとき、上述したステップＳ２２において可逆符号化部６６に入力された、イントラ予測部７４からのイントラ予測モード情報、または、動き予測・補償部７５からの最適インター予測モードに応じた情報（予測モード情報、動きベクトル情報や参照フレーム情報など）なども符号化され、ヘッダ情報に付加される。
【００８８】
なお、動き予測・補償部７５からテンプレートマッチングスキップであることを表すフラグ情報が出力された場合には、フラグ情報のみが符号化される。すなわち、変換係数も符号化されない。
【００８９】
ここで、可逆符号化部６６において、可逆符号化方式が、図４を参照して上述したCABACに基づく場合、インターテンプレート予測モードの対象ブロックにおけるコンテクストを、インター予測モードおよびイントラ予測モードに対して定義されたコンテクストとは別に定義することもできるし、インター予測モードおよびイントラ予測モードと同じコンテクストを用いることもできる。
【００９０】
さらに、整数画素精度動きベクトル情報用と、小数画素精度動きベクトル情報用に別々のコンテクストを定義し、それを用いて符号化することもできる。
【００９１】
すなわち、この場合、インター予測モードの予測処理で求められた動きベクトルのうち、整数画素精度の動きベクトル情報は、整数画素精度動きベクトル情報用のコンテクストで符号化される。一方、インター予測モードの予測処理で求められた動きベクトルのうち、小数画素精度の動きベクトル情報と、インターテンプレート予測モードの予測処理で探索された小数画素精度の動きベクトル情報は、小数画素精度動きベクトル情報用のコンテクストで符号化される。
【００９２】
ステップＳ２４において蓄積バッファ６７は差分画像を圧縮画像として蓄積する。蓄積バッファ６７に蓄積された圧縮画像が適宜読み出され、伝送路を介して復号側に伝送される。
【００９３】
ステップＳ２５においてレート制御部７９は、蓄積バッファ６７に蓄積された圧縮画像に基づいて、オーバーフローあるいはアンダーフローが発生しないように、量子化部６５の量子化動作のレートを制御する。
【００９４】
次に、図８のフローチャートを参照して、図７のステップＳ２１における予測処理を説明する。
【００９５】
画面並べ替えバッファ６２から供給される処理対象の画像がイントラ処理されるブロックの画像である場合、参照される復号済みの画像がフレームメモリ７２から読み出され、スイッチ７３を介してイントラ予測部７４に供給される。これらの画像に基づいて、ステップＳ３１において、イントラ予測部７４は処理対象のブロックの画素を、候補となる全てのイントラ予測モードでイントラ予測する。なお、参照される復号済みの画素としては、デブロックフィルタ７１によりデブロックフィルタリングされていない画素が用いられる。
【００９６】
ステップＳ３１におけるイントラ予測処理の詳細は、図９を参照して後述するが、この処理により、候補となる全てのイントラ予測モードでイントラ予測が行われ、候補となる全てのイントラ予測モードに対してコスト関数値が算出される。そして、算出されたコスト関数値に基づいて、最適イントラ予測モードが選択され、最適イントラ予測モードのイントラ予測により生成された予測画像とそのコスト関数が予測画像選択部７８に供給される。
【００９７】
画面並べ替えバッファ６２から供給される処理対象の画像がインター処理される画像である場合、参照される画像がフレームメモリ７２から読み出され、スイッチ７３を介して動き予測・補償部７５に供給される。これらの画像に基づいて、ステップＳ３２において、動き予測・補償部７５はインター動き予測処理を行う。すなわち、動き予測・補償部７５は、フレームメモリ７２から供給される画像を参照して、候補となる全てのインター予測モードの動き予測処理を行う。
【００９８】
ステップＳ３２におけるインター動き予測処理の詳細は、図１２を参照して後述するが、この処理により、候補となる全てのインター予測モードで動き予測処理が行われ、候補となる全てのインター予測モードに対してコスト関数値が算出される。
【００９９】
また、画面並べ替えバッファ６２から供給される処理対象の画像がインター処理される画像である場合、参照される画像がフレームメモリ７２から読み出され、スイッチ７３および動き予測・補償部７５を介してテンプレート動き予測・補償部７６にも供給される。これらの画像に基づいて、テンプレート動き予測・補償部７６および小数画素精度動き予測・補償部７７は、ステップＳ３３において、インターテンプレート予測モードで、インターテンプレート動き予測処理を行う。
【０１００】
ステップＳ３３におけるインターテンプレート動き予測処理の詳細は、図１５を参照して後述するが、この処理により、インターテンプレート予測モードで動き予測処理が行われ、インターテンプレート予測モードに対してコスト関数値が算出される。そして、インターテンプレート予測モードの動き予測処理により生成された予測画像とそのコスト関数が動き予測・補償部７５に供給される。なお、インターテンプレート予測モードに応じた情報（例えば、動きベクトル情報や、フラグ情報など）がある場合には、それも動き予測・補償部７５に供給される。
【０１０１】
ステップＳ３４において、動き予測・補償部７５は、ステップＳ３２において算出されたインター予測モードに対してコスト関数値と、ステップＳ３３において算出されたインターテンプレート予測モードに対してのコスト関数値を比較し、最小値を与える予測モードを、最適インター予測モードとして決定する。そして、動き予測・補償部７５は、最適インター予測モードで生成された予測画像とそのコスト関数を、予測画像選択部７８に供給する。
【０１０２】
次に、図９のフローチャートを参照して、図８のステップＳ３１におけるイントラ予測処理を説明する。なお、図９の例においては、輝度信号の場合を例として説明する。
【０１０３】
イントラ予測部７４は、ステップＳ４１において、４×４画素、８×８画素、および１６×１６画素の各イントラ予測モードに対してイントラ予測を行う。
【０１０４】
輝度信号のイントラ予測モードには、９種類の４×４画素および８×８画素のブロック単位、並びに４種類の１６×１６画素のマクロブロック単位の予測モードがあり、色差信号のイントラ予測モードには、４種類の８×８画素のブロック単位の予測モードがある。色差信号のイントラ予測モードは、輝度信号のイントラ予測モードと独立に設定が可能である。輝度信号の４×４画素および８×８画素のイントラ予測モードについては、４×４画素および８×８画素の輝度信号のブロック毎に１つのイントラ予測モードが定義される。輝度信号の１６×１６画素のイントラ予測モードと色差信号のイントラ予測モードについては、１つのマクロブロックに対して１つの予測モードが定義される。
【０１０５】
予測モードの種類は、図１０の番号０，１，３乃至８で示される方向に対応している。予測モード２は平均値予測である。
【０１０６】
例えば、イントラ４×４予測モードの場合について、図１１を参照して説明する。画面並べ替えバッファ６２から読み出された処理対象の画像（例えば、画素ａ乃至ｐ）がイントラ処理されるブロックの画像である場合、参照される復号済みの画像（画素Ａ乃至Ｍ）がフレームメモリ７２から読み出され、スイッチ７３を介してイントラ予測部７４に供給される。
【０１０７】
これらの画像に基づいて、イントラ予測部７４は、処理対象のブロックの画素をイントラ予測する。このイントラ予測処理が、各イントラ予測モードで行われることで、各イントラ予測モードでの予測画像が生成される。なお、参照される復号済みの画素（画素Ａ乃至Ｍ）としては、デブロックフィルタ７１によりデブロックフィルタリングされていない画素が用いられる。
【０１０８】
イントラ予測部７４は、ステップＳ４２において、４×４画素、８×８画素、および１６×１６画素の各イントラ予測モードに対するコスト関数値を算出する。ここで、コスト関数値としては、Ｈ．２６４／ＡＶＣ方式における参照ソフトウエアであるＪＭ(Joint Model)で定められているように、High Complexity モードか、Low Complexity モードのいずれかの手法に基づいて行う。 
【０１０９】
すなわち、High Complexity モードにおいては、ステップＳ４１の処理として、候補となる全ての予測モードに対して、仮に符号化処理までを行い、次の式（７）で表わされるコスト関数を各予測モードに対して算出し、その最小値を与える予測モードを最適予測モードであるとして選択する。
【０１１０】
Cost(Mode) = D + λ・R                                            ・・・（７）
Dは、原画像と復号画像の差分（歪）、Rは、直交変換係数まで含んだ発生符号量、λは、量子化パラメータQPの関数として与えられるラグランジュ乗数である。
【０１１１】
一方、Low Complexity モードにおいては、ステップＳ４１の処理として、候補となる全ての予測モードに対して、予測画像の生成、および、動きベクトル情報や予測モード情報、フラグ情報などのヘッダビットまでを算出し、次の式（８）で表わされるコスト関数を各予測モードに対して算出し、その最小値を与える予測モードを最適予測モードであるとして選択する。
【０１１２】
Cost(Mode) = D + QPtoQuant(QP)・Header_Bit                        ・・・（８）
Dは、原画像と復号画像の差分（歪）、Header_Bitは、予測モードに対するヘッダビット、QPtoQuantは、量子化パラメータQPの関数として与えられる関数である。
【０１１３】
Low Complexity モードにおいては、全ての予測モードに対して、予測画像を生成するのみで、符号化処理および復号処理を行う必要がないため、演算量が少なくて済む。
【０１１４】
イントラ予測部７４は、ステップＳ４３において、４×４画素、８×８画素、および１６×１６画素の各イントラ予測モードに対して、それぞれ最適モードを決定する。すなわち、図１０を参照して上述したように、イントラ４×４予測モードおよびイントラ８×８予測モードの場合には、予測モードの種類が９種類あり、イントラ１６×１６予測モードの場合には、予測モードの種類が４種類ある。したがって、イントラ予測部７４は、ステップＳ４２において算出されたコスト関数に基づいて、それらの中から、最適イントラ４×４予測モード、最適イントラ８×８予測モード、最適イントラ１６×１６予測モードを決定する。
【０１１５】
イントラ予測部７４は、ステップＳ４４において、４×４画素、８×８画素、および１６×１６画素の各イントラ予測モードに対して決定された各最適モードの中から、ステップＳ４２において算出されたコスト関数に基づいて、最適イントラ予測モードを選択する。すなわち、４×４画素、８×８画素、および１６×１６画素に対して決定された各最適モードの中から、コスト関数が最小値であるモードを、最適イントラ予測モードとして選択する。そして、イントラ予測部７４は、最適イントラ予測モードで生成された予測画像とそのコスト関数とを、予測画像選択部７８に供給する。
【０１１６】
次に、図１２のフローチャートを参照して、図８のステップＳ３２のインター動き予測処理について説明する。
【０１１７】
動き予測・補償部７５は、ステップＳ５１において、図２を参照して上述した１６×１６画素乃至４×４画素からなる８種類の各インター予測モードに対して動きベクトルと参照画像をそれぞれ決定する。すなわち、各インター予測モードの処理対象のブロックについて、動きベクトルと参照画像がそれぞれ決定される。
【０１１８】
動き予測・補償部７５は、ステップＳ５２において、１６×１６画素乃至４×４画素からなる８種類の各インター予測モードについて、ステップＳ５１で決定された動きベクトルに基づいて、参照画像に動き予測と補償処理を行う。この動き予測と補償処理により、各インター予測モードでの予測画像が生成される。
【０１１９】
動き予測・補償部７５は、ステップＳ５３において、１６×１６画素乃至４×４画素からなる８種類の各インター予測モードに対して決定された動きベクトルについて、圧縮画像に付加するための動きベクトル情報を生成する。
【０１２０】
ここで、図１３を参照して、Ｈ．２６４／ＡＶＣ方式による動きベクトル情報の生成方法について説明する。図１３の例において、これから符号化される対象ブロックＥ（例えば、１６×１６画素）と、既に符号化済みであり、対象ブロックＥに隣接するブロックＡ乃至Ｄが示されている。
【０１２１】
すなわち、ブロックＤは、対象ブロックＥの左上に隣接しており、ブロックＢは、対象ブロックＥの上に隣接しており、ブロックＣは、対象ブロックＥの右上に隣接しており、ブロックＡは、対象ブロックＥの左に隣接している。なお、ブロックＡ乃至Ｄが区切られていないのは、それぞれ、図２で上述した１６×１６画素乃至４×４画素のうちのいずれかの構成のブロックであることを表している。
【０１２２】
例えば、Ｘ（＝Ａ，Ｂ，Ｃ，Ｄ，Ｅ）に対する動きベクトル情報を、mvXで表す。まず、対象ブロックＥに対する予測動きベクトル情報pmvEは、ブロックＡ，Ｂ，Ｃに関する動きベクトル情報を用いて、メディアン予測により次の式（９）のように生成される。
【０１２３】
pmvE = med(mvA,mvB,mvC)                                          ・・・（９）
ブロックＣに関する動きベクトル情報が、画枠の端であったり、あるいは、まだ符号化されていないなどの理由により、利用可能でない（unavailableである）場合には、ブロックＣに関する動きベクトル情報は、ブロックＤに関する動きベクトル情報で代用される。
【０１２４】
対象ブロックＥに対する動きベクトル情報として、圧縮画像のヘッダ部に付加されるデータmvdEは、pmvEを用いて、次の式（１０）のように生成される。
mvdE = mvE - pmvE                                              ・・・（１０）
【０１２５】
なお、実際には、動きベクトル情報の水平方向、垂直方向のそれぞれの成分に対して、独立に処理が行われる。
【０１２６】
このように、予測動きベクトル情報を生成し、隣接するブロックとの相関で生成された予測動きベクトル情報と動きベクトル情報との差分を、圧縮画像のヘッダ部に付加することにより、動きベクトル情報を低減することができる。
【０１２７】
以上のようにして生成された動きベクトル情報は、次のステップＳ５４におけるコスト関数算出の際にも用いられ、最終的に予測画像選択部７８により対応する予測画像が選択された場合には、予測モード情報および参照フレーム情報とともに、可逆符号化部６６へ出力される。
【０１２８】
また、予測動きベクトル情報の他の生成方法について、図１４を参照して説明する。図１４の例においては、符号化対象の対象フレームであるフレームＮと、動きベクトルを探索する際に参照される参照フレームであるフレームＮ−１が示されている。
【０１２９】
フレームＮにおいて、これから符号化される対象ブロックには、対象ブロックに対する動きベクトル情報mv、既に符号化済みであり、対象ブロックに隣接する各ブロックには、各ブロックに対する動きベクトル情報mva，mvb，mvc，mvdがそれぞれ示されている。
【０１３０】
具体的には、対象ブロックの左上に隣接するブロックには、そのブロックに対する動きベクトル情報mvd、対象ブロックの上に隣接するブロックには、そのブロックに対する動きベクトル情報mvbが示されている。対象ブロックの右上に隣接するブロックには、そのブロックに対する動きベクトル情報mvc、対象ブロックの左に隣接するブロックには、そのブロックに対する動きベクトル情報mvaが示されている。
【０１３１】
フレームＮ−１において、対象ブロックの対応ブロック（co-located block）には、対応ブロックに対する動きベクトル情報mvcolが示されている。ここで、対応ブロックとは、対象フレームとは異なる、符号化済みのフレーム（前または後に位置するフレーム）のブロックであって、対象ブロックに対応する位置のブロックである。
【０１３２】
また、フレームＮ−１において、対応ブロックに隣接する各ブロックには、各ブロックに対する動きベクトル情報mvt4，mvt0，mvt7，mvt1，mvt3，mvt5，mvt2，mvt6がそれぞれ示されている。
【０１３３】
具体的には、対応ブロックの左上に隣接するブロックには、そのブロックに対する動きベクトル情報mvt4、対応ブロックの上に隣接するブロックには、そのブロックに対する動きベクトル情報mvt0が示されている。対応ブロックの右上に隣接するブロックには、そのブロックに対する動きベクトル情報mvt7、対応ブロックの左に隣接するブロックには、そのブロックに対する動きベクトル情報mvt1が示されている。対応ブロックの右に隣接するブロックには、そのブロックに対する動きベクトル情報mvt3、対応ブロックの左下に隣接するブロックには、そのブロックに対する動きベクトル情報mvt5が示されている。対応ブロックの下に隣接するブロックには、そのブロックに対する動きベクトル情報mvt2、対応ブロックの右下に隣接するブロックには、そのブロックに対する動きベクトル情報mvt6が示されている。
【０１３４】
上述した式（９）の予測動きベクトル情報pmvは、対象ブロックに隣接するブロックの動きベクトル情報で生成されたが、次の式（１１）に示すようにして予測動きベクトル情報pmvtm5，pmvtm9，pmvcolを生成することもできる。
【０１３５】
pmvtm5 = med(mvcol, mvt0,…，mvt3)
pmvtm9 = med(mvcol, mvt0,…，mvt7)
pmvcol = med(mvcol, mvcol, mva, mvb，mvc)                            （１１）
式（９）および式（１１）のうち、どの予測動きベクトル情報を用いるかは、R-D最適化により選択される。ここで、Rは、直交変換係数まで含んだ発生符号量であり、Dは、原画像と復号画像の差分（歪）である。すなわち、最も発生符号量と原画像と復号画像の差分が最適になる予測動きベクトル情報が選択される。
【０１３６】
このように、複数の予測動きベクトル情報を生成し、その中で最適なものを選択する方式を、以下、MV Competition方式とも称する。
【０１３７】
図１２に戻って、動き予測・補償部７５は、ステップＳ５４において、１６×１６画素乃至４×４画素からなる８種類の各インター予測モードに対して、上述した式（７）または式（８）で示されるコスト関数値を算出する。ここで算出されたコスト関数値は、上述した図８のステップＳ３４で最適インター予測モードを決定する際に用いられる。
【０１３８】
次に、図１５のフローチャートを参照して、図８のステップＳ３３のインターテンプレート動き予測処理について説明する。
【０１３９】
テンプレート動き予測・補償部７６は、ステップＳ７１において、インターテンプレート予測モードの整数画素単位の動き予測、補償処理を行う。すなわち、テンプレート動き予測・補償部７６は、インターテンプレートマッチング方式に基づいて整数画素単位の動きベクトルを探索し、その動きベクトルに基づいて参照画像に動き予測と補償処理を施し、予測画像を生成する。
【０１４０】
ここで、インターテンプレートマッチング方式について、図１６を参照して具体的に説明する。
【０１４１】
図１６の例においては、符号化対象の対象フレームと、動きベクトルを探索する際に参照される参照フレームが示されている。対象フレームには、これから符号化されようとしている対象ブロックＡと、対象ブロックＡに対して隣接するとともに、すでに符号化済みの画素で構成されるテンプレート領域Ｂが示されている。すなわち、テンプレート領域Ｂは、符号化処理をラスタスキャン順に行う場合には、図１６に示されるように、対象ブロックＡの左および上側に位置する領域であり、フレームメモリ７２に復号画像が蓄積されている領域である。
【０１４２】
テンプレート動き予測・補償部７６は、参照フレーム上の所定の探索範囲Ｅ内において、例えば、SAD(Sum of Absolute Difference) 等をコスト関数としてテンプレートマッチング処理を行い、テンプレート領域Ｂの画素値と相関が最も高くなる領域Ｂ’を探索する。そして、テンプレート動き予測・補償部７６は、探索された領域Ｂ’に対応するブロックＡ’を、対象ブロックＡに対する予測画像として、対象ブロックＡに対する動きベクトルＰを探索する。
【０１４３】
このように、インターテンプレートマッチング方式による動きベクトル探索処理は、テンプレートマッチング処理に復号画像を用いているので、所定の探索範囲Ｅを予め定めておくことにより、図１の画像符号化装置５１と後述する図１８の画像復号装置１０１において同一の処理を行うことが可能である。すなわち、画像復号装置１０１においても、テンプレート動き予測・補償部１２３を構成することにより、対象ブロックＡに対する動きベクトルＰの情報を画像復号装置１０１に送る必要がなくなるので、圧縮画像中における動きベクトル情報を低減することができる。
【０１４４】
なお、インターテンプレート予測モードにおけるブロックおよびテンプレートのサイズは任意である。すなわち、動き予測・補償部７５と同様に、図２で上述した１６×１６画素乃至４×４画素からなる８種類のブロックサイズから、１つのブロックサイズを固定して行うこともできるし、すべてのブロックサイズを候補として行うこともできる。ブロックサイズに応じて、テンプレートサイズは、可変としてもよいし、固定することもできる。
【０１４５】
テンプレート動き予測・補償部７６は、ステップＳ７２において、小数画素精度動き予測・補償部７７に、インターテンプレート予測モードの小数画素単位の動き予測、補償処理を行わせる。
【０１４６】
図３を参照して上述したように、Ｈ．２６４／ＡＶＣ方式においては、１／４画素精度までの予測・補償処理を行うことができる。しかしながら、小数画素精度についても、インターテンプレートマッチング方式に基づく動きベクトル探索処理を行うと、その探索に、対象ブロックＡ（図１６）の画素値を用いていない、探索範囲Ｅが定められているなどの理由により、予測性能（残差）が低下してしまい、その結果、動きベクトルを持つ必要がないにも関わらず、符号化効率の低下を招いてしまう恐れがある。
【０１４７】
そこで、インターテンプレート予測モードにおいては、小数画素単位の動き予測、補償処理が、インターテンプレートマッチング方式ではなく、ブロックマッチングなどの方式に基づいて行われる。
【０１４８】
すなわち、小数画素精度動き予測・補償部７７は、ステップＳ７２において、小数画素単位の動きベクトルを、ブロックマッチングなどの方式に基づいて探索し、その動きベクトルに基づいて参照画像に動き予測と補償処理を施し、予測画像を生成する。その際、小数画素単位の動きベクトル情報を圧縮画像のヘッダ部に付加する必要があるので、小数画素精度動き予測・補償部７７は、ステップＳ７３において、小数画素単位の動きベクトルについて、動きベクトル情報を生成する。
【０１４９】
小数画素単位の動きベクトル情報の生成方法について、再び、図１３を参照して説明する。これからテンプレートマッチング方式に基づく動き予測・補償処理が行われる対象ブロックＥと、既に符号化済みであり、対象ブロックＥに隣接するブロックＡ乃至Ｄが示されている。ブロックＥに関しては、ブロックＥが有する動きベクトル情報mvEのうちの小数画素単位の動きベクトル情報mv_subEのみ符号化されればよい。
【０１５０】
このとき、ブロックＡ乃至Ｄは、テンプレートマッチング方式に基づく動き予測・補償処理が行われたブロックとは限らないが、インター処理されるブロックである限り、動きベクトルmvX(X=A乃至D)を有する。それぞれの小数画素単位の動きベクトル情報を、mv_subX(X=A乃至D)とする。
【０１５１】
なお、ブロックＡ乃至Ｄのいずれかがイントラ処理されるブロックである場合、そのブロックは動きベクトル情報を有さないので、その取り扱いは、Ｈ．２６４／ＡＶＣ方式に準ずる。すなわち、ブロックＸがイントラ処理されるブロックであるなら、次の式（１２）とする。
【０１５２】
mvX = 0                                                          （１２）
【０１５３】
対象ブロックＥの小数画素単位の動きベクトル情報mv_subEの予測動きベクトル情報pmv_subEを、メディアン予測に基づき、次の式（１３）のように生成する。
pmv_sub E = med(mv_sub A,mv_sub B,mv_sub C)                    ・・・（１３）
【０１５４】
なお、実際には、動きベクトル情報の水平方向、垂直方向のそれぞれの成分に対して、独立に処理が行われる。また、ブロックＣに関する動きベクトル情報が、画枠の端であったり、あるいは、まだ符号化されていないなどの理由により、利用可能でない（unavailableである）場合には、ブロックＣに関する動きベクトル情報は、ブロックＤに関する動きベクトル情報で代用される。
【０１５５】
対象ブロックＥの小数画素単位の動きベクトル情報として、圧縮画像のヘッダに付加されるデータmvd_sub Eは、pmv_sub Eを用いて、次の式（１４）のように生成される。
mvd_sub E = mv_sub E - pmv_sub E                                ・・・（１４）
【０１５６】
以上のようにして生成された動きベクトル情報は、生成した予測画像などとともに、テンプレート動き予測・補償部７６に供給される。そして、この動きベクトル情報は、後述するステップＳ７５のコスト関数算出の際にも用いられ、最終的に予測画像選択部７８によりインターテンプレート予測モードにより生成された予測画像が選択された場合には、予測モード情報とともに、可逆符号化部６６へ出力される。
【０１５７】
なお、小数画素単位の動きベクトル情報についても、図１４を参照して上述したMV Competition方式に基づいて、複数の予測動きベクトル情報を生成し、その中で最適なものを選択して、mvd_sub Eを生成することもできる。
【０１５８】
図１５に戻って、ステップＳ７４において、小数画素精度動き予測・補償部７７は、テンプレートスキップ判定処理を行う。このテンプレートスキップ判定処理の詳細は、図１７を参照して後述するが、この処理により、対象ブロックがテンプレートスキップであると判定された場合、それを表す１ビットのフラグTM_skip_fragが１に設定される。
【０１５９】
ステップＳ７５において、テンプレート動き予測・補償部７６は、インターテンプレート予測モードに対して、上述した式（７）または式（８）で示されるコスト関数を算出する。ここで算出されたコスト関数値は、上述した図８のステップＳ３４で最適インター予測モードを決定する際に用いられる。
【０１６０】
次に、図１７のフローチャートを参照して、図１５のステップＳ７４のテンプレートスキップ判定処理を説明する。
【０１６１】
小数画素精度動き予測・補償部７７は、ステップＳ９１において、対象ブロックのブロックサイズが１６×１６画素であるか否かを判定する。ステップＳ９１において、ブロックサイズが１６×１６画素であると判定された場合、小数画素精度動き予測・補償部７７は、ステップＳ９２において、図１５のステップＳ７３で生成された動きベクトル情報mvd_sub Eが０であるか否かを判定する。
【０１６２】
ステップＳ９２において、mvd_sub Eが０であると判定された場合、小数画素精度動き予測・補償部７７は、ステップＳ９３において、直交変換係数が全て０であるか否かを判定する。ステップＳ９３において、直交変換係数が全て０であると判定された場合、小数画素精度動き予測・補償部７７は、ステップＳ９４において、対象ブロックをテンプレートマッチングスキップであるとして、これを表す１ビットのフラグTM_skip_frag＝１を設定する。
【０１６３】
このフラグは、図１５のステップＳ７５におけるコスト関数算出の際にも用いられ、最終的に予測画像選択部７８により対応する予測画像が選択されたときには、TM_skip_frag＝１の場合、TM_skip_frag＝１のみが可逆符号化部６６へ出力される。
【０１６４】
すなわち、この場合、対象ブロックが、参照フレームの空間的に対応する位置の画素を利用して動きベクトル情報を求めるブロックであるので、動きベクトル情報を符号化する必要はなく、TM_skip_frag＝１だけ符号化されればよいので、更なる符号化効率の改善が望める。
【０１６５】
一方、ステップＳ９１において、ブロックサイズが１６×１６画素ではないと判定された場合、ステップＳ９２において、mvd_sub Eが０ではないと判定された場合、または、ステップＳ９３において、直交変換係数が全て０ではないと判定された場合、小数画素精度動き予測・補償部７７は、ステップＳ９５において、対象ブロックをテンプレートマッチングスキップではないとして、これを表す１ビットのフラグTM_skip_frag＝０を設定する。
【０１６６】
TM_skip_frag＝０の場合、最終的に予測画像選択部７８により対応する予測画像が選択されたときには、動きベクトル情報mvd_sub Eが可逆符号化部６６に出力され、直交変換係数も動きベクトル情報mvd_sub Eも符号化される。
【０１６７】
なお、説明の便宜上、小数画素精度動き予測・補償部７７がテンプレートスキップ判定処理を行う例を説明したが、実際には、最終的に予測画像選択部７８によりインターテンプレート予測モードでの動き予測・補償処理で予測された予測画像が選択されて、その予測画像の差分が演算され、直交変換され、量子化された後の係数が０であった場合において、さらに、動きベクトル情報mvd_sub Eが０であると判定されたときに、TM_skip_frag＝１が設定される。
【０１６８】
以上のように、インターテンプレート予測モードでの動き予測・補償処理を行う際に、処理対象となるブロックの整数画素単位については、テンプレートマッチング方式に基づいて動き予測、補償処理を行い、処理対象となるブロックの小数画素単位については、ブロックマッチング方式などに基づく動き予測・補償処理を行い、検索された動きベクトル情報を画像復号装置１０１に送信するようにしたので、予測性能（残差）の低下を抑制することができる。これにより、符号化精度の低減を抑制することができる。
【０１６９】
また、その際、小数画素単位の動きベクトル情報と、予測動きベクトル情報との差分を求めて、それを符号化するようにしたので、さらに、符号化精度の低減を抑制することができる。
【０１７０】
さらに、ブロックサイズが１６×１６画素であり、mvd_sub Eが０であり、直交変換係数が全て０である場合、テンプレートマッチングスキップであることを表す１ビットのフラグTM_skip_frag＝１のみを符号化するようにしたので、更なる符号化効率の改善が望める。
【０１７１】
符号化された圧縮画像は、所定の伝送路を介して伝送され、画像復号装置により復号される。図１８は、このような画像復号装置の一実施の形態の構成を表している。
【０１７２】
画像復号装置１０１は、蓄積バッファ１１１、可逆復号部１１２、逆量子化部１１３、逆直交変換部１１４、演算部１１５、デブロックフィルタ１１６、画面並べ替えバッファ１１７、Ｄ／Ａ変換部１１８、フレームメモリ１１９、スイッチ１２０、イントラ予測部１２１、動き予測・補償部１２２、テンプレート動き予測・補償部１２３、小数画素精度動き予測・補償部１２４、およびスイッチ１２５により構成されている。
【０１７３】
蓄積バッファ１１１は伝送されてきた圧縮画像を蓄積する。可逆復号部１１２は、蓄積バッファ１１１より供給された、図１の可逆符号化部６６により符号化された情報を、可逆符号化部６６の符号化方式に対応する方式で復号する。逆量子化部１１３は可逆復号部１１２により復号された画像を、図１の量子化部６５の量子化方式に対応する方式で逆量子化する。逆直交変換部１１４は、図１の直交変換部６４の直交変換方式に対応する方式で逆量子化部１１３の出力を逆直交変換する。
【０１７４】
逆直交変換された出力は演算部１１５によりスイッチ１２５から供給される予測画像と加算されて復号される。デブロックフィルタ１１６は、復号された画像のブロック歪を除去した後、フレームメモリ１１９に供給し、蓄積させるとともに、画面並べ替えバッファ１１７に出力する。
【０１７５】
画面並べ替えバッファ１１７は、画像の並べ替えを行う。すなわち、図１の画面並べ替えバッファ６２により符号化の順番のために並べ替えられたフレームの順番が、元の表示の順番に並べ替えられる。Ｄ／Ａ変換部１１８は、画面並べ替えバッファ１１７から供給された画像をＤ／Ａ変換し、図示せぬディスプレイに出力し、表示させる。
【０１７６】
スイッチ１２０は、インター処理される画像と参照される画像をフレームメモリ１１９から読み出し、動き予測・補償部１２２に出力するとともに、イントラ予測に用いられる画像をフレームメモリ１１９から読み出し、イントラ予測部１２１に供給する。
【０１７７】
イントラ予測部１２１には、ヘッダ情報を復号して得られたイントラ予測モードに関する情報が可逆復号部１１２から供給される。イントラ予測部１２１は、この情報に基づいて、予測画像を生成し、生成した予測画像を、スイッチ１２５に出力する。
【０１７８】
動き予測・補償部１２２には、ヘッダ情報を復号して得られた情報（予測モード情報、動きベクトル情報、参照フレーム情報）が可逆復号部１１２から供給される。インター予測モードである情報が供給された場合、動き予測・補償部１２２は、動きベクトル情報と参照フレーム情報に基づいて画像に動き予測と補償処理を施し、予測画像を生成する。インターテンプレート予測モードである情報が供給された場合、動き予測・補償部１２２は、フレームメモリ１１９から読み出されたインター処理される画像と参照される画像をテンプレート動き予測・補償部１２３に供給し、インターテンプレート予測モードでの動き予測・補償処理を行わせる。
【０１７９】
また、動き予測・補償部１２２は、予測モード情報に応じて、インター予測モードにより生成された予測画像、または、インターテンプレート予測モードにより生成された予測画像のどちらか一方をスイッチ１２５に出力する。
【０１８０】
テンプレート動き予測・補償部１２３と小数画素精度動き予測・補償部１２４は、インターテンプレート予測モードの動き予測・補償処理を行う。テンプレート動き予測・補償部１２３は、インターテンプレート予測モードのうち、整数画素単位の動き予測と補償処理を行い、小数画素精度動き予測・補償部１２４は、小数画素単位の動き予測と補償処理を行う。
【０１８１】
すなわち、テンプレート動き予測・補償部１２３は、フレームメモリ１１９から読み出されたインター処理される画像と参照される画像に基づいて、インターテンプレート予測モードの整数画素単位の動き予測と補償処理を行い、予測画像を生成する。なお、この動き予測・補償処理は、画像符号化装置５１のテンプレート動き予測・補償部７６と基本的に同じ処理である。
【０１８２】
さらに、テンプレート動き予測・補償部１２３は、フレームメモリ１１９から読み出されたインター処理される画像と参照される画像を、小数画素精度動き予測・補償部１２４に供給する。テンプレート動き予測・補償部１２３は、また、生成した予測画像と小数画素精度動き予測・補償部１２４により生成された予測画像を、動き予測・補償部１２２に供給する。
【０１８３】
小数画素精度動き予測・補償部１２４には、ヘッダ情報を復号して得られた情報（動きベクトル情報またはフラグ情報）が可逆復号部１１２から供給される。小数画素精度動き予測・補償部１２４は、供給された動きベクトル情報またはフラグ情報に基づいて画像に動き予測と補償処理を施し、予測画像を生成する。この予測画像は、テンプレート動き予測・補償部１２３に出力される。
【０１８４】
スイッチ１２５は、動き予測・補償部１２２またはイントラ予測部１２１により生成された予測画像を選択し、演算部１１５に供給する。
【０１８５】
次に、図１９のフローチャートを参照して、画像復号装置１０１が実行する復号処理について説明する。
【０１８６】
ステップＳ１３１において、蓄積バッファ１１１は伝送されてきた画像を蓄積する。ステップＳ１３２において、可逆復号部１１２は、蓄積バッファ１１１から供給される圧縮画像を復号する。すなわち、図１の可逆符号化部６６により符号化されたＩピクチャ、Ｐピクチャ、並びにＢピクチャが復号される。
【０１８７】
このとき、動きベクトル情報、参照フレーム情報、予測モード情報（イントラ予測モード、インター予測モード、またはインターテンプレート予測モードを表す情報）、フラグ情報も復号される。すなわち、予測モード情報がイントラ予測モード情報である場合、予測モード情報は、イントラ予測部１２１に供給される。
【０１８８】
予測モード情報がインター予測モード情報である場合、予測モード情報と対応する動きベクトル情報は、動き予測・補償部１２２に供給される。予測モード情報がインターテンプレート予測モード情報である場合、予測モード情報は、動き予測・補償部１２２に供給され、対応する動きベクトル情報、または、テンプレートマッチングスキップであることを表すフラグ情報は、小数画素精度動き予測・補償部１２４に供給される。
【０１８９】
なお、テンプレートマッチングスキップであることを表すフラグ情報が復号された場合、全て０である直交変換係数が逆量子化部１１３に供給される。
【０１９０】
ステップＳ１３３において、逆量子化部１１３は可逆復号部１１２により復号された変換係数を、図１の量子化部６５の特性に対応する特性で逆量子化する。ステップＳ１３４において逆直交変換部１１４は逆量子化部１１３により逆量子化された変換係数を、図１の直交変換部６４の特性に対応する特性で逆直交変換する。これにより図１の直交変換部６４の入力（演算部６３の出力）に対応する差分情報が復号されたことになる。
【０１９１】
ステップＳ１３５において、演算部１１５は、後述するステップＳ１４１の処理で選択され、スイッチ１２５を介して入力される予測画像を差分情報と加算する。これにより元の画像が復号される。ステップＳ１３６においてデブロックフィルタ１１６は、演算部１１５より出力された画像をフィルタリングする。これによりブロック歪みが除去される。ステップＳ１３７においてフレームメモリ１１９は、フィルタリングされた画像を記憶する。
【０１９２】
ステップＳ１３８において、イントラ予測部１２１、動き予測・補償部１２２、またはテンプレート動き予測・補償部１２３および小数画素精度動き予測・補償部１２４は、可逆復号部１１２から供給される予測モード情報に対応して、それぞれ画像の予測処理を行う。
【０１９３】
すなわち、可逆復号部１１２からイントラ予測モード情報が供給された場合、イントラ予測部１２１は、イントラ予測モードのイントラ予測処理を行う。可逆復号部１１２からインター予測モード情報が供給された場合、動き予測・補償部１２２は、インター予測モードの動き予測・補償処理を行う。また、可逆復号部１１２からインターテンプレート予測モード情報が供給された場合、テンプレート動き予測・補償部１２３および小数画素精度動き予測・補償部１２４は、インターテンプレート予測モードの動き予測・補償処理を行う。
【０１９４】
ステップＳ１３８における予測処理の詳細は、図２０を参照して後述するが、この処理により、イントラ予測部１２１により生成された予測画像、動き予測・補償部１２２により生成された予測画像、またはテンプレート動き予測・補償部１２３および小数画素精度動き予測・補償部１２４により生成された予測画像がスイッチ１２５に供給される。
【０１９５】
ステップＳ１３９において、スイッチ１２５は予測画像を選択する。すなわち、イントラ予測部１２１により生成された予測画像、動き予測・補償部１２２により生成された予測画像、またはテンプレート動き予測・補償部１２３および小数画素精度動き予測・補償部１２４により生成された予測画像が供給されるので、供給された予測画像が選択されて演算部１１５に供給され、上述したように、ステップＳ１３４において逆直交変換部１１４の出力と加算される。
【０１９６】
ステップＳ１４０において、画面並べ替えバッファ１１７は並べ替えを行う。すなわち画像符号化装置５１の画面並べ替えバッファ６２により符号化のために並べ替えられたフレームの順序が、元の表示の順序に並べ替えられる。
【０１９７】
ステップＳ１４１において、Ｄ／Ａ変換部１１８は、画面並べ替えバッファ１１７からの画像をＤ／Ａ変換する。この画像が図示せぬディスプレイに出力され、画像が表示される。
【０１９８】
次に、図２０のフローチャートを参照して、図１９のステップＳ１３８の予測処理を説明する。
【０１９９】
処理対象の画像がイントラ処理される画像である場合、可逆復号部１１２からイントラ予測モード情報がイントラ予測部１２１に供給される。イントラ予測部１２１は、ステップＳ１７１において、イントラ予測モード情報が供給されたか否かを判定し、イントラ予測モード情報が供給されたと判定した場合、ステップＳ１７２において、イントラ予測を行う。
【０２００】
すなわち、処理対象の画像がイントラ処理される画像である場合、必要な画像がフレームメモリ１１９から読み出され、スイッチ１２０を介してイントラ予測部１２１に供給される。ステップＳ１７２においてイントラ予測部１２１は、可逆復号部１１２から供給されるイントラ予測モード情報に従ってイントラ予測し、予測画像を生成する。
【０２０１】
ステップＳ１７１において、イントラ予測モード情報が供給されなかったと判定された場合、処理は、ステップＳ１７３に進む。
【０２０２】
処理対象の画像がインター処理される画像である場合、可逆復号部１１２からインター予測モード情報、参照フレーム情報、動きベクトル情報が動き予測・補償部１２２に供給される。ステップＳ１７３において、動き予測・補償部１２２は、インター予測モード情報が供給されたか否かを判定し、インター予測モード情報が供給されたと判定した場合、ステップＳ１７４において、インター動き予測を行う。
【０２０３】
すなわち、処理対象の画像がインター予測処理される画像である場合、必要な画像がフレームメモリ１１９から読み出され、スイッチ１２０を介して動き予測・補償部１２２に供給される。ステップＳ１７４において動き予測・補償部１２２は、可逆復号部１１２から供給される動きベクトルに基づいて、インター予測モードの動き予測をし、予測画像を生成する。
【０２０４】
ステップＳ１７１において、インター予測モード情報が供給されなかったと判定された場合、処理は、ステップＳ１７５に進む。すなわち、インターテンプレート予測モード情報が供給されているので、動き予測・補償部１２２は、ステップＳ１７５およびＳ１７６において、テンプレート動き予測・補償部１２３および小数画素精度動き予測・補償部１２４に、インターテンプレート予測モードの動き予測・補償処理を行わせる。
【０２０５】
具体的に説明すると、処理対象の画像がインターテンプレート予測処理される画像である場合、必要な画像がフレームメモリ１１９から読み出され、スイッチ１２０および動き予測・補償部１２２を介してテンプレート動き予測・補償部１２３に供給される。また、必要な画像は、テンプレート動き予測・補償部１２３を介して、小数画素精度動き予測・補償部１２４に供給される。さらに、小数画素精度動き予測・補償部１２４には、可逆復号部１１２から小数画素精度の動きベクトル情報またはフラグ情報（TM_skip_frag＝１）が供給される。
【０２０６】
テンプレート動き予測・補償部１２３は、ステップＳ１７５において、インターテンプレート予測モードの整数画素単位の動き予測、補償処理を行う。すなわち、テンプレート動き予測・補償部１２３は、インターテンプレートマッチング方式に基づいて整数画素単位の動きベクトルを探索し、その動きベクトルに基づいて参照画像に動き予測と補償処理を施し、予測画像を生成する。
【０２０７】
小数画素精度動き予測・補償部１２４は、ステップＳ１７６において、可逆復号部１１２から供給される小数画素単位の動きベクトル情報、または、フラグ情報（TM_skip_frag＝１）に基づいて、参照画像に対して動き予測と補償処理を行い、予測画像を生成する。
【０２０８】
なお、復号された小数画素単位の動きベクトル情報は、図１５のステップＳ７２で求められた動きベクトル情報と、ステップＳ７３において式（１３）や図１４を参照して上述したMV Competition方式に基づいて隣接するブロックの動きベクトル情報から生成された予測動きベクトル情報との差分の情報（mvd_sub E）である。
【０２０９】
したがって、小数画素精度動き予測・補償部１２４は、小数画素精度動き予測・補償部７７と同様に予測動きベクトル情報を生成し、生成した予測動きベクトル情報と復号された小数画素単位の動きベクトル情報とを加算して、小数画素単位の動きベクトル情報を求める。そして、小数画素精度動き予測・補償部１２４は、求めた小数画素単位の動きベクトル情報で、予測画像を生成する。
【０２１０】
一方、フラグ情報が供給された場合には、対象ブロックが、参照フレームの空間的に対応する位置の画素を利用して動きベクトル情報を求めるブロックであるので、参照画像の対応する画素を利用して予測画像が生成される。
【０２１１】
以上のように、整数画素精度について、テンプレートマッチングに基づく動き予測を、画像符号化装置および画像復号装置の両方で行うことにより、整数画素精度の動きベクトル情報を送らずに、良質な画質を表示させることができる。
【０２１２】
さらに、整数画素精度について、テンプレートマッチングに基づく動き予測を、画像符号化装置および画像復号装置の両方で行いながら、小数画素精度の動きベクトルを、圧縮画像中に符号化して、画像復号装置に送ることで、圧縮率の低下を抑制することができる。
【０２１３】
また、Ｈ．２６４／ＡＶＣ方式による動き予測・補償処理を行う際に、テンプレートマッチングに基づく予測も行い、コスト関数のよい方を選択して符号化処理を行うようにしたので、符号化効率を向上することができる。
【０２１４】
以上においては、符号化方式としてＨ．２６４／ＡＶＣ方式を用いるようにしたが、その他の符号化方式／復号方式を用いることもできる。
【０２１５】
なお、本発明は、例えば、ＭＰＥＧ、Ｈ.２６ｘ等の様に、離散コサイン変換等の直交変換と動き補償によって圧縮された画像情報（ビットストリーム）を、衛星放送、ケーブルＴＶ（テレビジョン）、インターネット、および携帯電話機などのネットワークメディアを介して受信する際に、あるいは、光、磁気ディスク、およびフラッシュメモリのような記憶メディア上で処理する際に用いられる画像符号化装置および画像復号装置に適用することができる。
【０２１６】
上述した一連の処理は、ハードウエアにより実行させることもできるし、ソフトウエアにより実行させることもできる。一連の処理をソフトウエアにより実行させる場合には、そのソフトウエアを構成するプログラムが、専用のハードウエアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、プログラム記録媒体からインストールされる。
【０２１７】
コンピュータにインストールされ、コンピュータによって実行可能な状態とされるプログラムを格納するプログラム記録媒体は、磁気ディスク（フレキシブルディスクを含む）、光ディスク（CD-ROM(Compact Disc-Read Only Memory),DVD(Digital Versatile Disc)を含む）、光磁気ディスクを含む）、もしくは半導体メモリなどよりなるパッケージメディアであるリムーバブルメディア、または、プログラムが一時的もしくは永続的に格納されるROMやハードディスクなどにより構成される。プログラム記録媒体へのプログラムの格納は、必要に応じてルータ、モデムなどのインタフェースを介して、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の通信媒体を利用して行われる。
【０２１８】
なお、本明細書において、プログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【０２１９】
また、本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
【図面の簡単な説明】
【０２２０】
【図１】本発明を適用した画像符号化装置の一実施の形態の構成を示すブロック図である。
【図２】可変ブロックサイズ動き予測・補償処理を説明する図である。
【図３】１／４画素精度の動き予測・補償処理を説明する図である。
【図４】図１の可逆符号化部６６の一実施の形態の構成を示すブロック図である。
【図５】図４のコンテクストモデル化部９１の処理について説明する図である。
【図６】図４の２値化部９２のテーブルの例を示す図である。
【図７】図１の画像符号化装置の符号化処理を説明するフローチャートである。
【図８】図７のステップＳ２１の予測処理を説明するフローチャートである。
【図９】図８のステップＳ３１のイントラ予測処理を説明するフローチャートである。
【図１０】イントラ予測の方向を説明する図である。
【図１１】イントラ予測を説明する図である。
【図１２】図８のステップＳ３２のインター動き予測処理を説明するフローチャートである。
【図１３】動きベクトル情報の生成方法の例を説明する図である。
【図１４】動きベクトル情報の生成方法の他の例を説明する図である。
【図１５】図８のステップＳ３３のインターテンプレート動き予測処理を説明するフローチャートである。
【図１６】インターテンプレートマッチング方式について説明する図である。
【図１７】図１５のステップＳ７４のテンプレートスキップ判定処理を説明するフローチャートである。
【図１８】本発明を適用した画像復号装置の一実施の形態の構成を示すブロック図である。
【図１９】図１８の画像復号装置の復号処理を説明するフローチャートである。
【図２０】図１９のステップＳ１３８の予測処理を説明するフローチャートである。
【符号の説明】
【０２２１】
５１  画像符号化装置，  ６６  可逆符号化部，  ７４  イントラ予測部，  ７５  動き予測・補償部，  ７６  テンプレート動き予測・補償部，  ７７  小数画素精度動き予測・補償部，  ７８  予測画像選択部，  １１２  可逆復号部，  １２１  イントラ予測部，  １２２  動き予測・補償部，  １２３  テンプレート動き予測・補償部，  １２４  小数画素精度動き予測・補償部，  １２５  スイッチ
【図１】
2010016453.tif 000008
【図２】
2010016453.tif 000009
【図３】
2010016453.tif 000010
【図４】
2010016453.tif 000011
【図５】
2010016453.tif 000012
【図６】
2010016453.tif 000013
【図７】
2010016453.tif 000014
【図８】
2010016453.tif 000015
【図９】
2010016453.tif 000016
【図１０】
2010016453.tif 000017
【図１１】
2010016453.tif 000018
【図１２】
2010016453.tif 000019
【図１３】
2010016453.tif 000020
【図１４】
2010016453.tif 000021
【図１５】
2010016453.tif 000022
【図１６】
2010016453.tif 000023
【図１７】
2010016453.tif 000024
【図１８】
2010016453.tif 000025
【図１９】
2010016453.tif 000026
【図２０】
2010016453.tif 000027