(57)【特許請求の範囲】
【請求項１】
符号化された画像に対応する参照画像の画素を分数精度で補間するフィルタであって、第１の分数精度の画素位置と第２の分数精度の画素位置に対して予め定められた対称性が適用される場合、前記第１の分数精度の画素位置の画素と前記第２の分数精度の画素位置の画素を求めるためのフィルタ係数として、同じフィルタ係数を用いる補間フィルタと、
前記符号化された画像、前記符号化された画像に対応する動きベクトル、および前記補間フィルタのフィルタ係数を復号する復号手段と、
前記復号手段により復号された前記フィルタ係数の前記補間フィルタにより補間された前記参照画像と前記復号手段により復号された前記動きベクトルを用いて、予測画像を生成する動き補償手段と、
どの分数精度の画素位置の画素を求めるためのフィルタ係数に同じものを用いるかを、前記符号化された画像の種類に基づいて選択する選択手段と
を備える画像処理装置。
【請求項２】
前記補間フィルタは、さらに、前記第１の分数精度の画素位置の画素と前記第２の分数精度の画素位置の画素を求めるためのフィルタ係数として、前記補間フィルタに用いられる整数位置の画素における中央の位置を中心にして、各係数が反転されたフィルタ係数も用いる
請求項１に記載の画像処理装置。
【請求項３】
前記補間フィルタは、さらに、前記第１の分数精度の画素位置と前記第２の分数精度の画素位置に対して、前記対称性とは異なる予め定められた他の対称性が適用される場合、前記第１の分数精度の画素位置の画素と前記第２の分数精度の画素位置の画素を求めるためのフィルタ係数として、前記補間フィルタに用いられる整数位置の画素における中央の位置を中心にして、各係数が反転されたフィルタ係数も用いる
請求項２に記載の画像処理装置。
【請求項４】
定められたフィルタ係数を記憶する記憶手段をさらに備え、
前記符号化された画像が前記復号手段により復号された前記フィルタ係数を用いない画像である場合、前記補間フィルタは、前記記憶手段に記憶されたフィルタ係数を用い、前記動き補償手段は、前記記憶手段に記憶されたフィルタ係数の前記補間フィルタにより補間された前記参照画像と前記復号手段により復号された前記動きベクトルを用いて、予測画像を生成する
請求項１に記載の画像処理装置。
【請求項５】
前記復号手段により復号された画像と、前記動き補償手段により生成された前記予測画像とを加算して、復号画像を生成する演算手段
をさらに備える請求項１に記載の画像処理装置。
【請求項６】
画像処理装置が、
符号化された画像、前記符号化された画像に対応する動きベクトル、および符号化された画像に対応する参照画像の画素を分数精度で補間するフィルタであって、第１の分数精度の画素位置と第２の分数精度の画素位置に対して予め定められた対称性が適用される場合、前記第１の分数精度の画素位置の画素と前記第２の分数精度の画素位置の画素を求めるためのフィルタ係数として、同じフィルタ係数を用いる補間フィルタのフィルタ係数を復号し、
復号された前記フィルタ係数の前記補間フィルタにより補間された前記参照画像と復号された前記動きベクトルを用いて、予測画像を生成し、
どの分数精度の画素位置の画素を求めるためのフィルタ係数に同じものを用いるかを、前記符号化された画像の種類に基づいて選択するステップ
を含む画像処理方法。
【請求項７】
符号化された画像、前記符号化された画像に対応する動きベクトル、および符号化された画像に対応する参照画像の画素を分数精度で補間するフィルタであって、第１の分数精度の画素位置と第２の分数精度の画素位置に対して予め定められた対称性が適用される場合、前記第１の分数精度の画素位置の画素と前記第２の分数精度の画素位置の画素を求めるためのフィルタ係数として、同じフィルタ係数を用いる補間フィルタのフィルタ係数を復号する復号手段と、
前記復号手段により復号された前記フィルタ係数の前記補間フィルタにより補間された前記参照画像と前記復号手段により復号された前記動きベクトルを用いて、予測画像を生成する動き補償手段と、
どの分数精度の画素位置の画素を求めるためのフィルタ係数に同じものを用いるかを、前記符号化された画像の種類に基づいて選択する選択手段と
して、コンピュータを機能させるためのプログラム。
【請求項８】
符号化対象の画像と参照画像との間で動き予測を行い、動きベクトルを検出する動き予測手段と、
前記参照画像の画素を分数精度で補間するフィルタであって、第１の分数精度の画素位置と第２の分数精度の画素位置に対して予め定められた対称性が適用される場合、前記第１の分数精度の画素位置の画素と前記第２の分数精度の画素位置の画素を求めるためのフィルタ係数として、同じフィルタ係数を用いる補間フィルタと、
前記符号化対象の画像、前記参照画像、および前記動き予測手段により検出された前記動きベクトルを用いて、前記補間フィルタのフィルタ係数を算出する係数算出手段と、
前記係数算出手段により算出された前記フィルタ係数の前記補間フィルタにより補間された前記参照画像と前記動き予測手段により検出された前記動きベクトルを用いて、予測画像を生成する動き補償手段と、
どの分数精度の画素位置の画素を求めるためのフィルタ係数に同じものを用いるかを、前記符号化対象の画像の種類に基づいて選択する選択手段と
を備える画像処理装置。
【請求項９】
前記補間フィルタは、さらに、前記第１の分数精度の画素位置の画素と前記第２の分数精度の画素位置の画素を求めるためのフィルタ係数として、前記補間フィルタに用いられる整数位置の画素における中央の位置を中心にして、その係数が反転されたフィルタ係数も用いる
請求項８に記載の画像処理装置。
【請求項１０】
前記補間フィルタは、さらに、前記第１の分数精度の画素位置と前記第２の分数精度の画素位置に対して、前記対称性とは異なる予め定められた他の対称性が適用される場合、前記第１の分数精度の画素位置の画素と前記第２の分数精度の画素位置の画素を求めるためのフィルタ係数として、前記補間フィルタに用いられる整数位置の画素における中央の位置を中心にして、各係数が反転されたフィルタ係数も用いる
請求項９に記載の画像処理装置。
【請求項１１】
定められたフィルタ係数を記憶する記憶手段をさらに備え、
前記符号化対象の画像が前記係数算出手段により算出された前記フィルタ係数を用いない画像である場合、前記補間フィルタは、前記記憶手段に記憶されたフィルタ係数を用い、前記動き補償手段は、前記記憶手段に記憶されたフィルタ係数の前記補間フィルタにより補間された前記参照画像と前記動き予測手段により検出された前記動きベクトルを用いて、予測画像を生成する
請求項８に記載の画像処理装置。
【請求項１２】
前記動き補償手段により生成された前記予測画像と前記符号化対象の画像の差分、および前記動き予測手段により検出された前記動きベクトルを符号化する符号化手段
をさらに備える請求項８に記載の画像処理装置。
【請求項１３】
画像処理装置が、
符号化対象の画像と参照画像との間で動き予測を行い、動きベクトルを検出し、
前記符号化対象の画像、前記参照画像、および検出された前記動きベクトルを用いて、前記参照画像の画素を分数精度で補間するフィルタであって、第１の分数精度の画素位置と第２の分数精度の画素位置に対して予め定められた対称性が適用される場合、前記第１の分数精度の画素位置の画素と前記第２の分数精度の画素位置の画素を求めるためのフィルタ係数として、同じフィルタ係数を用いる補間フィルタのフィルタ係数を算出し、
算出された前記フィルタ係数の前記補間フィルタにより補間された前記参照画像と検出された前記動きベクトルを用いて、予測画像を生成し、
どの分数精度の画素位置の画素を求めるためのフィルタ係数に同じものを用いるかを、前記符号化対象の画像の種類に基づいて選択する
するステップ
を含む画像処理方法。
【請求項１４】
符号化対象の画像と参照画像との間で動き予測を行い、動きベクトルを検出する動き予測手段と、
前記符号化対象の画像、前記参照画像、および前記動き予測手段により検出された前記動きベクトルを用いて、前記参照画像の画素を分数精度で補間するフィルタであって、第１の分数精度の画素位置と第２の分数精度の画素位置に対して予め定められた対称性が適用される場合、前記第１の分数精度の画素位置の画素と前記第２の分数精度の画素位置の画素を求めるためのフィルタ係数として、同じフィルタ係数を用いる補間フィルタのフィルタ係数を算出する係数算出手段と、
前記係数算出手段により算出された前記フィルタ係数の前記補間フィルタにより補間された前記参照画像と前記動き予測手段により検出された前記動きベクトルを用いて、予測画像を生成する動き補償手段と、
どの分数精度の画素位置の画素を求めるためのフィルタ係数に同じものを用いるかを、前記符号化対象の画像の種類に基づいて選択する選択手段と
して、コンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は画像処理装置および方法、並びにプログラムに関し、特に、Ｂスライスの場合に、オーバーヘッドを削減し、符号化効率を改善することができるようにした画像処理装置および方法、並びにプログラムに関する。
【背景技術】
【０００２】
画像情報を圧縮する標準規格として、H．264及びMPEG-4 Part10 （Advanced Video Coding、以下H．264/AVCと記す）がある。
【０００３】
H.264/AVCにおいては、フレームまたはフィールド間の相関に注目したインター予測が行われる。そして、このインター予測で行われる動き補償処理では、既に保存されている参照可能な画像内の一部の領域を用いて、インター予測による予測画像（以下、インター予測画像という）が生成される。
【０００４】
例えば、図１に示すように、既に保存されている参照可能な画像の５フレームが参照フレームとされた場合、インター予測するフレーム（原フレーム）のインター予測画像の一部は、５つのうちのいずれか１つの参照フレームの画像（以下、参照画像という）の一部を参照して構成される。なお、インター予測画像の一部となる参照画像の一部の位置は、参照フレームと原フレームの画像に基づいて検出された動きベクトルによって決定される。
【０００５】
より詳細には、図２に示すように、参照フレーム内の顔１１が、原フレームにおいて右下方向に移動し、下部の約1/3が隠れた場合、右下方向の逆の左上方向を表す動きベクトルが検出される。そして、原フレーム内の隠れていない顔１１の一部１２は、その一部１２を動きベクトルが表す動きだけ移動させた位置の参照フレーム内の顔１１の一部１３を参照して構成される。
【０００６】
また、H.264/AVCにおいては、動き補償処理において、動きベクトルの分解能を２分の１または４分の１といった分数精度に向上させることが考えられている。
【０００７】
このような分数精度の動き補償処理においては、隣接する画素の間に、Sub pelと呼ばれる仮想的な分数位置の画素を設定し、そのSub pelを生成する処理（以下、インターポーレーションという）が追加して行われる。すなわち、分数精度の動き補償処理では、動きベクトルの最小分解能が分数位置の画素になるため、分数位置の画素を生成するためのインターポーレーションが行われる。
【０００８】
図３は、インターポーレーションによって縦方向と横方向の画素数が４倍に増加された画像の各画素を示している。なお、図３において、白色の正方形は、整数位置の画素(Integer pel(Int. pel))を表し、斜線が付された正方形は、分数位置の画素(Sub pel)を表している。また、正方形内のアルファベットは、その正方形が表す画素の画素値を表している。
【０００９】
インターポーレーションによって生成される分数位置の画素の画素値ｂ，ｈ，ｊ，ａ，ｄ，ｆ，ｒは、以下に示す式（１）で表される。
【００１０】
b=(E-5F+20G+20H-5I+J)/32
h=(A-5C+20G+20M-5R+T)/32
j=(aa-5bb+20b+20s-5gg+hh)/32
a=(G+b)/2
d=(G+h)/2
f=(b+j)/2
r=(m+s)/2
・・・（１）  
【００１１】
なお、画素値aa，bb，s，gg，hhはbと同様に、cc，dd，m，ee，ffはhと同様に、cはaと同様に、f，n，qはdと同様に、e，p，gはrと同様に、それぞれ求めることができる。
【００１２】
上述した式（１）は、H.264/AVCなどのインターポーレーションで採用される式であり、この式は規格の違いによって異なるが、式の目的は同一である。この式は、偶数のタップ数を有する有限インパルス応答（FIR（Finit-duration Impulse Response））フィルタで実現することができる。例えば、H.264/AVCにおいては、６タップの補間フィルタが用いられている。
【００１３】
また、非特許文献１乃至３には、最近の研究報告として、アダプティブ・インターポーレーション・フィルタ（AIF）が挙げられている。このAIFを用いた動き補償処理では、インターポーレーションで用いられるタップ数が偶数のFIRフィルタのフィルタ係数を適応的に変えることで、エイリアシングの影響や符号化歪みを低減し、動き補償の誤差を小さくすることができる。
【００１４】
AIFには、フィルタ構造の違いから、いくつかバリエーションがあるが、代表して、図４を参照して、非特許文献２に記載のSeparable adaptive interpolation filter(以下、Separable  AIFと称する)について説明する。なお、図４において、斜線が付された正方形は、整数位置の画素(Integer pel(Int. pel))を表し、白色の正方形は、分数位置の画素(Sub pel)を表している。また、正方形内のアルファベットは、その正方形が表す画素の画素値を表している。
【００１５】
Separable  AIFにおいては、第１ステップとして、横方向に対する非整数位置の補間が行われ、第２ステップとして、縦方向に対する非整数方向の補間が行われる。なお、横と縦の処理順を逆にすることも可能である。
【００１６】
まず、第１ステップである、分数位置の画素の画素値a，b，cは、整数位置の画素の画素値E，F，G，H，I，JからFIRフィルタにより次の式（２）で計算される。ここで、h[pos][n]は、フィルタ係数であり、posは、図３に示されたsub pelの位置を示し、nはフィルタ係数の番号を示す。このフィルタ係数は、ストリーム情報に含められて復号側で使用される。
【００１７】
a = h[a][0] x E + h1[a][1] x F + h2[a][2] x G + h[a][3] 
x H + h[a][4] x I + h[a][5] x J
b = h[b][0] x E + h1[b][1] x F + h2[b][2] x G + h[b][3] 
x H + h[b][4] x I + h[b][5] x J
c = h[c][0] x E + h1[c][1] x F + h2[c][2] x G + h[c][3] 
x H + h[c][4] x I + h[c][5] x J
・・・（２）
【００１８】
なお、画素値G1，G2，G3，G4，G5の行の分数位置の画素の画素値(a1,b1,c1,a2,b2,c2,a3,b3,c3,a4,b4,c4,a5,b5,c5)に対しても、画素値a，b，cと同様に求めることができる。
【００１９】
次に、第２ステップである、画素値a,b,c以外の画素値d乃至oは、次の式（３）で計算される。
【００２０】
d = h[d][0] x G1 + h[d][1] x G2 + h[d][2] x G + h[d][3] 
x G3 + h[d][4] * G4 + h[d][5] x G5
h = h[h][0] x G1 + h[h][1] x G2 + h[h][2] x G + h[h][3] 
x G3 + h[h][4] * G4 + h[h][5] x G5
l = h[l][0] x G1 + h[l][1] x G2 + h[l][2] x G + h[l][3] 
x G3 + h[l][4] * G4 + h[l][5] x G5
e = h[e][0] x a1 + h[e][1] x a2 + h[e][2] x a + h[e][3] 
x a3 + h[e][4] * a4 + h[e][5] x a5
i = h[i][0] x a1 + h[i][1] x a2 + h[i][2] x a + h[i][3] 
x a3 + h[i][4] * a4 + h[i][5] x a5
m = h[m][0] x a1 + h[m][1] x a2 + h[m][2] x a + h[m][3] 
x a3 + h[m][4] * a4 + h[m][5] x a5
f = h[f][0] x b1 + h[f][1] x b2 + h[f][2] x b + h[f][3] 
x b3 + h[f][4] * b4 + h[f][5] x b5
j = h[j][0] x b1 + h[j][1] x b2 + h[j][2] x b + h[j][3] 
x b3 + h[j][4] * b4 + h[j][5] x b5
n = h[n][0] x b1 + h[n][1] x b2 + h[n][2] x b + h[n][3] 
x b3 + h[n][4] * b4 + h[n][5] x b5
g = h[g][0] x c1 + h[g][1] x c2 + h[g][2] x c + h[g][3] 
x c3 + h[g][4] * c4 + h[g][5] x c5
k = h[k][0] x c1 + h[k][1] x c2 + h[k][2] x c + h[k][3] 
x c3 + h[k][4] * c4 + h[k][5] x c5
o = h[o][0] x c1 + h[o][1] x c2 + h[o][2] x c + h[o][3] 
x c3 + h[o][4] * c4 + h[o][5] x c5
・・・（３）
【００２１】
なお、上述した方法では、フィルタ係数がすべて独立しているが、非特許文献２では、次の式（４）が示されている。
【００２２】
a = h[a][0] x E + h1[a][1] x F + h2[a][2] x G + h[a][3] 
x H + h[a][4] x I + h[a][5] x J
b = h[b][0] x E + h1[b][1] x F + h2[b][2] x G + h[b][2] 
x H + h[b][1] x I + h[b][0] x J
c = h[c][0] x E + h1[c][1] x F + h2[c][2] x G + h[c][3] 
x H + h[c][4] x I + h[c][5] x J
d = h[d][0] x G1 + h[d][1] x G2 + h[d][2] x G + h[d][3] 
x G3 + h[d][4] * G4 + h[d][5] x G5
h = h[h][0] x G1 + h[h][1] x G2 + h[h][2] x G + h[h][2] 
x G3 + h[h][1] * G4 + h[h][0] x G5
l = h[d][5] x G1 + h[d][4] x G2 + h[d][3] x G + h[d][2] 
x G3 + h[d][1] * G4 + h[d][0] x G5
e = h[e][0] x a1 + h[e][1] x a2 + h[e][2] x a + h[e][3] 
x a3 + h[e][4] * a4 + h[e][5] x a5
i = h[i][0] x a1 + h[i][1] x a2 + h[i][2] x a + h[i][2] 
x a3 + h[i][1] * a4 + h[i][0] x a5
m = h[e][5] x a1 + h[e][4] x a2 + h[e][3] x a + h[e][2] 
x a3 + h[e][1] * a4 + h[e][0] x a5
f = h[f][0] x b1 + h[f][1] x b2 + h[f][2] x b + h[f][3] 
x b3 + h[f][4] * b4 + h[f][5] x b5
j = h[j][0] x b1 + h[j][1] x b2 + h[j][2] x b + h[j][2] 
x b3 + h[j][1] * b4 + h[j][0] x b5
n = h[f][5] x b1 + h[f][4] x b2 + h[f][3] x b + h[f][2] 
x b3 + h[f][1] * b4 + h[f][0] x b5
g = h[g][0] x c1 + h[g][1] x c2 + h[g][2] x c + h[g][3] 
x c3 + h[g][4] * c4 + h[g][5] x c5
k = h[k][0] x c1 + h[k][1] x c2 + h[k][2] x c + h[k][2] 
x c3 + h[k][1] * c4 + h[k][0] x c5
o = h[g][5] x c1 + h[g][4] x c2 + h[g][3] x c + h[g][2] 
x c3 + h[g][1] * c4 + h[g][0] x c5
・・・（４）
【００２３】
例えば、画素値bを算出するためのフィルタ係数の１つh[b][3]は、h[b][2]に置き換えられている。前者のように、完全にすべてのフィルタ係数が独立していた場合、フィルタ係数の数は合計で９０になるが、非特許文献２の方法では、フィルタ係数の数が５１に削減されることになる。
【００２４】
上述したAIFは、補間フィルタの性能を改善するが、フィルタ係数をストリーム情報に含めるため、オーバーヘッドが存在し、場合よっては、符号化効率を劣化させてしまうことも起こる。そこで、非特許文献３では、フィルタ係数の対称性を使って削減し、オーバーヘッドを減らすようにしている。符号化側では、どのSub pelのフィルタ係数が他のSub pelと近いかを調べて、近いフィルタ係数は１つに集約する。どのように集約されたかを示す対称性の記述子をストリーム情報に含めて復号側に送る。復号側では、その対称性の記述子を受け取り、フィルタ係数がどのように集約されたかを知ることができる。
【００２５】
ところで、H．264/AVC方式において、マクロブロックサイズは１６×１６画素である。しかしながら、マクロブロックサイズを１６×１６画素とするのは、次世代符号化方式の対象となるようなUHD(Ultra High Definition;4000×2000画素)といった大きな画枠に対しては最適ではない。
【００２６】
そこで、非特許文献４などにおいては、マクロブロックサイズを、例えば、３２×３２画素といった大きさに拡張することも提案されている。
【００２７】
なお、上述した従来の図は、適宜、本願発明の説明にも用いられる。
【先行技術文献】
【非特許文献】
【００２８】
【非特許文献１】Yuri Vatis, Joern Ostermann,’’Prediction of P- and B-Frames Using a Two-dimensional Non-separable Adaptive Wiener Interpolation Filter for H.264/AVC’’, ITU-T SG16 VCEG 30th Meeting, Hangzhou China, October 2006
【非特許文献２】Steffen Wittmann,Thomas Wedi,’’Separable adaptive inerpolation filte’’, ITU-T SG16COM16-C219-E,June 2007
【非特許文献３】Dmytro Rusanovskyy, et al., ‘‘Improvements on Enhanced Directional Adaptive Filtering (EDAIF-2)’’, COM 16 - C 125 - E, January 2009
【非特許文献４】’’Video Coding Using Extended Block Sizes’’,VCEG-AD09,ITU-Telecommunications Standardization Sector STUDY GROUP Question 16 - Contribution 123, Jan 2009
【発明の概要】
【発明が解決しようとする課題】
【００２９】
上述したように、AIFを用いれば、補間フィルタのフィルタ係数をスライス単位で変更できるが、そのフィルタ係数情報をストリーム情報に含めなければならず、フィルタ係数情報のビット量がオーバーヘッドとなり、符号化効率を劣化させてしまう恐れがある。
【００３０】
特に、Ｂピクチャにとってはそのオーバーヘッドが比較的多くなる。例えば、ピクチャタイプを、ＢＰＢＰＢＰ・・・という順序でＰピクチャを２ピクチャ毎に配置して、その間をＢピクチャにした場合、Ｂピクチャで発生するビット量はＰピクチャと比較して少ないことが多い。これは、時間距離の小さい参照画像を使えることや、双方向予測が使えるといったことでＢピクチャのインター予測の品質が高くなることが原因と考えられるが、いずれにせよ、Ｂピクチャのオーバーヘッドの割合がＰピクチャのそれと比べて大きいことになる。
【００３１】
その結果、Ｂピクチャでは、AIFの効果が制限されてしまう。すなわち、AIFによって補間フィルタの性能が改善されるが、フィルタ係数情報によるオーバーヘッドのほうが負荷となり、符号化効率が損失する機会が多くなってしまう。
【００３２】
また、非特許文献３による方法は、フィルタ係数の数を適応的に変えることができるが、符号化側はどのように変わったかを復号側に知らせるために対称性の記述子をストリーム情報に含める必要があった。しかしながら、その対称性の記述子もオーバーヘッドになるため、符号化効率の損失になる。
【００３３】
さらに、非特許文献３による方法では、演算量が増加してしまう。すなわち、似ている、または似ていないの対称性を把握するために、最初に各 sub pel のフィルタ係数が個別に対称性を仮定しないで算出され、各 sub pel のフィルタ係数どうしのユークリッド距離が算出される。そして、さらにそのユークリッド距離がしきい値よりも小さい時はフィルタ係数を集約するために統計情報をマージして再びフィルタ係数を算出しなければならず、対称性の記述子と最終的なフィルタ係数を得るために演算量が増加してしまう。
【００３４】
本発明は、このような状況に鑑みてなされたものであり、オーバーヘッドを削減し、符号化効率を改善することができるものである。
【課題を解決するための手段】
【００３５】
本発明の第１の側面の画像処理装置は、符号化された画像に対応する参照画像の画素を分数精度で補間するフィルタであって、第１の分数精度の画素位置と第２の分数精度の画素位置に対して予め定められた対称性が適用される場合、前記第１の分数精度の画素位置の画素と前記第２の分数精度の画素位置の画素を求めるためのフィルタ係数として、同じフィルタ係数を用いる補間フィルタと、前記符号化された画像、前記符号化された画像に対応する動きベクトル、および前記補間フィルタのフィルタ係数を復号する復号手段と、前記復号手段により復号された前記フィルタ係数の前記補間フィルタにより補間された前記参照画像と前記復号手段により復号された前記動きベクトルを用いて、予測画像を生成する動き補償手段と、どの分数精度の画素位置の画素を求めるためのフィルタ係数に同じものを用いるかを、前記符号化された画像の種類に基づいて選択する選択手段とを備える。
【００３７】
前記補間フィルタは、さらに、前記第１の分数精度の画素位置の画素と前記第２の分数精度の画素位置の画素を求めるためのフィルタ係数として、前記補間フィルタに用いられる整数位置の画素における中央の位置を中心にして、各係数が反転されたフィルタ係数も用いることができる。
【００３８】
前記補間フィルタは、さらに、前記第１の分数精度の画素位置と前記第２の分数精度の画素位置に対して、前記対称性とは異なる予め定められた他の対称性が適用される場合、前記第１の分数精度の画素位置の画素と前記第２の分数精度の画素位置の画素を求めるためのフィルタ係数として、前記補間フィルタに用いられる整数位置の画素における中央の位置を中心にして、各係数が反転されたフィルタ係数も用いることができる。
【００３９】
定められたフィルタ係数を記憶する記憶手段をさらに備え、前記符号化された画像が前記復号手段により復号された前記フィルタ係数を用いない画像である場合、前記補間フィルタは、前記記憶手段に記憶されたフィルタ係数を用い、前記動き補償手段は、前記記憶手段に記憶されたフィルタ係数の前記補間フィルタにより補間された前記参照画像と前記復号手段により復号された前記動きベクトルを用いて、予測画像を生成することができる。
【００４０】
前記復号手段により復号された画像と、前記動き補償手段により生成された前記予測画像とを加算して、復号画像を生成する演算手段をさらに備えることができる。
【００４１】
本発明の第１の側面の画像処理方法は、画像処理装置が、符号化された画像、前記符号化された画像に対応する動きベクトル、および符号化された画像に対応する参照画像の画素を分数精度で補間するフィルタであって、第１の分数精度の画素位置と第２の分数精度の画素位置に対して予め定められた対称性が適用される場合、前記第１の分数精度の画素位置の画素と前記第２の分数精度の画素位置の画素を求めるためのフィルタ係数として、同じフィルタ係数を用いる補間フィルタのフィルタ係数を復号し、復号された前記フィルタ係数の前記補間フィルタにより補間された前記参照画像と復号された前記動きベクトルを用いて、予測画像を生成し、どの分数精度の画素位置の画素を求めるためのフィルタ係数に同じものを用いるかを、前記符号化された画像の種類に基づいて選択するステップを含む。
【００４２】
本発明の第１の側面のプログラムは、符号化された画像、前記符号化された画像に対応する動きベクトル、および符号化された画像に対応する参照画像の画素を分数精度で補間するフィルタであって、第１の分数精度の画素位置と第２の分数精度の画素位置に対して予め定められた対称性が適用される場合、前記第１の分数精度の画素位置の画素と前記第２の分数精度の画素位置の画素を求めるためのフィルタ係数として、同じフィルタ係数を用いる補間フィルタのフィルタ係数を復号する復号手段と、前記復号手段により復号された前記フィルタ係数の前記補間フィルタにより補間された前記参照画像と前記復号手段により復号された前記動きベクトルを用いて、予測画像を生成する動き補償手段と、どの分数精度の画素位置の画素を求めるためのフィルタ係数に同じものを用いるかを、前記符号化された画像の種類に基づいて選択する選択手段として、コンピュータを機能させる。
【００４３】
本発明の第２の側面の画像処理装置は、符号化対象の画像と参照画像との間で動き予測を行い、動きベクトルを検出する動き予測手段と、前記参照画像の画素を分数精度で補間するフィルタであって、第１の分数精度の画素位置と第２の分数精度の画素位置に対して予め定められた対称性が適用される場合、前記第１の分数精度の画素位置の画素と前記第２の分数精度の画素位置の画素を求めるためのフィルタ係数として、同じフィルタ係数を用いる補間フィルタと、前記符号化対象の画像、前記参照画像、および前記動き予測手段により検出された前記動きベクトルを用いて、前記補間フィルタのフィルタ係数を算出する係数算出手段と、前記係数算出手段により算出された前記フィルタ係数の前記補間フィルタにより補間された前記参照画像と前記動き予測手段により検出された前記動きベクトルを用いて、予測画像を生成する動き補償手段と、どの分数精度の画素位置の画素を求めるためのフィルタ係数に同じものを用いるかを、前記符号化対象の画像の種類に基づいて選択する選択手段とを備える。
【００４５】
前記補間フィルタは、さらに、前記第１の分数精度の画素位置の画素と前記第２の分数精度の画素位置の画素を求めるためのフィルタ係数として、前記補間フィルタに用いられる整数位置の画素における中央の位置を中心にして、各係数が反転されたフィルタ係数も用いることができる。
【００４６】
前記補間フィルタは、さらに、前記第１の分数精度の画素位置と前記第２の分数精度の画素位置に対して、前記対称性とは異なる予め定められた他の対称性が適用される場合、前記第１の分数精度の画素位置の画素と前記第２の分数精度の画素位置の画素を求めるためのフィルタ係数として、前記補間フィルタに用いられる整数位置の画素における中央の位置を中心にして、各係数が反転されたフィルタ係数も用いることができる。
【００４７】
定められたフィルタ係数を記憶する記憶手段をさらに備え、前記符号化対象の画像が前記係数算出手段により算出された前記フィルタ係数を用いない画像である場合、前記補間フィルタは、前記記憶手段に記憶されたフィルタ係数を用い、前記動き補償手段は、前記記憶手段に記憶されたフィルタ係数の前記補間フィルタにより補間された前記参照画像と前記動き予測手段により検出された前記動きベクトルを用いて、予測画像を生成することができる。
【００４８】
前記動き補償手段により生成された前記予測画像と前記符号化対象の画像の差分、および前記動き予測手段により検出された前記動きベクトルを符号化する符号化手段をさらに備えることができる。
【００４９】
本発明の第２の側面の画像処理方法は、画像処理装置が、符号化対象の画像と参照画像との間で動き予測を行い、動きベクトルを検出し、前記符号化対象の画像、前記参照画像、および検出された前記動きベクトルを用いて、前記参照画像の画素を分数精度で補間するフィルタであって、第１の分数精度の画素位置と第２の分数精度の画素位置に対して予め定められた対称性が適用される場合、前記第１の分数精度の画素位置の画素と前記第２の分数精度の画素位置の画素を求めるためのフィルタ係数として、同じフィルタ係数を用いる補間フィルタのフィルタ係数を算出し、算出された前記フィルタ係数の前記補間フィルタにより補間された前記参照画像と検出された前記動きベクトルを用いて、予測画像を生成し、どの分数精度の画素位置の画素を求めるためのフィルタ係数に同じものを用いるかを、前記符号化対象の画像の種類に基づいて選択する。
【００５０】
本発明の第２の側面のプログラムは、符号化対象の画像と参照画像との間で動き予測を行い、動きベクトルを検出する動き予測手段と、前記符号化対象の画像、前記参照画像、および前記動き予測手段により検出された前記動きベクトルを用いて、前記参照画像の画素を分数精度で補間するフィルタであって、第１の分数精度の画素位置と第２の分数精度の画素位置に対して予め定められた対称性が適用される場合、前記第１の分数精度の画素位置の画素と前記第２の分数精度の画素位置の画素を求めるためのフィルタ係数として、同じフィルタ係数を用いる補間フィルタのフィルタ係数を算出する係数算出手段と、前記係数算出手段により算出された前記フィルタ係数の前記補間フィルタにより補間された前記参照画像と前記動き予測手段により検出された前記動きベクトルを用いて、予測画像を生成する動き補償手段と、どの分数精度の画素位置の画素を求めるためのフィルタ係数に同じものを用いるかを、前記符号化対象の画像の種類に基づいて選択する選択手段として、コンピュータを機能させる。
【００５１】
本発明の第１の側面においては、符号化された画像、前記符号化された画像に対応する
動きベクトル、および符号化された画像に対応する参照画像の画素を分数精度で補間する
フィルタであって、第１の分数精度の画素位置と第２の分数精度の画素位置に対して予め
定められた対称性が適用される場合、前記第１の分数精度の画素位置の画素と前記第２の
分数精度の画素位置の画素を求めるためのフィルタ係数として、同じフィルタ係数を用い
る補間フィルタのフィルタ係数が復号される。そして、復号された前記フィルタ係数の前
記補間フィルタにより補間された前記参照画像と復号された前記動きベクトルを用いて、
予測画像が生成される。また、どの分数精度の画素位置の画素を求めるためのフィルタ係数に同じものを用いるかが、前記符号化された画像の種類に基づいて選択される。
【００５２】
本発明の第２の側面においては、符号化対象の画像と参照画像との間で動き予測を行い、動きベクトルが検出され、前記符号化対象の画像、前記参照画像、および検出された前記動きベクトルを用いて、前記参照画像の画素を分数精度で補間するフィルタであって、第１の分数精度の画素位置と第２の分数精度の画素位置に対して予め定められた対称性が適用される場合、前記第１の分数精度の画素位置の画素と前記第２の分数精度の画素位置の画素を求めるためのフィルタ係数として、同じフィルタ係数を用いる補間フィルタのフィルタ係数が算出される。そして、算出された前記フィルタ係数の前記補間フィルタにより補間された前記参照画像と検出された前記動きベクトルを用いて、予測画像が生成される。また、どの分数精度の画素位置の画素を求めるためのフィルタ係数に同じものを用いるかが、前記符号化対象の画像の種類に基づいて選択される。
【００５３】
なお、上述の画像処理装置のそれぞれは、独立した装置であっても良いし、１つの画像符号化装置または画像復号装置を構成している内部ブロックであってもよい。
【発明の効果】
【００５４】
本発明によれば、オーバーヘッドを削減し、符号化効率を改善することができることができる。また、本発明によれば、特に、Ｂピクチャの場合に、オーバーヘッドを削減し、符号化効率を改善することができることができる。
【図面の簡単な説明】
【００５５】
【図１】従来のインター予測について説明する図である。
【図２】従来のインター予測について詳細に説明する図である。
【図３】インターポーレーションについて説明する図である。
【図４】Separable  AIFを説明する図である。
【図５】本発明を適用した画像符号化装置の一実施の形態の構成を示すブロック図である。
【図６】動き予測・補償部の構成例を示すブロック図である。
【図７】フィルタ係数の数を説明する図である。
【図８】横方向についてフィルタ係数の算出を説明する図である。
【図９】縦方向についてフィルタ係数の算出を説明する図である。
【図１０】分数画素位置の対称性の例を説明する図である。
【図１１】分数画素位置の対称性の例を説明する図である。
【図１２】分数画素位置の対称性の例を説明する図である。
【図１３】分数画素位置の対称性の例を説明する図である。
【図１４】図８の画像符号化装置の符号化処理を説明するフローチャートである。
【図１５】図１４のステップＳ２２の動き予測・補償処理を説明するフローチャートである。
【図１６】本発明を適用した画像復号装置の一実施の形態の構成を示すブロック図である。
【図１７】図１６の動き補償部の構成例を示すブロック図である。
【図１８】図１６の画像復号装置の復号処理を説明するフローチャートである。
【図１９】図１８のステップＳ１３９の動き補償処理を説明するフローチャートである。
【図２０】固定補間フィルタを除いた場合の図５の動き予測・補償部の構成例を示している。
【図２１】図２０の動き予測・補償部の動き予測・補償処理を説明するフローチャートである。
【図２２】固定補間フィルタを除いた場合の図１６の動き補償部の構成例を示している。
【図２３】図２２の動き補償部の動き補償処理を説明するフローチャートである。
【図２４】拡張されたブロックサイズの例を示す図である。
【図２５】コンピュータのハードウエアの構成例を示すブロック図である。
【図２６】本発明を適用したテレビジョン受像機の主な構成例を示すブロック図である。
【図２７】本発明を適用した携帯電話機の主な構成例を示すブロック図である。
【図２８】本発明を適用したハードディスクレコーダの主な構成例を示すブロック図である。
【図２９】本発明を適用したカメラの主な構成例を示すブロック図である。
【発明を実施するための形態】
【００５６】
以下、図を参照して本発明の実施の形態について説明する。
【００５７】
［画像符号化装置の構成例］
図５は、本発明を適用した画像処理装置としての画像符号化装置の一実施の形態の構成を表している。
【００５８】
この画像符号化装置５１は、例えば、H．264及びMPEG-4 Part10（Advanced Video Coding）（以下H．264/AVCと記す）方式をベースに、入力された画像を圧縮符号化する。
【００５９】
図５の例において、画像符号化装置５１は、A/D変換部６１、画面並べ替えバッファ６２、演算部６３、直交変換部６４、量子化部６５、可逆符号化部６６、蓄積バッファ６７、逆量子化部６８、逆直交変換部６９、演算部７０、デブロックフィルタ７１、フレームメモリ７２、スイッチ７３、イントラ予測部７４、動き予測・補償部７５、予測画像選択部７６、およびレート制御部７７により構成されている。
【００６０】
A/D変換部６１は、入力された画像をA/D変換し、画面並べ替えバッファ６２に出力し、記憶させる。画面並べ替えバッファ６２は、記憶した表示の順番のフレームの画像を、ＧＯＰ（Group of Picture）に応じて、符号化のためのフレームの順番に並べ替える。
【００６１】
演算部６３は、画面並べ替えバッファ６２から読み出された画像から、予測画像選択部７６により選択されたイントラ予測部７４からの予測画像または動き予測・補償部７５からの予測画像を減算し、その差分情報を直交変換部６４に出力する。直交変換部６４は、演算部６３からの差分情報に対して、離散コサイン変換、カルーネン・レーベ変換等の直交変換を施し、その変換係数を出力する。量子化部６５は直交変換部６４が出力する変換係数を量子化する。
【００６２】
量子化部６５の出力となる、量子化された変換係数は、可逆符号化部６６に入力され、ここで可変長符号化、算術符号化等の可逆符号化が施され、圧縮される。
【００６３】
可逆符号化部６６は、イントラ予測を示す情報をイントラ予測部７４から取得し、インター予測モードを示す情報などを動き予測・補償部７５から取得する。なお、イントラ予測を示す情報およびインター予測を示す情報は、以下、それぞれ、イントラ予測モード情報およびインター予測モード情報とも称する。
【００６４】
可逆符号化部６６は、量子化された変換係数を符号化するとともに、イントラ予測を示す情報、インター予測モードを示す情報などを符号化し、圧縮画像におけるヘッダ情報の一部とする。可逆符号化部６６は、符号化したデータを蓄積バッファ６７に供給して蓄積させる。
【００６５】
例えば、可逆符号化部６６においては、可変長符号化または算術符号化等の可逆符号化処理が行われる。可変長符号化としては、H．264/AVC方式で定められている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 モードにおいては、全てのイントラ予測モードに対して、イントラ予測画像を生成するだけでよく、符号化処理を行う必要がないため、演算量が少なくて済む。
【００８０】
イントラ予測部７４は、最適イントラ予測モードで生成された予測画像とそのコスト関数値を、予測画像選択部７６に供給する。イントラ予測部７４は、予測画像選択部７６により最適イントラ予測モードで生成された予測画像が選択された場合、最適イントラ予測モードを示す情報を、可逆符号化部６６に供給する。可逆符号化部６６は、この情報を符号化し、圧縮画像におけるヘッダ情報の一部とする。
【００８１】
動き予測・補償部７５には、画面並べ替えバッファ６２から読み出されたインター処理する画像と、スイッチ７３を介してフレームメモリ７２から参照画像が供給される。動き予測・補償部７５は、固定の補間フィルタを用いて、参照画像にフィルタ処理を行う。なお、フィルタ係数が固定とは、１つに固定する意味ではなく、AIF(Adaptive Interpolation Filter)における可変に対する固定であって、係数を入れ替えることは可能である。以下、固定の補間フィルタによるフィルタ処理を、固定フィルタ処理ともいう。
【００８２】
動き予測・補償部７５は、インター処理する画像と固定フィルタ処理後の参照画像に基づいて、候補となる全てのインター予測モードのブロックの動き予測を行い、各ブロックの動きベクトルを生成する。そして、動き予測・補償部７５は、固定フィルタ処理後の参照画像に対して補償処理を行い、予測画像を生成する。このとき、動き予測・補償部７５は、候補となる全てのインター予測モードに対して、処理対象のブロックのコスト関数値を求め、予測モードを決定し、決定した予測モードで、処理対象のスライスのコスト関数値を求める。
【００８３】
また、動き予測・補償部７５は、対象ブロックがＰスライスまたはＢスライスに含まれるか、すなわち、スライスの種類に基づいて、どの分数精度の画素位置の画素を求めるためのフィルタ係数に同じものを用いるかを選択する。例えば、Ｂスライスの場合、Ｐスライスの場合よりも多くの分数精度の画素位置に対称性が適用されて（対称性があるとされれて）、それらの画素位置について同じフィルタ係数が用いられる。この対称性の法則は、図１０を参照して後述するが、符号化側と復号側で予め仮定されて定められている。以下、対称性を適用する画素が多い場合、対称性が強いともいう。
【００８４】
動き予測・補償部７５は、生成された動きベクトル、インター処理する画像、参照画像を用いて、スライスの種類に応じたフィルタ係数で構成される係数の可変の補間フィルタ（AIF(Adaptive Interpolation Filter)）のフィルタ係数を求める。そして、動き予測・補償部７５は、求めたフィルタ係数のフィルタを用いて、参照画像にフィルタ処理を行う。なお、以下、可変の補間フィルタによるフィルタ処理を、可変フィルタ処理ともいう。
【００８５】
動き予測・補償部７５は、再度、インター処理する画像と可変フィルタ処理後の参照画像に基づいて、候補となる全てのインター予測モードのブロックの動き予測を行い、各ブロックの動きベクトルを生成する。そして、動き予測・補償部７５は、可変フィルタ処理後の参照画像に対して補償処理を行い、予測画像を生成する。このとき、動き予測・補償部７５は、候補となる全てのインター予測モードに対して、処理対象のブロックのコスト関数値を求め、予測モードを決定し、決定した予測モードで、処理対象のスライスのコスト関数値を求める。
【００８６】
そして、動き予測・補償部７５は、固定フィルタ処理後のコスト関数値と、可変フィルタ処理後のコスト関数値を比較する。動き予測・補償部７５は、その値の小さい方を採用し、その予測画像とコスト関数値を予測画像選択部７６に出力するとともに、処理対象のスライスがAIFを使用するか否かを示すAIF使用フラグを設定する。
【００８７】
動き予測・補償部７５は、予測画像選択部７６により最適インター予測モードの対象ブロックの予測画像が選択された場合、最適インター予測モードを示す情報（インター予測モード情報）を可逆符号化部６６に出力する。
【００８８】
このとき、動きベクトル情報、参照フレーム情報、並びにスライス毎のスライスヘッダ情報に含まれるスライスの種類の情報、およびAIF使用フラグ、およびAIF使用の場合には、フィルタ係数なども可逆符号化部６６に出力される。可逆符号化部６６は、動き予測・補償部７５からの情報をやはり可変長符号化、算術符号化といった可逆符号化処理し、圧縮画像のヘッダ部に挿入する。
【００８９】
予測画像選択部７６は、イントラ予測部７４または動き予測・補償部７５より出力された各コスト関数値に基づいて、最適イントラ予測モードと最適インター予測モードから、最適予測モードを決定する。そして、予測画像選択部７６は、決定された最適予測モードの予測画像を選択し、演算部６３，７０に供給する。このとき、予測画像選択部７６は、点線に示されるように、予測画像の選択情報を、イントラ予測部７４または動き予測・補償部７５に供給する。
【００９０】
レート制御部７７は、蓄積バッファ６７に蓄積された圧縮画像に基づいて、オーバーフローあるいはアンダーフローが発生しないように、量子化部６５の量子化動作のレートを制御する。
【００９１】
［動き予測・補償部の構成例］
図６は、動き予測・補償部７５の構成例を示すブロック図である。なお、図６においては、図５のスイッチ７３が省略されている。
【００９２】
図６の例において、動き予測・補償部７５は、固定補間フィルタ８１、対称性弱の補間フィルタ８２、対称性弱のフィルタ係数算出部８３、対称性強の補間フィルタ８４、対称性強のフィルタ係数算出部８５、セレクタ８６、動き予測部８７、動き補償部８８、セレクタ８９、並びに制御部９０により構成されている。
【００９３】
画面並べ替えバッファ６２からの入力画像（インター処理する画像）は、対称性弱のフィルタ係数算出部８３、対称性強のフィルタ係数算出部８５、および動き予測部８７に入力される。フレームメモリ７２からの参照画像は、固定補間フィルタ８１、対称性弱の補間フィルタ８２、対称性弱のフィルタ係数算出部８３、対称性強の補間フィルタ８４、および対称性強のフィルタ係数算出部８５に入力される。
【００９４】
固定補間フィルタ８１は、例えば、H．264/AVC方式で定められている係数固定の６タップの補間フィルタである。固定補間フィルタ８１は、フレームメモリ７２からの参照画像に対して、フィルタ処理を施し、固定フィルタ処理後の参照画像を、動き予測部８７および動き補償部８８に出力する。
【００９５】
対称性弱の補間フィルタ８２は、対称性強の補間フィルタ８４より、予め定められた対称性を適用する画素が少ない、フィルタ係数が可変の補間フィルタである。対称性弱の補間フィルタ８２としては、例えば、非特許文献２に記載のAIFフィルタが用いられるが、対称性弱の補間フィルタ８２は、Ｐスライスのときに用いられるフィルタであるので、フィルタ係数を非特許文献２に記載のAIFフィルタよりも増やすようにしてもよい。これにより、Ｐスライスの場合、符号化効率が向上する。
【００９６】
対称性弱の補間フィルタ８２は、フレームメモリ７２からの参照画像に対して、対称性弱のフィルタ係数算出部８３により算出された対称性弱のフィルタ係数を用いてフィルタ処理を施し、可変フィルタ処理後の参照画像をセレクタ８６に出力する。
【００９７】
対称性弱のフィルタ係数算出部８３は、画面並べ替えバッファ６２からの入力画像、フレームメモリ７２からの参照画像、動き予測部８７からの１回目の動きベクトルを用いて、対称性弱の補間フィルタ８２のフィルタ処理後の参照画像を、入力画像に近づけるための、例えば、５１個のフィルタ係数を算出する。対称性弱のフィルタ係数算出部８３は、算出したフィルタ係数を対称性弱の補間フィルタ８２およびセレクタ８９に供給する。
【００９８】
対称性強の補間フィルタ８４は、対称性弱の補間フィルタ８２より、予め定められた対称性を適用する画素が多い、フィルタ係数が可変の補間フィルタである。例えば、対称性強の補間フィルタ８４は、Ｂスライスのときに用いられる。対称性強の補間フィルタ８４は、フレームメモリ７２からの参照画像に対して、対称性強のフィルタ係数算出部８５により算出された対称性強のフィルタ係数を用いてフィルタ処理を施し、可変フィルタ処理後の参照画像をセレクタ８６に出力する。
【００９９】
対称性強のフィルタ係数算出部８５は、画面並べ替えバッファ６２からの入力画像、フレームメモリ７２からの参照画像、動き予測部８７からの１回目の動きベクトルを用いて、対称性強の補間フィルタ８４のフィルタ処理後の参照画像を、入力画像に近づけるための例えば、１８個のフィルタ係数を算出する。対称性強のフィルタ係数算出部８５は、算出したフィルタ係数を対称性強の補間フィルタ８４およびセレクタ８９に供給する。
【０１００】
セレクタ８６は、制御部９０からの制御のもと、処理対象のスライスがＰスライスの場合、対称性弱の補間フィルタ８２からの可変フィルタ後の参照画像を選択し、動き予測部８７および動き補償部８８に出力する。セレクタ８６は、制御部９０からの制御のもと、処理対象のスライスがＢスライスの場合、対称性強の補間フィルタ８４からの可変フィルタ後の参照画像を選択し、動き予測部８７および動き補償部８８に出力する。
【０１０１】
すなわち、セレクタ８６は、処理対象のスライスがＰスライスの場合、対称性弱を選択し、処理対象のスライスがＢスライスの場合、対称性強を選択している。
【０１０２】
動き予測部８７は、画面並べ替えバッファ６２からの入力画像と、固定補間フィルタ８１からの固定フィルタ後の参照画像に基づいて、候補となる全てのインター予測モードの１回目の動きベクトルを生成し、生成した動きベクトルを、対称性弱のフィルタ係数算出部８３、対称性強のフィルタ係数算出部８５、および動き補償部８８に出力する。また、動き予測部８７は、画面並べ替えバッファ６２からの入力画像と、セレクタ８６からの可変フィルタ後の参照画像に基づいて、候補となる全てのインター予測モードの２回目の動きベクトルを生成し、生成した動きベクトルを、動き補償部８８に出力する。
【０１０３】
動き補償部８８は、１回目の動きベクトルを用いて、固定補間フィルタ８１からの固定フィルタ後の参照画像に対し補償処理を施し、予測画像を生成する。そして、動き補償部８８は、ブロック毎にコスト関数値を算出することにより、最適インター予測モードを決定し、決定した最適インター予測モードで、対象スライスの１回目のコスト関数値を算出する。
【０１０４】
動き補償部８８は、次に、２回目の動きベクトルを用いて、セレクタ８６からの変動フィルタ後の参照画像に対し補償処理を施し、予測画像を生成する。そして、動き補償部８８は、ブロック毎にコスト関数値を算出することにより、最適インター予測モードを決定し、決定した最適インター予測モードで、対象スライスの２回目のコスト関数値を算出する。
【０１０５】
そして、動き補償部８８は、対象スライスについて、１回目のコスト関数値と２回目のコスト関数値を比較し、その値が小さい方のフィルタを使用することを決定する。すなわち、動き補償部８８は、１回目のコスト関数値の方が小さい場合、その対象スライスでは固定フィルタを使用するとし、固定フィルタ後の参照画像で生成された予測画像とコスト関数値を予測画像選択部７６に供給し、AIF使用フラグの値を０（未使用）に設定する。また、動き補償部８８は、２回目のコスト関数値の方が小さい場合、その対象スライスでは可変フィルタを使用するとし、可変フィルタ後の参照画像で生成された予測画像とコスト関数値を予測画像選択部７６に供給し、AIF使用フラグの値を１（使用）に設定する。
【０１０６】
動き補償部８８は、予測画像選択部７６においてインター予測画像が選択された場合、制御部９０の制御のもと、最適インター予測モードの情報、スライスの種類やAIF使用フラグが含まれるスライスヘッダの情報、動きベクトル、参照画像の情報などを、可逆符号化部６６に出力する。
【０１０７】
セレクタ８９は、制御部９０からの制御のもと、予測画像選択部７６においてインター予測画像が選択され、対象スライスで可変フィルタを使用する場合に、対象スライスがＰスライスであるとき、対称性弱のフィルタ係数算出部８３からのフィルタ係数を、可逆符号化部６６に出力する。セレクタ８９は、制御部９０からの制御のもと、予測画像選択部７６においてインター予測画像が選択され、対象スライスで可変フィルタを使用する場合に、対象スライスがＢスライスであるとき、対称性強のフィルタ係数算出部８５からのフィルタ係数を、可逆符号化部６６に出力する。
【０１０８】
制御部９０は、対象スライスの種類に応じて、どの分数精度の画素位置の画素を求めるためのフィルタ係数に同じものを用いるかを選択し、セレクタ８６および８９を制御する。すなわち、制御部９０は、対象スライスがＰスライスの場合、Ｂスライスの場合よりも少ない分数精度の画素位置に、予め定められた対称性を適用することを選択し、対象スライスがＢスライスの場合、Ｐスライスの場合よりも多くの分数精度の画素位置に、予め定められた対称性を適用することを選択する。
【０１０９】
また、制御部９０は、予測画像選択部７６からのインター予測画像が選択されたという信号を受けると、動き補償部８８およびセレクタ８９に、必要な情報を、可逆符号化部６６に出力させる制御も行う。
【０１１０】
［フィルタ係数の数］
図７は、Ｐスライスの場合に用いられる対称性弱の補間フィルタ８２、およびＢスライスの場合に用いられる対称性強の補間フィルタ８４におけるフィルタ係数の数を示す図である。なお、図７の例においては、図４を参照して上述したSeparable  AIFの場合の例が示されている。また、図７の各sub pelは、上述した図４に示された各アルファベットが付された位置の画素値を表している。
【０１１１】
すなわち、図４の画素値aを求める場合、対称性弱の補間フィルタ８２および対称性強の補間フィルタ８４においても、６のフィルタ係数が必要であり、画素値bを求める場合、対称性弱の補間フィルタ８２および対称性強の補間フィルタ８４においても、３のフィルタ係数が必要である。
【０１１２】
画素値cを求める場合、対称性弱の補間フィルタ８２においては、６のフィルタ係数が必要である。これに対して、画素値cを求める場合、対称性強の補間フィルタ８４においては、画素値cの位置と画素値aの位置に対して予め定められた対称性が適用されて、画素値ａを求める場合のフィルタ係数が反転して用いられるので、フィルタ係数は必要ない。ここで、フィルタ係数が反転して用いられるとは、前記AIFに用いられる整数位置の画素における中央の位置を中心にして、各係数が反転されたフィルタ係数を用いることをいう。
【０１１３】
画素値dを求める場合、対称性弱の補間フィルタ８２および対称性強の補間フィルタ８４においても、６のフィルタ係数が必要である。
【０１１４】
画素値e,f,gを求める場合、対称性弱の補間フィルタ８２においては、６のフィルタ係数が必要であるが、対称性強の補間フィルタ８４においては、画素値e,f,gの位置と画素値dの位置に対して予め定められた対称性が適用されて、画素値dを求める場合と同じフィルタ係数が用いられるので、フィルタ係数は必要ない。
【０１１５】
画素値hを求める場合、対称性弱の補間フィルタ８２および対称性強の補間フィルタ８４においても、３のフィルタ係数が必要である。
【０１１６】
画素値i,j,kを求める場合、対称性弱の補間フィルタ８２においては、３のフィルタ係数が必要であるが、対称性強の補間フィルタ８４においては、画素値i,j,kの位置と画素値hの位置に対して予め定められた対称性が適用されて、画素値hを求める場合と同じフィルタ係数が用いられるので、フィルタ係数は必要ない。
【０１１７】
画素値lを求める場合、対称性弱の補間フィルタ８２および対称性強の補間フィルタ８４においては、画素値lの位置と画素値dの位置に対して予め定められた対称性が適用されて、画素値dを求める場合のフィルタ係数が反転して用いられるので、フィルタ係数は必要ない。
【０１１８】
画素値mを求める場合、対称性弱の補間フィルタ８２においては、画素値mの位置と画素値eの位置に対して予め定められた対称性が適用されて、画素値eを求める場合のフィルタ係数が反転して用いられる。これに対して、画素値mを求める場合、対称性強の補間フィルタ８４においては、画素値mの位置と画素値lの位置に対して予め定められた対称性が適用される。ここで、画素値lのフィルタ係数は、画素値dを求める場合のフィルタ係数が反転して用いられるので、結果として、画素値mを求める場合、対称性強の補間フィルタ８４においては、画素値dを求める場合のフィルタ係数が反転して用いられるので、フィルタ係数は必要ない。
【０１１９】
画素値nを求める場合、対称性弱の補間フィルタ８２においては、画素値nの位置と画素値fの位置に対して予め定められた対称性が適用されて、画素値fを求める場合のフィルタ係数が反転して用いられる。これに対して、画素値nを求める場合、対称性強の補間フィルタ８４においては、画素値nの位置と画素値lの位置に対して予め定められた対称性が適用される。ここで、画素値lのフィルタ係数は、画素値dを求める場合のフィルタ係数が反転して用いられるので、結果として、画素値nを求める場合、対称性強の補間フィルタ８４においては、画素値dを求める場合のフィルタ係数が反転して用いられるので、フィルタ係数は必要ない。
【０１２０】
画素値oを求める場合、対称性弱の補間フィルタ８２においては、画素値oの位置と画素値gの位置に対して予め定められた対称性が適用されて、画素値gを求める場合のフィルタ係数が反転して用いられる。これに対して、画素値oを求める場合、対称性強の補間フィルタ８４においては、画素値oの位置と画素値lの位置に対して予め定められた対称性が適用される。ここで、画素値lのフィルタ係数は、画素値dを求める場合のフィルタ係数が反転して用いられるので、結果として、画素値oを求める場合、対称性強の補間フィルタ８４においては、画素値dを求める場合のフィルタ係数が反転して用いられるので、フィルタ係数は必要ない。
【０１２１】
以上より、対称性弱の補間フィルタ８２に必要なフィルタ係数の数は、５１個であるが、対称性強の補間フィルタ８４に必要なフィルタ係数の数は１８個となる。したがって、対称性強の補間フィルタ８４（Ｂスライス）の場合、対称性弱の補間フィルタ８２（Ｐスライス）の場合に比べて、フィルタの数が少なくなる。
【０１２２】
以上のように、対称性強の補間フィルタ８４（Ｂスライス）の場合、１１の分数位置の画素に対して、予め定められた対称性が適用されて、同じフィルタ係数または反転されたフィルタ係数が用いられる。これに対して、対称性弱の補間フィルタ８２（Ｐスライス）の場合、４の分数位置の画素に対して、予め定められた対称性が適用されて、反転されたフィルタ係数が用いられる。すなわち、スライスの種類によって、どの分数精度の画素位置の画素を求めるためのフィルタ係数に同じものを用いるか選択される。これにより、Ｂスライスの場合、ストリーム情報において、オーバーヘッドを減らすことができる。
【０１２３】
なお、対称性弱の補間フィルタ８２は、例えば、上述した式（４）に示される非特許文献２に記載のSeparable adaptive interpolation filter(以下、Separable  AIFと称する)により補間処理を行う。ここで、再度、図４を参照して、対称性強の補間フィルタ８４が行うSeparable  AIFについて説明する。
【０１２４】
対称性強の補間フィルタ８４が行うSeparable  AIFにおいても、対称性弱の補間フィルタ８２の場合と同様に、第１ステップとして、横方向に対する非整数位置の補間が行われ、第２ステップとして、縦方向に対する非整数方向の補間が行われる。なお、横と縦の処理順を逆にすることも可能である。
【０１２５】
まず、第１ステップである、分数位置の画素の画素値a，b，cは、整数位置の画素の画素値E，F，G，H，I，JからFIRフィルタにより次の式（７）で計算される。ここで、h[pos][n]は、フィルタ係数であり、posは、図３に示されたsub pelの位置を示し、nはフィルタ係数の番号を示す。このフィルタ係数は、ストリーム情報に含められて復号側で使用される。
【０１２６】
a = h[a][0] x E + h1[a][1] x F + h2[a][2] x G + h[a][3] 
x H + h[a][4] x I + h[a][5] x J
b = h[b][0] x E + h1[b][1] x F + h2[b][2] x G + h[b][2] 
x H + h[b][1] x I + h[b][0] x J
c = h[a][5] x E + h1[c][4] x F + h2[a][3] x G + h[a][2] 
x H + h[a][1] x I + h[a][0] x J
・・・（７）
【０１２７】
なお、画素値G1，G2，G3，G4，G5の行の分数位置の画素の画素値(a1,b1,c1,a2,b2,c2,a3,b3,c3,a4,b4,c4,a5,b5,c5)に対しても、画素値a，b，cと同様に求めることができる。  
【０１２８】
次に、第２ステップである、画素値a,b,c以外の画素値d乃至oは、次の式（８）で計算される。
【０１２９】
d = h[d][0] x G1 + h[d][1] x G2 + h[d][2] x G + h[d][3]
x G3 + h[d][4] * G4 + h[d][5] x G5
h = h[h][0] x G1 + h[h][1] x G2 + h[h][2] x G + h[h][2] 
x G3 + h[h][1] * G4 + h[h][0] x G5
l = h[d][5] x G1 + h[d][4] x G2 + h[d][3] x G + h[d][2] 
x G3 + h[d][1] * G4 + h[d][0] x G5
e = h[d][0] x a1 + h[d][1] x a2 + h[d][2] x a + h[d][3] 
x a3 + h[d][4] * a4 + h[d][5] x a5
i = h[h][0] x a1 + h[h][1] x a2 + h[h][2] x a + h[h][2] 
x a3 + h[h][1] * a4 + h[h][0] x a5
m = h[d][5] x a1 + h[d][4] x a2 + h[d][3] x a + h[d][2] 
x a3 + h[d][1] * a4 + h[d][0] x a5
f = h[d][0] x b1 + h[d][1] x b2 + h[d][2] x b + h[d][3] 
x b3 + h[d][4] * b4 + h[d][5] x b5
j = h[h][0] x b1 + h[h][1] x b2 + h[h][2] x b + h[h][2] 
x b3 + h[h][1] * b4 + h[h][0] x b5
n = h[d][5] x b1 + h[d][4] x b2 + h[d][3] x b + h[d][2] 
x b3 + h[d][1] * b4 + h[d][0] x b5
g = h[d][0] x c1 + h[d][1] x c2 + h[d][2] x c + h[d][3] 
x c3 + h[d][4] * c4 + h[d][5] x c5
k = h[h][0] x c1 + h[h][1] x c2 + h[h][2] x c + h[h][2] 
x c3 + h[h][1] * c4 + h[h][0] x c5
o = h[d][5] x c1 + h[d][4] x c2 + h[d][3] x c + h[d][2] 
x c3 + h[d][1] * c4 + h[d][0] x c5
・・・（８）
【０１３０】
［フィルタ係数の算出方法］
次に、フィルタ係数の算出方法について説明する。
【０１３１】
フィルタ係数の算出方法については、AIFの補間方法に種類があるため、若干の違いはあるが、最小二乗法を使うといった基本的な部分は同じである。ここでは、代表として、まず、Separable AIF(Adaptive Interpolation Filter)において、横の補間処理の後に、縦の補間を２段階で行う補間方法について説明する。  
【０１３２】
図８は、Separable AIFの横方向のフィルタを表している。図８に示す横方向のフィルタにおいて、斜線が付された正方形は、整数位置の画素(Integer pel(Int. pel))を表し、白色の正方形は、分数位置の画素(Sub pel)を表している。また、正方形内のアルファベットは、その正方形が表す画素の画素値を表している。
【０１３３】
最初に、横方向の補間、すなわち、図８の画素値a,b,cの分数位置の画素位置に対するフィルタ係数を求める。ここでは、６タップフィルタが使用されるので、分数位置の画素値a,b,cを算出するために、整数位置の画素値C1,C2,C3,C4,C5,C6が用いられ、フィルタ係数は、次の式（９）を最小化するようにして算出される。
【０１３４】
【数１】
0005581688.tif 000002
ここで、eは、予測誤差であり、spは分数位置の画素値a,b,cのいずれかであり、Sは、原信号であり、Pは、デコード済み参照画素値であり、x.yは、原信号の対象となるピクセル位置である。
【０１３５】
また、式（９）において、次の式（１０）である。
【数２】
0005581688.tif 000003
MVxおよびspは、１回目の動き予測で検出され、MVxは、整数精度で横方向の動きベクトルであり、spは、分数位置の画素位置を表し、動きベクトルの分数部分に相当する。FilterOffsetは、フィルタのタップ数の半分から１を引いた数に相当し、ここでは、２＝６／２−１となる。hは、フィルタ係数であり、iは、0乃至5からなる。
【０１３６】
画素値a,b,cにおける最適なフィルタ係数は、eの２乗を最も小さくするhとして求めることができる。次の式（１１）に示されるように、予測誤差の２乗を、hで偏微分したものを0になるように、連立方程式が得られる。この連立方程式を解くことにより、分数位置の画素値(sp)がa,b,cのそれぞれに対して、iが0乃至5について独立したフィルタ係数を求めることができる。
【０１３７】
【数３】
0005581688.tif 000004
さらに詳しく述べると、１回目の動き探索によって各ブロックで動きベクトルは求まる。その動きベクトルで、分数位置が画素値aのブロックを入力データとして、式（１１）における次の式（１２）が決まり、画素値aの位置の補間のためのフィルタ係数ha,i,∀i∈{0,1,2,3,4,5}について解くことができる。というように、画素値a,b,cが求まる。
【０１３８】
【数４】
0005581688.tif 000005
【０１３９】
横方向のフィルタ係数が求まり、補間処理が行えるようになるので、画素値a,b,cに対して補間を行うと、図９に示す縦方向のフィルタのようになる。図９において、画素値a,b,cは、最適なフィルタ係数を用いて補間されており、同様に、画素値A3とA4の間, 画素値B3とB4の間, 画素値D3とD4の間, 画素値E3とE4の間, 画素値F3とF4の間も補間されている。
【０１４０】
すなわち、図９に示すSeparable AIFの縦方向のフィルタにおいて、斜線が付された正方形は、整数位置の画素または横方向のフィルタで既に求められた分数位置の画素を表し、白色の正方形は、縦方向のフィルタで求めるべく、分数位置の画素を表している。また、正方形内のアルファベットは、その正方形が表す画素の画素値を表している。
【０１４１】
図９に示す縦方向の場合も、横方向の場合と同様に、次の式（１３）の予測誤差を最小化するようにしてフィルタ係数が求まる。
【０１４２】
【数５】
0005581688.tif 000006
ここで、式（１４）は、符号化済み参照ピクセルまたは補間されたピクセルであり、式（１５）であり、式（１６）である。
【０１４３】
【数６】
0005581688.tif 000007
【数７】
0005581688.tif 000008
【数８】
0005581688.tif 000009
また、MVyおよびspは、１回目の動き予測で検出され、MVyは、整数精度での縦方向の動きベクトルであり、spは、分数位置の画素位置を表し、動きベクトルの分数部分に相当する。FilterOffsetは、フィルタのタップ数の半分から１を引いた数に相当し、ここでは、２＝６／２−１となる。hは、フィルタ係数であり、jは、0乃至5からなる。
【０１４４】
横方向の場合と同様に、式（１３）の予測誤差の２乗が最小になるようにフィルタ係数hが算出される。そのために、式（１７）に示すように、予測誤差の２乗をhで偏微分したものを0とおいて、連立方程式が得られる。各分数位置の画素、すなわち、画素値d,e,f,g,h,I,j,k,l,m,n,oについて、この連立方程式を解くことで、各分数位置の画素における縦の補間フィルタの最適なフィルタ係数を得ることができる。
【０１４５】
【数９】
0005581688.tif 000010
【０１４６】
次に、対称性強のフィルタ係数算出部８５において、フィルタ係数の数を減らす場合のフィルタ係数の算出方法について説明する。なお、対称性強のフィルタ係数算出部８５の例を説明するが、対称性弱フィルタ係数算出部８３の場合も同様に算出できる。
【０１４７】
例えば、図７に示されたように、画素値aの分数位置の画素と、画素値cの分数位置の画素に同じフィルタ係数を用いる場合、１８０度回転の対称性（左右対称）を仮定すると、次の式（１８）に示すように同じになる。
【数１０】
0005581688.tif 000011
【０１４８】
予測誤差の２乗の計算は、画素値aおよびcについてそれぞれ次の式（１９）および式（２０）になる。
【数１１】
0005581688.tif 000012
【数１２】
0005581688.tif 000013
【０１４９】
連立方程式は、画素値aおよびcについてそれぞれ次の式（２１）および式（２２）と変化を受ける。
【数１３】
0005581688.tif 000014
【数１４】
0005581688.tif 000015
【０１５０】
１回目の動き推定で動きベクトルの分数位置が画素値aの画素については、式（２１）を用いて、分数位置が画素値cの画素については、式（２２）を用いて、ha,0,ha,1,ha,2,ha,3,ha,4,ha,5について求めれば、上述した式（１８）から、hc,0,hc,1,hc,2,hc,3,hc,4,hc,5についても求まる。
【０１５１】
［分数画素位置の対称性の例］
次に、補間フィルタのフィルタ係数に適用される対称性について説明する。フィルタ係数は、上述した式（１８）に示したフィルタ係数のように、フィルタ係数を削減することができる。
【０１５２】
画像の対称性は、本来、その画像によって異なるが、上述したフィルタ係数の削減は、分数位置画素の位置によって対称性を仮定し、分数位置画素の位置に対して、その仮定した対称性を適用する、すなわち、対称性を定めることにより行われる。その対称性の仮定は、整数位置の画素から生成する分数位置の画素への距離が等しいときに仮定する方法などが用いられる。以下、その方法を用いる例として、図１０および図１１を参照し、画素値a,cの分数位置の画素の対称性について説明する。
【０１５３】
図１０は、画素値ｂの分数位置の画素と、その補間処理に必要な画素値x0乃至x5の整数位置の画素との位置関係を表している。矢印に示されるように、それらの画素位置を、画素値bの分数位置の画素を中心に、１８０度回転させると、整数位置の画素の配置が左右逆になる。画素値bの分数位置の画素とは、すなわち、補間処理(AIF)に用いる整数位置の画素における中央の位置である。
【０１５４】
画素値bの画素からの距離は、画素値x5,x0の画素に対して同じであり、同様に、画素値x4,x1の画素に対する画素値bの画素からの距離、および画素値x3,x2の画素に対する画素値bの画素からの距離も同じである。
【０１５５】
したがって、図１０の例では、補間処理（すなわち、AIF）に用いる整数位置の画素における中央の位置を中心として、１８０度の回転の対称性の仮定を定め、それを適用することにより、フィルタ係数は、次の式（２３）のように削減できる。
【数１５】
0005581688.tif 000016
【０１５６】
図１１は、画素値a,cの分数位置の画素と、その補間処理に必要な画素値x0乃至x5の整数位置の画素との位置関係を表している。１８０度回転すると、画素値aの位置および画素値 x2の位置 間と 画素値cの位置および画素値 x3の位置 間の距離は同じである。したがって、画素値aの位置 から各画素値 x0, x1, x2, x3, x4, x5 の位置への距離は、画素値 cの位置 から各 画素値x5, x4, x3, x2, x1, x0の位置への距離が同じであることが分かる。このような場合も、式（１８）に示したフィルタ係数のように、フィルタ係数を削減することができる。
【０１５７】
入力する画素（整数位置の画素）と出力する画素（分数位置 の画素）の距離関係が同じである場合、図８および図９を参照して上述した通常の最適なフィルタ係数を算出した結果は対称性を仮定していないためここで述べたように完全に同じ値にはならないが、通常は近い値になる。
【０１５８】
なお、図１０および図１１においては、左右の対称性の例を説明したが、以下のように、上下の対称性の場合も同様に行うことができる。
【０１５９】
次に、画素値d,e,f,gの分数位置の画素の対称性について説明する。図１２の例においては、上述した図９の例のように、横方向の補間処理が行われた後の画素が示されている。したがって、補間処理により、a,b,c,a1,b1,c1,a2,b2,c2,a3,b3,c3,a4,b4,c4,a5,b5,c5の位置には画素値が得られている。
【０１６０】
上述したように、生成する分数位置（画素値d,e,f,gの分数位置）と補間に使う画素の距離が等しいときにフィルタ係数の対称性が仮定できるとすると、図１２に示されるように、画素値dの分数位置から、画素値G1,G2,G,G3,G4,G5の整数位置への距離は、画素値eの分数位置から、画素値a1,a2,a,a3,a4,a5への距離と等しいことがわかる。同様に、画素値f,gの分数位置の場合も同じことがいえる。
【０１６１】
したがって、画素値d,e,f,gの分数位置の画素のフィルタ係数は、次の式（２４）のように同じにできるため、復号側に送るのは、画素値dの分数位置の係数hd,xだけでよい。
【数１６】
0005581688.tif 000017
【０１６２】
次に、画素値h,i,j,kの分数位置の画素の対称性について説明する。図１３の例においては、横方向の補間処理が行われ、その後、図１２の画素値d,e,f,gの分数位置の画素の補間処理が行われた後の画素が示されている。
【０１６３】
画素値d,e,f,gの分数位置と同じようにして、生成しようとする画素値h,i,j,kの分数位置は、図１３に示されるように、画素値hの分数位置から、画素値G1,G2,G,G3,G4,G5の整数位置への距離は、画素値iの分数位置から、画素値a1,a2,a,a3,a4,a5への距離と等しいことがわかる。同様に、画素値j,kの分数位置の場合も同じことがいえる。
【０１６４】
また、画素値hの分数位置から、画素値G1の整数位置への距離と、画素値hの分数位置から、画素値G5の整数位置への距離が等しく、画素値hの分数位置から、画素値G2の整数位置への距離と、画素値hの分数位置から、画素値G4の整数位置への距離が等しい。さらに、画素値hの分数位置から、画素値Gの整数位置への距離と、画素値hの分数位置から、画素値G3の整数位置への距離が等しいため、それらのフィルタ係数にも対称性が適用される。これらの対称性を仮定することで、最終的にフィルタ係数は、次の式（２５）のようになる。したがって、フィルタ係数は、復号側に送るのは、画素値hの分数位置の３つの係数hd,0, hd,1, hd,2 だけでよい。
【数１７】
0005581688.tif 000018
【０１６５】
さらに、画素値l,m,n,oの分数位置の画素の対称性について説明する。図１２を参照して画素値d,e,f,gの分数位置の画素の対称性について上述したように、画素値l,m,n,oの分数位置のフィルタ係数は同じになり、また、図１０および図１１を参照して画素値a,cの分数位置が180度の反転で同じフィルタ係数になると上述したように、画素値d,lの分数位置が180度の反転で同じフィルタ係数になる。
【０１６６】
結局、画素値dの分数位置の係数hd,xだけあれば、画素値l,m,n,oの分数位置のフィルタ係数は改めて復号側に送る必要がない。
【０１６７】
画像符号化装置５１においては、以上のような対称性が仮定され、定められて、対応する各分数位置に適用される。
【０１６８】
［画像符号化装置の符号化処理の説明］
次に、図１４のフローチャートを参照して、図５の画像符号化装置５１の符号化処理について説明する。
【０１６９】
ステップＳ１１において、A/D変換部６１は入力された画像をA/D変換する。ステップＳ１２において、画面並べ替えバッファ６２は、A/D変換部６１より供給された画像を記憶し、各ピクチャの表示する順番から符号化する順番への並べ替えを行う。
【０１７０】
ステップＳ１３において、演算部６３は、ステップＳ１２で並び替えられた画像と予測画像との差分を演算する。予測画像は、インター予測する場合は動き予測・補償部７５から、イントラ予測する場合はイントラ予測部７４から、それぞれ予測画像選択部７６を介して演算部６３に供給される。
【０１７１】
差分データは元の画像データに較べてデータ量が小さくなっている。したがって、画像をそのまま符号化する場合に較べて、データ量を圧縮することができる。
【０１７２】
ステップＳ１４において、直交変換部６４は演算部６３から供給された差分情報を直交変換する。具体的には、離散コサイン変換、カルーネン・レーベ変換等の直交変換が行われ、変換係数が出力される。ステップＳ１５において、量子化部６５は変換係数を量子化する。この量子化に際しては、後述するステップＳ２６の処理で説明されるように、レートが制御される。
【０１７３】
以上のようにして量子化された差分情報は、次のようにして局部的に復号される。すなわち、ステップＳ１６において、逆量子化部６８は量子化部６５により量子化された変換係数を量子化部６５の特性に対応する特性で逆量子化する。ステップＳ１７において、逆直交変換部６９は逆量子化部６８により逆量子化された変換係数を直交変換部６４の特性に対応する特性で逆直交変換する。
【０１７４】
ステップＳ１８において、演算部７０は、予測画像選択部７６を介して入力される予測画像を局部的に復号された差分情報に加算し、局部的に復号された画像（演算部６３への入力に対応する画像）を生成する。ステップＳ１９においてデブロックフィルタ７１は、演算部７０より出力された画像をフィルタリングする。これによりブロック歪みが除去される。ステップＳ２０においてフレームメモリ７２は、フィルタリングされた画像を記憶する。なお、フレームメモリ７２にはデブロックフィルタ７１によりフィルタ処理されていない画像も演算部７０から供給され、記憶される。
【０１７５】
ステップＳ２１において、イントラ予測部７４は、イントラ予測処理を行う。具体的には、イントラ予測部７４は、画面並べ替えバッファ６２から読み出されたイントラ予測する画像と、スイッチ７３を介してフレームメモリ７２から供給された画像に基づいて、候補となる全てのイントラ予測モードのイントラ予測処理を行い、イントラ予測画像を生成する。
【０１７６】
イントラ予測部７４は、候補となる全てのイントラ予測モードに対してコスト関数値を算出する。イントラ予測部７４は、算出されたコスト関数値のうち、最小値を与えるイントラ予測モードを、最適イントラ予測モードとして決定する。そして、イントラ予測部７４は、最適イントラ予測モードで生成されたイントラ予測画像とそのコスト関数値を、予測画像選択部７６に供給する。
【０１７７】
ステップＳ２２において、動き予測・補償部７５は、動き予測・補償処理を行う。ステップＳ２２における動き予測・補償処理の詳細は、図１５を参照して後述される。
【０１７８】
この処理により、固定フィルタ、並びにスライスの種類に応じた対称性の強いまたは弱い可変フィルタが用いられてフィルタ処理が行われ、フィルタ処理された参照画像を用いてブロック毎に動きベクトルおよび予測モードが決定され、対象スライスのコスト関数値が算出される。そして、固定フィルタによる対象スライスのコスト関数値と可変フィルタによる対象スライスのコスト関数値が比較されて、比較結果によりAIF（可変フィルタ）を用いるか否かが決定される。そして、動き予測・補償部７５は、決定された方の予測画像とコスト関数値を、予測画像選択部７６に供給する。
【０１７９】
ステップＳ２３において、予測画像選択部７６は、イントラ予測部７４および動き予測・補償部７５より出力された各コスト関数値に基づいて、最適イントラ予測モードと最適インター予測モードのうちの一方を、最適予測モードに決定する。そして、予測画像選択部７６は、決定した最適予測モードの予測画像を選択し、演算部６３，７０に供給する。この予測画像が、上述したように、ステップＳ１３，Ｓ１８の演算に利用される。
【０１８０】
なお、この予測画像の選択情報は、イントラ予測部７４または動き予測・補償部７５に供給される。最適イントラ予測モードの予測画像が選択された場合、イントラ予測部７４は、最適イントラ予測モードを示す情報（すなわち、イントラ予測モード情報）を、可逆符号化部６６に供給する。
【０１８１】
最適インター予測モードの予測画像が選択された場合、動き予測・補償部７５の動き補償部８８は、最適インター予測モードを示す情報、動きベクトル情報や参照フレーム情報、可逆符号化部６６に出力する。また、動き補償部８８は、スライス毎に、スライスの種類の情報、およびAIF使用フラグ情報が含まれるスライスヘッダの情報を可逆符号化部６６に出力する。
【０１８２】
さらに、セレクタ８９は、制御部９０からの制御のもと、予測画像選択部７６においてインター予測画像が選択され、対象スライスで可変フィルタを使用する場合に、対象スライスがＰスライスであるとき、対称性弱のフィルタ係数算出部８３からの５１個のフィルタ係数を、可逆符号化部６６に出力する。セレクタ８９は、制御部９０からの制御のもと、予測画像選択部７６においてインター予測画像が選択され、対象スライスで可変フィルタを使用する場合に、対象スライスがＢスライスであるとき、対称性強のフィルタ係数算出部８５からの１８個のフィルタ係数を、可逆符号化部６６に出力する。
【０１８３】
ステップＳ２４において、可逆符号化部６６は量子化部６５より出力された量子化された変換係数を符号化する。すなわち、差分画像が可変長符号化、算術符号化等の可逆符号化され、圧縮される。このとき、上述したステップＳ２３において可逆符号化部６６に入力された、イントラ予測部７４からのイントラ予測モード情報、または、動き予測・補償部７５からの最適インター予測モードや、上述した各情報なども符号化され、ヘッダ情報に付加される。
【０１８４】
例えば、インター予測モードを示す情報は、マクロブロック毎に符号化される。動きベクトル情報や参照フレーム情報は、対象となるブロック毎に符号化される。また、スライスの情報、AIF使用フラグ情報およびスライスに応じたフィルタ係数は、スライス毎に符号化される。
【０１８５】
ステップＳ２５において蓄積バッファ６７は差分画像を圧縮画像として蓄積する。蓄積バッファ６７に蓄積された圧縮画像が適宜読み出され、伝送路を介して復号側に伝送される。
【０１８６】
ステップＳ２６においてレート制御部７７は、蓄積バッファ６７に蓄積された圧縮画像に基づいて、オーバーフローあるいはアンダーフローが発生しないように、量子化部６５の量子化動作のレートを制御する。
【０１８７】
［動き予測・補償処理の説明］
次に、図１５のフローチャートを参照して、図１４のステップＳ２２における動き予測・補償処理を説明する。
【０１８８】
画面並べ替えバッファ６２から供給される処理対象の画像がインター処理される画像である場合、参照される画像がフレームメモリ７２から読み出され、スイッチ７３を介して固定補間フィルタ８１に供給される。さらに、この参照される画像は、対称性弱の補間フィルタ８２、対称性弱のフィルタ係数算出部８３、対称性強の補間フィルタ８４、および対称性強のフィルタ係数算出部８５にも入力される。
【０１８９】
ステップＳ５１において、固定補間フィルタ８１は、参照画像に、固定フィルタ処理を行う。すなわち、固定補間フィルタ８１は、フレームメモリ７２からの参照画像に対して、フィルタ処理を施し、固定フィルタ処理後の参照画像を、動き予測部８７および動き補償部８８に出力する。
【０１９０】
固定補間フィルタ８１からの固定フィルタ後の参照画像が、動き予測部８７および動き補償部８８に入力されるので、ステップＳ５２において、動き予測部８７および動き補償部８８は、１回目の動き予測を行い、固定補間フィルタ８１によりフィルタ処理された参照画像を用いて、動きベクトルおよび予測モードを決定する。
【０１９１】
すなわち、動き予測部８７は、画面並べ替えバッファ６２からの入力画像と、固定フィルタ後の参照画像に基づいて、候補となる全てのインター予測モードの１回目の動きベクトルを生成し、生成した動きベクトルを動き補償部８８に出力する。なお、この１回目の動きベクトルは、対称性弱のフィルタ係数算出部８３、対称性強のフィルタ係数算出部８５にも出力され、後述するステップＳ５４の処理に用いられる。
【０１９２】
動き補償部８８は、１回目の動きベクトルを用いて、固定フィルタ後の参照画像に対し補償処理を施し、予測画像を生成する。そして、動き補償部８８は、ブロック毎にコスト関数値を算出し、それらを比較することにより、最適インター予測モードを決定する。
【０１９３】
以上の処理がブロック毎に行われ、対象スライスにおける全てのブロックの処理が終了すると、ステップＳ５３において、動き補償部８８は、１回目の動きベクトルおよび最適インター予測モードで、対象スライスの１回目のコスト関数値を算出する。
【０１９４】
ステップＳ５４において、対称性弱のフィルタ係数算出部８３および対称性強のフィルタ係数算出部８５は、動き予測部８７からの１回目の動きベクトルを用いて、対称性弱のフィルタ係数および対称性強のフィルタ係数をそれぞれ算出する。
【０１９５】
すなわち、対称性弱のフィルタ係数算出部８３は、画面並べ替えバッファ６２からの入力画像、フレームメモリ７２からの参照画像、動き予測部８７からの１回目の動きベクトルを用いて、対称性弱の補間フィルタ８２のフィルタ処理後の参照画像を、入力画像に近づけるための対称性弱のフィルタ係数、すなわち、非特許文献２に記載のAIFフィルタの係数を算出する。このとき、図７に示されるように、５１個のフィルタ係数が算出される。対称性弱のフィルタ係数算出部８３は、算出したフィルタ係数を対称性弱の補間フィルタ８２およびセレクタ８９に供給する。
【０１９６】
また、対称性強のフィルタ係数算出部８５は、画面並べ替えバッファ６２からの入力画像、フレームメモリ７２からの参照画像、動き予測部８７からの１回目の動きベクトルを用いて、対称性強の補間フィルタ８４のフィルタ処理後の参照画像を、入力画像に近づけるための対称性強のフィルタ係数を算出する。このとき、図７に示されるように、１８個のフィルタ係数が算出される。対称性強のフィルタ係数算出部８５は、算出したフィルタ係数を対称性強の補間フィルタ８４およびセレクタ８９に供給する。
【０１９７】
なお、セレクタ８９に供給されたフィルタ係数は、上述した図１５のステップＳ２３において、最適インター予測モードの予測画像が選択され、対象スライスで可変フィルタを使用する場合に、対象スライスの種類に応じて、可逆符号化部６６に出力され、ステップＳ２４において、符号化される。
【０１９８】
ステップＳ５５において、対称性弱の補間フィルタ８２および対称性強の補間フィルタ８４は、参照画像に、可変フィルタ処理を行う。すなわち、対称性弱の補間フィルタ８２は、フレームメモリ７２からの参照画像に対して、対称性弱のフィルタ係数算出部８３により算出された５１個のフィルタ係数を用いてフィルタ処理を施し、可変フィルタ処理後の参照画像をセレクタ８６に出力する。
【０１９９】
また、対称性強の補間フィルタ８４は、フレームメモリ７２からの参照画像に対して、対称性強のフィルタ係数算出部８５により算出された１８個のフィルタ係数を用いてフィルタ処理を施し、可変フィルタ処理後の参照画像をセレクタ８６に出力する。
【０２００】
ステップＳ５６において、制御部９０は、処理対象のスライスがＢスライスであるか否かを判定し、処理対象のスライスがＢスライスであると判定した場合、セレクタ８６に、対称性強の補間フィルタ８４からの可変フィルタ後の参照画像を選択させ、処理は、ステップＳ５７に進む。
【０２０１】
セレクタ８６からの対称性強の補間フィルタ８４からの可変フィルタ後の参照画像が、動き予測部８７および動き補償部８８に入力される。ステップＳ５７において、動き予測部８７および動き補償部８８は、２回目の動き予測を行い、対称性強の補間フィルタ８４によりフィルタ処理された参照画像を用いて、動きベクトルおよび予測モードを決定する。
【０２０２】
すなわち、動き予測部８７は、画面並べ替えバッファ６２からの入力画像と、セレクタ８６からの可変フィルタ後の参照画像に基づいて、候補となる全てのインター予測モードの２回目の動きベクトルを生成し、生成した動きベクトルを動き補償部８８に出力する。
【０２０３】
動き補償部８８は、２回目の動きベクトルを用いて、セレクタ８６からの可変フィルタ後の参照画像に対し補償処理を施し、予測画像を生成する。そして、動き補償部８８は、ブロック毎にコスト関数値を算出し、それらを比較することにより、最適インター予測モードを決定する。
【０２０４】
一方、ステップＳ５６において、Ｂスライスではないと判定された場合、すなわち、Ｐスライスであると判定された場合、セレクタ８６は、対称性弱の補間フィルタ８２からの可変フィルタ後の参照画像を選択し、処理は、ステップＳ５８に進む。
【０２０５】
セレクタ８６からの対称性弱の補間フィルタ８２からの可変フィルタ後の参照画像が、動き予測部８７および動き補償部８８に入力される。ステップＳ５８において、動き予測部８７および動き補償部８８は、２回目の動き予測を行い、対称性弱の補間フィルタ８２によりフィルタ処理された参照画像を用いて、動きベクトルおよび予測モードを決定する。
【０２０６】
すなわち、動き予測部８７は、画面並べ替えバッファ６２からの入力画像と、セレクタ８６からの可変フィルタ後の参照画像に基づいて、候補となる全てのインター予測モードの２回目の動きベクトルを生成し、生成した動きベクトルを動き補償部８８に出力する。
【０２０７】
動き補償部８８は、２回目の動きベクトルを用いて、セレクタ８６からの可変フィルタ後の参照画像に対し補償処理を施し、予測画像を生成する。そして、動き補償部８８は、ブロック毎にコスト関数値を算出し、それらを比較することにより、最適インター予測モードを決定する。
【０２０８】
以上の処理がブロック毎に行われ、対象スライスにおける全てのブロックの処理が終了すると、ステップＳ５９において、動き補償部８８は、２回目の動きベクトルおよび最適インター予測モードで、対象スライスの２回目のコスト関数値を算出する。
【０２０９】
ステップＳ６０において、動き補償部８８は、対象スライスの１回目のコスト関数値と２回目のコスト関数値を比較し、対象スライスの１回目のコスト関数値が２回目のコスト関数値より小さいか否かを判定する。
【０２１０】
対象スライスの１回目のコスト関数値が２回目のコスト関数値より小さいと判定された場合、処理は、ステップＳ６１に進む。ステップＳ６１において、動き補償部８８は、その対象スライスでは固定フィルタを使用するとし、１回目の（固定フィルタ後の参照画像で生成された）予測画像とコスト関数値を予測画像選択部７６に供給し、対象スライスのAIF使用フラグの値を０に設定する。
【０２１１】
対象スライスの１回目のコスト関数値が２回目のコスト関数値より小さくないと判定された場合、処理は、ステップＳ６２に進む。ステップＳ６２において、動き補償部８８は、その対象スライスでは可変フィルタ(AIF)を使用するとし、２回目の（可変フィルタ後の参照画像で生成された）予測画像とコスト関数値を予測画像選択部７６に供給し、対象スライスのAIF使用フラグの値を１に設定する。
【０２１２】
設定された対象スライスのAIF使用フラグの情報は、上述した図１５のステップＳ２３において、最適インター予測モードの予測画像が選択された場合、制御部９０の制御もと、スライスの種類の情報とともに、可逆符号化部６６に出力され、ステップＳ２４において、符号化される。
【０２１３】
以上のように、画像符号化装置５１においては、分数精度の画素位置について、予め定められた対称性を仮定し、分数精度の画素位置に対して、その対称性を適用する場合、同じフィルタ係数またはAIFに用いられる整数位置の画素における中央の位置を中心にして、その係数が反転されたフィルタ係数を用いる対称性強のフィルタによるフィルタ処理を行うようにした。
【０２１４】
これにより、ストリーム情報に含めるフィルタ係数の数をさらに削減することができる。この結果、符号化効率を改善することができる。
【０２１５】
また、上記対称性強のフィルタによるフィルタ処理を、特に、対象スライスがＢスライスのときに行うようにした。元々Ｂスライスは符号ビット量がＰスライスに比べて小さいため、AIFのフィルタ係数をストリーム情報に含めるとオーバーヘッドとして割合的に大きくなる。したがって、フィルタのタップ数が少なくなると、フィルタ係数も少なくなるため、ストリーム情報に含めるフィルタ係数のオーバーヘッドも小さくすることができる。この結果、符号化効率を改善することができる。
【０２１６】
また、非特許文献３のように、どの画素とどの画素が似ているかという、対称性の記述子をストリーム情報に含める必要がなくなるので、オーバーヘッドを小さくすることができる。
【０２１７】
さらに、画像符号化装置５１においては、対象スライスの符号化を始めるときに必要なフィルタ係数の数は決まっている。したがって、非特許文献３のように、フィルタ係数の対称性を調べて計算をやり直す必要がなくなるため、演算量の削減になる。
【０２１８】
符号化された圧縮画像は、所定の伝送路を介して伝送され、画像復号装置により復号される。
【０２１９】
［画像復号装置の構成例］
図１６は、本発明を適用した画像処理装置としての画像復号装置の一実施の形態の構成を表している。
【０２２０】
画像復号装置１０１は、蓄積バッファ１１１、可逆復号部１１２、逆量子化部１１３、逆直交変換部１１４、演算部１１５、デブロックフィルタ１１６、画面並べ替えバッファ１１７、Ｄ／Ａ変換部１１８、フレームメモリ１１９、スイッチ１２０、イントラ予測部１２１、動き補償部１２２、およびスイッチ１２３により構成されている。
【０２２１】
蓄積バッファ１１１は伝送されてきた圧縮画像を蓄積する。可逆復号部１１２は、蓄積バッファ１１１より供給された、図５の可逆符号化部６６により符号化された情報を、可逆符号化部６６の符号化方式に対応する方式で復号する。逆量子化部１１３は可逆復号部１１２により復号された画像を、図５の量子化部６５の量子化方式に対応する方式で逆量子化する。逆直交変換部１１４は、図５の直交変換部６４の直交変換方式に対応する方式で逆量子化部１１３の出力を逆直交変換する。
【０２２２】
逆直交変換された出力は演算部１１５によりスイッチ１２３から供給される予測画像と加算されて復号される。デブロックフィルタ１１６は、復号された画像のブロック歪を除去した後、フレームメモリ１１９に供給し、蓄積させるとともに、画面並べ替えバッファ１１７に出力する。
【０２２３】
画面並べ替えバッファ１１７は、画像の並べ替えを行う。すなわち、図５の画面並べ替えバッファ６２により符号化の順番のために並べ替えられたフレームの順番が、元の表示の順番に並べ替えられる。Ｄ／Ａ変換部１１８は、画面並べ替えバッファ１１７から供給された画像をＤ／Ａ変換し、図示せぬディスプレイに出力し、表示させる。
【０２２４】
スイッチ１２０は、参照される画像をフレームメモリ１１９から読み出し、動き補償部１２２に出力するとともに、イントラ予測に用いられる画像をフレームメモリ１１９から読み出し、イントラ予測部１２１に供給する。
【０２２５】
イントラ予測部１２１には、ヘッダ情報を復号して得られたイントラ予測モードを示す情報が可逆復号部１１２から供給される。イントラ予測部１２１は、この情報に基づいて、予測画像を生成し、生成した予測画像を、スイッチ１２３に出力する。
【０２２６】
動き補償部１２２には、ヘッダ情報を復号して得られた情報のうち、インター予測モード情報、動きベクトル情報、参照フレーム情報、AIF使用フラグ情報、フィルタ係数などが可逆復号部１１２から供給される。インター予測モード情報は、マクロブロック毎に送信されてくる。動きベクトル情報や参照フレーム情報は、対象ブロック毎に送信されてくる。スライスの種類の情報、AIF使用フラグ情報、およびスライスに応じたフィルタ係数などは、スライスヘッダとして対象スライス毎に送信されてくる。
【０２２７】
動き補償部１２２には、対象スライスがAIFを使用する場合、２種類の補間フィルタのフィルタ係数が可逆復号部１１２から供給される。例えば、対象スライスがＰスライスの場合、対称性を適用する画素が少ない、すなわち、対称性弱とされて符号化側で求められた５１個のフィルタ係数が供給される。これに対して、対称性を適用する画素が多い、すなわち、対称性強とされて符号化側で求められた１８個のフィルタ係数が供給される。
【０２２８】
動き補償部１２２は、対象スライスの種類に応じたフィルタ係数を用いた可変の補間フィルタを用いて、フレームメモリ１１９からの参照画像に可変フィルタ処理を行う。そして、動き補償部１２２は、可逆復号部１１２からの動きベクトルを用いて、可変フィルタ処理後の参照画像に補償処理を行い、対象ブロックの予測画像を生成する。生成された予測画像は、スイッチ１２３を介して、演算部１１５に出力される。  
【０２２９】
また、動き補償部１２２は、対象ブロックが含まれる対象スライスがAIFを使用しない場合、固定の補間フィルタを用いて、フレームメモリ１１９からの参照画像に固定フィルタ処理を行う。そして、動き補償部１２２は、可逆復号部１１２からの動きベクトルを用いて、固定フィルタ処理後の参照画像に補償処理を行い、対象ブロックの予測画像を生成する。生成された予測画像は、スイッチ１２３を介して、演算部１１５に出力される。
【０２３０】
スイッチ１２３は、動き補償部１２２またはイントラ予測部１２１により生成された予測画像を選択し、演算部１１５に供給する。
【０２３１】
［動き補償部の構成例］
図１７は、動き補償部１２２の詳細な構成例を示すブロック図である。なお、図１７においては、図１６のスイッチ１２０が省略されている。
【０２３２】
図１７の例においては、動き補償部１２２は、固定補間フィルタ１３１、対称性弱の補間フィルタ１３２、対称性強の補間フィルタ１３３、セレクタ１３４および１３５、動き補償処理部１３６、並びに制御部１３７により構成されている。
【０２３３】
可逆復号部１１２から、スライス毎に、スライスの種類を示すスライスの情報とAIF使用フラグ情報が制御部１３７に供給され、スライスの種類に応じた数のフィルタ係数が、対称性弱の補間フィルタ１３２または対称性強の補間フィルタ１３３に供給される。また、可逆復号部１１２から、マクロブロック毎のインター予測モードを示す情報、ブロック毎の動きベクトルは、動き補償処理部１３６に供給され、参照フレーム情報は、制御部１３７に供給される。
【０２３４】
フレームメモリ１１９からの参照画像は、制御部１３７の制御のもと、固定補間フィルタ１３１、対称性弱の補間フィルタ１３２、および対称性強の補間フィルタ１３３に入力される。
【０２３５】
固定補間フィルタ１３１は、H．264/AVC方式で定められている係数固定の６タップの補間フィルタであり、フレームメモリ１１９からの参照画像に対して、フィルタ処理を施し、固定フィルタ処理後の参照画像を、セレクタ１３５に出力する。
【０２３６】
対称性弱の補間フィルタ１３２は、対称性強の補間フィルタ１３３より、対称性を適用する画素が少ない、フィルタ係数が可変の補間フィルタである。対称性弱の補間フィルタ１３２としては、例えば、非特許文献２に記載のAIFフィルタが用いられる。対称性弱の補間フィルタ１３２は、フレームメモリ１１９からの参照画像に対して、可逆復号部１１２から供給された５１個のフィルタ係数を用いてフィルタ処理を施し、可変フィルタ処理後の参照画像をセレクタ１３４に出力する。
【０２３７】
対称性強の補間フィルタ１３３は、対称性弱の補間フィルタ１３２より、対称性を適用する画素が多い、フィルタ係数が可変の補間フィルタである。対称性強の補間フィルタ１３３は、フレームメモリ１１９からの参照画像に対して、可逆復号部１１２から供給された１８個のフィルタ係数を用いてフィルタ処理を施し、可変フィルタ処理後の参照画像をセレクタ１３４に出力する。
【０２３８】
セレクタ１３４は、制御部１３７からの制御のもと、処理対象のスライスがＰスライスの場合、対称性弱の補間フィルタ１３２からの可変フィルタ後の参照画像を選択し、セレクタ１３５に出力する。セレクタ１３４は、制御部１３７からの制御のもと、処理対象のスライスがＢスライスの場合、対称性強の補間フィルタ１３３からの可変フィルタ後の参照画像を選択し、セレクタ１３５に出力する。
【０２３９】
セレクタ１３５は、制御部１３７からの制御のもと、処理対象のスライスがAIF使用の場合、セレクタ１３４からの可変フィルタ後の参照画像を選択し、動き補償処理部１３６に出力する。セレクタ１３５は、制御部１３７からの制御のもと、処理対象のスライスがAIF未使用（すなわち、FIF(Fixed interpolation filter)）の場合、固定補間フィルタ１３１からの固定フィルタ後の参照画像を選択し、動き補償処理部１３６に出力する。
【０２４０】
動き補償処理部１３６は、可逆復号部１１２からの動きベクトルを用いて、セレクタ１３５から入力されるフィルタ後の参照画像に補償処理を行い、対象ブロックの予測画像を生成し、生成した予測画像を、スイッチ１２３に出力する。
【０２４１】
制御部１３７は、スライス毎に、可逆復号部１１２からのスライスの種類の情報、およびAIF使用フラグを取得し、処理対象のブロックが含まれるスライスの種類に基づいて、セレクタ１３４の選択を制御する。すなわち、処理対象のブロックが含まれるスライスがＰスライスの場合、セレクタ１３４に対称性弱の可変フィルタ後の参照画像を選択させ、処理対象のブロックが含まれるスライスがＢスライスの場合、セレクタ１３４に対称性強の可変フィルタ後の参照画像を選択させる。
【０２４２】
また、制御部１３７は、取得したAIF使用フラグを参照し、AIFを用いるか否かに基づいて、セレクタ１３５の選択を制御する。すなわち、処理対象のブロックが含まれるスライスがAIFを用いる場合、セレクタ１３５に、セレクタ１３４からの可変フィルタ後の参照画像を選択させ、処理対象のブロックが含まれるスライスがAIFを用いない場合、セレクタ１３５に、固定補間フィルタ１３１からの固定フィルタ後の参照画像を選択させる。
【０２４３】
［画像復号装置の復号処理の説明］
次に、図１８のフローチャートを参照して、画像復号装置１０１が実行する復号処理について説明する。
【０２４４】
ステップＳ１３１において、蓄積バッファ１１１は伝送されてきた画像を蓄積する。ステップＳ１３２において、可逆復号部１１２は、蓄積バッファ１１１から供給される圧縮画像を復号する。すなわち、図５の可逆符号化部６６により符号化されたＩピクチャ、Ｐピクチャ、並びにＢピクチャが復号される。
【０２４５】
このとき、ブロック毎に、動きベクトル情報、参照フレーム情報なども復号される。また、マクロブロック毎に、予測モード情報（イントラ予測モード、またはインター予測モードを示す情報）なども復号される。さらに、スライス毎に、スライスの種類の情報を含むスライスの情報、AIF使用フラグ情報やフィルタ係数なども復号される。
【０２４６】
ステップＳ１３３において、逆量子化部１１３は可逆復号部１１２により復号された変換係数を、図５の量子化部６５の特性に対応する特性で逆量子化する。ステップＳ１３４において逆直交変換部１１４は逆量子化部１１３により逆量子化された変換係数を、図５の直交変換部６４の特性に対応する特性で逆直交変換する。これにより図５の直交変換部６４の入力（演算部６３の出力）に対応する差分情報が復号されたことになる。
【０２４７】
ステップＳ１３５において、演算部１１５は、後述するステップＳ１４１の処理で選択され、スイッチ１２３を介して入力される予測画像を差分情報と加算する。これにより元の画像が復号される。ステップＳ１３６においてデブロックフィルタ１１６は、演算部１１５より出力された画像をフィルタリングする。これによりブロック歪みが除去される。ステップＳ１３７においてフレームメモリ１１９は、フィルタリングされた画像を記憶する。
【０２４８】
ステップＳ１３８において、可逆復号部１１２は、圧縮画像のヘッダ部の可逆復号結果に基づいて、圧縮画像がインター予測された画像であるかどうか、即ち、可逆復号結果に最適インター予測モードを表す情報が含まれているかどうかを判定する。
【０２４９】
ステップＳ１３８で圧縮画像がインター予測された画像であると判定された場合、可逆復号部１１２は、動きベクトル情報、参照フレーム情報、最適インター予測モードを表す情報、スライスヘッダの情報（すなわち、スライスの種類情報、AIF使用フラグ情報、フィルタ係数）などを動き補償部１２２に供給する。
【０２５０】
そして、ステップＳ１３９において、動き補償部１２２は、動き補償処理を行う。ステップＳ１３９における動き補償処理の詳細は、図１９を参照して後述される。
【０２５１】
この処理により、対象スライスがAIF使用の場合、スライスの種類に応じた数のフィルタ係数の、すなわち、対称性の強さの可変フィルタが用いられてフィルタ処理が行われる。対象スライスがAIF未使用の場合、従来の固定フィルタが用いられてフィルタ処理が行われる。そして、フィルタ処理後の参照画像に、動きベクトルを用いて補償処理が行われ、これにより生成された予測画像がスイッチ１２３に出力される。
【０２５２】
一方、ステップＳ１３８で圧縮画像がインター予測された画像ではないと判定された場合、すなわち、可逆復号結果に最適イントラ予測モードを表す情報が含まれている場合、可逆復号部１１２は、最適イントラ予測モードを表す情報をイントラ予測部１２１に供給する。
【０２５３】
そして、ステップＳ１４０において、イントラ予測部１２１は、可逆復号部１１２からの情報が表す最適イントラ予測モードで、フレームメモリ１１９からの画像に対してイントラ予測処理を行い、イントラ予測画像を生成する。そして、イントラ予測部１２１は、イントラ予測画像をスイッチ１２３に出力する。
【０２５４】
ステップＳ１４１において、スイッチ１２３は予測画像を選択し、演算部１１５に出力する。すなわち、イントラ予測部１２１により生成された予測画像、または動き補償部１２２により生成された予測画像が供給される。したがって、供給された予測画像が選択されて演算部１１５に出力され、上述したように、ステップＳ１３５において逆直交変換部１１４の出力と加算される。
【０２５５】
ステップＳ１４２において、画面並べ替えバッファ１１７は並べ替えを行う。すなわち画像符号化装置５１の画面並べ替えバッファ６２により符号化のために並べ替えられたフレームの順序が、元の表示の順序に並べ替えられる。
【０２５６】
ステップＳ１４３において、D/A変換部１１８は、画面並べ替えバッファ１１７からの画像をD/A変換する。この画像が図示せぬディスプレイに出力され、画像が表示される。
【０２５７】
［画像復号装置の動き補償処理の説明］
次に、図１９のフローチャートを参照して、図１８のステップＳ１３９の動き補償処理を説明する。
【０２５８】
ステップＳ１５１において、対称性弱の補間フィルタ１３２または対称性強の補間フィルタ１３３は、可逆復号部１１２からのフィルタ係数を取得する。５１個のフィルタ係数が送られてきた場合は、対称性弱の補間フィルタ１３２が取得し、１８個のフィルタ係数が送られてきた場合は、対称性強の補間フィルタ１３３が取得する。なお、フィルタ係数は、スライス毎に、かつ、AIF使用の場合のみ送信されてくるので、それ以外の場合は、ステップＳ１５１の処理はスキップされる。
【０２５９】
フレームメモリ１１９からの参照画像は、制御部１３７の制御のもと、固定補間フィルタ１３１、対称性弱の補間フィルタ１３２、および対称性強の補間フィルタ１３３に入力される。
【０２６０】
ステップＳ１５２において、固定補間フィルタ１３１、対称性弱の補間フィルタ１３２、および対称性強の補間フィルタ１３３は、フレームメモリ１１９からの参照画像にフィルタ処理を行う。
【０２６１】
すなわち、固定補間フィルタ１３１は、フレームメモリ１１９からの参照画像に対して、フィルタ処理を施し、固定フィルタ処理後の参照画像を、セレクタ１３５に出力する。
【０２６２】
対称性弱の補間フィルタ１３２は、フレームメモリ１１９からの参照画像に対して、可逆復号部１１２から供給された５１個のフィルタ係数を用いてフィルタ処理を施し、可変フィルタ処理後の参照画像をセレクタ１３４に出力する。対称性強の補間フィルタ１３３は、フレームメモリ１１９からの参照画像に対して、可逆復号部１１２から供給された１８個のフィルタ係数の補間フィルタを用いてフィルタ処理を施し、可変フィルタ処理後の参照画像をセレクタ１３４に出力する。
【０２６３】
制御部１３７は、ステップＳ１５３において、可逆復号部１１２から、スライスの種類の情報およびAIF使用フラグ情報を取得する。なお、これらの情報は、スライス毎にスライスヘッダとして送信されてきて取得されるので、それ以外の場合、この処理はスキップされる。
【０２６４】
ステップＳ１５４において、制御部１３７は、処理対象のスライスがＢスライスであるか否かを判定し、処理対象のスライスがＢスライスであると判定した場合、処理は、ステップＳ１５５に進む。
【０２６５】
ステップＳ１５５において、セレクタ１３４は、制御部１３７からの制御のもと、対称性強の補間フィルタ１３３からの可変フィルタ後の参照画像を選択し、セレクタ１３５に出力する。
【０２６６】
一方、ステップＳ１５４において、処理対象のスライスがＢスライスではない、すなわち、Ｐスライスであると判定した場合、処理は、ステップＳ１５６に進む。
【０２６７】
ステップＳ１５６において、セレクタ１３４は、制御部１３７からの制御のもと、処理対象のスライスがＰスライスの場合、対称性弱の補間フィルタ１３２からの可変フィルタ後の参照画像を選択し、セレクタ１３５に出力する。
【０２６８】
ステップＳ１５７において、制御部１３７は、可逆復号部１１２からのAIF使用フラグ情報を参照し、処理対象のスライスがAIFを用いるか否かを判定し、処理対象のスライスがAIFを用いると判定した場合、処理は、ステップＳ１５８に進む。ステップＳ１５８において、セレクタ１３５は、制御部１３７からの制御のもと、セレクタ１３４からの可変フィルタ後の参照画像を選択し、動き補償処理部１３６に出力する。
【０２６９】
ステップＳ１５７において、処理対象のスライスがAIFを用いないと判定された場合、処理は、ステップＳ１５９に進む。ステップＳ１５９において、セレクタ１３５は、制御部１３７からの制御のもと、固定補間フィルタ１３１からの固定フィルタ後の参照画像を選択し、動き補償処理部１３６に出力する。
【０２７０】
ステップＳ１６０において、動き補償処理部１３６は、可逆復号部１１２から、対象ブロックの動きベクトル情報と、対象ブロックが含まれるマクロブロックのインター予測モード情報を取得する。
【０２７１】
ステップＳ１６１において、動き補償処理部１３６は、取得した動きベクトルを用いて、セレクタ１３５により選択された参照画像に補償を行い、予測画像を生成し、生成した予測画像をスイッチ１２３に出力する。
【０２７２】
以上のように、画像符号化装置５１および画像復号装置１０１においては、分数精度の画素位置の対称性が予め定められており、対称性が定められている画素同士に対して同じフィルタ係数を用いるようにした。これにより、ストリーム情報に含めるフィルタ係数の数をさらに、削減することができる。この結果、符号化効率を改善することができる。
【０２７３】
特に、本発明によれば、Bスライスにおけるフィルタ係数の情報のオーバーヘッドが低減され、符号化効率を改善できる。上述したようにBスライスのフィルタ係数が少なくなったことで、Bスライスのときにストリーム情報に含めなければならないフィルタ係数情報のビット量を少なくできる。Bスライスは、Pスライスと比較して、発生ビット量が少ないことが多いため、Bスライスではフィルタ係数によるオーバーヘッドが無視できないことが多くなる。そのBスライスでフィルタ係数を削減するようにしたので、符号化効率の改善に役立たせることができる。
【０２７４】
また、非特許文献３のように、対称性の記述子をストリーム情報に含める必要がなくなり、オーバーヘッドを小さくすることもできる。
【０２７５】
なお、上記説明においては、Bスライスの場合に、予め定められた対称性によりフィルタ係数の数を減らす例を説明したが、量子化パラメータQPの大きさによって、予め定められた対称性によりフィルタ係数の数を減らすようにしてもよい。この場合、例えば、量子化パラメータQPに対してしきい値を決めておき、あるスライスの量子化パラメータQPの値がしきい値以上の場合、上述したＢスライスの場合に用いた補間方法が適用される。
【０２７６】
スライスQPが大きい場合、そのスライスの発生ビット量が少なくなるため、フィルタ係数によるオーバーヘッドが無視できなくなる。QPが大きい場合、フィルタ係数の数を削減できるようにしたので、オーバーヘッドを低減し、符号化効率の改善に寄与できる。
【０２７７】
また、Ｂスライスの場合ではなく、画像（画枠）サイズによって、予め定められた対称性によりフィルタ係数の数を減らすことも可能である。この場合、画像サイズの大きさにしきい値を決めておき、シーケンスの画像サイズがしきい値以上であるならば、上述したＢスライスの場合に用いた補間方法が適用される。
【０２７８】
画像サイズが小さい場合も、ピクチャのビット発生量が少なくなる。したがって、画像サイズが小さい場合にフィルタ係数の数を減らしておくようにしたので、オーバーヘッドを低減し、符号化効率の改善に寄与できる。
【０２７９】
以上においては、Separable AIFの補間フィルタを例に説明してきたが、フィルタの構造は、Separable AIFに限らない。すなわち、フィルタの構造は異なっていても、本発明を適用することができる。なお、Separable AIFの場合、図１０および図１１を参照して上述したように対称性が定められて、図７に示される画素に対して同じフィルタ係数が用いられる。同様に、他の補間フィルタの場合には、その補間フィルタに応じた対称性が仮定されて、どの画素位置に対して同じフィルタ係数が用いられるかが定められる。
【０２８０】
ところで、図５の画像符号化装置５１および図１６の画像復号装置１０１のように、AIFが用いられるエンコーダおよびデコーダであっても、上述したようにAIFが未使用の場合、H．264/AVC方式の補間フィルタ（図６の固定補間フィルタ８１および図１７の固定補間フィルタ１３１）が使用される。したがって、エンコーダおよびデコーダにおいては、AIF用の補間フィルタとH．264/AVC方式の補間フィルタの両方を備えておく必要があった。
【０２８１】
例えば、図１７に示される画像復号装置１０１の動き補償部１２２においては、制御部１３７の制御のもと、符号化側からのAIF使用フラグ情報が「１」：AIF使用であれば、セレクタは、対称性弱の補間フィルタ１３２または対称性強の補間フィルタ１３３（すなわち、AIF）の補間結果を選択し、動き補償処理部１３６に出力する。一方、符号化側からのAIF使用フラグ情報が「０」：AIF未使用であれば、セレクタは、固定補間フィルタ１３１（すなわち、H．264/AVC方式の補間フィルタ）の補間結果を選択し、動き補償処理部１３６に出力する。
【０２８２】
これらの補間処理をソフトウエアでなはなく、LSIなどのハードウエアで実装する場合、両方のフィルタを回路として備える必要があり、回路を増やすこととなり、製造コストが増加してしまう。そこで、次に、固定補間フィルタを除いた例について説明する。
【０２８３】
［動き予測・補償部の構成例］
図２０は、固定補間フィルタを除いた場合の図５の動き予測・補償部７５の構成例を示している。図２０の例において、動き予測・補償部７５は、対称性弱のフィルタ係数算出部８３、対称性強の補間フィルタ８４、対称性強のフィルタ係数算出部８５、セレクタ８６、動き予測部８７、動き補償部８８、セレクタ８９、並びに制御部９０を備える点で、図６の例と共通する。図２０の例において、動き予測・補償部７５は、固定補間フィルタ８１を除いた点、対称性弱の補間フィルタ８２の代わりに対称性弱の補間フィルタ１５１が供えられた点、並びに、セレクタ１５２および固定フィルタ係数記憶部１５３が追加された点が異なっている。
【０２８４】
すなわち、対称性弱の補間フィルタ１５１は、まず、セレクタ１５２から供給される、固定フィルタ係数記憶部１５３から読み出された予め決められたフィルタ係数を用いて、フレームメモリ７２からの参照画像に対して、フィルタ処理を施し、固定フィルタ処理後の参照画像を、動き予測部８７および動き補償部８８に出力する。
【０２８５】
また、対称性弱の補間フィルタ１５１は、セレクタ１５２から供給される、対称性弱のフィルタ係数算出部８３により算出されたフィルタ係数を用いて、フレームメモリ７２からの参照画像に対して、フィルタ処理を施し、可変フィルタ処理後の参照画像を、動き予測部８７および動き補償部８８に出力する。
【０２８６】
なお、対称性弱の補間フィルタ１５１において、AIFが使用されない場合のフィルタ構造は、AIF使用するであった場合に、実現可能なフィルタ構造であることが望ましい。ここで、実現可能とは、フィルタ係数の変更だけで処理が可能なものを意味する。
【０２８７】
セレクタ１５２は、制御部９０の制御のもと、AIFを使用する場合、対称性弱のフィルタ係数算出部８３により算出されたフィルタ係数を選択し、対称性弱の補間フィルタ１５１に供給する。また、セレクタ１５２は、制御部９０の制御のもと、AIFを使用しない場合、固定フィルタ係数記憶部１５３から読みだされたフィルタ係数を選択し、対称性弱の補間フィルタ１５１に供給する。
【０２８８】
固定フィルタ係数記憶部１５３は、復号側との間で予め決められたフィルタ係数（例えば、H．264/AVC方式で定められている６タップのフィルタ係数、以下、固定フィルタ係数と称する）を記憶している。
【０２８９】
制御部９０は、図６を参照して上述した処理に加え、AIFを使用するかFIFを使用するかによって、セレクタ１５２を制御し、対称性弱のフィルタ係数算出部８３または固定フィルタ係数記憶部１５３からのフィルタ係数を選択させる。
【０２９０】
［動き予測・補償処理の説明］
次に、図２１のフローチャートを参照して、図２０の動き予測・補償部７５の動き予測・補償処理を説明する。
【０２９１】
固定フィルタ係数記憶部１５３は、ステップＳ１７１において、固定フィルタ係数を読み出し、セレクタ１５２に出力する。セレクタ１５２は、制御部９０の制御のもと、固定フィルタ係数記憶部１５３からの固定フィルタ係数を選択し、対称性弱の補間フィルタ１５１に供給する。
【０２９２】
画面並べ替えバッファ６２から供給される処理対象の画像がインター処理される画像である場合、参照される画像がフレームメモリ７２から読み出され、スイッチ７３を介して対称性弱の補間フィルタ１５１、対称性弱のフィルタ係数算出部８３、対称性強の補間フィルタ８４、および対称性強のフィルタ係数算出部８５にも入力される。
【０２９３】
ステップＳ１７２において、対称性弱の補間フィルタ１５１は、参照画像に、固定フィルタ処理を行う。すなわち、対称性弱の補間フィルタ１５１は、フレームメモリ７２からの参照画像に対して、固定フィルタ係数を用いてフィルタ処理を施し、固定フィルタ処理後の参照画像を、動き予測部８７および動き補償部８８に出力する。
【０２９４】
対称性弱の補間フィルタ１５１からの固定フィルタ後の参照画像が、動き予測部８７および動き補償部８８に入力される。ステップＳ１７３において、動き予測部８７および動き補償部８８は、１回目の動き予測を行い、対称性弱の補間フィルタ１５１により固定フィルタ処理された参照画像を用いて、動きベクトルおよび予測モードを決定する。
【０２９５】
すなわち、動き予測部８７は、画面並べ替えバッファ６２からの入力画像と、対称性弱の補間フィルタ１５１からの固定フィルタ後の参照画像に基づいて、候補となる全てのインター予測モードの１回目の動きベクトルを生成し、生成した動きベクトルを動き補償部８８に出力する。なお、この１回目の動きベクトルは、対称性弱のフィルタ係数算出部８３、対称性強のフィルタ係数算出部８５にも出力され、後述するステップＳ１７５の処理に用いられる。
【０２９６】
動き補償部８８は、１回目の動きベクトルを用いて、対称性弱の補間フィルタ１５１からの固定フィルタ後の参照画像に対し補償処理を施し、予測画像を生成する。そして、動き補償部８８は、ブロック毎にコスト関数値を算出し、それらを比較することにより、最適インター予測モードを決定する。
【０２９７】
以上の処理がブロック毎に行われ、対象スライスにおける全てのブロックの処理が終了すると、ステップＳ１７４において、動き補償部８８は、１回目の動きベクトルおよび最適インター予測モードで、対象スライスの１回目のコスト関数値を算出する。
【０２９８】
ステップＳ１７５において、対称性弱のフィルタ係数算出部８３および対称性強のフィルタ係数算出部８５は、動き予測部８７からの１回目の動きベクトルを用いて、対称性弱のフィルタ係数および対称性強のフィルタ係数をそれぞれ算出する。
【０２９９】
対称性弱のフィルタ係数算出部８３は、算出した５１個のフィルタ係数をセレクタ１５２およびセレクタ８９に供給し、対称性強のフィルタ係数算出部８５は、算出した１８個のフィルタ係数を対称性強の補間フィルタ８４およびセレクタ８９に供給する。
【０３００】
セレクタ１５２は、制御部９０の制御のもと、対称性弱のフィルタ係数算出部８３からのフィルタ係数を選択し、対称性弱の補間フィルタ１５１に供給する。
【０３０１】
ステップＳ１７６において、対称性弱の補間フィルタ８２および対称性強の補間フィルタ８４は、参照画像に、可変フィルタ処理を行う。すなわち、対称性弱の補間フィルタ８２は、フレームメモリ７２からの参照画像に対して、対称性弱のフィルタ係数算出部８３により算出された５１個のフィルタ係数を用いてフィルタ処理を施し、可変フィルタ処理後の参照画像をセレクタ８６に出力する。
【０３０２】
また、対称性強の補間フィルタ８４は、フレームメモリ７２からの参照画像に対して、対称性強のフィルタ係数算出部８５により算出された１８個のフィルタ係数を用いてフィルタ処理を施し、可変フィルタ処理後の参照画像をセレクタ８６に出力する。
【０３０３】
なお、以下のステップＳ１７７乃至Ｓ１８３の処理は、図１５のステップＳ５６乃至Ｓ６２の処理と同じ処理であるため、その説明は繰り返しになるので省略する。
【０３０４】
［動き補償部の構成例］
図２２は、固定補間フィルタを除いた場合の図１６の動き補償部１２２の構成例を示している。図２２の例において、動き補償部１２２は、対称性強の補間フィルタ１３３、セレクタ１３４、動き補償処理部１３６、および制御部１３７を備える点で、図１７の例と共通する。図２２の例において、動き補償部１２２は、固定補間フィルタ１３１およびセレクタ１３５を除いた点、対称性弱の補間フィルタ１３２の代わりに対称性弱の補間フィルタ１７１が供えられた点、並びに、セレクタ１７２および固定フィルタ係数記憶部１７３が追加された点が異なっている。
【０３０５】
すなわち、フレームメモリ１１９からの参照画像は、制御部１３７の制御のもと、対称性弱の補間フィルタ１７１、および対称性強の補間フィルタ１３３に入力される。
【０３０６】
対称性弱の補間フィルタ１７１は、処理対象のスライスが未AIF使用の場合、セレクタ１７２から供給される、固定フィルタ係数記憶部１７３から読み出された予め決められたフィルタ係数を用いて、フレームメモリ１１９からの参照画像に対して、フィルタ処理を施し、固定フィルタ処理後の参照画像を、動き補償処理部１３６に出力する。
【０３０７】
また、対称性弱の補間フィルタ１７１は、処理対象のスライスがAIF使用の場合、セレクタ１７２から供給される、可逆復号部１１２により復号された５１個のフィルタ係数を用いて、フレームメモリ７２からの参照画像に対して、フィルタ処理を施し、可変フィルタ処理後の参照画像を、セレクタ１３４に出力する。
【０３０８】
なお、対称性弱の補間フィルタ１７１において、AIFが使用されない場合のフィルタ構造は、AIF使用するであった場合に、実現可能なフィルタ構造であることが望ましい。ここで、実現可能とは、フィルタ係数の変更だけで処理が可能なものを意味する。
【０３０９】
セレクタ１７２は、制御部１３７からの制御のもと、処理対象のスライスがAIF使用の場合、可逆復号部１１２からの５１個のフィルタ係数を選択し、対称性弱の補間フィルタ１７１に出力する。セレクタ１７２は、制御部１３７からの制御のもと、処理対象のスライスがAIF未使用の場合、固定フィルタ係数記憶部１７３から読み出された固定フィルタ係数を選択し、対称性弱の補間フィルタ１７１に出力する。
【０３１０】
固定フィルタ係数記憶部１７３は、符号化側との間で予め決められたフィルタ係数（例えば、H．264/AVC方式で定められている６タップの固定フィルタ係数）を記憶している。
【０３１１】
動き補償処理部１３６は、可逆復号部１１２からの動きベクトルを用いて、対称性弱の補間フィルタ１７１、またはセレクタ１３４から入力されるフィルタ後の参照画像に補償処理を行い、対象ブロックの予測画像を生成し、生成した予測画像を、スイッチ１２３に出力する。
【０３１２】
制御部１３７は、図１７を参照して上述したスライスの情報に基づくセレクタ１３４の制御の他に、取得したAIF使用フラグを参照し、AIFを用いるか否かに基づいて、セレクタ１７２の選択を制御する。すなわち、処理対象のブロックが含まれるスライスがAIFを用いる場合、セレクタ１７２に、可逆復号部１１２からの５１個のフィルタ係数を選択させ、処理対象のブロックが含まれるスライスがAIFを用いない場合、セレクタ１７２に、固定フィルタ係数記憶部１７３から読み出された固定フィルタ係数を選択させる。
【０３１３】
［動き予測・補償処理の説明］
次に、図２３のフローチャートを参照して、図２２の動き補償部１２２の動き補償処理を説明する。
【０３１４】
制御部１３７は、ステップＳ２０１において、可逆復号部１１２から、スライスの種類の情報およびAIF使用フラグ情報を取得する。なお、これらの情報は、スライス毎にスライスヘッダとして送信されてきて取得されるので、それ以外の場合、この処理はスキップされる。
【０３１５】
このとき、セレクタ１７２または対称性強の補間フィルタ１３３には、可逆復号部１１２からのフィルタ係数が入力される。５１個のフィルタ係数が送られてきた場合は、セレクタ１７２に入力され、１８個のフィルタ係数が送られてきた場合は、対称性強の補間フィルタ１３３に入力される。
【０３１６】
また、フレームメモリ１１９からの参照画像は、制御部１３７の制御のもと、対称性弱の補間フィルタ１７１、および対称性強の補間フィルタ１３３に入力される。
【０３１７】
ステップＳ２０２において、制御部１３７は、可逆復号部１１２からのAIF使用フラグ情報を参照し、処理対象のスライスがAIFを用いるか否かを判定し、処理対象のスライスがAIFを用いないと判定した場合、処理は、ステップＳ２０３に進む。ステップＳ２０３において、セレクタ１７２は、制御部１３７からの制御のもと、固定フィルタ係数記憶部１７３から読み出した固定フィルタ係数を選択し、対称性弱の補間フィルタ１７１に出力する。
【０３１８】
対称性弱の補間フィルタ１７１は、ステップＳ２０４において、セレクタ１７２から供給された固定フィルタ係数を用いて、フレームメモリ１１９からの参照画像に対して、フィルタ処理を施し、固定フィルタ処理後の参照画像を、動き補償処理部１３６に出力する。
【０３１９】
ステップＳ２０２において、処理対象のスライスがAIFを用いると判定された場合、処理は、ステップＳ２０５に進む。ステップＳ２０５において、セレクタ１７２は、制御部１３７からの制御のもと、可逆復号部１１２からの５１個のフィルタ係数を選択し、対称性弱の補間フィルタ１７１に出力する。
【０３２０】
対称性弱の補間フィルタ１７１は、ステップＳ２０６において、セレクタ１７２から供給された５１個のフィルタ係数を用いて、フレームメモリ７２からの参照画像に対して、フィルタ処理を施し、可変フィルタ処理後の参照画像を、セレクタ１３４に出力する。また、このとき、対称性強の補間フィルタ１３３も、可逆復号部１１２からの１８個のフィルタ係数を用いて、フレームメモリ７２からの参照画像に対して、フィルタ処理を施し、可変フィルタ処理後の参照画像を、セレクタ１３４に出力する。
【０３２１】
ステップＳ２０７において、制御部１３７は、処理対象のスライスがＢスライスであるか否かを判定し、処理対象のスライスがＢスライスであると判定した場合、処理は、ステップＳ２０８に進む。
【０３２２】
ステップＳ２０８において、セレクタ１３４は、制御部１３７からの制御のもと、対称性強の補間フィルタ１３３からの可変フィルタ後の参照画像を選択し、動き補償処理部１３６に出力する。
【０３２３】
一方、ステップＳ２０７において、処理対象のスライスがＢスライスではない、すなわち、Ｐスライスであると判定した場合、処理は、ステップＳ２０９に進む。
【０３２４】
ステップＳ２０９において、セレクタ１３４は、制御部１３７からの制御のもと、処理対象のスライスがＰスライスの場合、対称性弱の補間フィルタ１３２からの可変フィルタ後の参照画像を選択し、動き補償処理部１３６に出力する。
【０３２５】
ステップＳ２１０において、動き補償処理部１３６は、可逆復号部１１２から、対象ブロックの動きベクトル情報と、対象ブロックが含まれるマクロブロックのインター予測モード情報を取得する。
【０３２６】
ステップＳ２１１において、動き補償処理部１３６は、取得した動きベクトルを用いて、対称性弱の補間フィルタ１７１からの固定フィルタ後の参照画像、またはセレクタ１３４からの可変フィルタ後の参照画像に補償を行い、予測画像を生成し、生成した予測画像をスイッチ１２３に出力する。
【０３２７】
以上のように、図２０の動き予測・補償部７５および図２２の動き補償部１２２においては、AIF未使用の場合のフィルタ係数を予め決めて記憶しておくことで、AIF未使用の場合でも、そのフィルタ係数をAIFフィルタで用いて補間処理を施すことができる。すなわち、H．264/AVC方式とAIFの場合のフィルタを共用することにより、H．264/AVC方式専用のフィルタを除くことができる。
【０３２８】
これにより、H．264/AVC方式専用のフィルタをLSIのハードウエア回路として実装する必要がなくなり、製造コストを下げることができる。
【０３２９】
また、構造の異なるフィルタが多くある場合よりも少ない方がそれぞれのフィルタに対する検証の容易性が改善する。すなわち、実装後の検証は、各フィルタに対して必要であるので、フィルタの数が多いと、必要な検証作業が増加し、開発費用の増大につながっていたが、それを改善することができる。
【０３３０】
さらに、通常AIFをソフトウエアで処理する場合、構造の異なる複数のフィルタがあると、それぞれの処理を別々のプログラムで処理する必要があるので、プロセッサの動作を決める命令数が増えることになり命令を保管するメモリを多く使うことになる。これに対して、本発明によれば、AIF未使用のスライスであっても、フィルタ係数を予め決められたものに設定するだけで、従来のAIF処理で済む。すなわち、通常、簡単なフィルタ処理を施すための命令よりも、予め決められたフィルタ係数を設定するための命令の方がその命令の数をはるかに少なくすることが可能である。
【０３３１】
なお、上記説明においては、AIF未使用の場合のフィルタ係数は、予め決められて固定フィルタ係数記憶部に記憶されている例を説明したが、IDR(instantaneous decoding refresh)ピクチャであった場合、その予め決められたフィルタ係数情報をリセットするようにすることもできる。
【０３３２】
ここで、IDRピクチャとは、H．264/AVC方式で定められており、画像シーケンスの先頭のピクチャを意味し、IDRピクチャから復号が開始できるようになっている。この仕組みによってランダムアクセスが可能となっている。
【０３３３】
IDRピクチャでリセットされたフィルタ係数は、ストリーム情報にフィルタ上書き情報があれば、さらにストリーム情報から上書きするフィルタ係数を読み出してメモリに上書きすることができる。それ以後、記憶されているフィルタ係数は、IDRピクチャでリセットされるか、さらに、上書き情報が入るまでAIFが使用されない場合のフィルタ係数として使用される。
【０３３４】
［拡張マクロブロックサイズへの適用の説明］
図２４は、非特許文献４で提案されているブロックサイズの例を示す図である。非特許文献４では、マクロブロックサイズが３２×３２画素に拡張されている。
【０３３５】
図２４の上段には、左から、３２×３２画素、３２×１６画素、１６×３２画素、および１６×１６画素のブロック（パーティション）に分割された３２×３２画素で構成されるマクロブロックが順に示されている。図２４の中段には、左から、１６×１６画素、１６×８画素、８×１６画素、および８×８画素のブロックに分割された１６×１６画素で構成されるブロックが順に示されている。また、図２４の下段には、左から、８×８画素、８×４画素、４×８画素、および４×４画素のブロックに分割された８×８画素のブロックが順に示されている。
【０３３６】
すなわち、３２×３２画素のマクロブロックは、図２４の上段に示される３２×３２画素、３２×１６画素、１６×３２画素、および１６×１６画素のブロックでの処理が可能である。
【０３３７】
上段の右側に示される１６×１６画素のブロックは、H．264/AVC方式と同様に、中段に示される１６×１６画素、１６×８画素、８×１６画素、および８×８画素のブロックでの処理が可能である。
【０３３８】
中段の右側に示される８×８画素のブロックは、H．264/AVC方式と同様に、下段に示される８×８画素、８×４画素、４×８画素、および４×４画素のブロックでの処理が可能である。
【０３３９】
このような階層構造を採用することにより、非特許文献４の提案では、１６×１６画素のブロック以下に関しては、H．264/AVC方式と互換性を保ちながら、そのスーパーセットとして、より大きなブロックが定義されている。
【０３４０】
以上のように提案される拡張されたマクロブロックサイズにも本発明を適用することができる。
【０３４１】
また、以上においては、符号化方式としてH．264/AVC方式をベースに用いるようにしたが、本発明はこれに限らず、その他の動き予測・補償処理を行う符号化方式／復号方式を用いる画像符号化装置/画像復号装置に適用することもできる。
【０３４２】
なお、本発明は、例えば、MPEG、H．26x等の様に、離散コサイン変換等の直交変換と動き補償によって圧縮された画像情報（ビットストリーム）を、衛星放送、ケーブルテレビジョン、インターネット、または携帯電話機などのネットワークメディアを介して受信する際に用いられる画像符号化装置および画像復号装置に適用することができる。また、本発明は、光、磁気ディスク、およびフラッシュメモリのような記憶メディア上で処理する際に用いられる画像符号化装置および画像復号装置に適用することができる。さらに、本発明は、それらの画像符号化装置および画像復号装置などに含まれる動き予測補償装置にも適用することができる。
【０３４３】
上述した一連の処理は、ハードウエアにより実行することもできるし、ソフトウエアにより実行することもできる。一連の処理をソフトウエアにより実行する場合には、そのソフトウエアを構成するプログラムが、コンピュータにインストールされる。ここで、コンピュータには、専用のハードウエアに組み込まれているコンピュータや、各種のプログラムをインストールすることで、各種の機能を実行することが可能な汎用のパーソナルコンピュータなどが含まれる。
【０３４４】
［パーソナルコンピュータの構成例］
図２５は、上述した一連の処理をプログラムにより実行するコンピュータのハードウエアの構成例を示すブロック図である。
【０３４５】
コンピュータにおいて、CPU(Central Processing Unit)２０１、ROM(Read Only Memory)２０２、RAM(Random Access Memory)２０３は、バス２０４により相互に接続されている。
【０３４６】
バス２０４には、さらに、入出力インタフェース２０５が接続されている。入出力インタフェース２０５には、入力部２０６、出力部２０７、記憶部２０８、通信部２０９、およびドライブ２１０が接続されている。
【０３４７】
入力部２０６は、キーボード、マウス、マイクロホンなどよりなる。出力部２０７は、ディスプレイ、スピーカなどよりなる。記憶部２０８は、ハードディスクや不揮発性のメモリなどよりなる。通信部２０９は、ネットワークインタフェースなどよりなる。ドライブ２１０は、磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリなどのリムーバブルメディア２１１を駆動する。
【０３４８】
以上のように構成されるコンピュータでは、CPU２０１が、例えば、記憶部２０８に記憶されているプログラムを入出力インタフェース２０５及びバス２０４を介してRAM２０３にロードして実行することにより、上述した一連の処理が行われる。
【０３４９】
コンピュータ（CPU２０１）が実行するプログラムは、例えば、パッケージメディア等としてのリムーバブルメディア２１１に記録して提供することができる。また、プログラムは、ローカルエリアネットワーク、インターネット、デジタル放送といった、有線または無線の伝送媒体を介して提供することができる。
【０３５０】
コンピュータでは、プログラムは、リムーバブルメディア２１１をドライブ２１０に装着することにより、入出力インタフェース２０５を介して、記憶部２０８にインストールすることができる。また、プログラムは、有線または無線の伝送媒体を介して、通信部２０９で受信し、記憶部２０８にインストールすることができる。その他、プログラムは、ROM２０２や記憶部２０８に、あらかじめインストールしておくことができる。
【０３５１】
なお、コンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。
【０３５２】
本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
【０３５３】
例えば、上述した画像符号化装置５１や画像復号装置１０１は、任意の電子機器に適用することができる。以下にその例について説明する。
【０３５４】
［テレビジョン受像機の構成例］
図２６は、本発明を適用した画像復号装置を用いるテレビジョン受像機の主な構成例を示すブロック図である。
【０３５５】
図２６に示されるテレビジョン受像機３００は、地上波チューナ３１３、ビデオデコーダ３１５、映像信号処理回路３１８、グラフィック生成回路３１９、パネル駆動回路３２０、および表示パネル３２１を有する。
【０３５６】
地上波チューナ３１３は、地上アナログ放送の放送波信号を、アンテナを介して受信し、復調し、映像信号を取得し、それをビデオデコーダ３１５に供給する。ビデオデコーダ３１５は、地上波チューナ３１３から供給された映像信号に対してデコード処理を施し、得られたデジタルのコンポーネント信号を映像信号処理回路３１８に供給する。
【０３５７】
映像信号処理回路３１８は、ビデオデコーダ３１５から供給された映像データに対してノイズ除去などの所定の処理を施し、得られた映像データをグラフィック生成回路３１９に供給する。
【０３５８】
グラフィック生成回路３１９は、表示パネル３２１に表示させる番組の映像データや、ネットワークを介して供給されるアプリケーションに基づく処理による画像データなどを生成し、生成した映像データや画像データをパネル駆動回路３２０に供給する。また、グラフィック生成回路３１９は、項目の選択などにユーザにより利用される画面を表示するための映像データ（グラフィック）を生成し、それを番組の映像データに重畳したりすることによって得られた映像データをパネル駆動回路３２０に供給するといった処理も適宜行う。
【０３５９】
パネル駆動回路３２０は、グラフィック生成回路３１９から供給されたデータに基づいて表示パネル３２１を駆動し、番組の映像や上述した各種の画面を表示パネル３２１に表示させる。
【０３６０】
表示パネル３２１はLCD（Liquid Crystal Display）などよりなり、パネル駆動回路３２０による制御に従って番組の映像などを表示させる。
【０３６１】
また、テレビジョン受像機３００は、音声A/D（Analog/Digital)変換回路３１４、音声信号処理回路３２２、エコーキャンセル／音声合成回路３２３、音声増幅回路３２４、およびスピーカ３２５も有する。
【０３６２】
地上波チューナ３１３は、受信した放送波信号を復調することにより、映像信号だけでなく音声信号も取得する。地上波チューナ３１３は、取得した音声信号を音声A/D変換回路３１４に供給する。
【０３６３】
音声A/D変換回路３１４は、地上波チューナ３１３から供給された音声信号に対してA/D変換処理を施し、得られたデジタルの音声信号を音声信号処理回路３２２に供給する。
【０３６４】
音声信号処理回路３２２は、音声A/D変換回路３１４から供給された音声データに対してノイズ除去などの所定の処理を施し、得られた音声データをエコーキャンセル／音声合成回路３２３に供給する。
【０３６５】
エコーキャンセル／音声合成回路３２３は、音声信号処理回路３２２から供給された音声データを音声増幅回路３２４に供給する。
【０３６６】
音声増幅回路３２４は、エコーキャンセル／音声合成回路３２３から供給された音声データに対してD/A変換処理、増幅処理を施し、所定の音量に調整した後、音声をスピーカ３２５から出力させる。
【０３６７】
さらに、テレビジョン受像機３００は、デジタルチューナ３１６およびMPEGデコーダ３１７も有する。
【０３６８】
デジタルチューナ３１６は、デジタル放送（地上デジタル放送、BS（Broadcasting Satellite）／CS（Communications Satellite）デジタル放送）の放送波信号を、アンテナを介して受信し、復調し、MPEG-TS（Moving Picture Experts Group-Transport Stream）を取得し、それをMPEGデコーダ３１７に供給する。
【０３６９】
MPEGデコーダ３１７は、デジタルチューナ３１６から供給されたMPEG-TSに施されているスクランブルを解除し、再生対象（視聴対象）になっている番組のデータを含むストリームを抽出する。MPEGデコーダ３１７は、抽出したストリームを構成する音声パケットをデコードし、得られた音声データを音声信号処理回路３２２に供給するとともに、ストリームを構成する映像パケットをデコードし、得られた映像データを映像信号処理回路３１８に供給する。また、MPEGデコーダ３１７は、MPEG-TSから抽出したEPG（Electronic Program Guide)データを図示せぬ経路を介してCPU３３２に供給する。
【０３７０】
テレビジョン受像機３００は、このように映像パケットをデコードするMPEGデコーダ３１７として、上述した画像復号装置１０１を用いる。したがって、MPEGデコーダ３１７は、画像復号装置１０１の場合と同様に、オーバーヘッドを削減し、符号化効率を改善することができる。
【０３７１】
MPEGデコーダ３１７から供給された映像データは、ビデオデコーダ３１５から供給された映像データの場合と同様に、映像信号処理回路３１８において所定の処理が施される。そして、所定の処理が施された映像データは、グラフィック生成回路３１９において、生成された映像データ等が適宜重畳され、パネル駆動回路３２０を介して表示パネル３２１に供給され、その画像が表示される。
【０３７２】
MPEGデコーダ３１７から供給された音声データは、音声A/D変換回路３１４から供給された音声データの場合と同様に、音声信号処理回路３２２において所定の処理が施される。そして、所定の処理が施された音声データは、エコーキャンセル／音声合成回路３２３を介して音声増幅回路３２４に供給され、D/A変換処理や増幅処理が施される。その結果、所定の音量に調整された音声がスピーカ３２５から出力される。
【０３７３】
また、テレビジョン受像機３００は、マイクロホン３２６、およびA/D変換回路３２７も有する。
【０３７４】
A/D変換回路３２７は、音声会話用のものとしてテレビジョン受像機３００に設けられるマイクロホン３２６により取り込まれたユーザの音声の信号を受信する。A/D変換回路３２７は、受信した音声信号に対してA/D変換処理を施し、得られたデジタルの音声データをエコーキャンセル／音声合成回路３２３に供給する。
【０３７５】
エコーキャンセル／音声合成回路３２３は、テレビジョン受像機３００のユーザ（ユーザＡ）の音声のデータがA/D変換回路３２７から供給されている場合、ユーザＡの音声データを対象としてエコーキャンセルを行う。そして、エコーキャンセル／音声合成回路３２３は、エコーキャンセルの後、他の音声データと合成するなどして得られた音声のデータを、音声増幅回路３２４を介してスピーカ３２５より出力させる。
【０３７６】
さらに、テレビジョン受像機３００は、音声コーデック３２８、内部バス３２９、SDRAM（Synchronous Dynamic Random Access Memory)３３０、フラッシュメモリ３３１、CPU３３２、USB（Universal Serial Bus) I/F３３３、およびネットワークI/F３３４も有する。
【０３７７】
A/D変換回路３２７は、音声会話用のものとしてテレビジョン受像機３００に設けられるマイクロホン３２６により取り込まれたユーザの音声の信号を受信する。A/D変換回路３２７は、受信した音声信号に対してA/D変換処理を施し、得られたデジタルの音声データを音声コーデック３２８に供給する。
【０３７８】
音声コーデック３２８は、A/D変換回路３２７から供給された音声データを、ネットワーク経由で送信するための所定のフォーマットのデータに変換し、内部バス３２９を介してネットワークI/F３３４に供給する。
【０３７９】
ネットワークI/F３３４は、ネットワーク端子３３５に装着されたケーブルを介してネットワークに接続される。ネットワークI/F３３４は、例えば、そのネットワークに接続される他の装置に対して、音声コーデック３２８から供給された音声データを送信する。また、ネットワークI/F３３４は、例えば、ネットワークを介して接続される他の装置から送信される音声データを、ネットワーク端子３３５を介して受信し、それを、内部バス３２９を介して音声コーデック３２８に供給する。
【０３８０】
音声コーデック３２８は、ネットワークI/F３３４から供給された音声データを所定のフォーマットのデータに変換し、それをエコーキャンセル／音声合成回路３２３に供給する。
【０３８１】
エコーキャンセル／音声合成回路３２３は、音声コーデック３２８から供給される音声データを対象としてエコーキャンセルを行い、他の音声データと合成するなどして得られた音声のデータを、音声増幅回路３２４を介してスピーカ３２５より出力させる。
【０３８２】
SDRAM３３０は、CPU３３２が処理を行う上で必要な各種のデータを記憶する。
【０３８３】
フラッシュメモリ３３１は、CPU３３２により実行されるプログラムを記憶する。フラッシュメモリ３３１に記憶されているプログラムは、テレビジョン受像機３００の起動時などの所定のタイミングでCPU３３２により読み出される。フラッシュメモリ３３１には、デジタル放送を介して取得されたEPGデータ、ネットワークを介して所定のサーバから取得されたデータなども記憶される。
【０３８４】
例えば、フラッシュメモリ３３１には、CPU３３２の制御によりネットワークを介して所定のサーバから取得されたコンテンツデータを含むMPEG-TSが記憶される。フラッシュメモリ３３１は、例えばCPU３３２の制御により、そのMPEG-TSを、内部バス３２９を介してMPEGデコーダ３１７に供給する。
【０３８５】
MPEGデコーダ３１７は、デジタルチューナ３１６から供給されたMPEG-TSの場合と同様に、そのMPEG-TSを処理する。このようにテレビジョン受像機３００は、映像や音声等よりなるコンテンツデータを、ネットワークを介して受信し、MPEGデコーダ３１７を用いてデコードし、その映像を表示させたり、音声を出力させたりすることができる。
【０３８６】
また、テレビジョン受像機３００は、リモートコントローラ３５１から送信される赤外線信号を受光する受光部３３７も有する。
【０３８７】
受光部３３７は、リモートコントローラ３５１からの赤外線を受光し、復調して得られたユーザ操作の内容を表す制御コードをCPU３３２に出力する。
【０３８８】
CPU３３２は、フラッシュメモリ３３１に記憶されているプログラムを実行し、受光部３３７から供給される制御コードなどに応じてテレビジョン受像機３００の全体の動作を制御する。CPU３３２とテレビジョン受像機３００の各部は、図示せぬ経路を介して接続されている。
【０３８９】
USB I/F３３３は、USB端子３３６に装着されたUSBケーブルを介して接続される、テレビジョン受像機３００の外部の機器との間でデータの送受信を行う。ネットワークI/F３３４は、ネットワーク端子３３５に装着されたケーブルを介してネットワークに接続し、ネットワークに接続される各種の装置と音声データ以外のデータの送受信も行う。
【０３９０】
テレビジョン受像機３００は、MPEGデコーダ３１７として画像復号装置１０１を用いることにより、オーバーヘッドを削減し、符号化効率を改善することができる。その結果として、テレビジョン受像機３００は、アンテナを介して受信した放送波信号や、ネットワークを介して取得したコンテンツデータから、より高速に、より高精細な復号画像を得て、表示することができる。
【０３９１】
［携帯電話機の構成例］
図２７は、本発明を適用した画像符号化装置および画像復号装置を用いる携帯電話機の主な構成例を示すブロック図である。
【０３９２】
図２７に示される携帯電話機４００は、各部を統括的に制御するようになされた主制御部４５０、電源回路部４５１、操作入力制御部４５２、画像エンコーダ４５３、カメラI/F部４５４、LCD制御部４５５、画像デコーダ４５６、多重分離部４５７、記録再生部４６２、変復調回路部４５８、および音声コーデック４５９を有する。これらは、バス４６０を介して互いに接続されている。
【０３９３】
また、携帯電話機４００は、操作キー４１９、CCD（Charge Coupled Devices）カメラ４１６、液晶ディスプレイ４１８、記憶部４２３、送受信回路部４６３、アンテナ４１４、マイクロホン（マイク）４２１、およびスピーカ４１７を有する。
【０３９４】
電源回路部４５１は、ユーザの操作により終話および電源キーがオン状態にされると、バッテリパックから各部に対して電力を供給することにより携帯電話機４００を動作可能な状態に起動する。
【０３９５】
携帯電話機４００は、CPU、ROMおよびRAM等でなる主制御部４５０の制御に基づいて、音声通話モードやデータ通信モード等の各種モードで、音声信号の送受信、電子メールや画像データの送受信、画像撮影、またはデータ記録等の各種動作を行う。
【０３９６】
例えば、音声通話モードにおいて、携帯電話機４００は、マイクロホン（マイク）４２１で集音した音声信号を、音声コーデック４５９によってデジタル音声データに変換し、これを変復調回路部４５８でスペクトラム拡散処理し、送受信回路部４６３でデジタルアナログ変換処理および周波数変換処理する。携帯電話機４００は、その変換処理により得られた送信用信号を、アンテナ４１４を介して図示しない基地局へ送信する。基地局へ伝送された送信用信号（音声信号）は、公衆電話回線網を介して通話相手の携帯電話機に供給される。
【０３９７】
また、例えば、音声通話モードにおいて、携帯電話機４００は、アンテナ４１４で受信した受信信号を送受信回路部４６３で増幅し、さらに周波数変換処理およびアナログデジタル変換処理し、変復調回路部４５８でスペクトラム逆拡散処理し、音声コーデック４５９によってアナログ音声信号に変換する。携帯電話機４００は、その変換して得られたアナログ音声信号をスピーカ４１７から出力する。
【０３９８】
更に、例えば、データ通信モードにおいて電子メールを送信する場合、携帯電話機４００は、操作キー４１９の操作によって入力された電子メールのテキストデータを、操作入力制御部４５２において受け付ける。携帯電話機４００は、そのテキストデータを主制御部４５０において処理し、LCD制御部４５５を介して、画像として液晶ディスプレイ４１８に表示させる。
【０３９９】
また、携帯電話機４００は、主制御部４５０において、操作入力制御部４５２が受け付けたテキストデータやユーザ指示等に基づいて電子メールデータを生成する。携帯電話機４００は、その電子メールデータを、変復調回路部４５８でスペクトラム拡散処理し、送受信回路部４６３でデジタルアナログ変換処理および周波数変換処理する。携帯電話機４００は、その変換処理により得られた送信用信号を、アンテナ４１４を介して図示しない基地局へ送信する。基地局へ伝送された送信用信号（電子メール）は、ネットワークおよびメールサーバ等を介して、所定のあて先に供給される。
【０４００】
また、例えば、データ通信モードにおいて電子メールを受信する場合、携帯電話機４００は、基地局から送信された信号を、アンテナ４１４を介して送受信回路部４６３で受信し、増幅し、さらに周波数変換処理およびアナログデジタル変換処理する。携帯電話機４００は、その受信信号を変復調回路部４５８でスペクトラム逆拡散処理して元の電子メールデータを復元する。携帯電話機４００は、復元された電子メールデータを、LCD制御部４５５を介して液晶ディスプレイ４１８に表示する。
【０４０１】
なお、携帯電話機４００は、受信した電子メールデータを、記録再生部４６２を介して、記憶部４２３に記録する（記憶させる）ことも可能である。
【０４０２】
この記憶部４２３は、書き換え可能な任意の記憶媒体である。記憶部４２３は、例えば、RAMや内蔵型フラッシュメモリ等の半導体メモリであってもよいし、ハードディスクであってもよいし、磁気ディスク、光磁気ディスク、光ディスク、USBメモリ、またはメモリカード等のリムーバブルメディアであってもよい。もちろん、これら以外のものであってもよい。
【０４０３】
さらに、例えば、データ通信モードにおいて画像データを送信する場合、携帯電話機４００は、撮像によりCCDカメラ４１６で画像データを生成する。CCDカメラ４１６は、レンズや絞り等の光学デバイスと光電変換素子としてのCCDを有し、被写体を撮像し、受光した光の強度を電気信号に変換し、被写体の画像の画像データを生成する。その画像データを、カメラI/F部４５４を介して、画像エンコーダ４５３で、例えばMPEG２やMPEG４等の所定の符号化方式によって圧縮符号化することにより符号化画像データに変換する。
【０４０４】
携帯電話機４００は、このような処理を行う画像エンコーダ４５３として、上述した画像符号化装置５１を用いる。したがって、画像エンコーダ４５３は、画像符号化装置５１の場合と同様に、オーバーヘッドを削減し、符号化効率を改善することができる。
【０４０５】
なお、携帯電話機４００は、このとき同時に、CCDカメラ４１６で撮像中にマイクロホン（マイク）４２１で集音した音声を、音声コーデック４５９においてアナログデジタル変換し、さらに符号化する。
【０４０６】
携帯電話機４００は、多重分離部４５７において、画像エンコーダ４５３から供給された符号化画像データと、音声コーデック４５９から供給されたデジタル音声データとを、所定の方式で多重化する。携帯電話機４００は、その結果得られる多重化データを、変復調回路部４５８でスペクトラム拡散処理し、送受信回路部４６３でデジタルアナログ変換処理および周波数変換処理する。携帯電話機４００は、その変換処理により得られた送信用信号を、アンテナ４１４を介して図示しない基地局へ送信する。基地局へ伝送された送信用信号（画像データ）は、ネットワーク等を介して、通信相手に供給される。
【０４０７】
なお、画像データを送信しない場合、携帯電話機４００は、CCDカメラ４１６で生成した画像データを、画像エンコーダ４５３を介さずに、LCD制御部４５５を介して液晶ディスプレイ４１８に表示させることもできる。
【０４０８】
また、例えば、データ通信モードにおいて、簡易ホームページ等にリンクされた動画像ファイルのデータを受信する場合、携帯電話機４００は、基地局から送信された信号を、アンテナ４１４を介して送受信回路部４６３で受信し、増幅し、さらに周波数変換処理およびアナログデジタル変換処理する。携帯電話機４００は、その受信信号を変復調回路部４５８でスペクトラム逆拡散処理して元の多重化データを復元する。携帯電話機４００は、多重分離部４５７において、その多重化データを分離して、符号化画像データと音声データとに分ける。
【０４０９】
携帯電話機４００は、画像デコーダ４５６において、符号化画像データを、MPEG２やMPEG４等の所定の符号化方式に対応した復号方式でデコードすることにより、再生動画像データを生成し、これを、LCD制御部４５５を介して液晶ディスプレイ４１８に表示させる。これにより、例えば、簡易ホームページにリンクされた動画像ファイルに含まれる動画データが液晶ディスプレイ４１８に表示される。
【０４１０】
携帯電話機４００は、このような処理を行う画像デコーダ４５６として、上述した画像復号装置１０１を用いる。したがって、画像デコーダ４５６は、画像復号装置１０１の場合と同様に、オーバーヘッドを削減し、符号化効率を改善することができる。
【０４１１】
このとき、携帯電話機４００は、同時に、音声コーデック４５９において、デジタルの音声データをアナログ音声信号に変換し、これをスピーカ４１７より出力させる。これにより、例えば、簡易ホームページにリンクされた動画像ファイルに含まれる音声データが再生される。
【０４１２】
なお、電子メールの場合と同様に、携帯電話機４００は、受信した簡易ホームページ等にリンクされたデータを、記録再生部４６２を介して、記憶部４２３に記録する（記憶させる）ことも可能である。
【０４１３】
また、携帯電話機４００は、主制御部４５０において、撮像されてCCDカメラ４１６で得られた２次元コードを解析し、２次元コードに記録された情報を取得することができる。
【０４１４】
さらに、携帯電話機４００は、赤外線通信部４８１で赤外線により外部の機器と通信することができる。
【０４１５】
携帯電話機４００は、画像エンコーダ４５３として画像符号化装置５１を用いることにより、符号化効率を向上させることができる。結果として、携帯電話機４００は、符号化効率のよい符号化データ（画像データ）を、より高速に、他の装置に提供することができる。
【０４１６】
また、携帯電話機４００は、画像デコーダ４５６として画像復号装置１０１を用いることにより、符号化効率を向上させることができる。その結果として、携帯電話機４００は、例えば、簡易ホームページにリンクされた動画像ファイルから、より高速に、より高精細な復号画像を得て、表示することができる。
【０４１７】
なお、以上において、携帯電話機４００が、CCDカメラ４１６を用いるように説明したが、このCCDカメラ４１６の代わりに、CMOS（Complementary Metal Oxide Semiconductor）を用いたイメージセンサ（CMOSイメージセンサ）を用いるようにしてもよい。この場合も、携帯電話機４００は、CCDカメラ４１６を用いる場合と同様に、被写体を撮像し、被写体の画像の画像データを生成することができる。
【０４１８】
また、以上においては携帯電話機４００として説明したが、例えば、PDA（Personal Digital Assistants）、スマートフォン、UMPC（Ultra Mobile Personal Computer）、ネットブック、ノート型パーソナルコンピュータ等、この携帯電話機４００と同様の撮像機能や通信機能を有する装置であれば、どのような装置であっても携帯電話機４００の場合と同様に、画像符号化装置５１および画像復号装置１０１を適用することができる。
【０４１９】
［ハードディスクレコーダの構成例］
図２８は、本発明を適用した画像符号化装置および画像復号装置を用いるハードディスクレコーダの主な構成例を示すブロック図である。
【０４２０】
図２８に示されるハードディスクレコーダ（HDDレコーダ）５００は、チューナにより受信された、衛星や地上のアンテナ等より送信される放送波信号（テレビジョン信号）に含まれる放送番組のオーディオデータとビデオデータを、内蔵するハードディスクに保存し、その保存したデータをユーザの指示に応じたタイミングでユーザに提供する装置である。
【０４２１】
ハードディスクレコーダ５００は、例えば、放送波信号よりオーディオデータとビデオデータを抽出し、それらを適宜復号し、内蔵するハードディスクに記憶させることができる。また、ハードディスクレコーダ５００は、例えば、ネットワークを介して他の装置からオーディオデータやビデオデータを取得し、それらを適宜復号し、内蔵するハードディスクに記憶させることもできる。
【０４２２】
さらに、ハードディスクレコーダ５００は、例えば、内蔵するハードディスクに記録されているオーディオデータやビデオデータを復号してモニタ５６０に供給し、モニタ５６０の画面にその画像を表示させる。また、ハードディスクレコーダ５００は、モニタ５６０のスピーカよりその音声を出力させることができる。
【０４２３】
ハードディスクレコーダ５００は、例えば、チューナを介して取得された放送波信号より抽出されたオーディオデータとビデオデータ、または、ネットワークを介して他の装置から取得したオーディオデータやビデオデータを復号してモニタ５６０に供給し、モニタ５６０の画面にその画像を表示させる。また、ハードディスクレコーダ５００は、モニタ５６０のスピーカよりその音声を出力させることもできる。
【０４２４】
もちろん、この他の動作も可能である。
【０４２５】
図２８に示されるように、ハードディスクレコーダ５００は、受信部５２１、復調部５２２、デマルチプレクサ５２３、オーディオデコーダ５２４、ビデオデコーダ５２５、およびレコーダ制御部５２６を有する。ハードディスクレコーダ５００は、さらに、EPGデータメモリ５２７、プログラムメモリ５２８、ワークメモリ５２９、ディスプレイコンバータ５３０、OSD（On Screen Display）制御部５３１、ディスプレイ制御部５３２、記録再生部５３３、D/Aコンバータ５３４、および通信部５３５を有する。
【０４２６】
また、ディスプレイコンバータ５３０は、ビデオエンコーダ５４１を有する。記録再生部５３３は、エンコーダ５５１およびデコーダ５５２を有する。
【０４２７】
受信部５２１は、リモートコントローラ（図示せず）からの赤外線信号を受信し、電気信号に変換してレコーダ制御部５２６に出力する。レコーダ制御部５２６は、例えば、マイクロプロセッサなどにより構成され、プログラムメモリ５２８に記憶されているプログラムに従って、各種の処理を実行する。レコーダ制御部５２６は、このとき、ワークメモリ５２９を必要に応じて使用する。
【０４２８】
通信部５３５は、ネットワークに接続され、ネットワークを介して他の装置との通信処理を行う。例えば、通信部５３５は、レコーダ制御部５２６により制御され、チューナ（図示せず）と通信し、主にチューナに対して選局制御信号を出力する。
【０４２９】
復調部５２２は、チューナより供給された信号を、復調し、デマルチプレクサ５２３に出力する。デマルチプレクサ５２３は、復調部５２２より供給されたデータを、オーディオデータ、ビデオデータ、およびEPGデータに分離し、それぞれ、オーディオデコーダ５２４、ビデオデコーダ５２５、またはレコーダ制御部５２６に出力する。
【０４３０】
オーディオデコーダ５２４は、入力されたオーディオデータを、例えばMPEG方式でデコードし、記録再生部５３３に出力する。ビデオデコーダ５２５は、入力されたビデオデータを、例えばMPEG方式でデコードし、ディスプレイコンバータ５３０に出力する。レコーダ制御部５２６は、入力されたEPGデータをEPGデータメモリ５２７に供給し、記憶させる。
【０４３１】
ディスプレイコンバータ５３０は、ビデオデコーダ５２５またはレコーダ制御部５２６より供給されたビデオデータを、ビデオエンコーダ５４１により、例えばNTSC（National Television Standards Committee）方式のビデオデータにエンコードし、記録再生部５３３に出力する。また、ディスプレイコンバータ５３０は、ビデオデコーダ５２５またはレコーダ制御部５２６より供給されるビデオデータの画面のサイズを、モニタ５６０のサイズに対応するサイズに変換する。ディスプレイコンバータ５３０は、画面のサイズが変換されたビデオデータを、さらに、ビデオエンコーダ５４１によってNTSC方式のビデオデータに変換し、アナログ信号に変換し、ディスプレイ制御部５３２に出力する。
【０４３２】
ディスプレイ制御部５３２は、レコーダ制御部５２６の制御のもと、OSD（On Screen Display）制御部５３１が出力したOSD信号を、ディスプレイコンバータ５３０より入力されたビデオ信号に重畳し、モニタ５６０のディスプレイに出力し、表示させる。
【０４３３】
モニタ５６０にはまた、オーディオデコーダ５２４が出力したオーディオデータが、D/Aコンバータ５３４によりアナログ信号に変換されて供給されている。モニタ５６０は、このオーディオ信号を内蔵するスピーカから出力する。
【０４３４】
記録再生部５３３は、ビデオデータやオーディオデータ等を記録する記憶媒体としてハードディスクを有する。
【０４３５】
記録再生部５３３は、例えば、オーディオデコーダ５２４より供給されるオーディオデータを、エンコーダ５５１によりMPEG方式でエンコードする。また、記録再生部５３３は、ディスプレイコンバータ５３０のビデオエンコーダ５４１より供給されるビデオデータを、エンコーダ５５１によりMPEG方式でエンコードする。記録再生部５３３は、そのオーディオデータの符号化データとビデオデータの符号化データとをマルチプレクサにより合成する。記録再生部５３３は、その合成データをチャネルコーディングして増幅し、そのデータを、記録ヘッドを介してハードディスクに書き込む。
【０４３６】
記録再生部５３３は、再生ヘッドを介してハードディスクに記録されているデータを再生し、増幅し、デマルチプレクサによりオーディオデータとビデオデータに分離する。記録再生部５３３は、デコーダ５５２によりオーディオデータおよびビデオデータをMPEG方式でデコードする。記録再生部５３３は、復号したオーディオデータをD/A変換し、モニタ５６０のスピーカに出力する。また、記録再生部５３３は、復号したビデオデータをD/A変換し、モニタ５６０のディスプレイに出力する。
【０４３７】
レコーダ制御部５２６は、受信部５２１を介して受信されるリモートコントローラからの赤外線信号により示されるユーザ指示に基づいて、EPGデータメモリ５２７から最新のEPGデータを読み出し、それをOSD制御部５３１に供給する。OSD制御部５３１は、入力されたEPGデータに対応する画像データを発生し、ディスプレイ制御部５３２に出力する。ディスプレイ制御部５３２は、OSD制御部５３１より入力されたビデオデータをモニタ５６０のディスプレイに出力し、表示させる。これにより、モニタ５６０のディスプレイには、EPG（電子番組ガイド）が表示される。
【０４３８】
また、ハードディスクレコーダ５００は、インターネット等のネットワークを介して他の装置から供給されるビデオデータ、オーディオデータ、またはEPGデータ等の各種データを取得することができる。
【０４３９】
通信部５３５は、レコーダ制御部５２６に制御され、ネットワークを介して他の装置から送信されるビデオデータ、オーディオデータ、およびEPGデータ等の符号化データを取得し、それをレコーダ制御部５２６に供給する。レコーダ制御部５２６は、例えば、取得したビデオデータやオーディオデータの符号化データを記録再生部５３３に供給し、ハードディスクに記憶させる。このとき、レコーダ制御部５２６および記録再生部５３３が、必要に応じて再エンコード等の処理を行うようにしてもよい。
【０４４０】
また、レコーダ制御部５２６は、取得したビデオデータやオーディオデータの符号化データを復号し、得られるビデオデータをディスプレイコンバータ５３０に供給する。ディスプレイコンバータ５３０は、ビデオデコーダ５２５から供給されるビデオデータと同様に、レコーダ制御部５２６から供給されるビデオデータを処理し、ディスプレイ制御部５３２を介してモニタ５６０に供給し、その画像を表示させる。
【０４４１】
また、この画像表示に合わせて、レコーダ制御部５２６が、復号したオーディオデータを、D/Aコンバータ５３４を介してモニタ５６０に供給し、その音声をスピーカから出力させるようにしてもよい。
【０４４２】
さらに、レコーダ制御部５２６は、取得したEPGデータの符号化データを復号し、復号したEPGデータをEPGデータメモリ５２７に供給する。
【０４４３】
以上のようなハードディスクレコーダ５００は、ビデオデコーダ５２５、デコーダ５５２、およびレコーダ制御部５２６に内蔵されるデコーダとして画像復号装置１０１を用いる。したがって、ビデオデコーダ５２５、デコーダ５５２、およびレコーダ制御部５２６に内蔵されるデコーダは、画像復号装置１０１の場合と同様に、オーバーヘッドを削減し、符号化効率を改善することができる。
【０４４４】
したがって、ハードディスクレコーダ５００は、精度の高い予測画像を生成することができる。その結果として、ハードディスクレコーダ５００は、例えば、チューナを介して受信されたビデオデータの符号化データや、記録再生部５３３のハードディスクから読み出されたビデオデータの符号化データや、ネットワークを介して取得したビデオデータの符号化データから、より高速に、より高精細な復号画像を得て、モニタ５６０に表示させることができる。
【０４４５】
また、ハードディスクレコーダ５００は、エンコーダ５５１として画像符号化装置５１を用いる。したがって、エンコーダ５５１は、画像符号化装置５１の場合と同様に、オーバーヘッドを削減し、符号化効率を改善することができる。
【０４４６】
したがって、ハードディスクレコーダ５００は、例えば、ハードディスクに記録する符号化データの符号化効率を向上させることができる。その結果として、ハードディスクレコーダ５００は、より高速に、ハードディスクの記憶領域をより効率よく使用することができる。
【０４４７】
なお、以上においては、ビデオデータやオーディオデータをハードディスクに記録するハードディスクレコーダ５００について説明したが、もちろん、記録媒体はどのようなものであってもよい。例えばフラッシュメモリ、光ディスク、またはビデオテープ等、ハードディスク以外の記録媒体を適用するレコーダであっても、上述したハードディスクレコーダ５００の場合と同様に、画像符号化装置５１および画像復号装置１０１を適用することができる。
【０４４８】
［カメラの構成例］
図２９は、本発明を適用した画像復号装置および画像符号化装置を用いるカメラの主な構成例を示すブロック図である。
【０４４９】
図２９に示されるカメラ６００は、被写体を撮像し、被写体の画像をLCD６１６に表示させたり、それを画像データとして、記録メディア６３３に記録したりする。
【０４５０】
レンズブロック６１１は、光（すなわち、被写体の映像）を、CCD/CMOS６１２に入射させる。CCD/CMOS６１２は、CCDまたはCMOSを用いたイメージセンサであり、受光した光の強度を電気信号に変換し、カメラ信号処理部６１３に供給する。
【０４５１】
カメラ信号処理部６１３は、CCD/CMOS６１２から供給された電気信号を、Ｙ，Ｃｒ，Ｃｂの色差信号に変換し、画像信号処理部６１４に供給する。画像信号処理部６１４は、コントローラ６２１の制御の下、カメラ信号処理部６１３から供給された画像信号に対して所定の画像処理を施したり、その画像信号をエンコーダ６４１で例えばMPEG方式により符号化したりする。画像信号処理部６１４は、画像信号を符号化して生成した符号化データを、デコーダ６１５に供給する。さらに、画像信号処理部６１４は、オンスクリーンディスプレイ（OSD）６２０において生成された表示用データを取得し、それをデコーダ６１５に供給する。
【０４５２】
以上の処理において、カメラ信号処理部６１３は、バス６１７を介して接続されるDRAM（Dynamic Random Access Memory）６１８を適宜利用し、必要に応じて画像データや、その画像データが符号化された符号化データ等をそのDRAM６１８に保持させる。
【０４５３】
デコーダ６１５は、画像信号処理部６１４から供給された符号化データを復号し、得られた画像データ（復号画像データ）をLCD６１６に供給する。また、デコーダ６１５は、画像信号処理部６１４から供給された表示用データをLCD６１６に供給する。LCD６１６は、デコーダ６１５から供給された復号画像データの画像と表示用データの画像を適宜合成し、その合成画像を表示する。
【０４５４】
オンスクリーンディスプレイ６２０は、コントローラ６２１の制御の下、記号、文字、または図形からなるメニュー画面やアイコンなどの表示用データを、バス６１７を介して画像信号処理部６１４に出力する。
【０４５５】
コントローラ６２１は、ユーザが操作部６２２を用いて指令した内容を示す信号に基づいて、各種処理を実行するとともに、バス６１７を介して、画像信号処理部６１４、DRAM６１８、外部インタフェース６１９、オンスクリーンディスプレイ６２０、およびメディアドライブ６２３等を制御する。FLASH ROM６２４には、コントローラ６２１が各種処理を実行する上で必要なプログラムやデータ等が格納される。
【０４５６】
例えば、コントローラ６２１は、画像信号処理部６１４やデコーダ６１５に代わって、DRAM６１８に記憶されている画像データを符号化したり、DRAM６１８に記憶されている符号化データを復号したりすることができる。このとき、コントローラ６２１は、画像信号処理部６１４やデコーダ６１５の符号化・復号方式と同様の方式によって符号化・復号処理を行うようにしてもよいし、画像信号処理部６１４やデコーダ６１５が対応していない方式により符号化・復号処理を行うようにしてもよい。
【０４５７】
また、例えば、操作部６２２から画像印刷の開始が指示された場合、コントローラ６２１は、DRAM６１８から画像データを読み出し、それを、バス６１７を介して外部インタフェース６１９に接続されるプリンタ６３４に供給して印刷させる。
【０４５８】
さらに、例えば、操作部６２２から画像記録が指示された場合、コントローラ６２１は、DRAM６１８から符号化データを読み出し、それを、バス６１７を介してメディアドライブ６２３に装着される記録メディア６３３に供給して記憶させる。
【０４５９】
記録メディア６３３は、例えば、磁気ディスク、光磁気ディスク、光ディスク、または半導体メモリ等の、読み書き可能な任意のリムーバブルメディアである。記録メディア６３３は、もちろん、リムーバブルメディアとしての種類も任意であり、テープデバイスであってもよいし、ディスクであってもよいし、メモリカードであってもよい。もちろん、非接触ICカード等であっても良い。
【０４６０】
また、メディアドライブ６２３と記録メディア６３３を一体化し、例えば、内蔵型ハードディスクドライブやSSD（Solid State Drive）等のように、非可搬性の記憶媒体により構成されるようにしてもよい。
【０４６１】
外部インタフェース６１９は、例えば、USB入出力端子などで構成され、画像の印刷を行う場合に、プリンタ６３４と接続される。また、外部インタフェース６１９には、必要に応じてドライブ６３１が接続され、磁気ディスク、光ディスク、あるいは光磁気ディスクなどのリムーバブルメディア６３２が適宜装着され、それらから読み出されたコンピュータプログラムが、必要に応じて、FLASH ROM６２４にインストールされる。
【０４６２】
さらに、外部インタフェース６１９は、LANやインターネット等の所定のネットワークに接続されるネットワークインタフェースを有する。コントローラ６２１は、例えば、操作部６２２からの指示に従って、DRAM６１８から符号化データを読み出し、それを外部インタフェース６１９から、ネットワークを介して接続される他の装置に供給させることができる。また、コントローラ６２１は、ネットワークを介して他の装置から供給される符号化データや画像データを、外部インタフェース６１９を介して取得し、それをDRAM６１８に保持させたり、画像信号処理部６１４に供給したりすることができる。
【０４６３】
以上のようなカメラ６００は、デコーダ６１５として画像復号装置１０１を用いる。したがって、デコーダ６１５は、画像復号装置１０１の場合と同様に、オーバーヘッドを削減し、符号化効率を改善することができる。
【０４６４】
したがって、カメラ６００は、精度の高い予測画像を生成することができる。その結果として、カメラ６００は、例えば、CCD/CMOS６１２において生成された画像データや、DRAM６１８または記録メディア６３３から読み出されたビデオデータの符号化データや、ネットワークを介して取得したビデオデータの符号化データから、より高速に、より高精細な復号画像を得て、LCD６１６に表示させることができる。
【０４６５】
また、カメラ６００は、エンコーダ６４１として画像符号化装置５１を用いる。したがって、エンコーダ６４１は、画像符号化装置５１の場合と同様に、オーバーヘッドを削減し、符号化効率を改善することができる。
【０４６６】
したがって、カメラ６００は、例えば、ハードディスクに記録する符号化データの符号化効率を向上させることができる。その結果として、カメラ６００は、より高速に、DRAM６１８や記録メディア６３３の記憶領域をより効率よく使用することができる。
【０４６７】
なお、コントローラ６２１が行う復号処理に画像復号装置１０１の復号方法を適用するようにしてもよい。同様に、コントローラ６２１が行う符号化処理に画像符号化装置５１の符号化方法を適用するようにしてもよい。
【０４６８】
また、カメラ６００が撮像する画像データは動画像であってもよいし、静止画像であってもよい。
【０４６９】
もちろん、画像符号化装置５１および画像復号装置１０１は、上述した装置以外の装置やシステムにも適用可能である。
【符号の説明】
【０４７０】
５１  画像符号化装置，  ６６  可逆符号化部，  ７５  動き予測・補償部，    ８１  固定補間フィルタ，  ８２  対称性弱の補間フィルタ，  ８３  対称性弱のフィルタ係数算出部，  ８４  対称性強の補間フィルタ，  ８５  対称性強のフィルタ係数算出部，  ８７  動き予測部，  ８８  動き補償部，  ９０  制御部，  １０１  画像復号装置，  １１２  可逆復号部，  １２２  動き補償部，  １３１  固定補間フィルタ，  １３２  対称性弱の補間フィルタ，  １３３  対称性強の補間フィルタ，  １３６  動き補償処理部，  １３７  制御部，  １５１  対称性弱の補間フィルタ，  １５３  固定フィルタ係数記憶部，  １７１  対称性弱の補間フィルタ，  １７３  固定フィルタ係数記憶部
【図１】
0005581688.tif 000019
【図２】
0005581688.tif 000020
【図３】
0005581688.tif 000021
【図４】
0005581688.tif 000022
【図５】
0005581688.tif 000023
【図６】
0005581688.tif 000024
【図７】
0005581688.tif 000025
【図８】
0005581688.tif 000026
【図９】
0005581688.tif 000027
【図１０】
0005581688.tif 000028
【図１１】
0005581688.tif 000029
【図１２】
0005581688.tif 000030
【図１３】
0005581688.tif 000031
【図１４】
0005581688.tif 000032
【図１５】
0005581688.tif 000033
【図１６】
0005581688.tif 000034
【図１７】
0005581688.tif 000035
【図１８】
0005581688.tif 000036
【図１９】
0005581688.tif 000037
【図２０】
0005581688.tif 000038
【図２１】
0005581688.tif 000039
【図２２】
0005581688.tif 000040
【図２３】
0005581688.tif 000041
【図２４】
0005581688.tif 000042
【図２５】
0005581688.tif 000043
【図２６】
0005581688.tif 000044
【図２７】
0005581688.tif 000045
【図２８】
0005581688.tif 000046
【図２９】
0005581688.tif 000047