(57)【特許請求の範囲】
【請求項１】
符号化処理する画像を対象として、符号化処理の対象となる対象ブロックの画素に対してイントラ予測を行う際の予測モードに対して、前記対象ブロックの画素に対してイントラ予測を行う際に参照する隣接画素にフィルタ処理を行うか、前記隣接画素にフィルタ処理を行わないかを制御する制御情報を用いて、前記隣接画素にフィルタ処理を行うか、前記隣接画素にフィルタ処理を行わないかを選択するフィルタ部と、
前記隣接画素を用いて、前記対象ブロックの画素に対してイントラ予測を行うイントラ予測部と
を備える画像処理装置。
【請求項２】
イントラ予測を行う際のコスト関数を用いて、前記予測モードを決定する決定部を
さらに備える請求項１に記載の画像処理装置。
【請求項３】
前記フィルタ部は、前記決定部により決定された予測モードに対して、前記コスト関数を用いて、前記隣接画素にフィルタ処理を行うか、前記隣接画素にフィルタ処理を行わないかを選択する
請求項２に記載の画像処理装置。
【請求項４】
前記フィルタ部は、前記隣接画素にフィルタ処理を行うことを選択した場合に、３タップのフィルタ係数を用いたフィルタ演算を用いて、前記隣接画素にフィルタ処理を行う
請求項３に記載の画像処理装置。
【請求項５】
前記イントラ予測部により生成された予測画像を用いて、前記画像を符号化処理する符号化部を
さらに備える請求項１に記載の画像処理装置。
【請求項６】
前記符号化部は、前記画像を、階層構造を有する単位で符号化処理する
請求項５に記載の画像処理装置。
【請求項７】
前記イントラ予測部は、ブロックサイズを４×４画素、８×８画素、１６×１６画素、３２×３２画素として、イントラ予測を行う
請求項６に記載の画像処理装置。
【請求項８】
画像処理装置が、
符号化処理する画像を対象として、符号化処理の対象となる対象ブロックの画素に対してイントラ予測を行う際の予測モードに対して、前記対象ブロックの画素に対してイントラ予測を行う際に参照する隣接画素にフィルタ処理を行うか、前記隣接画素にフィルタ処理を行わないかを制御する制御情報を用いて、前記隣接画素にフィルタ処理を行うか、前記隣接画素にフィルタ処理を行わないかを選択し、
前記隣接画素を用いて、前記対象ブロックの画素に対してイントラ予測を行う
画像処理方法。
【請求項９】
イントラ予測を行う際のコスト関数を用いて、前記予測モードを決定する
請求項８に記載の画像処理方法。
【請求項１０】
決定された予測モードに対して、前記コスト関数を用いて、前記隣接画素にフィルタ処理を行うか、前記隣接画素にフィルタ処理を行わないかを選択する
請求項９に記載の画像処理方法。
【請求項１１】
前記隣接画素にフィルタ処理を行うことを選択した場合に、３タップのフィルタ係数を用いたフィルタ演算を用いて、前記隣接画素にフィルタ処理を行う
請求項１０に記載の画像処理方法。
【請求項１２】
前記イントラ予測により生成された予測画像を用いて、前記画像を符号化処理する
請求項８に記載の画像処理方法。
【請求項１３】
前記画像を、階層構造を有する単位で符号化処理する
請求項１２に記載の画像処理方法。
【請求項１４】
ブロックサイズを４×４画素、８×８画素、１６×１６画素、３２×３２画素として、イントラ予測を行う
請求項１３に記載の画像処理方法。
【請求項１５】
符号化処理する画像を対象として、符号化処理の対象となる対象ブロックの画素に対してイントラ予測を行う際の予測モードに対して、前記対象ブロックの画素に対してイントラ予測を行う際に参照する隣接画素にフィルタ処理を行うか、前記隣接画素にフィルタ処理を行わないかを制御する制御情報を用いて、前記隣接画素にフィルタ処理を行うか、前記隣接画素にフィルタ処理を行わないかを選択するフィルタ部と、
前記隣接画素を用いて、前記対象ブロックの画素に対してイントラ予測を行うイントラ予測部と
して、コンピュータを機能させるプログラム。
【請求項１６】
請求項１５に記載のプログラムが記録されている記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は画像処理装置および方法、プログラム、並びに記録媒体に関し、特に、画像やビットレートに応じたノイズ除去を実現し、予測効率を改善することができるようにした画像処理装置および方法、プログラム、並びに記録媒体に関する。
【背景技術】
【０００２】
近年、画像情報をデジタルとして取り扱い、その際、効率の高い情報の伝送、蓄積を目的とし、画像情報特有の冗長性を利用して、離散コサイン変換等の直交変換と動き補償により圧縮する符号化方式を採用して画像を圧縮符号する装置が普及しつつある。この符号化方式には、例えば、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方式で定められている直交変換に代えて、上述したカルーネン・レーベ変換により、モード毎に最適化された直交変換係数を用いた処理が行われる。
【００１４】
また、非特許文献２には、上述したイントラ予測を、インター予測に組み合わせる方法も提案されている。
【００１５】
すなわち、非特許文献２においては、インター予測において求められた動きベクトル情報に対して、対象ブロックのみならず、対象ブロックの周辺の隣接画素値に関しても差分情報が生成される。このように生成された対象ブロックに関する差分情報と、隣接画素に関する差分情報の間で、イントラ予測が施されることにより２次差分情報が生成される。そして、生成された２次差分情報が、直交変換および量子化され、圧縮画像とともに、後段に出力される。
【００１６】
これにより、さらに、符号化効率が向上される。
【００１７】
また、上述したように、H．264/AVC方式において、マクロブロックサイズは１６×１６画素である。しかしながら、マクロブロックサイズを１６×１６画素とするのは、次世代符号化方式の対象となるようなUHD(Ultra High Definition;4000×2000画素)といった大きな画枠に対しては最適ではない。
【００１８】
そこで、非特許文献３などにおいては、マクロブロックサイズを、例えば、３２×３２画素といった大きさに拡張することも提案されている。
【先行技術文献】
【非特許文献】
【００１９】
【非特許文献１】''Improved Intra Coding'',VCEG-AF15,ITU-Telecommunications Standardization Sector STUDY GROUP Question 6 Video coding Experts Group(VCEG), 20-21 April 2007
【非特許文献２】''Second Order Prediction (SOP) in P Slice'', Sijia Chen , JinpengWang , Shangwen Li and, Lu Yu ,VCEG-AD09,ITU-Telecommunications Standardization Sector STUDY GROUP Question 6 Video coding Experts Group(VCEG), 16-18 July 2008
【非特許文献３】''Video Coding Using Extended Block Sizes'',VCEG-AD09,ITU-Telecommunications Standardization Sector STUDY GROUP Question 16 - Contribution 123, Jan 2009
【発明の概要】
【発明が解決しようとする課題】
【００２０】
ところで、H．264/AVC方式においては、上述した８×８画素のブロック単位のイントラ予測を行うに先立ち、隣接画素の画素値のローパスフィルタ処理が行われている。これにより、隣接画素に含まれる雑音が除去され、相関を高められるので、より高い符号化効率の実現を可能としている。
【００２１】
しかしながら、雑音の含まれる度合いは、入力画像や、量子化パラメータ値、イントラ予測モードによっても異なるものであるにも関わらず、H．264/AVC方式においては、雑音を除去するためのローパスフィルタが固定されたものであった。すなわち、このローパスフィルタは、入力画像、量子化パラメータ値、イントラ予測モードなどに応じた最適なものではなかった。
【００２２】
また、H．264/AVC方式において、上述の隣接画素の画素値の雑音除去を行うのは、８×８画素のブロック単位のイントラ予測モードのみであり、他のモードに対して適用されていなかった。
【００２３】
本発明は、このような状況に鑑みてなされたものであり、画像やビットレートに応じたノイズ除去を実現し、予測効率を改善させるものである。
【課題を解決するための手段】
【００２４】
本発明の第１の側面の画像処理装置は、符号化処理する画像を対象として、符号化処理の対象となる対象ブロックの画素に対してイントラ予測を行う際の予測モードに対して、前記対象ブロックの画素に対してイントラ予測を行う際に参照する隣接画素にフィルタ処理を行うか、前記隣接画素にフィルタ処理を行わないかを制御する制御情報を用いて、前記隣接画素にフィルタ処理を行うか、前記隣接画素にフィルタ処理を行わないかを選択するフィルタ部と、前記隣接画素を用いて、前記対象ブロックの画素に対してイントラ予測を行うイントラ予測部とを備える。
【００２５】
イントラ予測を行う際のコスト関数を用いて、前記予測モードを決定する決定部をさらに備えることができる。
【００２６】
前記フィルタ部は、前記決定部により決定された予測モードに対して、前記コスト関数を用いて、前記隣接画素にフィルタ処理を行うか、前記隣接画素にフィルタ処理を行わないかを選択することができる。
【００２７】
前記フィルタ部は、前記隣接画素にフィルタ処理を行うことを選択した場合に、３タップのフィルタ係数を用いたフィルタ演算を用いて、前記隣接画素にフィルタ処理を行うことができる。
【００２８】
前記イントラ予測部により生成された予測画像を用いて、前記画像を符号化処理する符号化部をさらに備えることができる。
【００２９】
前記符号化部は、前記画像を、階層構造を有する単位で符号化処理することができる。
【００３０】
前記イントラ予測部は、ブロックサイズを４×４画素、８×８画素、１６×１６画素、３２×３２画素として、イントラ予測を行うことができる。
【００３１】
本発明の第１の側面の画像処理方法は、画像処理装置が、符号化処理する画像を対象として、符号化処理の対象となる対象ブロックの画素に対してイントラ予測を行う際の予測モードに対して、前記対象ブロックの画素に対してイントラ予測を行う際に参照する隣接画素にフィルタ処理を行うか、前記隣接画素にフィルタ処理を行わないかを制御する制御情報を用いて、前記隣接画素にフィルタ処理を行うか、前記隣接画素にフィルタ処理を行わないかを選択し、前記隣接画素を用いて、前記対象ブロックの画素に対してイントラ予測を行う。
【００３２】
イントラ予測を行う際のコスト関数を用いて、前記予測モードを決定することができる。
決定された予測モードに対して、前記コスト関数を用いて、前記隣接画素にフィルタ処理を行うか、前記隣接画素にフィルタ処理を行わないかを選択することができる。
前記隣接画素にフィルタ処理を行うことを選択した場合に、３タップのフィルタ係数を用いたフィルタ演算を用いて、前記隣接画素にフィルタ処理を行うことができる。
【００３３】
前記イントラ予測により生成された予測画像を用いて、前記画像を符号化処理することができる。
前記画像を、階層構造を有する単位で符号化処理することができる。
ブロックサイズを４×４画素、８×８画素、１６×１６画素、３２×３２画素として、イントラ予測を行うことができる。
【００３４】
本発明の第１の側面のプログラムおよび記録媒体に記録されているプログラムは、符号化処理する画像を対象として、符号化処理の対象となる対象ブロックの画素に対してイントラ予測を行う際の予測モードに対して、前記対象ブロックの画素に対してイントラ予測を行う際に参照する隣接画素にフィルタ処理を行うか、前記隣接画素にフィルタ処理を行わないかを制御する制御情報を用いて、前記隣接画素にフィルタ処理を行うか、前記隣接画素にフィルタ処理を行わないかを選択するフィルタ部と、前記隣接画素を用いて、前記対象ブロックの画素に対してイントラ予測を行うイントラ予測部として、コンピュータを機能させる。
【００４４】
本発明の第１の側面においては、符号化処理する画像を対象として、符号化処理の対象となる対象ブロックの画素に対してイントラ予測を行う際の予測モードに対して、前記対象ブロックの画素に対してイントラ予測を行う際に参照する隣接画素にフィルタ処理を行うか、前記隣接画素にフィルタ処理を行わないかを制御する制御情報を用いて、前記隣接画素にフィルタ処理を行うか、前記隣接画素にフィルタ処理を行わないかが選択される。そして、前記隣接画素を用いて、前記対象ブロックの画素に対してイントラ予測が行われる。
【００４６】
なお、上述の画像処理装置のそれぞれは、独立した装置であっても良いし、１つの画像符号化装置または画像復号装置を構成している内部ブロックであってもよい。
【発明の効果】
【００４８】
本発明によれば、画像を符号化することができる。また、本発明によれば、画像やビットレートに応じたノイズ除去を行うことができる。
【図面の簡単な説明】
【００４９】
【図１】本発明を適用した画像符号化装置の一実施の形態の構成を示すブロック図である。
【図２】１６×１６画素のイントラ予測モードの場合の処理順序を説明する図である。
【図３】輝度信号の４×４画素のイントラ予測モードの種類を示す図である。
【図４】輝度信号の４×４画素のイントラ予測モードの種類を示す図である。
【図５】４×４画素のイントラ予測の方向を説明する図である。
【図６】４×４画素のイントラ予測を説明する図である。
【図７】輝度信号の４×４画素のイントラ予測モードの符号化を説明する図である。
【図８】輝度信号の８×８画素のイントラ予測モードの種類を示す図である。
【図９】輝度信号の８×８画素のイントラ予測モードの種類を示す図である。
【図１０】輝度信号の１６×１６画素のイントラ予測モードの種類を示す図である。
【図１１】輝度信号の１６×１６画素のイントラ予測モードの種類を示す図である。
【図１２】１６×１６画素のイントラ予測を説明する図である。
【図１３】色差信号のイントラ予測モードの種類を示す図である。
【図１４】図１のイントラ予測部および隣接画素内挿フィルタ切替部の構成例を示すブロック図である。
【図１５】フィルタ係数の算出について説明する図である。
【図１６】図１の画像符号化装置の符号化処理を説明するフローチャートである。
【図１７】図１６のステップＳ２１の予測処理を説明するフローチャートである。
【図１８】図１７のステップＳ３１のイントラ予測処理を説明するフローチャートである。
【図１９】図１７のステップＳ３２のインター動き予測処理を説明するフローチャートである。
【図２０】図１のイントラ予測部および隣接画素内挿フィルタ切替部の他の構成例を示すブロック図である。
【図２１】図１７のステップＳ３１のイントラ予測処理の他の例を説明するフローチャートである。
【図２２】本発明を適用した画像復号装置の一実施の形態の構成を示すブロック図である。
【図２３】図２２のイントラ予測部および隣接画素内挿フィルタ切替部の構成例を示すブロック図である。
【図２４】図２２の画像復号装置の復号処理を説明するフローチャートである。
【図２５】図２４のステップＳ１３８の予測処理を説明するフローチャートである。
【図２６】図２２のイントラ予測部および隣接画素内挿フィルタ切替部の他の構成例を示すブロック図である。
【図２７】図２４のステップＳ１３８の予測処理の他の例を説明するフローチャートである。
【図２８】本発明を適用した学習装置の一実施の形態の構成を示すブロック図である。
【図２９】図２８のイントラ予測部および隣接画素内挿フィルタ算出部の構成例を示すブロック図である。
【図３０】図２８の学習装置によるイントラ予測処理を説明するフローチャートである。
【図３１】本発明を適用した画像符号化装置の他の実施の形態の構成を示すブロック図である。
【図３２】２次予測処理を説明する図である。
【図３３】本発明を適用した画像復号装置の他の実施の形態の構成を示すブロック図である。
【図３４】本発明を適用した画像符号化装置のさらに他の実施の形態の構成を示すブロック図である。
【図３５】図３４のイントラ予測部の構成例を示すブロック図である。
【図３６】図１７のステップＳ３１のイントラ予測処理の他の例を説明するフローチャートである。
【図３７】図１７のステップＳ３１のイントラ予測処理のさらに他の例を説明するフローチャートである。
【図３８】図１７のステップＳ３１のイントラ予測処理の他の例を説明するフローチャートである。
【図３９】本発明を適用した画像復号装置のさらに他の実施の形態の構成を示すブロック図である。
【図４０】図３９のイントラ予測部および隣接画素内挿フィルタ制御部の構成例を示すブロック図である。
【図４１】図２４のステップＳ１３８の予測処理のさらに他の例を説明するフローチャートである。
【図４２】本発明を適用した画像符号化装置の他の実施の形態の構成を示すブロック図である。
【図４３】本発明を適用した画像復号装置の他の実施の形態の構成を示すブロック図である。
【図４４】拡張されたブロックサイズの例を示す図である。
【図４５】コンピュータのハードウエアの構成例を示すブロック図である。
【図４６】本発明を適用したテレビジョン受像機の主な構成例を示すブロック図である。
【図４７】本発明を適用した携帯電話機の主な構成例を示すブロック図である。
【図４８】本発明を適用したハードディスクレコーダの主な構成例を示すブロック図である。
【図４９】本発明を適用したカメラの主な構成例を示すブロック図である。
【発明を実施するための形態】
【００５０】
以下、図を参照して本発明の実施の形態について説明する。なお、説明は以下の順序で行う。
１．第１の実施の形態（隣接画素内挿フィルタ切替：イントラ予測の例）
２．第２の実施の形態（隣接画素内挿フィルタ切替：２次予測の例）
３．第３の実施の形態（隣接画素内挿フィルタオンオフ制御：イントラ予測の例）
４．第４の実施の形態（隣接画素内挿フィルタオンオフ制御：２次予測の例）
【００５１】
＜１．第１の実施の形態＞
［画像符号化装置の構成例］
図１は、本発明を適用した画像処理装置としての画像符号化装置の一実施の形態の構成を表している。
【００５２】
この画像符号化装置５１は、例えば、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方式で符号化された圧縮画像として、例えば、後段の図示せぬ記録装置や伝送路などに出力する。
【００６１】
また、量子化部６５より出力された、量子化された変換係数は、逆量子化部６８にも入力され、逆量子化された後、さらに逆直交変換部６９において逆直交変換される。逆直交変換された出力は演算部７０により予測画像選択部７７から供給される予測画像と加算されて、局部的に復号された画像となる。デブロックフィルタ７１は、復号された画像のブロック歪を除去した後、フレームメモリ７２に供給し、蓄積させる。フレームメモリ７２には、デブロックフィルタ７１によりデブロックフィルタ処理される前の画像も供給され、蓄積される。
【００６２】
スイッチ７３はフレームメモリ７２に蓄積された参照画像を動き予測・補償部７６またはイントラ予測部７４に出力する。
【００６３】
この画像符号化装置５１においては、例えば、画面並べ替えバッファ６２からのＩピクチャ、Ｂピクチャ、およびＰピクチャが、イントラ予測（イントラ処理とも称する）する画像として、イントラ予測部７４に供給される。また、画面並べ替えバッファ６２から読み出されたＢピクチャおよびＰピクチャが、インター予測（インター処理とも称する）する画像として、動き予測・補償部７６に供給される。
【００６４】
イントラ予測部７４は、画面並べ替えバッファ６２から読み出されたイントラ予測する画像とフレームメモリ７２から供給された参照画像に基づいて、候補となる全てのイントラ予測モードのイントラ予測処理を行い、予測画像を生成する。
【００６５】
このイントラ予測処理に先立ち、イントラ予測部７４は、各対象ブロックのイントラ予測に用いられる画素であって、対象ブロックに所定の位置関係で隣接する隣接画素に対して、フィルタ処理を施す。このフィルタ処理には、イントラ予測部７４により供給されたイントラ予測モードなどに対応して、隣接画素内挿フィルタ切替部７５により設定されたフィルタ係数が用いられる。すなわち、イントラ予測部７４において、候補となる全てのイントラ予測モードのイントラ予測処理には、隣接画素内挿フィルタ切替部７５により設定されたフィルタ係数で、フィルタ処理が施された隣接画素が用いられる。
【００６６】
イントラ予測部７４は、予測画像を生成したイントラ予測モードに対してコスト関数値を算出し、算出したコスト関数値が最小値を与えるイントラ予測モードを、最適イントラ予測モードとして選択する。イントラ予測部７４は、最適イントラ予測モードで生成された予測画像と、対応する最適イントラ予測モードについて算出されたコスト関数値を、予測画像選択部７７に供給する。
【００６７】
イントラ予測部７４は、予測画像選択部７７により最適イントラ予測モードで生成された予測画像が選択された場合、最適イントラ予測モードを示す情報を、可逆符号化部６６に供給する。可逆符号化部６６は、イントラ予測部７４から情報が送られてきた場合には、この情報を符号化し、圧縮画像におけるヘッダ情報の一部とする。
【００６８】
隣接画素内挿フィルタ切替部７５は、後述する図２８の学習装置２５１において、トレーニング画像が用いられて学習されることにより得られた、量子化パラメータおよびイントラ予測モードに対応したフィルタ係数を記憶している。
【００６９】
隣接画素内挿フィルタ切替部７５には、レート制御部７８からの量子化パラメータが供給され、イントラ予測部７４からイントラ予測モードの情報が供給される。隣接画素内挿フィルタ切替部７５は、レート制御部７８からの量子化パラメータおよびイントラ予測部７４からのイントラ予測モードに対応して、フィルタ係数を設定する。隣接画素内挿フィルタ切替部７５は、設定したフィルタ係数を、イントラ予測部７４に供給する。
【００７０】
なお、隣接画素内挿フィルタ切替部７５においては、フィルタ係数を、量子化パラメータおよびイントラ予測モードの両方でなくても、どちらか一方に対応するように学習、記憶しておくことも可能である。
【００７１】
また、隣接画素内挿フィルタ切替部７５においては、予めオフラインで学習されたフィルタ係数が記憶されているが、その代わりに、オンラインでフィルタ係数が算出されるようにすることも可能である。この場合、復号側に送るために、点線矢印に示されるように、隣接画素内挿フィルタ切替部７５により設定されたフィルタ係数が、可逆符号化部６６に出力される。
【００７２】
動き予測・補償部７６は、候補となる全てのインター予測モードの動き予測・補償処理を行う。すなわち、動き予測・補償部７６には、画面並べ替えバッファ６２から読み出されたインター処理する画像と、スイッチ７３を介してフレームメモリ７２から参照画像が供給される。動き予測・補償部７６は、インター処理する画像と参照画像に基づいて、候補となる全てのインター予測モードの動きベクトルを検出し、動きベクトルに基づいて参照画像に補償処理を施し、予測画像を生成する。
【００７３】
また、動き予測・補償部７６は、候補となる全てのインター予測モードに対してコスト関数値を算出する。動き予測・補償部７６は、算出したコスト関数値のうち、最小値を与える予測モードを、最適インター予測モードとして決定する。
【００７４】
動き予測・補償部７６は、最適インター予測モードで生成された予測画像とそのコスト関数値を、予測画像選択部７７に供給する。動き予測・補償部７６は、予測画像選択部７７により最適インター予測モードで生成された予測画像が選択された場合、最適インター予測モードを示す情報（インター予測モード情報）を可逆符号化部６６に出力する。
【００７５】
なお、必要であれば、動きベクトル情報、フラグ情報、参照フレーム情報なども可逆符号化部６６に出力される。可逆符号化部６６は、動き予測・補償部７６からの情報をやはり可変長符号化、算術符号化といった可逆符号化処理し、圧縮画像のヘッダ部に挿入する。
【００７６】
予測画像選択部７７は、イントラ予測部７４または動き予測・補償部７６より出力された各コスト関数値に基づいて、最適イントラ予測モードと最適インター予測モードから、最適予測モードを決定する。そして、予測画像選択部７７は、決定された最適予測モードの予測画像を選択し、演算部６３，７０に供給する。このとき、予測画像選択部７７は、予測画像の選択情報を、イントラ予測部７４または動き予測・補償部７６に供給する。
【００７７】
レート制御部７８は、蓄積バッファ６７に蓄積された圧縮画像に基づいて、オーバーフローあるいはアンダーフローが発生しないように、量子化パラメータにより、量子化部６５の量子化動作のレートを制御する。
【００７８】
量子化部６５のレートの制御に用いられた量子化パラメータは、可逆符号化部６６に供給され、可逆符号化処理され、圧縮画像のヘッダ部に挿入される。また、この量子化パラメータは、隣接画素内挿フィルタ切替部７５に供給され、隣接画素に施すフィルタ処理に用いられるフィルタ係数の設定に用いられる。
【００７９】
［H．264/AVC方式におけるイントラ予測処理の説明］
はじめに、H．264/AVC方式で定められているイントラ予測の各モードについて説明する。
【００８０】
まず、輝度信号に対するイントラ予測モードについて説明する。輝度信号のイントラ予測モードには、イントラ４×４予測モード、イントラ８×８予測モード、およびイントラ１６×１６予測モードの３通りの方式が定められている。これは、ブロック単位を定めるモードであり、マクロブロック毎に設定される。また、色差信号に対しては、マクロブロック毎に輝度信号とは独立したイントラ予測モードを設定することが可能である。
【００８１】
さらに、イントラ４×４予測モードの場合、４×４画素の対象ブロック毎に、９種類の予測モードから１つの予測モードを設定することができる。イントラ８×８予測モードの場合、８×８画素の対象ブロック毎に、９種類の予測モードから１つの予測モードを設定することができる。また、イントラ１６×１６予測モードの場合、１６×１６画素の対象マクロブロックに対して、４種類の予測モードから１つの予測モードを設定することができる。
【００８２】
なお、以下、イントラ４×４予測モード、イントラ８×８予測モード、およびイントラ１６×１６予測モードは、それぞれ、４×４画素のイントラ予測モード、８×８画素のイントラ予測モード、および１６×１６画素のイントラ予測モードとも適宜称する。
【００８３】
図２の例において、各ブロックに付されている数字−１乃至２５は、その各ブロックのビットストリーム順（復号側における処理順）を表している。なお、輝度信号については、マクロブロックが４×４画素に分割されて、４×４画素のＤＣＴが行われる。そして、イントラ１６×１６予測モードの場合のみ、−１のブロックに示されるように、各ブロックの直流成分を集めて、４×４行列が生成され、これに対して、さらに、直交変換が施される。
【００８４】
一方、色差信号については、マクロブロックが４×４画素に分割され、４×４画素のＤＣＴが行われた後に、１６および１７の各ブロックに示されるように、各ブロックの直流成分を集めて、２×２行列が生成され、これに対して、さらに、直交変換が施される。
【００８５】
なお、このことは、イントラ８×８予測モードに関しては、ハイプロファイルまたはそれ以上のプロファイルで、対象マクロブロックに、８×８直交変換が施される場合についてのみ適用可能である。
【００８６】
図３および図４は、９種類の輝度信号の４×４画素のイントラ予測モード(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]は、次の式（２７）のように生成される。
【数１】
0005597968.tif 000002
【０１２０】
p[x,-1] (x=0, … ,7) は ''available'' であるが、 p[-1,y] (y=0, … ,7) が ''unavailable'' である場合には、予測値pred8x8L[x,y]は、次の式（２８）のように生成される。
【数２】
0005597968.tif 000003
【０１２１】
p[x,-1] (x=0, … ,7) は ''unavailable'' であるが、 p[-1,y] (y=0, … ,7) が ''available'' である場合には、予測値pred8x8L[x,y]は、次の式（２９）のように生成される。
【数３】
0005597968.tif 000004
【０１２２】
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)は、次の式（５５）のように生成される。
【数４】
0005597968.tif 000005
【０１４０】
また、P(x,-1); x,y=-1,0,…,15が ''unavailable'' である場合、対象マクロブロックＡの各画素の予測画素値Pred(x,y)は、次の式（５６）のように生成される。
【数５】
0005597968.tif 000006
【０１４１】
P(-1,y); x,y=-1,0,…,15が ''unavailable'' である場合、対象マクロブロックＡの各画素の予測画素値Pred(x,y)は、次の式（５７）のように生成される。
【数６】
0005597968.tif 000007
【０１４２】
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)は、次の式（５８）のように生成される。
【数７】
0005597968.tif 000008
【０１４４】
次に、色差信号に対するイントラ予測モードについて説明する。図１３は、４種類の色差信号のイントラ予測モード(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)は、次の式（５９）のように生成される。
【数８】
0005597968.tif 000009
【０１４８】
また、P(-1,y) ; x,y=-1,0,…,7が ''unavailable'' である場合、対象マクロブロックＡの各画素の予測画素値Pred(x,y)は、次の式（６０）のように生成される。
【数９】
0005597968.tif 000010
【０１４９】
また、P(x,-1) ; x,y=-1,0,…,7が ''unavailable''である場合、対象マクロブロックＡの各画素の予測画素値Pred(x,y)は、次の式（６１）のように生成される。
【数１０】
0005597968.tif 000011
【０１５０】
モード１は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)は、次の式（６４）のように生成される。
【数１１】
0005597968.tif 000012
【０１５３】
以上のように、輝度信号のイントラ予測モードには、９種類の４×４画素および８×８画素のブロック単位、並びに４種類の１６×１６画素のマクロブロック単位の予測モードがある。このブロック単位のモードは、マクロブロック単位毎に設定される。色差信号のイントラ予測モードには、４種類の８×８画素のブロック単位の予測モードがある。この色差信号のイントラ予測モードは、輝度信号のイントラ予測モードと独立に設定が可能である。
【０１５４】
また、輝度信号の４×４画素のイントラ予測モード（イントラ４×４予測モード）および８×８画素のイントラ予測モード（イントラ８×８予測モード）については、４×４画素および８×８画素の輝度信号のブロック毎に１つのイントラ予測モードが設定される。輝度信号の１６×１６画素のイントラ予測モード（イントラ１６×１６予測モード）と色差信号のイントラ予測モードについては、１つのマクロブロックに対して１つの予測モードが設定される。
【０１５５】
なお、予測モードの種類は、上述した図５の番号０，１，３乃至８で示される方向に対応している。予測モード２は平均値予測である。
【０１５６】
以上のようにH．264/AVC方式におけるイントラ予測においては、式（１４）乃至式（２４）で上述したように、８×８画素のブロック単位のイントラ予測を行うに先立ってのみ、定められたフィルタ係数で、隣接画素の画素値のフィルタ処理が行われている。これに対して、画像符号化装置５１においては、すべてのイントラ予測モードのイントラ予測を行うに先立ち、予測対象のブロックに応じて設定されたフィルタ係数で隣接画素の画素値のフィルタ処理が行われる。
【０１５７】
［イントラ予測部および隣接画素内挿フィルタ切替部の構成例］
図１４は、図１のイントラ予測部７４および隣接画素内挿フィルタ切替部７５の詳細な構成例を示すブロック図である。
【０１５８】
図１４の例の場合、イントラ予測部７４は、隣接画像設定部８１、予測画像生成部８２、および最適予測モード判定部８３により構成されている。
【０１５９】
隣接画素内挿フィルタ切替部７５は、予測モードバッファ９１、量子化パラメータバッファ９２、およびローパスフィルタ設定部９３により構成されている。なお、ローパスフィルタ設定部９３には、フィルタ係数メモリ９４が内蔵されている。
【０１６０】
隣接画像設定部８１には、フレームメモリ７２からのイントラ予測の対象ブロックの隣接画素値が供給される。図１４の場合、スイッチ７３の図示は省略されているが、実際には、隣接画素値は、フレームメモリ７２から、スイッチ７３を介して隣接画像設定部８１に供給される。なお、イントラ予測の場合、隣接画素値として、デブロックフィルタ７１によりデブロックフィルタリングされていない画素値が用いられる。
【０１６１】
隣接画素設定部８１は、ローパスフィルタ設定部９３により設定されたフィルタ係数を用いて、フレームメモリ７２からの対象ブロックの隣接画素値に対して、フィルタ処理を施し、フィルタ処理された隣接画素値を、予測画像生成部８２に供給する。
【０１６２】
予測画像生成部８２は、現在処理されているイントラ予測モードがどのモードであるのかという情報を、予測モードバッファ９１に供給する。予測画像生成部８２は、隣接画素設定部８１からのフィルタ処理された隣接画素値を用いて、予測モードバッファ９１に供給したイントラ予測モードでの対象ブロックのイントラ予測を行い、予測画像を生成する。生成された予測画像は、イントラ予測モード情報とともに、最適予測モード判定部８３に供給される。
【０１６３】
最適予測モード判定部８３には、画面並べ替えバッファ６２から読み出されたイントラ予測する画像と、予測画像生成部８２により生成された予測画像と、そのイントラ予測モード情報が供給される。
【０１６４】
最適予測モード判定部８３は、供給された情報を用いて、予測画像を生成したイントラ予測モードに対してコスト関数値を算出し、算出したコスト関数値が最小値を与えるイントラ予測モードを、最適イントラ予測モードとして決定する。最適予測モード判定部８３は、最適イントラ予測モードの予測画像と、対応するコスト関数値を予測画像選択部７７に出力する。
【０１６５】
また、最適予測モード判定部８３は、予測画像選択部７７により最適イントラ予測モードで生成された予測画像が選択された場合、最適イントラ予測モードを示す情報を、可逆符号化部６６に供給する。
【０１６６】
予測モードバッファ９１は、予測画像生成部８２からのイントラ予測モード情報を格納する。量子化パラメータバッファ９２は、レート制御部７８からの量子化パラメータを格納する。
【０１６７】
ローパスフィルタ設定部９３は、予測モードバッファ９１から対象ブロックのイントラ予測モード情報を読み出し、量子化パラメータバッファ９２から対象ブロックに対する量子化パラメータを読み出す。ローパスフィルタ設定部９３は、内蔵するフィルタ係数メモリ９４に記憶されているフィルタ係数の中から、これらの情報に対応するフィルタ係数を設定し、設定したフィルタ係数を、隣接画素設定部８１に供給する。
【０１６８】
フィルタ係数メモリ９４は、後述する図２８の学習装置２５１において、トレーニング画像が用いられて学習されることにより得られた、量子化パラメータおよびイントラ予測モードに対応したフィルタ係数を記憶している。このフィルタ係数は、例えば、スライス毎に、次に説明するように算出されて記憶されたものである。
【０１６９】
［最適フィルタ係数の算出の説明］
次に、図１５を参照して、この隣接画素のフィルタ処理に用いられる、最適なフィルタ係数の算出方法について説明する。なお、図１５の例においては、４×４画素の対象ブロックについて、垂直予測（vertical Prediction）を行う例が示されているが、以下の説明は、どのイントラ予測モードにも適用可能な場合を説明する。
【０１７０】
式（１４）乃至式（２４）で上述した８×８画素のブロック単位のイントラ予測においては、隣接画素に対するローパスフィルタとして、｛1,2,1｝なる３タップのフィルタ係数が定義されているが、３タップの一般形として、{c0,c1,c2}を考えることとする。さらに、本発明においては、オフセット値として、第４のパラメータc3も導入される。
【０１７１】
なお、以下の説明においては、この３タップのフィルタが、スライス毎に設定可能であるとするが、これに限定されず、例えば、シーケンス全体や、ＧＯＰ毎に設定可能であってもよい。
【０１７２】
図１５の例において、akm(0≦k,m≦3)は、対象ブロックに含まれる画素の画素値、bm(-1≦m≦4)は、垂直予測に用いられる隣接画素の画素値である。
【０１７３】
まず、隣接画素値bmに、３タップのフィルタ処理が施されることにより、次の式（６５）に示されるb'm(0≦m≦3)が生成される。
【数１２】
0005597968.tif 000013
すなわち、フィルタ処理がなされ、フィルタ係数が用いられる場合、以下、特に言及しなくても、式（６５）に示されるように、対応するオフセット値も用いられるものとする。換言するに、フィルタ係数とオフセット値は、フィルタ処理に用いられる係数である。同様に、フィルタ係数が符号化されて復号側に送られる場合、対応するオフセット値も符号化されて送られるものとする。
【０１７４】
いま、イントラ予測モードがnであるときの予測画素値をpij(b'm,n);0≦i,j≦3であるとすると、イントラ予測画素値は、図２乃至図１４を参照して上述したように、予測画素は線形な式により生成されるため、次の式（６６）が成り立つ。
【数１３】
0005597968.tif 000014
【０１７５】
このとき、aijを原画像画素値として、対象ブロックΩに対する予測２乗誤差は、次の式（６７）で表される。
【数１４】
0005597968.tif 000015
【０１７６】
ここで、対象スライス内で、イントラ予測モードnとして符号化されるイントラブロックの集合を、Φで表すとして、Φに属するブロックに関する予測２乗誤差の総和は、次の式（６８）で表される。
【数１５】
0005597968.tif 000016
【０１７７】
上述した式（６８）において、Err(Ω∈Φ)を、c0,c1,c2,c3の関数、すなわち、Err(Ω∈Φ；c0,c1,c2,c3)とみなし、Err(Ω∈Φ；c0,c1,c2,c3)を最小とするようなc0,c1,c2,c3が対象スライスにおける最適なフィルタ係数の値ということになる。すなわち、次の式（６９）が成り立つc0,c1,c2,c3を求めればよい。
【数１６】
0005597968.tif 000017
【０１７８】
つまり、式（６９）により、次の式（７０）に示される連立方程式が得られることになる。
【数１７】
0005597968.tif 000018
【０１７９】
行列を用いて、この式（７０）を書きなおすと、式（７１）となる。
【数１８】
0005597968.tif 000019
【０１８０】
この式（７１）を解くことで、対象スライスに対する最適フィルタ係数およびオフセット値{c0,c1,c2,c3}を求めることができる。
【０１８１】
なお、最適フィルタ係数およびオフセット値{c0,c1,c2,c3}は、式（７０）の連立方程式を解くことにより、浮動小数点の値として求められることになるが、図１の画像符号化装置５１と、対応する図２２の画像復号装置１５１に適用する場合には、例えば、８ビットの係数に丸められる。
【０１８２】
すなわち、フィルタ係数は浮動小数点であっても、例えば、フィルタ係数メモリ９４においては、プロセッサのレジスタ長に応じて、ｎビット（ｎは整数）の値として保持される。
【０１８３】
上述した方法と同様の方法を、他のイントラ予測モードにも適用することにより、他のイントラ予測モードにおいても、最適フィルタ係数を求めることができる。また、イントラ４×４予測モードのみならず、イントラ８×８予測モード、イントラ１６×１６予測モード、色差信号に対するイントラ予測モードに対しても、同様の方法により、最適フィルタ係数を求めることができる。
【０１８４】
上記説明においては、それぞれのイントラ予測モードに対して１つのフィルタ係数を求めるとしたが、これに限らず、すべてのイントラ予測モードに対して１つだけフィルタ係数を求めるようにしてもよい。特に、図２乃至図１４を参照して上述したイントラ予測モードは、Vertical(垂直)及びHorizontal（水平）モードに関しては、予測画素値をそのまま使うのに対し、その他のモードに関しては、予測画素の生成に、何らかの平均処理若しくは加重平均処理が行なわれるため、特性が異なる。このため、VerticalおよびHorizontalモードと、それ以外のモードという2つのクラス分類を行い、それぞれのクラスに対してフィルタ係数を算出することで、更なる符号化効率の向上が実現できる。また、例えば、輝度信号については、イントラ４×４予測モードに対して１つ、イントラ８×８予測モードに対して１つ、イントラ１６×１６予測モードに対して１つとしてもよい。色差信号に関しては、例えば、Cb/Crそれぞれに対して別途フィルタ係数を求めてもよい。
【０１８５】
また、上記説明においては、ローパスフィルタ処理のためのフィルタ係数として、{c0,c1,c2}の３タップとしたが、３タップに限らず、何タップのフィルタを使用してもよい。すなわち、タップ数のフィルタ係数＋オフセット値が求められる。ただし、タップ数の増加とともに、解くべき連立方程式の次数が増大する。
【０１８６】
さらに、CIF(Common Intermediate Format)/QCIF(Quarter CIF),SD(Standard Definition),HD(High Definition)などといったように、画枠に応じて異なるフィルタ係数を用意しておき、それを適用することもできる。
【０１８７】
また、上述した方法においては、イントラ予測残差（予測２乗誤差）を最小にすることにより、フィルタ係数の算出を行っている。ただし、フィルタ係数の算出方法は、これに限定されず、例えば、フィルタ係数を復号側に送る必要がある場合には、そのフィルタ係数を送るためのビットを含めた最適化を行ってもよい。
【０１８８】
さらに、上述したフィルタ係数において、次の式（７２）に示されるように、係数の対称性を仮定する。
C0 = C2
・・・（７２）
【０１８９】
すなわち、{c0,c1,c0}のように、フィルタ係数が、０位相に対する係数を中心にして、対称性を有するように算出される。これにより、上述した式（７０）に示される３つの連立方程式を、２つに減らすことが可能である。この結果、演算量を減らすことができる。
【０１９０】
以上の方法を用いて、入力画像に適切なフィルタ係数を設定し、適応的に隣接画素に対するローパスフィルタ処理を行うことにより、画像や量子化パラメータ、予測モードに適した予測画像を用いて符号化することが可能となる。これにより、符号化効率を向上させることができる。
【０１９１】
上述した最適フィルタ係数の算出としては、以下の２通りの方法が考えられる。第１の方法は、符号化処理を行うに先立ち、トレーニングのための画像信号を用いて、予め、その画像信号全体を最適化するフィルタ係数を算出しておくオフライン処理である。このオフライン処理である学習処理については、図２８を参照して後述され、その学習処理により算出されたフィルタ係数とオフセット値が、図１４のフィルタ係数メモリ９４に記憶されている。
【０１９２】
第２の方法は、各スライスに対し、逐次最適なフィルタ係数を算出するオンライン処理である。この場合、算出されたフィルタ係数とオフセット値は復号側に送られる。なお、第２の方法であるオンライン処理を行う場合の例については、図２０を参照して後述される。
【０１９３】
［画像符号化装置の符号化処理の説明］
次に、図１６のフローチャートを参照して、図１の画像符号化装置５１の符号化処理について説明する。
【０１９４】
ステップＳ１１において、Ａ／Ｄ変換部６１は入力された画像をＡ／Ｄ変換する。ステップＳ１２において、画面並べ替えバッファ６２は、Ａ／Ｄ変換部６１より供給された画像を記憶し、各ピクチャの表示する順番から符号化する順番への並べ替えを行う。
【０１９５】
ステップＳ１３において、演算部６３は、ステップＳ１２で並び替えられた画像と予測画像との差分を演算する。予測画像は、インター予測する場合は動き予測・補償部７６から、イントラ予測する場合はイントラ予測部７４から、それぞれ予測画像選択部７７を介して演算部６３に供給される。
【０１９６】
差分データは元の画像データに較べてデータ量が小さくなっている。したがって、画像をそのまま符号化する場合に較べて、データ量を圧縮することができる。
【０１９７】
ステップＳ１４において、直交変換部６４は演算部６３から供給された差分情報を直交変換する。具体的には、離散コサイン変換、カルーネン・レーベ変換等の直交変換が行われ、変換係数が出力される。ステップＳ１５において、量子化部６５は変換係数を量子化する。この量子化に際しては、後述するステップＳ２５の処理で説明されるように、レートが制御される。
【０１９８】
以上のようにして量子化された差分情報は、次のようにして局部的に復号される。すなわち、ステップＳ１６において、逆量子化部６８は量子化部６５により量子化された変換係数を量子化部６５の特性に対応する特性で逆量子化する。ステップＳ１７において、逆直交変換部６９は逆量子化部６８により逆量子化された変換係数を直交変換部６４の特性に対応する特性で逆直交変換する。
【０１９９】
ステップＳ１８において、演算部７０は、予測画像選択部７７を介して入力される予測画像を局部的に復号された差分情報に加算し、局部的に復号された画像（演算部６３への入力に対応する画像）を生成する。ステップＳ１９においてデブロックフィルタ７１は、演算部７０より出力された画像をフィルタリングする。これによりブロック歪みが除去される。ステップＳ２０においてフレームメモリ７２は、フィルタリングされた画像を記憶する。なお、フレームメモリ７２にはデブロックフィルタ７１によりフィルタ処理されていない画像も演算部７０から供給され、記憶される。
【０２００】
ステップＳ２１において、イントラ予測部７４および動き予測・補償部７６は、それぞれ画像の予測処理を行う。すなわち、ステップＳ２１において、イントラ予測部７４は、イントラ予測モードのイントラ予測処理を行う。動き予測・補償部７６は、インター予測モードの動き予測・補償処理を行う。
【０２０１】
ステップＳ２１における予測処理の詳細は、図１７を参照して後述するが、この処理により、候補となる全ての予測モードでの予測処理がそれぞれ行われ、候補となる全ての予測モードでのコスト関数値がそれぞれ算出される。そして、算出されたコスト関数値に基づいて、最適イントラ予測モードが選択され、最適イントラ予測モードのイントラ予測により生成された予測画像とそのコスト関数値が予測画像選択部７７に供給される。
【０２０２】
なお、このとき、イントラ予測部７４においては、イントラ予測処理に先立ち、隣接画素内挿フィルタ切替部７５により設定されたフィルタ係数を用いて、各対象ブロックのイントラ予測に用いられる隣接画素に対して、フィルタ処理が施される。そして、イントラ予測部７４においては、フィルタ処理が施された隣接画素を用いて、イントラ予測が行われて、予測画像が生成される。
【０２０３】
ステップＳ２２において、予測画像選択部７７は、イントラ予測部７４および動き予測・補償部７６より出力された各コスト関数値に基づいて、最適イントラ予測モードと最適インター予測モードのうちの一方を、最適予測モードに決定する。そして、予測画像選択部７７は、決定した最適予測モードの予測画像を選択し、演算部６３，７０に供給する。この予測画像が、上述したように、ステップＳ１３，Ｓ１８の演算に利用される。
【０２０４】
なお、この予測画像の選択情報は、イントラ予測部７４または動き予測・補償部７６に供給される。最適イントラ予測モードの予測画像が選択された場合、イントラ予測部７４は、最適イントラ予測モードを示す情報（すなわち、イントラ予測モード情報）を、可逆符号化部６６に供給する。
【０２０５】
最適インター予測モードの予測画像が選択された場合、動き予測・補償部７６は、最適インター予測モードを示す情報と、必要に応じて、最適インター予測モードに応じた情報を可逆符号化部６６に出力する。最適インター予測モードに応じた情報としては、動きベクトル情報やフラグ情報、参照フレーム情報などがあげられる。すなわち、最適インター予測モードとして、インター予測モードによる予測画像が選択されているときには、動き予測・補償部７６は、インター予測モード情報、動きベクトル情報、参照フレーム情報を可逆符号化部６６に出力する。
【０２０６】
ステップＳ２３において、可逆符号化部６６は量子化部６５より出力された量子化された変換係数を符号化する。すなわち、差分画像が可変長符号化、算術符号化等の可逆符号化され、圧縮される。このとき、上述したステップＳ２２において可逆符号化部６６に入力された、イントラ予測部７４からの情報、または、動き予測・補償部７６からの情報、および、レート制御部７８からの量子化パラメータなども符号化され、ヘッダ情報に付加される。
【０２０７】
ステップＳ２４において蓄積バッファ６７は差分画像を圧縮画像として蓄積する。蓄積バッファ６７に蓄積された圧縮画像が適宜読み出され、伝送路を介して復号側に伝送される。
【０２０８】
ステップＳ２５においてレート制御部７８は、蓄積バッファ６７に蓄積された圧縮画像に基づいて、オーバーフローあるいはアンダーフローが発生しないように、量子化パラメータにより、量子化部６５の量子化動作のレートを制御する。
【０２０９】
量子化部６５のレートの制御に用いられた量子化パラメータは、可逆符号化部６６に供給され、上述したステップＳ２３において、可逆符号化処理され、圧縮画像のヘッダ部に挿入される。また、この量子化パラメータは、隣接画素内挿フィルタ切替部７５に供給され、上述したステップＳ２１において、イントラ予測に先立って行われる、隣接画素に施すフィルタ処理に用いられるフィルタ係数の設定に用いられる。
【０２１０】
［予測処理の説明］
次に、図１７のフローチャートを参照して、図１６のステップＳ２１における予測処理を説明する。
【０２１１】
画面並べ替えバッファ６２から供給される処理対象の画像がイントラ処理されるブロックの画像である場合、参照される復号済みの画像がフレームメモリ７２から読み出され、スイッチ７３を介してイントラ予測部７４に供給される。
【０２１２】
ステップＳ３１において、イントラ予測部７４は、供給された画像を用いて、処理対象のブロックの画素を、候補となる全てのイントラ予測モードでイントラ予測する。なお、参照される復号済みの画素としては、デブロックフィルタ７１によりデブロックフィルタリングされていない画素が用いられる。
【０２１３】
ステップＳ３１におけるイントラ予測処理の詳細は、図１８を参照して後述するが、この処理により、最適なフィルタ係数が設定され、設定されたフィルタ係数が用いられて、隣接画素に対してフィルタ処理が行われる。そして、フィルタ処理が行われた隣接画素が用いられて、イントラ予測が行われて、予測画像が生成される。
【０２１４】
以上の処理が、候補となる全てのイントラ予測モードに対して行われ、候補となる全てのイントラ予測モードに対してコスト関数値が算出され、算出されたコスト関数値に基づいて、最適イントラ予測モードが決定される。生成された予測画像と最適イントラ予測モードのコスト関数値は、予測画像選択部７７に供給される。
【０２１５】
画面並べ替えバッファ６２から供給される処理対象の画像がインター処理される画像である場合、参照される画像がフレームメモリ７２から読み出され、スイッチ７３を介して動き予測・補償部７６に供給される。これらの画像に基づいて、ステップＳ３２において、動き予測・補償部７６はインター動き予測処理を行う。すなわち、動き予測・補償部７６は、フレームメモリ７２から供給される画像を参照して、候補となる全てのインター予測モードの動き予測処理を行う。
【０２１６】
ステップＳ３２におけるインター動き予測処理の詳細は、図１９を参照して後述するが、この処理により、候補となる全てのインター予測モードで動き予測処理が行われ、候補となる全てのインター予測モードに対してコスト関数値が算出される。
【０２１７】
ステップＳ３３において、動き予測・補償部７６は、ステップＳ３２において算出されたインター予測モードに対してのコスト関数値を比較し、最小値を与える予測モードを、最適インター予測モードとして決定する。そして、動き予測・補償部７６は、最適インター予測モードで生成された予測画像とそのコスト関数値を、予測画像選択部７７に供給する。
【０２１８】
［イントラ予測処理の説明］
次に、図１８のフローチャートを参照して、図１７のステップＳ３１におけるイントラ予測処理を説明する。なお、図１８の例においては、輝度信号の場合を例として説明する。
【０２１９】
レート制御部７８は、上述した図１６のステップＳ２５において、対象ブロックに対する量子化パラメータを供給してくる。量子化パラメータバッファ９２は、ステップＳ４１において、レート制御部７８からの対象ブロックに対する量子化パラメータを取得し、格納する。
【０２２０】
予測画像生成部８２は、ステップＳ４２において、４×４画素、８×８画素、および１６×１６画素の各イントラ予測モードのうち、１つのイントラ予測モードを選択する。選択したイントラ予測モードの情報は、予測モードバッファ９１に格納される。
【０２２１】
ローパスフィルタ設定部９３は、予測モードバッファ９１からイントラ予測モードの情報を読み出し、量子化パラメータバッファ９２から量子化パラメータ値を読み出す。そして、ローパスフィルタ設定部９３は、ステップＳ４３において、フィルタ係数メモリ９４に記憶されている、スライス毎に算出されたフィルタ係数の中から、イントラ予測モードおよび量子化パラメータに対応するフィルタ係数を設定する。設定されたフィルタ係数は、隣接画素設定部８１に供給される。
【０２２２】
ステップＳ４４において、隣接画素設定部８１は、設定されたフィルタ係数を用いて、対象ブロックの隣接画素値に対してフィルタ処理を行い、フィルタ処理された隣接画素値を、予測画像生成部８２に供給する。
【０２２３】
ステップＳ４３において、予測画像生成部８２は、フィルタ処理された隣接画素値を用いて、ステップＳ４２で選択されたイントラ予測モードで、対象ブロックのイントラ予測を行い、予測画像を生成する。
【０２２４】
最適予測モード判定部８３には、画面並べ替えバッファ６２から読み出されたイントラ予測する画像と、予測画像生成部８２により生成された予測画像と、そのイントラ予測モード情報が供給される。
【０２２５】
最適予測モード判定部８３は、ステップＳ４６において、供給された情報を用いて、予測画像を生成したイントラ予測モードに対してコスト関数値を算出する。ここで、コスト関数値としては、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 モードにおいては、全ての予測モードに対して、予測画像を生成するのみで、符号化処理および復号処理を行う必要がないため、演算量が少なくて済む。
【０２３１】
最適予測モード判定部８３は、ステップＳ４７において、全てのイントラ予測モードについての処理が終了したか否かを判定する。すなわち、ステップＳ４７においては、４×４画素、８×８画素、および１６×１６画素の各イントラ予測モードすべてについて、ステップＳ４２乃至Ｓ４６の処理が行われたか否かが判定される。
【０２３２】
ステップＳ４７において、全てのイントラ予測モードについての処理が終了していないと判定された場合、処理は、ステップＳ４２に戻り、それ以降の処理が繰り返される。
【０２３３】
ステップＳ４７において、全てのイントラ予測モードについての処理が終了されたと判定された場合、処理は、ステップＳ４８に進む。最適予測モード判定部８３は、ステップＳ４８において、算出されたコスト関数値が最小値となるイントラ予測モードを、最適イントラ予測モードとして決定する。
【０２３４】
最適イントラ予測モードの予測画像と、対応するコスト関数値は、予測画像選択部７７に供給される。
【０２３５】
そして、予測画像選択部７７により最適イントラ予測モードで生成された予測画像が選択された場合、最適予測モード判定部８３により、最適イントラ予測モードを示す情報は、可逆符号化部６６に供給される。そして、可逆符号化部６６において、符号化され、圧縮画像のヘッダ情報に付加される（上述した図１６のステップＳ２３）。
【０２３６】
なお、フィルタ係数メモリ９４に記憶されている、学習処理により算出されたフィルタ係数は、後述する図２２の画像復号装置１５１にも同様に記憶させることにより、設定されたフィルタ係数を、圧縮画像のヘッダ情報に付加し、それを送ることは不要となる。
【０２３７】
したがって、H．264/AVCの場合、量子化パラメータは、５１通りあり、イントラ予測モードは、４×４または８×８については９通りあり、これらの組み合わせを考えると、５１×９＝４５９通りという膨大なフィルタ係数が必要となる。このように膨大なフィルタ係数に関する情報を復号側に送る必要がないので、係数情報のオーバヘッドを増大させることなく、処理を実現することができる。
【０２３８】
［インター動き予測処理の説明］
次に、図１９のフローチャートを参照して、図１７のステップＳ３２のインター動き予測処理について説明する。
【０２３９】
動き予測・補償部７６は、ステップＳ６１において、１６×１６画素乃至４×４画素からなる８種類の各インター予測モードに対して動きベクトルと参照画像をそれぞれ決定する。すなわち、各インター予測モードの処理対象のブロックについて、動きベクトルと参照画像がそれぞれ決定される。
【０２４０】
動き予測・補償部７６は、ステップＳ６２において、１６×１６画素乃至４×４画素からなる８種類の各インター予測モードについて、ステップＳ６１で決定された動きベクトルに基づいて、参照画像に動き予測と補償処理を行う。この動き予測と補償処理により、各インター予測モードでの予測画像が生成される。
【０２４１】
動き予測・補償部７６は、ステップＳ６３において、１６×１６画素乃至４×４画素からなる８種類の各インター予測モードに対して決定された動きベクトルについて、圧縮画像に付加するための動きベクトル情報を生成する。
【０２４２】
生成された動きベクトル情報は、次のステップＳ６４におけるコスト関数値算出の際にも用いられ、最終的に予測画像選択部７７により対応する予測画像が選択された場合には、予測モード情報および参照フレーム情報とともに、可逆符号化部６６へ出力される。
【０２４３】
動き予測・補償部７６は、ステップＳ６４において、１６×１６画素乃至４×４画素からなる８種類の各インター予測モードに対して、上述した式（７３）または式（７４）で示されるコスト関数値を算出する。ここで算出されたコスト関数値は、上述した図１７のステップＳ３４で最適インター予測モードを決定する際に用いられる。
【０２４４】
次に、図２０を参照して、最適フィルタ係数を算出する第２の方法としての、各スライスに対し、逐次最適なフィルタ係数を算出するオンライン処理を行う場合の例について説明する。
【０２４５】
なお、この場合、各スライスに対して、符号化側で算出されたフィルタ係数を、復号側に送る必要があり、あまりに多くの場合わけされたフィルタ係数を送ることは、符号化効率の低下を招く。したがって、フィルタ係数は、スライスに対して１つだけ伝送されるか、各ブロックサイズ毎の予測モードのそれぞれに１つだけ伝送されるか、あるいは、水平予測、垂直予測、…といった予測モードの種類に対して１つだけ伝送される。
【０２４６】
また、上述したオフライン処理の場合には、フィルタ係数を算出するためのパラメータとして、イントラ予測モードと量子化パラメータを用いる例を説明した。これに対して、オンライン処理の場合、フィルタ係数を算出するためのパラメータが多いと処理量が増えてしまうため、図２０の例においては、イントラ予測モードのみをパラメータとした例を説明する。説明は省略するが、もちろん、量子化パラメータのみを用いてもよいし、両方のパラメータを用いることもできる。
【０２４７】
［イントラ予測部および隣接画素内挿フィルタ切替部の他の構成例］
図２０は、各スライスに対し、逐次最適なフィルタ係数を算出するオンライン処理を行う場合のイントラ予測部７４および隣接画素内挿フィルタ切替部７５の他の構成例を示すブロック図である。
【０２４８】
図２０の例の場合、イントラ予測部７４と隣接画素内挿フィルタ切替部７５との間には、スイッチ１０１が設けられており、スイッチ１０１のオンオフにより、図１４の場合と異なり、イントラ予測部７４は、２回イントラ予測を行う。すなわち、イントラ予測部７４においては、スイッチ１０１がオフの状態で、H．264/AVCで定義されているイントラ予測が行われ、そのイントラ予測に適するフィルタ係数が算出される。そして、算出されたフィルタ係数の中から、スイッチ１０１がオンの状態で、隣接画素内挿フィルタ切替部７５により設定されたフィルタ係数でのイントラ予測が行われる。
【０２４９】
図２０のイントラ予測部７４は、隣接画像設定部１１１、予測画像生成部１１２、および最適予測モード判定部１１３により構成されている。
【０２５０】
隣接画素内挿フィルタ切替部７５は、予測モードバッファ１２１、最適フィルタ算出部１２２、およびローパスフィルタ設定部１２３により構成されている。
【０２５１】
隣接画像設定部１１１には、フレームメモリ７２からのイントラ予測の対象スライスのすべての対象ブロックの隣接画素値が供給される。図２０の場合も、スイッチ７３の図示は省略されている。なお、イントラ予測の場合、隣接画素値として、デブロックフィルタ７１によりデブロックフィルタリングされていない画素値が用いられる。
【０２５２】
隣接画素設定部１１１は、スイッチ１０１がオフ状態の場合、H．264/AVCで定義されているイントラ予測モードのみ、フィルタ係数を用いて、フレームメモリ７２からの対象ブロックの隣接画素値に対して、フィルタ処理を施し、予測画像生成部１１２に供給する。すなわち、式（１４）乃至式（２４）に上述した８×８画素予測モードの場合のみ、フィルタ処理が施された隣接画素値が、予測画像生成部１１２に供給される。それ以外の場合、フレームメモリ７２からの対象ブロックの隣接画素値がそのまま、予測画像生成部１１２に供給される。
【０２５３】
隣接画素設定部１１１は、スイッチ１０１がオン状態の場合、ローパスフィルタ設定部１２３から、フィルタ係数が供給される。よって、隣接画素設定部１１１は、ローパスフィルタ設定部１２３により設定されたフィルタ係数を用いて、フレームメモリ７２からの対象ブロックの隣接画素値に対して、フィルタ処理を施し、フィルタ処理された隣接画素値を、予測画像生成部１１２に供給する。
【０２５４】
予測画像生成部１１２は、隣接画素設定部１１１からの隣接画素値を用いて、すべてのイントラ予測モードでの対象ブロックのイントラ予測を行い、予測画像を生成する。生成された予測画像は、イントラ予測モード情報とともに、最適予測モード判定部１１３に供給される。
【０２５５】
最適予測モード判定部１１３には、画面並べ替えバッファ６２から読み出されたイントラ予測する画像と、予測画像生成部１１２により生成された予測画像と、そのイントラ予測モード情報が供給される。
【０２５６】
最適予測モード判定部１１３は、供給された情報を用いて、予測画像を生成したイントラ予測モードに対してコスト関数値を算出し、算出したコスト関数値が最小値を与えるイントラ予測モードを、最適イントラ予測モードとして決定する。
【０２５７】
最適予測モード判定部１１３は、スイッチ１０１がオフ状態の場合、最適イントラ予測モードの情報を予測モードバッファ１２１に供給する。最適予測モード判定部１１３は、スイッチ１０１がオン状態の場合、最適イントラ予測モードの予測画像と、対応するコスト関数値を予測画像選択部７７に供給する。
【０２５８】
また、最適予測モード判定部１１３は、予測画像選択部７７により最適イントラ予測モードで生成された予測画像が選択された場合、最適イントラ予測モードを示す情報を、可逆符号化部６６に供給する。
【０２５９】
予測モードバッファ１２１は、最適予測モード判定部１１３からのイントラ予測モード情報を格納する。
【０２６０】
最適フィルタ算出部１２２には、画面並べ替えバッファ６２から読み出されたイントラ予測する画像と、フレームメモリ７２からの対象ブロックの隣接画素値が供給される。最適フィルタ算出部１２２は、予測モードバッファ１２１から対象スライスに含まれる各ブロックのイントラ予測モードを読み出す。そして、最適フィルタ算出部１２２は、これらの情報を用いて、図１５を参照して上述したように、対象スライスの各イントラ予測モードに対する最適なフィルタ係数を算出し、算出したフィルタ係数を、ローパスフィルタ設定部１２３に供給する。
【０２６１】
ローパスフィルタ設定部１２３は、算出された対象スライスのフィルタ係数の中から、対象ブロックに対するフィルタ係数を設定し、スイッチ１０１の端子をオンにして、設定されたフィルタ係数を、隣接画素設定部１１１に供給する。また、ローパスフィルタ設定部１２３は、対象スライスのフィルタ係数を、可逆符号化部６６に供給する。
【０２６２】
［イントラ予測処理の他の説明］
次に、図２１のフローチャートを参照して、図２０のイントラ予測部７４および隣接画素内挿フィルタ切替部７５が行うイントラ予測処理を説明する。なお、このイントラ予測処理は、図１７のステップＳ３１におけるイントラ予測処理の他の例である。
【０２６３】
まず、スイッチ１０１はオフ状態となっている。隣接画像設定部１１１には、フレームメモリ７２からのイントラ予測の対象スライスのすべての対象ブロックの隣接画素値が供給される。隣接画素設定部１１１は、H．264/AVCで定義されている８×８画素のイントラ予測モードのみ、フィルタ係数を用いて、フレームメモリ７２からの対象ブロックの隣接画素値に対して、フィルタ処理を施し、予測画像生成部１１２に供給する。すなわち、他のイントラ予測モードの場合、フレームメモリ７２からの対象ブロックの隣接画素値が、そのまま、予測画像生成部１１２に供給される。
【０２６４】
予測画像生成部１１２は、ステップＳ１０１において、対象スライスに含まれるすべてのブロックに対して、イントラ予測処理を行う。すなわち、予測画像生成部１１２は、隣接画素設定部１１１からの対象ブロックの隣接画素値を用いて、各イントラ予測モードで、イントラ予測を行い、予測画像を生成する。
【０２６５】
最適予測モード判定部１１３には、画面並べ替えバッファ６２から読み出されたイントラ予測する画像と、予測画像生成部１１２により生成された予測画像と、そのイントラ予測モード情報が供給される。
【０２６６】
最適予測モード判定部１１３は、ステップＳ１０２において、供給された情報を用いて、予測画像を生成した全てのイントラ予測モードに対して、上述した式（７３）または式（７４）のコスト関数値を算出する。
【０２６７】
最適予測モード判定部１１３は、ステップＳ１０３において、式（７３）または式（７４）のコスト関数を最小値とするイントラ予測モードを、最適イントラ予測モードとして決定し、決定したイントラ予測モードの情報を、予測モードバッファ１２１に供給する。
【０２６８】
最適フィルタ算出部１２２には、画面並べ替えバッファ６２から読み出されたイントラ予測する画像と、フレームメモリ７２からの対象ブロックの隣接画素値が供給される。最適フィルタ算出部１２２は、予測モードバッファ１２１から対象スライスに含まれる各ブロックのイントラ予測モードを読み出す。
【０２６９】
そして、最適フィルタ算出部１２２は、ステップＳ１０４において、これらの情報を用いて、対象スライスの各イントラ予測モードに対して、対象スライス全体での残差を最小にするフィルタ係数を、最適なフィルタ係数として算出する。図１５を参照して上述したように算出されたフィルタ係数は、ローパスフィルタ設定部１２３に供給される。
【０２７０】
ローパスフィルタ設定部１２３は、算出された対象スライスのフィルタ係数の中から、対象ブロックに対するフィルタ係数を設定し、スイッチ１０１の端子をオンにして、設定されたフィルタ係数を、隣接画素設定部１１１に供給する。
【０２７１】
隣接画素設定部１１１は、ステップＳ１０５において、ローパスフィルタ設定部１２３により設定されたフィルタ係数を用いて、フレームメモリ７２からの対象ブロックの隣接画素値に対して、フィルタ処理を行う。
【０２７２】
フィルタ処理された隣接画素値は、予測画像生成部１１２に供給される。予測画像生成部１１２は、ステップＳ１０６において、フィルタ処理された隣接画素値を用いて、対象スライスに含まれる、全てのブロックに対して、再びイントラ予測を行い、予測画像を生成する。生成された予測画像は、イントラ予測モード情報とともに、最適予測モード判定部１１３に供給される。
【０２７３】
最適予測モード判定部１１３は、スイッチ１０１がオン状態の場合、最適イントラ予測モードの予測画像と、対応するコスト関数値を予測画像選択部７７に供給する。
【０２７４】
予測画像選択部７７は、上述した図１６のステップＳ２２において、最適イントラ予測モードと最適インター予測モードのうちの一方を、最適予測モードに決定して、予測画像の選択情報を供給してくる。
【０２７５】
この予測画像の選択情報に対応して、最適予測モード判定部１１３は、ステップＳ１０７において、最適イントラ予測モードの予測画像が選択されたか否かを判定する。ステップＳ１０７において、最適イントラ予測モードの予測画像が選択されたと判定された場合、処理は、ステップＳ１０８に進む。
【０２７６】
ステップＳ１０８において、最適予測モード判定部１１３は、イントラ予測モードの情報を、可逆符号化部６６に供給する。なお、対象スライスにおいて、まだ、フィルタ係数が供給されていない場合には、最適フィルタ算出部１２２からのフィルタ係数も可逆符号化部６６に供給される。
【０２７７】
ステップＳ１０７において、最適イントラ予測モードの予測画像が選択されていないと判定された場合、イントラ予測処理は終了される。
【０２７８】
なお、上述したステップＳ１０４乃至Ｓ１０６の処理を繰り返すことにより、さらに最適化されたフィルタ係数を得ることも可能である。
【０２７９】
符号化された圧縮画像は、所定の伝送路を介して伝送され、画像復号装置により復号される。
【０２８０】
［画像復号装置の構成例］
図２２は、本発明を適用した画像処理装置としての画像復号装置の一実施の形態の構成を表している。
【０２８１】
画像復号装置１５１は、蓄積バッファ１６１、可逆復号部１６２、逆量子化部１６３、逆直交変換部１６４、演算部１６５、デブロックフィルタ１６６、画面並べ替えバッファ１６７、Ｄ／Ａ変換部１６８、フレームメモリ１６９、スイッチ１７０、イントラ予測部１７１、隣接画素内挿フィルタ切替部１７２、動き予測・補償部１７３、およびスイッチ１７４により構成されている。
【０２８２】
蓄積バッファ１６１は伝送されてきた圧縮画像を蓄積する。可逆復号部１６２は、蓄積バッファ１６１より供給された、図１の可逆符号化部６６により符号化された情報を、可逆符号化部６６の符号化方式に対応する方式で復号する。逆量子化部１６３は可逆復号部１６２により復号された画像を、図１の量子化部６５の量子化方式に対応する方式で逆量子化する。逆直交変換部１６４は、図１の直交変換部６４の直交変換方式に対応する方式で逆量子化部１６３の出力を逆直交変換する。
【０２８３】
逆直交変換された出力は演算部１６５によりスイッチ１７４から供給される予測画像と加算されて復号される。デブロックフィルタ１６６は、復号された画像のブロック歪を除去した後、フレームメモリ１６９に供給し、蓄積させるとともに、画面並べ替えバッファ１６７に出力する。
【０２８４】
画面並べ替えバッファ１６７は、画像の並べ替えを行う。すなわち、図１の画面並べ替えバッファ６２により符号化の順番のために並べ替えられたフレームの順番が、元の表示の順番に並べ替えられる。Ｄ／Ａ変換部１６８は、画面並べ替えバッファ１６７から供給された画像をＤ／Ａ変換し、図示せぬディスプレイに出力し、表示させる。
【０２８５】
スイッチ１７０は、インター処理される画像と参照される画像をフレームメモリ１６９から読み出し、動き予測・補償部１７３に出力するとともに、イントラ予測に用いられる画像をフレームメモリ１６９から読み出し、イントラ予測部１７１に供給する。
【０２８６】
イントラ予測部１７１には、ヘッダ情報を復号して得られたイントラ予測モードを示す情報が、可逆復号部１６２から供給される。イントラ予測部１７１は、これらの情報に基づき、隣接画素内挿フィルタ切替部１７２により設定されたフィルタ係数を用いて、隣接画素値に対してフィルタ処理およびイントラ予測を行うことで、予測画像を生成し、生成した予測画像を、スイッチ１７４に出力する。
【０２８７】
隣接画素内挿フィルタ切替部１７２には、画像符号化装置５１での符号化に応じて、ヘッダ情報を復号して得られたイントラ予測モードを示す情報と量子化パラメータの情報の少なくとも１つが、可逆復号部１６２から供給される。隣接画素内挿フィルタ切替部１７２は、図１の隣接画素内挿フィルタ切替部７５と同じ、後述する図２８の学習装置２５１において学習されることにより得られた、量子化パラメータおよびイントラ予測モードの少なくとも１つに対応したフィルタ係数を記憶している。
【０２８８】
隣接画素内挿フィルタ切替部１７２は、可逆復号部１６２からの量子化パラメータおよびイントラ予測モードの少なくとも１つに対応するフィルタ係数を設定する。隣接画素内挿フィルタ切替部１７２は、設定したフィルタ係数を、イントラ予測部７４に供給する。
【０２８９】
なお、隣接画素内挿フィルタ切替部１７２においては、予めオフラインで学習されたフィルタ係数が記憶されている。ただし、図１の隣接画素内挿フィルタ切替部７５において、オンラインでフィルタ係数が算出された場合には、そのフィルタ係数が例えば、スライス毎に送信されてくる。この場合、隣接画素内挿フィルタ切替部１７２においては、可逆復号部１６２により復号されるフィルタ係数が用いられる。
【０２９０】
動き予測・補償部１７３には、ヘッダ情報を復号して得られた情報（予測モード情報、動きベクトル情報、参照フレーム情報）が可逆復号部１６２から供給される。インター予測モードを示す情報が供給された場合、動き予測・補償部１７３は、動きベクトル情報と参照フレーム情報に基づいて画像に動き予測と補償処理を施し、予測画像を生成する。動き予測・補償部１７３は、インター予測モードにより生成された予測画像をスイッチ１７４に出力する。
【０２９１】
スイッチ１７４は、動き予測・補償部１７３またはイントラ予測部１７１により生成された予測画像を選択し、演算部１６５に供給する。
【０２９２】
なお、図１の画像符号化装置５１においては、コスト関数に基づく予測モード判定のため、すべてのイントラ予測モードに対してイントラ予測処理が行われる。これに対して、この画像復号装置１５１においては、符号化されて送られてくるイントラ予測モードの情報に基づいてのみイントラ予測処理が行われる。
【０２９３】
［イントラ予測部および隣接画素内挿フィルタ切替部の構成例］
図２３は、イントラ予測部および隣接画素内挿フィルタ切替部の詳細な構成例を示すブロック図である。なお、図２３の機能ブロックは、図１４に示された画像符号化装置５１のオフライン処理の場合の機能ブロックに対応するものである。
【０２９４】
図２３の例の場合、イントラ予測部１７１は、予測画像生成部１８１、および隣接画素設定部１８２により構成されている。隣接画素内挿フィルタ切替部１７２は、予測モードバッファ１９１、量子化パラメータバッファ１９２、およびローパスフィルタ設定部１９３により構成されている。なお、ローパスフィルタ設定部１９３には、フィルタ係数メモリ１９４が内蔵されている。
【０２９５】
予測画像生成部１８１には、可逆復号部１６２からのイントラ予測モード情報、隣接画素設定部１８２からフィルタ処理された隣接画素値が供給される。予測画像生成部１８１は、供給された隣接画素値を用いて、可逆復号部１６２からのイントラ予測モードでのイントラ予測を行い、予測画像を生成し、生成した予測画像を、スイッチ１７４に供給する。
【０２９６】
隣接画素設定部１８２には、フレームメモリ１６９からのイントラ予測の対象ブロックの隣接画素値が供給される。図２３の場合、スイッチ１７０の図示は省略されているが、実際には、隣接画素値は、フレームメモリ１６９から、スイッチ１７０を介して隣接画像設定部１８２に供給される。
【０２９７】
隣接画素設定部１８２は、ローパスフィルタ設定部１９３により設定されたフィルタ係数を用いて、フレームメモリ１６９からの対象ブロックの隣接画素値に対して、フィルタ処理を施し、フィルタ処理された隣接画素値を、予測画像生成部１８１に供給する。
【０２９８】
予測モードバッファ１９１は、可逆復号部１６２からのイントラ予測モード情報を格納する。量子化パラメータバッファ１９２は、可逆復号部１６２からの量子化パラメータを格納する。
【０２９９】
ローパスフィルタ設定部１９３は、予測モードバッファ１９１から対象ブロックのイントラ予測モード情報を読み出し、量子化パラメータバッファ１９２から対象ブロックに対する量子化パラメータを読み出す。ローパスフィルタ設定部１９３は、内蔵するフィルタ係数メモリ１９４に記憶されているフィルタ係数の中から、これらの情報に対応するフィルタ係数を設定し、設定したフィルタ係数を、隣接画素設定部１８２に供給する。
【０３００】
フィルタ係数メモリ１９４は、図１４のフィルタ係数メモリ９４と同様に、後述する図２８の学習装置２５１において学習されることにより得られた、量子化パラメータおよびイントラ予測モードに対応したフィルタ係数を記憶している。
【０３０１】
このフィルタ係数は、例えば、スライス毎に、図１５を参照して上述したように算出されて記憶されたものである。なお、フィルタ係数メモリ１９４においても、フィルタ係数は、プロセッサのレジスタ長に応じて、ｎビット（ｎは整数）の値として保持される。
【０３０２】
［画像復号装置の復号処理の説明］
次に、図２４のフローチャートを参照して、画像復号装置１５１が実行する復号処理について説明する。
【０３０３】
ステップＳ１３１において、蓄積バッファ１６１は伝送されてきた画像を蓄積する。ステップＳ１３２において、可逆復号部１６２は、蓄積バッファ１６１から供給される圧縮画像を復号する。すなわち、図１の可逆符号化部６６により符号化されたＩピクチャ、Ｐピクチャ、並びにＢピクチャが復号される。
【０３０４】
このとき、動きベクトル情報、参照フレーム情報、予測モード情報（イントラ予測モード、またはインター予測モードを示す情報）、量子化パラメータの情報、およびフラグ情報なども復号される。
【０３０５】
すなわち、予測モード情報がイントラ予測モード情報である場合、予測モード情報は、イントラ予測部１７１および隣接画素内挿フィルタ切替部１７２に供給される。また、量子化パラメータの情報が復号された場合には、これも隣接画素内挿フィルタ切替部１７２に供給される。予測モード情報がインター予測モード情報である場合、予測モード情報と対応する動きベクトル情報および参照フレーム情報は、動き予測・補償部１７３に供給される。
【０３０６】
ステップＳ１３３において、逆量子化部１６３は可逆復号部１６２により復号された変換係数を、図１の量子化部６５の特性に対応する特性で逆量子化する。ステップＳ１３４において逆直交変換部１６４は逆量子化部１６３により逆量子化された変換係数を、図１の直交変換部６４の特性に対応する特性で逆直交変換する。これにより図１の直交変換部６４の入力（演算部６３の出力）に対応する差分情報が復号されたことになる。
【０３０７】
ステップＳ１３５において、演算部１６５は、後述するステップＳ１４１の処理で選択され、スイッチ１７４を介して入力される予測画像を差分情報と加算する。これにより元の画像が復号される。ステップＳ１３６においてデブロックフィルタ１６６は、演算部１６５より出力された画像をフィルタリングする。これによりブロック歪みが除去される。ステップＳ１３７においてフレームメモリ１６９は、フィルタリングされた画像を記憶する。
【０３０８】
ステップＳ１３８において、イントラ予測部１７１、および動き予測・補償部１７３は、可逆復号部１６２から供給される予測モード情報に対応して、それぞれ画像の予測処理を行う。
【０３０９】
すなわち、可逆復号部１６２からイントラ予測モード情報が供給された場合、イントラ予測部１７１は、イントラ予測モードのイントラ予測処理を行う。このとき、イントラ予測部１７１は、隣接画素内挿フィルタ切替部１７２により設定されたフィルタ係数を用いて、隣接画素に対してのフィルタ処理およびイントラ予測処理を行う。
【０３１０】
ステップＳ１３８における予測処理の詳細は、図２５を参照して後述するが、この処理により、イントラ予測部１７１により生成された予測画像、または動き予測・補償部１７３により生成された予測画像がスイッチ１７４に供給される。
【０３１１】
ステップＳ１３９において、スイッチ１７４は予測画像を選択する。すなわち、イントラ予測部１７１により生成された予測画像、または動き予測・補償部１７３により生成された予測画像供給される。したがって、供給された予測画像が選択されて演算部１６５に供給され、上述したように、ステップＳ１３４において逆直交変換部１６４の出力と加算される。
【０３１２】
ステップＳ１４０において、画面並べ替えバッファ１６７は並べ替えを行う。すなわち画像符号化装置５１の画面並べ替えバッファ６２により符号化のために並べ替えられたフレームの順序が、元の表示の順序に並べ替えられる。
【０３１３】
ステップＳ１４１において、Ｄ／Ａ変換部１６８は、画面並べ替えバッファ１６７からの画像をＤ／Ａ変換する。この画像が図示せぬディスプレイに出力され、画像が表示される。
【０３１４】
［予測処理の説明］
次に、図２５のフローチャートを参照して、図２４のステップＳ１３８の予測処理を説明する。
【０３１５】
予測画像生成部１８１は、ステップＳ１７１において、対象ブロックがイントラ符号化されているか否かを判定する。可逆復号部１６２からイントラ予測モード情報が予測画像生成部１８１に供給されると、予測画像生成部１８１は、ステップＳ１７１において、対象ブロックがイントラ符号化されていると判定し、処理は、ステップＳ１７２に進む。
【０３１６】
予測画像生成部１８１は、ステップＳ１７２において、可逆復号部１６２からのイントラ予測モード情報を受信、取得する。このとき、予測モードバッファ１９１にも、イントラ予測モード情報が供給され、格納される。
【０３１７】
また、可逆復号部１６２から量子化パラメータの情報が量子化パラメータバッファ１９２に供給されると、量子化パラメータバッファ１９２は、ステップＳ１７３において、量子化パラメータを取得し、格納する。
【０３１８】
ローパスフィルタ設定部１９３は、予測モードバッファ１９１から対象ブロックのイントラ予測モード情報を読み出し、量子化パラメータバッファ１９２から対象ブロックに対する量子化パラメータを読み出す。ローパスフィルタ設定部１９３は、ステップＳ１７４において、内蔵するフィルタ係数メモリ１９４に記憶されているスライス毎のフィルタ係数の中から、これらの情報に対応する、隣接画素に対するフィルタ係数を設定する。設定したフィルタ係数は、隣接画素設定部１８２に供給される。
【０３１９】
隣接画素設定部１８２は、ステップＳ１７５において、ローパスフィルタ設定部１９３により設定されたフィルタ係数を用いて、フレームメモリ１６９からの対象ブロックの隣接画素値に対して、フィルタ処理を施し、フィルタ処理された隣接画素値を、予測画像生成部１８１に供給する。
【０３２０】
予測画像生成部１８１は、隣接画素設定部１８２から供給された隣接画素値を用いて、ステップＳ１７２で取得したイントラ予測モードでのイントラ予測を行い、予測画像を生成する。生成された予測画像は、スイッチ１７４に供給される。
【０３２１】
一方、ステップＳ１７１において、イントラ符号化されていないと判定された場合、処理は、ステップＳ１７７に進む。
【０３２２】
処理対象の画像がインター処理される画像である場合、可逆復号部１６２からインター予測モード情報、参照フレーム情報、動きベクトル情報が動き予測・補償部１７３に供給される。ステップＳ１７７において、動き予測・補償部１７３は、可逆復号部１６２からのインター予測モード情報、参照フレーム情報、動きベクトル情報などを取得する。
【０３２３】
そして、動き予測・補償部１７３は、ステップＳ１７８において、インター動き予測を行う。すなわち、処理対象の画像がインター予測処理される画像である場合、必要な画像がフレームメモリ１６９から読み出され、スイッチ１７０を介して動き予測・補償部１７３に供給される。ステップＳ１７７において動き予測・補償部１７３は、ステップＳ１７６で取得した動きベクトルに基づいて、インター予測モードの動き予測をし、予測画像を生成する。生成した予測画像は、スイッチ１７４に出力される。
【０３２４】
［イントラ予測部および隣接画素内挿フィルタ切替部の他の構成例］
図２６は、イントラ予測部および隣接画素内挿フィルタ切替部の詳細な構成例を示すブロック図である。なお、図２６の機能ブロックは、図２０に示された画像符号化装置５１のオンライン処理の場合の機能ブロックに対応するものである。
【０３２５】
図２６の例の場合、イントラ予測部１７１は、図２３の予測画像生成部１８１、および隣接画素設定部１８２により構成されている。隣接画素内挿フィルタ切替部１７２は、図２３の予測モードバッファ１９１、並びに、内挿フィルタバッファ２０１、およびローパスフィルタ設定部２０２により構成されている。なお、図２６の例において、図２３の場合と対応する部には、対応する符号が付されており、基本的に同様な処理を行うので、その説明は省略する。
【０３２６】
図２６の場合、画像符号化装置５１から対象スライスについて算出されたフィルタ係数が符号化されて送られてくる。したがって、可逆復号部１６２は、それを他の情報とともに復号して、隣接画素内挿フィルタ切替部１７２の内挿フィルタバッファ２０１に供給してくる。
【０３２７】
内挿フィルタバッファ２０１は、可逆復号部１６２からの対象スライスのフィルタ係数を取得し、格納する。
【０３２８】
ローパスフィルタ設定部２０２は、予測モードバッファ１９１から対象ブロックのイントラ予測モード情報を読み出す。ローパスフィルタ設定部２０２は、内挿フィルタバッファ２０１に格納されている対象スライスのフィルタ係数の中から、読み出したイントラ予測モードに対応するフィルタ係数を読み出して、対象ブロックのフィルタ係数として設定する。設定されたフィルタ係数は、隣接画素設定部１８２に供給される。
【０３２９】
［予測処理の他の説明］
次に、図２７のフローチャートを参照して、図２６のイントラ予測部１７１および隣接画素内挿フィルタ切替部１７２の場合の予測処理を説明する。なお、このイントラ予測処理は、図２４のステップＳ１３８における予測処理の他の例である。また、図２７のステップＳ１８１、Ｓ１８２、およびＳ１８５乃至Ｓ１８８の処理は、基本的に、図２５のステップＳ１７１、Ｓ１７２、およびＳ１７５乃至Ｓ１７８と同様の処理を行うので、その詳細な説明は省略される。
【０３３０】
予測画像生成部１８１は、ステップＳ１８１において、対象ブロックがイントラ符号化されているか否かを判定する。可逆復号部１６２からイントラ予測モード情報が予測画像生成部１８１に供給されると、予測画像生成部１８１は、ステップ１８１において、対象ブロックがイントラ符号化されていると判定し、処理は、ステップＳ１８２に進む。
【０３３１】
予測画像生成部１８１は、ステップＳ１８２において、可逆復号部１６２からのイントラ予測モード情報を受信、取得する。このとき、予測モードバッファ１９１にも、イントラ予測モード情報が供給され、格納される。
【０３３２】
また、可逆復号部１６２から対象スライスのフィルタ係数の情報が内挿フィルタバッファ２０１に供給されると、内挿フィルタバッファ２０１は、ステップＳ１８３において、対象スライスのフィルタ係数を取得し、格納する。なお、このフィルタ係数は、スライス毎に供給される。
【０３３３】
ローパスフィルタ設定部２０２は、予測モードバッファ１９１から対象ブロックのイントラ予測モード情報を読み出す。ローパスフィルタ設定部２０２は、ステップＳ１８４において、内挿フィルタバッファ２０１に格納された対象スライスのフィルタ係数の中から、対象ブロックのイントラ予測モードに対応する、隣接画素に対するフィルタ係数を設定する。設定したフィルタ係数は、隣接画素設定部１８２に供給される。
【０３３４】
隣接画素設定部１８２は、ステップＳ１８５において、ローパスフィルタ設定部２０２により設定されたフィルタ係数を用いて、フレームメモリ１６９からの対象ブロックの隣接画素値に対して、フィルタ処理を施し、フィルタ処理された隣接画素値を、予測画像生成部１８１に供給する。
【０３３５】
予測画像生成部１８１は、ステップＳ１８６において、隣接画素設定部１８２から供給された隣接画素値を用いて、ステップＳ１７２で取得したイントラ予測モードでのイントラ予測を行い、予測画像を生成する。生成された予測画像は、スイッチ１７４に供給される。
【０３３６】
一方、ステップＳ１８１において、イントラ符号化されていないと判定された場合、処理は、ステップＳ１８７に進む。
【０３３７】
ステップＳ１８７において、動き予測・補償部１７３は、可逆復号部１６２からのインター予測モード情報、参照フレーム情報、動きベクトル情報などを取得する。
【０３３８】
動き予測・補償部１７３は、ステップＳ１８８において、インター動き予測を行う。この処理により、生成された予測画像は、スイッチ１７４に出力される。
【０３３９】
以上、図１の画像符号化装置５１および図２２の画像復号装置１５１においては、イントラ予測に先立ち、イントラ予測に用いられる隣接画素に対して、画像に適応的に設定されたフィルタ係数を用いて、フィルタ処理が行われる。例えば、イントラ予測のモードや量子化パラメータに応じて、フィルタ係数が設定される。
【０３４０】
これにより、画像やビットレートに応じたノイズ除去を行うことができる。その結果、予測効率を改善することができる。
【０３４１】
図２８は、本発明を適用した学習装置の一実施の形態の構成を表している。図２８の例において、学習装置２５１は、トレーニング画像信号を用いて、フィルタ係数の学習処理を行う。
【０３４２】
なお、トレーニング画像信号とは、フィルタ係数を求めるためのテスト画像のことであり、例えば、www.vqeg.orgにおいて取得可能な画像圧縮符号化の標準化で使われる標準シーケンスを用いてもよい。あるいは、また、各アプリケーションに応じた入力画像を用いてもよい。例えば、入力がカメラ信号である場合には、CCDやCMOSセンサを用いて撮影されたベースバンド信号を用いて学習を行ってもよい。
【０３４３】
図２８の学習装置２５１は、Ａ／Ｄ変換部６１、画面並べ替えバッファ６２、演算部６３、直交変換部６４、量子化部６５、可逆符号化部６６、蓄積バッファ６７、逆量子化部６８、逆直交変換部６９、演算部７０、デブロックフィルタ７１、フレームメモリ７２、スイッチ７３、イントラ予測部７４、動き予測・補償部７６、予測画像選択部７７、およびレート制御部７８を備えている点が、図１の画像符号化装置５１と共通している。
【０３４４】
また、学習装置２５１は、用いられる信号として、トレーニング用の画像信号が用いられる点、並びに、隣接画素内挿フィルタ切替部７５に代えて、隣接画素内挿フィルタ算出部２６１を備えている点が、図１の画像符号化装置５１と異なる。
【０３４５】
具体的には、学習装置２５１においては、Ｉピクチャに含まれるブロックのみが用いられて、学習が行われる。あるいは、学習装置２５１においては、ＢピクチャおよびＰピクチャに含まれるイントラマクロブロック内のブロックのみが用いられて学習が行われる。前者の方が、後者よりも学習に要する演算量は少なくてすむ。また、前者の場合、Ｉピクチャに含まれるブロック求められた係数を、Ｉピクチャに含まれるブロックのみに適用してもよいし、ＢピクチャおよびＰピクチャに含まれるイントラマクロブロックに対してもよい。
【０３４６】
すなわち、学習装置２５１においては、イントラ予測部７４によるイントラ予測のみによる学習が行われる。したがって、動き予測・補償部７６は、実際には、機能しないものとする。
【０３４７】
さらに、図２９の隣接画素内挿フィルタ算出部２６１は、予測モードバッファ１２１、最適フィルタ算出部１２２、およびローパスフィルタ設定部１２３を備える点が図２０の隣接画素内挿フィルタ切替部７５と共通する。
【０３４８】
これに対して、隣接画素内挿フィルタ算出部２６１は、フィルタ係数記憶部２７１が追加されている点と、レート制御部７８から量子化パラメータが、最適フィルタ算出部１２２に供給されている点が、図２０の隣接画素内挿フィルタ切替部７５と異なる。
【０３４９】
具体的に説明すると、図２９の例においては、図２０の例の場合と同様に、イントラ予測部７４と隣接画素内挿フィルタ切替部７５との間には、スイッチ１０１が設けられており、スイッチ１０１のオンオフにより、イントラ予測部７４は、２回イントラ予測を行う。
【０３５０】
すなわち、イントラ予測部７４においては、スイッチ１０１がオフの状態で、H．264/AVCで定義されているイントラ予測が行われ、そのイントラ予測モードと、量子化パラメータに最適なフィルタ係数がスライス毎に算出される。この算出されたスライス毎のフィルタ係数は、フィルタ係数記憶部２７１に記憶される。そして、スイッチ１０１がオンの状態で、算出されたスライス毎のフィルタ係数の中から、隣接画素内挿フィルタ切替部７５により設定されたフィルタ係数でのイントラ予測が行われる。
【０３５１】
このフィルタ係数記憶部２７１に記憶されたフィルタ係数が、図１の画像符号化装置５１のフィルタ係数メモリ９４（図１４）および図２２の画像復号装置１５１のフィルタ係数メモリ１９４（図２３）に、記録媒体やネットワークなどを介して記憶される。
【０３５２】
［学習処理におけるイントラ予測処理の説明］
次に、図３０のフローチャートを参照して、図２８の学習装置２５１が行う学習処理の１処理としてのイントラ予測処理を説明する。なお、学習装置２５１としては、学習処理として、ステップＳ２１の予測処理が図３０のイントラ予測処理に入れ替わったことを除いて、図１７の符号化処理と基本的に同様の処理が行われる。
【０３５３】
また、図３０のステップＳ２０１乃至Ｓ２０３、およびＳ２０６乃至Ｓ２０９は、図２１のステップＳ１０１乃至Ｓ１０３、およびＳ１０５乃至Ｓ１０８と基本的に同様な処理を行うので、その説明は繰り返しになるので省略する。すなわち、図３０のステップＳ２０４において、最適フィルタ算出部１２２は、対象スライスの各イントラ予測モードおよび対応する量子化パラメータに対して、対象スライス全体での残差を最小にするフィルタ係数を、最適なフィルタ係数として算出する。算出されたフィルタ係数は、フィルタ係数記憶部２７１に供給される。
【０３５４】
ステップＳ２０５において、フィルタ係数記憶部２７１は、最適フィルタ算出部１２２から供給されたフィルタ係数を記憶する。
【０３５５】
ローパスフィルタ設定部１２３は、フィルタ係数記憶部２７１に記憶された対象スライスのフィルタ係数の中から、対象ブロックに対するフィルタ係数を設定し、スイッチ１０１の端子をオンにして、設定されたフィルタ係数を、隣接画素設定部１１１に供給する。
【０３５６】
これに対応して、ステップＳ２０６においては、設定されたフィルタ係数が用いられて、フレームメモリ７２からの対象ブロックの隣接画素値に対して、フィルタ処理が行われる。
【０３５７】
もちろん、図２１の例の場合と同様に、上述したステップＳ２０４乃至Ｓ２０７の処理を繰り返すことにより、さらに最適化されたフィルタ係数を得ることも可能である。
【０３５８】
以上のように、学習装置２５１においては、トレーニング画像信号が用いられて、実際に行われる符号化処理と同様な処理が行われ、その中で算出されたフィルタ係数が、フィルタ係数記憶部２７１される。したがって、最適なフィルタ係数を求めることができる。
【０３５９】
このフィルタ係数記憶部２７１に記憶されたフィルタ係数が、図１の画像符号化装置５１のフィルタ係数メモリ９４（図１４）および図２２の画像復号装置１５１のフィルタ係数メモリ１９４（図２３）に、記録媒体やネットワークなどを介して記憶される。
【０３６０】
そして、画像符号化装置５１においては、上述したように、Ｉピクチャに含まれるブロック求められた係数（あるいはＢピクチャおよびＰピクチャに含まれるイントラマクロブロック）が、Ｉピクチャに含まれるブロックのみに適用される。あるいは、Ｉピクチャに含まれるブロックだけでなく、ＢピクチャおよびＰピクチャに含まれるイントラマクロブロックにも適用される。
【０３６１】
これにより、図１の画像符号化装置５１および図２２の画像復号装置１５１において、高い符号化効率を実現することが可能となる。
【０３６２】
なお、上述した図１の画像符号化装置５１の直交変換部６４および逆直交変換部６９、並びに、図２２の画像復号装置１５１の逆直交変換部１６４においては、H．264/AVCで定義されている直交変換・逆直交変換が行われる。これに代えて、図１の画像符号化装置５１の直交変換部６４および逆直交変換部６９、並びに、図２２の画像復号装置１５１の逆直交変換部１６４に、非特許文献１において提案されている直交変換・逆直交変換を適用することもできる。
【０３６３】
これにより、非特許文献１において提案されている方式の符号化効率をさらに向上させることができる。
【０３６４】
なお、上記説明においては、イントラ予測を行う例を説明したが、本発明は、非特許文献２で提案される２次予測におけるイントラ予測にも適用することができる。
【０３６５】
＜２．第２の実施の形態＞
［画像符号化装置の他の構成例］
図３１は、本発明を適用した画像処理装置としての画像符号化装置の他の実施の形態の構成を表している。
【０３６６】
画像符号化装置３５１は、Ａ／Ｄ変換部６１、画面並べ替えバッファ６２、演算部６３、直交変換部６４、量子化部６５、可逆符号化部６６、蓄積バッファ６７、逆量子化部６８、逆直交変換部６９、演算部７０、デブロックフィルタ７１、フレームメモリ７２、スイッチ７３、イントラ予測部７４、動き予測・補償部７６、予測画像選択部７７、およびレート制御部７８を備えている点は、図１の画像符号化装置５１と共通している。
【０３６７】
また、画像符号化装置３５１は、隣接画素内挿フィルタ切替部７５が除かれている点、並びに、２次予測部３６１および隣接画素内挿フィルタ切替部３６２が追加されている点が、図１の画像符号化装置５１と異なる。
【０３６８】
すなわち、図３１の例においては、イントラ予測部７４は、H．264/AVCのイントラ予測を行う。
【０３６９】
一方、動き予測・補償部７６は、インター処理する画像と参照画像に基づいて、候補となる全てのインター予測モードの動きベクトルを検出し、動きベクトルに基づいて参照画像に補償処理を施し、予測画像を生成する。
【０３７０】
動き予測・補償部７６は、検出された動きベクトル情報、インター処理する画像の情報（アドレスなど）、およびインター処理する画像と生成された予測画像の差分である１次残差を、２次予測部３６１に供給する。
【０３７１】
動き予測・補償部７６は、２次予測部３６１からの２次残差を比較することで、２次予測における最適なイントラ予測モードを決定する。また、動き予測・補償部７６は、２次残差と１次残差を比較することで、２次残差を符号化するか、または１次残差を符号化するかを決定する。なお、これらの処理は、候補となる全てのインター予測モードに対して行われる。
【０３７２】
そして、動き予測・補償部７６は、候補となる全てのインター予測モードに対してコスト関数値を算出する。このとき、１次残差および２次残差のうち、インター予測モード毎に決定された残差が用いられて、コスト関数値が算出される。動き予測・補償部７６は、算出したコスト関数値のうち、最小値を与える予測モードを、最適インター予測モードとして決定する。
【０３７３】
動き予測・補償部７６は、最適インター予測モードで生成された予測画像（またはインターする画像と２次残差の差分）、およびそのコスト関数値を、予測画像選択部７７に供給する。動き予測・補償部７６は、予測画像選択部７７により最適インター予測モードで生成された予測画像が選択された場合、最適インター予測モードを示す情報を可逆符号化部６６に出力する。
【０３７４】
このとき、動きベクトル情報、参照フレーム情報、２次予測を行うことを示す２次予測フラグ、および２次予測におけるイントラ予測モードの情報なども可逆符号化部６６に出力される。可逆符号化部６６は、動き予測・補償部７６からの情報をやはり可変長符号化、算術符号化といった可逆符号化処理し、圧縮画像のヘッダ部に挿入する。
【０３７５】
２次予測部３６１は、動き予測・補償部７６からの動きベクトル情報とインター処理する画像の情報に基づいて、インター処理する対象の対象ブロックに隣接する対象隣接画素をフレームメモリ７２から読み出す。また、２次予測部３６１は、動きベクトル情報により対象ブロックに対応付けられる参照ブロックに隣接する参照隣接画素をフレームメモリ７２から読み出す。
【０３７６】
２次予測部３６１は、２次予測処理を行う。２次予測処理とは、１次残差、および対象隣接画素と参照隣接画素の差分の間でイントラ予測を行い、２次差分情報（２次残差）を生成する処理である。
【０３７７】
ここで、２次予測処理について、図３２を参照して説明する。
【０３７８】
図３２の例においては、対象フレームと参照フレームが示されており、対象フレームには、対象ブロックＡが示されている。
【０３７９】
参照フレームと対象フレームにおいて対象ブロックＡに対して動きベクトルmv(mv_x,mv_y)が求められた場合に、対象ブロックＡと、対象ブロックＡに動きベクトルmvで対応付けられるブロックの差分情報（残差）が算出される。
【０３８０】
２次予測方式においては、対象ブロックＡに関する差分情報だけでなく、対象ブロックＡに隣接する隣接画素群Ｒと、隣接画素群Ｒに動きベクトルmvで対応付けられる隣接画素群Ｒ１との差分情報も算出される。
【０３８１】
すなわち、対象ブロックＡの左上の座標(x,y)から、隣接画素群Ｒの各座標が求められる。また、対象ブロックＡに動きベクトルmvで対応付けられるブロックの左上の座標(x+mv_x,y+mv_y)から、隣接画素群Ｒ１の各座標が求められる。これらの座標値により、隣接画素群の差分情報が算出される。
【０３８２】
２次予測方式においては、このように算出された対象ブロックに関する差分情報と、隣接画素に関する差分情報との間で、H．264/AVC方式におけるイントラ予測が行われ、これにより、２次差分情報が生成される。生成された２次差分情報が直交変換、量子化され、圧縮画像とともに符号化されて、復号側に送られる。
【０３８３】
２次予測部３６１は、この２次予測に先立ち、隣接画素内挿フィルタ切替部３６２により設定されたフィルタ係数を用いて、イントラ予測に用いる対象隣接画素と参照隣接画素の差分に対して、フィルタ処理を行う。そして、２次予測部３６１は、フィルタ処理された対象隣接画素と参照隣接画素の差分を用いて、２次予測処理を行い、得られた２次差分情報（２次残差）を、動き予測・補償部７６に出力する。
【０３８４】
すなわち、２次予測部３６１は、図１４に示したイントラ予測部７４などを含むように構成されている。
【０３８５】
隣接画素内挿フィルタ切替部３６２は、図１の隣接画素内挿フィルタ切替部７５と基本的に同様に構成され、同様の処理を行う。すなわち、隣接画素内挿フィルタ切替部３６２は、２次予測部３６１からのイントラ予測モードの情報と、レート制御部７８からの量子化パラメータに応じたフィルタ係数を設定し、設定したフィルタ係数を、２次予測部３６１に供給する。
【０３８６】
なお、図３１の画像符号化装置３５１の符号化処理は、以下のイントラ処理と動き予測処理が異なるだけであり、その他の処理は、図１の画像符号化装置５１による図１６の符号化処理と基本的に同様の処理であるので、その説明は省略する。
【０３８７】
すなわち、図３１の画像符号化装置３５１においては、イントラ処理として、H．264/AVC方式におけるイントラ予測が行われる。また、動き予測処理として、動き予測処理の際に、隣接画素内挿フィルタ切替部３６２により設定されたフィルタ係数が用いられて、２次差分情報が生成される。そして、１次差分情報と２次差分情報のうち、符号化効率のよいものが選択され、コスト関数値が比較されることにより最適インター予測モードが決定される。
【０３８８】
この画像符号化装置３５１により符号化された圧縮画像を受け、それを復号する画像復号装置について図３３を参照して説明する。
【０３８９】
［画像復号装置の他の構成例］
図３３は、本発明を適用した画像処理装置としての画像復号装置の他の実施の形態の構成を表している。
【０３９０】
画像復号装置４０１は、蓄積バッファ１６１、可逆復号部１６２、逆量子化部１６３、逆直交変換部１６４、演算部１６５、デブロックフィルタ１６６、画面並べ替えバッファ１６７、Ｄ／Ａ変換部１６８、フレームメモリ１６９、スイッチ１７０、イントラ予測部１７１、動き予測・補償部１７３、およびスイッチ１７４を備える点が、図２２の画像復号装置１５１と共通している。
【０３９１】
また、画像復号装置４０１は、隣接画素内挿フィルタ切替部１７２が除かれている点、並びに、２次予測部４１１、および隣接画素内挿フィルタ切替部４１２が追加されている点が、図２２の画像復号装置１５１と異なっている。
【０３９２】
すなわち、イントラ予測部１７１には、ヘッダ情報を復号して得られたイントラ予測モードを示す情報が可逆復号部１６２から供給される。イントラ予測部１７１は、この情報に基づいて、予測画像を生成し、生成した予測画像を、スイッチ１７４に出力する。
【０３９３】
動き予測・補償部１７３には、ヘッダ情報を復号して得られた情報のうち、予測モード情報、動きベクトル情報、参照フレーム情報などが可逆復号部１６２から供給される。また、動き予測・補償部１７３には、対象ブロックに対して２次予測処理が適用されている場合には、２次予測を行うことを示す２次予測フラグと、２次予測におけるイントラ予測モード情報も可逆復号部１６２から供給される。
【０３９４】
動き予測・補償部１７３は、２次予測処理が適用されていると判定した場合、２次予測部４１１を制御し、２次予測におけるイントラ予測モード情報が示すイントラ予測モードで、２次予測を行わせる。
【０３９５】
動き予測・補償部１７３は、動きベクトル情報と参照フレーム情報に基づいて画像に動き予測と補償処理を施し、予測画像を生成する。すなわち、対象ブロックの予測画像は、参照フレームにおいて、対象ブロックに動きベクトルで対応付けられる参照ブロックの画素値が用いられて生成される。そして、動き予測・補償部１７３は、生成された予測画像と２次予測部４１１からの予測差分値を加算して、それをスイッチ１７４に出力する。
【０３９６】
２次予測部４１１は、フレームメモリ１６９から読み出される対象隣接画素と参照隣接画素の差分を用いて、２次予測を行う。２次予測部４１１は、この２次予測に先立ち、隣接画素内挿フィルタ切替部４１２により設定されたフィルタ係数を用いて、対象隣接画素と参照隣接画素の差分に対して、フィルタ処理を行う。そして、２次予測部４１１は、フィルタ処理された対象隣接画素と参照隣接画素の差分を用いて、２次予測処理を行い、得られた２次差分情報（２次残差）を、動き予測・補償部１７３に出力する。
【０３９７】
すなわち、２次予測部４１１は、図２６に示したイントラ予測部１７１を含むように構成されている。
【０３９８】
隣接画素内挿フィルタ切替部４１２は、隣接画素内挿フィルタ切替部１７２と基本的に同様に構成される。すなわち、隣接画素内挿フィルタ切替部４１２は、可逆復号部１６２からの量子化パラメータおよびイントラ予測モードの少なくとも１つに対応するフィルタ係数を設定する。隣接画素内挿フィルタ切替部４１２は、設定したフィルタ係数を、２次予測部４１１に供給する。
【０３９９】
なお、図３３の画像復号装置４０１の符号化処理は、以下のイントラ処理と動き予測処理が異なるだけであり、その他の処理は、図２２の画像復号装置１５１による図２４の復号処理と基本的に同様の処理であるので、その説明は省略する。
【０４００】
すなわち、図３３の画像復号装置４０１においては、イントラ処理として、H．264/AVC方式におけるイントラ予測が行われる。また、動き予測処理として、動き予測処理の際に、隣接画素内挿フィルタ切替部４１２により設定されたフィルタ係数が用いられて、２次予測（イントラ予測）が行われ、２次差分情報が生成される。
【０４０１】
以上のような２次予測処理におけるイントラ予測にも、本発明を適用することができる。
【０４０２】
なお、上記説明においては、イントラ予測に先立ち、イントラ予測に用いられる隣接画素に対して、画像に適応的に設定されたフィルタ係数を用いてフィルタ処理が行われる例を説明した。
【０４０３】
ところで、イントラ予測方式に用いられる隣接画素に含まれるノイズは、画像コンテンツおよび量子化パラメータ等の符号化条件により異なる。このため、例えば、H．264/AVC方式において行われるフィルタ処理を施すことにより、符号化効率が向上するブロックと、そうでないブロックが存在する。
【０４０４】
それにも拘わらず、H．264/AVC方式においては、マクロブロックに対して、８×８ブロックベースのイントラ予測が行われる際、全てのブロックに対して一様にフィルタ処理が行われていたため、これにより符号化効率が低下するブロックが発生していた。
【０４０５】
そこで、次に、イントラ予測に用いられる隣接画素に対するフィルタ処理をオン／オフする場合の例について説明する。
【０４０６】
＜３．第３の実施の形態＞
［画像符号化装置の他の構成例］
図３４は、本発明を適用した画像処理装置としての画像符号化装置の他の実施の形態の構成を表している。
【０４０７】
画像符号化装置４５１は、Ａ／Ｄ変換部６１、画面並べ替えバッファ６２、演算部６３、直交変換部６４、量子化部６５、可逆符号化部６６、蓄積バッファ６７、逆量子化部６８、逆直交変換部６９、演算部７０、デブロックフィルタ７１、フレームメモリ７２、スイッチ７３、イントラ予測部７４、動き予測・補償部７６、予測画像選択部７７、およびレート制御部７８を備えている点は、図１の画像符号化装置５１と共通している。
【０４０８】
また、画像符号化装置４５１は、隣接画素内挿フィルタ切替部７５が、隣接画素内挿フィルタ制御部４６１に入れ替わっている点が、図１の画像符号化装置５１と異なる。
【０４０９】
すなわち、隣接画素内挿フィルタ制御部４６１は、H．264/AVC方式においては、８×８ブロックベースのイントラ予測が行われる際、全てのブロックに対して一様に行われていた隣接画素に対するフィルタ処理を、onまたはoffする制御を行う。なお、H．264/AVC方式においては、８×８ブロックベースのイントラ予測についてのみフィルタ処理が行われていたが、画像符号化装置４５１においては、イントラ４×４、イントラ１６×１６についても行われる。
【０４１０】
隣接画素内挿フィルタ制御部４６１からのフィルタ処理のon/offの制御信号は、イントラ予測部７４に供給される。
【０４１１】
イントラ予測部７４は、画面並べ替えバッファ６２から読み出されたイントラ予測する画像とフレームメモリ７２から供給された参照画像に基づいて、候補となる全てのイントラ予測モードのイントラ予測処理を行い、予測画像を生成する。この際、イントラ予測部７４においては、イントラ予測に先立ち、隣接画素内挿フィルタ制御部４６１からの制御信号に応じてフィルタ処理をonまたはoffして、イントラ予測が行われ、結果的に、算出されるコスト関数値の小さい方が採用される。
【０４１２】
さらに、イントラ予測部７４は、このフィルタ処理のonまたはoffを示すフラグを生成する。このフラグ情報は、予測画像選択部７７により最適イントラ予測モードで生成された予測画像が選択された場合、最適イントラ予測モードを示す情報とともに、可逆符号化部６６に供給される。
【０４１３】
［イントラ予測部の構成例］
図３５は、図３４のイントラ予測部７４の詳細な構成例を示すブロック図である。図３５の例の場合、イントラ予測部７４は、予測画像生成部４７１、コスト関数値生成部４７２、並びにモード及びon/off判定部４７３により構成されている。
【０４１４】
予測画像生成部４７１には、フレームメモリ７２からのイントラ予測の対象ブロックの隣接画素値が供給される。図３５の場合、スイッチ７３の図示は省略されているが、実際には、隣接画素値は、フレームメモリ７２から、スイッチ７３を介して予測画像生成部４７１に供給される。なお、イントラ予測の場合、隣接画素値として、デブロックフィルタ７１によりデブロックフィルタリングされていない画素値が用いられる。
【０４１５】
予測画像生成部４７１は、隣接画素内挿フィルタ制御部４６１からの制御信号に基づいて、隣接画素値に対するフィルタ処理を行い、あるいは、フィルタ処理を行わずに、候補となる全てのイントラ予測モードのイントラ予測処理を行い、予測画像を生成する。この制御信号が示す隣接画素内挿フィルタ制御部４６１によるon/offの制御は、図３６乃至図３８を参照して後述するように、ブロック単位またはマクロブロック単位で行われる。
【０４１６】
予測画像生成部４７１は、生成した予測画像画素値と、そのイントラ予測モードの情報を、コスト関数値生成部４７２に供給する。
【０４１７】
コスト関数値生成部４７２には、画面並べ替えバッファ６２から原画像画素値が供給される。コスト関数値生成部４７２は、原画像画素値と予測画像画素値を用いて、フィルタ処理onまたはoffの場合の、各イントラ予測モードに対するコスト関数値を算出する。コスト関数値生成部４７２は、算出したコスト関数値、予測画像画素値、およびイントラ予測モードの情報を、モード及びon/off判定部４７３に供給する。
【０４１８】
モード及びon/off判定部４７３は、コスト関数値生成部４７２からのコスト関数値を用いて、最適イントラ予測モードと、フィルタ処理をonまたはoffのどちらに設定するかを決定し、フィルタ処理のonまたはoffを示すon/offフラグ情報を生成する。
【０４１９】
モード及びon/off判定部４７３は、最適イントラ予測モードの予測画像画素値を予測画像選択部７７に供給する。予測画像選択部７７により最適イントラ予測モードの予測画像が選択された場合、モード及びon/off判定部４７３は、最適イントラ予測モードを示す情報と、対応するon/offフラグ情報を可逆符号化部６６に供給する。
【０４２０】
なお、画像符号化装置４５１による処理は、以下に説明するイントラ予測処理以外は、図１の画像符号化装置５１の処理と同様の処理を行うため、その説明は繰り返しになるので省略される。
【０４２１】
次に、図３６のフローチャートを参照して、ブロック単位でonまたはoffの制御が行われる場合の図３４のイントラ予測部７４のイントラ予測処理について説明する。なお、この処理は、図１７のステップＳ３１のイントラ予測処理の他の例であり、図３６の例においては、イントラ４×４を例に説明する。また、以下、フィルタ処理on/offを、単にフィルタon/offとも称する。
【０４２２】
ステップＳ４０１において、コスト関数値生成部４７２は、対象ブロックについて、図３または図４に示した９種類のそれぞれのイントラ予測モードに対するコスト関数値を生成する。
【０４２３】
すなわち、予測画像生成部４７１には、フレームメモリ７２からのイントラ予測の対象ブロックの隣接画素値が供給される。予測画像生成部４７１は、図３または図４に示した９種類のそれぞれのイントラ予測モードに対するイントラ予測を行い、対象ブロックの予測画像を生成する。
【０４２４】
このとき、隣接画素内挿フィルタ制御部４６１から、隣接画素に対するフィルタ処理を行わない制御信号が供給され、予測画像生成部４７１は、隣接画素に対するフィルタ処理を行わずに、イントラ予測を行う。なお、ここでは、隣接画素に対するフィルタ処理を行う制御信号が供給されるようにしてもよい。ただし、例えば、９つのモードのうち、Verticalには行うが、Horizontalには行わないなど異なる制御をするのではなく、行うか行わないかは、９つのモードに対して同一の制御を行うものとする。また、ここでは、全てのモードに対してフィルタ処理を行わないとしたほうが、演算量は少なくて済む。
【０４２５】
予測画像生成部４７１は、生成した予測画像画素値と、そのイントラ予測モードの情報を、コスト関数値生成部４７２に供給する。コスト関数値生成部４７２は、画面並べ替えバッファ６２からの原画像画素値と予測画像画素値を用いて、フィルタoffの場合の、各イントラ予測モードに対して、上述した式（７３）または式（７４）で示されるコスト関数値を算出する。コスト関数値生成部４７２は、算出したコスト関数値、予測画像画素値、およびイントラ予測モードの情報を、モード及びon/off判定部４７３に供給する。
【０４２６】
ステップＳ４０２において、モード及びon/off判定部４７３は、コスト関数値生成部４７２からのコスト関数値を用いて、対象ブロックについて最適なイントラ予測モードを選択する。選択されたイントラ予測モードの情報は、隣接画素内挿フィルタ制御部４６１に供給される。
【０４２７】
ステップＳ４０３において、隣接画素内挿フィルタ制御部４６１は、コスト関数値生成部４７２に、選択されたイントラ予測モードに対して、フィルタonおよびoffのコスト関数値を生成させる。なお、ステップＳ４０１でフィルタoffのコスト関数値は生成されているので、実際には、ステップＳ４０３においては、フィルタonのコスト関数値が生成される。
【０４２８】
すなわち、隣接画素内挿フィルタ制御部４６１は、予測画像生成部４７１に、フィルタonの制御信号と、選択されたイントラ予測モードの情報を供給する。予測画像生成部４７１は、選択されたイントラ予測モードに用いられる隣接画素値に対するフィルタ処理を行い、選択されたイントラ予測モードで、イントラ予測を行い、対象ブロックの予測画像を生成する。
【０４２９】
予測画像生成部４７１は、生成した予測画像画素値と、選択されたイントラ予測モードの情報を、コスト関数値生成部４７２に供給する。コスト関数値生成部４７２は、画面並べ替えバッファ６２からの原画像画素値と予測画像画素値を用いて、フィルタonの場合の、選択されたイントラ予測モードに対して、上述した式（７３）または式（７４）で示されるコスト関数値を算出する。コスト関数値生成部４７２は、算出したコスト関数値、および予測画像画素値を、モード及びon/off判定部４７３に供給する。
【０４３０】
ステップＳ４０４において、モード及びon/off判定部４７３は、選択されたイントラ予測モードについてのフィルタonおよびoffのコスト関数値を比較し、対象ブロックについて、フィルタon/offを決定する。すなわち、フィルタonのコスト関数値が小さい場合は、対象ブロックについてフィルタonを決定し、フィルタoffのコスト関数値が小さい場合には、対象ブロックについてフィルタoffを決定する。そして、モード及びon/off判定部４７３は、決定された方の予測画像値を、予測画像選択部７７に供給する。
【０４３１】
ステップＳ４０５において、モード及びon/off判定部４７３は、対象ブロックについて、ステップＳ４０４で決定されたonまたはoffを示すon/offフラグを生成する。例えば、フィルタonの場合、on/offフィルタの値は、１とされる。フィルタoffの場合、on/offフィルタの値は、０とされる。
【０４３２】
生成されたon/offフラグ情報は、上述した図１６のステップＳ２２でイントラ予測モードの予測画像が選択された場合に、最適イントラ予測モードを示す情報とともに、可逆符号化部６６に供給される。そして、供給されたこれらの情報は、図１６のステップＳ２３において、符号化され、圧縮画像のヘッダに付加されて、復号側に送信される。
【０４３３】
次に、図３７のフローチャートを参照して、ブロック単位でonまたはoffの制御が行われる場合の図３４のイントラ予測部７４のイントラ予測処理の他の例について説明する。図３７の例の場合も、イントラ４×４を例に説明する。
【０４３４】
ステップＳ４２１において、コスト関数値生成部４７２は、対象ブロックについて、それぞれのイントラ予測モードに対して、フィルタのonおよびoffによるコスト関数値を生成する。
【０４３５】
すなわち、予測画像生成部４７１には、フレームメモリ７２からのイントラ予測の対象ブロックの隣接画素値が供給される。予測画像生成部４７１は、図３または図４に示した９種類のそれぞれのイントラ予測モードに対するイントラ予測を行い、対象ブロックの予測画像を生成する。
【０４３６】
このとき、まず、隣接画素内挿フィルタ制御部４６１から、隣接画素に対するフィルタ処理を行わない制御信号が供給され、予測画像生成部４７１は、隣接画素に対するフィルタ処理を行わずに、各イントラ予測モードに対するイントラ予測を行い、予測画像を生成する。さらに、隣接画素内挿フィルタ制御部４６１から、隣接画素に対するフィルタ処理を行う制御信号が供給され、予測画像生成部４７１は、隣接画素に対するフィルタ処理を行って、各イントラ予測モードに対するイントラ予測を行い、予測画像を生成する。
【０４３７】
予測画像生成部４７１は、フィルタonおよびoffの各イントラ予測モードの情報と、対応する予測画像画素値を、コスト関数値生成部４７２に供給する。コスト関数値生成部４７２は、画面並べ替えバッファ６２からの原画像画素値と予測画像画素値を用いて、フィルタ処理offの場合、onの場合それぞれの、各イントラ予測モードに対して、上述した式（７３）または式（７４）で示されるコスト関数値を算出する。コスト関数値生成部４７２は、算出したフィルタ処理on、offの各場合のコスト関数値、予測画像画素値、およびイントラ予測モードの情報を、モード及びon/off判定部４７３に供給する。
【０４３８】
ステップＳ４２２において、モード及びon/off判定部４７３は、コスト関数値生成部４７２からのコスト関数値を用いて、対象ブロックについて、それぞれのイントラ予測モードに対して、フィルタをonするかoffするかを決定する。
【０４３９】
そして、さらに、ステップＳ４２３において、モード及びon/off判定部４７３は、フィルタonまたはoffが決定された各イントラ予測モードの中から、対象ブロックについての最適なイントラ予測モードを選択する。
【０４４０】
ステップＳ４２４において、モード及びon/off判定部４７３は、選択したイントラ予測モードのフィルタの状態（onかoff）を示すon/offフラグを生成する。生成されたon/offフラグ情報は、上述した図１６のステップＳ２２でイントラ予測モードの予測画像が選択された場合に、最適イントラ予測モードを示す情報とともに、可逆符号化部６６に供給される。そして、供給されたこれらの情報は、図１６のステップＳ２３において、符号化され、圧縮画像のヘッダに付加されて、復号側に送信される。
【０４４１】
次に、図３８のフローチャートを参照して、マクロブロック単位でonまたはoffの制御が行われる場合の図３４のイントラ予測部７４のイントラ予測処理について説明する。なお、この処理は、図１７のステップＳ３１のイントラ予測処理の他の例であり、図３８の例においても、イントラ４×４を例に説明する。
【０４４２】
ステップＳ４５１において、隣接画素内挿フィルタ制御部４６１は、マクロブロック全体に対するフィルタをoffまたはonに固定する。いまの場合、隣接画素内挿フィルタ制御部４６１は、フィルタをoffに固定し、フィルタoffの制御信号を、予測画像生成部４７１に供給する。フィルタの固定は、onでもoffでもよいが、offに固定した方が、より少ない演算量により実現することが可能になる。
【０４４３】
イントラ予測部７４は、ステップＳ４５２において、それぞれのブロックに対してイントラ予測モードを決定する。すなわち、予測画像生成部４７１には、フレームメモリ７２からのイントラ予測の対象ブロックの隣接画素値が供給される。予測画像生成部４７１は、図３または図４に示した９種類のそれぞれのイントラ予測モードに対するイントラ予測を行い、対象ブロックの予測画像を生成する。
【０４４４】
このとき、隣接画素内挿フィルタ制御部４６１から、隣接画素に対するフィルタ処理を行わない制御信号が供給され、予測画像生成部４７１は、隣接画素に対するフィルタ処理を行わずに、イントラ予測を行い、予測画像を生成する。予測画像生成部４７１は、生成した予測画像画素値と、そのイントラ予測モードの情報を、コスト関数値生成部４７２に供給する。
【０４４５】
コスト関数値生成部４７２は、画面並べ替えバッファ６２からの原画像画素値と予測画像画素値を用いて、フィルタoffの場合の、各イントラ予測モードに対して、上述した式（７３）または式（７４）で示されるコスト関数値を算出する。コスト関数値生成部４７２は、算出したコスト関数値、予測画像画素値、およびイントラ予測モードの情報を、モード及びon/off判定部４７３に供給する。
【０４４６】
モード及びon/off判定部４７３は、コスト関数値生成部４７２からのコスト関数値を用いて、それぞれのブロックについて最適なイントラ予測モードを決定する。決定されたイントラ予測モードの情報は、隣接画素内挿フィルタ制御部４６１に供給される。
【０４４７】
ステップＳ４５３において、隣接画素内挿フィルタ制御部４６１は、コスト関数値生成部４７２に、マクロブロック全体に対して、フィルタon及びoffのコスト関数値を生成させる。なお、マクロブロック内の各ブロックの最適なイントラ予測モード（すなわち、マクロブロック全体）についてのフィルタoffのコスト関数値は、ステップＳ４５２で生成されている。したがって、実際には、ステップＳ４５３においては、マクロブロック全体に対してのフィルタonのコスト関数値が生成される。
【０４４８】
すなわち、隣接画素内挿フィルタ制御部４６１は、予測画像生成部４７１に、フィルタonの制御信号と、各ブロックについてそれぞれ決定されたイントラ予測モードの情報を供給する。予測画像生成部４７１は、決定されたイントラ予測モードに用いられる隣接画素値に対するフィルタ処理を行い、決定されたイントラ予測モードで、イントラ予測を行い、対象ブロックの予測画像を生成する。
【０４４９】
予測画像生成部４７１は、生成した予測画像画素値と、決定されたイントラ予測モードの情報を、コスト関数値生成部４７２に供給する。コスト関数値生成部４７２は、画面並べ替えバッファ６２からの原画像画素値と予測画像画素値を用いて、フィルタ処理onの場合の、決定されたイントラ予測モードに対して、上述した式（７３）または式（７４）で示されるコスト関数値を算出する。コスト関数値生成部４７２は、算出したフィルタonおよびoffの場合のコスト関数値、および予測画像画素値を、モード及びon/off判定部４７３に供給する。
【０４５０】
ステップＳ４５４において、モード及びon/off判定部４７３は、コスト関数値生成部４７２からのフィルタonおよびoffの場合のマクロブロック内のすべてのブロックのコスト関数値を比較して、マクロブロック全体に対して、フィルタon/offのどちらを適用するかを決定する。
【０４５１】
ステップＳ４５５において、モード及びon/off判定部４７３は、マクロブロック全体に対して、ステップＳ４５４で決定されたonまたはoffを示すon/offフラグを生成する。生成されたon/offフラグ情報は、マクロブロック毎に、可逆符号化部６６に供給される。そして、供給されたこれらの情報は、ステップＳ２３において、符号化され、圧縮画像のヘッダに付加されて、復号側に送信される。
【０４５２】
以上のように、フィルタのon/off（onまたはoff）の制御は、ブロック単位で行うこともできるし、マクロブロック単位で行うこともできる。なお、ブロック単位でon/offを制御することにより、イントラ予測処理による予測精度を向上させることが可能であるが、各ブロックに対するフラグ情報を伝送するのに必要な情報量が増大してしまう。これに対して、マクロブロック単位で制御する場合、予測精度の向上はブロック単位で行うよりも低いが、フラグ情報は各マクロブロックに１つで済むので、フラグによる情報量の増大を少なくすることができる。
【０４５３】
なお、上記説明においては、輝度信号の例を説明したが、色差信号に対するイントラ予測にも用いることができる。また、制御するフィルタ処理におけるフィルタ係数については、H．264/AVC方式における{1,2,1}//4という３タップのものに限らず、任意のタップ長の任意の係数や、図１の画像符号化装置５１で設定されるフィルタ係数にも適用することができる。
【０４５４】
すなわち、フィルタonの場合には、図１の画像符号化装置５１で設定されるフィルタ係数によるフィルタ処理が行われるとすることも可能である。
【０４５５】
この画像符号化装置４５１により符号化された圧縮画像を受け、それを復号する画像復号装置について図３９を参照して説明する。
【０４５６】
［画像復号装置の他の構成例］
図３９は、本発明を適用した画像処理装置としての画像復号装置の他の実施の形態の構成を表している。
【０４５７】
画像復号装置５０１は、蓄積バッファ１６１、可逆復号部１６２、逆量子化部１６３、逆直交変換部１６４、演算部１６５、デブロックフィルタ１６６、画面並べ替えバッファ１６７、Ｄ／Ａ変換部１６８、フレームメモリ１６９、スイッチ１７０、イントラ予測部１７１、動き予測・補償部１７３、およびスイッチ１７４を備える点が、図２２の画像復号装置１５１と共通している。
【０４５８】
また、画像復号装置５０１は、隣接画素内挿フィルタ切替部１７２が、隣接画素内挿フィルタ制御部５１１に入れ替わっている点が、図２２の画像復号装置１５１と異なる。
【０４５９】
すなわち、イントラ予測部１７１には、ヘッダ情報を復号して得られたイントラ予測モードを示す情報が、可逆復号部１６２から供給される。イントラ予測部１７１は、情報が示すイントラ予測モードによるイントラ予測を行うことで、予測画像を生成し、生成した予測画像を、スイッチ１７４に出力する。このとき。イントラ予測に先立ち、イントラ予測部１７１は、隣接画素内挿フィルタ制御部５１１からの制御信号に応じて隣接画素値に対してフィルタ処理を行う（あるいは、行わない）。
【０４６０】
隣接画素内挿フィルタ制御部５１１には、画像符号化装置４５１での符号化に応じて、マクロブロック毎あるいはブロック毎に、on/offフラグ情報が可逆復号部１６２から供給される。隣接画素内挿フィルタ制御部５１１は、供給されたon/offフラグ情報に応じて、フィルタ処理を行うか、行わないことを示す制御信号を、イントラ予測部１７１に供給する。
【０４６１】
なお、図３４の画像符号化装置４５１においては、フィルタがonの場合とoffの場合の両方を試し、コスト関数値により、より高い符号化効率を与えると判定された方を選択し、イントラ予測処理が行われる。これに対して、この画像復号装置５０１においては、符号化されて送られてくるon/offフラグの情報に基づいてフィルタonまたはoffが制御されて、イントラ予測処理が行われる。
【０４６２】
［イントラ予測部および隣接画素内挿フィルタ制御部の構成例］
図４０は、イントラ予測部および隣接画素内挿フィルタ制御部の詳細な構成例を示すブロック図である。
【０４６３】
図４０の例の場合、イントラ予測部１７１は、予測モードバッファ５２１、予測画像生成部５２２により構成されている。隣接画素内挿フィルタ制御部５１１は、フラグバッファ５３１、および制御信号発生部５３２により構成されている。
【０４６４】
予測モードバッファ５２１には、可逆復号部１６２からのイントラ予測モード情報が供給される。予測画像生成部５２２には、フレームメモリ１６９からのイントラ予測の対象ブロックの隣接画素値が供給される。図４０の場合も、スイッチ１７０の図示は省略されているが、実際には、隣接画素値は、フレームメモリ１６９から、スイッチ１７０を介して予測画像生成部５２２に供給される。
【０４６５】
予測画像生成部５２２は、予測モードバッファ５２１からの対象ブロックに対するイントラ予測モード情報を読み出し、対象ブロックについて、読み出したイントラ予測モードのイントラ予測を行い、予測画像を生成する。このイントラ予測に先立ち、予測画像生成部５２２は、制御信号発生部５３２からの制御信号に応じて、フレームメモリ１６９からの隣接画像画素値にフィルタ処理を行う。
【０４６６】
フラグバッファ５３１には、マクロブロック毎またはブロック毎にon/offフラグ情報が可逆復号部１６２から供給される。制御信号発生部５３２は、フラグバッファ５３１から対応するon/offフラグを読み出し、ブロック毎に、フィルタ処理を行うか行わないかを示す制御信号を生成し、生成した制御信号を予測画像生成部５２２に供給する。
【０４６７】
なお、画像復号装置５０１による処理は、以下に説明する予測処理以外は、図２２の画像復号装置１５１の処理と同様の処理を行うため、その説明は繰り返しになるので省略される。
【０４６８】
［予測処理の説明］
次に、図４１のフローチャートを参照して、図３９の画像復号装置５０１の予測処理について説明する。なお、この処理は、図２４のステップＳ１３８の予測処理の他の例である。
【０４６９】
予測画像生成部５２２は、ステップＳ５０１において、対象ブロックがイントラ符号化されているか否かを判定する。可逆復号部１６２からイントラ予測モード情報が予測モードバッファ５２１に供給され、予測画像生成部５２２がそれを読み出す。これに対応して、予測画像生成部５２２は、ステップＳ５０１において、対象ブロックがイントラ符号化されていると判定し、処理は、ステップＳ５０２に進む。
【０４７０】
予測画像生成部５２２は、ステップＳ５０２において、予測モードバッファ５２１のイントラ予測モード情報を取得する。
【０４７１】
また、可逆復号部１６２からon/offフラグの情報がフラグバッファ５３１に供給されると、フラグバッファ５３１は、ステップＳ５０３において、on/offフラグを取得し、格納する。
【０４７２】
制御信号発生部５３２は、対象ブロックに対応するon/offフラグを、フラグバッファ５３１から読み出し、ステップＳ５０４において、on/offフラグが１であるか否かを判定する。ステップＳ５０４において、on/offフラグが１である、すなわち、フィルタ処理がonであると判定された場合、制御信号発生部５３２は、予測画像生成部５２２に、フィルタ処理を行わせるための制御信号を供給する。
【０４７３】
この制御信号に対応して、予測画像生成部５２２は、ステップＳ５０５において、フィルタ係数を用いて隣接画素に対してフィルタ処理を施す。そして、ステップＳ５０６において、予測画像生成部５２２は、フィルタ処理を施した隣接画素値を用いて、イントラ予測を行い、予測画像を生成する。
【０４７４】
一方、ステップＳ５０４において、on/offフラグが１ではない、すなわち、フィルタ処理がoffであると判定された場合、ステップＳ５０５のフィルタ処理はスキップされ、処理は、ステップＳ５０６に進む。
【０４７５】
ステップＳ５０６において、予想画像生成部５２２は、フレームメモリ１６９からの隣接画像画素値を用いて、イントラ予測を行い、予測画像を生成する。
【０４７６】
ステップＳ５０６において生成された予測画像は、スイッチ１７４に供給される。
【０４７７】
一方、ステップＳ５０１において、イントラ符号化されていないと判定された場合、処理は、ステップＳ５０７に進む。
【０４７８】
動き予測・補償部１７３は、ステップＳ５０７において、インター動き予測を行う。すなわち、処理対象の画像がインター予測処理される画像である場合、必要な画像がフレームメモリ１６９から読み出され、スイッチ１７０を介して動き予測・補償部１７３に供給される。ステップＳ５０８において動き予測・補償部１７３は、ステップＳ５０７で取得した動きベクトルに基づいて、インター予測モードの動き予測をし、予測画像を生成する。生成した予測画像は、スイッチ１７４に出力される。
【０４７９】
以上のように、画像符号化装置４５１および画像復号装置５０１においては、イントラ予測に用いられる隣接画素に対するフィルタ処理のonまたはoffを制御し、符号化効率が低下するブロックに対しては、フィルタ処理を行わないようにした。これにより符号化効率を向上させることができる。
【０４８０】
なお、上記説明においては、イントラ予測を行う例を説明したが、図３２を参照して上述した２次予測におけるイントラ予測にも、フィルタ処理のonまたはoffの制御を適用することができる。
【０４８１】
＜４．第４の実施の形態＞
［画像符号化装置の他の構成例］
図４２は、本発明を適用した画像処理装置としての画像符号化装置の他の実施の形態の構成を表している。
【０４８２】
画像符号化装置５５１は、Ａ／Ｄ変換部６１、画面並べ替えバッファ６２、演算部６３、直交変換部６４、量子化部６５、可逆符号化部６６、蓄積バッファ６７、逆量子化部６８、逆直交変換部６９、演算部７０、デブロックフィルタ７１、フレームメモリ７２、スイッチ７３、イントラ予測部７４、動き予測・補償部７６、予測画像選択部７７、およびレート制御部７８を備えている点は、図３４の画像符号化装置４５１と共通している。
【０４８３】
また、画像符号化装置５５１は、隣接画素内挿フィルタ制御部４６１が除かれている点、並びに、図３１の２次予測部３６１、および隣接画素内挿フィルタ制御部５６１が追加されている点が、図３４の画像符号化装置４５１と異なる。
【０４８４】
すなわち、図４２の例においては、イントラ予測部７４は、H．264/AVCのイントラ予測を行う。
【０４８５】
一方、動き予測・補償部７６は、インター処理する画像と参照画像に基づいて、候補となる全てのインター予測モードの動きベクトルを検出し、動きベクトルに基づいて参照画像に補償処理を施し、予測画像を生成する。
【０４８６】
動き予測・補償部７６は、検出された動きベクトル情報、インター処理する画像の情報（アドレスなど）、およびインター処理する画像と生成された予測画像の差分である１次残差を、２次予測部３６１に供給する。
【０４８７】
動き予測・補償部７６は、２次予測部３６１からの２次残差を比較することで、２次予測における最適なイントラ予測モードを決定する。また、動き予測・補償部７６は、２次残差と１次残差を比較することで、２次残差を符号化するか、または１次残差を符号化するかを決定する。なお、これらの処理は、候補となる全てのインター予測モードに対して行われる。
【０４８８】
そして、動き予測・補償部７６は、候補となる全てのインター予測モードに対してコスト関数値を算出する。このとき、１次残差および２次残差のうち、インター予測モード毎に決定された残差が用いられて、コスト関数値が算出される。動き予測・補償部７６は、算出したコスト関数値のうち、最小値を与える予測モードを、最適インター予測モードとして決定する。
【０４８９】
動き予測・補償部７６は、最適インター予測モードで生成された予測画像（またはインターする画像と２次残差の差分）、およびそのコスト関数値を、予測画像選択部７７に供給する。動き予測・補償部７６は、予測画像選択部７７により最適インター予測モードで生成された予測画像が選択された場合、最適インター予測モードを示す情報を可逆符号化部６６に出力する。
【０４９０】
このとき、動きベクトル情報、参照フレーム情報、２次予測を行うことを示す２次予測フラグ、２次予測におけるイントラ予測モードの情報、および２次予測におけるon/ofフラグ情報なども可逆符号化部６６に出力される。可逆符号化部６６は、動き予測・補償部７６からの情報をやはり可変長符号化、算術符号化といった可逆符号化処理し、圧縮画像のヘッダ部に挿入する。
【０４９１】
２次予測部３６１は、動き予測・補償部７６からの動きベクトル情報とインター処理する画像の情報に基づいて、インター処理する対象の対象ブロックに隣接する対象隣接画素をフレームメモリ７２から読み出す。また、２次予測部３６１は、動きベクトル情報により対象ブロックに対応付けられる参照ブロックに隣接する参照隣接画素をフレームメモリ７２から読み出す。
【０４９２】
２次予測部３６１は、図３２を参照して上述した２次予測処理を行う。２次予測処理とは、１次残差、および対象隣接画素と参照隣接画素の差分の間でイントラ予測を行い、２次差分情報（２次残差）を生成する処理である。
【０４９３】
ただし、図４２の２次予測部３６１は、この２次予測に先立ち、隣接画素内挿フィルタ制御部５６１からの制御信号に応じて、イントラ予測に用いる対象隣接画素と参照隣接画素の差分に対して、フィルタ処理を行う（あるいは行わない）。そして、２次予測部３６１は、フィルタ処理された（あるいはフィルタ処理なしの）対象隣接画素と参照隣接画素の差分を用いて、２次予測処理を行い、得られた２次差分情報（２次残差）を、動き予測・補償部７６に出力する。このとき、２次予測部３６１は、フィルタ処理を行うこと、または行わないことを示すon/offフラグ情報も、動き予測・補償部７６に出力する。
【０４９４】
すなわち、２次予測部３６１は、図３５に示したイントラ予測部７４を含むように構成されている。
【０４９５】
隣接画素内挿フィルタ制御部５６１は、図３４の隣接画素内挿フィルタ制御部４６１と基本的に同様に構成され、同様の処理を行う。すなわち、隣接画素内挿フィルタ制御部５６１は、ブロック単位またはマクロブロック単位でフィルタ処理を行うか、行わないかを制御する制御信号を、２次予測部３６１に供給する。
【０４９６】
なお、図４２の画像符号化装置５５１の符号化処理は、以下のイントラ処理と動き予測処理が異なるだけであり、その他の処理は、図３４の画像符号化装置４５１による符号化処理（すなわち、図１６の符号化処理）と基本的に同様の処理であるので、その説明は省略する。
【０４９７】
すなわち、図４２の画像符号化装置５５１においては、イントラ処理として、H．264/AVC方式におけるイントラ予測が行われる。また、動き予測処理として、動き予測処理の際に、隣接画素内挿フィルタ制御部５６１からの制御信号に応じてフィルタ処理が制御されて、フィルタ処理された（あるいはフィルタ処理されない）２次差分情報が生成される。そして、１次差分情報と２次差分情報のうち、符号化効率のよいものが選択され、コスト関数値が比較されることにより最適インター予測モードが決定される。
【０４９８】
この画像符号化装置５５１により符号化された圧縮画像を受け、それを復号する画像復号装置について図４３を参照して説明する。
【０４９９】
［画像復号装置の他の構成例］
図４３は、本発明を適用した画像処理装置としての画像復号装置の他の実施の形態の構成を表している。
【０５００】
画像復号装置６０１は、蓄積バッファ１６１、可逆復号部１６２、逆量子化部１６３、逆直交変換部１６４、演算部１６５、デブロックフィルタ１６６、画面並べ替えバッファ１６７、Ｄ／Ａ変換部１６８、フレームメモリ１６９、スイッチ１７０、イントラ予測部１７１、動き予測・補償部１７３、およびスイッチ１７４を備える点が、図３９の画像復号装置５０１と共通している。
【０５０１】
また、画像復号装置６０１は、隣接画素内挿フィルタ制御部５１１が除かれている点、並びに、図３３の２次予測部４１１、および隣接画素内挿フィルタ制御部６１１が追加されている点が、図３９の画像復号装置５０１と異なっている。
【０５０２】
すなわち、イントラ予測部１７１には、ヘッダ情報を復号して得られたイントラ予測モードを示す情報が可逆復号部１６２から供給される。イントラ予測部１７１は、この情報に基づいて、予測画像を生成し、生成した予測画像を、スイッチ１７４に出力する。
【０５０３】
動き予測・補償部１７３には、ヘッダ情報を復号して得られた情報のうち、予測モード情報、動きベクトル情報、参照フレーム情報などが可逆復号部１６２から供給される。また、動き予測・補償部１７３には、対象ブロックに対して２次予測処理が適用されている場合には、２次予測を行うことを示す２次予測フラグと、２次予測におけるイントラ予測モード情報も可逆復号部１６２から供給される。
【０５０４】
動き予測・補償部１７３は、２次予測処理が適用されていると判定した場合、２次予測部４１１を制御し、２次予測におけるイントラ予測モード情報が示すイントラ予測モードで、２次予測を行わせる。
【０５０５】
動き予測・補償部１７３は、動きベクトル情報と参照フレーム情報に基づいて画像に動き予測と補償処理を施し、予測画像を生成する。すなわち、対象ブロックの予測画像は、参照フレームにおいて、対象ブロックに動きベクトルで対応付けられる参照ブロックの画素値が用いられて生成される。そして、動き予測・補償部１７３は、生成された予測画像と２次予測部４１１からの予測差分値を加算して、それをスイッチ１７４に出力する。
【０５０６】
２次予測部４１１は、フレームメモリ１６９から読み出される対象隣接画素と参照隣接画素の差分を用いて、２次予測を行う。ただし、図４３の２次予測部４１１は、隣接画素内挿フィルタ制御部６１１からフィルタ処理を行うことを制御する制御信号を受けた場合、この２次予測に先立ち、対象隣接画素と参照隣接画素の差分に対して、フィルタ処理を行う。そして、２次予測部４１１は、フィルタ処理された対象隣接画素と参照隣接画素の差分を用いて、２次予測処理を行い、得られた２次差分情報（２次残差）を、動き予測・補償部１７３に出力する。
【０５０７】
なお、隣接画素内挿フィルタ制御部６１１からフィルタ処理を行わないことを制御する制御信号を受けた場合、２次予測部４１１は、フィルタ処理を行わず、対象隣接画素と参照隣接画素の差分を用いて、２次予測処理を行う。
【０５０８】
すなわち、２次予測部４１１は、図４０に示したイントラ予測部１７１を含むように構成されている。
【０５０９】
隣接画素内挿フィルタ制御部６１１は、図３９の隣接画素内挿フィルタ制御部５１１と基本的に同様に構成され、基本的に同様の処理を行う。すなわち、隣接画素内挿フィルタ制御部６１１には、ヘッダ情報を復号して得られた情報のうち、on/offフラグ情報が可逆復号部１６２から供給される。隣接画素内挿フィルタ制御部６１１は、on/offフラグ情報に応じて、２次予測部４１１に隣接画素のフィルタ処理を行わせる、または行わせない制御信号を供給する。
【０５１０】
なお、図４３の画像復号装置６０１の復号処理は、以下のイントラ処理と動き予測処理が異なるだけであり、その他の処理は、図３９の画像復号装置５０１による復号処理（すなわち、図２４の復号処理）と基本的に同様の処理であるので、その説明は省略する。
【０５１１】
すなわち、図４３の画像復号装置６０１においては、イントラ処理として、H．264/AVC方式におけるイントラ予測が行われる。また、動き予測処理として、動き予測処理の際に、隣接画素内挿フィルタ制御部６１１からの制御信号に応じてフィルタ処理がなされて、２次予測（イントラ予測）が行われ、２次差分情報が生成される。
【０５１２】
以上のような２次予測処理におけるイントラ予測にも、フィルタ処理のonまたはoffの制御を適用することができる。
【０５１３】
なお、上記説明においては、マクロブロックの大きさが、１６×１６画素の場合について説明してきたが、本発明は、特許文献３に記載の拡張されたマクロブロックサイズに対しても適用することが可能である。
【０５１４】
図４４は、拡張されたマクロブロックサイズの例を示す図である。特許文献３では、マクロブロックサイズが３２×３２画素に拡張されている。
【０５１５】
図４４の上段には、左から、３２×３２画素、３２×１６画素、１６×３２画素、および１６×１６画素のブロック（パーティション）に分割された３２×３２画素で構成されるマクロブロックが順に示されている。図４４の中段には、左から、１６×１６画素、１６×８画素、８×１６画素、および８×８画素のブロックに分割された１６×１６画素で構成されるブロックが順に示されている。また、図４４の下段には、左から、８×８画素、８×４画素、４×８画素、および４×４画素のブロックに分割された８×８画素のブロックが順に示されている。
【０５１６】
すなわち、３２×３２画素のマクロブロックは、図４４の上段に示される３２×３２画素、３２×１６画素、１６×３２画素、および１６×１６画素のブロックでの処理が可能である。
【０５１７】
また、上段の右側に示される１６×１６画素のブロックは、H．264/AVC方式と同様に、中段に示される１６×１６画素、１６×８画素、８×１６画素、および８×８画素のブロックでの処理が可能である。
【０５１８】
さらに、中段の右側に示される８×８画素のブロックは、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８０２や記憶部８０８に、あらかじめインストールしておくことができる。
【０５３１】
なお、コンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。
【０５３２】
本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
【０５３３】
例えば、上述した画像符号化装置５１、３５１、４５１、および５５１や画像復号装置１５１、４０１、５０１、および６０１は、任意の電子機器に適用することができる。以下にその例について説明する。
【０５３４】
図４６は、本発明を適用した画像復号装置を用いるテレビジョン受像機の主な構成例を示すブロック図である。
【０５３５】
図４６に示されるテレビジョン受像機１３００は、地上波チューナ１３１３、ビデオデコーダ１３１５、映像信号処理回路１３１８、グラフィック生成回路１３１９、パネル駆動回路１３２０、および表示パネル１３２１を有する。
【０５３６】
地上波チューナ１３１３は、地上アナログ放送の放送波信号を、アンテナを介して受信し、復調し、映像信号を取得し、それをビデオデコーダ１３１５に供給する。ビデオデコーダ１３１５は、地上波チューナ１３１３から供給された映像信号に対してデコード処理を施し、得られたデジタルのコンポーネント信号を映像信号処理回路１３１８に供給する。
【０５３７】
映像信号処理回路１３１８は、ビデオデコーダ１３１５から供給された映像データに対してノイズ除去などの所定の処理を施し、得られた映像データをグラフィック生成回路１３１９に供給する。
【０５３８】
グラフィック生成回路１３１９は、表示パネル１３２１に表示させる番組の映像データや、ネットワークを介して供給されるアプリケーションに基づく処理による画像データなどを生成し、生成した映像データや画像データをパネル駆動回路１３２０に供給する。また、グラフィック生成回路１３１９は、項目の選択などにユーザにより利用される画面を表示するための映像データ（グラフィック）を生成し、それを番組の映像データに重畳したりすることによって得られた映像データをパネル駆動回路１３２０に供給するといった処理も適宜行う。
【０５３９】
パネル駆動回路１３２０は、グラフィック生成回路１３１９から供給されたデータに基づいて表示パネル１３２１を駆動し、番組の映像や上述した各種の画面を表示パネル１３２１に表示させる。
【０５４０】
表示パネル１３２１はLCD（Liquid Crystal Display）などよりなり、パネル駆動回路１３２０による制御に従って番組の映像などを表示させる。
【０５４１】
また、テレビジョン受像機１３００は、音声A/D（Analog/Digital)変換回路１３１４、音声信号処理回路１３２２、エコーキャンセル／音声合成回路１３２３、音声増幅回路１３２４、およびスピーカ１３２５も有する。
【０５４２】
地上波チューナ１３１３は、受信した放送波信号を復調することにより、映像信号だけでなく音声信号も取得する。地上波チューナ１３１３は、取得した音声信号を音声A/D変換回路１３１４に供給する。
【０５４３】
音声A/D変換回路１３１４は、地上波チューナ１３１３から供給された音声信号に対してA/D変換処理を施し、得られたデジタルの音声信号を音声信号処理回路１３２２に供給する。
【０５４４】
音声信号処理回路１３２２は、音声A/D変換回路１３１４から供給された音声データに対してノイズ除去などの所定の処理を施し、得られた音声データをエコーキャンセル／音声合成回路１３２３に供給する。
【０５４５】
エコーキャンセル／音声合成回路１３２３は、音声信号処理回路１３２２から供給された音声データを音声増幅回路１３２４に供給する。
【０５４６】
音声増幅回路１３２４は、エコーキャンセル／音声合成回路１３２３から供給された音声データに対してD/A変換処理、増幅処理を施し、所定の音量に調整した後、音声をスピーカ１３２５から出力させる。
【０５４７】
さらに、テレビジョン受像機１３００は、デジタルチューナ１３１６およびMPEGデコーダ１３１７も有する。
【０５４８】
デジタルチューナ１３１６は、デジタル放送（地上デジタル放送、BS（Broadcasting Satellite）／CS（Communications Satellite）デジタル放送）の放送波信号を、アンテナを介して受信し、復調し、MPEG-TS（Moving Picture Experts Group-Transport Stream）を取得し、それをMPEGデコーダ１３１７に供給する。
【０５４９】
MPEGデコーダ１３１７は、デジタルチューナ１３１６から供給されたMPEG-TSに施されているスクランブルを解除し、再生対象（視聴対象）になっている番組のデータを含むストリームを抽出する。MPEGデコーダ１３１７は、抽出したストリームを構成する音声パケットをデコードし、得られた音声データを音声信号処理回路１３２２に供給するとともに、ストリームを構成する映像パケットをデコードし、得られた映像データを映像信号処理回路１３１８に供給する。また、MPEGデコーダ１３１７は、MPEG-TSから抽出したEPG（Electronic Program Guide)データを図示せぬ経路を介してCPU１３３２に供給する。
【０５５０】
テレビジョン受像機１３００は、このように映像パケットをデコードするMPEGデコーダ１３１７として、上述した画像復号装置１５１、４０１、５０１、または６０１を用いる。したがって、MPEGデコーダ１３１７は、画像復号装置１５１および４０１の場合と同様に、イントラ予測に先立ち、量子化パラメータや予測モードに応じてフィルタ係数を切り替えて、隣接画素のフィルタ処理を行う。あるいは、MPEGデコーダ１３１７は、画像復号装置５０１および６０１の場合と同様に、on/offフラグに基づき、イントラ予測に先立って行われる隣接画素のフィルタ処理をする、しないを制御する。これにより、符号化効率を向上することができる。
【０５５１】
MPEGデコーダ１３１７から供給された映像データは、ビデオデコーダ１３１５から供給された映像データの場合と同様に、映像信号処理回路１３１８において所定の処理が施される。そして、所定の処理が施された映像データは、グラフィック生成回路１３１９において、生成された映像データ等が適宜重畳され、パネル駆動回路１３２０を介して表示パネル１３２１に供給され、その画像が表示される。
【０５５２】
MPEGデコーダ１３１７から供給された音声データは、音声A/D変換回路１３１４から供給された音声データの場合と同様に、音声信号処理回路１３２２において所定の処理が施される。そして、所定の処理が施された音声データは、エコーキャンセル／音声合成回路１３２３を介して音声増幅回路１３２４に供給され、D/A変換処理や増幅処理が施される。その結果、所定の音量に調整された音声がスピーカ１３２５から出力される。
【０５５３】
また、テレビジョン受像機１３００は、マイクロホン１３２６、およびA/D変換回路１３２７も有する。
【０５５４】
A/D変換回路１３２７は、音声会話用のものとしてテレビジョン受像機１３００に設けられるマイクロホン１３２６により取り込まれたユーザの音声の信号を受信する。A/D変換回路１３２７は、受信した音声信号に対してA/D変換処理を施し、得られたデジタルの音声データをエコーキャンセル／音声合成回路１３２３に供給する。
【０５５５】
エコーキャンセル／音声合成回路１３２３は、テレビジョン受像機１３００のユーザ（ユーザＡ）の音声のデータがA/D変換回路１３２７から供給されている場合、ユーザＡの音声データを対象としてエコーキャンセルを行う。そして、エコーキャンセル／音声合成回路１３２３は、エコーキャンセルの後、他の音声データと合成するなどして得られた音声のデータを、音声増幅回路１３２４を介してスピーカ１３２５より出力させる。
【０５５６】
さらに、テレビジョン受像機１３００は、音声コーデック１３２８、内部バス１３２９、SDRAM（Synchronous Dynamic Random Access Memory)１３３０、フラッシュメモリ１３３１、CPU１３３２、USB（Universal Serial Bus) I/F１３３３、およびネットワークI/F１３３４も有する。
【０５５７】
A/D変換回路１３２７は、音声会話用のものとしてテレビジョン受像機１３００に設けられるマイクロホン１３２６により取り込まれたユーザの音声の信号を受信する。A/D変換回路１３２７は、受信した音声信号に対してA/D変換処理を施し、得られたデジタルの音声データを音声コーデック１３２８に供給する。
【０５５８】
音声コーデック１３２８は、A/D変換回路１３２７から供給された音声データを、ネットワーク経由で送信するための所定のフォーマットのデータに変換し、内部バス１３２９を介してネットワークI/F１３３４に供給する。
【０５５９】
ネットワークI/F１３３４は、ネットワーク端子１３３５に装着されたケーブルを介してネットワークに接続される。ネットワークI/F１３３４は、例えば、そのネットワークに接続される他の装置に対して、音声コーデック１３２８から供給された音声データを送信する。また、ネットワークI/F１３３４は、例えば、ネットワークを介して接続される他の装置から送信される音声データを、ネットワーク端子１３３５を介して受信し、それを、内部バス１３２９を介して音声コーデック１３２８に供給する。
【０５６０】
音声コーデック１３２８は、ネットワークI/F１３３４から供給された音声データを所定のフォーマットのデータに変換し、それをエコーキャンセル／音声合成回路１３２３に供給する。
【０５６１】
エコーキャンセル／音声合成回路１３２３は、音声コーデック１３２８から供給される音声データを対象としてエコーキャンセルを行い、他の音声データと合成するなどして得られた音声のデータを、音声増幅回路１３２４を介してスピーカ１３２５より出力させる。
【０５６２】
SDRAM１３３０は、CPU１３３２が処理を行う上で必要な各種のデータを記憶する。
【０５６３】
フラッシュメモリ１３３１は、CPU１３３２により実行されるプログラムを記憶する。フラッシュメモリ１３３１に記憶されているプログラムは、テレビジョン受像機１３００の起動時などの所定のタイミングでCPU１３３２により読み出される。フラッシュメモリ１３３１には、デジタル放送を介して取得されたEPGデータ、ネットワークを介して所定のサーバから取得されたデータなども記憶される。
【０５６４】
例えば、フラッシュメモリ１３３１には、CPU１３３２の制御によりネットワークを介して所定のサーバから取得されたコンテンツデータを含むMPEG-TSが記憶される。フラッシュメモリ１３３１は、例えばCPU１３３２の制御により、そのMPEG-TSを、内部バス１３２９を介してMPEGデコーダ１３１７に供給する。
【０５６５】
MPEGデコーダ１３１７は、デジタルチューナ１３１６から供給されたMPEG-TSの場合と同様に、そのMPEG-TSを処理する。このようにテレビジョン受像機１３００は、映像や音声等よりなるコンテンツデータを、ネットワークを介して受信し、MPEGデコーダ１３１７を用いてデコードし、その映像を表示させたり、音声を出力させたりすることができる。
【０５６６】
また、テレビジョン受像機１３００は、リモートコントローラ１３５１から送信される赤外線信号を受光する受光部１３３７も有する。
【０５６７】
受光部１３３７は、リモートコントローラ１３５１からの赤外線を受光し、復調して得られたユーザ操作の内容を表す制御コードをCPU１３３２に出力する。
【０５６８】
CPU１３３２は、フラッシュメモリ１３３１に記憶されているプログラムを実行し、受光部１３３７から供給される制御コードなどに応じてテレビジョン受像機１３００の全体の動作を制御する。CPU１３３２とテレビジョン受像機１３００の各部は、図示せぬ経路を介して接続されている。
【０５６９】
USB I/F１３３３は、USB端子１３３６に装着されたUSBケーブルを介して接続される、テレビジョン受像機１３００の外部の機器との間でデータの送受信を行う。ネットワークI/F１３３４は、ネットワーク端子１３３５に装着されたケーブルを介してネットワークに接続し、ネットワークに接続される各種の装置と音声データ以外のデータの送受信も行う。
【０５７０】
テレビジョン受像機１３００は、MPEGデコーダ１３１７として画像復号装置１５１、４０１、５０１、または６０１を用いることにより、符号化効率を向上することができる。その結果として、テレビジョン受像機１３００は、アンテナを介して受信した放送波信号や、ネットワークを介して取得したコンテンツデータから、より高速に、より高精細な復号画像を得て、表示することができる。
【０５７１】
図４７は、本発明を適用した画像符号化装置および画像復号装置を用いる携帯電話機の主な構成例を示すブロック図である。
【０５７２】
図４７に示される携帯電話機１４００は、各部を統括的に制御するようになされた主制御部１４５０、電源回路部１４５１、操作入力制御部１４５２、画像エンコーダ１４５３、カメラI/F部１４５４、LCD制御部１４５５、画像デコーダ１４５６、多重分離部１４５７、記録再生部１４６２、変復調回路部１４５８、および音声コーデック１４５９を有する。これらは、バス１４６０を介して互いに接続されている。
【０５７３】
また、携帯電話機１４００は、操作キー１４１９、CCD（Charge Coupled Devices）カメラ１４１６、液晶ディスプレイ１４１８、記憶部１４２３、送受信回路部１４６３、アンテナ１４１４、マイクロホン（マイク）１４２１、およびスピーカ１４１７を有する。
【０５７４】
電源回路部１４５１は、ユーザの操作により終話および電源キーがオン状態にされると、バッテリパックから各部に対して電力を供給することにより携帯電話機１４００を動作可能な状態に起動する。
【０５７５】
携帯電話機１４００は、CPU、ROMおよびRAM等でなる主制御部１４５０の制御に基づいて、音声通話モードやデータ通信モード等の各種モードで、音声信号の送受信、電子メールや画像データの送受信、画像撮影、またはデータ記録等の各種動作を行う。
【０５７６】
例えば、音声通話モードにおいて、携帯電話機１４００は、マイクロホン（マイク）１４２１で集音した音声信号を、音声コーデック１４５９によってデジタル音声データに変換し、これを変復調回路部１４５８でスペクトラム拡散処理し、送受信回路部１４６３でデジタルアナログ変換処理および周波数変換処理する。携帯電話機１４００は、その変換処理により得られた送信用信号を、アンテナ１４１４を介して図示しない基地局へ送信する。基地局へ伝送された送信用信号（音声信号）は、公衆電話回線網を介して通話相手の携帯電話機に供給される。
【０５７７】
また、例えば、音声通話モードにおいて、携帯電話機１４００は、アンテナ１４１４で受信した受信信号を送受信回路部１４６３で増幅し、さらに周波数変換処理およびアナログデジタル変換処理し、変復調回路部１４５８でスペクトラム逆拡散処理し、音声コーデック１４５９によってアナログ音声信号に変換する。携帯電話機１４００は、その変換して得られたアナログ音声信号をスピーカ１４１７から出力する。
【０５７８】
更に、例えば、データ通信モードにおいて電子メールを送信する場合、携帯電話機１４００は、操作キー１４１９の操作によって入力された電子メールのテキストデータを、操作入力制御部１４５２において受け付ける。携帯電話機１４００は、そのテキストデータを主制御部１４５０において処理し、LCD制御部１４５５を介して、画像として液晶ディスプレイ１４１８に表示させる。
【０５７９】
また、携帯電話機１４００は、主制御部１４５０において、操作入力制御部１４５２が受け付けたテキストデータやユーザ指示等に基づいて電子メールデータを生成する。携帯電話機１４００は、その電子メールデータを、変復調回路部１４５８でスペクトラム拡散処理し、送受信回路部１４６３でデジタルアナログ変換処理および周波数変換処理する。携帯電話機１４００は、その変換処理により得られた送信用信号を、アンテナ１４１４を介して図示しない基地局へ送信する。基地局へ伝送された送信用信号（電子メール）は、ネットワークおよびメールサーバ等を介して、所定のあて先に供給される。
【０５８０】
また、例えば、データ通信モードにおいて電子メールを受信する場合、携帯電話機１４００は、基地局から送信された信号を、アンテナ１４１４を介して送受信回路部１４６３で受信し、増幅し、さらに周波数変換処理およびアナログデジタル変換処理する。携帯電話機１４００は、その受信信号を変復調回路部１４５８でスペクトラム逆拡散処理して元の電子メールデータを復元する。携帯電話機１４００は、復元された電子メールデータを、LCD制御部１４５５を介して液晶ディスプレイ１４１８に表示する。
【０５８１】
なお、携帯電話機１４００は、受信した電子メールデータを、記録再生部１４６２を介して、記憶部１４２３に記録する（記憶させる）ことも可能である。
【０５８２】
この記憶部１４２３は、書き換え可能な任意の記憶媒体である。記憶部１４２３は、例えば、RAMや内蔵型フラッシュメモリ等の半導体メモリであってもよいし、ハードディスクであってもよいし、磁気ディスク、光磁気ディスク、光ディスク、USBメモリ、またはメモリカード等のリムーバブルメディアであってもよい。もちろん、これら以外のものであってもよい。
【０５８３】
さらに、例えば、データ通信モードにおいて画像データを送信する場合、携帯電話機１４００は、撮像によりCCDカメラ１４１６で画像データを生成する。CCDカメラ１４１６は、レンズや絞り等の光学デバイスと光電変換素子としてのCCDを有し、被写体を撮像し、受光した光の強度を電気信号に変換し、被写体の画像の画像データを生成する。その画像データを、カメラI/F部１４５４を介して、画像エンコーダ１４５３で、例えばMPEG２やMPEG４等の所定の符号化方式によって圧縮符号化することにより符号化画像データに変換する。
【０５８４】
携帯電話機１４００は、このような処理を行う画像エンコーダ１４５３として、上述した画像符号化装置５１、３５１、４５１、または５５１を用いる。したがって、画像エンコーダ１４５３は、画像符号化装置５１および３５１の場合と同様に、イントラ予測に先立ち、量子化パラメータや予測モードに応じてフィルタ係数を設定して、隣接画素のフィルタ処理を行う。あるいは、画像エンコーダ１４５３は、画像符号化装置４５１および５５１の場合と同様に、イントラ予測に先立って行われる隣接画素のフィルタ処理をする、しないを制御する。これにより、符号化効率を向上することができる。
【０５８５】
なお、携帯電話機１４００は、このとき同時に、CCDカメラ１４１６で撮像中にマイクロホン（マイク）１４２１で集音した音声を、音声コーデック１４５９においてアナログデジタル変換し、さらに符号化する。
【０５８６】
携帯電話機１４００は、多重分離部１４５７において、画像エンコーダ１４５３から供給された符号化画像データと、音声コーデック１４５９から供給されたデジタル音声データとを、所定の方式で多重化する。携帯電話機１４００は、その結果得られる多重化データを、変復調回路部１４５８でスペクトラム拡散処理し、送受信回路部１４６３でデジタルアナログ変換処理および周波数変換処理する。携帯電話機１４００は、その変換処理により得られた送信用信号を、アンテナ１４１４を介して図示しない基地局へ送信する。基地局へ伝送された送信用信号（画像データ）は、ネットワーク等を介して、通信相手に供給される。
【０５８７】
なお、画像データを送信しない場合、携帯電話機１４００は、CCDカメラ１４１６で生成した画像データを、画像エンコーダ１４５３を介さずに、LCD制御部１４５５を介して液晶ディスプレイ１４１８に表示させることもできる。
【０５８８】
また、例えば、データ通信モードにおいて、簡易ホームページ等にリンクされた動画像ファイルのデータを受信する場合、携帯電話機１４００は、基地局から送信された信号を、アンテナ１４１４を介して送受信回路部１４６３で受信し、増幅し、さらに周波数変換処理およびアナログデジタル変換処理する。携帯電話機１４００は、その受信信号を変復調回路部１４５８でスペクトラム逆拡散処理して元の多重化データを復元する。携帯電話機１４００は、多重分離部１４５７において、その多重化データを分離して、符号化画像データと音声データとに分ける。
【０５８９】
携帯電話機１４００は、画像デコーダ１４５６において、符号化画像データを、MPEG２やMPEG４等の所定の符号化方式に対応した復号方式でデコードすることにより、再生動画像データを生成し、これを、LCD制御部１４５５を介して液晶ディスプレイ１４１８に表示させる。これにより、例えば、簡易ホームページにリンクされた動画像ファイルに含まれる動画データが液晶ディスプレイ１４１８に表示される。
【０５９０】
携帯電話機１４００は、このような処理を行う画像デコーダ１４５６として、上述した画像復号装置１５１、４０１、５０１、または６０１を用いる。したがって、画像デコーダ１４５６は、画像復号装置１５１および４０１の場合と同様に、イントラ予測に先立ち、量子化パラメータや予測モードに応じてフィルタ係数を切り替えて、隣接画素のフィルタ処理を行う。あるいは、画像デコーダ１４５６は、画像復号装置５０１および６０１の場合と同様に、on/offフラグに基づき、イントラ予測に先立って行われる隣接画素のフィルタ処理をする、しないを制御する。これにより、符号化効率を向上することができる。
【０５９１】
このとき、携帯電話機１４００は、同時に、音声コーデック１４５９において、デジタルの音声データをアナログ音声信号に変換し、これをスピーカ１４１７より出力させる。これにより、例えば、簡易ホームページにリンクされた動画像ファイルに含まれる音声データが再生される。
【０５９２】
なお、電子メールの場合と同様に、携帯電話機１４００は、受信した簡易ホームページ等にリンクされたデータを、記録再生部１４６２を介して、記憶部１４２３に記録する（記憶させる）ことも可能である。
【０５９３】
また、携帯電話機１４００は、主制御部１４５０において、撮像されてCCDカメラ１４１６で得られた２次元コードを解析し、２次元コードに記録された情報を取得することができる。
【０５９４】
さらに、携帯電話機１４００は、赤外線通信部１４８１で赤外線により外部の機器と通信することができる。
【０５９５】
携帯電話機１４００は、画像エンコーダ１４５３として画像符号化装置５１、３５１、４５１、または５５１を用いることにより、例えばCCDカメラ１４１６において生成された画像データを符号化して生成する符号化データの符号化効率を向上させることができる。結果として、携帯電話機１４００は、符号化効率のよい符号化データ（画像データ）を、他の装置に提供することができる。
【０５９６】
また、携帯電話機１４００は、画像デコーダ１４５６として画像復号装置１５１、４０１、５０１、または６０１を用いることにより、精度の高い予測画像を生成することができる。その結果として、携帯電話機１４００は、例えば、簡易ホームページにリンクされた動画像ファイルから、より高精細な復号画像を得て、表示することができる。
【０５９７】
なお、以上において、携帯電話機１４００が、CCDカメラ１４１６を用いるように説明したが、このCCDカメラ１４１６の代わりに、CMOS（Complementary Metal Oxide Semiconductor）を用いたイメージセンサ（CMOSイメージセンサ）を用いるようにしてもよい。この場合も、携帯電話機１４００は、CCDカメラ１４１６を用いる場合と同様に、被写体を撮像し、被写体の画像の画像データを生成することができる。
【０５９８】
また、以上においては携帯電話機１４００として説明したが、例えば、PDA（Personal Digital Assistants）、スマートフォン、UMPC（Ultra Mobile Personal Computer）、ネットブック、ノート型パーソナルコンピュータ等、この携帯電話機１４００と同様の撮像機能や通信機能を有する装置であれば、どのような装置であっても携帯電話機１４００の場合と同様に、画像符号化装置５１、３５１、４５１、または５５１および画像復号装置１５１、４０１、５０１、または６０１を適用することができる。
【０５９９】
図４８は、本発明を適用した画像符号化装置および画像復号装置を用いるハードディスクレコーダの主な構成例を示すブロック図である。
【０６００】
図４８に示されるハードディスクレコーダ（HDDレコーダ）１５００は、チューナにより受信された、衛星や地上のアンテナ等より送信される放送波信号（テレビジョン信号）に含まれる放送番組のオーディオデータとビデオデータを、内蔵するハードディスクに保存し、その保存したデータをユーザの指示に応じたタイミングでユーザに提供する装置である。
【０６０１】
ハードディスクレコーダ１５００は、例えば、放送波信号よりオーディオデータとビデオデータを抽出し、それらを適宜復号し、内蔵するハードディスクに記憶させることができる。また、ハードディスクレコーダ１５００は、例えば、ネットワークを介して他の装置からオーディオデータやビデオデータを取得し、それらを適宜復号し、内蔵するハードディスクに記憶させることもできる。
【０６０２】
さらに、ハードディスクレコーダ１５００は、例えば、内蔵するハードディスクに記録されているオーディオデータやビデオデータを復号してモニタ１５６０に供給し、モニタ１５６０の画面にその画像を表示させる。また、ハードディスクレコーダ１５００は、モニタ１５６０のスピーカよりその音声を出力させることができる。
【０６０３】
ハードディスクレコーダ１５００は、例えば、チューナを介して取得された放送波信号より抽出されたオーディオデータとビデオデータ、または、ネットワークを介して他の装置から取得したオーディオデータやビデオデータを復号してモニタ１５６０に供給し、モニタ１５６０の画面にその画像を表示させる。また、ハードディスクレコーダ１５００は、モニタ１５６０のスピーカよりその音声を出力させることもできる。
【０６０４】
もちろん、この他の動作も可能である。
【０６０５】
図４８に示されるように、ハードディスクレコーダ１５００は、受信部１５２１、復調部１５２２、デマルチプレクサ１５２３、オーディオデコーダ１５２４、ビデオデコーダ１５２５、およびレコーダ制御部１５２６を有する。ハードディスクレコーダ１５００は、さらに、EPGデータメモリ１５２７、プログラムメモリ１５２８、ワークメモリ１５２９、ディスプレイコンバータ１５３０、OSD（On Screen Display）制御部１５３１、ディスプレイ制御部１５３２、記録再生部１５３３、D/Aコンバータ１５３４、および通信部１５３５を有する。
【０６０６】
また、ディスプレイコンバータ１５３０は、ビデオエンコーダ１５４１を有する。記録再生部１５３３は、エンコーダ１５５１およびデコーダ１５５２を有する。
【０６０７】
受信部１５２１は、リモートコントローラ（図示せず）からの赤外線信号を受信し、電気信号に変換してレコーダ制御部１５２６に出力する。レコーダ制御部１５２６は、例えば、マイクロプロセッサなどにより構成され、プログラムメモリ１５２８に記憶されているプログラムに従って、各種の処理を実行する。レコーダ制御部１５２６は、このとき、ワークメモリ１５２９を必要に応じて使用する。
【０６０８】
通信部１５３５は、ネットワークに接続され、ネットワークを介して他の装置との通信処理を行う。例えば、通信部１５３５は、レコーダ制御部１５２６により制御され、チューナ（図示せず）と通信し、主にチューナに対して選局制御信号を出力する。
【０６０９】
復調部１５２２は、チューナより供給された信号を、復調し、デマルチプレクサ１５２３に出力する。デマルチプレクサ１５２３は、復調部１５２２より供給されたデータを、オーディオデータ、ビデオデータ、およびEPGデータに分離し、それぞれ、オーディオデコーダ１５２４、ビデオデコーダ１５２５、またはレコーダ制御部１５２６に出力する。
【０６１０】
オーディオデコーダ１５２４は、入力されたオーディオデータを、例えばMPEG方式でデコードし、記録再生部１５３３に出力する。ビデオデコーダ１５２５は、入力されたビデオデータを、例えばMPEG方式でデコードし、ディスプレイコンバータ１５３０に出力する。レコーダ制御部１５２６は、入力されたEPGデータをEPGデータメモリ１５２７に供給し、記憶させる。
【０６１１】
ディスプレイコンバータ１５３０は、ビデオデコーダ１５２５またはレコーダ制御部１５２６より供給されたビデオデータを、ビデオエンコーダ１５４１により、例えばNTSC（National Television Standards Committee）方式のビデオデータにエンコードし、記録再生部１５３３に出力する。また、ディスプレイコンバータ１５３０は、ビデオデコーダ１５２５またはレコーダ制御部１５２６より供給されるビデオデータの画面のサイズを、モニタ１５６０のサイズに対応するサイズに変換する。ディスプレイコンバータ１５３０は、画面のサイズが変換されたビデオデータを、さらに、ビデオエンコーダ１５４１によってNTSC方式のビデオデータに変換し、アナログ信号に変換し、ディスプレイ制御部１５３２に出力する。
【０６１２】
ディスプレイ制御部１５３２は、レコーダ制御部１５２６の制御のもと、OSD（On Screen Display）制御部１５３１が出力したOSD信号を、ディスプレイコンバータ１５３０より入力されたビデオ信号に重畳し、モニタ１５６０のディスプレイに出力し、表示させる。
【０６１３】
モニタ１５６０にはまた、オーディオデコーダ１５２４が出力したオーディオデータが、D/Aコンバータ１５３４によりアナログ信号に変換されて供給されている。モニタ１５６０は、このオーディオ信号を内蔵するスピーカから出力する。
【０６１４】
記録再生部１５３３は、ビデオデータやオーディオデータ等を記録する記憶媒体としてハードディスクを有する。
【０６１５】
記録再生部１５３３は、例えば、オーディオデコーダ１５２４より供給されるオーディオデータを、エンコーダ１５５１によりMPEG方式でエンコードする。また、記録再生部１５３３は、ディスプレイコンバータ１５３０のビデオエンコーダ１５４１より供給されるビデオデータを、エンコーダ１５５１によりMPEG方式でエンコードする。記録再生部１５３３は、そのオーディオデータの符号化データとビデオデータの符号化データとをマルチプレクサにより合成する。記録再生部１５３３は、その合成データをチャネルコーディングして増幅し、そのデータを、記録ヘッドを介してハードディスクに書き込む。
【０６１６】
記録再生部１５３３は、再生ヘッドを介してハードディスクに記録されているデータを再生し、増幅し、デマルチプレクサによりオーディオデータとビデオデータに分離する。記録再生部１５３３は、デコーダ１５５２によりオーディオデータおよびビデオデータをMPEG方式でデコードする。記録再生部１５３３は、復号したオーディオデータをD/A変換し、モニタ１５６０のスピーカに出力する。また、記録再生部１５３３は、復号したビデオデータをD/A変換し、モニタ１５６０のディスプレイに出力する。
【０６１７】
レコーダ制御部１５２６は、受信部１５２１を介して受信されるリモートコントローラからの赤外線信号により示されるユーザ指示に基づいて、EPGデータメモリ１５２７から最新のEPGデータを読み出し、それをOSD制御部１５３１に供給する。OSD制御部１５３１は、入力されたEPGデータに対応する画像データを発生し、ディスプレイ制御部１５３２に出力する。ディスプレイ制御部１５３２は、OSD制御部１５３１より入力されたビデオデータをモニタ１５６０のディスプレイに出力し、表示させる。これにより、モニタ１５６０のディスプレイには、EPG（電子番組ガイド）が表示される。
【０６１８】
また、ハードディスクレコーダ１５００は、インターネット等のネットワークを介して他の装置から供給されるビデオデータ、オーディオデータ、またはEPGデータ等の各種データを取得することができる。
【０６１９】
通信部１５３５は、レコーダ制御部１５２６に制御され、ネットワークを介して他の装置から送信されるビデオデータ、オーディオデータ、およびEPGデータ等の符号化データを取得し、それをレコーダ制御部１５２６に供給する。レコーダ制御部１５２６は、例えば、取得したビデオデータやオーディオデータの符号化データを記録再生部１５３３に供給し、ハードディスクに記憶させる。このとき、レコーダ制御部１５２６および記録再生部１５３３が、必要に応じて再エンコード等の処理を行うようにしてもよい。
【０６２０】
また、レコーダ制御部１５２６は、取得したビデオデータやオーディオデータの符号化データを復号し、得られるビデオデータをディスプレイコンバータ１５３０に供給する。ディスプレイコンバータ１５３０は、ビデオデコーダ１５２５から供給されるビデオデータと同様に、レコーダ制御部１５２６から供給されるビデオデータを処理し、ディスプレイ制御部１５３２を介してモニタ１５６０に供給し、その画像を表示させる。
【０６２１】
また、この画像表示に合わせて、レコーダ制御部１５２６が、復号したオーディオデータを、D/Aコンバータ１５３４を介してモニタ１５６０に供給し、その音声をスピーカから出力させるようにしてもよい。
【０６２２】
さらに、レコーダ制御部１５２６は、取得したEPGデータの符号化データを復号し、復号したEPGデータをEPGデータメモリ１５２７に供給する。
【０６２３】
以上のようなハードディスクレコーダ１５００は、ビデオデコーダ１５２５、デコーダ１５５２、およびレコーダ制御部１５２６に内蔵されるデコーダとして画像復号装置１５１、４０１、５０１、または６０１を用いる。したがって、ビデオデコーダ１５２５、デコーダ１５５２、およびレコーダ制御部１５２６に内蔵されるデコーダは、画像復号装置１５１および４０１の場合と同様に、イントラ予測に先立ち、量子化パラメータや予測モードに応じてフィルタ係数を切り替えて、隣接画素のフィルタ処理を行う。あるいは、ビデオデコーダ１５２５、デコーダ１５５２、およびレコーダ制御部１５２６に内蔵されるデコーダは、画像復号装置５０１および６０１の場合と同様に、on/offフラグに基づき、イントラ予測に先立って行われる隣接画素のフィルタ処理をする、しないを制御する。これにより、符号化効率を向上することができる。
【０６２４】
したがって、ハードディスクレコーダ１５００は、精度の高い予測画像を生成することができる。その結果として、ハードディスクレコーダ１５００は、例えば、チューナを介して受信されたビデオデータの符号化データや、記録再生部１５３３のハードディスクから読み出されたビデオデータの符号化データや、ネットワークを介して取得したビデオデータの符号化データから、より高精細な復号画像を得て、モニタ１５６０に表示させることができる。
【０６２５】
また、ハードディスクレコーダ１５００は、エンコーダ１５５１として画像符号化装置５１、３５１、４５１、または５５１を用いる。したがって、エンコーダ１５５１は、画像符号化装置５１および３５１の場合と同様に、イントラ予測に先立ち、量子化パラメータや予測モードに応じてフィルタ係数を設定して、隣接画素のフィルタ処理を行う。あるいは、エンコーダ１５５１は、画像符号化装置４５１および５５１の場合と同様に、イントラ予測に先立って行われる隣接画素のフィルタ処理をする、しないを制御する。これにより、符号化効率を向上することができる。
【０６２６】
したがって、ハードディスクレコーダ１５００は、例えば、ハードディスクに記録する符号化データの符号化効率を向上させることができる。その結果として、ハードディスクレコーダ１５００は、ハードディスクの記憶領域をより効率よく使用することができる。
【０６２７】
なお、以上においては、ビデオデータやオーディオデータをハードディスクに記録するハードディスクレコーダ１５００について説明したが、もちろん、記録媒体はどのようなものであってもよい。例えばフラッシュメモリ、光ディスク、またはビデオテープ等、ハードディスク以外の記録媒体を適用するレコーダであっても、上述したハードディスクレコーダ１５００の場合と同様に、画像符号化装置５１、３５１、４５１、および５５１並びに画像復号装置１５１、４０１、５０１、および６０１を適用することができる。
【０６２８】
図４９は、本発明を適用した画像復号装置および画像符号化装置を用いるカメラの主な構成例を示すブロック図である。
【０６２９】
図４９に示されるカメラ１６００は、被写体を撮像し、被写体の画像をLCD１６１６に表示させたり、それを画像データとして、記録メディア１６３３に記録したりする。
【０６３０】
レンズブロック１６１１は、光（すなわち、被写体の映像）を、CCD/CMOS１６１２に入射させる。CCD/CMOS１６１２は、CCDまたはCMOSを用いたイメージセンサであり、受光した光の強度を電気信号に変換し、カメラ信号処理部１６１３に供給する。
【０６３１】
カメラ信号処理部１６１３は、CCD/CMOS１６１２から供給された電気信号を、Ｙ，Ｃｒ，Ｃｂの色差信号に変換し、画像信号処理部１６１４に供給する。画像信号処理部１６１４は、コントローラ１６２１の制御の下、カメラ信号処理部１６１３から供給された画像信号に対して所定の画像処理を施したり、その画像信号をエンコーダ１６４１で例えばMPEG方式により符号化したりする。画像信号処理部１６１４は、画像信号を符号化して生成した符号化データを、デコーダ１６１５に供給する。さらに、画像信号処理部１６１４は、オンスクリーンディスプレイ（OSD）１６２０において生成された表示用データを取得し、それをデコーダ１６１５に供給する。
【０６３２】
以上の処理において、カメラ信号処理部１６１３は、バス１６１７を介して接続されるDRAM（Dynamic Random Access Memory）１６１８を適宜利用し、必要に応じて画像データや、その画像データが符号化された符号化データ等をそのDRAM１６１８に保持させる。
【０６３３】
デコーダ１６１５は、画像信号処理部１６１４から供給された符号化データを復号し、得られた画像データ（復号画像データ）をLCD１６１６に供給する。また、デコーダ１６１５は、画像信号処理部１６１４から供給された表示用データをLCD１６１６に供給する。LCD１６１６は、デコーダ１６１５から供給された復号画像データの画像と表示用データの画像を適宜合成し、その合成画像を表示する。
【０６３４】
オンスクリーンディスプレイ１６２０は、コントローラ１６２１の制御の下、記号、文字、または図形からなるメニュー画面やアイコンなどの表示用データを、バス１６１７を介して画像信号処理部１６１４に出力する。
【０６３５】
コントローラ１６２１は、ユーザが操作部１６２２を用いて指令した内容を示す信号に基づいて、各種処理を実行するとともに、バス１６１７を介して、画像信号処理部１６１４、DRAM１６１８、外部インタフェース１６１９、オンスクリーンディスプレイ１６２０、およびメディアドライブ１６２３等を制御する。FLASH ROM１６２４には、コントローラ１６２１が各種処理を実行する上で必要なプログラムやデータ等が格納される。
【０６３６】
例えば、コントローラ１６２１は、画像信号処理部１６１４やデコーダ１６１５に代わって、DRAM１６１８に記憶されている画像データを符号化したり、DRAM１６１８に記憶されている符号化データを復号したりすることができる。このとき、コントローラ１６２１は、画像信号処理部１６１４やデコーダ１６１５の符号化・復号方式と同様の方式によって符号化・復号処理を行うようにしてもよいし、画像信号処理部１６１４やデコーダ１６１５が対応していない方式により符号化・復号処理を行うようにしてもよい。
【０６３７】
また、例えば、操作部１６２２から画像印刷の開始が指示された場合、コントローラ１６２１は、DRAM１６１８から画像データを読み出し、それを、バス１６１７を介して外部インタフェース１６１９に接続されるプリンタ１６３４に供給して印刷させる。
【０６３８】
さらに、例えば、操作部１６２２から画像記録が指示された場合、コントローラ１６２１は、DRAM１６１８から符号化データを読み出し、それを、バス１６１７を介してメディアドライブ１６２３に装着される記録メディア１６３３に供給して記憶させる。
【０６３９】
記録メディア１６３３は、例えば、磁気ディスク、光磁気ディスク、光ディスク、または半導体メモリ等の、読み書き可能な任意のリムーバブルメディアである。記録メディア１６３３は、もちろん、リムーバブルメディアとしての種類も任意であり、テープデバイスであってもよいし、ディスクであってもよいし、メモリカードであってもよい。もちろん、非接触ICカード等であっても良い。
【０６４０】
また、メディアドライブ１６２３と記録メディア１６３３を一体化し、例えば、内蔵型ハードディスクドライブやSSD（Solid State Drive）等のように、非可搬性の記憶媒体により構成されるようにしてもよい。
【０６４１】
外部インタフェース１６１９は、例えば、USB入出力端子などで構成され、画像の印刷を行う場合に、プリンタ１６３４と接続される。また、外部インタフェース１６１９には、必要に応じてドライブ１６３１が接続され、磁気ディスク、光ディスク、あるいは光磁気ディスクなどのリムーバブルメディア１６３２が適宜装着され、それらから読み出されたコンピュータプログラムが、必要に応じて、FLASH ROM１６２４にインストールされる。
【０６４２】
さらに、外部インタフェース１６１９は、LANやインターネット等の所定のネットワークに接続されるネットワークインタフェースを有する。コントローラ１６２１は、例えば、操作部１６２２からの指示に従って、DRAM１６１８から符号化データを読み出し、それを外部インタフェース１６１９から、ネットワークを介して接続される他の装置に供給させることができる。また、コントローラ１６２１は、ネットワークを介して他の装置から供給される符号化データや画像データを、外部インタフェース１６１９を介して取得し、それをDRAM１６１８に保持させたり、画像信号処理部１６１４に供給したりすることができる。
【０６４３】
以上のようなカメラ１６００は、デコーダ１６１５として画像復号装置１５１、４０１、５０１、または６０１を用いる。したがって、デコーダ１６１５は、画像復号装置１５１および４０１の場合と同様に、イントラ予測に先立ち、量子化パラメータや予測モードに応じてフィルタ係数を切り替えて、隣接画素のフィルタ処理を行う。あるいは、デコーダ１６１５は、画像復号装置５０１および６０１の場合と同様に、on/offフラグに基づき、イントラ予測に先立って行われる隣接画素のフィルタ処理をする、しないを制御する。これにより、符号化効率を向上することができる。
【０６４４】
したがって、カメラ１６００は、精度の高い予測画像を生成することができる。その結果として、カメラ１６００は、例えば、CCD/CMOS１６１２において生成された画像データや、DRAM１６１８または記録メディア１６３３から読み出されたビデオデータの符号化データや、ネットワークを介して取得したビデオデータの符号化データから、より高精細な復号画像を得て、LCD１６１６に表示させることができる。
【０６４５】
また、カメラ１６００は、エンコーダ１６４１として画像符号化装置５１、３５１、４５１、または５５１を用いる。したがって、エンコーダ１６４１は、画像符号化装置５１および３５１の場合と同様に、イントラ予測に先立ち、量子化パラメータや予測モードに応じてフィルタ係数を設定して、隣接画素のフィルタ処理を行う。あるいは、エンコーダ１６４１は、画像符号化装置４５１および５５１の場合と同様に、イントラ予測に先立って行われる隣接画素のフィルタ処理をする、しないを制御する。これにより、符号化効率を向上することができる。
【０６４６】
したがって、カメラ１６００は、例えば、ハードディスクに記録する符号化データの符号化効率を向上させることができる。その結果として、カメラ１６００は、DRAM１６１８や記録メディア１６３３の記憶領域をより効率よく使用することができる。
【０６４７】
なお、コントローラ１６２１が行う復号処理に画像復号装置１５１、４０１、５０１、または６０１の復号方法を適用するようにしてもよい。同様に、コントローラ１６２１が行う符号化処理に画像符号化装置５１、３５１、４５１、または５５１の符号化方法を適用するようにしてもよい。
【０６４８】
また、カメラ１６００が撮像する画像データは動画像であってもよいし、静止画像であってもよい。
【０６４９】
もちろん、画像符号化装置５１、３５１、４５１、または５５１および画像復号装置１５１、４０１、５０１、または６０１は、上述した装置以外の装置やシステムにも適用可能である。
【符号の説明】
【０６５０】
５１  画像符号化装置，  ６６  可逆符号化部，  ７４  イントラ予測部，  ７５  隣接画素内挿フィルタ切替部，  ８１  隣接画素設定部，  ８２  予測画像生成部，  ８３  最適予測モード判定部，  ９１  予測モードバッファ，  ９２  量子化パラメータバッファ，  ９３  ローパスフィルタ設定部，  ９４  フィルタ係数メモリ，  １１１  隣接画素設定部，  １１２  予測画像生成部，  １１３  最適予測モード判定部，  １２１  予測モードバッファ，  １２２  最適フィルタ算出部，  ９３  ローパスフィルタ設定部， １５１  画像復号装置，  １６２  可逆復号部，  １７１  イントラ予測部，  １７２  隣接画素内挿フィルタ切替部，  １８１  予測画像生成部，  １８２  隣接画素設定部，  １９１  予測モードバッファ，  １９２  量子化パラメータバッファ，  １９３  ローパスフィルタ設定部，  １９４  フィルタ係数メモリ，  ２０２  ローパスフィルタ設定部，  ２５１  学習装置，  ２６１  隣接内挿フィルタ算出部，  ２７１  フィルタ係数記憶部，  ３５１  画像符号化装置，  ３６１  ２次予測部，  ３６２  隣接画素内挿フィルタ切替部，  ４０１  画像復号装置，  ４１１  ２次予測部，  ４１２  隣接画素内挿フィルタ切替部，  ４５１  画像符号化装置，  ４６１  隣接画素内挿フィルタ制御部，  ５０１  画像復号装置，  ５１１  隣接画素内挿フィルタ制御部，  ５５１  画像符号化装置，  ５６１  隣接画素内挿フィルタ制御部，  ６０１  画像復号装置，  ６１１  隣接画素内挿フィルタ制御部
【図１】
0005597968.tif 000020
【図２】
0005597968.tif 000021
【図３】
0005597968.tif 000022
【図４】
0005597968.tif 000023
【図５】
0005597968.tif 000024
【図６】
0005597968.tif 000025
【図７】
0005597968.tif 000026
【図８】
0005597968.tif 000027
【図９】
0005597968.tif 000028
【図１０】
0005597968.tif 000029
【図１１】
0005597968.tif 000030
【図１２】
0005597968.tif 000031
【図１３】
0005597968.tif 000032
【図１４】
0005597968.tif 000033
【図１５】
0005597968.tif 000034
【図１６】
0005597968.tif 000035
【図１７】
0005597968.tif 000036
【図１８】
0005597968.tif 000037
【図１９】
0005597968.tif 000038
【図２０】
0005597968.tif 000039
【図２１】
0005597968.tif 000040
【図２２】
0005597968.tif 000041
【図２３】
0005597968.tif 000042
【図２４】
0005597968.tif 000043
【図２５】
0005597968.tif 000044
【図２６】
0005597968.tif 000045
【図２７】
0005597968.tif 000046
【図２８】
0005597968.tif 000047
【図２９】
0005597968.tif 000048
【図３０】
0005597968.tif 000049
【図３１】
0005597968.tif 000050
【図３２】
0005597968.tif 000051
【図３３】
0005597968.tif 000052
【図３４】
0005597968.tif 000053
【図３５】
0005597968.tif 000054
【図３６】
0005597968.tif 000055
【図３７】
0005597968.tif 000056
【図３８】
0005597968.tif 000057
【図３９】
0005597968.tif 000058
【図４０】
0005597968.tif 000059
【図４１】
0005597968.tif 000060
【図４２】
0005597968.tif 000061
【図４３】
0005597968.tif 000062
【図４４】
0005597968.tif 000063
【図４５】
0005597968.tif 000064
【図４６】
0005597968.tif 000065
【図４７】
0005597968.tif 000066
【図４８】
0005597968.tif 000067
【図４９】
0005597968.tif 000068