(57)【要約】【課題】インター予測時に分数精度の動き補償処理を行う場合において、メモリ帯域の使用量を削減する。【解決手段】参照画像読出部は、インター予測における予測画像の外側の画素に対応する所定の参照画素の数が、予測画像の内側の画素に対応する所定の参照画素の数より少なくなるように、インター予測における参照画像から所定の参照画素を読み出す。2タップFIRフィルタ、4タップFIRフィルタ、または6タップFIRフィルタは、読み出された所定の参照画素を用いて、参照画像の分数位置の画素を予測画像の画素として演算する。本技術は、例えば、H．264/AVC方式で圧縮符号化する符号化装置に適用することができる。【選択図】図４
2012209914.tif 000002
【特許請求の範囲】
【請求項１】
インター予測における参照画像から所定の画素を読み出す画素読出部と、
前記画素読出部により読み出された前記所定の画素を用いて、前記参照画像の分数位置の画素を前記インター予測における予測画像の画素として演算する演算部と
を備え、
前記画素読出部は、前記予測画像の外側の画素に対応する前記所定の画素の数が、前記予測画像の内側の画素に対応する前記所定の画素の数より少なくなるように、前記所定の画素を読み出す
画像処理装置。
【請求項２】
前記外側の画素の前記参照画像上の位置は、前記予測画像の各画素の演算に用いられる全ての前記所定の画素からなるブロックである参照ブロックのうちの前記予測画像のサイズの範囲外の位置である
請求項１に記載の画像処理装置。
【請求項３】
前記画素読出部は、前記外側の画素に対応する前記所定の画素のうち、前記参照ブロックのうちの前記予測画像のサイズの範囲外に位置する画素と、前記内側の画素に対応する前記所定の画素のうち、前記参照ブロックのうちの前記予測画像のサイズの範囲外に位置する画素とが同一になるように、前記所定の画素を読み出す
請求項２に記載の画像処理装置。
【請求項４】
前記外側の画素の前記参照画像上の位置は、前記予測画像の各画素の演算に用いられる全ての前記所定の画素からなるブロックである参照ブロックのうちの前記予測画像のサイズの範囲と前記予測画像のサイズの範囲外の境界の位置である
請求項１に記載の画像処理装置。
【請求項５】
前記画素読出部は、前記予測画像の最も外側の画素に対応する前記所定の画素の数が２となるように、前記所定の画素を読み出す
請求項１に記載の画像処理装置。
【請求項６】
前記画素読出部は、前記予測画像の最も外側の画素に対応する前記所定の画素の数が２となり、その外側の画素より内側の画素に対応する前記所定の画素の数が４となり、その内側の画素より内側の前記予測画像の最も内側の画素を含む画素に対応する前記所定の画素の数が６となるように、前記所定の画素を読み出す
請求項１に記載の画像処理装置。
【請求項７】
前記予測画像の外側の画素に対応する係数である外側係数と、前記予測画像の内側の画素に対応する係数である内側係数を記憶する記憶部
をさらに備え、
前記演算部は、前記画素読出部により読み出された前記所定の画素が前記予測画像の外側の画素に対応するものである場合、その所定の画素と前記外側係数を用いて演算を行い、前記画素読出部により読み出された前記所定の画素が前記予測画像の内側の画素に対応するものである場合、その所定の画素と前記内側係数を用いて演算を行う
請求項１に記載の画像処理装置。
【請求項８】
前記画素読出部により読み出された前記所定の画素の数が所定数より小さい場合、その所定の画素のうちの外側の画素を、前記所定の画素の数と前記所定数の差分だけ複製し、複製された画素と前記所定の画素からなる前記所定数の画素を生成する画素生成部
をさらに備え、
前記演算部は、前記画素生成部により生成された前記所定数の画素を用いて前記予測画像の画素を演算する
請求項１に記載の画像処理装置。
【請求項９】
前記画素読出部は、前記予測画像の最も外側の画素に対応する前記所定の画素の数が４となり、その外側の画素より内側の画素に対応する前記所定の画素の数が５となり、その内側の画素より内側の前記予測画像の最も内側の画素を含む画素に対応する前記所定の画素の数が６となるように、前記所定の画素を読み出し、
前記所定数は６である
請求項８に記載の画像処理装置。
【請求項１０】
前記画素読出部は、前記予測画像の各画素の前記参照画像上の水平方向および垂直方向のいずれか一方の位置のみが分数位置である場合、両方の位置が分数位置である場合に比べて、前記予測画像の外側の画素に対応する前記所定の画素の数が多くなるように、前記所定の画素を読み出す
請求項１に記載の画像処理装置。
【請求項１１】
前記画素読出部は、前記予測画像のサイズが所定のサイズより大きい場合、前記所定のサイズ以下である場合に比べて、前記予測画像の外側の画素に対応する前記所定の画素の数が多くなるように、前記所定の画素を読み出す
請求項１に記載の画像処理装置。
【請求項１２】
前記画素読出部は、前記インター予測における予測方向が片方向の予測である場合、両方向の予測である場合に比べて、前記予測画像の外側の画素に対応する前記所定の画素の数が多くなるように、前記所定の画素を読み出す
請求項１に記載の画像処理装置。
【請求項１３】
前記画素読出部は、前記予測画像の外側の画素に対応する、その予測画素より外側の前記所定の画素の数が、前記予測画像の内側の画素に対応する、その予測画素より外側の前記所定の画素の数より少なくなるように、前記所定の画素を読み出す
請求項１に記載の画像処理装置。
【請求項１４】
前記画素読出部により読み出された前記所定の画素の数が所定数より小さい場合、その所定の画素のうちの外側の画素を、前記所定の画素の数と前記所定数の差分だけ複製し、複製された画素と前記所定の画素からなる前記所定数の画素を生成する画素生成部
をさらに備え、
前記演算部は、前記画素生成部により生成された前記所定数の画素を用いて前記予測画像の画素を演算する
請求項１３に記載の画像処理装置。
【請求項１５】
前記画素読出部は、前記予測画像の外側の画素に対応する前記所定の画素の数が、前記予測画像の内側の画素に対応する前記所定の画素の数より少なくなり、かつ、水平方向および垂直方向のいずれか一方に並ぶ前記所定の画素の数が、他方に並ぶ前記所定の画素の数より少なくなるように、前記所定の画素を読み出す
請求項１に記載の画像処理装置。
【請求項１６】
前記予測画像と符号化対象の画像の差分を演算する差分演算部
をさらに備える
請求項１に記載の画像処理装置。
【請求項１７】
前記予測画像と復号対象の画像を加算する加算演算部
をさらに備える
請求項１に記載の画像処理装置。
【請求項１８】
画像処理装置が、
インター予測における参照画像から所定の画素を読み出す画素読出ステップと、
前記画素読出ステップの処理により読み出された前記所定の画素を用いて、前記参照画像の分数位置の画素を前記インター予測における予測画像の画素として演算する演算ステップと
を含み、
前記画素読出ステップの処理では、前記予測画像の外側の画素に対応する前記所定の画素の数が、前記予測画像の内側の画素に対応する前記所定の画素の数より少なくなるように、前記所定の画素を読み出す
画像処理方法。
【請求項１９】
コンピュータに、
インター予測における参照画像から所定の画素を読み出す画素読出ステップと、
前記画素読出ステップの処理により読み出された前記所定の画素を用いて、前記参照画像の分数位置の画素を前記インター予測における予測画像の画素として演算する演算ステップと
を含み、
前記画素読出ステップの処理では、前記予測画像の外側の画素に対応する前記所定の画素の数が、前記予測画像の内側の画素に対応する前記所定の画素の数より少なくなるように、前記所定の画素を読み出す
処理を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本技術は、画像処理装置、画像処理方法、およびプログラムに関し、特に、インター予測時に分数精度の動き補償処理を行う場合において、メモリ帯域の使用量を削減することができるようにした画像処理装置、画像処理方法、およびプログラムに関する。
【背景技術】
【０００２】
画像を圧縮する標準規格として、H．264/MPEG（Moving Picture Experts Group）-4 Part10 Advanced Video Coding（以下H．264/AVCという）がある。
【０００３】
H.264/AVCにおいては、フレームまたはフィールド間の相関に注目したインター予測が行われる。インター予測では、既に保存されている参照可能な画像内の一部の領域を用いて動き補償処理が行われ、予測画像が生成される。
【０００４】
近年、この動き補償処理において、動きベクトルの分解能を2分の1または4分の1といった分数精度に向上させることが考えられている。
【０００５】
このような分数精度の動き補償処理においては、参照画像の隣接する画素の間にSub pelと呼ばれる仮想的な分数位置の画素を設定し、そのSub pelを生成する処理（以下、インターポーレーションという）が追加して行われる（例えば、特許文献１参照）。即ち、分数精度の動き補償処理では、動きベクトルの最小分解能が画素の分数倍になるため、分数位置の画素を生成するためのインターポーレーションが行われる。
【０００６】
インターポーレーションに用いられるフィルタであるインターポーレーションフィルタ（Interpolation filter(IF)）としては、通常、有限インパルス応答フィルタ(FIR（Finite Impulse Response） Filter)が用いられる。
【０００７】
例えば、従来のインターポーレーションでは、1/2画素位置のSub pelのインターポーレーションには6タップのFIRフィルタが用いられる。また、1/4画素位置のSub pelは、両隣の1/2画素位置のSub pelまたは整数位置の画素を用いてバイリニア（Bi-linear）処理を行うことにより生成される。
【０００８】
図１は、従来のインターポーレーションにおいてSub pel a乃至oの生成に用いられる画素を示す図である。
【０００９】
なお、図１において、英字が記述されていない正方形は整数位置の画素を表し、英字が記述されている正方形は、その英字のSub pelを表している。
【００１０】
図１の1/2画素位置のSub pel bは、6タップのFIRフィルタにより、Sub pel bと水平方向が同一の位置の斜線が付された正方形で表される整数位置の6画素を用いて生成される。また、1/2画素位置のSub pel hは、6タップのFIRフィルタにより、Sub pel hと垂直方向が同一の位置の斜線が付された正方形で表される整数位置の6画素を用いて生成される。さらに、1/2画素位置のSub pel jは、6タップのFIRフィルタにより、斜線が付された正方形で表される6×6画素を6画素単位で用いて生成される。そして、1/4画素位置の画素a，c乃至g，i、およびｋ乃至oは、両隣の画素b,h,jまたは斜線が付された正方形で表される整数位置の画素を用いて生成される。
【先行技術文献】
【非特許文献】
【００１１】
【非特許文献１】Dmytro Rusanovskyy,Kemal Ugur, Antti Hallapuro,Jani Lainema,and Moncef Gabbouj,Video Coding With Low-Complexity Directional Adaptive Interpolation Filters, IEEE TRANSACTIONS ON CIRCUITS AND SYSTEMS FOR VIDEO TECHNOLOGY,AUGUST 2009,VOL.19,No.8
【発明の概要】
【発明が解決しようとする課題】
【００１２】
図１に示したように従来のインターポーレーションでは、インターポーレーションにより生成されるSub pelの周辺の最大6×6画素が必要である。従って、分数精度の動き補償処理では、動き補償処理の対象となるブロックよりも非常に広い領域の画素が必要になる。
【００１３】
例えば、図２に示すように、8×8画素のブロックに対して分数精度の動き補償処理が行われる場合、そのブロックに対応する水玉が付された正方形で表される8×8画素と、その8×8画素の外側の斜線が付された正方形で表される画素とを含む13×13画素が必要となる。従って、インター予測時に分数精度の動き補償処理が行われる場合、参照画像を記憶するメモリの帯域の使用量は大きい。
【００１４】
本技術は、このような状況に鑑みてなされたものであり、インター予測時に分数精度の動き補償処理を行う場合において、メモリ帯域の使用量を削減することができるようにするものである。
【課題を解決するための手段】
【００１５】
本技術の一側面の画像処理装置は、インター予測における参照画像から所定の画素を読み出す画素読出部と、前記画素読出部により読み出された前記所定の画素を用いて、前記参照画像の分数位置の画素を前記インター予測における予測画像の画素として演算する演算部とを備え、前記画素読出部は、前記予測画像の外側の画素に対応する前記所定の画素の数が、前記予測画像の内側の画素に対応する前記所定の画素の数より少なくなるように、前記所定の画素を読み出す画像処理装置である。
【００１６】
本技術の一側面の画像処理方法およびプログラムは、本技術の一側面の画像処理装置に対応する。
【００１７】
本技術の一側面においては、インター予測における参照画像から所定の画素が読み出され、読み出された前記所定の画素を用いて、前記参照画像の分数位置の画素が前記インター予測における予測画像の画素として演算される。なお、前記所定の画素は、前記予測画像の外側の画素に対応する前記所定の画素の数が、前記予測画像の内側の画素に対応する前記所定の画素の数より少なくなるように読み出される。
【発明の効果】
【００１８】
本技術によれば、インター予測時に分数精度の動き補償処理を行う場合において、メモリ帯域の使用量を削減することができる。
【図面の簡単な説明】
【００１９】
【図１】Sub pelの生成に用いられる画素の一例を示す図である。
【図２】分数精度の動き補償処理が行われる場合の参照画素の範囲を示す図である。
【図３】本技術を適用した画像処理装置としての符号化装置の一実施の形態の構成例を示すブロック図である。
【図４】図３のインター予測部の第１の構成例を示すブロック図である。
【図５】ブロックサイズが8×8画素である場合の参照画素の例を示す図である。
【図６】ブロックサイズが8×8画素である場合の参照画素の範囲の例を示す図である。
【図７】ブロックサイズが32×32画素である場合の参照画素の範囲の例を示す図である。
【図８】ブロックサイズが16×32画素である場合の参照画素の範囲の例を示す図である。
【図９】ブロックサイズが32×16画素である場合の参照画素の範囲の例を示す図である。
【図１０】ブロックサイズが16×16画素である場合の参照画素の範囲の例を示す図である。
【図１１】ブロックサイズが8×16画素である場合の参照画素の範囲の例を示す図である。
【図１２】ブロックサイズが16×8画素である場合の参照画素の範囲の例を示す図である。
【図１３】ブロックサイズが4×8画素である場合の参照画素の範囲の例を示す図である。
【図１４】ブロックサイズが8×4画素である場合の参照画素の範囲の例を示す図である。
【図１５】ブロックサイズが4×4画素である場合の参照画素の範囲の例を示す図である。
【図１６】予測画素の生成方法を説明する第１の図である。
【図１７】予測画素の生成方法を説明する第２の図である。
【図１８】予測画素の生成方法を説明する第３の図である。
【図１９】予測画素の生成方法を説明する第４の図である。
【図２０】図３の符号化装置による符号化処理を説明する第１のフローチャートである。
【図２１】図３の符号化装置による符号化処理を説明する第２のフローチャートである。
【図２２】インター予測処理の第１の例の詳細を説明する第１のフローチャートである。
【図２３】インター予測処理の第１の例の詳細を説明する第２のフローチャートである。
【図２４】本技術を適用した画像処理装置としての復号装置の構成例を示すブロック図である。
【図２５】図２４の復号装置による復号処理を説明するフローチャートである。
【図２６】図３のインター予測部の第２の構成例を示すブロック図である。
【図２７】生成用画素の第１の例を示す図である。
【図２８】インター予測処理の第２の例の詳細を説明する第１のフローチャートである。
【図２９】インター予測処理の第２の例の詳細を説明する第２のフローチャートである。
【図３０】図３のインター予測部の第３の構成例を示すブロック図である。
【図３１】Sub pel a乃至cの生成に用いられる複製後の生成用画素の第１の範囲を示す図である。
【図３２】Sub pel d,h,lの生成に用いられる複製後の生成用画素の第１の範囲を示す図である。
【図３３】Sub pel e,f,g,i,j,k,m.n,oの生成に用いられる複製後の生成用画素の第１の範囲を示す図である。
【図３４】Sub pel a乃至cの生成に用いられる複製後の生成用画素の第２の範囲を示す図である。
【図３５】Sub pel d,h,lの生成に用いられる複製後の生成用画素の第２の範囲を示す図である。
【図３６】Sub pel e,f,g,i,j,k,m.n,oの生成に用いられる複製後の生成用画素の第２の範囲を示す図である。
【図３７】インター予測処理の第３の例の詳細を説明する第１のフローチャートである。
【図３８】インター予測処理の第３の例の詳細を説明する第２のフローチャートである。
【図３９】図３７の読出処理の詳細を説明するフローチャートである。
【図４０】第１の参照画素の範囲の例を説明する第１の図である。
【図４１】第１の参照画素の範囲の例を説明する第２の図である。
【図４２】生成用画素の第２の例を示す図である。
【図４３】生成用画素の第３の例を示す図である。
【図４４】図３のインター予測部の第４の構成例を示すブロック図である。
【図４５】インター予測処理の第４の例の詳細を説明する第１のフローチャートである。
【図４６】インター予測処理の第４の例の詳細を説明する第２のフローチャートである。
【図４７】図４５の読出処理の詳細を説明するフローチャートである。
【図４８】図３のインター予測部の第５の構成例を示すブロック図である。
【図４９】インター予測処理の第５の例の詳細を説明する第１のフローチャートである。
【図５０】インター予測処理の第５の例の詳細を説明する第２のフローチャートである。
【図５１】図４９の読出処理の詳細を説明するフローチャートである。
【図５２】図３のインター予測部の第６の構成例を示すブロック図である。
【図５３】図５２のインター予測部における参照画素の範囲の第１の例を示す図である。
【図５４】図５２のインター予測部における参照画素の範囲の第２の例を示す図である。
【図５５】インター予測処理の第６の例の詳細を説明する第１のフローチャートである。
【図５６】インター予測処理の第６の例の詳細を説明する第２のフローチャートである。
【図５７】図５５の読出処理の詳細を説明するフローチャートである。
【図５８】図５２のインター予測部における参照画素の範囲の第３の例を示す図である。
【図５９】図５２のインター予測部における参照画素の範囲の第４の例を示す図である。
【図６０】図５２のインター予測部における参照画素の範囲の第５の例を示す図である。
【図６１】図３のインター予測部の第７の構成例を示すブロック図である。
【図６２】インター予測処理の第７の例の詳細を説明する第１のフローチャートである。
【図６３】インター予測処理の第７の例の詳細を説明する第２のフローチャートである。
【図６４】図３のインター予測部の第８の構成例を示すブロック図である。
【図６５】図６４のインター予測部における参照画素の第１の例を示す図である。
【図６６】インター予測処理の第８の例の詳細を説明する第１のフローチャートである。
【図６７】インター予測処理の第８の例の詳細を説明する第２のフローチャートである。
【図６８】図６４のインター予測部における参照画素の第２の例を示す図である。
【図６９】図６４のインター予測部における参照画素の第３の例を示す図である。
【図７０】図６４のインター予測部における参照画素の第４の例を示す図である。
【図７１】図３のインター予測部の第９の構成例を示すブロック図である。
【図７２】複製後の生成用画素の第１の例を示す図である。
【図７３】インター予測処理の第９の例の詳細を説明する第１のフローチャートである。
【図７４】インター予測処理の第９の例の詳細を説明する第２のフローチャートである。
【図７５】複製後の生成用画素の第２の例を示す図である。
【図７６】複製後の生成用画素の第３の例を示す図である。
【図７７】図３のインター予測部の第１０の構成例を示すブロック図である。
【図７８】水平方向と垂直方向に並ぶ外側生成用画素の数が同一である場合の参照画素の例を示す図である。
【図７９】図７７のインター予測部における参照画素の例を示す図である。
【図８０】フレームメモリ内の１フレーム分の画素値の配置例を示す図である。
【図８１】インター予測処理の第１０の例の詳細を説明する第１のフローチャートである。
【図８２】インター予測処理の第１０の例の詳細を説明する第２のフローチャートである。
【図８３】図３のインター予測部の第１１の構成例を示すブロック図である。
【図８４】図８３の色用インター予測部の構成例を示すブロック図である。
【図８５】生成用画素数と参照画素数の関係を示すグラフである。
【図８６】図８３のLUTに記憶される生成用画素数の例を示す図である。
【図８７】図８３のLUTに記憶される生成用画素数の例を示す図である。
【図８８】図８３の輝度用インター予測部の構成例を示すブロック図である。
【図８９】図８８のLUTに記憶される生成用画素数の例を示す図である。
【図９０】図８８のLUTに記憶される生成用画素数の例を示す図である。
【図９１】色用インター予測処理を説明する第１のフローチャートである。
【図９２】色用インター予測処理を説明する第２のフローチャートである。
【図９３】正規化参照画素数の特性を説明する図である。
【図９４】正規化参照画素数の特性を説明する図である。
【図９５】正規化参照画素数の特性を説明する図である。
【図９６】正規化参照画素数の特性を説明する図である。
【図９７】正規化参照画素数の特性を説明する図である。
【図９８】正規化参照画素数の特性を説明する図である。
【図９９】正規化参照画素数の特性を説明する図である。
【図１００】正規化参照画素数の特性を説明する図である。
【図１０１】コンピュータの一実施の形態の構成例を示すブロック図である。
【図１０２】テレビジョン受像機の主な構成例を示すブロック図である。
【図１０３】携帯電話機の主な構成例を示すブロック図である。
【図１０４】ハードディスクレコーダの主な構成例を示すブロック図である。
【図１０５】カメラの主な構成例を示すブロック図である。
【発明を実施するための形態】
【００２０】
＜一実施の形態＞
［符号化装置の一実施の形態の構成例］
図３は、本技術を適用した画像処理装置としての符号化装置の一実施の形態の構成例を示すブロック図である。
【００２１】
図３の符号化装置１０は、A/D変換部１１、画面並べ替えバッファ１２、演算部１３、直交変換部１４、量子化部１５、可逆符号化部１６、蓄積バッファ１７、逆量子化部１８、逆直交変換部１９、加算部２０、デブロックフィルタ２１、フレームメモリ２２、イントラ予測部２３、インター予測部２４、動き予測部２５、選択部２６、およびレート制御部２７により構成される。図３の符号化装置１０は、入力された画像をH．264/AVC方式で圧縮符号化する。
【００２２】
具体的には、符号化装置１０のA/D変換部１１は、入力信号として入力されたフレーム単位の画像をA/D変換し、画面並べ替えバッファ１２に出力して記憶させる。画面並べ替えバッファ１２は、記憶した表示の順番のフレーム単位の画像を、GOP（Group of Picture）構造に応じて、符号化のための順番に並べ替え、演算部１３、イントラ予測部２３、および動き予測部２５に出力する。
【００２３】
演算部１３は、差分演算部として機能し、選択部２６から供給される予測画像と、画面並べ替えバッファ１２から出力された符号化対象の画像の差分を演算する。具体的には、演算部１３は、画面並べ替えバッファ１２から出力された符号化対象の画像から、選択部２６から供給される予測画像を減算する。演算部１３は、減算の結果得られる画像を、残差情報として直交変換部１４に出力する。なお、選択部２６から予測画像が供給されない場合、演算部１３は、画面並べ替えバッファ１２から読み出された画像をそのまま残差情報として直交変換部１４に出力する。
【００２４】
直交変換部１４は、演算部１３からの残差情報に対して離散コサイン変換、カルーネン・レーベ変換等の直交変換を施し、その結果得られる係数を量子化部１５に供給する。
【００２５】
量子化部１５は、直交変換部１４から供給される係数を量子化する。量子化された係数は、可逆符号化部１６に入力される。
【００２６】
可逆符号化部１６は、最適イントラ予測モードを示す情報（以下、イントラ予測モード情報という）をイントラ予測部２３から取得し、最適インター予測モードを示す情報（以下、インター予測モード情報という）、動きベクトルなどをインター予測部２４から取得する。
【００２７】
可逆符号化部１６は、量子化部１５から供給される量子化された係数に対して、可変長符号化（例えば、CAVLC（Context-Adaptive Variable Length Coding）など）、算術符号化（例えば、CABAC（Context-Adaptive Binary Arithmetic Coding）など）などの可逆符号化を行い、その結果得られる情報を圧縮画像とする。また、可逆符号化部１６は、イントラ予測モード情報、または、インター予測モード情報および動きベクトルなどを可逆符号化し、その結果得られる情報を圧縮画像に付加されるヘッダ情報とする。可逆符号化部１６は、可逆符号化の結果得られるヘッダ情報が付加された圧縮画像を画像圧縮情報として蓄積バッファ１７に供給し、蓄積させる。
【００２８】
蓄積バッファ１７は、可逆符号化部１６から供給される画像圧縮情報を、一時的に記憶し、例えば、後段の図示せぬ記録装置や伝送路などに出力する。
【００２９】
また、量子化部１５より出力された、量子化された係数は、逆量子化部１８にも入力され、逆量子化された後、逆直交変換部１９に供給される。
【００３０】
逆直交変換部１９は、逆量子化部１８から供給される係数に対して、逆離散コサイン変換、逆カルーネン・レーベ変換等の逆直交変換を施し、その結果得られる残差情報を加算部２０に供給する。
【００３１】
加算部２０は、加算演算部として機能し、逆直交変換部１９から供給される復号対象の画像としての残差情報と、選択部２６から供給される予測画像を加算して、局部的に復号された画像を得る。なお、選択部２６から予測画像が供給されない場合、加算部２０は、逆直交変換部１９から供給される残差情報を局部的に復号された画像とする。加算部２０は、局部的に復号された画像をデブロックフィルタ２１に供給するとともに、参照画像としてイントラ予測部２３に供給する。
【００３２】
デブロックフィルタ２１は、加算部２０から供給される局部的に復号された画像をフィルタリングすることにより、ブロック歪を除去する。デブロックフィルタ２１は、その結果得られる画像をフレームメモリ２２に供給し、蓄積させる。フレームメモリ２２に蓄積された画像は、参照画像としてインター予測部２４および動き予測部２５に出力される。
【００３３】
イントラ予測部２３は、画面並べ替えバッファ１２から読み出された画像と、加算部２０から供給された参照画像とに基づいて、候補となる全てのイントラ予測モードのイントラ予測を行い、予測画像を生成する。
【００３４】
また、イントラ予測部２３は、候補となる全てのイントラ予測モードに対してコスト関数値（詳細は後述する）を算出する。そして、イントラ予測部２３は、コスト関数値が最小となるイントラ予測モードを最適イントラ予測モードに決定する。イントラ予測部２３は、最適イントラ予測モードで生成された予測画像、および、対応するコスト関数値を、選択部２６に供給する。イントラ予測部２３は、選択部２６から最適イントラ予測モードで生成された予測画像の選択が通知された場合、イントラ予測モード情報を可逆符号化部１６に供給する。
【００３５】
なお、コスト関数値は、RD(Rate Distortion)コストともいい、例えば、H．264/AVC方式における参照ソフトウェアであるJM(Joint Model)で定められているような、High Complexity モードか、Low Complexity モードのいずれかの手法に基づいて算出される。
【００３６】
具体的には、コスト関数値の算出手法として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 モードにおいては、全ての予測モードに対して、復号画像を生成するだけでよく、可逆符号化を行う必要がないため、演算量が少なくて済む。なお、ここでは、コスト関数値の算出手法としてHigh Complexity モードが採用されるものとする。
【００４３】
インター予測部２４は、動き予測部２５から供給されるインター予測モード情報と動きベクトルに基づいて、フレームメモリ２２から参照画像を読み出す。インター予測部２４は、動きベクトルとフレームメモリ２２から読み出された参照画像とに基づいて、インター予測処理を行う。具体的には、インター予測部２４は、動きベクトルに基づいて参照画像に対してインターポーレーションを行うことにより、分数精度の動き補償処理を行う。インター予測部２４は、その結果生成される予測画像と、動き予測部２５から供給されるコスト関数値とを選択部２６に供給する。また、インター予測部２４は、選択部２６から最適インター予測モードで生成された予測画像の選択が通知された場合、インター予測モード情報、対応する動きベクトルなどを可逆符号化部１６に出力する。
【００４４】
動き予測部２５は、画面並べ替えバッファ１２から供給される画像と、フレームメモリ２２から供給される参照画像とに基づいて、候補となる全てのインター予測モードの動き予測処理を行い、分数精度の動きベクトルを生成する。具体的には、動き予測部２５は、インター予測モードごとに、参照画像に対してインター予測部２４と同様の手法でインターポーレーションを行う。そして、動き予測部２５は、インター予測モードごとに、インターポーレーション後の参照画像と、画面並べ替えバッファ１２から供給される画像とのマッチングを行い、分数精度の動きベクトルを生成する。本実施の形態では、インターポーレーションにより1/2画素位置のSub pelが生成され、動きベクトルの精度は、1/2画素精度であるものとする。
【００４５】
このとき、動き予測部２５は、候補となる全てのインター予測モードに対してコスト関数値を算出し、コスト関数値が最小となるインター予測モードを最適インター測モードに決定する。そして、動き予測部２５は、インター予測モード情報、並びに、対応する動きベクトルおよびコスト関数値をインター予測部２４に供給する。
【００４６】
なお、インター予測モードとは、インター予測の対象とするブロックのサイズ、予測方向、および参照インデックスを表す情報である。予測方向には、インター予測の対象とする画像よりも表示時刻が早い参照画像を用いた前方向の予測（L0予測）、インター予測の対象とする画像よりも表示時刻が遅い参照画像を用いた後方向の予測（L1予測）、およびインター予測の対象とする画像よりも表示時刻が早い参照画像と遅い参照画像を用いた両方向の予測（Bi-prediction）がある。また、参照インデックスとは、参照画像を特定するための番号であり、例えば、インター予測の対象とする画像に近い画像の参照インデックスほど番号が小さい。
【００４７】
選択部２６は、イントラ予測部２３およびインター予測部２４から供給されるコスト関数値に基づいて、最適イントラ予測モードと最適インター予測モードのうちのいずれかを、最適予測モードに決定する。そして、選択部２６は、最適予測モードの予測画像を、演算部１３および加算部２０に供給する。また、選択部２６は、最適予測モードの予測画像の選択をイントラ予測部２３またはインター予測部２４に通知する。
【００４８】
レート制御部２７は、蓄積バッファ１７に蓄積された画像圧縮情報に基づいて、オーバーフローあるいはアンダーフローが発生しないように、量子化部１５の量子化動作のレートを制御する。
【００４９】
［インター予測部の第１の構成例］
図４は、図３のインター予測部２４の第１の構成例を示すブロック図である。
【００５０】
なお、図４では、説明の便宜上、インター予測部２４のインター予測処理を行うブロックのみが図示されており、コスト関数値、インター予測モード情報、動きベクトルなどを出力するブロックは省略されている。
【００５１】
図４において、インター予測部２４は、参照画像読出部４１、画素振り分け部４２、2タップFIRフィルタ４３、4タップFIRフィルタ４４、6タップFIRフィルタ４５、2タップフィルタ係数メモリ４６、4タップフィルタ係数メモリ４７、6タップフィルタ係数メモリ４８、画素選択部４９、および中間結果メモリ５０により構成される。
【００５２】
インター予測部２４の参照画像読出部４１は、図３の動き予測部２５から供給されるインター予測モード情報のうちの参照インデックスおよび予測方向に基づいて、フレームメモリ２２に記憶されている画像のうちの参照画像を特定する。参照画像読出部４１は、インター予測モード情報のうちのブロックのサイズと動きベクトルの整数値に基づいて、予測画像の生成に用いられる参照画像の画素（以下、参照画素という）をフレームメモリ２２から読み出し、一時的に保持する。
【００５３】
参照画像読出部４１は、画素読出部として機能する。参照画像読出部４１は、予測画像の画素（以下、予測画素という）ごとに、一時的に保持されている参照画素のうち、その予測画素の生成に用いられる参照画素を読み出す。このとき、参照画像読出部４１は、外側の予測画素の生成に用いられる参照画素の数が内側の予測画素の生成に用いられる参照画素の数より少なくなるように、参照画素を読み出す。なお、ここでは、予測画素の生成に用いられる参照画素の数は、2,4、または6のいずれかである。参照画像読出部４１は、読みされた参照画素を画素振り分け部４２に供給する。
【００５４】
画素振り分け部４２は、参照画像読出部４１から供給される参照画素を生成用画素とする。また、画素振り分け部４２は、動き予測部２５から供給される動きベクトルの分数値に基づいて、中間結果メモリ５０から、生成対象の予測画素に対応するSub pelを生成用画素として読み出す。このとき、画素振り分け部４２は、外側の予測画素の生成に用いられるSub pelの数が内側の予測画素の生成に用いられるSub pelの数より少なくなるように、Sub pelを読み出す。なお、ここでは、予測画素の生成に用いられるSub pelの数は、2,4、または6のいずれかである。
【００５５】
また、画素振り分け部４２は、生成用画素の数に応じて、その生成用画素を2タップFIRフィルタ４３、4タップFIRフィルタ４４、または6タップFIRフィルタ４５に供給する。具体的には、画素振り分け部４２は、生成用画素の数が2である場合、その生成用画素を2タップFIRフィルタ４３に供給し、生成用画素の数が4である場合、その生成用画素を4タップFIRフィルタ４４に供給する。また、画素振り分け部４２は、生成用画素の数が6である場合、その生成用画素を6タップFIRフィルタ４５に供給する。
【００５６】
2タップFIRフィルタ４３は、演算部として機能し、画素振り分け部４２から供給される2個の生成用画素と、2タップフィルタ係数メモリ４６から供給されるフィルタ係数を用いて演算を行う。2タップFIRフィルタ４３は、その結果得られる1個の画素を画素選択部４９に供給する。
【００５７】
4タップFIRフィルタ４４は、演算部として機能し、画素振り分け部４２から供給される4個の生成用画素と、4タップフィルタ係数メモリ４７から供給されるフィルタ係数を用いて演算を行う。4タップFIRフィルタ４４は、その結果得られる1個の画素を画素選択部４９に供給する。
【００５８】
6タップFIRフィルタ４５は、演算部として機能し、画素振り分け部４２から供給される6個の生成用画素と、6タップフィルタ係数メモリ４８から供給されるフィルタ係数を用いて演算を行う。6タップFIRフィルタ４５は、その結果得られる1個の画素を画素選択部４９に供給する。
【００５９】
2タップフィルタ係数メモリ４６は、記憶部として機能し、動きベクトルの分数値に対応付けて2タップFIRフィルタ４３用のフィルタ係数を記憶している。2タップフィルタ係数メモリ４６は、動き予測部２５から供給される動きベクトルの分数値に基づいて、その分数値に対応付けて記憶されているフィルタ係数を2タップFIRフィルタ４３に供給する。
【００６０】
4タップフィルタ係数メモリ４７は、記憶部として機能し、動きベクトルの分数値に対応付けて4タップFIRフィルタ４４用のフィルタ係数を記憶している。4タップフィルタ係数メモリ４７は、動き予測部２５から供給される動きベクトルの分数値に基づいて、その分数値に対応付けて記憶されているフィルタ係数を4タップFIRフィルタ４４に供給する。
【００６１】
6タップフィルタ係数メモリ４８は、記憶部として機能し、動きベクトルの分数値に対応付けて6タップFIRフィルタ４５用のフィルタ係数を記憶している。6タップフィルタ係数メモリ４８は、動き予測部２５から供給される動きベクトルの分数値に基づいて、その分数値に対応付けて記憶されているフィルタ係数を6タップFIRフィルタ４５に供給する。
【００６２】
画素選択部４９は、動き予測部２５から供給される動きベクトルの分数値に基づいて、2タップFIRフィルタ４３、4タップFIRフィルタ４４、または6タップFIRフィルタ４５から供給される画素を予測画素として図３の選択部２６に出力するか、中間結果メモリ５０に供給する。
【００６３】
具体的には、画素選択部４９は、動きベクトルの水平成分および垂直成分の少なくとも一方の分数値が0である場合、2タップFIRフィルタ４３、4タップFIRフィルタ４４、または6タップFIRフィルタ４５から供給される画素を予測画素として選択部２６に供給する。一方、画素選択部４９は、動きベクトルの水平成分および垂直成分の両方の分数値が0ではない場合、2タップFIRフィルタ４３、4タップFIRフィルタ４４、または6タップFIRフィルタ４５から供給される画素であるSub pelを、中間結果メモリ５０に供給し、保持させる。その結果、2タップFIRフィルタ４３、4タップFIRフィルタ４４、または6タップFIRフィルタ４５において、中間結果メモリ５０に保持されているSub pelを用いて、再度演算が行われる。画素選択部４９は、その結果得られるSub pelを予測画素として選択部２６に出力する。
【００６４】
中間結果メモリ５０は、画素選択部４９から供給されるSub pelを保持する。
【００６５】
［参照画素の説明］
図５は、インター予測のブロックのサイズが8×8画素である場合に、水平方向に並ぶ、水平方向の位置が1/2画素位置であり、垂直方向の位置が整数位置である8個の予測画素それぞれの生成に用いられる参照画素の例を示す図である。
【００６６】
なお、図５において、番号が付された正方形は予測画素を表し、番号が付されていない正方形は参照画素を表す。また、水玉が付されている正方形は予測画素の生成に用いられる参照画素のうちの、インター予測のブロックのサイズの範囲内の参照画素を表し、斜線が付されている正方形は、インター予測のブロックのサイズの範囲を超えた範囲の参照画素を表している。
【００６７】
図５の例では、最も外側の予測画素は2個の参照画素を用いて生成され、その予測画素より1つ内側の予測画素は4個の参照画素を用いて生成され、その予測画素より内側の最も内側の予測画素を含む予測画素は6個の参照画素を用いて生成される。
【００６８】
具体的には、水平方向に並ぶ、水平方向の位置が1/2画素位置であり、垂直方向の位置が整数位置である8個の予測画素のうちの最も外側の番号1および番号8が付された正方形が表す予測画素は、その予測画素の左右に1つずつ位置する合計2個の参照画素を用いて生成される。即ち、番号8が付された正方形が表す予測画素の参照画像上の位置は、各予測画素の生成に用いられる全ての参照画素の範囲（参照ブロック）のうちの、インター予測のブロックのサイズの範囲と、インター予測のブロックのサイズの範囲を超えた範囲の境界の位置である。
【００６９】
また、番号1が付された正方形が表す予測画素より1つ内側の番号2が付された正方形が表す予測画素と、番号8が付された正方形が表す予測画素より1つ内側の番号7が付された正方形が表す予測画素は、その予測画素の左右に2つずつ位置する合計4個の参照画素を用いて生成される。即ち、番号7が付された正方形が表す予測画素には、番号8が付された正方形が表す予測画素の生成にも用いられた、斜線が付された正方形が表す右端の参照画素が用いられる。
【００７０】
また、番号2が付された正方形が表す予測画素および番号7が付された正方形が表す予測画素より内側の番号3乃至6が付された正方形が表す予測画素は、その予測画素の左右に3つずつ位置する合計6個の参照画素を用いて生成される。
【００７１】
図６は、インター予測のブロックのサイズが8×8画素である場合に、任意の分数位置の予測画素の生成に用いられる全ての参照画素の例を示す図である。
【００７２】
なお、図６において、正方形は参照画素を表している。また、最も細かい水玉が付された正方形は、右隣、真下、および右下の予測画素の生成に用いられる参照画素の数が2個である参照画素を表している。2番目に細かい水玉が付された正方形は、右隣、真下、および右下の予測画素の生成に用いられる参照画素の数が4個である参照画素を表している。3番目に細かい水玉が付された正方形は、右隣、真下、および右下の予測画素の生成に用いられる参照画素の数が6個である参照画素を表している。さらに、斜線が付されている正方形は、予測画素の生成に用いられる全ての参照画素のうちのインター予測のブロックのサイズの範囲を超えた範囲の参照画素を表している。
【００７３】
図６の例では、図５の場合と同様に、最も外側の予測画素は2個の参照画素を用いて生成され、その予測画素より1つ内側の予測画素は4個の参照画素を用いて生成され、その予測画素より内側の最も内側の予測画素を含む予測画素は6個の参照画素を用いて生成される。
【００７４】
例えば、右下の参照画素の右隣の予測画素の生成には、図６中破線で囲まれた水平方向に並ぶ2個の参照画素が用いられる。また、右下の参照画素の真下の予測画素の生成には、図６中破線で囲まれた垂直方向に並ぶ2個の参照画素が用いられる。
【００７５】
従って、図６の例では、インター予測のブロックのサイズが8×8画素である場合に、任意の分数位置の予測画素の生成に用いられる全ての参照画素の範囲（参照ブロック）は、インター予測のブロックのサイズである8×8画素の範囲と、その範囲の右隣および真下の1画素分の範囲の9×9画素となる。よって、参照画像読出部４１は、フレームメモリ２２から9×9画素の範囲の参照画素を読み出せばよい。
【００７６】
以上のように、符号化装置１０は、外側の予測画素の生成に用いられる参照画素の数を、内側の予測画素の生成に用いられる参照画素の数に比べて少なくするので、インター予測に必要な参照画素の数は、図２に示した従来の場合に比べて削減される。その結果、フレームメモリ２２のメモリ帯域の使用量を削減することができる。
【００７７】
図７乃至図１５は、それぞれ、インター予測のブロックのサイズが32×32画素，16×32画素，32×16画素，16×16画素，8×16画素，16×8画素，4×8画素，8×4画素，4×4画素である場合に、任意の分数位置の予測画素の生成に用いられる全ての参照画素の例を示す図である。
【００７８】
なお、図７乃至図１５において、正方形は参照画素を表している。また、水玉が付されている正方形は、予測画素の生成に用いられる全ての参照画素のうちのインター予測のブロックのサイズの範囲内の参照画素を表し、斜線が付されている正方形は、インター予測のブロックのサイズの範囲を超えた範囲の参照画素を表している。
【００７９】
図７乃至図１５の例では、図５や図６の場合と同様に、最も外側の予測画素は2個の参照画素を用いて生成され、その予測画素より1つ内側の予測画素は4個の参照画素を用いて生成され、その予測画素より内側の最も内側の予測画素を含む予測画素は6個の参照画素を用いて生成される。
【００８０】
従って、図７に示すように、インター予測のブロックのサイズが32×32画素である場合、任意の分数位置の予測画素の生成に用いられる全ての参照画素の範囲は、インター予測のブロックのサイズである32×32画素の範囲と、その範囲の右隣および真下の1画素分の範囲の33×33画素となる。
【００８１】
同様に、図８乃至図１５に示すように、インター予測のブロックのサイズが16×32画素，32×16画素，16×16画素，8×16画素，16×8画素，4×8画素，8×4画素，4×4画素である場合、任意の分数位置の予測画素の生成に用いられる全ての参照画素の範囲は、インター予測のブロックのサイズの範囲と、その範囲の右隣および真下の1画素分の範囲となる。
【００８２】
これに対して、インター予測時に従来の常に6タップFIRフィルタを用いるインターポーレーションが行われる場合、任意の分数位置の予測画素の生成に用いられる全ての参照画素の範囲は、図７乃至図１５の場合に比べて大きくなる。例えば、インター予測のブロックのサイズが4×4画素であるとき、任意の分数位置の予測画素の生成に用いられる全ての参照画素の範囲は、インター予測のブロックのサイズの4×4画素の範囲と、その左隣および真上の2画素分および右隣および真下の3画素分の範囲の9×9画素の範囲となる。
【００８３】
［予測画素の生成方法の説明］
図１６乃至図１９は、図４のインター予測部２４における予測画素の生成方法を説明する図である。
【００８４】
なお、図１６乃至図１９において、番号が付された正方形はSub pelを表し、番号が付されていない正方形は参照画素を表す。また、水玉が付されている正方形は予測画素の生成に用いられる参照画素のうちの、インター予測のブロックのサイズの範囲内の参照画素を表し、斜線が付されている正方形は、インター予測のブロックのサイズの範囲を超えた範囲の参照画素を表している。
【００８５】
図１６乃至図１９の例では、インター予測のブロックのサイズが4×4画素であり、予測画素の水平方向および垂直方向の位置が1/2画素位置である。
【００８６】
この場合、まず、図１６に示すように、水平方向の位置が1/2画素位置であり、垂直方向の位置が整数位置であるSub pelのうちの、1番上の番号1乃至4が付された正方形が表すSub pelが生成される。このとき、最も外側のSub pelは2個の参照画素を用いて生成され、そのSub pelより1つ内側、即ち最も内側のSub pelは4個の参照画素を用いて生成される。
【００８７】
具体的には、まず、参照画像読出部４１が、番号1が付された正方形が表す左上のSub pelの左右に1つずつ位置する2個の参照画素を画素振り分け部４２を介して2タップFIRフィルタ４３に供給する。そして、2タップFIRフィルタ４３は、その2個の参照画素から番号1が付された正方形が表すSub pelを生成し、画素選択部４９は、そのSub pelを中間結果メモリ５０に供給して記憶させる。
【００８８】
次に、参照画像読出部４１は、番号1が付された正方形が表すSub pelの右隣の番号2が付された正方形が表すSub pelの左右に2つずつ位置する4個の参照画素を、画素振り分け部４２を介して4タップFIRフィルタ４４に供給する。そして、4タップFIRフィルタ４４は、その4個の参照画素から番号2が付された正方形が表すSub pelを生成し、画素選択部４９は、そのSub pelを中間結果メモリ５０に供給して記憶させる。
【００８９】
そして、参照画像読出部４１は、番号2が付された正方形が表すSub pelの右隣の番号3が付された正方形が表すSub pelの左右に2つずつ位置する4個の参照画素を、画素振り分け部４２を介して4タップFIRフィルタ４４に供給する。そして、4タップFIRフィルタ４４は、その4個の参照画素から番号3が付された正方形が表すSub pelを生成し、画素選択部４９は、そのSub pelを中間結果メモリ５０に供給して記憶させる。
【００９０】
次に、参照画像読出部４１は、番号4が付された正方形が表す右上のSub pelの左右に1つずつ位置する2個の参照画素を画素振り分け部４２を介して2タップFIRフィルタ４３に供給する。そして、2タップFIRフィルタ４３は、その2個の参照画素から番号4が付された正方形が表すSub pelを生成し、画素選択部４９は、そのSub pelを中間結果メモリ５０に供給して記憶させる。
【００９１】
以上のようにして番号1乃至4が付された正方形が表すSub pelが生成されると、同様に、図１７に示すように、水平方向の位置が1/2画素位置であり、垂直方向の位置が整数位置であるSub pelのうちの、上から2乃至5番目の番号5乃至20が付された正方形が表すSub pelが、水平方向に並ぶSub pel単位で順に生成され、中間結果メモリ５０に記憶される。
【００９２】
次に、図１８に示すように、1番左側の予測画素として、番号21乃至24が付された正方形が表すSub pelが生成される。このとき、最も外側の予測画素は2個のSub pelを用いて生成され、その予測画素より1つ内側、即ち最も内側の予測画素は4個のSub pelを用いて生成される。
【００９３】
具体的には、まず、画素振り分け部４２が、番号21が付された正方形が表すSub pelの上下に1つずつ位置する、番号1および番号5が付された正方形が表す2個のSub pelを、中間結果メモリ５０から読み出し、2タップFIRフィルタ４３に供給する。そして、2タップFIRフィルタ４３は、その2個のSub pelから番号21が付された正方形が表すSub pelを予測画素として生成し、画素選択部４９は、その予測画素を選択部２６（図３）に出力する。
【００９４】
次に、画素振り分け部４２は、番号21が付された正方形が表すSub pelの下の番号22が付された正方形が表すSub pelの上下に2つずつ位置する、垂直方向の位置が整数位置である、番号1,5,9、および13が付された正方形が表す4個のSub pelを、中間結果メモリ５０から読み出し、4タップFIRフィルタ４４に供給する。そして、4タップFIRフィルタ４４は、その4個のSub pelから番号22が付された正方形が表すSub pelを予測画素として生成し、画素選択部４９は、その予測画素を選択部２６に出力する。
【００９５】
そして、画素振り分け部４２は、番号22が付された正方形が表すSub pelの下の番号23が付された正方形が表すSub pelの上下に2つずつ位置する、垂直方向の位置が整数位置である、番号5,9,13、および17が付された正方形が表す4個のSub pelを、中間結果メモリ５０から読み出し、4タップFIRフィルタ４４に供給する。そして、4タップFIRフィルタ４４は、その4個のSub pelから番号23が付された正方形が表すSub pelを予測画素として生成し、画素選択部４９は、その予測画素を選択部２６に出力する。
【００９６】
次に、画素振り分け部４２が、番号23が付された正方形が表すSub pelの下の番号24が付された正方形が表すSub pelの上下に1つずつ位置する、番号13および17が付された正方形が表す2個のSub pelを、中間結果メモリ５０から読み出し、2タップFIRフィルタ４３に供給する。そして、2タップFIRフィルタ４３は、その2個のSub pelから番号24が付された正方形が表すSub pelを予測画素として生成し、画素選択部４９は、その予測画素を選択部２６に出力する。
【００９７】
以上のようにして番号21乃至24が付された正方形が表すSub pelである1番左側の予測画素が生成されると、同様に、図１９に示すように、左から2乃至4番目の番号25乃至36が付された正方形が表すSub pelが、垂直方向に並ぶ予測画素単位で順に予測画素として生成され、選択部２６に出力される。
【００９８】
［符号化装置の処理の説明］
図２０および図２１は、図３の符号化装置１０による符号化処理を説明するフローチャートである。この符号化処理は、例えば、入力信号としてフレーム単位の画像が符号化装置１０に入力されるたびに行われる。
【００９９】
図２０のステップＳ１１において、符号化装置１０のA/D変換部１１は、入力信号として入力されたフレーム単位の画像をA/D変換し、画面並べ替えバッファ１２に出力して記憶させる。
【０１００】
ステップＳ１２において、画面並べ替えバッファ１２は、記憶した表示の順番のフレームの画像を、GOP構造に応じて、符号化のための順番に並べ替える。画面並べ替えバッファ１２は、並べ替え後のフレーム単位の画像を、演算部１３、イントラ予測部２３、および動き予測部２５に供給する。
【０１０１】
なお、以下のステップＳ１３乃至Ｓ３０の処理は、例えばマクロブロック単位で行われる。但し、先頭フレームの先頭のマクロブロック等のＩスライスのマクロブロックの処理時には、ステップＳ１３乃至Ｓ２０およびＳ２８の処理は行われず、先頭フレームの画像が残差情報および局部的に復号された画像とされる。
【０１０２】
ステップＳ１３において、イントラ予測部２３は、画面並べ替えバッファ１２から供給される画像と、加算部２０から供給される参照画像とに基づいて、候補となる全てのイントラ予測モードのイントラ予測を行い、予測画像を生成する。また、イントラ予測部２３は、候補となる全てのイントラ予測モードに対してコスト関数値を算出する。そして、イントラ予測部２３は、コスト関数値が最小となるイントラ予測モードを最適イントラ予測モードに決定する。イントラ予測部２３は、最適イントラ予測モードで生成された予測画像、および、対応するコスト関数値を、選択部２６に供給する。
【０１０３】
ステップＳ１４において、動き予測部２５は、画面並べ替えバッファ１２から供給される画像に対して、フレームメモリ２２から供給される参照画像を用いて、候補となる全てのインター予測モードの動き予測処理を行い、分数精度の動きベクトルを生成する。また、動き予測部２５は、候補となる全てのインター予測モードに対してコスト関数値を算出し、コスト関数値が最小となるインター予測モードを最適インター測モードに決定する。そして、動き予測部２５は、インター予測モード情報、並びに、対応する動きベクトルおよびコスト関数値をインター予測部２４に供給する。
【０１０４】
ステップＳ１５において、インター予測部２４は、動き予測部２５から供給される動きベクトルとインター予測モード情報に基づいてインター予測処理を行う。このインター予測処理の詳細は、後述する図２２および図２３を参照して説明する。インター予測部２４は、インター予測処理の結果生成される予測画像と、動き予測部２５から供給されるコスト関数値とを選択部２６に供給する。
【０１０５】
ステップＳ１６において、選択部２６は、イントラ予測部２３およびインター予測部２４から供給されるコスト関数値に基づいて、最適イントラ予測モードと最適インター予測モードのうちのコスト関数値が最小となる方を、最適予測モードに決定する。そして、選択部２６は、最適予測モードの予測画像を、演算部１３および加算部２０に供給する。
【０１０６】
ステップＳ１７において、選択部２６は、最適予測モードが最適インター予測モードであるかどうかを判定する。ステップＳ１７で最適予測モードが最適インター予測モードであると判定された場合、選択部２６は、最適インター予測モードで生成された予測画像の選択をインター予測部２４に通知する。これにより、インター予測部２４は、インター予測モード情報、対応する動きベクトルなどを可逆符号化部１６に出力する。
【０１０７】
そして、ステップＳ１８において、可逆符号化部１６は、インター予測部２４から供給されるインター予測モード情報、動きベクトルなどを可逆符号化し、その結果得られる情報を圧縮画像に付加されるヘッダ情報とする。そして、処理はステップＳ２０に進む。
【０１０８】
一方、ステップＳ１７で最適予測モードが最適インター予測モードではないと判定された場合、即ち最適予測モードが最適イントラ予測モードである場合、選択部２６は、最適イントラ予測モードで生成された予測画像の選択をイントラ予測部２３に通知する。これにより、イントラ予測部２３は、イントラ予測モード情報を可逆符号化部１６に供給する。
【０１０９】
そして、ステップＳ１９において、可逆符号化部１６は、イントラ予測部２３から供給されるイントラ予測モード情報などを可逆符号化し、その結果得られる情報を圧縮画像に付加されるヘッダ情報とする。そして、処理はステップＳ２０に進む。
【０１１０】
ステップＳ２０において、演算部１３は、画面並べ替えバッファ１２から供給される画像から、選択部２６から供給される予測画像を減算する。演算部１３は、減算の結果得られる画像を、残差情報として直交変換部１４に出力する。
【０１１１】
ステップＳ２１において、直交変換部１４は、演算部１３からの残差情報に対して直交変換を施し、その結果得られる係数を量子化部１５に供給する。
【０１１２】
ステップＳ２２において、量子化部１５は、直交変換部１４から供給される係数を量子化する。量子化された係数は、可逆符号化部１６と逆量子化部１８に入力される。
【０１１３】
ステップＳ２３において、可逆符号化部１６は、量子化部１５から供給される量子化された係数を可逆符号化し、その結果得られる情報を圧縮画像とする。そして、可逆符号化部１６は、ステップＳ１８またはＳ１９の処理で生成されたヘッダ情報を圧縮画像に付加し、画像圧縮情報を生成する。
【０１１４】
図２１のステップＳ２４において、可逆符号化部１６は、画像圧縮情報を蓄積バッファ１７に供給し、蓄積させる。
【０１１５】
ステップＳ２５において、蓄積バッファ１７は、蓄積されている画像圧縮情報を、例えば、後段の図示せぬ記録装置や伝送路などに出力する。
【０１１６】
ステップＳ２６において、逆量子化部１８は、量子化部１５から供給される量子化された係数を逆量子化する。
【０１１７】
ステップＳ２７において、逆直交変換部１９は、逆量子化部１８から供給される係数に対して逆直交変換を施し、その結果得られる残差情報を加算部２０に供給する。
【０１１８】
ステップＳ２８において、加算部２０は、逆直交変換部１９から供給される残差情報と、選択部２６から供給される予測画像を加算し、局部的に復号された画像を得る。加算部２０は、得られた画像をデブロックフィルタ２１に供給するとともに、参照画像としてイントラ予測部２３に供給する。
【０１１９】
ステップＳ２９において、デブロックフィルタ２１は、加算部２０から供給される局部的に復号された画像に対してフィルタリングを行うことにより、ブロック歪を除去する。
【０１２０】
ステップＳ３０において、デブロックフィルタ２１は、フィルタリング後の画像をフレームメモリ２２に供給し、蓄積させる。フレームメモリ２２に蓄積された画像は、参照画像としてインター予測部２４および動き予測部２５に出力される。そして、処理は終了する。
【０１２１】
図２２および図２３は、図２０のステップＳ１５のインター予測処理の第１の例の詳細を説明するフローチャートである。
【０１２２】
図２２のステップＳ５０において、インター予測部２４の参照画像読出部４１（図４）は、図３の動き予測部２５から供給されるインター予測モード情報のうちの予測方向と参照インデックスに基づいて、フレームメモリ２２に記憶されている画像のうちの参照画像を特定する。
【０１２３】
ステップＳ５１において、参照画像読出部４１は、インター予測モード情報のうちのインター予測のブロックのサイズに基づいて、予測画像のサイズを決定する。
【０１２４】
ステップＳ５２において、参照画像読出部４１は、インター予測モード情報のうちの動きベクトルの整数値および予測画像のサイズに基づいて、その予測画像の生成に用いられる参照画素をフレームメモリ２２から読み出し、一時的に保持する。
【０１２５】
ステップＳ５３において、参照画像読出部４１は、予測画像を構成する予測画素のうち、まだステップＳ５３の処理で生成対象の予測画素に決定されていない予測画素を生成対象の予測画素に決定する。
【０１２６】
ステップＳ５４において、参照画像読出部４１は、生成対象の予測画素の予測画像上の位置に基づいて、その予測画素に対応する参照画像上の水平方向または垂直方向の位置が整数位置である画素（以下、予測対応画素という）の生成に用いられる参照画素の数を2,4、または6に決定する。
【０１２７】
なお、生成対象の予測画素の参照画像上の水平方向および垂直方向の少なくとも一方の位置が整数位置である場合、予測対応画素は予測画素である。一方、生成対象の予測画素の参照画像上の水平方向および垂直方向の両方の位置が分数位置である場合、予測対応画素は、予測画素の生成に用いられる、予測画素と水平方向の位置が同一で、垂直方向の位置が整数位置である、まだ生成されていない画素である。なお、予測対応画素が複数ある場合、ステップＳ５４乃至Ｓ６５の処理は、予測対応画素ごとに行われる。
【０１２８】
ステップＳ５５において、参照画像読出部４１は、ステップＳ５４で決定された参照画素の数と、生成対象の予測画素の参照画像上の位置に基づいて、ステップＳ５２で保持された参照画素のうちの、予測対応画素の生成に用いられる参照画素を読み出す。参照画像読出部４１は、読み出された参照画素を画素振り分け部４２に供給する。
【０１２９】
ステップＳ５６において、2タップフィルタ係数メモリ４６は、動き予測部２５から供給される動きベクトルの予測対応画素に対応する成分の分数値に基づいて、その分数値に対応付けて記憶されているフィルタ係数（外側係数）を読み出し、2タップFIRフィルタ４３に供給する。同様に、4タップフィルタ係数メモリ４７および6タップフィルタ係数メモリ４８は、それぞれ、動きベクトルの予測対応画素に対応する成分の分数値に基づいて、その分数値に対応付けて記憶されているフィルタ係数（内側係数）を読み出し、4タップFIRフィルタ４４、6タップFIRフィルタ４５に供給する。
【０１３０】
なお、生成対象の予測画素の参照画像上の水平方向および垂直方向の一方の位置のみが分数位置である場合、予測対応画素に対応する成分は、その一方の方向の成分である。一方、生成対象の予測画素の参照画像上の水平方向および垂直方向の両方の位置が整数位置または分数位置である場合、予測対応画素に対応する成分は、水平方向の成分である。
【０１３１】
ステップＳ５７において、画素振り分け部４２は、参照画像読出部４１から供給される参照画素の数は2であるかどうかを判定する。ステップＳ５７で参照画素の数は2であると判定された場合、画素振り分け部４２は、2個の参照画素を生成用画素として2タップFIRフィルタ４３に供給する。
【０１３２】
そして、ステップＳ５８において、2タップFIRフィルタ４３は、画素振り分け部４２から供給される2個の生成用画素としての参照画素と、2タップフィルタ係数メモリ４６から供給されるフィルタ係数を用いて演算を行う。2タップFIRフィルタ４３は、その結果得られる1個の予測対応画素を画素選択部４９に供給し、処理をステップＳ６２に進める。
【０１３３】
一方、ステップＳ５７で参照画素の数は2ではないと判定された場合、ステップＳ５９において、画素振り分け部４２は、参照画像読出部４１から供給される参照画素の数は4であるかどうかを判定する。ステップＳ５９で参照画素の数は4であると判定された場合、画素振り分け部４２は、4個の参照画素を生成用画素として4タップFIRフィルタ４４に供給する。
【０１３４】
そして、ステップＳ６０において、4タップFIRフィルタ４４は、画素振り分け部４２から供給される4個の生成用画素としての参照画素と、4タップフィルタ係数メモリ４７から供給されるフィルタ係数を用いて演算を行う。4タップFIRフィルタ４４は、その結果得られる1個の予測対応画素を画素選択部４９に供給し、処理をステップＳ６２に進める。
【０１３５】
一方、ステップＳ５９で参照画素の数は4ではないと判定された場合、即ち参照画素の数が6である場合、画素振り分け部４２は、6個の参照画素を生成用画素として6タップFIRフィルタ４５に供給する。
【０１３６】
そして、ステップＳ６１において、6タップFIRフィルタ４５は、画素振り分け部４２から供給される6個の生成用画素としての参照画素と、6タップフィルタ係数メモリ４８から供給されるフィルタ係数を用いて演算を行う。6タップFIRフィルタ４５は、その結果得られる1個の予測対応画素を画素選択部４９に供給し、処理をステップＳ６２に進める。
【０１３７】
ステップＳ６２において、画素選択部４９は、動き予測部２５から供給される動きベクトルの水平成分と垂直成分の両方の分数値が0以外であるかどうか、即ち予測画素の参照画像上の水平方向と垂直方向の両方の位置が分数位置であるかどうかを判定する。ステップＳ６２で動きベクトルの水平成分と垂直成分の少なくとも一方の分数値が0であると判定された場合、即ち予測画素の参照画像上の水平方向と垂直方向の少なくとも一方の位置が整数位置である場合、処理はステップＳ６３に進む。
【０１３８】
ステップＳ６３において、画素選択部４９は、2タップFIRフィルタ４３、4タップFIRフィルタ４４、または6タップFIRフィルタ４５から供給される予測対応画素を予測画素として図３の選択部２６に出力する。
【０１３９】
ステップＳ６４において、参照画像読出部４１は、全ての予測画素が生成されたか、即ちステップＳ５３で予測画像を構成する全ての予測画素を生成対象の予測画素に決定したかどうかを判定する。ステップＳ６４でまだ全ての予測画素が生成されていないと判定された場合、処理はステップＳ５３に戻り、全ての予測画素が生成されるまで、ステップＳ５３乃至Ｓ６４の処理が繰り返される。
【０１４０】
一方、ステップＳ６４で全ての予測画素が生成されたと判定された場合、処理は図２０のステップＳ１５に戻り、ステップＳ１６に進む。
【０１４１】
また、ステップＳ６２で動きベクトルの水平成分と垂直成分の両方の分数値が0以外であると判定された場合、即ち予測画素の参照画像上の水平方向と垂直方向の両方の位置が分数位置である場合、処理はステップＳ６５に進む。
【０１４２】
ステップＳ６５において、画素選択部４９は、2タップFIRフィルタ４３、4タップFIRフィルタ４４、または6タップFIRフィルタ４５から供給される予測対応画素としてのSub pelを、中間結果メモリ５０に供給し、保持させる。
【０１４３】
ステップＳ６６において、参照画像読出部４１は、全ての予測対応画素が生成されたか、即ちステップＳ５３で予測画像を構成する全ての予測画素を生成対象の予測画素に決定したかどうかを判定する。ステップＳ６６でまだ全ての予測対応画素が生成されていないと判定された場合、処理はステップＳ５３に戻り、全ての予測対応画素が生成されるまで、ステップＳ５３乃至Ｓ６２、ステップＳ６５、およびステップＳ６６の処理が繰り返される。
【０１４４】
一方、ステップＳ６６で全ての予測対応画素が生成されたと判定された場合、処理は図２３のステップＳ６７に進む。
【０１４５】
ステップＳ６７において、参照画像読出部４１は、予測画像を構成する予測画素のうち、まだステップＳ６７の処理で生成対象の予測画素に決定されていない予測画素を生成対象の予測画素に決定する。
【０１４６】
ステップＳ６８において、画素振り分け部４２は、生成対象の予測画素の予測画像上の垂直方向の位置に基づいて、中間結果メモリ５０から読み出すSub pelの数を2,4、または6に決定する。
【０１４７】
ステップＳ６９において、画素振り分け部４２は、ステップＳ６８で決定されたSub pelの数と、生成対象の予測画素の参照画像上の位置に基づいて、中間結果メモリ５０からSub pelを生成用画素として読み出す。
【０１４８】
ステップＳ７０において、2タップフィルタ係数メモリ４６は、動き予測部２５から供給される動きベクトルの垂直成分の分数値に基づいて、その分数値に対応付けて記憶されているフィルタ係数を2タップFIRフィルタ４３に供給する。同様に、4タップフィルタ係数メモリ４７および6タップフィルタ係数メモリ４８は、それぞれ、動きベクトルの垂直成分の分数値に基づいて、その分数値に対応付けて記憶されているフィルタ係数を4タップFIRフィルタ４４、6タップFIRフィルタ４５に供給する。
【０１４９】
ステップＳ７１乃至Ｓ７５の処理は、参照画素の代わりにSub pelに対して行われる点を除いて、図２２のステップＳ５７乃至Ｓ６１の処理と同様であるので、説明は省略する。
【０１５０】
ステップＳ７６において、画素選択部４９は、2タップFIRフィルタ４３、4タップFIRフィルタ４４、または6タップFIRフィルタ４５から供給される画素であるSub pelを予測画素として選択部２６に出力する。
【０１５１】
ステップＳ７７において、参照画像読出部４１は、全ての予測画素が生成されたか、即ちステップＳ６７で予測画像を構成する全ての予測画素を生成対象の予測画素に決定したかどうかを判定する。ステップＳ７７でまだ全ての予測画素が生成されていないと判定された場合、処理はステップＳ６７に戻り、全ての予測画素が生成されるまで、ステップＳ６７乃至Ｓ７７の処理が繰り返される。
【０１５２】
一方、ステップＳ７７で全ての予測画素が生成されたと判定された場合、処理は図２０のステップＳ１５に戻り、ステップＳ１６に進む。
【０１５３】
以上のように、符号化装置１０は、インター予測時に、外側の予測画素の生成に用いられる参照画素の数を、内側の予測画素の生成に用いられる参照画素の数に比べて少なくするので、予測画像全体の生成に用いられる参照画素の数を削減することができる。その結果、フレームメモリ２２のメモリ帯域の使用量を削減することができる。また、外側の予測画素の生成に用いられる参照画素が少ないので、演算量を削減することができる。
【０１５４】
さらに、FIRフィルタでは、タップ長の長い方が理想的な特性を持つことができるため、FIRフィルタの性能とメモリ帯域の使用量はトレードオフの関係にある。従って、メモリ帯域の使用量を削減するために、全ての予測画素の生成に用いられる参照画素の数が削減されると、インター予測の精度が悪化する。これに対して、符号化装置１０は、外側の予測画素の生成に用いられる参照画素の数だけを少なくするので、インター予測の精度の悪化を抑制することができる。
【０１５５】
また、インター予測が行われる場合、インター予測のブロックの中心付近の予測精度に比べて、外周付近の予測精度が低いことが考えられる。具体的には、例えば、インター予測で動き補償される動きが完全な平行移動である場合には、ブロック内の予測精度の差はあまりないが、ほんの少しの回転や変形を伴う移動である場合には、ブロックの中心付近よりも外周付近で予測ずれが大きくなると考えられる。従って、外側の予測画素の生成に用いられる参照画素の数を少なくすることによるインター予測の精度への影響は少ない。
【０１５６】
なお、2タップフィルタ係数メモリ４６、4タップフィルタ係数メモリ４７、および6タップフィルタ係数メモリ４８には、それぞれ、特性の異なるフィルタ係数を記憶しておくことができる。
【０１５７】
例えば、インター予測のブロックの外周付近の予測精度が悪い場合、FIRフィルタの特性により、外周付近の高周波成分を補間しないように、即ち高周波成分が減少するようにするフィルタ係数を用いた方が、予測誤差を小さくすることができる。従って、符号化装置１０は、例えば、2タップフィルタ係数メモリ４６に高域成分を減少させるフィルタ係数を記憶しておく。これにより、インター予測の予測精度を向上させることができる。
【０１５８】
［復号装置の構成例］
図２４は、図３の符号化装置１０から出力される画像圧縮情報を復号する、本技術を適用した画像処理装置としての復号装置の構成例を示すブロック図である。
【０１５９】
図２４の復号装置１００は、蓄積バッファ１０１、可逆復号化部１０２、逆量子化部１０３、逆直交変換部１０４、加算部１０５、デブロックフィルタ１０６、画面並べ替えバッファ１０７、D/A変換部１０８、フレームメモリ１０９、イントラ予測部１１０、インター予測部１１１、およびスイッチ１１２により構成される。
【０１６０】
復号装置１００の蓄積バッファ１０１は、図３の符号化装置１０から画像圧縮情報を受け取り、蓄積する。蓄積バッファ１０１は、蓄積されている画像圧縮情報を可逆復号化部１０２に供給する。
【０１６１】
可逆復号化部１０２は、蓄積バッファ１０１からの画像圧縮情報に対して、可変長復号や、算術復号等の可逆復号を施すことで、量子化された係数とヘッダを得る。可逆復号化部１０２は、量子化された係数を逆量子化部１０３に供給する。また、可逆復号化部１０２は、ヘッダに含まれるイントラ予測モード情報などをイントラ予測部１１０に供給し、動きベクトルとインター予測モード情報などをインター予測部１１１に供給する。さらに、可逆復号化部１０２は、ヘッダに含まれるイントラ予測モード情報またはインター予測モード情報をスイッチ１１２に供給する。
【０１６２】
逆量子化部１０３、逆直交変換部１０４、加算部１０５、デブロックフィルタ１０６、フレームメモリ１０９、イントラ予測部１１０、および、インター予測部１１１は、図３の逆量子化部１８、逆直交変換部１９、加算部２０、デブロックフィルタ２１、フレームメモリ２２、イントラ予測部２３、および、インター予測部２４とそれぞれ同様の処理を行い、これにより、画像が復号される。
【０１６３】
具体的には、逆量子化部１０３は、可逆復号化部１０２からの量子化された係数を逆量子化し、その結果得られる係数を逆直交変換部１０４に供給する。
【０１６４】
逆直交変換部１０４は、逆量子化部１０３からの係数に対して、逆離散コサイン変換、逆カルーネン・レーベ変換等の逆直交変換を施し、その結果得られる残差情報を加算部１０５に供給する。
【０１６５】
加算部１０５は、加算演算部として機能し、逆直交変換部１０４から供給される復号対象の画像としての残差情報と、スイッチ１１２から供給される予測画像を加算し、その結果得られる画像をデブロックフィルタ１０６に供給するとともに、参照画像としてイントラ予測部１１０に供給する。なお、スイッチ１１２から予測画像が供給されない場合、加算部１０５は、逆直交変換部１０４から供給される残差情報である画像をデブロックフィルタ１０６に供給するとともに、参照画像としてイントラ予測部１１０に供給する。
【０１６６】
デブロックフィルタ１０６は、加算部１０５から供給される画像をフィルタリングすることにより、ブロック歪を除去する。デブロックフィルタ１０６は、その結果得られる画像をフレームメモリ１０９に供給し、蓄積させるとともに、画面並べ替えバッファ１０７に供給する。フレームメモリ１０９に蓄積された画像は、参照画像としてインター予測部１１１に供給される。
【０１６７】
画面並べ替えバッファ１０７は、デブロックフィルタ１０６から供給される画像をフレーム単位で記憶する。画面並べ替えバッファ１０７は、記憶した符号化のための順番のフレーム単位の画像を、元の表示の順番に並び替え、D/A変換部１０８に供給する。
【０１６８】
D/A変換部１０８は、画面並べ替えバッファ１０７から供給されるフレーム単位の画像をD/A変換し、出力信号として出力する。
【０１６９】
イントラ予測部１１０は、加算部１０５から供給される参照画像を用いて、可逆復号化部１０２から供給されるイントラ予測モード情報が表すイントラ予測モードのイントラ予測を行い、予測画像を生成する。そして、イントラ予測部１１０は、予測画像をスイッチ１１２に供給する。
【０１７０】
インター予測部１１１は、図４に示したインター予測部２４と同様に構成される。インター予測部１１１は、可逆復号化部１０２から供給されるインター予測モード情報と動きベクトルに基づいて、フレームメモリ１０９から参照画像を読み出す。インター予測部１１１は、動きベクトルとフレームメモリ１０９から読み出された参照画像とに基づいて、インター予測処理を行う。インター予測部１１１は、その結果生成される予測画像をスイッチ１１２に供給する。
【０１７１】
スイッチ１１２は、可逆復号化部１０２からイントラ予測モード情報が供給された場合、イントラ予測部１１０から供給される予測画像を加算部１０５に供給する。一方、可逆復号化部１０２からインター予測モード情報が供給された場合、インター予測部１１１から供給される予測画像を加算部１０５に供給する。
【０１７２】
［復号装置の処理の説明］
図２５は、図２４の復号装置１００による復号処理を説明するフローチャートである。この復号処理は、例えば、フレーム単位の画像圧縮情報が復号装置１００に入力されるたびに行われる。
【０１７３】
図２５のステップＳ１０１において、復号装置１００の蓄積バッファ１０１は、図３の符号化装置１０からフレーム単位の画像圧縮情報を受け取り、蓄積する。蓄積バッファ１０１は、蓄積されている画像圧縮情報を可逆復号化部１０２に供給する。なお、以下のステップＳ１０２乃至Ｓ１１０の処理は、例えばマクロブック単位で行われる。
【０１７４】
ステップＳ１０２において、可逆復号化部１０２は、蓄積バッファ１０１からの画像圧縮情報を可逆復号し、量子化された係数とヘッダを得る。可逆復号化部１０２は、量子化された係数を逆量子化部１０３に供給する。また、可逆復号化部１０２は、ヘッダに含まれるイントラ予測モード情報などをイントラ予測部１１０に供給し、動きベクトルとインター予測モード情報などをインター予測部１１１に供給する。さらに、可逆復号化部１０２は、ヘッダに含まれるイントラ予測モード情報またはインター予測モード情報をスイッチ１１２に供給する。
【０１７５】
ステップＳ１０３において、逆量子化部１０３は、可逆復号化部１０２からの量子化された係数を逆量子化し、その結果得られる係数を逆直交変換部１０４に供給する。
【０１７６】
ステップＳ１０４において、逆直交変換部１０４は、逆量子化部１０３からの係数に対して逆直交変換を施し、その結果得られる残差情報を加算部１０５に供給する。
【０１７７】
ステップＳ１０５において、インター予測部１１１は、可逆復号化部１０２からインター予測モード情報が供給されたかどうかを判定する。ステップＳ１０５でインター予測モード情報が供給されたと判定された場合、処理はステップＳ１０６に進む。
【０１７８】
ステップＳ１０６において、インター予測部１１１は、可逆復号化部１０２から供給される動きベクトルとインター予測モード情報に基づいて、図２２および図２３で説明したインター予測処理を行う。インター予測部１１１は、その結果生成される予測画像を、スイッチ１１２を介して加算部１０５に供給し、処理をステップＳ１０８に進める。
【０１７９】
一方、ステップＳ１０５でインター予測モード情報が供給されていないと判定された場合、即ちイントラ予測モード情報がイントラ予測部１１０に供給された場合、処理はステップＳ１０７に進む。
【０１８０】
ステップＳ１０７において、イントラ予測部１１０は、加算部１０５から供給される参照画像を用いて、可逆復号化部１０２から供給されるイントラ予測モード情報が表すイントラ予測モードのイントラ予測を行う。そして、イントラ予測部１１０は、その結果生成される予測画像を、スイッチ１１２を介して加算部１０５に供給し、処理をステップＳ１０８に進める。
【０１８１】
ステップＳ１０８において、加算部１０５は、逆直交変換部１０４から供給される残差情報と、スイッチ１１２から供給される予測画像を加算する。加算部１０５は、その結果得られる画像をデブロックフィルタ１０６に供給するとともに、参照画像としてイントラ予測部１１０に供給する。なお、先頭のフレームの先頭のマクロブロックの処理時には、参照画像は存在しないため、ステップＳ１０５乃至Ｓ１０８の処理は行われず、残差情報である画像がデブロックフィルタ１０６に供給されるとともに、参照画像としてイントラ予測部１１０に供給される。
【０１８２】
ステップＳ１０９において、デブロックフィルタ１０６は、加算部１０５から供給される画像に対してフィルタリングを行い、ブロック歪を除去する。
【０１８３】
ステップＳ１１０において、デブロックフィルタ１０６は、フィルタリング後の画像をフレームメモリ１０９に供給し、蓄積させるとともに、画面並べ替えバッファ１０７に供給する。フレームメモリ１０９に蓄積された画像は、参照画像としてインター予測部１１１に供給される。
【０１８４】
ステップＳ１１１において、画面並べ替えバッファ１０７は、デブロックフィルタ１０６から供給される画像をフレーム単位で記憶し、記憶した符号化のための順番のフレーム単位の画像を、元の表示の順番に並び替え、D/A変換部１０８に供給する。
【０１８５】
ステップＳ１１２において、D/A変換部１０８は、画面並べ替えバッファ１０７から供給されるフレーム単位の画像をD/A変換し、出力信号として出力する。
【０１８６】
以上のように、復号装置１００は、インター予測時に、外側の予測画素の生成に用いられる参照画素の数を、内側の予測画素の生成に用いられる参照画素の数に比べて少なくするので、予測画像全体の生成に用いられる参照画素の数を削減することができる。その結果、フレームメモリ１０９のメモリ帯域の使用量を削減することができる。また、外側の予測画素の生成に用いられる参照画素が少ないので、演算量を削減することができる。
【０１８７】
さらに、復号装置１００は、外側の予測画素の生成に用いられる参照画素の数だけを少なくするので、符号化装置１０と同様に、インター予測の精度の悪化を抑制することができる。
【０１８８】
［インター予測部の第２の構成例］
図２６は、図３のインター予測部２４の第２の構成例を示すブロック図である。
【０１８９】
図２６に示す構成のうち、図４の構成と同じ構成には同じ符号を付してある。重複する説明については適宜省略する。
【０１９０】
図２６のインター予測部２４の構成は、主に、参照画像読出部４１、画素振り分け部４２、画素選択部４９の代わりに、参照画像読出部１６０、画素生成部１６１、画素選択部１６２が設けられている点、2タップFIRフィルタ４３、4タップFIRフィルタ４４、2タップフィルタ係数メモリ４６、および4タップフィルタ係数メモリ４７が削除された点が図４の構成と異なる。図２６のインター予測部２４は、図４のインター予測部２４の場合と同様にしてフレームメモリ２２（図３）から読み出された参照画素を複製して用いることにより、全てのSub pelの生成に用いられる画素の数を6個にする。
【０１９１】
具体的には、図２６のインター予測部２４の参照画像読出部１６０は、図４の参照画像読出部４１と同様に、図３の動き予測部２５から供給されるインター予測モード情報のうちの参照インデックスおよび予測方向に基づいて、フレームメモリ２２に記憶されている画像のうちの参照画像を特定する。参照画像読出部１６０は、参照画像読出部４１と同様に、インター予測モード情報のうちのブロックのサイズと動きベクトルに基づいて、予測画像の生成に用いられる参照画素をフレームメモリ２２から読み出し、一時的に保持する。
【０１９２】
参照画像読出部１６０は、参照画像読出部４１と同様に、予測画素ごとに、一時的に保持されている参照画素のうち、その予測画素の生成に用いられる参照画素を読み出す。なお、ここでは、予測画素の生成に用いられる参照画素の数は、4乃至6のいずれかである。参照画像読出部１６０は、参照画像読出部４１と同様に、読みされた参照画素を画素生成部１６１に供給する。
【０１９３】
画素生成部１６１は、図４の画素振り分け部４２と同様に、参照画像読出部４１から供給される参照画素を生成用画素とする。また、画素生成部１６１は、画素振り分け部４２と同様に、動き予測部２５から供給される動きベクトルの分数値に基づいて、中間結果メモリ５０から、生成対象の予測画素に対応するSub pelを生成用画素として読み出す。なお、ここでは、予測画素の生成に用いられるSub pelの数は、4乃至6のいずれかである。
【０１９４】
また、画素生成部１６１は、生成用画素の数が6個より小さい場合、その生成用画素のうちの外側の画素を、生成用画素の数と6個の差分だけ複製し、複製された画素と生成用画素からなる6個の画素を新たな生成用画素として生成する。
【０１９５】
具体的には、画素生成部１６１は、生成用画素の数が4である場合、その生成用画素のうちの外側の生成用画素を、その生成用画素の外側の2個の画素として複製し、その2個の画素と4個の生成用画素からなる6個の画素を6個の生成用画素とする。また、画素生成部１６１は、生成用画素の数が5である場合、その生成用画素のうちの外側の生成用画素を、その生成用画素の外側の1個の画素として複製し、その1個の画素と5個の生成用画素からなる6個の画素を6個の生成用画素とする。一方、画素生成部１６１は、生成用画素の数が6である場合、その生成用画素をそのまま6個の生成用画素とする。画素生成部１６１は、生成された6個の生成用画素を6タップFIRフィルタ４５に供給する。
【０１９６】
画素選択部１６２は、図４の画素選択部４９と同様に、動き予測部２５から供給される動きベクトルの分数値に基づいて、6タップFIRフィルタ４５から供給される画素を予測画素として図３の選択部２６に出力するか、中間結果メモリ５０に供給する。
【０１９７】
［複製後の生成用画素の説明］
図２７は、インター予測のブロックのサイズが8×8画素である場合に、水平方向に並ぶ、水平方向の位置が1/2画素位置であり、垂直方向の位置が整数位置である8個の予測画素それぞれの生成に用いられる複製後の生成用画素の例を示す図である。
【０１９８】
なお、図２７において、番号が付された正方形は予測画素を表し、番号および英字が付されていない正方形は参照画素を表す。また、水玉が付されている正方形は予測画素の生成に用いられる参照画素のうちの、インター予測のブロックのサイズの範囲内の参照画素を表し、斜線が付されている正方形は、インター予測のブロックのサイズの範囲を超えた範囲の参照画素を表している。さらに、英字が付された正方形は、参照画素が複製された画素である。
【０１９９】
図２７の例では、最も外側の予測画素は、4個の参照画素を含む6個の生成用画素を用いて生成され、その予測画素より1つ内側の予測画素は、5個の参照画素を含む6個の生成用画素を用いて生成される。また、その予測画素より内側の最も内側の予測画素を含む予測画素は、6個の参照画素を生成用画素として用いて生成される。
【０２００】
具体的には、生成対象が、水平方向に並ぶ、水平方向の位置が1/2画素位置であり、垂直方向の位置が整数位置である8個の予測画素のうちの最も外側の番号1が付された正方形が表す予測画素である場合、参照画像読出部１６０は、その予測画素の左に1つ位置し、右に3つ位置する合計4個の参照画素を画素生成部１６１に供給する。画素生成部１６１は、その4個の参照画素のうちの左端の参照画素を、その参照画素の左側の2個の整数位置の画素として複製し、その2個の画素と、画素生成部１６１から供給される4個の参照画素からなる6個の生成用画素を生成する。
【０２０１】
また、生成対象が、番号1が付された正方形が表す予測画素より1つ内側の番号2が付された正方形が表す予測画素である場合、参照画像読出部１６０は、その予測画素の左に2つ位置し、右に3つ位置する合計5個の参照画素を画素生成部１６１に供給する。画素生成部１６１は、その5個の参照画素のうちの左端の参照画素を、その参照画素の左側の1個の整数位置の画素として複製し、その1個の画素と、画素生成部１６１から供給される5個の参照画素からなる6個の生成用画素を生成する。
【０２０２】
さらに、生成対象が、番号2が付された正方形が表す予測画素より内側の番号3乃至6が付された正方形が表す予測画素である場合、参照画像読出部１６０は、その予測画素の左右に3つずつ位置する合計6個の参照画素を画素生成部１６１に供給する。画素生成部１６１は、その6個の参照画素をそのまま6個の生成用画素とする。
【０２０３】
また、生成対象が、最も外側の番号8が付された正方形が表す予測画素より1つ内側の番号7が付された正方形が表す予測画素である場合、参照画像読出部１６０は、その予測画素の右に2つ位置し、左に3つ位置する合計5個の参照画素を画素生成部１６１に供給する。画素生成部１６１は、その5個の参照画素のうちの右端の参照画素を、その参照画素の右側の1個の整数位置の画素として複製し、その1個の画素と、画素生成部１６１から供給される5個の参照画素からなる6個の生成用画素を生成する。
【０２０４】
さらに、生成対象が、最も外側の番号8が付された正方形が表す予測画素である場合、参照画像読出部１６０は、その予測画素の右に1つ位置し、左に3つ位置する合計4個の参照画素を画素生成部１６１に供給する。画素生成部１６１は、その4個の参照画素のうちの右端の参照画素を、その参照画素の右側の2個の整数位置の画素として複製し、その2個の画素と、画素生成部１６１から供給される4個の参照画素からなる6個の生成用画素を生成する。
【０２０５】
なお、説明は省略するが、水平方向の位置が整数位置であり、垂直方向の位置が分数位置である予測画素の生成時には、最も外側、即ち上下端の参照画素を複製することにより、6個の生成用画素が生成される。また、水平方向および垂直方向の位置が分数位置である予測画素の生成時には、まず、図２７の場合と同様に参照画素を用いて6個の生成用画素が生成され、その生成用画素を用いて予測対応画素が生成されて中間結果メモリ５０に記憶される。そして、中間結果メモリ５０から読み出された予測対応画素のうちの上下端に位置する参照画素を複製することにより、6個の生成用画素が生成される。
【０２０６】
［インター予測処理の第２の例の説明］
図２８および図２９は、図２６のインター予測部２４による図２０のステップＳ１５のインター予測処理の詳細を説明するフローチャートである。
【０２０７】
図２８のステップＳ１５０乃至Ｓ１５３の処理は、図２２のステップＳ５０乃至Ｓ５３の処理と同様であるので、説明は省略する。なお、予測対応画素が複数ある場合、以下のステップＳ１５４乃至Ｓ１６５の処理は、予測対応画素ごとに行われる。
【０２０８】
ステップＳ１５３の処理後、ステップＳ１５４において、参照画像読出部１６０は、生成対象の予測画素の予測画像上の位置に基づいて、予測対応画素の生成に用いられる参照画素の数を4乃至6のいずれかに決定する。
【０２０９】
ステップＳ１５５において、参照画像読出部１６０は、ステップＳ１５４で決定された参照画素の数と、生成対象の予測画素の参照画像上の位置に基づいて、ステップＳ１５２で保持された参照画素のうちの、予測対応画素の生成に用いられる参照画素を読み出す。参照画像読出部１６０は、読み出された参照画素を画素生成部１６１に供給する。
【０２１０】
ステップＳ１５６において、6タップフィルタ係数メモリ４８は、動き予測部２５から供給される動きベクトルの予測対応画素に対応する成分の分数値に基づいて、その分数値に対応付けて記憶されているフィルタ係数を6タップFIRフィルタ４５に供給する。
【０２１１】
ステップＳ１５７において、画素生成部１６１は、参照画像読出部１６０から供給される参照画素の数は4であるかどうかを判定する。ステップＳ１５７で参照画素の数は4であると判定された場合、処理はステップＳ１５８に進む。
【０２１２】
ステップＳ１５８において、画素生成部１６１は、参照画像読出部１６０から供給される4個の参照画素のうちの外側の参照画素を、その参照画素の外側の2個の画素として複製し、その2個の画素と4個の参照画素からなる6個の生成用画素を生成する。そして、画素生成部１６１は、生成された6個の生成用画素を6タップFIRフィルタ４５に供給し、処理をステップＳ１６１に進める。
【０２１３】
一方、ステップＳ１５７で参照画素の数は4ではないと判定された場合、ステップＳ１５９において、画素生成部１６１は、参照画像読出部１６０から供給される参照画素の数は5であるかどうかを判定する。
【０２１４】
ステップＳ１５９で参照画素の数は5であると判定された場合、処理はステップＳ１６０に進む。ステップＳ１６０において、画素生成部１６１は、参照画像読出部１６０から供給される5個の参照画素のうちの外側の参照画素を、その参照画素の外側の1個の画素として複製し、その1個の画素と5個の参照画素からなる6個の生成用画素を生成する。そして、画素生成部１６１は、生成された6個の生成用画素を6タップFIRフィルタ４５に供給し、処理をステップＳ１６１に進める。
【０２１５】
一方、ステップＳ１５９で参照画素の数は5ではないと判定された場合、即ち参照画素の数が6である場合、画素生成部１６１は、その6個の参照画素を生成用画素として6タップFIRフィルタ４５に供給し、処理をステップＳ１６１に進める。
【０２１６】
ステップＳ１６１において、6タップFIRフィルタ４５は、画素生成部１６１から供給される6個の生成用画素と、6タップフィルタ係数メモリ４８から供給されるフィルタ係数を用いて演算を行う。6タップFIRフィルタ４５は、その結果得られる1個の予測対応画素を画素選択部１６２に供給する。そして、処理はステップＳ１６２に進む。
【０２１７】
図２８のステップＳ１６２乃至Ｓ１６６の処理および図２９のステップＳ１６７の処理は、図２２のステップＳ６２乃至Ｓ６６の処理および図２３のステップＳ６７の処理と同様であるので、説明は省略する。
【０２１８】
ステップＳ１６８において、画素生成部１６１は、生成対象の予測画素の予測画像上の垂直方向の位置に基づいて、中間結果メモリ５０から読み出すSub pelの数を4乃至6のいずれかに決定する。
【０２１９】
ステップＳ１６９において、画素生成部１６１は、ステップＳ１６８で決定されたSub pelの数と、生成対象の予測画素の参照画像上の位置に基づいて、中間結果メモリ５０からSub pelを生成用画素として読み出す。
【０２２０】
ステップＳ１７０において、6タップフィルタ係数メモリ４８は、動き予測部２５から供給される動きベクトルの垂直成分の分数値に基づいて、その分数値に対応付けて記憶されているフィルタ係数を6タップFIRフィルタ４５に供給する。そして、処理はステップＳ１７１に進む。
【０２２１】
ステップＳ１７１乃至Ｓ１７５の処理は、参照画素の代わりにSub pelに対して行われる点を除いて、図２８のステップＳ１５７乃至Ｓ１６１の処理と同様であるので、説明は省略する。
【０２２２】
ステップＳ１７５の処理後、ステップＳ１７６において、画素選択部１６２は、6タップFIRフィルタ４５から供給される画素であるSub pelを予測画素として選択部２６に出力する。
【０２２３】
ステップＳ１７７において、参照画像読出部１６０は、全ての予測画素が生成されたか、即ちステップＳ１６７で予測画像を構成する全ての予測画素を生成対象の予測画素に決定したかどうかを判定する。ステップＳ１７７でまだ全ての予測画素が生成されていないと判定された場合、処理はステップＳ１６７に戻り、全ての予測画素が生成されるまで、ステップＳ１６７乃至Ｓ１７７の処理が繰り返される。
【０２２４】
一方、ステップＳ１７７で全ての予測画素が生成されたと判定された場合、処理は図２０のステップＳ１５に戻り、ステップＳ１６に進む。
【０２２５】
以上のように、図２６のインター予測部２４は、図４のインター予測部２４と同様に、インター予測時に、外側の予測画素の生成に用いられる参照画素の数を、内側の予測画素の生成に用いられる参照画素の数に比べて少なくするので、予測画像全体の生成に用いられる参照画素の数を削減することができる。その結果、フレームメモリ２２のメモリ帯域の使用量を削減することができる。また、外側の予測画素の生成に用いられる参照画素が少ないので、演算量を削減することができる。
【０２２６】
さらに、図２６のインター予測部２４は、外側の生成用画素を用いて画素を複製し、複製された画素と生成用画素からなる6個の画素を新たな生成用画素として用いて予測画素を生成する。従って、予測画素を生成するFIRフィルタのタップ数は6個のみであり、予測画素の位置に応じてFIRフィルタのタップ数を変更する図４のインター予測部２４に比べて処理が簡単である。
【０２２７】
なお、図示は省略するが、符号化装置１０が図２６のインター予測部２４を備える場合、復号装置１００のインター予測部１１１も、図２６のインター予測部２４と同様に構成される。
【０２２８】
また、上述した説明では、インターポーレーションにより1/2画素位置のSub pelが生成されるものとしたが、1/4画素位置や1/8画素位置のSub pelが生成されるようにしてもよい。この場合、フィルタ係数が異なること以外、1/2画素位置のSub pelの生成時と同様の処理が行われる。
【０２２９】
［インター予測部の第３の構成例］
図３０は、図３のインター予測部２４の第３の構成例を示すブロック図である。
【０２３０】
図３０に示す構成のうち、図２６の構成と同じ構成には同じ符号を付してある。重複する説明については適宜省略する。
【０２３１】
図３０のインター予測部２４の構成は、主に、参照画像読出部１６０の代わりに参照画像読出部１８０が設けられている点が図２６の構成と異なる。図３０のインター予測部２４は、外側の予測画素の生成に用いられる参照画素の数を、動きベクトルに応じて変更する。
【０２３２】
具体的には、図３０のインター予測部２４の参照画像読出部１８０は、図４の参照画像読出部４１と同様に、図３の動き予測部２５から供給されるインター予測モード情報のうちの参照インデックスおよび予測方向に基づいて、DPB（Decoded Picture Buffer）としてのフレームメモリ２２に記憶されている画像のうちの参照画像を特定する。参照画像読出部１８０は、インター予測モード情報のうちのブロックのサイズと動きベクトルに基づいて、予測画像の生成に用いられる参照画素の範囲を決定する。参照画像読出部１８０は、動きベクトルに基づいて、決定された範囲の参照画素をフレームメモリ２２から読み出し、一時的に保持する。
【０２３３】
参照画像読出部１８０は、参照画像読出部４１と同様に、予測画素ごとに、一時的に保持されている参照画素のうち、その予測画素の生成に用いられる参照画素を読み出す。なお、ここでは、予測画素の生成に用いられる参照画素の数は、4乃至6のいずれかである。参照画像読出部１８０は、参照画像読出部４１と同様に、読みされた参照画素を画素生成部１６１に供給する。
【０２３４】
［動きベクトルとブロックのサイズに基づく参照画素の範囲の説明］
図３１乃至図３３は、図２６のインター予測部２４が予測画素としてSub pel a乃至oをそれぞれ生成する際に用いる複製後の生成用画素の範囲を示す図である。
【０２３５】
なお、図３１乃至図３３において、英字が記述されている正方形は、その英字のSub pelを表し、斜線が付された正方形は、Sub pelの生成に用いられる生成用画素を表す。また、斜線が付されず、英字が記述されていない正方形は、Sub pelの生成に用いられない参照画素を表す。
【０２３６】
図３１に示すように、予測画素が、参照画像上の垂直方向の位置が整数位置であり、水平方向の位置が分数位置であるSub pel a乃至cである場合、予測画素の生成には、Sub pel a乃至cの左右にそれぞれ3つずつ隣接する複製後の生成用画素が用いられる。また、図３２に示すように、予測画素が、参照画像上の水平方向の位置が整数位置であり、垂直方向の位置が分数位置であるSub pel d,h,lである場合、予測画素の生成には、Sub pel d,h,lの上下にそれぞれ3つずつ隣接する複製後の生成用画素が用いられる。
【０２３７】
一方、図３３に示すように、予測画素が、参照画像上の水平方向および垂直方向の位置が分数位置であるSub pel e,f,g,i,j,k,m.n,oである場合、予測画素の生成には、Sub pel e,f,g,i,j,k,m.n,oを中心とする6×6画素の複製後の生成用画素が用いられる。
【０２３８】
従って、参照画像上の水平方向および垂直方向のいずれか一方の位置のみが分数位置である予測画素の生成に用いられる複製後の生成用画素の数は、両方の位置が分数位置である予測画素の生成に用いられる複製後の生成用画素の数に比べて少ない。即ち、水平方向および垂直方向のいずれか一方向のフィルタ処理により予測画素が生成される場合の生成用画素の数は、両方向のフィルタ処理により予測画素が生成される場合の生成用画素の数に比べて少ない。
【０２３９】
そこで、図３０の参照画像読出部１８０は、水平方向および垂直方向のいずれか一方向のフィルタ処理により予測画素が生成される場合、即ち動きベクトルの水平成分または垂直成分の分数値が0である場合、図２６の参照画像読出部１６０に比べて、生成用画素内の複製による画素の数を削減する。
【０２４０】
具体的には、水平方向および垂直方向の両方のフィルタ処理により予測画素が生成される場合、即ち動きベクトルの水平成分および垂直成分の分数値が0ではない場合、参照画像読出部１８０は、参照画像読出部１６０と同様の処理を行う。
【０２４１】
その結果、インター予測のブロックのサイズが8×8画素である場合、予測画像の生成に用いられる生成用画素は、例えば、図３４において水玉、斜線、または両斜線が付された正方形で表されたものとなる。
【０２４２】
なお、図３４において、正方形は参照画素を表している。また、水玉が付されている正方形は、予測画像の生成に用いられる参照画素のうちのインター予測のブロックのサイズの範囲内の参照画素を表し、斜線が付されている正方形は、インター予測のブロックのサイズの範囲を超えた範囲の参照画素を表している。さらに、両斜線が付されている正方形は、予測画像の生成に用いられる最も外側の参照画素が複製されたものを表している。これらのことは、後述する図３５および図３６においても同様である。
【０２４３】
図３４の例では、図２７の場合と同様に、最も外側の予測画素は、4個の参照画素と2個の複製による画素を含む6個の生成用画素を6個用いて生成される。また、その予測画素より1つ内側の予測画素は、5個の参照画素と1個の複製による画素を含む6個の生成用画素を6個用いて生成される。また、その予測画素より内側の最も内側の予測画素を含む予測画素は、6個の参照画素を生成用画素として6個用いて生成される。その結果、フレームメモリ２２から読み出される参照画素の範囲は9×9画素となる。
【０２４４】
これに対して、水平方向のフィルタ処理により予測画素を生成する場合、即ち動きベクトルの水平成分の分数値が0ではなく、垂直成分の分数値が0である場合、図３５に示すように、図３４の場合に比べて複製による画素の数が削減される。
【０２４５】
具体的には、最も左側の予測画素に用いられる生成用画素が、図３５中点線で示すように、5個の参照画素と、複製による1個の画素とにより構成される。これにより、フレームメモリ２２から読み出される参照画素の水平方向の範囲が、図３４の場合に比べて1個増加するが、垂直方向のフィルタ処理は行われないため、垂直方向の範囲はインター予測のブロックのサイズと同一である。従って、フレームメモリ２２から読み出される参照画素の範囲は10×8画素となり、図３４の場合に比べて小さくなる。
【０２４６】
同様に、垂直方向のフィルタ処理により予測画素を生成する場合、即ち動きベクトルの垂直成分の分数値が0ではなく、水平成分の分数値が0である場合、図３６に示すように、図３４の場合に比べて複製による画素の数が削減される。
【０２４７】
具体的には、最も上側の予測画素に用いられる生成用画素が、図３６中点線で示すように、5個の参照画素と、複製による1個の画素とにより構成される。これにより、フレームメモリ２２から読み出される参照画素の垂直方向の範囲が、図３４の場合に比べて1個増加するが、水平方向のフィルタ処理は行われないため、水平方向の範囲はインター予測のブロックのサイズと同一である。従って、フレームメモリ２２から読み出される参照画素の範囲は8×10画素となり、図３４の場合に比べて小さくなる。
【０２４８】
以上のように、図３０のインター予測部２４は、動きベクトルの水平成分および垂直成分のいずれか一方の分数値のみが0ではない場合、両成分の分数値が0ではない場合に比べて、外側の予測画素の生成に用いられる参照画素の数を増加させ、複製による画素の数を削減する。その結果、フレームメモリ２２のメモリ帯域の使用量を削減しつつ、図２６のインター予測部２４に比べてインター予測の精度を向上させることができる。
【０２４９】
また、図３４乃至図３６に示したように、動きベクトルの水平成分および垂直成分のいずれか一方の分数値のみが0ではない場合の参照画素の範囲が、両成分の分数値が0ではない場合の参照画素の範囲以下となるように、外側の予測画素の生成に用いられる参照画素の数が増加される場合、図２６のインター予測部２４に比べて、フレームメモリ２２のメモリ帯域の最大使用量を増加させずに、インター予測の精度を向上させることができる。
【０２５０】
なお、一般的に、フレームメモリ２２としては、DRAM（Dynamic Random Access Memory）が実装されることが多く、従来のようにメモリ帯域の使用量が大きい場合、製造コストは高くなる。
【０２５１】
［インター予測処理の第３の例の説明］
図３７および図３８は、図３０のインター予測部２４による図２０のステップＳ１５のインター予測処理の詳細を説明するフローチャートである。
【０２５２】
図３７および図３８のステップＳ１８１乃至Ｓ２０７の処理は、ステップＳ１５１およびＳ１５２の処理がステップＳ１８２の処理に、ステップＳ１５４の処理がステップＳ１８４の処理に代わること以外、図２８および図２９のステップＳ１５０乃至Ｓ１７７の処理と同様である。
【０２５３】
図３７のステップＳ１８２の処理は、参照画像読出部１８０による参照画素を読み出す読出処理であり、その読出処理の詳細は、後述する図３９を参照して説明する。
【０２５４】
また、図３７のステップＳ１８４の処理では、参照画像読出部１８０が、生成対象の予測画素の予測画像上の位置および動きベクトルの分数値に基づいて、予測対応画素の生成に用いられる参照画素の数を4乃至6のいずれかに決定する。例えば、参照画像読出部１８０は、生成対象の予測画素の予測画像上の位置が最も左側であり、動きベクトルの水平成分の分数値が0ではなく、垂直成分の分数値が0である場合、参照画素の数を5に決定する。
【０２５５】
図３９は、図３７のステップＳ１８２の読出処理の詳細を説明するフローチャートである。
【０２５６】
図３９のステップＳ２２１において、参照画像読出部１８０は、動き予測部２５から供給される動きベクトルの水平成分と垂直成分の両方の分数値が0以外であるかどうかを判定する。
【０２５７】
ステップＳ２２１で動きベクトルの水平成分と垂直成分の両方の分数値が0以外であると判定された場合、処理は、ステップＳ２２２に進む。即ち、予測画素の参照画像上の水平方向および垂直方向の両方の位置が分数位置である場合（例えば予測画素がSub pel e,f,g,i,j,k,m.n,oである場合）、処理はステップＳ２２２に進む。
【０２５８】
ステップＳ２２２において、参照画像読出部１８０は、インター予測のブロックのサイズのブロック、そのブロックの下側の1画素幅のブロック、および、その両方のブロックからなるブロックの右側の1画素幅のブロックを参照画素の範囲として決定する。例えば、インター予測のブロックのサイズが8×8画素である場合、参照画像読出部１８０は、9×9画素を参照画素の範囲として決定する。そして、処理はステップＳ２２６に進む。
【０２５９】
一方、ステップＳ２２１で動きベクトルの水平成分と垂直成分のいずれか一方の分数値が0以外ではないと判定された場合、ステップＳ２２３において、参照画像読出部１８０は、動きベクトルの水平成分の分数値のみが0以外であるかどうかを判定する。
【０２６０】
ステップＳ２２３で動きベクトルの水平成分の分数値のみが0以外であると判定された場合、処理はステップＳ２２４に進む。即ち、予測画素の参照画像上の水平方向の位置が分数位置であり、垂直方向の位置が整数位置である場合（例えば予測画素がSub pel a乃至cである場合）、処理はステップＳ２２４に進む。
【０２６１】
ステップＳ２２４において、参照画像読出部１８０は、インター予測のブロックのサイズのブロック、および、そのブロックの左側と右側の1画素幅のブロックを参照画素の範囲として決定する。例えば、インター予測のブロックのサイズが8×8画素である場合、参照画像読出部１８０は、10×8画素を参照画素の範囲として決定する。そして、処理はステップＳ２２６に進む。
【０２６２】
一方、ステップＳ２２３で動きベクトルの水平成分の分数値が0であると判定された場合、処理はステップＳ２２５に進む。即ち、予測画素の参照画像上の垂直方向の位置が分数位置であり、水平方向の位置が整数位置である場合（例えば予測画素がSub pel d,h,lである場合）、または、水平方向および垂直方向の両方の位置が整数位置である場合、処理はステップＳ２２５に進む。
【０２６３】
ステップＳ２２５において、参照画像読出部１８０は、インター予測のブロックのサイズのブロック、および、そのブロックの上側と下側の1画素幅のブロックを参照画素の範囲として決定する。例えば、インター予測のブロックのサイズが8×8画素である場合、参照画像読出部１８０は、8×10画素を参照画素の範囲として決定する。そして、処理はステップＳ２２６に進む。
【０２６４】
ステップＳ２２６において、参照画像読出部１８０は、動きベクトルに対応する位置の、ステップＳ２２２，Ｓ２２４、またはＳ２２５の処理で決定された範囲の参照画素をフレームメモリ２２から読み出し、一時的に保持する。そして、処理は、図３７のステップＳ１８２に戻り、処理はステップＳ１８３に進む。
【０２６５】
なお、図３０乃至図３９では、予測対応画素の生成に用いられる生成用画素の数は6個であるが、その生成用画素の数は8個であるようにすることもできる。
【０２６６】
［予測対応画素の生成に用いられる生成用画素の数が8個である場合の参照画素の範囲の説明］
図４０および図４１は、動きベクトルの水平成分および垂直成分の分数値が0ではない場合の参照画素の範囲の例を説明する図である。
【０２６７】
なお、図４０の例では、インター予測のブロックのサイズが8×8画素である。また、図４０において、番号が付された正方形は予測対応画素を表し、番号および英字が付されていない正方形は参照画素を表す。また、水玉が付されている正方形は予測対応画素の生成に用いられる参照画素のうちの、インター予測のブロックのサイズの範囲内の参照画素を表し、斜線が付されている正方形は、インター予測のブロックのサイズの範囲を超えた範囲の参照画素を表している。さらに、英字が付された正方形は、参照画素が複製された画素である。
【０２６８】
図４０に示すように、動きベクトルの水平成分および垂直成分の分数値が0ではない場合、最も外側の予測対応画素は、例えば、6個の参照画素を含む8個の生成用画素を用いて生成される。また、その予測対応画素より1つ内側の予測対応画素は、7個の参照画素を含む8個の生成用画素を用いて生成され、その予測対応画素より内側の最も内側の予測対応画素を含む予測対応画素は、8個の参照画素を生成用画素として用いて生成される。
【０２６９】
具体的には、生成対象が、水平方向に並ぶ、水平方向の位置が1/2画素位置であり、垂直方向の位置が整数位置である8個の予測対応画素のうちの最も外側の番号1が付された正方形が表す予測対応画素である場合、その予測対応画素の左に2つ位置し、右に4つ位置する合計6個の参照画素が生成用画素とされる。そして、その6個の参照画素のうちの左端の参照画素が、その参照画素の左側の2個の整数位置の画素として複製され、その2個の画素と、生成用画素としての6個の参照画素とからなる新たな8個の生成用画素が、予測対応画素の生成に用いられる。
【０２７０】
また、生成対象が、番号1が付された正方形が表す予測対応画素より1つ内側の番号2が付された正方形が表す予測対応画素である場合、その予測対応画素の左に3つ位置し、右に4つ位置する合計7個の参照画素が生成用画素とされる。そして、その7個の参照画素のうちの左端の参照画素が、その参照画素の左側の1個の整数位置の画素として複製され、その1個の画素と、生成用画素としての7個の参照画素とからなる新たな8個の生成用画素が、予測対応画素の生成に用いられる。
【０２７１】
さらに、生成対象が、番号2が付された正方形が表す予測対応画素より内側の番号3乃至6が付された正方形が表す予測対応画素である場合、その予測対応画素の左右に4つずつ位置する合計8個の参照画素が、生成用画素としてそのまま予測対応画素の生成に用いられる。
【０２７２】
また、生成対象が、最も外側の番号8が付された正方形が表す予測対応画素より1つ内側の番号7が付された正方形が表す予測対応画素である場合、その予測対応画素の右に3つ位置し、左に4つ位置する合計7個の参照画素が生成用画素とされる。そして、その7個の参照画素のうちの右端の参照画素が、その参照画素の右側の1個の整数位置の画素として複製され、その1個の画素と、7個の参照画素とからなる新たな8個の生成用画素が、予測対応画素の生成に用いられる。
【０２７３】
さらに、生成対象が、最も外側の番号8が付された正方形が表す予測対応画素である場合、その予測対応画素の右に2つ位置し、左に4つ位置する合計6個の参照画素が生成用画素とされる。そして、その6個の参照画素のうちの右端の参照画素が、その参照画素の右側の2個の整数位置の画素として複製され、その2個の画素と、6個の参照画素からなる8個の生成用画素が、予測対応画素の生成に用いられる。
【０２７４】
そして、以上により生成された予測対応画素としてのSub pelが、参照画素と同様に用いられて8個の生成用画素が生成され、その8個の生成用画素が、予測画素の生成に用いられる。
【０２７５】
その結果、予測画像の生成に用いられる生成用画素は、例えば、図４１において水玉、斜線、または両斜線が付された正方形で表されたものとなる。即ち、フレームメモリ２２から読み出される参照画素の範囲は11×11画素となる。
【０２７６】
なお、図４１において、正方形は参照画素を表している。また、水玉が付されている正方形は、予測画像の生成に用いられる参照画素のうちのインター予測のブロックのサイズの範囲内の参照画素を表し、斜線が付されている正方形は、インター予測のブロックのサイズの範囲を超えた範囲の参照画素を表している。さらに、両斜線が付されている正方形は、予測画像の生成に用いられる最も外側の参照画素が複製されたものを表している。これらのことは、後述する図４２および図４３においても同様である。
【０２７７】
図４２は、動きベクトルの水平成分の分数値が0ではなく、垂直成分の分数値が0である場合の予測画像の生成に用いられる生成用画素の例を示す図である。なお、図４２の例では、インター予測のブロックのサイズが8×8画素である。
【０２７８】
図４２の例では、最も左側および右側の予測画素に用いられる生成用画素が、図４２中点線で示すように、7個の参照画素と、複製による1個の画素とにより構成される。また、それらの予測画素より内側の全ての予測画素に用いられる生成用画素が、8個の参照画素により構成される。これにより、フレームメモリ２２から読み出される参照画素の水平方向の範囲が、図４１の場合に比べて2個増加するが、垂直方向のフィルタ処理は行われないため、垂直方向の範囲はインター予測のブロックのサイズと同一である。従って、フレームメモリ２２から読み出される参照画素の範囲は13×8画素となり、図４１の場合に比べて小さくなる。
【０２７９】
図４３は、動きベクトルの垂直成分の分数値が0ではなく、水平成分の分数値が0である場合の予測画像の生成に用いられる生成用画素の例を示す図である。なお、図４３の例では、インター予測のブロックのサイズが8×8画素である。
【０２８０】
図４３の例では、最も上側および下側の予測画素に用いられる生成用画素が、図４３中点線で示すように、7個の参照画素と、複製による1個の画素とにより構成される。また、それらの予測画素より内側の全ての予測画素に用いられる生成用画素が、8個の参照画素により構成される。これにより、フレームメモリ２２から読み出される参照画素の垂直方向の範囲が、図４１の場合に比べて2個増加するが、水平方向のフィルタ処理は行われないため、水平方向の範囲はインター予測のブロックのサイズと同一である。従って、フレームメモリ２２から読み出される参照画素の領域は8×13画素となり、図４１の場合に比べて小さくなる。
【０２８１】
なお、予測対応画素の生成に用いられる生成用画素の数が8個である場合のインター予測部２４の構成およびインター予測部２４の処理は、生成用画素の数が6個ではなく8個である点、および、生成用画素に含まれる参照画素の数が、4乃至6個ではなく、7個および8個のいずれかである点を除いて同様であるので、説明は省略する。
【０２８２】
［インター予測部の第４の構成例］
図４４は、図３のインター予測部２４の第４の構成例を示すブロック図である。
【０２８３】
図４４に示す構成のうち、図２６の構成と同じ構成には同じ符号を付してある。重複する説明については適宜省略する。
【０２８４】
図４４のインター予測部２４の構成は、主に、参照画像読出部１６０の代わりに参照画像読出部２００が設けられ、画素生成部１６１の代わりに画素生成部２０１が設けられている点が図２６の構成と異なる。図４４のインター予測部２４は、外側の予測画素の生成に用いられる参照画素の数を、インター予測のブロックのサイズに応じて変更する。
【０２８５】
具体的には、図４４のインター予測部２４の参照画像読出部２００は、図４の参照画像読出部４１と同様に、図３の動き予測部２５から供給されるインター予測モード情報のうちの参照インデックスおよび予測方向に基づいて、フレームメモリ２２に記憶されている画像のうちの参照画像を特定する。
【０２８６】
また、参照画像読出部２００は、インター予測モード情報のうちのブロックのサイズと動きベクトルに基づいて、予測画像の生成に用いられる参照画素の範囲を決定する。参照画像読出部２００は、動きベクトルに基づいて、決定された範囲の参照画素をフレームメモリ２２から読み出し、一時的に保持する。
【０２８７】
参照画像読出部２００は、参照画像読出部４１と同様に、予測画素ごとに、一時的に保持されている参照画素のうち、その予測画素の生成に用いられる参照画素を読み出す。なお、ここでは、予測画素の生成に用いられる参照画素の数は、4乃至6のいずれかである。参照画像読出部２００は、参照画像読出部４１と同様に、読みされた参照画素を画素生成部２０１に供給する。
【０２８８】
画素生成部２０１は、図２６の画素生成部１６１と同様に、参照画像読出部２００から供給される参照画素を生成用画素とする。また、画素生成部２０１は、動き予測部２５から供給されるインター予測モード情報のうちのインター予測のブロックのサイズ、動きベクトルの分数値、および予測画素の予測画像上の位置に基づいて、その予測画素の生成に用いられるSub pelの数を決定する。そして、画素生成部２０１は、中間結果メモリ５０から、生成対象の予測画素に対応する、決定された数のSub pelを生成用画素として読み出す。なお、ここでは、予測画素の生成に用いられるSub pelの数は、4乃至6のいずれかである。
【０２８９】
また、画素生成部２０１は、画素生成部１６１と同様に、生成用画素の数が6個より小さい場合、その生成用画素のうちの外側の画素を、生成用画素の数と6個の差分だけ複製し、複製された画素と生成用画素からなる6個の画素を新たな生成用画素として生成する。画素生成部２０１は、生成された6個の生成用画素を6タップFIRフィルタ４５に供給する。
【０２９０】
［インター予測処理の第４の例の説明］
図４５および図４６は、図４４のインター予測部２４による図２０のステップＳ１５のインター予測処理の詳細を説明するフローチャートである。
【０２９１】
図４５および図４６のステップＳ２３１乃至Ｓ２５７の処理は、ステップＳ１５１およびＳ１５２の処理がステップＳ２３２の処理に、ステップＳ１５４の処理がステップＳ２３４の処理に、ステップＳ１６８の処理がステップＳ２４８の処理に代わること以外、図２８および図２９のステップＳ１５０乃至Ｓ１７７の処理と同様である。
【０２９２】
図４５のステップＳ２３２の処理は、参照画像読出部２００による参照画像を読み出す読出処理であり、その読出処理の詳細は、後述する図４７を参照して説明する。
【０２９３】
また、図４５のステップＳ２３４の処理では、参照画像読出部２００が、生成対象の予測画素の予測画像上の位置およびインター予測のブロックのサイズに基づいて、予測対応画素の生成に用いられる参照画素の数を4乃至6のいずれかに決定する。
【０２９４】
また、図４６のステップＳ２４８の処理では、画素生成部２０１が、生成対象の予測画素の予測画像上の垂直方向の位置およびインター予測のブロックのサイズに基づいて、中間結果メモリ５０から読み出すSub pelの数を4乃至6のいずれかに決定する。
【０２９５】
図４７は、図４５のステップＳ２３２の読出処理の詳細を説明するフローチャートである。
【０２９６】
図４７のステップＳ２６１において、図４４のインター予測部２４の参照画像読出部２００は、動き予測部２５から供給されるインター予測モード情報のうちのインター予測のブロックのサイズが8×8画素より小さいかどうかを判定する。
【０２９７】
ステップＳ２６１でインター予測のブロックのサイズが8×8画素より小さいと判定された場合、即ち、例えば、インター予測のブロックのサイズが4×4画素、8×4画素、4×8画素である場合、処理はステップＳ２６２に進む。
【０２９８】
ステップＳ２６２において、参照画像読出部２００は、インター予測のブロックのサイズのブロック、そのブロックの下側の1画素幅のブロック、および、その両方のブロックからなるブロックの右側の1画素幅のブロックを参照画素の範囲として決定する。例えば、インター予測のブロックのサイズが4×4画素である場合、参照画像読出部２００は、5×5画素を参照画素の範囲として決定する。そして、処理はステップＳ２６６に進む。
【０２９９】
一方、ステップＳ２６１でインター予測のブロックのサイズが8×8画素より小さくはないと判定された場合、ステップＳ２６３において、参照画像読出部２００は、インター予測のブロックのサイズが16×16画素より小さいかどうかを判定する。
【０３００】
ステップＳ２６３でインター予測のブロックのサイズが16×16画素より小さいと判定された場合、即ち、例えば、インター予測のブロックのサイズが8×8画素、16×8画素、8×16画素である場合、処理はステップＳ２６４に進む。
【０３０１】
ステップＳ２６４において、参照画像読出部２００は、インター予測のブロックのサイズのブロック、そのブロックの上側と下側の1画素幅のブロック、および、それらの3つのブロックからなるブロックの左側と右側の1画素幅のブロックを参照画素の範囲として決定する。例えば、インター予測のブロックのサイズが8×8画素である場合、参照画像読出部２００は、10×10画素を参照画素の範囲として決定する。そして、処理はステップＳ２６６に進む。
【０３０２】
一方、ステップＳ２６３でインター予測のブロックのサイズが16×16画素より小さくはないと判定された場合、即ち、例えば、インター予測のブロックのサイズが、16×16画素、32×16画素、16×32画素、32×32画素である場合、処理はステップＳ２６５に進む。
【０３０３】
ステップＳ２６５において、参照画像読出部２００は、インター予測のブロックのサイズのブロック、そのブロックの上側の1画素幅のブロックおよび下側の2画素幅のブロック、並びに、それらの3つのブロックからなるブロックの左側の1画素幅のブロックおよび右側の2画素幅のブロックを参照画素の範囲として決定する。例えば、インター予測のブロックのサイズが16×16画素である場合、参照画像読出部２００は、19×19画素を参照画素の範囲として決定する。そして、処理はステップＳ２６６に進む。
【０３０４】
ステップＳ２６６において、参照画像読出部２００は、動きベクトルに対応する位置の、ステップＳ２６２，Ｓ２６４、またはＳ２６５の処理で決定された範囲の参照画素をフレームメモリ２２から読み出し、一時的に保持する。そして、処理は、図４５のステップＳ２３２に戻り、処理はステップＳ２３３に進む。
【０３０５】
以上のように、図４４のインター予測部２４は、インター予測のブロックのサイズが大きい場合、小さい場合に比べて、外側の予測画素の生成に用いられる参照画素の数を増加させ、複製による画素の数を削減する。その結果、フレームメモリ２２のメモリ帯域の使用量を削減しつつ、図２６のインター予測部２４に比べてインター予測の精度を向上させることができる。
【０３０６】
また、図４７の読出処理のように、インター予測のブロックのサイズが大きい場合の、インター予測のブロックのサイズに対する任意の分数位置の予測画像の生成に用いられる参照画素の範囲の割合（以下、参照画素割合という）が、小さい場合の参照画素割合以下となるように、外側の予測画素の生成に用いられる参照画素の数が増加される場合、図２６のインター予測部２４に比べて、最大参照画素割合を増加させずに、インター予測の精度を向上させることができる。
【０３０７】
具体的には、図２６のインター予測部２４では、インター予測のブロックのサイズが小さい場合、大きい場合に比べて参照画素割合が大きくなる。例えば、インター予測のブロックのサイズが8×8画素である場合、図２６のインター予測部２４では9×9画素の参照画素を読み出す必要があるため、参照画素割合は1.3（=9×9/(8×8)）となる。これに対して、インター予測のブロックのサイズが4×4画素である場合、読み出す必要のある参照画素の領域のサイズは5×5画素であるため、参照画素割合は、1.6（=5×5/(4×4))となる。従って、インター予測のブロックのサイズが4×4画素である場合の参照画素割合は、インター予測のブロックのサイズが8×8画素である場合に比べて大きい。
【０３０８】
従って、図４４のインター予測部２４は、図４７の読出処理のように、インター予測のブロックのサイズが大きい場合の参照画素割合が、小さい場合の参照画素割合以下となるように、外側の予測画素の生成に用いられる参照画素の数を増加することにより、図２６のインター予測部２４に比べて、最大参照画素割合を増加させずに、インター予測の精度を向上させることができる。
【０３０９】
［インター予測部の第５の構成例］
図４８は、図３のインター予測部２４の第５の構成例を示すブロック図である。
【０３１０】
図４８に示す構成のうち、図２６の構成と同じ構成には同じ符号を付してある。重複する説明については適宜省略する。
【０３１１】
図４８のインター予測部２４の構成は、主に、参照画像読出部１６０の代わりに参照画像読出部２１０が設けられ、画素生成部１６１の代わりに画素生成部２１１が設けられている点が図２６の構成と異なる。図４８のインター予測部２４は、外側の予測画素の生成に用いられる参照画素の数を、予測方向に応じて変更する。
【０３１２】
具体的には、図４８のインター予測部２４の参照画像読出部２１０は、図４の参照画像読出部４１と同様に、図３の動き予測部２５から供給されるインター予測モード情報のうちの参照インデックスおよび予測方向に基づいて、フレームメモリ２２に記憶されている画像のうちの参照画像を特定する。
【０３１３】
また、参照画像読出部２１０は、インター予測モード情報のうちの予測方向およびブロックのサイズ、並びに動きベクトルに基づいて、予測画像の生成に用いられる参照画素の範囲を決定する。参照画像読出部２１０は、動きベクトルに基づいて、決定された範囲の参照画素をフレームメモリ２２から読み出し、一時的に保持する。
【０３１４】
参照画像読出部２１０は、参照画像読出部４１と同様に、予測画素ごとに、一時的に保持されている参照画素のうち、その予測画素の生成に用いられる参照画素を読み出す。なお、ここでは、予測画素の生成に用いられる参照画素の数は、4乃至6のいずれかである。参照画像読出部２１０は、参照画像読出部４１と同様に、読みされた参照画素を画素生成部２１１に供給する。
【０３１５】
画素生成部２１１は、図２６の画素生成部１６１と同様に、参照画像読出部２１０から供給される参照画素を生成用画素とする。また、画素生成部２１１は、動き予測部２５から供給されるインター予測モード情報のうちの予測方向、動きベクトルの分数値、および予測画素の予測画像上の位置に基づいて、その予測画素の生成に用いられるSub pelの数を決定する。そして、画素生成部２１１は、中間結果メモリ５０から、生成対象の予測画素に対応する、決定された数のSub pelを生成用画素として読み出す。なお、ここでは、予測画素の生成に用いられるSub pelの数は、4乃至6のいずれかである。
【０３１６】
また、画素生成部２１１は、画素生成部１６１と同様に、生成用画素の数が6個より小さい場合、その生成用画素のうちの外側の画素を、生成用画素の数と6個の差分だけ複製し、複製された画素と生成用画素からなる6個の画素を新たな生成用画素として生成する。画素生成部２１１は、生成された6個の生成用画素を6タップFIRフィルタ４５に供給する。
【０３１７】
［インター予測処理の第５の例の説明］
図４９および図５０は、図４８のインター予測部２４による図２０のステップＳ１５のインター予測処理の詳細を説明するフローチャートである。
【０３１８】
図４９および図５０のステップＳ２７１乃至Ｓ２９７の処理は、ステップＳ１５１およびＳ１５２の処理がステップＳ２７２の処理に、ステップＳ１５４の処理がステップＳ２７４の処理に、ステップＳ１６８の処理がステップＳ２８８の処理に代わること以外、図２８および図２９のステップＳ１５０乃至Ｓ１７７の処理と同様である。
【０３１９】
図４９のステップＳ２７２の処理は、参照画像読出部２１０による参照画像を読み出す読出処理であり、その読出処理の詳細は、後述する図５１を参照して説明する。
【０３２０】
また、図４９のステップＳ２７４の処理では、参照画像読出部２１０が、生成対象の予測画素の予測画像上の位置および予測方向に基づいて、予測対応画素の生成に用いられる参照画素の数を4乃至6のいずれかに決定する。
【０３２１】
また、図５０のステップＳ２８８の処理では、画素生成部２１１は、生成対象の予測画素の予測画像上の垂直方向の位置および予測方向に基づいて、中間結果メモリ５０から読み出すSub pelの数を4乃至6のいずれかに決定する。
【０３２２】
図５１は、図４９のステップＳ２７２の読出処理の詳細を説明するフローチャートである。
【０３２３】
図５１のステップＳ３０１において、図４８のインター予測部２４の参照画像読出部２１０は、動き予測部２５から供給されるインター予測モード情報のうちの予測方向がBi-predictionであるかどうかを判定する。
【０３２４】
ステップＳ３０１で予測方向がBi-predictionであると判定された場合、処理はステップＳ３０２に進む。ステップＳ３０２において、参照画像読出部２１０は、インター予測のブロックのサイズのブロック、そのブロックの下側の1画素幅のブロック、および、その両方のブロックからなるブロックの右側の1画素幅のブロックを参照画素の範囲として決定する。そして、処理はステップＳ３０４に進む。
【０３２５】
一方、ステップＳ３０１で予測方向がBi-predictionではないと判定された場合、即ち予測方向がL0予測またはL1予測である場合、処理はステップＳ３０３に進む。ステップＳ３０３において、参照画像読出部２１０は、インター予測のブロックのサイズのブロック、そのブロックの上側の1画素幅のブロックおよび下側の2画素幅のブロック、並びに、それらの3つのブロックからなるブロックの左側の1画素幅のブロックおよび右側の2画素幅のブロックを参照画素の範囲として決定する。そして、処理はステップＳ３０４に進む。
【０３２６】
ステップＳ３０４において、参照画像読出部２１０は、動きベクトルに対応する位置の、ステップＳ３０２またはＳ３０３の処理で決定された範囲の参照画素をフレームメモリ２２から読み出し、一時的に保持する。そして、処理は、図４９のステップＳ２７２に戻り、処理はステップＳ２７３に進む。
【０３２７】
以上のように、図４８のインター予測部２４は、予測方向がL0予測またはL1予測である場合、予測方向がBi-predictionである場合に比べて、外側の予測画素の生成に用いられる参照画素の数を増加させ、複製による画素の数を削減する。その結果、フレームメモリ２２のメモリ帯域の使用量を削減しつつ、図２６のインター予測部２４に比べてインター予測の精度を向上させることができる。
【０３２８】
また、図５１の読出処理のように、予測方向がL0予測またはL1予測である場合の参照画素の範囲が、予測方向がBi-predictionである場合の参照画素の範囲以下となるように、外側の予測画素の生成に用いられる参照画素の数が増加される場合、図２６のインター予測部２４に比べて、フレームメモリ２２のメモリ帯域の最大使用量を増加させずに、インター予測の精度を向上させることができる。
【０３２９】
具体的には、予測方向がBi-predictionである場合、予測方向がL0予測またはL1予測である場合に比べて、2倍の参照画素を読み出す必要がある。従って、図４８のインター予測部２４は、予測方向がL0予測またはL1予測であるの参照画素の範囲が、予測方向がBi-predictionである場合の参照画素の範囲以下となるように、外側の予測画素の生成に用いられる参照画素の数を増加することにより、図２６のインター予測部２４に比べて、フレームメモリ２２のメモリ帯域の最大使用量を増加させずに、インター予測の精度を向上させることができる。
【０３３０】
なお、上述した説明では、動きベクトルの水平成分および垂直成分の両方の分数値が0である場合、即ち予測画素の位置が整数位置である場合にも、予測画素に対応する参照画素以外の画素に対応するフィルタ係数を0とした演算が行われるようにしたが、行われないようにしてもよい。この場合、図４の参照画像読出部４１、図２６の参照画像読出部１６０、図３０の参照画像読出部１８０、図４４の参照画像読出部２００、図４８の参照画像読出部２１０は、動きベクトルに対応する位置のインター予測のブロックのサイズのブロックをフレームメモリ２２から読み出し、そのまま予測画像として出力する。
【０３３１】
［インター予測部の第６の構成例］
図５２は、図３のインター予測部２４の第６の構成例を示すブロック図である。
【０３３２】
図５２に示す構成のうち、図２６の構成と同じ構成には同じ符号を付してある。重複する説明については適宜省略する。
【０３３３】
図５２のインター予測部２４の構成は、主に、参照画像読出部１６０の代わりに参照画像読出部２２０が設けられ、画素生成部１６１の代わりに画素生成部２２１が設けられている点が図２６の構成と異なる。図５２のインター予測部２４は、外側の予測画素の生成に用いられる参照画素の数を、動きベクトル、インター予測のブロックのサイズ、および予測方向に応じて変更する。
【０３３４】
具体的には、図５２のインター予測部２４の参照画像読出部２２０は、図４の参照画像読出部４１と同様に、図３の動き予測部２５から供給されるインター予測モード情報のうちの参照インデックスおよび予測方向に基づいて、フレームメモリ２２に記憶されている画像のうちの参照画像を特定する。
【０３３５】
また、参照画像読出部２２０は、インター予測モード情報のうちの予測方向およびブロックのサイズ、並びに動きベクトルに基づいて、予測画像の生成に用いられる参照画素の範囲を決定する。参照画像読出部２２０は、決定された範囲の参照画素をフレームメモリ２２から読み出し、一時的に保持する。
【０３３６】
参照画像読出部２２０は、参照画像読出部４１と同様に、予測画素ごとに、一時的に保持されている参照画素のうち、その予測画素の生成に用いられる参照画素を読み出す。なお、ここでは、予測画素の生成に用いられる参照画素の数は、2乃至6のいずれかである。参照画像読出部２２０は、参照画像読出部４１と同様に、読みされた参照画素を画素生成部２２１に供給する。
【０３３７】
画素生成部２２１は、図２６の画素生成部１６１と同様に、参照画像読出部２２０から供給される参照画素を生成用画素とする。また、画素生成部２２１は、動き予測部２５から供給されるインター予測モード情報のうちのブロックのサイズおよび予測方向、動きベクトルの分数値、および予測画素の予測画像上の位置に基づいて、その予測画素の生成に用いられるSub pelの数を決定する。そして、画素生成部２２１は、中間結果メモリ５０から、生成対象の予測画素に対応する、決定された数のSub pelを生成用画素として読み出す。なお、ここでは、予測画素の生成に用いられるSub pelの数は、2乃至6のいずれかである。
【０３３８】
また、画素生成部２２１は、画素生成部１６１と同様に、生成用画素の数が6個より小さい場合、その生成用画素のうちの外側の画素を、生成用画素の数と6個の差分だけ複製し、複製された画素と生成用画素からなる6個の画素を新たな生成用画素として生成する。画素生成部２２１は、生成された6個の生成用画素を6タップFIRフィルタ４５に供給する。
【０３３９】
［参照画素の範囲の例］
図５３および図５４は、図５２の参照画像読出部２２０により決定される参照画素の範囲と、動きベクトルに対応する予測画素のグループ、インター予測のブロックのサイズ、および予測方向との関係の例を示す図である。
【０３４０】
なお、図５３は、参照画素割合が4以下である場合の関係の例を示す図であり、図５４は、参照画素割合が5以下である場合の関係の例を示す図である。
【０３４１】
また、図５３および図５４において、Innerは、動きベクトルの水平成分および垂直成分の両方の分数値が0以外である場合の予測画素（例えば、Sub pel e,f,g,i,j,k,m.n,o）のグループを表す。また、Outer hは、動きベクトルの水平成分の分数値が0以外であり、垂直成分の分数値が0である場合の予測画素（例えば、Sub pel a乃至c）のグループを表す。Outer vは、動きベクトルの垂直成分の分数値が0以外であり、水平成分の分数値が0である場合の予測画素（例えば、Sub pel d,h,l）のグループを表す。これらのことは、後述する図５８乃至図６０においても同様である。
【０３４２】
参照画素の範囲が図５３に示した関係に基づいて決定される場合における、インター予測のブロックのサイズが4×8画素であり、予測方向がBi-predictionである場合の参照画素の範囲について以下に説明する。この場合、Bi-prediction のうちのL0予測の動きベクトルに対応するSub pelの位置がjであり、L1予測の動きベクトルに対応するSub pelの位置がdであると、L0予測用の参照画素の範囲が6×10画素に決定され、L1予測用の山荘画素の範囲が8×8画素に決定される。なお、このとき、参照画素割合は、3.875=(6×10+8×8)/(4x8)であり、5以下である。
【０３４３】
［インター予測処理の第６の例の説明］
図５５および図５６は、図５２のインター予測部２４による図２０のステップＳ１５のインター予測処理の詳細を説明するフローチャートである。
【０３４４】
図５５のステップＳ３１１において、インター予測部２４の参照画像読出部２２０（図５２）は、図３の動き予測部２５から供給されるインター予測モード情報のうちの予測方向と参照インデックスに基づいて、フレームメモリ２２に記憶されている画像のうちの参照画像を特定する。
【０３４５】
ステップＳ３１２において、参照画像読出部２２０は、参照画像を読み出す読出処理を行う。この読出処理の詳細は、後述する図５７を参照して説明する。
【０３４６】
ステップＳ３１３において、参照画像読出部２２０は、予測画像を構成する予測画素のうち、まだステップＳ３１３の処理で生成対象の予測画素に決定されていない予測画素を生成対象の予測画素に決定する。なお、予測対応画素が複数ある場合、以下のステップＳ３１４乃至Ｓ３２３の処理は、予測対応画素ごとに行われる。
【０３４７】
ステップＳ３１４において、参照画像読出部２２０は、生成対象の予測画素の予測画像上の位置、動きベクトル、インター予測のブロックのサイズ、および予測方向に基づいて、予測対応画素の生成に用いられる参照画素の数を2乃至6のいずれかに決定する。
【０３４８】
ステップＳ３１５において、参照画像読出部２２０は、ステップＳ３１４で決定された参照画素の数と、生成対象の予測画素の参照画像上の位置に基づいて、ステップＳ３１２で保持された参照画素のうちの、予測対応画素の生成に用いられる参照画素を読み出す。参照画像読出部２２０は、読み出された参照画素を画素生成部２２１に供給する。
【０３４９】
ステップＳ３１６において、6タップフィルタ係数メモリ４８は、動き予測部２５から供給される動きベクトルの予測対応画素に対応する成分の分数値に基づいて、その分数値に対応付けて記憶されているフィルタ係数を6タップFIRフィルタ４５に供給する。
【０３５０】
ステップＳ３１７において、画素生成部２２１は、参照画像読出部２２０から供給される参照画素の数が6より小さいかどうかを判定する。ステップＳ３１７で参照画素の数は6より小さいと判定された場合、処理はステップＳ３１８に進む。
【０３５１】
ステップＳ３１８において、画素生成部２２１は、参照画像読出部２２０から供給される参照画素のうちの外側の参照画素を、その参照画素の外側の画素として複製し、複製された画素と参照画素からなる6個の生成用画素を生成する。そして、画素生成部２２１は、生成された6個の生成用画素を6タップFIRフィルタ４５に供給し、処理をステップＳ３１９に進める。
【０３５２】
一方、ステップＳ３１７で参照画素の数が6より小さくはないと判定された場合、即ち参照画素の数が6である場合、画素生成部２２１は、その6個の参照画素を生成用画素として6タップFIRフィルタ４５に供給し、処理をステップＳ３１９に進める。
【０３５３】
ステップＳ３１９乃至Ｓ３２５の処理は、図２８および図２９のステップＳ１６１乃至Ｓ１６７の処理と同様であるので、説明は省略する。
【０３５４】
図５６のステップＳ３２５の処理後、ステップＳ３２６において、画素生成部２２１は、生成対象の予測画素の予測画像上の垂直方向の位置、インター予測のブロックのサイズ、および予測方向に基づいて、中間結果メモリ５０から読み出すSub pelの数を2乃至6のいずれかに決定する。
【０３５５】
ステップＳ３２７において、画素生成部２２１は、ステップＳ３２６で決定されたSub pelの数と、生成対象の予測画素の参照画像上の位置に基づいて、中間結果メモリ５０からSub pelを生成用画素として読み出す。
【０３５６】
ステップＳ３２８において、6タップフィルタ係数メモリ４８は、動き予測部２５から供給される動きベクトルの垂直成分の分数値に基づいて、その分数値に対応付けて記憶されているフィルタ係数を6タップFIRフィルタ４５に供給する。そして、処理はステップＳ３２９に進む。
【０３５７】
ステップＳ３２９およびＳ３３０の処理は、参照画素の代わりにSub pelに対して行われる点を除いて、図５５のステップＳ３１７およびＳ３１８の処理と同様であるので、説明は省略する。また、ステップＳ３３１乃至Ｓ３３３の処理は、図２９のステップＳ１７５乃至Ｓ１７７の処理と同様であるので、説明は省略する。
【０３５８】
図５７は、図５５のステップＳ３１２の読出処理の詳細を説明するフローチャートである。
【０３５９】
図５７のステップＳ３４１において、図５２のインター予測部２４の参照画像読出部２２０は、動き予測部２５から供給される動きベクトルの水平成分と垂直成分の両方の分数値が0であるかどうかを判定する。
【０３６０】
ステップＳ３４１で動きベクトルの水平成分と垂直成分の両方の分数値が0ではないと判定された場合、ステップＳ３４２において、参照画像読出部２２０は、予測方向がBi-predictionであるかどうかを判定する。
【０３６１】
ステップＳ３４２で予測方向がBi-predictionであると判定された場合、ステップＳ３４３において、参照画像読出部２２０は、動きベクトルの水平成分と垂直成分の両方の分数値が0以外であるかどうかを判定する。
【０３６２】
ステップＳ３４３で動きベクトルの水平成分と垂直成分の両方の分数値が0以外であると判定された場合、処理はステップＳ３４４に進む。ステップＳ３４４において、参照画像読出部２２０は、インター予測モード情報のうちのインター予測のブロックのサイズ、Bi-prediction、およびInnerに対応する参照画素の範囲を決定する。そして、処理はステップＳ３５３に進む。
【０３６３】
一方、ステップＳ３４３で動きベクトルの水平成分と垂直成分のいずれか一方の分数値が0であると判定された場合、ステップＳ３４５において、参照画像読出部２２０は、動きベクトルの水平成分の分数値のみが0以外であるかどうかを判定する。
【０３６４】
ステップＳ３４５で動きベクトルの水平成分の分数値のみが0以外であると判定された場合、処理はステップＳ３４６に進む。ステップＳ３４６において、参照画像読出部２２０は、インター予測モード情報のうちのインター予測のブロックのサイズ、Bi-prediction、およびOuter hに対応する参照画素の範囲を決定する。そして、処理はステップＳ３５３に進む。
【０３６５】
一方、ステップＳ３４５で動きベクトルの水平成分の分数値が0以外ではないと判定された場合、即ち動きベクトルの垂直成分の分数値のみが0以外である場合、処理はステップＳ３４７に進む。ステップＳ３４７において、参照画像読出部２２０は、インター予測モード情報のうちのインター予測のブロックのサイズ、Bi-prediction、およびOuter vに対応する参照画素の範囲を決定する。そして、処理はステップＳ３５３に進む。
【０３６６】
また、ステップＳ３４２で予測方向がBi-predictionではないと判定された場合、即ち予測方向がL0予測またはL1予測である場合、処理はステップＳ３４８に進む。
【０３６７】
ステップＳ３４８で動きベクトルの水平成分と垂直成分の両方の分数値が0以外であると判定された場合、処理はステップＳ３４９に進む。ステップＳ３４９において、参照画像読出部２２０は、インター予測モード情報のうちのインター予測のブロックのサイズ、L0予測/L1予測、およびInnerに対応する参照画素の範囲を決定する。そして、処理はステップＳ３５３に進む。
【０３６８】
一方、ステップＳ３４８で動きベクトルの水平成分と垂直成分のいずれか一方の分数値が0であると判定された場合、ステップＳ３５０において、参照画像読出部２２０は、動きベクトルの水平成分の分数値のみが0以外であるかどうかを判定する。
【０３６９】
ステップＳ３５０で動きベクトルの水平成分の分数値のみが0以外であると判定された場合、処理はステップＳ３５１に進む。ステップＳ３５１において、参照画像読出部２２０は、インター予測モード情報のうちのインター予測のブロックのサイズ、L0予測/L1予測、およびOuter hに対応する参照画素の範囲を決定する。そして、処理はステップＳ３５３に進む。
【０３７０】
一方、ステップＳ３５０で動きベクトルの水平成分の分数値が0以外ではないと判定された場合、即ち動きベクトルの垂直成分の分数値のみが0以外である場合、処理はステップＳ３５２に進む。ステップＳ３５２において、参照画像読出部２２０は、インター予測モード情報のうちのインター予測のブロックのサイズ、L0予測/L1予測、およびOuter vに対応する参照画素の範囲を決定する。そして、処理はステップＳ３５３に進む。
【０３７１】
ステップＳ３５３において、参照画像読出部２２０は、動きベクトルに対応する位置の、ステップＳ３４４，Ｓ３４６、Ｓ３４７，Ｓ３４９，Ｓ３５１、またはＳ３５２の処理で決定された範囲の参照画素をフレームメモリ２２から読み出し、一時的に保持する。そして、処理は、図５５のステップＳ３１２に戻り、処理はステップＳ３１３に進む。
【０３７２】
一方、ステップＳ３４１で動きベクトルの水平成分と垂直成分の両方の分数値が0であると判定された場合、ステップＳ３５４において、参照画像読出部２２０は、動きベクトルに対応する位置のインター予測のブロックのサイズの参照画素を読み出し、予測画像として出力する。そして、処理は、図２０のステップＳ１５に戻り、処理はステップＳ１６に進む。
【０３７３】
なお、図５２乃至図５７では、予測対応画素の生成に用いられる生成用画素の数は6個であるが、その生成用画素の数はこれに限定されない。
【０３７４】
［予測対応画素の生成に用いられる生成用画素の数が8個である場合の参照画素の範囲の例］
図５８は、予測対応画素の生成に用いられる生成用画素の数が8個であり、参照画素割合が5以下である場合の参照画素の範囲と、動きベクトルに対応する予測画素のグループ、インター予測のブロックのサイズ、および予測方向との関係の例を示す図である。
【０３７５】
また、図５９は、予測対応画素の生成に用いられる生成用画素の数が8個であり、参照画素割合が6以下である場合の参照画素の範囲と、動きベクトルに対応する予測画素のグループ、インター予測のブロックのサイズ、および予測方向との関係の例を示す図である。
【０３７６】
［予測対応画素の生成に用いられる生成用画素の数が12個である場合の参照画素の範囲の例］
図６０は、予測対応画素の生成に用いられる生成用画素の数が12個であり、参照画素割合が5以下である場合の参照画素の範囲と、動きベクトルに対応する予測画素のグループ、インター予測のブロックのサイズ、および予測方向との関係の例を示す図である。
【０３７７】
なお、上述した図３０乃至図６０で説明した、動きベクトル、インター予測のブロックのサイズ、および予測方向の少なくとも１つに応じて、外側の予測画素の生成に用いられる参照画素の数を変更することは、図４のインター予測部２４に適用することもできる。
【０３７８】
即ち、図４のインター予測部２４のように、参照画素を複製せずに用いることにより、予測画素の生成に用いられる生成用画素の数が、その予測画素の予測画像上の位置に応じて変化する場合においても、外側の予測画素の生成に用いられる参照画素の数を、動きベクトル、インター予測のブロックのサイズ、および予測方向の少なくとも１つに応じて変更することができる。この場合について、以下に説明する。
【０３７９】
［インター予測部の第７の構成例］
図６１は、図３のインター予測部２４の第７の構成例を示すブロック図である。
【０３８０】
図６１に示す構成のうち、図４や図５２の構成と同じ構成には同じ符号を付してある。重複する説明については適宜省略する。
【０３８１】
図６１のインター予測部２４の構成は、主に、参照画像読出部４１、画素振り分け部４２の代わりに、参照画素読出部２２０、画素振り分け部２４１が設けられている点、および、3タップFIRフィルタ２４２、5タップFIRフィルタ２４３、3タップフィルタ係数メモリ２４４、および5タップフィルタ係数メモリ２４５が新たに設けられている点が図４の構成と異なる。
【０３８２】
図６１のインター予測部２４の画素振り分け部２４１は、図４の画素振り分け部４２と同様に、参照画像読出部２２０から供給される参照画素を生成用画素とする。また、画素振り分け部２４１は、動き予測部２５から供給されるインター予測モード情報のうちのブロックのサイズおよび予測方向、動きベクトルの分数値、および予測画素の予測画像上の位置に基づいて、その予測画素の生成に用いられるSub pelの数を決定する。そして、画素振り分け部２４１は、中間結果メモリ５０から、生成対象の予測画素に対応する、決定された数のSub pelを生成用画素として読み出す。なお、ここでは、予測画素の生成に用いられるSub pelの数は、2乃至6のいずれかである。
【０３８３】
また、画素振り分け部２４１は、生成用画素の数に応じて、その生成用画素を2タップFIRフィルタ４３、3タップFIRフィルタ２４２、4タップFIRフィルタ４４、5タップFIRフィルタ２４３、または6タップFIRフィルタ４５に供給する。具体的には、画素振り分け部２４１は、生成用画素の数が2である場合、その生成用画素を2タップFIRフィルタ４３に供給し、生成用画素の数が3である場合、その生成用画素を3タップFIRフィルタ２４２に供給する。また、画素振り分け部２４１は、生成用画素の数が4である場合、その生成用画素を4タップFIRフィルタ４４に供給し、生成用画素の数が5である場合、その生成用画素を5タップFIRフィルタ２４３に供給する。また、画素振り分け部２４１は、生成用画素の数が6である場合、その生成用画素を6タップFIRフィルタ４５に供給する。
【０３８４】
3タップFIRフィルタ２４２は、演算部として機能し、画素振り分け部２４１から供給される3個の生成用画素と、3タップフィルタ係数メモリ２４４から供給されるフィルタ係数を用いて演算を行う。3タップFIRフィルタ２４２は、その結果得られる1個の画素を画素選択部４９に供給する。
【０３８５】
5タップFIRフィルタ２４３は、演算部として機能し、画素振り分け部２４１から供給される5個の生成用画素と、5タップフィルタ係数メモリ２４５から供給されるフィルタ係数を用いて演算を行う。5タップFIRフィルタ２４３は、その結果得られる1個の画素を画素選択部４９に供給する。
【０３８６】
3タップフィルタ係数メモリ２４４は、記憶部として機能し、動きベクトルの分数値に対応付けて3タップFIRフィルタ２４２用のフィルタ係数を記憶している。3タップフィルタ係数メモリ２４４は、動き予測部２５から供給される動きベクトルの分数値に基づいて、その分数値に対応付けて記憶されているフィルタ係数を3タップFIRフィルタ２４２に供給する。
【０３８７】
5タップフィルタ係数メモリ２４５は、記憶部として機能し、動きベクトルの分数値に対応付けて5タップFIRフィルタ２４３用のフィルタ係数を記憶している。5タップフィルタ係数メモリ２４５は、動き予測部２５から供給される動きベクトルの分数値に基づいて、その分数値に対応付けて記憶されているフィルタ係数を5タップFIRフィルタ２４３に供給する。
【０３８８】
［インター予測処理の第７の例の説明］
図６２および図６３は、図６１のインター予測部２４による図２０のステップＳ１５のインター予測処理の詳細を説明するフローチャートである。
【０３８９】
図６２および図６３のステップＳ３６１乃至Ｓ３８１の処理は、図５５のステップＳ３１７およびＳ３１８の処理が図６２のステップＳ３６７およびＳ３６８に代わり、図５６のステップＳ３２９およびＳ３３０の処理が図６３のＳ３７８およびＳ３７９の処理に代わる点を除いて、図５５および図５６のステップＳ３１１乃至Ｓ３３３の処理と同様である。
【０３９０】
図６２のステップＳ３６７の処理では、画素振り分け部２４１が、参照画像読出部２２０から供給される参照画素の数に応じて、その参照画素を2タップFIRフィルタ４３、3タップFIRフィルタ２４２、4タップFIRフィルタ４４、5タップFIRフィルタ２４３、または6タップFIRフィルタ４５に供給する。
【０３９１】
そして、ステップＳ３６８では、画素振り分け部２４１から参照画素が供給された2タップFIRフィルタ４３、3タップFIRフィルタ２４２、4タップFIRフィルタ４４、5タップFIRフィルタ２４３、または6タップFIRフィルタ４５による処理が行われる。具体的には、ステップＳ３６８において、参照画素と、2タップフィルタ係数メモリ４６、3タップフィルタ係数メモリ２４４、4タップフィルタ係数メモリ４７、5タップフィルタ係数メモリ２４５、または6タップフィルタ係数メモリ４８から供給されるフィルタ係数を用いて演算が行われる。
【０３９２】
また、図６３のステップＳ３７８およびＳ３７９の処理は、参照画素の代わりにSub pelに対して行われる点を除いて、図６２のステップＳ３６７およびＳ３６８の処理と同様であるので、説明は省略する。
【０３９３】
なお、図示は省略するが、符号化装置１０が図３０、図４４、図４８、図５２、図６１のインター予測部２４を備える場合、復号装置１００のインター予測部１１１も、図３０、図４４、図４８、図５２、図６１のインター予測部２４と同様に構成される。
【０３９４】
また、図３０乃至図６３の説明では、インターポーレーションにより1/4画素位置のSub pelが生成されるものとしたが、1/2画素位置や1/8画素位置のSub pelが生成されるようにしてもよい。この場合、フィルタ係数が異なること以外、1/4画素位置のSub pelの生成時と同様の処理が行われる。
【０３９５】
さらに、予測画素の生成に用いられる参照画素の数および参照画素の数の種類は、上述した数に限定されない。また、予測画素の生成に用いられる参照画素の数の予測画像上の切り替え位置は、上述した位置に限定されない。
【０３９６】
本実施の形態では、符号化方式としてH．264/AVC方式をベースに用いるようにしたが、本技術はこれに限らず、その他の動き予測・補償処理を行う符号化方式／復号方式を用いる符号化装置/復号装置に適用することもできる。
【０３９７】
また、本技術は、例えば、MPEG，H．26x等の様に、離散コサイン変換等の直交変換と動き補償によって圧縮する方式で圧縮された画像情報（ビットストリーム）を、衛星放送、ケーブルテレビジョン、インターネット、または携帯電話機などのネットワークメディアを介して受信する際に用いられる符号化装置および復号装置に適用することができる。また、本技術は、光ディスク、磁気ディスク、フラッシュメモリなどの記憶メディアに対して処理する際に用いられる符号化装置および復号装置に適用することができる。さらに、本技術は、それらの符号化装置および復号装置などに含まれる動き予測補償装置にも適用することができる。
【０３９８】
[インター予測部の第８の構成例]
図６４は、図３のインター予測部２４の第８の構成例を示すブロック図である。
【０３９９】
図６４に示す構成のうち、図２６の構成と同じ構成には同じ符号を付してある。重複する説明については適宜省略する。
【０４００】
図６４のインター予測部２４の構成は、主に、参照画像読出部１６０、画素生成部１６１、6タップフィルタ係数メモリ４８の代わりに、参照画像読出部２５１、画素出力部２５２、6タップフィルタ係数メモリ２５３が設けられている点が、図２６の構成と異なる。図６４のインター予測部２４は、外側の予測画素に対応する6個の生成用画素のうちの予測画素より外側の生成用画素（以下、外側生成用画素という）の数が、内側の予測画素に対応する6個の生成用画素のうちの外側生成用画素の数より少なくなるように、各予測画素の生成に用いられる生成用画素を決定する。
【０４０１】
具体的には、インター予測部２４の参照画像読出部２５１は、図２６の参照画像読出部１６０と同様に、インター予測モード情報のうちの参照インデックスおよび予測方向に基づいて、フレームメモリ２２に記憶されている画像のうちの参照画像を特定する。参照画像読出部２５１は、インター予測モード情報のうちのブロックのサイズと動きベクトルの整数値に基づいて、予測画像の生成に用いられる参照画素をフレームメモリ２２から読み出し、一時的に保持する。
【０４０２】
参照画像読出部２５１は、画素読出部として機能し、予測画素ごとに、一時的に保持されている参照画素のうち、その予測画素の生成に用いられる6個の参照画素を読み出す。このとき、参照画像読出部２５１は、外側の予測画素の6個の参照画素のうちの予測画素より外側の参照画素の数が、内側の予測画素の6個の参照画素のうちの予測画素より外側の参照画素の数より少なくなるように、各予測画素の6個の参照画素を決定し、読み出す。参照画像読出部２５１は、読みされた6個の参照画素を画素出力部２５２に供給する。
【０４０３】
画素出力部２５２は、図２６の画素生成部１６１と同様に、参照画像読出部２５１から供給される参照画素を生成用画素とする。また、画素出力部２５２は、動き予測部２５から供給される動きベクトルの分数値に基づいて、中間結果メモリ５０から、生成対象の予測画素に対応する6個のSub pelを生成用画素として読み出す。このとき、画素出力部２５２は、外側の予測画素の外側生成用画素とするSub pelの数が、内側の予測画素の外側生成用画素とするSub pelの数より少なくなるように、各予測画素の生成用画素とする6個のSub pelを決定し、読み出す。また、画素出力部２５２は、6個の生成用画素を6タップFIRフィルタ４５に供給する。
【０４０４】
6タップフィルタ係数メモリ２５３は、動きベクトルの分数値、および、外側生成用画素の数に対応付けて、6タップFIRフィルタ４５用のフィルタ係数を記憶している。6タップフィルタ係数メモリ２５３は、動き予測部２５から供給される動きベクトルの分数値と、生成対象の予測画素の予測画像上の位置とに基づいて、その分数値、および、その位置に対応する外側生成用画素の数に対応付けて記憶されているフィルタ係数を6タップFIRフィルタ４５に供給する。
【０４０５】
[参照画素の例]
図６５は、図６４のインター予測部２４における参照画素の例を示す図である。
【０４０６】
なお、図６５では、インター予測のブロックのサイズが4×4画素である場合に、水平方向に並ぶ、水平方向の位置が1/2画素位置であり、垂直方向の位置が整数位置である4個の予測画素それぞれの生成に用いられる参照画素の例を示している。
【０４０７】
また、図６５において、番号が付された正方形は予測画素を表し、番号が付されていない正方形は参照画素を表す。また、水玉が付されている正方形は予測画素の生成に用いられる参照画素のうちの、インター予測のブロックのサイズの範囲内の参照画素を表し、斜線が付されている正方形は、インター予測のブロックのサイズの範囲を超えた範囲の参照画素を表している。これらのことは、後述する図６８乃至図７０においても同様である。
【０４０８】
図６５の例では、最も外側の予測画素の外側生成用画素の数は2であり、最も内側の予測画素の外側生成用画素の数は3である。
【０４０９】
具体的には、水平方向に並ぶ、水平方向の位置が1/2画素位置であり、垂直方向の位置が整数位置である4個の予測画素のうちの最も外側の番号1および4が付された正方形が表す予測画素は、その予測画素の外側の2個の参照画素と、内側の4個の参照画素を用いて生成される。
【０４１０】
また、番号1および4が付された正方形が表す予測画素より1つ内側の番号2および3が付された正方形が表す予測画素は、その予測画素の内外に3つずつ位置する合計6個の参照画素を用いて生成される。即ち、番号2および3が付された正方形が表す予測画素の参照画素の数は、番号1および4が付された正方形が表す予測画素の参照画素の数である2より多い3である。
【０４１１】
以上のように、図６４のインター予測部２４は、外側の予測画素の外側生成用画素の数を、内側の予測画素の外側生成用画素の数に比べて少なくするので、水平方向に並ぶ、インター予測に必要な参照画素の数は、従来の場合の9より少ない7個である。その結果、フレームメモリ２２のメモリ帯域の使用量を削減することができる。これにより、チップの数を削減して製造費用を削減したり、フレームメモリ２２へのアクセス回数を削減して消費電力を削減したりすることができる。
【０４１２】
また、図６４のインター予測部２４は、予測画素に対応する生成用画素の数が全て6個である。従って、外側の予測画素に対応する生成用画素の数を4個にすることにより、水平方向に並ぶ、インター予測に必要な参照画素の数を、図６４のインター予測部２４の場合と同一の7個にする場合に比べて、予測画像の精度が良い。
【０４１３】
なお、図示は省略するが、図６５の例の場合、垂直方向に並ぶ、垂直方向の位置が1/2画素位置であり、水平方向の位置が整数位置である4個の予測画素それぞれの生成に用いられる6個の参照画素は、最も外側、即ち上下端の予測画素の予測画素より外側の参照画素の数が2となり、最も内側の予測画素の予測画素より外側の参照画素の数が3となるように決定される。
【０４１４】
また、垂直方向に並ぶ、水平方向および垂直方向の位置が1/2画素位置である4個の予測画素それぞれの生成に用いられる参照画素は、最も外側の予測画素の予測画素より外側の数が2となり、最も内側の予測画素の予測画素より外側の数が3となる予測対応画素の生成に用いられる参照画素である。従って、水平方向および垂直方向の位置が1/2画素位置である4×4画素の予測画像の生成に用いられる参照画素の範囲は7×7画素であり、従来の9×9画素に比べて少ない。
【０４１５】
［インター予測処理の第８の例の説明］
図６６および図６７は、図６４のインター予測部２４による図２０のステップＳ１５のインター予測処理の詳細を説明するフローチャートである。
【０４１６】
図６６のステップＳ４００乃至Ｓ４０３は、図２２のステップＳ５０乃至Ｓ５３の処理と同様であるので、説明は省略する。なお、予測対応画素が複数ある場合、以下のステップＳ４０４乃至Ｓ４１２の処理は、予測対応画素ごとに行われる。
【０４１７】
ステップＳ４０４において、参照画像読出部２５１は、生成対象の予測画素の参照画像上の位置に基づいて、ステップＳ４０２で保持された参照画素のうちの、予測対応画素の生成に用いられる6個の参照画素を読み出す。参照画像読出部２５１は、読み出された6個の参照画素を生成用画素として画素出力部２５２に供給する。
【０４１８】
ステップＳ４０５において、6タップフィルタ係数メモリ２５３は、予測対応画素の予測画像上の位置が外側であるかどうかを判定する。ステップＳ４０５で予測対応画素の予測画像上の位置が外側であると判定された場合、6タップフィルタ係数メモリ２５３は、外側生成用画素の数を、全生成用画素の数6の1/2である3より少ない2とし、処理をステップＳ４０６に進める。
【０４１９】
ステップＳ４０６において、6タップフィルタ係数メモリ２５３は、動きベクトルの分数値および外側生成用画素の数としての2に対応付けて記憶されているフィルタ係数を読み出し、6タップFIRフィルタ４５に供給する。そして、処理はステップＳ４０８に進む。
【０４２０】
一方、ステップＳ４０５で予測対応画素の予測画像上の位置が外側ではないと判定された場合、6タップフィルタ係数メモリ２５３は、外側生成用画素の数を、全生成用画素の数6の1/2である3とし、処理をステップＳ４０７に進む。
【０４２１】
ステップＳ４０７において、6タップフィルタ係数メモリ２５３は、動きベクトルの分数値および外側生成用画素の数としての3に対応付けて記憶されているフィルタ係数を読み出し、6タップFIRフィルタ４５に供給する。そして、処理はステップＳ４０８に進む。
【０４２２】
ステップＳ４０８において、6タップFIRフィルタ４５は、画素出力部２５２から供給される6個の生成用画素としての参照画素と、6タップフィルタ係数メモリ２５３から供給されるフィルタ係数を用いて演算を行う。6タップFIRフィルタ４５は、その結果得られる1個の予測対応画素を画素選択部１６２に供給する。
【０４２３】
ステップＳ４０９乃至Ｓ４１４の処理は、図２２のステップＳ６２乃至図２３のＳ６７の処理と同様であるので、説明は省略する。
【０４２４】
ステップＳ４１５において、画素出力部２５２は、生成対象の予測画素の参照画像上の位置に基づいて、中間結果メモリ５０から6個のSub pelを生成用画素として読み出す。
【０４２５】
ステップＳ４１６において、6タップフィルタ係数メモリ２５３は、生成対象の予測画素の予測画像上の位置が外側であるかどうかを判定する。ステップＳ４１６で生成対象の予測画素の予測画像上の位置が外側であると判定された場合、6タップフィルタ係数メモリ２５３は、外側生成用画素の数を、全生成用画素の数6の1/2である3より少ない2とし、処理をステップＳ４１７に進める。
【０４２６】
ステップＳ４１７において、6タップフィルタ係数メモリ２５３は、動きベクトルの垂直成分の分数値および外側生成用画素の数としての2に対応付けて記憶されているフィルタ係数を読み出し、6タップFIRフィルタ４５に供給する。そして、処理はステップＳ４１９に進む。
【０４２７】
一方、ステップＳ４１６で生成対象の予測画素の予測画像上の位置が外側ではないと判定された場合、6タップフィルタ係数メモリ２５３は、外側生成用画素の数を、全生成用画素の数6の1/2である3とし、処理をステップＳ４１８に進める。
【０４２８】
ステップＳ４１８において、6タップフィルタ係数メモリ２５３は、動きベクトルの垂直成分の分数値および外側生成用画素の数としての3に対応付けて記憶されているフィルタ係数を読み出し、6タップFIRフィルタ４５に供給する。そして、処理はステップＳ４１９に進む。
【０４２９】
ステップＳ４１９において、6タップFIRフィルタ４５は、画素出力部２５２から供給される6個の生成用画素としてのSub pelと、6タップフィルタ係数メモリ２５３から供給されるフィルタ係数を用いて演算を行う。6タップFIRフィルタ４５は、その結果得られる1個のSub pelを画素選択部１６２に供給する。
【０４３０】
ステップＳ４２０およびＳ４２１は、図２３のステップＳ７６およびＳ７７の処理と同様であるので、説明は省略する。
【０４３１】
なお、図６４のインター予測部２４では、1回の演算に用いられる生成用画素の数が6個とされたが、生成用画素の数は6個に限定されない。また、図６６および図６７のインター予測処理では、外側生成用画素の数が、全生成用画素の数の1/2、または、全生成用画素の数の1/2より1少ない数としたが、外側生成用画素の数は、これに限定されない。但し、外側生成用画素の数は、全生成用画素の数の1/2に近い数である方が、予測画像の精度が良くなる。即ち、予測画像を生成する際、予測画素により近いものを生成用画素として用いる方が、予測画像の精度は良くなる。
【０４３２】
[参照画素の他の例]
図６８および図６９は、生成用画素の数が8である場合の、図６４のインター予測部２４における参照画素の例を示す図であり、図７０は、生成用画素の数が7である場合の、図６４のインター予測部２４における参照画素の例を示す図である。
【０４３３】
なお、図６８では、インター予測のブロックのサイズが4×4画素である場合に、水平方向に並ぶ、水平方向の位置が1/2画素位置であり、垂直方向の位置が整数位置である4個の予測画素それぞれの生成に用いられる参照画素の例を示している。
【０４３４】
図６８の例では、最も外側の予測画素の外側生成用画素の数は3であり、最も内側の予測画素の外側生成用画素の数は4である。
【０４３５】
具体的には、水平方向に並ぶ、水平方向の位置が1/2画素位置であり、垂直方向の位置が整数位置である4個の予測画素のうちの最も外側の番号1および4が付された正方形が表す予測画素は、その予測画素の外側の3個の参照画素と、内側の5個の参照画素を用いて生成される。
【０４３６】
また、番号1および4が付された正方形が表す予測画素より1つ内側の番号2および3が付された正方形が表す予測画素は、その予測画素の内外に4つずつ位置する合計8個の参照画素を用いて生成される。即ち、番号2および3が付された正方形が表す予測画素の外側生成用画素の数は、番号1および4が付された正方形が表す予測画素の外側生成用画素の数である3より多い4である。
【０４３７】
以上のように、図６４のインター予測部２４は、外側の予測画素の外側生成用画素の数を、内側の予測画素の外側生成用画素の数に比べて少なくするので、水平方向に並ぶ、インター予測に必要な参照画素の数は、従来の場合の11より少ない9である。その結果、フレームメモリ２２のメモリ帯域の使用量を削減することができる。
【０４３８】
なお、図６８に示すように、予測画素がSub pel bである場合、番号1および4が付された正方形が表す予測画素の生成に用いられる、動きベクトルの分数値としての1/2と外側生成用画素の数としての3に対応するフィルタ係数は、例えば、対応する生成用画素の外側から順に、3,-10,39,42,-14,7,-4,1である。
【０４３９】
また、予測画素がSub pel aである場合、最も外側の予測画素の生成に用いられる、動きベクトルの分数値としての1/4と外側生成用画素の数としての3に対応するフィルタ係数は、例えば、対応する生成用画素の外側から順に、2,-9,56,20,-8,4,-2,1である。予測画素がSub pelｃである場合、最も外側の予測画素の生成に用いられる、動きベクトルの分数値としての3/4と外側生成用画素の数としての3に対応するフィルタ係数は、例えば、対応する生成用画素の外側から順に、2,-6,18,58,-11,5,-3,1である。
【０４４０】
また、図６９では、インター予測のブロックのサイズが8×8画素である場合に、水平方向に並ぶ、水平方向の位置が1/2画素位置であり、垂直方向の位置が整数位置である4個の予測画素それぞれの生成に用いられる参照画素の例を示している。
【０４４１】
図６９Ａでは、最も外側の予測画素の外側生成用画素の数は3であり、最も内側の予測画素の外側生成用画素の数は4である。
【０４４２】
具体的には、水平方向に並ぶ、水平方向の位置が1/2画素位置であり、垂直方向の位置が整数位置である8個の予測画素のうちの最も外側の番号1および8が付された正方形が表す予測画素は、図６８の場合と同様に、その予測画素の外側の3個の参照画素と、内側の5個の参照画素を用いて生成される。
【０４４３】
また、番号1および8が付された正方形が表す予測画素より内側の番号2乃至7が付された正方形が表す予測画素は、その予測画素の内外に4つずつ位置する合計8個の参照画素を用いて生成される。即ち、番号2乃至7が付された正方形が表す予測画素の外側生成用画素の数は、番号1および8が付された正方形が表す予測画素の外側生成用画素の数である3より多い4である。
【０４４４】
以上のように、図６４のインター予測部２４は、外側の予測画素の外側生成用画素の数を、内側の予測画素の外側生成用画素の数に比べて少なくするので、水平方向に並ぶ、インター予測に必要な参照画素の数は、従来の場合の15より少ない13である。その結果、フレームメモリ２２のメモリ帯域の使用量を削減することができる。
【０４４５】
図６９Ｂでは、最も外側の予測画素の外側生成用画素の数は2であり、その予測画素より1つ内側の予測画素の外側生成用画素の数は3であり、最も内側の予測画素の外側生成用画素の数は4である。
【０４４６】
具体的には、水平方向に並ぶ、水平方向の位置が1/2画素位置であり、垂直方向の位置が整数位置である8個の予測画素のうちの最も外側の番号1および8が付された正方形が表す予測画素は、その予測画素の外側の2個の参照画素と、内側の6個の参照画素を用いて生成される。
【０４４７】
また、番号1および8が付された正方形が表す予測画素より1つ内側の番号2および7が付された正方形が表す予測画素は、その予測画素の外側の3個の参照画素と、内側の5個の参照画素を用いて生成される。さらに、番号2および7が付された正方形が表す予測画素より内側の番号3乃至6が付された正方形が表す予測画素は、図６９Ａの場合と同様の参照画素を用いて生成される。
【０４４８】
以上により、図６９Ｂの場合、水平方向に並ぶ、インター予測に必要な参照画素の数は、図６９Ａの場合の13に比べてさらに少ない11である。その結果、フレームメモリ２２のメモリ帯域の使用量をより削減することができる。
【０４４９】
なお、図６９Ｂに示すように、予測画素がSub pel bである場合、番号1および8が付された正方形が表す予測画素の生成に用いられる、動きベクトルの分数値としての1/2と外側生成用画素の数としての2に対応するフィルタ係数は、例えば、対応する生成用画素の外側から順に、-6,36,44,-16,9,-5,3,-1である。また、番号2および7が付された正方形が表す予測画素の生成に用いられる、動きベクトルの分数値としての1/2と外側生成用画素の数としての3に対応するフィルタ係数は、例えば、対応する生成用画素の外側から順に、3,-10,39,42,-14,7,-4,1である。さらに、番号3乃至6が付された正方形が表す予測画素の生成に用いられる、動きベクトルの分数値としての1/2と外側生成用画素の数としての4に対応するフィルタ係数は、例えば、対応する生成用画素の外側から順に、-1,4,-11,40,40,-11,4,-1である。
【０４５０】
また、予測画素がSub pel aである場合、最も外側の予測画素の生成に用いられる、動きベクトルの分数値としての1/4と外側生成用画素の数としての2に対応するフィルタ係数は、例えば、対応する生成用画素の外側から順に、-5,54,22,-10,6,-4,2,-1である。また、最も外側より1つ内側の予測画素の生成に用いられる、動きベクトルの分数値としての1/4と外側生成用画素の数としての3に対応するフィルタ係数は、例えば、対応する生成用画素の外側から順に、2,-9,56,20,-8,4,-2,1である。さらに、最も外側から2つ以上内側の予測画素の生成に用いられる、動きベクトルの分数値としての1/4と外側生成用画素の数としての4に対応するフィルタ係数は、例えば、対応する生成用画素の外側から順に、-1,4,-10,57,19,-7,3,-1である。
【０４５１】
予測画素がSub pel ｃである場合、最も外側の予測画素の生成に用いられる、動きベクトルの分数値としての3/4と外側生成用画素の数としての2に対応するフィルタ係数は、例えば、対応する生成用画素の外側から順に、-3,16,60,-13,7,-4,2,-1である。また、最も外側より1つ内側の予測画素の生成に用いられる、動きベクトルの分数値としての3/4と外側生成用画素の数としての3に対応するフィルタ係数は、例えば、対応する生成用画素の外側から順に、2,-6,18,58,-11,5,-3,1である。さらに、最も外側から2つ以上内側の予測画素の生成に用いられる、動きベクトルの分数値としての3/4と外側生成用画素の数としての4に対応するフィルタ係数は、例えば、対応する生成用画素の外側から順に、-1,3,-7,19,57,-10,4,-1である。
【０４５２】
図７０では、インター予測のブロックのサイズが4×4画素である場合に、水平方向に並ぶ、水平方向の位置が1/2画素位置であり、垂直方向の位置が整数位置である4個の予測画素それぞれの生成に用いられる参照画素の例を示している。
【０４５３】
図７０の例では、最も外側の予測画素の外側生成用画素の数は2であり、最も内側の予測画素の外側生成用画素の数は3である。
【０４５４】
具体的には、水平方向に並ぶ、水平方向の位置が1/2画素位置であり、垂直方向の位置が整数位置である4個の予測画素のうちの最も外側の番号1および4が付された正方形が表す予測画素は、その予測画素の外側の2個の参照画素と、内側の5個の参照画素を用いて生成される。
【０４５５】
また、番号1および4が付された正方形が表す予測画素より内側の番号2および3が付された正方形が表す予測画素は、その予測画素の外側の3個の参照画素と、内側の4個の参照画素を用いて生成される。
【０４５６】
以上のように、図６４のインター予測部２４は、外側の予測画素の外側生成用画素の数を、内側の予測画素の外側生成用画素の数に比べて少なくするので、水平方向に並ぶ、インター予測に必要な参照画素の数は、従来の場合の10より少ない7である。その結果、フレームメモリ２２のメモリ帯域の使用量を削減することができる。
【０４５７】
なお、図７０に示すように、予測画素がSub pel bである場合、番号1および4が付された正方形が表す予測画素の生成に用いられる、動きベクトルの分数値としての1/2と外側生成用画素の数としての2に対応するフィルタ係数は、例えば、対応する生成用画素の外側から順に、-6,36,44,-15,8,-4,1である。
【０４５８】
また、予測画素がSub pel aである場合、最も外側の予測画素の生成に用いられる、動きベクトルの分数値としての1/4と外側生成用画素の数としての2に対応するフィルタ係数は、例えば、対応する生成用画素の外側から順に、-5,54,21,-9,5,-3,1である。予測画素がSub pel ｃである場合、最も外側の予測画素の生成に用いられる、動きベクトルの分数値としての3/4と外側生成用画素の数としての2に対応するフィルタ係数は、例えば、対応する生成用画素の外側から順に、-3,16,59,-12,6,-3,1である。
【０４５９】
なお、図示は省略するが、図６８乃至図７０の例では、水平方向の位置が整数位置であり、垂直方向の位置が分数位置である予測画素の参照画素は、図６８乃至図７０の参照画素と同様に、最も外側の予測画素の予測画素より外側の参照画素の数が、より内側の予測画素の予測画素より外側の参照画素の数より少なくなるように決定される。
【０４６０】
また、垂直方向に並ぶ、水平方向および垂直方向の位置が1/2画素位置である4個の予測画素それぞれの生成に用いられる参照画素は、図６８乃至図７０の参照画素と同様に、最も外側の予測画素の予測画素より外側の数が、最も内側の予測画素の予測画素より外側の数より少ない予測対応画素の生成に用いられる参照画素である。
【０４６１】
なお、水平方向の位置が分数位置である画素の生成に用いられる水平方向に並ぶ外側生成用画素の数と、垂直方向の位置が分数位置である画素の生成に用いられる垂直方向に並ぶ外側生成用画素の数を変更するようにしてもよい。
【０４６２】
具体的には、例えば、フレームメモリ２２の読み出し単位が、水平方向に連続する所定数の画素である場合、水平方向に並ぶ参照画素の数が削減されても、読み出し回数は変化しない可能性がある。しかしながら、垂直方向に並ぶ参照画素の数が1つでも削減されれば、読み出し回数は削減される。即ち、この場合、水平方向の参照画素数の削減効果よりも、垂直方向の参照画素数の削減効果の方が大きい。従って、この場合、水平方向の位置が分数位置である画素の生成に用いられる水平方向に並ぶ外側生成用画素の数に比べて、垂直方向の位置が分数位置である画素の生成に用いられる垂直方向に並ぶ外側生成用画素の数が優先的に削減される。これにより、予測画像の精度の劣化を抑制しつつ、メモリ帯域を削減することができる。
【０４６３】
同様に、フレームメモリ２２の読み出し単位が、垂直方向に連続する所定数の参照画素である場合、垂直方向の位置が分数位置である画素の生成に用いられる垂直方向に並ぶ外側生成用画素の数に比べて、水平方向の位置が分数位置である画素の生成に用いられる水平方向に並ぶ外側生成用画素の数が優先的に削減される。なお、詳細は、後述する図７７乃至図８２を参照して説明する。
【０４６４】
[インター予測部の第９の構成例]
図７１は、図３のインター予測部２４の第９の構成例を示すブロック図である。
【０４６５】
図７１に示す構成のうち、図６４の構成と同じ構成には同じ符号を付してある。重複する説明については適宜省略する。
【０４６６】
図７１のインター予測部２４の構成は、主に、参照画像読出部２５１、画素出力部２５２の代わりに、参照画像読出部２７１、画素生成部２７２が設けられている点が、図６４の構成と異なる。図７１のインター予測部２４は、参照画素やSub pelを複製し、外側の予測画素に対応する6個の生成用画素のうちの外側生成用画素の数が、内側の予測画素に対応する6個の生成用画素のうちの外側生成用画素の数より少なくなるように、各予測画素の生成用画素を生成する。
【０４６７】
具体的には、図７１のインター予測部２４の参照画像読出部２７１は、図６４の参照画像読出部２５１と同様に、インター予測モード情報のうちの参照インデックスおよび予測方向に基づいて、フレームメモリ２２に記憶されている画像のうちの参照画像を特定する。参照画像読出部２７１は、インター予測モード情報のうちのブロックのサイズと動きベクトルの整数値に基づいて、予測画像の生成に用いられる参照画素をフレームメモリ２２から読み出し、一時的に保持する。
【０４６８】
参照画像読出部２７１は、予測画素ごとに、一時的に保持されている参照画素のうち、その予測画素の生成に用いられる参照画素を読み出す。このとき、参照画像読出部２７１は、外側の予測画素の複製後の外側生成用画素の数が、内側の予測画素の複製後の外側生成用画素の数より少なくなるように、各予測画素の参照画素を決定し、読み出す。なお、ここでは、予測画素の生成に用いられる参照画素の数は、5または6のいずれかである。参照画像読出部２７１は、読みされた参照画素を画素生成部２７２に供給する。
【０４６９】
画素生成部２７２は、画素出力部２５２と同様に、参照画像読出部２７１から供給される参照画素を生成用画素とする。また、画素生成部２７２は、動き予測部２５から供給される動きベクトルの分数値に基づいて、中間結果メモリ５０から、生成対象の予測画素に対応するSub pelを生成用画素として読み出す。このとき、画素生成部２７２は、外側の予測画素の複製後の外側生成用画素の数が、内側の予測画素の複製後の外側生成用画素の数より少なくなるように、各予測画素のSub pelを決定し、読み出す。なお、ここでは、予測画素の生成に用いられるSub pelの数は、5または6のいずれかである。
【０４７０】
また、画素生成部２７２は、画素生成部として機能し、生成用画素の数が6個より小さい場合、その生成用画素のうちの外側の画素を、生成用画素の数と6個の差分だけ複製し、複製された画素と生成用画素からなる6個の画素を複製後の生成用画素として生成する。画素生成部２７２は、6個の複製後の生成用画素を6タップFIRフィルタ４５に供給する。
【０４７１】
［複製後の生成用画素の例］
図７２は、インター予測のブロックのサイズが4×4画素である場合に、水平方向に並ぶ、水平方向の位置が1/2画素位置であり、垂直方向の位置が整数位置である4個の予測画素それぞれの生成に用いられる複製後の生成用画素の例を示す図である。
【０４７２】
なお、図７２において、番号が付された正方形は予測画素を表し、番号および英字が付されていない正方形は参照画素を表す。また、水玉が付されている正方形は予測画素の生成に用いられる参照画素のうちの、インター予測のブロックのサイズの範囲内の参照画素を表し、斜線が付されている正方形は、インター予測のブロックのサイズの範囲を超えた範囲の参照画素を表している。さらに、英字が付された正方形は、参照画素が複製された画素である。これらのことは、後述する図７５および図７６においても同様である。
【０４７３】
図７２の例では、予測画素は、5個の参照画素を含む6個の複製後の生成用画素を用いて生成され、最も外側の予測画素の複製後の外側生成用画素の数は2であり、最も内側の予測画素の複製後の外側生成用画素の数は3である。
【０４７４】
具体的には、生成対象が、水平方向に並ぶ、水平方向の位置が1/2画素位置であり、垂直方向の位置が整数位置である4個の予測画素のうちの最も左側の番号1が付された正方形が表す予測画素である場合、参照画像読出部２７１は、その予測画素の左に1つ位置し、右に4つ位置する合計5個の参照画素を画素生成部２７２に供給する。画素生成部２７２は、その5個の参照画素のうちの左端の参照画素を、その参照画素の左側の1個の整数位置の画素として複製し、その1個の画素と、画素生成部２７２から供給される5個の参照画素からなる6個の複製後の生成用画素を生成する。
【０４７５】
また、生成対象が、番号1が付された正方形が表す予測画素より1つ内側の番号2が付された正方形が表す予測画素である場合、番号1が付された正方形が表す予測画素に対応する6個の複製後の生成用画素と同一のものが生成される。
【０４７６】
さらに、生成対象が、最も右側の番号4が付された正方形が表す予測画素である場合、参照画像読出部２７１は、その予測画素の右に1つ位置し、左に4つ位置する合計5個の参照画素を画素生成部２７２に供給する。画素生成部２７２は、その5個の参照画素のうちの右端の参照画素を、その参照画素の右側の1個の整数位置の画素として複製し、その1個の画素と、画素生成部２７２から供給される5個の参照画素からなる6個の複製後の生成用画素を生成する。
【０４７７】
また、生成対象が、番号4が付された正方形が表す予測画素より1つ内側の番号3が付された正方形が表す予測画素である場合、番号4が付された正方形が表す予測画素に対応する6個の複製後の生成用画素と同一のものが生成される。
【０４７８】
以上のように、図７１のインター予測部２４は、外側の予測画素の外側生成用画素の数を、内側の予測画素の外側生成用画素の数に比べて少なくするとともに、参照画素を複製して生成用画素として用いる。従って、水平方向に並ぶ、インター予測に必要な参照画素の数は、図６５の場合の7より少ない5個である。その結果、フレームメモリ２２のメモリ帯域の使用量をより削減することができる。但し、図６５の場合、最も外側の生成用画素の位置の参照画素が予測画素の生成に用いられるので、図７２の場合に比べて予測画像の精度が良い。
【０４７９】
また、図７１のインター予測部２４は、予測画素に対応する生成用画素の数が全て5個である。従って、外側の予測画素に対応する生成用画素の数を2個にすることにより、水平方向に並ぶ、インター予測に必要な参照画素の数を、図７１のインター予測部２４の場合と同一の5にする場合に比べて、予測画像の精度が良い。
【０４８０】
なお、図示は省略するが、図７１の例の場合、垂直方向に並ぶ、垂直方向の位置が1/2画素位置であり、水平方向の位置が整数位置である4個の予測画素それぞれの生成に用いられる6個の複製後の生成用画素は、最も外側、即ち上下端の予測画素の予測画素より外側の参照画素の数が1となり、最も内側の予測画素の予測画素より外側の参照画素の数が2となるように決定される。
【０４８１】
また、垂直方向に並ぶ、水平方向および垂直方向の位置が1/2画素位置である4個の予測画素それぞれの生成に用いられる参照画素は、最も外側の予測画素の予測画素より外側の数が1となり、最も内側の予測画素の予測画素より外側の数が2となる予測対応画素の生成に用いられる参照画素である。従って、水平方向および垂直方向の位置が1/2画素位置である4×4画素の予測画像の生成に用いられる参照画素の範囲は5×5画素であり、図６５の7×7画素に比べて少ない。
【０４８２】
［インター予測処理の第９の例の説明］
図７３および図７４は、図７１のインター予測部２４による図２０のステップＳ１５のインター予測処理の詳細を説明するフローチャートである。
【０４８３】
図７３のステップＳ４４０乃至Ｓ４４３は、図６６のステップＳ４００乃至Ｓ４０３の処理と同様であるので、説明は省略する。なお、予測対応画素が複数ある場合、以下のステップＳ４４４乃至Ｓ４５４の処理は、予測対応画素ごとに行われる。
【０４８４】
ステップＳ４４４において、参照画像読出部２７１は、生成対象の予測画素の参照画像上の位置に基づいて、ステップＳ４４２で保持された参照画素のうちの、予測対応画素の生成に用いられる参照画素を読み出す。参照画像読出部２７１は、読み出された参照画素を生成用画素として画素生成部２７２に供給する。
【０４８５】
ステップＳ４４５乃至Ｓ４４７の処理は、図６６のステップＳ４０５乃至Ｓ４０７の処理と同様であるので、説明は省略する。
【０４８６】
ステップＳ４４８において、画素生成部２７２は、参照画像読出部２７１から供給される参照画素の数は5であるかどうかをを判定する。ステップＳ４４８で参照画素の数は5であると判定された場合、処理はステップＳ４４９に進む。
【０４８７】
ステップＳ４４９において、画素生成部２７２は、参照画像読出部２７１から供給される5個の参照画素のうちの外側の参照画素を、その参照画素の外側の1個の整数位置の画素として複製し、その1個の画素と5個の参照画素からなる6個の生成用画素を生成する。そして、画素生成部２７２は、生成された6個の生成用画素を6タップFIRフィルタ４５に供給し、処理をステップＳ４５０に進める。
【０４８８】
一方、ステップＳ４４８で参照画素の数は5ではないと判定された場合、即ち参照画素の数が6である場合、処理はステップＳ４５０に進む。
【０４８９】
ステップＳ４５０乃至Ｓ４５６の処理は、図６６のステップＳ４０８乃至図６７のＳ４１４の処理と同様であるので、説明は省略する。
【０４９０】
図７４のステップＳ４５７において、画素生成部２７２は、生成対象の予測画素の参照画像上の位置に基づいて、中間結果メモリ５０からSub pelを生成用画素として読み出す。
【０４９１】
ステップＳ４５８乃至Ｓ４６０の処理は、図６７のステップＳ４１６乃至Ｓ４１８の処理と同様であるので、説明は省略する。
【０４９２】
ステップＳ４６１乃至Ｓ４６３の処理は、参照画素の代わりにSub pelに対して行われる点を除いて、図７３のステップＳ４４８乃至Ｓ４５０の処理と同様であるので、説明は省略する。
【０４９３】
ステップＳ４６４およびＳ４６５は、図６７のステップＳ４２０およびＳ４２１と同様であるので、説明は省略する。
【０４９４】
なお、図７１のインター予測部２４では、1回の演算に用いられる生成用画素の数が6個とされたが、生成用画素の数は6に限定されない。また、生成用画素のうちの参照画素の数は、5または6に限定されない。さらに、図７３および図７４のインター予測処理では、外側生成用画素の数が、全生成用画素の数の1/2、または、全生成用画素の数の1/2より1少ない数としたが、外側生成用画素の数は、これに限定されない。
【０４９５】
[複製後の生成用画素の他の例]
図７５および図７６は、複製後の生成用画素の数が8である場合の、図７１のインター予測部２４における複製後の生成用画素の例を示す図である。
【０４９６】
なお、図７５では、インター予測のブロックのサイズが4×4画素である場合に、水平方向に並ぶ、水平方向の位置が1/2画素位置であり、垂直方向の位置が整数位置である4個の予測画素それぞれの生成に用いられる複製後の生成用画素の例を示している。
【０４９７】
図７５の例では、予測画素は、7個の参照画素を含む8個の複製後の生成用画素を用いて生成され、最も外側の予測画素の複製後の外側生成用画素の数は3であり、最も内側の予測画素の複製後の外側生成用画素の数は4である。
【０４９８】
具体的には、水平方向に並ぶ、水平方向の位置が1/2画素位置であり、垂直方向の位置が整数位置である4個の予測画素のうちの最も左側の番号1および4が付された正方形が表す予測画素は、その予測画素の外側の3個の複製後の外側生成用画素と、内側の5個の参照画素を用いて生成される。なお、3個の複製後の外側生成用画素は、予測画素の外側に隣接する2個の参照画素と、その参照画素のうちの最も外側の参照画素を複製することにより得られた、その参照画素の外側の1個の整数位置の画素とからなる。
【０４９９】
また、番号1および4が付された正方形が表す予測画素より1つ内側の番号2および3が付された正方形が表す予測画素は、その予測画素の外側の4個の複製後の外側生成用画素と、内側の4個の参照画素を用いて生成される。なお、4個の複製後の外側生成用画素は、予測画素の外側に隣接する3個の参照画素と、その参照画素のうちの最も外側の参照画素を複製することにより得られた、その参照画素の外側の1個の整数位置の画素とからなる。
【０５００】
以上のように、図７１のインター予測部２４は、外側の予測画素の外側生成用画素の数を、内側の予測画素の外側生成用画素の数に比べて少なくするとともに、参照画素を複製して生成用画素として用いる。従って、水平方向に並ぶ、インター予測に必要な参照画素の数は、図６８の場合の9より少ない7である。その結果、フレームメモリ２２のメモリ帯域の使用量をより削減することができる。但し、図６８の場合、最も外側の生成用画素の位置の参照画素が予測画素の生成に用いられるので、図７５の場合に比べて予測画像の精度が良い。
【０５０１】
なお、図７５に示すように、予測画素がSub pel bである場合、番号1および4が付された正方形が表す予測画素の生成に用いられる、動きベクトルの分数値としての1/2と外側生成用画素の数としての3に対応するフィルタ係数は、例えば、対応する生成用画素の外側から順に、-6,36,44,-16,9,-5,3,-1である。
【０５０２】
また、予測画素がSub pel aである場合、最も外側の予測画素の生成に用いられる、動きベクトルの分数値としての1/4と外側生成用画素の数としての3に対応するフィルタ係数は、例えば、対応する生成用画素の外側から順に、-5,54,22,-10,6,-4,2,-1である。予測画素がSub pel ｃである場合、最も外側の予測画素の生成に用いられる、動きベクトルの分数値としての3/4と外側生成用画素の数としての3に対応するフィルタ係数は、例えば、対応する生成用画素の外側から順に、-3,16,60,-13,7,-4,2,-1である。
【０５０３】
また、図７６では、インター予測のブロックのサイズが8×8画素である場合に、水平方向に並ぶ、水平方向の位置が1/2画素位置であり、垂直方向の位置が整数位置である8個の予測画素それぞれの生成に用いられる複製後の生成用画素の例を示している。
【０５０４】
図７６の例では、予測画素は、7個または8個の参照画素を含む8個の複製後の生成用画素を用いて生成され、最も外側の予測画素の複製後の外側生成用画素の数は3であり、最も内側の複製後の予測画素の外側生成用画素の数は4である。
【０５０５】
具体的には、水平方向に並ぶ、水平方向の位置が1/2画素位置であり、垂直方向の位置が整数位置である8個の予測画素のうちの最も外側の番号1および8が付された正方形が表す予測画素は、その予測画素の外側の3個の複製後の外側生成用画素と、内側の5個の参照画素を用いて生成される。なお、3個の複製後の外側生成用画素は、予測画素の外側に隣接する2個の参照画素と、その参照画素のうちの最も外側の参照画素を複製することにより得られた、その参照画素の外側の1個の整数位置の画素とからなる。
【０５０６】
また、番号1および8が付された正方形が表す予測画素より1つ内側の番号2および7が付された正方形が表す予測画素は、その予測画素の外側の4個の複製後の生成用画素と、内側の4個の参照画素を用いて生成される。なお、4個の複製後の外側生成用画素は、予測画素の外側に隣接する3個の参照画素と、その参照画素のうちの最も外側の参照画素を複製することにより得られた、その参照画素の外側の1個の整数位置の画素とからなる。
【０５０７】
番号2および7が付された正方形が表す予測画素より内側の番号3乃至6が付された正方形が表す予測画素は、その予測画素の内外に4つずつ位置する合計8個の生成用画素を用いて生成される。
【０５０８】
以上のように、図７１のインター予測部２４は、外側の予測画素の外側生成用画素の数を、内側の予測画素の外側生成用画素の数に比べて少なくするとともに、参照画素を複製して生成用画素として用いる。従って、水平方向に並ぶ、インター予測に必要な参照画素の数は、図６９Ａの場合の13より少ない11である。その結果、フレームメモリ２２のメモリ帯域の使用量をより削減することができる。但し、図６９Ａの場合、最も外側の生成用画素の位置の参照画素が予測画素の生成に用いられるので、図７６の場合に比べて予測画像の精度が良い。
【０５０９】
なお、図示は省略するが、図７５および図７６の例では、水平方向の位置が整数位置であり、垂直方向の位置が分数位置である予測画素の参照画素は、図７５および図７６の参照画素と同様に、最も外側の予測画素の複製後の外側生成用画素の数が、最も内側の予測画素の複製後の外側生成用画素の数より少なくなるように決定される。
【０５１０】
また、垂直方向に並ぶ、水平方向および垂直方向の位置が1/2画素位置である4個の予測画素それぞれの生成に用いられる参照画素は、図７５および図７６の参照画素と同様に、最も外側の予測画素の予測画素より外側の数が、最も内側の予測画素の予測画素より外側の数より少ない複製後の生成用画素に含まれる予測対応画素の生成に用いられる参照画素である。
【０５１１】
なお、図示は省略するが、符号化装置１０が図６４および図７１のインター予測部２４を備える場合、復号装置１００のインター予測部１１１も、図６４および図７１のインター予測部２４と同様に構成される。
【０５１２】
また、上述したインター予測処理において、予測方向が両方向の予測である場合には、インター予測の対象とする画像よりも表示時刻が早い参照画像から生成された予測画像と、表示時刻が遅い参照画像から生成された予測画像とが画素ごとに平均化され、選択部２６に出力される。
【０５１３】
[インター予測部の第１０の構成例]
図７７は、図３のインター予測部２４の第１０の構成例を示すブロック図である。
【０５１４】
図７７に示す構成のうち、図６４の構成と同じ構成には同じ符号を付してある。重複する説明については適宜省略する。
【０５１５】
図７７のインター予測部２４の構成は、主に、参照画像読出部２５１、画素出力部２５２、6タップFIRフィルタ４５、6タップフィルタ係数メモリ２５３、画素選択部１６２の代わりに、参照画像読出部２９１、画素振り分け部２９２、8タップFIRフィルタ２９３および4タップFIRフィルタ２９４、8タップフィルタ係数メモリ２９５および4タップフィルタ係数メモリ２９６、画素選択部２９７が設けられている点が、図６４の構成と異なる。
【０５１６】
図７７のインター予測部２４は、予測画素の水平方向および垂直方向の位置が分数位置である場合、垂直方向に並ぶ外側生成用画素の数が、水平方向に並ぶ外側生成用画素の数より少なくなるように、各予測画素の生成に用いられる生成用画素を決定する。
【０５１７】
具体的には、インター予測部２４の参照画像読出部２９１は、図６４の参照画像読出部２５１と同様に、インター予測モード情報のうちの参照インデックスおよび予測方向に基づいて、フレームメモリ２２に記憶されている画像のうちの参照画像を特定する。参照画像読出部２９１は、参照画像読出部２５１と同様に、インター予測モード情報のうちのブロックのサイズと動きベクトルの整数値に基づいて、予測画像の生成に用いられる参照画素をフレームメモリ２２から読み出し、一時的に保持する。
【０５１８】
参照画像読出部２９１は、画素読出部として機能し、予測画素ごとに、一時的に保持されている参照画素のうち、その予測画素の生成に用いられる8個の参照画素を読み出す。このとき、参照画像読出部２９１は、外側の予測画素の参照画素のうちの予測画素より外側の参照画素の数が、内側の予測画素の参照画素のうちの予測画素より外側の参照画素の数より少なくなるように、各予測画素の8個の参照画素を決定し、読み出す。参照画像読出部２９１は、読みされた8個の参照画素を画素振り分け部２９２に供給する。
【０５１９】
画素振り分け部２９２は、図６４の画素出力部２５２と同様に、参照画像読出部２９１から供給される参照画素を生成用画素とする。また、画素振り分け部２９２は、動き予測部２５から供給される動きベクトルの分数値に基づいて、中間結果メモリ５０から、生成対象の予測画素に対応する4個のSub pelを生成用画素として読み出す。このとき、画素振り分け部２９２は、外側の予測画素の外側生成用画素とするSub pelの数が、内側の予測画素の外側生成用画素とするSub pelの数より少なくなるように、各予測画素の生成用画素とする4個のSub pelを決定し、読み出す。また、画素振り分け部２９２は、8個の生成用画素を8タップFIRフィルタ２９３に供給し、4個の生成用画素を4タップFIRフィルタ２９４に供給する。
【０５２０】
8タップFIRフィルタ２９３は、演算部として機能し、画素振り分け部２９２から供給される8個の生成用画素と、8タップフィルタ係数メモリ２９５から供給されるフィルタ係数を用いて演算を行う。8タップFIRフィルタ２９３は、その結果得られる1個の画素を画素選択部２９７に供給する。
【０５２１】
4タップFIRフィルタ２９４は、演算部として機能し、画素振り分け部２９２から供給される4個の生成用画素と、4タップフィルタ係数メモリ２９６から供給されるフィルタ係数を用いて演算を行う。4タップFIRフィルタ２９４は、その結果得られる1個の画素を画素選択部２９７に供給する。
【０５２２】
8タップフィルタ係数メモリ２９５は、動きベクトルの分数値、および、外側生成用画素の数に対応付けて、8タップFIRフィルタ２９３用のフィルタ係数を記憶している。8タップフィルタ係数メモリ２９５は、動き予測部２５から供給される動きベクトルの分数値と、生成対象の予測画素の予測画像上の位置とに基づいて、その分数値、および、その位置に対応する外側生成用画素の数に対応付けて記憶されているフィルタ係数を8タップFIRフィルタ２９３に供給する。
【０５２３】
4タップフィルタ係数メモリ２９６は、動きベクトルの分数値、および、外側生成用画素の数に対応付けて、4タップFIRフィルタ２９４用のフィルタ係数を記憶している。4タップフィルタ係数メモリ２９６は、動き予測部２５から供給される動きベクトルの分数値と、生成対象の予測画素の予測画像上の位置とに基づいて、その分数値、および、その位置に対応する外側生成用画素の数に対応付けて記憶されているフィルタ係数を4タップFIRフィルタ２９４に供給する。
【０５２４】
画素選択部２９７は、図６４の画素選択部１６２と同様に、動き予測部２５から供給される動きベクトルの分数値に基づいて、8タップFIRフィルタ２９３または4タップFIRフィルタ２９４から供給される画素を予測画素として図３の選択部２６に出力するか、中間結果メモリ５０に供給する。
【０５２５】
[参照画素の例]
図７８は、水平方向に並ぶ外側生成用画素の数と、垂直方向に並ぶ外側生成用画素の数が同一である場合の参照画素の例を示す図である。
【０５２６】
なお、図７８の例では、インター予測のブロックのサイズが4×4画素であり、予測画素が、水平方向の位置が1/2画素位置であり、垂直方向の位置が1/2画素位置であるSub pel fである。このことは、後述する図７９においても同様である。
【０５２７】
また、図７８において、fが付された正方形は、予測画素であるSub pel fを表し、ｄが付された正方形は、Sub pel dを表す。また、英字が付されていない正方形は、参照画素を表す。さらに、水玉が付されている正方形は予測画素の生成に用いられる参照画素のうちの、インター予測のブロックのサイズの範囲内の参照画素を表し、斜線が付されている正方形は、インター予測のブロックのサイズの範囲を超えた範囲の参照画素を表している。これらのことは、後述する図７９においても同様である。
【０５２８】
さらに、図７８の例では、最も外側の予測画素の外側生成用画素の数は3であり、最も内側の予測画素の外側生成用画素の数は4である。また、各予測画素の生成用画素の数は8である。
【０５２９】
この場合、図７８に示すように、まず、4×4画素の予測画素に対応する9×4画素のSub pel dが、それぞれ、垂直方向に並ぶ8個の参照画素を用いて予測対応画素として生成される。このとき、外側のSub pel dの外側生成用画素の数は3であり、内側のSub pel dの外側生成用画素の数は4であるので、9×4画素のSub pel dの生成に用いられる参照画素の数は、81（=9×9）である。
【０５３０】
次に、4×4画素の予測画素であるSub pel fが、それぞれ、予測対応画素である9×4画素のSub pel dのうちの水平方向に並ぶ8個のSub pel dを用いて生成される。具体的には、外側のSub pel fは、水平方向に並ぶ3個の外側生成用画素としてのSub pel dと、そのSub pel fより内側の水平方向に並ぶ5個の生成用画素としてのSub pel dを用いて生成される。一方、内側のSub pel fは、水平方向に並ぶ4個の外側生成用画素としてのSub pel dと、そのSub pel fより内側の水平方向に並ぶ4個の生成用画素としてのSub pel dを用いて生成される。
【０５３１】
従って、図７８の例の場合、予測方向がL0予測またはL1予測であるとき、4×4画素のSub pel fを予測画素として生成するためには、9×9画素の参照画素が必要である。また、Sub pel dを生成するために36(=9×4)回のフィルタ処理が必要であり、Sub pel dを用いてSub pel fを生成するために16(=4×4)回のフィルタ処理が必要である。
【０５３２】
また、予測方向がBi-predictionであるとき、4×4画素のSub pel fを予測画素として生成するためには、9×9画素の2倍の参照画素が必要である。また、Sub pel dを生成するためには、72(=9×4×2)回のフィルタ処理が必要であり、Sub pel fを生成するために32(=4×4×2)回のフィルタ処理が必要である。
【０５３３】
そこで、図７７のインター予測部２４は、垂直方向に並ぶ外側生成用画素の数が、水平方向に並ぶ外側生成用画素の数より少なくなるように、参照画素を読み出すことにより、参照画素の数およびフィルタ処理の回数を削減する。
【０５３４】
図７９は、図７７のインター予測部２４における参照画素の例を示す図である。
【０５３５】
図７９の例では、最も外側の予測画素の水平方向に並ぶ外側生成用画素の数は3であり、最も内側の予測画素の水平方向に並ぶ外側生成用画素の数は4である。一方、最も外側の予測画素の垂直方向に並ぶ外側生成用画素の数は1であり、最も内側の予測画素の垂直方向に並ぶ外側生成用画素の数は2である。
【０５３６】
図７９に示すように、インター予測部２４は、まず、4×4画素の予測画素に対応する4×5画素のSub pel bを、それぞれ、水平方向に並ぶ8個の参照画素を用いて予測対応画素として生成する。このとき、外側のSub pel bの外側生成用画素の数は3であり、内側のSub pel bの外側生成用画素の数は4であるので、4×5画素のSub pel bの生成に用いられる参照画素の数は、45（=9×5）である。
【０５３７】
次に、インター予測部２４は、4×4画素の予測画素であるSub pel fを、それぞれ、予測対応画素である4×5画素のSub pel bのうちの垂直方向に並ぶ4個のSub pel bを用いて生成する。具体的には、インター予測部２４は、外側のSub pel fを、1個の外側生成用画素としてのSub pel bと、そのSub pel fより内側の垂直方向に並ぶ3個の生成用画素としてのSub pel bを用いて生成する。また、インター予測部２４は、内側のSub pel fを、垂直方向に並ぶ2個の外側生成用画素としてのSub pel bと、そのSub pel fより内側の垂直方向に並ぶ2個の生成用画素としてのSub pel bを用いて生成する。
【０５３８】
従って、図７９の例の場合、予測方向がL0予測またはL1予測であるとき、4×4画素のSub pel fを予測画素として生成するために必要な参照画素は、9×5画素であり、図７８の場合に比べて垂直方向に並ぶ参照画素の数が削減される。また、Sub pel bを生成するために必要なフィルタ処理の回数は、20(=4×5)回であり、Sub pel bを用いてSub pel fを生成するために必要なフィルタ処理の回数は、16(=4×4)回である。従って、予測画素を生成するために必要なフィルタ処理の回数は、図７８の場合に比べて削減される。
【０５３９】
また、予測方向がBi-predictionであるとき、4×4画素のSub pel fを予測画素として生成するために必要な参照画素は、9×5画素の2倍に削減される。また、Sub pel bを生成するために必要なフィルタ処理の回数は、40(=4×5×2)回であり、Sub pel bを用いてSub pel fを生成するために必要なフィルタ処理の回数は、32(=4×4×2)回である。従って、予測方向がL0予測またはL1予測である場合と同様に、予測画素を生成するために必要なフィルタ処理の回数は、図７８の場合に比べて削減される。
【０５４０】
[フレームメモリ内の画素値の配置例]
図８０は、フレームメモリ２２内の１フレーム分の画素値の配置例を示す図である。
【０５４１】
なお、図８０において、正方形は画素値を表す。
【０５４２】
フレームメモリ２２は、例えば、バス幅が32ビットであるDRAM（Dynamic Random Access Memory）により構成される。また、図８０に示すように、フレームメモリ２２は、水平方向に並ぶ４画素からなる画素群に対して、水平方向に並ぶ画素群に割り当てられるアドレスが連続するようにアドレスを割り当てる。そして、フレームメモリ２２は、各画素群の32ビットの画素値を、その画素群に割り当てられたアドレスに対応して記憶する。従って、フレームメモリ２２では、１回のアクセスで、１アドレスに対応する画素群の画素値が読み出される。
【０５４３】
よって、予測画素の生成に用いられる垂直方向に並ぶ参照画素を削減することにより、水平方向に並ぶ参照画素の数を削減する場合に比べて、アクセス回数を効果的に削減することができる。即ち、フレームメモリ２２のアクセス単位は、水平方向に並ぶ４個の画素からなる画素群であるので、予測画素の生成に用いられる水平方向に並ぶ参照画素の数はアクセス回数と同一ではなく、その参照画素の数が削減された場合であっても、アクセス回数は変化しない可能性がある。しかしながら、予測画素の生成に用いられる垂直方向に並ぶ参照画素の数はアクセス回数と同一であるので、その参照画素の数を削減することにより、アクセス回数を効果的に削減することができる。
【０５４４】
また、フレームメモリ２２において、バーストアクセスが行われる場合、連続するアドレスに対応する画素値を、少ないメモリ帯域で効率的に読み出すことができる。従って、矩形３１１で囲まれた連続する２アドレスに対応する８画素の画素値、即ち水平方向に並ぶ８画素の画素値は、バーストアクセスにより少ないメモリ帯域で効率的に読み出すことができる。しかしながら、矩形３１２で囲まれた連続しない２アドレスに対応する８画素の画素値、即ち垂直方向に並ぶ８画素の画素値は、バーストアクセスにより少ないメモリ帯域で効率的に読み出すことができない。
【０５４５】
以上により、図７７のインター予測部２４は、予測画素の水平方向および垂直方向の位置が分数位置である場合、垂直方向に並ぶ外側生成用画素の数を、水平方向に並ぶ外側生成用画素の数より少なくすることにより、予測画素の生成に用いられる垂直方向に並ぶ参照画素の数を削減する。その結果、フレームメモリ２２に対するアクセス回数を効率的に削減することができる。また、バーストアクセス時のメモリ帯域を削減することができる。
【０５４６】
さらに、予測画素の生成に用いられる水平方向に並ぶ参照画素の数は削減されないため、予測画像の精度の劣化を抑制し、符号化効率の低下を抑制することができる。
【０５４７】
［インター予測処理の第１０の例の説明］
図８１および図８２は、図７７のインター予測部２４による図２０のステップＳ１５のインター予測処理の詳細を説明するフローチャートである。
【０５４８】
図８１のステップＳ４８０乃至Ｓ４８３は、図６６のステップＳ４００乃至Ｓ４０３の処理と同様であるので、説明は省略する。なお、予測対応画素が複数ある場合、以下のステップＳ４８４乃至Ｓ４９２の処理は、予測対応画素ごとに行われる。
【０５４９】
ステップＳ４８４において、参照画像読出部２９１は、生成対象の予測画素の参照画像上の位置に基づいて、ステップＳ４８２で保持された参照画素のうちの、予測対応画素の生成に用いられる8個の参照画素を読み出す。なお、予測画素の水平方向と垂直方向の位置が分数位置である場合、予測対応画素は、水平方向の位置が分数位置である画素である。参照画像読出部２９１は、読み出された8個の参照画素を生成用画素として画素振り分け部２９２に供給する。
【０５５０】
ステップＳ４８５において、8タップフィルタ係数メモリ２９５は、予測対応画素の予測画像上の位置が外側であるかどうかを判定する。ステップＳ４８５で予測対応画素の予測画像上の位置が外側であると判定された場合、8タップフィルタ係数メモリ２９５は、外側生成用画素の数を、全生成用画素の数8の1/2である4より少ない3とし、処理をステップＳ４８６に進める。
【０５５１】
ステップＳ４８６において、8タップフィルタ係数メモリ２９５は、動きベクトルの分数値および外側生成用画素の数としての3に対応付けて記憶されているフィルタ係数を読み出し、8タップFIRフィルタ２９３に供給する。そして、処理はステップＳ４８８に進む。
【０５５２】
一方、ステップＳ４８５で予測対応画素の予測画像上の位置が外側ではないと判定された場合、8タップフィルタ係数メモリ２９５は、外側生成用画素の数を、全生成用画素の数8の1/2である4とし、処理をステップＳ４８７に進む。
【０５５３】
ステップＳ４８７において、8タップフィルタ係数メモリ２９５は、動きベクトルの分数値および外側生成用画素の数としての4に対応付けて記憶されているフィルタ係数を読み出し、8タップFIRフィルタ２９３に供給する。そして、処理はステップＳ４８８に進む。
【０５５４】
ステップＳ４８８において、8タップFIRフィルタ２９３は、画素振り分け部２９２から供給される8個の生成用画素としての参照画素と、8タップフィルタ係数メモリ２９５から供給されるフィルタ係数を用いて演算を行う。8タップFIRフィルタ２９３は、その結果得られる1個の予測対応画素を画素選択部２９７に供給する。
【０５５５】
ステップＳ４８９乃至Ｓ４９４の処理は、図６６のステップＳ４０９乃至図６７のＳ４１４の処理と同様であるので、説明は省略する。
【０５５６】
ステップＳ４９５において、画素振り分け部２９２は、生成対象の予測画素の参照画像上の位置に基づいて、中間結果メモリ５０から4個のSub pelを生成用画素として読み出す。
【０５５７】
ステップＳ４９６において、4タップフィルタ係数メモリ２９６は、生成対象の予測画素の予測画像上の位置が外側であるかどうかを判定する。ステップＳ４９６で生成対象の予測画素の予測画像上の位置が外側であると判定された場合、4タップフィルタ係数メモリ２９６は、外側生成用画素の数を、全生成用画素の数4の1/2である2より少ない1とし、処理をステップＳ４９７に進める。
【０５５８】
ステップＳ４９７において、4タップフィルタ係数メモリ２９６は、動きベクトルの垂直成分の分数値および外側生成用画素の数としての1に対応付けて記憶されているフィルタ係数を読み出し、4タップFIRフィルタ２９４に供給する。そして、処理はステップＳ４９９に進む。
【０５５９】
一方、ステップＳ４９６で生成対象の予測画素の予測画像上の位置が外側ではないと判定された場合、4タップフィルタ係数メモリ２９６は、外側生成用画素の数を、全生成用画素の数4の1/2である2とし、処理をステップＳ４９８に進める。
【０５６０】
ステップＳ４９８において、4タップフィルタ係数メモリ２９６は、動きベクトルの垂直成分の分数値および外側生成用画素の数としての2に対応付けて記憶されているフィルタ係数を読み出し、4タップFIRフィルタ２９４に供給する。そして、処理はステップＳ４９９に進む。
【０５６１】
ステップＳ４９９において、4タップFIRフィルタ２９４は、画素振り分け部２９２から供給される4個の生成用画素としてのSub pelと、4タップフィルタ係数メモリ２９６から供給されるフィルタ係数を用いて演算を行う。4タップFIRフィルタ２９４は、その結果得られる1個のSub pelを画素選択部２９７に供給する。
【０５６２】
ステップＳ５００およびＳ５０１は、図６７のステップＳ４２０およびＳ４２１の処理と同様であるので、説明は省略する。
【０５６３】
以上のように、図７７のインター予測部２４は、垂直方向に並ぶ外側生成用画素の数を水平方向に並ぶ外側生成用画素の数より少なくすることにより、予測画素の生成に用いられる垂直方向に並ぶ参照画素の数を削減する。その結果、フレームメモリ２２に対するアクセス回数を削減し、バーストアクセス時のメモリ帯域を削減することができる。
【０５６４】
また、図７７のインター予測部２４は、予測画素の水平方向と垂直方向の位置が分数位置である場合、予測対応画素を水平方向の位置が分数位置である画素とする。即ち、図７７のインター予測部２４は、参照画素を用いて、予測画素と水平方向の位置が同一である予測対応画素を生成した後、その予測対応画素を用いて予測画素を生成する。これにより、予測対応画素が垂直方向の位置が分数位置である画素である場合に比べて、フィルタ処理の回数を軽減することができる。
【０５６５】
例えば、予測対応画素が垂直方向の位置が分数位置である画素である場合、図７９の例と同一の条件では、予測対応画素の数は、9×4画素であり、予測対応画素を生成するために必要なフィルタ処理の回数は、36(=9×4)回となる。これに対して、予測対応画素が水平方向の位置が分数位置である画素である場合、図７９で説明したように、予測対応画素の数は、4×5画素であり、予測対応画素を生成するために必要なフィルタ処理の回数は、36回より少ない20(=4×5)回となる。
【０５６６】
なお、図７７のインター予測部２４では、予測画素の水平方向および垂直方向の位置が分数位置である場合に、垂直方向に並ぶ外側生成用画素の数が水平方向に並ぶ外側生成用画素の数より少なくなるようにしたが、予測画素の水平方向の位置が整数位置であり、垂直方向の位置が分数位置である場合にも、垂直方向に並ぶ外側生成用画素の数が水平方向に並ぶ外側生成用画素の数より少なくなるようにしてもよい。
【０５６７】
また、図７７のインター予測部２４は、垂直方向に並ぶ外側生成用画素の数が水平方向に並ぶ外側生成用画素の数より少なくなるようにしたが、フレームメモリ２２が、１アドレスに対応して垂直方向に並ぶ複数の画素を記憶する場合、水平方向に並ぶ外側生成用画素の数が垂直方向に並ぶ外側生成用画素の数より少なくなるようにする。
【０５６８】
また、図７７のインター予測部２４では、全てのマクロブロックに対して、垂直方向に並ぶ外側生成用画素の数が水平方向に並ぶ外側生成用画素の数より少なくなるようにしたが、Ｂスライスのマクロブロックに対してのみ行うようにしてもよい。
【０５６９】
この場合、参照画像のフレーム数が２フレームとなり、参照画素の数が多くなる可能性のあるＢスライスのマクロブロックの、予測画素の生成に用いられる垂直方向に並ぶ参照画素を削減することができる。その結果、フレームメモリ２２に対するアクセス回数を削減し、バーストアクセス時のメモリ帯域を削減することができる。また、参照画像のフレーム数が１フレームであるＢスライス以外のマクロブロックの、予測画素の生成に用いられる垂直方向に並ぶ参照画素は削減されないので、予測画像の精度の劣化を抑制することができる。さらに、スライス単位で、垂直方向に並ぶ外側生成用画素の数が変更されるので、予測方向等に基づいて変更される場合に比べて、変更の制御が容易である。
【０５７０】
また、予測方向がBi-predictionである場合にのみ、垂直方向に並ぶ外側生成用画素の数が水平方向に並ぶ外側生成用画素の数より少なくなるようにしてもよい。この場合、予測方向がBi-predictionであり、参照画像のフレーム数が２フレームとなるマクロブロックの、予測画素の生成に用いられる垂直方向に並ぶ参照画素を削減することができる。その結果、フレームメモリ２２に対するアクセス回数を削減し、バーストアクセス時のメモリ帯域を削減することができる。また、予測方向がBi-prediction以外であり、参照画像のフレーム数が１フレームとなるマクロブロックの、予測画素の生成に用いられる垂直方向に並ぶ参照画素は削減されないので、予測画像の精度の劣化を抑制することができる。同様に、インター予測のブロックのサイズが所定のサイズより大きい場合にのみ、垂直方向に並ぶ外側生成用画素の数が水平方向に並ぶ外側生成用画素の数より少なくなるようにしてもよい。
【０５７１】
また、図７７のインター予測部２４は、垂直方向に並ぶ生成用画素の数を、水平方向に並ぶ生成用画素の数より削減したが、水平方向に並ぶ生成用画素の数と垂直方向に並ぶ生成用画素の数は同一であってもよい。
【０５７２】
さらに、図示は省略するが、図４、図２６、図３０、図４４、図４８、図５２、図６１、および図７１のインター予測部２４においても、図７７のインター予測部２４と同様に、垂直方向に並ぶ外側生成用画素の数が、水平方向に並ぶ外側生成用画素の数より少なくなるようにすることができる。この場合、図４、図２６、図３０、図４４、図４８、図５２、および図６１のインター予測部２４では、垂直方向に並ぶ生成用画素の数が、水平方向に並ぶ生成用画素の数より少なくなる。
【０５７３】
[インター予測部の第１１の構成例]
図８３は、図３のインター予測部２４の第１１の構成例を示すブロック図である。
【０５７４】
図８３のインター予測部２４は、色用インター予測部３２１と輝度用インター予測部３２２により構成される。図８３のインター予測部２４は、インター予測モード情報のうちのブロックのサイズおよび予測方向、並びに、動きベクトルの分数値に基づいて、各予測画素の色成分と輝度成分のそれぞれの生成に用いられる生成用画素の数を決定する。
【０５７５】
具体的には、図８３のインター予測部２４の色用インター予測部３２１は、フレームメモリ２２からの参照画像、並びに、動き予測部２５からのインター予測モード情報および動きベクトルに基づいて、各予測画素の色成分を生成し、出力する。色用インター予測部３２１の詳細は、後述する図８４を参照して説明する。
【０５７６】
輝度用インター予測部３２２は、フレームメモリ２２からの参照画像、並びに、動き予測部２５からのインター予測モード情報および動きベクトルに基づいて、各予測画素の輝度成分を生成し、出力する。輝度用インター予測部３２２の詳細は、後述する図８８を参照して説明する。
【０５７７】
[色用インター予測部の構成例]
図８４は、図８３の色用インター予測部３２１の構成例を示すブロック図である。
【０５７８】
図８４の色用インター予測部３２１の構成のうち、図７７の構成と同じ構成には同じ符号を付してある。重複する説明については適宜省略する。
【０５７９】
図８４の色用インター予測部３２１の構成は、主に、参照画像読出部２９１、画素振り分け部２９２の代わりに参照画像読出部３３１、画素振り分け部３３２が設けられている点、および、LUT（Look Up Table）３３３が新たに設けられている点が、図７７の構成と異なる。
【０５８０】
図８４のインター予測部２４の参照画像読出部３３１は、図７７の参照画像読出部２９１と同様に、インター予測モード情報のうちの参照インデックスおよび予測方向に基づいて、フレームメモリ２２に記憶されている画像のうちの参照画像を特定する。また、参照画像読出部３３１は、LUT３３３から、インター予測モード情報のうちのブロックのサイズおよび予測方向並びに動きベクトルの分数値に対応する水平方向および垂直方向の生成用画素数を読み出す。
【０５８１】
参照画像読出部３３１は、水平方向および垂直方向の生成用画素数、インター予測モード情報のうちのブロックのサイズ、および動きベクトルの整数値に基づいて、予測画像の色成分の生成に用いられる参照画素の色成分をフレームメモリ２２から読み出す。そして、参照画像読出部３３１は、読み出された参照画素の色成分を一時的に保持する。
【０５８２】
参照画像読出部３３１は、水平方向または垂直方向の生成用画素数に基づいて、予測画素ごとに、一時的に保持されている参照画素の色成分のうち、その予測画素の色成分の生成に用いられる生成用画素数としての4個または8個の参照画素の色成分を読み出す。参照画像読出部３３１は、読みされた4個または8個の参照画素の色成分を画素振り分け部３３２に供給する。
【０５８３】
画素振り分け部３３２は、参照画像読出部３３１から供給される参照画素の色成分を生成用画素の色成分とする。また、画素振り分け部３３２は、LUT３３３から、動き予測部２５から供給されるインター予測モード情報のうちのブロックのサイズおよび予測方向、並びに、動きベクトルの分数値に対応する垂直方向の生成用画素数を読み出す。
【０５８４】
画素振り分け部３３２は、垂直方向の生成用画素数に基づいて、中間結果メモリ５０から、生成対象の予測画素の色成分の生成に用いられる垂直方向の生成用画素数としての4個または8個のSub pelの色成分を、生成用画素の色成分として読み出す。また、画素振り分け部３３２は、8個の生成用画素の色成分を8タップFIRフィルタ２９３に供給し、4個の生成用画素の色成分を4タップFIRフィルタ２９４に供給する。
【０５８５】
LUT３３３は、インター予測のブロックのサイズ、予測方向、および、動きベクトルの分数値に対応する予測画素となるSub pelの種類に対応付けて、生成用画素数を記憶している。
【０５８６】
[生成用画素数の説明]
図８５は、生成用画素数と参照画素数の関係を示すグラフである。
【０５８７】
なお、図８５において、横軸は、予測方向、インター予測のブロックのサイズ、および予測画素となるSub pelの種類の組み合わせを表している。具体的には、図８５の横軸に記載されたa乃至oは、Sub pelの種類がSub pel a乃至oであることを表している。また、a乃至oの下に記載されている数字は、インター予測のブロックの水平方向のサイズ（画素数）を表し、その数字の下に記載されている数字は、インター予測のブロックの垂直方向のサイズ（画素数）を表している。また、その数字の下に記載されているUniは、予測方向がL0予測またはL1予測であることを表し、Biは、予測方向が両方向の予測であることを表している。
【０５８８】
また、図８５において、縦軸は、予測画素数で正規化された参照画素数（以下、正規化参照画素数という）を表している。即ち、縦軸の値は、参照画素数を予測画素数で除算した値である。また、図８５において、菱形は、水平方向と垂直方向の生成用画素数が8である場合の正規化参照画素数を表し、正方形は、水平方向の生成用画素数が8であり、垂直方向の生成用画素数が4である場合の正規化参照画素数を表している。さらに、三角形は、水平方向の生成用画素数が4であり、垂直方向の生成用画素数が8である場合の正規化参照画素数を表し、バツ印は、水平方向と垂直方向の生成用画素数が4である場合の正規化参照画素数を表している。
【０５８９】
図８５に示すように、予測方向が両方向の予測であり、インター予測のブロックのサイズが4×4画素であり、予測画素となるSub pelの種類がSub pel e乃至g,i乃至k、およびm乃至oのいずれかである場合、正規化参照画素数が最も多くなる。
【０５９０】
LUT３３３には、正規化参照画素数の最大値が所定値以下となるような水平方向および垂直方向の生成用画素数が、予測方向、インター予測のブロックのサイズ、および、予測画素となるSub pelの種類に対応付けて記憶される。
【０５９１】
図８６および図８７は、LUT３３３に記憶される水平方向および垂直方向の生成用画素数の例を示す図である。
【０５９２】
なお、図８６および図８７の表において、項目「予測方向」、「ブロックの水平方向のサイズ」、「ブロックの垂直方向のサイズ」、「Sub pel」の情報は、それぞれ、予測方向、インター予測のブロックの水平方向のサイズ、インター予測のブロックの垂直方向のサイズ、予測画素となるSub pelの種類である。また、項目「水平方向の生成用画素数」、「垂直方向の生成用画素数」の情報は、それぞれ、各項目「予測方向」、「ブロックの水平方向のサイズ」、「ブロックの垂直方向のサイズ」、および「Sub pel」の情報に対応する水平方向の生成用画素数、垂直方向の生成用画素数である。これらのことは、後述する図８９および図９０においても同様である。
【０５９３】
より詳細には、項目「水平方向の生成用画素数」のうちの項目「最大値6.1」の情報は、正規化参照画素数が6.1以下となる水平方向の生成用画素数である。また、項目「水平方向の生成用画素数」のうちの項目「最大値5.2」の情報、項目「最大値3.8」の情報は、予測方向が両方向の予測であり、インター予測のブロックのサイズが8×8画素より小さい場合以外の場合において、正規化参照画素数が、それぞれ、5.2，3.8以下となる水平方向の生成用画素数である。項目「垂直方向の生成用画素数」の項目「最大値6.1」、項目「最大値5.2」、および項目「最大値3.8」の情報についても、項目「水平方向の生成用画素数」と同様である。
【０５９４】
また、図８６および図８７の表において、アスタリスクは、対応する水平方向または垂直方向の生成用画素がない、即ち、対応する水平方向または垂直方向のフィルタ処理が行われないことを表している。このことは、後述する図８９および図９０においても同様である。
【０５９５】
LUT３３３は、項目「予測方向」、「ブロックの水平方向のサイズ」、「ブロックの垂直方向のサイズ」、および「Sub pel」の情報に対応付けて、例えば、項目「水平方向の生成用画素数」と「垂直方向の生成用画素数」の項目「最大値6.1」、「最大値5.2」、または「最大値3.8」のいずれかの情報を記憶する。
【０５９６】
なお、図８６および図８７の例では、フレームメモリ２２において、１アドレスに対応して水平方向に並ぶ複数の画素が記憶されるものとし、予測画素となるSub pelの種類がSub pel e乃至g,i乃至k、およびm乃至oのいずれかであり、正規化参照画素数が同一である場合、より削減効果の大きい垂直方向の生成用画素数が水平方向の生成用画素数より少ない方が記憶されている。このことは、後述する図８９および図９０においても同様である。
【０５９７】
[輝度用インター予測部の構成例]
図８８は、図８３の輝度用インター予測部３２２の構成例を示すブロック図である。
【０５９８】
図８８の輝度用インター予測部３２２の構成のうち、図４の構成と同じ構成には同じ符号を付してある。重複する説明については適宜省略する。
【０５９９】
図８８の輝度用インター予測部３２２の構成は、主に、参照画像読出部４１、画素振り分け部４２、画素選択部４９の代わりに参照画像読出部３５１、画素振り分け部３５２、画素選択部３５３が設けられている点、6タップFIRフィルタ４５および6タップフィルタ係数メモリ４８が設けられない点、および、LUT３５４が新たに設けられている点が、図４の構成と異なる。
【０６００】
図８８のインター予測部２４の参照画像読出部３５１は、図４の参照画像読出部４１と同様に、インター予測モード情報のうちの参照インデックスおよび予測方向に基づいて、フレームメモリ２２に記憶されている画像のうちの参照画像を特定する。また、参照画像読出部３５１は、LUT３５４から、インター予測モード情報のうちのブロックのサイズおよび予測方向並びに動きベクトルの分数値に対応する水平方向および垂直方向の生成用画素数を読み出す。
【０６０１】
参照画像読出部３５１は、水平方向および垂直方向の生成用画素数、インター予測モード情報のうちのブロックのサイズ、および動きベクトルの整数値に基づいて、予測画像の輝度成分の生成に用いられる参照画素の輝度成分をフレームメモリ２２から読み出す。そして、参照画像読出部３５１は、読み出された参照画素の輝度成分を一時的に保持する。
【０６０２】
参照画像読出部３５１は、水平方向または垂直方向の生成用画素数に基づいて、予測画素ごとに、一時的に保持されている参照画素の輝度成分のうち、その予測画素の輝度成分の生成に用いられる生成用画素数としての2個または4個の参照画素の輝度成分を読み出す。参照画像読出部３５１は、読みされた2個または4個の参照画素の輝度成分を画素振り分け部３５２に供給する。
【０６０３】
画素振り分け部３５２は、参照画像読出部３５１から供給される参照画素の輝度成分を生成用画素の輝度成分とする。また、画素振り分け部３５２は、LUT３５４から、動き予測部２５から供給されるインター予測モード情報のうちのブロックのサイズおよび予測方向、並びに、動きベクトルの分数値に対応する垂直方向の生成用画素数を読み出す。
【０６０４】
画素振り分け部３５２は、垂直方向の生成用画素数に基づいて、中間結果メモリ５０から、生成対象の予測画素の輝度成分の生成に用いられる垂直方向の生成用画素数としての2個または4個のSub pelの輝度成分を、生成用画素の輝度成分として読み出す。また、画素振り分け部３５２は、2個の生成用画素の輝度成分を2タップFIRフィルタ４３に供給し、4個の生成用画素の輝度成分を4タップFIRフィルタ４４に供給する。
【０６０５】
画素選択部３５３は、動き予測部２５から供給される動きベクトルの分数値に基づいて、2タップFIRフィルタ４３または4タップFIRフィルタ４４から供給される画素の輝度成分を予測画素の輝度成分として図３の選択部２６に出力するか、中間結果メモリ５０に供給する。
【０６０６】
具体的には、画素選択部３５３は、動きベクトルの水平成分および垂直成分の少なくとも一方の分数値が0である場合、2タップFIRフィルタ４３または4タップFIRフィルタ４４から供給される画素の輝度成分を予測画素の輝度成分として選択部２６に供給する。一方、画素選択部３５３は、動きベクトルの水平成分および垂直成分の両方の分数値が0ではない場合、2タップFIRフィルタ４３または4タップFIRフィルタ４４から供給される画素の輝度成分であるSub pelの輝度成分を、中間結果メモリ５０に供給し、保持させる。その結果、2タップFIRフィルタ４３または4タップFIRフィルタ４４において、中間結果メモリ５０に保持されているSub pelの輝度成分を用いて、再度演算が行われる。画素選択部３５３は、その結果得られるSub pelの輝度成分を予測画素の輝度成分として選択部２６に出力する。なお、予測方向が両方向の予測である場合には、インター予測の対象とする画像よりも表示時刻が早い参照画像から生成された予測画素の輝度成分と、表示時刻が遅い参照画像から生成された予測画素の輝度成分とが平均化され、選択部２６に出力される。
【０６０７】
LUT３５４は、インター予測のブロックのサイズ、予測方向、および、動きベクトルの分数値に対応する予測画素となるSub pelの種類に対応付けて、生成用画素数を記憶している。
【０６０８】
[LUT３５４に記憶される生成用画素数の例]
図８９および図９０は、図８８のLUT３５４に記憶される水平方向および垂直方向の生成用画素数の例を示す図である。
【０６０９】
なお、図８９および図９０の表において、項目「水平方向の生成用画素数」のうちの「最大値4.5」の情報は、正規化参照画素数が4.5以下となる水平方向の生成用画素数である。また、項目「水平方向の生成用画素数」のうちの「最大値3.1」の情報は、予測方向が両方向の予測であり、インター予測のブロックのサイズが8×8画素より小さい場合以外の場合において、正規化参照画素数が3.1以下となる水平方向の生成用画素数である。項目「垂直方向の生成用画素数」の項目「最大値4.5」と項目「最大値3.1」の情報についても、項目「水平方向の生成用画素数」と同様である。
【０６１０】
LUT３５４は、項目「予測方向」、「ブロックの水平方向のサイズ」、「ブロックの垂直方向のサイズ」、および「Sub pel」の情報に対応付けて、例えば、項目「水平方向の生成用画素数」と「垂直方向の生成用画素数」の項目「最大値4.5」または項目「最大値3.1」の情報を記憶する。
【０６１１】
[インター予測処理の第１１の例の説明]
図９１および図９２は、図８３のインター予測部２４による図２０のステップＳ１５のインター予測処理のうちの、色用インター予測部３２１による色用インター予測処理を説明するフローチャートである。
【０６１２】
図９１のステップＳ５２１およびＳ５２２の処理は、図８１のステップＳ４８０およびＳ４８１の処理と同様であるので、説明は省略する。
【０６１３】
ステップＳ５２３において、図８４の色用インター予測部３２１の参照画像読出部３３１は、LUT３３３から、ステップＳ５２２で決定された予測画像のサイズ、インター予測モード情報のうちの予測方向、および動きベクトルの分数値に対応する水平方向および垂直方向の生成用画素数を読み出す。
【０６１４】
ステップＳ５２４において、参照画像読出部３３１は、水平方向および垂直方向の生成用画素数、動きベクトルの整数値、および予測画像のサイズに基づいて、予測画像の色成分の生成に用いられる参照画素の色成分をフレームメモリ２２から読み出す。そして、参照画像読出部３３１は、読み出された参照画素の色成分を一時的に保持する。
【０６１５】
ステップＳ５２５において、参照画像読出部３３１は、予測画像を構成する予測画素のうち、まだステップＳ５２５の処理で生成対象の予測画素に決定されていない予測画素を生成対象の予測画素に決定する。
【０６１６】
ステップＳ５２６において、参照画像読出部３３１は、生成対象の予測画素の参照画像上の位置に基づいて、一時的に保持されている参照画素の色成分のうち、予測対応画素の色成分の生成に用いられる生成用画素数としての4個または8個の参照画素の色成分を読み出す。参照画像読出部３３１は、読みされた4個または8個の参照画素の色成分を画素振り分け部３３２に供給する。
【０６１７】
ステップＳ５２７において、画素振り分け部３３２は、参照画像読出部３３１から供給される色成分に対応する参照画素の数が8個であるかどうかを判定する。ステップＳ５２７で参照画素の数が8個であると判定された場合、画素振り分け部３３２は、8個の参照画素の色成分を8タップFIRフィルタ２９３に供給し、処理をステップＳ５２８に進める。
【０６１８】
ステップＳ５２８において、8タップFIRフィルタ２９３は、画素振り分け部３３２から供給される8個の生成用画素としての参照画素の色成分と、8タップフィルタ係数メモリ２９５から供給されるフィルタ係数を用いて演算を行う。8タップFIRフィルタ２９３は、その結果得られる1個の予測対応画素を画素選択部２９７に供給する。
【０６１９】
一方、ステップＳ５２７で参照画素の数が8個ではないと判定された場合、即ち参照画素の数が4個である場合、画素振り分け部３３２は、4個の参照画素の色成分を4タップFIRフィルタ２９４に供給し、処理をステップＳ５２９に進める。
【０６２０】
ステップＳ５２９において、4タップFIRフィルタ２９４は、画素振り分け部３３２から供給される4個の生成用画素としての参照画素の色成分と、4タップフィルタ係数メモリ２９６から供給されるフィルタ係数を用いて演算を行う。4タップFIRフィルタ２９４は、その結果得られる1個の予測対応画素を画素選択部２９７に供給する。
【０６２１】
ステップＳ５３０において、画素選択部２９７は、動き予測部２５から供給される動きベクトルの水平成分と垂直成分の両方の分数値が0以外であるかどうかを判定する。ステップＳ５３０で動きベクトルの水平成分と垂直成分の少なくとも一方の分数値が0であると判定された場合、処理はステップＳ５３１に進む。
【０６２２】
ステップＳ５３１において、画素選択部２９７は、4タップFIRフィルタ２９４または8タップFIRフィルタ２９３から供給される予測対応画素の色成分を予測画素の色成分として図３の選択部２６に出力する。なお、このとき、予測方向が両方向の予測である場合、インター予測の対象とする画像よりも表示時刻が早い参照画像から生成された予測画素の色成分と、表示時刻が遅い参照画像から生成された予測画素の色成分とが平均化されて選択部２６に出力される。
【０６２３】
ステップＳ５３２において、参照画像読出部３３１は、全ての予測画素の色成分が生成されたかを判定する。ステップＳ５３２でまだ全ての予測画素の色成分が生成されていないと判定された場合、処理はステップＳ５２５に戻り、全ての予測画素の色成分が生成されるまで、ステップＳ５２５乃至Ｓ５３２の処理が繰り返される。
【０６２４】
一方、ステップＳ５３２で全ての予測画素が生成されたと判定された場合、処理は終了する。
【０６２５】
また、ステップＳ５３０で動きベクトルの水平成分と垂直成分の両方の分数値が0以外であると判定された場合、処理はステップＳ５３３に進む。
【０６２６】
ステップＳ５３３において、画素選択部２９７は、4タップFIRフィルタ２９４または8タップFIRフィルタ２９３から供給される予測対応画素としてのSub pelの色成分を、中間結果メモリ５０に供給し、保持させる。
【０６２７】
ステップＳ５３４において、参照画像読出部３３１は、全ての予測対応画素の色成分が生成されたかどうかを判定する。ステップＳ５３４でまだ全ての予測対応画素の色成分が生成されていないと判定された場合、処理はステップＳ５２５に戻り、全ての予測対応画素の色成分が生成されるまで、ステップＳ５２５乃至Ｓ５３０、ステップＳ５３３、およびステップＳ５３４の処理が繰り返される。
【０６２８】
一方、ステップＳ５３４で全ての予測対応画素の色成分が生成されたと判定された場合、処理は図９２のステップＳ５３５に進む。
【０６２９】
ステップＳ５３５において、参照画像読出部３３１は、予測画像を構成する予測画素のうち、まだステップＳ５３５の処理で生成対象の予測画素に決定されていない予測画素を生成対象の予測画素に決定する。
【０６３０】
ステップＳ５３６において、画素振り分け部３３２は、LUT３３３から、動き予測部２５から供給されるインター予測モード情報のうちのブロックのサイズおよび予測方向、並びに、動きベクトルの分数値に対応する垂直方向の生成用画素数を読み出す。
【０６３１】
ステップＳ５３７において、画素振り分け部３３２は、生成対象の予測画素の参照画像上の垂直方向の位置に基づいて、中間結果メモリ５０から生成用画素数としての4個または8個のSub pelの色成分を読み出す。
【０６３２】
ステップＳ５３８乃至Ｓ５４０の処理は、参照画素の代わりにSub pelに対して行われる点を除いて、図９１のステップＳ５２７乃至Ｓ５２９の処理と同様であるので、説明は省略する。
【０６３３】
ステップＳ５４１において、画素選択部２９７は、4タップFIRフィルタ２９４または8タップFIRフィルタ２９３から供給される画素であるSub pelの色成分を予測画素の色成分として選択部２６に出力する。なお、このとき、予測方向が両方向の予測である場合、インター予測の対象とする画像よりも表示時刻が早い参照画像から生成された予測画素の色成分と、表示時刻が遅い参照画像から生成された予測画素の色成分とが平均化されて選択部２６に出力される。
【０６３４】
ステップＳ５４２において、参照画像読出部３３１は、全ての予測画素の色成分が生成されたかどうかを判定する。ステップＳ５４２でまだ全ての予測画素の色成分が生成されていないと判定された場合、処理はステップＳ５３５に戻り、全ての予測画素が生成されるまで、ステップＳ５３５乃至Ｓ５４２の処理が繰り返される。
【０６３５】
一方、ステップＳ５４２で全ての予測画素が生成されたと判定された場合、処理は終了する。
【０６３６】
なお、図９１および図９２の色用インター予測処理では、動きベクトルの水平成分と垂直成分の両方の分数値が０以外である場合、水平方向のフィルタ処理が行われた後、垂直方向のフィルタ処理が行われるが、垂直方向のフィルタ処理が行われた後、水平方向のフィルタ処理が行われるようにしてもよい。
【０６３７】
また、図２０のステップＳ１５のインター予測処理は、図９１および図９２の色用インター予測処理と、図８８の輝度用インター予測部３２２による輝度用インター予測処理とにより構成される。輝度用インター予測処理は、処理対象が色成分ではなく輝度成分である点、および、生成用画素数が4または8ではなく、2または4である点を除いて色用インター予測処理と同様であるので、説明は省略する。
【０６３８】
＜正規化参照画素数の特性＞
図９３乃至図１００は、正規化参照画素数の特性を説明する図である。
【０６３９】
なお、図９３乃至図１００において、水玉が付されている正方形は予測画素の生成に用いられる参照画素のうちの、インター予測のブロックのサイズの範囲内の参照画素を表し、斜線が付されている正方形は、インター予測のブロックのサイズの範囲を超えた範囲の参照画素を表している。また、何も付されていない正方形は、予測画素を表している。
【０６４０】
図９３に示すように、インター予測のブロックのサイズが4×4画素であり、予測画素がSub pel e乃至g，i乃至k、およびm乃至oのいずれかであり、水平方向および垂直方向の生成用画素数が8個であり、予測方向がL0予測またはL1予測である場合、予測画像の生成に用いられる参照画素の数は、11×11画素となる。従って、この場合、正規化参照画素数は、約7.6（=(11×11)/(4×4)）である。
【０６４１】
これに対して、図９４に示すように、インター予測のブロックのサイズが4×4画素ではなく、8×8画素である場合、予測画像の生成に用いられる参照画素の数は、15×15画素となり、正規化参照画素数は、約3.5（=(15×15)/(8×8)）となる。
【０６４２】
以上のように、参照画素の範囲は、インター予測のブロックのサイズより大きく、正規化参照画素数は、インター予測のブロックのサイズが小さいほど大きい。
【０６４３】
また、図９５に示すように、予測方向がL0予測またはL1予測ではなく、両方向の予測である場合、インター予測の対象とする画像よりも表示時刻が早い参照画像の11×11画素から、予測画像が生成される。また、インター予測の対象とする画像よりも表示時刻が遅い参照画像の11×11画素から、予測画像が生成される。そして、生成された２枚の予測画像が画素ごとに平均化され、最終的な予測画像とされる。従って、予測画像の生成に用いられる参照画素の数は、11×11×2画素となり、正規化参照画素数は、約15.1（=(11×11×2)/(4×4)）となる。
【０６４４】
このように、予測方向が両方向の予測である場合、L0予測またはL1予測である場合に比べて、正規化参照画素数は大きくなる。
【０６４５】
さらに、図９６に示すように、予測画素がSub pel e乃至g，i乃至k、およびm乃至oのいずれかではなく、Sub pel a,b,cである場合、予測画像の生成に用いられる参照画素の数は、4×11画素となり、正規化参照画素数は、約2.8（=(4×11)/(4×4)）となる。また、水平方向と垂直方向が異なるだけであるので図示は省略するが、予測画素がSub pel d,h,lである場合、予測画像の生成に用いられる参照画素の数は、11×4画素となり、正規化参照画素数は、約2.8（=(11×4)/(4×4)）となる。
【０６４６】
このように、予測画素の参照画像上の水平方向および垂直方向の少なくとも一方の位置が整数位置である場合、両方の位置が分数位置である場合に比べて、正規化参照画素数は小さくなる。
【０６４７】
また、図９７に示すように、予測画素がSub pel e乃至g，i乃至k、およびm乃至oのいずれかではなく、Sub pel a,b,cである場合に、インター予測のブロックの水平方向のサイズが、4画素ではなく、垂直方向のサイズより長い8画素である場合、予測画像の生成に用いられる参照画素の数は、4×15画素となる。従って、この場合、正規化参照画素数は、約1.9（=(4×15)/(4×8)）である。
【０６４８】
これに対して、図９８に示すように、予測画素がSub pel a,b,cではなく、Sub pel d,h,lである場合、予測画像の生成に用いられる参照画素の数は、11×8画素となり、正規化参照画素数は、約2.8（=(11×8)/(4×8)）となる。
【０６４９】
このように、インター予測のブロックの水平方向および垂直方向のうちの一方のサイズが他方のサイズより大きい場合、一方の参照画像上の位置のみが分数位置である場合に比べて、他方の参照画像上の位置のみが分数位置である場合の方が、正規化参照画素数が大きくなる。
【０６５０】
さらに、図９９に示すように、インター予測のブロックのサイズが4×4画素ではなく、4×8画素である場合に、水平方向の生成用画素数が8個であるが、垂直方向の生成用画素数が4個である場合、予測画像の生成に用いられる参照画素の数は、15×7画素となる。従って、この場合、正規化参照画素数は、約3.3（=(15×7)/(4×8)）である。
【０６５１】
これに対して、図１００に示すように、垂直方向の生成用画素数が8個であるが、水平方向の生成用画素数が4個である場合、予測画像の生成に用いられる参照画素の数は、11×11画素となる。従って、この場合、正規化参照画素数は、約3.8（=(11×11)/(4×8)）である。
【０６５２】
このように、インター予測のブロックの水平方向および垂直方向のうちの一方のサイズが他方のサイズより大きい場合、一方の生成用画素数より他方の生成用画素数が少ない方が、他方の生成用画素数より一方の生成用画素数が少ない場合に比べて、正規化参照画素数が小さくなる。即ち、一方の生成用画素数より他方の生成用画素数を削減した方が、他方の生成用画素数より一方の生成用画素数を削減する場合より正規化参照画素数の削減効果が大きい。
【０６５３】
なお、図示は省略するが、符号化装置１０が図７７や図８３のインター予測部２４を備える場合、復号装置１００のインター予測部１１１も、図７７や図８３のインター予測部２４と同様に構成される。
【０６５４】
＜本技術を適用したコンピュータの説明＞
次に、上述した符号化処理や復号処理は、ハードウェアにより行うこともできるし、ソフトウェアにより行うこともできる。符号化処理や復号処理をソフトウェアによって行う場合には、そのソフトウェアを構成するプログラムが、汎用のコンピュータ等にインストールされる。
【０６５５】
そこで、図１０１は、上述した一連の処理を実行するプログラムがインストールされるコンピュータの一実施の形態の構成例を示している。
【０６５６】
プログラムは、コンピュータに内蔵されている記録媒体としての記憶部４０８やROM（Read Only Memory）４０２に予め記録しておくことができる。
【０６５７】
あるいはまた、プログラムは、リムーバブルメディア４１１に格納（記録）しておくことができる。このようなリムーバブルメディア４１１は、いわゆるパッケージソフトウエアとして提供することができる。ここで、リムーバブルメディア４１１としては、例えば、フレキシブルディスク、CD-ROM(Compact Disc Read Only Memory)，MO(Magneto Optical)ディスク，DVD(Digital Versatile Disc)、磁気ディスク、半導体メモリ等がある。
【０６５８】
なお、プログラムは、上述したようなリムーバブルメディア４１１からドライブ４１０を介してコンピュータにインストールする他、通信網や放送網を介して、コンピュータにダウンロードし、内蔵する記憶部４０８にインストールすることができる。すなわち、プログラムは、例えば、ダウンロードサイトから、デジタル衛星放送用の人工衛星を介して、コンピュータに無線で転送したり、LAN(Local Area Network)、インターネットといったネットワークを介して、コンピュータに有線で転送することができる。
【０６５９】
コンピュータは、CPU(Central Processing Unit)４０１を内蔵しており、CPU４０１には、バス４０４を介して、入出力インタフェース４０５が接続されている。
【０６６０】
CPU４０１は、入出力インタフェース４０５を介して、ユーザによって、入力部４０６が操作等されることにより指令が入力されると、それに従って、ROM４０２に格納されているプログラムを実行する。あるいは、CPU４０１は、記憶部４０８に格納されたプログラムを、RAM(Random Access Memory)４０３にロードして実行する。
【０６６１】
これにより、CPU４０１は、上述したフローチャートにしたがった処理、あるいは上述したブロック図の構成により行われる処理を行う。そして、CPU４０１は、その処理結果を、必要に応じて、例えば、入出力インタフェース４０５を介して、出力部４０７から出力、あるいは、通信部４０９から送信、さらには、記憶部４０８に記録等させる。
【０６６２】
なお、入力部４０６は、キーボードや、マウス、マイク等で構成される。また、出力部４０７は、LCD(Liquid Crystal Display)やスピーカ等で構成される。
【０６６３】
ここで、本明細書において、コンピュータがプログラムに従って行う処理は、必ずしもフローチャートとして記載された順序に沿って時系列に行われる必要はない。すなわち、コンピュータがプログラムに従って行う処理は、並列的あるいは個別に実行される処理（例えば、並列処理あるいはオブジェクトによる処理）も含む。
【０６６４】
また、プログラムは、１のコンピュータ（プロセッサ）により処理されるものであっても良いし、複数のコンピュータによって分散処理されるものであっても良い。さらに、プログラムは、遠方のコンピュータに転送されて実行されるものであっても良い。
【０６６５】
＜テレビジョン受像機の構成例＞
図１０２は、本技術を適用した復号装置を用いるテレビジョン受像機の主な構成例を示すブロック図である。
【０６６６】
図１０２に示されるテレビジョン受像機５００は、地上波チューナ５１３、ビデオデコーダ５１５、映像信号処理回路５１８、グラフィック生成回路５１９、パネル駆動回路５２０、および表示パネル５２１を有する。
【０６６７】
地上波チューナ５１３は、地上アナログ放送の放送波信号を、アンテナを介して受信し、復調し、映像信号を取得し、それをビデオデコーダ５１５に供給する。ビデオデコーダ５１５は、地上波チューナ５１３から供給された映像信号に対してデコード処理を施し、得られたデジタルのコンポーネント信号を映像信号処理回路５１８に供給する。
【０６６８】
映像信号処理回路５１８は、ビデオデコーダ５１５から供給された映像データに対してノイズ除去などの所定の処理を施し、得られた映像データをグラフィック生成回路５１９に供給する。
【０６６９】
グラフィック生成回路５１９は、表示パネル５２１に表示させる番組の映像データや、ネットワークを介して供給されるアプリケーションに基づく処理による画像データなどを生成し、生成した映像データや画像データをパネル駆動回路５２０に供給する。また、グラフィック生成回路５１９は、項目の選択などにユーザにより利用される画面を表示するための映像データ（グラフィック）を生成し、それを番組の映像データに重畳したりすることによって得られた映像データをパネル駆動回路５２０に供給するといった処理も適宜行う。
【０６７０】
パネル駆動回路５２０は、グラフィック生成回路５１９から供給されたデータに基づいて表示パネル５２１を駆動し、番組の映像や上述した各種の画面を表示パネル５２１に表示させる。
【０６７１】
表示パネル５２１は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８１８に保持させたり、画像信号処理部８１４に供給したりすることができる。
【０７７２】
以上のようなカメラ８００は、デコーダ８１５として復号装置１００用いる。したがって、デコーダ８１５は、復号装置１００の場合と同様に、インター予測の精度の悪化を抑制しつつ、メモリ帯域の使用量および処理量を削減することができる。
【０７７３】
また、カメラ８００は、エンコーダ８４１として符号化装置１０を用いる。したがって、エンコーダ８４１は、符号化装置１０の場合と同様に、インター予測の精度の悪化を抑制しつつ、メモリ帯域の使用量および処理量を削減することができる。
【０７７４】
なお、コントローラ８２１が行う復号処理に復号装置１００の復号方法を適用するようにしてもよい。同様に、コントローラ８２１が行う符号化処理に符号化装置１０の符号化方法を適用するようにしてもよい。
【０７７５】
また、カメラ８００が撮像する画像データは動画像であってもよいし、静止画像であってもよい。
【０７７６】
もちろん、符号化装置１０および復号装置１００は、上述した装置以外の装置やシステムにも適用可能である。
【０７７７】
本技術の実施の形態は、上述した実施の形態に限定されるものではなく、本技術の要旨を逸脱しない範囲において種々の変更が可能である。
【０７７８】
なお、本技術は、以下のような構成もとることができる。
【０７７９】
（１）
インター予測における参照画像から所定の画素を読み出す画素読出部と、
前記画素読出部により読み出された前記所定の画素を用いて、前記参照画像の分数位置の画素を前記インター予測における予測画像の画素として演算する演算部と
を備え、
前記画素読出部は、前記予測画像の外側の画素に対応する前記所定の画素の数が、前記予測画像の内側の画素に対応する前記所定の画素の数より少なくなるように、前記所定の画素を読み出す
画像処理装置。
（２）
前記外側の画素の前記参照画像上の位置は、前記予測画像の各画素の演算に用いられる全ての前記所定の画素からなるブロックである参照ブロックのうちの前記予測画像のサイズの範囲外の位置である
前記（１）に記載の画像処理装置。
（３）
前記画素読出部は、前記外側の画素に対応する前記所定の画素のうち、前記参照ブロックのうちの前記予測画像のサイズの範囲外に位置する画素と、前記内側の画素に対応する前記所定の画素のうち、前記参照ブロックのうちの前記予測画像のサイズの範囲外に位置する画素とが同一になるように、前記所定の画素を読み出す
前記（２）に記載の画像処理装置。
（４）
前記外側の画素の前記参照画像上の位置は、前記予測画像の各画素の演算に用いられる全ての前記所定の画素からなるブロックである参照ブロックのうちの前記予測画像のサイズの範囲と前記予測画像のサイズの範囲外の境界の位置である
前記（１）に記載の画像処理装置。
（５）
前記画素読出部は、前記予測画像の最も外側の画素に対応する前記所定の画素の数が２となるように、前記所定の画素を読み出す
前記（１）乃至（４）のいずれかに記載の画像処理装置。
（６）
前記画素読出部は、前記予測画像の最も外側の画素に対応する前記所定の画素の数が２となり、その外側の画素より内側の画素に対応する前記所定の画素の数が４となり、その内側の画素より内側の前記予測画像の最も内側の画素を含む画素に対応する前記所定の画素の数が６となるように、前記所定の画素を読み出す
前記（１）乃至（５）のいずれかに記載の画像処理装置。
（７）
前記予測画像の外側の画素に対応する係数である外側係数と、前記予測画像の内側の画素に対応する係数である内側係数を記憶する記憶部
をさらに備え、
前記演算部は、前記画素読出部により読み出された前記所定の画素が前記予測画像の外側の画素に対応するものである場合、その所定の画素と前記外側係数を用いて演算を行い、前記画素読出部により読み出された前記所定の画素が前記予測画像の内側の画素に対応するものである場合、その所定の画素と前記内側係数を用いて演算を行う
前記（１）乃至（６）のいずれかに記載の画像処理装置。
（８）
前記画素読出部により読み出された前記所定の画素の数が所定数より小さい場合、その所定の画素のうちの外側の画素を、前記所定の画素の数と前記所定数の差分だけ複製し、複製された画素と前記所定の画素からなる前記所定数の画素を生成する画素生成部
をさらに備え、
前記演算部は、前記画素生成部により生成された前記所定数の画素を用いて前記予測画像の画素を演算する
前記（１）乃至（４）のいずれかに記載の画像処理装置。
（９）
前記画素読出部は、前記予測画像の最も外側の画素に対応する前記所定の画素の数が４となり、その外側の画素より内側の画素に対応する前記所定の画素の数が５となり、その内側の画素より内側の前記予測画像の最も内側の画素を含む画素に対応する前記所定の画素の数が６となるように、前記所定の画素を読み出し、
前記所定数は６である
前記（８）に記載の画像処理装置。
（１０）
前記画素読出部は、前記予測画像の各画素の前記参照画像上の水平方向および垂直方向のいずれか一方の位置のみが分数位置である場合、両方の位置が分数位置である場合に比べて、前記予測画像の外側の画素に対応する前記所定の画素の数が多くなるように、前記所定の画素を読み出す
前記（１）乃至（４）および(８)のいずれかに記載の画像処理装置。
（１１）
前記画素読出部は、前記予測画像のサイズが所定のサイズより大きい場合、前記所定のサイズ以下である場合に比べて、前記予測画像の外側の画素に対応する前記所定の画素の数が多くなるように、前記所定の画素を読み出す
前記（１）乃至（４）、(８)、および(１０)のいずれかに記載の画像処理装置。
（１２）
前記画素読出部は、前記インター予測における予測方向が片方向の予測である場合、両方向の予測である場合に比べて、前記予測画像の外側の画素に対応する前記所定の画素の数が多くなるように、前記所定の画素を読み出す
前記（１）乃至（４）、(８)、(１０)、および（１１）のいずれかに記載の画像処理装置。
（１３）
前記画素読出部は、前記予測画像の外側の画素に対応する、その予測画素より外側の前記所定の画素の数が、前記予測画像の内側の画素に対応する、その予測画素より外側の前記所定の画素の数より少なくなるように、前記所定の画素を読み出す
前記（１）に記載の画像処理装置。
（１４）
前記画素読出部により読み出された前記所定の画素の数が所定数より小さい場合、その所定の画素のうちの外側の画素を、前記所定の画素の数と前記所定数の差分だけ複製し、複製された画素と前記所定の画素からなる前記所定数の画素を生成する画素生成部
をさらに備え、
前記演算部は、前記画素生成部により生成された前記所定数の画素を用いて前記予測画像の画素を演算する
前記（１３）に記載の画像処理装置。
（１５）
前記画素読出部は、前記予測画像の外側の画素に対応する前記所定の画素の数が、前記予測画像の内側の画素に対応する前記所定の画素の数より少なくなり、かつ、水平方向および垂直方向のいずれか一方に並ぶ前記所定の画素の数が、他方に並ぶ前記所定の画素の数より少なくなるように、前記所定の画素を読み出す
前記（１）乃至（４）、（８）、または（１０）乃至（１４）のいずれかに記載の画像処理装置。
（１６）
前記予測画像と符号化対象の画像の差分を演算する差分演算部
をさらに備える
前記（１）乃至（１５）のいずれかに記載の画像処理装置。
（１７）
前記予測画像と復号対象の画像を加算する加算演算部
をさらに備える
前記（１）乃至（１６）のいずれかに記載の画像処理装置。
（１８）
画像処理装置が、
インター予測における参照画像から所定の画素を読み出す画素読出ステップと、
前記画素読出ステップの処理により読み出された前記所定の画素を用いて、前記参照画像の分数位置の画素を前記インター予測における予測画像の画素として演算する演算ステップと
を含み、
前記画素読出ステップの処理では、前記予測画像の外側の画素に対応する前記所定の画素の数が、前記予測画像の内側の画素に対応する前記所定の画素の数より少なくなるように、前記所定の画素を読み出す
画像処理方法。
（１９）
コンピュータに、
インター予測における参照画像から所定の画素を読み出す画素読出ステップと、
前記画素読出ステップの処理により読み出された前記所定の画素を用いて、前記参照画像の分数位置の画素を前記インター予測における予測画像の画素として演算する演算ステップと
を含み、
前記画素読出ステップの処理では、前記予測画像の外側の画素に対応する前記所定の画素の数が、前記予測画像の内側の画素に対応する前記所定の画素の数より少なくなるように、前記所定の画素を読み出す
処理を実行させるためのプログラム。
【符号の説明】
【０７８０】
１０  符号化装置，  １３  演算部，  ２０  加算部，  ２４  インター予測部，  ４１  参照画像読出部，  ４３  2タップFIRフィルタ，  ４４  4タップFIRフィルタ，  ４５  6タップFIRフィルタ，  ４６  2タップフィルタ係数メモリ，  ４７  4タップフィルタ係数メモリ，  ４８  6タップフィルタ係数メモリ，  １００  復号装置，  １０５  加算部，  １１１  インター予測部，  １６０  参照画像読出部，  １６１  画素生成部，  １８０，２００，２１０，２２０，２５１，２７１  参照画像読出部，  ２７２  画像生成部，  ２９１  参照画像読出部，  ２９２  画素出力部，  ２９３  8タップFIRフィルタ，  ２９４  4タップFIRフィルタ，  ２９５  8タップフィルタ係数メモリ，  ２９６  4タップフィルタ係数メモリ
【図１】
2012209914.tif 000003
【図２】
2012209914.tif 000004
【図３】
2012209914.tif 000005
【図４】
2012209914.tif 000006
【図５】
2012209914.tif 000007
【図６】
2012209914.tif 000008
【図７】
2012209914.tif 000009
【図８】
2012209914.tif 000010
【図９】
2012209914.tif 000011
【図１０】
2012209914.tif 000012
【図１１】
2012209914.tif 000013
【図１２】
2012209914.tif 000014
【図１３】
2012209914.tif 000015
【図１４】
2012209914.tif 000016
【図１５】
2012209914.tif 000017
【図１６】
2012209914.tif 000018
【図１７】
2012209914.tif 000019
【図１８】
2012209914.tif 000020
【図１９】
2012209914.tif 000021
【図２０】
2012209914.tif 000022
【図２１】
2012209914.tif 000023
【図２２】
2012209914.tif 000024
【図２３】
2012209914.tif 000025
【図２４】
2012209914.tif 000026
【図２５】
2012209914.tif 000027
【図２６】
2012209914.tif 000028
【図２７】
2012209914.tif 000029
【図２８】
2012209914.tif 000030
【図２９】
2012209914.tif 000031
【図３０】
2012209914.tif 000032
【図３１】
2012209914.tif 000033
【図３２】
2012209914.tif 000034
【図３３】
2012209914.tif 000035
【図３４】
2012209914.tif 000036
【図３５】
2012209914.tif 000037
【図３６】
2012209914.tif 000038
【図３７】
2012209914.tif 000039
【図３８】
2012209914.tif 000040
【図３９】
2012209914.tif 000041
【図４０】
2012209914.tif 000042
【図４１】
2012209914.tif 000043
【図４２】
2012209914.tif 000044
【図４３】
2012209914.tif 000045
【図４４】
2012209914.tif 000046
【図４５】
2012209914.tif 000047
【図４６】
2012209914.tif 000048
【図４７】
2012209914.tif 000049
【図４８】
2012209914.tif 000050
【図４９】
2012209914.tif 000051
【図５０】
2012209914.tif 000052
【図５１】
2012209914.tif 000053
【図５２】
2012209914.tif 000054
【図５３】
2012209914.tif 000055
【図５４】
2012209914.tif 000056
【図５５】
2012209914.tif 000057
【図５６】
2012209914.tif 000058
【図５７】
2012209914.tif 000059
【図５８】
2012209914.tif 000060
【図５９】
2012209914.tif 000061
【図６０】
2012209914.tif 000062
【図６１】
2012209914.tif 000063
【図６２】
2012209914.tif 000064
【図６３】
2012209914.tif 000065
【図６４】
2012209914.tif 000066
【図６５】
2012209914.tif 000067
【図６６】
2012209914.tif 000068
【図６７】
2012209914.tif 000069
【図６８】
2012209914.tif 000070
【図６９】
2012209914.tif 000071
【図７０】
2012209914.tif 000072
【図７１】
2012209914.tif 000073
【図７２】
2012209914.tif 000074
【図７３】
2012209914.tif 000075
【図７４】
2012209914.tif 000076
【図７５】
2012209914.tif 000077
【図７６】
2012209914.tif 000078
【図７７】
2012209914.tif 000079
【図７８】
2012209914.tif 000080
【図７９】
2012209914.tif 000081
【図８０】
2012209914.tif 000082
【図８１】
2012209914.tif 000083
【図８２】
2012209914.tif 000084
【図８３】
2012209914.tif 000085
【図８４】
2012209914.tif 000086
【図８５】
2012209914.tif 000087
【図８６】
2012209914.tif 000088
【図８７】
2012209914.tif 000089
【図８８】
2012209914.tif 000090
【図８９】
2012209914.tif 000091
【図９０】
2012209914.tif 000092
【図９１】
2012209914.tif 000093
【図９２】
2012209914.tif 000094
【図９３】
2012209914.tif 000095
【図９４】
2012209914.tif 000096
【図９５】
2012209914.tif 000097
【図９６】
2012209914.tif 000098
【図９７】
2012209914.tif 000099
【図９８】
2012209914.tif 000100
【図９９】
2012209914.tif 000101
【図１００】
2012209914.tif 000102
【図１０１】
2012209914.tif 000103
【図１０２】
2012209914.tif 000104
【図１０３】
2012209914.tif 000105
【図１０４】
2012209914.tif 000106
【図１０５】
2012209914.tif 000107