従来、例えば、テレビ会議システム、テレビ電話システムなどのように、動画像信号を遠隔地に伝送する画像信号伝送システムにおいては、伝送路を効率良く利用するため、画像信号のライン相関やフレーム間相関を利用して、画像信号を符号化し、これにより有意情報の伝送効率を高めるように(圧縮)なされている。
上記ライン相関を利用する場合には、画像信号を、例えばDCT(離散コサイン変換)処理するなどして圧縮することができる。例えば、フレーム内符号化処理は、画像信号の上記ライン相関を利用するもので、図5のAに示すように、時刻t=t1,t2,t3において動画を構成する各画像PC1,PC2,PC3を伝送しようとする場合に、伝送処理すべき画像データを同一走査線内で1次元符号化して伝送するものである。
また、フレーム間相関を利用すると、画像信号をさらに圧縮して符号化することが可能となる。例えば図5のAに示すように、時刻t=t1,t2,t3において、フレーム画像PC1,PC2,PC3がそれぞれ発生しているとき、フレーム画像PC1とPC2の画像信号の差を演算して、図5のBに示すように画像PC12を生成し、また、図5のAのフレーム画像PC2とPC3の差を演算して、図5のBの画像PC23を生成する。通常、時間的に隣接するフレームの画像は、それ程大きな変化を有していないため、両者の差を演算すると、その差分信号は小さな値のものとなる。すなわち、図5のBに示す画像PC12においては、図5のAのフレーム画像PC1とPC2の画像信号の差として、図5のBの画像PC12の図中斜線で示す部分の信号が得られ、また、図5のBに示す画像PC23においては、図5のAのフレーム画像PC2とPC3の画像信号の差として、図5のBの画像PC23の図中斜線で示す部分の信号が得られる。そこで、この差分信号を符号化すれば、符号量を圧縮することができる。
上述のような画像信号を伝送するシステムによれば、画像PC1、PC2、PC3、・・・の全ての画像データを伝送する場合と比較して、格段にデータ量の少ないディジタルデータに高能率符号化でき、これを伝送路に送出し得るようになる。
上述したような画像データの伝送においては、具体的には補間フレームの画像情報を送信側において形成して受信側に伝送する。すなわち、図6のAに示すように、伝送しようとする動画像信号VDの第0番目、第1番目、第2番目、第3番目、・・・のフレームのフレームデータF0,F1,F2,F3,・・・において、順次これらフレーム間に動きベクトルX0,X1,X2,X3,・・・でそれぞれ表されるような画像の変化があった場合、送信側は所定フレーム数(例えば1フレーム)おきの、すなわち第2番目、第4番目、・・・のフレームを補間フレームに指定して補間フレーム処理(差分処理)を実行する。
そして、これにより、図6のBに示すような伝送補間フレームデータ(差分データ)F2X,F4X,・・・を成し、この伝送補間フレームデータ(差分データ)F2X,F4X,・・・を、残る非補間フレーム(フレーム内符号化)である第1番目、第3番目、第5番目の非補間フレームデータF1X,F3X,F5X,・・・と、動きベクトルX0,X1,X2,X3,・・・のデータと共に、伝送データDATAとして受信側に伝送する。
画像の予測(補間)方法に関して、さらに具体的な説明を図7を用いて行う。
画像は、図7のAに示すように、複数枚の画像データによるグループオブピクチャ(Group of Picture) 単位で予測が行われる。ここで、上記画像には、Iピクチャ(イントラ符号化画像:Intra-coded picture)、Pピクチャ(前方予測符号化画像: Perdictive-coded picture)、Bピクチャ(両方向予測符号化画像:Bidirectionally-coded picture)の3種類のピクチャがある。
先ず、Iピクチャは、画像内符号化画像と呼ばれ、他の画像からの補間に依存せず、画像データそのものが空間的に単独で圧縮符号化されて伝送される。Pピクチャは、図7のAに示すように符号化する順番における過去の画像から予測される画像であり、過去の画像からの差分を符号化したデータが符号化データとして伝送される。さらに、Bピクチャは、図7のBに示すように、符号化する順番における過去と未来の2枚の画像から、予測される画像である。
次に、図8は、動画像信号を符号化して伝送し、これを復号化する装置の構成例を示している。動画像符号化装置1は、入力された映像信号VDを符号化し、伝送路としての記録媒体3に伝送して記録するようになされている。そして、復号化装置2は、記録媒体3に記録された信号を再生し、これを復号して出力するようになされている。
先ず、符号化装置1においては、入力端子10を介して入力された映像信号VDが前処理回路11に入力され、そこで輝度信号と色信号(この例の場合、色差信号)が分離され、それぞれA/D変換器12,13でA/D変換される。A/D変換器12,13によりA/D変換されて例えば8ビットのディジタル信号となった映像信号は、フレームメモリ14に供給され、記憶される。このフレームメモリ14では、ディジタル輝度信号を輝度信号フレームメモリ15に、また、ディジタル色差信号を色差信号フレームメモリ16に、それぞれ記憶させる。
フォーマット変換回路17は、フレームメモリ14に記憶されたフレームフォーマットの信号を、ブロックフォーマットの信号に変換する。
すなわち、図9の(A)に示すように、フレームメモリ14に記憶された映像信号は、1ライン当りHドットのラインがVライン集められたフレームフォーマットのデータとされている。フォーマット変換回路17は、この1フレームの信号を、16ラインを単位としてN個のスライスに区分する。そして、各スライスは、図9の(B)に示すように、M個のマクロブロックに分割される。各マクロブロックは、図9の(C)に示すように、16×16個の画素(ドット)に対応する輝度信号により構成され、この輝度信号は、図9の(C)に示すように、さらに8×8ドットを単位とする微小ブロックY[1]乃至Y[4]に区分される。そして、この16×16ドットの輝度信号には、8×8ドットのCb信号と、8×8ドットのCr信号が対応される。
ここで、上述のスライス内の画像データの配列は、マクロブロック単位で画像データが連続するようになされており、このマクロブロック内ではラスタ走査の順で微小ブロック単位で画像データが連続するようになされている。また、上記マクロブロックには、後述するように、予測に対するブロック化モードと、DCTに対する符号化モードがある。
なお、上記マクロブロックは、輝度信号に対して、水平及び垂直走査方向に連続する16×16画素の画像データ(Y1〜Y4)を1つの単位とするのに対し、これに対応する2つの色差信号においては、データ量が低減処理された後、時間軸多重化処理され、それぞれ1つの微小ブロックCr,Cbに16×16画素分のデータが割り当てられている。
このように、ブロックフォーマットに変換されたデータは、フォーマット変換回路17からエンコーダ18に供給され、ここでエンコード(符号化)が行われる。その詳細については、図10を参照して後述する。
エンコーダ18によりエンコードされた信号は、ビットストリームとして伝送路に出力され、例えば記録媒体3に記録される。
記録媒体3より再生されたデータは、復号化装置2のデコーダ31に供給され、デコードされる。デコーダ31の詳細については、図14を参照して後述する。
デコーダ31によりデコードされたデータは、フォーマット変換回路32に入力され、上記ブロックフォーマットからフレームフォーマットに変換される。そして、フレームフォーマットの輝度信号は、フレームメモリ33の輝度信号フレームメモリ34に供給され、記憶され、色差信号は色差信号フレームメモリ35に供給され、記憶される。輝度信号フレームメモリ34と色差信号フレームメモリ35より読み出された輝度信号と色差信号は、D/A変換器36と37によりそれぞれD/A変換され、後処理回路38に供給され、合成される。この出力映像信号は、出力端子30から図示せぬ例えばCRTなどのディスプレイに出力され、表示される。
次に図10を参照して、エンコーダ18の構成例について説明する。
入力端子49を介して供給された符号化されるべき画像データは、マクロブロック単位で動きベクトル検出回路50に入力される。動きベクトル検出回路50は、予め設定されている所定のシーケンスに従って、各フレームの画像データを、Iピクチャ、Pピクチャ、またはBピクチャとして処理する。シーケンシャルに入力される各フレームの画像を、I,P,Bのいずれのピクチャとして処理するかは、予め定められている(例えば、図7に示したように、フレームF1乃至F17により構成されるグループオブピクチャが、I,B,P,B,P,・・・B,Pとして処理される)。
Iピクチャとして処理されるフレーム(例えばフレームF1)の画像データは、動きベクトル検出回路50からフレームメモリ51の前方原画像部51aに転送、記憶され、Bピクチャとして処理されるフレーム(例えばフレームF2)の画像データは、原画像部(参照原画像部)51bに転送、記憶され、Pピクチャとして処理されるフレーム(例えばフレームF3)の画像データは、後方原画像部51cに転送、記憶される。
また、次のタイミングにおいて、さらにBピクチャ(例えば前記フレームF4)またはPピクチャ(前記フレームF5)として処理すべきフレームの画像が入力されたとき、それまで後方原画像部51cに記憶されていた最初のPピクチャ(フレームF3)の画像データが、前方原画像部51aに転送され、次のBピクチャ(フレームF4)の画像データが、原画像部51bに記憶(上書き)され、次のPピクチャ(フレームF5)の画像データが、後方原画像部51cに記憶(上書き)される。このような動作が順次繰り返される。
フレームメモリ51に記憶された各ピクチャの信号は、そこから読み出され、予測モード切り換え回路52において、フレーム予測モード処理、またはフィールド予測モード処理が行なわれる。さらにまた予測判定回路54の制御の下に、演算部53において、画像内予測、前方予測、後方予測、または両方向予測の演算が行なわれる。これらの処理のうち、いずれの処理を行なうかは、予測誤差信号(処理の対象とされている参照画像と、これに対する予測画像との差分)に対応して決定される。このため、動きベクトル検出回路50は、この判定に用いられる予測誤差信号の絶対値和(自乗和でもよい)を生成する。
ここで、予測モード切り換え回路52におけるフレーム予測モードとフィールド予測モードについて説明する。
フレーム予測モードが設定された場合においては、予測モード切り換え回路52は、動きベクトル検出回路50より供給される図11のAに示す4個の輝度ブロックY[1]乃至Y[4]を、そのまま後段の演算部53に出力する。即ち、この場合において、動きベクトル検出回路50からの信号は、図11のAに示すように、各輝度ブロックに奇数フィールドのラインのデータと、偶数フィールドのラインのデータとが混在した状態となっている。なお、図11の各マクロブロック中の実線は奇数フィールド(第1フィールドのライン)のラインのデータを、破線は偶数フィールド(第2フィールドのライン)のラインのデータを示し、図11の図中a及びbは動き補償の単位を示している。このフレーム予測モードにおいては、4個の輝度ブロック(マクロブロック)を単位として予測が行われ、4個の輝度ブロックに対して1個の動きベクトルが対応される。
これに対して、予測モード切り換え回路52は、フィールド予測モードが設定された場合、図11のAに示す構成で動きベクトル検出回路50より入力される信号を、図11のBに示すように、4個の輝度ブロックのうち、輝度ブロックY[1]とY[2]を、例えば奇数フィールドのラインのドットによりのみ構成させ、他の2個の輝度ブロックY[3]とY[4]を、偶数フィールドのラインのデータにより構成させて、演算部53に出力する。この場合においては、2個の輝度ブロックY[1]とY[2]に対して、1個の動きベクトルが対応され、他の2個の輝度ブロックY[3]とY[4]に対して、他の1個の動きベクトルが対応される。
図10の構成に即して説明すると、動きベクトル検出回路50は、画像内符号化の評価値と、フレーム予測モードにおける前方向,後方向及び両方向予測の各予測誤差の絶対値和と、フィールド予測モードにおける前方向,後方向及び両方向予測の各予測誤差の絶対値和を、予測判定回路54に出力する。予測判定回路54は、画像内符号化の評価値及び各予測誤差の絶対値和を比較し、その値が最も小さい予測モードに対応するフィールド予測モード又はフレーム予測モードを予測モード切り換え回路52に指示する。予測モード切り換え回路52は、入力信号に上述した処理を施して、データを演算部53に出力する。
尚、色差信号は、フレーム予測モードの場合、図11のAに示すように、奇数フィールドのラインのデータと偶数フィールドのラインのデータとが混在する状態で、演算部53に供給される。また、フィールド予測モードの場合、図11のBに示すように、各色差ブロックCb,Crの上半分(4ライン)が、輝度ブロックY[1],Y[2]に対応する奇数フィールドの色差信号とされ、下半分(4ライン)が、輝度ブロックY[3],Y[4]に対応する偶数フィールドの色差信号とされる。
また、動きベクトル検出回路50は、次のようにして、予測判定回路54において、画像内符号化、前方予測、後方予測、または両方向予測のいずれの予測を行なうか及びフレーム予測又はフィールド予測のいずれを行うかを決定するための予測誤差の絶対値和を生成する。
即ち、画像内符号化の予測誤差の絶対値和に相当する評価値として、これから符号化される参照画像のマクロブロックの信号Aijとその平均値との差の絶対値和Σ|Aij−(Aijの平均値)|を求める。また、前方予測の予測誤差の絶対値和として、参照画像のマクロブロックの信号Aijと、予測画像のマクロブロックの信号Bijの差(Aij−Bij)の絶対値|Aij−Bij|の和Σ|Aij−Bij|を求める。また、後方予測と両方向予測の予測誤差の絶対値和も、前方予測における場合と同様に(その予測画像を前方予測における場合と異なる予測画像に変更して)求める。また、予測誤差の絶対値和は、フレーム予測モード,フィールド予測モードの両方について求められる。
これらの絶対値和は、予測判定回路54に供給される。予測判定回路54は、フレーム予測モード,フィールド予測モード各々の前方予測、後方予測及び両方向予測の予測誤差の絶対値和のうち、最も小さいものを、インター(inter) 予測の予測誤差の絶対値和として選択する。さらに、このインター予測の予測誤差の絶対値和と、画像内符号化の評価値とを比較し、その小さい方を選択し、この選択した値に対応するモードを予測モードとして選択する。即ち、画像内符号化の評価値の方が小さければ、画像内符号化モードが設定される。インター予測の予測誤差の絶対値和の方が小さければ、前方予測、後方予測または両方向予測モードのうち、対応する絶対値和が最も小さかったモードが設定される。
このように、予測モード切り換え回路52は、参照画像のマクロブロックの信号を、フレームまたはフィールド予測モードのうち、予測判定回路54により選択されたモードに対応する図11で示したような構成で、演算部53に供給する。動きベクトル検出回路50は、予測判定回路54により選択されたモードに対応する予測画像と参照画像との間の動きベクトルを、後述する可変長符号化回路58と動き補償回路64に出力する。なお、この動きベクトルとしては、対応する予測誤差の絶対値和が最小となるものが選択される。
予測判定回路54は、動きベクトル検出回路50が前方原画像部51aよりIピクチャの画像データを読み出しているとき、予測モードとして、画像内符号化モード(動き補償を行わないモード)を設定し、演算部53のスイッチ53dを接点a側に切り換える。これにより、Iピクチャの画像データがDCTモード切り換え回路55に入力される。
このDCTモード切り換え回路55は、図12のAまたはBに示すように、4個の輝度ブロックのデータを、奇数フィールドのラインと偶数フィールドのラインが混在する状態(フレームDCTモード)、または、分離された状態(フィールドDCTモード)、のいずれかの状態にして、DCT回路56に出力する。
即ち、DCTモード切り換え回路55は、奇数フィールドと偶数フィールドのデータを混在してDCT処理した場合における符号化効率と、分離した状態においてDCT処理した場合の符号化効率とを比較し、符号化効率の良好なモードを選択する。
例えば、入力された信号を、図12のAに示すように、奇数フィールドと偶数フィールドのラインが混在する構成とし、上下に隣接する奇数フィールドのラインの信号と偶数フィールドのラインの信号の差を演算し、さらにその絶対値の和(または自乗和)を求める。また、入力された信号を、図12のBに示すように、奇数フィールドと偶数フィールドのラインが分離した構成とし、上下に隣接する奇数フィールドのライン同士の信号の差と、偶数フィールドのライン同士の信号の差を演算し、それぞれの絶対値の和(または自乗和)を求める。さらに、両者(絶対値和)を比較し、小さい値に対応するDCTモードを設定する。例えば、前者の方が小さければ、フレームDCTモードを設定し、後者の方が小さければ、フィールドDCTモードを設定する。
すなわち、上記フレーム/フィールドDCTモードのモード決定法のアルゴリズムは、次のように示すことができる。なお、O(pix,line) は、16×16のマクロブロックの画素を示す。
例えば、
var1 = var2 = 0;
for (pix=0 ; pix<16 ; pix++){
for (line=0 ; line<16-2 ; line +=2){
dif1 = O(pix,line) - O(pix,line+1);
dif2 = O(pix,line+2) - O(pix,line+3);
var1 += (dif1*dif1) + (dif2*dif2);
dif1 = O(pix,line) - O(pix,line+2);
dif2 = O(pix,line+1) - O(pix,line+3);
var2 += (dif1*dif1) + (dif2*dif2);
}
}
となる場合には、フィールドDCTモードが用いられる。
そして、
if ( var1 <= var2 )
FrameModeCoding
else
FieldModeCoding
となる。
また、上記DCTのモード判断を行う具体的な構成としては、例えば図13に示すような構成を例に挙げることができる。すなわち、このモード判断の構成において、図13のaに示すように、フレームでブロック化された16×16画素の輝度ブロックに対して、各ライン間の差分を各差分器160で計算し、これを対応する2乗回路161で2乗し、さらに加算回路162で累積加算する。これによって、フレームDCTモード相関を示す値Var1が計算される。一方、図13のbに示すように、フィールドでブロック化された2個の16×8画素の輝度ブロックに4対して、それぞれのフィールド毎に各ライン間の差分を各差分器170で計算し、これを対応する2状回路171で2乗し、さらに累積加算回路172で累積加算する。これによって、フィールドDCTモード相関を示す値Var2が計算される。基本的には、相関が低い場合ほど、上記Var1,Var2の値が大きくなる。このため、上記Var1,Var2の値を比較回路165で比較し、この値が小さいほうをDCTのブロック化のモードとして採用する。
図10に戻って、上記DCTモード切り換え回路55は、上述したようにして選択したDCTモードに対応する構成のデータをDCT回路56に出力するとともに、選択したDCTモードを示すDCTフラグを、可変長符号化回路58と動き補償回路64に出力する。
なお、予測モード切り換え回路52における予測モード(図11参照)と、上記DCTモード切り換え回路55におけるDCTモード(図11参照)を比較して明らかなように、輝度ブロックに関しては、両者の各モードにおけるデータ構造は実質的に同一である。
また、予測モード切り換え回路52において、フレーム予測モード(奇数ラインと偶数ラインが混在するモード)が選択された場合、DCTモード切り換え回路55においても、フレームDCTモード(奇数ラインと偶数ラインが混在するモード)が選択される可能性が高く、また予測モード切り換え回路52において、フィールド予測モード(奇数フィールドと偶数フィールドのデータが分離されたモード)が選択された場合、DCTモード切り換え回路55において、フィールドDCTモード(奇数フィールドと偶数フィールドのデータが分離されたモード)が選択される可能性が高い。
しかしながら、必ずしも常にそのようになされるわけではなく、予測モード切り換え回路52においては、予測誤差の絶対値和が小さくなるようにモードが決定され、DCTモード切り換え回路55においては、符号化効率が良好となるようにモードが決定される。
DCTモード切り換え回路55より出力された例えばIピクチャの画像データは、DCT回路56に入力され、DCT(離散コサイン変換)処理され、DCT係数に変換される。このDCT係数は、量子化回路57に入力され、送信バッファ59のデータ蓄積量(バッファ蓄積量)に対応した量子化ステップで量子化された後、可変長符号化回路58に入力される。
可変長符号化回路58は、量子化回路57より供給される量子化ステップ(スケール)に対応して、量子化回路57より供給される画像データ(いまの場合、Iピクチャのデータ)を、例えばハフマン(Huffman) 符号などの可変長符号に変換し、送信バッファ59に出力する。
可変長符号化回路58にはまた、量子化回路57より量子化ステップ(スケール)、予測判定回路54より予測モード(画像内予測、前方予測、後方予測、または両方向予測のいずれが設定されたかを示すモード)、動きベクトル検出回路50より動きベクトル、予測モード切り換え回路52より予測フラグ(フレーム予測モードまたはフィールド予測モードのいずれが設定されたかを示すフラグ)、及びDCTモード切り換え回路55が出力するDCTフラグ(フレームDCTモードまたはフィールドDCTモードのいずれが設定されたかを示すフラグ)が入力されており、これらも可変長符号化される。
送信バッファ59は、入力されたデータを一時蓄積し、蓄積量に対応するデータを量子化回路57に出力する。
送信バッファ59は、そのデータ残量が許容上限値まで増量すると、量子化制御信号によって量子化回路57の量子化スケールを大きくすることにより、量子化データのデータ量を低下させる。また、これとは逆に、データ残量が許容下限値まで減少すると、送信バッファ59は、量子化制御信号によって量子化回路57の量子化スケールを小さくすることにより、量子化データのデータ量を増大させる。このようにして、送信バッファ59のオーバフローまたはアンダフローが防止される。
そして、送信バッファ59に蓄積されたデータは、所定のタイミングで読み出され、出力端子69を介して伝送路に出力され、例えば記録媒体3に記録される。
一方、量子化回路57より出力されたIピクチャのデータは、逆量子化回路60に入力され、量子化回路57より供給される量子化ステップに対応して逆量子化される。逆量子化回路60の出力は、IDCT(逆DCT)回路61に入力され、逆DCT処理された後、演算器62を介してフレームメモリ63の前方予測画像部63aに供給され、記憶される。
ところで動きベクトル検出回路50は、シーケンシャルに入力される各フレームの画像データを、たとえば、前述したようにI,B,P,B,P,B・・・のピクチャとしてそれぞれ処理する場合、最初に入力されたフレームの画像データをIピクチャとして処理した後、次に入力されたフレームの画像をBピクチャとして処理する前に、さらにその次に入力されたフレームの画像データをPピクチャとして処理する。Bピクチャは、後方予測を伴うため、後方予測画像としてのPピクチャが先に用意されていないと、復号することができないからである。
そこで動きベクトル検出回路50は、Iピクチャの処理の次に、後方原画像部51cに記憶されているPピクチャの画像データの処理を開始する。そして、上述した場合と同様に、マクロブロック単位でのフレーム間又はフィールド間差分(予測誤差)の絶対値和が、動きベクトル検出回路50から予測判定回路54に供給される。予測判定回路54は、このPピクチャのマクロブロックの予測誤差の絶対値和に対応して、フレーム/フィールド予測モード、及び画像内符号化、前方予測、後方予測、もしくは両方向予測の予測モードを設定する。
演算部53はフレーム内符号化モードが設定されたとき、スイッチ53dを上述したように接点a側に切り換える。従って、このデータは、Iピクチャのデータと同様に、DCTモード切り換え回路55、DCT回路56、量子化回路57、可変長符号化回路58、送信バッファ59を介して伝送路に伝送される。また、このデータは、逆量子化回路60、IDCT回路61、演算器62を介してフレームメモリ63の後方予測画像部63bに供給され、記憶される。
一方、前方予測モードの時、スイッチ53dが接点bに切り換えられるとともに、フレームメモリ63の前方予測画像部63aに記憶されている画像(いまの場合Iピクチャの画像)データが読み出され、動き補償回路64により、動きベクトル検出回路50が出力する動きベクトルに対応して動き補償される。すなわち、動き補償回路64は、予測判定回路54より前方予測モードの設定が指令されたとき、前方予測画像部63aの読み出しアドレスを、動きベクトル検出回路50がいま出力しているマクロブロックの位置に対応する位置から動きベクトルに対応する分だけずらしてデータを読み出し、予測画像データを生成する。
動き補償回路64より出力された予測画像データは、演算器53aに供給される。演算器53aは、予測モード切り換え回路52より供給された参照画像のマクロブロックのデータから、動き補償回路64より供給された、このマクロブロックに対応する予測画像データを減算し、その差分(予測誤差)を出力する。この差分データは、DCTモード切り換え回路55、DCT回路56、量子化回路57、可変長符号化回路58、送信バッファ59を介して伝送路に伝送される。また、この差分データは、逆量子化回路60、IDCT回路61により局所的に復号され、演算器62に入力される。
この演算器62にはまた、演算器53aに供給されている予測画像データと同一のデータが供給されている。演算器62は、IDCT回路61が出力する差分データに、動き補償回路64が出力する予測画像データを加算する。これにより、元の(復号した)Pピクチャの画像データが得られる。このPピクチャの画像データは、フレームメモリ63の後方予測画像部63bに供給され、記憶される。
動きベクトル検出回路50は、このように、IピクチャとPピクチャのデータが前方予測画像部63aと後方予測画像部63bにそれぞれ記憶された後、次にBピクチャの処理を実行する。予測判定回路54は、マクロブロック単位でのフレーム間差分,フィールド間差分(予測誤差)の絶対値和の大きさに対応して、フレーム/フィールドモードを設定し、また、予測モードをフレーム内予測モード、前方予測モード、後方予測モード、または両方向予測モードのいずれかに設定する。
上述したように、フレーム内予測モードまたは前方予測モードの時、スイッチ53dは接点aまたはbに切り換えられる。このとき、Pピクチャにおける場合と同様の処理が行われ、データが伝送される。
これに対して、後方予測モードまたは両方向予測モードが設定された時、スイッチ53dは、接点cまたはdにそれぞれ切り換えられる。
スイッチ53dが接点cに切り換えられている後方予測モードの時、後方予測画像部63bに記憶されている画像(いまの場合、Pピクチャの画像)データが読み出され、動き補償回路64により、動きベクトル検出回路50が出力する動きベクトルに対応して動き補償される。すなわち、動き補償回路64は、予測判定回路54より後方予測モードの設定が指令されたとき、後方予測画像部63bの読み出しアドレスを、動きベクトル検出回路50がいま出力しているマクロブロックの位置に対応する位置から動きベクトルに対応する分だけずらしてデータを読み出し、予測画像データを生成する。
動き補償回路64より出力された予測画像データは、演算器53bに供給される。演算器53bは、予測モード切り換え回路52より供給された参照画像のマクロブロックのデータから、動き補償回路64より供給された予測画像データを減算し、その差分を出力する。この差分データは、DCTモード切り換え回路55、DCT回路56、量子化回路57、可変長符号化回路58、送信バッファ59を介して伝送路に伝送される。
スイッチ53dが接点dに切り換えられている両方向予測モードの時、前方予測画像部63aに記憶されている画像(いまの場合、Iピクチャの画像)データと、後方予測画像部63bに記憶されている画像(いまの場合、Pピクチャの画像)データが読み出され、動き補償回路64により、動きベクトル検出回路50が出力する動きベクトルに対応して動き補償される。すなわち、動き補償回路64は、予測判定回路54より両方向予測モードの設定が指令されたとき、前方予測画像部63aと後方予測画像部63bの読み出しアドレスを、動きベクトル検出回路50がいま出力しているマクロブロックの位置に対応する位置から動きベクトル(この場合の動きベクトルは、前方予測画像用と後方予測画像用の2つとなる)に対応する分だけずらしてデータを読み出し、予測画像データを生成する。
動き補償回路64より出力された予測画像データは、演算器53cに供給される。演算器53cは、動きベクトル検出回路50より供給された参照画像のマクロブロックのデータから、動き補償回路64より供給された予測画像データの平均値を減算し、その差分を出力する。この差分データは、DCTモード切り換え回路55、DCT回路56、量子化回路57、可変長符号化回路58、送信バッファ59を介して伝送路に伝送される。
Bピクチャの画像は、他の画像の予測画像とされることがないため、フレームメモリ63には記憶されない。
尚、フレームメモリ63において、前方予測画像部63aと後方予測画像部63bは、必要に応じてバンク切り換えが行われ、所定の参照画像に対して、一方または他方に記憶されているものを、前方予測画像あるいは後方予測画像として切り換えて出力することができる。また、IDCT回路61の出力は、図12のAの構造の場合と図12のBの構造の場合があるため、場合によっては、演算器62に供給される予測画像の構造に応じて、並べ換えを行う必要があるが、簡単のため図示は省略する。
以上においては、輝度ブロックを中心として説明をしたが、色差ブロックについても同様に、図11及び図12に示すマクロブロックを単位として処理され、伝送される。尚、色差ブロックを処理する場合の動きベクトルは、対応する輝度ブロックの動きベクトルを垂直方向と水平方向に、それぞれ1/2にしたものが用いられる。
次に、図14は、図8のデコーダ31の一例の構成を示すブロック図である。伝送路(記録媒体3)を介して伝送された符号化された画像データは、図示せぬ受信回路で受信されたり、再生装置で再生され、入力端子80を介して受信バッファ81に一時記憶された後、復号回路90の可変長復号化回路82に供給される。可変長復号化回路82は、受信バッファ81より供給されたデータを可変長復号化し、動きベクトル、予測モード、予測フラグ及びDCTフラグを動き補償回路87に、また、量子化ステップを逆量子化回路83に、それぞれ出力するとともに、復号された画像データを逆量子化回路83に出力する。
逆量子化回路83は、可変長復号化回路82より供給された画像データを、同じく可変長復号化回路82より供給された量子化ステップに従って逆量子化し、IDCT回路84に出力する。逆量子化回路83より出力されたデータ(DCT係数)は、IDCT回路84で、逆DCT処理され、演算器85に供給される。
IDCT回路84より供給された画像データが、Iピクチャのデータである場合、そのデータは演算器85より出力され、演算器85に後に入力される画像データ(PまたはBピクチャのデータ)の予測画像データ生成のために、フレームメモリ86の前方予測画像部86aに供給されて記憶される。また、このデータは、フォーマット変換回路32(図8)に出力される。
IDCT回路84より供給された画像データが、その1フレーム前の画像データを予測画像データとするPピクチャのデータであって、前方予測モードのデータである場合、フレームメモリ86の前方予測画像部86aに記憶されている、1フレーム前の画像データ(Iピクチャのデータ)が読み出され、動き補償回路87で可変長復号化回路82より出力された動きベクトルに対応する動き補償が施される。そして、演算器85において、IDCT回路84より供給された画像データ(差分のデータ)と加算され、出力される。この加算されたデータ、即ち、復号されたPピクチャのデータは、演算器85に後に入力される画像データ(BピクチャまたはPピクチャのデータ)の予測画像データ生成のために、フレームメモリ86の後方予測画像部86bに供給されて記憶される。
Pピクチャのデータであっても、画像内予測モードのデータは、Iピクチャのデータと同様に、演算器85で特に処理は行わず、そのまま後方予測画像部86bに記憶される。
このPピクチャは、次のBピクチャの次に表示されるべき画像であるため、この時点では、まだフォーマット変換回路32へ出力されない(上述したように、Bピクチャの後に入力されたPピクチャが、Bピクチャより先に処理され、伝送されている)。
IDCT回路84より供給された画像データが、Bピクチャのデータである場合、可変長復号化回路82より供給された予測モードに対応して、フレームメモリ86の前方予測画像部86aに記憶されているIピクチャの画像データ(前方予測モードの場合)、後方予測画像部86bに記憶されているPピクチャの画像データ(後方予測モードの場合)、または、その両方の画像データ(両方向予測モードの場合)が読み出され、動き補償回路87において、可変長復号化回路82より出力された動きベクトルに対応する動き補償が施されて、予測画像が生成される。但し、動き補償を必要としない場合(画像内予測モードの場合)、予測画像は生成されない。
このようにして、動き補償回路87で動き補償が施されたデータは、演算器85において、IDCT回路84の出力と加算される。この加算出力は、出力端子91を介してフォーマット変換回路32に出力される。
但し、この加算出力はBピクチャのデータであり、他の画像の予測画像生成のために利用されることがないため、フレームメモリ86には記憶されない。
Bピクチャの画像が出力された後、後方予測画像部86bに記憶されているPピクチャの画像データが読み出され、動き補償回路87を介して演算器85に供給される。但し、このとき、動き補償は行われない。
尚、このデコーダ31には、図10のエンコーダ18における予測モード切り換え回路52とDCTモード切り換え回路55に対応する回路が図示されていないが、これらの回路に対応する処理、即ち、奇数フィールドと偶数フィールドのラインの信号が分離された構成を、元の混在する構成に必要に応じて戻す処理は、動き補償回路87が実行する。
また、以上においては、輝度信号の処理について説明したが、色差信号の処理も同様に行われる。但し、この場合、動きベクトルは、輝度信号用のものを、垂直方向及び水平方向に1/2にしたものが用いられる。
ここで、上述した画像信号符号化/復号化において伝送される画像の品質は、図15に示されるように制御される。例えば、画像のSNR(SN比)は、上述した画像内符号化、前方予測符号化、両方向予測符号化等の符号化のタイプを表すいわゆるピクチャタイプに対応して制御され、Iピクチャ及びPピクチャは高品質に、Bピクチャはこれらに比べて劣る品質で伝送される。すなわち、高伝送レートで全ての画像を伝送できればより好まし画質を得ることは可能であるが、伝送路の特性等からある一定値以上の伝送レートを選べない場合があり、この場合、人間の視覚特性として、全ての画像品質を平均化するよりも画像品質を図11のように振動させたほうが画像の印象が良くなるという特性を利用して上述の図15のような伝送方式を採用することで、ある一定値の伝送レートでより高品質の画像を得るようにしている。したがって、図10の構成においては、この画像品質を達成するように、量子化器57で伝送レート制御を行うようにしている。
特開平4−369192号公報
特開平4−266284号公報
特開平5−56415号公報
特開昭64−71390号公報
以下、本発明の実施例について図面を参照しながら説明する。
本実施例の画像符号化方法が適用される画像符号化装置は、図1に示すように、前記マクロブロック毎にフレーム単位のブロック化又はフィールド単位のブロック化を選択して所定の変換として前記DCTを行う画像符号化装置であって、画像信号をフレーム単位でブロック化して上記DCTを行って第1の変換係数(DCT係数)を生成する第1の変換係数生成手段としてのフレームDCT回路200と、画像信号をフィールド単位でブロック化して上記DCTを行って第2の変換係数(DCT係数)を生成する第2の変換係数生成手段であるフィールドDCT回路201と、上記フレームDCT回路200,フィールドDCT回路201で生成したDCT係数の情報量に基づいて上記フレーム/フィールドでのDCT係数のいずれかを選択する変換係数選択手段としてのフレーム/フィールドDCTモード切り換え回路255とを有するものである。
なお、図1において、前述した図10と同一の構成要素には同一の指示符号を付している。
先ず、本発明の第1の実施例装置におけるフレームでのDCTとフィールドでのDCTの選択手法に関して説明する。なお、イントラ符号化及びインター符号化は前述した従来同様の手法で行なう。また、第1の実施例の画像符号化装置では、処理をマクロブロック単位で行なっている。
図1において、前記ブロックフォーマットの画像は、フレームメモリ51に記憶される。動きベクトル検出回路50は、予め設定された画像シーケンス(Iピクチャ、Pピクチャ、Bピクチャ)に従って、フレームメモリ51から必要な画像をマクロブロック単位で読み出し、参照画像と前方原画像及び/又は後方原画像との間で動きベクトルの検出を行う。ここで、Iピクチャはフィールド内若しくはフレーム内符号化される。また、Pピクチャは、前方向からのみ予測可能とされて、フィールド間若しくはフレーム間符号化される。実際には、動き補償された予測画像(差分をとる基準となる画像)との差分を符号化する場合と、差をとらずにそのまま符号化する(イントラ符号化)場合との何れか効率の良い方がマクロブロック単位で選択される。また、Bピクチャは、前方向から、後方向から、および両方向から予測可能とされて、フィールド間若しくはフレーム間符号化される。実際には上記3種類の動き補償後の予測画像との差分を符号化する場合と、差をとらずにそのまま符号化する場合との中で、最も効率の良いものがマクロブロック単位に選択される。
動きベクトルの検出は、動きベクトル検出回路50によって、フレームメモリ51に記憶された前方原画像及び/又は後方原画像を用いて、現在の参照画像との間で行なう。ここで、ブロック単位でのフレーム間又はフィールド間差分の絶対値和が最小になるものを、その動きベクトルとする。動きベクトルの検出は、フレーム予測モード及びフィールド予測モードの両方に関して行われ、フレーム予測に対する1個の動きベクトル及びフィールド予測に対する2個の動きベクトルの両者が求められる。
動きベクトル検出回路50で計算されたブロック単位でのフレーム及びフィールド間差分の絶対値和は、予測判定回路54に送られる。予測判定回路54はこの値をもとに、フレーム予測モードとフィールド予測モードを決定する。この判断結果は、フレーム/フィールド予測フラグとして可変長符号化回路58に送られ、符号化される。また、フレーム/フィールド予測モード切り換え回路52において、フレーム/フィールド予測モードに応じてブロック化されたデータは演算部53に供給される。
フレーム内/前方/両方向予測判定回路54は、動きベクトル検出回路50で計算されたブロック単位でのフレーム間及びフィールド間差分の絶対値和をもとに、参照ブロックのマクロブロックタイプ(予測モード)を決定する。このマクロブロックタイプ(予測モード)をもとに、マクロブロック単位で画像内/前方/後方/両方向予測の切り換えを制御し、画像内符号化モードの場合は入力画像そのものを、前方/後方/両方向予測モードのときはそれぞれの予測画像からのフレーム間又はフィールド間符号化データを発生する。
以上は、前述した従来例と同様であるが、本発明実施例では、以降の構成において以下のように従来例と異なっている。
上記予測モード選択がなされたブロックは、フレーム単位でブロック化及びフィールド単位でブロック化されて、それぞれフレームDCT回路200及びフィールドDCT回路201に供給される。フレームDCT回路200からはフレーム単位のDCT係数が、フィールドDCT回路201からはフィールド単位のDCT係数が、それぞれ出力され、フレーム/フィールドDCTモード切り換え回路255に出力される。
上記フレーム/フィールドDCTモード切り換え回路255は、符号化効率を考慮して、DCTのためのフレーム単位のブロック化のモード(フレームDCTモード)或いはフィールド単位のブロック化のモード(フィールドDCTモード)の何れかをマクロブロック単位で選択的に出力し、量子化回路57に出力するようになされている。また、この判断結果は、フレーム/フィールドDCTフラグとして可変長符号化回路58に送られ、ここで符号化される。なお、フレーム/フィールドDCTモードの判断のアルゴリズムに関しては、後で詳しく説明する。
上記量子化回路57は、マクロブロックおよびスライス毎に定まる量子化ステップサイズでDCT変換データを量子化し、その結果出力端に得られる量子化データを可変長符号化(VLC(variable length code))回路58及び逆量子化回路60に供給する。量子化に用いる量子化スケールは送信バッファ59のバッファ残量をフィードバックすることによって、送信バッファ59が破綻しない値に決定する。この量子化スケールも、可変長符号化回路58及び逆量子化回路60に、量子化データとともに供給される。
ここで可変長符号化回路58は、量子化データを、量子化スケール、マクロブロックタイプ、動きベクトルと共に可変長符号化処理し、伝送データとして送信バッフア59に供給する。
送信バッファ59は、伝送データを一旦メモリに格納した後、所定のタイミングでビットストリームとして出力すると共に、メモリに残留している残留データ量に応じてマクロブロック単位の量子化制御信号を量子化回路57にフイードバックして量子化スケールを制御するようになされている。これにより送信バッファ59は、ビットストリームとして発生されるデータ量を調整し、メモリ内に適正な残量(オーバーフロー又はアンダーフローを生じさせないようなデータ量)のデータを維持するようになされている。
因に送信バッファ59のデータ残量が許容上限にまで増量すると、送信バッファ59は量子化制御信号によつて量子化回路57の量子化スケールを大きくすることにより、量子化データのデータ量を低下させる。
またこれとは逆に送信バッファ59のデータ残量が許容下限値まで減量すると、送信バッファ59は量子化制御信号によつて量子化回路57の量子化スケールを小さくすることにより、量子化データのデータ量を増大させる。
逆量子化回路60は、量子化回路57から送出される量子化データを代表値に逆量子化して逆量子化データに変換し、出力データの量子化回路57における変換前の変換データを復号し、逆量子化データをディスクリートコサイン逆変換IDCT(inverse discrete cosine trasform)回路61に供給するようになされている。
IDCT回路61は、逆量子化回路60で復号された逆量子化データをDCT回路200又は201とは逆の変換処理で復号画像データに変換し、演算器62を介してフレームメモリ63に送るようになされている。
また、動き補償回路64は、IDCT回路61の出力データとマクロブロックタイプ(予測モード)、動きベクトル、フレーム/フィールド予測フラグをもとに局所復号を行ない、復号画像が前方予測画像若しくは後方予測画像としてフレームメモリ63に書き込まれる。
フレームメモリ63では、バンク切り換えが行われる。これにより、符号化する画像に応じて、単一のフレームが、後方予測画像として出力されたり、前方予測画像として出力されたりする。前方/両方向予測の場合は、予測画像からの差分がIDCT回路61の出力として送られてくるために、この差分を予測画像に対して足し込むことで、局所復号を行なっている。この予測画像は、デコーダで復号される画像と全く同一の画像であり、次の処理画像はこの予測画像をもとに、前方/両方向予測を行なう。
ここで、上記DCTモード切り換え回路255におけるフレーム/フィールドDCTのモード決定(判断)法に関して以下に説明する。
先ず、第1の実施例における第1のフレーム/フィールドDCTモードのモード決定法として、DCT係数に着目したフレーム/フィールドDCTモードのモード決定法に関して説明する。
上記DCTモード切り換え回路255においては、フレームDCT回路200によってフレーム単位でDCTされた4個の輝度ブロックのDCT係数(各64個)の絶対値和 (Frame Weightとする)を、数1の数式(1) にて計算する。
ただし、この数式(1) において、iはブロック番号、jは係数の番号である。
次に、フィールドDCT回路201によってフィールド単位でDCTされた4個の輝度ブロックのDCT係数(64個)の絶対値和 (Field Weightとする)を数2の数式(2) にて計算する。
この数式(1) においてもiはブロック番号、jは係数の番号である。
これら数式(1),(2) で計算された値のうち、先ず、上記フレームにおける絶対値和(Frame Weight)が、あるしきい値(TH1 )と比較される。
ここで、
Frame Weight <TH1
の場合、無条件にフレームDCTモードに判定される。これは、フレームモードになり易いように設けたハンディ(重み付け)である。
次に、上記フレームにおける絶対値和(Frame Weight) とフィールドにおける絶対値和(Field Weight)が比較される。この時、それぞれの値(Weight)の小さい方が選択される。またこのとき、フレームDCTモードになり易いように、当該比較にハンディを付ける(重み付けする)こともできる。
例えば、
Frame Weight <Field Weight*β1 +α1
α1 、β1 :比較におけるハンディ
の計算を行って、これが真の場合、フレームDCTモードに、偽の場合、フィールドDCTモードに判定される。
上記DCTモード切り換え回路255においては、上述した判断法によってフレーム/フィールドDCTモードが決定される。なお、上述したフレームにおける絶対値和(Frame Weight) とフィールドにおける絶対値和(Field Weigh) は、ブロックのすべてのDCT係数の絶対値加算によるものとせずに、いわゆるジグザグスキャンの順での、先頭からN番目(1≦N≦64)までの係数を絶対値加算した値を用いてもよい。また、比較に用いるブロックも、輝度ブロックのみでなく、色差ブロックを含めた6個のブロックに対して行ってもよい。
次に、本発明の第1の実施例のDCTモード切り換え回路におけるDCT係数に着目した第2のフレーム/フィールドDCTモードのモード決定法に関して説明する。
この第2のモード決定法では、DCTされたブロックにおけるDCT係数のうち、インターレース構造に寄与する度合いの高い係数(DCT係数の高次の行の係数)に注目する。これを図2に示す。なお、この図2において、図中○及び●はDCT係数を示し、図中破線で囲む部分が上記注目する係数である。●は、その中でも特にインターレース構造に寄与する度合いが高いため、これらを注目する係数としてもよい。
この場合の上記DCTモード切り換え回路255では、上述の図2に示すようなインターレース構造に対して寄与度の高い係数N個の絶対値和の4個の輝度ブロック分の和(Interlace Weight とする)を計算する。上記絶対値和(Interlace Weight)が大きい場合は、奇数フィールドと偶数フィールドの間で画像が動いているような場合であり、このような場合はフィールド単位でDCTを行なったほうが、圧縮効率が高くなる。
従って、フレーム単位でDCT及びフィールド単位でDCTされた係数のうち、このインターレースに寄与度の高い上記N個のDCT係数の4個の輝度ブロック分の絶対値和をそれぞれ(Interlace Weight (Frame))及び(Interlace Weight (Field))としたとき、
Interlace Weight (Frame) < Interlace Weight (Field)
の場合には、フレームDCTモードに判定される。逆の場合はフィールドDCTモードに判定される。
また、フレームDCTモードになり易いように当該比較にハンディを付ける(重み付けする)こともできる。
例えば、
Interlace Weight (Frame) < Interlace Weight (Field) *β2 +α2
α2 、β2 :比較におけるハンディ
として、これが真の場合にはフレームDCTモードに、偽の場合にはフィールドDCTモードに判定される。
また、上記絶対値和(Interlace Weight)は、インターレース構造に対して寄与度の高い係数N個の二乗和を用いるようにしてもよい
次に、本発明の第2の実施例について説明する。この第2の実施例は、第1の実施例に、さらに本発明のイントラ符号化及びインター符号化の選択手法を適用した例である。図4に、第2の実施例の画像符号化装置を示す。また、図3に第2の実施例の画像符号化装置の要部の概略構成を示す。なお、この第2の実施例の画像符号化装置は、基本的には、前述した図10の構成の予測モード切り換え回路52の後から、量子化回路57の前までの構成を、図3に示す構成に変更したものであり、他の構成要素についての図示及び説明は省略する。但し、この実施例における動きベクトル検出回路50は、上述の画像内符号化の評価値を出力しない。また、この実施例における予測判定回路54は、インター符号化が選択されるとした場合の各マクロブロックの仮の予測モードの判定のみ行い、イントラ符号化かインター符号化かの選択は、後述する予測判定回路319で行う。
すなわち、第2の実施例の画像符号化装置は、図3に示すように、イントラ符号化(画像内符号化)及びインター符号化(画像間予測)された画像信号にDCTを施して符号化を行う画像符号化装置であり、上記イントラ符号化された信号をフレーム単位でブロック化又はフィールド単位でブロック化してDCTを行ってDCT係数を生成するフレームDCT回路303及びフィールドDCT回路304と、上記インター符号化された信号をフレーム単位でブロック化又はフィールド単位でブロック化してDCTを行ってDCT係数を生成するフレームDCT回路305,307,309及びフィールドDCT回路306,308,310と、上記各フレームDCT回路及びフィールドDCT回路で生成した各DCT係数の情報量に基づいていずれかのDCT係数を選択する変換係数選択手段としてのフレーム/フィールドDCTモード切り換え回路311〜314及び予測モード選択回路315と、予測判定回路54によって選択された端子331を介した仮の予測モードに基づいて、加算器53a,53b,53cへの入力を切り換えるセレクタ330と、イントラ−ウエイト(Intra-Weight)及びインター−ウエイト(Inter-Weight)に基づいて、イントラ符号化又はインター符号化の判定を行い、対応するフレーム/フィールドDCTフラグ(端子332から出力)と真の予測モード(端子333から出力)を出力する予測判定回路319とを有するものである。
この図3において、演算部320の端子300には、図4の予測モード切り換え回路52の出力が供給され、端子301には前述同様の演算器53a及び53cに送られる図4の動き補償回路64からの前方向の予測画像データが、端子302には前述同様の演算器53b及び53cに送られる図4の動き補償回路64からの後方向の予測画像データが供給される。
この第2の実施例装置において、フィールドでのDCT及びフレームでのDCTの選択と、イントラ符号化(画像内)及びインター符号化(画像間予測)の選択を行うのが、図3に示す演算部320である。
すなわち、前記入力された画像信号は、図4の前記動きベクトル検出回路50及び前記フレーム/フィールド予測モード切り換え回路52を介し、さらに上記端子300を介して図3の演算部320に入力される。セレクタ330は、予測判定回路54によって選択された予測モードに応じて加算器53a,53b,53cのうちの1つに端子300からの信号を供給する。
この演算部320では、入力信号に対してIピクチャの場合は画像内符号化信号を、Pピクチャの場合は画像内符号化信号と前方予測信号を、Bピクチャの場合は画像内符号化信号と予測判定回路54によって選択された仮の予測モードに対応する前方予測信号と後方予測信号と両方向予測信号のうちの1つを生成する。これらの信号に対して、それぞれ対応するフレームDCT回路303,305,307,309及びフィールドDCT回路304,306,308,310によって、フレーム単位のDCT及びフィールド単位のDCTが施され、これら各DCT回路からDCT係数データが得られる。
ここで、先ず、イントラ符号化(画像内符号化信号)用のフレームDCT回路303及びフィールドDCT回路304における選択手法に関して、以下に説明する。ここでのDCTのモード判定は、これらDCT回路303,304の出力が供給されるフレーム/フィールドDCTモード切り換え回路311で行われる。
当該モード切り換え回路311では、フレーム単位でDCT処理されて得られた4個の輝度ブロックのDCT係数(各64個)のうちAC成分63個の絶対値和 (Intra Frame Weightとする)を、数3の数式(3) を用いて計算する。
ただし、この数式(3) において、iはブロック番号、jはDCT係数の番号である。なお、j=1はDC成分である。
次に、上記フィールドでDCTされた4個の輝度ブロックのDCT係数(各64個)のうち、AC成分63個の絶対値和(Intra Field Weightとする)を数4の数式(4) を用いて計算する。
ただし、この数式(4) においても、iはブロック番号、jはDCT係数の番号である。なお、j=1はDC成分である。
これらにより計算された値のうち、先ず、上記絶対値和(Intra Frame Weight)が、あるしきい値(TH2 )と比較される。
このとき、
Intra Frame Weight <TH2
の場合は無条件にフレームのDCTモードに判定される。これは、フレームDCTモードになり易いように設けたハンディである。
次に、上記フレームにおける絶対値和(Intra Frame Weight)とフィールドにおける絶対値和(Intra Field Weight)が比較される。この時、それぞれの値(Weight)の小さいほうが選択される。また、フレームのDCTモードになりやすいように比較にハンディを付けることもできる。
例えば、
Intra Frame Weight < Intra Field Weight *β3 +α3
α3 、β3 は比較におけるハンディ
を行って、これが真の場合はフレームのDCTモードに、偽の場合はフィールドのDCTモードに判定される。また、判定されたDCTモードに対応するIntra Frame Weight又はIntra Field WeightがIntra Weightとして、予測判定回路319に供給される。
また、上述したフレームにおける絶対値和(Intra Frame Weight)とフィールドにおける絶対値和(Intra Field Weigh )は、ブロックのすべてのAC成分のDCT係数の絶対値加算とせずに、例えばいわゆるジグザグスキャンの順での、先頭からN番目(2≦N≦64)までのDCT係数を絶対値加算した値を用いてもよい。また、比較に用いるブロックも、輝度ブロックのみでなく、色差ブロックを含めた6個のブロックに対して行ってもよい。また、第1の実施例における第2のモード決定法と同様に、インターレース構造に寄与する度合いの高い係数のみ用いてもよい。
次にインター符号化である、前方予測信号のフレームDCT回路305及びフィールドDCT回路306と、後方予測信号のフレームDCT回路307及びフィールドDCT回路308と、両方向予測信号のフレームDCT回路309及びフィールドDCT回路310の選択手法に関して説明する。
これらのDCTモード判定は、それぞれ対応するフレーム/フィールドDCTモード切り換え回路312〜314で行なわれる。各フレームDCT回路305,307,309でDCTされたそれぞれ4個の輝度ブロックのDCT係数(それぞれ64個)の絶対値和 (Inter Frame Weightとする)を前方予測信号、後方予測信号、両方向予測信号に対して数5の数式(5) を用いて計算する。
ただし、数式(5) のiはブロック番号、jは係数の番号である。
また、各フィールドDCT回路306,308,310でDCTされたそれぞれ4個の輝度ブロックのDCT係数(それぞれ64個)の絶対値和(Inter Field Weightとする)を数6の数式(6) を用いて計算する。
ただし、数式(6) のiはブロック番号、jは係数の番号である。
この各絶対値和(Inter Frame Weight) 及び絶対値和(Inter Field Weight)に関してイントラ符号化の場合と同様の判断によって、それぞれ対応するDCTモード切り換え回路312〜314によって、フィールドのDCTかフレームのDCTかを選択する。また、判定されたDCTモードに対応するInter Frame Weight又はInter Field Weightが、Inter Weightとして予測判定回路319に供給される。また、上述したInter Frame Weight及びInter Field Weightは、ブロックのすべてのDCT係数の絶対値和とせずに、例えばいわゆるジグザグスキャンの順での先頭からN番目(1≦N≦64)までのDCT係数の絶対値和としてもよい。また、色差ブロックを含めるようにしてもよい。さらにまた、第1の実施例における第2のモード決定法と同様に、インターレース構造に寄与する度合いの高い係数のみ用いるようにしてもよい。
ここまでの処理によってフレーム/フィールドDCTモード切り換え回路311〜314からは、それぞれ絶対値和の値(Weight)に基づいて判断されたDCT係数データが出力される。このデータは予測モード選択回路315に供給される。予測判定回路319では、イントラ符号化における絶対値和(Intra Weight)とインター符号化における絶対値和(Inter Weight)に対して以下の判断を行ない、真の予測モードとDCTモードを決定する。予測判定回路319は、選択された予測モードを可変長符号化回路58に出力する。また、予測判定回路319は、選択された予測モードに応じて予測モード選択回路315の出力を切り換える。
先ず、予測判定回路319は、Inter Weightと、あるしきい値(TH3 )との比較を行う。
ここで、このイントラ符号化における絶対値和(Inter Weight)において、
Inter Weight <TH3
の場合、無条件にインター符号化に判定される。これは、インター符号化の予測モードになり易いように設けたハンディである。
次に、イントラ符号化における絶対値和(Intra Weight)とインター符号化における絶対値和(Inter Weight)が比較される。この時、それぞれの値(Weight)の小さい方が選択される。またインター符号化の予測モードになり易いように比較にハンディを付けることもできる。
例えば、
Inter Weight <Intra Weight*β4 +α4
α4 、β4 は比較におけるハンディ
を行って、これが真の場合はインター符号化に、偽の場合はイントラ符号化に判定される。また、上記のしきい値TH3 を用いた判定を行わず、
Inter Weight <Intra Weight*β4 +α4
α4 、β4 は比較におけるハンディ
の判定のみで、インター符号化とイントラ符号化の判定を行うこともできる。予測判定回路319は、選択されたInter Weight又はIntra Weightに対応する予測モード及びフレーム/フィールドDCTフラグを可変長符号化回路58に供給する。また、予測判定回路319は、予測モード選択回路315を制御して、上記選択されたInter Weight又はIntra Weightに対応するDCT係数を出力させる。
これまでの処理によって符号化の予測モード(画像内、前方予測、後方予測、両方向予測)の選択およびDCTモード(フレーム、フィールド)の選択が演算部320によって行なわれ、当該演算部320の出力が端子318からDCT係数の出力が後段の図4の量子化回路57に送られる。また、上述のようにして求めたフレーム/フィールドDCTモード切り換え回路311〜314の判断結果は、上述のようにフレーム/フィールドDCTフラグとして端子317を介して可変長符号化回路58に送られる。
その他の処理に関しては、第1の実施例と全く同様であり、それらについての説明は省略する。なお、上記第2の実施例においては、仮の予測モードを設定して画像内符号化信号と設定された予測モードに対応する予測信号にのみフレーム及びフィールドDCTをかけるようにしたが、ピクチャタイプ(I,P,Bピクチャ)によって決まる選択可能な予測モードに対応するすべての画像内信号及び予測信号に対してフレーム及びフィールドDCTをかけ、最も効率のよいものを選択するようにしてもよい。
上述したような本発明の画像符号化方法および復号化方法の実施の形態によれば、映像信号に対して、フレーム単位のブロックを形成しDCTを行う系と、フィールド単位のブロックを形成してDCTを行う系と、これら二つの系よりのフレームでDCTされた映像信号とフィールドでDCTされた映像信号の何れかを選択する手段とを有し、フレーム変換された係数と、フィールド変換された係数の情報量を比較し、この比較結果に基づいて上記フレーム変換された映像信号と、フィールド変換された映像信号を選択する。さらに本発明によれば、映像信号に対して、画像内予測(イントラ符号化)を行ないDCTを行う系と、画像間での予測(インター符号化)を行ないDCTを行う系と、イントラ符号化に対してDCTを施された映像信号とインター符号化に対してCTを施された映像信号の何れかを選択する手段を有し、イントラ符号化に対してDCTされた係数と、上記インター符号化に対してDCTされた係数の情報量を比較し、この比較結果に基づいて上記イントラ符号化に対してDCTされた映像信号と、インター符号化に対してDCTされた映像信号を選択するようにした。
これによって従来に比較して、発生ビット量に忠実な、より好ましいモード判断を行うことが可能となる。したがって、符号化効率の面から最適なフレーム/フィールド予測モードの判断及びフレーム/フィールドDCTモードの判断を実現することができる。
なお、本発明は上述した実施の形態のみに限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能であることは勿論である。
1 符号化装置、 2 復号化装置、 3 記録媒体、 12,13 A/D変換器、 14 フレームメモリ、 15 輝度信号フレームメモリ、 16 色差信号フレームメモリ、 17 フォーマット変換回路、 18 エンコーダ、 31 デコーダ、 32 フォーマット変換回路、 33 フレームメモリ、 34 輝度信号フレームメモリ、 35 色差信号フレームメモリ、 36,37 D/A変換器、 50 動きベクトル検出回路、 51 フレームメモリ、 52 予測モード切り替え回路、 53 演算部、 54 予測判定回路、 55 DCTモード切り替え回路、 56 DCT回路、 57 量子化回路、 58 可変長符号化回路、 59 送信バッファ、 60 逆量子化回路、 61 IDCT回路、 62 演算器、 63 フレームメモリ、 64 動き補償回路、 81 受信バッファ、 82 可変長復号化回路、 83 逆量子化回路、 84 IDCT回路、 85 演算器、 86 フレームメモリ、 87 動き補償回路、 200,303,305,307,309 フレームDCT回路、 201,304,306,308,310 フィールドDCT回路、 255,311〜314 フレーム/フィールドDCTモード切り換え回路、 315 予測モード選択回路、 319 予測判定回路、 320 演算部、 330 セレクタ