【実施例1】
【0024】
まず、第1の実施例について図面を参照して説明する。
図1に実施例1に係る画像符号化装置のブロック図を示す。
【0025】
画像符号化装置は、ブロック分割部101、予測誤差計算部102、イントラ予測部104、PMV予測符号化部107、適応PMV選択部106、動き探索部105、復号画像メモリ103、DCT変換部108、量子化部109、エントロピー符号化部110、逆量子化部111、逆DCT変換部112、モード選択部113、データ出力部114を備えている。
【0026】
以下に画像符号化装置の各構成要素の動作を詳細に説明する。
【0027】
なお、画像符号化装置の各構成要素の動作は、例えば、以下の記載の通り各構成要素の自律的な動作としても良い。また、コンピュータの制御部がコンピュータの記憶部が記憶するソフトウェアと協働することにより実現しても構わない。
【0028】
まずブロック分割部101は、符号化対象である原画像を入力し、これを符号化の単位であるブロックに分割する。ここで分割するブロックのサイズは、Coding Unit(CU)やPrediction Unit(PU)と呼ばれる16×16画素等の2のべき乗サイズ(画素数m×画素数nのブロック、m,n=2のべき乗、例. 128×128,64×64,32×32, 16×16, 16×8,8×16,8×8,4×4)のものを用いるが、サイズは可変であり異なるサイズのものが隣り合っていても構わない。以下では同じサイズのブロックが連続する場合を例に挙げ説明し、サイズが異なる場合のベクトルの選択方法については別途説明する。
【0029】
予測誤差計算部102では、生成された予測画像と原画像との差分を取って残差成分を計算し出力する。予測方法については一般にイントラ(フレーム内)予測とインター(フレーム間)予測がある。イントラ予測は、イントラ予測部104で行われ、インター予測は、PMV予測符号化部107、適応PMV選択部106、動き探索部105とからなるインター予測部120で行われる。イントラ予測は符号化対象ブロックよりも前に符号化された同じフレームの情報を用い、インター予測は符号化対象フレームよりも前に符号化された、再生時間としては前または後ろのフレームの情報を用いる。これらは復号画像メモリ103に格納されている。
【0030】
ここで、イントラ予測部104や動き予測部、復号画像メモリ103は、説明のため一つだけ記載したが、符号化モード毎、フレーム毎にそれぞれ備えても良い。
【0031】
イントラ予測部104では、符号化対象ブロックよりも前に符号化された同じフレームの情報を用いて符号化対象ブロックの画素を予測する。イントラ予測の方法については既存の方式を用いればよい。
【0032】
動き予測部120については、まず動き探索部105において復号画像メモリ103に格納されている参照フレームと符号化対象ブロックを用いて動きベクトル(Motion Vector: MV)の探索を行う。画素の精度は整数でも小数でもよく、フィルタによる参照フレームの補間により1/4画素精度が好適であるが、1/2、1/8でもかまわない。本実施例では動き探索方法については既存の方式を用いる。
【0033】
次に、適応PMV選択部106では、符号化対象ブロックの同じフレーム内の周囲ブロック、及び参照フレームの同じ位置とその周囲ブロックの情報を用いて、PMVを時間的、空間的な判別により適応的に選択する。本実施例では、PMVを、時間的な判別と空間的な判別とを双方備え適応的な判別を行うが、一方のみでもかまわない。方法、候補とする周囲ブロック、及びPMVの選択方法の詳細については後述する。
【0034】
図3を用いてPMVを選択する候補ブロックの例について説明する。既存の動きベクトル競合方式では、301のように符号化対象ブロックと同じ符号化対象フレームにある左側のブロック(A)、上側のブロック(B)と一番近い前方参照フレーム(L0[0])の符号化対象ブロックと同じ位置にあるブロック(Co-located Block)(S)を候補とし、A,B,Sのように順番に並べ、これらのうち同じベクトルがある場合には候補から除外して、最も符号化対象ブロックのベクトルに近いものを選択してフラグによって示す。なお、一番近い前方参照フレームを本実施例では採用したが、符号化済みのフレームであれば、後方参照フレームでもかまわない。また、一枚だけでなく、複数枚の符号化済みフレームを参照してもよい。
【0035】
一方、本実施例の適応PMV選択部で用いる適応動きベクトル選択方式では、302のように符号化対象ブロックの左側、上側だけでなく、右上(C)や左上(D)も候補に含める。また、参照フレームのブロックSの周囲ブロックも候補に含めることができる。つまり、適応PMV選択部が用いる候補ブロックの、(a)数、(b)空間的な位置(フレーム内のブロック)と(c)時間的な位置(別フレームのブロック)を変化させることができるようにする。
選択方法の詳細については後述する。
【0036】
また、本実施例の適応動きベクトル選択方式では、303のように候補ブロックのサイズが異なる場合で、最初に参照するべき位置のブロックが動きベクトルを持たない、または参照不可の場合、順次近傍のブロックが動きベクトルを持つかどうかをチェックし、利用可能な場合にはPMV選択の候補とする。具体的には、303においてB1が参照不可の場合、B2、B3、B4を順次チェックする。同様にA1が参照不可の場合、A2、A3、A4を、S1が参照不可の場合、S2、S3、S4をチェックする。符号化対象フレームの左上から近い順に走査すればよい。ブロックBの場合は、左から右、下から上の順、ブロックAの場合は上から下、右から左の順、ブロックSの場合は通常のラスタスキャン順、すなわち左から右、上から下の順となる。
【0037】
次に、PMV予測符号化部107では、MVからPMVを引いて差分ベクトル(Differential Motion Vector: DMV)を計算し、これを符号化する。またMVを用いて参照フレームから動き予測を行い、予測ブロックを作成する。
【0038】
DCT変換部108では、予測誤差計算部102から入力された残差成分に対してDCT変換が行われ、係数に変換される。続いて量子化部109に送られ、各変換係数が量子化される。量子化された係数はエントロピー符号化部110に送られ、一定の順序に従って可変長符号等を用いた情報圧縮が行われ、データがモード選択部113に送られる。一方で量子化された係数は逆量子化部111にも送られ、逆量子化によって変換係数に戻され、さらに逆DCT変換部112によって残差成分へと復元される。残差成分は、イントラ予測部104及び一連の動き予測部からの情報が加えられて、復号画像に戻り、復号画像メモリ103に記憶される。当該復号画像はモード選択部113に入力されてモード選択のために利用される。
【0039】
次に、モード選択部113では、複数の符号化モードに関する情報を基に、そのブロックについて最も符号化効率の高いモードを選択する。各符号化モードについて、原画像と復号画像との誤差(符号化誤差)とその符号化モードを利用した場合に発生する符号量を算出し、両者の関係から適切な符号化モードを選択する。例えば最も符号化効率の良い符号化モードを選択する方式としてRate-Distortion最適化方式などの既存の方式を用いればよい。この方式は、各マクロブロックについて全てのモードについて符号量と復号後の原画との符号化誤差を計算し、コスト計算式に従って最も良いモードを選択する方式となっている。
【0040】
最後に、データ出力部114が選択された符号を出力して符号化ストリームが作成され、画像の符号化が行われる。
【0041】
次に、
図5を用いて、画像符号化装置で用いられる画像符号化フローについて説明する。
【0042】
まず、ステップ501は、復号画像メモリ103から符号化対象となる原画像を入力し、ブロックに分割する処理である。ここで各ブロックのサイズは可変である。前述のCU、PUを用いればよい。ステップ501はブロック分割部101において実行される。
【0043】
次に、ステップ502では、ステップ501で取得した原画像のブロックについてイントラ予測を行う。イントラ予測については既存の方式を用いればよく、各イントラ予測モードに従って複数のモードについて予測を行う。このステップ502の処理はイントラ予測部104において実行される。
【0044】
次に、ステップ503では、イントラ予測された符号化ブロックの画素について残差成分を取得し、残差成分のDCT変換処理と量子化処理、エントロピー符号化処理とを行い、符号化データを算出する。また、さらに、当該符号化データからエントロピー復号処理、逆量子化、逆DCT変換処理を行い、復号画像の作成を行う。これにより符号化データと復号画像を出力する。このステップ503の処理は、予測誤差計算部102、DCT変換部108、量子化部109、エントロピー符号化部110において、この順に書く処理が実行される。
【0045】
ステップ504では、シーン解析を行う。
図4を用いてシーン解析の概要について説明する。動画像シーケンスでは1つのGOP(Group of Picture: 時間方向の予測に関するフレームのまとまり)の内部においても、画像の特徴に変化がある場合がある。例えば、映画やドラマにおけるシーンチェンジ、テレビ中継におけるカメラの切替え等が発生する場合がある。
図4では、P2のフレームとB3のフレームの間にシーン1とシーン2の切替えが発生した場合を示している。ここで既存の動きベクトル競合方式では、P4やB3のフレームはP2フレームの動きベクトルを参照するが、シーンが異なっているために効果的な動きベクトルを取得することができない。そこで、本実施例では複数の復号画像を解析してフラグを用いずにシーンチェンジを見つけるか、エンコーダ側でのシーン解析の結果、検出されたシーンチェンジ位置をフラグによってデコーダに伝えることによって、符号化対象フレームと参照フレームが異なるシーンに属する場合には、そのブロックをPMVの候補ブロックとはしないという処理を行うことができる。このようなシーン解析の処理はフレーム単位で行ってもよいし、ブロック単位で行ってもよい。この処理は、明確なブロックとしては図示しないが、インター予測部120内で動き探索部105による動き探索を行う前に実行する。
【0046】
次に、ステップ505において、各インター予測モードに対して動き探索を行う。インター予測モードには、ブロックサイズの異なる動き予測モードや、Skipモード、Directモードなどが含まれる。動き探索の方法は既存の方式を用いればよい。このステップ505はインター予測部120内の動き探索部105において実行される。
【0047】
次にステップ506では、フレーム単位でPMV選択を行うか否かの判定を行う。PMV選択を行わない場合にはステップ510に進み、それ以外はステップ507に進む。続いてステップ507ではブロック単位でPMV選択を行うか否かの判定を行う。PMV選択を行わない場合にはステップ510に進み、それ以外はステップ508に進む。さらにステップ508ではPMV候補ブロックの調整を行い、条件によってどのブロックを候補ブロックに含め、どのブロックを含めないかを判定する。これらの処理はフレーム単位、及びブロック単位で切り換えることができ、こうした切り換えをフラグによって復号装置側へ伝送してもよいし、復号装置に同じ切り替え条件を保持させてもよい。
【0048】
フレーム単位でのPMV選択判定の詳細を、
図8を用いて説明する。ステップ801はシーンチェンジか否かの判定を行うことによりPMV選択を行うか否かを判定する。これは前述のようにデコーダ側にてシーン解析処理を行ってフラグの伝送なしにPMV選択の処理を行うか否かの判定を行ってもよいし、エンコーダ側での判断をフラグによってデコーダ側に伝え判定してもよい。PMV選択を行わない場合には、median演算によってPMVを求める方式や、予め左側あるいは上側のブロックのベクトルをPMVとする方式など特定の方式を決めておく。
【0049】
また、別の例として、ステップ802ではピクチャタイプの判定を行うことによりPMV選択を行うか否かを判定する。これは例えば符号化対象フレームがPピクチャであればPMV選択による動きベクトル予測を行い、そうでなければmedian演算等、他の手段を用いる。PピクチャではなくBピクチャとしてもよい。どのピクチャの時にどのように判断するかを判別するフラグを設けてもよい。
【0050】
ブロック単位でのPMV選択判定の詳細を、
図9を用いて説明する。ステップ901は符号化対象ブロックの符号化モードの種類を判別することによってPMV選択を行うか否かを判定する。例えば、特定のブロックサイズの時だけPMV選択を行う、あるいはSkipモードやDirectモードにはPMV選択を適用しないなどとすればよい。
【0051】
また、別の例として、ステップ902では候補ブロックの符号化モードの種類を判別することによってPMV選択を行うか否かを判定する。例えば、候補ブロックがすべてイントラ符号化モードであればPMV選択を行わない。
【0052】
上記のような方式により、フレーム単位またはブロック単位でPMV選択を行うか否かを切り換えることができる。
【0053】
ブロック単位でのPMV選択を行う候補ブロックの調整方法の詳細を、
図10を用いて説明する。ここではPMV選択を行う場合に、候補ブロックの符号化モードやベクトルを持つか否か、参照可能か否かによって候補ブロックから除外したり、他の候補ブロックを追加したりといった処理を行う。
【0054】
まず、ステップ1001では、符号化対象フレームの候補ブロック、例えば
図3のA、Bから、まだチェックしていないブロックを一つ選択する。これをブロックXとする。
【0055】
次に、ステップ1002では、ブロックXが参照可能かどうか調べる。もし参照不可であればステップ1003に進み、参照可能であればステップ1004に進む。参照不可とはブロック位置が画面の範囲外にある等のためにブロックの情報が取得できない状態であり、参照可能とはブロックの情報が取得できることであり、ブロックの情報にはベクトル、参照フレーム番号が含まれる。
【0056】
ステップ1003ではブロックXを0ベクトルに設定するか、候補ブロックから除外する。どちらにするかは予め定める。例えばステップ1003では0ベクトルに設定する。「0ベクトル」とは各成分の値が0のベクトルである。
【0057】
ステップ1004ではブロックXがベクトルを持つか否かを調べる。イントラ符号化されたブロックであればベクトルは持たない。ベクトルを持たない場合はステップ1005に進み、ベクトルを持てばステップ1006に進む。
【0058】
ステップ1005ではブロックXを0ベクトルに設定するか、候補ブロックから除外する。どちらにするかは予め定める。例えばステップ1005では候補ブロックから除外する。
【0059】
ステップ1006ではブロックXと符号化対象ブロックの参照フレーム番号が一致するかどうか調べる。例えば符号化対象ブロックが一方向予測で、ブロックXが双方向予測である場合、L0またはL1のどちらかが一致すればよい。また、符号化対象ブロックが双方向予測で、ブロックXが一方向予測である場合は不一致となる。不一致であればステップ1007に進み、一致すればステップ1008に進む。
【0060】
ステップ1007ではブロックXを0ベクトルに設定するか、候補ブロックから除外する。どちらにするかは予め定める。例えばステップ1007では候補ブロックから除外する。
【0061】
ステップ1008では符号化対象フレーム内に他にチェックする候補ブロックがあるかどうか判定し、他にチェックするブロックがある場合にはステップ1001に戻る。そうでなければステップ1009に進む。
【0062】
ステップ1009では、参照フレームの候補ブロック、例えば
図3のSから、まだチェックしていないブロックを一つ選択する。これをブロックYとする。
【0063】
ステップ1010ではブロックYがベクトルを持つか否かを調べる。イントラ符号化されたブロックであればベクトルは持たない。ベクトルを持たない場合はステップ1011に進み、ベクトルを持てばステップ1012に進む。
【0064】
ステップ1011ではブロックYを0ベクトルに設定するか、候補ブロックから除外する。どちらにするかは予め定める。例えばステップ1011では候補ブロックから除外する。
【0065】
ステップ1012ではブロックYと符号化対象ブロックの参照フレーム番号が一致するかどうか調べる。例えば符号化対象ブロックが一方向予測で、ブロックYが双方向予測である場合、L0またはL1のどちらかが一致すればよい。また、符号化対象ブロックが双方向予測で、ブロックYが一方向予測である場合は不一致となる。不一致であればステップ1013に進み、一致すればステップ1014に進む。
【0066】
ステップ1013ではブロックYを0ベクトルに設定するか、候補ブロックから除外する。どちらにするかは予め定める。例えばステップ1013では候補ブロックから除外する。
【0067】
ステップ1014では符号化対象ブロック、またはブロックYが双方向予測モードかどうかを調べる。どちらかが双方向予測モードであればステップ1015に進み、そうでなければステップ1016に進む。
【0068】
ステップ1015ではブロックYを0ベクトルに設定するか、候補ブロックから除外する。どちらにするかは予め定める。例えばステップ1015では候補ブロックから除外する。
【0069】
ステップ1016では参照フレーム内に他にチェックする候補ブロックがあるかどうか判定し、他にチェックするブロックがある場合にはステップ1009に戻る。
【0070】
ここでは各条件に対応してステップ1003、1005、1007、1011、1013、1015において、ブロックXまたはブロックYを0ベクトルに設定するか、候補ブロックから除外する処理を行った。これに対し、例えば候補ブロックとして
図3のCやDの位置のブロックを候補ブロックに追加してもよい。例えば、S、A、Bのうち、候補ブロックが0の場合はCとDを候補ブロックに追加し、1つの場合はCを候補ブロックに追加する。予めCやD、さらに他のブロックを候補ブロックに加えておき、その中からベクトルを選んでもよい。
【0071】
例えば、L0[0]のピクチャがイントラ符号化されている場合には、候補ブロックからSを除外し、その代わりにCを加えればよい。あるいは、ブロックAが参照不可の場合にはブロックCを用いればよい。
【0072】
上記のようなPMV選択を行うか否か、あるいは候補ブロック調整の方法については、フレーム単位あるいはブロック単位でフラグによって予め決められた方式を切り換えてもよい。すなわち、以下のような方法がありうる。
・どれかの方式に方式を統一する
・フレーム単位で切り替え可能としフラグでどの方式を選んだかを示す
・ブロック単位で切り替え可能としフラグでどの方式を選んだかを示す
図10に示した条件には以下のようなものがあり、これらは判定の順序を変えてもよい。
・候補ブロックが参照不可かどうか
・候補ブロックが動きベクトルを持つか否か
・候補ブロックと符号化対象ブロックの符号化タイプが異なるかどうか(例えば、候補ブロックが双方向予測(B予測)で符号化対象ブロックが一方向予測(P予測))
・候補ブロックと符号化対象ブロックの参照フレーム番号が一致するかどうか
・候補ブロック、符号化対象ブロックが双方向予測かどうか
候補ブロックの調整を行う方式としては、以下のようなものがある。
・候補ブロックを候補ブロックから除外する
・候補ブロックのベクトルを0ベクトルとして処理する
・符号化対象フレーム内の別のブロックを候補ブロックに加える
・参照フレーム内の別のブロックを候補ブロックに加える
・
図3の303に示す別のブロックを候補ブロックに加える
・符号化タイプが一致する場合だけ処理し、それ以外は候補ブロックから除外する
・参照フレーム番号が合う場合だけ処理し、それ以外は候補ブロックから除外する
・参照フレーム番号が合うベクトルを他のベクトルに当てはめて両方処理する
続いて、ステップ509ではPMVを選択して差分ベクトルを計算し符号化する。PMVは候補ブロックのベクトルの中から最も符号化対象ブロックのベクトルに近いベクトルを選択する。ベクトルの各成分を符号化した時に最も符号量が小さくなるベクトルを選択する。選択されたベクトルはフラグとして伝送される。これは候補ブロックを順に並べ、1ビットであれば0の時は先頭の候補ブロックのベクトル、1の時は次の候補ブロックのベクトルが選ばれたことになる。候補ブロックの順番は、例えばA、B、Sのブロックが合った時、まずA、B、Sの順に並べ、同じベクトルがあった場合には除外し、先頭から2つのブロックが並べられ比較されることになる。
【0073】
選択されるベクトルが2ビットで示される場合を以下に示す。候補ブロックは
図302に示すA、B、S、Cの4つであったとする。上記の例と同様に符号化対象ブロックのベクトルに最も近いベクトルを選択し、A:00、B:01、C:10、S:11のような形で符号を伝送する。例えば、これらのうち候補ブロックから除外されるものがあれば、そのブロックの順序を繰り上げる。選択したベクトルを示すビット数はフレーム単位、ブロック単位で切り替えてもよい。その場合には別途切り換えを示すフラグを伝送する。
【0074】
図11に選択されるベクトルの符号の記述方法の例を示す。現在の1つ前の符号化対象ブロックの候補ブロック番号をPとし、候補ブロックの数をNとする。現在の符号化対象ブロックの候補ブロック番号をXとする。もし現在の符号化対象ブロックの候補ブロック番号がPであれば0を符号Cとする。そうでなければ、まず1を出力し、さらに続けて(X - P - 1) % N を出力する。逆に、符号Cが0の時は現在の符号化対象ブロックの候補ブロック番号Xは、1つ前の候補ブロック番号Pと同じである。そうではなく符号Cの先頭ビットが1であるときは、先頭ビットを除いた残りの符号をC^として、X = (P + C^ + 1 ) % Nとなる。このようにすることにより、連続して同じ候補ブロック番号が選ばれる場合に符号量を短くすることができる。
【0075】
なお、これらのステップ506からすステップ509の処理は適応PMV選択部106で実行される。
【0076】
次に、ステップ510ではPMV計算とベクトル符号化が行われる。ここではPMVの選択は行われず、通常のmedian演算によってPMVの計算が行われる。これは左側A、上側B、右上Cまたは左上Dのベクトルの各成分についてmedian演算を行い、PMV決定するものである。PMVが決定された後、符号化対象ブロックのベクトルとの差分ベクトルを計算し符号化する。
このステップ510の処理は、PMV予測符号化107で実行される。
【0077】
ステップ511では、各インター予測モードについて動き予測を行い、符号化ブロックの画素について残差成分を取得し、残差成分のDCT変換処理と量子化処理、エントロピー符号化処理とを行い、符号化データを算出する。フテップ511に含まれるここまでの各処理は、DCT変換部108、量子化部109、エントロピー符号化部110で実行される。またさらに、当該符号化データからエントロピー復号処理、逆量子化、逆DCT変換処理を行い、復号画像の作成を行う。これにより符号化データと復号画像を出力する。ステップ511に含まれるこれまで各処理は、逆量子化部111、逆DCT変換部112で行われる。
【0078】
次に、ステップ512では、ステップ503およびステップ511の処理結果に従い、各符号化モードについての画像符号化結果を比較して、当該ブロックについて出力する符号化モードを決定する。ステップ512の処理は、モード選択部113で実行される。
【0079】
次に、ステップ513では、ステップ512で選択した符号化モードにおける符号化データを符号化ストリームとして出力する。ステップ513の処理は、データ出力部114で実行される。
【0080】
以上説明したように、実施例1における符号化処理が行われる。
【0081】
以上説明した実施例1に係る画像符号化装置及び画像符号化方法によれば、既存の符号化方式よりも精度が高く、かつ符号量の少ないインター予測が可能となり、既存方式よりも圧縮効率の高い画像符号化装置及び画像符号化方法を実現することが可能となる。
【0082】
また、実施例1に係る画像符号化装置及び画像符号化方法は、これらを用いた記録装置、携帯電話、デジタルカメラ等に適用することが可能である。
【0083】
以上説明した実施例1に係る画像符号化装置及び画像符号化方法によれば、符号化データの符号量を低減し、当該符号化データを復号した場合の復号画像の画質の劣化を防ぐことが可能となる。すなわち、高い圧縮率とより良い画質とを実現することができる。
【実施例2】
【0084】
次に、
図2に実施例2に係る画像復号装置のブロック図の例を示す。
【0085】
本実施例の画像復号装置は、ストリーム解析部201、モード判定部202、係数解析部203、イントラ予測合成部204、適応PMV選択復号部205、動き予測合成部206、逆量子化部207、逆DCT変換部208、復号画像メモリ209、画像出力部210を備えている。
【0086】
以下に、画像復号装置の各構成要素の動作を詳細に説明する。なお、画像復号装置の各構成要素の動作は、例えば、以下の記載の通り各構成要素の自律的な動作としても良い。また、例えば、コンピュータの制御部や記憶部が記憶するソフトウェアと協働することにより実現しても構わない。
【0087】
まず、ストリーム解析部201が、入力された符号化ストリームを解析する。ここで、ストリーム解析部201は、パケットからのデータ抽出処理や各種ヘッダ、フラグの情報取得処理も行う。さらに各ブロックの処理を行う。
【0088】
また、このとき、ストリーム解析部201に入力される符号化ストリームは、実施例1に係る画像符号化装置及び画像符号化方法により生成された符号化ストリームである。その生成方法は、実施例1に示したとおりであるので説明を省略する。実施例3に示すデータ記録媒体から読み出した符号化ストリームであってもよい。その記録方法は後述する。
【0089】
次に、モード判定部202は、各ブロックについて、フラグ等によって指定された符号化モードの判別を行う。以下の復号処理は、当該判別結果の符号化モードに対応する処理が行われる。以下にそれぞれの符号化モードについての処理を説明する。
【0090】
まず、符号化モードがイントラ符号化である場合には、イントラ予測合成部204がイントラ予測と予測画像の合成を行う。この方法は従来の方法を用いればよい。ここで、イントラ予測合成部204は合成した予測画像を出力する。
【0091】
符号化モードがフレーム間のインター予測による符号化である場合には、動き予測と予測画像の合成が行われる。まず適応PMV選択復号部205により、適応的にPMVが選択され、復号された差分ベクトルと合成されて動きベクトルが復元される。PMVの選択方法についてはエンコーダとデコーダが同じPMVを選択するように動作するため、実施例1に記述した方法と同様である。
【0092】
続いて、動き予測合成部206が、復元された動きベクトルを用いてブロック内の画素について参照フレームを利用して動き予測を行う。ここで、動き予測合成部206は合成した予測画像を出力する。
【0093】
一方、係数解析部203は、入力符号化ストリームに含まれる各マクロブロックの符号化データを解析し、残差成分の符号化データを出力する。この時、モード判定部202の判別結果の符号化モードに対応する処理が行われる。
【0094】
逆量子化部207は符号化データに逆量子化処理を行い、これを逆DCT変換部208に送る。逆DCT変換部208は、逆量子化された係数を逆DCT変換し残差成分を復元する。
【0095】
上記のようにして復元された各符号化モードの残差成分は、イントラ予測合成部204や動き予測合成部206から出力される予測画像と加算されて、復号画像に戻り、復号画像メモリ209に格納される。復号画像メモリ209には、現在復号しているフレームの情報と、過去に復号したフレームの情報が格納されており、イントラ予測合成部204や動き予測合成部206に参照される。
【0096】
最後に復号された画像が画像出力部210によって出力され、画像の復号が行われる。
【0097】
次に、
図6を用いて、実施例2に係る画像復号装置における画像復号方法の流れについて説明する。
【0098】
まず、ステップ601で、復号対象となる符号化ストリームを取得する。次に、ステップ602では、ステップ601において取得した符号化ストリームに含まれる符号化モードフラグと符号化データを解析する。このステップ601、ステップ602はストリーム解析部201で実行される。
【0099】
次に、ステップ603では、ステップ602において解析した符号化モードフラグを用いて、当該符号化データに含まれる一の符号化単位(ブロック単位や画素単位など)についての符号化モードを判定する。ここでイントラ符号化モードである場合にはステップ604に進み、インター符号化モードである場合にはステップ605に進む。このステップ603は、モード判定部202で実行される。
【0100】
ステップ604では、符号化モードによって指定された方法に従ってイントラ予測を行う。これは既存のイントラ予測方法を用いればよい。このステップ604は、イントラ予測合成部204で実行される。
【0101】
ステップ605では、フレーム単位の諸条件、フラグの情報に従って、該フレームに対してPMV選択を行うかどうかを判定する。フレーム単位でPMV選択を行うか否かの判定はエンコーダとデコーダが同じ処理をするように動作するため、実施例1に記述した方法と同様である。PMV選択を行わない場合にはステップ609に進み、それ以外はステップ606に進む。ステップ606では符号化モード、ブロック単位の諸条件、フラグの情報に従って、該ブロックに対してPMV選択を行うかどうかを判定する。ブロック単位でPMV選択を行うか否かの判定はエンコーダとデコーダが同じ処理をするように動作するため、実施例1に記述した方法と同様である。PMV選択を行わない場合にはステップ609に進み、それ以外はステップ607に進む。
【0102】
ステップ607ではPMV候補ブロックの調整を行う。ここでは条件によってどのブロックを候補ブロックに含め、どのブロックを含めないかを判定する。PMV候補ブロックの調整はエンコーダとデコーダが同じ処理をするように動作するため、実施例1に記述した方法と同様である。
【0103】
ステップ608ではPMV選択とベクトル復号が行われる。PMVの選択方法は、エンコーダとデコーダが同じ処理をするように動作するため、実施例1に記述した方法と同様である。ベクトルの復号は、PMVと復号された差分ベクトルを合成して符号化対象ブロックの動きベクトルを復元する。
【0104】
次に、ステップ609ではPMV計算とベクトル復号が行われる。PMVの計算方法は、エンコーダとデコーダが同じ処理をするように動作するため、実施例1に記述した方法と同様である。ベクトルの復号は、PMVと復号された差分ベクトルを合成して符号化対象ブロックの動きベクトルを復元する。これらのステップ605、ステップ606、ステップ607、ステップ608及びステップ609は、適応PMV選択復号部205で実行される。
【0105】
ステップ610では復元されたベクトルと参照フレームを用いてインター予測を行い、予測画像を合成する。これは判定された符号化モードに応じて、
図2における画像復号装置のイントラ予測合成部204、動き予測合成部206が、それぞれの対応する符号化モードの場合に予測画像の合成処理を行えばよい。このステップ610は、動き予測合成部206で実行される。
【0106】
ステップ611では、予測画像と残差成分を合成し、復号画像の生成を行う。まず符号化データを解析し、当該符号化データについて逆量子化処理、逆DCT変換処理を行い、前記一の符号化単位についての残差成分の復号を行う。これに予測画像を合成して復号画像の生成を行い、メモリに記憶する。最後に、ステップ612では、生成された復号画像の出力を行う。このステップ611の各処理は、係数解析部203、逆量子化部207、逆DCT変換部208、復号画像メモリ209及び画像出力部210で実行される。
【0107】
なお、本実施例においても、例に示す以外にも、符号化モードで用いるブロックのサイズなどをパラメータとして、各符号化モードを細分化して規定した符号化ストリームを、復号対象ストリームとしてもよい。
【0108】
以上説明した実施例2に係る画像復号装置及び画像復号方法によれば、既存の符号化方式よりも精度が高く、かつ符号量の少ないインター予測が可能となり、既存方式よりも圧縮効率の高い画像復号装置及び画像復号方法を実現することが可能となる。
【0109】
また、実施例2に係る画像復号装置及び画像復号方法は、これらを用いた再生装置、携帯電話、デジタルカメラ等に適用することが可能である。
【0110】
以上説明した実施例2に係る画像復号装置及び画像復号方法によれば、符号量の少ない符号化データをより高画質に復号することが可能となる。