(57)【要約】【課題】ストリームに含まれるビット量とメモリの使用帯域を減らすことができるようにする。【解決手段】画像符号化装置５１においては、対象スライスがＢスライスのときに、可変の補間フィルタ(AIF)のタップ数を、例えば、４タップにしたので、４×４サイズの双方向予測が行われる場合であっても、補間処理後に得られる４×４の白色の正方形の画素の他に、前方向および後方向から、斜線が付された正方形の画素、９８＝２×４９の画素をフレームメモリから読み込めばよい。すなわち、従来の場合と比較して、黒色の正方形に示される３２の画素は補間処理に必要なくなる。本発明は、例えば、H．264/AVC方式をベースに符号化する画像符号化装置に適用することができる。【選択図】図１５
2011135184.tif 000002
【特許請求の範囲】
【請求項１】
符号化された画像に対応する参照画像の画素を分数精度で補間する、フィルタ係数が可変の補間フィルタと、
前記符号化された画像、前記符号化された画像に対応する動きベクトル、および前記補間フィルタの前記フィルタ係数を復号する復号手段と、
前記符号化された画像のスライスの種類に基づいて、前記補間フィルタのタップ数を決定するタップ数決定手段と、
前記復号手段により復号された前記フィルタ係数のうち、前記タップ数決定手段により決定された前記タップ数のフィルタ係数の前記補間フィルタにより補間された前記参照画像と、前記復号手段により復号された前記動きベクトルを用いて、予測画像を生成する動き補償手段と
を備える画像処理装置。
【請求項２】
前記タップ数決定手段は、前記符号化対象の画像がＢスライスのとき、前記補間フィルタのタップ数を、他のスライスの場合のタップ数よりも少ないタップ数に決定する
請求項１に記載の画像処理装置。
【請求項３】
前記復号手段により復号された画像と、前記動き補償手段により生成された前記予測画像とを加算して、復号画像を生成する演算手段
をさらに備える請求項１に記載の画像処理装置。
【請求項４】
画像処理装置が、
符号化された画像、前記符号化された画像に対応する動きベクトル、および符号化された画像に対応する参照画像の画素を分数精度で補間する、フィルタ係数が可変の補間フィルタの前記フィルタ係数を復号し、
前記符号化された画像のスライスの種類に基づいて、前記補間フィルタのタップ数を決定し、
復号された前記フィルタ係数のうち、決定された前記タップ数のフィルタ係数の前記補間フィルタにより補間された前記参照画像と、復号された前記動きベクトルを用いて、予測画像を生成するステップ
を含む画像処理方法。
【請求項５】
符号化された画像、前記符号化された画像に対応する動きベクトル、および前記符号化された画像に対応する参照画像の画素を分数精度で補間する、フィルタ係数が可変の補間フィルタの前記フィルタ係数を復号する復号手段と、
前記符号化された画像のスライスの種類に基づいて、前記補間フィルタのタップ数を決定するタップ数決定手段と、
前記復号手段により復号された前記フィルタ係数のうち、前記タップ数決定手段により決定された前記タップ数のフィルタ係数の前記補間フィルタにより補間された前記参照画像と、前記復号手段により復号された前記動きベクトルを用いて、予測画像を生成する動き補償手段と
コンピュータを機能させるためのプログラム。
【請求項６】
符号化対象の画像と参照画像との間で動き予測を行い、動きベクトルを検出する動き予測手段と、
前記参照画像の画素を分数精度で補間する、フィルタ係数が可変の補間フィルタと、
前記符号化対象の画像のスライスの種類に基づいて、前記補間フィルタのタップ数を決定するタップ数決定手段と、
前記動き予測手段により検出された前記動きベクトルを用いて、前記タップ数決定手段により決定された前記タップ数の前記補間フィルタの前記フィルタ係数を算出する係数算出手段と、
前記係数算出手段により算出された前記フィルタ係数の前記補間フィルタにより補間された前記参照画像と前記動き予測手段により検出された前記動きベクトルを用いて、予測画像を生成する動き補償手段と
を備える画像処理装置。
【請求項７】
前記タップ数決定手段は、前記符号化対象の画像がＢスライスのとき、前記補間フィルタのタップ数を、他のスライスの場合のタップ数よりも少ないタップ数に決定する
請求項６に記載の画像処理装置。
【請求項８】
前記動き補償手段により生成された前記予測画像と前記符号化対象の画像の差分、前記動き予測手段により検出された前記動きベクトル、および前記係数算出手段により算出された前記フィルタ係数を符号化する符号化手段
をさらに備える
請求項６に記載の画像処理装置。
【請求項９】
画像処理装置が、
符号化対象の画像と参照画像との間で動き予測を行い、動きベクトルを検出し、
前記符号化対象の画像のスライスの種類に基づいて、前記参照画像の画素を分数精度で補間する、フィルタ係数が可変の補間フィルタのタップ数を決定し、
検出された前記動きベクトルを用いて、決定された前記タップ数の前記補間フィルタの前記フィルタ係数を算出し、
算出された前記フィルタ係数の前記補間フィルタにより補間された前記参照画像と前記動き予測手段により検出された前記動きベクトルを用いて、予測画像を生成するステップ
を含む画像処理方法。
【請求項１０】
符号化対象の画像と参照画像との間で動き予測を行い、動きベクトルを検出する動き予測手段と、
前記符号化対象の画像のスライスの種類に基づいて、前記参照画像の画素を分数精度で補間する、フィルタ係数が可変の補間フィルタのタップ数を決定するタップ数決定手段と、
前記動き予測手段により検出された前記動きベクトルを用いて、前記タップ数決定手段により決定された前記タップ数の前記補間フィルタの前記フィルタ係数を算出する係数算出手段と、
前記係数算出手段により算出された前記フィルタ係数の前記補間フィルタにより補間された前記参照画像と前記動き予測手段により検出された前記動きベクトルを用いて、予測画像を生成する動き補償手段と
を備える画像処理装置として、コンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は画像処理装置および方法に関し、特に、Ｂスライスの場合に、ストリームに含まれるビット量と、メモリの使用帯域を減らすことができるようにした画像処理装置および方法に関する。
【背景技術】
【０００２】
画像情報を圧縮する標準規格として、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フィルタのフィルタ係数を適応的に変えることで、エイリアシングの影響や符号化歪みを低減し、動き補償の誤差を小さくすることができる。
【００１４】
図４を参照して、非特許文献２に記載の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
・・・（３）
【００２１】
上述したAIFは、補間フィルタの性能を改善するが、フィルタ係数をストリーム情報に含めるため、オーバーヘッドが存在し、場合よっては、符号化効率を劣化させてしまうことも起こる。そこで、非特許文献３の参照ソフトウエアでは、スライス単位で、AIF  ON/OFFフラグの情報をストリーム情報に含めることで、AIFを使用する・しないを制御することが可能である。
【００２２】
すなわち、復号側において、ストリーム情報が復号されて、AIF  ON/OFFフラグが読み出される。そのフラグ情報がAIF使用を示していれば、さらにストリーム情報からフィルタ係数が読み出されて、それが、対象スライスの補間フィルタのフィルタ係数として使用される。そのフラグ情報がAIF不使用を示していれば、上述したH.264/AVCのFIRフィルタのフィルタ係数が使用される。
【００２３】
ところで、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
【非特許文献３】KTA Reference Software version 2.2r1、［平成２１年１１月２５日検索］、インターネット＜URL： http://iphome.hhi.de/suehring/tml/download/KTA/jm11.0kta2.2r1.zip＞
【非特許文献４】”Video Coding Using Extended Block Sizes”,VCEG-AD09,ITU-Telecommunications Standardization Sector STUDY GROUP Question 16 - Contribution 123, Jan 2009
【発明の概要】
【発明が解決しようとする課題】
【００２６】
上述したように、AIFを用いれば、補間フィルタのフィルタ係数をスライス単位で変更できるが、そのフィルタ係数情報をストリーム情報に含めなければならず、フィルタ係数情報のビット量がオーバーヘッドとなり、符号化効率を劣化させてしまう恐れがある。
【００２７】
特に、Ｂピクチャにとってはそのオーバーヘッドが比較的多くなる。例えば、ピクチャタイプを、ＢＰＢＰＢＰ・・・という順序でＰピクチャを２ピクチャ毎に配置して、その間をＢピクチャにした場合、Ｂピクチャで発生するビット量はＰピクチャと比較して少ないことが多い。これは、時間距離の小さい参照画像を使えることや、双方向予測が使えるといったことでＢピクチャのインター予測の品質が高くなることが原因と考えられるが、いずれにせよ、Ｂピクチャのオーバーヘッドの割合がＰピクチャのそれと比べて大きいことになる。
【００２８】
その結果、Ｂピクチャでは、AIFの効果が制限されてしまう。すなわち、AIFによって補間フィルタの性能が改善されるが、フィルタ係数情報によるオーバーヘッドのほうが負荷となり、符号化効率が損失する機会が多くなってしまう。
【００２９】
さらに、それだけでなく、補間フィルタが使われることで、出力される画素よりも入力しなければならないは画素、すなわち、フレームメモリから読み込まなければならない画素数が増えて、そのメモリの転送帯域が大きくなってしまう恐れがある。
【００３０】
例えば、図３を参照して上述したH．264/AVC方式による補間の方法において、分数位置の画素の画素値jを生成しようとした場合、まず、画素値E,F,G,H,I,Jを６タップの補間フィルタに入力することで、画素値bが得られる。同様に、画素値aa，bb，s，gg，hhも得られる。次に、得られた画素値aa，bb，b, s，gg，hhを６タップの補間フィルタに入力することで、画素値jが得られる。したがって、１画素の画素値jを得るために使用された整数位置の画素は、図３に示される白色の正方形の数分、すなわち、３６個であることがわかる。
【００３１】
また、ブロック単位で考えると、H．264/AVC方式において、最小のブロックサイズである４×４画素で動き補償に使う画素数は、求める画素値が、分数画素の画素値e,f,g,i,j,k,m,n,またはoである場合、図５に示されるように、９×９＝８１画素となる。これは、６タップのFIRフィルタが余分に周囲の画素を必要とするため、補間処理後に得られる４×４の白色の正方形の画素の他に、斜線が付された正方形の画素も必要とするからである。
【００３２】
ブロックサイズが小さくなるほど、補間処理後に得られる画素数よりも余分にフレームメモリが読み込む画素数が大きくなってしまい、その結果、メモリの使用帯域が増加してしまう。
【００３３】
さらに、Ｂピクチャの場合、図６に示されるように、双方向予測が使用できる。図６においては、表示順序でピクチャが示されており、符号化対象ピクチャの表示順序の前後に符号化済みの参照ピクチャが並んでいる。符号化対象ピクチャがＢピクチャの場合、例えば、符号化対象ピクチャの対象予測ブロックに示されるように、前後（双方向）の参照ピクチャの２つのブロックを参照し、前方向のL0予測の動きベクトルと、後方向のL1予測の動きベクトルを持つことができる。
【００３４】
このため、４×４画素のブロックサイズで双方向予測がなされる場合、図７に示されるように、補間処理後に得られる４×４の白色の正方形の画素の他に、前方向および後方向から、斜線が付された正方形の画素、８１×２＝１６２画素が必要になってしまう。
【００３５】
このような事実は、上述した非特許文献２のSeparable  AIFでも同様に存在する。例えば、上述した図４の画素値e,f,g,i,j,k,m,n,oを補間しようとした場合、周囲の整数位置の画素６×６＝３６が必要であることがわかる。
【００３６】
本発明は、このような状況に鑑みてなされたものであり、Ｂスライスの場合に、ストリームに含まれるビット量と、メモリの使用帯域を減らすことができるものである。
【課題を解決するための手段】
【００３７】
本発明の第１の側面の画像処理装置は、符号化された画像に対応する参照画像の画素を分数精度で補間する、フィルタ係数が可変の補間フィルタと、前記符号化された画像、前記符号化された画像に対応する動きベクトル、および前記補間フィルタの前記フィルタ係数を復号する復号手段と、前記符号化された画像のスライスの種類に基づいて、前記補間フィルタのタップ数を決定するタップ数決定手段と、前記復号手段により復号された前記フィルタ係数のうち、前記タップ数決定手段により決定された前記タップ数のフィルタ係数の前記補間フィルタにより補間された前記参照画像と、前記復号手段により復号された前記動きベクトルを用いて、予測画像を生成する動き補償手段とを備える。
【００３８】
前記タップ数決定手段は、前記符号化対象の画像がＢスライスのとき、前記補間フィルタのタップ数を、他のスライスの場合のタップ数よりも少ないタップ数に決定することができる。
【００３９】
前記復号手段により復号された画像と、前記動き補償手段により生成された前記予測画像とを加算して、復号画像を生成する演算手段をさらに備えることができる。
【００４０】
本発明の第１の側面の画像処理方法は、画像処理装置が、符号化された画像、前記符号化された画像に対応する動きベクトル、および符号化された画像に対応する参照画像の画素を分数精度で補間する、フィルタ係数が可変の補間フィルタの前記フィルタ係数を復号し、前記符号化された画像のスライスの種類に基づいて、前記補間フィルタのタップ数を決定し、復号された前記フィルタ係数のうち、決定された前記タップ数のフィルタ係数の前記補間フィルタにより補間された前記参照画像と、復号された前記動きベクトルを用いて、予測画像を生成するステップを含む。
【００４１】
本発明の第１の側面のプログラムは、符号化された画像、前記符号化された画像に対応する動きベクトル、および前記符号化された画像に対応する参照画像の画素を分数精度で補間する、フィルタ係数が可変の補間フィルタの前記フィルタ係数を復号する復号手段と、前記符号化された画像のスライスの種類に基づいて、前記補間フィルタのタップ数を決定するタップ数決定手段と、前記復号手段により復号された前記フィルタ係数のうち、前記タップ数決定手段により決定された前記タップ数のフィルタ係数の前記補間フィルタにより補間された前記参照画像と、前記復号手段により復号された前記動きベクトルを用いて、予測画像を生成する動き補償手段とを備える画像処理装置として、コンピュータを機能させる  。
【００４２】
本発明の第２の側面の画像処理装置は、符号化対象の画像と参照画像との間で動き予測を行い、動きベクトルを検出する動き予測手段と、前記参照画像の画素を分数精度で補間する、フィルタ係数が可変の補間フィルタと、前記符号化対象の画像のスライスの種類に基づいて、前記補間フィルタのタップ数を決定するタップ数決定手段と、前記動き予測手段により検出された前記動きベクトルを用いて、前記タップ数決定手段により決定された前記タップ数の前記補間フィルタの前記フィルタ係数を算出する係数算出手段と、前記係数算出手段により算出された前記フィルタ係数の前記補間フィルタにより補間された前記参照画像と前記動き予測手段により検出された前記動きベクトルを用いて、予測画像を生成する動き補償手段とを備える。
【００４３】
前記タップ数決定手段は、前記符号化対象の画像がＢスライスのとき、前記補間フィルタのタップ数を、他のスライスの場合のタップ数よりも少ないタップ数に決定することができる。
【００４４】
前記動き補償手段により生成された前記予測画像と前記符号化対象の画像の差分、前記動き予測手段により検出された前記動きベクトル、および前記係数算出手段により算出された前記フィルタ係数を符号化する符号化手段をさらに備えることができる。
【００４５】
本発明の第２の側面の画像処理方法は、画像処理装置が、符号化対象の画像と参照画像との間で動き予測を行い、動きベクトルを検出し、前記符号化対象の画像のスライスの種類に基づいて、前記参照画像の画素を分数精度で補間する、フィルタ係数が可変の補間フィルタのタップ数を決定し、検出された前記動きベクトルを用いて、決定された前記タップ数の前記補間フィルタの前記フィルタ係数を算出し、算出された前記フィルタ係数の前記補間フィルタにより補間された前記参照画像と前記動き予測手段により検出された前記動きベクトルを用いて、予測画像を生成するステップを含む。
【００４６】
本発明の第２の側面のプログラムは、符号化対象の画像と参照画像との間で動き予測を行い、動きベクトルを検出する動き予測手段と、前記符号化対象の画像のスライスの種類に基づいて、前記参照画像の画素を分数精度で補間する、フィルタ係数が可変の補間フィルタのタップ数を決定するタップ数決定手段と、前記動き予測手段により検出された前記動きベクトルを用いて、前記タップ数決定手段により決定された前記タップ数の前記補間フィルタの前記フィルタ係数を算出する係数算出手段と、前記係数算出手段により算出された前記フィルタ係数の前記補間フィルタにより補間された前記参照画像と前記動き予測手段により検出された前記動きベクトルを用いて、予測画像を生成する動き補償手段とを備える画像処理装置として、コンピュータを機能させる。
【００４７】
本発明の第１の側面においては、符号化された画像、前記符号化された画像に対応する動きベクトル、および符号化された画像に対応する参照画像の画素を分数精度で補間する、フィルタ係数が可変の補間フィルタの前記フィルタ係数が復号される。そして、前記符号化された画像のスライスの種類に基づいて、前記補間フィルタのタップ数が決定され、復号された前記フィルタ係数のうち、決定された前記タップ数のフィルタ係数の前記補間フィルタにより補間された前記参照画像と、復号された前記動きベクトルを用いて、予測画像が生成される。
【００４８】
本発明の第２の側面においては、符号化対象の画像と参照画像との間で動き予測が行われて、動きベクトルが検出され、前記符号化対象の画像のスライスの種類に基づいて、前記参照画像の画素を分数精度で補間する、フィルタ係数が可変の補間フィルタのタップ数が決定される。そして、検出された前記動きベクトルを用いて、決定された前記タップ数の前記補間フィルタの前記フィルタ係数が算出され、算出された前記フィルタ係数の前記補間フィルタにより補間された前記参照画像と前記動き予測手段により検出された前記動きベクトルを用いて、予測画像が生成される。
【００４９】
なお、上述の画像処理装置のそれぞれは、独立した装置であっても良いし、１つの画像符号化装置または画像復号装置を構成している内部ブロックであってもよい。
【発明の効果】
【００５０】
本発明によれば、ストリームに含まれるビット量と、メモリの使用帯域を減らすことができることができる。また、本発明によれば、特に、Ｂピクチャの場合に、ストリームに含まれるビット量と、メモリの使用帯域を減らすことができることができる。
【図面の簡単な説明】
【００５１】
【図１】従来のインター予測について説明する図である。
【図２】従来のインター予測について詳細に説明する図である。
【図３】インターポーレーションについて説明する図である。
【図４】Separable  AIFを説明する図である。
【図５】従来のメモリの使用帯域について説明する図である。
【図６】双方向予測を説明する図である。
【図７】双方向予測の場合の従来のメモリの使用帯域について説明する図である。
【図８】本発明を適用した画像符号化装置の一実施の形態の構成を示すブロック図である。
【図９】動き予測・補償部の構成例を示すブロック図である。
【図１０】４タップの場合の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使用フラグ、動きベクトル、参照画像の情報などを、可逆符号化部６６に出力する。
【０１０３】
セレクタ９１は、制御部９２からの制御のもと、予測画像選択部７６においてインター予測画像が選択され、対象スライスで可変フィルタを使用する場合に、対象スライスがＰスライスであるとき、６タップのフィルタ係数算出部８４からのフィルタ係数を、可逆符号化部６６に出力する。セレクタ９１は、制御部９２からの制御のもと、予測画像選択部７６においてインター予測画像が選択され、対象スライスで可変フィルタを使用する場合に、対象スライスがＢスライスであるとき、４タップのフィルタ係数算出部８６からのフィルタ係数を、可逆符号化部６６に出力する。
【０１０４】
制御部９２は、対象スライスの種類に応じて、セレクタ８７、８８、および９１を制御する。すなわち、制御部９２は、対象スライスがＰスライスの場合、各フィルタのタップ数を、６タップにすることを決定し、対象スライスがＢスライスの場合、各フィルタのタップ数を、Ｐスライスの場合よりも少ない４タップにすることを決定する。
【０１０５】
また、制御部９２は、予測画像選択部７６からのインター予測画像が選択されたという信号を受けると、動き補償部９０およびセレクタ９１に、必要な情報を、可逆符号化部６６に出力させる制御も行う。
【０１０６】
なお、図９の例においては、固定６タップフィルタ８１および固定４タップフィルタ８２を別々に備える例を説明したが、固定６タップフィルタ８１のみで構成し、スライスに応じて６タップおよび４タップのフィルタ処理のどちらかを選択的に行うようにしてもよい。同様に、可変６タップフィルタ８３および可変４タップフィルタ８５を別々に備える例を説明したが、可変６タップフィルタ８３のみで構成し、スライスに応じて６タップおよび４タップのフィルタ処理のどちらかを選択的に行うようにしてもよい。この場合、フィルタ係数算出部も１つで構成し、スライスに応じて６タップおよび４タップのフィルタ処理のどちらかを選択的に行ってもよい。
【０１０７】
［補間処理方法］
可変６タップフィルタ８３は、例えば、図４を参照して説明したSeparable adaptive interpolation filter(以下、Separable  AIFと称する)により補間処理を行う。なお、図４においては、６タップのSeparable  AIFについて説明したため、図１０を参照して、可変４タップフィルタ８５が行う４タップのSeparable  AIFについて説明する。
【０１０８】
なお、図１０において、斜線が付された正方形は、整数位置の画素(Integer pel(Int. pel))を表し、白色の正方形は、分数位置の画素(Sub pel)を表している。また、正方形内のアルファベットは、その正方形が表す画素の画素値を表している。
【０１０９】
４タップのSeparable  AIFにおいても、６タップの場合と同様に、第１ステップとして、横方向に対する非整数位置の補間が行われ、第２ステップとして、縦方向に対する非整数方向の補間が行われる。なお、横と縦の処理順を逆にすることも可能である。
【０１１０】
まず、第１ステップである、分数位置の画素の画素値a，b，cは、整数位置の画素の画素値E，F，G，H，I，JからFIRフィルタにより次の式（６）で計算される。ここで、h[x][y]は、フィルタ係数であり、ストリーム情報に含められて復号側で使用される。
【０１１１】
a = h1[a][1] x F + h2[a][2] x G + h[a][3] x H + h[a][4] x I
b = h1[b][1] x F + h2[b][2] x G + h[b][3] x H + h[b][4] x I
c = h1[c][1] x F + h2[c][2] x G + h[c][3] x H + h[c][4] x I
・・・（６）
【０１１２】
なお、画素値G2，G3，G4の行の分数位置の画素の画素値(a2,b2,c2,a3,b3,c3,a4,b4,c4,)に対しても、画素値a，b，cと同様に求めることができる。
【０１１３】
次に、第２ステップである、画素値a,b,c以外の画素値d乃至oは、次の式（７）で計算される。
【０１１４】
d = h[d][1] x G2 + h[d][2] x G + h[d][3] x G3 + h[d][4] * G4
h = h[h][1] x G2 + h[h][2] x G + h[h][3] x G3 + h[h][4] * G4
l = h[l][1] x G2 + h[l][2] x G + h[l][3] x G3 + h[l][4] * G4
e = h[e][1] x a2 + h[e][2] x a + h[e][3] x a3 + h[e][4] * a4
i = h[i][1] x a2 + h[i][2] x a + h[i][3] x a3 + h[i][4] * a4
m = h[m][1] x a2 + h[m][2] x a + h[m][3] x a3 + h[m][4] * a4
f = h[f][1] x b2 + h[f][2] x b + h[f][3] x b3 + h[f][4] * b4
j = h[j][1] x b2 + h[j][2] x b + h[j][3] x b3 + h[j][4] * b4
n = h[n][1] x b2 + h[n][2] x b + h[n][3] x b3 + h[n][4] * b4
g = h[g][1] x c2 + h[g][2] x c + h[g][3] x c3 + h[g][4] * c4
k = h[k][1] x c2 + h[k][2] x c + h[k][3] x c3 + h[k][4] * c4
o = h[o][1] x c2 + h[o][2] x c + h[o][3] x c3 + h[o][4] * c4
・・・（７）
【０１１５】
［フィルタ係数の算出方法］
次に、６タップのフィルタ係数算出部８４によるフィルタ係数の算出方法について説明する。
【０１１６】
フィルタ係数の算出方法については、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が用いられ、フィルタ係数は、次の式（８）を最小化するようにして算出される。
【０１１９】
【数１】
2011135184.tif 000003
ここで、eは、予測誤差であり、spは分数位置の画素値a,b,cのいずれかであり、Sは、原信号であり、Pは、デコード済み参照画素値であり、x.yは、原信号の対象となるピクセル位置である。
【０１２０】
また、式（８）において、次の式（９）である。
【数２】
2011135184.tif 000004
MVxおよびspは、１回目の動き予測で検出され、MVxは、整数精度で横方向の動きベクトルであり、spは、分数位置の画素位置を表し、動きベクトルの分数部分に相当する。FilterOffsetは、フィルタのタップ数の半分から１を引いた数に相当し、ここでは、２＝６／２−１となる。hは、フィルタ係数であり、iは、0乃至5からなる。
【０１２１】
画素値a,b,cにおける最適なフィルタ係数は、eの２乗を最も小さくするhとして求めることができる。次の式（１０）に示されるように、予測誤差の２乗を、hで偏微分したものを0になるように、連立方程式が得られる。この連立方程式を解くことにより、分数位置の画素値(sp)がa,b,cのそれぞれに対して、iが0乃至5について独立したフィルタ係数を求めることができる。
【０１２２】
【数３】
2011135184.tif 000005
さらに詳しく述べると、１回目の動き探索によって各ブロックで動きベクトルは求まる。その動きベクトルで、分数位置が画素値aのブロックを入力データとして、式（１０）における次の式（１１）が決まり、画素値aの位置の補間のためのフィルタ係数ha,i,∀i∈{0,1,2,3,4,5}について解くことができる。というように、画素値a,b,cが求まる。
【０１２３】
【数４】
2011135184.tif 000006
【０１２４】
横方向のフィルタ係数が求まり、補間処理が行えるようになるので、画素値a,b,cに対して補間を行うと、図１２に示す縦方向のフィルタのようになる。図１２において、画素値a,b,cは、最適なフィルタ係数を用いて補間されており、同様に、画素値A3とA4の間, 画素値B3とB4の間, 画素値D3とD4の間, 画素値E3とE4の間, 画素値F3とF4の間も補間されている。
【０１２５】
すなわち、図１２に示すSeparable AIFの縦方向のフィルタにおいて、斜線が付された正方形は、整数位置の画素または横方向のフィルタで既に求められた分数位置の画素を表し、白色の正方形は、縦方向のフィルタで求めるべく、分数位置の画素を表している。また、正方形内のアルファベットは、その正方形が表す画素の画素値を表している。
【０１２６】
図１２に示す縦方向の場合も、横方向の場合と同様に、次の式（１２）の予測誤差を最小化するようにしてフィルタ係数が求まる。
【０１２７】
【数５】
2011135184.tif 000007
ここで、式（１３）は、符号化済み参照ピクセルまたは補間されたピクセルであり、式（１４）であり、式（１５）である。
【０１２８】
【数６】
2011135184.tif 000008
【数７】
2011135184.tif 000009
【数８】
2011135184.tif 000010
また、MVyおよびspは、１回目の動き予測で検出され、MVyは、整数精度での縦方向の動きベクトルであり、spは、分数位置の画素位置を表し、動きベクトルの分数部分に相当する。FilterOffsetは、フィルタのタップ数の半分から１を引いた数に相当し、ここでは、２＝６／２−１となる。hは、フィルタ係数であり、jは、0乃至5からなる。
【０１２９】
横方向の場合と同様に、式（１２）の予測誤差の２乗が最小になるようにフィルタ係数hが算出される。そのために、式（１６）に示すように、予測誤差の２乗をhで偏微分したものを0とおいて、連立方程式が得られる。各分数位置の画素、すなわち、画素値d,e,f,g,h,i,j,k,l,m,n,oについて、この連立方程式を解くことで、各分数位置の画素における縦の補間フィルタの最適なフィルタ係数を得ることができる。
【０１３０】
【数９】
2011135184.tif 000011
【０１３１】
次に、４タップのフィルタ係数算出部８６によるフィルタ係数の算出方法について説明する。６タップのフィルタ係数の算出方法においては、フィルタ係数の添え字であるi,jが0乃至5であったが、４タップに減らすことで、i,jが0乃至3と減少する。FilterOffsetは、フィルタのタップ数の半分から１を引いた数に相当し、ここでは、１＝４／２−１となる。
【０１３２】
すなわち、４タップの場合、６タップの場合の式（８）の代わりに、次の式（１７）が用いられ、式（１０）の代わりに、次の式（１８）が用いられる。また、４タップの場合、６タップの場合の式（１２）の代わりに、次の式（１９）が用いられ、式（１６）の代わりに、次の式（２０）が用いられる。それ以外の４タップの場合は、６タップの場合と同様である。
【０１３３】
【数１０】
2011135184.tif 000012
【数１１】
2011135184.tif 000013
【数１２】
2011135184.tif 000014
【数１３】
2011135184.tif 000015
【０１３４】
［画像符号化装置の符号化処理の説明］
次に、図１３のフローチャートを参照して、図８の画像符号化装置５１の符号化処理について説明する。
【０１３５】
ステップＳ１１において、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未使用（すなわち、FIF(Fixed interpolation filter)）の場合、セレクタ１３５からの固定フィルタ後の参照画像を選択し、動き補償処理部１３８に出力する。
【０２１４】
動き補償処理部１３８は、可逆復号部１１２からの動きベクトルを用いて、セレクタ１３７から入力されるフィルタ後の参照画像に補償処理を行い、対象ブロックの予測画像を生成し、生成した予測画像を、スイッチ１２３に出力する。
【０２１５】
制御部１３９は、スライス毎に、可逆復号部１１２からのスライスの種類の情報を含むスライスの情報、およびAIF使用フラグを取得し、処理対象のブロックが含まれるスライスの種類に基づいて、セレクタ１３５および１３６の選択を制御する。すなわち、処理対象のブロックが含まれるスライスがＰスライスの場合、セレクタ１３５および１３６に６タップフィルタ後の参照画像を選択させ、処理対象のブロックが含まれるスライスがＳスライスの場合、セレクタ１３５および１３６に４タップフィルタ後の参照画像を選択させる。
【０２１６】
また、制御部１３９は、取得したAIF使用フラグを参照し、AIFを用いるか否かに基づいて、セレクタ１３７の選択を制御する。すなわち、処理対象のブロックが含まれるスライスがAIFを用いる場合、セレクタ１３７に、セレクタ１３６からの可変フィルタ後の参照画像を選択させ、処理対象のブロックが含まれるスライスがAIFを用いない場合、セレクタ１３７に、セレクタ１３５からの固定フィルタ後の参照画像を選択させる。
【０２１７】
なお、図９の例の場合と同様に、図１７においても、固定６タップフィルタ１３１および固定４タップフィルタ１３２を別々に備える例を説明したが、固定６タップフィルタ１３１のみで構成し、スライスに応じて６タップおよび４タップのフィルタ処理のどちらかを選択的に行うようにしてもよい。同様に、可変６タップフィルタ１３３および可変４タップフィルタ１３４を別々に備える例を説明したが、可変６タップフィルタ１３３のみで構成し、スライスに応じて６タップおよび４タップのフィルタ処理のどちらかを選択的に行うようにしてもよい。
【０２１８】
［画像復号装置の復号処理の説明］
次に、図１８のフローチャートを参照して、画像復号装置１０１が実行する復号処理について説明する。
【０２１９】
ステップＳ１３１において、蓄積バッファ１１１は伝送されてきた画像を蓄積する。ステップＳ１３２において、可逆復号部１１２は、蓄積バッファ１１１から供給される圧縮画像を復号する。すなわち、図８の可逆符号化部６６により符号化されたＩピクチャ、Ｐピクチャ、並びにＢピクチャが復号される。
【０２２０】
このとき、ブロック毎に、動きベクトル情報、参照フレーム情報なども復号される。また、マクロブロック毎に、予測モード情報（イントラ予測モード、またはインター予測モードを示す情報）なども復号される。さらに、スライス毎に、スライスの種類の情報を含むスライスの情報、AIF使用フラグ情報やフィルタ係数なども復号される。
【０２２１】
ステップＳ１３３において、逆量子化部１１３は可逆復号部１１２により復号された変換係数を、図８の量子化部６５の特性に対応する特性で逆量子化する。ステップＳ１３４において逆直交変換部１１４は逆量子化部１１３により逆量子化された変換係数を、図８の直交変換部６４の特性に対応する特性で逆直交変換する。これにより図８の直交変換部６４の入力（演算部６３の出力）に対応する差分情報が復号されたことになる。
【０２２２】
ステップＳ１３５において、演算部１１５は、後述するステップＳ１４１の処理で選択され、スイッチ１２３を介して入力される予測画像を差分情報と加算する。これにより元の画像が復号される。ステップＳ１３６においてデブロックフィルタ１１６は、演算部１１５より出力された画像をフィルタリングする。これによりブロック歪みが除去される。ステップＳ１３７においてフレームメモリ１１９は、フィルタリングされた画像を記憶する。
【０２２３】
ステップＳ１３８において、可逆復号部１１２は、圧縮画像のヘッダ部の可逆復号結果に基づいて、圧縮画像がインター予測された画像であるかどうか、即ち、可逆復号結果に最適インター予測モードを表す情報が含まれているかどうかを判定する。
【０２２４】
ステップＳ１３８で圧縮画像がインター予測された画像であると判定された場合、可逆復号部１１２は、動きベクトル情報、参照フレーム情報、最適インター予測モードを表す情報、AIF使用フラグ情報、フィルタ係数などを動き補償部１２２に供給する。
【０２２５】
そして、ステップＳ１３９において、動き補償部１２２は、動き補償処理を行う。ステップＳ１３９における動き補償処理の詳細は、図１９を参照して後述される。
【０２２６】
この処理により、対象スライスがAIF使用の場合、スライスの種類に応じたタップ数の可変フィルタが用いられてフィルタ処理が行われる。対象スライスがAIF未使用の場合、スライスの種類に応じたタップ数の固定フィルタが用いられてフィルタ処理が行われる。そして、フィルタ処理後の参照画像に、動きベクトルを用いて補償処理が行われ、これにより生成された予測画像がスイッチ１２３に出力される。
【０２２７】
一方、ステップＳ１３８で圧縮画像がインター予測された画像ではないと判定された場合、すなわち、可逆復号結果に最適イントラ予測モードを表す情報が含まれている場合、可逆復号部１１２は、最適イントラ予測モードを表す情報をイントラ予測部１２１に供給する。
【０２２８】
そして、ステップＳ１４０において、イントラ予測部１２１は、可逆復号部１１２からの情報が表す最適イントラ予測モードで、フレームメモリ１１９からの画像に対してイントラ予測処理を行い、イントラ予測画像を生成する。そして、イントラ予測部１２１は、イントラ予測画像をスイッチ１２３に出力する。
【０２２９】
ステップＳ１４１において、スイッチ１２３は予測画像を選択し、演算部１１５に出力する。すなわち、イントラ予測部１２１により生成された予測画像、または動き補償部１２２により生成された予測画像が供給される。したがって、供給された予測画像が選択されて演算部１１５に出力され、上述したように、ステップＳ１３５において逆直交変換部１１４の出力と加算される。
【０２３０】
ステップＳ１４２において、画面並べ替えバッファ１１７は並べ替えを行う。すなわち画像符号化装置５１の画面並べ替えバッファ６２により符号化のために並べ替えられたフレームの順序が、元の表示の順序に並べ替えられる。
【０２３１】
ステップＳ１４３において、D/A変換部１１８は、画面並べ替えバッファ１１７からの画像をD/A変換する。この画像が図示せぬディスプレイに出力され、画像が表示される。
【０２３２】
［画像復号装置の動き補償処理の説明］
次に、図１９のフローチャートを参照して、図１８のステップＳ１３９の動き補償処理を説明する。
【０２３３】
ステップＳ１５１において、可変６タップフィルタ１３３または可変４タップフィルタ１３４は、可逆復号部１１２からのフィルタ係数を取得する。６タップのフィルタ係数が送られてきた場合は、可変６タップフィルタ１３３が取得し、４タップのフィルタ係数が送られてきた場合は、可変４タップフィルタ１３４が取得する。なお、フィルタ係数は、スライス毎に、かつ、AIF使用の場合のみ送信されてくるので、それ以外の場合は、ステップＳ１５１の処理はスキップされる。
【０２３４】
フレームメモリ１１９からの参照画像は、制御部１３９の制御のもと、固定６タップフィルタ１３１、固定４タップフィルタ１３２、可変６タップフィルタ１３３、および可変４タップフィルタ１３４に入力される。
【０２３５】
ステップＳ１５２において、固定６タップフィルタ１３１、固定４タップフィルタ１３２、可変６タップフィルタ１３３、および可変４タップフィルタ１３４は、フレームメモリ１１９からの参照画像にフィルタ処理を行う。
【０２３６】
すなわち、固定６タップフィルタ１３１は、フレームメモリ１１９からの参照画像に対して、フィルタ処理を施し、固定フィルタ処理後の参照画像を、セレクタ１３５に出力する。固定４タップフィルタ１３２は、フレームメモリ１１９からの参照画像に対して、フィルタ処理を施し、固定フィルタ処理後の参照画像を、セレクタ１３５に出力する。
【０２３７】
可変６タップフィルタ１３３は、フレームメモリ１１９からの参照画像に対して、可逆復号部１１２から供給された６タップのフィルタ係数を用いてフィルタ処理を施し、可変フィルタ処理後の参照画像をセレクタ１３６に出力する。可変４タップフィルタ１３４は、フレームメモリ１１９からの参照画像に対して、可逆復号部１１２から供給された４タップのフィルタ係数の補間フィルタを用いてフィルタ処理を施し、可変フィルタ処理後の参照画像をセレクタ１３６に出力する。
【０２３８】
制御部１３９は、ステップＳ１５３において、可逆復号部１１２から、スライスの種類の情報およびAIF使用フラグ情報を取得する。なお、これらの情報は、スライス毎に送信されてきて取得されるので、それ以外の場合、この処理はスキップされる。
【０２３９】
ステップＳ１５４において、制御部１３９は、処理対象のスライスがＢスライスであるか否かを判定し、処理対象のスライスがＢスライスであると判定した場合、処理は、ステップＳ１５５に進む。
【０２４０】
ステップＳ１５５において、セレクタ１３５は、制御部１３９からの制御のもと、固定４タップフィルタ１３２からの固定フィルタ後の参照画像を選択し、セレクタ１３７に出力する。また、セレクタ１３６は、制御部１３９からの制御のもと、可変４タップフィルタ１３４からの可変フィルタ後の参照画像を選択し、セレクタ１３７に出力する。
【０２４１】
一方、ステップＳ１５４において、処理対象のスライスがＢスライスではない、すなわち、Ｐスライスであると判定した場合、処理は、ステップＳ１５６に進む。
【０２４２】
ステップＳ１５６において、セレクタ１３５は、制御部１３９からの制御のもと、処理対象のスライスがＰスライスの場合、固定６タップフィルタ１３１からの固定フィルタ後の参照画像を選択し、セレクタ１３７に出力する。また、セレクタ１３６は、制御部１３９からの制御のもと、処理対象のスライスがＰスライスの場合、可変６タップフィルタ１３３からの可変フィルタ後の参照画像を選択し、セレクタ１３７に出力する。
【０２４３】
ステップＳ１５７において、制御部１３９は、可逆復号部１１２からのAIF使用フラグ情報を参照し、処理対象のスライスがAIFを用いるか否かを判定し、処理対象のスライスがAIFを用いると判定した場合、処理は、ステップＳ１５８に進む。ステップＳ１５８において、セレクタ１３７は、制御部１３９からの制御のもと、セレクタ１３６からの可変フィルタ後の参照画像を選択し、動き補償処理部１３８に出力する。
【０２４４】
ステップＳ１５７において、処理対象のスライスがAIFを用いないと判定された場合、処理は、ステップＳ１５９に進む。ステップＳ１５９において、セレクタ１３７は、制御部１３９からの制御のもと、セレクタ１３５からの固定フィルタ後の参照画像を選択し、動き補償処理部１３８に出力する。
【０２４５】
ステップＳ１６０において、動き補償処理部１３８は、可逆復号部１１２から、対象ブロックの動きベクトル情報と、対象ブロックが含まれるマクロブロックのインター予測モード情報を取得する。
【０２４６】
ステップＳ１６１において、動き補償処理部１３８は、取得した動きベクトルを用いて、セレクタ１３７により選択された参照画像に補償を行い、予測画像を生成し、生成した予測画像をスイッチ１２３に出力する。
【０２４７】
以上のように、画像符号化装置５１および画像復号装置１０１においては、スライスの種類に応じたタップ数のAIFフィルタでフィルタ処理が行われる。
【０２４８】
これにより、画像符号化装置５１だけでなく、画像復号装置１０１においても、フレームメモリから読み込む画素数が少なくなるので、フレームメモリの使用帯域を小さくすることができる。
【０２４９】
なお、上記説明においては、フィルタのタップ数を、Ｐスライスの場合、６タップとし、Ｓスライスの場合、４タップとしたが、Ｐスライスのタップ数よりもＳスライスのタップ数が少なければ、４タップに限定されない。例えば、Ｓスライスのタップ数が、２，３，５タップであってもよい。
【０２５０】
また、上記説明においては、フィルタのタップ数を、スライスの種類に応じて変える例を説明したが、Ｂスライスであって、双予測モードの場合にフィルタのタップ数を変えるとしてもよい。
【０２５１】
以上においては、Separable AIFの補間フィルタを例に説明してきたが、フィルタの構造は、Separable 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６１８や記録メディア６３３の記憶領域をより効率よく使用することができる。
【０３８５】
なお、コントローラ６２１が行う復号処理に画像復号装置１０１の復号方法を適用するようにしてもよい。同様に、コントローラ６２１が行う符号化処理に画像符号化装置５１の符号化方法を適用するようにしてもよい。
【０３８６】
また、カメラ６００が撮像する画像データは動画像であってもよいし、静止画像であってもよい。
【０３８７】
もちろん、画像符号化装置５１および画像復号装置１０１は、上述した装置以外の装置やシステムにも適用可能である。
【符号の説明】
【０３８８】
５１  画像符号化装置，  ６６  可逆符号化部，  ７５  動き予測・補償部，    ８１  ６タップ固定フィルタ，  ８２  ４タップ固定フィルタ，  ８３  ６タップ可変フィルタ，  ８４  ６タップのフィルタ係数算出部，  ８５  ４タップ可変フィルタ，  ８６  ４タップのフィルタ係数算出部，  ８９  動き予測部，  ９０  動き補償部，  ９２  制御部，  １０１  画像復号装置，  １１２  可逆復号部，  １２２  動き補償部，  １３１  固定６タップフィルタ，  １３２  固定４タップフィルタ，  １３３  可変６タップフィルタ，  １３４  可変４タップフィルタ，  １３８  動き補償処理部，  １３９  制御部
【図１】
2011135184.tif 000016
【図２】
2011135184.tif 000017
【図３】
2011135184.tif 000018
【図４】
2011135184.tif 000019
【図５】
2011135184.tif 000020
【図６】
2011135184.tif 000021
【図７】
2011135184.tif 000022
【図８】
2011135184.tif 000023
【図９】
2011135184.tif 000024
【図１０】
2011135184.tif 000025
【図１１】
2011135184.tif 000026
【図１２】
2011135184.tif 000027
【図１３】
2011135184.tif 000028
【図１４】
2011135184.tif 000029
【図１５】
2011135184.tif 000030
【図１６】
2011135184.tif 000031
【図１７】
2011135184.tif 000032
【図１８】
2011135184.tif 000033
【図１９】
2011135184.tif 000034
【図２０】
2011135184.tif 000035
【図２１】
2011135184.tif 000036
【図２２】
2011135184.tif 000037
【図２３】
2011135184.tif 000038
【図２４】
2011135184.tif 000039
【図２５】
2011135184.tif 000040