(57)【要約】【課題】演算量を増大させることなく、圧縮効率の低下を抑制する。【解決手段】イントラＴＰ動き予測・補償部７５は、画面並べ替えバッファ６２からのイントラ予測する画像と、フレームメモリ７２からの参照画像に基づき、イントラ予測動きベクトル生成部７６により生成された予測動きベクトル情報を探索の中心とした所定の探索範囲での動き予測を行う。インターＴＰ動き予測・補償部７８は、画面並べ替えバッファ６２からのインター符号化が行われる画像と、フレームメモリ７２からの参照画像に基づいて、インター予測動きベクトル生成部７９により生成された予測動きベクトル情報を探索の中心とした所定の探索範囲での動き予測を行う。本発明は、例えば、Ｈ．２６４／ＡＶＣ方式で符号化する画像符号化装置に適用することができる。【選択図】図１
2010016454.tif 000002
【特許請求の範囲】
【請求項１】
フレームの第１の対象ブロックの動きベクトルの予測値を生成する予測動きベクトル生成部と、
前記予測動きベクトル生成部により生成された前記動きベクトルの予測値の周辺の所定の探索範囲において、前記第１の対象ブロックの動きベクトルを、前記第１の対象ブロックに対して所定の位置関係で隣接するとともに復号画像から生成される第１のテンプレートを利用して探索する第１の動き予測補償部と
を備える画像符号化装置。
【請求項２】
前記予測動きベクトル生成部は、符号化済みのブロックであって、前記第１の対象ブロックに隣接するブロックである隣接ブロックに対する動きベクトルの情報を用いて、前記第１の対象ブロックの前記動きベクトルの予測値を生成する
請求項１に記載の画像符号化装置。
【請求項３】
前記予測動きベクトル生成部は、前記隣接ブロックに対して前記フレーム内で探索された前記動きベクトルの情報を用いて、前記第１の対象ブロックの前記動きベクトルの予測値を生成する
請求項２に記載の画像符号化装置。
【請求項４】
前記隣接ブロックに対して前記フレーム内で探索された前記動きベクトルの情報がない場合、前記予測動きベクトル生成部は、前記隣接ブロックに対する前記動きベクトルの情報を０として、前記第１の対象ブロックの前記動きベクトルの予測値を生成する
請求項３に記載の画像符号化装置。
【請求項５】
前記隣接ブロックに対して前記フレーム内で探索された前記動きベクトルの情報がない場合、前記予測動きベクトル生成部は、前記隣接ブロックに対して前記フレームと異なる符号化済みフレームを参照して探索された動きベクトルの情報を用いて、前記第１の対象ブロックの前記動きベクトルの予測値を生成する
請求項３に記載の画像符号化装置。
【請求項６】
前記符号化済みフレームの情報が所定の値より大きい場合、前記予測動きベクトル生成部は、前記隣接ブロックに対して前記符号化済みフレームを参照して探索された前記動きベクトルの情報を用いることを禁止する
請求項５に記載の画像符号化装置。
【請求項７】
前記隣接ブロックに対して前記フレーム内で探索された前記動きベクトルの情報がない場合、前記第１の動き予測補償部は、前記隣接ブロックの動きベクトルを、前記隣接ブロックに対して所定の位置関係で隣接するとともに前記復号画像から生成される第２のテンプレートを利用して探索し、
前記予測動きベクトル生成部は、前記第１の動き予測補償部により探索された前記隣接ブロックに対する前記動きベクトルの情報を用いて、前記第１の対象ブロックの動きベクトルの予測値を生成する
請求項３に記載の画像符号化装置。
【請求項８】
前記フレームの第２の対象ブロックの画素値を、前記フレーム内の前記復号画像から予測するイントラ予測部と、
前記第１の動き予測補償部により探索された前記動きベクトルに基づく予測画像と、前記イントラ予測部により予測された前記画素値からなる予測画像のうちの一方を選択する画像選択部と
をさらに備える
請求項３に記載の画像符号化装置。
【請求項９】
前記予測動きベクトル生成部は、前記隣接ブロックに対して前記フレームと異なる符号化済みフレームを参照して探索された前記動きベクトルの情報を用いて、前記第１の対象ブロックの前記動きベクトルの予測値を生成する
請求項２に記載の画像符号化装置。
【請求項１０】
前記隣接ブロックに対して前記符号化済みフレームを参照して探索された前記動きベクトルの情報がない場合、前記予測動きベクトル生成部は、前記隣接ブロックに対する前記動きベクトルの情報を０として、前記第１の対象ブロックの動きベクトルの予測値を生成する
請求項９に記載の画像符号化装置。
【請求項１１】
前記隣接ブロックに対して前記符号化済みフレームを参照して探索された前記動きベクトルの情報がない場合、前記予測動きベクトル生成部は、前記隣接ブロックに対して前記フレーム内で探索された動きベクトルの情報を用いて、前記第１の対象ブロックの動きベクトルの予測値を生成する
請求項９に記載の画像符号化装置。
【請求項１２】
前記隣接ブロックに対して前記符号化済みフレームを参照して探索された前記動きベクトルの情報がない場合、前記第１の動き予測補償部は、前記隣接ブロックの動きベクトルを、前記隣接ブロックに対して所定の位置関係で隣接するとともに前記復号画像から生成される第２のテンプレートを利用して探索し、
前記予測動きベクトル生成部は、前記第１の動き予測部により探索された前記隣接ブロックに対する前記動きベクトルの情報を用いて、前記第１の対象ブロックの動きベクトルの予測値を生成する
請求項９に記載の画像符号化装置。
【請求項１３】
前記フレームの第２の対象ブロックの動きベクトルを、前記第２の対象ブロックを利用して探索する第２の動き予測補償部と、
前記第１の動き予測補償部により探索された前記動きベクトルに基づく予測画像と、前記第２の動き予測補償部により探索された前記動きベクトルに基づく予測画像のうちの一方を選択する画像選択部とをさらに備える
請求項９に記載の画像符号化装置。
【請求項１４】
前記予測動きベクトル生成部は、符号化済みのブロックであって、前記第１の対象ブロックに隣接するブロックである隣接ブロックに対する動きベクトルの情報、前記フレームと異なる符号化済みフレームのブロックであって、前記第１の対象ブロックに対応する位置のブロックである対応ブロックと前記対応ブロックに隣接するブロックに対する動きベクトルの情報、または、前記対応ブロックと前記隣接ブロックに対する動きベクトルの情報を用いて、前記第１の対象ブロックの前記動きベクトルの予測値を生成する
請求項１に記載の画像符号化装置。
【請求項１５】
前記隣接ブロックに対して前記符号化済みフレームを参照して探索された前記動きベクトルの情報がない場合、前記予測動きベクトル生成部は、前記隣接ブロックに対する動きベクトルの情報を０として、前記第１の対象ブロックの動きベクトルの予測値を生成する
請求項１４に記載の画像符号化装置。
【請求項１６】
前記隣接ブロックに対して前記符号化済みフレームを参照して探索された前記動きベクトルの情報がない場合、前記予測動きベクトル生成部は、前記隣接ブロックに対して前記フレーム内で探索された動きベクトルの情報を用いて、前記第１の対象ブロックの動きベクトルの予測値を生成する
請求項１４に記載の画像符号化装置。
【請求項１７】
前記隣接ブロックに対して前記符号化済みフレームを参照して探索された前記動きベクトルの情報がない場合、前記第１の動き予測補償部は、前記隣接ブロックの動きベクトルを、前記隣接ブロックに対して所定の位置関係で隣接するとともに前記復号画像から生成される第２のテンプレートを利用して探索し、
前記予測動きベクトル生成部は、前記第１の動き予測補償部により探索された前記隣接ブロックに対する前記動きベクトルの情報を用いて、前記第１の対象ブロックの動きベクトルの予測値を生成する
請求項１４に記載の画像符号化装置。
【請求項１８】
前記フレームの第２の対象ブロックの動きベクトルを、前記第２の対象ブロックを利用して探索する第２の動き予測補償部と、
前記第１の動き予測補償部により探索された前記動きベクトルに基づく予測画像と、前記第２の動き予測補償部により探索された前記動きベクトルに基づく予測画像のうちの一方を選択する画像選択部とをさらに備える
請求項１４に記載の画像符号化装置。
【請求項１９】
画像符号化装置が、
フレームの対象ブロックの動きベクトルの予測値を生成し、
生成された前記動きベクトルの予測値の周辺の所定の探索範囲において、前記対象ブロックの動きベクトルを、前記対象ブロックに対して所定の位置関係で隣接するとともに復号画像から生成されるテンプレートを利用して探索する
ステップを含む画像符号化方法。
【請求項２０】
フレームの対象ブロックの動きベクトルの予測値を生成し、
生成された前記動きベクトルの予測値の周辺の所定の探索範囲において、前記対象ブロックの動きベクトルを、前記対象ブロックに対して所定の位置関係で隣接するとともに復号画像から生成されるテンプレートを利用して探索する
ステップを含む処理をコンピュータに実行させて、画像符号化装置として機能させるためのプログラム。
【請求項２１】
フレームの第１の対象ブロックの動きベクトルの予測値を生成する予測動きベクトル生成部と、
前記予測動きベクトル生成部により生成された前記動きベクトルの予測値の周辺の所定の探索範囲において、前記第１の対象ブロックの動きベクトルを、前記第１の対象ブロックに対して所定の位置関係で隣接するとともに復号画像から生成される第１のテンプレートを利用して探索する第１の動き予測補償部と
を備える画像復号装置。
【請求項２２】
前記予測動きベクトル生成部は、符号化済みのブロックであって、前記第１の対象ブロックに隣接するブロックである隣接ブロックに対する動きベクトルの情報を用いて、前記第１の対象ブロックの前記動きベクトルの予測値を生成する
請求項２１に記載の画像復号装置。
【請求項２３】
前記予測動きベクトル生成部は、前記隣接ブロックに対して前記フレーム内で探索された前記動きベクトルの情報を用いて、前記第１の対象ブロックの前記動きベクトルの予測値を生成する
請求項２２に記載の画像復号装置。
【請求項２４】
前記隣接ブロックに対して前記フレーム内で探索された前記動きベクトルの情報がない場合、前記予測動きベクトル生成部は、前記隣接ブロックに対する前記動きベクトルの情報を０として、前記第１の対象ブロックの前記動きベクトルの予測値を生成する
請求項２３に記載の画像復号装置。
【請求項２５】
前記隣接ブロックに対して前記フレーム内で探索された前記動きベクトルの情報がない場合、前記予測動きベクトル生成部は、前記隣接ブロックに対して前記フレームと異なる符号化済みフレームを参照して探索された動きベクトルの情報を用いて、前記第１の対象ブロックの前記動きベクトルの予測値を生成する
請求項２３に記載の画像復号装置。
【請求項２６】
前記符号化済みフレームの情報が所定の値より大きい場合、前記予測動きベクトル生成部は、前記隣接ブロックに対して前記符号化済みフレームを参照して探索された前記動きベクトルの情報を用いることを禁止する
請求項２５に記載の画像復号装置。
【請求項２７】
前記隣接ブロックに対して前記フレーム内で探索された前記動きベクトルの情報がない場合、前記第１の動き予測補償部は、前記隣接ブロックの動きベクトルを、前記隣接ブロックに対して所定の位置関係で隣接するとともに前記復号画像から生成される第２のテンプレートを利用して探索し、
前記予測動きベクトル生成部は、前記第１の動き予測補償部により探索された前記隣接ブロックに対する前記動きベクトルの情報を用いて、前記第１の対象ブロックの動きベクトルの予測値を生成する
請求項２３に記載の画像復号装置。
【請求項２８】
前記フレームの第２の対象ブロックの画素値を、前記フレーム内の前記復号画像から予測するイントラ予測部をさらに備える
請求項２３に記載の画像復号装置。
【請求項２９】
前記予測動きベクトル生成部は、前記隣接ブロックに対して前記フレームと異なる符号化済みフレームを参照して探索された前記動きベクトルの情報を用いて、前記第１の対象ブロックの前記動きベクトルの予測値を生成する
請求項２２に記載の画像復号装置。
【請求項３０】
前記隣接ブロックに対して前記符号化済みフレームを参照して探索された前記動きベクトルの情報がない場合、前記予測動きベクトル生成部は、前記隣接ブロックに対する前記動きベクトルの情報を０として、前記第１の対象ブロックの動きベクトルの予測値を生成する
請求項２９に記載の画像復号装置。
【請求項３１】
前記隣接ブロックに対して前記符号化済みフレームを参照して探索された前記動きベクトルの情報がない場合、前記予測動きベクトル生成部は、前記隣接ブロックに対して前記フレーム内で探索された動きベクトルの情報を用いて、前記第１の対象ブロックの動きベクトルの予測値を生成する
請求項２９に記載の画像復号装置。
【請求項３２】
前記隣接ブロックに対して前記符号化済みフレームを参照して探索された前記動きベクトルの情報がない場合、前記第１の動き予測補償部は、前記隣接ブロックの動きベクトルを、前記隣接ブロックに対して所定の位置関係で隣接するとともに前記復号画像から生成される第２のテンプレートを利用して探索し、
前記予測動きベクトル生成部は、前記第１の動き予測部により探索された前記隣接ブロックに対する前記動きベクトルの情報を用いて、前記第１の対象ブロックの動きベクトルの予測値を生成する
請求項２９に記載の画像復号装置。
【請求項３３】
符号化された動きベクトルの情報を復号する復号部と、
前記復号部により復号された前記フレームの第２の対象ブロックの動きベクトルを用いて予測画像を生成する第２の動き予測補償部とをさらに備える
請求項２９に記載の画像復号装置。
【請求項３４】
前記予測動きベクトル生成部は、符号化済みのブロックであって、前記第１の対象ブロックに隣接するブロックである隣接ブロックに対する動きベクトルの情報、前記フレームと異なる符号化済みフレームのブロックであって、前記第１の対象ブロックに対応する位置のブロックである対応ブロックと前記対応ブロックに隣接するブロックに対する動きベクトルの情報、または、前記対応ブロックと前記隣接ブロックに対する動きベクトルの情報を用いて、前記第１の対象ブロックの前記動きベクトルの予測値を生成する
請求項２１に記載の画像復号装置。
【請求項３５】
前記隣接ブロックに対して前記符号化済みフレームを参照して探索された前記動きベクトルの情報がない場合、前記予測動きベクトル生成部は、前記隣接ブロックに対する動きベクトルの情報を０として、前記第１の対象ブロックの動きベクトルの予測値を生成する
請求項３４に記載の画像復号装置。
【請求項３６】
前記隣接ブロックに対して前記符号化済みフレームを参照して探索された前記動きベクトルの情報がない場合、前記予測動きベクトル生成部は、前記隣接ブロックに対して前記フレーム内で探索された動きベクトルの情報を用いて、前記第１の対象ブロックの動きベクトルの予測値を生成する
請求項３４に記載の画像復号装置。
【請求項３７】
前記隣接ブロックに対して前記符号化済みフレームを参照して探索された前記動きベクトルの情報がない場合、前記第１の動き予測補償部は、前記隣接ブロックの動きベクトルを、前記隣接ブロックに対して所定の位置関係で隣接するとともに前記復号画像から生成される第２のテンプレートを利用して探索し、
前記予測動きベクトル生成部は、前記第１の動き予測補償部により探索された前記隣接ブロックに対する前記動きベクトルの情報を用いて、前記第１の対象ブロックの動きベクトルの予測値を生成する
請求項３４に記載の画像復号装置。
【請求項３８】
符号化された動きベクトルの情報を復号する復号部と、
前記復号部により復号された前記フレームの第２の対象ブロックの動きベクトルを用いて予測画像を生成する第２の動き予測補償部とをさらに備える
請求項３４に記載の画像復号装置。
【請求項３９】
画像復号装置が、
フレームの対象ブロックの動きベクトルの予測値を生成し、
生成された前記動きベクトルの予測値の周辺の所定の探索範囲において、前記対象ブロックの動きベクトルを、前記対象ブロックに対して所定の位置関係で隣接するとともに復号画像から生成されるテンプレートを利用して探索する
ステップを含む画像復号方法。
【請求項４０】
フレームの対象ブロックの動きベクトルの予測値を生成し、
生成された前記動きベクトルの予測値の周辺の所定の探索範囲において、前記対象ブロックの動きベクトルを、前記対象ブロックに対して所定の位置関係で隣接するとともに復号画像から生成されるテンプレートを利用して探索する
ステップを含む処理をコンピュータに実行させて、画像復号装置として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は画像符号化装置および方法、画像復号装置および方法、並びにプログラムに関し、特に、演算量を増大させることなく、圧縮効率の低下を抑制するようにした画像符号化装置および方法、画像復号装置および方法、並びにプログラムに関する。
【背景技術】
【０００２】
近年、ＭＰＥＧ（Moving Picture Experts Group）２やＨ．２６４およびＭＰＥＧ−４  Ｐａｒｔ１０（Advanced Video Coding）（以下Ｈ．２６４／ＡＶＣと記す）などの方式で画像を圧縮符号化し、パケット化して伝送し、受信側で復号する技術が普及してきた。これによりユーザは高品質の動画像を視聴することができる。
【０００３】
ところで、ＭＰＥＧ２方式においては、線形内挿処理により１／２画素精度の動き予測・補償処理が行われているが、Ｈ．２６４／ＡＶＣ方式においては、６タップのFIR (Finite Impulse Response Filter)フィルタを用いた１／４画素精度の予測・補償処理が行われている。
【０００４】
また、ＭＰＥＧ２方式においては、フレーム動き補償モードの場合には、１６×１６画素を単位として動き予測・補償処理が行われ、フィールド動き補償モードの場合には、第１フィールドと第２フィールドのそれぞれに対し、１６×８画素を単位として動き予測・補償処理が行われている。
【０００５】
これに対して、Ｈ．２６４／ＡＶＣ方式においては、ブロックサイズを可変にして、動き予測・補償を行うことができる。すなわち、Ｈ．２６４／ＡＶＣ方式においては、１６×１６画素で構成される１つのマクロブロックを、１６×１６、１６×８、８×１６、あるいは８×８のいずれかのパーティションに分割して、それぞれ独立した動きベクトル情報を持つことが可能である。また、８×８パーティションに関しては、８×８、８×４、４×８、あるいは４×４のいずれかのサブパーティションに分割し、それぞれ独立した動きベクトル情報を持つことが可能である。
【０００６】
しかしながら、Ｈ．２６４／ＡＶＣ方式においては、上述した１／４画素精度、およびブロック可変の動き予測・補償処理が行われることにより、膨大な動きベクトル情報が生成されてしまい、これをこのまま符号化してしまうと、符号化効率の低下を招いていた。
【０００７】
そこで、符号化対象の画像の領域に対して所定の位置関係で隣接すると共に復号画像の一部であるテンプレート領域の復号画像と相関が高い画像の領域を、復号画像から探索して、探索された領域と所定の位置関係とに基づいて予測を行う方法が提案されている（特許文献１参照）。
【０００８】
この方法は、マッチングに復号画像を用いているため、探索範囲を予め定めておくことで、符号化装置と復号装置において同一の処理を行うことが可能である。すなわち、復号装置においても上述したような予測・補償処理を行うことにより、符号化装置からの画像圧縮情報の中に動きベクトル情報を持つ必要がないため、符号化効率の低下を抑えることが可能である。
【０００９】
【特許文献１】特開２００７−４３６５１号公報
【発明の開示】
【発明が解決しようとする課題】
【００１０】
上述したように、特許文献１の技術は、符号化装置のみならず、復号装置でも予測・補償処理を必要とする。この際、良好な符号化効率を確保するには、十分な大きさの探索範囲が必要となる。しかしながら、探索範囲の増大は、符号化装置のみならず、復号装置においても、演算量の増大を招いてしまっていた。
【００１１】
本発明は、このような状況に鑑みてなされたものであり、演算量を増大させることなく、圧縮効率の低下を抑制するものである。
【課題を解決するための手段】
【００１２】
本発明の一側面の画像符号化装置は、フレームの第１の対象ブロックの動きベクトルの予測値を生成する予測動きベクトル生成部と、前記予測動きベクトル生成部により生成された前記動きベクトルの予測値の周辺の所定の探索範囲において、前記第１の対象ブロックの動きベクトルを、前記第１の対象ブロックに対して所定の位置関係で隣接するとともに復号画像から生成される第１のテンプレートを利用して探索する第１の動き予測補償部とを備える。
【００１３】
前記予測動きベクトル生成部は、符号化済みのブロックであって、前記第１の対象ブロックに隣接するブロックである隣接ブロックに対する動きベクトルの情報を用いて、前記第１の対象ブロックの前記動きベクトルの予測値を生成することができる。
【００１４】
前記予測動きベクトル生成部は、前記隣接ブロックに対して前記フレーム内で探索された前記動きベクトルの情報を用いて、前記第１の対象ブロックの前記動きベクトルの予測値を生成することができる。
【００１５】
前記隣接ブロックに対して前記フレーム内で探索された前記動きベクトルの情報がない場合、前記予測動きベクトル生成部は、前記隣接ブロックに対する前記動きベクトルの情報を０として、前記第１の対象ブロックの前記動きベクトルの予測値を生成することができる。
【００１６】
前記隣接ブロックに対して前記フレーム内で探索された前記動きベクトルの情報がない場合、前記予測動きベクトル生成部は、前記隣接ブロックに対して前記フレームと異なる符号化済みフレームを参照して探索された動きベクトルの情報を用いて、前記第１の対象ブロックの前記動きベクトルの予測値を生成することができる。
【００１７】
前記符号化済みフレームの情報が所定の値より大きい場合、前記予測動きベクトル生成部は、前記隣接ブロックに対して前記符号化済みフレームを参照して探索された前記動きベクトルの情報を用いることを禁止することができる。
【００１８】
前記隣接ブロックに対して前記フレーム内で探索された前記動きベクトルの情報がない場合、前記第１の動き予測補償部は、前記隣接ブロックの動きベクトルを、前記隣接ブロックに対して所定の位置関係で隣接するとともに前記復号画像から生成される第２のテンプレートを利用して探索し、前記予測動きベクトル生成部は、前記第１の動き予測補償部により探索された前記隣接ブロックに対する前記動きベクトルの情報を用いて、前記第１の対象ブロックの動きベクトルの予測値を生成することができる。
【００１９】
前記フレームの第２の対象ブロックの画素値を、前記フレーム内の前記復号画像から予測するイントラ予測部と、前記第１の動き予測補償部により探索された前記動きベクトルに基づく予測画像と、前記イントラ予測部により予測された前記画素値からなる予測画像のうちの一方を選択する画像選択部とをさらに備えることができる。
【００２０】
前記予測動きベクトル生成部は、前記隣接ブロックに対して前記フレームと異なる符号化済みフレームを参照して探索された前記動きベクトルの情報を用いて、前記第１の対象ブロックの前記動きベクトルの予測値を生成することができる。
【００２１】
前記隣接ブロックに対して前記符号化済みフレームを参照して探索された前記動きベクトルの情報がない場合、前記予測動きベクトル生成部は、前記隣接ブロックに対する前記動きベクトルの情報を０として、前記第１の対象ブロックの動きベクトルの予測値を生成することができる。
【００２２】
前記隣接ブロックに対して前記符号化済みフレームを参照して探索された前記動きベクトルの情報がない場合、前記予測動きベクトル生成部は、前記隣接ブロックに対して前記フレーム内で探索された動きベクトルの情報を用いて、前記第１の対象ブロックの動きベクトルの予測値を生成することができる。
【００２３】
前記隣接ブロックに対して前記符号化済みフレームを参照して探索された前記動きベクトルの情報がない場合、前記第１の動き予測補償部は、前記隣接ブロックの動きベクトルを、前記隣接ブロックに対して所定の位置関係で隣接するとともに前記復号画像から生成される第２のテンプレートを利用して探索し、前記予測動きベクトル生成部は、前記第１の動き予測部により探索された前記隣接ブロックに対する前記動きベクトルの情報を用いて、前記第１の対象ブロックの動きベクトルの予測値を生成することができる。
【００２４】
前記フレームの第２の対象ブロックの動きベクトルを、前記第２の対象ブロックを利用して探索する第２の動き予測補償部と、前記第１の動き予測補償部により探索された前記動きベクトルに基づく予測画像と、前記第２の動き予測補償部により探索された前記動きベクトルに基づく予測画像のうちの一方を選択する画像選択部とをさらに備えることができる。
【００２５】
前記予測動きベクトル生成部は、符号化済みのブロックであって、前記第１の対象ブロックに隣接するブロックである隣接ブロックに対する動きベクトルの情報、前記フレームと異なる符号化済みフレームのブロックであって、前記第１の対象ブロックに対応する位置のブロックである対応ブロックと前記対応ブロックに隣接するブロックに対する動きベクトルの情報、または、前記対応ブロックと前記隣接ブロックに対する動きベクトルの情報を用いて、前記第１の対象ブロックの前記動きベクトルの予測値を生成することができる。
【００２６】
前記隣接ブロックに対して前記符号化済みフレームを参照して探索された前記動きベクトルの情報がない場合、前記予測動きベクトル生成部は、前記隣接ブロックに対する動きベクトルの情報を０として、前記第１の対象ブロックの動きベクトルの予測値を生成することができる。
【００２７】
前記隣接ブロックに対して前記符号化済みフレームを参照して探索された前記動きベクトルの情報がない場合、前記予測動きベクトル生成部は、前記隣接ブロックに対して前記フレーム内で探索された動きベクトルの情報を用いて、前記第１の対象ブロックの動きベクトルの予測値を生成することができる。
【００２８】
前記隣接ブロックに対して前記符号化済みフレームを参照して探索された前記動きベクトルの情報がない場合、前記第１の動き予測補償部は、前記隣接ブロックの動きベクトルを、前記隣接ブロックに対して所定の位置関係で隣接するとともに前記復号画像から生成される第２のテンプレートを利用して探索し、前記予測動きベクトル生成部は、前記第１の動き予測補償部により探索された前記隣接ブロックに対する前記動きベクトルの情報を用いて、前記第１の対象ブロックの動きベクトルの予測値を生成することができる。
【００２９】
前記フレームの第２の対象ブロックの動きベクトルを、前記第２の対象ブロックを利用して探索する第２の動き予測補償部と、前記第１の動き予測補償部により探索された前記動きベクトルに基づく予測画像と、前記第２の動き予測補償部により探索された前記動きベクトルに基づく予測画像のうちの一方を選択する画像選択部とをさらに備えることができる。
【００３０】
本発明の一側面の画像符号化方法は、画像符号化装置が、フレームの対象ブロックの動きベクトルの予測値を生成し、生成された前記動きベクトルの予測値の周辺の所定の探索範囲において、前記対象ブロックの動きベクトルを、前記対象ブロックに対して所定の位置関係で隣接するとともに復号画像から生成されるテンプレートを利用して探索するステップを含む。
【００３１】
本発明の一側面のプログラムは、フレームの対象ブロックの動きベクトルの予測値を生成し、生成された前記動きベクトルの予測値の周辺の所定の探索範囲において、前記対象ブロックの動きベクトルを、前記対象ブロックに対して所定の位置関係で隣接するとともに復号画像から生成されるテンプレートを利用して探索するステップを含む処理をコンピュータに実行させて、画像符号化装置として機能させる。
【００３２】
本発明の他の側面の画像復号装置は、フレームの第１の対象ブロックの動きベクトルの予測値を生成する予測動きベクトル生成部と、前記予測動きベクトル生成部により生成された前記動きベクトルの予測値の周辺の所定の探索範囲において、前記第１の対象ブロックの動きベクトルを、前記第１の対象ブロックに対して所定の位置関係で隣接するとともに復号画像から生成される第１のテンプレートを利用して探索する第１の動き予測補償部とを備える。
【００３３】
前記予測動きベクトル生成部は、符号化済みのブロックであって、前記第１の対象ブロックに隣接するブロックである隣接ブロックに対する動きベクトルの情報を用いて、前記第１の対象ブロックの前記動きベクトルの予測値を生成することができる。
【００３４】
前記予測動きベクトル生成部は、前記隣接ブロックに対して前記フレーム内で探索された前記動きベクトルの情報を用いて、前記第１の対象ブロックの前記動きベクトルの予測値を生成することができる。
【００３５】
前記隣接ブロックに対して前記フレーム内で探索された前記動きベクトルの情報がない場合、前記予測動きベクトル生成部は、前記隣接ブロックに対する前記動きベクトルの情報を０として、前記第１の対象ブロックの前記動きベクトルの予測値を生成することができる。
【００３６】
前記隣接ブロックに対して前記フレーム内で探索された前記動きベクトルの情報がない場合、前記予測動きベクトル生成部は、前記隣接ブロックに対して前記フレームと異なる符号化済みフレームを参照して探索された動きベクトルの情報を用いて、前記第１の対象ブロックの前記動きベクトルの予測値を生成することができる。
【００３７】
前記符号化済みフレームの情報が所定の値より大きい場合、前記予測動きベクトル生成部は、前記隣接ブロックに対して前記符号化済みフレームを参照して探索された前記動きベクトルの情報を用いることを禁止することができる。
【００３８】
前記隣接ブロックに対して前記フレーム内で探索された前記動きベクトルの情報がない場合、前記第１の動き予測補償部は、前記隣接ブロックの動きベクトルを、前記隣接ブロックに対して所定の位置関係で隣接するとともに前記復号画像から生成される第２のテンプレートを利用して探索し、前記予測動きベクトル生成部は、前記第１の動き予測補償部により探索された前記隣接ブロックに対する前記動きベクトルの情報を用いて、前記第１の対象ブロックの動きベクトルの予測値を生成することができる。
【００３９】
前記フレームの第２の対象ブロックの画素値を、前記フレーム内の前記復号画像から予測するイントラ予測部をさらに備えることができる。
【００４０】
前記予測動きベクトル生成部は、前記隣接ブロックに対して前記フレームと異なる符号化済みフレームを参照して探索された前記動きベクトルの情報を用いて、前記第１の対象ブロックの前記動きベクトルの予測値を生成することができる。
【００４１】
前記隣接ブロックに対して前記符号化済みフレームを参照して探索された前記動きベクトルの情報がない場合、前記予測動きベクトル生成部は、前記隣接ブロックに対する前記動きベクトルの情報を０として、前記第１の対象ブロックの動きベクトルの予測値を生成することができる。
【００４２】
前記隣接ブロックに対して前記符号化済みフレームを参照して探索された前記動きベクトルの情報がない場合、前記予測動きベクトル生成部は、前記隣接ブロックに対して前記フレーム内で探索された動きベクトルの情報を用いて、前記第１の対象ブロックの動きベクトルの予測値を生成することができる。
【００４３】
前記隣接ブロックに対して前記符号化済みフレームを参照して探索された前記動きベクトルの情報がない場合、前記第１の動き予測補償部は、前記隣接ブロックの動きベクトルを、前記隣接ブロックに対して所定の位置関係で隣接するとともに前記復号画像から生成される第２のテンプレートを利用して探索し、前記予測動きベクトル生成部は、前記第１の動き予測部により探索された前記隣接ブロックに対する前記動きベクトルの情報を用いて、前記第１の対象ブロックの動きベクトルの予測値を生成することができる。
【００４４】
符号化された動きベクトルの情報を復号する復号部と、前記復号部により復号された前記フレームの第２の対象ブロックの動きベクトルを用いて予測画像を生成する第２の動き予測補償部とをさらに備えることができる。
【００４５】
前記予測動きベクトル生成部は、符号化済みのブロックであって、前記第１の対象ブロックに隣接するブロックである隣接ブロックに対する動きベクトルの情報、前記フレームと異なる符号化済みフレームのブロックであって、前記第１の対象ブロックに対応する位置のブロックである対応ブロックと前記対応ブロックに隣接するブロックに対する動きベクトルの情報、または、前記対応ブロックと前記隣接ブロックに対する動きベクトルの情報を用いて、前記第１の対象ブロックの前記動きベクトルの予測値を生成することができる。
【００４６】
前記隣接ブロックに対して前記符号化済みフレームを参照して探索された前記動きベクトルの情報がない場合、前記予測動きベクトル生成部は、前記隣接ブロックに対する動きベクトルの情報を０として、前記第１の対象ブロックの動きベクトルの予測値を生成することができる。
【００４７】
前記隣接ブロックに対して前記符号化済みフレームを参照して探索された前記動きベクトルの情報がない場合、前記予測動きベクトル生成部は、前記隣接ブロックに対して前記フレーム内で探索された動きベクトルの情報を用いて、前記第１の対象ブロックの動きベクトルの予測値を生成することができる。
【００４８】
前記隣接ブロックに対して前記符号化済みフレームを参照して探索された前記動きベクトルの情報がない場合、前記第１の動き予測補償部は、前記隣接ブロックの動きベクトルを、前記隣接ブロックに対して所定の位置関係で隣接するとともに前記復号画像から生成される第２のテンプレートを利用して探索し、前記予測動きベクトル生成部は、前記第１の動き予測補償部により探索された前記隣接ブロックに対する前記動きベクトルの情報を用いて、前記第１の対象ブロックの動きベクトルの予測値を生成することができる。
【００４９】
符号化された動きベクトルの情報を復号する復号部と、前記復号部により復号された前記フレームの第２の対象ブロックの動きベクトルを用いて予測画像を生成する第２の動き予測補償部とをさらに備えることができる。
【００５０】
本発明の他の側面の画像復号装置は、画像復号装置が、フレームの対象ブロックの動きベクトルの予測値を生成し、生成された前記動きベクトルの予測値の周辺の所定の探索範囲において、前記対象ブロックの動きベクトルを、前記対象ブロックに対して所定の位置関係で隣接するとともに復号画像から生成されるテンプレートを利用して探索するステップを含む。
【００５１】
本発明の他の側面のプログラムは、フレームの対象ブロックの動きベクトルの予測値を生成し、生成された前記動きベクトルの予測値の周辺の所定の探索範囲において、前記対象ブロックの動きベクトルを、前記対象ブロックに対して所定の位置関係で隣接するとともに復号画像から生成されるテンプレートを利用して探索するステップを含む処理をコンピュータに実行させて、画像復号装置として機能させる。
【００５２】
本発明の一側面においては、フレームの対象ブロックの動きベクトルの予測値が生成され、生成された前記動きベクトルの予測値の周辺の所定の探索範囲において、前記対象ブロックの動きベクトルが、前記対象ブロックに対して所定の位置関係で隣接するとともに復号画像から生成されるテンプレートを利用して探索される。
【００５３】
本発明の他の側面においては、フレームの対象ブロックの動きベクトルの予測値が生成され、生成された前記動きベクトルの予測値の周辺の所定の探索範囲において、前記対象ブロックの動きベクトルが、前記対象ブロックに対して所定の位置関係で隣接するとともに復号画像から生成されるテンプレートを利用して探索される。
【発明の効果】
【００５４】
以上のように、本発明の一側面によれば、画像を符号化することができる。また、本発明の一側面によれば、演算量を増大させることなく、圧縮効率の低下を抑制することができる。
【００５５】
本発明の他の側面によれば、画像を復号することができる。また、本発明の他の側面によれば、演算量を増大させることなく、圧縮効率の低下を抑制することができる。
【発明を実施するための最良の形態】
【００５６】
以下、図を参照して本発明の実施の形態について説明する。
【００５７】
図１は、本発明の画像符号化装置の一実施の形態の構成を表している。この画像符号化装置５１は、Ａ／Ｄ変換部６１、画面並べ替えバッファ６２、演算部６３、直交変換部６４、量子化部６５、可逆符号化部６６、蓄積バッファ６７、逆量子化部６８、逆直交変換部６９、演算部７０、デブロックフィルタ７１、フレームメモリ７２、スイッチ７３、イントラ予測部７４、イントラテンプレート動き予測・補償部７５、イントラ予測動きベクトル生成部７６、動き予測・補償部７７、インターテンプレート動き予測・補償部７８、インター予測動きベクトル生成部７９、予測画像選択部８０、およびレート制御部８１により構成されている。
【００５８】
なお、以下、イントラテンプレート動き予測・補償部７５およびインターテンプレート動き予測・補償部７８を、それぞれ、イントラＴＰ動き予測・補償部７５およびインターＴＰ動き予測・補償部７８と称する。
【００５９】
この画像符号化装置５１は、例えば、Ｈ．２６４およびＭＰＥＧ−４  Ｐａｒｔ１０  （Ａｄｖａｎｃｅｄ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ）（以下Ｈ．２６４／ＡＶＣと記す）方式で画像を圧縮符号化する。
【００６０】
Ｈ．２６４／ＡＶＣ方式においては、ブロックサイズを可変にして、動き予測・補償が行われる。すなわち、Ｈ．２６４／ＡＶＣ方式においては、１６×１６画素で構成される１つのマクロブロックを、図２に示されるように、１６×１６画素、１６×８画素、８×１６画素、あるいは８×８画素のいずれかのパーティションに分割して、それぞれ独立した動きベクトル情報を持つことが可能である。また、８×８画素のパーティションに関しては、図２に示されるように、８×８画素、８×４画素、４×８画素、あるいは４×４画素のいずれかのサブパーティションに分割し、それぞれ独立した動きベクトル情報を持つことが可能である。
【００６１】
また、Ｈ．２６４／ＡＶＣ方式においては、６タップのFIR (Finite Impulse Response Filter)フィルタを用いた１／４画素精度の予測・補償処理が行われている。図３を参照して、Ｈ．２６４／ＡＶＣ方式における小数画素精度の予測・補償処理について説明する。
【００６２】
図３の例において、位置Ａは、整数精度画素の位置、位置ｂ，ｃ，ｄは、１／２画素精度の位置、位置ｅ１，ｅ２，ｅ３は、１／４画素精度の位置を示している。まず、以下においては、Clip()を次の式（１）のように定義する。
【００６３】
【数１】
2010016454.tif 000003
なお、入力画像が８ビット精度である場合、max_pixの値は255となる。
【００６４】
位置ｂおよびｄにおける画素値は、６タップのFIRフィルタを用いて、次の式（２）のように生成される。
【数２】
2010016454.tif 000004
【００６５】
位置ｃにおける画素値は、水平方向および垂直方向に６タップのFIRフィルタを適用し、次の式（３）のように生成される。
【数３】
2010016454.tif 000005
なお、Clip処理は、水平方向および垂直方向の積和処理の両方を行った後、最後に１度のみ実行される。
【００６６】
位置ｅ１乃至ｅ３は、次の式（４）のように線形内挿により生成される。
【数４】
2010016454.tif 000006
【００６７】
図１に戻って、Ａ／Ｄ変換部６１は、入力された画像をＡ／Ｄ変換し、画面並べ替えバッファ６２に出力し、記憶させる。画面並べ替えバッファ６２は、記憶した表示の順番のフレームの画像を、ＧＯＰ（Group of Picture）に応じて、符号化のためのフレームの順番に並べ替える。
【００６８】
演算部６３は、画面並べ替えバッファ６２から読み出された画像から、予測画像選択部８０により選択されたイントラ予測部７４からの予測画像または動き予測・補償部７７からの予測画像を減算し、その差分情報を直交変換部６４に出力する。直交変換部６４は、演算部６３からの差分情報に対して、離散コサイン変換、カルーネン・レーベ変換等の直交変換を施し、その変換係数を出力する。量子化部６５は直交変換部６４が出力する変換係数を量子化する。
【００６９】
量子化部６５の出力となる、量子化された変換係数は、可逆符号化部６６に入力され、ここで可変長符号化、算術符号化等の可逆符号化が施され、圧縮される。なお、圧縮画像は、蓄積バッファ６７に蓄積された後、出力される。レート制御部８１は、蓄積バッファ６７に蓄積された圧縮画像に基づいて、量子化部６５の量子化動作を制御する。
【００７０】
また、量子化部６５より出力された、量子化された変換係数は、逆量子化部６８にも入力され、逆量子化された後、さらに逆直交変換部６９において逆直交変換される。逆直交変換された出力は演算部７０により予測画像選択部８０から供給される予測画像と加算されて、局部的に復号された画像となる。デブロックフィルタ７１は、復号された画像のブロック歪を除去した後、フレームメモリ７２に供給し、蓄積させる。フレームメモリ７２には、デブロックフィルタ７１によりデブロックフィルタ処理される前の画像も供給され、蓄積される。
【００７１】
スイッチ７３はフレームメモリ７２に蓄積された参照画像を動き予測・補償部７７またはイントラ予測部７４に出力する。
【００７２】
この画像符号化装置５１においては、例えば、画面並べ替えバッファ６２からのＩピクチャ、Ｂピクチャ、およびＰピクチャが、イントラ予測（イントラ処理とも称する）する画像として、イントラ予測部７４に供給される。また、画面並べ替えバッファ６２から読み出されたＢピクチャ、およびＰピクチャが、インター予測（インター処理とも称する）する画像として、動き予測・補償部７７に供給される。
【００７３】
イントラ予測部７４は、画面並べ替えバッファ６２から読み出されたイントラ予測する画像とフレームメモリ７２から供給された参照画像に基づいて、候補となる全てのイントラ予測モードのイントラ予測処理を行い、予測画像を生成する。
【００７４】
また、イントラ予測部７４は、画面並べ替えバッファ６２から読み出されたイントラ予測する画像と、スイッチ７３を介してフレームメモリ７２から供給される参照画像を、イントラＴＰ動き予測・補償部７５に供給する。
【００７５】
イントラ予測部７４は、候補となる全てのイントラ予測モードに対してコスト関数値を算出する。イントラ予測部７４は、算出したコスト関数値と、イントラＴＰ動き予測・補償部７５により算出されたイントラテンプレート予測モードに対してのコスト関数のうち、最小値を与える予測モードを、最適イントラ予測モードとして決定する。
【００７６】
イントラ予測部７４は、最適イントラ予測モードで生成された予測画像とそのコスト関数を、予測画像選択部８０に供給する。イントラ予測部７４は、予測画像選択部８０により最適イントラ予測モードで生成された予測画像が選択された場合、最適イントラ予測モードに関する情報を、可逆符号化部６６に供給する。可逆符号化部６６は、この情報を符号化し、圧縮画像におけるヘッダ情報の一部とする。
【００７７】
イントラＴＰ動き予測・補償部７５は、画面並べ替えバッファ６２から読み出されたイントラ予測する画像と、フレームメモリ７２から供給される参照画像に基づき、イントラテンプレート予測モードの動き予測と補償処理を行い、予測画像を生成する。その際、イントラＴＰ動き予測・補償部７５は、イントラ予測動きベクトル生成部７６により生成された予測動きベクトル情報の周辺の所定の探索範囲での動き予測を行う。すなわち、イントラＴＰ動き予測・補償部７５においては、予測動きベクトル情報を中心とした所定の探索範囲での動き予測が行われる。
【００７８】
イントラテンプレート予測モードの動き予測により探索された動きベクトル情報（以下、適宜、イントラ動きベクトル情報とも称する）は、イントラＴＰ動き予測・補償部７５の内蔵メモリ（図示せぬ）に記憶される。
【００７９】
また、イントラＴＰ動き予測・補償部７５は、イントラテンプレート予測モードに対してコスト関数値を算出し、算出したコスト関数値と予測画像を、イントラ予測部７４に供給する。
【００８０】
イントラ予測動きベクトル生成部７６は、イントラＴＰ動き予測・補償部７５の内蔵メモリに記憶されている、符号化済みブロックのイントラ動きベクトル情報を用いて、対象ブロックに対する予測動きベクトル情報（以下、適宜、動きベクトルの予測値とも称する）を生成する。予測動きベクトル情報の生成には、例えば、対象ブロックに隣接するブロックのイントラ動きベクトル情報が用いられる。
【００８１】
動き予測・補償部７７は、候補となる全てのインター予測モードの動き予測・補償処理を行う。すなわち、動き予測・補償部７７は、画面並べ替えバッファ６２から読み出されたインター予測する画像と、スイッチ７３を介してフレームメモリ７２から供給される参照画像に基づいて、候補となる全てのインター予測モードの動きベクトルを検出し、動きベクトルに基づいて参照画像に動き予測と補償処理を施し、予測画像を生成する。
【００８２】
また、動き予測・補償部７７は、画面並べ替えバッファ６２から読み出されたインター予測する画像と、スイッチ７３を介してフレームメモリ７２から供給される参照画像を、インターＴＰ動き予測・補償部７８に供給する。
【００８３】
動き予測・補償部７７は、候補となる全てのインター予測モードに対してコスト関数値を算出する。動き予測・補償部７７は、算出したインター予測モードに対してのコスト関数値と、インターＴＰ動き予測・補償部７８により算出されたインターテンプレート予測モードに対してのコスト関数値のうち、最小値を与える予測モードを、最適インター予測モードとして決定する。
【００８４】
動き予測・補償部７７は、最適インター予測モードで生成された予測画像とそのコスト関数を、予測画像選択部８０に供給する。動き予測・補償部７７は、予測画像選択部８０により最適インター予測モードで生成された予測画像が選択された場合、最適インター予測モードに関する情報、およびその最適インター予測モードに応じた情報（動きベクトル情報、参照フレーム情報など）を可逆符号化部６６に出力する。可逆符号化部６６は、動き予測・補償部７７からの情報をやはり可変長符号化、算術符号化といった可逆符号化処理し、圧縮画像のヘッダ部に挿入する。
【００８５】
インターＴＰ動き予測・補償部７８は、画面並べ替えバッファ６２から読み出されたインター予測する画像と、フレームメモリ７２から供給される参照画像に基づいて、インターテンプレート予測モードの動き予測と補償処理を行い、予測画像を生成する。その際、インターＴＰ動き予測・補償部７８は、インター予測動きベクトル生成部７９により生成された予測動きベクトル情報の周辺の所定の探索範囲での動き予測を行う。すなわち、インターＴＰ動き予測・補償部７８においては、予測動きベクトル情報を中心とした所定の探索範囲での動き予測が行われる。
【００８６】
インターテンプレート予測モードの動き予測により探索された動きベクトル情報（以下、適宜、インター動きベクトル情報とも称する）は、インターＴＰ動き予測・補償部７８の内蔵メモリ（図示せぬ）に記憶される。
【００８７】
また、インターＴＰ動き予測・補償部７８は、インターテンプレート予測モードに対してコスト関数値を算出し、算出したコスト関数値と予測画像を、動き予測・補償部７７に供給する。
【００８８】
インター予測動きベクトル生成部７９は、インターＴＰ動き予測・補償部７８の内蔵メモリに記憶されている、符号化済みブロックの動きベクトル情報を用いて、対象ブロックに対する予測動きベクトル情報を生成する。予測動きベクトル情報の生成には、例えば、対象ブロックに隣接するブロックのインター動きベクトル情報が用いられる。
【００８９】
予測画像選択部８０は、イントラ予測部７４または動き予測・補償部７７より出力された各コスト関数値に基づいて、最適イントラ予測モードと最適インター予測モードから、最適予測モードを決定し、決定された最適予測モードの予測画像を選択し、演算部６３，７０に供給する。このとき、予測画像選択部８０は、予測画像の選択情報を、イントラ予測部７４または動き予測・補償部７７に供給する。
【００９０】
レート制御部８１は、蓄積バッファ６７に蓄積された圧縮画像に基づいて、オーバーフローあるいはアンダーフローが発生しないように、量子化部６５の量子化動作のレートを制御する。
【００９１】
次に、図４のフローチャートを参照して、図１の画像符号化装置５１の符号化処理について説明する。
【００９２】
ステップＳ１１において、Ａ／Ｄ変換部６１は入力された画像をＡ／Ｄ変換する。ステップＳ１２において、画面並べ替えバッファ６２は、Ａ／Ｄ変換部６１より供給された画像を記憶し、各ピクチャの表示する順番から符号化する順番への並べ替えを行う。
【００９３】
ステップＳ１３において、演算部６３は、ステップＳ１２で並び替えられた画像と予測画像との差分を演算する。予測画像は、インター予測する場合は動き予測・補償部７７から、イントラ予測する場合はイントラ予測部７４から、それぞれ予測画像選択部８０を介して演算部６３に供給される。
【００９４】
差分データは元の画像データに較べてデータ量が小さくなっている。したがって、画像をそのまま符号化する場合に較べて、データ量を圧縮することができる。
【００９５】
ステップＳ１４において、直交変換部６４は演算部６３から供給された差分情報を直交変換する。具体的には、離散コサイン変換、カルーネン・レーベ変換等の直交変換が行われ、変換係数が出力される。ステップＳ１５において、量子化部６５は変換係数を量子化する。この量子化に際しては、後述するステップＳ２５の処理で説明されるように、レートが制御される。
【００９６】
以上のようにして量子化された差分情報は、次のようにして局部的に復号される。すなわち、ステップＳ１６において、逆量子化部６８は量子化部６５により量子化された変換係数を量子化部６５の特性に対応する特性で逆量子化する。ステップＳ１７において、逆直交変換部６９は逆量子化部６８により逆量子化された変換係数を直交変換部６４の特性に対応する特性で逆直交変換する。
【００９７】
ステップＳ１８において、演算部７０は、予測画像選択部８０を介して入力される予測画像を局部的に復号された差分情報に加算し、局部的に復号された画像（演算部６３への入力に対応する画像）を生成する。ステップＳ１９においてデブロックフィルタ７１は、演算部７０より出力された画像をフィルタリングする。これによりブロック歪みが除去される。ステップＳ２０においてフレームメモリ７２は、フィルタリングされた画像を記憶する。なお、フレームメモリ７２にはデブロックフィルタ７１によりフィルタ処理されていない画像も演算部７０から供給され、記憶される。
【００９８】
ステップＳ２１において、イントラ予測部７４、イントラＴＰ動き予測・補償部７５、動き予測・補償部７７、およびインターＴＰ動き予測・補償部７８は、それぞれ画像の予測処理を行う。すなわち、ステップＳ２１において、イントラ予測部７４は、イントラ予測モードのイントラ予測処理を行い、イントラＴＰ動き予測・補償部７５は、イントラテンプレート予測モードの動き予測・補償処理を行う。また、動き予測・補償部７７は、インター予測モードの動き予測・補償処理を行い、インターＴＰ動き予測・補償部７８は、インターテンプレート予測モードの動き予測・補償処理を行う。
【００９９】
ステップＳ２１における予測処理の詳細は、図５を参照して後述するが、この処理により、候補となる全ての予測モードでの予測処理がそれぞれ行われ、候補となる全ての予測モードでのコスト関数がそれぞれ算出される。そして、算出されたコスト関数値に基づいて、最適イントラ予測モードが選択され、最適イントラ予測モードのイントラ予測により生成された予測画像とそのコスト関数が予測画像選択部８０に供給される。また、算出されたコスト関数に基づいて、インター予測モードとインターテンプレート予測モードの中から、最適インター予測モードが決定され、最適インター予測モードで生成された予測画像とそのコスト関数が、予測画像選択部８０に供給される。
【０１００】
ステップＳ２２において、予測画像選択部８０は、イントラ予測部７４および動き予測・補償部７７より出力された各コスト関数値に基づいて、最適イントラ予測モードと最適インター予測モードのうちの一方を、最適予測モードに決定し、決定された最適予測モードの予測画像を選択し、演算部６３，７０に供給する。この予測画像が、上述したように、ステップＳ１３，Ｓ１８の演算に利用される。
【０１０１】
なお、この予測画像の選択情報は、イントラ予測部７４または動き予測・補償部７７に供給される。最適イントラ予測モードの予測画像が選択された場合、イントラ予測部７４は、最適イントラ予測モードに関する情報（すなわち、イントラ予測モード情報またはイントラテンプレート予測モード情報）を、可逆符号化部６６に供給する。
【０１０２】
最適インター予測モードの予測画像が選択された場合、動き予測・補償部７７は、最適インター予測モードに関する情報、およびその最適インター予測モードに応じた情報（動きベクトル情報、参照フレーム情報など）を可逆符号化部６６に出力する。すなわち、最適インター予測モードとして、インター予測モードによる予測画像が選択されているときには、動き予測・補償部７７は、インター予測モード情報、動きベクトル情報、参照フレーム情報を可逆符号化部６６に出力する。一方、最適インター予測モードとして、インターテンプレート予測モードによる予測画像が選択されているときには、動き予測・補償部７７は、インターテンプレート予測モード情報を可逆符号化部６６に出力する。
【０１０３】
ステップＳ２３において、可逆符号化部６６は量子化部６５より出力された量子化された変換係数を符号化する。すなわち、差分画像が可変長符号化、算術符号化等の可逆符号化され、圧縮される。このとき、上述したステップＳ２２において可逆符号化部６６に入力された、イントラ予測部７４からの最適イントラ予測モードに関する情報や、動き予測・補償部７７からの最適インター予測モードに応じた情報（予測モード情報、動きベクトル情報、参照フレーム情報など）なども符号化され、ヘッダ情報に付加される。
【０１０４】
ステップＳ２４において蓄積バッファ６７は差分画像を圧縮画像として蓄積する。蓄積バッファ６７に蓄積された圧縮画像が適宜読み出され、伝送路を介して復号側に伝送される。
【０１０５】
ステップＳ２５においてレート制御部８１は、蓄積バッファ６７に蓄積された圧縮画像に基づいて、オーバーフローあるいはアンダーフローが発生しないように、量子化部６５の量子化動作のレートを制御する。
【０１０６】
次に、図５のフローチャートを参照して、図４のステップＳ２１における予測処理を説明する。
【０１０７】
画面並べ替えバッファ６２から供給される処理対象の画像がイントラ処理されるブロックの画像である場合、参照される復号済みの画像がフレームメモリ７２から読み出され、スイッチ７３を介してイントラ予測部７４に供給される。これらの画像に基づいて、ステップＳ３１において、イントラ予測部７４は処理対象のブロックの画素を、候補となる全てのイントラ予測モードでイントラ予測する。なお、参照される復号済みの画素としては、デブロックフィルタ７１によりデブロックフィルタリングされていない画素が用いられる。
【０１０８】
ステップＳ３１におけるイントラ予測処理の詳細は、図１６を参照して後述するが、この処理により、候補となる全てのイントラ予測モードでイントラ予測が行われ、候補となる全てのイントラ予測モードに対してコスト関数値が算出される。そして、算出されたコスト関数値に基づいて、全てのイントラ予測モードの中から、最適とされる、１つのイントラ予測モードが選択される。
【０１０９】
画面並べ替えバッファ６２から供給される処理対象の画像がインター処理される画像である場合、参照される画像がフレームメモリ７２から読み出され、スイッチ７３を介して動き予測・補償部７７に供給される。これらの画像に基づいて、ステップＳ３２において、動き予測・補償部７７はインター動き予測処理を行う。すなわち、動き予測・補償部７７は、フレームメモリ７２から供給される画像を参照して、候補となる全てのインター予測モードの動き予測処理を行う。
【０１１０】
ステップＳ３２におけるインター動き予測処理の詳細は、図１７を参照して後述するが、この処理により、候補となる全てのインター予測モードで動き予測処理が行われ、候補となる全てのインター予測モードに対してコスト関数値が算出される。
【０１１１】
また、画面並べ替えバッファ６２から供給される処理対象の画像がイントラ処理されるブロックの画像である場合、フレームメモリ７２から読み出された参照される復号済みの画像は、イントラ予測部７４を介してイントラＴＰ動き予測・補償部７５にも供給される。これらの画像に基づいて、ステップＳ３３において、イントラＴＰ動き予測・補償部７５は、イントラテンプレート予測モードで、イントラテンプレート動き予測処理を行う。
【０１１２】
ステップＳ３３におけるイントラテンプレート動き予測処理の詳細は、図２０を参照して後述するが、この処理により、イントラテンプレート予測モードで動き予測処理が行われ、イントラテンプレート予測モードに対してコスト関数値が算出される。そして、イントラテンプレート予測モードの動き予測処理により生成された予測画像とそのコスト関数がイントラ予測部７４に供給される。
【０１１３】
ステップＳ３４において、イントラ予測部７４は、ステップＳ３１において選択されたイントラ予測モードに対してのコスト関数値と、ステップＳ３３において算出されたイントラテンプレート予測モードに対してのコスト関数値を比較し、最小値を与える予測モードを、最適イントラ予測モードとして決定する。そして、イントラ予測部７４は、最適イントラ予測モードで生成された予測画像とそのコスト関数を、予測画像選択部８０に供給する。
【０１１４】
さらに、画面並べ替えバッファ６２から供給される処理対象の画像がインター処理される画像である場合、フレームメモリ７２から読み出された参照される画像は、スイッチ７３および動き予測・補償部７７を介してインターＴＰ動き予測・補償部７８にも供給される。これらの画像に基づいて、インターＴＰ動き予測・補償部７８は、ステップＳ３５において、インターテンプレート予測モードで、インターテンプレート動き予測処理を行う。
【０１１５】
ステップＳ３５におけるインターテンプレート動き予測処理の詳細は、図２２を参照して後述するが、この処理により、インターテンプレート予測モードで動き予測処理が行われ、インターテンプレート予測モードに対してコスト関数値が算出される。そして、インターテンプレート予測モードの動き予測処理により生成された予測画像とそのコスト関数が動き予測・補償部７７に供給される。
【０１１６】
ステップＳ３６において、動き予測・補償部７７は、ステップＳ３２において選択された最適なインター予測モードに対してコスト関数値と、ステップＳ３５において算出されたインターテンプレート予測モードに対してのコスト関数値を比較し、最小値を与える予測モードを、最適インター予測モードとして決定する。そして、動き予測・補償部７７は、最適インター予測モードで生成された予測画像とそのコスト関数を、予測画像選択部８０に供給する。
【０１１７】
次に、Ｈ．２６４／ＡＶＣ方式で定められているイントラ予測の各モードについて説明する。
【０１１８】
まず、輝度信号に対するイントラ予測モードについて説明する。輝度信号のイントラ予測モードには、９種類の４×４画素のブロック単位、並びに４種類の１６×１６画素のマクロブロック単位の予測モードがある。図６に示されるように、１６×１６画素のイントラ予測モードの場合、各ブロックの直流成分を集めて、４×４行列が生成され、これに対して、さらに、直交変換が施される。
【０１１９】
なお、ハイプロファイルについては、８次のDCTブロックに対して、８×８画素のブロック単位の予測モードが定められているが、この方式については、次に説明する４×４画素のイントラ予測モードの方式に準じる。
【０１２０】
図７および図８は、９種類の輝度信号の４×４画素のイントラ予測モード(Intra_4x4_pred_mode)を示す図である。平均値（ＤＣ）予測を示すモード２以外の８種類の各モードは、それぞれ、図９の番号０，１，３乃至８で示される方向に対応している。
【０１２１】
９種類のIntra_4x4_pred_modeについて、図１０を参照して説明する。図１０の例において、画素ａ乃至ｐは、イントラ処理される対象ブロックの画素を表し、画素値Ａ乃至Ｍは、隣接ブロックに属する画素の画素値を表している。すなわち、画素ａ乃至ｐは、画面並べ替えバッファ６２から読み出された処理対象の画像であり、画素値Ａ乃至Ｍは、フレームメモリ７２から読み出され、参照される復号済みの画像の画素値である。
【０１２２】
図７および図８の各イントラ予測モードの場合、画素ａ乃至ｐの予測画素値は、隣接ブロックに属する画素の画素値Ａ乃至Ｍを用いて、以下のように生成される。なお、画素値が“available”であるとは、画枠の端であったり、あるいは、まだ符号化されていないなどの理由がなく、利用可能であることを表し、画素値が“unavailable”であるとは、画枠の端であったり、あるいは、まだ符号化されていないなどの理由により利用可能ではないことを表す。
【０１２３】
モード０はVertical Predictionであり、画素値Ａ乃至Ｄが “available” の場合のみ適用される。この場合、画素ａ乃至ｐの予測画素値は、次の式（５）のように生成される。
画素ａ, ｅ, ｉ, ｍの予測画素値  ＝  Ａ
画素ｂ, ｆ, ｊ, ｎの予測画素値  ＝  Ｂ
画素ｃ, ｇ, ｋ, ｏの予測画素値  ＝  Ｃ
画素ｄ, ｈ, ｌ, ｐの予測画素値  ＝  Ｄ                            ・・・（５）
【０１２４】
モード１はHorizontal Predictionであり、画素値Ｉ乃至Ｌが “available” の場合のみ適用される。この場合、画素ａ乃至ｐの予測画素値は、次の式（６）のように生成される。
画素ａ, ｂ, ｃ, ｄの予測画素値  ＝  Ｉ
画素ｅ, ｆ, ｇ, ｈの予測画素値  ＝  Ｊ
画素ｉ, ｊ, ｋ, ｌの予測画素値  ＝  Ｋ
画素ｍ, ｎ, ｏ, ｐの予測画素値  ＝  Ｌ                            ・・・（６）
【０１２５】
モード２はDC Predictionであり、画素値Ａ,Ｂ,Ｃ,Ｄ,Ｉ,Ｊ,Ｋ,Ｌが全て “available” である時、予測画素値は式（７）のように生成される。
（Ａ＋Ｂ＋Ｃ＋Ｄ＋Ｉ＋Ｊ＋Ｋ＋Ｌ＋４）  ＞＞  ３                  ・・・（７）
【０１２６】
また、画素値Ａ,Ｂ,Ｃ,Ｄが全て “unavailable” である時、予測画素値は式（８）のように生成される。
（Ｉ＋Ｊ＋Ｋ＋Ｌ＋２）  ＞＞  ２                                  ・・・（８）
【０１２７】
また、画素値Ｉ,Ｊ,Ｋ,Ｌが全て “unavailable” である時、予測画素値は式（９）のように生成される。
（Ａ＋Ｂ＋Ｃ＋Ｄ＋２）  ＞＞  ２                                  ・・・（９）
【０１２８】
なお、画素値Ａ,Ｂ,Ｃ,Ｄ,Ｉ,Ｊ,Ｋ,Ｌが全て“unavailable” である時、１２８を予測画素値として用いる。
【０１２９】
モード３はDiagonal_Down_Left Predictionであり、画素値Ａ,Ｂ,Ｃ,Ｄ,Ｉ,Ｊ,Ｋ,Ｌ,Ｍが“available”の場合のみ適用される。この場合、画素ａ乃至ｐの予測画素値は、次の式（１０）のように生成される。
画素ａの予測画素値                  ＝  （Ａ＋２Ｂ＋Ｃ＋２）  ＞＞  ２
画素ｂ，ｅの予測画素値              ＝  （Ｂ＋２Ｃ＋Ｄ＋２）  ＞＞  ２
画素ｃ，ｆ，ｉの予測画素値          ＝  （Ｃ＋２Ｄ＋Ｅ＋２）  ＞＞  ２
画素ｄ，ｇ，ｊ，ｍの予測画素値      ＝  （Ｄ＋２Ｅ＋Ｆ＋２）  ＞＞  ２
画素ｈ，ｋ，ｎの予測画素値          ＝  （Ｅ＋２Ｆ＋Ｇ＋２）  ＞＞  ２
画素ｌ，ｏの予測画素値              ＝  （Ｆ＋２Ｇ＋Ｈ＋２）  ＞＞  ２
画素ｐの予測画素値                  ＝  （Ｇ＋３Ｈ＋２）      ＞＞  ２
・・・（１０）
【０１３０】
モード４はDiagonal_Down_Right Predictionであり、画素値Ａ,Ｂ,Ｃ,Ｄ,Ｉ,Ｊ,Ｋ,Ｌ,Ｍが “available” の場合のみ適用される。この場合、画素ａ乃至ｐの予測画素値は、次の式（１１）のように生成される。
画素ｍの予測画素値                  ＝  （Ｊ＋２Ｋ＋Ｌ＋２）  ＞＞  ２
画素ｉ，ｎの予測画素値              ＝  （Ｉ＋２Ｊ＋Ｋ＋２）  ＞＞  ２
画素ｅ，ｊ，ｏの予測画素値          ＝  （Ｍ＋２Ｉ＋Ｊ＋２）  ＞＞  ２
画素ａ，ｆ，ｋ，ｐの予測画素値      ＝  （Ａ＋２Ｍ＋Ｉ＋２）  ＞＞  ２
画素ｂ，ｇ，ｌの予測画素値          ＝  （Ｍ＋２Ａ＋Ｂ＋２）  ＞＞  ２
画素ｃ，ｈの予測画素値              ＝  （Ａ＋２Ｂ＋Ｃ＋２）  ＞＞  ２
画素ｄの予測画素値                  ＝  （Ｂ＋２Ｃ＋Ｄ＋２）  ＞＞  ２
・・・（１１）
【０１３１】
モード５はDiagonal_Vertical_Right Predictionであり、画素値Ａ,Ｂ,Ｃ,Ｄ,Ｉ,Ｊ,Ｋ,Ｌ,Ｍが“available”の場合のみ適用される。この場合、画素ａ乃至ｐの予測画素値は、次の式（１２）のように生成される。
画素ａ，ｊの予測画素値              ＝  （Ｍ＋Ａ＋１）        ＞＞  １
画素ｂ，ｋの予測画素値              ＝  （Ａ＋Ｂ＋１）        ＞＞  １
画素ｃ，ｌの予測画素値              ＝  （Ｂ＋Ｃ＋１）        ＞＞  １
画素ｄの予測画素値                  ＝  （Ｃ＋Ｄ＋１）        ＞＞  １
画素ｅ，ｎの予測画素値              ＝  （Ｉ＋２Ｍ＋Ａ＋２）  ＞＞  ２
画素ｆ，ｏの予測画素値              ＝  （Ｍ＋２Ａ＋Ｂ＋２）  ＞＞  ２
画素ｇ，ｐの予測画素値              ＝  （Ａ＋２Ｂ＋Ｃ＋２）  ＞＞  ２
画素ｈの予測画素値                  ＝  （Ｂ＋２Ｃ＋Ｄ＋２）  ＞＞  ２
画素ｉの予測画素値                  ＝  （Ｍ＋２Ｉ＋Ｊ＋２）  ＞＞  ２
画素ｍの予測画素値                  ＝  （Ｉ＋２Ｊ＋Ｋ＋２）  ＞＞  ２
・・・（１２）
【０１３２】
モード６はHorizontal_Down Predictionであり、画素値Ａ,Ｂ,Ｃ,Ｄ,Ｉ,Ｊ,Ｋ,Ｌ,Ｍが“available”の場合のみ適用される。この場合、画素ａ乃至ｐの予測画素値は、次の式（１３）のように生成される。
画素ａ，ｇの予測画素値              ＝  （Ｍ＋Ｉ＋１）        ＞＞  １
画素ｂ，ｈの予測画素値              ＝  （Ｉ＋２Ｍ＋Ａ＋２）  ＞＞  ２
画素ｃの予測画素値                  ＝  （Ｍ＋２Ａ＋Ｂ＋２）  ＞＞  ２
画素ｄの予測画素値                  ＝  （Ａ＋２Ｂ＋Ｃ＋２）  ＞＞  ２
画素ｅ，ｋの予測画素値              ＝  （Ｉ＋Ｊ＋１）        ＞＞  １
画素ｆ，ｌの予測画素値              ＝  （Ｍ＋２Ｉ＋Ｊ＋２）  ＞＞  ２
画素ｉ，ｏの予測画素値              ＝  （Ｊ＋Ｋ＋１）        ＞＞  １
画素ｊ，ｐの予測画素値              ＝  （Ｉ＋２Ｊ＋Ｋ＋２）  ＞＞  ２
画素ｍの予測画素値                  ＝  （Ｋ＋Ｌ＋１）        ＞＞  １
画素ｎの予測画素値                  ＝  （Ｊ＋２Ｋ＋Ｌ＋２）  ＞＞  ２
・・・（１３）
【０１３３】
モード７は、Vertical_Left Predictionであり、画素値Ａ,Ｂ,Ｃ,Ｄ,Ｉ,Ｊ,Ｋ,Ｌ,Ｍが“available”の場合のみ適用される。この場合、画素ａ乃至ｐの予測画素値は、次の式（１４）のように生成される。
画素ａの予測画素値                  ＝  （Ａ＋Ｂ＋１）        ＞＞  １
画素ｂ，ｉの予測画素値              ＝  （Ｂ＋Ｃ＋１）        ＞＞  １
画素ｃ，ｊの予測画素値              ＝  （Ｃ＋Ｄ＋１）        ＞＞  １
画素ｄ，ｋの予測画素値              ＝  （Ｄ＋Ｅ＋１）        ＞＞  １
画素ｌの予測画素値                  ＝  （Ｅ＋Ｆ＋１）        ＞＞  １
画素ｅの予測画素値                  ＝  （Ａ＋２Ｂ＋Ｃ＋２）  ＞＞  ２
画素ｆ，ｍの予測画素値              ＝  （Ｂ＋２Ｃ＋Ｄ＋２）  ＞＞  ２
画素ｇ，ｎの予測画素値              ＝  （Ｃ＋２Ｄ＋Ｅ＋２）  ＞＞  ２
画素ｈ，ｏの予測画素値              ＝  （Ｄ＋２Ｅ＋Ｆ＋２）  ＞＞  ２
画素ｐの予測画素値                  ＝  （Ｅ＋２Ｆ＋Ｇ＋２）  ＞＞  ２
・・・（１４）
【０１３４】
モード８は、Horizontal_Up Predictionであり、画素値Ａ,Ｂ,Ｃ,Ｄ,Ｉ,Ｊ,Ｋ,Ｌ,Ｍが“available”の場合のみ適用される。この場合、画素ａ乃至ｐの予測画素値は、次の式（１５）のように生成される。
画素ａの予測画素値                  ＝  （Ｉ＋Ｊ＋１）        ＞＞  １
画素ｂの予測画素値                  ＝  （Ｉ＋２Ｊ＋Ｋ＋２）  ＞＞  ２
画素ｃ，ｅの予測画素値              ＝  （Ｊ＋Ｋ＋１）        ＞＞  １
画素ｄ，ｆの予測画素値              ＝  （Ｊ＋２Ｋ＋Ｌ＋２）  ＞＞  ２
画素ｇ，ｉの予測画素値              ＝  （Ｋ＋Ｌ＋１）        ＞＞  １
画素ｈ，ｊの予測画素値              ＝  （Ｋ＋３Ｌ＋２）      ＞＞  ２
画素ｋ，ｌ，ｍ，ｎ，ｏ，ｐの予測画素値  ＝  Ｌ
・・・（１５）
【０１３５】
次に、図１１を参照して、輝度信号の４×４画素のイントラ予測モード(Intra_4x4_pred_mode)の符号化方式について説明する。
【０１３６】
図１１の例において、４×４画素からなり、符号化対象となる対象ブロックＣが示されており、対象ブロックＣに隣接する４×４画素からなるブロックＡおよびブロックＢが示されている。
【０１３７】
この場合、対象ブロックＣにおけるIntra_4x4_pred_modeと、ブロックＡおよびブロックＢにおけるIntra_4x4_pred_modeとは高い相関があると考えられる。この相関性を用いて、次のように符号化処理を行うことにより、より高い符号化効率を実現することができる。
【０１３８】
すなわち、図１１の例において、ブロックＡおよびブロックＢにおけるIntra_4x4_pred_modeを、それぞれ、Intra_4x4_pred_modeAおよびIntra_4x4_pred_modeBとして、MostProbableModeを次の式（１６）と定義する。
MostProbableMode=Min(Intra_4x4_pred_modeA, Intra_4x4_pred_modeB)
・・・（１６）
【０１３９】
すなわち、ブロックＡおよびブロックＢのうち、より小さなmode_numberを割り当てられている方をMostProbableModeとする。
【０１４０】
ビットストリーム中には、対象ブロックＣに対するパラメータとして、prev_intra4x4_pred_mode_flag[luma4x4BlkIdx] および rem_intra4x4_pred_mode[luma4x4BlkIdx] という２つの値が定義されており、次の式（１７）に示される擬似コードに基づく処理により、復号処理が行われ、対象ブロックＣに対するIntra_4x4_pred_mode、Intra4x4PredMode[luma4x4BlkIdx] の値を得ることができる。
【０１４１】
if(prev_intra4x4_pred_mode_flag[luma4x4BlkIdx])
Intra4x4PredMode[luma4x4BlkIdx] = MostProbableMode
else
if(rem_intra4x4_pred_mode[luma4x4BlkIdx] < MostProbableMode)
Intra4x4PredMode[luma4x4BlkIdx]=rem_intra4x4_pred_mode[luma4x4BlkIdx]
else
Intra4x4PredMode[luma4x4BlkIdx]=rem_intra4x4_pred_mode[luma4x4BlkIdx] + 1
・・・（１７）
【０１４２】
次に、１６×１６画素のイントラ予測モードについて説明する。図１２および図１３は、４種類の輝度信号の１６×１６画素のイントラ予測モード(Intra_16x16_pred_mode)を示す図である。
【０１４３】
４種類のイントラ予測モードについて、図１４を参照して説明する。図１４の例において、イントラ処理される対象マクロブロックＡが示されており、P(x,y);x,y=-1,0,…,15は、対象マクロブロックＡに隣接する画素の画素値を表している。
【０１４４】
モード０は、Vertical Predictionであり、P(x,-1); x,y=-1,0,…,15が “available” である時のみ適用される。この場合、対象マクロブロックＡの各画素の予測画素値Pred(x,y)は、次の式（１８）のように生成される。
Pred(x,y) = P(x,-1);x,y=0,…,15
・・・（１８）
【０１４５】
モード１はHorizontal Predictionであり、P(-1,y); x,y=-1,0,…,15が “available” である時のみ適用される。この場合、対象マクロブロックＡの各画素の予測画素値Pred(x,y)は、次の式（１９）のように生成される。
Pred(x,y) = P(-1,y);x,y=0,…,15
・・・（１９）
【０１４６】
モード２はDC Predictionであり、P(x,-1)およびP(-1,y); x,y=-1,0,…,15が全て “available” である場合、対象マクロブロックＡの各画素の予測画素値Pred(x,y)は、次の式（２０）のように生成される。
【数５】
2010016454.tif 000007
【０１４７】
また、P(x,-1); x,y=-1,0,…,15が “unavailable” である場合、対象マクロブロックＡの各画素の予測画素値Pred(x,y)は、次の式（２１）のように生成される。
【数６】
2010016454.tif 000008
【０１４８】
P(-1,y); x,y=-1,0,…,15が “unavailable” である場合、対象マクロブロックＡの各画素の予測画素値Pred(x,y)は、次の式（２２）のように生成される。
【数７】
2010016454.tif 000009
【０１４９】
P(x,-1)およびP(-1,y); x,y=-1,0,…,15が全て “unavailable” である場合には、予測画素値として１２８を用いる。
【０１５０】
モード３はPlane Predictionであり、P(x,-1)及びP(-1,y); x,y=-1,0,…,15が全て “available” の場合のみ適用される。この場合、対象マクロブロックＡの各画素の予測画素値Pred(x,y)は、次の式（２３）のように生成される。
【数８】
2010016454.tif 000010
【０１５１】
次に、色差信号に対するイントラ予測モードについて説明する。図１５は、４種類の色差信号のイントラ予測モード(Intra_chroma_pred_mode)を示す図である。色差信号のイントラ予測モードは、輝度信号のイントラ予測モードと独立に設定が可能である。色差信号に対するイントラ予測モードは、上述した輝度信号の１６×１６画素のイントラ予測モードに順ずる。
【０１５２】
ただし、輝度信号の１６×１６画素のイントラ予測モードが、１６×１６画素のブロックを対象としているのに対し、色差信号に対するイントラ予測モードは、８×８画素のブロックを対象としている。さらに、上述した図１２と図１５に示されるように、両者においてモード番号は対応していない。
【０１５３】
図１４を参照して上述した輝度信号の１６×１６画素のイントラ予測モードの対象マクロブロックＡの画素値および隣接する画素値の定義に準じて、イントラ処理される対象マクロブロックＡ（色差信号の場合は、８×８画素）に隣接する画素の画素値をP(x,y);x,y=-1,0,…,7とする。
【０１５４】
モード０はDC Predictionであり、P(x,-1)およびP(-1,y); x,y=-1,0,…,7が全て “available” である場合、対象マクロブロックＡの各画素の予測画素値Pred(x,y)は、次の式（２４）のように生成される。
【数９】
2010016454.tif 000011
【０１５５】
また、P(-1,y) ; x,y=-1,0,…,7が “unavailable” である場合、対象マクロブロックＡの各画素の予測画素値Pred(x,y)は、次の式（２５）のように生成される。
【数１０】
2010016454.tif 000012
【０１５６】
また、P(x,-1) ; x,y=-1,0,…,7が “unavailable”である場合、対象マクロブロックＡの各画素の予測画素値Pred(x,y)は、次の式（２６）のように生成される。
【数１１】
2010016454.tif 000013
【０１５７】
モード１はHorizontal Predictionであり、P(-1,y) ; x,y=-1,0,…,7が “available” の場合にのみ適用される。この場合、対象マクロブロックＡの各画素の予測画素値Pred(x,y)は、次の式（２７）のように生成される。
Pred(x,y) = P(-1,y);x,y=0,…,7
・・・（２７）
【０１５８】
モード２はVertical Predictionであり、P(x,-1) ; x,y=-1,0,…,7が “available” の場合にのみ適用される。この場合、対象マクロブロックＡの各画素の予測画素値Pred(x,y)は、次の式（２８）のように生成される。
Pred(x,y) = P(x,-1);x,y=0,…,7
・・・（２８）
【０１５９】
モード３はPlane Predictionであり、P(x,-1)及びP(-1,y) ; x,y=-1,0,…,7 が “available” の場合にのみ適用される。この場合、対象マクロブロックＡの各画素の予測画素値Pred(x,y)は、次の式（２９）のように生成される。
【数１２】
2010016454.tif 000014
【０１６０】
以上のように、輝度信号のイントラ予測モードには、９種類の４×４画素および８×８画素のブロック単位、並びに４種類の１６×１６画素のマクロブロック単位の予測モードがあり、色差信号のイントラ予測モードには、４種類の８×８画素のブロック単位の予測モードがある。色差信号のイントラ予測モードは、輝度信号のイントラ予測モードと独立に設定が可能である。輝度信号の４×４画素および８×８画素のイントラ予測モードについては、４×４画素および８×８画素の輝度信号のブロック毎に１つのイントラ予測モードが定義される。輝度信号の１６×１６画素のイントラ予測モードと色差信号のイントラ予測モードについては、１つのマクロブロックに対して１つの予測モードが定義される。
【０１６１】
なお、予測モードの種類は、上述した図９の番号０，１，３乃至８で示される方向に対応している。予測モード２は平均値予測である。
【０１６２】
次に、これらの予測モードに対して行われる処理である、図５のステップＳ３１におけるイントラ予測処理を図１６のフローチャートを参照して説明する。なお、図１６の例においては、輝度信号の場合を例として説明する。
【０１６３】
イントラ予測部７４は、ステップＳ４１において、上述した輝度信号の４×４画素、８×８画素、および１６×１６画素の各イントラ予測モードに対してイントラ予測を行う。
【０１６４】
例えば、４×４画素のイントラ予測モードの場合について、上述した図１０を参照して説明する。画面並べ替えバッファ６２から読み出された処理対象の画像（例えば、画素ａ乃至ｐ）がイントラ処理されるブロックの画像である場合、参照される復号済みの画像（画素値Ａ乃至Ｍが示される画素）がフレームメモリ７２から読み出され、スイッチ７３を介してイントラ予測部７４に供給される。
【０１６５】
これらの画像に基づいて、イントラ予測部７４は、処理対象のブロックの画素をイントラ予測する。このイントラ予測処理が、各イントラ予測モードで行われることで、各イントラ予測モードでの予測画像が生成される。なお、参照される復号済みの画素（画素値Ａ乃至Ｍが示される画素）としては、デブロックフィルタ７１によりデブロックフィルタリングされていない画素が用いられる。
【０１６６】
イントラ予測部７４は、ステップＳ４２において、４×４画素、８×８画素、および１６×１６画素の各イントラ予測モードに対するコスト関数値を算出する。ここで、コスト関数値としては、Ｈ．２６４／ＡＶＣ方式における参照ソフトウエアであるＪＭ(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方式とも称する。
【０１９５】
図１７に戻って、動き予測・補償部７７は、ステップＳ５４において、１６×１６画素乃至４×４画素からなる８種類の各インター予測モードに対して、上述した式（３０）または式（３１）で示されるコスト関数値を算出する。ここで算出されたコスト関数値は、上述した図５のステップＳ３６で最適インター予測モードを決定する際に用いられる。
【０１９６】
なお、インター予測モードに対するコスト関数の算出には、Ｈ．２６４／ＡＶＣ方式において定められているSkip ModeおよびDirect Modeのコスト関数の評価も含まれる。
【０１９７】
次に、図２０のフローチャートを参照して、図５のステップＳ３３のイントラテンプレート動き予測処理について説明する。
【０１９８】
ステップＳ６１において、イントラ予測動きベクトル生成部７６は、イントラＴＰ動き予測・補償部７５の内蔵メモリに記憶されている、対象ブロックに隣接するブロックのイントラ動きベクトル情報を用いて、対象ブロックに対する予測動きベクトル情報を生成する。
【０１９９】
すなわち、イントラ予測動きベクトル生成部７６は、図１８を参照して上述したように、式（３２）を用いて、対象ブロックＥに対する予測動きベクトル情報pmvEを生成する。
【０２００】
ステップＳ６２において、イントラＴＰ動き予測・補償部７５は、イントラテンプレート予測モードの動き予測、補償処理を行う。すなわち、イントラＴＰ動き予測・補償部７５は、イントラテンプレートマッチング方式に基づいてイントラ動きベクトルを探索し、その動きベクトルに基づいて予測画像を生成する。その際、イントラ予測動きベクトル生成部７６により生成された予測動きベクトル情報を中心とした探索範囲において、イントラ動きベクトルの探索が行われる。
【０２０１】
探索されたイントラ動きベクトル情報は、イントラＴＰ動き予測・補償部７５の内蔵メモリ（図示せぬ）に記憶される。
【０２０２】
ここで、イントラテンプレートマッチング方式について、図２１を参照して具体的に説明する。
【０２０３】
図２１の例においては、図示せぬ符号化対象の対象フレーム上に、４×４画素のブロックＡと、Ｘ×Ｙ（＝縦×横）画素からなる領域のうち、すでに符号化済みの画素だけで構成される所定の探索範囲Ｅが示されている。
【０２０４】
ブロックＡには、これから符号化されようとしている対象サブブロックａが示されている。この対象サブブロックａは、ブロックＡを構成する２×２画素のサブブロックのうち、左上に位置するサブブロックである。対象ブロックａには、すでに符号化済みの画素で構成されるテンプレート領域ｂが隣接している。すなわち、テンプレート領域ｂは、符号化処理をラスタスキャン順に行う場合には、図２１に示されるように、対象サブブロックａの左および上側に位置する領域であり、フレームメモリ７２に復号画像が蓄積されている領域である。
【０２０５】
イントラＴＰ動き予測・補償部７５は、対象フレーム上の所定の探索範囲Ｅ内において、例えば、SAD(Sum of Absolute Difference) 等をコスト関数としてテンプレートマッチング処理を行い、テンプレート領域ｂの画素値と相関が最も高くなる領域ｂ’を探索する。そして、イントラＴＰ動き予測・補償部７５は、探索された領域ｂ’に対応するブロックａ’を、対象サブブロックａに対する予測画像として、対象ブロックａに対する動きベクトルを探索する。
【０２０６】
このように、イントラテンプレートマッチング方式による動きベクトル探索処理は、テンプレートマッチング処理に復号画像を用いているので、所定の探索範囲Ｅを予め定めておくことにより、図１の画像符号化装置５１と後述する図２４の画像復号装置１０１において同一の処理を行うことが可能である。すなわち、画像復号装置１０１においても、イントラＴＰ動き予測・補償部１２２を構成することにより、対象サブブロックに対する動きベクトルの情報を画像復号装置１０１に送る必要がなくなるので、圧縮画像中における動きベクトル情報を低減することができる。
【０２０７】
また、この所定の探索範囲Ｅは、イントラ予測動きベクトル生成部７６により生成された予測動きベクトル情報を中心とした探索範囲である。イントラ予測動きベクトル生成部７６により生成された予測動きベクトル情報は、図１８を参照して上述したように、隣接ブロックとの相関で生成される。
【０２０８】
したがって、画像復号装置１０１においても、イントラ予測動きベクトル生成部１２３を構成し、隣接ブロックとの相関により予測動きベクトル情報を求め、それを中心とした所定の探索範囲Ｅで動きベクトルを探索することにより、符号化効率を劣化させることなく、探索範囲を限定することができる。すなわち、演算量を増大させることなく、圧縮効率の低下を抑制することができる。
【０２０９】
なお、図２１において、対象サブブロックが２×２画素の場合を説明したが、これに限らず、任意の大きさのサブブロックに適用が可能であり、イントラテンプレート予測モードにおけるブロックおよびテンプレートのサイズは任意である。すなわち、イントラ予測部７４と同様に、各イントラ予測モードのブロックサイズを候補としてイントラテンプレート予測モードを行うこともできるし、１つの予測モードのブロックサイズに固定して行うこともできる。対象となるブロックサイズに応じて、テンプレートサイズは、可変としてもよいし、固定することもできる。
【０２１０】
ステップＳ６３において、イントラＴＰ動き予測・補償部７５は、イントラテンプレート予測モードに対して、上述した式（３０）または式（３１）で示されるコスト関数を算出する。ここで算出されたコスト関数値は、上述した図５のステップＳ３４で最適イントラ予測モードを決定する際に用いられる。
【０２１１】
ここで、図２０のステップＳ６１においては、全ての対象ブロックについてイントラ動きベクトル情報が探索され、内蔵メモリに記憶される例を説明した。しかしながら、イントラ予測モード、イントラテンプレート処理モード、インター処理モード、およびインターテンプレート処理モードのうちの１の予測モードが処理対象とするブロックについては、その他の予測モードでの予測を行わない処理方法も考えられる。この処理方法においては、隣接ブロックが、イントラ動きベクトル情報を保持しているとは限らない。
【０２１２】
以下、この処理方法について、対象ブロックがイントラ処理されるフレームに含まれる場合とインター処理されるフレームに含まれる場合に分けて説明する。
【０２１３】
まず、対象ブロックがイントラ処理されるフレームに含まれる場合について説明する。この場合には、隣接ブロックがイントラ予測モードによる処理対象ブロックのときと、イントラテンプレート予測モードによる処理対象ブロックのときがある。前者の隣接ブロックがイントラテンプレート予測モードによる処理対象ブロックのとき、隣接ブロックのイントラ動きベクトル情報は存在する。
【０２１４】
しかしながら、後者の隣接ブロックがイントラ予測モードによる処理対象ブロックのとき、隣接ブロックのイントラ動きベクトル情報は存在しない。したがって、この場合の処理方法としては、隣接ブロックのイントラ動きベクトル情報を(0,0)としてメディアン予測を行う第１の方法と、隣接ブロックのイントラ動きベクトル情報も生成してしまう第２の方法が挙げられる。
【０２１５】
次に、対象ブロックがインター処理されるフレームに含まれる場合について説明する。この場合には、隣接ブロックがイントラ処理されるブロックのときと、インター処理されるブロックのときがある。前者の隣接ブロックがイントラ処理されるブロックの場合については、上述した対象ブロックがイントラ処理されるフレームに含まれる場合の方法に準じる。
【０２１６】
後者の隣接ブロックがインター処理されるブロックの場合については、そのブロックが、インター動き予測モードの対象ブロックである、または、インターテンプレート動き予測モードの対象ブロックであることが考えられるが、どちらにしてもインター動きベクトル情報を有している。
【０２１７】
したがって、この場合の処理方法としては、隣接ブロックのイントラ動きベクトル情報を(0,0)としてメディアン予測を行う第１の方法と、隣接ブロックのイントラ動きベクトル情報も生成してしまう第２の方法と、隣接ブロックに対するイントラ動きベクトル情報の代わりに、隣接ブロックに対するインター動きベクトル情報を用いてメディアン予測を行う第３の方法が挙げられる。なお、第３の方法については、処理の際、参照フレーム情報であるref_idも参照して、ref_idが所定の大きさ以内である場合のみ、インター動きベクトル情報を用い、それ以外の場合（すなわち、ref_idが所定の値より大きい（離れている）場合）には、第１または第２の方法に準じる方法で、メディアン予測を行うこともできる。
【０２１８】
以上のように、イントラテンプレート予測モードでの動き予測を行う際に、探索に先立って、動きベクトルの予測値を生成し、動きベクトルの予測値を中心に探索処理を行うようにしたので、探索範囲を限定しても、符号化効率の劣化が抑制される。また、探索範囲を限定することで、演算量も削減される。
【０２１９】
次に、図２２のフローチャートを参照して、図５のステップＳ３５のインターテンプレート動き予測処理について説明する。
【０２２０】
ステップＳ７１において、インター予測動きベクトル生成部７９は、インターＴＰ動き予測・補償部７８の内蔵メモリに記憶されている、符号化済みブロックのインター動きベクトル情報を用いて、対象ブロックに対する予測動きベクトル情報を生成する。
【０２２１】
具体的には、インター予測動きベクトル生成部７９は、図１８を参照して上述したように、式（３２）を用いて、対象ブロックＥに対する予測動きベクトル情報pmvEを生成する。あるいは、インター予測動きベクトル生成部７９は、図１９を参照して上述したように、式（３２）および式（３４）を用いて、予測動きベクトル情報を生成し、その中から、最適な予測動きベクトル情報を選択する。
【０２２２】
なお、対象ブロックに隣接する隣接ブロックが、インター予測対象のブロックである場合、後述するステップＳ７２のインターテンプレート予測により探索されたインター動きベクトル情報を用いてもよいし、上述した図１７のステップＳ５１でインター予測により探索されたインター動きベクトル情報を記憶しておき、それを用いてもよい。
【０２２３】
また、対象ブロックに隣接する隣接ブロックが、イントラ予測対象のブロックまたはイントラテンプレート予測対象のブロックである可能性がある。いずれの場合も、インター予測動きベクトル生成部７９は、隣接ブロックのインター動きベクトル情報を、(0,0)としてメディアン予測を行い、予測動きベクトル情報を生成する。あるいは、インター予測動きベクトル生成部７９は、イントラ予測対象のブロックまたはイントラテンプレート予測対象のブロックである隣接ブロックに対して、インターテンプレートマッチング方式の動き探索を行い、探索されたインター動きベクトル情報を用いてメディアン予測を行うこともできる。
【０２２４】
さらには、インター予測動きベクトル生成部７９は、隣接ブロックがイントラテンプレート予測対象のブロックである場合には、イントラ動きベクトル情報を、インター動きベクトル情報の代わりに用いてメディアン予測を行い、予測動きベクトル情報を生成することもできる。
【０２２５】
ステップＳ７２において、インターＴＰ動き予測・補償部７８は、インターテンプレート予測モードの動き予測、補償処理を行う。すなわち、インターＴＰ動き予測・補償部７８は、インターテンプレートマッチング方式に基づいてインター動きベクトルを探索し、その動きベクトルに基づいて予測画像を生成する。その際、インター予測動きベクトル生成部７９により生成された予測動きベクトル情報を中心とした探索範囲において、イントラ動きベクトルの探索が行われる。
【０２２６】
探索されたインター動きベクトル情報は、インターＴＰ動き予測・補償部７８の内蔵メモリ（図示せぬ）に記憶される。
【０２２７】
ここで、インターテンプレートマッチング方式について、図２３を参照して具体的に説明する。
【０２２８】
図２３の例においては、符号化対象の対象フレームと、動きベクトルを探索する際に参照される参照フレームが示されている。対象フレームには、これから符号化されようとしている対象ブロックＡと、対象ブロックＡに対して隣接するとともに、すでに符号化済みの画素で構成されるテンプレート領域Ｂが示されている。すなわち、テンプレート領域Ｂは、符号化処理をラスタスキャン順に行う場合には、図２３に示されるように、対象ブロックＡの左および上側に位置する領域であり、フレームメモリ７２に復号画像が蓄積されている領域である。
【０２２９】
インターＴＰ動き予測・補償部７８は、参照フレーム上の所定の探索範囲Ｅ内において、例えば、SAD(Sum of Absolute Difference) 等をコスト関数としてテンプレートマッチング処理を行い、テンプレート領域Ｂの画素値と相関が最も高くなる領域Ｂ’を探索する。そして、インターＴＰ動き予測・補償部７８は、探索された領域Ｂ’に対応するブロックＡ’を、対象ブロックＡに対する予測画像として、対象ブロックＡに対する動きベクトルＰを探索する。
【０２３０】
このように、インターテンプレートマッチング方式による動きベクトル探索処理は、テンプレートマッチング処理に復号画像を用いているので、所定の探索範囲Ｅを予め定めておくことにより、図１の画像符号化装置５１と後述する図２４の画像復号装置１０１において同一の処理を行うことが可能である。すなわち、画像復号装置１０１においても、インターＴＰ動き予測・補償部１２５を構成することにより、対象ブロックＡに対する動きベクトルＰの情報を画像復号装置１０１に送る必要がなくなるので、圧縮画像中における動きベクトル情報を低減することができる。
【０２３１】
また、この所定の探索範囲Ｅは、インター予測動きベクトル生成部７９により生成された予測動きベクトル情報を中心とした探索範囲である。インター予測動きベクトル生成部７９により生成された予測動きベクトル情報は、図１８を参照して上述したように、隣接ブロックとの相関で生成される。
【０２３２】
したがって、画像復号装置１０１においても、インター予測動きベクトル生成部１２６を構成し、隣接ブロックとの相関により予測動きベクトル情報を求め、それを中心とした所定の探索範囲Ｅで動きベクトルを探索することにより、符号化効率を劣化させることなく、探索範囲を限定することができる。すなわち、演算量を増大させることなく、圧縮効率の低下を抑制することができる。
【０２３３】
なお、インターテンプレート予測モードにおけるブロックおよびテンプレートのサイズは任意である。すなわち、動き予測・補償部７７と同様に、図２で上述した１６×１６画素乃至４×４画素からなる８種類のブロックサイズから、１つのブロックサイズを固定して行うこともできるし、すべてのブロックサイズを候補として行うこともできる。ブロックサイズに応じて、テンプレートサイズは、可変としてもよいし、固定することもできる。
【０２３４】
ステップＳ７３において、インターＴＰ動き予測・補償部７８は、インターテンプレート予測モードに対して、上述した式（３０）または式（３１）で示されるコスト関数を算出する。ここで算出されたコスト関数値は、上述した図５のステップＳ３６で最適インター予測モードを決定する際に用いられる。
【０２３５】
以上のように、インターテンプレート予測モードでの動き予測を行う際にも、探索に先立って、動きベクトルの予測値を生成し、動きベクトルの予測値を中心に探索処理を行うようにしたので、探索範囲を限定しても、符号化効率の劣化が抑制される。また、探索範囲を限定することで、演算量も削減される。
【０２３６】
符号化された圧縮画像は、所定の伝送路を介して伝送され、画像復号装置により復号される。図２４は、このような画像復号装置の一実施の形態の構成を表している。
【０２３７】
画像復号装置１０１は、蓄積バッファ１１１、可逆復号部１１２、逆量子化部１１３、逆直交変換部１１４、演算部１１５、デブロックフィルタ１１６、画面並べ替えバッファ１１７、Ｄ／Ａ変換部１１８、フレームメモリ１１９、スイッチ１２０、イントラ予測部１２１、イントラテンプレート動き予測・補償部１２２、イントラ予測動きベクトル生成部１２３、動き予測・補償部１２４、インターテンプレート動き予測・補償部１２５、インター予測動きベクトル生成部１２６、およびスイッチ１２７により構成されている。
【０２３８】
なお、以下、イントラテンプレート動き予測・補償部１２２およびインターテンプレート動き予測・補償部１２５を、それぞれ、イントラＴＰ動き予測・補償部１２２およびインターＴＰ動き予測・補償部１２５と称する。
【０２３９】
蓄積バッファ１１１は伝送されてきた圧縮画像を蓄積する。可逆復号部１１２は、蓄積バッファ１１１より供給された、図１の可逆符号化部６６により符号化された情報を、可逆符号化部６６の符号化方式に対応する方式で復号する。逆量子化部１１３は可逆復号部１１２により復号された画像を、図１の量子化部６５の量子化方式に対応する方式で逆量子化する。逆直交変換部１１４は、図１の直交変換部６４の直交変換方式に対応する方式で逆量子化部１１３の出力を逆直交変換する。
【０２４０】
逆直交変換された出力は演算部１１５によりスイッチ１２７から供給される予測画像と加算されて復号される。デブロックフィルタ１１６は、復号された画像のブロック歪を除去した後、フレームメモリ１１９に供給し、蓄積させるとともに、画面並べ替えバッファ１１７に出力する。
【０２４１】
画面並べ替えバッファ１１７は、画像の並べ替えを行う。すなわち、図１の画面並べ替えバッファ６２により符号化の順番のために並べ替えられたフレームの順番が、元の表示の順番に並べ替えられる。Ｄ／Ａ変換部１１８は、画面並べ替えバッファ１１７から供給された画像をＤ／Ａ変換し、図示せぬディスプレイに出力し、表示させる。
【０２４２】
スイッチ１２０は、インター符号化が行われる画像と参照される画像をフレームメモリ１１９から読み出し、動き予測・補償部１２４に出力するとともに、イントラ予測に用いられる画像をフレームメモリ１１９から読み出し、イントラ予測部１２１に供給する。
【０２４３】
イントラ予測部１２１には、ヘッダ情報を復号して得られたイントラ予測モードに関する情報が可逆復号部１１２から供給される。イントラ予測モードである情報が供給された場合、イントラ予測部１２１は、この情報に基づいて、予測画像を生成する。イントラテンプレート予測モードである情報が供給された場合、イントラ予測部１２１は、イントラ予測に用いられる画像をイントラＴＰ動き予測・補償部１２２に供給し、イントラテンプレート予測モードでの動き予測・補償処理を行わせる。
【０２４４】
イントラ予測部１２１は、生成した予測画像またはイントラＴＰ動き予測・補償部１２２により生成された予測画像を、スイッチ１２７に出力する。
【０２４５】
イントラＴＰ動き予測・補償部１２２は、図１のイントラＴＰ動き予測・補償部７５と同様のイントラテンプレート予測モードの動き予測と補償処理を行う。すなわち、イントラＴＰ動き予測・補償部１２２は、フレームメモリ１１９から読み出されたイントラ予測に用いられる画像に基づき、イントラテンプレート予測モードの動き予測と補償処理を行い、予測画像を生成する。その際、イントラＴＰ動き予測・補償部１２２は、イントラ予測動きベクトル生成部１２３により生成された予測動きベクトル情報を探索の中心とした所定の探索範囲での動き予測を行う。
【０２４６】
イントラテンプレート予測モードの動き予測・補償により生成された予測画像は、イントラ予測部１２１に供給される。また、イントラテンプレート予測モードの動き予測により探索されたイントラ動きベクトル情報は、イントラＴＰ動き予測・補償部１２２の内蔵メモリ（図示せぬ）に記憶される。
【０２４７】
イントラ予測動きベクトル生成部１２３は、図１のイントラ予測動きベクトル生成部７６と同様に、予測動きベクトル情報を生成する。すなわち、イントラＴＰ動き予測・補償部１２２の内蔵メモリに記憶されている、符号化済みのブロックの動きベクトル情報を用いて、対象ブロックに対する予測動きベクトル情報を生成する。予測動きベクトル情報の生成には、例えば、対象ブロックに隣接するブロックの動きベクトル情報が用いられる。
【０２４８】
動き予測・補償部１２４には、ヘッダ情報を復号して得られた情報（予測モード、動きベクトル情報や参照フレーム情報）が可逆復号部１１２から供給される。インター予測モードである情報が供給された場合、動き予測・補償部１２４は、動きベクトル情報と参照フレーム情報に基づいて画像に動き予測と補償処理を施し、予測画像を生成する。インター予測モードである情報が供給された場合、動き予測・補償部１２４は、フレームメモリ１１９から読み出されたインター符号化が行われる画像と参照される画像をインターＴＰ動き予測・補償部１２５に供給し、インターテンプレート予測モードでの動き予測・補償処理を行わせる。
【０２４９】
また、動き予測・補償部１２４は、予測モード情報に応じて、インター予測モードにより生成された予測画像、または、インターテンプレート予測モードにより生成された予測画像のどちらか一方をスイッチ１２７に出力する。
【０２５０】
インターＴＰ動き予測・補償部１２５は、図１のインターＴＰ動き予測・補償部７８と同様のインターテンプレート予測モードの動き予測と補償処理を行う。すなわち、インターＴＰ動き予測・補償部１２５は、フレームメモリ１１９から読み出されたインター符号化が行われる画像と参照される画像に基づいて、インターテンプレート予測モードの動き予測と補償処理を行い、予測画像を生成する。その際、インターＴＰ動き予測・補償部１２５は、インター予測動きベクトル生成部１２６により生成された予測動きベクトル情報を探索の中心とした所定の探索範囲での動き予測を行う。
【０２５１】
インターテンプレート予測モードの動き予測・補償により生成された予測画像は、動き予測・補償部１２４に供給される。インターテンプレート予測モードの動き予測により探索されたインター動きベクトル情報は、インターＴＰ動き予測・補償部１２５の内蔵メモリ（図示せぬ）に記憶される。
【０２５２】
インター予測動きベクトル生成部１２６は、図１のインター予測動きベクトル生成部７９と同様に、予測動きベクトル情報を生成する。すなわち、インターＴＰ動き予測・補償部１２５の内蔵メモリに記憶されている、符号化済みブロックの動きベクトル情報を用いて、対象ブロックに対する予測動きベクトル情報を生成する。予測動きベクトル情報の生成には、例えば、対象ブロックに隣接するブロック、図１９を参照して上述した対応ブロック、対応ブロックに隣接するブロックなどの動きベクトル情報が用いられる。
【０２５３】
スイッチ１２７は、動き予測・補償部１２４またはイントラ予測部１２１により生成された予測画像を選択し、演算部１１５に供給する。
【０２５４】
次に、図２５のフローチャートを参照して、画像復号装置１０１が実行する復号処理について説明する。
【０２５５】
ステップＳ１３１において、蓄積バッファ１１１は伝送されてきた画像を蓄積する。ステップＳ１３２において、可逆復号部１１２は、蓄積バッファ１１１から供給される圧縮画像を復号する。すなわち、図１の可逆符号化部６６により符号化されたＩピクチャ、Ｐピクチャ、並びにＢピクチャが復号される。
【０２５６】
このとき、動きベクトル情報や予測モード情報（イントラ予測モード、イントラテンプレート予測モード、インター予測モード、またはインターテンプレート予測モードを表す情報）も復号される。すなわち、予測モード情報がイントラ予測モードまたはイントラテンプレート予測モードである場合、予測モード情報は、イントラ予測部１２１に供給される。予測モード情報がインター予測モードまたはインターテンプレート予測モードである場合、予測モード情報は、動き予測・補償部１２４に供給される。その際、対応する動きベクトル情報や参照フレーム情報があれば、それも、動き予測・補償部１２４に供給される。
【０２５７】
ステップＳ１３３において、逆量子化部１１３は可逆復号部１１２により復号された変換係数を、図１の量子化部６５の特性に対応する特性で逆量子化する。ステップＳ１３４において逆直交変換部１１４は逆量子化部１１３により逆量子化された変換係数を、図１の直交変換部６４の特性に対応する特性で逆直交変換する。これにより図１の直交変換部６４の入力（演算部６３の出力）に対応する差分情報が復号されたことになる。
【０２５８】
ステップＳ１３５において、演算部１１５は、後述するステップＳ１３９の処理で選択され、スイッチ１２７を介して入力される予測画像を差分情報と加算する。これにより元の画像が復号される。ステップＳ１３６においてデブロックフィルタ１１６は、演算部１１５より出力された画像をフィルタリングする。これによりブロック歪みが除去される。ステップＳ１３７においてフレームメモリ１１９は、フィルタリングされた画像を記憶する。
【０２５９】
ステップＳ１３８において、イントラ予測部１２１、イントラＴＰ動き予測・補償部１２２、動き予測・補償部１２４、またはインターＴＰ動き予測・補償部１２５は、可逆復号部１１２から供給される予測モード情報に対応して、それぞれ画像の予測処理を行う。
【０２６０】
すなわち、可逆復号部１１２からイントラ予測モード情報が供給された場合、イントラ予測部１２１は、イントラ予測モードのイントラ予測処理を行う。可逆復号部１１２からイントラテンプレート予測モード情報が供給された場合、イントラＴＰ動き予測・補償部１２２は、インターテンプレート予測モードの動き予測・補償処理を行う。また、可逆復号部１１２からインター予測モード情報が供給された場合、動き予測・補償部１２４は、インター予測モードの動き予測・補償処理を行う。可逆復号部１１２からインターテンプレート予測モード情報が供給された場合、インターＴＰ動き予測・補償部１２５は、インターテンプレート予測モードの動き予測・補償処理を行う。
【０２６１】
ステップＳ１３８における予測処理の詳細は、図２６を参照して後述するが、この処理により、イントラ予測部１２１により生成された予測画像、イントラＴＰ動き予測・補償部１２２により生成された予測画像、動き予測・補償部１２４により生成された予測画像、またはインターＴＰ動き予測・補償部１２５により生成された予測画像がスイッチ１２７に供給される。
【０２６２】
ステップＳ１３９において、スイッチ１２７は予測画像を選択する。すなわち、イントラ予測部１２１により生成された予測画像、イントラＴＰ動き予測・補償部１２２により生成された予測画像、動き予測・補償部１２４により生成された予測画像、またはインターＴＰ動き予測・補償部１２５により生成された予測画像が供給されるので、供給された予測画像が選択されて演算部１１５に供給され、上述したように、ステップＳ１３４において逆直交変換部１１４の出力と加算される。
【０２６３】
ステップＳ１４０において、画面並べ替えバッファ１１７は並べ替えを行う。すなわち画像符号化装置５１の画面並べ替えバッファ６２により符号化のために並べ替えられたフレームの順序が、元の表示の順序に並べ替えられる。
【０２６４】
ステップＳ１４１において、Ｄ／Ａ変換部１１８は、画面並べ替えバッファ１１７からの画像をＤ／Ａ変換する。この画像が図示せぬディスプレイに出力され、画像が表示される。
【０２６５】
次に、図２６のフローチャートを参照して、図２５のステップＳ１３８の予測処理について説明する。
【０２６６】
イントラ予測部１２１は、ステップＳ１７１において、対象ブロックがイントラ符号化されているか否かを判定する。可逆復号部１１２からイントラ予測モード情報またはイントラテンプレート予測モード情報がイントラ予測部１２１に供給されると、イントラ予測部１２１は、ステップ１７１において、対象ブロックがイントラ符号化されていると判定し、ステップＳ１７２において、可逆復号部１１２からの予測モード情報が、イントラ予測モード情報であるか否かを判定する。
【０２６７】
イントラ予測部１２１は、ステップＳ１７２において、イントラ予測モード情報であると判定した場合、ステップＳ１７３において、イントラ予測を行う。
【０２６８】
すなわち、処理対象の画像がイントラ処理される画像である場合、必要な画像がフレームメモリ１１９から読み出され、スイッチ１２０を介してイントラ予測部１２１に供給される。ステップＳ１７３において、イントラ予測部１２１は、可逆復号部１１２から供給されるイントラ予測モード情報に従ってイントラ予測し、予測画像を生成する。
【０２６９】
ステップＳ１７２において、イントラ予測モード情報ではないと判定された場合、処理は、ステップＳ１７４に進み、イントラテンプレート予測モードの処理が行われる。
【０２７０】
処理対象の画像がイントラテンプレート予測処理される画像である場合、必要な画像がフレームメモリ１１９から読み出され、スイッチ１２０およびイントラ予測部１２１を介してイントラＴＰ動き予測・補償部１２２に供給される。ステップＳ１７４において、イントラＴＰ動き予測・補償部１２２は、イントラ予測動きベクトル生成部１２３に、対象ブロックに対する予測動きベクトル情報を生成させ、ステップＳ１７５において、フレームメモリ１１９から読み出された画像に基づき、イントラテンプレート予測モードで、イントラテンプレート動き予測処理を行う。
【０２７１】
すなわち、ステップＳ１７４において、イントラ予測動きベクトル生成部１２３は、イントラＴＰ動き予測・補償部１２２の内蔵メモリに記憶されている、対象ブロックに隣接するブロックのイントラ動きベクトル情報を用いて、対象ブロックに対する予測動きベクトル情報を生成する。
【０２７２】
ステップ１７５において、イントラＴＰ動き予測・補償部１２２は、イントラ予測動きベクトル生成部１２３により生成された予測動きベクトル情報を探索の中心とした所定の探索範囲で、イントラテンプレートマッチング方式に基づいてイントラ動きベクトルを探索し、その動きベクトルに基づいて予測画像を生成する。このとき、探索されたイントラ動きベクトル情報は、イントラＴＰ動き予測・補償部１２２の内蔵メモリ（図示せぬ）に記憶される。
【０２７３】
なお、このステップＳ１７４およびＳ１７５の処理は、上述した図２０のステップＳ６１およびＳ６２と基本的に同様の処理を行うため、その詳細な説明は省略する。
【０２７４】
一方、ステップＳ１７１において、イントラ符号化されていないと判定された場合、処理は、ステップＳ１７６に進む。
【０２７５】
処理対象の画像がインター処理される画像である場合、可逆復号部１１２からインター予測モード情報、参照フレーム情報、動きベクトル情報が動き補償・予測部１２４に供給される。ステップＳ１７６において、動き予測・補償部１２４は、可逆復号部１１２からの予測モード情報が、インター予測モード情報であるか否かを判定し、インター予測モード情報であると判定した場合、ステップＳ１７７において、インター動き予測を行う。
【０２７６】
処理対象の画像がインター予測処理される画像である場合、必要な画像がフレームメモリ１１９から読み出され、スイッチ１２０を介して動き予測・補償部１２４に供給される。ステップＳ１７７において動き予測・補償部１２４は、可逆復号部１１２から供給される動きベクトルに基づいて、インター予測モードの動き予測をし、予測画像を生成する。
【０２７７】
ステップＳ１７６において、インター予測モード情報ではないと判定された場合、処理は、ステップＳ１７８に進み、インターテンプレート予測モードの処理が行われる。
【０２７８】
処理対象の画像がインターテンプレート予測処理される画像である場合、必要な画像がフレームメモリ１１９から読み出され、スイッチ１２０および動き予測・補償部１２４を介してインターＴＰ動き予測・補償部１２５に供給される。ステップＳ１７８において、インターＴＰ動き予測・補償部１２５は、インター予測動きベクトル生成部１２６に、対象ブロックに対する予測動きベクトル情報を生成させ、ステップＳ１７９において、フレームメモリ１１９から読み出された画像に基づき、インターテンプレート予測モードで、インターテンプレート動き予測処理を行う。
【０２７９】
すなわち、ステップＳ１７８において、インター予測動きベクトル生成部１２６は、インターＴＰ動き予測・補償部１２５の内蔵メモリに記憶されている、符号化済みブロックのインター動きベクトル情報を用いて、対象ブロックに対する予測動きベクトル情報を生成する。
【０２８０】
具体的には、インター予測動きベクトル生成部１２６は、図１８を参照して上述したように、式（３２）を用いて、対象ブロックＥに対する予測動きベクトル情報pmvEを生成する。あるいは、インター予測動きベクトル生成部１２６は、図１９を参照して上述したように、式（３２）および式（３４）を用いて、予測動きベクトル情報を生成し、その中から、最適な予測動きベクトル情報を選択する。
【０２８１】
ステップＳ１７９において、インターＴＰ動き予測・補償部１２５は、インター予測動きベクトル生成部１２６により生成された予測動きベクトル情報を探索の中心とした所定の探索範囲で、インターテンプレートマッチング方式に基づいてインター動きベクトルを探索し、その動きベクトルに基づいて予測画像を生成する。このとき、探索されたインター動きベクトル情報は、インターＴＰ動き予測・補償部１２５の内蔵メモリ（図示せぬ）に記憶される。
【０２８２】
なお、このステップＳ１７８およびＳ１７９の処理は、上述した図２２のステップＳ７１およびＳ７２と基本的に同様の処理を行うため、その詳細な説明は省略する。
【０２８３】
以上のように、画像符号化装置および画像復号装置において、復号画像を用いて動き探索を行うテンプレートマッチングに基づく動き予測を行うようにしたので、動きベクトル情報を送らずに、良質な画質を表示させることができる。
【０２８４】
また、その際、隣接ブロックとの相関で予測動きベクトル情報を生成し、それを中心とした探索範囲を限定するようにしたので、圧縮効率を低下させることなく、動きベクトル探索に必要な演算量を削減することができる。
【０２８５】
さらに、Ｈ．２６４／ＡＶＣ方式による動き予測・補償処理を行う際に、テンプレートマッチングに基づく予測も行い、コスト関数のよい方を選択して符号化処理を行うようにしたので、符号化効率を向上することができる。
【０２８６】
なお、上述した予測動きベクトルを探索の中心とする方法は、図２８に示されるようなイントラ動き予測・補償にも適用することができる。図２８の例においては、画像符号化装置において、同じフレーム上で、符号化対象の対象ブロックＡの画素値と相関が最も高くなるブロックＡ’が探索されて、動きベクトルが探索される。画像復号装置においては、画像符号化装置において探索された動きベクトル情報と復号画像が用いられて、動き補償が行われる。
【０２８７】
この画像符号化装置におけるブロックの探索の際にも、隣接ブロックとの相関でイントラ動きベクトル情報を算出しておき、イントラ動きベクトル情報を中心とした探索範囲Ｅを用いる。この場合も、探索に必要な演算量の増大を抑制することができる。
【０２８８】
以上においては、符号化方式としてＨ．２６４／ＡＶＣ方式を用いるようにしたが、その他の符号化方式／復号方式を用いることもできる。
【０２８９】
なお、本発明は、例えば、ＭＰＥＧ、Ｈ.２６ｘ等の様に、離散コサイン変換等の直交変換と動き補償によって圧縮された画像情報（ビットストリーム）を、衛星放送、ケーブルＴＶ（テレビジョン）、インターネット、および携帯電話機などのネットワークメディアを介して受信する際に、あるいは、光、磁気ディスク、およびフラッシュメモリのような記憶メディア上で処理する際に用いられる画像符号化装置および画像復号装置に適用することができる。
【０２９０】
上述した一連の処理は、ハードウエアにより実行させることもできるし、ソフトウエアにより実行させることもできる。一連の処理をソフトウエアにより実行させる場合には、そのソフトウエアを構成するプログラムが、専用のハードウエアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、プログラム記録媒体からインストールされる。
【０２９１】
コンピュータにインストールされ、コンピュータによって実行可能な状態とされるプログラムを格納するプログラム記録媒体は、磁気ディスク（フレキシブルディスクを含む）、光ディスク（CD-ROM(Compact Disc-Read Only Memory),DVD(Digital Versatile Disc)を含む）、光磁気ディスクを含む）、もしくは半導体メモリなどよりなるパッケージメディアであるリムーバブルメディア、または、プログラムが一時的もしくは永続的に格納されるROMやハードディスクなどにより構成される。プログラム記録媒体へのプログラムの格納は、必要に応じてルータ、モデムなどのインタフェースを介して、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の通信媒体を利用して行われる。
【０２９２】
なお、本明細書において、プログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【０２９３】
また、本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
【図面の簡単な説明】
【０２９４】
【図１】本発明を適用した画像符号化装置の一実施の形態の構成を示すブロック図である。
【図２】可変ブロックサイズ動き予測・補償処理を説明する図である。
【図３】１／４画素精度の動き予測・補償処理を説明する図である。
【図４】図１の画像符号が装置の符号化処理を説明するフローチャートである。
【図５】図４のステップＳ２１の予測処理を説明するフローチャートである。
【図６】１６×１６画素のイントラ予測モードの場合の処理順序を説明する図である。
【図７】輝度信号の４×４画素のイントラ予測モードの種類を示す図である。
【図８】輝度信号の４×４画素のイントラ予測モードの種類を示す図である。
【図９】４×４画素のイントラ予測の方向を説明する図である。
【図１０】４×４画素のイントラ予測を説明する図である。
【図１１】輝度信号の４×４画素のイントラ予測モードの符号化を説明する図である。
【図１２】輝度信号の１６×１６画素のイントラ予測モードの種類を示す図である。
【図１３】輝度信号の１６×１６画素のイントラ予測モードの種類を示す図である。
【図１４】１６×１６画素のイントラ予測を説明する図である。
【図１５】色差信号のイントラ予測モードの種類を示す図である。
【図１６】図５のステップＳ３１のイントラ予測処理を説明するフローチャートである。
【図１７】図５のステップＳ３２のインター動き予測処理を説明するフローチャートである。
【図１８】動きベクトル情報の生成方法の例を説明する図である。
【図１９】動きベクトル情報の生成方法の他の例を説明する図である。
【図２０】図５のステップＳ３３のイントラテンプレート動き予測処理を説明するフローチャートである。
【図２１】イントラテンプレートマッチング方式について説明する図である。
【図２２】図５のステップＳ３５のインターテンプレート動き予測処理を説明するフローチャートである。
【図２３】インターテンプレートマッチング方式について説明する図である。
【図２４】本発明を適用した画像復号装置の一実施の形態の構成を示すブロック図である。
【図２５】図２４の画像復号装置の復号処理を説明するフローチャートである。
【図２６】図２５のステップＳ１３８の予測処理を説明するフローチャートである。
【図２７】イントラ動き予測を説明する図である。
【符号の説明】
【０２９５】
５１  画像符号化装置，  ６６  可逆符号化部，  ７４  イントラ予測部，  ７５  イントラテンプレート動き予測・補償部，  ７６  イントラ予測動きベクトル生成部，  ７７  動き予測・補償部，  ７８  インターテンプレート動き予測・補償部，  ７９  インター予測動きベクトル生成部，  ８０  予測画像選択部，  １１２  可逆復号部，  １２１  イントラ予測部，  １２２  イントラテンプレート動き予測・補償部，  １２３  イントラ予測動きベクトル生成部，  １２４  動き予測・補償部，  １２５  インターテンプレート動き予測・補償部，  １２６  インター予測動きベクトル生成部，  １２７  スイッチ
【図１】
2010016454.tif 000015
【図２】
2010016454.tif 000016
【図３】
2010016454.tif 000017
【図４】
2010016454.tif 000018
【図５】
2010016454.tif 000019
【図６】
2010016454.tif 000020
【図７】
2010016454.tif 000021
【図８】
2010016454.tif 000022
【図９】
2010016454.tif 000023
【図１０】
2010016454.tif 000024
【図１１】
2010016454.tif 000025
【図１２】
2010016454.tif 000026
【図１３】
2010016454.tif 000027
【図１４】
2010016454.tif 000028
【図１５】
2010016454.tif 000029
【図１６】
2010016454.tif 000030
【図１７】
2010016454.tif 000031
【図１８】
2010016454.tif 000032
【図１９】
2010016454.tif 000033
【図２０】
2010016454.tif 000034
【図２１】
2010016454.tif 000035
【図２２】
2010016454.tif 000036
【図２３】
2010016454.tif 000037
【図２４】
2010016454.tif 000038
【図２５】
2010016454.tif 000039
【図２６】
2010016454.tif 000040
【図２７】
2010016454.tif 000041