本発明は、一実施形態のために示された添付図面を参照して以下の詳細な記述を考慮することによって容易に理解することができる。引き続いて、添付図面を参照しながら本発明の実施形態を説明する。可能な場合には、同一の部分には同一の符号を付して、重複する説明を省略する。
<第1の実施形態>
図1は、本発明の実施形態による画像予測符号化方法を実行することができる画像予測符号化装置100を示すブロック図である。この画像予測符号化装置100は、入力端子101、ブロック分割器102(領域分割手段)、予測信号生成器103(予測信号生成手段)、フレームメモリ104、減算器105(残差信号生成手段)、変換器106(符号化手段)、量子化器107(符号化手段)、逆量子化器108、逆変換器109、加算器110、エントロピー符号化器111、および出力端子112を含んで構成されている。変換器106と量子化器107とは符号化手段として機能する。
以上のように構成された画像予測符号化装置100について、以下その構成について説明する。
入力端子101は、複数枚の画像からなる動画像の信号を入力する端子である。
ブロック分割器102は、入力端子101から入力された動画像の信号であって、符号化の対象となる画像を複数の領域に分割する。本発明による実施形態では、8x8の画素からなるブロックに分割するが、それ以外のブロックの大きさまたは形に分割してもよい。
予測信号生成器103は、符号化処理の対象となる対象領域(対象ブロック)に対して予測信号を生成する部分である。この予測信号生成器103の具体的な処理については後述する。
減算器105は、ラインL102を経由して入力されたブロック分割器102で分割されて得られた対象領域で示される画素信号から、ラインL103を経由して入力された予測信号生成器103にて生成された予測信号を減算して、残差信号を生成する部分である。減算器105は、減算して得た残差信号を、ラインL105を経由して変換器106に出力する。
変換器106は、減算して得られた残差信号を離散コサイン変換する部分である。また、量子化器107は、変換器106により離散コサイン変換された変換係数を量子化する部分である。エントロピー符号化器111は、量子化器107により量子化された変換係数を圧縮符号化し、圧縮符号化された圧縮データを、ラインL111を経由で出力する。出力端子112は、エントロピー符号化器111から入力した情報である圧縮データを外部に出力する。
逆量子化器108は、量子化された変換係数を逆量子化し、逆変換器109は逆離散コサイン変換し、符号化された残差信号を復元する。加算器110は、復元された残差信号とラインL103から送られた予測信号とを加算し、対象ブロックの信号を再生して、再生画像信号を得て、この再生画像信号をフレームメモリ104に記憶する。本実施形態では変換器106と逆変換器109とを用いているが、これらの変換器に代わるほかの変換処理を用いてもよく、変換器106と逆変換器109とは必ずしも必須ではない。このように、後続の対象領域に対する画面内予測もしくは画面間予測を行うために、圧縮された対象領域の画素信号は逆処理にて復元され、フレームメモリ104に記憶される。
つぎに、予測信号生成器103について説明する。予測信号生成器103は、符号化処理の対象となる対象領域(以下、対象ブロックと称する)に対する予測信号を生成する部分である。本実施形態では、3種類の予測方法が用いられる。すなわち、予測信号生成器103は、後述する画面間予測方法と画面内予測方法との少なくともいずれか一方あるいは両方を用いて予測信号を生成する。
本実施形態における予測信号生成器103の処理について説明する。図2は、本実施形態による画像予測符号化装置100に用いられる予測信号生成器103を示すブロック図であり、テンプレートマッチング器201と座標情報用メモリ202と候補予測信号の組み合わせ決定器203と予測領域取得器204と重み付け器205と加算器206とを含んで構成されている。
テンプレートマッチング器201では、ラインL104経由でフレームメモリ104から過去の処理で既に再生された画像信号(再生画像信号)が入力され、対象領域の対象画素信号に対する予測信号の候補(候補予測信号)を後述するテンプレートマッチングにより複数探索し、探索した候補予測信号にアクセスするための座標情報をラインL201a経由で座標情報用メモリ202に出力する。同時に、対象領域と各候補予測信号との間の関係を示す差分値データ(後述する絶対誤差値の和(SAD(sumof absolute difference)に相当)をラインL201b経由で候補予測信号の組み合わせ決定器203に出力する。
候補予測信号の組み合わせ決定器203では、ラインL201b経由で入力された差分値データを利用して、候補予測信号の組み合わせを複数設定する。そして、ラインL202a経由で座標情報用メモリ202から入力される座標情報に従ってラインL104経由でフレームメモリから入力される画素信号を用いて、候補予測信号の組み合わせを決定し、候補予測信号の組み合わせ情報としてラインL203経由で予測領域取得器204に出力する。
予測領域取得器204は、ラインL203経由で入力された候補予測信号の組み合わせ情報に従って、この組み合わせに属する候補予測信号の座標情報をラインL202b経由で取得する。そして、予測領域取得器204は、ラインL104経由でフレームメモリ104から、取得した座標情報に対応する候補予測信号を取得し、随時重み付け器205に出力する。重み付け器205は、ラインL204経由で入力された各候補予測信号に重み係数を掛け、ラインL205経由で加算器206に出力する。加算器206は重み付けされた候補予測信号を順次加算し、予測信号としてラインL103経由で図1の減算器105に出力する。なお、重み付け器の動作については、例えば、候補予測信号の数がNのとき1/Nを各候補予測信号に掛ける手法などがあるが、他の手法でもよい。
さらに、テンプレートマッチング器201、候補予測信号の組み合わせ決定器203、予測領域取得器204の各構成について詳細に説明する。まず、テンプレートマッチング器201における処理内容について説明する。テンプレートマッチング器201は、ラインL104経由でフレームメモリ104に記憶されている再生画像信号にアクセスし、マッチング処理を行なう。ここで、このマッチング処理について説明する。図3と図4は、本発明の実施形態によるテンプレートマッチング処理を説明するための模式図である。ここでは対象ブロック402に対する候補予測信号を生成する処理について説明する。
まず、対象ブロックに対し予め決められた方法で「対象隣接領域」(テンプレートともいう)と「探索領域」とを設定する。図3では、対象ブロック402に接しており、それより前に再生され同じ画面内にある再生画像の一部(全部でもよい)が探索領域401として設定されている。ここでは、対象ブロック402を、8x8の画素からなる符号化対象ブロックを分割した4x4画素の小ブロックとしているが、それ以外のブロックの大きさまたは形に分割してもよいし、分割しなくてもよい。
さらに、図4では、対象ブロック402と異なる画面411で示される再生画像の一部が探索領域417として設定されている。また、対象ブロック402と異なる複数の画面にそれぞれ探索領域を設けても良い。「対象隣接領域」としては対象ブロック402に隣接する既再生の画素群(逆L文字の領域)403を用いる。なお、本実施形態では、2つの画面(図3と図4)内に探索領域を設定しているが、対象ブロックと同じ画面内のみに設定しても良いし(図3)、対象ブロックと異なる画面内のみに設定しても良い(図4)。
図3に示すように探索領域401と対象ブロック402とは接する必要はなく、探索領域401は対象ブロック402と全く接していなくてもよい。また、図4に示すように対象ブロックと異なる一の画面(画面411のみ)において探索領域を設定することに限る必要はなく、対象ブロックと異なる複数の画面(参照画像、再生済みであれば表示順で未来のフレームを含んでも良い)にそれぞれ探索領域を設定してもよい。
また、対象隣接領域403については、対象ブロック402と少なくとも1画素でも接していればよい。ここでは、対象隣接領域の形状は、逆L文字としているが、これに限定されない。よって、対象隣接領域は対象ブロック402の周囲の再生済み画素で構成されていれば、形と画素数は予め定めておけば任意でよく、シーケンス単位あるいはフレーム単位やブロック単位でテンプレートの形状とサイズ(画素数)を符号化してもよい。
テンプレートマッチング器201は、探索領域401と探索領域417あるいはいずれか一方の探索領域において、対象隣接領域403と同じ形状を有する画素群との間で、対応する画素間の絶対誤差値の和(SAD値)を求め、SAD値が小さいM個の領域を検索し、それらを「予測隣接領域」とする。検索精度は整数画素単位でもよいし、1/2画素、1/4画素等の小数精度の画素を生成し、小数画素精度で探索を行なってもよい。Mの値は予め設定しておけば任意の値でよい。図3および図4に示すように、M=6であり、予測隣接領域404a、404b、404c、414a、414bおよび414cが探索されている。また、探索する予測隣接領域の数を決めずにSAD値がある閾値より小さい領域を探索してMの値を決めても良いし、閾値より小さい領域の数と設定した数から小さい方をMの値としてもよい。このとき閾値は、SAD値そのものに対してではなく、最小のSAD値と2番目以降のSAD値との差分値に対して適用してもよい。後者では、テンプレートマッチング器201は、最小のSAD値が大きい場合でも閾値を変更せずに多くの予測隣接領域を検索できる。Mの上限値や閾値は、予め設定しておいても良いが、シーケンス単位あるいはフレーム単位やブロック単位で適切な値を符号化してもよい。
予測隣接領域404a、404b、404c、414a、414bおよび414cに接している領域405a、405b、405c、415a、415bおよび415cが対象ブロック402に対する予測領域に決定され、予測領域内の画素信号が候補予測信号に決定される。なお、ここでは、予測隣接領域と候補予測信号を示す予測領域との位置関係は、対象領域と対象隣接領域と同じ関係にあるが、そうでなくてもよい。本実施形態では、各予測隣接領域(および予測領域)をフレームメモリ104から取得するためのアクセス情報として、対象隣接領域(および対象領域)と予測隣接領域(および予測領域)との間の差分座標406a、406b、406c、416a、416bおよび416cと各予測隣接領域(および予測領域)が属する画面(参照画像)の識別番号が座標情報として座標情報用メモリ202に記憶される。
以上の通りの動作を行うためのテンプレートマッチング器201の構成について説明する。テンプレートマッチング器201は、対象隣接領域取得器211と予測隣接領域取得器212と比較器213とスイッチ214とを含んで構成される。まず、対象隣接領域取得器211は、フレームメモリ104からラインL104を経由して対象隣接領域403を取得する。
予測隣接領域取得器212は、ラインL104を経由してフレームメモリ104内の探索領域から対象隣接領域と同じ形状の領域の画素信号を取得し、ラインL211経由で対象隣接領域取得器211から得られる対象隣接領域の画素信号(隣接画素信号)と間でSAD値を算出する。比較器213は、算出したSAD値を、ラインL212b経由で入力し、これまで取得されたSAD値のうちでM番目に小さいSAD値と比較する。そして、比較器213が入力されたSAD値の方が小さいと判断する場合には、比較器213は、そのM番目以内に入ったSAD値を一時的に記憶し、M+1番目となったSAD値を消去する。なお、比較器213は、処理開始時にはSAD値の初期値として通常のSAD値と比較して十分大きな値を初期値として設定する。
この処理を行うとともに、予測隣接領域取得器212は、予測隣接領域(および予測領域)にアクセスするための情報として、比較器213によるスイッチ214に対する制御によりラインL212a経由で座標情報を座標情報用メモリ202に出力する。この際、SAD値がM+1番目となった座標情報は不要となるため、座標情報用メモリ202において上書きされて記憶されても良い。予測隣接領域取得器212による探索領域内を探索が終了したとき、比較器213は、一時的に記憶したM個のSAD値をラインL201bを経由して、候補予測信号の組み合わせ決定器203に出力する。
つぎに、候補予測信号の組み合わせ決定器203の動作を説明する。候補予測信号の組み合わせ決定器203は、組み合わせ設定器231、予測隣接領域取得器232、対象隣接領域取得器233、重み付け器234、加算器235、および比較・選択器236を含んで構成される。
組み合わせ設定器231は、ラインL201bを経由して入力されたM個のSAD値に基づいて、複数の予測隣接領域の組み合わせを設定する。予測隣接領域の組み合わせ決定器203における処理を図6における説明で詳述するように、入力されたSAD値の小さいN個の予測隣接領域を1つの組み合わせとして設定する。Nの値は、Mより小さい2の乗数であり、M=6のとき、N=1、2、4となる3つの組み合わせを作る。
このように、本発明の候補予測信号の組み合わせ処理を利用することにより、各対象ブロックに適切な候補予測信号の平滑化の強さ、つまり平均化する予測候補信号の数を決定することが可能となる。言い換えれば、隣接画素信号との間の絶対誤差値である差分SAD値が小さいN個の予測隣接領域の画素信号を平均化した対象信号と隣接画素信号との間の差分SAD値が最も小さいNを定めることにより、探索したM個の候補予測信号から、予測信号の生成に適した候補予測信号を付加情報なしで選別できる。なお、Nの値を2の乗数としているのは、信号の平均化処理を加算とシフト演算のみにて行なうことを考慮したためである。
また、M値とN値およびN個の予測信号領域の組み合わせは、これに限定されない。1つの組み合わせに含まれる予測隣接領域の数は1〜M個から任意に設定できる。例えば、Mより小さいN個の予測隣接領域にて構成される組み合わせを作る場合、M個からN個を選び全ての組み合わせを設定することも可能である。この際、Nの値は固定でもよいし、1〜Mの間で2個以上を選択して組み合わせを設定しもよい。但し、符号化器である画像予測符号化装置100と復号器である後述する画像予測復号装置300にて同じ予測隣接領域の組み合わせを自動選択させるためには、両者の組み合わせの設定方法を一致させておく必要がある。
予測隣接領域取得器232は、予測隣接領域の組み合わせ情報がラインL231a経由で1つ入力されると、その組み合わせに含まれる予測隣接領域に対する座標情報をラインL202a経由で座標情報用メモリ202から取得する。そして、予測隣接領域取得器232は、座標情報に対応する予測隣接領域の画素信号をラインL104経由で取得し、随時重み付け器234に出力する。
重み付け器234は、ラインL232経由で入力された各予測隣接領域の画素信号に重み係数を掛け、ラインL234経由で加算器235に出力する。
加算器235は、重み付けされた予測隣接領域の画素信号を累積加算して積算することで、対象隣接領域の画素信号(隣接画素信号)と比較するための比較信号を生成し、生成された比較信号をラインL235経由で比較・選択器236に出力する。なお、重み付け器234の動作については、例えば、予測隣接領域の数がNのとき1/Nを各予測隣接領域の画素信号に掛ける手法などがあるが、他の手法でもよい。例えば、N個の予測隣接領域の画素信号と隣接画素信号の差分値(絶対誤差和、二乗誤差和、分散など)を計算し、その比率に基づいて各予測隣接領域への重み付け係数を決める方法が考えられる。
ここで、重み付け器205と重み付け器234の重み付け方法を同じにすることにより、予測隣接領域を用いて、候補予測信号(予測領域の画素信号)の適切な組み合わせが推測できる。予測隣接領域は符号化器と復号器が共有できるため、本手法を用いた復号器であり、後述する画像予測復号装置300は、符号化器である画像予測符号化装置100にて選択した候補予測信号の組み合わせを付加情報なしで取得できるという効果がある。なお、重み付け器205と重み付け器234の重み付け方法は必ずしも同じとする必要はない。例えば、演算量削減のためには、重み付け器234には単純な重み付け処理を適用し、重み付け器205に、局所的な信号の特徴に応じた適応的な重み付け処理を適用するという方法も有効である。
対象隣接領域取得器233は、フレームメモリ104からラインL104を経由して対象隣接領域の画素信号(隣接画素信号)を取得し、比較・選択器236に出力する。
比較・選択器236は、複数の予測隣接領域の組み合わせに対応する比較信号と隣接画素信号と間でSAD値を算出し、その値が最小となる対象隣接領域の組み合わせを、候補予測信号の組み合わせとして選択する。選択された候補予測信号の組み合わせは、候補予測信号の組み合わせ情報としてラインL203経由で予測領域取得器204に出力される。
このように、本実施形態によれば、対象ブロック毎に、付加情報なしで、複数の候補予測信号から予測信号生成に有効な候補予測信号の組み合わせを選択することが可能となる。
図5は、本実施形態によるテンプレートマッチング器201にて、対象領域(対象ブロック)に画素信号(対象画素信号)に対する複数(M個)の候補予測信号を探索し、探索した候補予測信号にアクセスするための座標情報を取得する方法を示すフローチャートである。まず、対象隣接領域取得器211では、対象ブロックに対する対象隣接領域(テンプレート信号)がフレームメモリ104から取得される(S502)。
つぎに、テンプレートマッチング器201は、M個の候補予測信号を選択するための閾値を十分大きな値に初期化する(S503)。予測隣接領域取得器212では、対象隣接領域と探索領域内の対象隣接領域と同じ形状の画素群と差分絶対値和(SAD)が求められる(S504)。テンプレートマッチング器201内の比較器213によりSADと閾値とが比較され(S505)、SAD値が閾値より小さいと判断された場合、S506に進み、そうでないと判断された場合、S508に進む。
テンプレートマッチング器201内の比較器213では、求めたSAD値と、以前のSAD値と比較し、求めたSAD値が小さい順でM番までに含まれるとき、探索した画素群を候補予測信号(および予測隣接領域の画素信号)に追加し、候補信号を更新する。本実施形態では、候補予測信号(および予測隣接領域の画素信号)のかわりに、候補予測信号(および予測隣接領域の画素信号)にアクセスするための時空間の座標情報(空間位置と探索した画素群が含まれる画面の識別番号)を、スイッチ214による切換制御に基づいて座標情報用メモリ202に記憶することにより、座標情報を更新する(S506)。同時に、テンプレートマッチング器201は、閾値をM番目に小さいSAD値に更新する(S507)。
その後、予測隣接領域取得器212により、探索領域が全て探索済みであるか否か確認される(S508)。全て探索済みではないと判断された場合、S504に戻り、予測隣接領域取得器212により、対象隣接領域と探索領域内の対象隣接領域と同じ形状のつぎの画素群と差分絶対値和(SAD)が求められる。
全部探索済みとなった時点で、ひとつの対象ブロックのテンプレートマッチング処理が終了となる(S509)
このようにテンプレートマッチング器201による処理により、対象隣接領域における画素信号と相関の高い画素信号を含んだ上位M個の予測隣接領域を特定することができる。
つぎに、候補予測信号の組み合わせ決定器203の処理について図を用いて説明する。図6は、本実施形態による候補予測信号の組み合わせ決定器203における、複数の候補予測信号の平滑化(加重平均)にて予測信号の生成に適したN個の候補予測信号の組み合わせを選択する方法を示すフローチャートである。まず、組み合わせ決定器203の組み合わせ設定器231は、候補予測信号の数Nを1に設定する(S602)。つぎに、対象隣接領域取得器233では、対象ブロックに対する対象隣接領域(テンプレート信号)がフレームメモリ104から取得される(S603)。
そして、予測隣接領域取得器232にて、組み合わせ設定器231により設定された組み合わせに属するN個の予測隣接領域が、ラインL104を経由して取得される。すなわち、予測隣接領域取得器232は、対象ブロックの画素信号と当該対象ブロックに対する対象隣接領域の隣接画素信号との差分値であるSAD値が小さいN個の予測隣接領域に対応する座標情報を座標情報用メモリ202から取得する。そして、取得した座標情報に対応するN個の予測隣接領域をフレームメモリ104から取得する(S604)。
その後、重み付け器234と加算器235とにおいて、N個の予測隣接領域の画素信号の平均化(加重平均でもよい)により比較信号を生成し(S605)、比較・選択器236にて、生成した比較信号と隣接画素信号との差分値であるSAD値を算出する(S606)。同時に、比較・選択器236では、算出したSAD値をそれまでの最小のSAD値と比較し(S607)、SAD値が最小値と判断された場合、S608に進み、そうでないと判断された場合、S609に進む。なお、S607では、算出したSAD値とそれまでの最小のSAD値が同じ場合には、S609に進むが、S608に進むようにしてもよい。
算出したSAD値が、それまでの最小のSAD値である場合、比較・選択器236にて、S604にて取得した座標情報の組み合わせを記憶する(S608)。
ここで、組み合わせ決定器203は、Nの値を2倍に更新する(S609)。そして、更新したNとMの大きさを比較し(S610)、更新したNの値がMより小さい場合、S604に戻り、更新したNの値がMより大きい場合、S608にて記憶した座標情報の組み合わせを候補予測信号の組み合わせとして決定し、候補予測信号の組み合わせ選択処理を終了する(S611)。
このように、本実施形態の候補予測信号の組み合わせ処理を利用することにより、各対象ブロックに適切な候補予測信号の平滑化の強さ、つまり平均化する予測候補信号の数を決定することが可能となる。言い換えれば、隣接画素信号との間の差分値であるSAD値が小さいN個の予測隣接領域の画素信号を平均化した対象信号と隣接画素信号との間の差分SAD値が最も小さいNを定めることにより、探索したM個の候補予測信号から、予測信号の生成に適した候補予測信号を付加情報なしで選別できる。
なお、Nの値を2の乗数としているのは、信号の平均化処理を加算とシフト演算のみにて行なうことを考慮したためである。本実施形態においては、Nの値は2の乗数に限定されることはない。また、複数の予測隣接領域の組み合わせを設定する方法は、図6の方法には限定されない。1つの組み合わせに含まれる予測隣接領域の数は1〜M個から任意に設定できる。例えば、Mより小さいN個の予測隣接領域にて構成される組み合わせを作る場合、M個からN個を選ぶ、全ての組み合わせを設定することも可能である。この際、Nの値は固定でもよいし、1〜Mの間で2個以上を選択して組み合わせを設定しもよい。また、符号化器と復号器にて同じ予測隣接領域の組み合わせを自動選択させるためには、両者の組み合わせの設定方法を一致させておく必要がある。
図7は、本実施形態による複数候補予測信号の平滑化(加重平均)にて予測信号の生成方法を示すフローチャートである。
予測領域取得器204では、選択された座標情報に従って、フレームメモリ104から対象ブロックに対応する候補予測信号を1つ以上取得する(S702)。そして、重み付け器205と加算器206とにおいて、取得した候補予測信号を重み付け平均することにより、対象ブロックの予測信号が生成される(S703)。これで、ひとつの対象ブロックに対する処理が終了となる(S704)。
図8は、本実施形態による画像予測符号化装置100における画像予測符号化方法を示すフローチャートである。まず、図2の予測信号生成器103にて、対象ブロックの予測信号を生成する(S102)。つぎに、対象ブロックの信号と対象ブロックの予測信号との差分を示す残差信号が、変換器106、量子化器107、およびエントロピー符号化器111により符号化される(S103)。そして、符号化された残差信号が出力端子112を介して出力される(S105)。
その後、後続の対象ブロックを予測符号化するために、符号化された残差信号は逆量子化器108および逆変換器109により復号される。そして、復号された残差信号に加算器110により予測信号が加算され、対象ブロックの信号が再生され、フレームメモリ104に参照画像として記憶される(S106)。そして、全ての対象ブロックの処理が完了していない場合にはS102に戻り、つぎの対象ブロックに対する処理が行われ、完了している場合には、処理を終了する(S107)。
以上説明したとおり、本実施形態の画像予測符号化装置100においては、付加情報を用いることなく複数の予測信号を用いて平滑化した予測信号とすることができる。
つぎに、本実施形態における画像予測復号方法について説明する。図9は、本実施形態による画像予測復号装置300を示すブロック図である。この画像予測復号装置300は、入力端子301、エントロピー復号器302(データ復号手段)、逆量子化器303(残差信号復元手段)、逆変換器304(残差信号復元手段)、加算器305(再生画像信号生成手段)、出力端子306、フレームメモリ307、予測信号生成器308(予測信号生成手段)である。逆量子化器303と逆変換器304による残差信号復元手段は、それ以外のものを用いてもよい。また逆変換器304はなくてもよい。以下、各構成について説明する。
入力端子301は、上述した画像予測符号化方法で圧縮符号化された圧縮データを入力する。この圧縮データには、画像を複数のブロックに分割された対象ブロックを予測し符号化された残差信号が含まれている。
エントロピー復号器302は、入力端子301で入力した圧縮データをエントロピー復号することにより、対象ブロックの残差信号の符号化データを復号する。
逆量子化器303は、復号された対象ブロックの残差信号をラインL302経由で入力し、逆量子化する。逆変換器304は、逆量子化したデータを逆離散コサイン変換する。逆量子化器303および逆変換器304は、それぞれ逆量子化、逆離散コサイン変換して得た信号を差分信号(再生残差信号)として出力する。
予測信号生成器308は、基本的に図2に示した構成と同じ構成またはそれに相当する機能を持ち、図2の予測信号生成器103と同一の処理により予測信号を生成する。予測信号生成器308は、フレームメモリ307に記憶されている再生済み信号のみから予測信号を生成するため、フレームメモリ307と図1におけるフレームメモリ104への入力データを同じ方法で管理することにより、図1の予測信号生成器103と同じ予測信号が生成できる。この予測信号生成器308の構成の詳細については、図2にて説明済みのため割愛する。このように動作する予測信号生成器308は、生成した予測信号をラインL308経由で加算器305に出力する。
加算器305は、予測信号生成器308で生成された予測信号を、逆量子化器303および逆変換器304により復元された差分信号(再生残差信号)に加算して、対象ブロックの再生画像信号をラインL305経由で出力端子306およびフレームメモリ307に出力する。そして、出力端子306は、外部に(例えばディスプレイ)出力する。
フレームメモリ307は、つぎの復号処理のための参照用の再生画像として、加算器305から出力された再生画像を参照画像として記憶する。この際、図1の画像予測符号化装置100と同様の方法で再生画像を管理する。
つぎに、図10を用いて本実施形態による画像予測復号装置300における画像予測復号方法を説明する。まず、入力端子301を介して、圧縮された圧縮データは入力される(S302)。そして、エントロピー復号器302において、圧縮データに対しエントロピー復号が行われ、量子化された変換係数が抽出される(S303)。ここで予測信号生成器308にて予測信号が生成される(S304)。S304の処理は、基本的に図8の処理S102と同じであり、図5〜7の処理が実施される。
一方、量子化された変換係数は、逆量子化器303において量子化パラメータを用いて逆量子化され、逆変換器304において逆変換が行われ、再生差分信号が生成される(S305)。そして、生成された予測信号と再生差分信号とが加算され再生信号が生成され、再生信号はつぎの対象ブロックを再生するためにフレームメモリに記憶される(S306)。つぎの圧縮データがある場合には、再度このプロセスを繰り返し(S307)、全てのデータは最後まで処理される(S308)。なお、必要に応じてS302に戻り、圧縮データを取り込むようにしても良い。
本実施形態における画像予測符号化方法および画像予測復号方法を、プログラムとして記録媒体に記憶して提供することもできる。記録媒体としては、フロッピーディスク(登録商標)、CD−ROM、DVD、あるいはROM等の記録媒体、あるいは半導体メモリ等が例示される。
図11は、画像予測符号化方法を実行することができるプログラムのモジュールを示すブロック図である。画像予測符号化プログラムP100は、ブロック分割モジュールP102、予測信号生成モジュールP103、記憶モジュールP104、減算モジュールP105、変換モジュールP106、量子化モジュールP107、逆量子化モジュールP108、逆変換モジュールP109、加算モジュールP110、エントロピー符号化モジュールP111を含んで構成されている。なお、予測信号生成モジュールP103は、図12に示すように、テンプレートマッチングモジュールP201、候補予測信号の組み合わせ決定モジュールP202および予測信号合成モジュールP203を含んで構成されている。
上記各モジュールが実行されることにより実現される機能は、上述した画像予測符号化装置100の各構成要素と同じである。すなわち、画像予測符号化プログラムP100の各モジュールの機能は、ブロック分割器102、予測信号生成器103、フレームメモリ104、減算器105、変換器106、量子化器107、逆量子化器108、逆変換器109、加算器110、エントロピー符号化器111の機能と同様であり、予測信号生成モジュールP103の各モジュールの機能は、テンプレートマッチング器201、候補予測信号の組み合わせ決定器203、信号合成のための予測領域取得器204〜加算器206の機能と同様である。
また、図13は、画像予測復号方法を実行することができるプログラムのモジュールを示すブロック図である。画像予測復号プログラムP300は、エントロピー復号モジュールP302、逆量子化モジュールP303、逆変換モジュールP304、加算モジュールP305、記憶モジュールP307、予測信号生成モジュールP308を含んで構成されている。
上記各モジュールが実行されることにより実現される機能は、上述した画像予測復号装置300の各構成要素と同じである。すなわち、画像予測復号プログラムP300の各モジュールの機能は、エントロピー復号器302、逆量子化器303、逆変換器304、加算器305、フレームメモリ307の機能と同様である。なお、予測信号生成モジュールP308は、画像予測符号化プログラムP100における予測信号生成モジュールP103と同等の機能を有するものであって、テンプレートマッチング器201、候補予測信号の組み合わせ決定器203、信号合成のための予測領域取得器204〜加算器206の機能を備えている。
このように構成された画像予測符号化プログラムP100または画像予測復号プログラムP300は、記録媒体10に記憶され、後述するコンピュータで実行される。
図16は、記録媒体に記録されたプログラムを実行するためのコンピュータのハードウェア構成を示す図であり、図17は、記録媒体に記憶されたプログラムを実行するためのコンピュータの斜視図である。コンピュータとして、CPUを具備しソフトウエアによる処理や制御を行なうDVDプレーヤ、セットトップボックス、携帯電話などを含む。
図16に示すように、コンピュータ30は、フロッピーディスクドライブ装置、CD−ROMドライブ装置、DVDドライブ装置等の読取装置12と、オペレーティングシステムを常駐させた作業用メモリ(RAM)14と、記録媒体10に記憶されたプログラムを記憶するメモリ16と、ディスプレイといった表示装置18と、入力装置であるマウス20およびキーボード22と、データ等の送受を行うための通信装置24と、プログラムの実行を制御するCPU26とを備えている。コンピュータ30は、記録媒体10が読取装置12に挿入されると、読取装置12から記録媒体10に記憶された画像予測符号化プログラムP100または画像予測復号プログラムP300にアクセス可能になり、画像予測符号化プログラムP100または画像予測復号プログラムP300によって、本実施形態の画像予測符号化装置100または画像予測復号装置300として動作することが可能になる。
図17に示すように、画像予測符号化プログラムP100もしくは画像予測復号プログラムP300は、搬送波に重畳されたコンピュータデータ信号40としてネットワークを介して提供されるものであってもよい。この場合、コンピュータ30は、通信装置24によって受信した画像予測符号化プログラムP100もしくは画像予測復号プログラムP300をメモリ16に記憶し、当該画像予測符号化プログラムP100もしくは画像予測復号プログラムP300を実行することができる。
ここまで説明した本実施形態は、以下のように変形してもよい。図2の候補予測信号組み合わせ決定器203では、対象ブロックの対象隣接領域の画素信号と複数の隣接予測領域の画素信号とを加重平均した対象信号との間の差分値であるSAD値(絶対誤差値の和)を計算して、最適な候補予測信号の組み合わせを決定しているが、SAD値ではなく、差分信号の二乗誤差の和(SSD)や分散(VAR)を用いても組み合わせの決定は可能である。3つの評価基準はSAD、SSD、VARの順で演算量は増加するが、その一方で、評価の精度は向上し、誤差信号の符号量を少なくできるという効果が見込まれる。
また、対象隣接信号と対象信号の差分値であるSAD値が同じ値となる組み合わせが複数得られたときに、SSDやVARを用いて最終的な組み合わせを決定するという方法も有効である。すなわち、比較・選択器236は、予測隣接領域取得器232において算出されたSAD値が、これまで算出した最小値と一致していた場合には、さらに、SSDまたはVARを比較対象として、いずれの値のものが小さいか比較する。ここでSSDまたはVARが小さいと判断された組み合わせが比較・選択器236に最小値を有する組み合わせとして記憶されることになる。この場合、比較・選択器236は、SSDまたはVARをSADとともに算出することになり、一時的に記憶しておくことになる。
さらに、隣接予測領域の画素信号ではなく、複数の候補予測信号の組み合わせについて、その分散を計算し、組み合わせの決定に用いる方法も可能である。具体的には、図2の予測隣接領域取得器232、重み付け器234、加算器235は、それぞれ、予測領域取得器204、重み付け器205、加算器206に置き換えることにより実現できる。この変形例は、対象隣接領域取得器233の処理が不要であり、また、比較・選択器236から図1の減算器105に予測信号を出力することが可能となるため、回路規模が削減できるという効果がある。
テンプレートマッチング器201の比較器213においても、対象ブロックの対象隣接領域と探索された対象隣接領域と同じ形状の画素群の評価に差分値であるSAD値を用いているが、SSDやVARを替えてもよく、上記の候補予測信号組み合わせ決定器203のケースと同様の効果が期待できる。
図1の予測信号生成器103は、図2の構成に限定されない。例えば、図2では、テンプレートマッチング器にて検索した複数の候補予測信号について、その信号にアクセスするための座標情報を座標情報用メモリ202に記憶しているが、候補予測信号と予測隣接領域の画素信号とを記憶しておく構成でも良い。図2内のメモリ量は増加するが、フレームメモリ104へのアクセスを減らす効果がある。また、テンプレートマッチング器201は、対象隣接領域とM個の予測隣接領域との間の差分値であるSAD値をラインL201b経由で候補予測信号の組み合わせ決定器203に出力しているが、組み合わせの設定に、これらの差分値であるSAD値を用いない場合には、ラインL201bは不要である。
本実施形態では、対象隣接領域を再生済み画素で構成しているが、隣接ブロックの予測信号で構成しても良い。誤差信号の符号化ブロック単位より、予測領域を小さくしたい場合や、符号化・復号処理を行なわずに対象隣接領域の信号を生成したい場合には有効である。
本実施形態は、テンプレートマッチングにて、確定しない数の候補信号を探索し、適切な数の候補信号を選択する手法に適用できる。
つぎに、本実施形態の画像予測符号化装置100および画像予測復号装置300の作用効果について説明する。
本実施形態の画像予測符号化装置100において、テンプレートマッチング器201は、対象画素信号からなる対象領域(対象ブロック)402に隣接する既再生の隣接画素信号からなる対象隣接領域403との相関が高い複数の予測隣接領域404a〜404c、414a〜414cを、既再生画像からなる探索領域401および417から探索する。候補予測信号の組み合わせ決定器203における組み合わせ設定器231は、探索した複数の予測隣接領域404a〜404c、414a〜414cを少なくとも1つ含む、任意の予測隣接領域の組み合わせを2つ以上導出する。そして、予測隣接領域取得器232は、導出された予測隣接領域の画素信号を抽出し、重み付け器234および加算器235は、抽出された画素信号を予め定めた合成方法を用いて、例えば平均化することで加工することにより、組み合わせ毎に隣接画素信号に対する比較信号をそれぞれ生成する。そして、比較・選択器236は、重み付け器234等により生成された比較信号と対象隣接領域取得器233により取得された隣接画素信号との相関が高い組み合わせを選択する。予測領域取得器204は、選択された組み合わせに属する予測隣接領域に基づいて、対象画素信号の候補予測信号を1つ以上生成し、重み付け器205および加算器206は、候補予測信号を予め定めた合成方法を用いて加工することによって予測信号を生成する。このように生成された予測信号をブロック分割器102を介して取得された対象画素信号から減算器105が減算して残差信号を生成し、変換器106、量子化器107、およびエントロピー符号化器111は生成された残差信号を符号化する。
これにより、対象ブロックに隣接する既再生の隣接画素信号からなる対象隣接領域を用いて、情報量を多くすることなく平滑化に適した候補予測信号の組み合わせが選択できるので、効率良く局所的な雑音特性を考慮した予測信号を生成することができる。
また、本実施形態の画像予測符号化装置100における比較・選択器236は、比較信号と隣接画素信号との差分の絶対値和であるSAD値が小さい組み合わせを選択することにより、より平滑化に適した候補予測信号の組み合わせを選択することができる。
また、本実施形態の画像予測符号化装置100における重み付け器234および加算器235は、組み合わせ設定器231において設定された組み合わせに属する予測隣接領域の画素信号を重み付け平均することにより比較信号を生成することで、より平滑化に適した候補予測信号の組み合わせを選択するにあたっての適切な比較信号を生成することができる。
また、本実施形態の画像予測符号化装置100における組み合わせ設定器231が設定する予測隣接領域の組み合わせが、対象隣接領域との相関が高い順に2のn乗個の予測隣接領域を含むようにしたことにより、加算とシフト演算のみで行うことができ、実装上簡易な構成をとることができる。ここで、nの値が0以上の整数であることが好ましい。
また、本実施形態の画像予測復号装置300において、テンプレートマッチング器201は、対象画素信号からなる対象領域(対象ブロック)402に隣接する既再生の隣接画素信号からなる対象隣接領域403との相関が高い複数の予測隣接領域404a〜404c、414a〜414cを、既再生画像からなる探索領域401および417から探索する。候補予測信号の組み合わせ決定器203における組み合わせ設定器231は、探索した複数の予測隣接領域404a〜404c、414a〜414cを少なくとも1つ含む、任意の予測隣接領域の組み合わせを2つ以上導出する。そして、予測隣接領域取得器232は、導出された予測隣接領域の画素信号を抽出し、重み付け器234および加算器235は、抽出された画素信号を予め定めた合成方法を用いて、例えば平均化することで加工することにより、組み合わせ毎に隣接画素信号に対する比較信号をそれぞれ生成する。そして、比較・選択器236は、重み付け器234等により生成された比較信号と対象隣接領域取得器233により取得された隣接画素信号との相関が高い組み合わせを選択する。予測領域取得器204は、選択された組み合わせに属する予測隣接領域に基づいて、対象画素信号の候補予測信号を1つ以上生成し、重み付け器205および加算器206は、候補予測信号を予め定めた合成方法を用いて加工することによって予測信号を生成する。
そして、入力端子301を介して入力した圧縮データからエントロピー復号器302、逆量子化器303、逆変換器304が差分信号を復元し、加算器305は、上述した通りに生成された予測信号と復元した差分信号とを加算して、再生画像信号を生成する。
これにより、対象ブロックに隣接する既再生の隣接画素信号からなる対象隣接領域を用いて、情報量を多くすることなく平滑化に適した候補予測信号の組み合わせが選択できるので、効率良く局所的な雑音特性を考慮した予測信号を生成することができる。
また、本実施形態の画像予測復号装置300における比較・選択器236は、比較信号と隣接画素信号との差分の絶対値和であるSAD値が小さい組み合わせを選択することにより、より平滑化に適した候補予測信号の組み合わせを選択することができる。
また、本実施形態の画像予測復号装置300における重み付け器234および加算器235は、組み合わせ設定器231において設定された組み合わせに属する予測隣接領域の画素信号を重み付け平均することにより比較信号を生成することで、より平滑化に適した候補予測信号の組み合わせを選択するにあたっての適切な比較信号を生成することができる。
また、本実施形態の画像予測復号装置300における組み合わせ設定器231が設定する予測隣接領域の組み合わせが、対象隣接領域との相関が高い順に2のn乗個の予測隣接領域を含むようにしたことにより、加算とシフト演算のみで行うことができ、実装上簡易な構成をとることができる。ここで、nの値が0以上の整数であることが好ましい。
また、本実施形態の画像予測符号化プログラムP100において、テンプレートマッチングモジュールP201は、対象画素信号からなる対象領域(対象ブロック)402に隣接する既再生の隣接画素信号からなる対象隣接領域403との相関が高い複数の予測隣接領域404a〜404c、414a〜414cを、既再生画像からなる探索領域401および417から探索する。候補予測信号の組み合わせ決定モジュールP202は、探索した複数の予測隣接領域404a〜404c、414a〜414cを少なくとも1つ含む、任意の予測隣接領域の組み合わせを2つ以上導出する。そして、候補予測信号の組み合わせ決定モジュールP202は、導出された予測隣接領域の画素信号を抽出し、抽出された画素信号を予め定めた合成方法を用いて、例えば平均化することで加工することにより、組み合わせ毎に隣接画素信号に対する比較信号をそれぞれ生成する。そして、予測信号合成モジュールP203は、生成された比較信号と取得された隣接画素信号との相関が高い組み合わせを選択する。候補予測信号の組み合わせ決定モジュールP202は、選択された組み合わせに属する予測隣接領域に基づいて、対象画素信号の候補予測信号を1つ以上生成し、候補予測信号を予め定めた合成方法を用いて加工することによって予測信号を生成する。このように生成された予測信号をブロック分割モジュールP102を介して取得された対象画素信号から減算モジュールP105が減算して残差信号を生成し、変換モジュールP106、量子化モジュールP107、およびエントロピー符号化モジュールP111は生成された残差信号を符号化する。
また、本実施形態の画像予測復号プログラムP300において、テンプレートマッチングモジュールP201は、対象画素信号からなる対象領域(対象ブロック)402に隣接する既再生の隣接画素信号からなる対象隣接領域403との相関が高い複数の予測隣接領域404a〜404c、414a〜414cを、既再生画像からなる探索領域401および417から探索する。予測信号合成モジュールP203は、探索した複数の予測隣接領域404a〜404c、414a〜414cを少なくとも1つ含む、任意の予測隣接領域の組み合わせを2つ以上導出する。そして、予測信号合成モジュールP203は、導出された予測隣接領域の画素信号を抽出し、抽出された画素信号を予め定めた合成方法を用いて、例えば平均化することで加工することにより、組み合わせ毎に隣接画素信号に対する比較信号をそれぞれ生成する。そして、予測信号合成モジュールP203は、生成された比較信号と取得された隣接画素信号との相関が高い組み合わせを選択する。予測信号合成モジュールP203は、選択された組み合わせに属する予測隣接領域に基づいて、対象画素信号の候補予測信号を1つ以上生成し、予測信号合成モジュールP203は、候補予測信号を予め定めた合成方法を用いて加工することによって予測信号を生成する。
そして、入力した圧縮データからエントロピー復号モジュールP302、逆量子化モジュールP303、逆変換モジュールP304が差分信号を復元し、加算モジュールP305は、上述した通りに生成された予測信号と復元した差分信号とを加算して、再生画像信号を生成する。
<第2の実施形態>
つぎに、候補予測信号の組み合わせ決定器203(図2参照)ならびに候補予測信号の組み合わせ決定方法(図6参照)に関して、平滑化する候補予測信号に多様性を持たせることを可能とする別の実施形態を示す。これらの実施形態は、候補予測信号の組み合わせ決定器203(図2参照)と候補予測信号の組み合わせ決定方法(図6参照)以外の部分は、第1の実施形態の予測信号生成器103と同じ構成であるため、説明を割愛する。なお、本実施形態にかかる発明は画像予測符号化装置、画像予測復号装置、画像予測符号化方法、画像予測復号方法、画像予測符号化方法を実行することができるプログラム、ならびに記録媒体に記録されたプログラムを実行するためのコンピュータのハードウェア構成に適用できる。また、図2と図6とにおいて同じ番号で示される機能あるいは方法についても、上記と同じ動作ならびに処理であるため、以下では説明を割愛する。また、本実施形態は上述の画像予測符号化装置100または画像予測復号装置300に適用できるものである。
図18は、第2の実施形態の予測信号生成器103aの構成を示すブロック図である。この予測信号生成器103aは、テンプレートマッチング器201と座標情報用メモリ202と候補予測信号の組み合わせ決定器203bと予測領域取得器204と重み付け器205と加算器206とを含んで構成されている。上述第1の実施形態における予測信号生成器103とは、候補予測信号の組み合わせ決定器203bの構成が異なる。すなわち、図2における候補予測信号の組み合わせ決定器203では、L201bを経由して入力されるM個のSAD値(対象隣接領域とM個の各予測隣接領域との間の絶対値誤差和)を用いて、予測隣接領域の組み合わせを設定しているが、図18における候補予測信号の組み合わせ決定器203bでは、L201bを経由して入力されるM個のSAD値と、L202cを経由して入力される予測隣接領域の座標情報とを用いて、予測隣接領域の組み合わせを設定している。
より具体的には、図18における組み合わせ設定器237の構成が、図2の組み合わせ設定器231の構成と異なっており、さらに、図18の候補予測信号の組み合わせ決定器203bは、図2における候補予測信号の組み合わせ決定器203の構成に加えて予測隣接領域数の設定器230を含んで構成されている。
予測隣接領域数の設定器230は、テンプレートマッチング器201にて探索された予測隣接領域の数Mから、平滑化する予測隣接領域の数の候補を定める部分である。すなわち、予測隣接領域数の設定器230は、ラインL201b経由で、テンプレートマッチング器201にて探索した予測隣接領域の数Mを入力する。そして、予測隣接領域数の設定器230は、M値より小さい2の乗数Nを1つ以上算出し、ラインL230経由で、順次、Nの値を変えて組み合わせ設定器237に出力する。例えば、Mが6の場合には、N=1、2、4を出力し、Mが30の場合には、N=1、2、4、8、16を出力する。
組み合わせ設定器237は、ラインL230経由で入力されるN値と、ラインL201b経由で入力されるM個のSAD値と、ラインL202c経由で入力されるM個の予測隣接領域の座標情報を用いて、N個の予測隣接領域を選択する部分である。そして、選択情報(選択した予測隣接領域を識別できる情報)を予測隣接領域の組み合わせ情報として、ラインL237経由で予測隣接領域取得器232に順次、N個の予測隣接領域の組み合わせを変えて複数出力する。
このように候補予測信号の組み合わせ決定器203bにおいては、異なるN値に対する予測隣接領域の組み合わせ情報を組み合わせ設定器237が生成し、図2に説明した手順にて1つの組み合わせ情報を選択する。
図19は、組み合わせ設定器237の詳細な構成を示すブロック図である。この組み合わせ設定器237は、評価対象の予測隣接領域の決定器281、カウンター282、参照画像の評価器283および動きベクトルの評価器284を含んで構成されている。組み合わせ設定器237は、入力値Nに対して、テンプレートマッチング器201にて探索されたM個の予測隣接領域の座標情報を用いて、N個の予測隣接領域を選択し、選択情報を予測隣接領域の組み合わせ情報として出力する。なお、この実施形態では、座標情報、つまり参照画像の識別番号(参照画像番号)と、対象隣接領域と予測隣接領域との間の画面内における空間的な差分座標(以降、動きベクトルと呼ぶ)を用いて、N個の予測隣接領域から成る予測隣接領域の組み合わせを選択するとが、選択に用いるデータは、参照画像番号と動きベクトルには限定されない。この座標情報は、各候補予測信号の生成に関わり、かつ予測隣接領域を一意に定める情報であればよく、予測隣接領域にアクセスするための情報であればよい。例えば、予測隣接領域の画素信号を用いて、予め定めた複数の予測方法から1つの予測方法を決定するような場合には、選択に用いるデータに予測方法を含めてもよい。
評価対象の予測隣接領域の決定器281は、テンプレートマッチング器201にて探索したM個の予測隣接領域からN個の予測隣接領域を選択する前に、選択の対象とする予測隣接領域の数をR個に制限する部分である。このR値は、後述するとおりM個の予測隣接領域のうち所定の閾値以上のSADのものを計数することにより定められる数値である。このR値の決定は、M値に対してN値が非常に小さい場合に、対象隣接領域との間のSAD値が大きい予測隣接領域を選択しないようにする効果がある。
評価対象の予測隣接領域の決定器281には、ラインL201b経由でテンプレートマッチング器201にて探索されたM個の予測隣接領域に対応するM個のSAD値(対象隣接領域とM個の予測隣接領域との間の差分データ)が入力され、同時にラインL230経由で選択すべき予測隣接領域の数Nが入力される。評価対象の予測隣接領域の決定器281は、入力されたN値に対して予め定められている閾値とM個のSAD値とを比較し、閾値より小さいSAD値の数を計数する。そして、このように計数された閾値より小さいSAD値の数を、評価対象の予測隣接領域の数Rとして、ラインL281経由で、カウンター282に出力する。但し、R値がN値より小さいまたは同じ場合には、予測隣接領域の選択は不要であるため、評価対象の予測隣接領域の決定器281はその情報をN個(R個)の予測隣接領域の組み合わせ情報としてラインL237経由で予測隣接領域取得器232に出力する。なお、上記で示したように、R値の決定は、M値に対してN値が小さすぎる場合に、対象隣接領域との差が大きい予測隣接領域を選択しないようにする効果がある。そのため、この条件を満たせば、R値の決定には閾値以外の手段を用いてもよい。例えば、2×N値とM値を比較し、小さい方をR値として出力してもよいし、閾値処理にて決定したR値が2×N値より大きい場合には、R値を2×N値に制限するようにしてもよい。また、閾値は予め定めておくのではなく、符号化するようにしてもよい。
カウンター282に、ラインL281経由で入力した評価対象の予測隣接領域の数R値が入力されると、カウンター282は、カウンター値Pを1からRまで1刻みで更新しながら、ラインL282aとラインL282b経由で参照画像の評価器283と動きベクトルの評価器284とに出力する。
参照画像の評価器283では、R個の参照画像番号から、その多様性を考慮して、N個の参照画像番号を選択する部分である。この参照画像の評価器283は、まず、ラインL282a経由でP値が入力されると、対象隣接領域との間のSAD値がP番目に小さい予測隣接領域にアクセスするための参照画像番号をラインL202c経由で座標情報用メモリ202から取得する。R個の参照画像番号を取得したのち、参照画像の評価器283は、探索領域内の各参照画像に含まれる予測隣接領域の数Ref[i](i=1,2,…,F;iは参照画像番号,Fはテンプレートマッチング器201にて探索対象とする参照画像の数)を確認する。つぎに、参照画像の評価器283は、対象隣接領域との間のSAD値が最も小さい予測隣接領域が属する参照画像番号iを初期値として、以下の動作を実施する。
1)参照画像番号iを選択する。
2)予測隣接領域の数Ref[i]の値を1ずつ減らす。予測隣接領域の数Ref[i]が0となった参照画像番号は選択対象から除外する。
3)参照画像番号iを1増やす。iがFのときiを1にリセットする。
この動作を、N個の参照画像を選択するまで巡回的に繰り返す。選択したN個の参照画像番号は、ラインL283経由で動きベクトルの評価器284に出力する。
例えば、図26に示す、参照画像450と予測隣接領域の数Ref[i]との関係を示す概念図においては、参照画像毎に予測隣接領域が形成されている。参照画像番号が1については、その予測隣接領域404iは3つ形成されていることが示されており、この場合Ref[1]=3となる。上述処理1)−処理3)を繰り返すことにより、Ref[i]値が上位N個までの参照画像番号が取得されることになる。
なお、参照画像の選択方法は、予測隣接領域の多様性を確保できれば良いので、識別番号をカウントアップする方法には限定されない。例えば、参照画像番号iに対応するRef[i]の比率Ref[i]/Rを考慮して、参照画像を選択してもよい。また、符号化対象画像に対する参照画像の位置(過去、未来、現在)を考慮し、予め定めた比率で選ぶようにしてもよい。
動きベクトルの評価器284は、参照画像の評価器283からN個の参照画像番号が入力されると、動きベクトルの多様性を考慮しながら、R個の動きベクトルからN個の動きベクトルを選択する部分である。このR個の動きベクトルは、上述したR個の予測隣接領域に対応したものである。動きベクトルの評価器284は、P値がラインL282b経由で入力されると、対象隣接領域との間のSAD値がP番目に小さい予測隣接領域にアクセスするための参照画像番号と動きベクトル情報をラインL202c経由で取得する。R個の動きベクトルを取得したのち、動きベクトルの評価器284は、参照画像毎に、対象隣接領域との間のSAD値が最も小さい予測隣接領域に対応する動きベクトルSMV[i]を確認する。つぎに、動きベクトルの評価器284は、ラインL283経由で入力されたN個の参照画像番号に対して、動きベクトルを対応づける。具体的には、
4)R個の動きベクトルを参照画像番号別に分類し、それぞれ、選択すべき動きベクトルの数NumMV[i]を算出する。
5)つぎに、NumMV[i]が1より大きい参照画像番号iのSMV[i]を選択する。
6)そして、各参照画像番号iについて、SMV[i]との絶対値差分和が大きい順に“NumMV[i]−1”個の動きベクトルを選択する。
このように選択した動きベクトルと参照画像番号との組に対応するN個の予測隣接領域の情報を、予測隣接領域の組み合わせ情報としてラインL237経由で予測隣接領域取得器232に出力する。
この動きベクトルに関する処理4)〜6)の処理概念について、図27に示す。図27によると、各参照画像には複数の予測隣接領域が存在しており、それに対応して動きベクトルも存在している。例えば、図27の例では、参照画像番号1には、動きベクトルMV1およびMV2が存在していることにしている。この場合、NumMV[1]=2となる。また、例えば動きベクトルMV1がMV2より小さい場合、SMV[1]として動きベクトルMV1が選択されることになる。
また、動きベクトルの数NumMV[3]=0であるため、処理2)では、参照画像番号3は選択されず、他の参照画像番号1、2、4、5が選択されることになる。
なお、動きベクトルの選択方法は、多様性を確保できれば良いので、上記に示した方法には限定されない。例えば、選択した参照画像iの動きベクトルでSMV[i]を更新することにより、直前に選択した動きベクトルとの絶対値差分和が大きい動きベクトルをつぎに選択するようにしてもよい。
また、図19に示すように、各予測隣接領域にアクセスするための座標情報(参照画像番号および動きベクトル)を用いることにより、時空間方向に多様性を有する予測隣接領域を選択することが可能となる。なお、上記では、組み合わせ設定器237は、R個の予測隣接領域からN個の予測隣接領域を選択しているが、N個全部を座標情報を用いて選択する必要はない。例えば、N/2個については対象隣接領域との間のSAD値が小さい予測隣接領域を選択する方法も考えられ、その場合には予測性能を安定させる効果が見込める。また、SMV[i]との動きベクトルの絶対値差分和に制限をかけ、予め定めた閾値より大きい場合は、選択対象から外す手段も予測性能を安定させることがあると考えられる。なお、組み合わせ設定器237内の構成は、図19に限定されない。例えば、R値をM値とする場合や、R値をN値に対して予め設定している場合には、評価対象の予測隣接領域の決定器281は必ずしも必要ない。この場合、予測隣接領域の選択は、座標情報、つまり動きパラメータのみで実施できる。
以上説明したように、図19に示す多様性を考慮して予測隣接領域の組み合わせを選択することができる組み合わせ設定器237を、図18に示す対象隣接領域と予測隣接領域との関係を用いて平滑化する候補予測信号の数を選択することができる候補予測信号の組み合わせ決定器203b(予測信号生成器103a)と併せて用いることにより、時空間の多様性を考慮して、平滑化する候補予測信号の数の選択動作を実施することが可能となる。なお、候補予測信号の組み合わせ決定器203b内の構成は、図18に示される構成に限定されない。例えば、予測隣接領域数の設定器230は、組み合わせ設定器237に含まれていても良い。
つぎに、図18と図19とに示される予測信号生成器103aの動作である、候補予測信号の組み合わせ決定方法について説明する。図20は、組み合わせ設定器237を用いた予測信号生成器103aの動作を示すフローチャートであり、平滑化する候補予測信号に多様性を持たせることを目的とした候補予測信号の組み合わせ決定方法を示したものである。図20では、図6と異なり、予測隣接領域数の設定器230にて、候補予測信号の数Nを設定する処理(S602、S609)が実施される。
まず、組み合わせ決定器203の組み合わせ設定器237は、候補予測信号の数Nを1に設定する(S602)。つぎに、対象隣接領域取得器233では、対象ブロックに対する対象隣接領域(テンプレート信号)がフレームメモリ104から取得される(S603)。
一方、組み合わせ設定器237にて、予測隣接領域にアクセスするための座標情報(参照画像番号および動きベクトル)、および対象隣接領域と予測隣接領域との差分SAD値を用いてN個の予測隣接領域が選択される(S604a)。以降の処理については、図6と同じである。
すなわち、予測隣接領域取得器232、重み付け器234、および加算器235において、N個の予測隣接領域の画素信号を取得し、その平均化(加重平均でもよい)により比較信号を生成し(S605)、比較・選択器236にて、生成した比較信号と隣接画素信号との差分値であるSAD値を算出する(S606)。同時に、比較・選択器236では、算出したSAD値をそれまでの最小のSAD値と比較し(S607)、SAD値が最小値と判断された場合、S608に進み、そうでないと判断された場合、S609に進む。なお、S607では、算出したSAD値とそれまでの最小のSAD値が同じ場合には、S609に進むが、S608に進むようにしてもよい。
算出したSAD値が、それまでの最小のSAD値である場合、比較・選択器236にて、S604にて取得した座標情報の組み合わせを記憶する(S608)。
ここで、組み合わせ設定器237は、N値を2倍に更新する(S609)。そして、更新したN値とM値との大きさを比較し(S610)、更新したN値がM値より小さい場合、S604に戻り、更新したN値がM値より大きい場合、S608にて記憶した座標情報の組み合わせを候補予測信号の組み合わせとして決定し、候補予測信号の組み合わせ選択処理を終了する(S611)
つぎに、上述の処理S604aの詳細な処理について説明する。図21は、予測隣接領域の座標情報を用いてN個の予測隣接領域を選択するときの組み合わせ設定器237の動作を示すフローチャートである。この処理では、入力値Nに対して、テンプレートマッチング器201にて候補予測信号を探索する処理(図5参照)にて探索したM個の予測隣接領域の座標情報を用いて、N個の予測隣接領域が選択される。
なお、この実施形態における組み合わせ設定器237は、座標情報、つまり参照画像番号と動きベクトルとを用いてN個の予測隣接領域から成る組み合わせを選択するが、選択に用いるデータは、参照画像番号と動きベクトルとには限定されない。各候補予測信号の生成に関わり、かつ予測隣接領域を用いて一意に定まる情報であれば、選択に用いるデータに含めてもよく、予測隣接領域にアクセスするための情報であればよい。例えば、予め定めた複数の予測方法から、予測隣接領域の信号を用いて、1つの予測方法を決定するような場合には、選択に用いるデータに予測方法を含めてもよい。
まず、評価対象の予測隣接領域の決定器281において、テンプレートマッチング器201にて探索したM個の予測隣接領域からN個の予測隣接領域を選択する前に、選択の対象とする予測隣接領域の数をR個に設定することで制限する(S802)。このR値の設定は、M値に対してN値が非常に小さい場合に、対象隣接領域との間のSAD値が大きい予測隣接領域を選択しないようにする効果がある。そのため、この条件を満たせば、R値の決定法には閾値以外の方法を用いてもよい。例えば、2×NとMを比較して、小さい方をRとして出力してもよいし、閾値処理にて計算したRが2×Nより大きい場合には、Rを2×Nに制限するようにしてもよい。また、閾値は予め定めておくのではなく、符号化するようにしてもよい。
つぎに、評価対象の予測隣接領域の決定器281は、R値とN値とを比較し、R値がN値より小さいまたは同じ場合には、予測隣接領域の選択は不要であるため、予測隣接領域の選択処理を終了する(S803:NO)。R値がN値より大きい場合には、カウンター282は、カウント値Pを初期化する(S804)。参照画像の評価器283と動きベクトルの評価器284とは、対象隣接領域との間のSAD値がP番目に小さい予測隣接領域にアクセスするための参照画像番号と動きベクトルとを座標情報用メモリ202から順次取得する(S805)。P値とR値とを比較し(S806)、P値がR値より小さい場合には(S806:YES)、カウント値Pに1を加算し(S807)、S805の処理を繰り返す。
P値がR値に達すると(S805:NO)、参照画像の評価器283は、R個の参照画像番号から、その多様性を考慮して、N個の参照画像番号を選択する(S808)。具体的には、まず、取得したR個の参照画像番号を対象として、探索領域内の各参照画像に含まれる予測隣接領域の数Ref[i](i=1,2,…,F;iは参照画像番号,Fはテンプレートマッチング器201にて探索対象とする参照画像の数)を確認する。つぎに、参照画像の評価器283は、対象隣接領域との間のSAD値が最も小さい予測隣接領域が属する参照画像番号iを初期値として、以下の処理を実施する。
1)参照画像番号iを選択する。
2)予測隣接領域の数Ref[i]の値を1ずつ減らす。Ref[i]が0となった参照画像番号は選択対象から除外する。
3)参照画像番号iを1増やす。iがFのときiを1にリセットする。
この処理を、N個の参照画像を選択するまで巡回的に繰り返す。なお、参照画像の選択方法は、多様性を確保できれば良いので、識別番号をカウントアップする方法には限定されない。例えば、参照画像番号iに対応する予測隣接領域の数Ref[i]の比率Ref[i]/Rを考慮して、参照画像を選択してもよい。また、符号化対象画像に対する参照画像の位置(過去、未来、現在)を考慮し、予め定めた比率で選ぶようにしてもよい。
つぎに、動きベクトルの評価器284は、R個の動きベクトルから、その多様性を考慮して、N個の動きベクトルを選択する(S809)。具体的には、まず、動きベクトルの評価器284は、参照画像毎に、対象隣接領域との間のSAD値が最も小さい動きベクトルSMV[i]を確認する。つぎに、動きベクトルの評価器284は、S808にて選択したN個の参照画像番号に、動きベクトルを対応づける。具体的には、
4)R個の動きベクトルを参照画像番号別に分類し、それぞれ、選択すべき動きベクトルの数NumMV[i]を算出する。
5)NumMV[i]が1より大きい参照画像番号iのSMV[i]を選択する。
6)そして、各参照画像番号iについて、SMV[i]との絶対値差分和が大きい順に“NumMV[i]−1”個の動きベクトルを選択する。なお、動きベクトルの選択方法は、多様性を確保できれば良いので、上記に示した方法には限定されない。例えば、選択した参照画像iの動きベクトルでSMV[i]を更新することで、直前に選択した動きベクトルとの絶対値差分和が大きい動きベクトルをつぎに選択するようにしてもよい。
このように対象隣接領域と複数の予測隣接領域との間の差分データに加えて、各予測隣接領域にアクセスするための動きパラメータを用いることにより、時空間方向に多様性を有する予測隣接領域を選択することが可能となる。なお、上記では、R個からN個の予測隣接領域を選択しているが、N個全部を動きパラメータを用いて選択する必要はない。例えば、N/2個は、対象隣接領域との間のSAD値が小さい予測隣接領域を選択する方法も、予測性能を安定させる効果が見込める。また、SMV[i]との動きベクトルの絶対値差分和に制限をかけ、予め定めた閾値より大きい場合は、選択対象から外す方法も予測性能を安定させる効果があると考えられる。なお、R値をM値とする場合や、R値をN値に対して予め設定している場合には、処理S803は不要であり、この場合、予測隣接領域の選択処理は、座標情報、つまり動きパラメータのみで実施できる。
また、図21に示す「多様性を考慮して予測隣接領域の組み合わせを選択する処理」を、図20に示す「対象隣接領域と予測隣接領域との関係を用いて平滑化する候補予測信号の数を選択する処理」と併せて用いることにより、時空間の多様性を考慮して、平滑化する候補予測信号の数の選択処理を実施することが可能となる。
本実施形態における画像予測符号化方法および画像予測復号方法を、プログラムとして記録媒体に記憶して提供することもできる。記録媒体としては、フロッピーディスク(登録商標)、CD−ROM、DVD、あるいはROM等の記録媒体、あるいは半導体メモリ等が例示される。その具体的なモジュール構成は、図11、図12および図13に示すとおりである。なお、ここでは予測信号生成モジュール103の機能は、上述予測信号生成器103aに相当するものである。また、組み合わせ設定器237に相当する組み合わせ設定もジュールは、図28に記載のとおりである。図28は、組み合わせ設定モジュールP237のモジュール構成を示すブロック図である。この組み合わせ設定モジュールP237は、評価対象の予測隣接領域の決定モジュール、P281、カウンターモジュールP282、参照画像の評価モジュールP283、動きベクトルの評価モジュールP284から構成されている。これら各モジュールは、図19に示す組み合わせ設定器237における評価対象の予測隣接領域の決定器281、カウンター282、参照画像の評価器283、動きベクトルの評価器284と同等の機能を有する。
このように構成された画像予測符号化プログラムP100または画像予測復号プログラムP300は、記録媒体10に記憶され、上述図16、図17で示したコンピュータで実行される。
つぎに、この第2の実施形態における画像予測符号化装置100および画像予測復号装置300の作用効果について説明する。
第2の実施形態の画像予測符号化装置100は、入力画像を複数の領域に分割するブロック分割器102と、割された前記複数の領域のうちの処理対象である対象領域の対象画素信号に対する予測信号を生成する予測信号生成器103と、生成された予測信号と対象画素信号との残差信号を生成する残差信号生成手段として機能する減算器106と、生成された残差信号を符号化する変換器106、量子化器107およびエントロピー符号化器111とを備えている。
そして、予測信号生成器103aにおいて、テンプレートマッチング器201が対象画素信号からなる対象領域402に隣接する既再生の隣接画素信号からなる対象隣接領域403との相関が高い複数の予測隣接領域404a−414cを、既再生画像からなる探索領域401、417から探索する。そして、組み合わせ設定器237は、少なくとも予測隣接領域の位置を示す座標情報を用いて、異なる数の予測隣接領域を含む予測隣接領域の組み合わせを2つ以上生成する。
予測隣接領域取得器232、重み付け器234、および加算器235は、組み合わせに属する予測隣接領域の画素信号を予め定めた合成方法を用いて加工することにより、隣接画素信号に対する比較信号をそれぞれ生成する。比較・選択器236は、比較信号と隣接画素信号との相関が高い予測隣接領域の組み合わせを選択し、予測領域取得器204に出力する。
予測領域取得器204は、選択された組み合わせに属する予測隣接領域に基づいて、対象画素信号の候補予測信号を1つ以上生成し、重み付け器205、および加算器206が候補予測信号を予め定めた合成方法を用いて加工することによって予測信号を生成する。
これにより、平滑化する候補予測信号に多様性を持たせることを可能となり、効率よく局所的な雑音特性を考慮した予測信号を生成することができる。よって、効率的に符号化データを生成することができる。
また、第2の実施形態の画像予測復号装置300は、圧縮データ内にある処理対象である対象領域に関する残差信号の符号化データを復号するエントロピー復号器302と、復号されて得られた信号から再生残差信号を復元する逆量子化器303および逆変換器304と、対象領域の対象画素信号に対する予測信号を生成する予測信号生成器308と、生成された予測信号と復元された再生残差信号とを加算することによって、再生画像信号を生成する加算器305とを備えている。
そして、予測信号生成器103aは、対象画素信号からなる対象領域401に隣接する既再生の隣接画素信号からなる対象隣接領域403との相関が高い複数の予測隣接領域404a−414cを、既再生画像からなる探索領域401、417から探索する。そして、組み合わせ設定器237は、少なくとも予測隣接領域の位置を示す座標情報を用いて、異なる数の予測隣接領域を含む予測隣接領域の組み合わせを2つ以上生成する。
予測隣接領域取得器232、重み付け器234、および加算器235は、組み合わせに属する予測隣接領域の画素信号を予め定めた合成方法を用いて加工することにより、隣接画素信号に対する比較信号をそれぞれ生成する。比較・選択器236は、比較信号と隣接画素信号との相関が高い予測隣接領域の組み合わせを選択し、予測領域取得器204に出力する。
予測領域取得器204は、選択された組み合わせに属する予測隣接領域に基づいて、対象画素信号の候補予測信号を1つ以上生成し、重み付け器205、および加算器206が候補予測信号を予め定めた合成方法を用いて加工することによって予測信号を生成する。
これにより、平滑化する候補予測信号に多様性を持たせることを可能となり、効率よく局所的な雑音特性を考慮した予測信号を生成することができる。よって、効率的に符号化された符号化データを復号することができる。
<第3の実施形態>
上述のとおり図18〜図21では、「多様性を考慮して予測隣接領域の組み合わせを選択する処理」を、「対象隣接領域と予測隣接領域との関係を用いて平滑化する候補予測信号の数を選択する処理」と併せて用いていた。しかしながら、「多様性を考慮して予測隣接領域の組み合わせを選択する処理」は「対象隣接領域と予測隣接領域との関係を用いて平滑化する候補予測信号の数を選択する処理」と組み合わせない処理でも効果がある。以下にその実施形態を説明する。
本実施形態では、平滑化する候補予測信号の数FNを設定してから、「多様性を考慮して予測隣接領域の組み合わせを選択する処理」を利用して、候補予測信号の組み合わせを決定することができる。すなわち、図19に示した組み合わせ設定器237の動作と図21に示した処理S604aの処理とが、決められたFN値に対してのみ実施され、組み合わせ設定器237によりM個の予測隣接領域からFN個の予測隣接領域が選択される。そして、選択されたFN個の予測隣接領域の組み合わせに基づいて、FN個の候補予測信号の重み付け平均化処理が実施される。
図22と図23とは、対象隣接領域と予測隣接領域との関係を用いて平滑化する候補予測信号の数を選択する場合についての実施形態である。以下、第2の実施形態における予測信号生成器103aと、本実施形態の予測信号生成器103bとの違いについて説明する。なお、当然ながら、本実施形態の予測信号生成器103bは、第1の実施形態に記載の画像予測符号化装置100および画像予測復号装置300に適用できる。
図22は、第3の実施形態である、候補予測信号の組み合わせ設定器237を含んだ予測信号生成器103bの構成を示すブロック図である。図22における候補予測信号の組み合わせ決定器203cでは、図18における候補予測信号の組み合わせ決定器203bとは異なり、予測隣接領域数の設定器230から、複数の異なるN値(N個の予測隣接領域)が、組み合わせ設定器237を介すことなく、直接、予測隣接領域取得器232に入力される。
そして、図2にて説明したように、予測隣接領域数の設定器230は、N値を変化させ(つまりM値より小さい2の乗数Nを変化させて)、予測隣接領域取得器232にN値を出力し、予測隣接領域取得器232、重み付け器234および加算器235は複数のN値(N個の予測隣接領域)を用いて対象隣接領域とのSAD値が小さいN個の予測隣接領域を重み付け平均化し、比較信号をN個の予測隣接領域の組み合わせごとに複数生成する。比較・選択器236はこのN値が異なる複数の比較信号を対象隣接領域と比較し、差が最も小さいときのN値をFN値として決定し、これを組み合わせ設定器237に出力する。なお、比較・選択器236は、M値を超えるまでN値を変えながら、上述の処理を行い、最小のSAD値を更新していく。
組み合わせ設定器237は、決定されたFN値、ラインL201b経由で入力されるM個のSAD値、およびラインL202c経由で入力する予測隣接領域の座標情報を用いて、M個の予測隣接領域からFN個の予測隣接領域を選択する。すなわち、組み合わせ設定器237は、FN値に対応付けて定められている閾値より小さいSAD値の数を計数し、その計数した値に基づいてFN個の予測隣接領域を選択する。この詳細な処理は図19に示したとおりである。
そして、組み合わせ設定器237は、予測隣接領域の組み合わせを候補予測信号の組み合わせ情報として、ラインL203経由で予測領域取得器204に出力する。組み合わせ設定器237における動作は、上述図19にて説明したとおりである。
そして、予測領域取得器204では、ラインL203経由で入力された候補予測信号の組み合わせ情報に従って、この組み合わせに属する候補予測信号の座標情報をラインL202b経由で取得する。そして、予測領域取得器204は、ラインL104経由でフレームメモリ104から、取得した座標情報に対応する候補予測信号を取得し、随時重み付け器205に出力する。重み付け器205は、ラインL204経由で入力された各候補予測信号に重み係数を掛け、ラインL205経由で加算器206に出力する。加算器206は重み付けされた候補予測信号を順次加算し、予測信号としてラインL103経由で図1の減算器105に出力する。
図23は、第3の実施形態である予測信号生成器103bによる予測隣接領域を選択するときの処理を示すフローチャートである。この方法では、図6に示す処理と同様に、予測隣接領域数の設定器230は、候補予測信号の数Nを1に設定し(S602)、対象隣接領域取得器233では、対象ブロックに対する対象隣接領域(テンプレート信号)がフレームメモリ104から取得され(S603)、予測隣接領域取得器232にて、予測隣接領域数の設定器230により設定された組み合わせに属するN個の予測隣接領域が、ラインL104を経由して取得される(S604)。
その後、予測隣接領域取得器232、重み付け器234および加算器235において、N個の予測隣接領域の画素信号の平均化(加重平均でもよい)により比較信号を生成し(S605)、比較・選択器236にて、生成した比較信号と隣接画素信号との差分値であるSAD値を算出する(S606)。同時に、比較・選択器236では、算出したSAD値をそれまでの最小のSAD値と比較し(S607)、SAD値が最小値と判断された場合、S608aに進み、そうでないと判断された場合、S609に進む。なお、S607では、算出したSAD値とそれまでの最小のSAD値が同じ場合には、S609に進むが、S608aに進むようにしてもよい。
そして、比較・選択器236によりS606において算出されたSAD値がこれまで算出されたSADの最小値より小さいと判断されると、新たに算出されたSAD値に最小値は更新されるとともに、そのときのN値が候補予測信号の数FNとして決定される(S608a)。
そして、N値が2倍に更新され(S609)、更新したN値がM値より小さい場合、S604に戻り、更新したN値がM値より大きい場合、S608aにて決定した座標情報の組み合わせを候補予測信号の組み合わせとして決定する。そして、組み合わせ設定器237にて、予測隣接領域にアクセスするための座標情報(参照画像番号および動きベクトル)、および対象隣接領域と予測隣接領域との差分SAD値を用いて、M個の予測隣接領域からFN個の予測隣接領域が選択され、FN個の予測隣接領域の再生信号を対象領域の候補予測信号とする(S610a)。このS610aの処理は、S604a(図21参照)と同じであるため、説明を割愛する。
本実施形態における画像予測符号化方法および画像予測復号方法を、プログラムとして記録媒体に記憶して提供することもできる。記録媒体としては、フロッピーディスク(登録商標)、CD−ROM、DVD、あるいはROM等の記録媒体、あるいは半導体メモリ等が例示される。その具体的なモジュール構成は、図11、図12、図13、および図28に示すとおりである。なお、ここでは予測信号生成モジュール103の機能は、上述予測信号生成器103bに相当するものである。このように構成された画像予測符号化プログラムP100または画像予測復号プログラムP300は、記録媒体10に記憶され、上述図16、図17で示したコンピュータで実行される。
つぎに、第3の実施形態の画像予測符号化装置100および画像予測復号装置300の作用効果について説明する。
第3の実施形態の画像予測符号化装置100は、入力画像を複数の領域に分割するブロック分割器102と、割された前記複数の領域のうちの処理対象である対象領域の対象画素信号に対する予測信号を生成する予測信号生成器103と、生成された予測信号と対象画素信号との残差信号を生成する残差信号生成手段として機能する減算器106と、生成された残差信号を符号化する変換器106、量子化器107およびエントロピー符号化器111とを備えている。
そして、予測信号生成器103におけるテンプレートマッチング器201が対象画素信号からなる対象領域402に隣接する既再生の隣接画素信号からなる対象隣接領域403との相関が高い複数の予測隣接領域404a−414cを、既再生画像からなる探索領域401、411から探索する。
一方、予測隣接領域数の設定器230は、選択する予測隣接領域の数Nを設定する。
そして、組み合わせ設定器237は、少なくとも予測隣接領域の位置を示す座標情報を用いて、探索領域から設定した数の予測隣接領域を選択する。予測領域取得器204は、選択した予測隣接領域に基づいて対象画素信号の候補予測信号を設定した数だけ生成し、重み付け器205および加算器206は、候補予測信号を予め定めた合成方法を用いて加工することによって予測信号を生成する。
なお、本実施形態においては、予測隣接領域230により設定された予測隣接領域の数Nに基づいて、予測隣接領域取得器232、重み付け器234、および加算器235により比較信号が生成される。ここでN値の値が適宜変更されて予測隣接領域取得器232に入力され、N値に応じて比較信号が生成される。その比較信号に基づいて比較・選択器236により対象隣接領域の画素信号との差分SAD値が最小となる比較信号が選択され、その選択された比較信号のもととなるN個の予測隣接領域を特定するためのN値が組み合わせ設定器237に出力されることになる。
これにより、平滑化する候補予測信号に多様性を持たせることを可能となり、効率よく局所的な雑音特性を考慮した予測信号を生成することができる。よって、効率的に符号化データを生成することができる。
また、第3の実施形態の画像予測復号装置300は、圧縮データ内にある処理対象である対象領域に関する残差信号の符号化データを復号するエントロピー復号器302と、復号されて得られた信号から再生残差信号を復元する逆量子化器303および逆変換器304と、対象領域の対象画素信号に対する予測信号を生成する予測信号生成器308と、生成された予測信号と復元された再生残差信号とを加算することによって、再生画像信号を生成する加算器305とを備えている。
そして、予測信号生成器103におけるテンプレートマッチング器201が対象画素信号からなる対象領域402に隣接する既再生の隣接画素信号からなる対象隣接領域403との相関が高い複数の予測隣接領域404a−414cを、既再生画像からなる探索領域401、411から探索する。
一方、予測隣接領域数の設定器230は、選択する予測隣接領域の数Nを設定する。
そして、組み合わせ設定器237は、少なくとも予測隣接領域の位置を示す座標情報を用いて、探索領域から設定した数の予測隣接領域を選択する。予測領域取得器204は、選択した予測隣接領域に基づいて対象画素信号の候補予測信号を設定した数だけ生成し、重み付け器205および加算器206は、候補予測信号を予め定めた合成方法を用いて加工することによって予測信号を生成する。
なお、第3の実施形態においては、予測隣接領域230により設定された予測隣接領域の数Nに基づいて、予測隣接領域取得器232、重み付け器234、および加算器235により比較信号が生成される。ここでN値の値が適宜変更されて予測隣接領域取得器232に入力され、N値に応じて比較信号が生成される。その比較信号に基づいて比較・選択器236により対象隣接領域の画素信号との差分SAD値が最小となる比較信号が選択され、その選択された比較信号のもととなるN個の予測隣接領域を特定するためのN値が組み合わせ設定器237に出力されることになる。
これにより、平滑化する候補予測信号に多様性を持たせることを可能となり、効率よく局所的な雑音特性を考慮した予測信号を生成することができる。よって、この予測信号を用いて効率的に符号化された符号化データを復号することができる。
<第4の実施形態>
図24は、第4の実施形態である候補予測信号の組み合わせ決定器の構成を示すブロック図である。この第4の実施形態は、対象隣接領域と予測隣接領域との間のSAD値を用いた閾値処理にて平滑化する候補予測信号の数を決める場合のついての実施形態である。この第4の実施形態における予測信号生成器103cにおいては、候補予測信号の組み合わせ決定器203dが、他の予測信号生成器103、103a、または103bと相違している。以下、相違点である候補予測信号の組み合わせ決定器203dについて説明する。
図24における候補予測信号の組み合わせ決定器203dは、候補予測信号数の決定器238と組み合わせ設定器237dとを含んで構成される。
候補予測信号数の決定器238は、ラインL201b経由で、対象隣接領域とM個の各予測隣接領域との間のM個のSAD値を入力し、予め定めた閾値より小さいSAD値の数を計算する。そして、閾値より小さいSAD値の数を、平滑化する候補予測信号の数FNとして、組み合わせ設定器237dに出力する。
組み合わせ設定器237dは、図19に示す構成をとるものであって、予測隣接領域の座標情報を用いて、M個の予測隣接領域からFN個の予測隣接領域を選択し、予測隣接領域の組み合わせを候補予測信号の組み合わせ情報として、L203経由で、予測領域取得器204に出力する。より具体的には、この組み合わせ設定器237dは、FN値がM値より小さいと判断した場合には、予測隣接領域の座標情報を用いて、M個の予測隣接領域からFN個の予測隣接領域を選択し、それらに隣接するFN個の予測領域の再生信号を対象領域の候補予測信号とする処理を行う。FN値がM値と同じである場合には、選択する処理は行われず、FN個の予測隣接領域の組み合わせが出力されることになる。
つぎに、候補予測信号の組み合わせ決定器203dの動作について説明する。図25は、候補予測信号の組み合わせ決定器203dの動作を示すフローチャートである。
候補予測信号の決定器238にて、対象隣接領域とM個の各予測隣接領域との間のSAD値と、予め定めた閾値とが比較され、閾値より小さいSAD値の数が、平滑化する候補予測信号の数FNとして決定される(S615)。そして、組み合わせ設定器237においてFN値とM値とが比較される(S616)。そして、組み合わせ設定器237においてFN値がM値より小さいと判断された場合には、予測隣接領域の座標情報を用いて、M個の予測隣接領域からFN個の予測隣接領域が選択され、それらに隣接するFN個の予測領域の再生信号を対象領域の候補予測信号とされる(S617)。
なお、ここでの処理S617は、図23における処理S610aと同じ処理である。また、M値とF値とが同じである場合(S616:NO)、選択処理は行われず、そのままM個の予測隣接領域の組み合わせが予測領域取得器204に出力され、候補予測信号の決定器238における処理は終了する。
以上図18から図25に示したように、「座標情報や動きパラメータを用いて、時空間方向に多様性のある予測隣接領域の組み合わせを生成する動作ならびに処理」は、指定した数の候補予測信号あるいは予測隣接領域の組み合わせを選択する装置ならびに方法にすべて適用できる。
さらに、上記では、N個の参照フレームとN個の動きベクトルを個別に評価して選択しているが、この評価方法には限定されない。P番目の予測隣接信号を、λ*(“P−1”番目に選択された参照画像番号−評価対象の参照画像番号)+(“P−1”番目に選択された動きベクトル−評価対象の動きベクトル)の差分絶対値和のような評価関数(λは換算係数)を用いて、同時に評価するようにしてもよい。
またさらに、図2の組み合わせ設定器231の出力データと、図18、図22ならびに図24に示した候補予測信号の組み合わせ決定器の出力データは共に予測隣接領域の組み合わせ情報であるため、図2の組み合わせ設定器231を図18と図22と図24の機能を含むように構成することも可能である。つまり、図2の組み合わせ設定器231と、図18、図22および図24の組み合わせ設定器237(237d)とにおいて、出力する2つ以上の予測隣接領域の組み合わせ情報を生成し、図2の候補予測信号の組み合わせ決定器203にて、1つを選択するように構成することも可能である。
本実施形態における画像予測符号化方法および画像予測復号方法を、プログラムとして記録媒体に記憶して提供することもできる。記録媒体としては、フロッピーディスク(登録商標)、CD−ROM、DVD、あるいはROM等の記録媒体、あるいは半導体メモリ等が例示される。その具体的なモジュール構成は、図11、図12、図13、および図28に示すとおりである。なお、ここでは予測信号生成モジュール103の機能は、上述予測信号生成器103cに相当するものである。このように構成された画像予測符号化プログラムP100または画像予測復号プログラムP300は、記録媒体10に記憶され、上述図16、図17で示したコンピュータで実行される。
つぎに、第4の実施形態の画像予測符号化装置100および画像予測復号装置300の作用効果について説明する。第4の実施形態の画像予測符号化装置100は、入力画像を複数の領域に分割するブロック分割器102と、割された前記複数の領域のうちの処理対象である対象領域の対象画素信号に対する予測信号を生成する予測信号生成器103と、生成された予測信号と対象画素信号との残差信号を生成する残差信号生成手段として機能する減算器106と、生成された残差信号を符号化する変換器106、量子化器107およびエントロピー符号化器111とを備えている。
そして、予測信号生成器103cにおいて、テンプレートマッチング器201が対象画素信号からなる対象領域402に隣接する既再生の隣接画素信号からなる対象隣接領域403との相関が高い複数の予測隣接領域404a−414cを、既再生画像からなる探索領域401および417から探索する。そして、組み合わせ設定器237は、少なくとも予測隣接領域の位置を示す座標情報、例えば参照画像番号および動きベクトルを用いて、探索した複数の予測隣接領域から1つ以上の予測隣接領域を選択する。
予測領域取得器204は、選択した予測隣接領域に基づいて、対象画素信号の候補予測信号を1つ以上生成し、重み付け器205および加算器206は、候補予測信号を予め定めた合成方法を用いて加工することによって予測信号を生成する。
なお、第4の実施形態においては、候補予測信号数の決定器238により予測隣接領域の数Nを設定し、組み合わせ設定器237は、その設定した数の予測隣接領域を選択するようにしている。
これにより、平滑化する候補予測信号に多様性を持たせることを可能となり、効率よく局所的な雑音特性を考慮した予測信号を生成することができる。よって、効率的に符号化データを生成することができる。
また、第4の実施形態の画像予測復号装置300は、圧縮データ内にある処理対象である対象領域に関する残差信号の符号化データを復号するエントロピー復号器302と、復号されて得られた信号から再生残差信号を復元する逆量子化器303および逆変換器304と、対象領域の対象画素信号に対する予測信号を生成する予測信号生成器308と、生成された予測信号と復元された再生残差信号とを加算することによって、再生画像信号を生成する加算器305とを備えている。
そして、予測信号生成器103において、テンプレートマッチング器201が対象画素信号からなる対象領域402に隣接する既再生の隣接画素信号からなる対象隣接領域403との相関が高い複数の予測隣接領域404a−414cを、既再生画像からなる探索領域401および417から探索する。そして、組み合わせ設定器237は、少なくとも予測隣接領域の位置を示す座標情報、例えば参照画像番号および動きベクトルを用いて、探索した複数の予測隣接領域から1つ以上の予測隣接領域を選択する。
予測領域取得器204は、選択した予測隣接領域に基づいて、対象画素信号の候補予測信号を1つ以上生成し、重み付け器205および加算器206は、候補予測信号を予め定めた合成方法を用いて加工することによって予測信号を生成する。
これにより、平滑化する候補予測信号に多様性を持たせることを可能となり、効率よく局所的な雑音特性を考慮した予測信号を生成することができる。よって、この予測信号を用いて効率的に符号化された符号化データを復号することができる。
100…画像予測符号化装置、101…入力端子、102…ブロック分割器、103…予測信号生成器、104…フレームメモリ、105…減算器、106…変換器、107…量子化器、108…逆量子化器、109…逆変換器、110…加算器、111…エントロピー符号化器、112…出力端子、201…テンプレートマッチング器、202…座標情報用メモリ、203…候補予測信号の組み合わせ決定器、204…予測領域取得器、205…重み付け器、206…加算器、211…対象隣接領域取得器、212…予測隣接領域取得器、213…比較器、214…スイッチ、230…予測隣接領域の設定器、231、237、237d…組み合わせ設定器、232…予測隣接領域取得器、233 対象隣接領域取得器、234…重み付け器、235…加算器、236…比較・選択器、281…評価対象の予測隣接領域の決定器、238…候補予測信号数の決定器、282…カウンター、283…参照画像の評価器、284…動きベクトルの評価器、300…画像予測復号装置、301…入力端子、302…エントロピー復号器、303…逆量子化器、304…逆変換器、305…加算器、306…出力端子、307…フレームメモリ、308…予測信号生成器、P100…画像予測符号化プログラム、P102…ブロック分割モジュール、P103…予測信号生成モジュール、P104…記憶モジュール、P105…減算モジュール、P106…変換モジュール、P108…逆量子化モジュール、P109…逆変換モジュール、P110…加算モジュール、P111…エントロピー符号化モジュール、P201…テンプレートマッチングモジュール、P202…決定モジュール、P203…予測信号合成モジュール、P300…画像予測復号プログラム、P302…エントロピー復号モジュール、P303…逆量子化モジュール、P304…逆変換モジュール、P305…加算モジュール、P307…記憶モジュール、P308…予測信号生成モジュール。