(57)【要約】  本発明は、内挿処理に伴う演算量の増大を抑制することができるようにする画像処理装置および方法に関する。  位置ｂおよび位置ｄのサンプリング位置に相当する小数画素精度の画素に関しては、第１のフィルタを用いて積和演算を施すことにより、位置ｂおよび位置ｄのサンプリング位置に相当する画素値が得られる。位置ｃのサンプリング位置に相当する小数画素精度に関しては、第１のフィルタよりも短いタップ長の第２のフィルタを用いて生成される中間値Ｂまたは中間値Ｄと第２のフィルタを用いて積和演算を施すことにより、位置ｃのサンプリング位置に相当する画素値が得られる。本発明は、例えば、H．264/AVC方式で符号化する画像符号化装置に適用することができる。
2010143583.tif 000002
【特許請求の範囲】
【請求項１】
符号化処理の対象となる対象ブロックの動きベクトルを求める動き探索手段と、
前記動き探索手段により求められた前記動きベクトルに対する小数画素精度のサンプリング位置に応じて異なるタップ長のフィルタ係数を設定するフィルタ設定手段と、
前記フィルタ設定手段により設定された前記フィルタ係数を用いて、前記サンプリング位置の画素値を生成する補間手段と
を備える画像処理装置。
【請求項２】
前記フィルタ設定手段は、水平方向および垂直方向のどちらか一方が小数画素精度であるが、他方は整数画素精度である第１のサンプリング位置と、どちらも小数画素精度である第２のサンプリング位置に対して、それぞれ異なるタップ長の前記フィルタ係数を設定する
請求項１に記載の画像処理装置。
【請求項３】
前記フィルタ設定手段は、前記第２のサンプリング位置に対して、前記第１のサンプリング位置に比してより短いタップ長の前記フィルタ係数を設定する
請求項２に記載の画像処理装置。
【請求項４】
前記フィルタ設定手段は、前記第１のサンプリング位置に対して、前記フィルタ係数として、符号化規格で定められている
｛1,-5,20,20,-5,1｝
を設定する
請求項３に記載の画像処理装置。
【請求項５】
前記フィルタ設定手段は、前記第２のサンプリング位置に対して、前記フィルタ係数として、
｛-1,5,5,-1｝
を設定する
請求項３に記載の画像処理装置。
【請求項６】
前記補間手段は、前記フィルタ設定手段により設定された前記フィルタ係数を用いて１／２画素精度のサンプリング位置の画素値を生成し、整数画素精度の画素値、および生成された前記１／２画素精度の前記サンプリング位置の画素値の少なくとも一方を用いて線形内挿することで、１／４画素精度のサンプリング位置の画素値を生成する
請求項１に記載の画像処理装置。
【請求項７】
前記補間手段は、前記フィルタ設定手段により設定された前記フィルタ係数を用いて１／２画素精度のサンプリング位置の画素値、および１／４画素精度のサンプリング位置の画素値を生成し、整数画素精度の画素値、生成された前記１／２画素精度の前記サンプリング位置の画素値、および生成された前記１／４画素精度の前記サンプリング位置の画素値の少なくとも一方を用いて線形内挿することで、１／８画素精度のサンプリング位置の画素値を生成する
請求項１に記載の画像処理装置。
【請求項８】
前記フィルタ係数として、符号化規格で定められている値を用いる
請求項１に記載の画像処理装置。
【請求項９】
前記フィルタ係数として、フレーム毎に求められた最適な値を用いる
請求項１に記載の画像処理装置。
【請求項１０】
前記フィルタ設定手段は、
前記動きベクトルを求めるために用いる動き予測・補償のブロックサイズが第１の種類に属するブロックサイズである場合、常に第１の前記フィルタ係数を設定し、
前記動きベクトルを求めるために用いる動き予測・補償のブロックサイズが第２の種類に属するブロックサイズである場合、水平方向および垂直方向のどちらか一方が小数画素精度であるが、他方は整数画素精度である第１のサンプリング位置に対して前記第１のフィルタ係数を設定するとともに、どちらも小数画素精度である第２のサンプリング位置に対して、前記第１のサンプリング位置に比してより短いタップ長の第２のフィルタ係数を設定する
請求項１に記載の画像処理装置。
【請求項１１】
画像処理装置が、
符号化処理の対象となる対象ブロックの動きベクトルを求め、
求められた前記動きベクトルに対する小数画素精度のサンプリング位置に応じて異なるタップ長のフィルタ係数を設定し、
設定された前記フィルタ係数を用いて、前記サンプリング位置の画素値を生成するステップ
を含む画像処理方法。
【請求項１２】
復号処理の対象となる対象ブロックの動きベクトル情報を復号する復号手段と、
前記復号手段により復号された前記対象ブロックの動きベクトル情報に対する小数画素精度のサンプリング位置に応じて異なるタップ長のフィルタ係数を設定するフィルタ設定手段と、
前記フィルタ設定手段により設定された前記フィルタ係数を用いて、前記サンプリング位置の画素値を生成する補間手段と
を備える画像処理装置。
【請求項１３】
前記フィルタ設定手段は、水平方向および垂直方向のどちらか一方が小数画素精度であるが、他方は整数画素精度である第１のサンプリング位置と、どちらも小数画素精度である第２のサンプリング位置に対して、それぞれ異なるタップ長の前記フィルタ係数を設定する
請求項１２に記載の画像処理装置。
【請求項１４】
前記フィルタ設定手段は、前記第２のサンプリング位置に対して、前記第１のサンプリング位置に比してより短いタップ長の前記フィルタ係数を設定する
請求項１３に記載の画像処理装置。
【請求項１５】
前記フィルタ設定手段は、前記第１のサンプリング位置に対して、前記フィルタ係数として、符号化規格で定められている
｛1,-5,20,20,-5,1｝
を設定する
請求項１４に記載の画像処理装置。
【請求項１６】
前記フィルタ設定手段は、前記第２のサンプリング位置に対して、前記フィルタ係数として、
｛-1,5,5,-1｝
を設定する
請求項１４に記載の画像処理装置。
【請求項１７】
前記補間手段は、前記フィルタ設定手段により設定された前記フィルタ係数を用いて１／２画素精度のサンプリング位置の画素値を生成し、整数画素精度の画素値、および生成された前記１／２画素精度の前記サンプリング位置の画素値の少なくとも一方を用いて線形内挿することで、１／４画素精度のサンプリング位置の画素値を生成する
請求項１２に記載の画像処理装置。
【請求項１８】
前記補間手段は、前記フィルタ設定手段により設定された前記フィルタ係数を用いて１／２画素精度のサンプリング位置の画素値、および１／４画素精度のサンプリング位置の画素値を生成し、整数画素精度の画素値、生成された前記１／２画素精度の前記サンプリング位置の画素値、および生成された前記１／４画素精度の前記サンプリング位置の画素値の少なくとも一方を用いて線形内挿することで、１／８画素精度のサンプリング位置の画素値を生成する
請求項１２に記載の画像処理装置。
【請求項１９】
前記フィルタ係数として、符号化規格で定められている値を用いる
請求項１２に記載の画像処理装置。
【請求項２０】
前記フィルタ係数として、フレーム毎に求められた最適な値を用いる
請求項１２に記載の画像処理装置。
【請求項２１】
前記フィルタ設定手段は、前記動きベクトル情報に基づいて、前記動きベクトルを求めるために用いる動き予測・補償のブロックサイズを特定し、
第１の種類に属するブロックサイズである場合、常に第１の前記フィルタ係数を設定し、
第２の種類に属するブロックサイズである場合、水平方向および垂直方向のどちらか一方が小数画素精度であるが、他方は整数画素精度である第１のサンプリング位置に対して前記第１のフィルタ係数を設定するとともに、どちらも小数画素精度である第２のサンプリング位置に対して、前記第１のサンプリング位置に比してより短いタップ長の第２のフィルタ係数を設定する
請求項１２に記載の画像処理装置。
【請求項２２】
画像処理装置が、
復号処理の対象となる対象ブロックの動きベクトル情報を復号し、
復号された前記対象ブロックの動きベクトル情報に対する小数画素精度のサンプリング位置に応じて異なるタップ長のフィルタ係数を設定し、
設定された前記フィルタ係数を用いて、前記サンプリング位置の画素値を生成するステップ
を含む画像処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は画像処理装置および方法に関し、特に、内挿処理に伴う演算量の増大を抑制するようにした画像処理装置および方法に関する。
【背景技術】
【０００２】
近年、画像情報をデジタルとして取り扱い、その際、効率の高い情報の伝送、蓄積を目的とし、画像情報特有の冗長性を利用して、離散コサイン変換等の直交変換と動き補償により圧縮する符号化方式を採用して画像を圧縮符号する装置が普及しつつある。この符号化方式には、例えば、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()を次の式（１）のように定義する。【００１２】
【数１】
2010143583.tif 000003
なお、入力画像が８ビット精度である場合、max_pixの値は255となる。【００１３】
位置ｂおよびｄにおける画素値は、６タップのFIRフィルタを用いて、次の式（２）のように生成される。
【数２】
2010143583.tif 000004
【００１４】
位置ｃにおける画素値は、水平方向および垂直方向に６タップのFIRフィルタを適用し、次の式（３）のように生成される。
【数３】
2010143583.tif 000005
なお、Clip処理は、水平方向および垂直方向の積和処理の両方を行った後、最後に１度のみ実行される。【００１５】
位置ｅ１乃至ｅ３は、次の式（４）のように線形内挿により生成される。
【数４】
2010143583.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方式における１／４画素精度の予測・補償処理に対して、１／８画素精度の動き予測が提案されている。【００３０】
すなわち、非特許文献４においては、１／２画素精度の補間処理がフィルタ[-3,12,-39,158,158,-39,12,-3]/256により行われる。また、１／４画素精度の補間処理がフィルタ[-3,12,-37,229,71,-21,6,-1]/256により行われ、１／８画素精度の補間処理が線形補間により行われる。【００３１】
このように、より高い画素精度の補間処理を用いた動き予測を行うことにより、特に、解像度が高いテクスチャを持ち、比較的ゆっくりした動きのシーケンスにおいては、予測精度を向上させ、符号化効率の向上を実現することができる。【００３２】
なお、上述した図１および図２は、以下、本発明を説明する図としても用いられる。
【先行技術文献】
【非特許文献】
【００３３】
【非特許文献１】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
【非特許文献３】”Motion compensated prediction with 1/8-pel displacement vector resolution”,VCEG-AD09,ITU-Telecommunications Standardization Sector STUDY GROUP Question 6 Video coding Experts Group(VCEG), 23-27 Oct 2006
【非特許文献４】”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
【発明の概要】
【発明が解決しようとする課題】
【００３４】
上述したように、H．264/AVC方式における１／４画素精度の予測・補償処理に対してさらに符号化効率を向上させるための技術が複数提案されているが、このような動き予測および補償を行うブロックにおいては、膨大な演算量を要してしまう。【００３５】
特に、図１において、位置ｂおよびｄの画素値は、６タップのFIRフィルタを整数画素精度の画素値に施すことにより得られる。これに対して、位置ｃの画素値を得るためには、水平方向および垂直方向にそれぞれ６タップ、つまり３６タップのフィルタを施すことになり、この処理が演算量の増大に大きく起因している。【００３６】
さらに、また、位置ｅ３の画素値を得るためには、上述したように演算量の増大な処理により生成された位置ｃの画素値を用いた線形内挿により生成されることになり、この処理も、さらなる演算量の増大に起因している。【００３７】
本発明は、このような状況に鑑みてなされたものであり、内挿処理に伴う演算量の増大を抑制するものである。
【課題を解決するための手段】
【００３８】
本発明の第１の側面の画像処理装置は、符号化処理の対象となる対象ブロックの動きベクトルを求める動き探索手段と、前記動き探索手段により求められた前記動きベクトルに対する小数画素精度のサンプリング位置に応じて異なるタップ長のフィルタ係数を設定するフィルタ設定手段と、前記フィルタ設定手段により設定された前記フィルタ係数を用いて、前記サンプリング位置の画素値を生成する補間手段とを備える。【００３９】
前記フィルタ設定手段は、水平方向および垂直方向のどちらか一方が小数画素精度であるが、他方は整数画素精度である第１のサンプリング位置と、どちらも小数画素精度である第２のサンプリング位置に対して、それぞれ異なるタップ長の前記フィルタ係数を設定することができる。【００４０】
前記フィルタ設定手段は、前記第２のサンプリング位置に対して、前記第１のサンプリング位置に比してより短いタップ長の前記フィルタ係数を設定することができる。【００４１】
前記フィルタ設定手段は、前記第１のサンプリング位置に対して、前記フィルタ係数として、符号化規格で定められている｛1,-5,20,20,-5,1｝を設定することができる。【００４２】
前記フィルタ設定手段は、前記第２のサンプリング位置に対して、前記フィルタ係数として、｛-1,5,5,-1｝を設定することができる。【００４３】
前記補間手段は、前記フィルタ設定手段により設定された前記フィルタ係数を用いて１／２画素精度のサンプリング位置の画素値を生成し、整数画素精度の画素値、および生成された前記１／２画素精度の前記サンプリング位置の画素値の少なくとも一方を用いて線形内挿することで、１／４画素精度のサンプリング位置の画素値を生成することができる。【００４４】
前記補間手段は、前記フィルタ設定手段により設定された前記フィルタ係数を用いて１／２画素精度のサンプリング位置の画素値、および１／４画素精度のサンプリング位置の画素値を生成し、整数画素精度の画素値、生成された前記１／２画素精度の前記サンプリング位置の画素値、および生成された前記１／４画素精度の前記サンプリング位置の画素値の少なくとも一方を用いて線形内挿することで、１／８画素精度のサンプリング位置の画素値を生成することができる。【００４５】
前記フィルタ係数として、符号化規格で定められている値を用いることができる。【００４６】
前記フィルタ係数として、フレーム毎に求められた最適な値を用いることができる。【００４７】
前記フィルタ設定手段は、前記動きベクトルを求めるために用いる動き予測・補償のブロックサイズが第１の種類に属するブロックサイズである場合、常に第１の前記フィルタ係数を設定し、前記動きベクトルを求めるために用いる動き予測・補償のブロックサイズが第２の種類に属するブロックサイズである場合、水平方向および垂直方向のどちらか一方が小数画素精度であるが、他方は整数画素精度である第１のサンプリング位置に対して前記第１のフィルタ係数を設定するとともに、どちらも小数画素精度である第２のサンプリング位置に対して、前記第１のサンプリング位置に比してより短いタップ長の第２のフィルタ係数を設定するようにすることができる。【００４８】
本発明の第１の側面の画像処理方法は、画像処理装置が、符号化処理の対象となる対象ブロックの動きベクトルを求め、求められた前記動きベクトルに対する小数画素精度のサンプリング位置に応じて異なるタップ長のフィルタ係数を設定し、設定された前記フィルタ係数を用いて、前記サンプリング位置の画素値を生成するステップを含む。【００４９】
本発明の第２の側面の画像処理装置は、復号処理の対象となる対象ブロックの動きベクトル情報を復号する復号手段と、前記復号手段により復号された前記対象ブロックの動きベクトル情報に対する小数画素精度のサンプリング位置に応じて異なるタップ長のフィルタ係数を設定するフィルタ設定手段と、前記フィルタ設定手段により設定された前記フィルタ係数を用いて、前記サンプリング位置の画素値を生成する補間手段とを備える。【００５０】
前記フィルタ設定手段は、水平方向および垂直方向のどちらか一方が小数画素精度であるが、他方は整数画素精度である第１のサンプリング位置と、どちらも小数画素精度である第２のサンプリング位置に対して、それぞれ異なるタップ長の前記フィルタ係数を設定することができる。【００５１】
前記フィルタ設定手段は、前記第２のサンプリング位置に対して、前記第１のサンプリング位置に比してより短いタップ長の前記フィルタ係数を設定することができる。【００５２】
前記フィルタ設定手段は、前記第１のサンプリング位置に対して、前記フィルタ係数として、符号化規格で定められている｛1,-5,20,20,-5,1｝を設定することができる。【００５３】
前記フィルタ設定手段は、前記第２のサンプリング位置に対して、前記フィルタ係数として、｛-1,5,5,-1｝を設定することができる。【００５４】
前記補間手段は、前記フィルタ設定手段により設定された前記フィルタ係数を用いて１／２画素精度のサンプリング位置の画素値を生成し、整数画素精度の画素値、および生成された前記１／２画素精度の前記サンプリング位置の画素値の少なくとも一方を用いて線形内挿することで、１／４画素精度のサンプリング位置の画素値を生成することができる。【００５５】
前記補間手段は、前記フィルタ設定手段により設定された前記フィルタ係数を用いて１／２画素精度のサンプリング位置の画素値、および１／４画素精度のサンプリング位置の画素値を生成し、整数画素精度の画素値、生成された前記１／２画素精度の前記サンプリング位置の画素値、および生成された前記１／４画素精度の前記サンプリング位置の画素値の少なくとも一方を用いて線形内挿することで、１／８画素精度のサンプリング位置の画素値を生成することができる。【００５６】
前記フィルタ係数として、符号化規格で定められている値を用いることができる。【００５７】
前記フィルタ係数として、フレーム毎に求められた最適な値を用いることができる。【００５８】
前記フィルタ設定手段は、前記動きベクトル情報に基づいて、前記動きベクトルを求めるために用いる動き予測・補償のブロックサイズを特定し、第１の種類に属するブロックサイズである場合、常に第１の前記フィルタ係数を設定し、第２の種類に属するブロックサイズである場合、水平方向および垂直方向のどちらか一方が小数画素精度であるが、他方は整数画素精度である第１のサンプリング位置に対して前記第１のフィルタ係数を設定するとともに、どちらも小数画素精度である第２のサンプリング位置に対して、前記第１のサンプリング位置に比してより短いタップ長の第２のフィルタ係数を設定するようにすることができる。【００５９】
本発明の第２の側面の画像処理方法は、画像処理装置が、復号処理の対象となる対象ブロックの動きベクトル情報を復号し、復号された前記対象ブロックの動きベクトル情報に対する小数画素精度のサンプリング位置に応じて異なるタップ長のフィルタ係数を設定し、設定された前記フィルタ係数を用いて、前記サンプリング位置の画素値を生成するステップを含む。【００６０】
本発明の第１の側面においては、符号化処理の対象となる対象ブロックの動きベクトルが求められ、求められた前記動きベクトルに対する小数画素精度のサンプリング位置に応じて異なるタップ長のフィルタ係数が設定され、設定された前記フィルタ係数を用いて、前記サンプリング位置の画素値が生成される。【００６１】
本発明の第２の側面においては、復号処理の対象となる対象ブロックの動きベクトル情報が復号され、復号された前記対象ブロックの動きベクトル情報に対する小数画素精度のサンプリング位置に応じて異なるタップ長のフィルタ係数が設定され、設定された前記フィルタ係数を用いて、前記サンプリング位置の画素値が生成される。【００６２】
なお、上述の画像処理装置のそれぞれは、独立した装置であっても良いし、１つの画像符号化装置または画像復号装置を構成している内部ブロックであってもよい。
【発明の効果】
【００６３】
本発明の第１の側面によれば、小数画素精度の画素値を生成することができる。また、本発明の第１の側面によれば、内挿処理に伴う演算量の増大を抑制することができる。【００６４】
本発明の第２の側面によれば、小数画素精度の画素値を生成することができる。また、本発明の第２の側面によれば、内挿処理に伴う演算量の増大を抑制することができる。
【図面の簡単な説明】
【００６５】
【図１】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方式においては、マルチ参照フレーム(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)に実装されている動き探索方法に基づき、小数画素精度の動きベクトルが求められる。すなわち、整数画素精度動き探索部８１により整数画素精度の動き探索が行われ、小数画素精度動き探索部８３により、小数画素精度の動き探索が行われ、小数画素精度の動きベクトル情報が求められる。
【０１１１】
内挿フィルタ切替部７６は、サンプリング位置判定部９１、および内挿フィルタ設定部９２により構成される。
【０１１２】
フレームメモリ７２から、整数画素精度の参照画素値が、整数画素精度動き探索部８１、小数画素精度動き探索部８３、および動き補償部８４に供給される。また、図７の例においては、その図示は省略されているが、画面並べ替えバッファ６２からのインター処理する画像も、整数画素精度動き探索部８１、小数画素精度動き探索部８３、およびモード判定部８５に供給される。
【０１１３】
整数画素精度動き探索部８１は、インター処理する画像および整数画素精度の参照画素値を用いて、候補となる全てのインター予測モードについて、対象ブロックの整数画素精度の動き探索を行う。求められた対象ブロックの整数画素精度の動きベクトル情報は、補間部８２および小数画素精度動き探索部８３に供給される。
【０１１４】
補間部８２は、フレームメモリ７２から供給される整数画素精度の参照画素値を用いて、動き予測・補償部７５により検出された動きベクトルに対する整数画素精度の画素周辺の小数画素精度の画素の座標を求める。求められた小数画素精度の画素の座標情報は、サンプリング位置判定部９１に供給される。
【０１１５】
補間部８２は、タップ長の異なる２種類のフィルタ係数のFIRフィルタを有している。補間部８２は、内挿フィルタ設定部９２からのフィルタ選択情報が示すフィルタを用いて内挿（補間）処理を行い、整数画素精度動き探索部８１により検出された動きベクトルに対する画素周辺の小数画素精度のサンプリング位置の画素値を生成する。生成された小数画素精度の参照画素値は、小数画素精度動き探索部８３に供給される。
【０１１６】
小数画素精度動き探索部８３は、インター処理する画像、整数画素精度の動きベクトル情報、および小数画素精度の参照画素値を用いて、候補となる全てのインター予測モードについて、対象ブロックの小数画素精度の動き探索を行う。求められた小数画素精度の動きベクトル情報は、動き補償部８４に供給される。
【０１１７】
動き補償部８４は、フレームメモリ７２からの整数画素精度の参照画素値、小数画素精度の動きベクトル情報、並びに、内挿フィルタ設定部９２からのフィルタ選択情報を用いて、小数画素精度の画素値を補間することで、予測画像を生成する。このとき生成されたすべての候補ブロックの予測画像の画素値は、対応する動きベクトル情報、参照フレーム情報、およびインター予測モード情報などとともにモード判定部８５に供給される。
【０１１８】
モード判定部８５には、画面並べ替えバッファ６２からのインター処理する画像、並びに動き補償部８４からのすべての候補ブロックの予測画像、動きベクトル情報、参照フレーム情報、およびインター予測モード情報などが供給される。
【０１１９】
モード判定部８５は、供給された情報を適宜用いて、候補となる全てのインター予測モードについてのコスト関数値を算出する。モード判定部８５は、コスト関数値が最小値を与える予測モードを、最適インター予測モードとして決定し、すべての候補ブックの予測画像のうち、最適インター予測モードに決定されたブロックの予測画像とそのコスト関数値を、予測画像選択部７７に供給する。
【０１２０】
予測画像選択部７７により最適インター予測モードの予測画像が選択された場合、モード判定部８５は、最適インター予測モードを示す情報と、動きベクトル情報、参照フレーム情報などを可逆符号化部６６に出力する。
【０１２１】
サンプリング位置判定部９１は、補間部８２により求められた小数画素精度の画素の座標情報に基づいて、その画素が、例えば、図１の位置ｂ乃至ｄ,および位置ｅ１乃至ｅ３のうちどのサンプリング位置であるかを判定する。判定したサンプリング位置の情報は、内挿フィルタ設定部９２に供給される。
【０１２２】
例えば、供給されるサンプリング位置の情報としては、例えば、サンプリング位置が、図１の位置ｂ乃至ｄ,および位置ｅ１乃至ｅ３のいずれかという情報でもよい。あるいは、例えば、サンプリング位置が位置ｃのときには、水平方向および垂直方向ともに１／２画素精度であるという情報でもよい。後者の場合、サンプリング位置が位置ｂまたは位置ｄのときには、水平方向および垂直方向のうちの一方が１／２画素精度であり、他方が整数画素精度であるという情報が供給される。
【０１２３】
内挿フィルタ設定部９２は、サンプリング位置判定部９１からの情報が示すサンプリング位置に応じて、補間部８２が有する２種類のフィルタ係数のフィルタのうち、どちらのフィルタを用いるかを設定する。内挿フィルタ設定部９２は、設定したフィルタがどのフィルタであるかというフィルタ選択情報を、補間部８２に供給する。
【０１２４】
例えば、内挿フィルタ設定部９２は、水平方向および垂直方向のどちらか一方が小数画素精度であるが、他方は整数画素精度であるサンプリング位置と、どちらも小数画素精度であるサンプリング位置に対して、それぞれ異なるタップ長のフィルタ係数を設定する。好適には、前者のサンプリング位置と比して、後者のサンプリング位置に対して、より短いタップ長のフィルタ係数が設定される。
【０１２５】
［内挿処理の説明］
ここで、再度、図１を参照して、補間部８２の内挿処理について詳しく説明する。
【０１２６】
補間部８２は、第１のフィルタとして、H．264/AVC方式の規格において定義されている６タップのFIRフィルタ｛1,-5,20,20,-5,1｝および第２のフィルタとして、第１のフィルタよりタップ長の短いFIRフィルタ｛-1,5,5,-1｝の２つのフィルタを有している。ここで、｛1,-5,20,20,-5,1｝および｛-1,5,5,-1｝はフィルタ係数であり、第１のフィルタのフィルタ係数よりも第２のフィルタのフィルタ係数の方がタップ数が短い。
【０１２７】
補間部８２は、サンプリング位置に応じて内挿フィルタ設定部９２により設定される第１のフィルタおよび第２のフィルタの少なくとも１つを用いることで、小数画素精度の画素値を生成する。
【０１２８】
ここで、図１において、位置ｂは、水平成分には１／２画素、垂直成分には０画素、フレームメモリ７２内に格納される整数画素精度の画素値よりずれた位置である。位置ｄは、水平成分には０画素、垂直成分には１／２画素、フレームメモリ７２内に格納される整数画素精度の画素値よりずれた位置である。また、位置ｃは、水平成分および垂直成分の両方に１／２画素、フレームメモリ７２内に格納される整数画素精度の画素値よりずれた位置である。
【０１２９】
補間部８２は、位置ｂおよび位置ｄのサンプリング位置に相当する小数画素精度の画素に関しては、第１のフィルタを用いて、上述した式（２）の積和演算を施すことにより、位置ｂおよび位置ｄのサンプリング位置に相当する画素値を得る。
【０１３０】
また、同時に補間部８２は、第２のフィルタを用いて、次の式（７）に示される中間値Ｂ、もしくは中間値Ｃのいずれかを生成する。
【数５】
2010143583.tif 000007
【０１３１】
ここで、中間値Ｂは、図１における位置ｂの画素値と同様に、水平成分には１／２画素、垂直成分には０画素、フレームメモリ７２内に格納された、整数画素精度の画素値よりずれた位置に相当する値である。中間値Ｄは、図１における位置ｄの画素値と同様に、水平成分には０画素、垂直成分には１／２画素、フレームメモリ７２内に格納された、整数画素精度の画素値よりずれた位置に相当する値である。
【０１３２】
補間部８２は、位置ｃのサンプリング位置に相当する小数画素精度に関しては、これらの中間値Ｂまたは中間値Ｄと、第２のフィルタを用いて、次の式（８）に示される積和演算を施すことにより、位置ｃのサンプリング位置に相当する画素値を得る。
【数６】
2010143583.tif 000008
なお、Clip処理は、水平方向および垂直方向の積和処理の両方を行った後、最後に１度のみ実行される。
【０１３３】
さらに、補間部８２は、以上のようにして求められた位置ｃのサンプリング位置に相当する画素値をも用いて、上述した式（４）と同様の処理により、位置ｅ１乃至ｅ３のサンプリング位置に相当する画素値を求める。
【０１３４】
なお、上記説明においては、サンプリング位置として、図１に示される位置ｂ乃至位置ｄ、および位置ｅ１乃至位置ｅ３である場合を説明したが、他の位置の場合も、相対的に同様な位置の画素値などが利用されて、同様な処理が行われる。
【０１３５】
以上のような内挿処理ができるように、内挿フィルタ設定部９２においては、内挿すべきサンプリング位置に応じたフィルタが設定される。
【０１３６】
このような内挿すべきサンプリング位置に応じたフィルタの切り替えを行うことにより、処理上のボトルネックとなる、例えば、図１の位置ｃおよび位置ｅ３の画素値を生成する際の演算量を減じることが可能となる。
【０１３７】
［画像符号化装置の符号化処理の説明］
次に、図８のフローチャートを参照して、図３の画像符号化装置５１の符号化処理について説明する。
【０１３８】
ステップＳ１１において、Ａ／Ｄ変換部６１は入力された画像をＡ／Ｄ変換する。ステップＳ１２において、画面並べ替えバッファ６２は、Ａ／Ｄ変換部６１より供給された画像を記憶し、各ピクチャの表示する順番から符号化する順番への並べ替えを行う。
【０１３９】
ステップＳ１３において、演算部６３は、ステップＳ１２で並び替えられた画像と予測画像との差分を演算する。予測画像は、インター予測する場合は動き予測・補償部７５から、イントラ予測する場合はイントラ予測部７４から、それぞれ予測画像選択部７７を介して演算部６３に供給される。
【０１４０】
差分データは元の画像データに較べてデータ量が小さくなっている。したがって、画像をそのまま符号化する場合に較べて、データ量を圧縮することができる。
【０１４１】
ステップＳ１４において、直交変換部６４は演算部６３から供給された差分情報を直交変換する。具体的には、離散コサイン変換、カルーネン・レーベ変換等の直交変換が行われ、変換係数が出力される。ステップＳ１５において、量子化部６５は変換係数を量子化する。この量子化に際しては、後述するステップＳ２５の処理で説明されるように、レートが制御される。
【０１４２】
以上のようにして量子化された差分情報は、次のようにして局部的に復号される。すなわち、ステップＳ１６において、逆量子化部６８は量子化部６５により量子化された変換係数を量子化部６５の特性に対応する特性で逆量子化する。ステップＳ１７において、逆直交変換部６９は逆量子化部６８により逆量子化された変換係数を直交変換部６４の特性に対応する特性で逆直交変換する。
【０１４３】
ステップＳ１８において、演算部７０は、予測画像選択部７７を介して入力される予測画像を局部的に復号された差分情報に加算し、局部的に復号された画像（演算部６３への入力に対応する画像）を生成する。ステップＳ１９においてデブロックフィルタ７１は、演算部７０より出力された画像をフィルタリングする。これによりブロック歪みが除去される。ステップＳ２０においてフレームメモリ７２は、フィルタリングされた画像を記憶する。なお、フレームメモリ７２にはデブロックフィルタ７１によりフィルタ処理されていない画像も演算部７０から供給され、記憶される。
【０１４４】
ステップＳ２１において、イントラ予測部７４および動き予測・補償部７５は、それぞれ画像の予測処理を行う。すなわち、ステップＳ２１において、イントラ予測部７４は、イントラ予測モードのイントラ予測処理を行う。動き予測・補償部７５は、インター予測モードの動き予測・補償処理を行う。
【０１４５】
このとき、動き予測・補償部７５においては、内挿フィルタ切替部７６により小数画素精度の画素の座標に対応するサンプリング位置に応じて設定されたフィルタを用いてサンプリング位置の画素値が生成される。そして、それらが用いられて小数画素精度の動きベクトルが求められる。
【０１４６】
ステップＳ２１における予測処理の詳細は、図９を参照して後述するが、この処理により、候補となる全てのイントラ予測モードでの予測処理がそれぞれ行われ、候補となる全てのイントラ予測モードでのコスト関数値がそれぞれ算出される。そして、算出されたコスト関数値に基づいて、最適イントラ予測モードが選択され、最適イントラ予測モードのイントラ予測により生成された予測画像とそのコスト関数値が予測画像選択部７７に供給される。
【０１４７】
また、この処理により、候補となる全てのインター予測モードでの予測処理がそれぞれ行われ、候補となる全てのインター予測モードでのコスト関数値がそれぞれ算出される。算出されたコスト関数値に基づいて、インター予測モードの中から、最適インター予測モードが決定され、最適インター予測モードで生成された予測画像とそのコスト関数値が、予測画像選択部７７に供給される。
【０１４８】
ステップＳ２２において、予測画像選択部７７は、イントラ予測部７４および動き予測・補償部７５より出力された各コスト関数値に基づいて、最適イントラ予測モードと最適インター予測モードのうちの一方を、最適予測モードに決定する。そして、予測画像選択部７７は、決定した最適予測モードの予測画像を選択し、演算部６３，７０に供給する。この予測画像が、上述したように、ステップＳ１３，Ｓ１８の演算に利用される。
【０１４９】
なお、この予測画像の選択情報は、イントラ予測部７４または動き予測・補償部７５に供給される。最適イントラ予測モードの予測画像が選択された場合、イントラ予測部７４は、最適イントラ予測モードを示す情報（すなわち、イントラ予測モード情報）を、可逆符号化部６６に供給する。
【０１５０】
最適インター予測モードの予測画像が選択された場合、動き予測・補償部７５は、最適インター予測モードを示す情報と、必要に応じて、最適インター予測モードに応じた情報を可逆符号化部６６に出力する。最適インター予測モードに応じた情報としては、動きベクトル情報や、フラグ、参照フレーム情報などがあげられる。
【０１５１】
ステップＳ２３において、可逆符号化部６６は量子化部６５より出力された量子化された変換係数を符号化する。すなわち、差分画像が可変長符号化、算術符号化等の可逆符号化され、圧縮される。このとき、上述したステップＳ２２において可逆符号化部６６に入力された、イントラ予測部７４からのイントラ予測モード情報、または、動き予測・補償部７５からの最適インター予測モードに応じた情報なども符号化され、ヘッダ情報に付加される。
【０１５２】
ステップＳ２４において蓄積バッファ６７は差分画像を圧縮画像として蓄積する。蓄積バッファ６７に蓄積された圧縮画像が適宜読み出され、伝送路を介して復号側に伝送される。
【０１５３】
ステップＳ２５においてレート制御部７８は、蓄積バッファ６７に蓄積された圧縮画像に基づいて、オーバーフローあるいはアンダーフローが発生しないように、量子化部６５の量子化動作のレートを制御する。
【０１５４】
［予測処理の説明］
次に、図９のフローチャートを参照して、図８のステップＳ２１における予測処理を説明する。
【０１５５】
画面並べ替えバッファ６２から供給される処理対象の画像がイントラ処理されるブロックの画像である場合、参照される復号済みの画像がフレームメモリ７２から読み出され、スイッチ７３を介してイントラ予測部７４に供給される。これらの画像に基づいて、ステップＳ３１において、イントラ予測部７４は処理対象のブロックの画素を、候補となる全てのイントラ予測モードでイントラ予測する。なお、参照される復号済みの画素としては、デブロックフィルタ７１によりデブロックフィルタリングされていない画素が用いられる。
【０１５６】
ステップＳ３１におけるイントラ予測処理の詳細は、図１０を参照して後述するが、この処理により、候補となる全てのイントラ予測モードでイントラ予測が行われ、候補となる全てのイントラ予測モードに対してコスト関数値が算出される。そして、算出されたコスト関数値に基づいて、最適イントラ予測モードが選択され、最適イントラ予測モードのイントラ予測により生成された予測画像とそのコスト関数値が予測画像選択部７７に供給される。
【０１５７】
画面並べ替えバッファ６２から供給される処理対象の画像がインター処理される画像である場合、参照される画像がフレームメモリ７２から読み出され、スイッチ７３を介して動き予測・補償部７５に供給される。これらの画像に基づいて、ステップＳ３２において、動き予測・補償部７５はインター動き予測処理を行う。すなわち、動き予測・補償部７５は、フレームメモリ７２から供給される画像を参照して、候補となる全てのインター予測モードの動き予測処理を行う。
【０１５８】
なお、このとき、内挿フィルタ切替部７６は、動き予測・補償部７５により検出された動きベクトルに対する整数画素精度の画素周辺の小数画素精度の画素の座標に対応するサンプリング位置に応じて内挿に用いるフィルタを設定する。動き予測・補償部７５は、内挿フィルタ切替部７６により設定されたフィルタを用いてサンプリング位置の画素値を生成し、それらを用いて小数画素精度の動きベクトルを求める。そして、動き予測・補償部７５は、この小数画素精度の動きベクトルに基づいて、参照画像に補償処理を施して、予測画像を生成する。
【０１５９】
ステップＳ３２におけるインター動き予測処理の詳細は、図１１を参照して後述するが、この処理により、候補となる全てのインター予測モードで動き予測処理が行われ、候補となる全てのインター予測モードに対してコスト関数値が算出される。
【０１６０】
ステップＳ３３において、動き予測・補償部７５のモード判定部８５は、ステップＳ３２において算出されたインター予測モードに対してのコスト関数値を比較する。モード判定部８５は、最小値を与える予測モードを、最適インター予測モードとして決定し、最適インター予測モードで生成された予測画像とそのコスト関数値を、予測画像選択部７７に供給する。
【０１６１】
［イントラ予測処理の説明］
次に、図１０のフローチャートを参照して、図９のステップＳ３１におけるイントラ予測処理を説明する。なお、図１０の例においては、輝度信号の場合を例として説明する。
【０１６２】
イントラ予測部７４は、ステップＳ４１において、４×４画素、８×８画素、および１６×１６画素の各イントラ予測モードに対してイントラ予測を行う。
【０１６３】
輝度信号のイントラ予測モードには、９種類の４×４画素および８×８画素のブロック単位、並びに４種類の１６×１６画素のマクロブロック単位の予測モードがあり、色差信号のイントラ予測モードには、４種類の８×８画素のブロック単位の予測モードがある。色差信号のイントラ予測モードは、輝度信号のイントラ予測モードと独立に設定が可能である。輝度信号の４×４画素および８×８画素のイントラ予測モードについては、４×４画素および８×８画素の輝度信号のブロック毎に１つのイントラ予測モードが定義される。輝度信号の１６×１６画素のイントラ予測モードと色差信号のイントラ予測モードについては、１つのマクロブロックに対して１つの予測モードが定義される。
【０１６４】
具体的には、イントラ予測部７４は、処理対象のブロックの画素を、フレームメモリ７２から読み出され、スイッチ７３を介して供給される復号済みの画像を参照して、イントラ予測する。このイントラ予測処理が、各イントラ予測モードで行われることで、各イントラ予測モードでの予測画像が生成される。なお、参照される復号済みの画素としては、デブロックフィルタ７１によりデブロックフィルタリングされていない画素が用いられる。
【０１６５】
イントラ予測部７４は、ステップＳ４２において、４×４画素、８×８画素、および１６×１６画素の各イントラ予測モードに対するコスト関数値を算出する。ここで、コスト関数値としては、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に実装されている動き探索方法に基づき整数画素精度の動きベクトルが求められ、小数画素精度の動きベクトルが求められる。
【０１７４】
整数画素精度動き探索部８１は、ステップＳ５１において、図４を参照して上述した１６×１６画素乃至４×４画素からなる８種類の各インター予測モードに対して整数画素精度の動きベクトルと参照画像をそれぞれ決定する。
【０１７５】
すなわち、整数画素精度動き探索部８１には、画面並べ替えバッファ６２からのインター処理する画像と、フレームメモリ７２からの整数画素精度の参照画素値が供給される。整数画素精度動き探索部８１は、これらの画像を用いて、各インター予測モードに対して、候補の参照画像の所定の探索範囲内においてコスト関数値を最小にする整数画素精度の動きベクトルと参照画像を求める。ここで、コスト関数値としては、例えば、SAD(Sum of Absolute Difference)などが用いられる。これにより、各インター予測モードの処理対象のブロックについて、整数画素精度の動きベクトルと参照画像がそれぞれ決定され、整数画素精度の動きベクトル情報は、補間部８２に供給される。
【０１７６】
これに対応して、補間部８２は、フレームメモリ７２から供給される整数画素精度の参照画素値を用いて、動き予測・補償部７５により検出された動きベクトルに対する整数画素精度の画素（例えば、図１の位置Ａの画素）周辺の小数画素精度の画素の座標を求める。求められた小数画素精度の画素の座標情報は、サンプリング位置判定部９１に供給される。
【０１７７】
サンプリング位置判定部９１は、補間部８２により求められた小数画素精度の画素の座標情報に基づいて、その画素が、図１の位置ｂ乃至ｄ,および位置ｅ１乃至ｅ３のうちどのサンプリング位置であるかを判定する。そのサンプリング位置の情報は、内挿フィルタ設定部９２に供給される。
【０１７８】
ステップＳ５２において、内挿フィルタ設定部９２は、サンプリング位置判定部９１からの情報が示すサンプリング位置に応じて、補間部８２が有する２種類のフィルタ係数のフィルタのうち、どちらのフィルタを用いるかを設定する。
【０１７９】
すなわち、内挿フィルタ設定部９２は、位置ｂおよび位置ｄのサンプリング位置に相当する画素については、第１のフィルタを用いることを設定する。なお、このとき、内挿フィルタ設定部９２は、位置ｃのサンプリング位置に相当する画素を生成するための中間値Ｂおよび中間値Ｄ生成のため、第２のフィルタも併せて設定する。
【０１８０】
また、内挿フィルタ設定部９２は、位置ｃのサンプリング位置に相当する画素については、第２のフィルタを用いることを設定する。
【０１８１】
ステップＳ５３において、補間部８２は、内挿フィルタ設定部９２により設定されたフィルタを用いて、サンプリング位置に応じた内挿処理を行う。この内挿処理の詳細は、図１２を参照して後述される。
【０１８２】
ステップＳ５３の処理により、整数画素精度動き探索部８１により検出された動きベクトルに対する画素周辺の小数画素精度のサンプリング位置の画素値が生成され、生成された小数画素精度の参照画素値が、小数画素精度動き探索部８３に供給される。
【０１８３】
ステップＳ５５において、小数画素精度動き探索部８３は、候補となる全てのインター予測モードについて、対象ブロックの小数画素精度の動き探索を行い、小数画素精度の動きベクトルを決定する。
【０１８４】
すなわち、小数画素精度動き探索部８３には、画面並べ替えバッファ６２からのインター処理する画像、整数画素精度動き探索部８１からの整数画素精度の動きベクトル情報、および補間部８２からの小数画素精度の参照画素値が供給される。
【０１８５】
小数画素精度動き探索部８３は、これらの情報を用いて、整数画素精度の動きベクトルに対する画素（例えば、図２の画素Ｅ）周辺の１／２画素精度の画素のうち、SADなどのコスト関数値を最小にする画素値の画素（例えば、図２の画素６）を求める。この画素（例えば、図２の画素６）は、１／２画素精度の最適動きベクトルに対する画素とされる。さらに、小数画素精度動き探索部８３は、１／２画素精度の最適動きベクトルに対する画素周辺の１／４画素精度の画素のうち、コスト関数値を最小にする画素値の画素（例えば、図２の画素ｂ）を求める。これにより、求められた画素に対する動きベクトルが、１／４画素精度の最適動きベクトルとなり、１／４画素精度の最適動きベクトルが求められる。
【０１８６】
小数画素精度動き探索部８３により決定された小数画素精度の動きベクトル情報は、動き補償部８４に供給される。
【０１８７】
ステップＳ５５において、動き補償部８４は、小数画素精度動き探索部８３からの小数画素精度の動きベクトルに基づいて、参照画像に補償処理を行う。
【０１８８】
すなわち、動き補償部８４には、フレームメモリ７２からの整数画素精度の参照画素値、小数画素精度の動きベクトル情報、並びに、内挿フィルタ設定部９２からのフィルタ選択情報が供給される。動き補償部８４は、これらの情報を用いて、小数画素精度の画素値を補間することで、予測画像を生成する。このとき生成されたすべての候補ブロックの予測画像の画素値は、対応する動きベクトル情報、参照フレーム情報、およびインター予測モード情報などとともにモード判定部８５に供給される。
【０１８９】
ステップＳ５６において、モード判定部８５は、１６×１６画素乃至４×４画素からなる８種類の各インター予測モードに対して決定された動きベクトルについて、動きベクトル情報mvdEを生成する。このとき、図６を参照して上述した動きベクトルの生成方法が用いられる。
【０１９０】
すなわち、モード判定部８５は、隣接ブロック動きベクトル情報を用いて、上述した式（５）のメディアン予測により対象ブロックＥに対する予測動きベクトル情報pmvEを算出する。そして、モード判定部８５は、上述した式（６）に示されるように、小数画素精度動き探索部８３からの動きベクトル情報mvEと、算出された予測動きベクトル情報pmvEの差分により動きベクトル情報mvdEを求める。
【０１９１】
求められた動きベクトル情報は、次のステップＳ５７におけるコスト関数値算出の際にも用いられ、最終的に予測画像選択部７７により対応する予測画像が選択された場合には、予測モード情報、および参照フレーム情報などとともに、可逆符号化部６６へ出力される。
【０１９２】
モード判定部８５は、ステップＳ５７において、１６×１６画素乃至４×４画素からなる８種類の各インター予測モードに対して、上述した式（９）または式（１０）で示されるコスト関数値を算出する。
【０１９３】
すなわち、モード判定部８５には、動き補償部８４からの予測画像画素値、動きベクトル情報および参照フレーム情報、画面並べ替えバッファ６２からのインター処理する画像、および参照フレーム情報などが供給される。モード判定部８５は、供給された情報やステップＳ５６において求めた動きベクトル情報を適宜用いて、候補となる全てのインター予測モードについてのコスト関数値を算出する。ここで算出されたコスト関数値は、上述した図９のステップＳ３３で最適インター予測モードを決定する際に用いられる。
【０１９４】
［サンプリング位置に応じた内挿処理の説明］
次に、図１２のフローチャートを参照して、図１１のステップＳ５３のサンプリング位置に応じた内挿処理について説明する。図１２の例においては、サンプリング位置として、図１に示される位置ｂ乃至位置ｄ、および位置ｅ１乃至位置ｅ３である場合を説明する。なお、他の位置の場合は、図示や説明は省略されるが、相対的に同様な位置の画素値などが利用されて、同様な処理が行われる。
【０１９５】
ステップＳ７１において、補間部８２は、内挿フィルタ設定部９２により設定された第１のフィルタを用いて、上述した式（２）の積和演算を施すことにより、図１の位置ｂおよび位置ｄに相当する画素値を生成する。
【０１９６】
ステップＳ７２において、補間部８２は、内挿フィルタ設定部９２により設定された第２のフィルタを用いて、上述した式（７）の中間値ＢおよびＤの値を生成する。
【０１９７】
さらに、補間部８２は、ステップＳ７３において、内挿フィルタ設定部９２により設定された第２のフィルタを用いて、上述した式（８）に示される積和演算を施すことにより、図１の位置ｃに相当する画素値を生成する。
【０１９８】
そして、補間部８２は、ステップＳ７４において、整数画素精度の画素値、および生成された位置ｂ乃至位置ｄの画素値のうちの必要な画素値を用いて、上述した式（４）の線形内挿により、図１の位置ｅ１乃至位置ｅ３に相当する画素値を生成する。
【０１９９】
以上のようにして生成された小数画素精度の参照画素値は、小数画素精度動き探索部８３に供給され、小数画素精度の動きベクトルを探索するのに用いられる。
【０２００】
符号化された圧縮画像は、所定の伝送路を介して伝送され、画像復号装置により復号される。
【０２０１】
［画像復号装置の構成例］
図１３は、本発明を適用した画像処理装置としての画像復号装置の一実施の形態の構成を表している。
【０２０２】
画像復号装置１０１は、蓄積バッファ１１１、可逆復号部１１２、逆量子化部１１３、逆直交変換部１１４、演算部１１５、デブロックフィルタ１１６、画面並べ替えバッファ１１７、Ｄ／Ａ変換部１１８、フレームメモリ１１９、スイッチ１２０、イントラ予測部１２１、動き予測・補償部１２２、内挿フィルタ切替部１２３、およびスイッチ１２４により構成されている。
【０２０３】
蓄積バッファ１１１は伝送されてきた圧縮画像を蓄積する。可逆復号部１１２は、蓄積バッファ１１１より供給された、図３の可逆符号化部６６により符号化された情報を、可逆符号化部６６の符号化方式に対応する方式で復号する。逆量子化部１１３は可逆復号部１１２により復号された画像を、図３の量子化部６５の量子化方式に対応する方式で逆量子化する。逆直交変換部１１４は、図３の直交変換部６４の直交変換方式に対応する方式で逆量子化部１１３の出力を逆直交変換する。
【０２０４】
逆直交変換された出力は演算部１１５によりスイッチ１２４から供給される予測画像と加算されて復号される。デブロックフィルタ１１６は、復号された画像のブロック歪を除去した後、フレームメモリ１１９に供給し、蓄積させるとともに、画面並べ替えバッファ１１７に出力する。
【０２０５】
画面並べ替えバッファ１１７は、画像の並べ替えを行う。すなわち、図３の画面並べ替えバッファ６２により符号化の順番のために並べ替えられたフレームの順番が、元の表示の順番に並べ替えられる。Ｄ／Ａ変換部１１８は、画面並べ替えバッファ１１７から供給された画像をＤ／Ａ変換し、図示せぬディスプレイに出力し、表示させる。
【０２０６】
スイッチ１２０は、インター処理される画像と参照される画像をフレームメモリ１１９から読み出し、動き予測・補償部１２２に出力するとともに、イントラ予測に用いられる画像をフレームメモリ１１９から読み出し、イントラ予測部１２１に供給する。
【０２０７】
イントラ予測部１２１には、ヘッダ情報を復号して得られたイントラ予測モードを示す情報が可逆復号部１１２から供給される。イントラ予測部１２１は、この情報に基づいて、予測画像を生成し、生成した予測画像を、スイッチ１２４に出力する。
【０２０８】
動き予測・補償部１２２には、ヘッダ情報を復号して得られた情報のうち、予測モード情報、動きベクトル情報、参照フレーム情報などが可逆復号部１１２から供給される。インター予測モードを示す情報が供給された場合、動き予測・補償部１２２は、対象ブロックに対する予測画像の画素値を生成する。このとき、内挿フィルタ切替部１２３からのフィルタ選択情報が示すフィルタ、動きベクトル情報、並びに、フレームメモリ１１９から得られる整数画素精度の参照画素値が用いられて、予測画像の画素値が生成される。生成された予測画像の画素値は、スイッチ１２４を介して、演算部１１５に供給される。
【０２０９】
内挿フィルタ切替部１２３には、動き予測・補償部１２２から動きベクトル情報から供給される。内挿フィルタ切替部１２３は、動きベクトルに対する画素の座標が、どのサンプリング位置に対応するかを判定し、サンプリング位置に応じて内挿に用いるフィルタを設定する。内挿フィルタ切替部１２３により設定されたフィルタがどのフィルタであるかというフィルタ選択情報は、動き予測・補償部１２２に供給される。
【０２１０】
スイッチ１２４は、動き予測・補償部１２２またはイントラ予測部１２１により生成された予測画像を選択し、演算部１１５に供給する。
【０２１１】
なお、図３の画像符号化装置５１においては、図１１などを参照して上述したように、図２に示される整数画素精度の動きベクトル情報の周辺について、すべてのサンプリング位置に関して内挿処理が行われる。これに対して、この画像復号装置１０１においては、符号化されて送られてくる動きベクトル情報に基づいて、画像符号化装置５１において求められたサンプリング位置に対する内挿処理のみが行われる。
【０２１２】
［動き予測・補償部および内挿フィルタ切替部の構成例］
図１４は、動き予測・補償部１２２および内挿フィルタ切替部１２３の詳細な構成例を示すブロック図である。なお、図１４においては、図１３のスイッチ１２０および１２４が省略されている。
【０２１３】
図１４の例においては、動き予測・補償部１２２は、動きベクトルバッファ１３１および補間部１３２により構成される。
【０２１４】
内挿フィルタ切替部１２３は、サンプリング位置判定部１４１および内挿フィルタ設定部１４２により構成される。
【０２１５】
動きベクトルバッファ１３１には、可逆復号部１１２（すなわち、画像符号化装置５１）からの対象ブロックの動きベクトル情報が供給され、蓄積される。
【０２１６】
補間部１３２は、タップ長の異なる２種類のフィルタ係数のFIRフィルタを有している。補間部１３２は、動きベクトルバッファ１３１から動きベクトル情報を読み出す。
【０２１７】
補間部１３２は、読み出した動きベクトル情報、内挿フィルタ切替部１２３からのフィルタ選択情報が示すフィルタ、およびフレームメモリ１１９から得られる整数画素精度の参照画素値を用いて、対象ブロックに対する予測画像の画素値を生成する。生成した予測画像の画素値は、スイッチ１２４を介して、演算部１１５に供給される。
【０２１８】
サンプリング位置判定部１４１は、動きベクトルバッファ１３１から動きベクトル情報を読み出し、動きベクトル情報が、例えば、図１の位置ｂ乃至ｄ,および位置ｅ１乃至ｅ３のうちどのサンプリング位置に関するものであるのかを判定する。判定したサンプリング位置の情報は、内挿フィルタ設定部１４２に供給される。
【０２１９】
内挿フィルタ設定部１４２は、サンプリング位置判定部９１からの情報が示すサンプリング位置に応じて、補間部１３２が有する２種類のフィルタのうちのどちらのフィルタを用いるかを設定する。内挿フィルタ設定部１４２は、設定したフィルタがどのフィルタであるかというフィルタ選択情報を、補間部１３２に供給する。
【０２２０】
例えば、内挿フィルタ設定部１４２は、水平方向および垂直方向のどちらか一方が小数画素精度であるが、他方は整数画素精度であるサンプリング位置と、どちらも小数画素精度であるサンプリング位置に対して、それぞれ異なるタップ長のフィルタ係数を設定する。好適には、前者のサンプリング位置と比して、後者のサンプリング位置に対して、より短いタップ長のフィルタ係数が設定される。
【０２２１】
［画像復号装置の復号処理の説明］
次に、図１５のフローチャートを参照して、画像復号装置１０１が実行する復号処理について説明する。
【０２２２】
ステップＳ１３１において、蓄積バッファ１１１は伝送されてきた画像を蓄積する。ステップＳ１３２において、可逆復号部１１２は、蓄積バッファ１１１から供給される圧縮画像を復号する。すなわち、図３の可逆符号化部６６により符号化されたＩピクチャ、Ｐピクチャ、並びにＢピクチャが復号される。
【０２２３】
このとき、動きベクトル情報、参照フレーム情報、予測モード情報（イントラ予測モード、またはインター予測モードを示す情報）なども復号される。
【０２２４】
すなわち、予測モード情報がイントラ予測モード情報である場合、予測モード情報は、イントラ予測部１２１に供給される。予測モード情報がインター予測モード情報である場合、予測モード情報と対応する動きベクトル情報および参照フレーム情報は、動き予測・補償部１２２に供給される。
【０２２５】
ステップＳ１３３において、逆量子化部１１３は可逆復号部１１２により復号された変換係数を、図３の量子化部６５の特性に対応する特性で逆量子化する。ステップＳ１３４において逆直交変換部１１４は逆量子化部１１３により逆量子化された変換係数を、図３の直交変換部６４の特性に対応する特性で逆直交変換する。これにより図３の直交変換部６４の入力（演算部６３の出力）に対応する差分情報が復号されたことになる。
【０２２６】
ステップＳ１３５において、演算部１１５は、後述するステップＳ１４１の処理で選択され、スイッチ１２４を介して入力される予測画像を差分情報と加算する。これにより元の画像が復号される。ステップＳ１３６においてデブロックフィルタ１１６は、演算部１１５より出力された画像をフィルタリングする。これによりブロック歪みが除去される。ステップＳ１３７においてフレームメモリ１１９は、フィルタリングされた画像を記憶する。
【０２２７】
ステップＳ１３８において、イントラ予測部１２１または動き予測・補償部１２２、は、可逆復号部１１２から供給される予測モード情報に対応して、それぞれ画像の予測処理を行う。
【０２２８】
すなわち、可逆復号部１１２からイントラ予測モード情報が供給された場合、イントラ予測部１２１は、イントラ予測モードのイントラ予測処理を行う。可逆復号部１１２からインター予測モード情報が供給された場合、動き予測・補償部１２２は、インター予測モードの動き予測・補償処理を行う。このとき、動き予測・補償部１２２は、内挿フィルタ切替部１２３により設定されたフィルタ、動きベクトル情報、並びに、フレームメモリ１１９から得られる整数画素精度の参照画素値を用いて、対象ブロックに対する予測画像の画素値を生成する。
【０２２９】
ステップＳ１３８における予測処理の詳細は、図１６を参照して後述するが、この処理により、イントラ予測部１２１により生成された予測画像、または動き予測・補償部１２２により生成された予測画像がスイッチ１２４に供給される。
【０２３０】
ステップＳ１３９において、スイッチ１２４は予測画像を選択する。すなわち、イントラ予測部１２１により生成された予測画像、または動き予測・補償部１２２により生成された予測画像供給される。したがって、供給された予測画像が選択されて演算部１１５に供給され、上述したように、ステップＳ１３４において逆直交変換部１１４の出力と加算される。
【０２３１】
ステップＳ１４０において、画面並べ替えバッファ１１７は並べ替えを行う。すなわち画像符号化装置５１の画面並べ替えバッファ６２により符号化のために並べ替えられたフレームの順序が、元の表示の順序に並べ替えられる。
【０２３２】
ステップＳ１４１において、Ｄ／Ａ変換部１１８は、画面並べ替えバッファ１１７からの画像をＤ／Ａ変換する。この画像が図示せぬディスプレイに出力され、画像が表示される。
【０２３３】
［画像復号装置の予測処理の説明］
次に、図１６のフローチャートを参照して、図１５のステップＳ１３８の予測処理を説明する。
【０２３４】
イントラ予測部１２１は、ステップＳ１７１において、対象ブロックがイントラ符号化されているか否かを判定する。可逆復号部１１２からイントラ予測モード情報がイントラ予測部１２１に供給されると、イントラ予測部１２１は、ステップ１７１において、対象ブロックがイントラ符号化されていると判定し、処理は、ステップＳ１７２に進む。
【０２３５】
イントラ予測部１２１は、ステップＳ１７２において、イントラ予測モード情報を取得し、ステップＳ１７３において、イントラ予測を行う。
【０２３６】
すなわち、処理対象の画像がイントラ処理される画像である場合、必要な画像がフレームメモリ１１９から読み出され、スイッチ１２０を介してイントラ予測部１２１に供給される。ステップＳ１７３において、イントラ予測部１２１は、ステップＳ１７２で取得したイントラ予測モード情報に従ってイントラ予測し、予測画像を生成する。生成した予測画像は、スイッチ１２４に出力される。
【０２３７】
一方、ステップＳ１７１において、イントラ符号化されていないと判定された場合、処理は、ステップＳ１７４に進む。
【０２３８】
ステップＳ１７４において、動き予測・補償部１２２は、可逆復号部１１２からの予想モード情報などを取得する。
【０２３９】
処理対象の画像がインター処理される画像である場合、可逆復号部１１２からインター予測モード情報、参照フレーム情報、動きベクトル情報が動き予測・補償部１２２に供給される。この場合、ステップＳ１７４において、動き予測・補償部１２２は、インター予測モード情報、参照フレーム情報、動きベクトル情報を取得する。なお、取得された動きベクトル情報は、動きベクトルバッファ１３１に蓄積される。
【０２４０】
ステップＳ１７５において、動き予測・補償部１２２および内挿フィルタ切替部１２３は、動きベクトル情報（が指し示すサンプリング位置）に応じた内挿処理を行い、予測画像の画素値を生成する。この内挿処理の詳細は、図１７を参照して詳しく後述される。
【０２４１】
ステップＳ１７５の処理により、動きベクトル情報の画素精度に応じた内挿処理が行われて、対象ブロックの予測画像の画素値が生成される。生成された予測画像は、スイッチ１２４に出力される。
【０２４２】
次に、図１７のフローチャートを参照して、図１６のステップ１７５の動きベクトル情報に応じた内挿処理を説明する。図１７の例においては、動きベクトル情報が指し示すサンプリング位置として、図１に示される位置ｂ乃至位置ｄ、および位置ｅ１乃至位置ｅ３である場合を説明する。なお、他の位置の場合は、図示や説明は省略されるが、相対的に同様な位置の画素値などが利用されて、同様な処理が行われる。
【０２４３】
サンプリング位置判定部１４１は、動きベクトルバッファ１３１から動きベクトル情報を読み出す。サンプリング位置判定部１４１は、ステップＳ１８１において、動きベクトル情報は水平方向、垂直方向ともに整数画素精度であるか否かを判定する。すなわち、ステップＳ１８１においては、動きベクトル情報が、整数画素精度のサンプリング位置（例えば、図１の位置Ａ）を指示しているか否かが判定される。
【０２４４】
ステップＳ１８１において、動きベクトル情報は水平方向、垂直方向ともに整数画素精度であると判定された場合、サンプリング位置判定部１４１は、判定されたサンプリング位置の情報を、内挿フィルタ設定部１４２に供給する。これに対応して、内挿フィルタ設定部１４２は、フィルタを使用しないことを示すフィルタ選択情報を、補間部１３２に供給する。
【０２４５】
補間部１３２は、ステップＳ１８２において、フレームメモリ１１９から得られる整数画素精度の参照画素値を用いて、対象ブロックに対する予測画像の画素値を生成する。生成した予測画像の画素値は、スイッチ１２４を介して、演算部１１５に供給される。
【０２４６】
ステップＳ１８１において、動きベクトル情報は水平方向、垂直方向ともに整数画素精度ではないと判定された場合、処理は、ステップＳ１８３に進む。サンプリング位置判定部１４１は、ステップＳ１８３において、動きベクトル情報は水平方向および垂直方向の一方が１／２画素精度であり、他方が整数画素精度であるか否かを判定する。すなわち、ステップＳ１８３においては、動きベクトル情報が、例えば、図１の位置ｂまたは位置ｄを指示しているか否かが判定される。
【０２４７】
ステップＳ１８３において、動きベクトル情報は水平方向および垂直方向の一方が１／２画素精度であり、他方が整数画素精度であると判定された場合、サンプリング位置判定部１４１は、そのサンプリング位置の情報を、内挿フィルタ設定部１４２に供給する。これに対応して、内挿フィルタ設定部１４２は、第１のフィルタを用いることを示すフィルタ選択情報を、補間部１３２に供給する。
【０２４８】
補間部１３２は、ステップＳ１８４において、第１のフィルタを用いた内挿処理を行う。すなわち、補間部１３２は、フレームメモリ１１９から得られる整数画素精度の参照画素値、動きベクトル情報、および第１のフィルタを用いて、上述した式（２）の内挿処理を行う。これにより、対象ブロックに対する予測画像の画素値（例えば、図１の位置ｂまたは位置ｄに相当する画素値）が生成され、生成された予測画像の画素値は、スイッチ１２４を介して、演算部１１５に供給される。
【０２４９】
ステップＳ１８３において、動きベクトル情報は水平方向および垂直方向の一方が１／２画素精度であり、他方が整数画素精度ではないと判定された場合、処理は、ステップＳ１８５に進む。サンプリング位置判定部１４１は、ステップＳ１８５において、動きベクトル情報は水平方向および垂直方向のともに１／２画素精度であるか否かを判定する。すなわち、ステップＳ１８５においては、動きベクトル情報が、例えば、図１の位置ｃを指示しているか否かが判定される。
【０２５０】
ステップＳ１８５において、動きベクトル情報は水平方向および垂直方向のともに１／２画素精度であると判定された場合、サンプリング位置判定部１４１は、そのサンプリング位置の情報を、内挿フィルタ設定部１４２に供給する。これに対応して、内挿フィルタ設定部１４２は、第２のフィルタを用いることを示すフィルタ選択情報を、補間部１３２に供給する。
【０２５１】
補間部１３２は、ステップＳ１８６において、第２のフィルタを用いた内挿処理を行う。すなわち、補間部１３２は、フレームメモリ１１９から得られる整数画素精度の参照画素値、動きベクトル情報、および第２のフィルタを用いて、式（７）に示される処理を行い、中間値Ｂもしくは中間値Ｄを生成する。そして、補間部１３２は、さらに、中間値Ｂもしくは中間値Ｄをも用いて、上述した式（８）に示される積和演算を施す。これにより、対象ブロックに対する予測画像の画素値（例えば、図１の位置ｃに相当する画素値）が生成され、生成された予測画像の画素値は、スイッチ１２４を介して、演算部１１５に供給される。
【０２５２】
ステップＳ１８５において、動きベクトル情報は水平方向および垂直方向のともに１／２画素精度ではないと判定された場合、処理は、ステップＳ１８７に進む。サンプリング位置判定部１４１は、ステップＳ１８７において、動きベクトル情報は、図１の位置ｅ１を指し示しているか否かを判定する。
【０２５３】
ステップＳ１８７において、動きベクトル情報は、図１の位置ｅ１を指し示していると判定された場合、サンプリング位置判定部１４１は、そのサンプリング位置の情報を、内挿フィルタ設定部１４２に供給する。これに対応して、内挿フィルタ設定部１４２は、第１のフィルタを用いることを示すフィルタ選択情報を、補間部１３２に供給する。
【０２５４】
補間部１３２は、ステップＳ１８８において、第１のフィルタを用いた内挿処理により、図１の位置ｂに相当する画素値を生成する。すなわち、補間部１３２は、フレームメモリ１１９から得られる整数画素精度の参照画素値、動きベクトル情報、および第１のフィルタを用いて、上述した式（２）の内挿処理を行い、図１の位置ｂに相当する画素値を生成する。
【０２５５】
そして、補間部１３２は、ステップＳ１９３において、線形内挿を行う。すなわち、補間部１３２は、位置ｂに相当する画素値と整数画素精度の画素値を用いて、上述した式（４）の最上段に示される線形内挿を行う。これにより、対象ブロックに対する予測画像の画素値（図１の位置ｅ１に相当する画素値）が生成され、生成された予測画像の画素値は、スイッチ１２４を介して、演算部１１５に供給される。
【０２５６】
ステップＳ１８７において、動きベクトル情報は、図１の位置ｅ１を指し示していないと判定された場合、処理は、ステップＳ１８９に進む。サンプリング位置判定部１４１は、ステップＳ１８９において、動きベクトル情報は、図１の位置ｅ２を指し示しているか否かを判定する。
【０２５７】
ステップＳ１８９において、動きベクトル情報は、図１の位置ｅ２を指し示していると判定された場合、サンプリング位置判定部１４１は、そのサンプリング位置の情報を、内挿フィルタ設定部１４２に供給する。これに対応して、内挿フィルタ設定部１４２は、第１のフィルタを用いることを示すフィルタ選択情報を、補間部１３２に供給する。
【０２５８】
補間部１３２は、ステップＳ１９０において、第１のフィルタを用いた内挿処理により、図１の位置ｂおよび位置ｄに相当する画素値を生成する。すなわち、補間部１３２は、フレームメモリ１１９から得られる整数画素精度の参照画素値、動きベクトル情報、および第１のフィルタを用いて、上述した式（２）の内挿処理を行い、図１の位置ｂおよび位置ｄに相当する画素値を生成する。
【０２５９】
そして、補間部１３２は、ステップＳ１９３において、線形内挿を行う。すなわち、補間部１３２は、位置ｂおよび位置ｄに相当する画素値を用いて、上述した式（４）の中段に示される線形内挿を行う。これにより、対象ブロックに対する予測画像の画素値（図１の位置ｅ２に相当する画素値）が生成され、生成された予測画像の画素値は、スイッチ１２４を介して、演算部１１５に供給される。
【０２６０】
ステップＳ１８９において、動きベクトル情報は、図１の位置ｅ２を指し示していないと判定された場合、処理は、ステップＳ１９１に進む。すなわち、この場合、動きベクトル情報は、図１の位置ｅ３を指し示していると判定され、サンプリング位置判定部１４１は、そのサンプリング位置の情報を、内挿フィルタ設定部１４２に供給する。これに対応して、内挿フィルタ設定部１４２は、位置ｂまたは位置ｄに対して、第１のフィルタを用いることを示すフィルタ情報と、位置ｃに対して、第２のフィルタを用いることを示すフィルタ選択情報を、補間部１３２に供給する。
【０２６１】
補間部１３２は、ステップＳ１９１において、第１のフィルタを用いた内挿処理により、図１の位置ｂまたは位置ｄに相当する画素値を生成する。すなわち、補間部１３２は、フレームメモリ１１９から得られる整数画素精度の参照画素値、動きベクトル情報、および第１のフィルタを用いて、上述した式（２）の内挿処理を行い、図１の位置ｂまたは位置ｄに相当する画素値を生成する。
【０２６２】
次に、ステップＳ１９２において、補間部１３２は、第２のフィルタを用いた内挿処理により、図１の位置ｃに相当する画素値を生成する。すなわち、補間部１３２は、フレームメモリ１１９から得られる整数画素精度の参照画素値、動きベクトル情報、および第２のフィルタを用いて、式（７）に示される処理を行い、中間値Ｂもしくは中間値Ｄを生成する。そして、補間部１３２は、さらに、中間値Ｂもしくは中間値Ｄをも用いて、上述した式（８）に示される積和演算を施す。これにより、対象ブロックに対する予測画像の画素値（例えば、図１の位置ｃに相当する画素値）が生成される。
【０２６３】
そして、補間部１３２は、ステップＳ１９３において、線形内挿を行う。すなわち、補間部１３２は、位置ｂまたは位置ｄに相当する画素値と、位置ｃに相当する画素値を用いて、上述した式（４）の最下段に示される線形内挿を行う。これにより、対象ブロックに対する予測画像の画素値（図１の位置ｅ３に相当する画素値）が生成され、生成された予測画像の画素値は、スイッチ１２４を介して、演算部１１５に供給される。
【０２６４】
以上のように、サンプリング位置に応じて内挿処理に用いるフィルタが設定され、設定されたフィルタを用いて内挿処理が行われるので、内挿処理（特に、図１の位置ｃや位置ｅ３）における演算量を削減することができる。
【０２６５】
なお、上記説明においては、FIRフィルタとして、FIRフィルタ｛1,-5,20,20,-5,1｝とFIRフィルタ｛-1,5,5,-1｝を用いて説明したが、本発明はこれらのフィルタだけに限定されない。すなわち、位置ｂおよび位置ｄで用いられるフィルタに比して、より短いタップ長のFIRフィルタを用いて位置ｃの画素値を生成することにより、同様の効果を得ることができる。
【０２６６】
また、フィルタ係数は、H．264/AVC方式の規格において予め定められたものに限らない。例えば、非特許文献３に提案されているような各フレームに適したフィルタ係数を適応的に算出し、その算出されたフィルタ係数を用いるようにしてもよい。
【０２６７】
すなわち、上述したように、通常のH．264/AVC方式の動き予測処理が行われ、それぞれの動き補償ブロックに対して、動きベクトル値が算出され、求められた動きベクトル値に対して、動き残差を最小にするよう、フィルタの最適化が行われる。この最適化を、第１のフィルタと第２のフィルタの少なくとも１つに対して行い、それを用いるようにしてもよい。
【０２６８】
さらに、上記説明においては、２種類のフィルタを切り替える例を説明したが、２以上の複数のフィルタを、サンプリング位置に応じて切り替えるようにすることもできる。
【０２６９】
また、本発明は、非特許文献４に提案されている１／８画素精度の動き予測・補償処理に適用することもできる。すなわち、非特許文献４においては、上述したように、１／２画素精度の補間処理がフィルタ[-3,12,-39,158,158,-39,12,-3]/256により行われる。また、１／４画素精度の補間処理がフィルタ[-3,12,-37,229,71,-21,6,-1]/256により行われ、１／８画素精度の補間処理が線形補間により行われる。
【０２７０】
その際、線形内挿でなく、FIRフィルタを用いて画素値が生成されるサンプリング位置に関しては、次のようにFIRフィルタが設定される。すなわち、このようなサンプリング位置に関しては、水平方向・垂直方向のどちらか一方が小数画素精度で、他方が整数画素精度であるのか、または水平方向・垂直方向の両方が小数画素精度であるのかに応じて異なるFIRフィルタが設定される。より詳細には、どちらか一方が小数画素精度であるという前者に比して、両方とも小数画素精度であるという後者には、より短いタップ長のフィルタ係数が設定される。
【０２７１】
これに対して、線形内挿により生成されるサンプリング位置に関しては、入力となる画素値のサンプリング位置（すなわち、式（４）の右辺で画素値が用いられるサンプリング位置）が、前者に属するか、後者に属するかに応じて、異なる処理が施されることになる。
【０２７２】
すなわち、設定されたフィルタを用いて１／２画素精度のサンプリング位置の画素値、および１／４画素精度のサンプリング位置の画素値が生成される。そして、整数画素精度の画素値、生成された１／２画素精度のサンプリング位置の画素値、および生成された１／４画素精度のサンプリング位置の画素値の少なくとも一方を用いて線形内挿することで、１／８画素精度のサンプリング位置の画素値が生成される。
【０２７３】
ところで、図４ではマクロブロックサイズを１６画素×１６画素とする例について説明した。しかし、例えば、次世代符号化方式の対象となるＵＨＤ（Ultra  High  Definition）のように４０００画素×２０００画素といった大きな画枠の画像に対して、マクロブロックサイズを１６画素×１６画素とすることは最適とはいえない。
【０２７４】
そこで、文献 ”Video Coding Using Extended Block ” (Study Group16, Contribution 123, ITU, 2009年1月、以下、規格文献１と称する)などにおいては、マクロブロックサイズを、６４×６４画素、３２画素×３２画素といった大きさにすることが提案されている。
【０２７５】
図１８と図１９は、マクロブロックサイズを大きくする場合の例を説明する図である。同図は、図４と同様に、H．264/AVC方式における動き予測・補償のブロックサイズの例を示す図であるが、図４の場合と異なり、マクロブロックサイズとして６４×６４画素が採用されている。
【０２７６】
図１８の上段には、左から、６４×６４画素、６４×３２画素、３２×６４画素、および３２×３２画素のパーティションに分割された６４×６４画素で構成されるマクロブロックが順に示されている。また、図１８の中段には、左から、３２×３２画素、３２×１６画素、１６×３２画素、および１６×１６画素のサブパーティションに分割された３２×３２画素のパーティションが順に示されている。さらに、図１６の下段には、左から、１６×１６画素、１６×８画素、８×１６画素、および８×８画素のサブパーティションに分割された１６×１６画素で構成されるサブパーティションが順に示されている。
【０２７７】
さらにまた、図１９には、左から、８×８画素、８×４画素、４×８画素、および４×４画素のサブパーティションに分割された８×８画素のサブパーティションが順に示されている。
【０２７８】
すなわち、図１８と図１９の例では、図１８の上段がマクロブロックの階層とされ、図１８の中段が第１階層のサブマクロブロックとされ、図１９の下段が第２階層のサブマクロブロックとされる。そして、図１９は、第３階層のサブマクロブロックとされる。
【０２７９】
このようにする場合、１つのマクロブロックを、６４×６４画素、６４×３２画素、３２×６４画素、あるいは３２×３２画素のいずれかのパーティションに分割して、それぞれ独立した動きベクトル情報を持つことが可能である。また、３２×３２画素のパーティションに関しては、３２×３２画素、３２×１６画素、１６×３２画素、あるいは１６×１６画素のいずれかのサブパーティションに分割し、それぞれ独立した動きベクトル情報を持つことが可能である。
【０２８０】
さらに、１６×１６画素のサブパーティションを分割して、それぞれ独立した動きベクトル情報を持つことも可能であり、８×８画素のサブパーティションを分割して、それぞれ独立した動きベクトル情報を持つことも可能である。
【０２８１】
すなわち、規格文献１においては、図４の場合と同様の階層構造を採用することにより、１６×１６画素の動き予測・補償のブロックサイズに関しては、現在のH．264/AVC方式と互換性を保ちながら、そのスーパーセットとして、より大きなブロックが定義されている。図１８において点線で囲まれる部分がそのスーパーセットにあたる。
【０２８２】
なお、規格文献１は、インタースライスに対して、図１８と図１９に示されるような拡張されたマクロブロックを適用する提案であるが、文献 ”Intra coding using extended block size” (VCEG-AL28, 2009年7月) においては、拡張されたマクロブロックを、イントラスライスに適用することも提案されている。
【０２８３】
このように、拡張されたマクロブロックを適用するのは、例えば、４０００画素×２０００画素の画像に対して、従来通りのマクロブロックサイズでの符号化／復号処理を行うと、処理すべきデータ量が膨大となり、処理に要する時間が増大することによる。例えば、画像の中で低周波となる部分などについては、動き予測・補償のブロックサイズを６４×６４画素とした方がより効率的に符号化／復号処理を行うことができる。
【０２８４】
上述した例では、内挿すべきサンプリング位置に応じたフィルタの切り替えを行うことにより、処理上のボトルネックとなる、例えば、図１の位置ｃおよび位置ｅ３の画素値を生成する際の演算量を減じることについて説明した。しかし、拡張されたマクロブロックが適用される場合、一律にサンプリング位置に応じたフィルタの切り替えを行うことは適切ではないと考えられる。
【０２８５】
換言すれば、動き予測・補償のブロックサイズを、図１８において点線で囲まれた部分のものとする場合にのみ、内挿すべきサンプリング位置に応じたフィルタの切り替えを行うべきものと考えられる。
【０２８６】
すなわち、動き予測・補償のブロックサイズを、６４×６４画素乃至１６×３２画素とする場合、現在のH．264/AVC方式のスーパーセットが採用されることになる。この場合、そもそも現在のH．264/AVC方式との互換性が保障されないのだから、サンプリング位置に応じたフィルタの切り替えを行っても問題ないと考えられる。一方で、動き予測・補償のブロックサイズを、１６×１６画素乃至４×４画素とする場合、現在のH．264/AVC方式との互換性があるものなので、現在のH．264/AVC方式と同様に内挿が行われることが望ましいからである。
【０２８７】
また、上述したように、符号化の際、動き予測・補償のブロックサイズは、コスト関数値に基づいて選択される。従って、動き予測・補償のブロックサイズが６４×６４画素乃至１６×３２画素とされる場合、処理対象のマクロブロックは、例えば、画像の中で低周波となる部分などであると想定できる。従って、そのような部分において、サンプリング位置に応じたフィルタの切り替えを行っても、動き予測・補償の精度が劣化するおそれはほとんどないと考えられるからである。
【０２８８】
図３の画像符号化装置５１は、例えば、図１８と図１９に示されるような拡張されたマクロブロックを適用された場合であっても、適切に画像を圧縮符号化することができる。また、図１３の画像復号装置１０１は、例えば、図１８と図１９に示されるような拡張されたマクロブロックを適用された場合であっても、適切に画像を復号することができる。
【０２８９】
次に、拡張されたマクロブロックが適用された場合の、図３の画像符号化装置５１の符号化処理について説明する。この場合も図８のフローチャートを参照して上述した処理と同様に各ステップの処理が実行される。ただし、図９のフローチャートに示される予測処理の中のステップＳ３２のインター動き予測処理の詳細が、図１１に示されるものとは異なったものとなる。
【０２９０】
図２０は、拡張されたマクロブロックが適用された場合、図９のステップＳ３２の処理として実行されるインター動き予測処理の詳細な例を説明するフローチャートである。
【０２９１】
ステップＳ２２１において、動き予測・補償部７５は、今から実行されるインター動き予測処理は、１６画素×１６画素乃至４×４画素のインター予測モードでのインター動き予測処理であるか否かを判定する。すなわち、動き予測・補償のブロックサイズを、１６×１６画素乃至４×４画素とするか否かが判定される。
【０２９２】
ステップＳ２２１において、１６画素×１６画素乃至４×４画素のインター予測モードではないと判定された場合、処理は、ステップＳ２２２に進む。この場合、動き予測・補償のブロックサイズは、６４×６４画素乃至１６×３２画素であることになる。
【０２９３】
ステップＳ２２２において、動き予測・補償部７５は、第１動き予測処理を実行する。
【０２９４】
図２１は、図２０のステップＳ２２２の第１動き予測処理の詳細な例を説明するフローチャートである。図２１のステップＳ２５１乃至ステップＳ２５７の処理は、それぞれ図１１のステップＳ５１乃至Ｓ５７の処理と同様の処理である。ただし、図２１のステップＳ２５１では、６４×６４画素乃至１６×３２画素の各インター予測モードに対して動きベクトルと参照画像が決定される。
【０２９５】
すなわち、図２１の第１動き予測処理は、図１１を参照して上述したインター動き予測処理とほぼ同様の処理なので詳細な説明は省略する。
【０２９６】
図２０に戻って、一方、ステップＳ２２１において、１６画素×１６画素乃至４×４画素のインター予測モードであると判定された場合、処理は、ステップＳ２２３に進む。
【０２９７】
ステップＳ２２３において、動き予測・補償部７５は、第２動き予測処理を実行する。
【０２９８】
ここで、図２２のフローチャートを参照して、図２０のステップＳ２２３の第２動き予測処理の詳細な例について説明する。
【０２９９】
整数画素精度動き探索部８１は、ステップＳ２７１において、１６×１６画素乃至４×４画素の各インター予測モードに対して整数画素精度の動きベクトルと参照画像をそれぞれ決定する。
【０３００】
すなわち、整数画素精度動き探索部８１には、画面並べ替えバッファ６２からのインター処理する画像と、フレームメモリ７２からの整数画素精度の参照画素値が供給される。整数画素精度動き探索部８１は、これらの画像を用いて、各インター予測モードに対して、候補の参照画像の所定の探索範囲内においてコスト関数値を最小にする整数画素精度の動きベクトルと参照画像を求める。これにより、各インター予測モードの処理対象のブロックについて、整数画素精度の動きベクトルと参照画像がそれぞれ決定され、整数画素精度の動きベクトル情報は、補間部８２に供給される。
【０３０１】
ステップＳ２７２において、補間部８２は、第１のフィルタを用いて少数画素精度の画素値を生成する。なお、第２動き予測処理が実行される場合、内挿フィルタ設定部９２により第１のフィルタが設定されているものとする。すなわち、動き予測・補償のブロックサイズが１６×１６画素乃至４×４画素である場合、常に第１のフィルタが用いられるのである。
【０３０２】
ステップＳ２７２の処理により、整数画素精度動き探索部８１により検出された動きベクトルに対する画素周辺の小数画素精度のサンプリング位置の画素値が生成され、生成された小数画素精度の参照画素値が、小数画素精度動き探索部８３に供給される。
【０３０３】
ステップＳ２７３において、小数画素精度動き探索部８３は、候補となる全てのインター予測モードについて、対象ブロックの小数画素精度の動き探索を行い、小数画素精度の動きベクトルを決定する。
【０３０４】
すなわち、小数画素精度動き探索部８３には、画面並べ替えバッファ６２からのインター処理する画像、整数画素精度動き探索部８１からの整数画素精度の動きベクトル情報、および補間部８２からの小数画素精度の参照画素値が供給される。
【０３０５】
小数画素精度動き探索部８３は、これらの情報を用いて、整数画素精度の動きベクトルに対する画素（例えば、図２の画素Ｅ）周辺の１／２画素精度の画素のうち、SADなどのコスト関数値を最小にする画素値の画素（例えば、図２の画素６）を求める。この画素（例えば、図２の画素６）は、１／２画素精度の最適動きベクトルに対する画素とされる。さらに、小数画素精度動き探索部８３は、１／２画素精度の最適動きベクトルに対する画素周辺の１／４画素精度の画素のうち、コスト関数値を最小にする画素値の画素（例えば、図２の画素ｂ）を求める。これにより、求められた画素に対する動きベクトルが、１／４画素精度の最適動きベクトルとなり、１／４画素精度の最適動きベクトルが求められる。
【０３０６】
小数画素精度動き探索部８３により決定された小数画素精度の動きベクトル情報は、動き補償部８４に供給される。
【０３０７】
ステップＳ２７４において、動き補償部８４は、小数画素精度動き探索部８３からの小数画素精度の動きベクトルに基づいて、参照画像に補償処理を行う。
【０３０８】
すなわち、動き補償部８４には、フレームメモリ７２からの整数画素精度の参照画素値、小数画素精度の動きベクトル情報、並びに、内挿フィルタ設定部９２からのフィルタ選択情報が供給される。動き補償部８４は、これらの情報を用いて、小数画素精度の画素値を補間することで、予測画像を生成する。このとき生成されたすべての候補ブロックの予測画像の画素値は、対応する動きベクトル情報、参照フレーム情報、およびインター予測モード情報などとともにモード判定部８５に供給される。
【０３０９】
ステップＳ２７５において、モード判定部８５は、１６×１６画素乃至４×４画素の各インター予測モードに対して決定された動きベクトルについて、動きベクトル情報mvdEを生成する。
【０３１０】
求められた動きベクトル情報は、次のステップＳ２７６におけるコスト関数値算出の際にも用いられ、最終的に予測画像選択部７７により対応する予測画像が選択された場合には、予測モード情報、および参照フレーム情報などとともに、可逆符号化部６６へ出力される。
【０３１１】
モード判定部８５は、ステップＳ２７６において、１６×１６画素乃至４×４画素のそれぞれの予測モードについて、上述した式（９）または式（１０）で示されるコスト関数値を算出する。
【０３１２】
すなわち、モード判定部８５には、動き補償部８４からの予測画像画素値、動きベクトル情報および参照フレーム情報、画面並べ替えバッファ６２からのインター処理する画像、および参照フレーム情報などが供給される。モード判定部８５は、供給された情報やステップＳ２７５において求めた動きベクトル情報を適宜用いて、候補となる全てのインター予測モードについてのコスト関数値を算出する。ここで算出されたコスト関数値は、上述した図９のステップＳ３３で最適インター予測モードを決定する際に用いられる。
【０３１３】
なお、上述したステップＳ２７１乃至ステップＳ２７６の処理は、従来の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３０２や記憶部３０８に、あらかじめインストールしておくことができる。
【０３４６】
なお、コンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。
【０３４７】
本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
【符号の説明】
【０３４８】
５１  画像符号化装置，  ６６  可逆符号化部，  ７４  イントラ予測部，  ７５  動き予測・補償部，  ７６  内挿フィルタ切替部，  ７７  予測画像選択部，  ８１  整数画素精度動き探索部，  ８２  補間部，  ８３  小数画素精度動き探索部，  ８４  動き補償部，  ８５  モード判定部，    ９１  サンプリング位置判定部，  ９２  内挿フィルタ設定部，  １０１  画像復号装置，  １１２  可逆復号部，  １２１  イントラ予測部，  １２２  動き予測・補償部，  １２３  内挿フィルタ切替部，  １２４  スイッチ，  １３１  動きベクトルバッファ，  １３２  補間部，  １４１  サンプリング位置判定部，１４２  内挿フィルタ設定部
【図１】
2010143583.tif 000009
【図２】
2010143583.tif 000010
【図３】
2010143583.tif 000011
【図４】
2010143583.tif 000012
【図５】
2010143583.tif 000013
【図６】
2010143583.tif 000014
【図７】
2010143583.tif 000015
【図８】
2010143583.tif 000016
【図９】
2010143583.tif 000017
【図１０】
2010143583.tif 000018
【図１１】
2010143583.tif 000019
【図１２】
2010143583.tif 000020
【図１３】
2010143583.tif 000021
【図１４】
2010143583.tif 000022
【図１５】
2010143583.tif 000023
【図１６】
2010143583.tif 000024
【図１７】
2010143583.tif 000025
【図１８】
2010143583.tif 000026
【図１９】
2010143583.tif 000027
【図２０】
2010143583.tif 000028
【図２１】
2010143583.tif 000029
【図２２】
2010143583.tif 000030
【図２３】
2010143583.tif 000031
【図２４】
2010143583.tif 000032
【図２５】
2010143583.tif 000033
【図２６】
2010143583.tif 000034
【手続補正書】
【提出日】平成22年8月26日(2010.8.26)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
符号化処理の対象となる対象ブロックの動きベクトルを求める動き探索手段と、
前記動きベクトルを求めるために用いる動き予測・補償ブロックが拡張マクロブロックである場合、前記動きベクトルの水平成分および垂直成分のどちらか一方が小数画素精度であるが、他方は整数画素精度となる第１のサンプリング位置に対して前記第１のフィルタ係数を設定するとともに、どちらも小数画素精度となる第２のサンプリング位置に対して、前記第１のサンプリング位置に比してより短いタップの第２のフィルタ係数を設定するフィルタ設定手段と、
前記フィルタ設定手段により設定された前記フィルタ係数を用いて、前記サンプリング位置の画素値を生成する補間手段と
を備える画像処理装置。
【請求項２】
（削除）
【請求項３】
（削除）
【請求項４】
前記フィルタ設定手段は、前記第１のサンプリング位置に対して、
前記フィルタ係数として、符号化規格で定められている
｛１，−５，２０，２０，−５，１｝
を設定する
請求項１に記載の画像処理装置。
【請求項５】
前記フィルタ設定手段は、前記第２のサンプリング位置に対して、前記フィルタ係数として、
｛−１，５，５，−１｝
を設定する
請求項１に記載の画像処理装置。
【請求項６】
前記補間手段は、前記フィルタ設定手段により設定された前記フィルタ係数を用いて１／２画素精度のサンプリング位置の画素値を生成し、整数画素精度の画素値、および生成された前記１／２画素精度の前記サンプリング位置の画素値の少なくとも一方を用いて線形内挿することで、１／４画素精度のサンプリング位置の画素値を生成する
請求項１に記載の画像処理装置。
【請求項７】
前記補間手段は、前記フィルタ設定手段により設定された前記フィルタ係数を用いて１／２画素精度のサンプリング位置の画素値、および１／４画素精度のサンプリング位置の画素値を生成し、整数画素精度の画素値、生成された前記１／２画素精度の前記サンプリング位置の画素値、および生成された前記１／４画素精度の前記サンプリング位置の画素値の少なくとも一方を用いて線形内挿することで、１／８画素精度のサンプリング位置の画素値を生成する
請求項１に記載の画像処理装置。
【請求項８】
前記フィルタ係数として、符号化規格で定められている値を用いる
請求項１に記載の画像処理装置。
【請求項９】
前記フィルタ係数として、フレーム毎に求められた最適な値を用いる
請求項１に記載の画像処理装置。
【請求項１０】
（削除）
【請求項１１】
画像処理装置が、
符号化処理の対象となる対象ブロックの動きベクトルを求め、
前記動きベクトルを求めるために用いる動き予測・補償ブロックが拡張マクロブロックである場合、前記動きベクトルの水平成分および垂直成分のどちらか一方が小数画素精度であるが、他方は整数画素精度となる第１のサンプリング位置に対して前記第１のフィルタ係数を設定するとともに、どちらも小数画素精度となる第２のサンプリング位置に対して、前記第１のサンプリング位置に比してより短いタップの第２のフィルタ係数を設定し、
設定された前記フィルタ係数を用いて、前記サンプリング位置の画素値を生成するステップ
を含む画像処理方法。
【請求項１２】
復号処理の対象となる対象ブロックの動きベクトル情報を復号する復号手段と、
前記動きベクトル情報により、前記動きベクトルを求めるために用いる動き予測・補償のブロックを特定し、
前記ブロックが拡張ブロックである場合、前記動きベクトルの水平方向および垂直方向のどちらか一方が小数画素精度であるが、他方は整数画素精度である第１のサンプリング位置に対して前記第１のフィルタ係数を設定するとともに、どちらも小数画素精度である第２のサンプリング位置に対して、前記第１のサンプリング位置に比してより短いタップの第２のフィルタ係数を設定するフィルタ設定手段と、
前記フィルタ設定手段により設定された前記フィルタ係数を用いて、前記サンプリング位置の画素値を生成する補間手段と
を備える画像処理装置。
【請求項１３】
（削除）
【請求項１４】
（削除）
【請求項１５】
前記フィルタ設定手段は、前記第１のサンプリング位置に対して、前記フィルタ係数として、符号化規格で定められている
｛１，−５，２０，２０，−５，１｝
を設定する
請求項１２に記載の画像処理装置。
【請求項１６】
前記フィルタ設定手段は、前記第２のサンプリング位置に対して、前記フィルタ係数として、
｛−１，５，５，−１｝
を設定する
請求項１２に記載の画像処理装置。
【請求項１７】
前記補間手段は、前記フィルタ設定手段により設定された前記フィルタ係数を用いて１／２画素精度のサンプリング位置の画素値を生成し、整数画素精度の画素値、および生成された前記１／２画素精度の前記サンプリング位置の画素値の少なくとも一方を用いて線形内挿することで、１／４画素精度のサンプリング位置の画素値を生成する
請求項１２に記載の画像処理装置。
【請求項１８】
前記補間手段は、前記フィルタ設定手段により設定された前記フィルタ係数を用いて１／２画素精度のサンプリング位置の画素値、および１／４画素精度のサンプリング位置の画素値を生成し、整数画素精度の画素値、生成された前記１／２画素精度の前記サンプリング位置の画素値、および生成された前記１／４画素精度の前記サンプリング位置の画素値の少なくとも一方を用いて線形内挿することで、１／８画素精度のサンプリング位置の画素値を生成する
請求項１２に記載の画像処理装置。
【請求項１９】
前記フィルタ係数として、符号化規格で定められている値を用いる
請求項１２に記載の画像処理装置。
【請求項２０】
前記フィルタ係数として、フレーム毎に求められた最適な値を用いる
請求項１２に記載の画像処理装置。
【請求項２１】
（削除）
【請求項２２】
画像処理装置が、
復号処理の対象となる対象ブロックの動きベクトル情報を復号し、
前記動きベクトル情報により、前記動きベクトルを求めるために用いる動き予測・補償のブロックを特定し、
前記ブロックが拡張ブロックである場合、前記動きベクトルの水平方向および垂直方向のどちらか一方が小数画素精度であるが、他方は整数画素精度である第１のサンプリング位置に対して前記第１のフィルタ係数を設定するとともに、どちらも小数画素精度である第２のサンプリング位置に対して、前記第１のサンプリング位置に比してより短いタップの第２のフィルタ係数を設定し、
設定された前記フィルタ係数を用いて、前記サンプリング位置の画素値を生成するステップ
を含む画像処理方法。
【請求項２３】
コンピュータを、
復号処理の対象となる対象ブロックの動きベクトル情報を復号する復号手段と、
前記動きベクトル情報により、前記動きベクトルを求めるために用いる動き予測・補償のブロックを特定し、
前記ブロックが拡張ブロックである場合、前記動きベクトルの水平方向および垂直方向のどちらか一方が小数画素精度であるが、他方は整数画素精度である第１のサンプリング位置に対して前記第１のフィルタ係数を設定するとともに、どちらも小数画素精度である第２のサンプリング位置に対して、前記第１のサンプリング位置に比してより短いタップの第２のフィルタ係数を設定するフィルタ設定手段と、
前記フィルタ設定手段により設定された前記フィルタ係数を用いて、前記サンプリング位置の画素値を生成する補間手段とを備える画像処理装置として機能させる
プログラム。
【国際調査報告】
2010143583.tif 000035
2010143583.tif 000036
2010143583.tif 000037
2010143583.tif 000038