(57)【要約】【課題】符号化効率を向上させることができるようにする。【解決手段】動き予測処理により、参照フレームにおいて、インター動きベクトルＭＶにより対象ブロックＡに対応付けられる参照ブロックＢが求められる。次に、画面内予測により、対象フレームにおいて対象ブロックＡに対応するブロックＡ´が検出され、参照フレームにおいて参照ブロックＢに対応するブロックＢ´が検出される。対象ブロックＡの画素値とブロックＡ´の画素値の差分、参照ブロックＢの画素値とブロックＢ´の差分がそれぞれ求められ、さらに、それらの差分である２時差分情報が生成され、符号化されて、復号側に送られる。本発明は、例えば、H．264/AVC方式で符号化する画像符号化装置に適用することができる。【選択図】図１０
2010258738.tif 000002
【特許請求の範囲】
【請求項１】
対象フレームの画像と、前記対象フレームにおいて画面内予測により生成された対象予測画像との差分である前記対象フレームの差分情報を受信する対象フレーム差分受信手段と、
前記対象フレームに対応する参照フレームの画像と、前記参照フレームにおいて画面内予測により生成された参照予測画像との差分である前記参照フレームの差分情報を受信する参照フレーム差分受信手段と、
前記対象フレーム差分受信手段により受信された前記対象フレームの差分情報と、前記参照フレーム差分受信手段により受信された前記参照フレームの差分情報との差分である２次差分情報を生成する２次差分生成手段と、
前記対象フレームの画像として、前記２次差分生成手段により生成された前記２次差分情報を符号化する符号化手段と
を備える画像処理装置。
【請求項２】
前記参照フレームにおいて、前記対象ブロックに隣接するとともに復号画像から生成される第１のテンプレートを用いて前記対象ブロックの動きを予測することで、前記対象ブロックと前記参照ブロックとを対応付けるインターテンプレート動き予測手段を
さらに備える請求項１に記載の画像処理装置。
【請求項３】
前記対象フレームにおいて、前記第１のテンプレートを構成する画素を用いて、画面内予測により前記対象予測画像を生成する対象イントラ予測手段と、
前記参照フレームにおいて、前記第１のテンプレートに対応するテンプレートであって、前記参照ブロックに隣接するとともに復号画像から生成される第２のテンプレートを構成する画素を用いて、画面内予測により前記参照予測画像を生成する参照イントラ予測手段とを
さらに備える請求項２に記載の画像処理装置。
【請求項４】
前記参照イントラ予測手段は、前記参照フレームにおいて、前記第２のテンプレートを構成する画素を用いて、画面内予測により前記参照予測画像を生成するとともに、最適な予測モードを決定し、
前記対象イントラ予測手段は、前記対象フレームにおいて、前記第１のテンプレートを構成する画素を用いて、前記参照イントラ予測手段により決定された前記予測モードで、画面内予測により前記対象予測画像を生成する
請求項３に記載の画像処理装置。
【請求項５】
前記対象イントラ予測手段は、前記対象フレームにおいて、前記第１のテンプレートを構成する画素を用いて、画面内予測により前記対象予測画像を生成するとともに、最適な予測モードを決定し、
前記参照イントラ予測手段は、前記参照フレームにおいて、前記第２のテンプレートを構成する画素を用いて、前記対象イントラ予測手段により決定された前記予測モードで、画面内予測により前記参照予測画像を生成し、
前記符号化手段は、前記対象フレームの画像とともに、前記予測モードの情報を符号化する
請求項３に記載の画像処理装置。
【請求項６】
前記対象イントラ予測手段は、前記対象フレームにおいて、前記第１のテンプレートを構成する画素を用いて、画面内予測により前記対象予測画像を生成するとともに、最適な第１の予測モードを決定し、
前記参照イントラ予測手段は、前記参照フレームにおいて、前記第２のテンプレートを構成する画素を用いて、画面内予測により前記参照予測画像を生成するとともに、最適な第２の予測モードを決定し、
前記符号化手段は、前記対象フレームの画像とともに、前記第１の予測モードの情報を符号化する
請求項３に記載の画像処理装置。
【請求項７】
前記参照フレームにおいて、前記対象フレームに含まれる対象ブロックを用いて前記対象ブロックの動きを予測することで、前記対象ブロックと前記参照フレームに含まれる参照ブロックとを対応付ける動き予測手段を
さらに備える請求項１に記載の画像処理装置。
【請求項８】
前記対象フレームにおいて、前記対象ブロックに隣接するとともに復号画像から生成される第１のテンプレートを用いて前記対象ブロックの動きを予測することで求められる前記対象ブロックに対応する第１のブロックを用いて、画面内予測により前記対象予測画像を生成する対象イントラテンプレート予測手段と、
前記参照フレームにおいて、前記参照ブロックに隣接するとともに復号画像から生成される第２のテンプレートを用いて前記参照ブロックの動きを予測することで求められる前記参照ブロックに対応する第２のブロックを用いて、画面内予測により前記参照予測画像を生成する参照イントラテンプレート予測手段と
をさらに備える請求項７に記載の画像処理装置。
【請求項９】
前記対象フレームにおいて、前記対象ブロックを用いて前記対象ブロックの動きを予測することで求められる前記対象ブロックに対応する第１のブロックを用いて、画面内予測により前記対象予測画像を生成する対象イントラ動き予測手段と、
前記参照フレームにおいて、前記参照ブロックを用いて前記参照ブロックの動きを予測することで求められる前記参照ブロックに対応する第２のブロックを用いて、画面内予測により前記参照予測画像を生成する参照イントラ動き予測手段と
をさらに備える請求項７に記載の画像処理装置。
【請求項１０】
前記符号化手段は、前記対象フレームの画像とともに、前記対象イントラ動き予測手段により求められる前記対象ブロックの動きベクトル情報および前記参照イントラ動き予測手段により求められる前記参照ブロックの動きベクトル情報も符号化する
請求項９に記載の画像処理装置。
【請求項１１】
前記符号化手段は、前記対象ブロックの動きベクトル情報および前記参照ブロックの動きベクトル情報のうち一方の動きベクトル情報を符号化し、他方の動きベクトル情報として、前記他方の動きベクトル情報と前記一方の動きベクトル情報との差分情報を符号化する
請求項９に記載の画像処理装置。
【請求項１２】
前記対象フレームの差分情報を算出する対象フレーム差分算出手段と、
前記参照フレームの差分情報を算出する参照フレーム差分算出手段と
をさらに備える請求項１に記載の画像処理装置。
【請求項１３】
画像処理装置が、
対象フレームの画像と、前記対象フレームにおいて画面内予測により生成された対象予測画像との差分である前記対象フレームの差分情報を受信し、
前記対象フレームに対応する参照フレームの画像と、前記参照フレームにおいて画面内予測により生成された参照予測画像との差分である前記参照フレームの差分情報を受信し、
受信された前記対象フレームの差分情報と、受信された前記参照フレームの差分情報との差分である２次差分情報を生成し、
前記対象フレームの画像として、生成された前記２次差分情報を符号化するステップ
を含む画像処理方法。
【請求項１４】
対象フレームの画像と、前記対象フレームにおいて画面内予測により生成された対象予測画像との差分である前記対象フレームの差分情報を受信し、
前記対象フレームに対応する参照フレームの画像と、前記参照フレームにおいて画面内予測により生成された参照予測画像との差分である前記参照フレームの差分情報を受信し、
受信された前記対象フレームの差分情報と、受信された前記参照フレームの差分情報との差分である２次差分情報を生成し、
前記対象フレームの画像として、生成された前記２次差分情報を符号化するステップ
を含む処理をコンピュータに行わせるためのプログラム。
【請求項１５】
符号化されている対象フレームの２次差分情報を復号する復号手段と、
前記対象フレームにおいて画面内予測により生成された対象予測画像を受信する予測画像受信手段と、
前記対象フレームに対応する参照フレームの画像と、前記参照フレームにおいて画面内予測により生成された参照予測画像との差分である前記参照フレームの差分情報を受信する参照フレーム差分受信手段と、
前記復号手段により復号された前記２次差分情報、前記予測画像受信手段により受信された前記対象予測画像、および前記参照フレーム差分受信手段により受信された前記参照フレームの差分情報を加算して、前記対象フレームの画像を算出する２次差分補償手段と
を備える画像処理装置。
【請求項１６】
前記参照フレームにおいて、前記対象ブロックに隣接するとともに復号画像から生成される第１のテンプレートを用いて前記対象ブロックの動きを予測することで、前記対象ブロックと前記参照ブロックとを対応付けるインターテンプレート動き予測手段を
さらに備える請求項１５に記載の画像処理装置。
【請求項１７】
前記対象フレームにおいて、前記第１のテンプレートを構成する画素を用いて、画面内予測により前記対象予測画像を生成する対象イントラ予測手段と、
前記参照フレームにおいて、前記第１のテンプレートに対応するテンプレートであって、前記参照ブロックに隣接するとともに復号画像から生成される第２のテンプレートを構成する画素を用いて、画面内予測により前記参照予測画像を生成する参照イントラ予測手段とを
さらに備える請求項１６に記載の画像処理装置。
【請求項１８】
前記参照イントラ予測手段は、前記参照フレームにおいて、前記第２のテンプレートを構成する画素を用いて、画面内予測により前記参照予測画像を生成するとともに、最適な予測モードを決定し、
前記対象イントラ予測手段は、前記対象フレームにおいて、前記第１のテンプレートを構成する画素を用いて、前記参照イントラ予測手段により決定された前記予測モードで、画面内予測により前記対象予測画像を生成する
請求項１７に記載の画像処理装置。
【請求項１９】
前記復号手段は、前記２次差分情報とともに、前記対象イントラ予測手段における最適な予測モードの情報を復号し、
前記対象イントラ予測手段は、前記対象フレームにおいて、前記第１のテンプレートを構成する画素を用いて、前記復号手段により復号された前記予測モードで、画面内予測により前記対象予測画像を生成し、
前記参照イントラ予測手段は、前記参照フレームにおいて、前記第２のテンプレートを構成する画素を用いて、前記復号手段により復号された前記予測モードで、画面内予測により前記参照予測画像を生成する
請求項１７に記載の画像処理装置。
【請求項２０】
前記復号手段は、前記２次差分情報とともに、前記対象イントラ予測手段における最適な第１の予測モードの情報を復号し、
前記対象イントラ予測手段は、前記対象フレームにおいて、前記第１のテンプレートを構成する画素を用いて、前記復号手段により復号された前記第１の予測モードで、画面内予測により前記対象予測画像を生成し、
前記参照イントラ予測手段は、前記参照フレームにおいて、前記第２のテンプレートを構成する画素を用いて、画面内予測により前記参照予測画像を生成するとともに、最適な第２の予測モードを決定する
請求項１７に記載の画像処理装置。
【請求項２１】
前記参照フレームにおいて、前記対象フレームに含まれる対象ブロックを用いて前記対象ブロックの動きを予測することで、前記対象ブロックと前記参照フレームに含まれる参照ブロックとを対応付ける動き予測手段を
さらに備える請求項１５に記載の画像処理装置。
【請求項２２】
前記対象フレームにおいて、前記対象ブロックに隣接するとともに復号画像から生成される第１のテンプレートを用いて前記対象ブロックの動きを予測することで求められる前記対象ブロックに対応する第１のブロックを用いて、画面内予測により前記対象予測画像を生成する対象イントラテンプレート予測手段と、
前記参照フレームにおいて、前記参照ブロックに隣接するとともに復号画像から生成される第２のテンプレートを用いて前記参照ブロックの動きを予測することで求められる前記参照ブロックに対応する第２のブロックを用いて、画面内予測により前記参照予測画像を生成する参照イントラテンプレート予測手段と
をさらに備える請求項２１に記載の画像処理装置。
【請求項２３】
前記対象フレームにおいて、前記復号手段により前記対象フレームの前記２次差分とともに復号される前記対象ブロックの動きベクトル情報を用いて求められる前記対象ブロックに対応する第１のブロックを用いて、画面内予測により前記対象予測画像を生成する対象イントラ動き予測手段と、
前記参照フレームにおいて、前記復号手段により前記対象フレームの前記２次差分とともに復号される前記参照ブロックの動きベクトル情報を用いて求められる前記参照ブロックに対応する第２のブロックを用いて、画面内予測により前記参照予測画像を生成する参照イントラ動き予測手段と
をさらに備える請求項２１に記載の画像処理装置。
【請求項２４】
前記復号手段は、前記対象フレームの前記２次差分情報とともに符号化されている、前記対象ブロックの動きベクトル情報および前記参照ブロックの動きベクトル情報も復号する
請求項２３に記載の画像処理装置。
【請求項２５】
前記復号手段は、前記対象フレームの前記２次差分情報とともに符号化されている、前記対象ブロックの動きベクトル情報および前記参照ブロックの動きベクトル情報のうち一方の動きベクトル情報を復号し、前記一方の動きベクトル情報と他方の動きベクトル情報との差分情報を復号することで、前記他方の動きベクトル情報を復号する
請求項２３に記載の画像処理装置。
【請求項２６】
前記参照フレームの差分情報を算出する参照フレーム差分算出手段を
さらに備える請求項１５に記載の画像処理装置。
【請求項２７】
画像処理装置が、
符号化されている対象フレームの２次差分情報を復号し、
前記対象フレームにおいて画面内予測により生成された対象予測画像を受信し、
前記対象フレームに対応する参照フレームの画像と、前記参照フレームにおいて画面内予測により生成された参照予測画像との差分である前記参照フレームの差分情報を受信し、
復号された前記２次差分情報、受信された前記対象予測画像、および受信された前記参照フレームの差分情報を加算して、前記対象フレームの画像を算出するステップ
を含む画像処理方法。
【請求項２８】
符号化されている対象フレームの２次差分情報を復号し、
前記対象フレームにおいて画面内予測により生成された対象予測画像を受信し、
前記対象フレームに対応する参照フレームの画像と、前記参照フレームにおいて画面内予測により生成された参照予測画像との差分である前記参照フレームの差分情報を受信し、
復号された前記２次差分情報、受信された前記対象予測画像、および受信された前記参照フレームの差分情報を加算して、前記対象フレームの画像を算出するステップ
を含む処理をコンピュータに行わせるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は画像処理装置および方法、並びにプログラムに関し、特に、対応する画素値の差分値を利用して、符号化効率を向上させるようにした画像符号化装置および方法、画像復号装置および方法、並びにプログラムに関する。
【背景技術】
【０００２】
近年、画像情報をデジタルとして取り扱い、その際、効率の高い情報の伝送、蓄積を目的とし、画像情報特有の冗長性を利用して、離散コサイン変換等の直交変換と動き補償により圧縮する符号化方式を採用して画像を圧縮符号する装置が普及しつつある。この符号化方式には、例えば、MPEG（Moving Picture Experts Group）などがある。
【０００３】
特に、MPEG2(ISO/IEC 13818-2)は、汎用画像符号化方式として定義されており、飛び越し走査画像及び順次走査画像の双方、並びに標準解像度画像及び高精細画像を網羅する標準である。例えば、MPEG2は、プロフェッショナル用途及びコンシューマ用途の広範なアプリケーションに現在広く用いられている。MPEG2圧縮方式を用いることにより、例えば720×480画素を持つ標準解像度の飛び越し走査画像であれば4乃至8Mbpsの符号量（ビットレート）が割り当てられる。また、MPEG2圧縮方式を用いることにより、例えば1920×1088画素を持つ高解像度の飛び越し走査画像であれば18乃至22 Mbpsの符号量（ビットレート）が割り当てられる。これにより、高い圧縮率と良好な画質の実現が可能である。
【０００４】
MPEG2は主として放送用に適合する高画質符号化を対象としていたが、MPEG1より低い符号量（ビットレート）、つまりより高い圧縮率の符号化方式には対応していなかった。携帯端末の普及により、今後そのような符号化方式のニーズは高まると思われ、これに対応してMPEG4符号化方式の標準化が行われた。画像符号化方式に関しては、1998年12月にISO/IEC 14496-2としてその規格が国際標準に承認された。
【０００５】
さらに、近年、当初テレビ会議用の画像符号化を目的として、H．26L (ITU-T Q6/16 VCEG）という標準の規格化が進んでいる。H．26LはMPEG2やMPEG4といった従来の符号化方式に比べ、その符号化、復号化により多くの演算量が要求されるものの、より高い符号化効率が実現されることが知られている。また、現在、MPEG4の活動の一環として、このH．26Lをベースに、H．26Lではサポートされない機能をも取り入れ、より高い符号化効率を実現する標準化がJoint Model of Enhanced-Compression Video Codingとして行われている。標準化のスケジュールとしては、2003年3月にはH．264及びMPEG-4 Part10 （Advanced Video Coding、以下H．264/AVCと記す）という国際標準となっている。
【０００６】
さらに、その拡張として、RGBや4:2:2、4:4:4といった、業務用に必要な符号化ツールや、MPEG-2で規定されていた8x8DCTや量子化マトリクスをも含んだFRExt (Fidelity Range Extension) の標準化が2005年2月に完了した。これにより、H．264/AVCを用いて、映画に含まれるフィルムノイズをも良好に表現することが可能な符号化方式となって、Blu-Ray Disc（商標）等の幅広いアプリケーションに用いられる運びとなった。
【０００７】
しかしながら、昨今、ハイビジョン画像の4倍の、4000×2000画素程度の画像を圧縮したい、あるいは、インターネットのような、限られた伝送容量の環境において、ハイビジョン画像を配信したいといった、更なる高圧縮率符号化に対するニーズが高まっている。このため、先述の、ITU-T傘下のVCEG (=Video Coding Expert Group) において、符号化効率の改善に関する検討が継続され行なわれている。
【０００８】
このH．264/AVC方式が、従来のMPEG2方式などに比して高い符号化効率を実現する要因の１つとして、イントラ予測処理を挙げることができる。
【０００９】
H．264/AVC方式において、輝度信号のイントラ予測モードには、９種類の４×４画素および８×８画素のブロック単位、並びに４種類の１６×１６画素のマクロブロック単位の予測モードがある。また、色差信号のイントラ予測モードには、４種類の８×８画素のブロック単位の予測モードがある。この色差信号のイントラ予測モードは、輝度信号のイントラ予測モードと独立に設定が可能である。
【００１０】
輝度信号の４×４画素および８×８画素のイントラ予測モードについては、４×４画素および８×８画素の輝度信号のブロック毎に１つのイントラ予測モードが定義される。輝度信号の１６×１６画素のイントラ予測モードと色差信号のイントラ予測モードについては、１つのマクロブロックに対して１つの予測モードが定義される。
【００１１】
近年、このH．264/AVC方式におけるイントラ予測の効率をさらに改善する方法が、例えば、非特許文献１および２に提案されている。
【００１２】
図１を参照して、非特許文献１に提案されているイントラ予測方式としてのイントラテンプレートマッチング方式を説明する。図１の例においては、図示せぬ符号化対象の対象フレーム上に、４×４画素のブロックＡと、Ｘ×Ｙ（＝縦×横）画素からなる領域のうち、すでに符号化済みの画素だけで構成される所定の探索範囲Ｅが示されている。
【００１３】
所定のブロックＡには、これから符号化されようとしている対象ブロックａが示されている。所定のブロックＡは、例えば、マクロブロックや、サブマクロブロックなどである。この対象ブロックａは、所定のブロックＡを構成する２×２画素のブロックのうち、左上に位置するブロックである。対象ブロックａには、すでに符号化済みの画素で構成されるテンプレート領域ｂが隣接している。例えば、テンプレート領域ｂは、符号化処理をラスタスキャン順に行う場合には、図１に示されるように、対象ブロックａの左および上側に位置する領域であり、フレームメモリに復号画像が蓄積されている領域である。
【００１４】
イントラテンプレートマッチング方式においては、対象フレーム上の所定の探索範囲Ｅ内において、例えば、SAD(Sum of Absolute Difference) 等のコスト関数値を最小とするようなテンプレート領域ｂを用いて、テンプレートマッチング処理が行われる。その結果、テンプレート領域ｂの画素値と相関が最も高くなる領域ｂ’が探索され、探索された領域ｂ’に対応するブロックａ’を、対象ブロックａに対する予測画像として、対象ブロックａに対する動きベクトルが探索される。
【００１５】
このように、イントラテンプレートマッチング方式による動きベクトル探索処理は、テンプレートマッチング処理に復号画像を用いている。したがって、所定の探索範囲Ｅを予め定めておくことにより、符号化側と復号側において同一の処理を行うことが可能であり、復号側に、動きベクトルの情報を送る必要がなくなる。
【００１６】
なお、図１において、対象サブブロックが２×２画素の場合を説明したが、これに限らず、任意の大きさのサブブロックに適用が可能である。
【００１７】
また、図２を参照して、非特許文献２に提案されているイントラ予測方式としてのイントラ動き予測方式を説明する。図２の例においても、対象フレーム上に、符号化対象のマクロブロックＡと、すでに符号化済みの画素で構成される所定の探索範囲Ｅが示されている。
【００１８】
マクロブロックＡは、ブロックａ１乃至ａ４により構成されており、いま、ブロックａ２が符号化対象のブロックであるとする。例えば、イントラ動き予測方式においては、ブロックａ２の画素値と相関が最も高くなるブロックａ２´が、所定の探索範囲Ｅから探索され、探索されたブロックａ２´が対象ブロックａ２に対する予測画像とされる。なお、ブロックａ２´を対象とする場合の所定の探索範囲Ｅには、ブロックａ１も含まれる。
【００１９】
その際、このイントラ動き予測方式においては、図１を参照して上述したイントラテンプレートマッチング方式と異なり、画面内における、ブロックブロックａ２´からブロックａ２への動きベクトルｍｖに相当する情報が、復号側に送信される。
【００２０】
さて、ここで、MPEG2方式においては、線形内挿処理により１／２画素精度の動き予測・補償処理が行われている。これに対して、H．264/AVC方式においては、６タップのFIR (Finite Impulse Response Filter)フィルタを用いた１／４画素精度の予測・補償処理が行われている。
【００２１】
また、MPEG2方式においては、フレーム動き補償モードの場合には、１６×１６画素を単位として動き予測・補償処理が行われている。フィールド動き補償モードの場合には、第１フィールドと第２フィールドのそれぞれに対し、１６×８画素を単位として動き予測・補償処理が行われている。
【００２２】
これに対して、H．264/AVC方式においては、ブロックサイズを可変にして、動き予測・補償を行うことができる。すなわち、H．264/AVC方式においては、１６×１６画素で構成される１つのマクロブロックを、１６×１６、１６×８、８×１６、あるいは８×８のいずれかのパーティションに分割して、それぞれ独立した動きベクトル情報を持つことが可能である。また、８×８パーティションに関しては、８×８、８×４、４×８、あるいは４×４のいずれかのサブパーティションに分割し、それぞれ独立した動きベクトル情報を持つことが可能である。
【００２３】
しかしながら、H．264/AVC方式においては、上述した１／４画素精度、およびブロック可変の動き予測・補償処理が行われることにより、膨大な動きベクトル情報が生成されてしまい、これをこのまま符号化してしまうと、符号化効率の低下を招いていた。そこで、これから符号化されようとしている対象ブロックの予測動きベクトル情報を、既に符号化済の、隣接するブロックの動きベクトル情報を用いてメディアンオペレーションにより生成する方法などにより、符号化効率の低下を抑えることが提案されている。
【００２４】
しかしながら、このようなメディアン予測を用いても、画像圧縮情報における動きベクトル情報の占める割合は少なくない。これに対して、非特許文献３に記載の方式が提案されている。その方式とは、符号化対象の画像の領域に対して所定の位置関係で隣接すると共に復号画像の一部であるテンプレート領域の復号画像と相関が高い画像の領域を、復号画像から探索して、探索された領域と所定の位置関係とに基づいて予測を行う方式である。
【００２５】
図３を参照して、非特許文献３に提案されているインターテンプレートマッチング方式を説明する。
【００２６】
図３の例においては、符号化対象の対象フレーム（ピクチャ）と、動きベクトルを探索する際に参照される参照フレームが示されている。対象フレームには、これから符号化されようとしている対象ブロックＡと、対象ブロックＡに対して隣接するとともに、すでに符号化済みの画素で構成されるテンプレート領域Ｂが示されている。例えば、テンプレート領域Ｂは、符号化処理をラスタスキャン順に行う場合には、図３に示されるように、対象ブロックＡの左および上側に位置する領域であり、フレームメモリに復号画像が蓄積されている領域である。
【００２７】
インターテンプレートマッチング方式においては、参照フレーム上の所定の探索範囲Ｅ内で、例えば、SAD 等をコスト関数値としてテンプレートマッチング処理が行われ、テンプレート領域Ｂの画素値と相関が最も高くなる領域Ｂ’が探索される。そして、探索された領域Ｂ’に対応するブロックＡ’が、対象ブロックＡに対する予測画像として、対象ブロックＡに対する動きベクトルＰが探索される。
【００２８】
このインターテンプレートマッチング方式では、マッチングに復号画像を用いているため、探索範囲を予め定めておくことで、符号化側と復号側において同一の処理を行うことが可能である。すなわち、復号側においても上述したような予測・補償処理を行うことにより、符号化側からの画像圧縮情報の中に動きベクトル情報を持つ必要がないため、符号化効率の低下を抑えることが可能である。
【先行技術文献】
【非特許文献】
【００２９】
【非特許文献１】“Intra Prediction by Template Matching”, T.K. Tan et al, ICIP2006
【非特許文献２】“Tools for Improving Texture and Motion Compensation”, MPEG Workshop, Oct 2008
【非特許文献３】“Inter Frame Coding with Template Matching Averaging”, Y. Suzuki et al, ICIP2007
【発明の概要】
【発明が解決しようとする課題】
【００３０】
ところで、上述したようにハイビジョン画像のため、さらに高解像度画像を圧縮する、あるいは、IPTV(Internet Protocol Television)などのように、インターネットに代表されるネットワーク経由でハイビジョン画像を配信する場合、かかる高解像度画像をより低いビットレートで圧縮することが必要となる。
【００３１】
しかしながら、H．264/AVC方式による圧縮率ではまだ不十分であり、圧縮においてさらなる情報の削減が必要とされていた。
【００３２】
本発明は、このような状況に鑑みてなされたものであり、対応する画素値の差分値を利用して、符号化効率を向上させるものである。
【課題を解決するための手段】
【００３３】
本発明の第１の側面の画像処理装置は、対象フレームの画像と、前記対象フレームにおいて画面内予測により生成された対象予測画像との差分である前記対象フレームの差分情報を受信する対象フレーム差分受信手段と、前記対象フレームに対応する参照フレームの画像と、前記参照フレームにおいて画面内予測により生成された参照予測画像との差分である前記参照フレームの差分情報を受信する参照フレーム差分受信手段と、前記対象フレーム差分受信手段により受信された前記対象フレームの差分情報と、前記参照フレーム差分受信手段により受信された前記参照フレームの差分情報との差分である２次差分情報を生成する２次差分生成手段と、前記対象フレームの画像として、前記２次差分生成手段により生成された前記２次差分情報を符号化する符号化手段とを備える。
【００３４】
前記参照フレームにおいて、前記対象ブロックに隣接するとともに復号画像から生成される第１のテンプレートを用いて前記対象ブロックの動きを予測することで、前記対象ブロックと前記参照ブロックとを対応付けるインターテンプレート動き予測手段をさらに備えることができる。
【００３５】
前記対象フレームにおいて、前記第１のテンプレートを構成する画素を用いて、画面内予測により前記対象予測画像を生成する対象イントラ予測手段と、前記参照フレームにおいて、前記第１のテンプレートに対応するテンプレートであって、前記参照ブロックに隣接するとともに復号画像から生成される第２のテンプレートを構成する画素を用いて、画面内予測により前記参照予測画像を生成する参照イントラ予測手段とをさらに備えることができる。
【００３６】
前記参照イントラ予測手段は、前記参照フレームにおいて、前記第２のテンプレートを構成する画素を用いて、画面内予測により前記参照予測画像を生成するとともに、最適な予測モードを決定し、前記対象イントラ予測手段は、前記対象フレームにおいて、前記第１のテンプレートを構成する画素を用いて、前記参照イントラ予測手段により決定された前記予測モードで、画面内予測により前記対象予測画像を生成することができる。
【００３７】
前記対象イントラ予測手段は、前記対象フレームにおいて、前記第１のテンプレートを構成する画素を用いて、画面内予測により前記対象予測画像を生成するとともに、最適な予測モードを決定し、前記参照イントラ予測手段は、前記参照フレームにおいて、前記第２のテンプレートを構成する画素を用いて、前記対象イントラ予測手段により決定された前記予測モードで、画面内予測により前記参照予測画像を生成し、前記符号化手段は、前記対象フレームの画像とともに、前記予測モードの情報を符号化することができる。
【００３８】
前記対象イントラ予測手段は、前記対象フレームにおいて、前記第１のテンプレートを構成する画素を用いて、画面内予測により前記対象予測画像を生成するとともに、最適な第１の予測モードを決定し、前記参照イントラ予測手段は、前記参照フレームにおいて、前記第２のテンプレートを構成する画素を用いて、画面内予測により前記参照予測画像を生成するとともに、最適な第２の予測モードを決定し、前記符号化手段は、前記対象フレームの画像とともに、前記第１の予測モードの情報を符号化することができる。
【００３９】
前記参照フレームにおいて、前記対象フレームに含まれる対象ブロックを用いて前記対象ブロックの動きを予測することで、前記対象ブロックと前記参照フレームに含まれる参照ブロックとを対応付ける動き予測手段をさらに備えることができる。
【００４０】
前記対象フレームにおいて、前記対象ブロックに隣接するとともに復号画像から生成される第１のテンプレートを用いて前記対象ブロックの動きを予測することで求められる前記対象ブロックに対応する第１のブロックを用いて、画面内予測により前記対象予測画像を生成する対象イントラテンプレート予測手段と、前記参照フレームにおいて、前記参照ブロックに隣接するとともに復号画像から生成される第２のテンプレートを用いて前記参照ブロックの動きを予測することで求められる前記参照ブロックに対応する第２のブロックを用いて、画面内予測により前記参照予測画像を生成する参照イントラテンプレート予測手段とをさらに備えることができる。
【００４１】
前記対象フレームにおいて、前記対象ブロックを用いて前記対象ブロックの動きを予測することで求められる前記対象ブロックに対応する第１のブロックを用いて、画面内予測により前記対象予測画像を生成する対象イントラ動き予測手段と、前記参照フレームにおいて、前記参照ブロックを用いて前記参照ブロックの動きを予測することで求められる前記参照ブロックに対応する第２のブロックを用いて、画面内予測により前記参照予測画像を生成する参照イントラ動き予測手段とをさらに備えることができる。
【００４２】
前記符号化手段は、前記対象フレームの画像とともに、前記対象イントラ動き予測手段により求められる前記対象ブロックの動きベクトル情報および前記参照イントラ動き予測手段により求められる前記参照ブロックの動きベクトル情報も符号化することができる。
【００４３】
前記符号化手段は、前記対象ブロックの動きベクトル情報および前記参照ブロックの動きベクトル情報のうち一方の動きベクトル情報を符号化し、他方の動きベクトル情報として、前記他方の動きベクトル情報と前記一方の動きベクトル情報との差分情報を符号化することができる。
【００４４】
前記対象フレームの差分情報を算出する対象フレーム差分算出手段と、前記参照フレームの差分情報を算出する参照フレーム差分算出手段とをさらに備えることができる。
【００４５】
本発明の第１の側面の画像処理方法は、画像処理装置が、対象フレームの画像と、前記対象フレームにおいて画面内予測により生成された対象予測画像との差分である前記対象フレームの差分情報を受信し、前記対象フレームに対応する参照フレームの画像と、前記参照フレームにおいて画面内予測により生成された参照予測画像との差分である前記参照フレームの差分情報を受信し、受信された前記対象フレームの差分情報と、受信された前記参照フレームの差分情報との差分である２次差分情報を生成し、前記対象フレームの画像として、生成された前記２次差分情報を符号化するステップを含む。
【００４６】
本発明の第１の側面のプログラムは、対象フレームの画像と、前記対象フレームにおいて画面内予測により生成された対象予測画像との差分である前記対象フレームの差分情報を受信し、前記対象フレームに対応する参照フレームの画像と、前記参照フレームにおいて画面内予測により生成された参照予測画像との差分である前記参照フレームの差分情報を受信し、受信された前記対象フレームの差分情報と、受信された前記参照フレームの差分情報との差分である２次差分情報を生成し、前記対象フレームの画像として、生成された前記２次差分情報を符号化するステップを含む処理をコンピュータに行わせる。
【００４７】
本発明の第２の側面の画像処理装置は、符号化されている対象フレームの２次差分情報を復号する復号手段と、前記対象フレームにおいて画面内予測により生成された対象予測画像を受信する予測画像受信手段と、前記対象フレームに対応する参照フレームの画像と、前記参照フレームにおいて画面内予測により生成された参照予測画像との差分である前記参照フレームの差分情報を受信する参照フレーム差分受信手段と、前記復号手段により復号された前記２次差分情報、前記予測画像受信手段により受信された前記対象予測画像、および前記参照フレーム差分受信手段により受信された前記参照フレームの差分情報を加算して、前記対象フレームの画像を算出する２次差分補償手段とを備える。
【００４８】
前記参照フレームにおいて、前記対象ブロックに隣接するとともに復号画像から生成される第１のテンプレートを用いて前記対象ブロックの動きを予測することで、前記対象ブロックと前記参照ブロックとを対応付けるインターテンプレート動き予測手段をさらに備えることができる。
【００４９】
前記対象フレームにおいて、前記第１のテンプレートを構成する画素を用いて、画面内予測により前記対象予測画像を生成する対象イントラ予測手段と、前記参照フレームにおいて、前記第１のテンプレートに対応するテンプレートであって、前記参照ブロックに隣接するとともに復号画像から生成される第２のテンプレートを構成する画素を用いて、画面内予測により前記参照予測画像を生成する参照イントラ予測手段とをさらに備えることができる。
【００５０】
前記参照イントラ予測手段は、前記参照フレームにおいて、前記第２のテンプレートを構成する画素を用いて、画面内予測により前記参照予測画像を生成するとともに、最適な予測モードを決定し、前記対象イントラ予測手段は、前記対象フレームにおいて、前記第１のテンプレートを構成する画素を用いて、前記参照イントラ予測手段により決定された前記予測モードで、画面内予測により前記対象予測画像を生成することができる。
【００５１】
前記復号手段は、前記２次差分情報とともに、前記対象イントラ予測手段における最適な予測モードの情報を復号し、前記対象イントラ予測手段は、前記対象フレームにおいて、前記第１のテンプレートを構成する画素を用いて、前記復号手段により復号された前記予測モードで、画面内予測により前記対象予測画像を生成し、前記参照イントラ予測手段は、前記参照フレームにおいて、前記第２のテンプレートを構成する画素を用いて、前記復号手段により復号された前記予測モードで、画面内予測により前記参照予測画像を生成することができる。
【００５２】
前記復号手段は、前記２次差分情報とともに、前記対象イントラ予測手段における最適な第１の予測モードの情報を復号し、前記対象イントラ予測手段は、前記対象フレームにおいて、前記第１のテンプレートを構成する画素を用いて、前記復号手段により復号された前記第１の予測モードで、画面内予測により前記対象予測画像を生成し、前記参照イントラ予測手段は、前記参照フレームにおいて、前記第２のテンプレートを構成する画素を用いて、画面内予測により前記参照予測画像を生成するとともに、最適な第２の予測モードを決定することができる。
【００５３】
前記参照フレームにおいて、前記対象フレームに含まれる対象ブロックを用いて前記対象ブロックの動きを予測することで、前記対象ブロックと前記参照フレームに含まれる参照ブロックとを対応付ける動き予測手段をさらに備えることができる。
【００５４】
前記対象フレームにおいて、前記対象ブロックに隣接するとともに復号画像から生成される第１のテンプレートを用いて前記対象ブロックの動きを予測することで求められる前記対象ブロックに対応する第１のブロックを用いて、画面内予測により前記対象予測画像を生成する対象イントラテンプレート予測手段と、前記参照フレームにおいて、前記参照ブロックに隣接するとともに復号画像から生成される第２のテンプレートを用いて前記参照ブロックの動きを予測することで求められる前記参照ブロックに対応する第２のブロックを用いて、画面内予測により前記参照予測画像を生成する参照イントラテンプレート予測手段とをさらに備えることができる。
【００５５】
前記対象フレームにおいて、前記復号手段により前記対象フレームの前記２次差分とともに復号される前記対象ブロックの動きベクトル情報を用いて求められる前記対象ブロックに対応する第１のブロックを用いて、画面内予測により前記対象予測画像を生成する対象イントラ動き予測手段と、前記参照フレームにおいて、前記復号手段により前記対象フレームの前記２次差分とともに復号される前記参照ブロックの動きベクトル情報を用いて求められる前記参照ブロックに対応する第２のブロックを用いて、画面内予測により前記参照予測画像を生成する参照イントラ動き予測手段とをさらに備えることができる。
【００５６】
前記復号手段は、前記対象フレームの前記２次差分情報とともに符号化されている、前記対象ブロックの動きベクトル情報および前記参照ブロックの動きベクトル情報も復号することができる。
【００５７】
前記復号手段は、前記対象フレームの前記２次差分情報とともに符号化されている、前記対象ブロックの動きベクトル情報および前記参照ブロックの動きベクトル情報のうち一方の動きベクトル情報を復号し、前記一方の動きベクトル情報と他方の動きベクトル情報との差分情報を復号することで、前記他方の動きベクトル情報を復号することができる。
【００５８】
前記参照フレームの差分情報を算出する参照フレーム差分算出手段をさらに備えることができる。
【００５９】
本発明の第２の画像処理方法は、画像処理装置が、符号化されている対象フレームの２次差分情報を復号し、前記対象フレームにおいて画面内予測により生成された対象予測画像を受信し、前記対象フレームに対応する参照フレームの画像と、前記参照フレームにおいて画面内予測により生成された参照予測画像との差分である前記参照フレームの差分情報を受信し、復号された前記２次差分情報、受信された前記対象予測画像、および受信された前記参照フレームの差分情報を加算して、前記対象フレームの画像を算出するステップを含む。
【００６０】
本発明の第２のプログラムは、符号化されている対象フレームの２次差分情報を復号し、前記対象フレームにおいて画面内予測により生成された対象予測画像を受信し、前記対象フレームに対応する参照フレームの画像と、前記参照フレームにおいて画面内予測により生成された参照予測画像との差分である前記参照フレームの差分情報を受信し、復号された前記２次差分情報、受信された前記対象予測画像、および受信された前記参照フレームの差分情報を加算して、前記対象フレームの画像を算出するステップを含む処理をコンピュータに行わせる。
【００６１】
本発明の第１の側面においては、対象フレームの画像と、前記対象フレームにおいて画面内予測により生成された対象予測画像との差分である前記対象フレームの差分情報が受信され、前記対象フレームに対応する参照フレームの画像と、前記参照フレームにおいて画面内予測により生成された参照予測画像との差分である前記参照フレームの差分情報が受信される。そして、受信された前記対象フレームの差分情報と、受信された前記参照フレームの差分情報との差分である２次差分情報が生成され、前記対象フレームの画像として、生成された前記２次差分情報が符号化される。
【００６２】
本発明の第２の側面においては、符号化されている対象フレームの２次差分情報が復号され、前記対象フレームにおいて画面内予測により生成された対象予測画像が受信され、前記対象フレームに対応する参照フレームの画像と、前記参照フレームにおいて画面内予測により生成された参照予測画像との差分である前記参照フレームの差分情報が受信される。そして、復号された前記２次差分情報、受信された前記対象予測画像、および受信された前記参照フレームの差分情報が加算されて、前記対象フレームの画像が算出される。
【００６３】
なお、上述の画像処理装置のそれぞれは、独立した装置であっても良いし、１つの画像符号化装置または画像復号装置を構成している内部ブロックであってもよい。
【発明の効果】
【００６４】
本発明の第１の側面によれば、画像を符号化することができる。また、本発明の第１の側面によれば、符号化効率を向上させることができる。
【００６５】
本発明の第２の側面によれば、画像を復号することができる。また、本発明の第２の側面によれば、符号化効率を向上させることができる。
【図面の簡単な説明】
【００６６】
【図１】イントラテンプレートマッチング方式について説明する図である。
【図２】イントラ動き予測について説明する図である。
【図３】インターテンプレートマッチング方式について説明する図である。
【図４】本発明を適用した画像符号化装置の一実施の形態の構成を示すブロック図である。
【図５】可変ブロックサイズ動き予測・補償処理を説明する図である。
【図６】１／４画素精度の動き予測・補償処理を説明する図である。
【図７】マルチ参照フレームの動き予測・補償方式について説明する図である。
【図８】動きベクトル情報の生成方法の例を説明する図である。
【図９】画面内予測部および２次差分生成部の詳細な構成例を示すブロック図である。
【図１０】画面内予測部および２次差分生成部の動作例を説明する図である。
【図１１】画面内予測部および２次差分生成部の他の動作例を説明する図である。
【図１２】図４の画像符号化装置の符号化処理を説明するフローチャートである。
【図１３】図１２のステップＳ２１の予測処理を説明するフローチャートである。
【図１４】１６×１６画素のイントラ予測モードの場合の処理順序を説明する図である。
【図１５】輝度信号の４×４画素のイントラ予測モードの種類を示す図である。
【図１６】輝度信号の４×４画素のイントラ予測モードの種類を示す図である。
【図１７】４×４画素のイントラ予測の方向を説明する図である。
【図１８】４×４画素のイントラ予測を説明する図である。
【図１９】輝度信号の４×４画素のイントラ予測モードの符号化を説明する図である。
【図２０】輝度信号の８×８画素のイントラ予測モードの種類を示す図である。
【図２１】輝度信号の８×８画素のイントラ予測モードの種類を示す図である。
【図２２】輝度信号の１６×１６画素のイントラ予測モードの種類を示す図である。
【図２３】輝度信号の１６×１６画素のイントラ予測モードの種類を示す図である。
【図２４】１６×１６画素のイントラ予測を説明する図である。
【図２５】色差信号のイントラ予測モードの種類を示す図である。
【図２６】図１３のステップＳ３１のイントラ予測処理を説明するフローチャートである。
【図２７】図１３のステップＳ３２のインター動き予測処理を説明するフローチャートである。
【図２８】図２７のステップＳ６３の２次差分生成処理を説明するフローチャートである。
【図２９】本発明を適用した画像復号装置の一実施の形態の構成を示すブロック図である。
【図３０】画面内予測部および２次差分補償部の詳細な構成例を示すブロック図である。
【図３１】図２９の画像復号装置の復号処理を説明するフローチャートである。
【図３２】図３１のステップＳ１３８の予測処理を説明するフローチャートである。
【図３３】図３２のステップＳ１７５のインター動き予測・２次差分補償処理を説明するフローチャートである。
【図３４】本発明を適用した画像符号化装置の他の実施の形態の構成を示すブロック図である。
【図３５】隣接予測部の詳細な構成例を示すブロック図である。
【図３６】インターテンプレート動き予測・補償部および隣接予測部の動作例を説明する図である。
【図３７】図１２のステップＳ２１の予測処理の他の例を説明するフローチャートである。
【図３８】図３７のステップＳ２１２のインター動き予測処理の他の例を説明するフローチャートである。
【図３９】図３７のステップＳ２１５のインターテンプレート動き予測処理の例を説明するフローチャートである。
【図４０】図３７のステップＳ２１５のインターテンプレート動き予測処理の他の例を説明するフローチャートである。
【図４１】図３７のステップＳ２１５のインターテンプレート動き予測処理のさらに他の例を説明するフローチャートである。
【図４２】本発明を適用した画像復号装置の他の実施の形態の構成を示すブロック図である。
【図４３】隣接予測部の詳細な構成例を示すブロック図である。
【図４４】図３１のステップＳ１３８の予測処理の他の例を説明するフローチャートである。
【図４５】図４４のステップＳ３１９のインターテンプレート動き予測・補償処理を説明するフローチャートである。
【図４６】コンピュータのハードウエアの構成例を示すブロック図である。
【発明を実施するための形態】
【００６７】
以下、図を参照して本発明の実施の形態について説明する。
【００６８】
［画像符号化装置の構成例］
図４は、本発明を適用した画像処理装置としての画像符号化装置の一実施の形態の構成を表している。
【００６９】
この画像符号化装置５１は、特に言及しない場合、例えば、H．264及びMPEG-4 Part10（Advanced Video Coding）（以下H．264/AVCと記す）方式で画像を圧縮符号化する。すなわち、実際には、画像符号化装置５１においては、必要に応じて、図１または図３で上述したテンプレートマッチング方式も用いられるので、テンプレートマッチング方式以外は、H．264/AVC方式で画像が圧縮符号化される。
【００７０】
図４の例において、画像符号化装置５１は、Ａ／Ｄ変換部６１、画面並べ替えバッファ６２、演算部６３、直交変換部６４、量子化部６５、可逆符号化部６６、蓄積バッファ６７、逆量子化部６８、逆直交変換部６９、演算部７０、デブロックフィルタ７１、フレームメモリ７２、スイッチ７３、イントラ予測部７４、動き予測・補償部７５、画面内予測部７６、２次差分生成部７７、予測画像選択部７８、およびレート制御部７９により構成されている。
【００７１】
Ａ／Ｄ変換部６１は、入力された画像をＡ／Ｄ変換し、画面並べ替えバッファ６２に出力し、記憶させる。画面並べ替えバッファ６２は、記憶した表示の順番のフレームの画像を、ＧＯＰ（Group of Picture）に応じて、符号化のためのフレームの順番に並べ替える。
【００７２】
演算部６３は、画面並べ替えバッファ６２から読み出された画像から、予測画像選択部７８により選択されたイントラ予測部７４からの予測画像を減算し、その差分情報を直交変換部６４に出力する。直交変換部６４は、演算部６３からの差分情報に対して、離散コサイン変換、カルーネン・レーベ変換等の直交変換を施し、その変換係数を出力する。量子化部６５は直交変換部６４が出力する変換係数を量子化する。
【００７３】
量子化部６５の出力となる、量子化された変換係数は、可逆符号化部６６に入力され、ここで可変長符号化、算術符号化等の可逆符号化が施され、圧縮される。
【００７４】
可逆符号化部６６は、イントラ予測を示す情報をイントラ予測部７４から取得し、インター予測モードを示す情報などを動き予測・補償部７５から取得する。なお、イントラ予測を示す情報は、以下、イントラ予測モード情報とも称する。また、インター予測を示す情報は、以下、インター予測モード情報とも称する。
【００７５】
可逆符号化部６６は、量子化された変換係数を符号化するとともに、イントラ予測を示す情報、インター予測モードを示す情報などを符号化し、圧縮画像におけるヘッダ情報の一部とする。可逆符号化部６６は、符号化したデータを蓄積バッファ６７に供給して蓄積させる。
【００７６】
例えば、可逆符号化部６６においては、可変長符号化または算術符号化等の可逆符号化処理が行われる。可変長符号化としては、H．264/AVC方式で定められているCAVLC（Context-Adaptive Variable Length Coding）などがあげられる。算術符号化としては、CABAC（Context-Adaptive Binary Arithmetic Coding）などがあげられる。
【００７７】
蓄積バッファ６７は、可逆符号化部６６から供給されたデータを、H．264/AVC方式で符号化された圧縮画像として、例えば、後段の図示せぬ記録装置や伝送路などに出力する。
【００７８】
また、量子化部６５より出力された、量子化された変換係数は、逆量子化部６８にも入力され、逆量子化された後、さらに逆直交変換部６９において逆直交変換される。逆直交変換された出力は演算部７０により予測画像選択部７８から供給される予測画像と加算されて、局部的に復号された画像となる。デブロックフィルタ７１は、復号された画像のブロック歪を除去した後、フレームメモリ７２に供給し、蓄積させる。フレームメモリ７２には、デブロックフィルタ７１によりデブロックフィルタ処理される前の画像も供給され、蓄積される。
【００７９】
スイッチ７３はフレームメモリ７２に蓄積された参照画像を動き予測・補償部７５またはイントラ予測部７４に出力する。
【００８０】
この画像符号化装置５１においては、例えば、画面並べ替えバッファ６２からのＩピクチャ、Ｂピクチャ、およびＰピクチャが、イントラ予測（イントラ処理とも称する）する画像として、イントラ予測部７４に供給される。また、画面並べ替えバッファ６２から読み出されたＢピクチャおよびＰピクチャが、インター予測（インター処理とも称する）する画像として、動き予測・補償部７５に供給される。
【００８１】
イントラ予測部７４は、画面並べ替えバッファ６２から読み出されたイントラ予測する画像とフレームメモリ７２から供給された参照画像に基づいて、候補となる全てのイントラ予測モードのイントラ予測処理を行い、予測画像を生成する。
【００８２】
その際、イントラ予測部７４は、候補となる全てのイントラ予測モードに対してコスト関数値を算出し、算出したコスト関数値が最小値を与えるイントラ予測モードを、最適イントラ予測モードとして選択する。
【００８３】
イントラ予測部７４は、最適イントラ予測モードで生成された予測画像とそのコスト関数値を、予測画像選択部７８に供給する。イントラ予測部７４は、予測画像選択部７８により最適イントラ予測モードで生成された予測画像が選択された場合、最適イントラ予測モードを示す情報を、可逆符号化部６６に供給する。可逆符号化部６６は、この情報を符号化し、圧縮画像におけるヘッダ情報の一部とする。
【００８４】
動き予測・補償部７５は、候補となる全てのインター予測モードの動き予測・補償処理を行う。すなわち、動き予測・補償部７５には、画面並べ替えバッファ６２から読み出されたインター処理する画像と、スイッチ７３を介してフレームメモリ７２から参照画像が供給される。
【００８５】
動き予測・補償部７５は、インター処理する画像と参照画像に基づいて、動きベクトルを検出し、参照画像において、検出された動きベクトル情報によりインター処理する画像の対象ブロックに対応付けられる参照ブロックを求める。動き予測・補償部７５は、対象ブロックの情報と、それに対応する参照ブロックの情報を、画面内予測部７６に出力する。この処理は、候補となる全てのインター予測モードについて行われる。
【００８６】
なお、動き予測・補償部７５においては、インター予測モードの動き予測・補償処理に代えて、図３を参照して上述したインターテンプレートマッチング方式による動き予測・補償処理を行うようにすることもできる。
【００８７】
画面内予測部７６は、フレームメモリ７２から対象フレームおよび参照フレームの参照画像を読み出す。画面内予測部７６は、対象フレームにおいて画面内予測を行い、対象ブロックに対応するブロックを検出し、参照フレームにおいて画面内予測を行い、参照ブロックに対応するブロックを検出する。画面内予測部７６においては、画面内予測として、図１を参照して上述したイントラテンプレートマッチング方式または図２を参照して上述したイントラ動き予測方式が用いられる。
【００８８】
画面内予測部７６は、さらに、対象ブロックの画素値と対応するブロックの画素値の差分情報（対象フレームの差分情報）を算出し、参照ブロックの画素値と対応するブロックの画素値の差分情報（参照フレームの差分情報）を算出する。算出された対象フレームの差分情報および参照フレームの差分情報は、２次差分生成部７７に出力される。
【００８９】
２次差分生成部７７は、対象フレームの差分情報と参照フレームの差分情報の差分である２次差分情報を生成し、生成した２次差分情報を、動き予測・補償部７５に出力する。
【００９０】
動き予測・補償部７５は、２次差分生成部７７から対象ブロックの２次差分情報を用いて、候補となる全てのインター予測モードに対してコスト関数値を算出する。動き予測・補償部７５は、算出したコスト関数値が最小値を与えるインター予測モードを、最適インター予測モードとして選択する。
【００９１】
動き予測・補償部７５は、インター処理する画像と最適インター予測モードで生成された２次差分情報との差分、および最適インター予測モードのコスト関数値を、予測画像選択部７８に供給する。動き予測・補償部７５は、予測画像選択部７８により最適インター予測モードで生成された予測画像として、インター処理する画像と２次差分情報との差分が選択された場合、最適インター予測モードを示す情報を可逆符号化部６６に出力する。
【００９２】
なお、必要であれば、動きベクトル情報、フラグ情報、参照フレーム情報なども可逆符号化部６６に出力される。可逆符号化部６６は、動き予測・補償部７５からの情報をやはり可変長符号化、算術符号化といった可逆符号化処理し、圧縮画像のヘッダ部に挿入する。
【００９３】
予測画像選択部７８は、イントラ予測部７４または動き予測・補償部７５より出力された各コスト関数値に基づいて、最適イントラ予測モードと最適インター予測モードから、最適予測モードを決定する。そして、予測画像選択部７８は、決定された最適予測モードの予測画像、またはインターする画像と２次差分情報の差分を選択し、演算部６３，７０に供給する。このとき、予測画像選択部７８は、予測画像の選択情報を、イントラ予測部７４または動き予測・補償部７５に供給する。
【００９４】
レート制御部７９は、蓄積バッファ６７に蓄積された圧縮画像に基づいて、オーバーフローあるいはアンダーフローが発生しないように、量子化部６５の量子化動作のレートを制御する。
【００９５】
［H．264/AVC方式の説明］
図５は、H．264/AVC方式における動き予測・補償のブロックサイズの例を示す図である。H．264/AVC方式においては、ブロックサイズを可変にして、動き予測・補償が行われる。
【００９６】
図５の上段には、左から、１６×１６画素、１６×８画素、８×１６画素、および８×８画素のパーティションに分割された１６×１６画素で構成されるマクロブロックが順に示されている。また、図５の下段には、左から、８×８画素、８×４画素、４×８画素、および４×４画素のサブパーティションに分割された８×８画素のパーティションが順に示されている。
【００９７】
すなわち、H．264/AVC方式においては、１つのマクロブロックを、１６×１６画素、１６×８画素、８×１６画素、あるいは８×８画素のいずれかのパーティションに分割して、それぞれ独立した動きベクトル情報を持つことが可能である。また、８×８画素のパーティションに関しては、８×８画素、８×４画素、４×８画素、あるいは４×４画素のいずれかのサブパーティションに分割し、それぞれ独立した動きベクトル情報を持つことが可能である。
【００９８】
図６は、H．264/AVC方式における１／４画素精度の予測・補償処理を説明する図である。H．264/AVC方式においては、６タップのFIR (Finite Impulse Response Filter)フィルタを用いた１／４画素精度の予測・補償処理が行われている。
【００９９】
図６の例において、位置Ａは、整数精度画素の位置、位置ｂ，ｃ，ｄは、１／２画素精度の位置、位置ｅ１，ｅ２，ｅ３は、１／４画素精度の位置を示している。まず、以下においては、Clip()を次の式（１）のように定義する。
【０１００】
【数１】
2010258738.tif 000003
なお、入力画像が８ビット精度である場合、max_pixの値は255となる。
【０１０１】
位置ｂおよびｄにおける画素値は、６タップのFIRフィルタを用いて、次の式（２）のように生成される。
【数２】
2010258738.tif 000004
【０１０２】
位置ｃにおける画素値は、水平方向および垂直方向に６タップのFIRフィルタを適用し、次の式（３）のように生成される。
【数３】
2010258738.tif 000005
なお、Clip処理は、水平方向および垂直方向の積和処理の両方を行った後、最後に１度のみ実行される。
【０１０３】
位置ｅ１乃至ｅ３は、次の式（４）のように線形内挿により生成される。
【数４】
2010258738.tif 000006
【０１０４】
図７は、H．264/AVC方式におけるマルチ参照フレームの予測・補償処理を説明する図である。H．264/AVC方式においては、マルチ参照フレーム(Multi-Reference Frame) の動き予測・補償方式が定められている。
【０１０５】
図７の例においては、いまから符号化される対象フレームＦnと、符号化済みのフレームＦn-5,…,Ｆn-1が示されている。フレームＦn-1は、時間軸上、対象フレームＦnの１つ前のフレームであり、フレームＦn-2は、対象フレームＦnの２つ前のフレームであり、フレームＦn-3は、対象フレームＦnの３つ前のフレームである。また、フレームＦn-4は、対象フレームＦnの４つ前のフレームであり、フレームＦn-5は、対象フレームＦnの５つ前のフレームである。一般的には、対象フレームＦnに対して時間軸上に近いフレームほど、小さい参照ピクチャ番号（ref_id）が付加される。すなわち、フレームＦn-1が一番参照ピクチャ番号が小さく、以降、Fn-2,…, Ｆn-5の順に参照ピクチャ番号が小さい。
【０１０６】
対象フレームＦnには、ブロックＡ1とブロックＡ2が示されており、ブロックＡ1は、２つ前のフレームＦn-2のブロックＡ1’と相関があるとされて、動きベクトルＶ1が探索されている。また、ブロックＡ2は、４つ前のフレームＦn-4のブロックＡ1’と相関があるとされて、動きベクトルＶ2が探索されている。
【０１０７】
以上のように、H．264/AVC方式においては、複数の参照フレームをメモリに格納しておき、１枚のフレーム（ピクチャ）において、異なる参照フレームを参照することが可能である。すなわち、例えば、ブロックＡ1がフレームＦn-2を参照し、ブロックＡ2がフレームＦn-4を参照しているというように、１枚のピクチャにおいて、ブロック毎にそれぞれ独立した参照フレーム情報（参照ピクチャ番号（ref_id））を持つことができる。
【０１０８】
H．264/AVC方式においては、図５乃至図７を参照して上述した動き予測・補償処理が行われることにより、膨大な動きベクトル情報が生成され、これをこのまま符号化することは、符号化効率の低下を招いてしまう。これに対して、H．264/AVC方式においては、図８に示す方法により、動きベクトルの符号化情報の低減が実現されている。
【０１０９】
図８は、H．264/AVC方式による動きベクトル情報の生成方法について説明する図である。
【０１１０】
図８の例において、これから符号化される対象ブロックＥ（例えば、１６×１６画素）と、既に符号化済みであり、対象ブロックＥに隣接するブロックＡ乃至Ｄが示されている。
【０１１１】
すなわち、ブロックＤは、対象ブロックＥの左上に隣接しており、ブロックＢは、対象ブロックＥの上に隣接しており、ブロックＣは、対象ブロックＥの右上に隣接しており、ブロックＡは、対象ブロックＥの左に隣接している。なお、ブロックＡ乃至Ｄが区切られていないのは、それぞれ、図５で上述した１６×１６画素乃至４×４画素のうちのいずれかの構成のブロックであることを表している。
【０１１２】
例えば、Ｘ（＝Ａ，Ｂ，Ｃ，Ｄ，Ｅ）に対する動きベクトル情報を、mvXで表す。まず、対象ブロックＥに対する予測動きベクトル情報pmvEは、ブロックＡ，Ｂ，Ｃに関する動きベクトル情報を用いて、メディアン予測により次の式（５）のように生成される。
【０１１３】
pmvE = med(mvA,mvB,mvC)                                          ・・・（５）
ブロックＣに関する動きベクトル情報が、画枠の端であったり、あるいは、まだ符号化されていないなどの理由により、利用可能でない（unavailableである）場合がある。この場合には、ブロックＣに関する動きベクトル情報は、ブロックＤに関する動きベクトル情報で代用される。
【０１１４】
対象ブロックＥに対する動きベクトル情報として、圧縮画像のヘッダ部に付加されるデータmvdEは、pmvEを用いて、次の式（６）のように生成される。
mvdE = mvE - pmvE                                                ・・・（６）
【０１１５】
なお、実際には、動きベクトル情報の水平方向、垂直方向のそれぞれの成分に対して、独立に処理が行われる。
【０１１６】
このように、予測動きベクトル情報を生成し、隣接するブロックとの相関で生成された予測動きベクトル情報と動きベクトル情報との差分を、圧縮画像のヘッダ部に付加することにより、動きベクトル情報を低減することができる。
【０１１７】
［画面内予測部および２次差分生成部の構成例］
図９は、画面内予測部および２次差分生成部の詳細な構成例を示すブロック図である。
【０１１８】
図９の例においては、画面内予測部７６は、対象フレーム画面内予測部８１、対象フレーム画面内差分生成部８２、対象フレーム画面内予測部８３、および参照フレーム画面内差分生成部８４により構成される。
【０１１９】
２次差分生成部７７は、対象フレーム差分受信部９１、参照フレーム差分受信部９２、および２次差分算出部９３により構成される。
【０１２０】
動き予測・補償部７５においては、インター処理する画像と参照画像に基づいて、動きベクトルが検出され、参照画像において、検出された動きベクトル情報によりインター処理する画像の対象ブロックＡに対応付けられる参照ブロックＢが求められる。動き予測・補償部７５は、対象ブロックＡの情報を、対象フレーム画面内予測部８１に出力し、参照ブロックＢの情報を、参照フレーム画面内予測部８２に出力する。
【０１２１】
対象フレーム画面内予測部８１は、対象ブロックＡの情報を参照して、フレームメモリ７２から対象フレームの参照画像を読み出す。対象フレーム画面内予測部８１は、対象フレームにおいて画面内予測を行い、対象ブロックＡに対応するブロックＡ´を検出し、対象ブロックＡとブロックＡ´の情報を、対象フレーム画面内差分生成部８２に出力する。
【０１２２】
対象フレーム画面内差分生成部８２は、対象フレームにおいて、対象ブロックＡの画素値とブロックＡ´の画素値の差分情報を生成し、対象フレームの差分情報[ResA]として、対象フレーム差分受信部９１に出力する。
【０１２３】
参照フレーム画面内予測部８３は、参照ブロックＢの情報を参照して、フレームメモリ７２から参照フレームの参照画像を読み出す。参照フレーム画面内予測部８３は、参照フレームにおいて画面内予測を行い、参照ブロックＢに対応するブロックＢ´を検出し、参照ブロックＢとブロックＢ´の情報を、参照フレーム画面内差分生成部８４に出力する。
【０１２４】
参照フレーム画面内差分生成部８４は、参照フレームにおいて、参照ブロックＢの画素値とブロックＢ´の画素値の差分情報を生成し、参照フレームの差分情報[ResB]として、参照フレーム差分受信部９２に出力する。
【０１２５】
対象フレーム差分受信部９１は、対象フレーム画面内差分生成部８２からの対象フレームの差分情報[ResA]を受信し、２次差分算出部９３に供給する。参照フレーム差分受信部９２は、参照フレーム画面内差分生成部８４からの参照フレームの差分情報[ResB]を受信し、２次差分算出部９３に供給する。
【０１２６】
２次差分算出部９３は、対象フレームの差分情報[ResA]と参照フレームの差分情報[ResB]との差分である２次差分情報[Res]を算出する。２次差分算出部９３は、算出した２次差分情報[Res]を動き予測・補償部７５に出力する。
【０１２７】
［画面内予測部および２次差分生成部の動作例］
次に、図１０を参照して、画面内予測部および２次差分生成部における動作について説明する。図１０の例においては、対象フレームには、対象ブロックＡが示されている。
【０１２８】
まず、動き予測・補償部７５は、H．264/AVC方式における通常の動き予測処理を行い、参照フレームにおいて、インター動きベクトルＭＶにより対象ブロックＡに対応付けられる参照ブロックＢを求める。従来、この参照ブロックＢの画素値が、対象ブロックＡの予測画像として、これと対象ブロックＡとの差分が符号化されていた。
【０１２９】
次に、対象フレーム画面内予測部８１は、対象フレームにおいて画面内予測を行い、対象ブロックＡに対応するブロックＡ´を検出する。同時に、参照フレーム画面内予測部８３は、参照フレームにおいて画面内予測を行い、参照ブロックＢに対応するブロックＢ´を検出する。
【０１３０】
図１０の例の場合、対象フレーム画面内予測部８１においては、画面内予測として、イントラ動き予測方式が用いられ、イントラ動きベクトルｍｖＡにより対象ブロックＡに対応付けられたブロックＡ´が検出されている。同様に、参照フレーム画面内予測部８３においては、画面内予測として、イントラ動き予測方式が用いられ、イントラ動きベクトルｍｖＢにより参照ブロックＢに対応付けられたブロックＢ´が検出されている。
【０１３１】
なお、図１０の例のように、画面内予測として、イントラ動き予測方式が用いられる場合には、対象フレームにおけるイントラ動きベクトルｍｖＡおよび参照フレームにおけるイントラ動きベクトルｍｖＢを復号側に送る必要がある。したがって、イントラ動きベクトルｍｖＡおよびイントラ動きベクトルｍｖＢは、可逆符号化部６６に供給される。
【０１３２】
その際、例えば、イントラ動きベクトルｍｖＡをそのまま伝送し、イントラ動きベクトルｍｖＢについては、イントラ動きベクトルｍｖＡとの差分情報のみを伝送するようにしてもよい。もちろん、イントラ動きベクトルｍｖＢをそのまま伝送し、イントラ動きベクトルｍｖＡについては、イントラ動きベクトルｍｖＢとの差分情報のみを伝送するようにしてもよい。
【０１３３】
ここで、対象ブロックＡ、ブロックＡ´、参照ブロックＢ、およびブロックＢ´に含まれる画素値をそれぞれ、[A]、[A']、[B]、および[B']と表す。対象フレーム画面内差分生成部８２は、次の式（７）により対象フレームの差分情報[ResA]を生成し、参照フレーム画面内差分生成部８４は、次の式（８）により参照フレームの差分情報[ResB]を生成する。
[ResA] = [A] - [A']                                              ・・・（７）                          
[ResB] = [B] - [B']                                              ・・・（８）
【０１３４】
そして、２次差分算出部９３は、２次差分情報[Res]を、次の式（９）により生成する。
[Res] = [ResA] - [ResB]                                           ・・・（９）
【０１３５】
以上のようにして生成された２次差分情報[Res] が符号化され復号側に送信される。すなわち、２次差分情報[Res]は、動き予測・補償部７５に出力され、動き予測・補償部７５は、対象ブロックＡの画素値[A]と２次差分情報[Res]の差分である[A']＋[ResB]を、予測画像選択部７８に出力する。予測画像選択部７８により、最適インター予測モードで生成された予測画像として、インターする画像と２次差分情報との差分[A']＋[ResB]が選択された場合、その差分[A']＋[ResB]は、演算部６３および演算部７０に出力される。
【０１３６】
演算部６３において、原画像[A]から、差分[A']＋[ResB]が減算されて、その結果としての２次差分情報[Res]が直交変換部６４に出力される。その２次差分情報[Res]は、直交変換部６４により直交変換され、量子化部６５により量子化されて、可逆符号化部６６により符号化される。
【０１３７】
一方、演算部７０には、直交変換され量子化された２次差分情報[Res]が、逆量子化され、逆直交変換されて入力されるとともに、予測画像選択部７８から、インターする画像と２次差分情報との差分[A']＋[ResB]が入力される。したがって、演算部７０においては、２次差分情報[Res]と差分[A']＋[ResB]を加算することで [A]が得られ、デブロックフィルタ７１およびフレームメモリ７２に出力される。
【０１３８】
すなわち、この場合、演算部７０においては、図２９を参照して後述する画像復号装置１０１の差分補償部１２４により行われる処理と同様の処理が実行される。
【０１３９】
以上のように、対象ブロックＡの予測画像（参照ブロックＢ）が求められるだけでなく、本発明においては、対象ブロックＡとその画面内予測画像の差分が求められ、参照ブロックＢとその画面内予測画像の差分が求められる。そして、それらの差分（２次差分）が符号化される。これにより、符号化効率を向上させることができる。
【０１４０】
なお、図１０の例においては、対象ブロックＡと参照ブロックＢがインター動きベクトルＭＶにより対応付けられている例が示されている。また、対象ブロックＡとブロックＡ´および参照ブロックＢとブロックＢ´がイントラ動きベクトルｍｖ１およびｍｖ２によりそれぞれ対応付けられている例が示されている。
【０１４１】
対象ブロックＡと参照ブロックＢとの対応付け方法、対象ブロックＡとブロックＡ´および参照ブロックＢとブロックＢ´の対応付け方法は、図１０の例に限らず、例えば、図１１に示される方法により対応付けることもできる。
【０１４２】
図１１は、動き予測・補償および画面内予測の他の動作例を示す図である。図１１の例においては、対象ブロックＡと参照ブロックＢとがインターテンプレートマッチングにより対応付けられている。また、対象ブロックＡとブロックＡ´および参照ブロックＢとブロックＢ´は、それぞれ、イントラテンプレートマッチングにより対応付けられている。
【０１４３】
図１１の例の場合、動き予測・補償部７５は、対象ブロックＡについて、インターテンプレートマッチングによる動き予測・補償処理を行う。すなわち、動き予測・補償部７５は、対象ブロックＡに対して隣接するとともに、すでに符号化済みの画素で構成されるテンプレート領域ａの画素値と相関が最も高くなる領域ｂを参照フレームにおいて探索する。そして、動き予測・補償部７５は、参照フレームにおいて探索された領域ｂに対応するブロックＢを、対象ブロックＡに対応するものとして検出する。これにより、対象ブロックＡに参照ブロックＢが対応付けられる。
【０１４４】
また、対象フレーム画面内予測部８１は、対象ブロックＡについてイントラテンプレートマッチングによる画面内予測処理を行う。すなわち、対象フレーム画面内予測部８１は、対象ブロックＡのテンプレート領域ａの画素値と相関が最も高くなる領域ａ´を対象フレームにおいて探索する。そして、対象フレーム画面内予測部８１は、対象フレームにおいて探索された領域ａ´に対応するブロックＡ´を、対象ブロックＡに対応するものとして検出する。これにより、対象ブロックＡにブロックＡ´が対応付けられる。
【０１４５】
同様に、参照フレーム画面内予測部８３は、参照ブロックＢについてイントラテンプレートマッチングによる画面内予測処理を行う。すなわち、参照フレーム画面内予測部８３は、参照ブロックＢのテンプレート領域ｂの画素値と相関が最も高くなる領域ｂ´を対象フレームにおいて探索する。そして、参照フレーム画面内予測部８３は、対象フレームにおいて探索された領域ｂ´に対応するブロックＢ´を、対象ブロックＢに対応するものとして検出する。これにより、対象ブロックＢにブロックＢ´が対応付けられる。
【０１４６】
図１１の例の場合、図１０の場合と異なり、インター動きベクトルやイントラ動きベクトルを復号側に送る必要がないので、図１０の例の場合よりビット量が少なくて済む。
【０１４７】
また、図１１の例の場合、インター予測で用いられた領域ａと領域ｂの画素値がイントラ予測にも用いるようにすることでメモリアクセス回数の多大な増加を防ぐことができる。
【０１４８】
なお、本発明による適用範囲は、図１０および図１１に示した例の組み合わせの限りではない。例えば、対象ブロックＡと参照ブロックＢは、図１０に示したインター動きベクトルＭＶで対応付けられるようにする。このとき、対象ブロックＡとブロックＡ´および参照ブロックＢとブロックＢ´は、図１１に示したイントラテンプレートマッチングにより対応付けられるようにすることもできる。
【０１４９】
また、例えば、対象ブロックＡと参照ブロックＢは、図１１に示したインターテンプレートマッチングで対応付けられるようにする。このとき、対象ブロックＡとブロックＡ´および参照ブロックＢとブロックＢ´は、図１０に示したイントラ動きベクトルｍｖ１およびｍｖ２により対応付けられるようにすることもできる。
【０１５０】
ビットレートが高い場合には、動きベクトル情報によるビット量を増大させても、予測効率の高い方がより圧縮効率が高いため、図１０に示した組み合わせがより高い符号化効率を実現することができる。
【０１５１】
一方、ビットレートが低い場合には、動きベクトル情報によるビット量が削減されることにより、より高い符号化効率が実現されるため、図１１に示した組み合わせがより高い符号化効率を実現することができる。
【０１５２】
［画像符号化装置の符号化処理の説明］
次に、図１２のフローチャートを参照して、図４の画像符号化装置５１の符号化処理について説明する。
【０１５３】
ステップＳ１１において、Ａ／Ｄ変換部６１は入力された画像をＡ／Ｄ変換する。ステップＳ１２において、画面並べ替えバッファ６２は、Ａ／Ｄ変換部６１より供給された画像を記憶し、各ピクチャの表示する順番から符号化する順番への並べ替えを行う。
【０１５４】
ステップＳ１３において、演算部６３は、ステップＳ１２で並び替えられた画像と予測画像との差分を演算する。予測画像は、インター予測する場合は動き予測・補償部７５から、イントラ予測する場合はイントラ予測部７４から、それぞれ予測画像選択部７８を介して演算部６３に供給される。
【０１５５】
差分データは元の画像データに較べてデータ量が小さくなっている。したがって、画像をそのまま符号化する場合に較べて、データ量を圧縮することができる。
【０１５６】
ステップＳ１４において、直交変換部６４は演算部６３から供給された差分情報を直交変換する。具体的には、離散コサイン変換、カルーネン・レーベ変換等の直交変換が行われ、変換係数が出力される。ステップＳ１５において、量子化部６５は変換係数を量子化する。この量子化に際しては、後述するステップＳ２５の処理で説明されるように、レートが制御される。
【０１５７】
以上のようにして量子化された差分情報は、次のようにして局部的に復号される。すなわち、ステップＳ１６において、逆量子化部６８は量子化部６５により量子化された変換係数を量子化部６５の特性に対応する特性で逆量子化する。ステップＳ１７において、逆直交変換部６９は逆量子化部６８により逆量子化された変換係数を直交変換部６４の特性に対応する特性で逆直交変換する。
【０１５８】
ステップＳ１８において、演算部７０は、予測画像選択部７８を介して入力される予測画像を局部的に復号された差分情報に加算し、局部的に復号された画像（演算部６３への入力に対応する画像）を生成する。ステップＳ１９においてデブロックフィルタ７１は、演算部７０より出力された画像をフィルタリングする。これによりブロック歪みが除去される。ステップＳ２０においてフレームメモリ７２は、フィルタリングされた画像を記憶する。なお、フレームメモリ７２にはデブロックフィルタ７１によりフィルタ処理されていない画像も演算部７０から供給され、記憶される。
【０１５９】
ステップＳ２１において、イントラ予測部７４および動き予測・補償部７５は、それぞれ画像の予測処理を行う。すなわち、ステップＳ２１において、イントラ予測部７４は、イントラ予測モードのイントラ予測処理を行う。動き予測・補償部７５は、インター予測モードの動き予測・補償処理を行う。なお、このとき、インター予測により対応付けられた対象ブロックと参照ブロックについて画面内予測が行われ、画面内予測画像との各差分である対象フレームの差分情報と参照フレームの差分情報が生成される。そして、さらに、それらの差分である２次差分情報が生成される。
【０１６０】
ステップＳ２１における予測処理の詳細は、図１３を参照して後述するが、この処理により、候補となる全てのイントラ予測モードでの予測処理がそれぞれ行われ、候補となる全ての予測モードでのコスト関数値がそれぞれ算出される。そして、算出されたコスト関数値に基づいて、最適イントラ予測モードが選択され、最適イントラ予測モードのイントラ予測により生成された予測画像とそのコスト関数値が予測画像選択部７８に供給される。
【０１６１】
また、この処理により、候補となる全てのインター予測モードでの予測処理がそれぞれ行われ、対象ブロックと参照ブロックの差分情報から２次差分情報が生成される。そして、生成された２次差分情報が用いられて、候補となる全ての予測モードでのコスト関数値がそれぞれ算出される。また、算出されたコスト関数値に基づいて、最適インター予測モードが選択され、最適インター予測モードにより生成された予測画像として、インターする画像と２次差分情報の差分、および最適インター予測モードのコスト関数値が予測画像選択部７８に供給される。
【０１６２】
ステップＳ２２において、予測画像選択部７８は、イントラ予測部７４および動き予測・補償部７５より出力された各コスト関数値に基づいて、最適イントラ予測モードと最適インター予測モードのうちの一方を、最適予測モードに決定する。そして、予測画像選択部７８は、決定した最適予測モードの予測画像を選択し、演算部６３，７０に供給する。この予測画像（インターの場合、インターする画像と２次差分情報との差分）が、上述したように、ステップＳ１３，Ｓ１８の演算に利用される。
【０１６３】
また、この予測画像の選択情報は、イントラ予測部７４または動き予測・補償部７５に供給される。最適イントラ予測モードの予測画像が選択された場合、イントラ予測部７４は、最適イントラ予測モードを示す情報（すなわち、イントラ予測モード情報）を、可逆符号化部６６に供給する。
【０１６４】
最適インター予測モードの予測画像が選択された場合、動き予測・補償部７５は、最適インター予測モードを示す情報と、必要に応じて、最適インター予測モードに応じた情報を可逆符号化部６６に出力する。最適インター予測モードに応じた情報としては、動きベクトル情報やフラグ情報、参照フレーム情報などがあげられる。
【０１６５】
ステップＳ２３において、可逆符号化部６６は量子化部６５より出力された量子化された変換係数を符号化する。すなわち、差分画像（インターの場合、２次差分画像）が可変長符号化、算術符号化等の可逆符号化され、圧縮される。このとき、上述したステップＳ２２において可逆符号化部６６に入力された、イントラ予測部７４からのイントラ予測モード情報、または、動き予測・補償部７５からの最適インター予測モードに応じた情報なども符号化され、ヘッダ情報に付加される。
【０１６６】
ステップＳ２４において蓄積バッファ６７は差分画像を圧縮画像として蓄積する。蓄積バッファ６７に蓄積された圧縮画像が適宜読み出され、伝送路を介して復号側に伝送される。
【０１６７】
ステップＳ２５においてレート制御部７９は、蓄積バッファ６７に蓄積された圧縮画像に基づいて、オーバーフローあるいはアンダーフローが発生しないように、量子化部６５の量子化動作のレートを制御する。
【０１６８】
［予測処理の説明］
次に、図１３のフローチャートを参照して、図１２のステップＳ２１における予測処理を説明する。
【０１６９】
画面並べ替えバッファ６２から供給される処理対象の画像がイントラ処理されるブロックの画像である場合、参照される復号済みの画像がフレームメモリ７２から読み出され、スイッチ７３を介してイントラ予測部７４に供給される。これらの画像に基づいて、ステップＳ３１において、イントラ予測部７４は処理対象のブロックの画素を、候補となる全てのイントラ予測モードでイントラ予測する。なお、参照される復号済みの画素としては、デブロックフィルタ７１によりデブロックフィルタリングされていない画素が用いられる。
【０１７０】
ステップＳ３１におけるイントラ予測処理の詳細は、図２６を参照して後述するが、この処理により、候補となる全てのイントラ予測モードでイントラ予測が行われ、候補となる全てのイントラ予測モードに対してコスト関数値が算出される。そして、算出されたコスト関数値に基づいて、最適イントラ予測モードが選択され、最適イントラ予測モードのイントラ予測により生成された予測画像とそのコスト関数値が予測画像選択部７８に供給される。
【０１７１】
画面並べ替えバッファ６２から供給される処理対象の画像がインター処理される画像である場合、参照される画像がフレームメモリ７２から読み出され、スイッチ７３を介して動き予測・補償部７５に供給される。これらの画像に基づいて、ステップＳ３２において、動き予測・補償部７５はインター動き予測処理を行う。すなわち、動き予測・補償部７５は、フレームメモリ７２から供給される画像を参照して、候補となる全てのインター予測モードの動き予測処理を行う。
【０１７２】
ステップＳ３２におけるインター動き予測処理の詳細は、図２７を参照して後述するが、この処理により、候補となる全てのインター予測モードで動き予測処理が行われ、候補となる全てのインター予測モードに対して、２次差分情報が生成される。そして、生成された２次差分情報が用いられて、コスト関数値が算出される。
【０１７３】
ステップＳ３３において、動き予測・補償部７５は、ステップＳ３２において算出されたインター予測モードに対してのコスト関数値の中から、最小値を与える予測モードを、最適インター予測モードとして決定する。そして、動き予測・補償部７５は、インター処理する画像と最適インター予測モードで生成された２次差分情報との差分、および最適インター予測モードのコスト関数値を、予測画像選択部７８に供給する。
【０１７４】
［Ｈ．２６４／ＡＶＣ方式におけるイントラ予測処理の説明］
次に、Ｈ．２６４／ＡＶＣ方式で定められているイントラ予測の各モードについて説明する。
【０１７５】
まず、輝度信号に対するイントラ予測モードについて説明する。輝度信号のイントラ予測モードには、イントラ４×４予測モード、イントラ８×８予測モード、およびイントラ１６×１６予測モードの３通りの方式が定められている。これは、ブロック単位を定めるモードであり、マクロブロック毎に設定される。また、色差信号に対しては、マクロブロック毎に輝度信号とは独立したイントラ予測モードを設定することが可能である。
【０１７６】
さらに、イントラ４×４予測モードの場合、４×４画素の対象ブロック毎に、９種類の予測モードから１つの予測モードを設定することができる。イントラ８×８予測モードの場合、８×８画素の対象ブロック毎に、９種類の予測モードから１つの予測モードを設定することができる。また、イントラ１６×１６予測モードの場合、１６×１６画素の対象マクロブロックに対して、４種類の予測モードから１つの予測モードを設定することができる。
【０１７７】
なお、以下、イントラ４×４予測モード、イントラ８×８予測モード、およびイントラ１６×１６予測モードは、それぞれ、４×４画素のイントラ予測モード、８×８画素のイントラ予測モード、および１６×１６画素のイントラ予測モードとも適宜称する。
【０１７８】
図１４の例において、各ブロックに付されている数字−１乃至２５は、その各ブロックのビットストリーム順（復号側における処理順）を表している。なお、輝度信号については、マクロブロックが４×４画素に分割されて、４×４画素のＤＣＴが行われる。そして、イントラ１６×１６予測モードの場合のみ、−１のブロックに示されるように、各ブロックの直流成分を集めて、４×４行列が生成され、これに対して、さらに、直交変換が施される。
【０１７９】
一方、色差信号については、マクロブロックが４×４画素に分割され、４×４画素のＤＣＴが行われた後に、１６および１７の各ブロックに示されるように、各ブロックの直流成分を集めて、２×２行列が生成され、これに対して、さらに、直交変換が施される。
【０１８０】
なお、このことは、イントラ８×８予測モードに関しては、ハイプロファイルまたはそれ以上のプロファイルで、対象マクロブロックに、８×８直交変換が施される場合についてのみ適用可能である。
【０１８１】
図１５および図１６は、９種類の輝度信号の４×４画素のイントラ予測モード(Intra_4x4_pred_mode)を示す図である。平均値（ＤＣ）予測を示すモード２以外の８種類の各モードは、それぞれ、図１７の番号０，１，３乃至８で示される方向に対応している。
【０１８２】
９種類のIntra_4x4_pred_modeについて、図１８を参照して説明する。図１８の例において、画素ａ乃至ｐは、イントラ処理される対象ブロックの画素を表し、画素値Ａ乃至Ｍは、隣接ブロックに属する画素の画素値を表している。すなわち、画素ａ乃至ｐは、画面並べ替えバッファ６２から読み出された処理対象の画像であり、画素値Ａ乃至Ｍは、フレームメモリ７２から読み出され、参照される復号済みの画像の画素値である。
【０１８３】
図１５および図１６に示す各イントラ予測モードの場合、画素ａ乃至ｐの予測画素値は、隣接ブロックに属する画素の画素値Ａ乃至Ｍを用いて、以下のように生成される。なお、画素値が“available”であるとは、画枠の端であったり、あるいは、まだ符号化されていないなどの理由がなく、利用可能であることを表す。これに対して、画素値が“unavailable”であるとは、画枠の端であったり、あるいは、まだ符号化されていないなどの理由により利用可能ではないことを表す。
【０１８４】
モード０はVertical Prediction mode（垂直予測モード）であり、画素値Ａ乃至Ｄが “available” の場合のみ適用される。この場合、画素ａ乃至ｐの予測画素値は、次の式（１０）のように生成される。
画素ａ, ｅ, ｉ, ｍの予測画素値  ＝  Ａ
画素ｂ, ｆ, ｊ, ｎの予測画素値  ＝  Ｂ
画素ｃ, ｇ, ｋ, ｏの予測画素値  ＝  Ｃ
画素ｄ, ｈ, ｌ, ｐの予測画素値  ＝  Ｄ                          ・・・（１０）
【０１８５】
モード１はHorizontal Prediction mode（水平予測モード）であり、画素値Ｉ乃至Ｌが “available” の場合のみ適用される。この場合、画素ａ乃至ｐの予測画素値は、次の式（１１）のように生成される。
画素ａ, ｂ, ｃ, ｄの予測画素値  ＝  Ｉ
画素ｅ, ｆ, ｇ, ｈの予測画素値  ＝  Ｊ
画素ｉ, ｊ, ｋ, ｌの予測画素値  ＝  Ｋ
画素ｍ, ｎ, ｏ, ｐの予測画素値  ＝  Ｌ                          ・・・（１１）
【０１８６】
モード２はDC Prediction modeであり、画素値Ａ,Ｂ,Ｃ,Ｄ,Ｉ,Ｊ,Ｋ,Ｌが全て “available” である時、予測画素値は式（１２）のように生成される。
（Ａ＋Ｂ＋Ｃ＋Ｄ＋Ｉ＋Ｊ＋Ｋ＋Ｌ＋４）  ＞＞  ３                ・・・（１２）
【０１８７】
また、画素値Ａ,Ｂ,Ｃ,Ｄが全て “unavailable” である時、予測画素値は式（１３）のように生成される。
（Ｉ＋Ｊ＋Ｋ＋Ｌ＋２）  ＞＞  ２                                ・・・（１３）
【０１８８】
また、画素値Ｉ,Ｊ,Ｋ,Ｌが全て “unavailable” である時、予測画素値は式（１４）のように生成される。
（Ａ＋Ｂ＋Ｃ＋Ｄ＋２）  ＞＞  ２                                ・・・（１４）
【０１８９】
なお、画素値Ａ,Ｂ,Ｃ,Ｄ,Ｉ,Ｊ,Ｋ,Ｌが全て“unavailable” である時、１２８を予測画素値として用いる。
【０１９０】
モード３はDiagonal_Down_Left Prediction modeであり、画素値Ａ,Ｂ,Ｃ,Ｄ,Ｉ,Ｊ,Ｋ,Ｌ,Ｍが“available”の場合のみ適用される。この場合、画素ａ乃至ｐの予測画素値は、次の式（１５）のように生成される。
画素ａの予測画素値                  ＝  （Ａ＋２Ｂ＋Ｃ＋２）  ＞＞  ２
画素ｂ，ｅの予測画素値              ＝  （Ｂ＋２Ｃ＋Ｄ＋２）  ＞＞  ２
画素ｃ，ｆ，ｉの予測画素値          ＝  （Ｃ＋２Ｄ＋Ｅ＋２）  ＞＞  ２
画素ｄ，ｇ，ｊ，ｍの予測画素値      ＝  （Ｄ＋２Ｅ＋Ｆ＋２）  ＞＞  ２
画素ｈ，ｋ，ｎの予測画素値          ＝  （Ｅ＋２Ｆ＋Ｇ＋２）  ＞＞  ２
画素ｌ，ｏの予測画素値              ＝  （Ｆ＋２Ｇ＋Ｈ＋２）  ＞＞  ２
画素ｐの予測画素値                  ＝  （Ｇ＋３Ｈ＋２）      ＞＞  ２
・・・（１５）
【０１９１】
モード４はDiagonal_Down_Right Prediction modeであり、画素値Ａ,Ｂ,Ｃ,Ｄ,Ｉ,Ｊ,Ｋ,Ｌ,Ｍが “available” の場合のみ適用される。この場合、画素ａ乃至ｐの予測画素値は、次の式（１６）のように生成される。
画素ｍの予測画素値                  ＝  （Ｊ＋２Ｋ＋Ｌ＋２）  ＞＞  ２
画素ｉ，ｎの予測画素値              ＝  （Ｉ＋２Ｊ＋Ｋ＋２）  ＞＞  ２
画素ｅ，ｊ，ｏの予測画素値          ＝  （Ｍ＋２Ｉ＋Ｊ＋２）  ＞＞  ２
画素ａ，ｆ，ｋ，ｐの予測画素値      ＝  （Ａ＋２Ｍ＋Ｉ＋２）  ＞＞  ２
画素ｂ，ｇ，ｌの予測画素値          ＝  （Ｍ＋２Ａ＋Ｂ＋２）  ＞＞  ２
画素ｃ，ｈの予測画素値              ＝  （Ａ＋２Ｂ＋Ｃ＋２）  ＞＞  ２
画素ｄの予測画素値                  ＝  （Ｂ＋２Ｃ＋Ｄ＋２）  ＞＞  ２
・・・（１６）
【０１９２】
モード５はDiagonal_Vertical_Right Prediction modeであり、画素値Ａ,Ｂ,Ｃ,Ｄ,Ｉ,Ｊ,Ｋ,Ｌ,Ｍが“available”の場合のみ適用される。この場合、画素ａ乃至ｐの予測画素値は、次の式（１７）のように生成される。
画素ａ，ｊの予測画素値              ＝  （Ｍ＋Ａ＋１）        ＞＞  １
画素ｂ，ｋの予測画素値              ＝  （Ａ＋Ｂ＋１）        ＞＞  １
画素ｃ，ｌの予測画素値              ＝  （Ｂ＋Ｃ＋１）        ＞＞  １
画素ｄの予測画素値                  ＝  （Ｃ＋Ｄ＋１）        ＞＞  １
画素ｅ，ｎの予測画素値              ＝  （Ｉ＋２Ｍ＋Ａ＋２）  ＞＞  ２
画素ｆ，ｏの予測画素値              ＝  （Ｍ＋２Ａ＋Ｂ＋２）  ＞＞  ２
画素ｇ，ｐの予測画素値              ＝  （Ａ＋２Ｂ＋Ｃ＋２）  ＞＞  ２
画素ｈの予測画素値                  ＝  （Ｂ＋２Ｃ＋Ｄ＋２）  ＞＞  ２
画素ｉの予測画素値                  ＝  （Ｍ＋２Ｉ＋Ｊ＋２）  ＞＞  ２
画素ｍの予測画素値                  ＝  （Ｉ＋２Ｊ＋Ｋ＋２）  ＞＞  ２
・・・（１７）
【０１９３】
モード６はHorizontal_Down Prediction modeであり、画素値Ａ,Ｂ,Ｃ,Ｄ,Ｉ,Ｊ,Ｋ,Ｌ,Ｍが“available”の場合のみ適用される。この場合、画素ａ乃至ｐの予測画素値は、次の式（１８）のように生成される。
画素ａ，ｇの予測画素値              ＝  （Ｍ＋Ｉ＋１）        ＞＞  １
画素ｂ，ｈの予測画素値              ＝  （Ｉ＋２Ｍ＋Ａ＋２）  ＞＞  ２
画素ｃの予測画素値                  ＝  （Ｍ＋２Ａ＋Ｂ＋２）  ＞＞  ２
画素ｄの予測画素値                  ＝  （Ａ＋２Ｂ＋Ｃ＋２）  ＞＞  ２
画素ｅ，ｋの予測画素値              ＝  （Ｉ＋Ｊ＋１）        ＞＞  １
画素ｆ，ｌの予測画素値              ＝  （Ｍ＋２Ｉ＋Ｊ＋２）  ＞＞  ２
画素ｉ，ｏの予測画素値              ＝  （Ｊ＋Ｋ＋１）        ＞＞  １
画素ｊ，ｐの予測画素値              ＝  （Ｉ＋２Ｊ＋Ｋ＋２）  ＞＞  ２
画素ｍの予測画素値                  ＝  （Ｋ＋Ｌ＋１）        ＞＞  １
画素ｎの予測画素値                  ＝  （Ｊ＋２Ｋ＋Ｌ＋２）  ＞＞  ２
・・・（１８）
【０１９４】
モード７は、Vertical_Left Prediction modeであり、画素値Ａ,Ｂ,Ｃ,Ｄ,Ｉ,Ｊ,Ｋ,Ｌ,Ｍが“available”の場合のみ適用される。この場合、画素ａ乃至ｐの予測画素値は、次の式（１９）のように生成される。
画素ａの予測画素値                  ＝  （Ａ＋Ｂ＋１）        ＞＞  １
画素ｂ，ｉの予測画素値              ＝  （Ｂ＋Ｃ＋１）        ＞＞  １
画素ｃ，ｊの予測画素値              ＝  （Ｃ＋Ｄ＋１）        ＞＞  １
画素ｄ，ｋの予測画素値              ＝  （Ｄ＋Ｅ＋１）        ＞＞  １
画素ｌの予測画素値                  ＝  （Ｅ＋Ｆ＋１）        ＞＞  １
画素ｅの予測画素値                  ＝  （Ａ＋２Ｂ＋Ｃ＋２）  ＞＞  ２
画素ｆ，ｍの予測画素値              ＝  （Ｂ＋２Ｃ＋Ｄ＋２）  ＞＞  ２
画素ｇ，ｎの予測画素値              ＝  （Ｃ＋２Ｄ＋Ｅ＋２）  ＞＞  ２
画素ｈ，ｏの予測画素値              ＝  （Ｄ＋２Ｅ＋Ｆ＋２）  ＞＞  ２
画素ｐの予測画素値                  ＝  （Ｅ＋２Ｆ＋Ｇ＋２）  ＞＞  ２
・・・（１９）
【０１９５】
モード８は、Horizontal_Up Prediction modeであり、画素値Ａ,Ｂ,Ｃ,Ｄ,Ｉ,Ｊ,Ｋ,Ｌ,Ｍが“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_8x8_pred_mode)を示す図である。
【０２０３】
対象の８×８ブロックにおける画素値を、p[x,y](0≦x≦7;0≦y≦7)とし、隣接ブロックの画素値をp[-1,-1],…,p[-1,15],p[-1,0],…,[p-1,7]のように表すものとする。
【０２０４】
８×８画素のイントラ予測モードについては、予測値を生成するに先立ち、隣接画素にローパスフィルタリング処理が施される。ここで、ローパスフィルタリング処理前の画素値を、p[-1,-1],…,p[-1,15],p[-1,0],…p[-1,7]、処理後の画素値をp'[-1,-1],…,p'[-1,15],p'[-1,0],…p'[-1,7]と表すとする。
【０２０５】
まず、p'[0,-1]は、p[-1,-1] が “available” である場合には、次の式（２３）のように算出され、“not available” である場合には、次の式（２４）のように算出される。
p'[0,-1] = (p[-1,-1] + 2*p[0,-1] + p[1,-1] + 2) >> 2
・・・（２３）
p'[0,-1] = (3*p[0,-1] + p[1,-1] + 2) >> 2
・・・（２４）
【０２０６】
p'[x,-1] (x=0,…,7)は、次の式（２５）のように算出される。
p'[x,-1] = (p[x-1,-1] + 2*p[x,-1] + p[x+1,-1] + 2) >>2
・・・（２５）
【０２０７】
p'[x,-1] (x=8,…,15)は、p[x,-1] (x=8,…,15) が “available” である場合には、次の式（２６）のように算出される。
p'[x,-1] = (p[x-1,-1] + 2*p[x,-1] + p[x+1,-1] + 2) >>2
p'[15,-1] = (p[14,-1] + 3*p[15,-1] + 2) >>2
・・・（２６）
【０２０８】
p'[-1,-1]は、p[-1,-1]が “available” である場合には、以下のように算出される。すなわち、p'[-1,-1]は、p[0,-1]及びp[-1,0]の双方がavailableである場合には、式（２７）のように算出され、p[-1,0] が “unavailable” である場合には、式（２８）のように算出される。また、p'[-1,-1]は、p[0,-1] が “unavailable” である場合には、式（２９）のように算出される。
p'[-1,-1] = (p[0,-1] + 2*p[-1,-1] + p[-1,0] + 2) >>2
・・・（２７）
p'[-1,-1] = (3*p[-1,-1] + p[0,-1] + 2) >>2
・・・（２８）
p'[-1,-1] = (3*p[-1,-1] + p[-1,0] + 2) >>2
・・・（２９）
【０２０９】
p'[-1,y] (y=0, … ,7) は、p[-1,y] (y=0, … ,7) が “available” の時、以下のように算出される。すなわち、まず、p'[-1,0]は、p[-1,-1]が “available” である場合には、次の式（３０）のように算出され、“unavailable” である場合には、式（３１）のように算出される。
p'[-1,0] = (p[-1,-1] + 2*p[-1,0] + p[-1,1] + 2) >>2
・・・（３０）
p'[-1,0] = (3*p[-1,0] + p[-1,1] + 2) >>2
・・・（３１）
【０２１０】
また、p'[-1,y] (y=1,…,6)は、次の式（３２）のように算出され、p'[-1,7]は、式（３３）のように算出される。
p[-1,y] = (p[-1,y-1] + 2*p[-1,y] + p[-1,y+1] + 2) >>2
・・・（３２）
p'[-1,7] = (p[-1,6] + 3*p[-1,7] + 2) >>2
・・・（３３）
【０２１１】
このように算出されたp'を用いて、図２０および図２１に示される各イントラ予測モードにおける予測値は以下のように生成される。
【０２１２】
モード０はVertical Prediction modeであり、p[x,-1] (x=0, … ,7) が “available” である時のみ適用される。予測値pred8x8L[x,y]は、次の式（３４）のように生成される。
pred8x8L[x,y] = p'[x,-1] x,y=0,...,7
・・・（３４）
【０２１３】
モード１はHorizontal Prediction modeであり、p[-1,y] (y=0, … ,7) が “available” である時のみ適用される。予測値pred8x8L[x,y]は、次の式（３５）のように生成される。
pred8x8L[x,y] = p'[-1,y] x,y=0,...,7
・・・（３５）
【０２１４】
モード２はDC Prediction modeであり、予測値pred8x8L[x,y]は以下の通り生成される。すなわち、p[x,-1] (x=0, … ,7) および p[-1,y] (y=0, … ,7) の両方が “available” である場合には、予測値pred8x8L[x,y]は、次の式（３６）のように生成される。
【数５】
2010258738.tif 000007
【０２１５】
p[x,-1] (x=0, … ,7) は “available” であるが、 p[-1,y] (y=0, … ,7) が “unavailable” である場合には、予測値pred8x8L[x,y]は、次の式（３７）のように生成される。
【数６】
2010258738.tif 000008
【０２１６】
p[x,-1] (x=0, … ,7) は “unavailable” であるが、 p[-1,y] (y=0, … ,7) が “available” である場合には、予測値pred8x8L[x,y]は、次の式（３８）のように生成される。
【数７】
2010258738.tif 000009
【０２１７】
p[x,-1] (x=0, … ,7) および p[-1,y] (y=0, … ,7) の両方が “unavailable” である場合には、予測値pred8x8L[x,y]は、次の式（３９）のように生成される。
pred8x8L[x,y] = 128
・・・（３９）
ただし、式（３９）は、8ビット入力の場合を表している。
【０２１８】
モード３はDiagonal_Down_Left_prediction modeであり、予測値pred8x8L[x,y]は以下の通り生成される。すなわち、Diagonal_Down_Left_prediction modeは、p[x,-1], x=0,…,15が “available” の時のみ適用され、x=7かつy=7である予測画素値は、次の式（４０）のように生成され、その他の予測画素値は、次の式（４１）のように生成される。
pred8x8L[x,y] = (p'[14,-1] + 3*p[15,-1] + 2) >> 2
・・・（４０）
red8x8L[x,y] = (p'[x+y,-1] + 2*p'[x+y+1,-1] + p'[x+y+2,-1] + 2) >> 2
・・・（４１）
【０２１９】
モード４はDiagonal_Down_Right_prediction modeであり、予測値pred8x8L[x,y]は以下の通り生成される。すなわち、Diagonal_Down_Right_prediction modeは、p[x,-1],x=0,…,7及びp[-1,y],y=0,…,7が “available”の時のみ適用され、x > y である予測画素値は、次の式（４２）のように生成され、x < y である予測画素値は、次の式（４３）のように生成される。また、x = y である予測画素値は、次の式（４４）のように生成される。
pred8x8L[x,y] = (p'[x-y-2,-1] + 2*p'[x-y-1,-1] + p'[x-y,-1] + 2) >> 2
・・・（４２）
pred8x8L[x,y] = (p'[-1,y-x-2] + 2*p'[-1,y-x-1] + p'[-1,y-x] + 2) >> 2
・・・（４３）
pred8x8L[x,y] = (p'[0,-1] + 2*p'[-1,-1] + p'[-1,0] + 2) >> 2
・・・（４４）
【０２２０】
モード５はVertical_Right_prediction modeであり、予測値pred8x8L[x,y]は以下の通り生成される。すなわち、Vertical_Right_prediction modeは、p[x,-1],x=0,…,7及びp[-1,y],y=-1,…,7が “available”の時のみ適用される。今、zVRを、次の式（４５）のように定義する。
zVR = 2*x - y
・・・（４５）
【０２２１】
この時、zVRが、0,2,4,6,8,10,12,14の場合には、画素予測値は、次の式（４６）のように生成され、zVRが1,3,5,7,9,11,13の場合には、画素予測値は、次の式（４７）のように生成される。
pred8x8L[x,y] = (p'[x-(y>>1)-1,-1] + p'[x-(y>>1),-1] + 1) >> 1
・・・（４６）
pred8x8L[x,y]
= (p'[x-(y>>1)-2,-1] + 2*p'[x-(y>>1)-1,-1] + p'[x-(y>>1),-1] + 2) >> 2
・・・（４７）
【０２２２】
また、zVRが-1の場合には、画素予測値は、次の式（４８）のように生成され、これ以外の場合、すなわち、zVRが-2,-3,-4,-5,-6,-7の場合には、画素予測値は、次の式（４９）のように生成される。
pred8x8L[x,y] = (p'[-1,0] + 2*p'[-1,-1] + p'[0,-1] + 2) >> 2
・・・（４８）
pred8x8L[x,y] = (p'[-1,y-2*x-1] + 2*p'[-1,y-2*x-2] + p'[-1,y-2*x-3] + 2) >> 2
・・・（４９）
【０２２３】
モード６はHorizontal_Down_prediction modeであり、予測値pred8x8L[x,y]は以下の通り生成される。すなわち、Horizontal_Down_prediction modeは、p[x,-1],x=0,…,7及びp[-1,y],y=-1,…,7が “available”の時のみ適用される。今、zVRを次の式（５０）のように定義するものとする。
zHD = 2*y - x
・・・（５０）
【０２２４】
この時、zHDが0,2,4,6,8,10,12,14の場合には、予測画素値は、次の式（５１）のように生成され、zHDが1,3,5,7,9,11,13の場合には、予測画素値は、次の式（５２）のように生成される。
pred8x8L[x,y] = (p'[-1,y-(x>>1)-1] + p'[-1,y-(x>>1) + 1] >> 1
・・・（５１）
pred8x8L[x,y]
= (p'[-1,y-(x>>1)-2] + 2*p'[-1,y-(x>>1)-1] + p'[-1,y-(x>>1)] + 2) >> 2
・・・（５２）
【０２２５】
また、zHDが-1の場合には、予測画素値は、次の式（５３）のように生成され、zHDがこれ以外の値の場合、すなわち、-2,-3,-4,-5,-6,-7の場合には、予測画素値は、次の式（５４）のように生成される。
pred8x8L[x,y] = (p'[-1,0] + 2*p[-1,-1] + p'[0,-1] + 2) >> 2
・・・（５３）
pred8x8L[x,y] = (p'[x-2*y-1,-1] + 2*p'[x-2*y-2,-1] + p'[x-2*y-3,-1] + 2) >> 2
・・・（５４）
【０２２６】
モード７はVertical_Left_prediction modeであり、予測値pred8x8L[x,y]は以下の通り生成される。すなわち、Vertical_Left_prediction modeは、p[x,-1], x=0,…,15が “available” の時のみ適用され、y=0,2,4,6の場合、予測画素値は、次の式（５５）のように生成され、それ以外の場合、すなわち、y=1,3,5,7の場合、予測画素値は、次の式（５６）のように生成される。
pred8x8L[x,y] = (p'[x+(y>>1),-1] + p'[x+(y>>1)+1,-1] + 1) >> 1
・・・（５５）
pred8x8L[x,y]
= (p'[x+(y>>1),-1] + 2*p'[x+(y>>1)+1,-1] + p'[x+(y>>1)+2,-1] + 2) >> 2
・・・（５６）
【０２２７】
モード８はHorizontal_Up_prediction modeであり、予測値pred8x8L[x,y]は以下の通り生成される。すなわち、Horizontal_Up_prediction modeは、p[-1,y], y=0,…,7 が “available” の時のみ適用される。以下では、zHUを次の式（５７）のように定義する。
zHU = x + 2*y
・・・（５７）
【０２２８】
zHUの値が0,2,4,6,8,10,12の場合、予測画素値は、次の式（５８）のように生成され、zHUの値が1,3,5,7,9,11の場合、予測画素値は、次の式（５９）のように生成される。
pred8x8L[x,y] = (p'[-1,y+(x>>1)] + p'[-1,y+(x>>1)+1] + 1) >> 1
・・・（５８）
pred8x8L[x,y] = (p'[-1,y+(x>>1)]
・・・（５９）
【０２２９】
また、zHUの値が13の場合、予測画素値は、次の式（６０）のように生成され、それ以外の場合、すなわち、zHUの値が13より大きい場合、予測画素値は、次の式（６１）のように生成される。
pred8x8L[x,y] = (p'[-1,6] + 3*p'[-1,7] + 2) >> 2
・・・（６０）
pred8x8L[x,y] = p'[-1,7]
・・・（６１）
【０２３０】
次に、１６×１６画素のイントラ予測モードについて説明する。図２２および図２３は、４種類の輝度信号の１６×１６画素のイントラ予測モード(Intra_16x16_pred_mode)を示す図である。
【０２３１】
４種類のイントラ予測モードについて、図２４を参照して説明する。図２４の例において、イントラ処理される対象マクロブロックＡが示されており、P(x,y);x,y=-1,0,…,15は、対象マクロブロックＡに隣接する画素の画素値を表している。
【０２３２】
モード０は、Vertical Prediction modeであり、P(x,-1); x,y=-1,0,…,15が “available” である時のみ適用される。この場合、対象マクロブロックＡの各画素の予測画素値Pred(x,y)は、次の式（６２）のように生成される。
Pred(x,y) = P(x,-1);x,y=0,…,15
・・・（６２）
【０２３３】
モード１はHorizontal Prediction modeであり、P(-1,y); x,y=-1,0,…,15が “available” である時のみ適用される。この場合、対象マクロブロックＡの各画素の予測画素値Pred(x,y)は、次の式（６３）のように生成される。
Pred(x,y) = P(-1,y);x,y=0,…,15
・・・（６３）
【０２３４】
モード２はDC Prediction modeであり、P(x,-1)およびP(-1,y); x,y=-1,0,…,15が全て “available” である場合、対象マクロブロックＡの各画素の予測画素値Pred(x,y)は、次の式（６４）のように生成される。
【数８】
2010258738.tif 000010
【０２３５】
また、P(x,-1); x,y=-1,0,…,15が “unavailable” である場合、対象マクロブロックＡの各画素の予測画素値Pred(x,y)は、次の式（６５）のように生成される。
【数９】
2010258738.tif 000011
【０２３６】
P(-1,y); x,y=-1,0,…,15が “unavailable” である場合、対象マクロブロックＡの各画素の予測画素値Pred(x,y)は、次の式（６６）のように生成される。
【数１０】
2010258738.tif 000012
【０２３７】
P(x,-1)およびP(-1,y); x,y=-1,0,…,15が全て “unavailable” である場合には、予測画素値として１２８を用いる。
【０２３８】
モード３はPlane Prediction modeであり、P(x,-1)及びP(-1,y); x,y=-1,0,…,15が全て “available” の場合のみ適用される。この場合、対象マクロブロックＡの各画素の予測画素値Pred(x,y)は、次の式（６７）のように生成される。
【数１１】
2010258738.tif 000013
【０２３９】
次に、色差信号に対するイントラ予測モードについて説明する。図２５は、４種類の色差信号のイントラ予測モード(Intra_chroma_pred_mode)を示す図である。色差信号のイントラ予測モードは、輝度信号のイントラ予測モードと独立に設定が可能である。色差信号に対するイントラ予測モードは、上述した輝度信号の１６×１６画素のイントラ予測モードに順ずる。
【０２４０】
ただし、輝度信号の１６×１６画素のイントラ予測モードが、１６×１６画素のブロックを対象としているのに対し、色差信号に対するイントラ予測モードは、８×８画素のブロックを対象としている。さらに、上述した図２２と図２５に示されるように、両者においてモード番号は対応していない。
【０２４１】
ここで、図２４を参照して上述した輝度信号の１６×１６画素のイントラ予測モードの対象マクロブロックＡの画素値および隣接する画素値の定義に準じる。例えば、イントラ処理される対象マクロブロックＡ（色差信号の場合は、８×８画素）に隣接する画素の画素値をP(x,y);x,y=-1,0,…,7とする。
【０２４２】
モード０はDC Prediction modeであり、P(x,-1)およびP(-1,y); x,y=-1,0,…,7が全て “available” である場合、対象マクロブロックＡの各画素の予測画素値Pred(x,y)は、次の式（６８）のように生成される。
【数１２】
2010258738.tif 000014
【０２４３】
また、P(-1,y) ; x,y=-1,0,…,7が “unavailable” である場合、対象マクロブロックＡの各画素の予測画素値Pred(x,y)は、次の式（６９）のように生成される。
【数１３】
2010258738.tif 000015
【０２４４】
また、P(x,-1) ; x,y=-1,0,…,7が “unavailable”である場合、対象マクロブロックＡの各画素の予測画素値Pred(x,y)は、次の式（７０）のように生成される。
【数１４】
2010258738.tif 000016
【０２４５】
モード１はHorizontal Prediction modeであり、P(-1,y) ; x,y=-1,0,…,7が “available” の場合にのみ適用される。この場合、対象マクロブロックＡの各画素の予測画素値Pred(x,y)は、次の式（７１）のように生成される。
Pred(x,y) = P(-1,y);x,y=0,…,7
・・・（７１）
【０２４６】
モード２はVertical Prediction modeであり、P(x,-1) ; x,y=-1,0,…,7が “available” の場合にのみ適用される。この場合、対象マクロブロックＡの各画素の予測画素値Pred(x,y)は、次の式（６３）のように生成される。
Pred(x,y) = P(x,-1);x,y=0,…,7
・・・（７２）
【０２４７】
モード３はPlane Prediction modeであり、P(x,-1)及びP(-1,y) ; x,y=-1,0,…,7 が “available” の場合にのみ適用される。この場合、対象マクロブロックＡの各画素の予測画素値Pred(x,y)は、次の式（７３）のように生成される。
【数１５】
2010258738.tif 000017
【０２４８】
以上のように、輝度信号のイントラ予測モードには、９種類の４×４画素および８×８画素のブロック単位、並びに４種類の１６×１６画素のマクロブロック単位の予測モードがある。このブロック単位のモードは、マクロブロック単位毎に設定される。色差信号のイントラ予測モードには、４種類の８×８画素のブロック単位の予測モードがある。この色差信号のイントラ予測モードは、輝度信号のイントラ予測モードと独立に設定が可能である。
【０２４９】
また、輝度信号の４×４画素のイントラ予測モード（イントラ４×４予測モード）および８×８画素のイントラ予測モード（イントラ８×８予測モード）については、４×４画素および８×８画素の輝度信号のブロック毎に１つのイントラ予測モードが設定される。輝度信号の１６×１６画素のイントラ予測モード（イントラ１６×１６予測モード）と色差信号のイントラ予測モードについては、１つのマクロブロックに対して１つの予測モードが設定される。
【０２５０】
なお、予測モードの種類は、上述した図１７の番号０，１，３乃至８で示される方向に対応している。予測モード２は平均値予測である。
【０２５１】
［イントラ予測処理の説明］
次に、図２６のフローチャートを参照して、これらの予測モードに対して行われる処理である、図１３のステップＳ３１におけるイントラ予測処理を説明する。なお、図２６の例においては、輝度信号の場合を例として説明する。
【０２５２】
イントラ予測部７４は、ステップＳ５１において、４×４画素、８×８画素、および１６×１６画素の各イントラ予測モードに対してイントラ予測を行う。
【０２５３】
具体的には、イントラ予測部７４は、処理対象のブロックの画素を、フレームメモリ７２から読み出され、スイッチ７３を介して供給される復号済みの画像を参照して、イントラ予測する。このイントラ予測処理が、各イントラ予測モードで行われることで、各イントラ予測モードでの予測画像が生成される。なお、参照される復号済みの画素としては、デブロックフィルタ７１によりデブロックフィルタリングされていない画素が用いられる。
【０２５４】
イントラ予測部７４は、ステップＳ５２において、４×４画素、８×８画素、および１６×１６画素の各イントラ予測モードに対するコスト関数値を算出する。ここで、コスト関数値としては、High Complexity モードか、Low Complexity モードのいずれかの手法に基づいて行う。これらのモードは、H．264/AVC方式における参照ソフトウエアであるＪＭ(Joint Model)で定められている。
【０２５５】
すなわち、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 モードにおいては、全ての予測モードに対して、予測画像を生成するのみで、符号化処理および復号処理を行う必要がないため、演算量が少なくて済む。
【０２６０】
イントラ予測部７４は、ステップＳ５３において、４×４画素、８×８画素、および１６×１６画素の各イントラ予測モードに対して、それぞれ最適モードを決定する。すなわち、上述したように、イントラ４×４予測モードおよびイントラ８×８予測モードの場合には、予測モードの種類が９種類あり、イントラ１６×１６予測モードの場合には、予測モードの種類が４種類ある。したがって、イントラ予測部７４は、ステップＳ４２において算出されたコスト関数値に基づいて、それらの中から、最適イントラ４×４予測モード、最適イントラ８×８予測モード、最適イントラ１６×１６予測モードを決定する。
【０２６１】
イントラ予測部７４は、ステップＳ５４において、４×４画素、８×８画素、および１６×１６画素の各イントラ予測モードに対して決定された各最適モードの中から、ステップＳ４２において算出されたコスト関数値に基づいて、最適イントラ予測モードを選択する。すなわち、４×４画素、８×８画素、および１６×１６画素に対して決定された各最適モードの中から、コスト関数値が最小値であるモードを、最適イントラ予測モードとして選択する。
【０２６２】
そして、イントラ予測部７４は、最適イントラ予測モードで生成された予測画像とそのコスト関数値とを、予測画像選択部７８に供給する。
【０２６３】
［インター動き予測処理の説明］
次に、図２７のフローチャートを参照して、図１３のステップＳ３２のインター動き予測処理について説明する。
【０２６４】
動き予測・補償部７５は、ステップＳ６１において、図５を参照して上述した１６×１６画素乃至４×４画素からなる８種類の各インター予測モードに対して動きベクトルと参照画像をそれぞれ決定する。すなわち、各インター予測モードの処理対象のブロックについて、動きベクトルと参照画像がそれぞれ決定される。
【０２６５】
動き予測・補償部７５は、ステップＳ６２において、１６×１６画素乃至４×４画素からなる８種類の各インター予測モードについて、ステップＳ５１で決定された動きベクトルに基づいて、参照画像に動き予測と補償処理を行う。すなわち、この処理により、参照フレームにおいて、インター動きベクトルＭＶにより対象ブロックＡに対応付けられる参照ブロックＢが求められる。動き予測・補償部７５は、対象ブロックＡの情報および参照ブロックＢの情報を、画面内予測部７６に出力する。
【０２６６】
ステップＳ６３において、画面内予測部７６および２次差分生成部７７は、２次差分生成処理を行う。この２次差分生成処理は、図２８を参照して後述する。
【０２６７】
ステップＳ６３の処理により、対象フレームの差分情報と参照フレームの差分情報の差分である２次差分情報が生成され、動き予測・補償部７５に出力される。この２次差分情報は、ステップＳ６５におけるコスト関数値算出の際にも用いられる。そして、インター処理する画像から２次差分情報が除算された差分が、そのコスト関数値が小さい場合に、予測画像選択部７８により最適予測モードの予測画像として選択される。
【０２６８】
動き予測・補償部７５は、ステップＳ６４において、１６×１６画素乃至４×４画素からなる８種類の各インター予測モードに対して決定された動きベクトルについて、圧縮画像に付加するための動きベクトル情報を生成する。このとき、図８を参照して上述した動きベクトルの生成方法が用いられて、動きベクトル情報が生成される。
【０２６９】
生成された動きベクトル情報は、次のステップＳ６５におけるコスト関数値算出の際にも用いられ、最終的に予測画像選択部７８により対応する予測画像が選択された場合には、予測モード情報および参照フレーム情報とともに、可逆符号化部６６へ出力される。
【０２７０】
なお、動き予測・補償部７５によりインターテンプレートマッチングによる動き予測が行われた場合には、動きベクトル情報は復号側に送る必要がないので、ステップＳ６４の処理はスキップされる。
【０２７１】
動き予測・補償部７５は、ステップＳ６５において、１６×１６画素乃至４×４画素からなる８種類の各インター予測モードに対して、上述した式（７４）または式（７５）で示されるコスト関数値を算出する。ここで算出されたコスト関数値は、上述した図１３のステップＳ３３で最適インター予測モードを決定する際に用いられる。
【０２７２】
［２次差分生成処理の説明］
次に、図２８のフローチャートを参照して、図２７のステップＳ６３の２次差分生成処理について説明する。
【０２７３】
対象フレーム画面内予測部８１には、動き予測・補償部７５から対象ブロックＡの情報が入力される。対象フレーム画面内予測部８１は、対象ブロックＡの情報を参照して、フレームメモリ７２から対象フレームの参照画像を読み出し、ステップＳ８１において、対象フレーム内で、画面内予測を行い、対象ブロックＡに対応するブロックＡ´を検出する。
【０２７４】
対象フレーム画面内差分生成部８２には、対象フレーム画面内予測部８１から対象ブロックＡの画素値[A]とブロックＡ´の画素値[A']が入力される。対象フレーム画面内差分生成部８２は、ステップＳ８２において、対象フレームの差分情報[ResA]=[A]-[A']を算出する。すなわち、対象フレーム画面内差分生成部８２は、対象ブロックＡの画素値[A]とブロックＡ´の画素値[A']の差分である対象フレームの差分情報[ResA]を生成する。
【０２７５】
参照フレーム画面内予測部８３には、動き予測・補償部７５から参照ブロックＢの情報が入力される。参照フレーム画面内予測部８３は、参照ブロックＢの情報を参照して、フレームメモリ７２から参照フレームの参照画像を読み出し、ステップＳ８３において、参照フレーム内で画面内予測を行い、参照ブロックＢに対応するブロックＢ´を検出する。
【０２７６】
参照フレーム画面内差分生成部８４には、参照フレーム画面内予測部８３から参照ブロックＢの画素値[B]とブロックＢ´の画素値[B']が入力される。参照フレーム画面内差分生成部８４は、ステップＳ８４において、参照フレームの差分情報[ResB]=[B]-[B']を算出する。すなわち、参照フレーム画面内差分生成部８４は、参照ブロックＢの画素値[B]とブロックＢ´の画素値[B']の差分である参照フレームの差分情報[ResB]を生成する。
【０２７７】
対象フレーム差分受信部９１は、対象フレーム画面内差分生成部８２からの対象フレームの差分情報[ResA]を受信し、２次差分算出部９３に供給する。参照フレーム差分受信部９２は、参照フレーム画面内差分生成部８４からの参照フレームの差分情報[ResB]を受信し、２次差分算出部９３に供給する。
【０２７８】
２次差分算出部９３は、ステップＳ８５において、対象フレームの差分情報[ResA]と参照フレームの差分情報[ResB]との差分である２次差分情報[Res]を算出する。２次差分算出部９３は、算出した２次差分情報[Res]を動き予測・補償部７５に出力する。
【０２７９】
符号化された圧縮画像は、所定の伝送路を介して伝送され、画像復号装置により復号される。
【０２８０】
［画像復号装置の構成例］
図２９は、本発明を適用した画像処理装置としての画像復号装置の一実施の形態の構成を表している。
【０２８１】
画像復号装置１０１は、蓄積バッファ１１１、可逆復号部１１２、逆量子化部１１３、逆直交変換部１１４、演算部１１５、デブロックフィルタ１１６、画面並べ替えバッファ１１７、Ｄ／Ａ変換部１１８、フレームメモリ１１９、スイッチ１２０、イントラ予測部１２１、動き予測・補償部１２２、画面内予測部１２３、２次差分補償部１２４、およびスイッチ１２５により構成されている。
【０２８２】
蓄積バッファ１１１は伝送されてきた圧縮画像を蓄積する。可逆復号部１１２は、蓄積バッファ１１１より供給された、図４の可逆符号化部６６により符号化された情報を、可逆符号化部６６の符号化方式に対応する方式で復号する。逆量子化部１１３は可逆復号部１１２により復号された画像を、図４の量子化部６５の量子化方式に対応する方式で逆量子化する。逆直交変換部１１４は、図４の直交変換部６４の直交変換方式に対応する方式で逆量子化部１１３の出力を逆直交変換する。
【０２８３】
逆直交変換された出力は演算部１１５によりスイッチ１２５から供給される予測画像と加算されて復号される。デブロックフィルタ１１６は、復号された画像のブロック歪を除去した後、フレームメモリ１１９に供給し、蓄積させるとともに、画面並べ替えバッファ１１７に出力する。
【０２８４】
画面並べ替えバッファ１１７は、画像の並べ替えを行う。すなわち、図４の画面並べ替えバッファ６２により符号化の順番のために並べ替えられたフレームの順番が、元の表示の順番に並べ替えられる。Ｄ／Ａ変換部１１８は、画面並べ替えバッファ１１７から供給された画像をＤ／Ａ変換し、図示せぬディスプレイに出力し、表示させる。
【０２８５】
スイッチ１２０は、インター処理される画像と参照される画像をフレームメモリ１１９から読み出し、動き予測・補償部１２２に出力するとともに、イントラ予測に用いられる画像をフレームメモリ１１９から読み出し、イントラ予測部１２１に供給する。
【０２８６】
イントラ予測部１２１には、ヘッダ情報を復号して得られたイントラ予測モードを示す情報が可逆復号部１１２から供給される。イントラ予測部１２１は、この情報に基づいて、予測画像を生成し、生成した予測画像を、スイッチ１２５に出力する。
【０２８７】
動き予測・補償部１２２には、ヘッダ情報を復号して得られた情報（予測モード情報、動きベクトル情報、参照フレーム情報）が可逆復号部１１２から供給される。インター予測モードを示す情報が供給された場合、動き予測・補償部１２２は、参照画像において、可逆復号部１１２からのインター動きベクトル情報により、インター処理する画像の対象ブロックに対応付けられる参照ブロックを求める。動き予測・補償部１２２は、対象ブロックの情報と、それに対応する参照ブロックの情報を、画面内予測部１２３に出力する。
【０２８８】
なお、図４の動き予測・補償部７５において、図３を参照して上述したインターテンプレートマッチング方式による動き予測・補償処理が行われる場合、動き予測・補償部１２２においてもインターテンプレートマッチング方式による動き予測・補償処理が行われる。この場合、画像符号化装置５１においてインター動きベクトル情報は符号化されていないので、可逆復号部１１２からインター動きベクトル情報は供給されない。
【０２８９】
画面内予測部１２３は、フレームメモリ１１９から対象フレームおよび参照フレームの参照画像を読み出す。画面内予測部１２３は、対象フレームにおいて画面内予測を行い、対象ブロックに対応するブロックを検出し、参照フレームにおいて画面内予測を行い、参照ブロックに対応するブロックを検出する。画面内予測部１２３においては、画面内予測として、図１を参照して上述したイントラテンプレートマッチング方式または図２を参照して上述したイントラ動き予測方式のうち、図４の画面内予測部７６に対応する方式が用いられる。
【０２９０】
画面内予測としてイントラ動き予測方式が用いられる場合、画像符号化装置５１からイントラ動きベクトルが符号化されて送られてくる。このイントラ動きベクトルは、可逆復号部１１２から、動き予測・補償部１２２を介して、画面内予測部１２３に供給される。
【０２９１】
画面内予測部１２３は、さらに、参照ブロックの画素値と対応するブロックの画素値の差分情報（参照フレームの差分情報）を算出する。検出された対象ブロックに対応するブロックの情報と、算出された参照フレームの差分情報は、２次差分補償部１２４に出力される。
【０２９２】
２次差分補償部１２４には、復号され、逆量子化され、逆直交変換された２次差分情報が、逆直交変換部１１４から供給される。２次差分補償部１２４は、逆直交変換部１１４からの２次差分情報、および画面内予測部１２３からの対象ブロックに対応するブロックの情報と参照フレームの差分情報を用いて、対象ブロックの画像を補償する。２次差分補償部１２４は、補償した対象ブロックの画像を、デブロックフィルタ１１６に供給する。
【０２９３】
スイッチ１２５は、動き予測・補償部１２２またはイントラ予測部１２１により生成された予測画像を選択し、演算部１１５に供給する。なお、実際には、動き予測・補償部１２２からの予測画像は入力されないので、図２９の例において、スイッチ１２５は、イントラ予測部１２１により生成された予測画像を選択し、演算部１１５に供給する。
【０２９４】
［画面内予測部および２次差分補償部の構成例］
図３０は、画面内予測部および２次差分補償部の詳細な構成例を示すブロック図である。
【０２９５】
図３０の例においては、画面内予測部１２３は、対象フレーム画面内予測部１３１、参照フレーム画面内予測部１３２、および参照フレーム画面内差分生成部１３３により構成される。
【０２９６】
２次差分補償部１２４は、予測画像受信部１４１、参照フレーム差分受信部１４２、および画像算出部１４３により構成される。
【０２９７】
動き予測・補償部１２２においては、参照画像において、可逆復号部１１２からの動きベクトル情報により、インター処理する画像の対象ブロックＡに対応付けられる参照ブロックＢが求められる。動き予測・補償部１２２は、対象ブロックＡの情報を、対象フレーム画面内予測部１３１に出力し、参照ブロックＢの情報を、参照フレーム画面内予測部１３２に出力する。
【０２９８】
対象フレーム画面内予測部１３１は、対象ブロックＡの情報を参照して、フレームメモリ１１９から対象フレームの参照画像を読み出す。対象フレーム画面内予測部１３１は、対象フレームにおいて画面内予測を行い、対象ブロックＡに対応するブロックＡ´を検出し、対象ブロックＡに対応するブロックＡ´の情報（画素値[A']）を、予測画像受信部１４１に出力する。
【０２９９】
参照フレーム画面内予測部１３２は、参照ブロックＢの情報を参照して、フレームメモリ１１９から参照フレームの参照画像を読み出す。参照フレーム画面内予測部１３２は、参照フレームにおいて画面内予測を行い、参照ブロックＢに対応するブロックＢ´を検出し、参照ブロックＢとブロックＢ´の情報を、参照フレーム画面内差分生成部１３３に出力する。
【０３００】
参照フレーム画面内差分生成部１３３は、参照フレームにおいて、参照ブロックＢの画素値とブロックＢ´の画素値の差分情報を生成し、参照フレームの差分情報[ResB]として、参照フレーム差分受信部１４２に出力する。
【０３０１】
予測画像受信部１４１は、対象フレーム画面内予測部１３１からの対象ブロックＡに対応するブロックＡ´の画素値[A']を受信し、画像算出部１４３に供給する。参照フレーム差分受信部１４２は、参照フレーム画面内差分生成部１３３からの参照フレームの差分情報[ResB]を受信し、画像算出部１４３に供給する。
【０３０２】
画像算出部１４３には、復号され、逆量子化され、逆直交変換された２次差分情報[Res]が、逆直交変換部１１４から供給される。画像算出部１４３は、２次差分情報[Res]、対象ブロックに対応するブロックＡ´の情報[A']、および参照フレームの差分情報[ResB]を用いて、対象ブロックの画像を補償し、算出する。画像算出部１４３は、算出した対象ブロックの画像を、デブロックフィルタ１１６に供給する。
【０３０３】
［画像復号装置の復号処理の説明］
次に、図３１のフローチャートを参照して、画像復号装置１０１が実行する復号処理について説明する。
【０３０４】
ステップＳ１３１において、蓄積バッファ１１１は伝送されてきた画像を蓄積する。ステップＳ１３２において、可逆復号部１１２は、蓄積バッファ１１１から供給される圧縮画像を復号する。すなわち、図４の可逆符号化部６６により符号化されたＩピクチャ、Ｐピクチャ、並びにＢピクチャが復号される。
【０３０５】
このとき、動きベクトル情報、参照フレーム情報、予測モード情報（イントラ予測モード、またはインター予測モード）、フラグ情報も復号される。
【０３０６】
すなわち、予測モード情報がイントラ予測モード情報である場合、予測モード情報は、イントラ予測部１２１に供給される。予測モード情報がインター予測モード情報である場合、予測モード情報と対応する動きベクトル情報は、動き予測・補償部１２２に供給される。
【０３０７】
ステップＳ１３３において、逆量子化部１１３は可逆復号部１１２により復号された変換係数を、図４の量子化部６５の特性に対応する特性で逆量子化する。ステップＳ１３４において逆直交変換部１１４は逆量子化部１１３により逆量子化された変換係数を、図４の直交変換部６４の特性に対応する特性で逆直交変換する。これにより図４の直交変換部６４の入力（演算部６３の出力）に対応する差分情報（インターの場合、２次差分情報）が復号されたことになる。なお、インターの場合、２次差分情報は、２次差分補償部１２４に直接出力されるので、次のステップＳ１３５の処理はスキップされる。
【０３０８】
ステップＳ１３５において、演算部１１５は、後述するステップＳ１４１の処理で選択され、スイッチ１２５を介して入力される予測画像を差分情報と加算する。これにより元の画像が復号される。
【０３０９】
ステップＳ１３６においてデブロックフィルタ１１６は、演算部１１５より出力された画像、または、後述するステップＳ１３８の処理により復号される２次差分補償部１２４からの画像をフィルタリングする。これによりブロック歪みが除去される。ステップＳ１３７においてフレームメモリ１１９は、フィルタリングされた画像を記憶する。
【０３１０】
ステップＳ１３８において、イントラ予測部１２１、または動き予測・補償部１２２、は、可逆復号部１１２から供給される予測モード情報に対応して、それぞれ画像の予測処理を行う。
【０３１１】
すなわち、可逆復号部１１２からイントラ予測モード情報が供給された場合、イントラ予測部１２１は、イントラ予測モードのイントラ予測処理を行う。可逆復号部１１２からインター予測モード情報が供給された場合、動き予測・補償部１２２は、インター予測モードの動き予測処理を行うとともに、画面内予測部１２３および２次差分補償部１２４は、２次差分補償処理を行う。
【０３１２】
ステップＳ１３８における予測処理の詳細は、図３２を参照して後述するが、この処理により、イントラ予測部１２１により生成された予測画像がスイッチ１２５に供給される。また、動き予測・補償部１２２、画面内予測部１２３、および２次差分補償部１２４により生成された対象ブロックの画像が、スイッチ１２５および演算部１１５を介さず、デブロックフィルタ１１６に直接出力される。したがって、インターの場合、次のステップＳ１３９の処理はスキップされる。
【０３１３】
ステップＳ１３９において、スイッチ１２５は予測画像を選択する。すなわち、スイッチ１２５には、イントラ予測部１２１により生成された予測画像が供給される。したがって、供給された予測画像が選択されて演算部１１５に供給され、上述したように、ステップＳ１３４において逆直交変換部１１４の出力と加算される。
【０３１４】
ステップＳ１４０において、画面並べ替えバッファ１１７は並べ替えを行う。すなわち画像符号化装置５１の画面並べ替えバッファ６２により符号化のために並べ替えられたフレームの順序が、元の表示の順序に並べ替えられる。
【０３１５】
ステップＳ１４１において、Ｄ／Ａ変換部１１８は、画面並べ替えバッファ１１７からの画像をＤ／Ａ変換する。この画像が図示せぬディスプレイに出力され、画像が表示される。
【０３１６】
［予測処理の説明］
次に、図３２のフローチャートを参照して、図３１のステップＳ１３８の予測処理を説明する。
【０３１７】
イントラ予測部１２１は、ステップＳ１７１において、対象ブロックがイントラ符号化されているか否かを判定する。可逆復号部１１２からイントラ予測モード情報がイントラ予測部１２１に供給されると、イントラ予測部１２１は、ステップ１７１において、対象ブロックがイントラ符号化されていると判定し、処理は、ステップＳ１７２に進む。
【０３１８】
イントラ予測部１２１は、ステップＳ１７２において、イントラ予測モード情報を取得し、ステップＳ１７３において、イントラ予測を行う。
【０３１９】
すなわち、処理対象の画像がイントラ処理される画像である場合、必要な画像がフレームメモリ１１９から読み出され、スイッチ１２０を介してイントラ予測部１２１に供給される。ステップＳ１７３において、イントラ予測部１２１は、ステップＳ１７２で取得したイントラ予測モード情報に従ってイントラ予測し、予測画像を生成する。生成した予測画像は、スイッチ１２５に出力される。
【０３２０】
一方、ステップＳ１７１において、イントラ符号化されていないと判定された場合、処理は、ステップＳ１７４に進む。
【０３２１】
ステップＳ１７４において、動き予測・補償部１２２は、可逆復号部１１２からの予想モード情報などを取得する。
【０３２２】
処理対象の画像がインター処理される画像である場合、可逆復号部１１２からインター予測モード情報、参照フレーム情報、動きベクトル情報が動き予測・補償部１２２に供給される。この場合、ステップＳ１７４において、動き予測・補償部１２２は、インター予測モード情報、参照フレーム情報、動きベクトル情報を取得する。
【０３２３】
動き予測・補償部１２２、画面内予測部１２３、および２次差分補償部１２４は、ステップＳ１７５において、インター動き予測・２次差分補償処理を行う。このインター動き予測・２次補償処理は、図３３を参照して後述する。
【０３２４】
ステップＳ１７５の処理により、対象ブロックの画像が補償、生成され、スイッチ１２５および演算部１１５を介さず、デブロックフィルタ１１６に直接出力される。出力された対象ブロックの画像は、図３１のステップＳ１３６においてデブロックフィルタ１１６によりフィルタリングされ、ステップＳ１３７においてフレームメモリ１１９により記憶される。
【０３２５】
［インター動き予測・２次差分補償処理の説明］
次に、図３３のフローチャートを参照して、インター動き予測・２次差分補償処理を説明する。
【０３２６】
画像算出部１４３には、復号され、逆量子化され、逆直交変換された２次差分情報[Res]が、逆直交変換部１１４から供給される。画像算出部１４３は、ステップＳ１８１において、逆直交変換部１１４からの２次差分情報[Res]を取得する。
【０３２７】
動き予測・補償部１２２は、ステップＳ１８２において、参照画像において、図３２のステップＳ１７４において取得されたインター動きベクトル情報により、インター処理する画像の対象ブロックＡに対応付けられる参照ブロックＢを求める。動き予測・補償部１２２は、対象ブロックＡの情報と、それに対応する参照ブロックＢの情報を、対象フレーム画面内予測部１３１および参照フレーム画面内予測部１３２にそれぞれ出力する。
【０３２８】
対象フレーム画面内予測部１３１は、ステップＳ１８３において、対象フレームにおいて画面内予測を行い、対象ブロックＡに対応するブロックＡ´を検出し、対象ブロックＡに対応するブロックＡ´の画素値[A']を、予測画像受信部１４１に出力する。
【０３２９】
参照フレーム画面内予測部１３２は、ステップＳ１８４において、参照フレームにおいて画面内予測を行い、参照ブロックＢに対応するブロックＢ´を検出し、参照ブロックＢとブロックＢ´の画素値[B']を、参照フレーム画面内差分生成部１３３に出力する。
【０３３０】
参照フレーム画面内差分生成部１３３は、ステップＳ１８５において、参照フレームにおいて参照ブロックＢの画素値[B]とブロックＢ´の画素値[B']の差分情報[ResB]を算出し、参照フレームの差分情報[ResB]として、参照フレーム差分受信部１４２に出力する。
【０３３１】
画像算出部１４３は、ステップＳ１８６において、ステップＳ１８１で取得した２次差分情報[Res]、対象ブロックに対応するブロックＡ´の画素値[A']、および参照フレームの差分情報[ResB]を用いて、対象ブロックの画像[A]を補償し、算出する。画像算出部１４３は、算出した対象ブロックの画像[A]を、デブロックフィルタ１１６に供給する。
【０３３２】
以上のように、画像符号化装置５１および画像復号装置１０１においては、対応付けられた対象フレームおよび参照フレームにおいて画面内予測によりそれぞれ１次差分情報が生成され、さらに、フレーム間において２次差分情報が生成されて、符号化される。これにより、符号化効率をさらに向上させることができる。
【０３３３】
［画像符号化装置の他の構成例］
図３４は、本発明を適用した画像処理装置としての画像符号化装置の他の実施の形態の構成を表している。
【０３３４】
画像符号化装置１５１は、Ａ／Ｄ変換部６１、画面並べ替えバッファ６２、演算部６３、直交変換部６４、量子化部６５、可逆符号化部６６、蓄積バッファ６７、逆量子化部６８、逆直交変換部６９、演算部７０、デブロックフィルタ７１、フレームメモリ７２、スイッチ７３、イントラ予測部７４、動き予測・補償部７５、予測画像選択部７８、およびレート制御部７９を備えている点は、図４の画像符号化装置５１と共通している。
【０３３５】
また、画像符号化装置１５１は、画面内予測部７６、および２次差分生成部７７が除かれている点、並びにイントラテンプレート動き予測・補償部１６１、インターテンプレート動き予測・補償部１６２、および隣接予測部１６３が追加されている点が、図４の画像符号化装置５１と異なっている。
【０３３６】
なお、以下、イントラテンプレート動き予測・補償部１６１およびインターテンプレート動き予測・補償部１６２を、それぞれ、イントラＴＰ動き予測・補償部１６１およびインターＴＰ動き予測・補償部１６２と称する。
【０３３７】
図３４の例において、イントラ予測部７４は、画面並べ替えバッファ６２から読み出されたイントラ予測する画像とフレームメモリ７２から供給された参照画像に基づいて、候補となる全てのイントラ予測モードのイントラ予測処理を行い、予測画像を生成する。また、イントラ予測部７４は、画面並べ替えバッファ６２から読み出されたイントラ予測する画像と、スイッチ７３を介してフレームメモリ７２から供給される参照画像を、イントラＴＰ動き予測・補償部１６１に供給する。
【０３３８】
イントラ予測部７４は、候補となる全てのイントラ予測モードに対してコスト関数値を算出する。イントラ予測部７４は、算出したコスト関数値と、イントラＴＰ動き予測・補償部１６１により算出されたイントラテンプレート予測モードに対してのコスト関数値のうち、最小値を与える予測モードを、最適イントラ予測モードとして決定する。
【０３３９】
イントラ予測部７４は、最適イントラ予測モードで生成された予測画像とそのコスト関数値を、予測画像選択部７８に供給する。イントラ予測部７４は、予測画像選択部７８により最適イントラ予測モードで生成された予測画像が選択された場合、最適イントラ予測モードを示す情報（イントラ予測モード情報またはイントラテンプレート予測モード情報）を、可逆符号化部６６に供給する。
【０３４０】
イントラＴＰ動き予測・補償部１６１には、画面並べ替えバッファ６２から読み出されたイントラ予測する画像と、フレームメモリ７２から供給される必要な参照画像が入力される。イントラＴＰ動き予測・補償部１６１は、これらの画像を用い、図１を参照して上述したイントラテンプレートマッチング方式による動き予測を行い、イントラ処理する画像の対象ブロックに対応付けられる参照ブロックを求める。
【０３４１】
イントラＴＰ動き予測・補償部１６１は、必要な参照画像の情報（すなわち、対象ブロックと参照ブロックそれぞれの隣接画素の情報）、および対象ブロックの情報とそれに対応する参照ブロックの情報を、隣接予測部１６３に出力する。なお、イントラテンプレートマッチング方式による動き予測は、以下、イントラテンプレート予測モードの動き予測とも称される。
【０３４２】
イントラＴＰ動き予測・補償部１６１は、隣接予測部１６３からの２次差分情報を用いて、イントラテンプレート予測モードに対してコスト関数値を算出する。イントラＴＰ動き予測・補償部１６１は、算出したコスト関数値と、予測画像として、イントラ処理する画像と２次差分情報との差分を、イントラ予測部７４に供給する。
【０３４３】
すなわち、イントラ予測部７４によりイントラテンプレート予測モードが最適として決定された場合には、イントラテンプレート予測モードのコスト関数値と、予測画像として、イントラ処理する画像と２次差分情報との差分が予測画像選択部７８に出力される。
【０３４４】
動き予測・補償部７５は、候補となる全てのインター予測モードの動き予測・補償処理を行う。すなわち、動き予測・補償部７５には、画面並べ替えバッファ６２から読み出されたインター処理する画像と、スイッチ７３を介してフレームメモリ７２から参照画像が供給される。動き予測・補償部７５は、インター処理する画像と参照画像に基づいて、候補となる全てのインター予測モードの動きベクトルを検出し、動きベクトルに基づいて参照画像に補償処理を施し、予測画像を生成する。また、動き予測・補償部７５は、画面並べ替えバッファ６２から読み出されたインター予測する画像と、スイッチ７３を介してフレームメモリ７２から供給される参照画像を、インターＴＰ動き予測・補償部１６２に供給する。
【０３４５】
動き予測・補償部７５は、候補となる全てのインター予測モードに対してコスト関数値を算出する。動き予測・補償部７５は、インター予測モードに対してのコスト関数値と、インターＴＰ動き予測・補償部１６２からのインターテンプレート予測モードに対してのコスト関数値のうち、最小値を与える予測モードを、最適インター予測モードとして決定する。
【０３４６】
動き予測・補償部７５は、最適インター予測モードで生成された予測画像とそのコスト関数値を、予測画像選択部７８に供給する。動き予測・補償部７５は、予測画像選択部７８により最適インター予測モードで生成された予測画像が選択された場合、最適インター予測モードを示す情報（インター予測モード情報またはインターテンプレート予測モード情報）を可逆符号化部６６に出力する。なお、必要であれば、動きベクトル情報、フラグ情報、参照フレーム情報なども可逆符号化部６６に出力される。
【０３４７】
インターＴＰ動き予測・補償部１６２には、画面並べ替えバッファ６２から読み出されたインター予測する画像と、フレームメモリ７２から供給される必要な参照画像が入力される。インターＴＰ動き予測・補償部１６２は、これらの画像を用い、図３を参照して上述したインターテンプレートマッチング方式による動き予測を行い、インター処理する画像の対象ブロックに対応付けられる参照ブロックを求める。
【０３４８】
インターＴＰ動き予測・補償部１６２は、必要な参照画像の情報（すなわち、対象ブロックと参照ブロックそれぞれの隣接画素の情報）、および対象ブロックの情報とそれに対応する参照ブロックの情報を、隣接予測部１６３に出力する。なお、インターテンプレートマッチング方式による動き予測は、以下、インターテンプレート予測モードの動き予測とも称される。
【０３４９】
インターＴＰ動き予測・補償部１６２は、隣接予測部１６３からの２次差分情報を用いて、インターテンプレート予測モードに対してコスト関数値を算出する。インターＴＰ動き予測・補償部１６２は、算出したコスト関数値と、予測画像として、インター処理する画像と２次差分情報との差分を、動き予測・補償部７５に供給する。
【０３５０】
すなわち、動き予測・補償部７５によりインターテンプレート予測モードが最適として決定された場合には、インターテンプレート予測モードのコスト関数値と、予測画像として、インター処理する画像と２次差分情報との差分が予測画像選択部７８に出力される。
【０３５１】
隣接予測部１６３は、図４の画面内予測部７６および２次差分生成部７７に対応する処理を行う。すなわち、隣接予測部１６３は、必要な参照画像の情報を用いて、画面内予測として、対象ブロックおよび参照ブロックについてイントラ予測を行う。隣接予測部１６３は、各イントラ予測により、対象ブロックのイントラ予測画像（以下、対象イントラ予測画像と称する）と参照ブロックのイントラ予測画像（以下、参照イントラ予測画像）を生成する。また、隣接予測部１６３は、対象ブロックと対象イントラ予測画像の差分である対象画像の差分情報を生成し、参照ブロックと参照イントラ予測画像の差分である参照画像の差分情報を生成する。
【０３５２】
さらに、隣接予測部１６３は、対象画像の差分情報と参照画像の差分情報の差分である２次差分情報を算出する。算出された２次差分情報は、対応するイントラＴＰ動き予測・補償部１６１またはインターＴＰ動き予測・補償部１６２に出力される。
【０３５３】
予測画像選択部７８は、決定された最適予測モードの予測画像、または、イントラあるいはインターする画像と２次差分情報の差分を選択し、演算部６３，７０に供給する。
【０３５４】
すなわち、予測画像選択部７８によりイントラテンプレート予測モードが最適として決定された場合には、予測画像として、イントラ処理する画像と２次差分情報との差分が演算部６３および演算部７０に出力される。予測画像選択部７８によりインターテンプレート予測モードが最適として決定された場合には、予測画像として、インター処理する画像と２次差分情報との差分が演算部６３および演算部７０に出力される。
【０３５５】
［隣接予測部の構成例］
図３５は、隣接予測部１６３の詳細な構成例を示すブロック図である。
【０３５６】
図３５の例においては、隣接予測部１６３は、参照画像イントラ予測部１７１、対象画像イントラ予測部１７２、参照画像差分生成部１７３、対象画像差分生成部１７４、および演算部１７５により構成される。
【０３５７】
参照画像イントラ予測部１７１には、必要な参照画像の情報（すなわち、対象ブロックと参照ブロックそれぞれの隣接画素の情報）、および対象ブロックの情報とそれに対応する参照ブロックの情報が、イントラＴＰ動き予測・補償部１６１またはインターＴＰ動き予測・補償部１６２から入力される。
【０３５８】
参照画像イントラ予測部１７１は、対応する参照フレームまたは対象フレームにおいて、参照ブロックについてイントラ予測を行い、参照イントラ予測画像を生成する。このとき、参照画像イントラ予測部１７１は、H．264/AVCにおいて定義されているすべてのイントラ予測モードの参照イントラ予測画像を生成し、参照ブロックの画素値との予測誤差が最小になるイントラ予測モードを決定する。
【０３５９】
参照画像イントラ予測部１７１は、必要な参照画像の情報（例えば、対象ブロックの隣接画素の情報）、対象ブロックの情報と、決定したイントラ予測モードの情報を、対象画像イントラ予測部１７２に出力する。また、参照画像イントラ予測部１７１は、参照ブロックの情報と、決定したイントラ予測モードで生成された参照イントラ予測画像の情報を、参照画像差分生成部１７３に出力する。
【０３６０】
対象画像イントラ予測部１７２は、対象ブロックについてイントラ予測を行い、対象イントラ予測画像を生成する。このとき、対象画像イントラ予測部１７２は、参照画像イントラ予測部１７１により決定されたイントラ予測モードで、対象イントラ予測画像を生成する。対象画像イントラ予測部１７２は、対象ブロックの情報と、生成された対象イントラ予測画像の情報を、対象画像差分生成部１７４に出力する。
【０３６１】
また、対象画像イントラ予測部１７２は、必要に応じて、イントラ予測モードの情報を、対応するイントラＴＰ動き予測・補償部１６１またはインターＴＰ動き予測・補償部１６２に出力する。すなわち、図４０および図４１を参照して後述する処理の場合には、予測モードの情報が出力される。この予測モードの情報は、イントラまたはインターテンプレート予測モードの予測画像が予測画像選択部７６に選択された場合、２次差分情報に関するイントラ予測モードの情報として、可逆符号化部６６に送られる。
【０３６２】
参照画像差分生成部１７３は、参照ブロックの画素値と参照イントラ予測画像の画素値の差分である参照画像の差分情報を生成し、生成した参照画像の差分情報を、演算部１７５に出力する。
【０３６３】
対象画像差分生成部１７４は、対象ブロックの画素値と対象イントラ予測画像の画素値の差分である対象画像の差分情報を生成し、生成した対象画像の差分情報を、演算部１７５に出力する。
【０３６４】
演算部１７５は、対象画像の差分情報と参照画像の差分情報を除算して、２次差分情報を算出し、算出した２次差分情報を、対応するイントラＴＰ動き予測・補償部１６１またはインターＴＰ動き予測・補償部１６２に出力する。
【０３６５】
［インターＴＰ動き予測・補償部および隣接予測部の動作例］
次に、図３６を参照して、画像符号化装置１５１におけるインターＴＰ動き予測・補償部および隣接予測部における動作について説明する。なお、図３６の例においては、インターの場合を例に説明する。ただし、イントラＴＰ動き予測・補償部１６１とインターＴＰ動き予測・補償部１６２における処理は、参照ブロックが画面内（対象フレーム）にあるか、画面間（参照フレーム）にあるかの違い以外は同じである。したがって、イントラの場合については、その説明を省略する。
【０３６６】
図３６の例においては、対象フレームには、対象ブロックＡと、対象ブロックＡに隣接するテンプレート領域Ｂが示されており、参照フレームには、参照ブロックＡ´と、参照ブロックＡ´に隣接するテンプレート領域Ｂ´が示されている。なお、図３６の例においては、ブロックサイズが４×４の場合の例が示されている。
【０３６７】
対象ブロックＡは、画素値a00乃至a33により構成され、テンプレート領域Ｂは、画素値b0乃至b19により構成されている。また、参照ブロックＡ´は、画素値a'00乃至a'33により構成され、テンプレート領域Ｂは、画素値b'0乃至b'19により構成されている。
【０３６８】
まず、インターＴＰ動き予測・補償部１６２は、インターテンプレートマッチング方式の動き予測を行う。すなわち、参照フレームの探索範囲内において、テンプレート領域Ｂと最も相関の高いテンプレート領域Ｂ´が探索されることにより、対象ブロックＡおよびテンプレート領域Ｂに対応する参照ブロックＡ´およびテンプレート領域Ｂ´が決定される。従来、この参照ブロックＡ´の画素値が、対象ブロックＡの予測画像として、これと対象ブロックＡとの差分が符号化されていた。
【０３６９】
なお、このとき、整数画素精度のテンプレートマッチングが行われる。また、テンプレートマッチング処理には、テンプレート領域ＢおよびＢ´の右側に隣接する画素の画素値c0乃至c7および画素値c'0乃至c'7が用いられてもよい。
【０３７０】
次に、参照画像イントラ予測部１７１は、参照フレームにおいて、テンプレート領域Ｂ´のうち、参照ブロックに隣接する画素の画素値b'7,b'8,b'9,b'10,b'11,b'13,b'15,b'17,b'19と参照ブロックの画素値a'00乃至a'33の間で、イントラ予測を行う。このイントラ予測にも、画素値c'0乃至c'3が用いられてもよい。
【０３７１】
すなわち、参照画像イントラ予測部１７１は、画素値b'7,b'8,b'9,b'10,b'11,b'13,b'15,b'17,b'19並びに画素値c'0乃至c'3を用いて、H．264/AVC方式において定義されている９通りの４×４イントラ予測モードにより予測画像を生成する。そして、参照画像イントラ予測部１７１は、SAD(Sum of Absolute Difference)などで計算される、参照ブロックの画素値a'00乃至a'33との予測誤差が最小になる予測モードを決定する。
【０３７２】
このとき、イントラ予測により生成されるイントラ予測画素と画素値a'00乃至a'33の差分は、a_d'00乃至a_d'33と表される。また、予測モードは、参照ブロックおよび対象ブロックの双方で”available”なモードのみが用いられるものとする。
【０３７３】
そして、参照画像差分生成部１７３は、参照ブロックの画素値と参照イントラ予測画像の画素値の差分である参照画像の差分情報を生成する。すなわち、参照ブロックの画素値[Ref]、参照画像における最適イントラ予測モードのイントラ予測画素値[Ipred_Ref(best_mode)]とした場合、参照画像の差分情報[Dif_Ref]は、次の式（７６）で算出される。
[Dif_Ref]  ＝  [Ref] −  [Ipred_Ref(best_mode)]                 ・・・（７６）
【０３７４】
次に、対象フレームにおいて、参照フレームにおいて決定されたイントラ予測モードを、対象フレームにおける画素値b7,b8,b9,b10,b11,b13,b15,b17,b19（必要ならば画素値c0乃至c3）に適用して、対象イントラ予測画像を生成する。
【０３７５】
このとき、イントラ予測により生成されるイントラ予測画素と画素値a00乃至a33の差分は、a_d00乃至a_d33と表される。
【０３７６】
そして、対象画像差分生成部１７４は、対象ブロックの画素値と対象イントラ予測画像の画素値の差分である対象画像の差分情報を生成する。すなわち、対象ブロックの画素値[Curr]、参照画像において決定された最適イントラ予測モードの対象ブロックのイントラ予測画素値[Ipred_Curr(best_mode)]とした場合、対象画像の差分情報[Dif_Curr]は、次の式（７７）で算出される。
[Dif_Curr]  ＝  [Curr] −  [Ipred_Curr(best_mode)]             ・・・（７７）
【０３７７】
次に、演算部１７５は、[a_d'k1 −  a_dk1], k,1 = 0,…,3 なる４×４行列を生成する。すなわち、２次差分情報[Res]が、次の式（７８）で算出される。
[Res]   ＝  [Dif_Curr]  −  [Dif_Ref]                          ・・・（７８）
【０３７８】
以上のようにして生成された２次差分情報[Res] が符号化され、復号側に送信される。すなわち、２次差分情報[Res]は、インターＴＰ動き予測・補償部１６２を介して、動き予測・補償部７５に出力される。動き予測・補償部７５は、インターテンプレート予測モードの予測画像として、対象ブロックＡの画素値[Curr]と２次差分情報[Res]の差分である[Ipred_Curr(best_mode)]＋[Dif_Ref]を、予測画像選択部７８に出力する。
【０３７９】
予測画像選択部７８により、最適インター予測モードで生成された予測画像として、インターする画像と２次差分情報との差分が選択された場合、その差分[Ipred_Curr(best_mode)]＋[Dif_Ref]は、演算部６３および演算部７０に出力される。
【０３８０】
演算部６３において、原画像[Curr]から、差分[Ipred_Curr(best_mode)]＋[Dif_Ref]が減算されて、その結果としての２次差分情報[Res]が直交変換部６４に出力される。その２次差分情報[Res]は、直交変換部６４により直交変換され、量子化部６５により量子化されて、可逆符号化部６６により符号化される。
【０３８１】
一方、演算部７０には、直交変換され量子化された２次差分情報[Res]が、逆量子化され、逆直交変換されて入力されるとともに、予測画像選択部７８から、インターする画像と２次差分情報との差分が入力される。したがって、演算部７０においては、２次差分情報[Res]と差分[Ipred_Curr(best_mode)]＋[Dif_Ref]を加算することで[Curr]が得られ、デブロックフィルタ７１およびフレームメモリ７２に出力される。
【０３８２】
すなわち、演算部７０においては、図４２を参照して後述する画像復号装置２０１の隣接予測部２１３により行われる処理と同様の処理が実行される。
【０３８３】
以上のように、対象ブロックＡの予測画像（参照ブロックＢ）が求められるだけでなく、本発明においては、対象ブロックＡとその画面内予測画像の差分が求められ、参照ブロックＢとその画面内予測画像の差分が求められる。そして、それらの差分（２次差分）が符号化される。これにより、符号化効率を向上させることができる。
【０３８４】
また、上述したように、イントラ予測モードの決定を参照フレームにおいて行うことで、上述した隣接予測部１６３における処理は、復号側においても実行することができる。すなわち、最適となるイントラ予測モードを復号側に送る必要がない。これにより、符号化効率を向上することができる。
【０３８５】
また、予測画像（参照ブロック）に対してさらに予測処理を行い、その差分値である２次差分情報を符号化するようにしたので、イントラおよびインターテンプレートマッチング処理における予測効率を高めることができる。
【０３８６】
なお、上記説明においては、対象ブロックと参照ブロックの対応付けに、イントラおよびインターテンプレートマッチングを用いて説明したが、図２を参照して上述したイントラ動き予測や、H．264/AVC方式における動き予測を用いてもよい。
【０３８７】
ただし、上述したテンプレートマッチングの場合には、テンプレートマッチング処理で用いた画素を、イントラ予測に用いることができるので、イントラ予測の際に他の画素値をフレームメモリから読み出す必要がない。したがって、メモリへのアクセスが増大することがないので、処理効率を向上させることができる。
【０３８８】
また、H．264/AVC方式において定義されているイントラ予測モードを用いることにより、参照画像イントラ予測部１７１、および対象画像イントラ予測部１７２は、イントラ予測部７４との回路を共有することが可能である。これにより、回路の増大を招くことなく、テンプレートマッチング予測の予測効率を高めることができる。
【０３８９】
なお、上記説明においては、４×４ブロックサイズを例に説明してきたが、上述した処理は、８×８ブロック、および１６×１６ブロックにも適用することができる。また、ブロックサイズが４×４、８×８、１６×１６のそれぞれの場合について、候補となる予測モードを、例えば、Vertical,Horizontal,またはDCといったように限定することもできる。
【０３９０】
さらに、Y信号成分、Cb信号成分、Cr信号成分について、上述した処理をそれぞれ独立に行うようにしてもよい。
【０３９１】
［予測処理の他の例の説明］
次に、図３７のフローチャートを参照して、画像符号化装置１５１の予測処理を説明する。なお、この予測処理は、図１２のステップＳ２１の予測処理を説明した図１３の予測処理の他の例である。すなわち、画像符号化装置１５１の符号化処理は、図１２を参照して上述した画像符号化装置５１の符号化処理と基本的に同様であるので、その説明を省略する。
【０３９２】
画面並べ替えバッファ６２から供給される処理対象の画像がイントラ処理されるブロックの画像である場合、参照される復号済みの画像がフレームメモリ７２から読み出され、スイッチ７３を介してイントラ予測部７４に供給される。これらの画像に基づいて、ステップＳ２１１において、イントラ予測部７４は処理対象のブロックの画素を、候補となる全てのイントラ予測モードでイントラ予測する。
【０３９３】
ステップＳ２１１におけるイントラ予測処理の詳細は、図２６を参照して上述した処理と基本的に同様である。この処理により、候補となる全てのイントラ予測モードでイントラ予測が行われ、候補となる全てのイントラ予測モードに対してコスト関数値が算出される。そして、算出されたコスト関数値に基づいて、全てのイントラ予測モードの中から、最適とされる、１つのイントラ予測モードが選択される。
【０３９４】
なお、ステップＳ２１１の場合、図２６の例と異なり、最適イントラ予測モードで生成された予測画像とそのコスト関数値とは予測画像選択部７８に供給されず、最適イントラ予測モードのコスト関数値は、ステップＳ２１４の処理に用いられる。
【０３９５】
画面並べ替えバッファ６２から供給される処理対象の画像がインター処理される画像である場合、参照される画像がフレームメモリ７２から読み出され、スイッチ７３を介して動き予測・補償部７５に供給される。これらの画像に基づいて、ステップＳ２１２において、動き予測・補償部７５はインター動き予測処理を行う。すなわち、動き予測・補償部７５は、フレームメモリ７２から供給される画像を参照して、候補となる全てのインター予測モードの動き予測処理を行う。
【０３９６】
ステップＳ２１２におけるインター動き予測処理の詳細は、図３８を参照して後述するが、この処理により、候補となる全てのインター予測モードで動き予測処理が行われ、候補となる全てのインター予測モードに対してコスト関数値が算出される。
【０３９７】
また、画面並べ替えバッファ６２から供給される処理対象の画像がイントラ処理されるブロックの画像である場合、フレームメモリ７２からの参照される復号済みの画像は、イントラ予測部７４を介してイントラＴＰ動き予測・補償部１６１にも供給される。これらの画像に基づいて、ステップＳ２１３において、イントラＴＰ動き予測・補償部１６１は、イントラテンプレート予測モードで、イントラテンプレート動き予測処理を行う。
【０３９８】
ステップＳ２１３におけるイントラテンプレート動き予測処理の詳細は、インターテンプレート動き予測処理の詳細とまとめて、図３９を参照して後述する。この処理により、イントラテンプレート予測モードで動き予測処理が行われ、２次差分情報が算出され、算出された２次差分情報が用いられて、イントラテンプレート予測モードに対してコスト関数値が算出される。そして、イントラテンプレート予測モードの動き予測処理により生成された予測画像として、対象ブロックと２次差分情報の差分が、そのコスト関数値とともにイントラ予測部７４に供給される。
【０３９９】
ステップＳ２１４において、イントラ予測部７４は、ステップＳ２１１において選択されたイントラ予測モードに対してのコスト関数値と、ステップＳ２１３において算出されたイントラテンプレート予測モードに対してのコスト関数値を比較する。そして、イントラ予測部７４は、最小値を与える予測モードを、最適イントラ予測モードとして決定し、最適イントラ予測モードで生成された予測画像とそのコスト関数値を、予測画像選択部７８に供給する。
【０４００】
さらに、画面並べ替えバッファ６２から供給される処理対象の画像がインター処理される画像である場合、フレームメモリ７２から読み出された参照される画像は、動き予測・補償部７５を介してインターＴＰ動き予測・補償部１６２にも供給される。これらの画像に基づいて、インターＴＰ動き予測・補償部１６２は、ステップＳ２１５において、インターテンプレート予測モードで、インターテンプレート動き予測処理を行う。
【０４０１】
ステップＳ２１５におけるインターテンプレート動き予測処理の詳細は、イントラテンプレート動き予測処理の詳細とまとめて、図３９を参照して後述する。この処理により、インターテンプレート予測モードで動き予測処理が行われ、２次差分情報が算出され、算出された２次差分情報が用いられて、インターテンプレート予測モードに対してコスト関数値が算出される。そして、インターテンプレート予測モードの動き予測処理により生成された予測画像として、対象ブロックと２次差分情報の差分が、そのコスト関数値とともに動き予測・補償部７５に供給される。
【０４０２】
ステップＳ２１６において、動き予測・補償部７５は、ステップＳ２１２において選択された最適なインター予測モードに対してコスト関数値と、ステップＳ２１５において算出されたインターテンプレート予測モードに対してのコスト関数値を比較する。そして、動き予測・補償部７５は、最小値を与える予測モードを、最適インター予測モードとして決定し、動き予測・補償部７５は、最適インター予測モードで生成された予測画像とそのコスト関数値を、予測画像選択部７８に供給する。
【０４０３】
［インター動き予測処理の説明］
次に、図３８のフローチャートを参照して、図３７のステップＳ２１２のインター動き予測処理について説明する。
【０４０４】
動き予測・補償部７５は、ステップＳ２２１において、図５を参照して上述した１６×１６画素乃至４×４画素からなる８種類の各インター予測モードに対して動きベクトルと参照画像をそれぞれ決定する。すなわち、各インター予測モードの処理対象のブロックについて、動きベクトルと参照画像がそれぞれ決定される。
【０４０５】
動き予測・補償部７５は、ステップＳ２２２において、１６×１６画素乃至４×４画素からなる８種類の各インター予測モードについて、ステップＳ２２１で決定された動きベクトルに基づいて、参照画像に動き予測と補償処理を行う。この動き予測と補償処理により、各インター予測モードでの予測画像が生成される。
【０４０６】
動き予測・補償部７５は、ステップＳ２２３において、１６×１６画素乃至４×４画素からなる８種類の各インター予測モードに対して決定された動きベクトルについて、圧縮画像に付加するための動きベクトル情報を生成する。このとき、図８を参照して上述した動きベクトルの生成方法が用いられて、動きベクトル情報が生成される。
【０４０７】
生成された動きベクトル情報は、次のステップＳ２２４におけるコスト関数値算出の際にも用いられ、最終的に予測画像選択部７８により対応する予測画像が選択された場合には、予測モード情報および参照フレーム情報とともに、可逆符号化部６６へ出力される。
【０４０８】
動き予測・補償部７５は、ステップＳ２２４において、１６×１６画素乃至４×４画素からなる８種類の各インター予測モードに対して、上述した式（７４）または式（７５）で示されるコスト関数値を算出する。ここで算出されたコスト関数値は、上述した図３７のステップＳ２１６で最適インター予測モードを決定する際に用いられる。
【０４０９】
［テンプレート動き予測処理の説明］
次に、図３９のフローチャートを参照して、テンプレート動き予測処理について説明する。なお、図３９の例においては、インターの場合、すなわち、図３７のステップＳ２１５のインターテンプレート動き予測処理の例を説明するが、参照ブロックが画面内にあるか、画面間にあるかの違い以外は同じである。したがって、イントラの場合、すなわち、図３７のステップＳ２１３においても、図３９の処理と同様の処理が行われる。
【０４１０】
ステップＳ２３１において、インターＴＰ動き予測・補償部１６２は、インターテンプレートマッチング動き予測処理を行う。すなわち、インターＴＰ動き予測・補償部１６２には、画面並べ替えバッファ６２から読み出されたインター予測する画像と、フレームメモリ７２から供給される必要な参照画像が入力される。
【０４１１】
インターＴＰ動き予測・補償部１６２は、図３を参照して上述したように、インター予測する画像と参照画像を用い、復号画素であり、対象ブロックに隣接する画素で構成されるテンプレートの画素値を利用して、インターテンプレート予測モードの動き予測を行う。そして、インターＴＰ動き予測・補償部１６２は、参照フレームにおいて、インター処理する画像の対象ブロックに対応付けられる参照ブロックを求める。
【０４１２】
インターＴＰ動き予測・補償部１６２は、必要な参照画像の情報（すなわち、対象ブロックと参照ブロックそれぞれの隣接画素の情報）、および対象ブロックの情報とそれに対応する参照ブロックの情報を、参照画像イントラ予測部１７１に出力する。
【０４１３】
ステップＳ２３２において、参照画像イントラ予測部１７１および参照画像差分生成部１７３は、参照画像においてイントラ予測モードの決定および差分の算出を行う。すなわち、参照画像イントラ予測部１７１は、参照フレームにおいて、参照ブロックに隣接する画素の画素値を用いて、H．264/AVC方式において定義されているすべてのイントラ予測モードにより参照イントラ予測画像を生成する。
【０４１４】
参照画像イントラ予測部１７１は、参照ブロックの画素値と参照イントラ予測画像の画素値の予測誤差（SAD）が最小になる予測モードを決定し、参照ブロックの画素値と決定した予測モードの参照イントラ予測画像を、参照画像差分生成部１７３に出力する。また、参照画像イントラ予測部１７１は、必要な参照画像の情報（例えば、対象ブロックの隣接画素の情報）、対象ブロックの情報と、決定したイントラ予測モードの情報を、対象画像イントラ予測部１７２に出力する。
【０４１５】
参照画像差分生成部１７３は、参照ブロックの画素値と参照イントラ予測画像の画素値の差分である参照画像の差分情報を算出し、算出した参照画像の差分情報を、演算部１７５に出力する。
【０４１６】
対象画像イントラ予測部１７２は、ステップＳ２３３において、対象画像における対象ブロックに、参照ブロックに対して決定されたイントラ予測モードを適用する。そして、対象画像イントラ予測部１７２は、ステップＳ２３４において、適用したイントラ予測モードを用いて、対象画像においてイントラ予測処理を行う。すなわち、対象画像イントラ予測部１７２は、対象フレームにおいて、対象ブロックに隣接する画素の画素値を用いて、適用したイントラ予測モードにより対象イントラ予測画像を生成する。このイントラ予測により生成された対象イントラ予測画像の情報は、対象ブロックの情報とともに、対象画像差分生成部１７４に出力される。
【０４１７】
対象画像差分生成部１７４は、ステップＳ２３５において、対象ブロックの画素値と対象イントラ予測画像の画素値の差分である対象画像の差分情報を生成し、生成した対象画像の差分情報を、演算部１７５に出力する。
【０４１８】
演算部１７５は、ステップＳ２３６において、対象画像の差分情報と参照画像の差分情報を除算して、２次差分情報を算出し、算出した２次差分情報を、インターＴＰ動き予測・補償部１６２に出力する。
【０４１９】
ステップＳ２３７において、インターＴＰ動き予測・補償部１６２は、演算部１７５からの２次差分情報を用いて、インターテンプレート予測モードに対して、上述した式（７４）または式（７５）で示されるコスト関数値を算出する。インターＴＰ動き予測・補償部１６２は、予測画像として、インター処理する画像と２次差分情報との差分およびそのコスト関数値を、動き予測・補償部７５に出力する。
【０４２０】
すなわち、ここで算出されたコスト関数値は、上述した図３７のステップＳ２１６で最適インター予測モードを決定する際に用いられる。
【０４２１】
以上のように、参照ブロックにおいて最適なイントラ予測モードを決定し、それを、対象ブロックにも適用することにしたので、イントラ予測モードを復号側に送る必要がない。
【０４２２】
［テンプレート動き予測処理の他の例の説明］
次に、図４０のフローチャートを参照して、テンプレート動き予測処理の他の例について説明する。なお、図４０の例についても、説明の便宜上、図３５の機能ブロックを用いて説明するが、図３５におけるデータの流れは一部異なっている。
【０４２３】
ステップＳ２５１において、インターＴＰ動き予測・補償部１６２は、インターテンプレートマッチング動き予測処理を行う。これにより、参照フレームにおいて、インター処理する画像の対象ブロックに対応付けられる参照ブロックが求められる。
【０４２４】
図４０の例の場合、インターＴＰ動き予測・補償部１６２は、参照画像の情報（すなわち、対象ブロックと参照ブロックそれぞれの隣接画素の情報）、および対象ブロックの情報とそれに対応する参照ブロックの情報を、対象画像イントラ予測部１７２に出力する。
【０４２５】
ステップＳ２５２において、対象画像イントラ予測部１７２と対象画像差分生成部１７４は、対象画像においてイントラ予測モードの決定および差分の算出を行う。すなわち、対象画像イントラ予測部１７２は、対象フレームにおいて、対象ブロックに隣接する画素の画素値を用いて、H．264/AVC方式において定義されているすべてのイントラ予測モードにより対象イントラ予測画像を生成する。
【０４２６】
対象画像イントラ予測部１７２は、対象ブロックの画素値と対象イントラ予測画像の画素値の予測誤差（SAD）が最小になる予測モードを決定し、対象ブロックの画素値と決定した予測モードの対象イントラ予測画像を、対象画像差分生成部１７４に出力する。
【０４２７】
対象画像イントラ予測部１７２は、必要な参照画像の情報（例えば、参照ブロックの隣接画素の情報）、参照ブロックの情報を参照画像イントラ予測部１７１に出力する。また、対象画像イントラ予測部１７２は、決定したイントラ予測モードの情報を、参照画像イントラ予測部１７１に出力するとともに、対応するイントラＴＰ動き予測・補償部１６１またはインターＴＰ動き予測・補償部１６２に出力する。
【０４２８】
すなわち、予測画像選択部７８によりインターテンプレート予測モードの予測画像が選択された場合、対象ブロックにおいて決定されたイントラ予測モードの情報は、インターテンプレート予測モードの情報とともに可逆符号化部６６に出力され、復号側に送信される。
【０４２９】
対象画像差分生成部１７４は、対象ブロックの画素値と対象イントラ予測画像の画素値の差分である対象画像の差分情報を算出し、算出した対象画像の差分情報を、演算部１７５に出力する。
【０４３０】
参照画像イントラ予測部１７１は、ステップＳ２５３において、参照画像における参照ブロックに、対象ブロックに対して決定されたイントラ予測モードを適用する。参照画像イントラ予測部１７１は、ステップＳ２５４において、適用したイントラ予測モードを用いて、参照画像においてイントラ予測処理を行う。すなわち、参照画像イントラ予測部１７１は、参照フレームにおいて、適用したイントラ予測モードにより参照イントラ予測画像を生成する。このイントラ予測により生成された参照イントラ予測画像の情報は、参照ブロックの情報とともに、参照画像差分生成部１７３に出力される。
【０４３１】
参照画像差分生成部１７３は、ステップＳ２５４において、参照ブロックの画素値と参照イントラ予測画像の画素値の差分である参照画像の差分情報を生成し、生成した参照画像の差分情報を、演算部１７５に出力する。
【０４３２】
演算部１７５は、ステップＳ２５６において、対象画像の差分情報と参照画像の差分情報を除算して、２次差分情報を算出し、算出した２次差分情報を、インターＴＰ動き予測・補償部１６２に出力する。
【０４３３】
ステップＳ２５７において、インターＴＰ動き予測・補償部１６２は、演算部１７５からの２次差分情報を用いて、インターテンプレート予測モードに対して、上述した式（７４）または式（７５）で示されるコスト関数値を算出する。インターＴＰ動き予測・補償部１６２は、予測画像として、インター処理する画像と２次差分情報との差分およびそのコスト関数値を、動き予測・補償部７５に出力する。
【０４３４】
すなわち、ここで算出されたコスト関数値は、上述した図３７のステップＳ２１６で最適インター予測モードを決定する際に用いられる。
【０４３５】
以上のように、対象ブロックにおいて最適なイントラ予測モードを決定し、それを、参照ブロックにも適用することにしたので、イントラ予測モードを復号側に送る必要があるが、図３９の例の場合よりもイントラ予測の効率は向上する。
【０４３６】
［テンプレート動き予測処理のさらに他の例の説明］
次に、図４１のフローチャートを参照して、テンプレート動き予測処理のさらに他の例について説明する。なお、図４１の例についても、説明の便宜上、図３５の機能ブロックを用いて説明するが、図３５におけるデータの流れは一部異なっている。
【０４３７】
ステップＳ２７１において、インターＴＰ動き予測・補償部１６２は、インターテンプレートマッチング動き予測処理を行う。これにより、参照フレームにおいて、インター処理する画像の対象ブロックに対応付けられる参照ブロックが求められる。
【０４３８】
図４１の例の場合、インターＴＰ動き予測・補償部１６２は、参照画像の情報（すなわち、対象ブロックと参照ブロックそれぞれの隣接画素の情報）、および対象ブロックの情報とそれに対応する参照ブロックの情報を、それぞれ、参照画像イントラ予測部１７１および対象画像イントラ予測部１７２に出力する。
【０４３９】
ステップＳ２７２において、対象画像イントラ予測部１７２と対象画像差分生成部１７４は、対象画像においてイントラ予測モードの決定および差分の算出を行う。すなわち、対象画像イントラ予測部１７２は、対象フレームにおいて、対象ブロックに隣接する画素の画素値を用いて、H．264/AVC方式において定義されているすべてのイントラ予測モードにより対象イントラ予測画像を生成する。
【０４４０】
対象画像イントラ予測部１７２は、対象ブロックの画素値と対象イントラ予測画像の画素値の予測誤差（SAD）が最小になる予測モードを決定し、対象ブロックの画素値と決定した予測モードの対象イントラ予測画像を、対象画像差分生成部１７４に出力する。
【０４４１】
また、対象画像イントラ予測部１７２は、決定したイントラ予測モードの情報を、対応するイントラＴＰ動き予測・補償部１６１またはインターＴＰ動き予測・補償部１６２に出力する。すなわち、予測画像選択部７８によりインターテンプレート予測モードの予測画像が選択された場合、対象ブロックにおいて決定されたイントラ予測モードの情報は、インターテンプレート予測モードの情報とともに可逆符号化部６６に出力され、復号側に送信される。
【０４４２】
対象画像差分生成部１７４は、対象ブロックの画素値と対象イントラ予測画像の画素値の差分である対象画像の差分情報を算出し、算出した対象画像の差分情報を、演算部１７５に出力する。
【０４４３】
ステップＳ２７３において、参照画像イントラ予測部１７１および参照画像差分生成部１７３は、参照画像においてイントラ予測モードの決定および差分の算出を行う。すなわち、参照画像イントラ予測部１７１は、参照フレームにおいて、参照ブロックに隣接する画素の画素値を用いて、H．264/AVC方式において定義されているすべてのイントラ予測モードにより参照イントラ予測画像を生成する。
【０４４４】
参照画像イントラ予測部１７１は、参照ブロックの画素値と参照イントラ予測画像の画素値の予測誤差（SAD）が最小になる予測モードを決定し、参照ブロックの画素値と決定した予測モードの参照イントラ予測画像を、参照画像差分生成部１７３に出力する。
【０４４５】
参照画像差分生成部１７３は、参照ブロックの画素値と参照イントラ予測画像の画素値の差分である参照画像の差分情報を算出し、算出した参照画像の差分情報を、演算部１７５に出力する。
【０４４６】
演算部１７５は、ステップＳ２７４において、対象画像の差分情報と参照画像の差分情報を除算して、２次差分情報を算出し、算出した２次差分情報を、インターＴＰ動き予測・補償部１６２に出力する。
【０４４７】
ステップＳ２７５において、インターＴＰ動き予測・補償部１６２は、演算部１７５からの２次差分情報を用いて、インターテンプレート予測モードに対して、上述した式（７４）または式（７５）で示されるコスト関数値を算出する。インターＴＰ動き予測・補償部１６２は、予測画像として、インター処理する画像と２次差分情報との差分およびそのコスト関数値を、動き予測・補償部７５に出力する。
【０４４８】
すなわち、ここで算出されたコスト関数値は、上述した図３７のステップＳ２１６で最適インター予測モードを決定する際に用いられる。
【０４４９】
以上のように、対象ブロックおよび参照ブロックにおいて最適なイントラ予測モードをそれぞれ決定することにしたので、イントラ予測モードを復号側に送る必要があり、処理も増加するが、図４０の例の場合よりもイントラ予測の効率は向上する。
【０４５０】
［画像復号装置の他の構成例］
図４２は、本発明を適用した画像処理装置としての画像復号装置の他の実施の形態の構成を表している。
【０４５１】
画像復号装置２０１は、蓄積バッファ１１１、可逆復号部１１２、逆量子化部１１３、逆直交変換部１１４、演算部１１５、デブロックフィルタ１１６、画面並べ替えバッファ１１７、Ｄ／Ａ変換部１１８、フレームメモリ１１９、スイッチ１２０、イントラ予測部１２１、動き予測・補償部１２２、およびスイッチ１２５を備える点が、図２９の画像復号装置１０１と共通している。
【０４５２】
また、画像復号装置２０１は、画面内予測部１２３および２次差分補償部１２４が除かれている点と、イントラテンプレート動き予測・補償部２１１、インターテンプレート動き予測・補償部２１２、隣接予測部２１３、およびスイッチ２１４が追加されている点が、図２９の画像復号装置１０１と異なっている。
【０４５３】
なお、以下、イントラテンプレート動き予測・補償部２１１およびインターテンプレート動き予測・補償部２１２を、それぞれ、イントラＴＰ動き予測・補償部２１１およびインターＴＰ動き予測・補償部２１２と称する。
【０４５４】
イントラ予測部１２１には、ヘッダ情報を復号して得られたイントラ予測モードに関する情報が可逆復号部１１２から供給される。イントラ予測モードである情報が供給された場合、イントラ予測部１２１は、この情報に基づいて、予測画像を生成し、生成した予測画像をスイッチ１２５に出力する。
【０４５５】
イントラテンプレート予測モードである情報が供給された場合、イントラ予測部１２１は、イントラ予測に用いられる画像をイントラＴＰ動き予測・補償部２１１に供給し、イントラテンプレート予測モードでの動き予測・補償処理を行わせる。また、この場合、イントラ予測部１２１は、スイッチ２１４をオンさせ、隣接予測部２１３からの画像を、デブロックフィルタ１１６に供給させる。
【０４５６】
イントラＴＰ動き予測・補償部２１１は、図３４のイントラＴＰ動き予測・補償部１６１と同様のイントラテンプレート予測モードの動き予測を行い、イントラ処理する画像の対象ブロックに対応付けられる参照ブロックを求める。イントラＴＰ動き予測・補償部２１１は、参照画像の情報（すなわち、対象ブロックと参照ブロックそれぞれの隣接画素の情報）、および対象ブロックの情報とそれに対応する参照ブロックの情報を、隣接予測部２１３に出力する。
【０４５７】
動き予測・補償部１２２には、ヘッダ情報を復号して得られた情報（予測モード、動きベクトル情報や参照フレーム情報）が可逆復号部１１２から供給される。インター予測モードである情報が供給された場合、動き予測・補償部１２２は、動きベクトル情報と参照フレーム情報に基づいて画像に動き予測と補償処理を施し、予測画像を生成し、生成された予測画像をスイッチ１２５に出力する。
【０４５８】
インターテンプレート予測モードである情報が供給された場合、動き予測・補償部１２２は、フレームメモリ１１９から読み出されたインター符号化が行われる画像と参照される画像をインターＴＰ動き予測・補償部２１２に供給する。そして、動き予測・補償部１２２は、インターテンプレート予測モードでの動き予測・補償処理を行わせる。また、この場合、動き予測・補償部１２２は、スイッチ２１４をオンさせ、隣接予測部２１３からの画像を、デブロックフィルタ１１６に供給させる。
【０４５９】
インターＴＰ動き予測・補償部２１２は、図３４のインターＴＰ動き予測・補償部１６２と同様のインターテンプレート予測モードの動き予測と補償処理を行い、インター処理する画像の対象ブロックに対応付けられる参照ブロックを求める。インターＴＰ動き予測・補償部２１２は、参照画像の情報（すなわち、対象ブロックと参照ブロックそれぞれの隣接画素の情報）、および対象ブロックの情報とそれに対応する参照ブロックの情報を、隣接予測部２１３に出力する。
【０４６０】
隣接予測部２１３には、復号され、逆量子化され、逆直交変換された２次差分情報が、逆直交変換部１１４から供給される。また、２次差分情報に関するイントラ予測モードの情報がある場合には、可逆復号部１１２から供給される。
【０４６１】
隣接予測部２１３は、図２９の画面内予測部１２３および２次差分補償部１２４に対応する処理を行う。すなわち、隣接予測部２１３は、必要な参照画像の情報を用いて、画面内予測として、対象ブロックについてイントラ予測を行い、対象イントラ予測画像を生成し、参照ブロックについてイントラ予測を行い、参照イントラ予測画像を生成する。このとき、隣接予測部２１３は、必要に応じて、可逆復号部１１２から供給される２次差分情報に関するイントラ予測モードの情報を用いる。
【０４６２】
また、隣接予測部２１３は、参照ブロックの画素値と参照イントラ予測画像の画素値の差分である参照差分情報を算出し、逆直交変換部１１４からの２次差分情報、対象イントラ予測画像、および参照差分情報を用いて、対象画像の補償を行う。隣接予測部２１３は、補償した対象画像を、スイッチ２１４を介して、デブロックフィルタ１１６に供給する。
【０４６３】
スイッチ２１４は、通常、オフの状態となっており、イントラ予測部１２１または動き予測・補償部１２２からの制御のもと、両端の端子を繋げてオンし、隣接予測部２１３からの画像を、デブロックフィルタ１１６に供給する。
【０４６４】
［隣接予測部の構成例］
図４３は、隣接予測部の詳細な構成例を示すブロック図である。
【０４６５】
図４３の例においては、隣接予測部２１３は、参照画像イントラ予測部２２１、参照画像差分生成部２２２、対象画像イントラ予測部２２３、および演算部２２４により構成される。
【０４６６】
イントラＴＰ動き予測・補償部２１１またはインターＴＰ動き予測・補償部２１２から、必要な参照画像の情報（すなわち、対象ブロックと参照ブロックそれぞれの隣接画素の情報）、および対象ブロックの情報とそれに対応する参照ブロックの情報が、参照画像イントラ予測部２２１に出力される。
【０４６７】
参照画像イントラ予測部２２１は、対応する参照フレームまたは対象フレームにおいて、参照ブロックについてイントラ予測を行い、参照イントラ予測画像を生成する。例えば、画像符号化装置１５１において、図３９の処理が行われた場合、参照画像イントラ予測部２２１は、すべてのイントラ予測モードの参照イントラ予測画像を生成し、参照ブロックの画素値との予測誤差が最小になるイントラ予測モードを決定する。
【０４６８】
参照画像イントラ予測部２２１は、必要な参照画像の情報（すなわち、対象ブロックの隣接画素の情報）、対象ブロックの情報と、決定したイントラ予測モードの情報を、対象画像イントラ予測部２２３に出力する。参照画像イントラ予測部２２１は、参照ブロックの情報と、決定したイントラ予測モードで生成された参照イントラ予測画像の情報を、参照画像差分生成部２２２に出力する。
【０４６９】
参照画像差分生成部２２２は、参照ブロックの画素値と参照イントラ予測画像の画素値の差分である参照画像の差分情報を生成し、生成した参照画像の差分情報を、演算部２２４に出力する。
【０４７０】
対象画像イントラ予測部２２３は、対象ブロックについてイントラ予測を行い、対象イントラ予測画像を生成する。例えば、画像符号化装置１５１において、図３９の処理が行われた場合、対象画像イントラ予測部２２３は、参照画像イントラ予測部２２１により決定されたイントラ予測モードで、対象イントラ予測画像を生成する。対象画像イントラ予測部２２３は、生成された対象イントラ予測画像の情報を、演算部２２４に出力する。
【０４７１】
演算部２２４には、逆直交変換部１１４から２次差分情報が入力される。演算部２２４は、逆直交変換部１１４からの２次差分情報、対象イントラ予測画像、および参照差分情報を用いて、対象画像の補償を行う。隣接予測部２１３は、補償した対象画像を、スイッチ２１４に供給する。
【０４７２】
なお、画像符号化装置１５１において、図４０または図４１の処理が行われた場合、可逆復号部１１２により２次差分情報に関するイントラ予測モードの情報が復号される。この場合、対象画像イントラ予測部２２３は、可逆復号部１１２により復号されたイントラ予測モードで、対象ブロックについてイントラ予測を行う。
【０４７３】
また、画像符号化装置１５１において、図４０の処理が行われた場合には、対象画像イントラ予測部２２３は、可逆復号部１１２により復号されたイントラ予測モードを、参照画像イントラ予測部２２１に供給する。この場合、参照画像イントラ予測部２２１も、可逆復号部１１２により復号されたイントラ予測モードで、対象ブロックについてイントラ予測を行う。
【０４７４】
［インターＴＰ動き予測・補償部および隣接予測部の動作例］
ここで、画像復号装置２０１におけるインターＴＰ動き予測・補償部および隣接予測部における動作について説明する。なお、イントラＴＰ動き予測・補償部の場合も同様であるので、その説明は省略する。
【０４７５】
演算部２２４には、逆量子化と逆直交変換の結果、画像符号化装置１５１からの２次差分情報[res] ＝ [Dif_Curr] − [Dif_Ref]（上述した式（７８））が得られる。
【０４７６】
インターＴＰ動き予測・補償部２１２は、図３４のインターＴＰ動き予測・補償部１６２と同様のインターテンプレート予測モードの動き予測と補償処理を行い、インター処理する画像の対象ブロックに対応付けられる参照ブロックを決定する。
【０４７７】
参照画像イントラ予測部２２１は、参照フレームにおいて、参照ブロックについてイントラ予測を行い、参照イントラ予測画像を生成する。例えば、画像符号化装置１５１において、図３９の処理が行われた場合、参照画像イントラ予測部２２１は、すべてのイントラ予測モードの参照イントラ予測画像を生成し、参照ブロックの画素値との予測誤差が最小になるイントラ予測モードを決定する。
【０４７８】
参照画像差分生成部２２２は、参照ブロックの画素値と、決定されたイントラ予測モード(best_mode)で生成された参照イントラ予測画像の画素値の差分である参照画像の差分情報[Dif_ref]を生成する。
【０４７９】
演算部２２４においては、まず、２次差分情報[Dif_Curr] − [Dif_Ref]と、参照画像の差分情報[Dif_ref]を用いて、次の式（７９）から、対象画像の差分情報[Dif_Curr]が生成される。
([Dif_Curr] − [Dif_Ref]) ＋  [Dif_ref]  ＝  [Dif_Curr]        ・・・（７９）
【０４８０】
さらに、対象画像イントラ予測部２２３は、参照ブロックについて決定されたイントラ予測モード(best_mode)で、対象フレームにおいて、対象ブロックについてイントラ予測を行い、対象イントラ予測画像[Ipred_Ref(best_mode)]を生成する。
【０４８１】
したがって、演算部２２４においては、この生成された対象イントラ予測画像[Ipred_Ref(best_mode)]と、式（７９）の対象画像の差分情報[Dif_Curr]を用いて、次の式（８０）により、復号画像が生成される。
復号画像  ＝  [Dif_Curr]  ＋  [Ipred_Ref(best_mode)]            ・・・（８０）
【０４８２】
なお、上記説明においては、説明の便宜上、演算部２２４における処理を、式（７９）と式（８０）で示される処理で分けて説明したが、同時に行われてもよい。
【０４８３】
また、ここで、画像符号化装置１５１により、最適なイントラ予測モード(best_mode)が対象画像において決定され、その情報が送られてくる場合（図４０または図４１の場合）がある。この場合には、画像復号装置２０１においても、参照画像で決定されるbest_modeでなく、送られてくるbest_modeが用いられる。また、そのbest_modeが、画像符号化装置１５１において参照画像にも用いられている場合（図４０の場合）には、画像復号装置２０１においても、参照画像にも用いられる。
【０４８４】
[予測処理の他の例の説明]
次に、図４４のフローチャートを参照して、画像復号装置２０１の予測処理を説明する。なお、この予測処理は、図３１のステップＳ１３８の予測処理を説明する図３２の予測処理の他の例である。すなわち、画像復号装置２０１の復号処理は、図３１を参照して上述した画像復号装置１０１の復号処理と基本的に同様であるので、その説明を省略する。
【０４８５】
イントラ予測部１２１は、ステップＳ３１１において、対象ブロックがイントラ符号化されているか否かを判定する。可逆復号部１１２からイントラ予測モード情報またはイントラテンプレート予測モード情報がイントラ予測部１２１に供給される。これに対応して、イントラ予測部１２１は、ステップ３１１において、対象ブロックがイントラ符号化されていると判定し、処理は、ステップＳ３１２に進む。
【０４８６】
イントラ予測部１２１は、ステップＳ３１２において、イントラ予測モード情報またはイントラテンプレート予測モード情報を取得し、ステップＳ３１３において、イントラ予測モードであるか否かを判定する。ステップＳ３１３において、イントラ予測モードであると判定された場合、イントラ予測部１２１は、ステップＳ３１４において、イントラ予測を行う。
【０４８７】
すなわち、処理対象の画像がイントラ処理される画像である場合、必要な画像がフレームメモリ１１９から読み出され、スイッチ１２０を介してイントラ予測部１２１に供給される。ステップＳ３１４において、イントラ予測部１２１は、ステップＳ３１２で取得したイントラ予測モード情報に従ってイントラ予測し、予測画像を生成する。生成した予測画像は、スイッチ１２５に出力される。
【０４８８】
一方、ステップＳ３１２において、イントラテンプレート予測モード情報が取得された場合、ステップＳ３１３において、イントラ予測モード情報ではないと判定され、処理は、ステップＳ３１５に進む。
【０４８９】
処理対象の画像がイントラテンプレート予測処理される画像である場合、必要な画像がフレームメモリ１１９から読み出され、スイッチ１２０およびイントラ予測部１２１を介してイントラＴＰ動き予測・補償部２１１に供給される。
【０４９０】
ステップＳ３１５において、イントラＴＰ動き予測・補償部２１１は、イントラテンプレート予測モードの動き予測・補償処理を行う。ステップＳ３１５におけるイントラテンプレート動き予測・補償処理の詳細は、インターテンプレート動き予測・補償処理の詳細とまとめて、図４５を参照して後述する。
【０４９１】
この処理により、対象フレームにおける参照ブロックについてイントラ予測が行われ、参照ブロックと参照イントラ予測画像の参照差分情報が算出される。また、対象フレームにおける対象ブロックについてイントラ予測が行われ、対象イントラ予測画像が生成される。そして、逆直交変換部１１４からの２次差分情報、対象イントラ予測画像、参照差分情報が加算されて、対象ブロックの画像が生成され、スイッチ２１４を介して、デブロックフィルタ１１６に出力される。すなわち、この場合、対象ブロックの画像は、演算部１１５を介さずに、デブロックフィルタ１１６に直接出力される。
【０４９２】
一方、ステップＳ３１１において、イントラ符号化されていないと判定された場合、処理は、ステップＳ３１６に進む。ステップＳ３１６において、動き予測・補償部１２２は、可逆復号部１１２からの予測モード情報などを取得する。このとき、必要に応じて、対象画像イントラ予測部２２３は、２次差分情報に関するイントラ予測モードの情報を取得する。
【０４９３】
処理対象の画像がインター処理される画像である場合、可逆復号部１１２からインター予測モード情報、参照フレーム情報、動きベクトル情報が動き予測・補償部１２２に供給される。この場合、ステップＳ３１６において、動き予測・補償部１２２は、インター予測モード情報、参照フレーム情報、動きベクトル情報を取得する。
【０４９４】
そして、動き予測・補償部１２２は、ステップＳ３１７において、可逆復号部１１２からの予測モード情報が、インター予測モード情報であるか否かを判定する。ステップＳ３１７において、インター予測モード情報であると判定された場合、処理は、ステップＳ３１８に進む。
【０４９５】
動き予測・補償部１２２は、ステップＳ３１８において、インター動き予測を行う。すなわち、処理対象の画像がインター予測処理される画像である場合、必要な画像がフレームメモリ１１９から読み出され、スイッチ１２０を介して動き予測・補償部１２２に供給される。ステップＳ３１８において動き予測・補償部１２２は、ステップＳ３１６で取得した動きベクトルに基づいて、インター予測モードの動き予測をし、予測画像を生成する。生成した予測画像は、スイッチ１２５に出力される。
【０４９６】
一方、ステップＳ３１６において、インターテンプレート予測モード情報が取得された場合、ステップＳ３１７において、インター予測モード情報ではないと判定され、処理は、ステップＳ３１９に進む。
【０４９７】
処理対象の画像がインターテンプレート予測処理される画像である場合、必要な画像がフレームメモリ１１９から読み出され、スイッチ１２０および動き予測・補償部１２２を介してインターＴＰ動き予測・補償部２１２に供給される。
【０４９８】
ステップＳ３１９において、インターＴＰ動き予測・補償部２１２は、インターテンプレート予測モードの動き予測、補償処理を行う。ステップＳ３１９におけるインターテンプレート動き予測・補償処理の詳細は、イントラテンプレート動き予測・補償処理の詳細とまとめて、図４５を参照して後述する。
【０４９９】
この処理により、参照フレームにおける参照ブロックについてイントラ予測が行われ、参照ブロックと参照イントラ予測画像の参照差分情報が算出される。また、対象フレームにおける対象ブロックについてイントラ予測が行われ、対象イントラ予測画像が生成される。そして、逆直交変換部１１４からの２次差分情報、対象イントラ予測画像、参照差分情報が加算されて、対象ブロックの画像が生成され、スイッチ２１４を介して、デブロックフィルタ１１６に出力される。すなわち、この場合、対象ブロックの画像は、演算部１１５を介さずに、デブロックフィルタ１１６に直接出力される。
【０５００】
［テンプレート動き予測処理の説明］
次に、図４５のフローチャートを参照して、テンプレート動き予測・補償処理について説明する。なお、図４５の例においては、インターの場合、すなわち、図４４のステップＳ３１９のインターテンプレート動き予測処理の例を説明するが、参照ブロックが画面内にあるか、画面間にあるかの違い以外は同じである。したがって、イントラの場合、すなわち、図４４のステップＳ３１５においても、図４５の処理と同様の処理が行われる。
【０５０１】
演算部２２４には、復号され、逆量子化され、逆直交変換された２次差分情報[Res]が、逆直交変換部１１４から供給される。演算部２２４は、ステップＳ３３１において、逆直交変換部１１４からの２次差分情報[Res]=[Diff_curr]-[Dif_ref]を取得する。
【０５０２】
インターＴＰ動き予測・補償部２１２は、ステップＳ３３２において、図３４のインターＴＰ動き予測・補償部１６２と同様のインターテンプレート予測モードの動き予測を行い、インター処理する画像の対象ブロックに対応付けられる参照ブロックを決定する。
【０５０３】
インターＴＰ動き予測・補償部２１２から、必要な参照画像の情報（すなわち、対象ブロックと参照ブロックそれぞれの隣接画素の情報）、および対象ブロックの情報とそれに対応する参照ブロックの情報が、参照画像イントラ予測部２２１に出力される。
【０５０４】
参照画像イントラ予測部２２１および参照画像差分生成部２２２は、ステップＳ３３３において、参照ブロックにおけるイントラ予測により、参照ブロックの画素値と参照イントラ予測画像の画素値の差分である参照画像の差分情報[Diff_ref]を算出する。
【０５０５】
すなわち、参照画像イントラ予測部２２１は、参照フレームにおいて、すべてのイントラ予測モードの参照イントラ予測画像を生成し、参照ブロックの画素値との予測誤差が最小になるイントラ予測モードを決定する。参照ブロックの画素値と、決定されたイントラ予測モードの参照イントラ予測画像は、参照画像差分生成部２２２に出力される。また、参照画像イントラ予測部２２１は、必要な参照画像の情報（例えば、対象ブロックの隣接画素の情報）、対象ブロックの情報と、決定したイントラ予測モードの情報を、対象画像イントラ予測部２２３に出力する。
【０５０６】
参照画像差分生成部２２２は、参照ブロックの画素値と参照イントラ予測画像の画素値の差分である参照画像の差分情報を生成し、生成した参照画像の差分情報を、演算部２２４に出力する。
【０５０７】
演算部２２４は、ステップＳ３３４において、ステップＳ３３１で取得した２次差分情報[Dif_curr]-[Dif_ref]と、参照画像の差分情報[Dif_ref]を加算し、対象画像の差分情報[Dif_curr]を算出する。
【０５０８】
一方、対象画像イントラ予測部２２３は、ステップＳ３３５において、参照画像イントラ予測部２２１により決定されたイントラ予測モードで、対象ブロックにおけるイントラ予測を行い、対象イントラ予測画像[Ipred_curr]を生成する。対象画像イントラ予測部２２３は、生成された対象イントラ予測画像の情報を、演算部２２４に出力する。
【０５０９】
ステップＳ３３６において、演算部２２４は、ステップＳ３３４において算出された対象画像の差分情報[Dif_curr]と、対象イントラ予測画像[Ipred_curr]を加算することにより、対象ブロックの復号画像を生成する。この復号画像は、スイッチ２１４を介して、デブロックフィルタ１１６に直接入力される。
【０５１０】
なお、図４５の例においては、画像符号化装置１５１において、図３９の処理が行われた場合の例を説明したが、図４０または図４１の処理は次の点が異なるだけであり、その他の処理は基本的に同様であるので、その説明を省略する。すなわち、図４０の処理が行われた場合には、ステップＳ３３３およびＳ３３５のイントラ予測には、可逆復号部１１２からの最適なイントラ予測モード(best_mode)が用いられる。また、図４１の処理が行われた場合には、ステップＳ３３５のイントラ予測には、可逆復号部１１２からの最適なイントラ予測モード(best_mode)が用いられる。
【０５１１】
以上のように、画像符号化装置１５１および画像復号装置２０１においては、イントラまたはインターテンプレートマッチングで対応付けられた対象画像および参照画像において１次差分情報がそれぞれ生成され、さらに２次差分情報が生成されて、符号化される。
【０５１２】
特に、イントラまたはインターテンプレートマッチングでは、予測に対象ブロックに関する画素値ではなく、対象ブロックに隣接するテンプレートの画素値を用いるため、対象ブロックの画素値を用いる予測よりも予測効率が低くなることがあった。
【０５１３】
したがって、画像符号化装置１５１および画像復号装置２０１によれば、イントラまたはインターテンプレートマッチングにおける予測効率を向上させることができる。
【０５１４】
以上のように、本発明においては、対象ブロックに対応する参照ブロック（予測画像）を求めるだけでなく、対象ブロックおよび参照ブロックに対してさらに予測を行ってその差分（残差）を求め、それらの差分からさらに２次差分を生成し、符号化するようにした。これにより、符号化効率をさらに向上させることができる。
【０５１５】
なお、上述した２次差分に基づく予測モードを用いる場合に、その予測モード情報を、復号側に送る必要がある。例えば、図３１の例においては、インター予測モードが取得されたときに、２次差分に基づくインター予測モードが行われるように上述したが、２次差分に基づく予測モードを用いる際には、以下の２つの方法のどちらかを採用することができる。
【０５１６】
例えば、H．264/AVC方式で用いられている他の予測モード情報に、２次差分に基づく予測モード情報を置き換えて符号化する方法がある。この方法が採用された場合には、復号側では、置き換えられた予測モードが取得されたときに、２次差分に基づくモードとして復号が行われる。
【０５１７】
また、例えば、H．264/AVC方式で用いられている他の予測モード情報に、新しく、２次差分に基づく予測モード情報を追加して符号化する方法がある。この方法が採用された場合には、復号側では、追加された予測モードが取得されたときに、２次差分に基づくモードとして復号が行われる。
【０５１８】
以上においては、符号化方式としてH．264/AVC方式を用いるようにしたが、その他の符号化方式／復号方式を用いることもできる。
【０５１９】
なお、本発明は、例えば、MPEG、H．26x等の様に、離散コサイン変換等の直交変換と動き補償によって圧縮された画像情報（ビットストリーム）を、衛星放送、ケーブルテレビジョン、インターネット、または携帯電話機などのネットワークメディアを介して受信する際に用いられる画像符号化装置および画像復号装置に適用することができる。また、本発明は、光、磁気ディスク、およびフラッシュメモリのような記憶メディア上で処理する際に用いられる画像符号化装置および画像復号装置に適用することができる。さらに、本発明は、それらの画像符号化装置および画像復号装置などに含まれる動き予測補償装置にも適用することができる。
【０５２０】
上述した一連の処理は、ハードウエアにより実行することもできるし、ソフトウエアにより実行することもできる。一連の処理をソフトウエアにより実行する場合には、そのソフトウエアを構成するプログラムが、コンピュータにインストールされる。ここで、コンピュータには、専用のハードウエアに組み込まれているコンピュータや、各種のプログラムをインストールすることで、各種の機能を実行することが可能な汎用のパーソナルコンピュータなどが含まれる。
【０５２１】
図４６は、上述した一連の処理をプログラムにより実行するコンピュータのハードウエアの構成例を示すブロック図である。
【０５２２】
コンピュータにおいて、CPU(Central Processing Unit)３０１、ROM(Read Only Memory)３０２、RAM(Random Access Memory)３０３は、バス３０４により相互に接続されている。
【０５２３】
バス３０４には、さらに、入出力インタフェース３０５が接続されている。入出力インタフェース３０５には、入力部３０６、出力部３０７、記憶部３０８、通信部３０９、およびドライブ３１０が接続されている。
【０５２４】
入力部３０６は、キーボード、マウス、マイクロフォンなどよりなる。出力部３０７は、ディスプレイ、スピーカなどよりなる。記憶部３０８は、ハードディスクや不揮発性のメモリなどよりなる。通信部３０９は、ネットワークインタフェースなどよりなる。ドライブ３１０は、磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリなどのリムーバブルメディア３１１を駆動する。
【０５２５】
以上のように構成されるコンピュータでは、CPU３０１が、例えば、記憶部３０８に記憶されているプログラムを入出力インタフェース３０５及びバス３０４を介してRAM３０３にロードして実行することにより、上述した一連の処理が行われる。
【０５２６】
コンピュータ（CPU３０１）が実行するプログラムは、例えば、パッケージメディア等としてのリムーバブルメディア３１１に記録して提供することができる。また、プログラムは、ローカルエリアネットワーク、インターネット、デジタル放送といった、有線または無線の伝送媒体を介して提供することができる。
【０５２７】
コンピュータでは、プログラムは、リムーバブルメディア３１１をドライブ３１０に装着することにより、入出力インタフェース３０５を介して、記憶部３０８にインストールすることができる。また、プログラムは、有線または無線の伝送媒体を介して、通信部３０９で受信し、記憶部３０８にインストールすることができる。その他、プログラムは、ROM３０２や記憶部３０８に、あらかじめインストールしておくことができる。
【０５２８】
なお、コンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。
【０５２９】
本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
【符号の説明】
【０５３０】
５１  画像符号化装置，  ６６  可逆符号化部，  ７４  イントラ予測部，  ７５  動き予測・補償部，  ７６  画面内予測部，  ７７  ２次差分生成部，  ８１  対象フレーム画面内予測部，  ８２  対象フレーム画面内差分生成部，  ８３  参照フレーム画面内予測部，  ８４  参照フレーム画面内差分生成部，  ９１  対象フレーム差分受信部，  ９２  参照フレーム差分受信部，  ９３  ２次差分算出部，  １０１  画像復号装置，  １１２  可逆復号部，  １２１  イントラ予測部，  １２２  動き予測・補償部，  １２３  画面内予測部，  １２４  ２次差分生成部，  １３１  対象フレーム画面内予測部，  １３２  参照フレーム画面内予測部，  １３３  参照フレーム画面内差分生成部，  １４１  予測画像受信部，  １４２  参照フレーム差分受信部，  １４３  画像算出部，  １５１  画像符号化装置，  １６１  イントラテンプレート動き予測・補償部，  １６２  インターテンプレート動き予測・補償部，  １６３  隣接予測部，  １７１  参照画像イントラ予測部，  １７２  対象画像イントラ予測部，  １７３  参照画像差分生成部，  １７４  対象画像差分生成部，  １７５  演算部，  ２０１  画像復号装置，  ２１１  イントラテンプレート動き予測・補償部，  ２１２  インターテンプレート動き予測・補償部，  ２１３  隣接予測部，  ２２１  参照画像イントラ予測部，  ２２２  参照画像差分生成部，  ２２３  対象画像イントラ予測部，  ２２４  演算部
【図１】
2010258738.tif 000018
【図２】
2010258738.tif 000019
【図３】
2010258738.tif 000020
【図４】
2010258738.tif 000021
【図５】
2010258738.tif 000022
【図６】
2010258738.tif 000023
【図７】
2010258738.tif 000024
【図８】
2010258738.tif 000025
【図９】
2010258738.tif 000026
【図１０】
2010258738.tif 000027
【図１１】
2010258738.tif 000028
【図１２】
2010258738.tif 000029
【図１３】
2010258738.tif 000030
【図１４】
2010258738.tif 000031
【図１５】
2010258738.tif 000032
【図１６】
2010258738.tif 000033
【図１７】
2010258738.tif 000034
【図１８】
2010258738.tif 000035
【図１９】
2010258738.tif 000036
【図２０】
2010258738.tif 000037
【図２１】
2010258738.tif 000038
【図２２】
2010258738.tif 000039
【図２３】
2010258738.tif 000040
【図２４】
2010258738.tif 000041
【図２５】
2010258738.tif 000042
【図２６】
2010258738.tif 000043
【図２７】
2010258738.tif 000044
【図２８】
2010258738.tif 000045
【図２９】
2010258738.tif 000046
【図３０】
2010258738.tif 000047
【図３１】
2010258738.tif 000048
【図３２】
2010258738.tif 000049
【図３３】
2010258738.tif 000050
【図３４】
2010258738.tif 000051
【図３５】
2010258738.tif 000052
【図３６】
2010258738.tif 000053
【図３７】
2010258738.tif 000054
【図３８】
2010258738.tif 000055
【図３９】
2010258738.tif 000056
【図４０】
2010258738.tif 000057
【図４１】
2010258738.tif 000058
【図４２】
2010258738.tif 000059
【図４３】
2010258738.tif 000060
【図４４】
2010258738.tif 000061
【図４５】
2010258738.tif 000062
【図４６】
2010258738.tif 000063