(57)【要約】【課題】イントラ予測における符号化効率を向上させることができるようにする。【解決手段】最適イントラ予測モードがモード０の場合、対象ブロックの予測に用いられる隣接画素は、画素Ａ0, Ａ1, Ａ2, Ａ3となる。これらの画素と６タップのFIRフィルタにより、１／２画素精度の画素ａ-0.5,ａ+0.5,…が生成され、さらに、線形内挿により１／４画素精度の画素ａ-0.75,ａ-0.25,ａ+0.25,ａ+0.75が生成される。そして、整数画素と生成された小数画素精度の位相差である-0.75乃至+0.75の値を、水平方向のシフト量の候補として、最適なシフト量が決定される。本発明は、例えば、H．264/AVC方式で符号化する画像符号化装置に適用することができる。【選択図】図１８
2010258740.tif 000002
【特許請求の範囲】
【請求項１】
画像のイントラ予測ブロックについて、イントラ予測の予測モードを決定するモード決定手段と、
前記イントラ予測ブロックに所定の位置関係で隣接する隣接画素の位相を、前記モード決定手段により決定された前記予測モードに応じたシフト方向および候補となるシフト量でシフトさせる位相シフト手段と、
前記隣接画素および前記位相シフト手段により前記位相がシフトされた隣接画素の画素値を用いて、前記隣接画素に対して、前記位相の最適シフト量を決定するシフト量決定手段と、
前記シフト量決定手段により決定された前記最適シフト量で前記位相がシフトされた隣接画素の画素値を用いて、前記イントラ予測ブロックの予測画像を生成する予測画像生成手段と
を備える画像処理装置。
【請求項２】
前記イントラ予測ブロックの画像と前記予測画像生成手段により生成された前記予測画像との差分情報、前記シフト量決定手段により決定された前記最適シフト量の情報、および前記モード決定手段により決定された前記予測モードの情報を符号化する符号化手段
をさらに備える請求項１に記載の画像処理装置。
【請求項３】
前記符号化手段は、前記シフト量決定手段により決定された前記最適シフト量の情報として、前記イントラ予測ブロックについて決定された前記最適シフト量と、MostProbableModeを与えるブロックについて決定された最適シフト量との差分情報のみを符号化する
請求項２に記載の画像処理装置。
【請求項４】
前記位相シフト手段は、前記モード決定手段により決定された前記予測モードが、DC predictionモードである場合、前記位相のシフトを禁止する
請求項１に記載の画像処理装置。
【請求項５】
前記位相シフト手段は、前記モード決定手段により決定された前記予測モードが、Vertical predictionモード、Diag_Down_Left predictionモード、またはVertical_Left predictionモードである場合、前記隣接画素のうち、上部隣接画素に対して、Horizontal方向の位相を前記候補となるシフト量でシフトさせ、前記隣接画素のうち、左部隣接画素に対して、Vertical方向の位相のシフトを禁止する
請求項１に記載の画像処理装置。
【請求項６】
前記位相シフト手段は、前記モード決定手段により決定された前記予測モードが、Horizontal predictionモード、またはHorizontal_Up predictionモードである場合、前記隣接画素のうち、左部隣接画素に対して、Vertical方向の位相を前記候補となるシフト量でシフトさせ、前記隣接画素のうち、上部隣接画素に対して、Horizontal方向の位相のシフトを禁止する
請求項１に記載の画像処理装置。
【請求項７】
前記モード決定手段は、前記イントラ予測の全ての予測モードを決定し、
前記位相シフト手段は、前記隣接画素の位相を、前記モード決定手段により決定された前記全ての予測モードに応じたシフト方向および候補となるシフト量でそれぞれシフトさせ、
前記シフト量決定手段は、前記隣接画素および前記位相シフト手段により前記位相がシフトされた隣接画素の画素値を用いて、前記隣接画素に対して、前記位相の最適シフト量と最適予測モードを決定する
請求項１に記載の画像処理装置。
【請求項８】
前記画像のインター動き予測ブロックについて、インター動き予測を行う動き予測補償手段をさらに備え、
前記位相シフト手段は、前記動き予測補償手段により小数画素精度予測の際に用いられるFIRフィルタを用いて、前記隣接画素の位相をシフトさせる
請求項１に記載の画像処理装置。
【請求項９】
前記動き予測補償手段により１／８画素精度予測が行われる場合、前記位相シフト手段は、１／８画素精度で、前記隣接画素の位相をシフトさせる
請求項８に記載の画像処理装置。
【請求項１０】
画像処理装置が、
画像のイントラ予測ブロックについて、イントラ予測の予測モードを決定し、
前記イントラ予測ブロックに所定の位置関係で隣接する隣接画素の位相を、決定された前記予測モードに応じたシフト方向および候補となるシフト量でシフトさせ、
前記隣接画素および前記位相がシフトされた隣接画素の画素値を用いて、前記隣接画素に対して、前記位相の最適シフト量を決定し、
決定された前記最適シフト量で前記位相がシフトされた隣接画素の画素値を用いて、前記イントラ予測ブロックの予測画像を生成するステップ
を含む画像処理方法。
【請求項１１】
画像のイントラ予測ブロックについて、イントラ予測の予測モードを決定し、
前記イントラ予測ブロックに所定の位置関係で隣接する隣接画素の位相を、決定された前記予測モードに応じたシフト方向および候補となるシフト量でシフトさせ、
前記隣接画素および前記位相がシフトされた隣接画素の画素値を用いて、前記隣接画素に対して、前記位相の最適シフト量を決定し、
決定された前記最適シフト量で前記位相がシフトされた隣接画素の画素値を用いて、前記イントラ予測ブロックの予測画像を生成するステップ
を含む処理をコンピュータに行わせるためのプログラム。
【請求項１２】
符号化されているイントラ予測ブロックの画像、前記イントラ予測ブロックに所定の位置関係で隣接する隣接画素の位相のシフト量の情報、および前記イントラ予測の予測モードの情報を復号する復号手段と、
前記隣接画素の位相を、前記復号手段により復号された前記予測モードに応じたシフト方向および前記復号手段により復号された前記シフト量でシフトさせる位相シフト手段と、
前記位相シフト手段により前記位相が前記シフト量でシフトされた隣接画素の画素値を用いて、前記イントラ予測ブロックの予測画像を生成する予測画像生成手段と
を備える画像処理装置。
【請求項１３】
前記復号手段は、前記シフト量の情報として、前記イントラ予測ブロックについてのシフト量と、MostProbableModeを与えるブロックについてのシフト量との差分情報を復号する
請求項１２に記載の画像処理装置。
【請求項１４】
前記位相シフト手段は、前記復号手段により復号された前記予測モードが、DC predictionモードである場合、前記隣接画素の位相のシフトを禁止する
請求項１２に記載の画像処理装置。
【請求項１５】
前記位相シフト手段は、前記復号手段により復号された前記予測モードが、Vertical predictionモード、Diag_Down_Left predictionモード、またはVertical_Left predictionモードである場合、前記隣接画素のうち、上部隣接画素に対して、Horizontal方向の位相を、前記復号手段により復号された前記シフト量でシフトさせ、前記隣接画素のうち、左部隣接画素に対して、Vertical方向の位相のシフトを禁止する
請求項１２に記載の画像処理装置。
【請求項１６】
前記位相シフト手段は、前記復号手段により復号された前記予測モードが、Horizontal predictionモード、またはHorizontal_Up predictionモードである場合、前記隣接画素のうち、左部隣接画素に対して、Vertical方向の位相を、前記復号手段により復号された前記シフト量でシフトさせ、前記隣接画素のうち、上部隣接画素に対して、Horizontal方向の位相のシフトを禁止する
請求項１２に記載の画像処理装置。
【請求項１７】
符号化されているインター動き予測ブロックとともに前記復号手段により復号される動きベクトルを用いて、インター動き予測を行う動き予測補償手段をさらに備え、
前記位相シフト手段は、前記動き予測補償手段により小数画素精度予測の際に用いられるFIRフィルタを用いて、前記隣接画素の位相をシフトさせる
請求項１２に記載の画像処理装置。
【請求項１８】
前記動き予測補償手段により１／８画素精度予測が行われる場合、前記位相シフト手段は、１／８画素精度で、前記隣接画素の位相をシフトさせる
請求項１７に記載の画像処理装置。
【請求項１９】
画像処理装置が、
符号化されているイントラ予測ブロックの画像、前記イントラ予測ブロックに所定の位置関係で隣接する隣接画素の位相のシフト量の情報、および前記イントラ予測の予測モードの情報を復号し、
前記隣接画素の位相を、復号された前記予測モードに応じたシフト方向および復号された前記シフト量でシフトさせ、
前記位相が前記シフト量でシフトされた隣接画素の画素値を用いて、前記イントラ予測ブロックの予測画像を生成するステップ
を含む画像処理方法。
【請求項２０】
符号化されているイントラ予測ブロックの画像、前記イントラ予測ブロックに所定の位置関係で隣接する隣接画素の位相のシフト量の情報、および前記イントラ予測の予測モードの情報を復号し、
前記隣接画素の位相を、復号された前記予測モードに応じたシフト方向および復号された前記シフト量でシフトさせ、
前記位相が前記シフト量でシフトされた隣接画素の画素値を用いて、前記イントラ予測ブロックの予測画像を生成するステップ
を含む処理をコンピュータに行わせるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は画像処理装置および方法、並びにプログラムに関し、特に、イントラ予測における符号化効率を向上させるようにした画像処理装置および方法、並びにプログラムに関する。
【背景技術】
【０００２】
近年、画像情報をデジタルとして取り扱い、その際、効率の高い情報の伝送、蓄積を目的とし、画像情報特有の冗長性を利用して、離散コサイン変換等の直交変換と動き補償により圧縮する符号化方式を採用して画像を圧縮符号する装置が普及しつつある。この符号化方式には、例えば、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) において、符号化効率の改善に関する検討が継続され行なわれている。
【０００８】
例えば、MPEG2方式においては、線形内挿処理により１／２画素精度の動き予測・補償処理が行われている。一方、H．264/AVC方式においては、６タップのFIR (Finite Impulse Response Filter)フィルタを用いた１／４画素精度の予測・補償処理が行われている。
【０００９】
この１／４画素精度の予測・補償処理に対して、近年、H．264/AVC方式の効率をさらに向上させようという検討が行われている。このための符号化方式の１つとして、非特許文献１においては、１／８画素精度の動き予測が提案されている。
【００１０】
すなわち、非特許文献１において、１／２画素精度の補間処理はフィルタ[-3,12,-39,158,158,-39,12,-3]/256により行われる。また、１／４画素精度の補間処理はフィルタ[-3,12,-37,229,71,-21,6,-1]/256により行われ、１／８画素精度の補間処理は線形補間により行われる。
【００１１】
このように、より高い画素精度の補間処理を用いた動き予測を行うことにより、特に、解像度が高いテクスチャを持ち、比較的ゆっくりした動きのシーケンスにおいては、予測精度を向上させ、符号化効率の向上を実現することができる。
【００１２】
ところで、H．264/AVC方式が、従来のMPEG2方式などに比して高い符号化効率を実現する要因の１つとして、次に説明するイントラ予測方式の採用が挙げられる。
【００１３】
H．264/AVC方式において、輝度信号については、９種類の４×４画素および８×８画素のブロック単位、並びに４種類の１６×１６画素のマクロブロック単位のイントラ予測モードが定められている。色差信号については、４種類の８×８画素のブロック単位のイントラ予測モードが定められている。色差信号のイントラ予測モードは、輝度信号のイントラ予測モードと独立に設定が可能である。なお、予測モードの種類は、図１の番号０，１，３乃至８で示される方向に対応している。予測モード２は平均値予測である。
【００１４】
このようなイントラ予測方式が採用されることで、予測精度の向上が実現されている。しかしながら、H．264/AVC方式においては、図１の方向に示されるように、22.5°単位でのイントラ予測しか行われない。したがって、エッジの傾きが、それ以外の角度の場合、符号化効率の向上が制限されてしまう。
【００１５】
そこで、さらなる符号化効率の改善のため、非特許文献２においては、22.5°の単位よりも細かい角度で予測を行う提案がなされている。
【先行技術文献】
【非特許文献】
【００１６】
【非特許文献１】”Motion compensated prediction with 1/8-pel displacement vector resolution”,VCEG-AD09,ITU-Telecommunications Standardization Sector STUDY GROUP Question 6 Video coding Experts Group(VCEG), 23-27 Oct 2006
【非特許文献２】Virginie Drugeon, Thomas Wedi, and Torsten Palfner ,”High Precision Edge Prediction for Intra Coding”, 2008
【発明の概要】
【発明が解決しようとする課題】
【００１７】
しかしながら、H．264/AVC方式のイントラ予測では、予測に、符号化対象となるブロックの所定の隣接画素が用いられるのに対して、非特許文献２に記載の提案では、符号化対象となるブロックの隣接画素以外の画素も予測に用いなければならない。
【００１８】
したがって、非特許文献２に記載の提案では、22.5°の単位よりも細かい角度で予測を行ったとしても、メモリアクセス回数や処理が増大してしまう。
【００１９】
本発明は、このような状況に鑑みてなされたものであり、メモリアクセス回数や処理を増大させることなく、イントラ予測における符号化効率をさらに向上させるものである。
【課題を解決するための手段】
【００２０】
本発明の第１の側面の画像処理装置は、画像のイントラ予測ブロックについて、イントラ予測の予測モードを決定するモード決定手段と、前記イントラ予測ブロックに所定の位置関係で隣接する隣接画素の位相を、前記モード決定手段により決定された前記予測モードに応じたシフト方向および候補となるシフト量でシフトさせる位相シフト手段と、前記隣接画素および前記位相シフト手段により前記位相がシフトされた隣接画素の画素値を用いて、前記隣接画素に対して、前記位相の最適シフト量を決定するシフト量決定手段と、前記シフト量決定手段により決定された前記最適シフト量で前記位相がシフトされた隣接画素の画素値を用いて、前記イントラ予測ブロックの予測画像を生成する予測画像生成手段とを備える。
【００２１】
前記イントラ予測ブロックの画像と前記予測画像生成手段により生成された前記予測画像との差分情報、前記シフト量決定手段により決定された前記最適シフト量の情報、および前記モード決定手段により決定された前記予測モードの情報を符号化する符号化手段をさらに備えることができる。
【００２２】
前記符号化手段は、前記シフト量決定手段により決定された前記最適シフト量の情報として、前記イントラ予測ブロックについて決定された前記最適シフト量と、MostProbableModeを与えるブロックについて決定された最適シフト量との差分情報のみを符号化する
ことができる。
【００２３】
前記位相シフト手段は、前記モード決定手段により決定された前記予測モードが、DC predictionモードである場合、前記位相のシフトを禁止することができる。
【００２４】
前記位相シフト手段は、前記モード決定手段により決定された前記予測モードが、Vertical predictionモード、Diag_Down_Left predictionモード、またはVertical_Left predictionモードである場合、前記隣接画素のうち、上部隣接画素に対して、Horizontal方向の位相を前記候補となるシフト量でシフトさせ、前記隣接画素のうち、左部隣接画素に対して、Vertical方向の位相のシフトを禁止することができる。
【００２５】
前記位相シフト手段は、前記モード決定手段により決定された前記予測モードが、Horizontal predictionモード、またはHorizontal_Up predictionモードである場合、前記隣接画素のうち、左部隣接画素に対して、Vertical方向の位相を前記候補となるシフト量でシフトさせ、前記隣接画素のうち、上部隣接画素に対して、Horizontal方向の位相のシフトを禁止することができる。
【００２６】
前記モード決定手段は、前記イントラ予測の全ての予測モードを決定し、前記位相シフト手段は、前記隣接画素の位相を、前記モード決定手段により決定された前記全ての予測モードに応じたシフト方向および候補となるシフト量でそれぞれシフトさせ、前記シフト量決定手段は、前記隣接画素および前記位相シフト手段により前記位相がシフトされた隣接画素の画素値を用いて、前記隣接画素に対して、前記位相の最適シフト量と最適予測モードを決定することができる。
【００２７】
前記画像のインター動き予測ブロックについて、インター動き予測を行う動き予測補償手段をさらに備え、前記位相シフト手段は、前記動き予測補償手段により小数画素精度予測の際に用いられるFIRフィルタを用いて、前記隣接画素の位相をシフトさせることができる。
【００２８】
前記動き予測補償手段により１／８画素精度予測が行われる場合、前記位相シフト手段は、１／８画素精度で、前記隣接画素の位相をシフトさせることができる。
【００２９】
本発明の第１の側面の画像処理方法は、画像処理装置が、画像のイントラ予測ブロックについて、イントラ予測の予測モードを決定し、前記イントラ予測ブロックに所定の位置関係で隣接する隣接画素の位相を、決定された前記予測モードに応じたシフト方向および候補となるシフト量でシフトさせ、前記隣接画素および前記位相がシフトされた隣接画素の画素値を用いて、前記隣接画素に対して、前記位相の最適シフト量を決定し、決定された前記最適シフト量で前記位相がシフトされた隣接画素の画素値を用いて、前記イントラ予測ブロックの予測画像を生成するステップを含む。
【００３０】
本発明の第１の側面のプログラムは、画像のイントラ予測ブロックについて、イントラ予測の予測モードを決定し、前記イントラ予測ブロックに所定の位置関係で隣接する隣接画素の位相を、決定された前記予測モードに応じたシフト方向および候補となるシフト量でシフトさせ、前記隣接画素および前記位相がシフトされた隣接画素の画素値を用いて、前記隣接画素に対して、前記位相の最適シフト量を決定し、決定された前記最適シフト量で前記位相がシフトされた隣接画素の画素値を用いて、前記イントラ予測ブロックの予測画像を生成するステップを含む処理をコンピュータに行わせる。
【００３１】
本発明の第２の側面の画像処理装置は、符号化されているイントラ予測ブロックの画像、前記イントラ予測ブロックに所定の位置関係で隣接する隣接画素の位相のシフト量の情報、および前記イントラ予測の予測モードの情報を復号する復号手段と、前記隣接画素の位相を、前記復号手段により復号された前記予測モードに応じたシフト方向および前記復号手段により復号された前記シフト量でシフトさせる位相シフト手段と、前記位相シフト手段により前記位相が前記シフト量でシフトされた隣接画素の画素値を用いて、前記イントラ予測ブロックの予測画像を生成する予測画像生成手段とを備える。
【００３２】
前記復号手段は、前記シフト量の情報として、前記イントラ予測ブロックについてのシフト量と、MostProbableModeを与えるブロックについてのシフト量との差分情報を復号することができる。
【００３３】
前記位相シフト手段は、前記復号手段により復号された前記予測モードが、DC predictionモードである場合、前記隣接画素の位相のシフトを禁止することができる。
【００３４】
前記位相シフト手段は、前記復号手段により復号された前記予測モードが、Vertical predictionモード、Diag_Down_Left predictionモード、またはVertical_Left predictionモードである場合、前記隣接画素のうち、上部隣接画素に対して、Horizontal方向の位相を、前記復号手段により復号された前記シフト量でシフトさせ、前記隣接画素のうち、左部隣接画素に対して、Vertical方向の位相のシフトを禁止することができる。
【００３５】
前記位相シフト手段は、前記復号手段により復号された前記予測モードが、Horizontal predictionモード、またはHorizontal_Up predictionモードである場合、前記隣接画素のうち、左部隣接画素に対して、Vertical方向の位相を、前記復号手段により復号された前記シフト量でシフトさせ、前記隣接画素のうち、上部隣接画素に対して、Horizontal方向の位相のシフトを禁止することができる。
【００３６】
符号化されているインター動き予測ブロックとともに前記復号手段により復号される動きベクトルを用いて、インター動き予測を行う動き予測補償手段をさらに備え、
前記位相シフト手段は、前記動き予測補償手段により小数画素精度予測の際に用いられるFIRフィルタを用いて、前記隣接画素の位相をシフトさせることができる。
【００３７】
前記動き予測補償手段により１／８画素精度予測が行われる場合、前記位相シフト手段は、１／８画素精度で、前記隣接画素の位相をシフトさせることができる。
【００３８】
本発明の第２の側面の画像処理方法は、画像処理装置が、符号化されているイントラ予測ブロックの画像、前記イントラ予測ブロックに所定の位置関係で隣接する隣接画素の位相のシフト量の情報、および前記イントラ予測の予測モードの情報を復号し、前記隣接画素の位相を、復号された前記予測モードに応じたシフト方向および復号された前記シフト量でシフトさせ、前記位相が前記シフト量でシフトされた隣接画素の画素値を用いて、前記イントラ予測ブロックの予測画像を生成するステップを含む。
【００３９】
本発明の第２の側面のプログラムは、符号化されているイントラ予測ブロックの画像、前記イントラ予測ブロックに所定の位置関係で隣接する隣接画素の位相のシフト量の情報、および前記イントラ予測の予測モードの情報を復号し、前記隣接画素の位相を、復号された前記予測モードに応じたシフト方向および復号された前記シフト量でシフトさせ、前記位相が前記シフト量でシフトされた隣接画素の画素値を用いて、前記イントラ予測ブロックの予測画像を生成するステップを含む処理をコンピュータに行わせる。
【００４０】
本発明の第１の側面においては、画像のイントラ予測ブロックについて、イントラ予測の予測モードが決定され、前記イントラ予測ブロックに所定の位置関係で隣接する隣接画素の位相が、決定された前記予測モードに応じたシフト方向および候補となるシフト量でシフトされる。そして、前記隣接画素および前記位相がシフトされた隣接画素の画素値を用いて、前記隣接画素に対して、前記位相の最適シフト量が決定され、決定された前記最適シフト量で前記位相がシフトされた隣接画素の画素値を用いて、前記イントラ予測ブロックの予測画像が生成される。
【００４１】
本発明の第２の側面においては、符号化されているイントラ予測ブロックの画像、前記イントラ予測ブロックに所定の位置関係で隣接する隣接画素の位相のシフト量の情報、および前記イントラ予測の予測モードの情報が復号され、前記隣接画素の位相が、復号された前記予測モードに応じたシフト方向および復号された前記シフト量でシフトされる。そして、前記位相が前記シフト量でシフトされた隣接画素の画素値を用いて、前記イントラ予測ブロックの予測画像が生成される。
【００４２】
なお、上述の画像処理装置のそれぞれは、独立した装置であっても良いし、１つの画像符号化装置または画像復号装置を構成している内部ブロックであってもよい。
【発明の効果】
【００４３】
本発明の第１の側面によれば、イントラ予測により予測画像を生成することができる。また、本発明の第１の側面によれば、メモリアクセス回数や処理を増大させることなく、符号化効率を向上させることができる。
【００４４】
本発明の第２の側面によれば、イントラ予測により予測画像を生成することができる。また、本発明の第２の側面によれば、メモリアクセス回数や処理を増大させることなく、符号化効率を向上させることができる。
【図面の簡単な説明】
【００４５】
【図１】４×４画素のイントラ予測の方向を説明する図である。
【図２】本発明を適用した画像符号化装置の一実施の形態の構成を示すブロック図である。
【図３】１／４画素精度の動き予測・補償処理を説明する図である。
【図４】マルチ参照フレームの動き予測・補償方式について説明する図である。
【図５】動きベクトル情報の生成方法の例を説明する図である。
【図６】イントラ予測部および隣接画素内挿部の構成例を示すブロック図である。
【図７】図２の画像符号化装置の符号化処理を説明するフローチャートである。
【図８】図７のステップＳ２１の予測処理を説明するフローチャートである。
【図９】１６×１６画素のイントラ予測モードの場合の処理順序を説明する図である。
【図１０】輝度信号の４×４画素のイントラ予測モードの種類を示す図である。
【図１１】輝度信号の４×４画素のイントラ予測モードの種類を示す図である。
【図１２】４×４画素のイントラ予測の方向を説明する図である。
【図１３】４×４画素のイントラ予測を説明する図である。
【図１４】輝度信号の４×４画素のイントラ予測モードの符号化を説明する図である。
【図１５】輝度信号の１６×１６画素のイントラ予測モードの種類を示す図である。
【図１６】輝度信号の１６×１６画素のイントラ予測モードの種類を示す図である。
【図１７】１６×１６画素のイントラ予測を説明する図である。
【図１８】小数画素精度のイントラ予測を実現するための動作を説明する図である。
【図１９】小数画素精度のイントラ予測の効果例を説明する図である。
【図２０】図８のステップＳ３１のイントラ予測処理を説明するフローチャートである。
【図２１】図２０のステップＳ４５の隣接画素内挿処理を説明するフローチャートである。
【図２２】図８のステップＳ３２のインター動き予測処理を説明するフローチャートである。
【図２３】イントラ予測部および隣接画素内挿部の他の構成例を示すブロック図である。
【図２４】図８のステップＳ３１のイントラ予測処理の他の例を説明するフローチャートである。
【図２５】図２４のステップＳ１０１の隣接画素内挿処理を説明するフローチャートである。
【図２６】本発明を適用した画像復号装置の一実施の形態の構成を示すブロック図である。
【図２７】イントラ予測部および隣接画素内挿部の他の構成例を示すブロック図である。
【図２８】図２６の画像復号装置の復号処理を説明するフローチャートである。
【図２９】図２８のステップＳ１３８の予測処理を説明するフローチャートである。
【図３０】コンピュータのハードウエアの構成例を示すブロック図である。
【発明を実施するための形態】
【００４６】
以下、図を参照して本発明の実施の形態について説明する。
【００４７】
［画像符号化装置の構成例］
図２は、本発明を適用した画像処理装置としての画像符号化装置の一実施の形態の構成を表している。
【００４８】
この画像符号化装置５１は、例えば、H．264及びMPEG-4 Part10（Advanced Video Coding）（以下H．264/AVCと記す）方式で画像を圧縮符号化する。
【００４９】
図２の例において、画像符号化装置５１は、Ａ／Ｄ変換部６１、画面並べ替えバッファ６２、演算部６３、直交変換部６４、量子化部６５、可逆符号化部６６、蓄積バッファ６７、逆量子化部６８、逆直交変換部６９、演算部７０、デブロックフィルタ７１、フレームメモリ７２、スイッチ７３、イントラ予測部７４、隣接画素内挿部７５、動き予測・補償部７６、予測画像選択部７７、およびレート制御部７８により構成されている。
【００５０】
Ａ／Ｄ変換部６１は、入力された画像をＡ／Ｄ変換し、画面並べ替えバッファ６２に出力し、記憶させる。画面並べ替えバッファ６２は、記憶した表示の順番のフレームの画像を、ＧＯＰ（Group of Picture）に応じて、符号化のためのフレームの順番に並べ替える。
【００５１】
演算部６３は、画面並べ替えバッファ６２から読み出された画像から、予測画像選択部７７により選択されたイントラ予測部７４からの予測画像または動き予測・補償部７６からの予測画像を減算し、その差分情報を直交変換部６４に出力する。直交変換部６４は、演算部６３からの差分情報に対して、離散コサイン変換、カルーネン・レーベ変換等の直交変換を施し、その変換係数を出力する。量子化部６５は直交変換部６４が出力する変換係数を量子化する。
【００５２】
量子化部６５の出力となる、量子化された変換係数は、可逆符号化部６６に入力され、ここで可変長符号化、算術符号化等の可逆符号化が施され、圧縮される。
【００５３】
可逆符号化部６６は、イントラ予測を示す情報などをイントラ予測部７４から取得し、インター予測モードを示す情報などを動き予測・補償部７６から取得する。なお、イントラ予測を示す情報は、以下、イントラ予測モード情報とも称する。また、インター予測を示す情報モードを示す情報は、以下、インター予測モード情報とも称する。
【００５４】
可逆符号化部６６は、量子化された変換係数を符号化するとともに、イントラ予測を示す情報やインター予測モードを示す情報などを符号化し、圧縮画像におけるヘッダ情報の一部とする。可逆符号化部６６は、符号化したデータを蓄積バッファ６７に供給して蓄積させる。
【００５５】
例えば、可逆符号化部６６においては、可変長符号化または算術符号化等の可逆符号化処理が行われる。可変長符号化としては、H．264/AVC方式で定められているCAVLC（Context-Adaptive Variable Length Coding）などがあげられる。算術符号化としては、CABAC（Context-Adaptive Binary Arithmetic Coding）などがあげられる。
【００５６】
蓄積バッファ６７は、可逆符号化部６６から供給されたデータを、H．264/AVC方式で符号化された圧縮画像として、例えば、後段の図示せぬ記録装置や伝送路などに出力する。
【００５７】
また、量子化部６５より出力された、量子化された変換係数は、逆量子化部６８にも入力され、逆量子化された後、さらに逆直交変換部６９において逆直交変換される。逆直交変換された出力は演算部７０により予測画像選択部７７から供給される予測画像と加算されて、局部的に復号された画像となる。デブロックフィルタ７１は、復号された画像のブロック歪を除去した後、フレームメモリ７２に供給し、蓄積させる。フレームメモリ７２には、デブロックフィルタ７１によりデブロックフィルタ処理される前の画像も供給され、蓄積される。
【００５８】
スイッチ７３はフレームメモリ７２に蓄積された参照画像を動き予測・補償部７６またはイントラ予測部７４に出力する。
【００５９】
この画像符号化装置５１においては、例えば、画面並べ替えバッファ６２からのＩピクチャ、Ｂピクチャ、およびＰピクチャが、イントラ予測（イントラ処理とも称する）する画像として、イントラ予測部７４に供給される。また、画面並べ替えバッファ６２から読み出されたＢピクチャおよびＰピクチャが、インター予測（インター処理とも称する）する画像として、動き予測・補償部７６に供給される。
【００６０】
イントラ予測部７４は、画面並べ替えバッファ６２から読み出されたイントラ予測する画像とフレームメモリ７２から供給された参照画像に基づいて、候補となる全てのイントラ予測モードのイントラ予測処理を行い、予測画像を生成する。
【００６１】
イントラ予測部７４は、予測画像を生成したイントラ予測モードに対してコスト関数値を算出し、算出したコスト関数値が最小値を与えるイントラ予測モードを、最適イントラ予測モードとして選択する。イントラ予測部７４は、イントラ予測する対象ブロックの隣接画素と、最適イントラ予測モードの情報を、隣接画素内挿部７５に供給する。
【００６２】
隣接画素内挿部７５は、イントラ予測部７４からの最適イントラ予測モードに応じたシフト方向に、候補となるシフト量で、隣接画素の位相をシフトさせる。実際には、隣接画素内挿部７５は、最適イントラ予測モードに応じたシフト方向について、隣接画素に対して、６タップのFIRフィルタをかけ、線形内挿することで、隣接画素の位相を、小数画素精度にシフトさせる。したがって、以下、説明の便宜上、６タップのFIRフィルタおよび線形内挿により位相がシフトされた隣接画素を、内挿された隣接画素または位相がシフトされた隣接画素と適宜説明するが、それらは同意である。
【００６３】
隣接画素内挿部７５は、位相がシフトされた隣接画素を、イントラ予測部７４に供給する。
【００６４】
イントラ予測部７４は、隣接画像バッファ８１からの隣接画素の画素値および隣接画素内挿部７５により位相がシフトされた隣接画素の画素値を用いて、隣接画素に対して位相の最適シフト量を決定する。また、イントラ予測部７４は、決定した最適シフト量で位相がシフトされた隣接画素の画素値を用いて、対象ブロックの予測画像を生成し、生成された予測画像と、対応する最適イントラ予測モードについて算出されたコスト関数値を、予測画像選択部７７に供給する。
【００６５】
イントラ予測部７４は、予測画像選択部７７により最適イントラ予測モードで生成された予測画像が選択された場合、最適イントラ予測モードを示す情報と最適シフト量の情報を、可逆符号化部６６に供給する。可逆符号化部６６は、イントラ予測部７４から情報が送られてきた場合には、この情報を符号化し、圧縮画像におけるヘッダ情報の一部とする。
【００６６】
動き予測・補償部７６は、候補となる全てのインター予測モードの動き予測・補償処理を行う。すなわち、動き予測・補償部７６には、画面並べ替えバッファ６２から読み出されたインター処理する画像と、スイッチ７３を介してフレームメモリ７２から参照画像が供給される。動き予測・補償部７６は、インター処理する画像と参照画像に基づいて、候補となる全てのインター予測モードの動きベクトルを検出し、動きベクトルに基づいて参照画像に補償処理を施し、予測画像を生成する。
【００６７】
また、動き予測・補償部７６は、候補となる全てのインター予測モードに対してコスト関数値を算出する。動き予測・補償部７６は、算出したコスト関数値のうち、最小値を与える予測モードを、最適インター予測モードとして決定する。
【００６８】
動き予測・補償部７６は、最適インター予測モードで生成された予測画像とそのコスト関数値を、予測画像選択部７７に供給する。動き予測・補償部７６は、予測画像選択部７７により最適インター予測モードで生成された予測画像が選択された場合、最適インター予測モードを示す情報（インター予測モード情報）を可逆符号化部６６に出力する。
【００６９】
なお、必要であれば、動きベクトル情報、フラグ情報、参照フレーム情報なども可逆符号化部６６に出力される。可逆符号化部６６は、動き予測・補償部７６からの情報をやはり可変長符号化、算術符号化といった可逆符号化処理し、圧縮画像のヘッダ部に挿入する。
【００７０】
予測画像選択部７７は、イントラ予測部７４または動き予測・補償部７６より出力された各コスト関数値に基づいて、最適イントラ予測モードと最適インター予測モードから、最適予測モードを決定する。そして、予測画像選択部７７は、決定された最適予測モードの予測画像を選択し、演算部６３，７０に供給する。このとき、予測画像選択部７７は、予測画像の選択情報を、イントラ予測部７４または動き予測・補償部７６に供給する。
【００７１】
レート制御部７８は、蓄積バッファ６７に蓄積された圧縮画像に基づいて、オーバーフローあるいはアンダーフローが発生しないように、量子化部６５の量子化動作のレートを制御する。
【００７２】
［H．264/AVC方式の説明］
図３は、H．264/AVC方式における動き予測・補償のブロックサイズの例を示す図である。H．264/AVC方式においては、ブロックサイズを可変にして、動き予測・補償が行われる。
【００７３】
図３の上段には、左から、１６×１６画素、１６×８画素、８×１６画素、および８×８画素のパーティションに分割された１６×１６画素で構成されるマクロブロックが順に示されている。また、図３の下段には、左から、８×８画素、８×４画素、４×８画素、および４×４画素のサブパーティションに分割された８×８画素のパーティションが順に示されている。
【００７４】
すなわち、H．264/AVC方式においては、１つのマクロブロックを、１６×１６画素、１６×８画素、８×１６画素、あるいは８×８画素のいずれかのパーティションに分割して、それぞれ独立した動きベクトル情報を持つことが可能である。また、８×８画素のパーティションに関しては、８×８画素、８×４画素、４×８画素、あるいは４×４画素のいずれかのサブパーティションに分割し、それぞれ独立した動きベクトル情報を持つことが可能である。
【００７５】
図４は、H．264/AVC方式における１／４画素精度の予測・補償処理を説明する図である。H．264/AVC方式においては、６タップのFIR (Finite Impulse Response Filter)フィルタを用いた１／４画素精度の予測・補償処理が行われている。
【００７６】
図４の例において、位置Ａは、整数精度画素の位置、位置ｂ，ｃ，ｄは、１／２画素精度の位置、位置ｅ１，ｅ２，ｅ３は、１／４画素精度の位置を示している。まず、以下においては、Clip()を次の式（１）のように定義する。
【００７７】
【数１】
2010258740.tif 000003
なお、入力画像が８ビット精度である場合、max_pixの値は255となる。
【００７８】
位置ｂおよびｄにおける画素値は、６タップのFIRフィルタを用いて、次の式（２）のように生成される。
【数２】
2010258740.tif 000004
【００７９】
位置ｃにおける画素値は、水平方向および垂直方向に６タップのFIRフィルタを適用し、次の式（３）のように生成される。
【数３】
2010258740.tif 000005
なお、Clip処理は、水平方向および垂直方向の積和処理の両方を行った後、最後に１度のみ実行される。
【００８０】
位置ｅ１乃至ｅ３は、次の式（４）のように線形内挿により生成される。
【数４】
2010258740.tif 000006
【００８１】
H．264/AVC方式においては、図３および図４を参照して上述した動き予測・補償処理が行われることにより、膨大な動きベクトル情報が生成され、これをこのまま符号化することは、符号化効率の低下を招いてしまう。これに対して、H．264/AVC方式においては、図５に示す方法により、動きベクトルの符号化情報の低減が実現されている。
【００８２】
図５は、H．264/AVC方式による動きベクトル情報の生成方法について説明する図である。
【００８３】
図５の例において、これから符号化される対象ブロックＥ（例えば、１６×１６画素）と、既に符号化済みであり、対象ブロックＥに隣接するブロックＡ乃至Ｄが示されている。
【００８４】
すなわち、ブロックＤは、対象ブロックＥの左上に隣接しており、ブロックＢは、対象ブロックＥの上に隣接しており、ブロックＣは、対象ブロックＥの右上に隣接しており、ブロックＡは、対象ブロックＥの左に隣接している。なお、ブロックＡ乃至Ｄが区切られていないのは、それぞれ、図２で上述した１６×１６画素乃至４×４画素のうちのいずれかの構成のブロックであることを表している。
【００８５】
例えば、Ｘ（＝Ａ，Ｂ，Ｃ，Ｄ，Ｅ）に対する動きベクトル情報を、mvXで表す。まず、対象ブロックＥに対する予測動きベクトル情報pmvEは、ブロックＡ，Ｂ，Ｃに関する動きベクトル情報を用いて、メディアン予測により次の式（５）のように生成される。
【００８６】
pmvE = med(mvA,mvB,mvC)                                          ・・・（５）
ブロックＣに関する動きベクトル情報が、画枠の端であったり、あるいは、まだ符号化されていないなどの理由により、利用可能でない（unavailableである）場合がある。この場合には、ブロックＣに関する動きベクトル情報は、ブロックＤに関する動きベクトル情報で代用される。
【００８７】
対象ブロックＥに対する動きベクトル情報として、圧縮画像のヘッダ部に付加されるデータmvdEは、pmvEを用いて、次の式（６）のように生成される。
mvdE = mvE - pmvE                                                ・・・（６）
【００８８】
なお、実際には、動きベクトル情報の水平方向、垂直方向のそれぞれの成分に対して、独立に処理が行われる。
【００８９】
このように、予測動きベクトル情報を生成し、隣接するブロックとの相関で生成された予測動きベクトル情報と動きベクトル情報との差分であるデータmvdEを、動きベクトル情報として、圧縮画像のヘッダ部に付加することにより、動きベクトル情報を低減することができる。
【００９０】
ここで、図４を参照して上述したH．264/AVC方式における１／４画素精度の予測・補償処理は、動き予測・補償部において実行されるが、図２の画像符号化装置５１においては、１／４画素精度の予測が、イントラ予測においても行われる。この小数画素精度のイントラ予測は、次に説明するイントラ予測部７４および隣接画素内挿部７５により実行される。
【００９１】
［イントラ予測部および隣接画素内挿部の構成例］
図６は、イントラ予測部および隣接画素内挿部の詳細な構成例を示すブロック図である。
【００９２】
図６の例の場合、イントラ予測部７４は、隣接画像バッファ８１、最適モード決定部８２、最適シフト量決定部８３、および予測画像生成部８４により構成されている。
【００９３】
隣接画素内挿部７５は、モード判別部９１、水平方向内挿部９２、および垂直方向内挿部９３により構成されている。
【００９４】
隣接画像バッファ８１は、フレームメモリ７２からのイントラ予測の対象ブロックの隣接画素を蓄積する。図６の場合、スイッチ７３の図示は省略されているが、隣接画素は、フレームメモリ７２から、スイッチ７３を介して隣接画像バッファ８１に供給される。
【００９５】
最適モード決定部８２には、画面並べ替えバッファ６２から読み出されたイントラ予測する画像が入力される。最適モード決定部８２は、イントラ予測する対象ブロックに対応する隣接画素を隣接画像バッファ８１から読み出す。
【００９６】
最適モード決定部８２は、イントラ予測する対象ブロックの画像と対応する隣接画素を用いて、候補となる全てのイントラ予測モードのイントラ予測処理を行い、予測画像を生成する。最適モード決定部８２は、予測画像を生成したイントラ予測モードに対してコスト関数値を算出し、算出したコスト関数値が最小値を与えるイントラ予測モードを、最適イントラ予測モードとして決定する。決定された予測モードの情報は、モード判別部９１、最適シフト量決定部８３、および予測画像生成部８４に供給される。また、予測画像生成部８４には、供給される予測モードに対応するコスト関数値も供給される。
【００９７】
最適シフト量決定部８３には、画面並べ替えバッファ６２から読み出されたイントラ予測する画像と、最適モード決定部８２により最適と決定された予測モードの情報が入力される。また、最適シフト量決定部８３には、最適イントラ予測モードに応じて、水平方向内挿部９２および垂直方向内挿部９３により線形内挿され、位相がシフトされた隣接画素が入力される。最適シフト量決定部８３は、イントラ予測する対象ブロックに対応する隣接画素を隣接画像バッファ８１から読み出す。
【００９８】
最適シフト量決定部８３は、最適モード決定部８２により決定された予測モードについて、イントラ予測する対象ブロックの画像、対応する隣接画素、および対応する内挿された隣接画素の画素値を用いて、最適なシフト量を決定する。最適シフト量決定部８３は、例えば、予測誤差（残差）などを算出して、算出した予測誤差の小さいものを最適なシフト量として決定する。最適シフト量決定部８３により決定された最適シフト量の情報は、予測画像生成部８４に供給される。
【００９９】
予測画像生成部８４には、最適モード決定部８２により決定された予測モードの情報と対応するコスト関数値、および最適シフト量決定部８３により決定された最適シフト量の情報が入力される。予測画像生成部８４は、イントラ予測する対象ブロックに対応する隣接画素を隣接画像バッファ８１から読み出し、予測モードに応じた位相方向に、読みだした隣接画素を最適シフト量で、隣接画素の位相をシフトする。
【０１００】
予測画像生成部８４は、位相がシフトされた隣接画素を用いて、最適モード決定部８２により決定された最適イントラ予測モードでイントラ予測を行い、対象ブロックの予測画像を生成する。予測画像生成部８４は、生成された予測画像と、対応するコスト関数値を予測画像選択部７７に出力する。
【０１０１】
また、予測画像生成部８４は、予測画像選択部７７により最適イントラ予測モードで生成された予測画像が選択された場合、最適イントラ予測モードを示す情報とシフト量の情報を、可逆符号化部６６に供給する。
【０１０２】
モード判別部９１は、最適モード決定部８２により決定された予測モードに応じた制御信号を、水平方向内挿部９２および垂直方向内挿部９３に出力する。例えば、内挿処理のＯＮを示す制御信号が予測モードに応じて出力される。
【０１０３】
水平方向内挿部９２および垂直方向内挿部９３は、モード判別部９１からの制御信号に応じて、隣接画像バッファ８１より隣接画素をそれぞれ読み出す。水平方向内挿部９２および垂直方向内挿部９３は、読み出した隣接画素に対して、６タップのFIRフィルタおよび線形内挿により、水平方向および垂直方向に、位相をそれぞれシフトする。水平方向内挿部９２および垂直方向内挿部９３により内挿された隣接画素の情報は、最適シフト量決定部８３に供給される。
【０１０４】
［画像符号化装置の符号化処理の説明］
次に、図７のフローチャートを参照して、図２の画像符号化装置５１の符号化処理について説明する。
【０１０５】
ステップＳ１１において、Ａ／Ｄ変換部６１は入力された画像をＡ／Ｄ変換する。ステップＳ１２において、画面並べ替えバッファ６２は、Ａ／Ｄ変換部６１より供給された画像を記憶し、各ピクチャの表示する順番から符号化する順番への並べ替えを行う。
【０１０６】
ステップＳ１３において、演算部６３は、ステップＳ１２で並び替えられた画像と予測画像との差分を演算する。予測画像は、インター予測する場合は動き予測・補償部７６から、イントラ予測する場合はイントラ予測部７４から、それぞれ予測画像選択部７７を介して演算部６３に供給される。
【０１０７】
差分データは元の画像データに較べてデータ量が小さくなっている。したがって、画像をそのまま符号化する場合に較べて、データ量を圧縮することができる。
【０１０８】
ステップＳ１４において、直交変換部６４は演算部６３から供給された差分情報を直交変換する。具体的には、離散コサイン変換、カルーネン・レーベ変換等の直交変換が行われ、変換係数が出力される。ステップＳ１５において、量子化部６５は変換係数を量子化する。この量子化に際しては、後述するステップＳ２５の処理で説明されるように、レートが制御される。
【０１０９】
以上のようにして量子化された差分情報は、次のようにして局部的に復号される。すなわち、ステップＳ１６において、逆量子化部６８は量子化部６５により量子化された変換係数を量子化部６５の特性に対応する特性で逆量子化する。ステップＳ１７において、逆直交変換部６９は逆量子化部６８により逆量子化された変換係数を直交変換部６４の特性に対応する特性で逆直交変換する。
【０１１０】
ステップＳ１８において、演算部７０は、予測画像選択部７７を介して入力される予測画像を局部的に復号された差分情報に加算し、局部的に復号された画像（演算部６３への入力に対応する画像）を生成する。ステップＳ１９においてデブロックフィルタ７１は、演算部７０より出力された画像をフィルタリングする。これによりブロック歪みが除去される。ステップＳ２０においてフレームメモリ７２は、フィルタリングされた画像を記憶する。なお、フレームメモリ７２にはデブロックフィルタ７１によりフィルタ処理されていない画像も演算部７０から供給され、記憶される。
【０１１１】
ステップＳ２１において、イントラ予測部７４および動き予測・補償部７６は、それぞれ画像の予測処理を行う。すなわち、ステップＳ２１において、イントラ予測部７４は、イントラ予測モードのイントラ予測処理を行う。動き予測・補償部７６は、インター予測モードの動き予測・補償処理を行う。
【０１１２】
ステップＳ２１における予測処理の詳細は、図８を参照して後述するが、この処理により、候補となる全ての予測モードでの予測処理がそれぞれ行われ、候補となる全ての予測モードでのコスト関数値がそれぞれ算出される。そして、算出されたコスト関数値に基づいて、最適イントラ予測モードが選択され、最適イントラ予測モードのイントラ予測により生成された予測画像とそのコスト関数値が予測画像選択部７７に供給される。
【０１１３】
具体的には、このとき、イントラ予測部７４は、６タップのFIRフィルタおよび線形内挿により、最適イントラ予測モードに応じたシフト方向に、最適シフト量で、位相がシフトされた隣接画素を用いてイントラ予測で生成した予測画像を予測画像選択部７７に供給する。なお、予測画像と一緒に、最適イントラ予測モードについてのコスト関数値も、予測画像選択部７７に供給される。
【０１１４】
一方、算出されたコスト関数値に基づいて、インター予測モードの中から、最適インター予測モードが決定され、最適インター予測モードで生成された予測画像とそのコスト関数値が、予測画像選択部７７に供給される。
【０１１５】
ステップＳ２２において、予測画像選択部７７は、イントラ予測部７４および動き予測・補償部７６より出力された各コスト関数値に基づいて、最適イントラ予測モードと最適インター予測モードのうちの一方を、最適予測モードに決定する。そして、予測画像選択部７７は、決定した最適予測モードの予測画像を選択し、演算部６３，７０に供給する。この予測画像が、上述したように、ステップＳ１３，Ｓ１８の演算に利用される。
【０１１６】
なお、この予測画像の選択情報は、イントラ予測部７４または動き予測・補償部７６に供給される。最適イントラ予測モードの予測画像が選択された場合、イントラ予測部７４は、最適イントラ予測モードを示す情報（すなわち、イントラ予測モード情報）と最適と決定されたシフト量の情報を、可逆符号化部６６に供給する。
【０１１７】
最適インター予測モードの予測画像が選択された場合、動き予測・補償部７６は、最適インター予測モードを示す情報と、必要に応じて、最適インター予測モードに応じた情報を可逆符号化部６６に出力する。最適インター予測モードに応じた情報としては、動きベクトル情報やフラグ情報、参照フレーム情報などがあげられる。すなわち、最適インター予測モードとして、インター予測モードによる予測画像が選択されているときには、動き予測・補償部７６は、インター予測モード情報、動きベクトル情報、参照フレーム情報を可逆符号化部６６に出力する。
【０１１８】
ステップＳ２３において、可逆符号化部６６は量子化部６５より出力された量子化された変換係数を符号化する。すなわち、差分画像が可変長符号化、算術符号化等の可逆符号化され、圧縮される。このとき、上述したステップＳ２２において可逆符号化部６６に入力された、イントラ予測部７４からのイントラ予測モード情報、または、動き予測・補償部７６からの最適インター予測モードに応じた情報なども符号化され、ヘッダ情報に付加される。
【０１１９】
ステップＳ２４において蓄積バッファ６７は差分画像を圧縮画像として蓄積する。蓄積バッファ６７に蓄積された圧縮画像が適宜読み出され、伝送路を介して復号側に伝送される。
【０１２０】
ステップＳ２５においてレート制御部７８は、蓄積バッファ６７に蓄積された圧縮画像に基づいて、オーバーフローあるいはアンダーフローが発生しないように、量子化部６５の量子化動作のレートを制御する。
【０１２１】
［予測処理の説明］
次に、図８のフローチャートを参照して、図７のステップＳ２１における予測処理を説明する。
【０１２２】
画面並べ替えバッファ６２から供給される処理対象の画像がイントラ処理されるブロックの画像である場合、参照される復号済みの画像がフレームメモリ７２から読み出され、スイッチ７３を介してイントラ予測部７４に供給される。
【０１２３】
ステップＳ３１において、イントラ予測部７４は、供給された画像を用いて、処理対象のブロックの画素を、候補となる全てのイントラ予測モードでイントラ予測する。なお、参照される復号済みの画素としては、デブロックフィルタ７１によりデブロックフィルタリングされていない画素が用いられる。
【０１２４】
ステップＳ３１におけるイントラ予測処理の詳細は、図２０を参照して後述するが、この処理により、候補となる全てのイントラ予測モードでイントラ予測が行われる。そして、候補となる全てのイントラ予測モードに対してコスト関数値が算出され、算出されたコスト関数値に基づいて、最適イントラ予測モードが決定される。
【０１２５】
そして、６タップのFIRフィルタおよび線形内挿により、決定された最適イントラ予測モードに応じたシフト方向に最適シフト量で、隣接画素の位相がシフトされる。この位相がシフトされた隣接画素が用いられて、最適イントラ予測モードでのイントラ予測により予測画像が生成される。生成された予測画像と最適イントラ予測モードのコスト関数値は、予測画像選択部７７に供給される。
【０１２６】
画面並べ替えバッファ６２から供給される処理対象の画像がインター処理される画像である場合、参照される画像がフレームメモリ７２から読み出され、スイッチ７３を介して動き予測・補償部７６に供給される。これらの画像に基づいて、ステップＳ３２において、動き予測・補償部７６はインター動き予測処理を行う。すなわち、動き予測・補償部７６は、フレームメモリ７２から供給される画像を参照して、候補となる全てのインター予測モードの動き予測処理を行う。
【０１２７】
ステップＳ３２におけるインター動き予測処理の詳細は、図２２を参照して後述するが、この処理により、候補となる全てのインター予測モードで動き予測処理が行われ、候補となる全てのインター予測モードに対してコスト関数値が算出される。
【０１２８】
ステップＳ３３において、動き予測・補償部７６は、ステップＳ３２において算出されたインター予測モードに対してのコスト関数値を比較し、最小値を与える予測モードを、最適インター予測モードとして決定する。そして、動き予測・補償部７６は、最適インター予測モードで生成された予測画像とそのコスト関数値を、予測画像選択部７７に供給する。
【０１２９】
［Ｈ．２６４／ＡＶＣ方式におけるイントラ予測処理の説明］
次に、Ｈ．２６４／ＡＶＣ方式で定められているイントラ予測の各モードについて説明する。
【０１３０】
まず、輝度信号に対するイントラ予測モードについて説明する。輝度信号のイントラ予測モードには、イントラ４×４予測モード、イントラ８×８予測モード、およびイントラ１６×１６予測モードの３通りの方式が定められている。これは、ブロック単位を定めるモードであり、マクロブロック毎に設定される。また、色差信号に対しては、マクロブロック毎に輝度信号とは独立したイントラ予測モードを設定することが可能である。
【０１３１】
さらに、イントラ４×４予測モードの場合、４×４画素の対象ブロック毎に、９種類の予測モードから１つの予測モードを設定することができる。イントラ８×８予測モードの場合、８×８画素の対象ブロック毎に、９種類の予測モードから１つの予測モードを設定することができる。また、イントラ１６×１６予測モードの場合、１６×１６画素の対象マクロブロックに対して、４種類の予測モードから１つの予測モードを設定することができる。
【０１３２】
なお、以下、イントラ４×４予測モード、イントラ８×８予測モード、およびイントラ１６×１６予測モードは、それぞれ、４×４画素のイントラ予測モード、８×８画素のイントラ予測モード、および１６×１６画素のイントラ予測モードとも適宜称する。
【０１３３】
図９の例において、各ブロックに付されている数字−１乃至２５は、その各ブロックのビットストリーム順（復号側における処理順）を表している。なお、輝度信号については、マクロブロックが４×４画素に分割されて、４×４画素のＤＣＴが行われる。そして、イントラ１６×１６予測モードの場合のみ、−１のブロックに示されるように、各ブロックの直流成分を集めて、４×４行列が生成され、これに対して、さらに、直交変換が施される。
【０１３４】
一方、色差信号については、マクロブロックが４×４画素に分割され、４×４画素のＤＣＴが行われた後に、１６および１７の各ブロックに示されるように、各ブロックの直流成分を集めて、２×２行列が生成され、これに対して、さらに、直交変換が施される。
【０１３５】
なお、このことは、イントラ８×８予測モードに関しては、ハイプロファイルまたはそれ以上のプロファイルで、対象マクロブロックに、８×８直交変換が施される場合についてのみ適用可能である。
【０１３６】
図１０および図１１は、９種類の輝度信号の４×４画素のイントラ予測モード(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_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)は、次の式（２２）のように生成される。
【数５】
2010258740.tif 000007
【０１６２】
また、P(x,-1); x,y=-1,0,…,15が “unavailable” である場合、対象マクロブロックＡの各画素の予測画素値Pred(x,y)は、次の式（２３）のように生成される。
【数６】
2010258740.tif 000008
【０１６３】
P(-1,y); x,y=-1,0,…,15が “unavailable” である場合、対象マクロブロックＡの各画素の予測画素値Pred(x,y)は、次の式（２４）のように生成される。
【数７】
2010258740.tif 000009
【０１６４】
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)は、次の式（２５）のように生成される。
【数８】
2010258740.tif 000010
【０１６６】
次に、色差信号に対するイントラ予測モードについて説明する。図１７は、４種類の色差信号のイントラ予測モード(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)は、次の式（２６）のように生成される。
【数９】
2010258740.tif 000011
【０１７０】
また、P(-1,y) ; x,y=-1,0,…,7が “unavailable” である場合、対象マクロブロックＡの各画素の予測画素値Pred(x,y)は、次の式（２７）のように生成される。
【数１０】
2010258740.tif 000012
【０１７１】
また、P(x,-1) ; x,y=-1,0,…,7が “unavailable”である場合、対象マクロブロックＡの各画素の予測画素値Pred(x,y)は、次の式（２８）のように生成される。
【数１１】
2010258740.tif 000013
【０１７２】
モード１は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)は、次の式（３１）のように生成される。
【数１２】
2010258740.tif 000014
【０１７５】
以上のように、輝度信号のイントラ予測モードには、９種類の４×４画素および８×８画素のブロック単位、並びに４種類の１６×１６画素のマクロブロック単位の予測モードがある。このブロック単位のモードは、マクロブロック単位毎に設定される。色差信号のイントラ予測モードには、４種類の８×８画素のブロック単位の予測モードがある。この色差信号のイントラ予測モードは、輝度信号のイントラ予測モードと独立に設定が可能である。
【０１７６】
また、輝度信号の４×４画素のイントラ予測モード（イントラ４×４予測モード）および８×８画素のイントラ予測モード（イントラ８×８予測モード）については、４×４画素および８×８画素の輝度信号のブロック毎に１つのイントラ予測モードが設定される。輝度信号の１６×１６画素のイントラ予測モード（イントラ１６×１６予測モード）と色差信号のイントラ予測モードについては、１つのマクロブロックに対して１つの予測モードが設定される。
【０１７７】
なお、予測モードの種類は、上述した図１の番号０，１，３乃至８で示される方向に対応している。予測モード２は平均値予測である。
【０１７８】
以上のようにH．264/AVC方式におけるイントラ予測は整数画素精度で行われる。これに対して、画像符号化装置５１においては、小数画素精度のイントラ予測が行われる。
【０１７９】
［小数画素精度のイントラ予測の動作］
次に、図１８を参照して、小数画素精度のイントラ予測を実現するための動作について説明する。なお、図１８の例においては、対象ブロックが４×４画素の場合の例が示されている。
【０１８０】
図１８の例の場合、黒丸がイントラ予測の対象ブロックの画素を表しており、白丸が対象ブロックに隣接する隣接画素を表している。さらに詳細には、白丸の隣接画素のうち、対象ブロックの左上部に隣接する左上部隣接画素は、Ａ-1かつＩ-1であり、この画素は、図１２の画素値Ｍの画素に相当する。白丸の隣接画素のうち、対象ブロックの上部に隣接する上部隣接画素は、Ａ0, Ａ1, Ａ2,…であり、これらの画素は、図１２の画素値Ａ乃至Ｈの画素に相当する。白丸の隣接画素のうち、対象ブロックの左部に隣接する左部隣接画素は、Ｉ0, Ｉ1, Ｉ2,…であり、これらの画素は、図１２の画素値Ｉ乃至Ｌの画素に相当する。
【０１８１】
また、隣接画素の間に示されるａ-0.5,ａ+0.5,…およびｉ-0.5,ｉ+0.5,…は、１／２画素精度の画素を表している。さらに、ａ-0.5,ａ+0.5,…およびｉ-0.5,ｉ+0.5,…の画素間に示されるａ-0.75,ａ-0.25,ａ+0.25,ａ+0.75,…およびｉ-0.75,ｉ-0.25,ｉ+0.25,ｉ+0.75,…は、１／４画素精度の画素を表している。
【０１８２】
まず、第１の動作として、イントラ予測部７４においては、図１２に示される画素値Ａ乃至Ｍを用いて、各イントラ予測モードに対してイントラ予測が行われ、各イントラ予測モードの中から、最適イントラ予測モードが決定される。対象ブロックが４×４の場合、この最適イントラ予測モードは、図１０または図１１の９つの予測モードのいずれかである。
【０１８３】
例えば、最適イントラ予測モードとして、モード０（Vertical Prediction mode）が選ばれたとする。このとき、対象ブロックの予測に用いられる隣接画素は、図１２の画素値Ａ乃至Ｄの画素であり、図１８の画素Ａ0, Ａ1, Ａ2, Ａ3となる。
【０１８４】
第２の動作として、隣接画素内挿部７５においては、図４を参照して上述したH．264/AVC方式における６タップのFIRフィルタにより、図１８の１／２画素精度の画素ａ-0.5,ａ+0.5,…が生成される。すなわち、画素ａ-0.5は、次の式（３２）で示される。
ａ-0.5 = (Ａ-2 -5*Ａ-1 + 20*Ａ0 + 20*Ａ1 -5*Ａ1 + Ａ2 + 16) >> 5
・・・（３２）
他の１／２画素精度の画素ａ+0.5, ａ+1.5などに関しても同様である。
【０１８５】
第３の動作として、隣接画素内挿部７５においては、画素Ａ0, Ａ1, Ａ2, Ａ3および画素ａ-0.5,ａ+0.5などから、図１８の１／４画素精度の画素ａ-0.75,ａ-0.25,ａ+0.25,ａ+0.75が、線形内挿により生成される。すなわち、画素ａ+0.25は、次の式（３３）で示される。
【０１８６】
ａ-0.5 =  Ａ0 + ａ+0.5 + 1) >> 2                                ・・・（３３）
他の１／４画素精度の画素に関しても同様である。
【０１８７】
第４の動作として、イントラ予測部７４においては、モード０の場合、整数画素と各小数画素精度の位相差である-0.75,-0.50,-0.25,+0.25,+0.50,+0.75の値を、水平方向のシフト量の候補として、最適なシフト量が決定される。
【０１８８】
例えば、シフト量が+0.25の場合には、画素Ａ0, Ａ1, Ａ2, Ａ3の画素値の代わりに、画素ａ+0.25,ａ+1.25,ａ+2.25,ａ+3.25の画素値が用いられて、イントラ予測が行われる。
【０１８９】
このように、第１の動作で選択された最適イントラ予測モードに対して、最適なシフト量が決定される。例えば、シフト量が0の場合が最適とされて、整数画素の画素値が用いられる場合もあり得る。
【０１９０】
なお、図１０または図１１に示される９つの予測モードのうち、モード２（DC prediction mode）に関しては、平均値処理を行うことになる。したがって、シフトを行ったとしても、符号化効率の向上には直接関与しないため、上述した動作は禁止され、行われない。
【０１９１】
モード０（Vertical Prediction mode）、モード３（Diagonal_Down_Left Prediction mode）、またはモード７（Vertical_Left Prediction mode）に関しては、図１８における上部隣接画素Ａ0, Ａ1, Ａ2,…のみのシフトが候補となる。
【０１９２】
モード１（Horizontal Prediction mode）、またはモード８（Horizontal_Up Prediction mode）に関しては、図１８における左部隣接画素Ｉ0, Ｉ1, Ｉ2,…のみのシフトが候補となる。
【０１９３】
その他のモード（モード４乃至６）に関しては、上部隣接画素および左部隣接画素の双方に関して、シフトを考慮する必要がある。
【０１９４】
また、上部隣接画素に関しては、水平方向のシフト量のみが決定され、左部隣接画素に関しては、垂直方向のシフト量のみが決定される。
【０１９５】
以上の第１乃至第４の動作を行い、最適なシフト量を決定することにより、イントラ予測モードにおいて用いられる画素値の選択肢を増やすことができ、より最適なイントラ予測を行うことができる。これにより、イントラ予測における符号化効率をさらに向上させることが可能である。
【０１９６】
また、H．264/AVC方式においては、図４を参照して上述したように、インター動き予測補償にしか用いられなかった６タップのFIRフィルタの回路を、イントラ予測にも有効活用することができる。これにより、回路を増大させることなく、効率を改善することができる。
【０１９７】
さらに、H．264/AVC方式において定められているイントラ予測の分解能である22.5°よりさらに細かい分解能でのイントラ予測を行うことができる。
【０１９８】
［小数画素精度のイントラ予測の効果例］
図１９の例において、点線は、図１を参照して上述したH．264/AVC方式のイントラ予測の予測モードの方向を表している。点線に付された番号は、図１０または図１１に示されている９つの予測モードの番号に対応している。なお、モード２は、平均値予測であるため、その番号が示されていない。
【０１９９】
H．264/AVC方式においては、点線に示す22.5°の分解能でしかイントラ予測を行うことができなかった。これに対して、画像符号化装置５１においては、小数画素精度のイントラ予測を行うことにより、太線が表すように22.5°よりさらに細かな分解能でのイントラ予測を行うことができる。これにより、特に、斜めエッジを持つテクスチャに対する符号化効率を向上させることができる。
【０２００】
［イントラ予測処理の説明］
次に、図２０のフローチャートを参照して、上述した動作としてのイントラ予測処理を説明する。なお、このイントラ予測処理は、図８のステップＳ３１におけるイントラ予測処理であり、図２０の例においては、輝度信号の場合を例として説明する。
【０２０１】
最適モード決定部８２は、ステップＳ４１において、４×４画素、８×８画素、および１６×１６画素の各イントラ予測モードに対してイントラ予測を行う。
【０２０２】
上述したように、イントラ４×４予測モードとイントラ８×８予測モードには、９種類の予測モードがあり、それぞれブロック毎に１つの予測モードを定義することができる。イントラ１６×１６予測モードと色差信号のイントラ予測モードには、４種類の予測モードがあり、１つのマクロブロックに対して１つの予測モードを定義することができる。
【０２０３】
最適モード決定部８２は、処理対象のブロックの画素を、隣接画像バッファ８１から読み出される復号済みの隣接画像を参照して、各イントラ予測モードのすべての種類の予測モードで、イントラ予測する。これにより、各イントラ予測モードのすべての種類の予測モードでの予測画像が生成される。なお、参照される復号済みの画素としては、デブロックフィルタ７１によりデブロックフィルタリングされていない画素が用いられる。
【０２０４】
最適モード決定部８２は、ステップＳ４２において、４×４画素、８×８画素、および１６×１６画素の各イントラ予測モードに対するコスト関数値を算出する。ここで、コスト関数値としては、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 モードにおいては、全ての予測モードに対して、予測画像を生成するのみで、符号化処理および復号処理を行う必要がないため、演算量が少なくて済む。
【０２１０】
最適モード決定部８２は、ステップＳ４３において、４×４画素、８×８画素、および１６×１６画素の各イントラ予測モードに対して、それぞれ最適モードを決定する。すなわち、上述したように、イントラ４×４予測モードおよびイントラ８×８予測モードの場合には、予測モードの種類が９種類あり、イントラ１６×１６予測モードの場合には、予測モードの種類が４種類ある。したがって、最適モード決定部８２は、ステップＳ４２において算出されたコスト関数値に基づいて、それらの中から、最適イントラ４×４予測モード、最適イントラ８×８予測モード、最適イントラ１６×１６予測モードを決定する。
【０２１１】
最適モード決定部８２は、ステップＳ４４において、４×４画素、８×８画素、および１６×１６画素の各イントラ予測モードに対して決定された各最適モードの中から、ステップＳ４２において算出されたコスト関数値に基づく最適イントラ予測モードを選択する。すなわち、４×４画素、８×８画素、および１６×１６画素に対して決定された各最適モードの中から、コスト関数値が最小値であるモードを、最適イントラ予測モードとして選択する。
【０２１２】
決定された予測モードの情報は、モード判別部９１、最適シフト量決定部８３、および予測画像生成部８４に供給される。また、予測画像生成部８４には、予測モードに対応するコスト関数値も供給される。
【０２１３】
隣接画素内挿部７５および最適シフト量決定部８３は、ステップＳ４５において、隣接内挿処理を実行する。ステップＳ４５における隣接内挿処理の詳細は、図２１を参照して後述するが、この処理により、決定された最適イントラ予測モードに応じたシフト方向に、最適なシフト量が決定される。決定された最適なシフト量に関する情報は、予測画像生成部８４に供給される。
【０２１４】
ステップＳ４６において、予測画像生成部８４は、最適シフト量で位相がシフトされた隣接画素を用いて、予測画像を生成する。
【０２１５】
すなわち、予測画像生成部８４は、イントラ予測する対象ブロックに対応する隣接画素を隣接画像バッファ８１から読み出す。そして、予測画像生成部８４は、６タップのFIRフィルタおよび線形内挿により、予測モードに応じた位相方向に、読みだした隣接画素の位相を最適シフト量でシフトする。予測画像生成部８４は、位相がシフトされた隣接画素を用いて、最適モード決定部８２により決定された予測モードでイントラ予測を行い、対象ブロックの予測画像を生成し、生成された予測画像と、対応するコスト関数値を予測画像選択部７７に供給する。
【０２１６】
なお、最適シフト量が０の場合には、隣接画像バッファ８１からの隣接画素の画素値が用いられる。
【０２１７】
予測画像選択部７７により最適イントラ予測モードで生成された予測画像が選択された場合、予測画像生成部８４により、これらの最適イントラ予測モードを示す情報とシフト量の情報は、可逆符号化部６６に供給される。そして、可逆符号化部６６において、符号化され、圧縮画像のヘッダ情報に付加される（上述した図７のステップＳ２３）。
【０２１８】
なお、このシフト量の情報の符号化としては、決定された対象ブロックのシフト量と、図１３を参照して上述したMostProbableModeを与えるブロックにおけるシフト量との差分が符号化される。
【０２１９】
ただし、例えば、MostProbableModeがモード２（DC予測）であり、対象ブロックの予測モードがモード０（Vertical予測）である場合、MostProbableModeを与えるブロックにおける水平方向のシフト量は存在しないことになる。また、インタースライスにおけるイントラマクロブロックであるという事情によっても、MostProbableModeを与えるブロックにおける水平方向のシフト量は存在しないことになる。
【０２２０】
このような場合には、MostProbableModeを与えるブロックにおける水平方向のシフト量は０であるとして、差分符号化処理が行われる。
【０２２１】
［隣接画素内挿処理の説明］
次に、図２１のフローチャートを参照して、図２０のステップＳ４５の隣接画素内挿処理について説明する。図２１の例においては、対象ブロックが４×４の場合について説明される。
【０２２２】
最適モード決定部８２により決定された予測モードの情報は、モード判別部９１に供給される。モード判別部９１は、ステップＳ５１において、最適イントラ予測モードがDCモードであるか否かを判定する。ステップＳ５１において、最適イントラ予測モードがDCモードではないと判定された場合、処理は、ステップＳ５２に進む。
【０２２３】
ステップＳ５２において、モード判別部９１は、最適イントラ予測モードが、Vertical Prediction mode、Diagonal_Down_Left Prediction mode、またはVertical_Left Prediction modeであるか否かを判定する。
【０２２４】
ステップＳ５２において、最適イントラ予測モードが、Vertical Prediction mode、Diagonal_Down_Left Prediction mode、またはVertical_Left Prediction modeであると判定された場合、処理は、ステップＳ５３に進む。
【０２２５】
ステップＳ５３において、モード判別部９１は、水平方向内挿部９２に制御信号を出力し、水平方向の内挿を行わせる。すなわち、水平方向内挿部９２は、モード判別部９１からの制御信号に応じて、隣接画像バッファ８１より上部隣接画素を読み出し、６タップのFIRフィルタおよび線形内挿により、読み出した上部隣接画素に対して、水平方向の位相をシフトする。水平方向内挿部９２は、内挿された上部隣接画素の情報を、最適シフト量決定部８３に供給する。
【０２２６】
ステップＳ５４において、最適シフト量決定部８３は、最適モード決定部８２により決定された予測モードについて、-0.75乃至+0.75のうち、上部隣接画素の最適シフト量を決定する。なお、この決定には、イントラ予測する対象ブロックの画像、隣接画像バッファ８１から読み出される上部隣接画素、および内挿された上部隣接画素の情報が用いられる。また、このとき、左部隣接画素についての最適シフト量は０とされる。決定された最適シフト量の情報は、予測画像生成部８４に供給される。
【０２２７】
ステップＳ５２において、最適イントラ予測モードが、Vertical Prediction mode、Diagonal_Down_Left Prediction mode、およびVertical_Left Prediction modeではないと判定された場合、処理は、ステップＳ５５に進む。
【０２２８】
ステップＳ５５において、モード判別部９１は、最適イントラ予測モードがHorizontal Prediction mode、またはHorizontal_Up Prediction modeであるか否かを判定する。ステップＳ５５において、最適イントラ予測モードがHorizontal Prediction mode、またはHorizontal_Up Prediction modeであると判定された場合、処理は、ステップＳ５６に進む。
【０２２９】
ステップＳ５６において、モード判別部９１は、垂直方向内挿部９３に制御信号を出力し、垂直方向の内挿を行わせる。すなわち、垂直方向内挿部９３は、モード判別部９１からの制御信号に応じて、隣接画像バッファ８１より左部隣接画素を読み出し、６タップのFIRフィルタおよび線形内挿により、読み出した左部隣接画素に対して垂直方向の位相をシフトする。垂直方向内挿部９３は、内挿された左部隣接画素の情報を、最適シフト量決定部８３に供給する。
【０２３０】
ステップＳ５７において、最適シフト量決定部８３は、最適モード決定部８２により決定された予測モードについて、-0.75乃至+0.75のうち、左部隣接画素の最適シフト量を決定する。なお、この決定には、イントラ予測する対象ブロックの画像、隣接画像バッファ８１から読み出される左部隣接画素、および内挿された左部隣接画素の情報が用いられる。また、このとき、上部隣接画素についての最適シフト量は０とされる。決定された最適シフト量の情報は、予測画像生成部８４に供給される。
【０２３１】
ステップＳ５５において、最適イントラ予測モードがHorizontal Prediction mode、およびHorizontal_Up Prediction modeではないと判定された場合、処理は、ステップＳ５８に進む。
【０２３２】
ステップＳ５８において、モード判別部９１は、水平方向内挿部９２に制御信号を出力し、水平方向の内挿を行わせ、垂直方向内挿部９３に制御信号を出力し、垂直方向の内挿を行わせる。
【０２３３】
すなわち、水平方向内挿部９２は、モード判別部９１からの制御信号に応じて、隣接画像バッファ８１より上部隣接画素を読み出し、６タップのFIRフィルタおよび線形内挿により、読み出した上部隣接画素に対して水平方向の位相をシフトする。水平方向内挿部９２は、内挿された上部隣接画素の情報を、最適シフト量決定部８３に供給する。
【０２３４】
また、垂直方向内挿部９３は、モード判別部９１からの制御信号に応じて、隣接画像バッファ８１より左部隣接画素を読み出し、６タップのFIRフィルタおよび線形内挿により、読み出した左部隣接画素に対して垂直方向の位相をシフトする。垂直方向内挿部９３は、内挿された左部隣接画素の情報を、最適シフト量決定部８３に供給する。
【０２３５】
ステップＳ５９において、最適シフト量決定部８３は、最適モード決定部８２により決定された予測モードについて、-0.75乃至+0.75のうち、上部および左部隣接画素の最適シフト量を決定する。この決定には、イントラ予測する対象ブロックの画像、隣接画像バッファ８１から読み出される上部および左部隣接画素、並びに内挿された上部および左部隣接画素の情報が用いられる。決定された最適シフト量の情報は、予測画像生成部８４に供給される。
【０２３６】
一方、ステップＳ５１において、最適イントラ予測モードがDCモードであると判定された場合、隣接画素内挿処理は終了される。すなわち、水平方向内挿部８２および垂直方向内挿部８３は動作せず、最適シフト量決定部８３においては、シフト量０が最適シフト量に決定される。
【０２３７】
［インター動き予測処理の説明］
次に、図２２のフローチャートを参照して、図８のステップＳ３２のインター動き予測処理について説明する。
【０２３８】
動き予測・補償部７６は、ステップＳ６１において、１６×１６画素乃至４×４画素からなる８種類の各インター予測モードに対して動きベクトルと参照画像をそれぞれ決定する。すなわち、各インター予測モードの処理対象のブロックについて、動きベクトルと参照画像がそれぞれ決定される。
【０２３９】
動き予測・補償部７６は、ステップＳ６２において、１６×１６画素乃至４×４画素からなる８種類の各インター予測モードについて、ステップＳ６１で決定された動きベクトルに基づいて、参照画像に動き予測と補償処理を行う。この動き予測と補償処理により、各インター予測モードでの予測画像が生成される。
【０２４０】
動き予測・補償部７６は、ステップＳ６３において、１６×１６画素乃至４×４画素からなる８種類の各インター予測モードに対して決定された動きベクトルについて、圧縮画像に付加するための動きベクトル情報を生成する。このとき、図５を参照して上述した動きベクトルの生成方法が用いられる。
【０２４１】
生成された動きベクトル情報は、次のステップＳ６４におけるコスト関数値算出の際にも用いられ、最終的に予測画像選択部７７により対応する予測画像が選択された場合には、予測モード情報および参照フレーム情報とともに、可逆符号化部６６へ出力される。
【０２４２】
動き予測・補償部７６は、ステップＳ６４において、１６×１６画素乃至４×４画素からなる８種類の各インター予測モードに対して、上述した式（３４）または式（３５）で示されるコスト関数値を算出する。ここで算出されたコスト関数値は、上述した図８のステップＳ３４で最適インター予測モードを決定する際に用いられる。
【０２４３】
なお、本発明における動作原理は、図１８、または図２０および図２１を参照して上述した動作に限らない。例えば、すべてのイントラ予測モードに対して、候補となるすべてのシフト量の予測値を算出し、その残差を算出して、最適イントラ予測モードおよび最適シフト量を決定するようにすることもできる。この動作を行う場合のイントラ予測部および隣接画素内挿部の構成例は、図２３に示される。
【０２４４】
［イントラ予測部および隣接画素内挿部の他の構成例］
図２３は、イントラ予測部および隣接画素内挿部の他の構成例を示すブロック図である。
【０２４５】
図２３の例の場合、イントラ予測部７４は、隣接画像バッファ１０１、最適モード／最適シフト量決定部１０２、および予測画像生成部１０３により構成されている。
【０２４６】
隣接画素内挿部７５は、水平方向内挿部１１１、および垂直方向内挿部１１２により構成されている。
【０２４７】
隣接画像バッファ１０１は、フレームメモリ７２からのイントラ予測の対象ブロックの隣接画素を蓄積する。図２３の場合も、スイッチ７３の図示は省略されているが、実際には、隣接画素は、フレームメモリ７２から、スイッチ７３を介して隣接画像バッファ１０１に供給される。
【０２４８】
最適モード／最適シフト量決定部１０２には、イントラ予測する対象ブロックの画素が画面並べ替えバッファ６２から入力される。最適モード／最適シフト量決定部１０２は、イントラ予測する対象ブロックに対応する隣接画素を隣接画像バッファ１０１から読み出す。
【０２４９】
最適モード／最適シフト量決定部１０２は、候補のイントラ予測モード（以下、候補モードと称する）の情報を、水平方向内挿部１１１および垂直方向内挿部１１２に供給する。最適モード／最適シフト量決定部１０２には、候補モードに応じて内挿された隣接画素の情報が水平方向内挿部１１１および垂直方向内挿部１１２から入力される。
【０２５０】
最適モード／最適シフト量決定部１０２は、イントラ予測する対象ブロックの画素、対応する隣接画素、および内挿された隣接画素の画素値を用いて、すべての候補モードおよびすべての候補シフト量に対して、イントラ予測を行い、予測画像を生成する。そして、最適モード／最適シフト量決定部１０２は、コスト関数値や予測残差などを算出して、すべての候補モードおよびすべてのシフト量の中から、最適なイントラ予測モードおよび最適なシフト量を決定する。決定された予測モードおよびシフト量の情報は、予測画像生成部１０３に供給される。なお、このとき、予測モードに対応するコスト関数値も予測画像生成部１０３に供給される。
【０２５１】
予測画像生成部１０３は、イントラ予測する対象ブロックに対応する隣接画素を隣接画像バッファ１０１から読み出し、６タップのFIRフィルタおよび線形内挿により、予測モードに応じた位相方向に、読みだした隣接画素の位相を最適シフト量でシフトする。
【０２５２】
予測画像生成部１０３は、位相がシフトされた隣接画素を用いて、最適モード／最適シフト量決定部１０２により決定された最適イントラ予測モードでイントラ予測を行い、対象ブロックの予測画像を生成する。予測画像生成部１０３は、生成された予測画像と、対応するコスト関数値を予測画像選択部７７に出力する。
【０２５３】
また、予測画像生成部１０３は、予測画像選択部７７により最適イントラ予測モードで生成された予測画像が選択された場合、最適イントラ予測モードを示す情報とシフト量の情報を、可逆符号化部６６に供給する。
【０２５４】
水平方向内挿部１１１および垂直方向内挿部１１２は、最適モード／最適シフト量決定部１０２からの候補モードに応じて、隣接画像バッファ１０１より隣接画素をそれぞれ読み出す。水平方向内挿部１１１および垂直方向内挿部１１２は、６タップのFIRフィルタおよび線形内挿により、読み出した隣接画素に対して、水平方向および垂直方向に、それぞれ、位相をシフトする。
【０２５５】
［イントラ予測処理の他の説明］
次に、図２４のフローチャートを参照して、図２３のイントラ予測部７４および隣接画素内挿部７５が行うイントラ予測処理を説明する。なお、このイントラ予測処理は、図８のステップＳ３１におけるイントラ予測処理の他の例である。
【０２５６】
最適モード／最適シフト量決定部１０２は、候補のイントラ予測モードの情報を、水平方向内挿部１１１および垂直方向内挿部１１２に供給する。
【０２５７】
ステップＳ１０１において、水平方向内挿部１１１および垂直方向内挿部１１２は、すべての候補のイントラ予測モードに対して、隣接画素内挿処理を実行する。すなわち、ステップＳ１０１においては、４×４画素、８×８画素、および１６×１６画素の各イントラ予測モードに対して、隣接画素内挿処理がそれぞれ実行される。
【０２５８】
ステップＳ１０１における隣接内挿処理の詳細は、図２５を参照して後述するが、この処理により、各イントラ予測モードに応じたシフト方向に内挿された隣接画素の情報が、最適モード／最適シフト量決定部１０２に供給される。
【０２５９】
ステップＳ１０２において、最適モード／最適シフト量決定部１０２は、４×４画素、８×８画素、および１６×１６画素の各イントラ予測モードと各シフト量に対してイントラ予測を行う。
【０２６０】
すなわち、最適モード／最適シフト量決定部１０２は、イントラ予測する対象ブロックの画素、対応する隣接画素、および内挿された隣接画素の画素値を用いて、すべてのイントラ予測モードおよびすべての候補シフト量に対して、イントラ予測を行う。この結果、すべてのイントラ予測モードおよびすべての候補シフト量に対して、予測画像が生成される。
【０２６１】
ステップＳ１０３において、最適モード／最適シフト量決定部１０２は、予測画像を生成した４×４画素、８×８画素、および１６×１６画素の各イントラ予測モードと各シフト量に対して、上述した式（３４）または式（３５）のコスト関数値を算出する。
【０２６２】
ステップＳ１０４において、最適モード／最適シフト量決定部１０２は、算出したコスト関数値を比較することで、４×４画素、８×８画素、および１６×１６画素の各イントラ予測モードに対して、それぞれ最適モードおよび最適シフト量を決定する。
【０２６３】
ステップＳ１０５において、最適モード／最適シフト量決定部１０２は、ステップＳ１０４において決定された各最適モードと最適シフト量の中から、ステップＳ１０３において算出されたコスト関数値に基づいて、最適イントラ予測モードと最適シフト量を選択する。すなわち、４×４画素、８×８画素、および１６×１６画素の各イントラ予測モードに対して決定された各最適モードと最適シフト量の中から、最適イントラ予測モードと最適シフト量が選択される。選択された予測モードおよびシフト量の情報は、対応するコスト関数値とともに、予測画像生成部１０３に供給される。
【０２６４】
ステップＳ１０６において、予測画像生成部１０３は、最適シフト量で位相がシフトされた隣接画素を用いて、予測画像を生成する。
【０２６５】
すなわち、予測画像生成部１０３は、イントラ予測する対象ブロックに対応する隣接画素を隣接画像バッファ１０１から読み出す。そして、予測画像生成部１０３は、６タップのFIRフィルタおよび線形内挿により、決定された予測モードに応じた位相方向に、読みだした隣接画素の位相を最適シフト量でシフトする。
【０２６６】
予測画像生成部１０３は、位相がシフトされた隣接画素を用いて、最適モード／最適シフト量決定部１０２により決定された予測モードでイントラ予測を行い、対象ブロックの予測画像を生成する。生成された予測画像は、対応するコスト関数値とともに予測画像選択部７７に供給される。
【０２６７】
［隣接画素内挿処理の説明］
次に、図２５のフローチャートを参照して、図２４のステップＳ１０１の隣接画素内挿処理について説明する。なお、この隣接画素内挿処理は、候補のイントラ予測モード毎に行われる処理である。また、図２５のステップＳ１１１乃至Ｓ１１６は、図２１のステップＳ５１乃至Ｓ５３、Ｓ５５、Ｓ５６、およびＳ５８と同様の処理を行うので、その詳細な説明は適宜省略する。
【０２６８】
最適モード／最適シフト量決定部１０２から候補のイントラ予測モードの情報は、水平方向内挿部１１１および垂直方向内挿部１１２に供給される。水平方向内挿部１１１および垂直方向内挿部１１２は、ステップＳ１１１において、候補のイントラ予測モードがDCモードであるか否かを判定する。ステップＳ１１１において、候補のイントラ予測モードがDCモードではないと判定された場合、処理は、ステップＳ１１２に進む。
【０２６９】
ステップＳ１１２において、水平方向内挿部１１１および垂直方向内挿部１１２は、候補のイントラ予測モードが、Vertical Prediction mode、Diagonal_Down_Left Prediction mode、またはVertical_Left Prediction modeであるか否かを判定する。
【０２７０】
ステップＳ１１２において、候補のイントラ予測モードが、Vertical Prediction mode、Diagonal_Down_Left Prediction mode、またはVertical_Left Prediction modeであると判定された場合、処理は、ステップＳ１１３に進む。
【０２７１】
ステップＳ１１３において、水平方向内挿部１１１は、候補のイントラ予測モードに応じて、水平方向の内挿を行う。水平方向内挿部１１１は、内挿された上部隣接画素の情報を、最適モード／最適シフト量決定部１０２に供給する。このとき、垂直方向内挿部１１２は、垂直方向の内挿処理を行わない。
【０２７２】
ステップＳ１１２において、候補のイントラ予測モードが、Vertical Prediction mode、Diagonal_Down_Left Prediction mode、およびVertical_Left Prediction modeではないと判定された場合、処理は、ステップＳ１１４に進む。
【０２７３】
ステップＳ１１４において、水平方向内挿部１１１および垂直方向内挿部１１２は、候補のイントラ予測モードがHorizontal Prediction mode、またはHorizontal_Up Prediction modeであるか否かを判定する。ステップＳ１１４において、候補のイントラ予測モードがHorizontal Prediction mode、またはHorizontal_Up Prediction modeであると判定された場合、処理は、ステップＳ１１５に進む。
【０２７４】
ステップＳ１１５において、垂直方向内挿部１１２は、候補のイントラ予測モードに応じて、垂直方向の内挿を行う。垂直方向内挿部１１２は、内挿された左部隣接画素の情報を、最適モード／最適シフト量決定部１０２に供給する。このとき、水平方向内挿部１１１は、水平方向の内挿を行なわない。
【０２７５】
ステップＳ１１４において、候補のイントラ予測モードがHorizontal Prediction mode、およびHorizontal_Up Prediction modeではないと判定された場合、処理は、ステップＳ１１６に進む。
【０２７６】
ステップＳ１１６において、水平方向内挿部１１１および垂直方向内挿部１１２は、候補のイントラ予測モードに応じて、水平方向の内挿、および垂直方向の内挿をそれぞれ行う。水平方向内挿部１１１および垂直方向内挿部１１２は、内挿された上部隣接画素および左部隣接画素の情報を、最適モード／最適シフト量決定部１０２にそれぞれ供給する。
【０２７７】
符号化された圧縮画像は、所定の伝送路を介して伝送され、画像復号装置により復号される。
【０２７８】
［画像復号装置の構成例］
図２６は、本発明を適用した画像処理装置としての画像復号装置の一実施の形態の構成を表している。
【０２７９】
画像復号装置１５１は、蓄積バッファ１６１、可逆復号部１６２、逆量子化部１６３、逆直交変換部１６４、演算部１６５、デブロックフィルタ１６６、画面並べ替えバッファ１６７、Ｄ／Ａ変換部１６８、フレームメモリ１６９、スイッチ１７０、イントラ予測部１７１、隣接画素内挿部１７２、動き予測・補償部１７３、およびスイッチ１７４により構成されている。
【０２８０】
蓄積バッファ１６１は伝送されてきた圧縮画像を蓄積する。可逆復号部１６２は、蓄積バッファ１６１より供給された、図２の可逆符号化部６６により符号化された情報を、可逆符号化部６６の符号化方式に対応する方式で復号する。逆量子化部１６３は可逆復号部１６２により復号された画像を、図２の量子化部６５の量子化方式に対応する方式で逆量子化する。逆直交変換部１６４は、図２の直交変換部６４の直交変換方式に対応する方式で逆量子化部１６３の出力を逆直交変換する。
【０２８１】
逆直交変換された出力は演算部１６５によりスイッチ１７４から供給される予測画像と加算されて復号される。デブロックフィルタ１６６は、復号された画像のブロック歪を除去した後、フレームメモリ１６９に供給し、蓄積させるとともに、画面並べ替えバッファ１６７に出力する。
【０２８２】
画面並べ替えバッファ１６７は、画像の並べ替えを行う。すなわち、図２の画面並べ替えバッファ６２により符号化の順番のために並べ替えられたフレームの順番が、元の表示の順番に並べ替えられる。Ｄ／Ａ変換部１６８は、画面並べ替えバッファ１６７から供給された画像をＤ／Ａ変換し、図示せぬディスプレイに出力し、表示させる。
【０２８３】
スイッチ１７０は、インター処理される画像と参照される画像をフレームメモリ１６９から読み出し、動き予測・補償部１７３に出力するとともに、イントラ予測に用いられる画像をフレームメモリ１６９から読み出し、イントラ予測部１７１に供給する。
【０２８４】
イントラ予測部１７１には、ヘッダ情報を復号して得られたイントラ予測モードを示す情報と、隣接画素のシフト量の情報が、可逆復号部１６２から供給される。イントラ予測部１７１は、これらの情報を、隣接画素内挿部１７２にも供給する。
【０２８５】
イントラ予測部１７１は、これらの情報に基づき、必要に応じて、隣接画素内挿部１７２に隣接画素の位相をシフトさせ、隣接画素または位相がシフトされた隣接画素を用いて、予測画像を生成し、生成した予測画像を、スイッチ１７４に出力する。
【０２８６】
隣接画素内挿部１７２は、イントラ予測部１７１から供給されるイントラ予測モードに応じたシフト方向に、イントラ予測部１７１から供給されるシフト量で、隣接画素の位相をシフトさせる。実際には、隣接画素内挿部１７２は、イントラ予測モードに応じたシフト方向について、隣接画素に対して、６タップのFIRフィルタをかけ、線形内挿することで、隣接画素の位相を、小数画素精度にシフトさせる。隣接画素内挿部１７２は、位相がシフトされた隣接画素を、イントラ予測部１７１に供給する。
【０２８７】
動き予測・補償部１７３には、ヘッダ情報を復号して得られた情報（予測モード情報、動きベクトル情報、参照フレーム情報）が可逆復号部１６２から供給される。インター予測モードを示す情報が供給された場合、動き予測・補償部１７３は、動きベクトル情報と参照フレーム情報に基づいて画像に動き予測と補償処理を施し、予測画像を生成する。動き予測・補償部１７３は、インター予測モードにより生成された予測画像をスイッチ１７４に出力する。
【０２８８】
スイッチ１７４は、動き予測・補償部１７３またはイントラ予測部１７１により生成された予測画像を選択し、演算部１６５に供給する。
【０２８９】
［イントラ予測部および隣接画素内挿部の構成例］
図２７は、イントラ予測部および隣接画素内挿部の詳細な構成例を示すブロック図である。
【０２９０】
図２７の例の場合、イントラ予測部１７１は、予測モード受信部１８１、シフト量受信部１８２、イントラ予測画像生成部１８３により構成されている。隣接画素内挿部１７２は、水平方向内挿部１９１および垂直方向内挿部１９２により構成されている。
【０２９１】
予測モード受信部１８１は、可逆復号部１６２により復号されたイントラ予測モード情報を受信する。予測モード受信部１８１は、受信したイントラ予測モード情報を、イントラ予測画像生成部１８３、水平方向内挿部１９１、および垂直方向内挿部１９２に供給する。
【０２９２】
シフト量受信部１８２は、可逆復号部１６２により復号されたシフト量（水平方向および垂直方向）の情報を受信する。シフト量受信部１８２は、受信したシフト量のうち、水平方向のシフト量を、水平方向内挿部１９１に供給し、垂直方向のシフト量を、垂直方向内挿部１９２に供給する。
【０２９３】
イントラ予測画像生成部１８３には、予測モード受信部１８１により受信されたイントラ予測モードの情報が入力される。また、イントラ予測画像生成部１８３には、水平方向内挿部１９１から上部隣接画素または内挿された上部隣接画素の情報と、垂直方向内挿部１９２から左部隣接画素または内挿された左部隣接画素の情報が入力される。
【０２９４】
イントラ予測画像生成部１８３は、入力されるイントラ予測モード情報が示す予測モードで、隣接画素または内挿された隣接画素の画素値を用いて、イントラ予測を行い、予測画像を生成し、生成した予測画像を、スイッチ１７４に出力する。
【０２９５】
水平方向内挿部１９１は、予測モード受信部１８１からの予測モードに応じて、フレームメモリ１６９より上部隣接画素を読み出す。水平方向内挿部１９１は、６タップのFIRフィルタおよび線形内挿により、読み出した上部隣接画素に対して、シフト量受信部１８２からの水平方向のシフト量で、位相をシフトする。内挿された上部隣接画素または内挿が行われなかった上部隣接画素（すなわち、フレームメモリ１６９からの隣接画素）の情報は、イントラ予測画像生成部１８３に供給される。図２７の場合、スイッチ１７０の図示は省略されているが、隣接画素は、フレームメモリ１６９から、スイッチ１７０を介して読み出される。
【０２９６】
垂直方向内挿部１９２は、予測モード受信部１８１からの予測モードに応じて、フレームメモリ１６９より左部隣接画素を読み出す。垂直方向内挿部１９２は、６タップのFIRフィルタおよび線形内挿により、読み出した左部隣接画素に対して、シフト量受信部１８２からの垂直方向のシフト量で、位相をシフトする。線形内挿された左部隣接画素または内挿が行われなかった左部隣接画素（すなわち、フレームメモリ１６９からの隣接画素）の情報は、イントラ予測画像生成部１８３に供給される。
【０２９７】
［画像復号装置の復号処理の説明］
次に、図２８のフローチャートを参照して、画像復号装置１５１が実行する復号処理について説明する。
【０２９８】
ステップＳ１３１において、蓄積バッファ１６１は伝送されてきた画像を蓄積する。ステップＳ１３２において、可逆復号部１６２は、蓄積バッファ１６１から供給される圧縮画像を復号する。すなわち、図２の可逆符号化部６６により符号化されたＩピクチャ、Ｐピクチャ、並びにＢピクチャが復号される。
【０２９９】
このとき、動きベクトル情報、参照フレーム情報、予測モード情報（イントラ予測モード、またはインター予測モードを示す情報）、フラグ情報、およびシフト量の情報なども復号される。
【０３００】
すなわち、予測モード情報がイントラ予測モード情報である場合、予測モード情報とシフト量の情報は、イントラ予測部１７１に供給される。予測モード情報がインター予測モード情報である場合、予測モード情報と対応する動きベクトル情報および参照フレーム情報は、動き予測・補償部１７３に供給される。
【０３０１】
ステップＳ１３３において、逆量子化部１６３は可逆復号部１６２により復号された変換係数を、図２の量子化部６５の特性に対応する特性で逆量子化する。ステップＳ１３４において逆直交変換部１６４は逆量子化部１６３により逆量子化された変換係数を、図２の直交変換部６４の特性に対応する特性で逆直交変換する。これにより図２の直交変換部６４の入力（演算部６３の出力）に対応する差分情報が復号されたことになる。
【０３０２】
ステップＳ１３５において、演算部１６５は、後述するステップＳ１４１の処理で選択され、スイッチ１７４を介して入力される予測画像を差分情報と加算する。これにより元の画像が復号される。ステップＳ１３６においてデブロックフィルタ１６６は、演算部１６５より出力された画像をフィルタリングする。これによりブロック歪みが除去される。ステップＳ１３７においてフレームメモリ１６９は、フィルタリングされた画像を記憶する。
【０３０３】
ステップＳ１３８において、イントラ予測部１７１、および動き予測・補償部１７３は、可逆復号部１６２から供給される予測モード情報に対応して、それぞれ画像の予測処理を行う。
【０３０４】
すなわち、可逆復号部１６２からイントラ予測モード情報が供給された場合、イントラ予測部１７１は、イントラ予測モードのイントラ予測処理を行う。このとき、イントラ予測部１７１は、イントラ予測モードに応じたシフト方向に、可逆復号部１６２から供給されるシフト量で位相がシフトされた隣接画素を用いて、イントラ予測処理を行う。
【０３０５】
ステップＳ１３８における予測処理の詳細は、図２９を参照して後述するが、この処理により、イントラ予測部１７１により生成された予測画像、または動き予測・補償部１７３により生成された予測画像がスイッチ１７４に供給される。
【０３０６】
ステップＳ１３９において、スイッチ１７４は予測画像を選択する。すなわち、イントラ予測部１７１により生成された予測画像、または動き予測・補償部１７３により生成された予測画像供給される。したがって、供給された予測画像が選択されて演算部１６５に供給され、上述したように、ステップＳ１３４において逆直交変換部１６４の出力と加算される。
【０３０７】
ステップＳ１４０において、画面並べ替えバッファ１６７は並べ替えを行う。すなわち画像符号化装置５１の画面並べ替えバッファ６２により符号化のために並べ替えられたフレームの順序が、元の表示の順序に並べ替えられる。
【０３０８】
ステップＳ１４１において、Ｄ／Ａ変換部１６８は、画面並べ替えバッファ１６７からの画像をＤ／Ａ変換する。この画像が図示せぬディスプレイに出力され、画像が表示される。
【０３０９】
［予測処理の説明］
次に、図２９のフローチャートを参照して、図２８のステップＳ１３８の予測処理を説明する。
【０３１０】
予測モード受信部１８１は、ステップＳ１７１において、対象ブロックがイントラ符号化されているか否かを判定する。可逆復号部１６２からイントラ予測モード情報が予測モード受信部１８１に供給されると、予測モード受信部１８１は、ステップ１７１において、対象ブロックがイントラ符号化されていると判定し、処理は、ステップＳ１７２に進む。
【０３１１】
予測モード受信部１８１は、ステップＳ１７２において、可逆復号部１６２からのイントラ予測モード情報を受信、取得する。予測モード受信部１８１は、受信したイントラ予測モード情報を、イントラ予測画像生成部１８３、水平方向内挿部１９１、および垂直方向内挿部１９２に供給する。
【０３１２】
シフト量受信部１８２は、ステップＳ１７３において、可逆復号部１６２により復号された隣接画素のシフト量（水平方向および垂直方向）の情報を受信、取得する。シフト量受信部１８２は、受信したシフト量のうち、水平方向のシフト量を、水平方向内挿部１９１に供給し、垂直方向のシフト量を、垂直方向内挿部１９２に供給する。
【０３１３】
水平方向内挿部１９１および垂直方向内挿部１９２は、フレームメモリ１６９より隣接画素を読み出し、ステップＳ１７４において、隣接画素内挿処理を実行する。ステップＳ１７４における隣接内挿処理の詳細は、図２５を参照して上述した隣接内挿処理と基本的に同様の処理であるため、その説明と図示は省略される。
【０３１４】
この処理により、予測モード受信部１８１からのイントラ予測モードに応じたシフト方向に、内挿された隣接画素、あるいは、イントラ予測モードに応じて内挿されなかった隣接画素が、イントラ予測画像生成部１８３に供給される。
【０３１５】
すなわち、イントラ予測モードがモード２（DC 予測）の場合、水平方向内挿部１９１および垂直方向内挿部１９２は、隣接画素の内挿を行わず、フレームメモリ１６９から読み出された上部および左部隣接画素を、イントラ予測画像生成部１８３に供給する。
【０３１６】
イントラ予測モードがモード０（Vertical 予測）、モード３（Diagonal_Down_Left 予測）、またはモード７（Vertical_Left 予測）の場合、水平方向の内挿のみが行われる。すなわち、水平方向内挿部１９１は、フレームメモリ１６９から読み出された上部隣接画素に対して、シフト量受信部１８２からの水平方向のシフト量で内挿し、内挿された上部隣接画素を、イントラ予測画像生成部１８３に供給する。このとき、垂直方向内挿部１９２は、左部隣接画素の内挿を行わず、フレームメモリ１６９から読み出された左部隣接画素を、イントラ予測画像生成部１８３に供給する。
【０３１７】
イントラ予測モードがモード１（Horizontal 予測）、またはモード８（Horizontal_Up 予測）の場合、垂直方向のみの内挿が行われる。すなわち、垂直方向内挿部１９２は、フレームメモリ１６９から読み出された左部隣接画素に対して、シフト量受信部１８２からの垂直方向のシフト量で内挿し、内挿された左部隣接画素を、イントラ予測画像生成部１８３に供給する。このとき、水平方向内挿部１９１は、上部隣接画素の内挿を行わず、フレームメモリ１６９から読み出された上部隣接画素を、イントラ予測画像生成部１８３に供給する。
【０３１８】
イントラ予測モードがその他の予測モードの場合、水平方向および垂直方向の内挿が行われる。すなわち、水平方向内挿部１９１は、フレームメモリ１６９から読み出された上部隣接画素に対して、シフト量受信部１８２からの水平方向のシフト量で内挿し、内挿された上部隣接画素を、イントラ予測画像生成部１８３に供給する。垂直方向内挿部１９２は、フレームメモリ１６９から読み出された左部隣接画素に対して、シフト量受信部１８２からの垂直方向のシフト量で内挿し、内挿された左部隣接画素を、イントラ予測画像生成部１８３に供給する。
【０３１９】
ステップＳ１７５において、イントラ予測画像生成部１８３は、入力されるイントラ予測モード情報が示す予測モードで、水平方向内挿部１９１および垂直方向内挿部１９２からの隣接画素または内挿された隣接画素の画素値を用いて、イントラ予測を行う。このイントラ予測により、予測画像が生成され、生成された予測画像は、スイッチ１７４に出力される。
【０３２０】
一方、ステップＳ１７１において、イントラ符号化されていないと判定された場合、処理は、ステップＳ１７６に進む。
【０３２１】
処理対象の画像がインター処理される画像である場合、可逆復号部１６２からインター予測モード情報、参照フレーム情報、動きベクトル情報が動き予測・補償部１７３に供給される。ステップＳ１７６において、動き予測・補償部１７３は、可逆復号部１６２からのインター予測モード情報、参照フレーム情報、動きベクトル情報などを取得する。
【０３２２】
そして、動き予測・補償部１７３は、ステップＳ１７７において、インター動き予測を行う。すなわち、処理対象の画像がインター予測処理される画像である場合、必要な画像がフレームメモリ１６９から読み出され、スイッチ１７０を介して動き予測・補償部１７３に供給される。ステップＳ１７７において動き予測・補償部１７３は、ステップＳ１７６で取得した動きベクトルに基づいて、インター予測モードの動き予測をし、予測画像を生成する。生成した予測画像は、スイッチ１７４に出力される。
【０３２３】
以上のように、画像符号化装置５１において、６タップのFIRフィルタと線形内挿により、小数画素精度の画素を求め、最適なシフト量を決定するようにしたので、イントラ予測モードにおいて用いられる画素値の選択肢を増やすことができる。これにより最適なイントラ予測を行うことができ、イントラ予測における符号化効率をさらに向上させることが可能である。
【０３２４】
また、H．264/AVC方式においては、図４を参照して上述したインター動き予測補償にしか用いられなかった６タップのFIRフィルタの回路を、イントラ予測にも有効活用することができる。これにより、回路を増大させることなく、効率を改善することができる。
【０３２５】
さらに、H．264/AVC方式において定められているイントラ予測の分解能である22.5°よりさらに細かい分解能でのイントラ予測を行うことができる。
【０３２６】
なお、画像符号化装置５１においては、非特許文献２に記載の提案と異なり、H．264/AVC方式のイントラ予測で用いられる対象ブロックに所定の位置で隣接する画素のみがイントラ予測で用いられる。すなわち、隣接画素バッファ８１に読み出す画素は隣接画素のみでよい。
【０３２７】
したがって、非特許文献２の提案における符号化対象となるブロックの隣接画素以外の画素も予測に用いることによるメモリアクセス回数や処理の増加、すなわち、処理効率の低下を回避することができる。
【０３２８】
なお、上記説明においては、隣接画素内挿処理として、輝度信号のイントラ４×４予測モードの場合を例に説明したが、本発明は、イントラ８×８やイントラ１６×１６予測モードの場合にも適用することができる。また、本発明は、色差信号のイントラ予測モードの場合にも適用することができる。
【０３２９】
なお、イントラ８×８予測モードの場合には、イントラ４×４予測モードの場合と同様に、モード２（DC prediction mode）に関しては、平均値処理を行うことになる。したがって、シフトを行ったとしても、符号化効率の向上には直接関与しないため、上述した動作は禁止され、行われない。
【０３３０】
モード０（Vertical Prediction mode）、モード３（Diagonal_Down_Left Prediction mode）、またはモード７（Vertical_Left Prediction mode）に関しては、図１８における上部隣接画素Ａ0, Ａ1, Ａ2,…のみのシフトが候補となる。
【０３３１】
モード１（Horizontal Prediction mode）、またはモード８（Horizontal_Up Prediction mode）に関しては、図１８における左部隣接画素Ｉ0, Ｉ1, Ｉ2,…のみのシフトが候補となる。
【０３３２】
その他のモード（モード４乃至６）に関しては、上部隣接画素および左部隣接画素の双方に関して、シフトを考慮する必要がある。
【０３３３】
また、イントラ１６×１６予測モードおよび色差信号のイントラ予測モードの場合、Vertical Prediction modeに関しては、上部隣接画素の水平方向のシフトのみが行われる。Horizontal Prediction modeに関しては、左部隣接画素の垂直方向のシフトのみが行われる。DC Prediction modeに関しては、シフト処理は行われない。Plane Prediction mode  に関しては、上部隣接画素の水平方向のシフトおよび左部隣接画素の垂直方向のシフトの両方が行われる。
【０３３４】
さらに、非特許文献１に記載されているように、動き予測で１／８画素精度の内挿処理が行われている場合、本発明においても、１／８画素精度の内挿処理が行われる。
【０３３５】
以上においては、符号化方式としてH．264/AVC方式を用いるようにしたが、本発明はこれに限らず、隣接画素を用いたイントラ予測を行う、その他の符号化方式／復号方式を適用することができる。
【０３３６】
なお、本発明は、例えば、MPEG、H．26x等の様に、離散コサイン変換等の直交変換と動き補償によって圧縮された画像情報（ビットストリーム）を、衛星放送、ケーブルテレビジョン、インターネット、または携帯電話機などのネットワークメディアを介して受信する際に用いられる画像符号化装置および画像復号装置に適用することができる。また、本発明は、光、磁気ディスク、およびフラッシュメモリのような記憶メディア上で処理する際に用いられる画像符号化装置および画像復号装置に適用することができる。さらに、本発明は、それらの画像符号化装置および画像復号装置などに含まれる動き予測補償装置にも適用することができる。
【０３３７】
上述した一連の処理は、ハードウエアにより実行することもできるし、ソフトウエアにより実行することもできる。一連の処理をソフトウエアにより実行する場合には、そのソフトウエアを構成するプログラムが、コンピュータにインストールされる。ここで、コンピュータには、専用のハードウエアに組み込まれているコンピュータや、各種のプログラムをインストールすることで、各種の機能を実行することが可能な汎用のパーソナルコンピュータなどが含まれる。
【０３３８】
図３０は、上述した一連の処理をプログラムにより実行するコンピュータのハードウエアの構成例を示すブロック図である。
【０３３９】
コンピュータにおいて、CPU(Central Processing Unit)３０１、ROM(Read Only Memory)３０２、RAM(Random Access Memory)３０３は、バス３０４により相互に接続されている。
【０３４０】
バス３０４には、さらに、入出力インタフェース３０５が接続されている。入出力インタフェース３０５には、入力部３０６、出力部３０７、記憶部３０８、通信部３０９、およびドライブ３１０が接続されている。
【０３４１】
入力部３０６は、キーボード、マウス、マイクロフォンなどよりなる。出力部３０７は、ディスプレイ、スピーカなどよりなる。記憶部３０８は、ハードディスクや不揮発性のメモリなどよりなる。通信部３０９は、ネットワークインタフェースなどよりなる。ドライブ３１０は、磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリなどのリムーバブルメディア３１１を駆動する。
【０３４２】
以上のように構成されるコンピュータでは、CPU３０１が、例えば、記憶部３０８に記憶されているプログラムを入出力インタフェース３０５及びバス３０４を介してRAM３０３にロードして実行することにより、上述した一連の処理が行われる。
【０３４３】
コンピュータ（CPU３０１）が実行するプログラムは、例えば、パッケージメディア等としてのリムーバブルメディア３１１に記録して提供することができる。また、プログラムは、ローカルエリアネットワーク、インターネット、デジタル放送といった、有線または無線の伝送媒体を介して提供することができる。
【０３４４】
コンピュータでは、プログラムは、リムーバブルメディア３１１をドライブ３１０に装着することにより、入出力インタフェース３０５を介して、記憶部３０８にインストールすることができる。また、プログラムは、有線または無線の伝送媒体を介して、通信部３０９で受信し、記憶部３０８にインストールすることができる。その他、プログラムは、ROM３０２や記憶部３０８に、あらかじめインストールしておくことができる。
【０３４５】
なお、コンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。
【０３４６】
本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
【符号の説明】
【０３４７】
５１  画像符号化装置，  ６６  可逆符号化部，  ７４  イントラ予測部，  ７５  隣接画素内挿部，  ７６  動き予測・補償部，  ７７  予測画像選択部，  ８１  隣接画素バッファ，  ８２  最適モード決定部，  ８３  最適シフト量決定部，  ８４  予測画像生成部，  ９１  モード判定部，  ９２  水平方向内挿部，  ９３  垂直方向内挿部，  １５１  画像復号装置，  １６２  可逆復号部，  １７１  イントラ予測部，  １７２  隣接画素内挿部，  １７３  動き予測・補償部，  １７４  スイッチ，  １８１  予測モード受信部，  １８２  シフト量受信部，  １８３  イントラ予測画像生成部，  １９１  水平方向内挿部，  １９２  垂直方向内挿部
【図１】
2010258740.tif 000015
【図２】
2010258740.tif 000016
【図３】
2010258740.tif 000017
【図４】
2010258740.tif 000018
【図５】
2010258740.tif 000019
【図６】
2010258740.tif 000020
【図７】
2010258740.tif 000021
【図８】
2010258740.tif 000022
【図９】
2010258740.tif 000023
【図１０】
2010258740.tif 000024
【図１１】
2010258740.tif 000025
【図１２】
2010258740.tif 000026
【図１３】
2010258740.tif 000027
【図１４】
2010258740.tif 000028
【図１５】
2010258740.tif 000029
【図１６】
2010258740.tif 000030
【図１７】
2010258740.tif 000031
【図１８】
2010258740.tif 000032
【図１９】
2010258740.tif 000033
【図２０】
2010258740.tif 000034
【図２１】
2010258740.tif 000035
【図２２】
2010258740.tif 000036
【図２３】
2010258740.tif 000037
【図２４】
2010258740.tif 000038
【図２５】
2010258740.tif 000039
【図２６】
2010258740.tif 000040
【図２７】
2010258740.tif 000041
【図２８】
2010258740.tif 000042
【図２９】
2010258740.tif 000043
【図３０】
2010258740.tif 000044