(57)【要約】【課題】フレーム内の局所的性質に対応することができるようにする。【解決手段】ブロック判定部７７は、大ブロックフィルタ算出部９２または小ブロックフィルタ算出部９３のどちらか一方に制御信号を出力することで、ブロックを、８×８より大きいブロックサイズのクラスと、８×８以下のブロックサイズのクラスに分類している。そして、大ブロックフィルタ算出部９２または小ブロックフィルタ算出部９３においては、分類されたクラスの動きベクトル情報のみが、該当するクラスのフィルタ係数算出に用いられる。本発明は、例えば、H．264/AVC方式をベースに符号化する画像符号化装置に適用することができる。【選択図】図７
2011050001.tif 000002
【特許請求の範囲】
【請求項１】
予め設定されている第１のフィルタ係数を用いて候補となる予測モードでの符号化処理の対象となる対象ブロックの動き予測を行う動き予測手段と、
前記動き予測手段により動き予測が行われた前記候補となる予測モードから前記対象ブロックについて決定される最適予測モードが示すブロックサイズに応じてクラスを分類するブロック判別手段と、
前記ブロック判別手段により分類された前記クラス毎に、予測誤差を最小にする第２のフィルタ係数を算出するフィルタ係数算出手段と
を備える画像処理装置。
【請求項２】
前記動き予測手段は、前記フィルタ係数算出手段により算出された前記第２のフィルタ係数を用いて前記候補となる予測モードでの前記対象ブロックの動き予測を行い、
前記動き予測手段により前記第２のフィルタを用いて動き予測が行われた前記候補となる予測モードから、前記対象ブロックについて前記最適予測モードを決定するモード決定手段と、
前記動き予測手段により動き予測が行われた前記候補となる予測モードから決定された前記最適予測モードでの前記対象ブロックの動き補償を行う動き補償手段と、
前記動き補償手段による前記動き補償で得られる前記対象ブロックの予測画像と原画像の差分を符号化する符号化手段と
をさらに備える請求項１に記載の画像処理装置。
【請求項３】
前記符号化手段は、前記フィルタ係数算出手段により前記クラス毎に算出された前記第２のフィルタ係数を符号化する
請求項２に記載の画像処理装置。
【請求項４】
前記符号化手段は、前記クラス毎の前記第２のフィルタ係数を送ることを示すフラグ情報と前記フラグ情報が符号化されたクラスの前記第２のフィルタ係数とを符号化する
請求項２に記載の画像処理装置。
【請求項５】
前記動き予測手段は、前記フラグ情報が符号化されないクラスに分類されるブロックサイズの予測モードに対しては、前記第１のフィルタ係数を用いて前記対象ブロックの動き予測を行う
請求項４に記載の画像処理装置。
【請求項６】
前記動き予測手段は、前記フラグ情報が符号化されないクラスに分類されるブロックサイズの予測モードに対しては、そのクラスより大きいブロックサイズのクラスの前記第２のフィルタ係数を用いて前記対象ブロックの動き予測を行う
請求項４に記載の画像処理装置。
【請求項７】
前記動き予測手段は、対象スライスにおいて、前記フラグ情報が符号化されないクラスに分類されるブロックサイズの予測モードに対しては、前記対象スライスより前のスライスにおける同じクラスの前記第２のフィルタ係数を用いて前記対象ブロックの動き予測を行う
請求項４に記載の画像処理装置。
【請求項８】
前記ブロック判別手段は、前記ブロックサイズが８×８ブロックより大きいか否かに応じて、前記クラスを分類する
請求項１に記載の画像処理装置。
【請求項９】
前記ブロック判別手段は、前記ブロックサイズが１６×１６ブロックより大きいか、１６×１６ブロック以下であり、かつ８×８ブロックよりも大きいか、あるいは、８×８ブロック以下であるかに応じて、前記クラスを分類する
請求項１に記載の画像処理装置
【請求項１０】
画像処理装置が、
予め設定されている第１のフィルタ係数を用いて候補となる予測モードでの符号化処理の対象となる対象ブロックの動き予測を行い、
動き予測が行われた前記候補となる予測モードから前記対象ブロックについて決定される最適予測モードが示すブロックサイズに応じてクラスを分類し、
分類された前記クラス毎に、予測誤差を最小にする第２のフィルタ係数を算出するステップ
を含む画像処理方法。
【請求項１１】
復号処理の対象となる対象ブロックの動きベクトル情報を復号する復号手段と、
ブロックサイズに応じて分類されたクラス毎に予測誤差を最小にするように算出されたクラス毎のフィルタ係数から、前記対象ブロックのブロックサイズに応じたフィルタ係数を設定するフィルタ係数設定手段と、
前記復号手段により復号された前記動きベクトル情報、および前記フィルタ係数設定手段により設定された前記フィルタ係数を用いて、前記対象ブロックの予測画像を生成する予測画像生成手段と
を備える画像処理装置。
【請求項１２】
前記復号手段は、スライス毎に符号化されている前記クラス毎のフィルタ係数を復号し、
前記フィルタ係数設定手段は、前記復号手段により復号された前記クラス毎のフィルタ係数から、前記対象ブロックのブロックサイズに応じたフィルタ係数を設定する
請求項１１に記載の画像処理装置。
【請求項１３】
前記復号手段は、前記対象ブロックの予測モード情報も復号し、
前記フィルタ係数設定手段は、前記復号手段により復号された前記予測モード情報が示すブロックサイズに応じて、前記対象ブロックのブロックサイズに応じたフィルタ係数を設定する
請求項１２に記載の画像処理装置。
【請求項１４】
前記復号手段は、スライス毎に符号化されている前記クラス毎の前記フィルタ係数を送ることを示すフラグ情報と前記フラグ情報が復号されたクラスの前記フィルタ係数とを復号する
請求項１２に記載の画像処理装置。
【請求項１５】
前記予測画像生成手段は、前記フラグ情報が復号されないクラスに分類されるブロックサイズの対象ブロックについて、予め設定されているフィルタ係数を用いて予測画像を生成する
請求項１４に記載の画像処理装置。
【請求項１６】
前記予測画像生成手段は、前記フラグ情報が復号されないクラスに分類されるブロックサイズの対象ブロックについて、そのクラスより大きいブロックサイズのクラスの前記フィルタ係数を用いて予測画像を生成する
請求項１４に記載の画像処理装置。
【請求項１７】
前記予測画像生成手段は、対象スライスにおいて、前記フラグ情報が復号されないクラスに分類されるブロックサイズの予測モードに対しては、前記対象スライスより前のスライスにおける同じクラスの前記フィルタ係数を用いて前記対象ブロックの予測画像を生成する
請求項１４に記載の画像処理装置。
【請求項１８】
前記クラスは、前記ブロックサイズが８×８ブロックより大きいか否かに応じて分類されている
請求項１１に記載の画像処理装置。
【請求項１９】
前記クラスは、前記ブロックサイズが１６×１６ブロックより大きいか、１６×１６ブロック以下であり、かつ８×８ブロックよりも大きいか、あるいは、８×８ブロック以下であるかに応じて分類されている
請求項１１に記載の画像処理装置
【請求項２０】
画像処理装置が、
復号処理の対象となる対象ブロックの動きベクトル情報を復号し、
ブロックサイズに応じて分類されたクラス毎に予測誤差を最小にするように算出されたクラス毎のフィルタ係数から、前記対象ブロックのブロックサイズに応じたフィルタ係数を設定し、
復号された前記動きベクトル情報、および設定された前記フィルタ係数を用いて、前記対象ブロックの予測画像を生成するステップ
を含む画像処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は画像処理装置および方法に関し、特に、フレーム内の局所的性質に対応した最適フィルタ係数を算出することにより、さらに、符号化効率を向上するようにした画像処理装置および方法に関する。
【背景技術】
【０００２】
近年、画像情報をデジタルとして取り扱い、その際、効率の高い情報の伝送、蓄積を目的とし、画像情報特有の冗長性を利用して、離散コサイン変換等の直交変換と動き補償により圧縮する符号化方式を採用して画像を圧縮符号する装置が普及しつつある。この符号化方式には、例えば、MPEG（Moving Picture Experts Group）などがある。
【０００３】
特に、MPEG2(ISO/IEC 13818-2)は、汎用画像符号化方式として定義されており、飛び越し走査画像及び順次走査画像の双方、並びに標準解像度画像及び高精細画像を網羅する標準である。例えば、MPEG2は、プロフェッショナル用途及びコンシューマ用途の広範なアプリケーションに現在広く用いられている。MPEG2圧縮方式を用いることにより、例えば720×480画素を持つ標準解像度の飛び越し走査画像であれば4乃至8Mbpsの符号量（ビットレート）が割り当てられる。また、MPEG2圧縮方式を用いることにより、例えば1920×1088画素を持つ高解像度の飛び越し走査画像であれば18乃至22 Mbpsの符号量（ビットレート）が割り当てられる。これにより、高い圧縮率と良好な画質の実現が可能である。
【０００４】
MPEG2は主として放送用に適合する高画質符号化を対象としていたが、MPEG1より低い符号量（ビットレート）、つまりより高い圧縮率の符号化方式には対応していなかった。携帯端末の普及により、今後そのような符号化方式のニーズは高まると思われ、これに対応してMPEG4符号化方式の標準化が行われた。画像符号化方式に関しては、1998年12月にISO/IEC 14496-2としてその規格が国際標準に承認された。
【０００５】
さらに、近年、当初テレビ会議用の画像符号化を目的として、H．26L (ITU-T Q6/16 VCEG）という標準の規格化が進んでいる。H．26LはMPEG2やMPEG4といった従来の符号化方式に比べ、その符号化、復号化により多くの演算量が要求されるものの、より高い符号化効率が実現されることが知られている。また、現在、MPEG4の活動の一環として、このH．26Lをベースに、H．26Lではサポートされない機能をも取り入れ、より高い符号化効率を実現する標準化がJoint Model of Enhanced-Compression Video Codingとして行われている。標準化のスケジュールとしては、2003年3月にはH．264及びMPEG-4 Part10 （Advanced Video Coding、以下H．264/AVCと記す）という国際標準となっている。
【０００６】
さらに、その拡張として、RGBや4:2:2、4:4:4といった、業務用に必要な符号化ツールや、MPEG-2で規定されていた8x8DCTや量子化マトリクスをも含んだFRExt (Fidelity Range Extension) の標準化が2005年2月に完了した。これにより、H．264/AVCを用いて、映画に含まれるフィルムノイズをも良好に表現することが可能な符号化方式となって、Blu-Ray Disc（商標）等の幅広いアプリケーションに用いられる運びとなった。
【０００７】
しかしながら、昨今、ハイビジョン画像の4倍の、4000×2000画素程度の画像を圧縮したい、あるいは、インターネットのような、限られた伝送容量の環境において、ハイビジョン画像を配信したいといった、更なる高圧縮率符号化に対するニーズが高まっている。このため、先述の、ITU-T傘下のVCEG (=Video Coding Expert Group) において、符号化効率の改善に関する検討が継続され行なわれている。
【０００８】
ここで、H．264/AVC方式の動き予測補償においては、１／４画素精度の予測・補償処理を行うことにより、予測効率を向上させている。
【０００９】
例えば、MPEG2方式においては、線形内挿処理により１／２画素精度の動き予測・補償処理が行われている。これに対して、H．264/AVC方式においては、内挿フィルタとして、６タップのFIR (Finite Impulse Response Filter)フィルタを用いた１／４画素精度の予測・補償処理が行われている。
【００１０】
図１は、H．264/AVC方式における１／４画素精度の予測・補償処理を説明する図である。H．264/AVC方式においては、６タップのFIR (Finite Impulse Response Filter)フィルタを用いた１／４画素精度の予測・補償処理が行われている。
【００１１】
図１の例において、位置Ａは、整数精度画素の位置、位置ｂ，ｃ，ｄは、１／２画素精度の位置、位置ｅ１，ｅ２，ｅ３は、１／４画素精度の位置を示している。まず、以下においては、Clip()を次の式（１）のように定義する。
【００１２】
【数１】
2011050001.tif 000003
なお、入力画像が８ビット精度である場合、max_pixの値は255となる。
【００１３】
位置ｂおよびｄにおける画素値は、６タップのFIRフィルタを用いて、次の式（２）のように生成される。
【数２】
2011050001.tif 000004
【００１４】
位置ｃにおける画素値は、水平方向および垂直方向に６タップのFIRフィルタを適用し、次の式（３）のように生成される。
【数３】
2011050001.tif 000005
なお、Clip処理は、水平方向および垂直方向の積和処理の両方を行った後、最後に１度のみ実行される。
【００１５】
位置ｅ１乃至ｅ３は、次の式（４）のように線形内挿により生成される。
【数４】
2011050001.tif 000006
【００１６】
また、このような１／４画素精度で求められる動きベクトルを、どのような処理により選択するかも、符号化効率の高い圧縮画像を得るためには重要である。この処理の一例としては、非特許文献１において公開されているJM(Joint Model)と呼ばれる参照ソフトウエア（reference software）に実装されている方法が挙げられる。
【００１７】
次に、図２を参照して、JMにおいて実装されている動き探索方法について説明する。
【００１８】
図２の例において、画素Ａ乃至Ｉは、整数画素精度の画素値を有する画素（以下、整数画素精度の画素と称する）を表している。画素１乃至８は、画素Ｅ周辺における１／２画素精度の画素値を有する画素（以下、１／２画素精度の画素と称する）を表している。画素ａ乃至ｈは、画素６周りの１／４画素精度の画素値を有する画素（以下、１／４画素精度の画素と称する）を表している。
【００１９】
JMでは、第１のステップとして、所定の探索範囲内において、SAD(Sum of Absolute Difference)などのコスト関数値を最小にする整数画素精度の動きベクトルが求められる。これにより、求められた動きベクトルに対する画素が、画素Ｅであるとする。
【００２０】
次に、第２のステップとして、画素Ｅ、および画素Ｅ周辺の１／２画素精度の画素１乃至８のうち、上述したコスト関数値を最小にする画素値の画素が求められ、この画素（図２の例の場合、画素６）が、１／２画素精度の最適動きベクトルに対する画素とされる。
【００２１】
そして、第３のステップとして、画素６、および画素６周辺の１／４画素精度の画素ａ乃至ｈのうち、上述したコスト関数値を最小にする画素値の画素が求められる。これにより、求められた画素に対する動きベクトルが、１／４画素精度の最適動きベクトルとなる。
【００２２】
以上のように、H．264/AVC方式において１／４画素精度の予測・補償処理が行われるが、この１／４画素精度の予測・補償処理に対して、さらに符号化効率を向上させるための技術が複数提案されている。
【００２３】
例えば、H．264/AVC方式において、図１を参照して上述した小数画素精度の動きベクトルに対するサンプリング位置の画素値を生成するための内挿フィルタのフィルタ係数は、非特許文献２に記載のように、予め定められたものであった。
【００２４】
そこで、非特許文献３においては、このフィルタ係数を、各対象フレームに対して、予測残差が最小となるよう、適応的に切り替えることが提案されている。
【００２５】
すなわち、非特許文献３においては、まず、第１のステップとして、通常のH．264/AVC方式の動き予測処理が行われ、それぞれの動き補償ブロックに対して、動きベクトル値が算出される。
【００２６】
第２のステップとして、第１のステップで求められた動きベクトル値に対して、動き残差を最小にするよう、フィルタの最適化が行われる。
【００２７】
そして、第３のステップとして、第２のステップで求められたフィルタ係数が用いられて、再び動き探索が行われ、動きベクトル値が更新される。これにより、符号化効率を向上させることができる。
【００２８】
以上のステップをさらに繰り返すことにより、フィルタ係数と動きベクトル値の最適化を行うこともできる。
【００２９】
また、上述したように、H．264/AVC方式において、マクロブロックサイズは１６×１６画素である。しかしながら、マクロブロックサイズを１６×１６画素とするのは、次世代符号化方式の対象となるようなUHD(Ultra High Definition;4000×2000画素)といった大きな画枠に対しては最適ではない。
【００３０】
そこで、非特許文献４などにおいては、マクロブロックサイズを、例えば、３２×３２画素といった大きさに拡張することも提案されている。
【００３１】
なお、上述した図１および図２は、以下、本発明を説明する図としても用いられる。
【先行技術文献】
【非特許文献】
【００３２】
【非特許文献１】H.264/AVC Software Coordination、Institut Nachrichtentechnik Heinrich-Hertz-Institut、［平成２１年８月１３日検索］、インターネット＜URL： http://iphome.hhi.de/suehring/tml/index.htm＞
【非特許文献２】”8.4.2.2.1 Luma sample interpolation process”, ”ITU-T Recommendation H.264 Advanced video coding for generic audiovisual”,P162-P164 November 2007
【非特許文献３】”Prediction of P- and B- Frames Using a Two-dimensional Non-separable Adaptive Wiener Interpolation for H.264/AVC”,VCEG-AD08,ITU-Telecommunications Standardization Sector STUDY GROUP Question 6 Video coding Experts Group(VCEG), 23-27 Oct 2006
【非特許文献４】”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及び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方式の内挿フィルタを用いて予測された動きベクトル情報により決定された最適インター予測モードを、第１最適インター予測モードと称する。これに対して、適応内挿フィルタ算出部７６により算出されたフィルタ係数の適応内挿フィルタを用いて予測された動きベクトル情報により決定された最適インター予測モードを、第２最適インター予測モードと称する。
【００８４】
動き予測・補償部７５は、決定した第２最適インター予測モードの小数画素精度の動きベクトルに基づいて参照画像に補償処理を施し、予測画像を生成し、コスト関数値を求める。そして、動き予測・補償部７５は、第２最適インター予測モードで生成された予測画像とそのコスト関数値を、予測画像選択部７８に供給する。動き予測・補償部７５は、予測画像選択部７８により第２最適インター予測モードで生成された予測画像が選択された場合、第２最適インター予測モードを示す情報（インター予測モード情報）を可逆符号化部６６に出力する。
【００８５】
このとき、動きベクトル情報、参照フレーム情報なども可逆符号化部６６に出力される。可逆符号化部６６は、動き予測・補償部７５からの情報をやはり可変長符号化、算術符号化といった可逆符号化処理し、圧縮画像のヘッダ部に挿入する。
【００８６】
適応内挿フィルタ算出部７６には、動き予測・補償部７５により予測された小数画素精度の動きベクトル情報と、第１最適インター予測モードの情報が供給される。適応内挿フィルタ算出部７６は、ブロック判別部７７からの制御信号により、スライス毎に、８×８より大きい大ブロックサイズ用と、８×８以下の小ブロックサイズ用の適応内挿フィルタのフィルタ係数を算出する。
【００８７】
すなわち、適応内挿フィルタ算出部７６は、ブロック判別部７７からの制御信号により、動きベクトル情報のうち、８×８より大きいブロックサイズの第１最適インター予測モードの動きベクトル情報に対して、大ブロックサイズ用のフィルタ係数を算出する。また、適応内挿フィルタ算出部７６は、ブロック判別部７７からの制御信号により、スライス毎に、動きベクトル情報のうち、８×８以下のブロックサイズの第１最適インター予測モードの動きベクトル情報に対して、小ブロックサイズ用のフィルタ係数を算出する。
【００８８】
適応内挿フィルタ算出部７６は、スライス毎に算出した大ブロックサイズ用および小ブロックサイズ用のフィルタ係数を、動き予測・補償部７５および可逆符号化部６６に供給する。
【００８９】
ブロック判別部７７は、適応内挿フィルタ算出部７６に供給される第１最適インター予測モードが示すブロックサイズに応じて、大ブロックサイズ用または小ブロックサイズ用のフィルタ係数の算出を制御する制御信号を、適応内挿フィルタ算出部７６に供給する。
【００９０】
予測画像選択部７８は、イントラ予測部７４または動き予測・補償部７５より出力された各コスト関数値に基づいて、最適イントラ予測モードと最適インター予測モードから、最適予測モードを決定する。そして、予測画像選択部７８は、決定された最適予測モードの予測画像を選択し、演算部６３，７０に供給する。このとき、予測画像選択部７８は、予測画像の選択情報を、イントラ予測部７４または動き予測・補償部７５に供給する。
【００９１】
レート制御部７９は、蓄積バッファ６７に蓄積された圧縮画像に基づいて、オーバーフローあるいはアンダーフローが発生しないように、量子化部６５の量子化動作のレートを制御する。
【００９２】
［H．264/AVC方式の説明］
図４は、H．264/AVC方式における動き予測・補償のブロックサイズの例を示す図である。H．264/AVC方式においては、ブロックサイズを可変にして、動き予測・補償が行われる。
【００９３】
図４の上段には、左から、１６×１６画素、１６×８画素、８×１６画素、および８×８画素のパーティションに分割された１６×１６画素で構成されるマクロブロックが順に示されている。また、図４の下段には、左から、８×８画素、８×４画素、４×８画素、および４×４画素のサブパーティションに分割された８×８画素のパーティションが順に示されている。
【００９４】
すなわち、H．264/AVC方式においては、１つのマクロブロックを、１６×１６画素、１６×８画素、８×１６画素、あるいは８×８画素のいずれかのパーティションに分割して、それぞれ独立した動きベクトル情報を持つことが可能である。また、８×８画素のパーティションに関しては、８×８画素、８×４画素、４×８画素、あるいは４×４画素のいずれかのサブパーティションに分割し、それぞれ独立した動きベクトル情報を持つことが可能である。
【００９５】
図５は、H．264/AVC方式におけるマルチ参照フレームの予測・補償処理を説明する図である。H．264/AVC方式においては、マルチ参照フレーム(Multi-Reference Frame) の動き予測・補償方式が定められている。
【００９６】
図５の例においては、いまから符号化される対象フレームＦnと、符号化済みのフレームＦn-5,…,Ｆn-1が示されている。フレームＦn-1は、時間軸上、対象フレームＦnの１つ前のフレームであり、フレームＦn-2は、対象フレームＦnの２つ前のフレームであり、フレームＦn-3は、対象フレームＦnの３つ前のフレームである。また、フレームＦn-4は、対象フレームＦnの４つ前のフレームであり、フレームＦn-5は、対象フレームＦnの５つ前のフレームである。一般的には、対象フレームＦnに対して時間軸上に近いフレームほど、小さい参照ピクチャ番号（ref_id）が付加される。すなわち、フレームＦn-1が一番参照ピクチャ番号が小さく、以降、Fn-2,…, Ｆn-5の順に参照ピクチャ番号が小さい。
【００９７】
対象フレームＦnには、ブロックＡ1とブロックＡ2が示されており、ブロックＡ1は、２つ前のフレームＦn-2のブロックＡ1’と相関があるとされて、動きベクトルＶ1が探索されている。また、ブロックＡ2は、４つ前のフレームＦn-4のブロックＡ1’と相関があるとされて、動きベクトルＶ2が探索されている。
【００９８】
以上のように、H．264/AVC方式においては、複数の参照フレームをメモリに格納しておき、１枚のフレーム（ピクチャ）において、異なる参照フレームを参照することが可能である。すなわち、例えば、ブロックＡ1がフレームＦn-2を参照し、ブロックＡ2がフレームＦn-4を参照しているというように、１枚のピクチャにおいて、ブロック毎にそれぞれ独立した参照フレーム情報（参照ピクチャ番号（ref_id））を持つことができる。
【００９９】
ここで、ブロックとは、図４を参照して上述した１６×１６画素、１６×８画素、８×１６画素、および８×８画素のパーティションのいずれかを示す。８×８サブブロック内における参照フレームは同一でなければならない。
【０１００】
H．264/AVC方式においては、図１を参照して上述した１／４画素精度の動き予測・補償処理、および図４および図５を参照して上述したような動き予測・補償処理が行われることにより、膨大な動きベクトル情報が生成される。この膨大な動きベクトル情報をこのまま符号化することは、符号化効率の低下を招いてしまう。これに対して、H．264/AVC方式においては、図６に示す方法により、動きベクトルの符号化情報の低減が実現されている。
【０１０１】
図６は、H．264/AVC方式による動きベクトル情報の生成方法について説明する図である。
【０１０２】
図６の例において、これから符号化される対象ブロックＥ（例えば、１６×１６画素）と、既に符号化済みであり、対象ブロックＥに隣接するブロックＡ乃至Ｄが示されている。
【０１０３】
すなわち、ブロックＤは、対象ブロックＥの左上に隣接しており、ブロックＢは、対象ブロックＥの上に隣接しており、ブロックＣは、対象ブロックＥの右上に隣接しており、ブロックＡは、対象ブロックＥの左に隣接している。なお、ブロックＡ乃至Ｄが区切られていないのは、それぞれ、図４で上述した１６×１６画素乃至４×４画素のうちのいずれかの構成のブロックであることを表している。
【０１０４】
例えば、Ｘ（＝Ａ，Ｂ，Ｃ，Ｄ，Ｅ）に対する動きベクトル情報を、mvXで表す。まず、対象ブロックＥに対する予測動きベクトル情報pmvEは、ブロックＡ，Ｂ，Ｃに関する動きベクトル情報を用いて、メディアン予測により次の式（５）のように生成される。
【０１０５】
pmvE = med(mvA,mvB,mvC)                                          ・・・（５）
ブロックＣに関する動きベクトル情報が、画枠の端であったり、あるいは、まだ符号化されていないなどの理由により、利用可能でない（unavailableである）場合がある。この場合には、ブロックＣに関する動きベクトル情報は、ブロックＤに関する動きベクトル情報で代用される。
【０１０６】
対象ブロックＥに対する動きベクトル情報として、圧縮画像のヘッダ部に付加されるデータmvdEは、pmvEを用いて、次の式（６）のように生成される。
mvdE = mvE - pmvE                                                ・・・（６）
【０１０７】
なお、実際には、動きベクトル情報の水平方向、垂直方向のそれぞれの成分に対して、独立に処理が行われる。
【０１０８】
このように、予測動きベクトル情報を生成し、隣接するブロックとの相関で生成された予測動きベクトル情報と動きベクトル情報との差分を、圧縮画像のヘッダ部に付加することにより、動きベクトル情報が低減される。
【０１０９】
［内挿処理の説明］
ここで、再度、図４を参照して、図３の適用内挿フィルタ算出部７６およびブロック判定部７７の処理について詳しく説明する。
【０１１０】
図４に示した動き補償のブロックサイズのうち、あまりテクスチャの存在しないブロックや、テクスチャを含むが広い領域に渡って平行移動しているブロックについては、１６×１６画素などの大きなブロックサイズが選択されやすい。
【０１１１】
一方、細かいテクスチャを含む、あるいは、ランダムな動きを含む領域については、４×４画素などの小さなブロックサイズが選択されやすい。
【０１１２】
このように、図４に示された動き補償のブロックのうち、どのサイズのブロックが選択されるかは、画像の持つ局所的な特徴が反映されている。そこで、この事実を利用して、適用内挿フィルタ算出部７６およびブロック判定部７７においては、画像の持つ局所的特徴に適した内挿フィルタ（つまり、適応内挿フィルタ）のフィルタ係数の算出処理が行われる。
【０１１３】
すなわち、上述した非特許文献３においては、図２に示されたような小数画素精度のポジション毎に適応内挿フィルタのフィルタ係数が算出される。これに対して、適用内挿フィルタ算出部７６およびブロック判定部７７においては、図４に示されたブロックサイズのうち、８×８より大きなブロックサイズのクラスに対してと、８×８以下のブロックサイズのクラスに対して、異なるフィルタ係数が算出される。
【０１１４】
これにより、フレーム内の局所的性質に対応することができ、さらに、符号化効率を向上させることができる。
【０１１５】
［動き予測・補償部および適用内挿フィルタ算出部の構成例］
図７は、動き予測・補償部７５および適応内挿フィルタ算出部７６の詳細な構成例を示すブロック図である。なお、図７においては、図３のスイッチ７３が省略されている。
【０１１６】
図７の例において、動き予測・補償部７５は、整数画素精度動き予測部８１、小数画素精度動き予測部８２、モード判定部８３、小数画素精度動き予測部８４、および動き補償部８５により構成される。なお、動き予測・補償部７５においては、図２を参照して上述したJM(Joint Model)に実装されている動き探索方法に基づき、小数画素精度の動きベクトルが求められる。すなわち、整数画素精度動き予測部８１により整数画素精度の動き探索が行われ、小数画素精度動き予測部８２または８４により、小数画素精度の動き探索が行われ、小数画素精度の動きベクトル情報が求められる。
【０１１７】
適応内挿フィルタ算出部７６は、動き情報バッファ９１、大ブロックフィルタ算出部９２、および小ブロックフィルタ算出部９３により構成される。
【０１１８】
フレームメモリ７２から、整数画素精度の参照画像画素値が、整数画素精度動き予測部８１、モード判定部８３、および動き補償部８５に供給される。また、図７の例においては、その図示は省略されているが、画面並べ替えバッファ６２からのインター処理する画像が、整数画素精度動き予測部８１、小数画素精度動き予測部８２および８４、モード判定部８３、並びに動き補償部８５に供給されている。
【０１１９】
整数画素精度動き予測部８１は、インター処理する画像および整数画素精度の参照画像画素値を用いて、候補となる全てのインター予測モードについて、対象ブロックの整数画素精度の動き探索を行う。すなわち、整数画素精度動き予測部８１においては、所定の探索範囲内において、SAD(Sum of Absolute Difference)などのコスト関数値を最小にする整数画素精度の動きベクトルが、候補となる全てのインター予測モードに対して求められる。求められた対象ブロックの整数画素精度の動きベクトル情報は、必要な整数画素精度の参照画像画素値とともに、小数画素精度動き予測部８２および８４に供給される。
【０１２０】
小数画素精度動き予測部８２は、インター処理する画像、整数画素精度の動きベクトル情報、および整数画素精度の参照画像画素値を用いて、候補となる全てのインター予測モードについて、対象ブロックの小数画素精度の動き探索を行う。このとき、小数画素精度動き予測部８２においては、図１を参照して上述したH．264/AVC方式の内挿フィルタを用いて、上述したコスト関数（SAD）を最小にする１／２画素精度の小数画素精度の動きベクトル情報が求められる。そして、さらに、上述したコスト関数（SAD）を最小にする１／４画素精度の小数画素精度の動きベクトル情報が求められる。求められた小数画素精度の動きベクトル情報は、モード判定部８３に供給される。
【０１２１】
モード判定部８３は、小数画素精度動き予測部８２により小数画素精度の動きベクトルが求められた候補となる全てのインター予測モードについて、図１０を参照して後述するコスト関数値を算出する。モード判定部８３は、算出したコスト関数値が最小値を与えるインター予測モードを、その対象ブロックの第１最適インター予測モードとして決定する。モード判定部８３は、決定した第１最適インター予測モードの情報と、それに対応する小数画素精度の動きベクトル情報を、動き情報バッファ９１に供給する。
【０１２２】
また、モード判定部８３は、小数画素精度動き予測部８４により少数画素精度の動きベクトルが求められた候補となる全てのインター予測モードについて、再度、図１０を参照して後述するコスト関数値を算出する。モード判定部８３は、再度算出したコスト関数値が最小値を与えるインター予測モードを、その対象ブロックの第２最適インター予測モードとして選択し、選択した第２最適インター予測モードの情報を、動き補償部８５に供給する。
【０１２３】
小数画素精度動き予測部８４には、対象スライスに対して算出される８×８より大ブロックサイズ用のフィルタ係数が大ブロックフィルタ算出部９２から供給される。また、小数画素精度動き予測部８４には、対象スライスに対して算出される８×８以下小ブロックサイズ用のフィルタ係数が小ブロックフィルタ算出部９３から供給される。
【０１２４】
小数画素精度動き予測部８４は、インター処理する画像、整数画素精度の動きベクトル情報、および整数画素精度の参照画像画素値を用いて、候補となる全てのインター予測モードについて、対象ブロックの小数画素精度の動き探索を行う。このとき、小数画素精度動き予測部８４においては、算出されたフィルタ係数の適応内挿フィルタを用いて、上述したコスト関数（SAD）を最小にする１／２画素精度の小数画素精度の動きベクトル情報が求められる。そして、さらに、上述したコスト関数（SAD）を最小にする１／４画素精度の小数画素精度の動きベクトル情報が求められる。求められた各ブロックの小数画素精度の動きベクトル情報、およびスライス毎の適応内挿フィルタのフィルタ係数は、モード判定部８３および動き補償部８５に供給される。
【０１２５】
なお、このとき、小数画素精度動き予測だけでなく、点線に示されるように、整数画素精度動き予測部８１に指示を出し、整数画素精度動き予測をやり直すようにすることもできる。内挿フィルタが変更されることにより、周辺ブロックにおける動きベクトル情報の変化が、対象ブロックの動き探索にも影響を与えるため、フィルタ係数が小数画素精度のみに適用されるものであっても、整数画素精度の動き予測にも影響がある。
【０１２６】
動き補償部８５には、画面並べ替えバッファ６２からのインターする画像、フレームメモリ７２からの整数画素精度の参照画像画素値が供給されている。またさらに、動き補償部８５には、小数画素精度動き予測部８４からの小数画素精度の動きベクトル情報、およびスライス毎のフィルタ係数、モード判定部８３からの第２最適インター予測モードの情報および差分動きベクトル情報なども供給されている。
【０１２７】
動き補償部８５は、整数画素精度の参照画像画素値、小数画素精度の動きベクトル情報、並びに、フィルタ係数を用いて、モード判定部８３からの第２最適インター予測モードで、小数画素精度の画素値を補間することで、予測画像を生成する。動き補償部８５は、さらに、インターする画像なども用いて、その第２最適インター予測モードのコスト関数値を算出し、生成した予測画像とそのコスト関数値を予測画像選択部７８に供給する。
【０１２８】
予測画像選択部７８により第２最適インター予測モードの予測画像が選択された場合、動き補償部８５は、第２最適インター予測モードを示す情報と、動きベクトル情報（実際には、差分動きベクトル情報）、参照フレーム情報などを可逆符号化部６６に出力する。
【０１２９】
動き情報バッファ９１は、対象ブロックについて、モード判定部８３から最適とされた第１最適インター予測モードと、対応する小数画素精度の動きベクトル情報を蓄積している。
【０１３０】
大ブロックフィルタ算出部９２および小ブロックフィルタ算出部９３には、動き情報バッファ９１から、小数画素精度の動きベクトル情報が供給される。
【０１３１】
大ブロックフィルタ算出部９２は、動き情報バッファ９１からの小数画素精度の動きベクトル情報のうち、ブロック判定部７７から入力される制御信号に対応する動きベクトル情報のみを用いて、大ブロックサイズのフィルタ係数の算出処理を行う。すなわち、大ブロックフィルタ算出部９２においては、対象スライスのうち、ブロックサイズが８×８画素よりも大きいブロックの動きベクトル情報のみを用いて、予測残差が最小となるように大ブロックサイズのフィルタ係数が算出される。
【０１３２】
小ブロックフィルタ算出部９３は、動き情報バッファ９１からの小数画素精度の動きベクトル情報のうち、ブロック判定部７７から入力される制御信号に対応する動きベクトル情報のみを用いて、小ブロックサイズのフィルタ係数の算出処理を行う。すなわち、小ブロックフィルタ算出部９３においては、対象スライスのうち、ブロックサイズが８×８画素以下のブロックの動きベクトル情報のみを用いて、予測残差が最小となるように小ブロックサイズのフィルタ係数が算出される。
【０１３３】
スライス毎に算出された大ブロックサイズ用および小ブロックサイズ用のフィルタ係数は、それぞれ、動き予測・補償部７５および可逆符号化部６６に供給される。
【０１３４】
ブロック判定部７７は、動き情報バッファ９１に蓄積されている第１最適インター予測モードのブロックサイズを判定し、判定結果に応じて、大ブロックフィルタ算出部９２または小ブロックフィルタ算出部９３に制御信号を出力する。具体的にはブロックサイズが８×８画素ブロックよりも大きい場合、ブロック判定部７７からは、大ブロックフィルタ算出部９２にフィルタ算出処理を行わせる制御信号が出力される。一方、ブロックサイズが８×８画素ブロック以下である場合、ブロック判定部７７からは、小ブロックフィルタ算出部９３にフィルタ算出処理を行わせる制御信号が出力される。
【０１３５】
すなわち、ブロック判定部７７は、大ブロックフィルタ算出部９２または小ブロックフィルタ算出部９３のどちらか一方に制御信号を出力することで、ブロックを、８×８より大きいブロックサイズのクラスと、８×８以下のブロックサイズのクラスに分類している。そして、大ブロックフィルタ算出部９２または小ブロックフィルタ算出部９３においては、分類されたクラスの動きベクトル情報のみが、該当するクラスのフィルタ係数算出に用いられる。
【０１３６】
［画像符号化装置の符号化処理の説明］
次に、図８のフローチャートを参照して、図３の画像符号化装置５１の符号化処理について説明する。
【０１３７】
ステップＳ１１において、Ａ／Ｄ変換部６１は入力された画像をＡ／Ｄ変換する。ステップＳ１２において、画面並べ替えバッファ６２は、Ａ／Ｄ変換部６１より供給された画像を記憶し、各ピクチャの表示する順番から符号化する順番への並べ替えを行う。
【０１３８】
ステップＳ１３において、演算部６３は、ステップＳ１２で並び替えられた画像と予測画像との差分を演算する。予測画像は、インター予測する場合は動き予測・補償部７５から、イントラ予測する場合はイントラ予測部７４から、それぞれ予測画像選択部７８を介して演算部６３に供給される。
【０１３９】
差分データは元の画像データに較べてデータ量が小さくなっている。したがって、画像をそのまま符号化する場合に較べて、データ量を圧縮することができる。
【０１４０】
ステップＳ１４において、直交変換部６４は演算部６３から供給された差分情報を直交変換する。具体的には、離散コサイン変換、カルーネン・レーベ変換等の直交変換が行われ、変換係数が出力される。ステップＳ１５において、量子化部６５は変換係数を量子化する。この量子化に際しては、後述するステップＳ２５の処理で説明されるように、レートが制御される。
【０１４１】
以上のようにして量子化された差分情報は、次のようにして局部的に復号される。すなわち、ステップＳ１６において、逆量子化部６８は量子化部６５により量子化された変換係数を量子化部６５の特性に対応する特性で逆量子化する。ステップＳ１７において、逆直交変換部６９は逆量子化部６８により逆量子化された変換係数を直交変換部６４の特性に対応する特性で逆直交変換する。
【０１４２】
ステップＳ１８において、演算部７０は、予測画像選択部７８を介して入力される予測画像を局部的に復号された差分情報に加算し、局部的に復号された画像（演算部６３への入力に対応する画像）を生成する。ステップＳ１９においてデブロックフィルタ７１は、演算部７０より出力された画像をフィルタリングする。これによりブロック歪みが除去される。ステップＳ２０においてフレームメモリ７２は、フィルタリングされた画像を記憶する。なお、フレームメモリ７２にはデブロックフィルタ７１によりフィルタ処理されていない画像も演算部７０から供給され、記憶される。
【０１４３】
ステップＳ２１において、イントラ予測部７４および動き予測・補償部７５は、それぞれ画像の予測処理を行う。すなわち、ステップＳ２１において、イントラ予測部７４は、イントラ予測モードのイントラ予測処理を行う。動き予測・補償部７５は、インター予測モードの動き予測・補償処理を行う。
【０１４４】
ステップＳ２１における予測処理の詳細は、図９を参照して後述するが、まず、この処理により、候補となる全てのイントラ予測モードでの予測処理がそれぞれ行われ、候補となる全てのイントラ予測モードでのコスト関数値がそれぞれ算出される。そして、算出されたコスト関数値に基づいて、最適イントラ予測モードが選択され、最適イントラ予測モードのイントラ予測により生成された予測画像とそのコスト関数値が予測画像選択部７８に供給される。
【０１４５】
また、この処理により、候補となる全てのインター予測モードでの予測処理がそれぞれ行われ、候補となる全てのインター予測モードでのコスト関数値がそれぞれ算出される。算出されたコスト関数値に基づいて、インター予測モードの中から、最適インター予測モードが決定される。
【０１４６】
なお、具体的には、H．264/AVC方式の内挿フィルタを用いて、全てのインター予測モードでの小数画素精度の動きベクトルが予測され、コスト関数値が算出された結果、第１最適インター予測モードが求められる。そして、スライス毎に、第１最適インター予測モードのブロックサイズに応じて大ブロックサイズのフィルタ係数および小ブロックサイズのフィルタ係数が算出される。さらに、算出された適応内挿フィルタのフィルタ係数を用いて、小数画素精度の動きベクトルが再度予測され、コスト関数値が算出された結果、第２最適インター予測モードが求められる。
【０１４７】
そして、第２最適インター予測モードで生成された予測画像とそのコスト関数値が、予測画像選択部７８に供給される。また、算出されたスライス毎のフィルタ係数は、可逆符号化部６６に供給される。
【０１４８】
ステップＳ２２において、予測画像選択部７８は、イントラ予測部７４および動き予測・補償部７５より出力された各コスト関数値に基づいて、最適イントラ予測モードと最適インター予測モードのうちの一方を、最適予測モードに決定する。そして、予測画像選択部７８は、決定した最適予測モードの予測画像を選択し、演算部６３，７０に供給する。この予測画像が、上述したように、ステップＳ１３，Ｓ１８の演算に利用される。
【０１４９】
なお、この予測画像の選択情報は、イントラ予測部７４または動き予測・補償部７５に供給される。最適イントラ予測モードの予測画像が選択された場合、イントラ予測部７４は、最適イントラ予測モードを示す情報（すなわち、イントラ予測モード情報）を、可逆符号化部６６に供給する。
【０１５０】
最適インター予測モードの予測画像が選択された場合、動き予測・補償部７５は、最適インター予測モードを示す情報と、さらに、必要に応じて、最適インター予測モードに応じた情報を可逆符号化部６６に出力する。最適インター予測モードに応じた情報としては、動きベクトル情報や参照フレーム情報などがあげられる。
【０１５１】
ステップＳ２３において、可逆符号化部６６は量子化部６５より出力された量子化された変換係数を符号化する。すなわち、差分画像が可変長符号化、算術符号化等の可逆符号化され、圧縮される。このとき、上述したステップＳ２２において可逆符号化部６６に入力された、イントラ予測部７４からのイントラ予測モード情報、または、動き予測・補償部７５からの最適インター予測モードに応じた情報なども符号化され、ヘッダ情報に付加される。さらに、適応内挿フィルタ算出部７６からのフィルタ係数も符号化される。
【０１５２】
例えば、インター予測モードを示す情報は、マクロブロック毎に符号化される。動きベクトル情報や参照フレーム情報は、対象となるブロック毎に符号化される。算出されたフィルタ係数は、スライス毎に符号化される。
【０１５３】
ステップＳ２４において蓄積バッファ６７は差分画像を圧縮画像として蓄積する。蓄積バッファ６７に蓄積された圧縮画像が適宜読み出され、伝送路を介して復号側に伝送される。
【０１５４】
ステップＳ２５においてレート制御部７９は、蓄積バッファ６７に蓄積された圧縮画像に基づいて、オーバーフローあるいはアンダーフローが発生しないように、量子化部６５の量子化動作のレートを制御する。
【０１５５】
［予測処理の説明］
次に、図９のフローチャートを参照して、図８のステップＳ２１における予測処理を説明する。
【０１５６】
画面並べ替えバッファ６２から供給される処理対象の画像がイントラ処理されるブロックの画像である場合、参照される復号済みの画像がフレームメモリ７２から読み出され、スイッチ７３を介してイントラ予測部７４に供給される。これらの画像に基づいて、ステップＳ３１において、イントラ予測部７４は処理対象のブロックの画素を、候補となる全てのイントラ予測モードでイントラ予測する。なお、参照される復号済みの画素としては、デブロックフィルタ７１によりデブロックフィルタリングされていない画素が用いられる。
【０１５７】
ステップＳ３１におけるイントラ予測処理の詳細は、図１０を参照して後述するが、この処理により、候補となる全てのイントラ予測モードでイントラ予測が行われ、候補となる全てのイントラ予測モードに対してコスト関数値が算出される。そして、算出されたコスト関数値に基づいて、最適イントラ予測モードが選択され、最適イントラ予測モードのイントラ予測により生成された予測画像とそのコスト関数値が予測画像選択部７８に供給される。
【０１５８】
画面並べ替えバッファ６２から供給される処理対象の画像がインター処理される画像である場合、参照される画像がフレームメモリ７２から読み出され、スイッチ７３を介して動き予測・補償部７５に供給される。これらの画像に基づいて、ステップＳ３２において、動き予測・補償部７５はインター動き予測処理を行う。すなわち、動き予測・補償部７５は、フレームメモリ７２から供給される画像を参照して、候補となる全てのインター予測モードの動き予測処理を行う。
【０１５９】
ステップＳ３２におけるインター動き予測処理の詳細は、図１１を参照して後述するが、この処理により、H．264/AVC方式の内挿フィルタを用いて、候補となる全てのインター予測モードで動き予測処理が行われ、候補となる全てのインター予測モードに対してコスト関数値が算出される。そして、算出されたコスト関数値に基づいて、第１最適インター予測モードが決定され、第１最適インター予測モードのブロックサイズに応じて大ブロックサイズ用のフィルタ係数および小ブロックサイズ用のフィルタ係数が算出される。
【０１６０】
さらに、算出された適応内挿フィルタのフィルタ係数を用いて、小数画素精度の動きベクトルが再度予測され、コスト関数値が算出された結果、第２最適インター予測モードが決定される。決定された第２最適インター予測モードで生成された予測画像とそのコスト関数値が、予測画像選択部７８に供給される。
【０１６１】
［イントラ予測処理の説明］
次に、図１０のフローチャートを参照して、図９のステップＳ３１におけるイントラ予測処理を説明する。なお、図１０の例においては、輝度信号の場合を例として説明する。
【０１６２】
イントラ予測部７４は、ステップＳ４１において、４×４画素、８×８画素、および１６×１６画素の各イントラ予測モードに対してイントラ予測を行う。
【０１６３】
輝度信号のイントラ予測モードには、９種類の４×４画素および８×８画素のブロック単位、並びに４種類の１６×１６画素のマクロブロック単位の予測モードがあり、色差信号のイントラ予測モードには、４種類の８×８画素のブロック単位の予測モードがある。色差信号のイントラ予測モードは、輝度信号のイントラ予測モードと独立に設定が可能である。輝度信号の４×４画素および８×８画素のイントラ予測モードについては、４×４画素および８×８画素の輝度信号のブロック毎に１つのイントラ予測モードが定義される。輝度信号の１６×１６画素のイントラ予測モードと色差信号のイントラ予測モードについては、１つのマクロブロックに対して１つの予測モードが定義される。
【０１６４】
具体的には、イントラ予測部７４は、処理対象のブロックの画素を、フレームメモリ７２から読み出され、スイッチ７３を介して供給される復号済みの画像を参照して、イントラ予測する。このイントラ予測処理が、各イントラ予測モードで行われることで、各イントラ予測モードでの予測画像が生成される。なお、参照される復号済みの画素としては、デブロックフィルタ７１によりデブロックフィルタリングされていない画素が用いられる。
【０１６５】
イントラ予測部７４は、ステップＳ４２において、４×４画素、８×８画素、および１６×１６画素の各イントラ予測モードに対するコスト関数値を算出する。ここで、コスト関数値としては、High Complexity モードか、Low Complexity モードのいずれかの手法に基づいて行う。これらのモードは、H．264/AVC方式における参照ソフトウエアであるJMで定められている。
【０１６６】
すなわち、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 モードにおいては、全ての予測モードに対して、予測画像を生成するのみで、符号化処理および復号処理を行う必要がないため、演算量が少なくて済む。
【０１７１】
イントラ予測部７４は、ステップＳ４３において、４×４画素、８×８画素、および１６×１６画素の各イントラ予測モードに対して、それぞれ最適モードを決定する。すなわち、上述したように、イントラ４×４予測モードおよびイントラ８×８予測モードの場合には、予測モードの種類が９種類あり、イントラ１６×１６予測モードの場合には、予測モードの種類が４種類ある。したがって、イントラ予測部７４は、ステップＳ４２において算出されたコスト関数値に基づいて、それらの中から、最適イントラ４×４予測モード、最適イントラ８×８予測モード、最適イントラ１６×１６予測モードを決定する。
【０１７２】
イントラ予測部７４は、ステップＳ４４において、４×４画素、８×８画素、および１６×１６画素の各イントラ予測モードに対して決定された各最適モードの中から、ステップＳ４２において算出されたコスト関数値に基づいて、最適イントラ予測モードを選択する。すなわち、４×４画素、８×８画素、および１６×１６画素に対して決定された各最適モードの中から、コスト関数値が最小値であるモードを、最適イントラ予測モードとして選択する。そして、イントラ予測部７４は、最適イントラ予測モードで生成された予測画像とそのコスト関数値とを、予測画像選択部７８に供給する。
【０１７３】
［インター動き予測処理の説明］
次に、図１１のフローチャートを参照して、図９のステップＳ３２のインター動き予測処理について説明する。なお、動き予測・補償部７５においては、図２を参照して上述したJMに実装されている動き探索方法に基づき整数画素精度の動きベクトルが求められ、小数画素精度の動きベクトルが求められる。
【０１７４】
整数画素精度動き予測部８１、小数画素精度動き予測部８２、およびモード判定部８３は、ステップＳ５１において、H．264/AVC方式の内挿フィルタを用いた動き予測補償処理を実行する。なお、この動き予測補償処理の詳細は、図１２を参照して後述する。
【０１７５】
この処理により、候補となる全てのインター予測モードについて、符号化処理の対象となる対象ブロックの整数画素精度の動きベクトルが求められ、H．264/AVC方式の内挿フィルタを用いて小数画素精度の動きベクトル情報が求められる。そして、候補となる全てのインター予測モードについて、コスト関数値が算出される。
【０１７６】
ステップＳ５２において、モード判定部８３は、ステップＳ５１において算出されたコスト関数値が最小値を与えるインター予測モードを、その対象ブロックの第１最適インター予測モードとして決定する。モード判定部８３は、決定した第１最適インター予測モードの情報と、それに対応する小数画素精度の動きベクトル情報を、動き情報バッファ９１に供給する。
【０１７７】
ステップＳ５３において、ブロック判別部７７は、動き情報バッファ９１に蓄積されている各対象ブロックに対する第１最適インター予測モードのブロックサイズを、８×８より大きいブロックサイズのクラスと、それ以下のブロックサイズのクラスに分類する。
【０１７８】
具体的には、ブロックサイズ判別部７７は、動き情報バッファ９１に蓄積されている各対象ブロックの第１最適インター予測モードのブロックサイズを判定する。ブロックサイズ判別部７７は、ブロックサイズが８×８画素ブロックよりも大きい場合、大ブロックフィルタ算出部９２にフィルタ算出処理を行わせる制御信号を出力する。また、ブロックサイズ判別部７７は、ブロックサイズが８×８画素ブロック以下である場合、小ブロックフィルタ算出部９３にフィルタ算出処理を行わせる制御信号を出力する。
【０１７９】
この結果、大ブロックフィルタ算出部９２には、ブロックサイズが８×８画素よりも大きいブロックである場合のみ制御信号が入力され、小ブロックフィルタ算出部９３には、ブロックサイズが８×８画素ブロック以下である場合のみ制御信号が入力される。
【０１８０】
すなわち、ブロック判定部７７は、大ブロックフィルタ算出部９２または小ブロックフィルタ算出部９３のどちらか一方に制御信号を出力することで、スライスにおいて、ブロックを、８×８より大きいブロックサイズのクラスと、８×８以下のブロックサイズのクラスに分類している。
【０１８１】
ステップＳ５４において、大ブロックフィルタ算出部９２および小ブロックフィルタ算出部９３は、スライス毎に、分類された各クラスに対して、適応内挿フィルタのフィルタ係数値をそれぞれ算出する。
【０１８２】
具体的には、大ブロックフィルタ算出部９２は、動き情報バッファ９１からの小数画素精度の動きベクトル情報のうち、ブロック判定部７７から入力される制御信号に対応する対象ブロックの動きベクトル情報のみを用いて、大ブロックサイズのフィルタ係数の算出処理を行う。小ブロックフィルタ算出部９３は、動き情報バッファ９１からの小数画素精度の動きベクトル情報のうち、ブロック判定部７７から入力される制御信号に対応する対象ブロックの動きベクトル情報のみを用いて、小ブロックサイズのフィルタ係数の算出処理を行う。
【０１８３】
すなわち、大ブロックフィルタ算出部９２は、スライスにおいて、ブロックサイズが８×８画素よりも大きいブロックに分類されたクラスの動きベクトル情報のみを用いて、予測残差が最小となるように大ブロックサイズのフィルタ係数値を算出する。小ブロックフィルタ算出部９３は、スライスにおいて、ブロックサイズが８×８画素以下であるブロックに分類されたクラスの動きベクトル情報のみを用いて、予測残差が最小となるように小ブロックサイズのフィルタ係数値を算出する。
【０１８４】
対象スライスに対して算出された大ブロックサイズ用のフィルタ係数と、小ブロックサイズ用のフィルタ係数は、小数画素精度動き予測部８４および可逆符号化部６６に供給される。このスライス毎のフィルタ係数は、図８のステップＳ２３において符号化される。
【０１８５】
ステップＳ５５において、整数画素精度動き予測部８１、小数画素精度動き予測部８４、およびモード判定部８３は、ステップＳ５５において、算出されたフィルタ係数値でなる適応内挿フィルタを用いた動き予測補償処理を実行する。なお、この動き予測補償処理の詳細は、図１２を参照して後述する。
【０１８６】
なお、図１２の処理は、整数画素精度の動きベクトル情報から再度求め直す場合の処理例である。これに対して、ステップＳ５５の動き予測補償処理においては、整数画素精度の動きベクトル情報を再度求め直すことなく、小数画素精度の動きベクトルのみを再度求め直すようにしてもよい。
【０１８７】
この処理により、候補となる全てのインター予測モードについて、対象ブロックの整数画素精度の動きベクトルが求められ、適応内挿フィルタを用いて小数画素精度の動きベクトル情報が求められる。そして、候補となる全てのインター予測モードについて、コスト関数値が算出される。
【０１８８】
ステップＳ５６において、モード判定部８３は、ステップＳ５５において算出されたコスト関数値が最小値を与えるインター予測モードを、その対象ブロックの第２最適インター予測モードとして決定する。
【０１８９】
ステップＳ５７において、モード判定部８３は、さらに最適化を行うか否かを判定する。例えば、ユーザにより最適化回数が設定されている場合、その最適化回数になるまで、ステップＳ５７において、最適化を行うと判定され、処理は、ステップＳ５３に戻り、それ以降の処理が繰り返される。
【０１９０】
この場合、モード判定部８３から、決定した第２最適インター予測モードの情報と、それに対応する小数画素精度の動きベクトル情報が、動き情報バッファ９１に供給され、それ以降の処理により、モード判定部８３においては、第３最適インター予測モードが決定されることになる。このように、最適化回数を繰り返すことにより、フィルタ係数をさらに最適化することができる。
【０１９１】
ステップＳ５７において、モード判定部８３は、最適化を行わないと判定した場合、決定した第２最適インター予測モードの情報を、動き補償部８５に供給する。
【０１９２】
ステップＳ５８において、動き補償部８５は、モード判定部８３からの第２最適インター予測モードで対象ブロックの予測画像を生成する。すなわち、動き補償部８５は、フレームメモリ７２からの整数画素精度の参照画像画素値、第２最適インター予測モードの小数画素精度の動きベクトル情報、並びに、適応内挿フィルタを用いて、小数画素精度の画素値を補間することで、対象ブロックの予測画像を生成する。そして、動き補償部８５は、その第２最適インター予測モードのコスト関数値を算出し、生成した予測画像とそのコスト関数値を予測画像選択部７８に供給する。
【０１９３】
次に、図１２のフローチャートを参照して、図１１のステップＳ５１またはＳ５５の動き予測補償処理を説明する。なお、図１１のステップＳ５１およびＳ５５の処理では、用いる内挿フィルタが異なるだけであるので、図１２の例においては、ステップＳ５５の処理について説明する。
【０１９４】
ステップＳ６１において、整数画素精度動き予測部８１および小数画素精度動き予測部８４は、図４を参照して上述した１６×１６画素乃至４×４画素からなる８種類の各インター予測モードに対して動きベクトルと参照画像をそれぞれ決定する。
【０１９５】
すなわち、整数画素精度動き予測部８１には、画面並べ替えバッファ６２からのインター処理する画像と、フレームメモリ７２からの整数画素精度の参照画像画素値が供給される。整数画素精度動き予測部８１は、これらの画像を用いて、各インター予測モードに対して、候補の参照画像の所定の探索範囲内においてSADなどのコスト関数値を最小にする整数画素精度の動きベクトルと参照画像を求める。これにより、各インター予測モードの処理対象の対象ブロックについて、整数画素精度の動きベクトルと参照画像がそれぞれ決定され、整数画素精度の動きベクトル情報と整数画素精度の参照画像画素値は、小数画素精度動き予測部８４に供給される。
【０１９６】
小数画素精度動き予測部８４は、インター処理する画像、整数画素精度の動きベクトル情報、および整数画素精度の参照画像画素値を用いて、候補となる全てのインター予測モードについて、対象ブロックの小数画素精度の動き探索を行う。このとき、小数画素精度動き予測部８４においては、大ブロックフィルタ算出部９２または小ブロックフィルタ算出部９３により算出されたフィルタ係数の適応内挿フィルタを用いて、SADなどのコスト関数を最小にする１／２画素精度の小数画素精度の動きベクトル情報が求められる。そして、さらに、SADなどのコスト関数を最小にする１／４画素精度の小数画素精度の動きベクトル情報が求められる。求められた各対象ブロックの小数画素精度の動きベクトル情報、およびスライス毎の適応内挿フィルタのフィルタ係数は、モード判定部８３および動き補償部８５に供給される。
【０１９７】
モード判定部８３は、上述した式（７）または式（８）で示されるコスト関数値を算出するために、次のステップＳ６２乃至Ｓ６４の処理を行う。
【０１９８】
すなわち、モード判定部８３は、ステップＳ６２において、小数画素精度動き予測部８４からの小数画素精度の動きベクトルに基づいて、参照画像に補償処理を行う。具体的には、モード判定部８３には、フレームメモリ７２からの整数画素精度の参照画像画素値、小数画素精度の動きベクトル情報、および適応動き予測フィルタのフィルタ係数を用いて、小数画素精度の画素値を補間することで、対象ブロックの予測画像を生成する。
【０１９９】
ステップＳ６３において、モード判定部８３は、１６×１６画素乃至４×４画素からなる８種類の各インター予測モードに対して決定された動きベクトルについて、差分動きベクトル情報mvdEを生成する。このとき、図６を参照して上述した動きベクトルの生成方法が用いられる。
【０２００】
具体的には、モード判定部８３は、隣接ブロック動きベクトル情報を用いて、上述した式（５）のメディアン予測により対象ブロックＥに対する予測動きベクトル情報pmvEを算出する。そして、モード判定部８３は、上述した式（６）に示されるように、小数画素精度動き予測部８４からの動きベクトル情報mvEと、算出された予測動きベクトル情報pmvEの差分により差分動きベクトル情報mvdEを求める。
【０２０１】
求められた差分動きベクトル情報は、次のステップＳ６４におけるコスト関数値算出の際に用いられ、最終的に予測画像選択部７８により対応する予測画像が選択された場合には、予測モード情報、フィルタ係数および参照フレーム情報などとともに可逆符号化部６６へ供給するために、動き補償部８５に供給される。
【０２０２】
モード判定部８３は、ステップＳ６４において、１６×１６画素乃至４×４画素からなる８種類の各インター予測モードに対して、上述した式（７）または式（８）で示されるコスト関数値を算出する。
【０２０３】
具体的には、モード判定部８３は、画面並べ替えバッファ６２からのインター処理する画像、フレームメモリ７２からの整数画素精度の参照画像画素値、小数画素精度の動きベクトル情報、適応内挿フィルタのフィルタ係数、および差分動きベクトル情報などの情報を適宜用いて、コスト関数値を算出する。ここで算出されたコスト関数値は、上述した図１１のステップＳ５６で第２最適インター予測モードを決定する際に用いられる。
【０２０４】
符号化された圧縮画像は、所定の伝送路を介して伝送され、画像復号装置により復号される。
【０２０５】
［画像復号装置の構成例］
図１３は、本発明を適用した画像処理装置としての画像復号装置の一実施の形態の構成を表している。
【０２０６】
画像復号装置１０１は、蓄積バッファ１１１、可逆復号部１１２、逆量子化部１１３、逆直交変換部１１４、演算部１１５、デブロックフィルタ１１６、画面並べ替えバッファ１１７、Ｄ／Ａ変換部１１８、フレームメモリ１１９、スイッチ１２０、イントラ予測部１２１、動き予測・補償部１２２、適応内挿フィルタ設定部１２３、ブロック判別部１２４、およびスイッチ１２５により構成されている。
【０２０７】
蓄積バッファ１１１は伝送されてきた圧縮画像を蓄積する。可逆復号部１１２は、蓄積バッファ１１１より供給された、図３の可逆符号化部６６により符号化された情報を、可逆符号化部６６の符号化方式に対応する方式で復号する。逆量子化部１１３は可逆復号部１１２により復号された画像を、図３の量子化部６５の量子化方式に対応する方式で逆量子化する。逆直交変換部１１４は、図３の直交変換部６４の直交変換方式に対応する方式で逆量子化部１１３の出力を逆直交変換する。
【０２０８】
逆直交変換された出力は演算部１１５によりスイッチ１２５から供給される予測画像と加算されて復号される。デブロックフィルタ１１６は、復号された画像のブロック歪を除去した後、フレームメモリ１１９に供給し、蓄積させるとともに、画面並べ替えバッファ１１７に出力する。
【０２０９】
画面並べ替えバッファ１１７は、画像の並べ替えを行う。すなわち、図３の画面並べ替えバッファ６２により符号化の順番のために並べ替えられたフレームの順番が、元の表示の順番に並べ替えられる。Ｄ／Ａ変換部１１８は、画面並べ替えバッファ１１７から供給された画像をＤ／Ａ変換し、図示せぬディスプレイに出力し、表示させる。
【０２１０】
スイッチ１２０は、インター処理される画像と参照される画像をフレームメモリ１１９から読み出し、動き予測・補償部１２２に出力するとともに、イントラ予測に用いられる画像をフレームメモリ１１９から読み出し、イントラ予測部１２１に供給する。
【０２１１】
イントラ予測部１２１には、ヘッダ情報を復号して得られたイントラ予測モードを示す情報が可逆復号部１１２から供給される。イントラ予測部１２１は、この情報に基づいて、予測画像を生成し、生成した予測画像を、スイッチ１２５に出力する。
【０２１２】
動き予測・補償部１２２には、ヘッダ情報を復号して得られた情報のうち、インター予測モード情報、動きベクトル情報、参照フレーム情報などが可逆復号部１１２から供給される。インター予測モード情報は、マクロブロック毎に送信されてくる。動きベクトル情報や参照フレーム情報は、対象ブロック毎に送信されてくる。
【０２１３】
動き予測・補償部１２２は、可逆復号部１１２から供給されるインター予測モード情報が示す予測モードで、対象ブロックに対する予測画像の画素値を生成する。このとき、動き予測・補償部１２２においては、適応内挿フィルタ設定部１２３からのフィルタ係数、動きベクトル情報、並びに、フレームメモリ１１９から得られる整数画素精度の参照画像画素値が用いられて、予測画像の画素値が生成される。生成された予測画像の画素値は、スイッチ１２５を介して、演算部１１５に供給される。
【０２１４】
適応内挿フィルタ設定部１２３には、ヘッダ情報を復号して得られた情報のうち、適応内挿フィルタの大ブロックサイズ用および小ブロックサイズ用のフィルタ係数が可逆復号部１１２から供給される。これらのフィルタ係数は、スライス毎に送信されてくる。適応内挿フィルタ設定部１２３は、ブロック判別部１２４からの制御信号に応じて、大ブロックサイズ用または小ブロックサイズ用のフィルタ係数のどちらかを、動き予測・補償部１２２に供給する。
【０２１５】
ブロック判別部１２４は、動き予測・補償部１２２に供給されるインター予測モード情報に示されるブロックサイズに応じて、大ブロックサイズ用または小ブロックサイズ用のフィルタ係数を選択するための制御信号を、適応内挿フィルタ設定部１２３に供給する。
【０２１６】
換言するに、ブロック判別部１２４は、インター予測モード情報に示されるブロックを、８×８より大きいブロックサイズのクラスと、８×８以下のブロックサイズのクラスに分類し、クラスに対応するフィルタ係数を選ぶための制御信号を供給している。
【０２１７】
スイッチ１２５は、動き予測・補償部１２２またはイントラ予測部１２１により生成された予測画像を選択し、演算部１１５に供給する。
【０２１８】
なお、図３の画像符号化装置５１においては、装置内部で、適応内挿フィルタのフィルタ係数の算出が行われる。これに対して、この画像復号装置１０１においては、符号化されて送られてくるフィルタ係数が、動き補償のブロックサイズに応じて切り替えて用いられる。
【０２１９】
［動き予測・補償部および適応内挿フィルタ設定部の構成例］
図１４は、動き予測・補償部１２２および適応内挿フィルタ設定部１２３の詳細な構成例を示すブロック図である。なお、図１４においては、図１３のスイッチ１２０および１２５が省略されている。
【０２２０】
図１４の例においては、動き予測・補償部１２２は、モード・動き情報バッファ１３１および動き補償部１３２により構成される。
【０２２１】
適応内挿フィルタ設定部１２３は、大ブロック適応フィルタ係数バッファ１４１および小ブロック適応フィルタ係数１４２により構成される。
【０２２２】
モード・動き情報バッファ１３１は、可逆復号部１１２からのマクロブロック毎のインター予測モード情報と、対象ブロックの動きベクトル情報を蓄積する。
【０２２３】
動き補償部１３２は、モード・動き情報バッファ１３１から動きベクトル情報と対応するインター予測モード情報を読み出し、フレームメモリ１１９から得られる参照画像画素値を用いて、復号処理の対象ブロックに対する予測画像の画素値を生成する。このとき、動き補償部１３２においては、適応内挿フィルタの係数として、大ブロック適応フィルタ係数バッファ１４１または小ブロック適応フィルタ係数バッファ１４２からのフィルタ係数が用いられる。生成した予測画像の画素値は、スイッチ１２５を介して、演算部１１５に供給される。
【０２２４】
大ブロック適応フィルタ係数バッファ１４１は、可逆復号部１１２からのスライス毎の大ブロックサイズ用のフィルタ係数を蓄積する。小ブロック適応フィルタ係数バッファ１４２は、可逆復号部１１２からのスライス毎の小ブロックサイズ用のフィルタ係数を蓄積する。
【０２２５】
大ブロック適応フィルタ係数バッファ１４１および小ブロック適応フィルタ係数バッファ１４２のどちらか一方には、動き補償のブロックサイズに応じた制御信号がブロック判別部１２４から供給される。
【０２２６】
大ブロック適応フィルタ係数バッファ１４１に蓄積される大ブロックサイズ用のフィルタ係数は、ブロック判別部１２４からの制御信号に対応して読みだされ、動き補償部１３２に供給される。小ブロック適応フィルタ係数バッファ１４２に蓄積される小ブロックサイズ用のフィルタ係数は、ブロック判別部１２４からの制御信号に対応して読みだされ、動き補償部１３２に供給される。
【０２２７】
［画像復号装置の復号処理の説明］
次に、図１５のフローチャートを参照して、画像復号装置１０１が実行する復号処理について説明する。
【０２２８】
ステップＳ１３１において、蓄積バッファ１１１は伝送されてきた画像を蓄積する。ステップＳ１３２において、可逆復号部１１２は、蓄積バッファ１１１から供給される圧縮画像を復号する。すなわち、図３の可逆符号化部６６により符号化されたＩピクチャ、Ｐピクチャ、並びにＢピクチャが復号される。
【０２２９】
このとき、動きベクトル情報、参照フレーム情報、予測モード情報（イントラ予測モード、またはインター予測モードを示す情報）、適応内挿フィルタのフィルタ係数なども復号される。
【０２３０】
すなわち、予測モード情報がイントラ予測モード情報である場合、予測モード情報は、イントラ予測部１２１に供給される。予測モード情報がインター予測モード情報である場合、予測モード情報と対応する動きベクトル情報および参照フレーム情報は、動き予測・補償部１２２に供給される。また、フィルタ係数は、スライス毎に適応内挿フィルタ設定部１２３に供給される。
【０２３１】
ステップＳ１３３において、逆量子化部１１３は可逆復号部１１２により復号された変換係数を、図３の量子化部６５の特性に対応する特性で逆量子化する。ステップＳ１３４において逆直交変換部１１４は逆量子化部１１３により逆量子化された変換係数を、図３の直交変換部６４の特性に対応する特性で逆直交変換する。これにより図３の直交変換部６４の入力（演算部６３の出力）に対応する差分情報が復号されたことになる。
【０２３２】
ステップＳ１３５において、演算部１１５は、後述するステップＳ１４１の処理で選択され、スイッチ１２５を介して入力される予測画像を差分情報と加算する。これにより元の画像が復号される。ステップＳ１３６においてデブロックフィルタ１１６は、演算部１１５より出力された画像をフィルタリングする。これによりブロック歪みが除去される。ステップＳ１３７においてフレームメモリ１１９は、フィルタリングされた画像を記憶する。
【０２３３】
ステップＳ１３８において、イントラ予測部１２１または動き予測・補償部１２２、は、可逆復号部１１２から供給される予測モード情報に対応して、それぞれ画像の予測処理を行う。
【０２３４】
すなわち、可逆復号部１１２からイントラ予測モード情報が供給された場合、イントラ予測部１２１は、イントラ予測モードのイントラ予測処理を行う。可逆復号部１１２からインター予測モード情報が供給された場合、動き予測・補償部１２２は、インター予測モードの動き予測・補償処理を行う。このとき、動き予測・補償部１２２は、適応内挿フィルタ設定部１２３により設定されたフィルタ係数、動きベクトル情報、並びに、フレームメモリ１１９から得られる整数画素精度の参照画像画素値を用いて、対象ブロックに対する予測画像の画素値を生成する。
【０２３５】
ステップＳ１３８における予測処理の詳細は、図１６を参照して後述するが、この処理により、イントラ予測部１２１により生成された予測画像、または動き予測・補償部１２２により生成された予測画像がスイッチ１２５に供給される。
【０２３６】
ステップＳ１３９において、スイッチ１２５は予測画像を選択する。すなわち、イントラ予測部１２１により生成された予測画像、または動き予測・補償部１２２により生成された予測画像が供給される。したがって、供給された予測画像が選択されて演算部１１５に供給され、上述したように、ステップＳ１３４において逆直交変換部１１４の出力と加算される。
【０２３７】
ステップＳ１４０において、画面並べ替えバッファ１１７は並べ替えを行う。すなわち画像符号化装置５１の画面並べ替えバッファ６２により符号化のために並べ替えられたフレームの順序が、元の表示の順序に並べ替えられる。
【０２３８】
ステップＳ１４１において、Ｄ／Ａ変換部１１８は、画面並べ替えバッファ１１７からの画像をＤ／Ａ変換する。この画像が図示せぬディスプレイに出力され、画像が表示される。
【０２３９】
［画像復号装置の予測処理の説明］
次に、図１６のフローチャートを参照して、図１５のステップＳ１３８の予測処理を説明する。
【０２４０】
イントラ予測部１２１は、ステップＳ１７１において、対象ブロックがイントラ符号化されているか否かを判定する。可逆復号部１１２からイントラ予測モード情報がイントラ予測部１２１に供給されると、イントラ予測部１２１は、ステップＳ１７１において、対象ブロックがイントラ符号化されていると判定し、処理は、ステップＳ１７２に進む。
【０２４１】
イントラ予測部１２１は、ステップＳ１７２において、イントラ予測モード情報を取得し、ステップＳ１７３において、イントラ予測を行う。
【０２４２】
すなわち、処理対象の画像がイントラ処理される画像である場合、必要な画像がフレームメモリ１１９から読み出され、スイッチ１２０を介してイントラ予測部１２１に供給される。ステップＳ１７３において、イントラ予測部１２１は、ステップＳ１７２で取得したイントラ予測モード情報に従ってイントラ予測し、予測画像を生成する。生成した予測画像は、スイッチ１２５に出力される。
【０２４３】
一方、ステップＳ１７１において、イントラ符号化されていないと判定された場合、処理は、ステップＳ１７４に進む。
【０２４４】
処理対象の画像がインター処理される画像である場合、可逆復号部１１２からインター予測モード情報、参照フレーム情報、動きベクトル情報が動き予測・補償部１２２に供給される。また、適応内挿フィルタのフィルタ係数が、適応内挿フィルタ設定部１２３に供給される。
【０２４５】
ステップＳ１７４において、適応内挿フィルタ設定部１２３は、適応内挿フィルタのフィルタ係数を取得する。取得されたフィルタ係数のうち、大ブロックサイズ用のフィルタ係数は、大ブロック適応フィルタ係数バッファ１４１に蓄積される。取得されたフィルタ係数のうち、小ブロックサイズ用のフィルタ係数は、小ブロック適応フィルタ係数バッファ１４２に蓄積される。
【０２４６】
ステップＳ１７５において、動き予測・補償部１２２は、可逆復号部１１２からの予測モード情報などを取得する。すなわち、インター予測モード情報、参照フレーム情報、動きベクトル情報が取得される。取得された動きベクトル情報とインター予測モード情報は、モード・動き情報バッファ１３１に蓄積される。
【０２４７】
ステップＳ１７６において、ブロック判別部１２４は、モード・動き情報バッファ１３１に蓄積されたインター予測モード情報に応じて、大ブロックサイズ用のフィルタ係数か、小ブロックサイズ用のフィルタ係数を切り替える。
【０２４８】
すなわち、ブロック判別部１２４は、動き予測・補償部１２２に供給されるインター予測モード情報に示されるブロックサイズに応じて、大ブロックサイズ用または小ブロックサイズ用のフィルタ係数を選択するための制御信号を、適応内挿フィルタ設定部１２３に供給する。
【０２４９】
大ブロック適応フィルタ係数バッファ１４１に蓄積される大ブロックサイズ用のフィルタ係数は、ブロック判別部１２４からの制御信号に対応して読みだされ、動き補償部１３２に供給される。あるいは、小ブロック適応フィルタ係数バッファ１４２に蓄積される小ブロックサイズ用のフィルタ係数は、ブロック判別部１２４からの制御信号に対応して読みだされ、動き補償部１３２に供給される。
【０２５０】
ステップＳ１７７において、動き補償部１３２は、ステップＳ１７６において切り替えられたフィルタ係数を用いて、動き補償を行う。すなわち、動き補償部１３２は、モード・動き情報バッファ１３１からの動きベクトル情報、インター予測モード情報、フレームメモリ１１９からの参照画像画素値を用いて、切り替えられたフィルタ係数で、対象ブロックに対する予測画像の画素値を生成する。生成された予測画像は、スイッチ１２５に出力される。
【０２５１】
以上のように、画像符号化装置５１においては、スライスにおいて、大きいブロックサイズのクラス、および小さいブロックサイズのクラスが分類され、分類されたクラス毎に適応内挿フィルタのフィルタ係数値が算出される。すなわち、画像符号化装置５１においては、フレームにおける局所的性質に対応する最適なフィルタ係数値を算出することができる。
【０２５２】
また、画像復号装置１０１においては、送られてきたフィルタ係数値のうち、ブロックサイズ（クラス）に応じたフィルタ係数値が設定されて用いられる。すなわち、画像復号装置１０１においては、フレームにおける局所的性質に対応する最適なフィルタ係数値を設定することができる。
【０２５３】
これにより、フレームにおける局所的性質に対応した動き予測、補償を行うことができる。結果として、符号化効率を向上させることができる。
【０２５４】
なお、上記説明においては、８×８画素ブロックよりブロックサイズが大きいか、それ以下であるかに応じてクラスを分類し、フィルタ係数の算出、切り替えを行う例を説明したが、これに限定されない。すなわち、８×８ブロック以外のブロックを基準にクラスの分類を行うようにしてもよいし、ブロックサイズに応じて、３種類以上のクラスに分類を行うようにしてもよい。
【０２５５】
例えば、クラスの分類数が３つの場合は、２つの場合に比して、予測効率はよくなるが、送信する係数が増える。逆に、クラスの分類数が２つの場合は、３つの場合に比して、送信する係数は少ないが、予測効率は下がる。
【０２５６】
また、Ｐピクチャの場合、もともと送信するビット数が多いため、送信する係数の増加による影響は少ないが、Ｂピクチャの場合、もともと送信するビット数が少ないため、送信する係数の増加による影響が大きい。したがって、Ｐピクチャに対しては、クラスの分類数を３つにし、Ｂピクチャに対しては、クラスの分類数を２つにするなど、例えば、ピクチャタイプに応じて、クラスの分類数（例えば、２つのクラスへの分類と、３つのクラスへの分類）を切り替えるようにしてもよい。
【０２５７】
また、上記説明においては、マクロブロックの大きさが、１６×１６画素の場合について説明してきたが、本発明は、上述した非特許文献４に記載の拡張されたマクロブロックサイズに対しても適用することが可能である。
【０２５８】
［拡張マクロブロックサイズへの適用の説明］
図１７は、非特許文献４で提案されているブロックサイズの例を示す図である。非特許文献４では、マクロブロックサイズが３２×３２画素に拡張されている。
【０２５９】
図１７の上段には、左から、３２×３２画素、３２×１６画素、１６×３２画素、および１６×１６画素のブロック（パーティション）に分割された３２×３２画素で構成されるマクロブロックが順に示されている。図１７の中段には、左から、１６×１６画素、１６×８画素、８×１６画素、および８×８画素のブロックに分割された１６×１６画素で構成されるブロックが順に示されている。また、図１７の下段には、左から、８×８画素、８×４画素、４×８画素、および４×４画素のブロックに分割された８×８画素のブロックが順に示されている。
【０２６０】
すなわち、３２×３２画素のマクロブロックは、図１７の上段に示される３２×３２画素、３２×１６画素、１６×３２画素、および１６×１６画素のブロックでの処理が可能である。
【０２６１】
上段の右側に示される１６×１６画素のブロックは、H．264/AVC方式と同様に、中段に示される１６×１６画素、１６×８画素、８×１６画素、および８×８画素のブロックでの処理が可能である。
【０２６２】
中段の右側に示される８×８画素のブロックは、H．264/AVC方式と同様に、下段に示される８×８画素、８×４画素、４×８画素、および４×４画素のブロックでの処理が可能である。
【０２６３】
これらのブロックは、以下の３階層に分類することができる。すなわち、図１７の上段に示される３２×３２画素、３２×１６画素、および１６×３２画素のブロックを第１階層と呼ぶ。上段の右側に示される１６×１６画素のブロック、並びに、中段に示される１６×１６画素、１６×８画素、および８×１６画素のブロックを、第２階層と呼ぶ。中段の右側に示される８×８画素のブロック、並びに、下段に示される８×８画素、８×４画素、４×８画素、および４×４画素のブロックを、第３階層と呼ぶ。
【０２６４】
このような階層構造を採用することにより、非特許文献１の提案では、１６×１６画素のブロック以下に関しては、H．264/AVC方式と互換性を保ちながら、そのスーパーセットとして、より大きなブロックが定義されている。
【０２６５】
以上のように提案される拡張されたマクロブロックサイズへの本発明の適用方法としては、例えば、対象となるスライスにおいて、階層毎に適応フィルタ係数を算出し、算出された階層毎のフィルタ係数を、圧縮画像に付加して復号側に送信する方法がある。すなわち、対象となるスライスにおいて、階層毎のクラスに分類する方法である。この際、各階層（クラス）に対して、フィルタ係数を送る、送らないに関するフラグ情報を圧縮画像に付加して復号側に送信してもよい。
【０２６６】
フラグ情報が復号側に送信されず、復号側で受信されない場合には、以下のいずれかの方法により、内挿フィルタが設定される。
【０２６７】
すなわち、第１の方法として、フラグ情報が受信されない場合には、用いる内挿フィルタに、H．264/AVC方式において定められている６タップのFIRフィルタが設定される。
【０２６８】
第２の方法としては、例えば、第１階層に対応するフィルタ係数は受信されるが、第２階層に対応するフィルタ係数が受信されない場合、第２の階層よりブロックサイズが大きい階層である第１階層に対応するフィルタ係数を、第２階層に対しても設定する。
【０２６９】
この第２の方法を適用することにより、例えば、第１階層と第２階層に対しては同一のフィルタ係数を用い、第３階層に対しては、異なるフィルタ係数を用いることが可能になる。
【０２７０】
第３の方法としては、対象スライスにおいて、対象の階層に対するフィルタ係数が受信されない場合には、１つ前あるいは１つ以上前のスライスにおける、同一の階層に対するフィルタ係数を、その対象スライスにおける対象の階層に用いる方法がある。
【０２７１】
図１７の例においては、第１階層や第２階層のように、比較的大きなブロックサイズを用いて符号化が行われるマクロブロックは、比較的高周波成分を含んでいない。これに対して、第３階層のように、比較的小さなブロックサイズを用いて符号化が行われるマクロブロックは、比較的、高周波成分を含んでいると考えられる。
【０２７２】
そこで、図１７に示したような拡張マクロブロックを用いた符号化が行われる際、ブロックサイズの異なる各階層に応じて、別々にフィルタ係数を算出する。これにより、画像の持つ、局所的性質に適した符号化性能向上を実現させることが可能である。
【０２７３】
なお、フィルタのタップ数も、階層毎に異なるものであってもよい。
【０２７４】
すなわち、比較的高周波成分を含まないと考えられる第１階層および第２階層に対しては、４タップのフィルタを適用し、比較的高周波成分を含む第３階層に対しては、６タップを適用するようにしてもよい。
【０２７５】
さらに、ＰピクチャとＢピクチャに応じて異なるタップ数のフィルタを用いてもよい。
【０２７６】
また、上述したブロックサイズによるフィルタ分類を、スライスタイプに応じて適用することも可能である。
【０２７７】
すなわち、インタースライスで、相対的に発生符号量が多いＰスライスについては、ブロックサイズに応じて２種類のフィルタ係数を持ったとしても、そのオーバーヘッド情報は相対的に少ないものとなる。
【０２７８】
一方、Ｂスライスに関しては、相対的に、発生符号量が少ないため、２種類のフィルタ係数を持つと、そのためのオーバーヘッド情報が符号化効率を低下させる場合もある。このような場合、本発明によるフィルタ分類を、Ｐスライスには適用するが、Ｂスライスには適用しないということも可能である。
【０２７９】
なお、拡張されたマクロブロックサイズについて上述した適用方法は、図３乃至図１６を参照して上述した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デコーダ３１７から供給された映像データは、ビデオデコーダ３１５から供給された映像データの場合と同様に、映像信号処理回路３１８において所定の処理が施される。そして、所定の処理が施された映像データは、グラフィック生成回路３１９において、生成された映像データ等が適宜重畳され、パネル駆動回路３２０を介して表示パネル３２１に供給され、その画像が表示される。
【０３１１】
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制御部４５５を介して液晶ディスプレイ４１８に表示させる。これにより、例えば、簡易ホームページにリンクされた動画像ファイルに含まれる動画データが液晶ディスプレイ４１８に表示される。
【０３４９】
携帯電話機４００は、このような処理を行う画像デコーダ４５６として、上述した画像復号装置１０１を用いる。したがって、画像デコーダ４５６は、画像復号装置１０１の場合と同様に、送られてきた適応内挿フィルタのフィルタ係数値のうち、ブロックサイズ（クラス）に応じたフィルタ係数値を設定して用いる。これにより、フレームにおける局所的性質に対応した動き予測、補償を行うことができる。
【０３５０】
このとき、携帯電話機４００は、同時に、音声コーデック４５９において、デジタルの音声データをアナログ音声信号に変換し、これをスピーカ４１７より出力させる。これにより、例えば、簡易ホームページにリンクされた動画像ファイルに含まれる音声データが再生される。
【０３５１】
なお、電子メールの場合と同様に、携帯電話機４００は、受信した簡易ホームページ等にリンクされたデータを、記録再生部４６２を介して、記憶部４２３に記録する（記憶させる）ことも可能である。
【０３５２】
また、携帯電話機４００は、主制御部４５０において、撮像されて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データメモリ５２７に供給する。
【０３８２】
以上のようなハードディスクレコーダ５００は、ビデオデコーダ５２５、デコーダ５５２、およびレコーダ制御部５２６に内蔵されるデコーダとして画像復号装置１０１を用いる。したがって、ビデオデコーダ５２５、デコーダ５５２、およびレコーダ制御部５２６に内蔵されるデコーダは、画像復号装置１０１の場合と同様に、送られてきた適応内挿フィルタのフィルタ係数値のうち、ブロックサイズ（クラス）に応じたフィルタ係数値を設定して用いる。これにより、符号化効率を向上することができる。
【０３８３】
したがって、ハードディスクレコーダ５００は、精度の高い予測画像を生成することができる。その結果として、ハードディスクレコーダ５００は、例えば、チューナを介して受信されたビデオデータの符号化データや、記録再生部５３３のハードディスクから読み出されたビデオデータの符号化データや、ネットワークを介して取得したビデオデータの符号化データから、より高精細な復号画像を得て、モニタ５６０に表示させることができる。
【０３８４】
また、ハードディスクレコーダ５００は、エンコーダ５５１として画像符号化装置５１を用いる。したがって、エンコーダ５５１は、画像符号化装置５１の場合と同様に、スライスにおいて、大きいブロックサイズのクラス、および小さいブロックサイズのクラスを分類し、分類したクラス毎に適応内挿フィルタのフィルタ係数値を算出する。これにより、フレームにおける局所的性質に対応した動き予測、補償を行うことができる。
【０３８５】
したがって、ハードディスクレコーダ５００は、例えば、ハードディスクに記録する符号化データの符号化効率を向上させることができる。その結果として、ハードディスクレコーダ５００は、ハードディスクの記憶領域をより効率よく使用することができる。
【０３８６】
なお、以上においては、ビデオデータやオーディオデータをハードディスクに記録するハードディスクレコーダ５００について説明したが、もちろん、記録媒体はどのようなものであってもよい。例えばフラッシュメモリ、光ディスク、またはビデオテープ等、ハードディスク以外の記録媒体を適用するレコーダであっても、上述したハードディスクレコーダ５００の場合と同様に、画像符号化装置５１および画像復号装置１０１を適用することができる。
【０３８７】
［カメラの構成例］
図３３は、本発明を適用した画像復号装置および画像符号化装置を用いるカメラの主な構成例を示すブロック図である。
【０３８８】
図３３に示されるカメラ６００は、被写体を撮像し、被写体の画像を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６１８に保持させたり、画像信号処理部６１４に供給したりすることができる。
【０４０２】
以上のようなカメラ６００は、デコーダ６１５として画像復号装置１０１を用いる。したがって、デコーダ６１５は、画像復号装置１０１の場合と同様に、送られてきた適応内挿フィルタのフィルタ係数値のうち、ブロックサイズ（クラス）に応じたフィルタ係数値が設定されて用いられる。
【０４０３】
したがって、カメラ６００は、精度の高い予測画像を生成することができる。その結果として、カメラ６００は、例えば、CCD/CMOS６１２において生成された画像データや、DRAM６１８または記録メディア６３３から読み出されたビデオデータの符号化データや、ネットワークを介して取得したビデオデータの符号化データから、より高精細な復号画像を得て、LCD６１６に表示させることができる。
【０４０４】
また、カメラ６００は、エンコーダ６４１として画像符号化装置５１を用いる。したがって、エンコーダ６４１は、画像符号化装置５１の場合と同様に、スライスにおいて、大きいブロックサイズのクラス、および小さいブロックサイズのクラスを分類し、分類したクラス毎に適応内挿フィルタのフィルタ係数値を算出する。これにより、フレームにおける局所的性質に対応した動き予測、補償を行うことができる。
【０４０５】
したがって、カメラ６００は、例えば、ハードディスクに記録する符号化データの符号化効率を向上させることができる。その結果として、カメラ６００は、DRAM６１８や記録メディア６３３の記憶領域をより効率よく使用することができる。
【０４０６】
なお、コントローラ６２１が行う復号処理に画像復号装置１０１の復号方法を適用するようにしてもよい。同様に、コントローラ６２１が行う符号化処理に画像符号化装置５１の符号化方法を適用するようにしてもよい。
【０４０７】
また、カメラ６００が撮像する画像データは動画像であってもよいし、静止画像であってもよい。
【０４０８】
もちろん、画像符号化装置５１および画像復号装置１０１は、上述した装置以外の装置やシステムにも適用可能である。
【符号の説明】
【０４０９】
５１  画像符号化装置，  ６６  可逆符号化部，  ７４  イントラ予測部，  ７５  動き予測・補償部，  ７６  適応内挿フィルタ算出部，  ７７  ブロック判別部，  ８１  整数画素精度動き予測部，  ８２  小数画素精度動き予測部，  ８３  モード判定部，  ８４  小数画素精度動き予測部，  ８５  動き補償部，  ９１  動き情報バッファ，  ９２  大ブロックフィルタ算出部，  ９３  小ブロックフィルタ算出部，  １０１  画像復号装置，  １１２  可逆復号部，  １２１  イントラ予測部，  １２２  動き予測・補償部，  １２３  適応内挿フィルタ設定部，  １２４  ブロック判別部，  １３１  モード・動き情報バッファ，  １３２  動き補償部，  １４１  大ブロック適応フィルタ係数バッファ，１４２  小ブロック適応フィルタ係数バッファ
【図１】
2011050001.tif 000007
【図２】
2011050001.tif 000008
【図３】
2011050001.tif 000009
【図４】
2011050001.tif 000010
【図５】
2011050001.tif 000011
【図６】
2011050001.tif 000012
【図７】
2011050001.tif 000013
【図８】
2011050001.tif 000014
【図９】
2011050001.tif 000015
【図１０】
2011050001.tif 000016
【図１１】
2011050001.tif 000017
【図１２】
2011050001.tif 000018
【図１３】
2011050001.tif 000019
【図１４】
2011050001.tif 000020
【図１５】
2011050001.tif 000021
【図１６】
2011050001.tif 000022
【図１７】
2011050001.tif 000023
【図１８】
2011050001.tif 000024
【図１９】
2011050001.tif 000025
【図２０】
2011050001.tif 000026
【図２１】
2011050001.tif 000027
【図２２】
2011050001.tif 000028