以下、本発明の実施の形態について、図1から図19を用いて説明する。
(実施の形態1)
図1は、本発明の画像処理部100の構成を示すブロック図である。本実施の形態1の画像処理部100は、高解像度画像である入力画像を縮小して得られる低解像度画像と参照画像となる低解像度画像を用いて検出された動きベクトルと、前記参照画像となった低解像度画像に対応する高解像度画像とを用いて、入力画像に対応する動き補償画像を生成する処理部であって、動き補償部101、動き検出部102、および制御部103を備える。
動き検出部102には、参照画像となる低解像度画像RLと符号化対象を縮小した低解像度画像CLとが入力される。また、動き補償部101には参照画像となる高解像度画像RHが入力される。
図2は、低解像度画像と高解像度画像の関係を示す図である。低解像度画像RLと高解像度画像RHとは同じ画像から生成された画像である。例えば、低解像度画像RLは高解像度画像RHを縮小した画像である場合、低解像度画像RLと高解像度画像RHとはある画像を階層的画像符号化で符号化した画像のペアである場合、ある画像を異なる縮小率で縮小した画像が低解像度画像RLと高解像度画像RHとである場合、等が考えられる。図2では、低解像度画像と高解像度画像は、水平、垂直共に1:2の解像度比を持つ場合を示しているが、解像度比はこの比には限らない。
図1に示した動き検出部102では、低解像度画像CLの低解像度画像RLに対する動きを検出する。動き検出の際には、制御部503から動き検出の対象となるブロックの位置、探索を行う範囲、及びブロックの大きさなどが指定される。図3(a)は、低解像度画像を用いて画素毎に動きベクトルを検出する方法を示す図である。動き検出の方法について図3(a)を用いて説明する。ここでは制御部103から指定された動き検出の対象となるブロックの位置が(Cx,Cy)であり、ブロックの大きさが1画素×1画素であるとする。すなわち、低解像度画像CL内の位置(Cx,Cy)にある画素(×印の画素であり、この場合のブロックの画素数は1である。以降、この画素を対象画素と呼ぶ)の、低解像度画像RLに対する動きを求めることになる。対象画素の動きを求める際には、対象画素の周辺の画素も利用することができる。例えば、対象画素を含めた3画素×3画素の領域301を用いて低解像度画像RLを探索し、動き検出を行うことができる。動き検出の際の領域の大きさは、異なる画素数であっても良いし、元のブロックが複数画素で構成される場合には探索を行うための周辺画素を用いずに動き検出をしても良い。動き検出においてはコスト関数を設定し、そのコスト関数が最小となる低解像度画像RL内の位置を決定する。ここでコスト関数としては、低解像度画像CL内の領域301の画素値と、低解像度画像RL内の領域(領域301と同じ大きさを有する領域)の画素値の差分値(差分絶対値和や差分2乗値和)としても良い。また、画素値の差分値に更に、例えば、検出された動きベクトルと周辺画素または周辺ブロックの動きベクトルとの差の大きさに重み係数を乗算したものなどを加えた値をコスト関数としても良い。ここで対応画素間の差分値を計算する際には、画像の画素値をそのまま用いてもよいし、画素値にハニング窓等の窓関数を施して用いても良い。コスト関数が最小となる位置が領域303であるとすると、ここで求められた動き量は(Mx,My)となる。
動き検出部102で検出された動き量は動きベクトルMVとして動き補償部101に入力される。動き補償部101には、高解像度画像RHと動きベクトルMVが入力される。動き補償部101では、制御部103から入力された位置情報、動き検出部102から入力された動きベクトルMVに基づいて、高解像度画像RHから高解像度(動き補償)画像MHを生成する。図4は、動き検出部102から入力された動きベクトルMVに基づいて、高解像度画像RHから高解像度(動き補償)画像MHを生成する方法を示す図である。この様子を、図4を用いて説明する。図2に示したように、低解像度画像と高解像度画像の解像度比は水平、垂直共に1:2であったので、低解像度画像CLの位置(Cx,Cy)の画素に対応する、高解像度画像MHの画素位置は(2Cx,2Cy)を左上端とする2画素×2画素の領域となる。また、高解像度画像間での動きベクトルは2MV(水平方向および垂直方向の両成分に対して2倍を施す)となる。したがって、高解像度画像MHの画素は、高解像度画像RHの(2Cx+2Mx,2Cy+2My)を左上端とする2画素×2画素の領域の画素となる。
以降、同様の処理を低解像度画像CLに対する全領域に対して施し、対応する高解像度画像MHの全領域に対して動き補償を実施することにより、高解像度画像RHから動き補償して高解像度画像MHを生成する。これにより、低解像度画像RLには含まれない高周波成分を表す画素値を高解像度画像RHから抽出して高解像度画像MHを構成することができるので、高解像度画像RHと同程度の解像度を持つ高解像度画像MHを得ることができるという効果がある。従って、高解像度画像RHの代わりに、低解像度画像RLを画素補間により拡大して得られる画像から画素値を抽出してもこの効果を得ることはできない。
なお、本実施の形態においては、動き検出部102で動き検出を行う際に低解像度画像CLと低解像度画像RLとを用いて動きを検出する場合について説明したが、これは低解像度画像RLと低解像度画像CLとを2倍に拡大した後に動き検出を行い、動きベクトルを求めても良い。この場合、高解像度画像MHを生成する際には1画素毎に高解像度画像RHから動き補償をすることができる。
また、本実施の形態においては、動き検出部102で動き検出を行う際に、低解像度画像CLと低解像度画像RLとを用いて1画素精度の動きを検出する場合について説明したが、低解像度画像RLを拡大した後に動き検出を行い、1/4画素、1/8画素精度の動きベクトルを求めても良い。このような処理により、高解像度画像MHを生成する際には小数精度で高解像度画像RHから動き補償をすることができる。この場合には、高解像度画像RHを拡大(内挿)した後に動き補償すれば良い。
また、本実施の形態においては、動き検出および動き補償の参照画像が1枚である場合について説明したが、これは複数の画像を用いても良い。
また、本実施の形態においては、動き検出部102で動き検出を行う際に、低解像度画像CLと低解像度画像RLとを用いる方法について説明したが、これは高解像度画像RHと高解像度画像MHとを用いても良い。図3(b)は、低解像度画像CLと低解像度画像RLおよび高解像度画像RHと高解像度画像MHを用いて動き検出を行う方法を示す図である。図3(b)を用いてこの方法を説明する。この場合、高解像度画像MHには一部生成されていない画素が存在するため、低解像度画像CLの領域301の画素と高解像度画像MHの領域302の画素とを用いて低解像度画像RLと高解像度画像RHに対して動きを検出する。より具体的には、動き検出でのコスト関数における画素値の差分値として、
領域301の画素値と、低解像度画像RL内の領域(領域301と同じ大きさを有する領域)の画素値の差分値に加えて、領域302の画素値と、高解像度画像RH内の領域(領域302と同じ大きさと形状を有する領域)の画素値の差分値を考慮して、動きを検出する。この場合、そのようなコスト関数が最小となる動きベクトルを×印の画素の動きベクトルとする。
また、参照画像として用いる高解像度画像RHは、予め得られている高解像度画像だけではなく、本実施の形態において生成した高解像度画像であっても良い。
(実施の形態1の変形例)
実施の形態1の変形例である画像処理部800について、図5を用いて説明する。図5は、実施の形態1の変形例である画像処理部800の構成を示すブロック図である。本変形例の画像処理部800は、図1を用いて説明した本発明の画像処理装置100に、選択部801を追加した構成となっている。実施の形態1では、生成したい高解像度画像MHに対応する低解像度画像CLが予め得られている条件の下で、参照画像となる低解像度画像RLに対する低解像度画像CLの動きを検出し(または低解像度画像RLおよび高解像度画像RHに対する低解像度画像CLおよび高解像度画像MHの動きを検出し)、検出された動きベクトルを元に高解像度画像RHを動き補償して高解像度画像MHを生成したが、本変形例では複数の方法で動きを検出した後に動き検出方法に応じた動き補償画像を生成し、それら複数の動き補償画像の中から、最適な動き補償画像を選択する点に特徴がある。
ここで、動き検出部102および動き補償部101は、請求項でいう「さらに、前記第1の低解像度画像と前記第1の高解像度画像の生成済みの画素につき、複数の前記第2の低解像度画像と複数の前記第2の高解像度画像とを探索して複数の動きベクトルを検出し、前記第1の低解像度画像に対応する複数の第1の高解像度画像を生成する前記画像処理ステップ」を実行する手段に相当し、選択部801は、請求項でいう「前記画像処理ステップによって生成された複数の前記第1の高解像度画像のうち、1つの第1の高解像度画像を選択する選択ステップ」を実行する手段に相当する。
動き検出部102は、参照画像となる低解像度画像RL、符号化対象である低解像度画像CL、参照画像となる高解像度画像RH、高解像度動き補償画像MHを生成する処理対象であり少なくとも一部が生成された高解像度画像MHが入力される。また、動き補償部101には高解像度画像RHが入力される。ここで、参照画像となる低解像度画像RL、高解像度画像RHはそれぞれ複数の画像である場合も含む。
動き検出部102では、異なる画像の組み合わせを用いて、動き検出を行う。図6は、複数の参照画像の組み合わせを用いて動き検出を行う一例を示す図である。図6に示すように参照画像が2枚ある場合には、例えば以下のような画像の組み合わせがある。
A.低解像度画像CL(1304)←低解像度画像RL(1303)
B.低解像度画像CL(1304)と高解像度画像MH(1302)←低解像度画像RL(1303)と高解像度画像RH(1301)
C.低解像度画像CL(1304)と高解像度画像MH(1302)←低解像度画像RL(1306)と高解像度画像RH(1305)
D.高解像度画像MH(1302)←高解像度画像RH(1301)
E.高解像度画像MH(1302)←高解像度画像RH(1305)
F.低解像度画像CL(1304)と高解像度画像MH(1302)←低解像度画像RL(1303)、高解像度画像RH(1301)、低解像度画像RL(1306)、高解像度画像RH(1305)
G.高解像度画像MH(1302)←高解像度画像RH(1301)と高解像度画像RH(1305)
H.低解像度画像CL(1304)←低解像度画像RL(1306)
I.低解像度画像CL(1304)←低解像度画像RL(1303)と低解像度画像RL(1306)
ここで「X←Y」は画像Yを参照画像として画像Xの動きを検出することを意味する。また、「F」、「G」、「I」においては、2つの参照画像に対して動きを検出し、各参照画像から得られる動き補償画像の平均(または重み付け平均)を動き補償画像とすることを意味している。なお、2つの動き補償画像の平均をとるとは、2つの動き補償画像で同位置にある画素の画素値の平均を算出し、算出された画素値をその位置の画素の画素値とする動き補償画像を生成することを言う。重み付け平均とは、2つの動き補償画像の画素値にそれぞれ重み係数を乗算して加算平均することを言う。動き検出の方法は実施の形態1で説明した方法と同様であるので、説明は割愛する。
それぞれの方法で検出された動き量は、動きベクトルMVとして動き補償部101に入力される。動き補償部101では、動き検出部102で求めたそれぞれの動きベクトルを用いて動き補償画像を生成し、それを選択部801に対して出力する。動きベクトルMVを用いた動き補償画像の生成方法は、実施の形態1で説明した方法と同様であるので説明は割愛する。
選択部801には、低解像度画像CLと動き補償部101で生成された複数の動き補償画像とが入力される。選択部801では、入力された複数の動き補償画像の中から最適な動き補償画像を選択する。ここで選択の基準としては、例えば動き補償画像を低解像度画像CLと同じ解像度に縮小し、その縮小画像と低解像度画像CLとの差分値(差分絶対値和や差分二乗和)が最小となるものを選択する方法がある。または、動き補償画像と低解像度画像CLを周波数変換し、その低周波数成分同士の差分値(差分絶対値和や差分二乗和)が最小となるものを選択する方法がある。また、差分値が所定のしきい値よりも小さい値とならないような場合には、低解像度画像CLを動き補償画像と同じサイズに拡大した画像を選択しても良い。ここで、動き補償画像を選択する際には、例えば、4画素×4画素のブロック、8画素×8画素のブロック及びマクロブロックなどの正方形や長方形のブロック単位や領域単位で行う方法、全画面で行う方法がある。
選択された動き補償画像(または低解像度画像CLを動き補償画像と同じサイズに拡大した画像)は、動き補償画像MHとして出力される。
なお、本実施の形態の変形例においては、9つの方法で動き量を検出し、それぞれの動き量に応じた動き補償画像を生成する場合について説明したが、これは他の方法で動き量を検出しても構わないし、一部の方法のみを用いて動き量を検出しても良い。
以上のように、本発明の画像処理方法では、生成したい第1の高解像度画像に対応する第1の低解像度画像が予め得られている条件の下で、1枚または複数枚の参照画像となる第2の低解像度画像に対する第1の低解像度画像の動きを検出し(または第2の低解像度画像および第2の高解像度画像に対するそれぞれ第1の低解像度画像および第1の高解像度画像の動きを検出し)、検出された動きベクトルを元に第2の高解像度画像を動き補償して第1の高解像度画像を生成する。
上記のような処理を1画素等の小さな領域を単位として施すことにより、高画質な第1の高解像度画像を生成することができる。またこの処理は、低解像度画像間の動き検出結果または既に生成された領域の高解像度画像間の動き検出結果を用いて行うので、画像データ以外の付加情報は全く不要である。
(実施の形態2)
本発明の画像符号化装置について図7を用いて説明する。図7は、実施の形態1で説明した画像処理部100(または800)を用いて符号化対象高解像度画像の動き補償画像を生成する画像符号化装置の構成を示すブロック図である。この画像符号化装置では、すべてのピクチャを低解像度化して低解像度画像として符号化した上、低解像度画像の符号化の際に検出された動きベクトルを用いて高解像度画像の動き補償画像を生成する。同図に示すように、本実施の形態2の画像符号化装置は、フレームメモリ501、差分演算部502、予測誤差符号化部503、符号列生成部504、予測誤差復号部505、加算演算部506、フレームメモリ507、画面内予測/動きベクトル検出部508、モード選択部509、符号化制御部510、スイッチ514、515、画像縮小部516、フレームメモリ517、低解像度画像符号化部518、画像処理部100(または800)を備える。画像処理部100(800)は、実施の形態1で説明した図1の画像処理装置100、または実施の形態1の変形例で説明した図5の画像処理装置800、と同じ構成を有している。
入力画像は時間順にピクチャ単位でフレームメモリ501に入力される。フレームメモリ501に入力された各ピクチャは、符号化制御部510により符号化順に並び替えられる。符号化順への並び替えは、ピクチャ間予測符号化における参照関係に基づいて行われる。すなわち、参照ピクチャとして用いられるピクチャが、それを参照ピクチャとして用いるピクチャよりも先に符号化されるように並び替えられる。
フレームメモリ501で並び替えが行われた各ピクチャは、順に符号化される。各ピクチャはまず画像縮小部516に入力される。画像縮小部516は、例えば、縦横を1/2の大きさに縮小することにより、入力されたピクチャを低解像度画像に変換する。低解像度画像は低解像度画像符号化部518でブロック単位で符号化される。低解像度画像符号化部518では、低解像度画像をJPEG方式やMPEG方式で符号化するものとする。低解像度画像符号化部518で生成された符号列には、低解像度画像を動き検出して得られた動きベクトルと、得られた動きベクトルに基づいて得られる動き補償画像との予測残差とが含まれる。低解像度画像符号化部518で生成された符号列は符号列生成部504に対して出力される。また、低解像度画像符号化部518で生成された局部復号画像(符号化対象低解像度画像を符号化し復号して得られる画像)はフレームメモリ517で保持される。
続いてフレームメモリ501で並び替えが行われた各ピクチャは、高解像度画像として符号化される。この場合各ピクチャは、フレームメモリ501からマクロブロックの単位で読み出されるとする。ここでは、マクロブロックは水平16画素×垂直16画素の大きさであるとする。また、動き補償はブロック単位(ここでは8画素×8画素の大きさとする)単位で行うものとする。以下では、片方向予測符号化ピクチャ(Pピクチャ)として符号化を行うものとして、符号化処理を順に説明する。
符号化制御部510は、入力されたピクチャをどのタイプのピクチャ(I、PまたはBピクチャ)で符号化するかを決定し、そのピクチャタイプにより、スイッチ514、スイッチ515を制御する。ここで、ピクチャタイプの決定は、例えば、周期的にピクチャタイプを割り当てる方法が一般的に用いられる。ピクチャタイプの決定により、フレームメモリ501内でピクチャの符号化順序の入れ替えが行われる。
Pピクチャの符号化においては、符号化制御部510は、スイッチ514、スイッチ515がオンになるように各スイッチを制御する。したがって、フレームメモリ501から読み出された符号化対象ピクチャのマクロブロックは、まず画面内予測/動きベクトル検出部508、モード選択部509、差分演算部502に入力される。
画面内予測/動きベクトル検出部508では、フレームメモリ507に蓄積された復号画像データを参照ピクチャとして用い、マクロブロック内の各ブロックに対して、画面内予測方法の決定または動きベクトルの検出を行う。ここで画面内予測とは、符号化対象ブロックの周辺画素を用いて予測画像を生成する方法である。決定された画面内予測方法または動きベクトル、および画面内予測により得られる画面内予測画像または動きベクトルにより参照画像から得られる動き補償画像は、モード選択部509に対して出力される。
一方、画像処理部100(800)には、フレームメモリ517から低解像度画像の参照画像RL、現在の符号化対象画像に対応する低解像度画像CLが入力され、フレームメモリ507から低解像度画像RLに対応する高解像度復号画像RHが入力される。そして画像処理部100(800)は、本発明の第1の実施の形態または第1の実施の形態の変形例で説明した方法と同様の処理により、動き補償画像MHを生成してモード選択部509に対して出力する。
モード選択部509では、画面内予測/動きベクトル検出部508で検出した画面内予測方法または動きベクトルおよび取得した画面内予測画像または動き補償画像、画像処理部100(800)で生成された動き補償画像MHを用いて、マクロブロックの符号化モードを決定する。ここで符号化モードとは、マクロブロックをどのような方法で符号化するかを示すものである。例えば、Pピクチャの場合には、画面内予測符号化、動き検出部508で検出した動きベクトルにより得られる動き補償画像を用いるピクチャ間予測符号化、画像処理部100(800)で生成した動き補償画像を用いるピクチャ間予測符号化の中から、いずれの方法で符号化するかを決めることができるとする。符号化モードの決定においては、一般的には、より少ないビット量でより符号化誤差が小さくなる方法を選択する。動き検出部508で検出した動きベクトルにより得られる動き補償画像を用いるピクチャ間予測符号化の場合には、動き補償残差の符号以外に、動きベクトルの符号を符号列中に記述する必要がある。また動き補償画像は、8画素×8画素等の単位で求められた動きベクトルを用いて生成されている。画像処理部100(800)で生成した動き補償画像を用いるピクチャ間予測符号化の場合には、動き補償残差の符号のみを符号列に記述する。画像処理部100(800)で生成された動き補償画像は、低解像度画像を用いて最小1画素単位で求められた動き量を用いて生成されている。ここで、注意すべきことは、低解像度画像符号化部518では必ず低解像度画像を用いた符号化が行われ、符号列が生成されることである。本実施の形態の画像符号化装置では、低解像度画像符号化部518の処理に加えて、さらに、高解像度画像を用いた符号化が行われる。高解像度画像を用いた符号化では、モード選択部509により最も符号化効率の高い符号化が選択され、符号列が生成される。
モード選択部509で決定された符号化モードは符号列生成部504に対して出力される。また、動きベクトルは、モード選択部509から符号列生成部504に対して出力される。
次に、モード選択部509で決定された符号化モードに基づいた参照画像が、差分演算部502と加算演算部506とに出力される。
以下では、モード選択部509でピクチャ間予測符号化が選択された場合について説明する。
差分演算部502には、マクロブロックの画像データ以外に、モード選択部509から参照画像が入力される。差分演算部509では、マクロブロックの画像データと参照画像との差分を演算し、予測誤差画像を生成し出力する。
予測誤差画像は予測誤差符号化部503に入力される。予測誤差符号化部503では、入力された予測誤差画像に対して周波数変換や量子化等の符号化処理を施すことにより、符号化データを生成して出力する。ここで例えば、周波数変換や量子化の処理は、水平8画素×垂直8画素の単位で行うことができる。予測誤差符号化部503から出力された符号化データは、符号列生成部504と予測誤差復号部505に入力される。
符号列生成部504では、入力された符号化データに対して、可変長符号化等を施し、さらにモード選択部509から入力された動きベクトルの情報、符号化モードの情報(具体的には、(1)画面内予測符号化、(2)画面間予測符号化、(3)本発明の低解像度画像を用いた高解像度画像生成による符号化のいずれで符号化を行ったかを示す情報)、その他のヘッダ情報、低解像度画像生成部518から入力された符号列、等を付加することにより符号列を生成する。またこの際に、ヘッダ情報として画像処理部100(800)でどのような処理方法を用いたのかを示すフラグ情報を記述しても良い。このフラグ情報は、例えば画像処理部100(800)でどのような方法で動きを検出したか、どのような方法で動き補償画像を生成し、その中からどの動き補償画像を選択したか、どのような基準で動き補償画像を選択したか、及び参照高解像度画像RH内での探索範囲をどれぐらいの範囲にするか等の情報を示すものである。図8は、画像処理部100(または800)でどのような画像処理方法を用いたのかを示すフラグ情報の記述例を示す図である。フラグ情報の記述位置の例を図8に示す。
予測誤差復号部505では、入力された符号化データに対して、逆量子化や逆周波数変換等の復号処理を施し、復号差分画像を生成して出力する。復号差分画像は加算演算部506において、予測画像と加算されることにより復号画像となり、フレームメモリ507に蓄積される。
同様の処理により、符号化対象ピクチャの残りのマクロブロックに対して、符号化処理が行われる。
以上のように本発明の画像符号化方法では、高解像度画像の符号化を行う際に、低解像度画像により求めた動きベクトルを用いて動き補償画像を生成する符号化モードを用いる。高解像度画像間の動きベクトルを用いて動き補償画像を生成する従来の符号化モードでは、動きベクトル情報を符号列中に記述する必要が生じる。また従来の符号化モードにおいて動き補償精度を向上させるためには、マクロブロック当たりの動きベクトル数を増加させる必要があるが、動きベクトル情報の符号量が更に増加することになる。本発明の符号化モードでは、動きベクトル情報を符号列中に記述する必要は全くない。したがって、動きベクトル数を増加させることにより動き補償精度を向上させ、それにより符号化効率を大きく向上させることができる。
(実施の形態3)
本発明の画像復号装置の実施の形態について、図9を用いて説明する。図9は、実施の形態3の画像復号化装置の構成を示すブロック図である。本実施の形態3の画像復号化装置は、実施の形態2の画像符号化装置によって生成された符号列を復号化する画像復号化装置であって、符号列解析部701、予測誤差復号化部702、モード復号部703、画面内予測/動き補償復号部705、フレームメモリ707、加算演算部708、スイッチ711、低解像度画像復号部712、フレームメモリ713、画像処理部100(または800)を備える。以下では、Pピクチャの復号処理を一例として具体的に説明する。
Pピクチャの符号列は符号列解析部701に入力される。符号列解析部701では、入力された符号列を低解像度画像の符号列と高解像度画像の符号列とに分離する。低解像度画像の符号列は、低解像度画像復号部712に対して出力され、低解像度画像復号部712で符号化方法に適した(JPEG方式やMPEG方式で)復号処理が施される。復号された低解像度画像はフレームメモリ713に蓄積される。
一方、符号列解析部701で分離された高解像度画像の符号列からは、各種データが抽出される。ここで各種データとは、モード選択情報、動きベクトル情報、ヘッダ情報、等である。抽出されたモード選択の情報は、モード復号部703に対して出力される。また、抽出された動きベクトル情報は、画面内予測/動き補償復号部705に対して出力される。さらに、予測誤差符号化データは予測誤差復号部702に対して出力される。またこの際に、ヘッダ情報として符号化時に画像処理部100(800)でどのような処理方法を用いたのかを示すフラグ情報が記述されている場合、このフラグ情報を画像処理部100(800)に対して出力する。このフラグ情報は、例えば画像処理部100(800)でどのような方法で動きを検出したか、どのような方法で動き補償画像を生成し、その中からどの動き補償画像を選択したか、どのような基準で動き補償画像を選択したか、及び高解像度画像RH内での探索範囲をどれぐらいの範囲にするか等の情報を示すものである。
モード復号部703では、符号列から抽出されたモード選択の情報を参照し、スイッチ711の制御を行う。モード選択が符号列に記述された動きベクトル情報を用いるピクチャ間予測符号化である場合には、スイッチ711は端子fに接続するように制御する。またモード選択が(本発明の第1の実施の形態で説明した)低解像度画像を用いて求めた動きベクトルを用いたピクチャ間予測符号化である場合には、スイッチ711は端子eに接続するように制御する。
またモード復号部703では、モード選択が符号列に記述された動きベクトル情報を用いるピクチャ間予測符号化である場合には、モード選択の情報を画面内予測/動き補償復号部705に対して出力する。また、低解像度画像を用いて求めた動きベクトルを用いたピクチャ間予測符号化である場合には、モード選択の情報を画像処理部100(800)に対して出力する。
予測誤差復号部702では、入力された予測誤差符号化データの復号を行い、予測誤差画像を生成する。生成された予測誤差画像は加算演算部708に対して出力される。
モード選択が符号列に記述された動きベクトル情報を用いたピクチャ間予測符号化である場合は、画面内予測/動き補償復号部705が処理を行う。画面内予測/動き補償復号部705は、符号列解析部701から入力された、符号化された動きベクトルに対して、復号処理を行う。そして、復号された参照ピクチャ番号と動きベクトルとに基づいて、フレームメモリ707から動き補償画像(ブロック)を取得する。このようにして生成された動き補償画像は加算演算部708に対して出力される。
モード選択が低解像度画像を用いて求めた動きベクトルを用いたピクチャ間予測符号化である場合には、画像処理部100(800)が処理を行う。画像処理部100(800)には、フレームメモリ713から低解像度画像の参照画像RL、現在の復号対象画像に対応する低解像度画像CLが入力され、フレームメモリ707から低解像度画像RLに対応する高解像度復号画像RHが入力される。そして画像処理部100(800)は、本発明の第1の実施の形態またはその変形例で説明した方法と同様の処理により動き補償画像MHを生成する。生成された動き補償画像MHは、スイッチ711を通して加算演算部708に対して出力される。
加算演算部708では、入力された予測誤差画像と動き補償画像とを加算し、復号化画像を生成する。生成された復号化画像はフレームメモリ707に対して出力される。
以上のようにして、Pピクチャのマクロブロックが順に復号される。復号対象ピクチャのマクロブロックがすべて復号されると、次のピクチャの復号処理が行われる。
以上のように本発明の画像復号方法では、低解像度画像と高解像度画像とが両方符号化された符号列から、低解像度画像を復号し、さらに高解像度画像の復号を行う際に、低解像度画像により画素単位で求めた動きベクトルを用いて動き補償画像を生成する符号化モードを用いる。高解像度画像間の動きベクトルを用いて動き補償画像を生成する従来の符号化モードでは、動きベクトル情報を符号列中に記述する必要が生じる。また従来の符号化モードにおいて動き補償精度を向上させるためには、マクロブロック当たりの動きベクトル数を増加させる必要があるが、動きベクトル情報の符号量が更に増加することになる。本発明の符号化モードでは、復号化された低解像度画像を用いて、画像符号化装置と画像復号化装置とで同じ方法により動きベクトルを検出するので、動きベクトル情報を符号列中に記述する必要は全くない。したがって、マクロブロック当たりの動きベクトル数を増加したとしても、符号量の増加を招くことがない。そして、低解像度画像を用いて画素単位で動きベクトルを検出することにより、動きベクトル数を増加させ、動き補償精度を向上させることができる。それにより本発明の画像符号化装置及び画像復号化装置は、符号量の増加を招くことなく動き補償の精度を向上し高解像度画像を得ることができるので、符号化効率を大きく向上させることができる。
(実施の形態4)
本発明の画像符号化装置について図10を用いて説明する。図10は、本実施の形態4の画像符号化装置900の構成を示すブロック図である。本実施の形態の画像符号化装置900は、入力画像のうちの一部の画像を縮小して符号化する際に、低解像度で符号化されたピクチャが高解像度で符号化されるピクチャに参照される場合に、実施の形態1で説明した方法で画像処理部100(または800)によって動き補償高解像度画像を生成する画像符号化装置であって、フレームメモリ901、差分演算部902、予測誤差符号化部903、符号列生成部904、予測誤差復号部905、加算演算部906、フレームメモリ907、画面内予測/動きベクトル検出部908、モード選択部909、符号化制御部910、スイッチ914〜917、画像縮小部918、画像縮小部919、画像処理部100(または800)を備える。画像処理部100(または800)は、実施の形態1で説明した図1の画像処理装置100、または実施の形態1の変形例で説明した図5の画像処理装置800と同じ構成を有している。
同図において、符号化制御部910は、請求項でいう「符号化対象ピクチャのピクチャタイプに応じて、前記符号化対象ピクチャを高解像度画像として符号化するか、低解像度画像として符号化するかを判定する符号化制御手段」に相当し、画像縮小部917は、請求項でいう「前記符号化制御手段によって低解像度画像として符号化すると判定された符号化対象ピクチャを低解像度化する第1の画像縮小手段」に相当し、画像縮小部1001は、請求項でいう「前記符号化制御手段によって低解像度画像として符号化すると判定された符号化対象ピクチャが、高解像度画像として符号化されたピクチャを参照ピクチャとする場合、高解像度画像として符号化された前記参照ピクチャを低解像度化する第2の画像縮小手段」に相当し、動き検出部908、モード選択部909、差分演算部902及び予測残差符号化部903は、請求項でいう「前記第1の画像縮小手段によって低解像度化された符号化対象ピクチャを、前記第2の画像縮小手段によって低解像度化された前記参照ピクチャを参照して符号化する符号化手段」に相当する。
また、画像処理部100(または800)は、請求項でいう「前記符号化制御ステップによって高解像度画像として符号化すると判定された符号化対象ピクチャが、低解像度画像として符号化されたピクチャを参照ピクチャとする場合、前記低解像度画像として符号化された前記参照ピクチャを高解像度化する画像処理ステップ」を実行する手段に相当し、フレームメモリ907、画面内予測/動き検出部908、モード選択部909、差分演算部902及び予測誤差符号化部903は、請求項でいう「前記画像処理ステップによって高解像度化された前記参照ピクチャを参照して、前記符号化対象ピクチャを符号化する前記符号化ステップ」を実行する手段に相当する。
さらに、画像処理部100(または800)は、請求項でいう「前記参照ピクチャとされたピクチャであって低解像度画像として符号化された第1の低解像度画像につき、前記参照ピクチャが低解像度画像として符号化されるとき参照した第2の低解像度画像を探索して、1又は複数の画素単位で動きベクトルを検出し、検出された前記動きベクトルを用いて、前記第2の低解像度画像に対応する第2の高解像度画像の画素値を取得し、前記第1の低解像度画像に対応する第1の高解像度画像を生成する前記画像処理ステップ」を実行する手段に相当する。
また、画像処理部100(または800)は、別の請求項でいう「さらに、前記第1の高解像度画像の生成済みの画素につき、第2の高解像度画像を探索して、1又は複数の画素単位で動きベクトルを検出し、検出された前記動きベクトルを用いて、第2の高解像度画像の画素値を取得し、前記第1の高解像度画像内で同じ位置にある画素について取得された画素値の平均値を当該画素の画素値とする前記画像処理ステップ」を実行する手段に相当する。
図11(a)は、高解像度画像からなる動画像の入力画像を示す図である。入力画像列の例を図11(a)に示す。ここで、各画像に付与した先頭の記号はピクチャタイプ(I:画面内予測符号化ピクチャ、P:一方向画面間予測符号化ピクチャ、B:二方向画面間予測符号化ピクチャ)を示し、数字は表示順番号を示す。
入力画像は表示順にピクチャ単位でフレームメモリ901に入力される。フレームメモリ901に入力された各ピクチャは、符号化順に並び替えられる。符号化順への並び替えは、ピクチャ間予測符号化における参照関係に基づいて行われ、参照ピクチャとして用いられるピクチャが、参照ピクチャとして用いるピクチャよりも先に符号化されるように並び替える。例えば、Pピクチャは直前の一枚のIまたはPピクチャのみを参照し、Bピクチャは直前および直後に位置する一枚ずつのIまたはPピクチャを参照するとした場合、ピクチャの符号化順序は、I0、P3、B1、B2、P6、B4、B5、...のようになる。
フレームメモリ901で並び替えが行われた各ピクチャは順に符号化されるが、符号化に先立って特定のピクチャに対しては画像縮小部918において低解像度画像への変換が施される。図11(b)は、IピクチャとPピクチャとを高解像度画像として符号化する場合の解像度切替の例を示す図である。図11(c)は、Iピクチャのみを高解像度画像として符号化する場合の解像度切替の例を示す図である。ここでは図11(b)に示すように、I、Pピクチャにおいては解像度を変換せず、Bピクチャに対しては低解像度に変換を行うものとする。または図11(c)に示すように、Iピクチャにおいては解像度を変換せず、P、Bピクチャに対しては低解像度に変換を行うものとする。なお、どのピクチャタイプに対して低解像度で符号化を行い、どのピクチャタイプに対して高解像度で符号化を行うかは、あらかじめ符号化制御部910に記憶されており、符号化制御部910はその記憶内容に従って各ピクチャにつきいずれの解像度で符号化を行うかを制御するものとする。またここでは水平、垂直共に1/2の大きさに解像度変換している場合を示しているが、解像度変換の比は他の値であっても構わない。またピクチャタイプの決定は、符号化制御部910によりなされるものとする。
続いて、符号化対象の高解像度ピクチャはフレームメモリ901からマクロブロックの単位で読み出されるとする。ここでは、マクロブロックは例えば水平16画素×垂直16画素の大きさであるとする。
フレームメモリ901から読み出された符号化対象高解像度ピクチャのマクロブロックは、まず動きベクトル検出部908、モード選択部909、差分演算部902に入力される。
画面内予測/動きベクトル検出部908では、フレームメモリ907に蓄積された高解像度復号画像データを参照ピクチャとして用い、マクロブロック内の各ブロックに対して、画面内予測または動きベクトル検出を行う。画面内予測方法または検出された動きベクトル、および画面内予測または動きベクトルにより参照高解像度画像から得られる動き補償高解像度画像は、モード選択部909に対して出力される。
モード選択部909では、画面内予測/動きベクトル検出部908で検出した画面内予測方法または動きベクトル、および取得した動き補償高解像度画像を用いて、マクロブロックの符号化モードを決定する。ここで符号化モードとは、マクロブロックをどのような方法で符号化するかを示すものである。例えば、Iピクチャの場合には画面内予測符号化が用いられるとする。P、Bピクチャの場合には、画面内予測符号化、動きベクトルにより得られる動き補償画像を用いるピクチャ間予測符号化、縮小された低解像度画像を用いる低解像度符号化の中から、いずれの方法で符号化するかを決めることができるとする。符号化モードの決定においては、一般的には、より少ないビット量でより符号化誤差が小さくなる方法を選択する。画面内予測符号化の場合には、画面内予測符号化方法を示す符号を符号列中に記述する必要がある。ピクチャ間予測符号化の場合には、低解像度でも高解像度でも動きベクトルを表す符号化データを符号列中に記述する必要がある。
モード選択部909で決定された符号化モードは符号列生成部904に対して出力される。また、画面内予測方法または動きベクトルは、モード選択部909から符号列生成部904に対して出力される。次に、モード選択部509で決定された符号化モードに基づいた参照画像が、差分演算部902とスイッチ909とに出力される。
差分演算部902には、マクロブロックの画像データ以外に、モード選択部909から参照画像が入力される。差分演算部909では、マクロブロックの画像データと参照画像との差分を演算し、予測誤差画像を生成し出力する。
予測誤差画像は予測誤差符号化部903に入力される。予測誤差符号化部903では、入力された予測誤差画像に対して周波数変換や量子化等の符号化処理を施すことにより、符号化データを生成して出力する。ここで例えば、周波数変換や量子化の処理は、水平8画素×垂直8画素の単位で行うことができる。予測誤差符号化部903から出力された符号化データは、符号列生成部904とスイッチ915に入力される。
符号列生成部904では、入力された符号化データに対して、可変長符号化等を施し、さらにモード選択部909から入力された符号化モードの情報、画面内予測方法または動きベクトルの情報、その他のヘッダ情報等を付加することにより符号列を生成する。
符号化制御部910は、ピクチャタイプにより、スイッチ914、スイッチ915を制御する。他のピクチャの参照画像として用いられるI、Pピクチャの符号化においては、符号化制御部910は、スイッチ914、スイッチ915がオンになるように各スイッチを制御する。また、他のピクチャの参照画像として用いられないBピクチャの符号化においては、符号化制御部910は、スイッチ914、スイッチ915がオフになるように各スイッチを制御する。よって、ピクチャタイプがIまたはPピクチャである場合、以下の処理が行われる。
予測誤差復号部905では、入力された符号化データに対して、逆量子化や逆周波数変換等の復号処理を施し、復号差分画像を生成して出力する。復号差分画像は加算演算部906において、予測画像と加算されることにより復号画像となり、スイッチ916に入力される。
符号化制御部910は、符号化対象ピクチャが画像縮小部918で解像度変換されている場合には、スイッチ916を端子lに、スイッチ917を端子jに接続する。この場合、スイッチ916に入力された画像は、画像処理部100(800)において本発明の第1の実施の形態または第1の実施の形態の変形例で説明した方法と同様の方法により処理され、入力画像INと同じ解像度に拡大されて動き補償画像MHとしてスイッチ917に対して出力される。ここで、高解像度画像の参照画像RHはフレームメモリ907から得られ、低解像度画像の参照画像RLは高解像度画像RHを画像縮小部919で解像度変換することにより得られ、低解像度画像CLはスイッチ916を介して得られる。例えば、図11(b)のピクチャB4を高解像度化する場合には、高解像度画像RHとしてピクチャI0、P3、P6のすべてまたは一部を用いれば良い。また、図11(c)のピクチャB4を高解像度化する場合には、高解像度画像RHとしてピクチャI0を用いれば良い。
また、図示しない例でいえば、I0、P3、B1、B2の順で符号化されるピクチャのうち、ピクチャI0とピクチャB2とが高解像度で符号化され、ピクチャP3とピクチャB1とが低解像度で符号化されるとした場合について説明する。ピクチャI0は、高解像度入力画像のまま画面内予測符号化される。次にピクチャP3が画像縮小部918で縮小され、低解像度化される。このピクチャP3は、ピクチャI0を参照して符号化されるため、ピクチャP3の参照ピクチャとなるピクチャI0は、画像縮小部919で縮小されフレームメモリ907に格納される。ピクチャP3は画面内予測/動き検出部908で動き検出され、ピクチャP3の動き補償低解像度画像がモード選択部909を介して、差分演算部902に入力される。差分演算部902では低解像度化されたピクチャP3と動き補償低解像度画像との残差が求められ、予測残差符号化部903で符号化される。符号化された低解像度ピクチャP3の残差はスイッチ915を介して予測残差復号化部905で復号化され、復号化差分画像が生成される。符号化差分画像は、加算演算部906でピクチャP3の動き補償低解像度画像と加算され、局部復号画像が求められる。得られた局部復号画像はスイッチ916とスイッチ917とを介して、フレームメモリ907に蓄積される。
ここで、低解像度画像であるピクチャP3の局部復号画像は、高解像度で符号化されるピクチャB2に参照される。このため、ピクチャP3は画像処理部100(または800)で高解像度化されフレームメモリ907に格納される。この場合、低解像度画像CLであるピクチャP3の参照高解像度画像RHは、フレームメモリ907に蓄積されているピクチャI0である。また、ピクチャP3の参照低解像度画像RLは、フレームメモリから読み出されたピクチャI0を画像縮小部919で縮小して得られる。以下、実施の形態1で説明した方法により、これらの低解像度画像CL、参照低解像度画像RL及び参照高解像度画像RHを用いて、ピクチャP3の動き補償高解像度画像MHを得ることができる。この結果、高解像度で符号化されるピクチャB2は、フレームメモリ907に格納されている高解像度ピクチャI0と、高解像度ピクチャP3(動き補償高解像度画像MH)とを参照して、動き検出及び動き補償を行うことができる。
また符号化制御部910は、符号化対象ピクチャが画像縮小部918で解像度変換されていない場合には、スイッチ916を端子kに、スイッチ917を端子iに接続する。よってこの場合は、スイッチ916に入力された画像は何も処理されないままスイッチ917から出力される。
スイッチ917から出力された画像は、フレームメモリ907に蓄積される。
同様の処理により、符号化対象ピクチャの残りのマクロブロックに対して、符号化処理が行われる。
以上のように本発明の画像符号化方法では、高解像度画像の符号化を行う際に、一部の画像を低解像度化し符号化する。そして低解像度化して符号化した画像は、本発明の画像処理方法により高解像度化した後、他のピクチャを符号化する際の参照画像として用いられる。
本発明の画像符号化方法を用いることにより、入力画像を低解像度化するため符号量の大幅な削減を行うことができる。また、一度低解像度化した画像を復号後に本発明の画像処理方法により高画質な高解像度画像に変換するため、一度低解像度化された画像を参照画像として用いる場合でも低解像度化しない画像を参照画像として用いる場合と比較して、動き補償効率がほとんど低下しない。よって、総合的に符号化効率の大幅な向上を図ることができる。
なお、本実施の形態においては、他のピクチャを符号化する際の参照ピクチャとなるピクチャに対してのみ、スイッチ915をオンにして復号画像を生成する場合について説明したが、これは画像処理部100(800)において高解像度化処理を行う際の参照画像として用いられる画像についてもスイッチ915をオンにして復号画像を生成しても良い。
(実施の形態4の変形例)
実施の形態4の変形例について図12を用いて説明する。図12は、本実施の形態4の変形例である画像符号化装置1000の構成を示すブロック図である。画像符号化装置1000は、図10の画像符号化装置900から、スイッチ917、918、画像処理部100(800)、画像縮小部919を取り除き、画像縮小部1001を追加した構成となっている。
実施の形態4と異なる点は、この変形例では、高解像度画像として符号化されるピクチャが、低解像度画像として符号化されたピクチャを参照画像とすることがない点である。このため、低解像度で符号化され、局部復号された画像は高解像度化されることなく、フレームメモリ907に蓄積される。そして、高解像度画像として符号化されたピクチャが、低解像度画像として符号化されるピクチャの参照画像として用いられる場合には、フレームメモリ907に蓄積された復号画像は、画像縮小部1001で縮小処理を施されてフレームメモリ907に再度蓄積され、参照画像として用いられる。例えば、図11(b)のピクチャI0は、高解像度画像のままその復号画像がフレームメモリ907に一旦蓄積される。そしてピクチャP3の符号化の際には、ピクチャI0の復号画像は解像度変換を施さずに参照ピクチャとして用いられ、ピクチャP3の復号画像は高解像度画像のままフレームメモリ907に一旦蓄積される。ピクチャB1は低解像度に変換されて符号化されるので、ピクチャI0、P3の復号画像は画像縮小部1001で縮小処理を施されてからピクチャB1の参照画像として用いられる。図11(c)の場合も同様で、Iピクチャのみが高解像度画像として符号化され、Pピクチャ及びBピクチャは低解像度画像として符号化される。この場合も、Iピクチャが他のピクチャに参照されるときに低解像度化が必要であるだけで、ピクチャの高解像度化は不要となる。
ここで、符号化制御部910は、請求項でいう「Bピクチャは他のピクチャから参照されないことを前提として、IピクチャとPピクチャとを高解像度画像として符号化し、Bピクチャを低解像度画像として符号化すると判定する前記符号化制御ステップ」を実行する手段に相当する。
また、符号化制御部910は、別の請求項でいう「Iピクチャのみ高解像度画像として符号化すると判定する前記符号化制御ステップ」を実行する手段に相当する。
以上のように本発明の画像符号化方法では、高解像度画像の符号化を行う際に、一部の画像を低解像度化し符号化する。そして低解像度化して符号化する際に、参照画像が高解像度画像である場合には、その参照画像を低解像度化した後符号化を行う。
本発明の画像符号化方法を用いることにより、入力画像の多くのピクチャが低解像度化されて符号化されるため、発生符号量の大幅な削減を行うことができる。
(実施の形態5)
本発明の画像復号方法の実施の形態について、図13を用いて説明する。図13は、復号化の後処理として、復号化された低解像度画像を高解像度化して出力する画像復号化装置の構成を示すブロック図である。本実施の形態5の画像復号化装置は、低解像度画像として符号化されたピクチャを、復号化の後本発明の画像処理部を用いて高解像度化する画像復号化装置であって、符号列解析部701、予測誤差復号部702、モード復号部703、画面内予測/動き補償復号部705、フレームメモリ707、加算演算部708、画像縮小部1001、制御部1101、スイッチ1102、1103、画像処理部100(または800)を備える。以下では、Pピクチャの復号処理について説明する。
ここで、同図において、符号列解析部701、予測残差復号部702及び画面内予測/動き補償復号部705は、請求項でいう「前記符号列に符号化されている復号化対象ピクチャを復号化する復号化手段」に相当し、画像処理部100(または800)は、請求項でいう「前記復号化手段によって復号化されたピクチャが低解像度画像である場合、前記低解像度画像を高解像度化して高解像度画像を生成する復号化画像処理手段」に相当し、フレームメモリ707、スイッチ1102、スイッチ1103及び制御部1101は、請求項でいう「前記復号化画像処理手段によって生成された高解像度画像を出力する出力手段」に相当する。
また、画像処理部100(または800)は、請求項でいう「前記復号化ステップによって復号化された第1の低解像度画像につき、前記第1の低解像度画像が低解像度画像として符号化されるとき参照した復号化済みの第2の低解像度画像を探索して、1又は複数の画素単位で動きベクトルを検出し、検出された前記動きベクトルを用いて、前記第2の低解像度画像に対応する第2の高解像度画像の画素値を取得し、前記第1の低解像度画像に対応する第1の高解像度画像を生成する前記復号化画像処理ステップ」を実行する手段に相当する。
Pピクチャの符号列は符号列解析部701に入力される。符号列解析部701では、入力された符号列から各種データを抽出する。ここで各種データとは、モード選択情報、動きベクトル情報、ヘッダ情報、等である。抽出されたモード選択の情報は、モード復号部703に対して出力される。また、抽出された動きベクトル情報は、画面内予測/動き補償復号部705に対して出力される。さらに、予測誤差符号化データは予測誤差復号部702に対して出力される。またこの際に、ヘッダ情報として符号化時に画像処理部100(または800)でどのような処理方法を用いたのかを示すフラグ情報が記述されている場合、このフラグ情報を画像処理部100(または800)に対して出力する。このフラグ情報は、例えば画像処理部100(または800)でどのような方法で動きを検出したか、どのような方法で動き補償画像を生成し、その中からどの動き補償画像を選択したか、どのような基準で動き補償画像を選択したか、及び参照高解像度画像RH内での探索範囲をどれぐらいの範囲にするか等の情報を示すものである。
モード復号部703では、モード選択の情報を画面内予測/動き補償復号部705に対して出力する。
予測誤差復号部702では、入力された予測誤差符号化データの復号を行い、予測誤差画像を生成する。生成された予測誤差画像は加算演算部708に対して出力される。
画面内予測/動き補償復号部705は、符号列解析部701から入力された、画面内予測方法または動きベクトルに基づいて、フレームメモリ707から画面内予測画像または動き補償画像(ブロック)を取得する。このようにして生成された画面内予測画像または動き補償画像は加算演算部708に対して出力される。
加算演算部708では、入力された予測誤差画像と画面内予測画像または動き補償画像とを加算し、復号画像を生成する。生成された復号画像はフレームメモリ707に蓄積される。
フレームメモリ707に蓄積された復号画像が高解像度画像であり、かつ他のピクチャの復号に参照画像として用いられ、かつその他のピクチャが低解像度画像として符号化されている場合には、画像縮小部1001で縮小されて参照画像として用いられる。
また、フレームメモリ707に蓄積された復号画像は、スイッチ1102に入力される。スイッチ1102、スイッチ1103は制御部1101により制御される。
制御部1101は、復号画像が縮小されずに符号化された画像である場合には、スイッチ1102を端子eに、スイッチ1103を端子gに接続し、フレームメモリ707に蓄積された復号画像はそのまま出力画像として出力される。例えば、図11(b)のように符号化されている場合には、IピクチャとPピクチャの場合がこの処理に相当する。図11(c)のように符号化されている場合には、Iピクチャの場合がこの処理に相当する。制御部1101がスイッチ1102、スイッチ1103をどのように制御するかは、例えばピクチャタイプや各ピクチャの画像サイズの情報から判断することができ、これらの情報は符号列解析部701から得ることができる。
制御部1101は、復号画像が縮小されて符号化された画像である場合には、スイッチ1102を端子fに、スイッチ1103を端子hに接続する。この場合、フレームメモリ707に蓄積された復号画像は画像処理部100(800)に入力される。画像処理部100(800)には、フレームメモリ707から低解像度画像の参照画像RL、現在の復号対象画像に対応する低解像度画像CL、低解像度画像RLに対応する高解像度復号画像RHが入力される。低解像度画像CLまたはRLがフレームメモリ707に蓄積されていない場合には、対応する高解像度画像を画像縮小部1001により縮小して低解像度画像を生成する。そして画像処理部100(800)は、本発明の第1の実施の形態またはその変形例で説明した方法と同様の処理により動き補償画像MHを生成する。生成された動き補償画像MHは、スイッチ1103を通して出力画像として出力される。また、動き補償画像MHが他の画像の復号や高解像度化に用いられる場合には、フレームメモリ707に蓄積される。このようにして、図11(a)のような高解像度画像の復号画像列を得ることができる。
以上のように本発明の画像復号方法では、各ピクチャが低解像度画像または高解像度画像として符号化された符号列を復号し、低解像度画像として符号化された画像を復号した後、低解像度画像により求めた動きベクトルを用いて他の高解像度画像から動き補償画像を生成する。このような処理により、少ない符号量で低解像度画像として符号化されたピクチャを高解像度画像に変換することができるので、少ない符号量ですべてのピクチャを高解像度で再生することができ、符号化効率を大きく向上させることができる。
(実施の形態5の変形例)
実施の形態5の変形例について図14を用いて説明する。図14は、実施の形態5の変形例である画像復号化装置の構成を示すブロック図である。本変形例の画像復号化装置が実施の形態5の画像復号化装置と異なる点は、フレームメモリ707と画像処理部100(800)の順序が逆になっていることである。
加算演算部708から出力された復号画像は、スイッチ1102に入力される。復号画像は、実施の形態5の制御部1101、スイッチ1102、スイッチ1103、画像処理部100(800)と同様の処理により処理される。すなわち、復号画像が縮小されずに符号化された画像である場合には、そのままフレームメモリ707に蓄積され、復号画像が縮小されて符号化された画像である場合には、画像処理部100(800)で高解像度化されてフレームメモリに蓄積される。
フレームメモリ707に蓄積された復号画像は、出力画像として出力される。また、他の画像の復号処理または高解像度化に利用される。
以上のように本発明の画像復号装置では、低解像度画像または高解像度画像として符号化された各ピクチャの符号列を復号し、低解像度画像として符号化された画像を復号した後、低解像度画像により画素単位で求めた動きベクトルを用いて他の高解像度画像から動き補償画像を生成する。このような処理により、符号化効率を大きく向上させることができる。
(実施の形態6)
さらに、上記各実施の形態で示した画像処理方法、画像符号化方法および画像復号方法を実現するためのプログラムを、フレキシブルディスク等の記録媒体に記録するようにすることにより、上記各実施の形態で示した処理を、独立したコンピュータシステムにおいて簡単に実施することが可能となる。
図15は、上記各実施の形態の画像処理方法、画像符号化方法および画像復号方法を、フレキシブルディスク等の記録媒体に記録されたプログラムを用いて、コンピュータシステムにより実施する場合の説明図である。
図15(b)は、フレキシブルディスクの正面からみた外観、断面構造、及びフレキシブルディスクを示し、図15(a)は、記録媒体本体であるフレキシブルディスクの物理フォーマットの例を示している。フレキシブルディスクFDはケースF内に内蔵され、該ディスクの表面には、同心円状に外周からは内周に向かって複数のトラックTrが形成され、各トラックは角度方向に16のセクタSeに分割されている。従って、上記プログラムを格納したフレキシブルディスクでは、上記フレキシブルディスクFD上に割り当てられた領域に、上記プログラムが記録されている。
また、図15(c)は、フレキシブルディスクFDに上記プログラムの記録再生を行うための構成を示す。画像処理方法、画像符号化方法および画像復号方法を実現する上記プログラムをフレキシブルディスクFDに記録する場合は、コンピュータシステムCsから上記プログラムをフレキシブルディスクドライブを介して書き込む。また、フレキシブルディスク内のプログラムにより画像処理方法、画像符号化方法および画像復号方法を実現する上記画像処理方法、画像符号化方法および画像復号方法をコンピュータシステム中に構築する場合は、フレキシブルディスクドライブによりプログラムをフレキシブルディスクから読み出し、コンピュータシステムに転送する。
なお、上記説明では、記録媒体としてフレキシブルディスクを用いて説明を行ったが、光ディスクを用いても同様に行うことができる。また、記録媒体はこれに限らず、ICカード、ROMカセット等、プログラムを記録できるものであれば同様に実施することができる。
(実施の形態7)
さらにここで、上記実施の形態で示した画像処理方法、画像符号化方法および画像復号方法の応用例とそれを用いたシステムを説明する。
図16は、コンテンツ配信サービスを実現するコンテンツ供給システムex500の全体構成を示すブロック図である。通信サービスの提供エリアを所望の大きさに分割し、各セル内にそれぞれ固定無線局である基地局ex507〜ex510が設置されている。
このコンテンツ供給システムex500は、例えば、インターネットex501にインターネットサービスプロバイダex502および電話網ex504、および基地局ex507〜ex510を介して、コンピュータex111、PDA(personal digital assistant)ex112、カメラex113、携帯電話ex114、カメラ付きの携帯電話ex115などの各機器が接続される。
しかし、コンテンツ供給システムex500は図16のような組合せに限定されず、いずれかを組み合わせて接続するようにしてもよい。また、固定無線局である基地局ex507〜ex510を介さずに、各機器が電話網ex504に直接接続されてもよい。
カメラex113はデジタルビデオカメラ等の動画撮影が可能な機器である。また、携帯電話は、PDC(Personal Digital Communications)方式、CDMA(Code Division Multiple Access)方式、W−CDMA(Wideband-Code Division Multiple Access)方式、若しくはGSM(Global System for Mobile Communications)方式の携帯電話機、またはPHS(Personal Handyphone System)等であり、いずれでも構わない。
また、ストリーミングサーバex503は、カメラex113から基地局ex509、電話網ex504を通じて接続されており、カメラex113を用いてユーザが送信する符号化処理されたデータに基づいたライブ配信等が可能になる。撮影したデータの符号化処理はカメラex113で行っても、データの送信処理をするサーバ等で行ってもよい。また、カメラ116で撮影した動画データはコンピュータex111を介してストリーミングサーバex503に送信されてもよい。カメラex116はデジタルカメラ等の静止画、動画が撮影可能な機器である。この場合、動画データの符号化はカメラex116で行ってもコンピュータex111で行ってもどちらでもよい。また、符号化処理はコンピュータex111やカメラex116が有するLSIex117において処理することになる。なお、画像符号化・復号化用のソフトウェアをコンピュータex111等で読み取り可能な記録媒体である何らかの蓄積メディア(CD−ROM、フレキシブルディスク、ハードディスクなど)に組み込んでもよい。さらに、カメラ付きの携帯電話ex115で動画データを送信してもよい。このときの動画データは携帯電話ex115が有するLSIで符号化処理されたデータである。
このコンテンツ供給システムex500では、ユーザがカメラex113、カメラex116等で撮影しているコンテンツ(例えば、音楽ライブを撮影した映像等)を上記実施の形態同様に符号化処理してストリーミングサーバex503に送信する一方で、ストリーミングサーバex503は要求のあったクライアントに対して上記コンテンツデータをストリーム配信する。クライアントとしては、上記符号化処理されたデータを復号化することが可能な、コンピュータex111、PDAex112、カメラex113、携帯電話ex114等がある。このようにすることでコンテンツ供給システムex500は、符号化されたデータをクライアントにおいて受信して再生することができ、さらにクライアントにおいてリアルタイムで受信して復号化し、再生することにより、個人放送をも実現可能になるシステムである。
このシステムを構成する各機器の符号化、復号には上記各実施の形態で示した画像符号化装置あるいは画像復号化装置を用いるようにすればよい。
その一例として携帯電話について説明する。
図17は、上記実施の形態で説明した画像処理方法、画像符号化方法および画像復号方法を用いた携帯電話ex115を示す図である。携帯電話ex115は、基地局ex510との間で電波を送受信するためのアンテナex201、CCDカメラ等の映像、静止画を撮ることが可能なカメラ部ex203、カメラ部ex203で撮影した映像、アンテナex201で受信した映像等が復号化されたデータを表示する液晶ディスプレイ等の表示部ex202、操作キーex204群から構成される本体部、音声出力をするためのスピーカ等の音声出力部ex208、音声入力をするためのマイク等の音声入力部ex205、撮影した動画もしくは静止画のデータ、受信したメールのデータ、動画のデータもしくは静止画のデータ等、符号化されたデータまたは復号化されたデータを保存するための記録メディアex207、携帯電話ex115に記録メディアex207を装着可能とするためのスロット部ex206を有している。記録メディアex207はSDカード等のプラスチックケース内に電気的に書換えや消去が可能な不揮発性メモリであるEEPROM(Electrically Erasable and Programmable Read Only Memory)の一種であるフラッシュメモリ素子を格納したものである。
さらに、携帯電話ex115について図18を用いて説明する。携帯電話ex115は表示部ex202及び操作キーex204を備えた本体部の各部を統括的に制御するようになされた主制御部ex311に対して、電源回路部ex350、操作入力制御部ex304、画像符号化部ex312、カメラインターフェース部ex303、LCD(Liquid Crystal Display)制御部ex302、画像復号化部ex309、多重分離部ex308、記録再生部ex307、変復調回路部ex306及び音声処理部ex305が同期バスex313を介して互いに接続されている。
電源回路部ex350は、ユーザの操作により終話及び電源キーがオン状態にされると、バッテリパックから各部に対して電力を供給することによりカメラ付ディジタル携帯電話ex115を動作可能な状態に起動する。
携帯電話ex115は、CPU、ROM及びRAM等でなる主制御部ex311の制御に基づいて、音声通話モード時に音声入力部ex205で集音した音声信号を音声処理部ex305によってディジタル音声データに変換し、これを変復調回路部ex306でスペクトラム拡散処理し、送受信回路部ex301でディジタルアナログ変換処理及び周波数変換処理を施した後にアンテナex201を介して送信する。また携帯電話機ex115は、音声通話モード時にアンテナex201で受信した受信信号を増幅して周波数変換処理及びアナログディジタル変換処理を施し、変復調回路部ex306でスペクトラム逆拡散処理し、音声処理部ex305によってアナログ音声信号に変換した後、これを音声出力部ex208を介して出力する。
さらに、データ通信モード時に電子メールを送信する場合、本体部の操作キーex204の操作によって入力された電子メールのテキストデータは操作入力制御部ex304を介して主制御部ex311に送出される。主制御部ex311は、テキストデータを変復調回路部ex306でスペクトラム拡散処理し、送受信回路部ex301でディジタルアナログ変換処理及び周波数変換処理を施した後にアンテナex201を介して基地局ex510へ送信する。
データ通信モード時に画像データを送信する場合、カメラ部ex203で撮像された画像データをカメラインターフェース部ex303を介して画像符号化部ex312に供給する。また、画像データを送信しない場合には、カメラ部ex203で撮像した画像データをカメラインターフェース部ex303及びLCD制御部ex302を介して表示部ex202に直接表示することも可能である。
画像符号化部ex312は、本願発明で説明した画像符号化装置を備えた構成であり、カメラ部ex203から供給された画像データを上記実施の形態で示した画像符号化装置に用いた符号化方法によって圧縮符号化することにより符号化画像データに変換し、これを多重分離部ex308に送出する。また、このとき同時に携帯電話機ex115は、カメラ部ex203で撮像中に音声入力部ex205で集音した音声を音声処理部ex305を介してディジタルの音声データとして多重分離部ex308に送出する。
多重分離部ex308は、画像符号化部ex312から供給された符号化画像データと音声処理部ex305から供給された音声データとを所定の方式で多重化し、その結果得られる多重化データを変復調回路部ex306でスペクトラム拡散処理し、送受信回路部ex301でディジタルアナログ変換処理及び周波数変換処理を施した後にアンテナex201を介し
て送信する。
データ通信モード時にホームページ等にリンクされた動画像ファイルのデータを受信する場合、アンテナex201を介して基地局ex510から受信した受信信号を変復調回路部ex306でスペクトラム逆拡散処理し、その結果得られる多重化データを多重分離部ex308に送出する。
また、アンテナex201を介して受信された多重化データを復号化するには、多重分離部ex308は、多重化データを分離することにより画像データの符号化ビットストリームと音声データの符号化ビットストリームとに分け、同期バスex313を介して当該符号化画像データを画像復号化部ex309に供給すると共に当該音声データを音声処理部ex305に供給する。
次に、画像復号化部ex309は、本願発明で説明した画像復号化装置を備えた構成であり、画像データの符号化ビットストリームを上記実施の形態で示した符号化方法に対応した復号化方法で復号することにより再生動画像データを生成し、これをLCD制御部ex302を介して表示部ex202に供給し、これにより、例えばホームページにリンクされた動画像ファイルに含まれる動画データが表示される。このとき同時に音声処理部ex305は、音声データをアナログ音声信号に変換した後、これを音声出力部ex208に供給し、これにより、例えばホームページにリンクされた動画像ファイルに含まる音声データが再生される。
なお、上記システムの例に限られず、最近は衛星、地上波によるディジタル放送が話題となっており、図19に示すようにディジタル放送用システムにも上記実施の形態の少なくとも画像符号化装置または画像復号化装置のいずれかを組み込むことができる。具体的には、放送局ex409では映像情報の符号化ビットストリームが電波を介して通信または放送衛星ex450に伝送される。これを受けた放送衛星ex450は、放送用の電波を発信し、この電波を衛星放送受信設備をもつ家庭のアンテナex406で受信し、テレビ(受信機)ex401またはセットトップボックス(STB)ex407などの装置により符号化ビットストリームを復号化してこれを再生する。また、記録媒体であるCDやDVD等の蓄積メディアex402に記録した符号化ビットストリームを読み取り、復号化する再生装置ex403にも上記実施の形態で示した画像復号化装置を実装することが可能である。この場合、再生された映像信号はモニタex404に表示される。また、ケーブルテレビ用のケーブルex405または衛星/地上波放送のアンテナex406に接続されたセットトップボックスex407内に画像復号化装置を実装し、これをテレビのモニタex408で再生する構成も考えられる。このときセットトップボックスではなく、テレビ内に画像復号化装置を組み込んでも良い。また、アンテナex411を有する車ex412で衛星ex450からまたは基地局ex507等から信号を受信し、車ex412が有するカーナビゲーションex413等の表示装置に動画を再生することも可能である。
更に、画像信号を上記実施の形態で示した画像符号化装置で符号化し、記録媒体に記録することもできる。具体例としては、DVDディスクex421に画像信号を記録するDVDレコーダや、ハードディスクに記録するディスクレコーダなどのレコーダex420がある。更にSDカードex422に記録することもできる。レコーダex420が上記実施の形態で示した画像復号化装置を備えていれば、DVDディスクex421やSDカードex422に記録した画像信号を再生し、モニタex408で表示することができる。
なお、カーナビゲーションex413の構成は例えば図18に示す構成のうち、カメラ部ex203とカメラインターフェース部ex303、画像符号化部ex312を除いた構成が考えられ、同様なことがコンピュータex111やテレビ(受信機)ex401等でも考えられる。
また、上記携帯電話ex114等の端末は、符号化器・復号化器を両方持つ送受信型の端末の他に、符号化器のみの送信端末、復号化器のみの受信端末の3通りの実装形式が考えられる。
このように、上記実施の形態で示した画像処理方法、画像符号化方法および画像復号方法を上述したいずれの機器・システムに用いることは可能であり、そうすることで、上記実施の形態で説明した効果を得ることができる。
また、図1、図5、図7、図9、図10、図12〜図14に示したブロック図の各機能ブロックは典型的には集積回路であるLSIとして実現される。このLSIは1チップ化されても良いし、複数チップ化されても良い(例えばメモリ以外の機能ブロックが1チップ化されていても良い。)。ここでは、LSIとしたが、集積度の違いにより、IC、システムLSI、スーパーLSI、ウルトラLSIと呼称されることもある。
また、集積回路化の手法はLSIに限るものではなく、専用回路又は汎用プロセサで実現してもよい。LSI製造後に、プログラムすることが可能なFPGA(Field Programmable Gate Array)や、LSI内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサーを利用しても良い。
さらには、半導体技術の進歩又は派生する別技術によりLSIに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。バイオ技術の適応等が可能性としてありえる。
また、図1、図5、図7、図9、図10、図12〜図14に示したブロック図の各機能ブロックは、その中心的部分をプロセサおよびプログラムによって実現される。
なお、本発明はかかる上記実施形態に限定されるものではなく、本発明の範囲を逸脱することなく種々の変形または修正が可能である。