JP4001969B2 - 符号化装置および方法、並びに復号装置および方法 - Google Patents

符号化装置および方法、並びに復号装置および方法 Download PDF

Info

Publication number
JP4001969B2
JP4001969B2 JP07980297A JP7980297A JP4001969B2 JP 4001969 B2 JP4001969 B2 JP 4001969B2 JP 07980297 A JP07980297 A JP 07980297A JP 7980297 A JP7980297 A JP 7980297A JP 4001969 B2 JP4001969 B2 JP 4001969B2
Authority
JP
Japan
Prior art keywords
quantization
idct
mismatch control
dct
value
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP07980297A
Other languages
English (en)
Other versions
JPH10276097A (ja
Inventor
信禎 宮原
陽一 矢ヶ崎
輝彦 鈴木
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Corp filed Critical Sony Corp
Priority to JP07980297A priority Critical patent/JP4001969B2/ja
Publication of JPH10276097A publication Critical patent/JPH10276097A/ja
Application granted granted Critical
Publication of JP4001969B2 publication Critical patent/JP4001969B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Description

【0001】
【発明の属する技術分野】
本発明は、符号化装置および方法、並びに復号装置および方法に関し、例えば、複数の量子化および逆量子化の方法、量子化行列の利用方法、IDCTミスマッチの対策方法等を用意し、最適な方法を組み合わせることにより、高能率の符号化および復号を行うようにした符号化装置および方法、並びに復号装置および方法に関する。
【0002】
【従来の技術】
例えば、テレビ会議システム、テレビ電話システムなどのように、動画像信号を遠隔地に伝送するシステムにおいては、伝送路を効率良く利用するため、映像信号のライン相関やフレーム間相関を利用して、画像信号を圧縮符号化するようになされている。
【0003】
動画像の高能率符号化方法の代表的なものとして、MPEG(蓄積用動画像符号化)方式がある。これには、ISO/IEC JTC1/SC29/WG11にて議論され標準案として提案されたMPEG1、MPEG2、現在議論されているMPEG4等があり、主に動き補償予測符号化とDCT(Discrete Cosine Transform)符号化を組み合わせたハイブリッド方式が採用されている。
【0004】
以下では、MPEG4のVM6.0(ISO/IEC JTC1/SC29/WG11 MPEG96/N1582 Sevilla, February 1996)を例にし、説明を行なう。
【0005】
図13、図14を用いて従来の動画像符号化方法、および復号方法について説明する。図13は符号化器を、図14は復号器の構成例を示している。動きベクトル検出器101は、フレームメモリ102に保存された入力画像から、動きベクトルvを検出する。動きベクトルの検出法としては、通常、16画素×16画素のブロック単位でのブロックマッチングが行われる。また、より高い精度を実現するために、半画素単位のマッチングが行われる。
【0006】
動き補償器103は図示せぬフレームメモリを備え、現在、符号化すべき画像の各位置の画素値を、すでに符号化/復号が終了し、このフレームメモリに保存されている画像から予測する。時刻tに入力された画像上の位置(i,j)における画素値I[i,j,t]の予測値I2[i,j,t]は、この位置に対応する動きベクトルをv=(vx(i,j,t),vy(i,j,t))を用いて、次式のように決定される。
【0007】
2[i,j,t]=
(I[i2,j2,t−T]+I[i2+1,j2,t−T]+I[i2,j2+1,t−T]+I[i2+1,j2+1,t−T])/4
2=int(i+vx(i,j,t)T)
2=int(j+vy(i,j,t)T)
・・・(式1)
【0008】
ここで、Tは、現在予測を行っている画像Iが入力された時刻と、フレームメモリ上にある画像が入力された時刻の差であり、式(1)の右辺のI[i2,j2,t−T],I[i2+1,j2,t−T],I[i2,j2+1,t−T],I[i2+1,j2+1,t−T]は、図示せぬフレームメモリ上の画素値を表わす。また、int(x)はxを越えない最大の整数値を表している。
【0009】
加算器104は、現在符号化すべき画素の値と、動き補償器103によって算出された予測値との差分を計算する。DCT(Descrete Cosine Transform)器105は、差分値で構成された8画素×8画素のブロックに対して2次元DCTを施す。
【0010】
次に、DCT器105によって得られたDCT係数cに対して、適当なステップサイズQを用いて式(2)に象徴される量子化処理を行う。
【0011】
2=int(C/Q) ・・・(式2)
【0012】
この量子化を行う処理方法は実際には二通り用意されており、フラグQ_modeと連動したスイッチSW1,SW2によって切り替えられる。フラグQ_modeは、量子化等を行う際の処理方法の組み合わせを示しており、H.261あるいはH.263(以下、H.261/3と示す)のモード、MPEG1あるいはMPEG2(以下、MPEG1/2と示す)のモードのいずれかが、何らかの方法によってあらかじめ設定されている。H.261/3モードにおいては量子化器121でH.261/3型の量子化が行われる。MPEG1/2モードにおいては、MPEG1/2型の量子化行列がMPEG1/2型のQ行列の設定器(以下では、適宜、設定器と略記する)132で設定された後、量子化器122でMPEG1/2型の量子化が行われる。それぞれの量子化の処理方法および量子化行列の詳細については、後述する。
【0013】
量子化の施されたDCT係数は、可変長符号化器109、および逆量子化器123または逆量子化器124に供給される。逆量子化器123,124でも、量子化器で用いられたのと同じステップサイズにより、次式(3)に象徴される逆量子化処理が行われる。
【0014】
3=C2×Q ・・・(式3)
【0015】
この逆量子化を行う処理方法も実際には二通り用意されており、フラグQ_modeと連動したスイッチSW3,SW4によって切り替えられる。H.261/3モードにおいては、逆量子化器123でH.261/3型の逆量子化が行われ、ミスマッチ制御器141でDCT係数を奇数化するミスマッチ制御が行われた後、クリッピング器143によってDCT係数がクリッピングされる。MPEG1/2モードにおいては、124の逆量子化器でMPEG1/2型の逆量子化が行われた後、クリッピング器143によってDCT係数がクリッピングされる。それぞれの逆量子化の処理方法およびミスマッチの制御方法の詳細については、後述する。
【0016】
逆量子化されクリッピングが施されたデータは、IDCT(Inverse DCT)器106によって逆DCTが行われ、画素値の差分値が復元される。
【0017】
この差分値は、加算器110によって動き補償器103から出力される予測値と加算されて画素値のデータとなり、動き補償器103に送られて動き補償器103が備える図示せぬフレームメモリに保存される。
【0018】
可変長符号化器109は、量子化器121あるいは量子化器122によって得られた量子化されたDCT係数、動きベクトル検出器101によって得られた動きベクトルv、および何らかの方法によって設定されたフラグQ_modeに対して可変長符号化処理を施し、符号化ビット列を出力する。
【0019】
一方、図14に示した復号器においては、はじめに逆可変長符号化器209によって符号化器(図13)における可変長符号化器109の逆処理が施され、符号化ビット列から、量子化が施されたDCT係数、動きベクトルv、およびフラグQ_modeを復元する。フラグQ_modeは連動したスイッチSW11,SW12を作動させ、得られたDCT係数は逆量子化器223,または設定器232を介して逆量子化器224に、動きベクトルvは動き補償器203にそれぞれ供給される。
【0020】
逆量子化を行う処理方法も実際には二通り用意されており、フラグQ_modeと連動したスイッチSW11,SW12によって切り替えられる。H.261/3モードにおいては量子化器223でH.261/3型の逆量子化が行われ、ミスマッチ制御器241でDCT係数を奇数化するミスマッチ制御が行われた後、クリッピング器243によってDCT係数がクリッピングされる。MPEG1/2モードにおいては、MPEG1/2型の量子化行列が設定器232で設定された後、逆量子化器224でMPEG1/2型の逆量子化が行われ、クリッピング器244によってDCT係数がクリッピングされる。なお、双方のモードで用いられる処理器群は、図13に示した符号化器のものと同一のものを用いることができる。
【0021】
また、IDCT器206も図13に示した符号化器のIDCT器106と同一のものであり、IDCTが施されて画素値の差分値が復元される。
【0022】
この差分値は、加算器210によって、動き補償器203によってすでに生成されている予測値と加算されて画素値のデータとなり、図13に示した符号化器への入力画像に対応する画像が再構成される。復号された画像の各画素値は、予測画像を生成するために、動き補償器203に備えられた図示せぬフレームメモリに保存される。
【0023】
動き補償器203は、図13に示した符号化器の動き補償器103と同一のものであり、逆可変長符号化器209によって得られた動きベクトルv、およびすでにこの動き補償器203が備える図示せぬフレームメモリに保存されている画像を用いて、現在復号すべき画像の各画素値の予測を行う。
【0024】
通常は、上記予測値との差分を符号化する画像間符号化(INTER coding)を行なう。しかし、現在符号化すべき画素の値と動き補償器103によって算出された予測値との差分が大きい場合、符号化ビット量が多くなることを防ぐために、以下に示す画像内符号化(INTRA coding)を行なう場合もある。すなわち、ブロック内の各画素値について、差分をとらずにそのままDCT器105に送り、その画素値に対して符号化を行なう。
【0025】
以下では、量子化器として用意されている二通りの量子化および逆量子化の処理方法について説明する。
【0026】
H.261/3型の量子化は、例えば図15に示したように、量子化後に0となる範囲が量子化幅に比べて広く設けられているような量子化である(dead zoneの有る量子化)。VM6.0では次式(4)のように行われ、COFはDCT係数、LEVELは量子化後のDCT係数の絶対値、QPは量子化ステップサイズ、QCOFは量子化後のDCT係数を表わす。
【0027】
For INTRA:LEVEL=|COF|/(2×QP)
For INTER:LEVEL=(|COF|−QP/2)/(2×QP)
QCOF=sign(COF)×LEVEL・・・(式4)
【0028】
H.261/3型の逆量子化は、次式(5)のように行われる。COF2は逆量子化後のDCT係数を表わす。
【0029】
if LEVEL=0:|COF2|=0
if LEVEL≠0:|COF2|=2×QP×LEVEL+QP
COF2=sign(COF)×|COF2|・・・(式5)
【0030】
MPEG1/2型の量子化は、例えば図16に示したように、量子化後に0となる範囲が量子化幅と同一であるような量子化である(dead zoneの無い量子化)。VM6.0では次式(6)のように行われ、定数q,pは現時点でp=3,q=4となっている。
【0031】
For INTRA:QCOF=(COF+sign(COF)×((p×QP)//q)/(2×QP)
For INTER:QCOF=COF/(2×QP)・・・(式6)
【0032】
MPEG1/2型の量子化は、次式(7)のように行われる。COF2は逆量子化後のDCT係数を表わす。
【0033】
For INTRA:COF2=|QCOF|×2×QP
For INTER:COF2=(|QCOF|×2+sign(QCOF))×QP・・・(式7)
【0034】
但し、H.261/3型の量子化におけるINTRAの直流成分と、MPEG1/2型の量子化における直流成分については、次式のように量子化される。dcは直流成分のDCT係数、QDCはその量子化後の値を示す。
【0035】
QDC=dc//8 ・・・(式8)
【0036】
この逆量子化は次式のように行われ、dc2は逆量子化後の直流成分のDCT係数を表わす。
【0037】
dc2=QDC×8 ・・・(式9)
【0038】
DCT係数の量子化を行う際、例えば低周波成分に比べると重要な情報を持たないと見られる高周波成分をより多く無為化するために、量子化行列を設定して各係数の重みを調整することができる。この量子化行列は、例えば図17に示すような縦横8要素の行列であり、図17(A)に示した画像内符号化と図17(B)に示した画像間符号化とでは異なる行列が設定されるのが普通である。量子化行列を用いる場合、VM6.0では次式(10)のようにDCT係数が処理される。COF[i][j]はDCT係数のi行j列番目の成分、w[i][j]は量子化行列のi行j列番目の重み係数、COF2[i][j]は量子化行列による重み調整を行った後のi行j列番目のDCT係数を表わす。
【0039】
COF[i][j]=(16×COF[i][j])//w[i][j]
・・・(式10)
【0040】
量子化行列を用いた場合には、逆量子化後の係数を例えば次式(11)のように再調整する必要がある。COF3[i][j]は再調整後のi行j列番目のDCT係数を表わす。
【0041】
COF3[i][j]=COF2[i][j]×w[i][j]/16・・・(式11)
【0042】
エンコーダ側とデコーダ側とでIDCT器の精度や丸めの方法が異なる場合、符号化を行うにつれて不整合(ミスマッチ)が生じ、次第にその誤差が視覚的に感知されるようになる。この問題を防ぐために、IDCTを行う前にミスマッチ対策が行われ、その対策方法として以下に示す二通りの処理方法がよく用いられている。一方はDCT係数を奇数化することによるミスマッチ対策で、例えば次式(12)のように行われる。COFmはミスマッチ対策後のDCT係数を表わす。
【0043】
if COF2 is odd:|COFm|=|COF2
if COF2 is even:|COFm|=|COF2|−1
COFm=sign(COF2)×|COFm| ・・・(式12)
【0044】
他方はDCT係数の最も高周波成分を操作するミスマッチ対策で、DCT係数の奇数化によるミスマッチ対策よりも効率が良く、画質の劣化も少ない。縦横8要素のDCT係数のブロックについては、DCT係数の7行7列番目の成分、つまり(7,7)要素を次式のようにtoggleする。sumはDCT係数の和、COFm[7][7]はミスマッチ対策後のDCT係数の(7,7)要素を表わす。
【0045】
【数1】
Figure 0004001969
【0046】
なお、逆量子化された係数はIDCTの前でクリッピングされ、VM6.0ではその制限される範囲は[−2048:2047]である。
【0047】
次に、従来例におけるシンタックスを説明する。以下MPEG4 VM(Verification Model)を例にし、説明する。
【0048】
図18に符号化ビット列の構成を示す。VS(Video Session Class)は一つ又は複数のVO(Video Object Class)から構成される、符号化ビット列の集合である。VSのシンタックスを図19に示す。
【0049】
図20にVO(Video Object Class)のシンタックスを示す。VOは画像全体または画像中の一部の物体の符号化ビット列である。
【0050】
VOL(Video Object Layer Class)はスケーラビリティのためのクラスである。VOLのシンタックスを図21、図22に示す。VOLはvideo_object_layer_idに示される番号によって識別される。例えば、video_object_layer_id=0であるVOL0は下位レイヤであり、例えばvideo_object_layer_id=1である。VOL1は上位レイヤである。スケーラブルのレイヤの数は任意で良い。
【0051】
また、video_object_layer_quant_typeは、量子化等を行なう際に用いる処理方法の組合せのモードを示すフラグである。
【0052】
図23乃至図26にVOP(Video Object Plane Class)のシンタックスを示す。VOP_widthおよびVOP_heightはそのVOPの大きさを示すフラグである。
【0053】
図27はIおよびPピクチャ(VOP)におけるマクロブロック(MacroblockLayer)のシンタックスを示している。CODはこれ以後そのマクロブロックのデータが存在するかどうかを示すフラグである。COD=1の場合、これ以後、そのマクロブロックのデータが存在しないことを示す(即ちスキップマクロブロック)。COD=0の場合、さらにフラグが伝送される。MCBPCはそのマクロブロックのタイプを示すフラグで、これに従って所定のフラグおよびデータが伝送される。
【0054】
図28はBピクチャ(VOP)におけるマクロブロック(Macroblock Layer)のシンタックスを示している。もし、最も最近に復号されたIまたはPVOPの対応するマクロブロックがスキップマクロブロックであった場合(COD=1)、BVOPにおけるそのマクロブロックもスキップマクロブロックとなる。MODBはBVOPにおいてマクロブロックのタイプを示すフラグである。MODBの可変長符号を図29に示す。MODB=0の場合、それ以上マクロブロックのデータが存在しないことを示す。MODB=10の場合、CBPBは伝送されず、MBTYPEが伝送される。MODB=11の場合、CBPBおよびMBTYPEが伝送される。
【0055】
CBPBは6ビットのフラグでマクロブロック中の各ブロックにDCT係数が存在するかどうかを示すフラグである。CBPBが伝送されない場合、CBPBは0であると解釈され、そのマクロブロックではDCT係数は伝送されない。MBTYPEはBピクチャにおける各マクロブロックの予測モードを示すフラグで、これに従って所定のフラグおよびデータが伝送される。
【0056】
量子化等を中心として、従来例における処理の流れを詳しく説明するため、図30、図31に、従来例における処理の流れと符号化ビット列の生成法および解読法の一例を示す。図30に示したフローチャートは、エンコーダの量子化およびミスマッチ制御部分を示し、図31に示したフローチャートは、デコーダのミスマッチ制御および逆量子化部分を示している。
【0057】
図30のフローチャートを参照して、エンコーダの量子化およびミスマッチ制御部分における処理の流れと符号化ビット列の生成法を説明する。まず、ステップS1において、何らかの評価基準を用いて、H.261/3,MPEG1/2のどちらのモードで量子化等を行なうかを決める。あるいはエンコードする際に、あらかじめどのモードの量子化等を行なうかの指定がなされていても良い。次に、DCT演算を行なって求めた縦横8要素のDCT係数の各ブロックに対して、各モードに応じて以下のように量子化行列の利用方法を設定し、量子化および逆量子化の方法を選択し、IDCTミスマッチの対策方法を選択する。
【0058】
H.261/3モードの場合は、ステップS2において、量子化器121により、縦横8要素のDCT係数の各ブロックに対してH.261/3型の量子化が行われ、逆量子化器123により、逆量子化が行われる。その後、ステップS3に進み、ミスマッチ制御器141により、DCT係数を奇数化するミスマッチ制御が行われ、ステップS4において、クリッピング器143によりDCT係数のクリッピングが行われる。このモードの場合には、量子化行列は利用しないため、量子化行列は設定されずに量子化および逆量子化が行なわれる。このモードが選ばれた場合には、ステップS5において、Video Object Layer Classのvideo_object_layer_quant_typeのフラグは"0"に設定され、符号化される。
【0059】
一方、MPEG1/2モードの場合は、ステップS6に進み、設定器132により、縦横8要素のDCT係数の各ブロックに対してまずMPEG1/2型の量子化行列が設定される。ここで設定される量子化行列は、画像内符号化と画像間符号化とでは異なる。また、あらかじめ用意されている量子化行列以外の行列を新たに設定して用いても良いが、その場合には、Video Object Layer Classのload_intra_quant_mat、あるいはload_nonintra_quant_matのフラグをONにし、新たに設定した量子化行列の64個の要素をintra_quant_mat[64]あるいはnonintra_quant_mat[64]として符号化する。
【0060】
その後、ステップS7において、量子化器122により、ステップS6において設定器132により設定された量子化行列を用いてMPEG1/2型の量子化が行われ、逆量子化器124により、逆量子化が行われる。次に、ステップS8に進み、クリッピング器144により、DCT係数のクリッピングが行われる。ここでは、ミスマッチ制御は行なわれないことに注意されたい。このモードが選ばれた場合には、ステップS9において、Video Object Layer Classのvideo_object_layer_quant_typeのフラグは"1"に設定され、符号化される。
【0061】
次に、図31に示したフローチャートを参照して、デコーダのミスマッチ制御および逆量子化部分における処理の流れと符号化ビット列の解読法を説明する。最初に、ステップS11において、図13に示したエンコーダによって符号化された符号化ビット列のうち、Video Object Layer Classのvideo_object_layer_quant_typeのフラグを解読することによって、エンコーダ側で用いたモードを検出し、エンコーダ側のモードに対応するように逆量子化等の処理を行なう。例えば、video_object_layer_quant_type=="0"("=="は、左辺と右辺の値が等しいことを意味する)の場合にはH.261/3モード、そうでない場合にはMPEG1/2モードとみなして処理を行なう。
【0062】
H.261/3モードの場合は、ステップS12に進み、この場合、量子化行列は利用しないため、量子化行列は設定されずに逆量子化が行なわれる。即ち、復号された縦横8要素のDCT係数の各ブロックに対して、まず逆量子化器223により、H.261/3型の逆量子化が行われる。その後、ステップS13において、ミスマッチ制御部241により、DCT係数を奇数化するミスマッチ制御が行われる。次に、ステップS14に進み、クリッピング器243により、DCT係数のクリッピングが行われる。
【0063】
一方、MPEG1/2モードの場合は、ステップS15において、復号された縦横8要素のDCT係数の各ブロックに対して、まず設定器232によりMPEG1/2型の量子化行列が設定される。ここで設定される量子化行列は、画像内符号化と画像間符号化とでは異なる。また、例えばVideo Object Layer Classのload_intra_quant_mat、あるいはload_nonintra_quant_matのフラグがONになっている場合には、あらかじめ用意されている量子化行列以外を設定するために、例えば、intra_quant_mat[64]あるいはnonintra_quant_mat[64]として符号化された量子化行列の64個の要素を復号して用いる等の処理を行なわなければならない。その後、ステップS16に進み、逆量子化器224により、ステップS15において設定された量子化行列を用いてMPEG1/2型の逆量子化が行われ、ステップS17において、クリッピング器244によりDCT係数のクリッピングが行われる。エンコーダの場合と同様、ミスマッチ制御は行なわれないことに注意されたい。
【0064】
以上、MPEG方式について説明したが、この他にも様々な動画像の高能率符号化方法が標準化されている。例えば、ITU−Tでは主に通信用の符号化方式として、H.261やH.263という方式を規定している。このH.261やH.263も基本的にはMPEG方式と同様に動き補償予測符号化とDCT変換符号化を組み合わせたものであり、ヘッダ情報などの詳細は異なるが、符号化装置や復号装置は同様の構成となる。
【0065】
【発明が解決しようとする課題】
しかしながら、従来のMPEG1、MPEG2、H.261、H.263等の動画像の高能率符号化方法では、量子化および逆量子化の方法、量子化行列の利用方法、IDCTミスマッチの対策方法等としてそれぞれ異なる方法が指定されており、その他の方法を用いることは許されていなかった。
【0066】
MPEG4においては、1997年3月7日の時点で、これらの既存の動画像の高能率符号化方法との互換性をどのようにするかについては特にまとめられていない。そのため、MPEG4のVM(Verification Model)やWD(Working Draft)の規定では、量子化および逆量子化の方法、量子化行列の利用方法、IDCTミスマッチの対策方法等が、暫定的に複数用意されている。符号化および復号する場合には、これらの方法の中で決められた方法の組合せのモードを用いなければならず、規定されている組合せ自体も充分ではなかった。
【0067】
ここで、MPEG4のVM6.0(ISO/IEC JTC1/SC29/WG11 MPEG96/N1582 Sevilla,February 1996)や、WD1.0(ISO/IEC JTC1/SC29/WG11 MPEG96/N1470 Maceio,Nov.1996)で規定されている符号化および復号方法のうち、量子化およびミスマッチ制御の部分を簡単に説明する。H.261、あるいはH.263(以下、H.261/3と示す)のモードで符号化および復号する場合には、量子化および逆量子化の方法、量子化行列の利用方法、IDCTミスマッチの対策方法が全て指定される。MPEG1あるいはMPEG2(以下、MPEG1/2と示す)のモードで符号化および復号する場合には、量子化および逆量子化の方法、量子化行列の利用方法は指定されるが、IDCTミスマッチの対策方法は指定されない。
【0068】
このように、従来の動画像の高能率符号化方法では、既存の動画像の高能率符号化方法との互換性が充分に取られていない課題があった。
【0069】
また、量子化および逆量子化の方法、量子化行列の利用方法、IDCTミスマッチの対策方法等で、最適な方法の組合せを指定して、より高能率の符号化および復号を行なうこともできない課題があった。
【0070】
本発明はこのような状況に鑑みてなされたものであり、既存の動画像の高能率符号化方法との互換性を取ることができるようにするものである。
【0071】
【課題を解決するための手段】
請求項1に記載の符号化装置は、入力された画像データを符号化する符号化装置において、入力された画像データをDCT(Discrete Cosine Transform)変換して、DCT係数を出力するDCT変換手段と、少なくとも量子化タイプと量子化行列に基づいてDCT係数を量子化して、量子化されたDCT係数である第1の値を出力する量子化手段と、
第1の値を逆量子化して、逆量子化により得られたDCT係数である第2の値を出力する逆量子化手段と、少なくとも量子化タイプに基づいて、 IDCT ミスマッチ制御の方法を設定し、その方法で第2の値にIDCT(Inverse DCT)ミスマッチ制御を施すミスマッチ制御手段と、IDCTミスマッチ制御が施された第2の値をIDCT変換して、画像データを復元するIDCT変換手段と、量子化タイプを表す情報、量子化行列を表す情報、 IDCT ミスマッチ制御の方法を表す情報、および第1の値を符号化する符号化手段と、復元された画像データを基に、画像データの動き補償を行う動き補償手段と、動き補償手段から出力された結果画像データの差分計算する差分手段とを備え、ミスマッチ制御手段は、少なくとも量子化タイプに基づいて、第2の値のブロック毎の総和が偶数である場合、第2の値の(7,7)係数をトグル( toggle )する方法、または、 DCT 係数を奇数化する方法のいずれか一方を、 IDCT ミスマッチ制御の方法として設定することを特徴とする。
【0072】
請求項2に記載の符号化方法は、入力された画像データを符号化する符号化方法において、入力された画像データをDCT(Discrete Cosine Transform)変換して、DCT係数を出力し、少なくとも量子化タイプと量子化行列に基づいてDCT係数を量子化して、量子化されたDCT係数である第1の値を出力し、第1の値を逆量子化して、逆量子化により得られたDCT係数である第2の値を出力し、少なくとも量子化タイプに基づいて、 IDCT ミスマッチ制御の方法を設定し、その方法で第2の値にIDCT(Inverse DCT)ミスマッチ制御を施し、IDCTミスマッチ制御が施された第2の値をIDCT変換して、画像データを復元し、量子化タイプを表す情報、量子化行列を表す情報、 IDCT ミスマッチ制御の方法を表す情報、および第1の値を符号化し、復元された画像データを基に、画像データの動き補償を行い、動き補償の結果画像データの差分計算し、 IDCT ミスマッチ制御を施す際、少なくとも量子化タイプに基づいて、第2の値のブロック毎の総和が偶数である場合、第2の値の(7,7)係数をトグル( toggle )する方法、または、 DCT 係数を奇数化する方法のいずれか一方を、 IDCT ミスマッチ制御の方法として設定することを特徴とする。
【0073】
請求項3に記載の復号装置は、符号化装置により符号化されている、符号化装置で設定された、少なくとも量子化タイプを表す情報、量子化行列を表す情報、および量子化タイプに基づく IDCT Inverse Discrete Cosine Transform )ミスマッチ制御の方法を表す情報を含む画像データを復号する復号装置において、符号化されている画像データを復号して、復号により得られた量子化されているDCT(Discrete Cosine Transform)係数である所定の値、量子化タイプを表す情報、量子化行列を表す情報、および IDCT ミスマッチ制御の方法を表す情報を出力する復号手段と、少なくとも量子化タイプを表す情報と量子化行列を表す情報に基づき、値を逆量子化して、DCT係数を出力する逆量子化手段と、少なくとも IDCT ミスマッチ制御の方法を表す情報に基づき、 DCT 係数に IDCTミスマッチ制御を施すミスマッチ制御手段と、IDCTミスマッチ制御が施されたDCT係数をIDCT変換して、復号されたデータを生成するIDCT変換手段とを備え、ミスマッチ制御手段は、少なくとも IDCT ミスマッチ制御の方法を表す情報に基づき、 DCT 係数のブロック毎の総和が偶数である場合、 DCT 係数の(7,7)係数をトグル( toggle )するか、または、 DCT 係数を奇数化することを特徴とする。
【0074】
請求項4に記載の復号方法は、符号化装置により符号化されている、符号化装置で設定された、少なくとも量子化タイプを表す情報、量子化行列を表す情報、および量子化タイプに基づく IDCT Inverse Discrete Cosine Transform )ミスマッチ制御の方法を表す情報を含む画像データを復号する復号方法において、符号化されている画像データを復号して、復号により得られた量子化されているDCT(Discrete Cosine Transform)係数である所定の値、量子化タイプを表す情報、量子化行列を表す情報、および IDCT ミスマッチ制御の方法を表す情報を出力し、少なくとも量子化タイプを表す情報と量子化行列を表す情報に基づき、値を逆量子化して、DCT係数を出力し、少なくとも IDCT ミスマッチ制御の方法を表す情報に基づき、 DCT 係数に IDCTミスマッチ制御を施し、IDCTミスマッチ制御が施されたDCT係数をIDCT変換して、復号されたデータを生成し、 IDCT ミスマッチ制御を施す際、少なくとも IDCT ミスマッチ制御の方法を表す情報に基づき、 DCT 係数のブロック毎の総和が偶数である場合、 DCT 係数の(7,7)係数をトグル( toggle )するか、または、 DCT 係数を奇数化することを特徴とする。
【0077】
請求項1に記載の符号化装置においては、DCT変換手段が、入力された画像データをDCT(Discrete Cosine Transform)変換して、DCT係数を出力し、量子化手段が、少なくとも量子化タイプと量子化行列に基づいてDCT係数を量子化して、量子化されたDCT係数である第1の値を出力し、逆量子化手段が、第1の値を逆量子化して、逆量子化により得られたDCT係数である第2の値を出力し、ミスマッチ制御手段が、少なくとも量子化タイプに基づいて、 IDCT ミスマッチ制御の方法を設定し、その方法で第2の値にIDCT(Inverse DCT)ミスマッチ制御を施し、IDCT変換手段が、IDCTミスマッチ制御が施された第2の値をIDCT変換して、画像データを復元し、符号化手段が、量子化タイプを表す情報、量子化行列を表す情報、 IDCT ミスマッチ制御の方法を表す情報、および第1の値を符号化し、動き補償手段が、復元された画像データを基に、画像データの動き補償を行い、差分手段が、動き補償手段から出力された結果画像データの差分計算する。なお、ミスマッチ制御手段は、少なくとも量子化タイプに基づいて、第2の値のブロック毎の総和が偶数である場合、第2の値の(7,7)係数をトグル( toggle )する方法、または、 DCT 係数を奇数化する方法のいずれか一方を、 IDCT ミスマッチ制御の方法として設定する
【0078】
請求項2に記載の符号化方法においては、入力された画像データをDCT(Discrete Cosine Transform)変換して、DCT係数を出力し、少なくとも量子化タイプと量子化行列に基づいてDCT係数を量子化して、量子化されたDCT係数である第1の値を出力し、第1の値を逆量子化して、逆量子化により得られたDCT係数である第2の値を出力し、少なくとも量子化タイプに基づいて、 IDCT ミスマッチ制御の方法を設定し、その方法で第2の値にIDCT(Inverse DCT)ミスマッチ制御を施し、IDCTミスマッチ制御が施された第2の値をIDCT変換して、画像データを復元し、量子化タイプを表す情報、量子化行列を表す情報、 IDCT ミスマッチ制御の方法を表す情報、および第1の値を符号化し、復元された画像データを基に、画像データの動き補償を行い、動き補償の結果画像データの差分計算し、 IDCT ミスマッチ制御を施す際、少なくとも量子化タイプに基づいて、第2の値のブロック毎の総和が偶数である場合、第2の値の(7,7)係数をトグル( toggle )する方法、または、 DCT 係数を奇数化する方法のいずれか一方を、 IDCT ミスマッチ制御の方法として設定することを特徴とする。
【0079】
請求項3に記載の復号装置においては、復号手段が、符号化されている画像データを復号して、復号により得られた量子化されているDCT(Discrete Cosine Transform)係数である所定の値、量子化タイプを表す情報、量子化行列を表す情報、および IDCT ミスマッチ制御の方法を表す情報を出力し、逆量子化手段が、少なくとも量子化タイプを表す情報と量子化行列を表す情報に基づき、値を逆量子化して、DCT係数を出力し、ミスマッチ制御手段が、少なくとも IDCT ミスマッチ制御の方法を表す情報に基づき、 DCT 係数に IDCTミスマッチ制御を施し、IDCT変換手段が、IDCTミスマッチ制御が施されたDCT係数をIDCT変換して、復号されたデータを生成する。なお、ミスマッチ制御手段は、少なくとも IDCT ミスマッチ制御の方法を表す情報に基づき、 DCT 係数のブロック毎の総和が偶数である場合、 DCT 係数の(7,7)係数をトグル( toggle )するか、または、 DCT 係数を奇数化する
【0080】
請求項4に記載の復号方法においては、符号化されている画像データを復号して、復号により得られた量子化されているDCT(Discrete Cosine Transform)係数である所定の値、量子化タイプを表す情報、量子化行列を表す情報、および IDCT ミスマッチ制御の方法を表す情報を出力し、少なくとも量子化タイプを表す情報と量子化行列を表す情報に基づき、値を逆量子化して、DCT係数を出力し、少なくとも IDCT ミスマッチ制御の方法を表す情報に基づき、 DCT 係数に IDCTミスマッチ制御を施し、IDCTミスマッチ制御が施されたDCT係数をIDCT変換して、復号されたデータを生成し、 IDCT ミスマッチ制御を施す際、少なくとも IDCT ミスマッチ制御の方法を表す情報に基づき、 DCT 係数のブロック毎の総和が偶数である場合、 DCT 係数の(7,7)係数をトグル( toggle )するか、または、 DCT 係数を奇数化する
【0083】
【発明の実施の形態】
以下に、本発明の実施の形態を説明するが、その前に、特許請求の範囲に記載の発明の各手段と以下の実施の形態との対応関係を明らかにするために、各手段の後の括弧内に、対応する実施の形態(但し、一例)を付加して、本発明の特徴を記述すると、次のようになる。
【0084】
即ち、請求項1に記載の符号化装置は、入力された画像データを符号化する符号化装置において、入力された画像データをDCT(Discrete Cosine Transform)変換して、DCT係数を出力するDCT変換手段(例えば、図6のDCT器105)と、少なくとも量子化タイプと量子化行列に基づいてDCT係数を量子化して、量子化されたDCT係数である第1の値を出力する量子化手段(例えば、図6の量子化器122)と、第1の値を逆量子化して、逆量子化により得られたDCT係数である第2の値を出力する逆量子化手段(例えば、図6の逆量子化器124)と、少なくとも量子化タイプに基づいて、 IDCT ミスマッチ制御の方法を設定し、その方法で第2の値にIDCT(Inverse DCT)ミスマッチ制御を施すミスマッチ制御手段(例えば、図6のミスマッチ制御器154)と、IDCTミスマッチ制御が施された第2の値をIDCT変換して、画像データを復元するIDCT変換手段(例えば、図6のIDCT器106)と、量子化タイプを表す情報、量子化行列を表す情報、 IDCT ミスマッチ制御の方法を表す情報、および第1の値を符号化する符号化手段 ( 例えば、図6の可変長符号化器109 ) と、復元された画像データを基に、画像データの動き補償を行う動き補償手段(例えば、図6の動き補償器103)と、動き補償手段から出力された結果画像データの差分計算する差分手段(例えば、図6の加算器10)とを備え、ミスマッチ制御手段は、少なくとも量子化タイプに基づいて、第2の値のブロック毎の総和が偶数である場合、第2の値の(7,7)係数をトグル( toggle )する方法、または、 DCT 係数を奇数化する方法のいずれか一方を、 IDCT ミスマッチ制御の方法として設定することを特徴とする。
【0085】
請求項3に記載の復号装置は、符号化装置により符号化されている、符号化装置で設定された、少なくとも量子化タイプを表す情報、量子化行列を表す情報、および量子化タイプに基づく IDCT Inverse Discrete Cosine Transform )ミスマッチ制御の方法を表す情報を含む画像データを復号する復号装置において、符号化されている画像データを復号して、復号により得られた量子化されているDCT(Discrete Cosine Transform)係数である所定の値、量子化タイプを表す情報、量子化行列を表す情報、および IDCT ミスマッチ制御の方法を表す情報を出力する復号手段(例えば、図7の逆可変長符号化器209)と、少なくとも量子化タイプを表す情報と量子化行列を表す情報に基づき、値を逆量子化して、DCT係数を出力する逆量子化手段(例えば、図7の逆量子化器224)と、少なくとも IDCT ミスマッチ制御の方法を表す情報に基づき、 DCT 係数に IDCTミスマッチ制御を施すミスマッチ制御手段(例えば、図7のミスマッチ制御器253)と、IDCTミスマッチ制御が施されたDCT係数をIDCT変換して、復号されたデータを生成するIDCT変換手段(例えば、図7のIDCT器206)とを備え、ミスマッチ制御手段は、少なくとも IDCT ミスマッチ制御の方法を表す情報に基づき、 DCT 係数のブロック毎の総和が偶数である場合、 DCT 係数の(7,7)係数をトグル( toggle )するか、または、 DCT 係数を奇数化することを特徴とする。
【0087】
なお、勿論この記載は、各手段を上記したものに限定することを意味するものではない。
【0088】
図1に本発明の符号化装置を応用した符号化器(エンコーダ)の一実施の形態の構成例を示す。また、図2に、本発明の復号装置を応用した復号器(デコーダ)の一実施の形態の構成例を示す。図1はエンコーダ、図2はデコーダを示している。図1に示した符号化器の基本的な構成は図13に示した従来例の場合とほぼ同様である。また、図2に示した復号器の基本的な構成は図14に示した従来例の場合とほぼ同様である。
【0089】
従来例と異なる点は、エンコーダについては図13の符号化器において、スイッチSW3,SW4で分岐される処理のモードが、図1の符号化器においては、スイッチSW21,SW22においてそれぞれ三通り存在する点と、MPEG1あるいはMPEG2モードの場合、逆量子化を行なった後にミスマッチ制御を行なう部分が存在する点である。デコーダについても、図2の復号器においては、スイッチSW31,SW32で分岐される処理のモードが三通り存在する点と、MPEG1あるいはMPEG2モードの場合、逆量子化を行なった後にミスマッチ制御を行なう部分が存在する点である。
【0090】
図1の符号化器におけるスイッチSW1,SW2,SW21,SW22、図2の復号器におけるスイッチSW31,SW32は、図13,図14に示した従来例の場合と同様に、どのモードの量子化等を行なうかを示すフラグQ_mode2と連動しており、図の例ではH.261/3モードの場合を示した。但し、符号化器におけるスイッチSW1,SW2について、MPEG1あるいはMPEG2モードの場合の処理は共通である。フラグQ_mode2は、量子化等の処理方法の組み合わせを示しており、符号化器においては、あらかじめ何らかの評価基準を用い、H.261/3,MPEG1,MPEG2のうち、どのモードで量子化等を行なうかを決めておく。あるいはエンコードする際に、あらかじめどのモードの量子化等を行なうかの指定がなされていても良い。図2の復号器においては、逆可変長符号化器209によって復号される値による。
【0091】
逆量子化後に行なうミスマッチ制御に関連して、DCT係数のクリッピング器(図1の符号化器ではクリッピング器143,152,153、図2の復号器ではクリッピング器243,244,252)の位置がMPEG1モードとMPEG2モードとで前後していることに注意されたい。MPEG1モード(およびH.261/3モード)では、DCT係数の奇数化によるミスマッチ制御器(図1の符号化器ではミスマッチ制御器141,151、図2の復号器ではミスマッチ制御器241,251)の後にDCT係数のクリッピング器が置かれる。
【0092】
これに対して、MPEG2モードでは、DCT係数のクリッピング器の後に、DCT係数の(7,7)係数をtoggleするミスマッチ制御器(図1の符号化器ではミスマッチ制御器154、図2の復号器ではミスマッチ制御器253)が置かれる。
【0093】
以下、図1、図2の実施の形態における、より詳しい処理の流れについて説明する。
【0094】
図3および図4に、図1および図2に示した符号化器および復号器における処理の流れと符号化ビット列の生成法および解読法の一例を示す。図3はエンコーダの量子化およびミスマッチ制御部分を示し、図4はデコーダのミスマッチ制御および逆量子化部分を示した。
【0095】
上記実施の形態における符号化シンタックスの基本的構成は、図30、図31に示した従来例の場合と基本的に同一であるが、量子化および逆量子化の方法等の組合せとして指定可能なモードとして、H.261/3モード以外にMPEG1,MPEG2モードの三つが用意されている点が大きく異なる。またMPEG1,MPEG2モードでは、IDCTミスマッチの対策方法が指定されている点も異なる。
【0096】
上記実施の形態におけるVideo Object Layer Classのシンタックスの一部を図5に示した。従来例とは、video_object_layer_quant_typeのフラグが2bitである点が異なる。
【0097】
次に、図3のフローチャートを参照して、図1に示したエンコーダの量子化およびミスマッチ制御部分における処理の流れと符号化ビット列の生成法を説明する。まず、ステップS21において、何らかの評価基準を用いて、H.261/3,MPEG1,MPEG2のうちどのモードで量子化等を行なうかを決める。あるいはエンコードする際に、あらかじめどのモードの量子化等を行なうかの指定がなされていても良い。DCT演算を行なって求めた縦横8要素のDCT係数の各ブロックに対して、各モードに応じて以下のように量子化行列の利用方法を設定し、量子化および逆量子化の方法を選択し、IDCTミスマッチの対策方法を選択する。
【0098】
H.261/3モードの場合は、ステップS22において、量子化器121により、縦横8要素のDCT係数の各ブロックに対して、H.261/3型の量子化が行われ、次に、逆量子化器123により逆量子化が行われる。その後、ステップS23に進み、ミスマッチ制御器141により、DCT係数を奇数化するミスマッチ制御が行われ、次に、ステップS24において、クリッピング器143によりDCT係数のクリッピングが行われる。
【0099】
このモードの場合には、量子化行列は利用しないため、量子化行列は設定されずに量子化および逆量子化が行なわれる。なお、このモードが選ばれた場合には、ステップS25において、例えば、Video Object Layer Classのvideo_object_layer_quant_typeのフラグは"01"に設定され、符号化される。この例では、このフラグの名前は従来例の場合と同名になっているが、以下にも説明するように、その役割は従来例とは異なる。
【0100】
一方、MPEG1モードの場合は、ステップS26において、設定器132により、縦横8要素のDCT係数の各ブロックに対してまず、MPEG1/2型の量子化行列が設定される。ここで設定される量子化行列は、画像内符号化と画像間符号化とでは異なる。また、あらかじめ用意されている量子化行列以外のものを新たに設定して用いても良いが、その場合には、例えばVideo Object Layer Classのload_intra_quant_mat、あるいはload_nonintra_quant_matのフラグをONにし、新たに設定した量子化行列の64個の要素をintra_quant_mat[64]あるいはnonintra_quant_mat[64]として符号化する等の処理を行なわなければならない。
【0101】
その後、ステップS27において、量子化器122により、設定器132が設定した量子化行列を用いてMPEG1/2型の量子化が行われ、次に、逆量子化器124により、逆量子化が行われる。次に、ステップS28に進み、ミスマッチ制御器151により、DCT係数を奇数化するミスマッチ制御が行われ、ステップS29において、クリッピング器152により、DCT係数のクリッピングが行われる。なお、このモードが選ばれた場合には、ステップS30において、例えば、Video Object Layer Classのvideo_object_layer_quant_typeのフラグは"10"に設定され、符号化される。
【0102】
さらに、MPEG2モードの場合は、ステップS31において、設定器132により、縦横8要素のDCT係数の各ブロックに対して、MPEG1モードの場合と同様に、まずMPEG1/2型の量子化行列が設定される。ここで、新たに量子化行列を設定して用いる場合にも、MPEG1モードの場合と同様に量子化行列の64個の要素を符号化する等の処理を行なわなければならない。
【0103】
その後、ステップS32に進み、設定器132が設定した量子化行列を用いてMPEG1/2型の量子化が行われ、逆量子化器125により、逆量子化が行われる。次に、ステップS33において、クリッピング器153により、DCT係数のクリッピングが行われてから、ステップS34に進み、ミスマッチ制御器154により、DCT係数の(7,7)要素をtoggleすることによるミスマッチ制御が行われる。なお、このモードが選ばれた場合には、ステップS35において、例えば、Video Object Layer Classのvideo_object_layer_quant_typeのフラグは"11"に設定され、符号化される。ステップS25またはステップS30またはステップS35の処理が終了すると、すべての処理を終了する。
【0104】
次に、図4のフローチャートを参照して、図2に示したデコーダのミスマッチ制御および逆量子化部分における処理の流れと符号化ビット列の解読法について説明する。ステップS31においては、図1に示したエンコーダによって符号化された符号化ビット列のうち、例えば、Video Object Layer Classのvideo_object_layer_quant_typeのフラグを解読することによって、エンコーダ側で用いたモードに対応するように逆量子化等の処理を行なう。例えば、video_object_layer_quant_type=="01"の場合にはH.261/3モード、video_object_layer_quant_type=="10"の場合にはMPEG1モード、video_object_layer_quant_type=="11"の場合にはMPEG2モードとみなして処理を行なう。
【0105】
H.261/3モードの場合は、量子化行列は利用しないため、ステップS32に進み、量子化行列は設定されずに逆量子化が行なわれる。即ち、復号された縦横8要素のDCT係数の各ブロックに対して、まず、逆量子化器223により、H.261/3型の逆量子化が行われる。その後、ステップS33において、ミスマッチ制御器141により、DCT係数を奇数化するミスマッチ制御が行われ、ステップS34に進み、クリッピング器243により、DCT係数のクリッピングが行われる。
【0106】
また、MPEG1モードの場合は、復号された縦横8要素のDCT係数の各ブロックに対して、まず、ステップS35において、設定器232により、MPEG1/2型の量子化行列が設定される。ここで設定される量子化行列は、画像内符号化と画像間符号化とでは異なる。また、例えば、Video Object Layer Classのload_intra_quant_mat、あるいはload_nonintra_quant_matのフラグがONになっている場合には、あらかじめ用意されている量子化行列以外のものを設定するために、例えば、intra_quant_mat[64]あるいはnonintra_quant_mat[64]として符号化された量子化行列の64個の要素を復号して用いる等の処理を行なわなければならない。次に、ステップS36に進み、逆量子化器224により、設定器232が設定した量子化行列を用いてMPEG1/2型の逆量子化が行われる。その後、ステップS37において、ミスマッチ制御器251により、DCT係数を奇数化するミスマッチ制御が行われ、次に、ステップS38において、クリッピング器244により、DCT係数のクリッピングが行われる。
【0107】
さらに、MPEG2モードの場合は、復号された縦横8要素のDCT係数の各ブロックに対して、まず、ステップS39において、設定器233により、MPEG1/2型の量子化行列が設定される。ここで設定される量子化行列は、MPEG1モードの場合と同様であり、新たに量子化行列が設定されている場合には、符号化された量子化行列を復号して用いる等の処理を行なわなければならない。次に、ステップS40に進み、逆量子化器225により、設定器233が設定した量子化行列を用いてMPEG1/2型の逆量子化が行われる。その後、ステップS41において、クリッピング器252により、DCT係数のクリッピングが行われ、ステップS42において、ミスマッチ制御器253により、DCT係数の(7,7)要素をtoggleすることによるミスマッチ制御が行われる。
【0108】
上記処理以外でも、H.261/3、MPEG1、MPEG2の各モードにおいて個別に処理すべき他の処理を、例えば、Video Object Layer Classのvideo_object_layer_quant_typeのフラグと連動させることにしても良い。あるいは、新たなモードを設け、そのモードと対応するような新規あるいは従来の量子化および逆量子化等の各処理方法を連動させることにしても良い。あるいは、逆に用意するモードの数自体を減らしたり、フラグと連動させる処理の数を減らすなど、処理を簡潔にしても良い。あるいは、可能である限りこれらの処理の順番を入れ換えても良い。どのモードの処理方法を行なうかを示す例えば、video_object_layer_quant_typeのフラグで用いるシンボルは、上記の例とは異なったシンボルを用いても良い。
【0109】
また上記の例では、各モードを示すフラグとして、例えばVideo Object Layer Classのvideo_object_layer_quant_typeのフラグとして説明を行なったが、同様の役割を担う別名のフラグであっても良い。あるいは、例えば、Video Object Layer Classにおいてこのフラグを設定する代わりに、Video Object Plane Class又はMacroblock Layer等の他のLayerで設定することによって、設定したフラグに連動させる処理方法をオブジェクト単位からフレーム又はマクロブロック単位等の別の単位で切り替えることにしても良い。
【0110】
図6、図7に、本発明の符号化装置および復号装置を適用したエンコーダ(符号化器)およびデコーダ(復号器)の一実施の形態の構成例を示す。図5はエンコーダ、図6はデコーダを示している。図6、図7に示したエンコーダおよびデコーダの基本的な構成は、図1、図2に示した実施の形態の場合とほぼ同様である。
【0111】
図1および図2の実施の形態と異なる点は、エンコーダについては図6の符号化器において、スイッチSW1,SW41,SW42,SW2,SW3,SW43,SW44,SW45とフラグQ_matrix,Q_type,mismatchによって、量子化行列の利用方法、量子化および逆量子化の方法、IDCTミスマッチの対策方法を個別に設定することが可能となっている点である。デコーダについても図7の復号器において、スイッチSW11,SW51,SW52,SW53,SW54,SW55とフラグQ_matrix,Q_type,mismatchによって、量子化行列の利用方法、逆量子化の方法、IDCTミスマッチの対策方法を個別に設定することが可能となっている点である。
【0112】
本実施の形態では、図1、図2に示した実施の形態におけるフラグQ_mode2に代って、Q_matrix,Q_type,mismatchと名付けられた3つのフラグが用意されている。フラグQ_matrixは、図6の符号化器においてはスイッチSW1,SW41、図7の復号器においてはスイッチSW11,SW51と連動しており、量子化行列の利用方法に係わる。フラグQ_typeは、図6の符号化器においてはスイッチSW42,SW2,SW3,SW43、図7の復号器においてはスイッチSW52,SW53と連動しており、量子化および逆量子化の方法に係わる。
【0113】
フラグmismatchは、図6の符号化器においてはスイッチSW44,SW45、図7の復号器においてはスイッチSW54,SW55と連動しており、IDCTミスマッチの対策方法に係わる。図の例では、Q_matrixについてはMPEG1/2型の量子化行列を用いない場合、Q_typeについてはH.261/3型の量子化を行なう場合、mismatchについてはDCT係数の奇数化によるミスマッチ制御を行なう場合を示した。
【0114】
3つのフラグQ_matrix,Q_type,mismatchは、処理方法の組み合わせを示しており、図6の符号化器においてはあらかじめ何らかの評価基準を用い、それぞれどの処理方法を用いるかを決めておく。あるいはエンコードする際に、あらかじめどの処理方法を用いるかの指定がなされていても良い。図7の復号器においては、逆可変長符号化器209によって復号される値による。
【0115】
フラグmismatchによって切り替わるミスマッチ制御に関連して、DCT係数のクリッピング器(図6の符号化器ではクリッピング器143,153、図7の復号器ではクリッピング器243,252)の位置が、図1、図2に示した実施の形態の場合と同様に前後していることに注意されたい。DCT係数の奇数化によるミスマッチ制御を行なう場合には、DCT係数の奇数化によるミスマッチ制御器(図6の符号化器ではミスマッチ制御器141、図7の復号器ではミスマッチ制御器241)の後にDCT係数のクリッピング器が置かれる。
【0116】
これ対してDCT係数の(7,7)係数をtoggleすることによるミスマッチ制御を行なう場合には、DCT係数のクリッピング器の後に、DCT係数の(7,7)係数をtoggleするミスマッチ制御器(図6の符号化器ではミスマッチ制御器154、図7の復号器ではミスマッチ制御器253)が置かれる。
【0117】
フラグQ_matrixによって切り替わる量子化行列の利用方法に関連して、仮の量子化行列の設定器(図6の符号化器では設定器131、図7の復号器では設定器261)について説明する。フラグQ_matrixによってMPEG1/2型の量子化行列を用いないことが示された場合、本来量子化行列は設定されず、この仮の量子化行列の設定器の存在は、通常、符号化器、復号器で共に無視される。しかし、図6、図7の実施の形態においては、同じ量子化および逆量子化の処理方法に対して、量子化行列が設定されている場合と設定されていない場合のどちらもが起こりうるため、そのどちらの場合にも対処できるように、量子化および逆量子化の処理を複数用意しておくべき場合がある。
【0118】
しかしながら、量子化行列の設定の有無に係わらず、量子化および逆量子化の処理を一通りで行なえるように、演算あるいは回路を構成することも可能である。それは、量子化行列を設定する場合に合わせるように、量子化行列を設定しない場合には、全ての要素の値が(0以外でかつ正の値で)等しいなどの仮の量子化行列を設定しておき、量子化および逆量子化の処理を行なう際にはこの仮の量子化行列を用いることである。このように、仮の量子化行列を設定する場合、仮の量子化行列の設定器は、図6の符号化器では設定器131、図7の復号器では設定器261の位置に置かれ、存在することになる。
【0119】
図6および図7に示した実施の形態における、より詳しい処理の流れについて、以下に説明する。
【0120】
図8および図9のフローチャートは、図6および図7の実施の形態における処理の流れと符号化ビット列の生成法および解読法の一例を示している。図8はエンコーダの量子化およびミスマッチ制御部分を示し、図9はデコーダのミスマッチ制御および逆量子化部分を示している。
【0121】
図6および図7の実施の形態における符号化シンタックスの基本的構成は、図3、図4に示した実施の形態の場合と基本的に同様であるが、量子化行列の利用方法、量子化および逆量子化の方法、およびIDCTミスマッチの対策方法等を連動させて設定するのではなく、個別に設定することが可能となっている点が大きく異なる。
【0122】
図6および図7の実施の形態におけるVideo Object Layer Classのシンタックスの一部を図10に示した。従来例とは、video_object_layer_quant_typeのフラグの代わりに、video_object_layer_quant_matrix,video_object_layer_quant_type,video_object_layer_mismatchの3つのフラグが設けられている点が異なる。
【0123】
図8のフローチャートを参照して、エンコーダの量子化およびミスマッチ制御部分における処理の流れと符号化ビット列の生成法について説明する。ステップS41において、それぞれ複数の処理方法が用意されている、量子化行列の利用方法、量子化および逆量子化の方法、およびIDCTミスマッチの対策方法等について、どの処理方法を用いるかを、何らかの評価基準を用いて決める。あるいはエンコードする際に、あらかじめどの処理方法の量子化等を行なうかの指定がなされていても良い。DCT演算を行なって求めた縦横8要素のDCT係数の各ブロックに対して、以下のように量子化行列の利用方法を設定し、量子化および逆量子化の方法を選択し、IDCTミスマッチの対策方法を選択する。
【0124】
まず、決められた量子化行列の利用方法に従って、量子化行列を設定する。図8の例では、MPEG1/2型の量子化行列を用いない場合には、量子化行列を設定しない。あるいは、ステップS42において、設定器131により、量子化行列を設定した場合と量子化の演算を共通に行なえるように、全ての要素の値が(0以外でかつ正の値で)等しいなどの仮の量子化行列が設定される。一方、MPEG1/2型の量子化行列を用いる場合には、ステップS44において、設定器132により、MPEG1/2型の量子化行列が設定される。ここで設定される量子化行列は、図1および図2に示した実施の形態の場合と同様に、画像内符号化と画像間符号化とでは異なる。
【0125】
また、あらかじめ用意されている量子化行列以外のものを新たに設定して用いても良いが、その場合には、例えばVideo Object Layer Classのload_intra_quant_mat、あるいはload_nonintra_quant_matのフラグをONにし、新たに設定した量子化行列の64個の要素をintra_quant_mat[64]あるいはnonintra_quant_mat[64]として符号化する等の処理を行なわなければならない。量子化行列の利用方法を示す例えばVideo Object Layer Classのvideo_object_layer_quant_matrixのフラグは、MPEG1/2型の量子化行列を用いない場合にはON、MPEG1/2型の量子化行列を用いる場合にはOFFに設定され、符号化される。
【0126】
次に、ステップS46において、H.261/3型の量子化を行うか否かが決定され、決められた量子化の方法に従って、量子化および逆量子化が行なわれる。図8の例では、H.261/3型の量子化を行なう場合には、ステップS47において、量子化器121により、H.261/3型の量子化が行われ、逆量子化器123により、逆量子化が行われる。
【0127】
H.261/3型の量子化を行なわない場合には、用いる量子化の方法はMPEG1/2型であるとみなして、ステップS49において、量子化器122により、量子化が行われ、次に、逆量子化器124により逆量子化が行われる。量子化および逆量子化の処理を行なう際には、量子化行列が設定されている場合にはそれを用い、量子化行列が設定されていない場合にはそれを用いない。あるいは、仮の量子化行列が設定されている場合には、それを用いる。
【0128】
量子化および逆量子化の方法を示す例えばVideo Object Layer Classのvideo_object_layer_quant_typeのフラグは、H.261/3型の量子化を行なう場合にはON、H.261/3型の量子化を行なわない場合にはOFFに設定され、符号化される。この例では、このフラグの名前は従来例および図1、図2に示した実施の形態の場合(図3、図4のフローチャートに示したフラグ)と同名になっているが、その役割は従来例、図1、図2の実施の形態のどちらとも異なる。
【0129】
その後、ステップS51において、DCT係数の奇数化によるミスマッチ制御を行うか否かが決定され、決められたIDCTミスマッチの対策方法に従って、ミスマッチ制御(およびDCT係数のクリッピング)が行われる。図8の例では、DCT係数の奇数化によるミスマッチ制御を行なう場合には、ステップS52において、ミスマッチ制御器141により、DCT係数の奇数化によるミスマッチ制御が行われた後で、ステップS53に進み、クリッピング器143により、DCT係数のクリッピングが行われる。DCT係数の奇数化によるミスマッチ制御を行なわない場合には、用いるミスマッチの対策方法はDCT係数の(7,7)係数をtoggleすることによるミスマッチ制御であるとみなし、ステップS55に進み、クリッピング器153により、DCT係数のクリッピングが行われた後で、ステップS56において、ミスマッチ制御器154により、このミスマッチ制御が行われる。
【0130】
IDCTミスマッチの対策方法を示す例えばVideo Object Layer Classのvideo_object_layer_mismatchのフラグは、DCT係数の奇数化によるミスマッチ制御を行なう場合にはONに設定され(ステップS54)、DCT係数の奇数化によるミスマッチ制御を行なわない場合にはOFFに設定され(ステップS57)、符号化される。ステップS54またはステップS57の処理が終了すると、すべての処理が終了する。
【0131】
次に、図9のフローチャートを参照して、デコーダのミスマッチ制御および逆量子化部分における処理の流れと符号化ビット列の解読法について説明する。
【0132】
復号された縦横8要素のDCT係数の各ブロックに対して、まずエンコーダ側で用いられた量子化行列の利用方法に従って、量子化行列を設定する。ステップS61においては、エンコーダによって符号化された符号化ビット列のうち、例えばVideo Object Layer Classのvideo_object_layer_quant_matrixのフラグが解読される。そして、そのフラグがONである場合には、量子化行列を設定しない。あるいは、ステップS62において、設定器261により、量子化行列を設定した場合と量子化の演算を共通に行なえるように、全ての要素の値が(0以外でかつ正の値で)等しいなどの仮の量子化行列が設定される。そのフラグがOFFである場合には、ステップS63において、設定器232により、MPEG1/2型の量子化行列が設定される。ここで設定される量子化行列は、画像内符号化と画像間符号化とでは異なる。
【0133】
また、例えばVideo Object Layer Classのload_intra_quant_mat、あるいはload_nonintra_quant_matのフラグがONになっている場合には、あらかじめ用意されている量子化行列以外のものを設定するために、例えばintra_quant_mat[64]あるいはnonintra_quant_mat[64]として符号化された量子化行列の64個の要素を復号して用いる等の処理を行なわなければならない。
【0134】
次に、エンコーダ側で用いられた量子化の方法に従って、逆量子化を行なう。ステップS64においては、エンコーダによって符号化された符号化ビット列のうち、例えばVideo Object Layer Classのvideo_object_layer_quant_typeのフラグが解読される。そのフラグがONである場合には、ステップS65に進み、逆量子化器223により、H.261/3型の逆量子化が行われる。一方、そのフラグがOFFである場合には、ステップS66に進み、逆量子化器224によりMPEG1/2型の逆量子化が行われる。逆量子化を行なう際には、量子化行列が設定されている場合にはそれを用い、量子化行列が設定されていない場合にはそれを用いない。あるいは、仮の量子化行列が設定されている場合には、それを用いる。
【0135】
その後、エンコーダ側で用いられたIDCTミスマッチの対策方法に従って、ミスマッチ制御(およびDCT係数のクリッピング)を行なう。ステップS67において、エンコーダによって符号化された符号化ビット列のうち、例えばVideo Object Layer Classのvideo_object_layer_mismatchのフラグが解読される。そのフラグがONである場合には、ステップS68に進み、ミスマッチ制御器241により、DCT係数の奇数化によるミスマッチ制御が行われた後で、ステップS69において、クリッピング器243により、DCT係数のクリッピングが行われる。一方、そのフラグがOFFである場合には、ステップS70に進み、クリッピング器252により、DCT係数のクリッピングが行われた後で、ステップS71において、ミスマッチ制御器253により、DCT係数の(7,7)係数をtoggleすることによるミスマッチ制御が行われる。
【0136】
上記の例では、量子化行列の利用方法、量子化および逆量子化の方法、およびIDCTミスマッチの対策方法等について、どれも丁度二通りの処理方法だけある場合を示した。しかし、何らかの方法について三通り以上の処理方法が考えられる場合についても、フラグのON,OFFの二通りのシンボルを三種類以上の表現が可能なシンボルに変え、それらのシンボルに応じて処理方法を切り替えるようにしても良い。
【0137】
また、上記処理以外についても、いくつかの処理方法が用意又は想定される何らかの処理のために、例えばVideo Object Layer Classにおいて新たなフラグを設けておき、そのフラグとその処理とを連動させることにしても良い。あるいは、逆に用意又は想定される処理の数自体や、処理方法の数を減らす等の簡潔化を行なうことによって、フラグの数を減らす等のことを行なっても良い。あるいは、可能である限りこれらの処理の順番を入れ換えても良い。
【0138】
また上記の例では、各方法を示すフラグとして例えばVideo Object Layer Classのvideo_object_layer_quant_type等のフラグを用いて説明を行なったが、同様の役割を担う別名のフラグであっても良い。あるいは、例えば、Video Object Layer Classにおいてこのフラグを設定する代わりに、Video Object Plane Class又はMacroblock Layer等の他のLayerで設定することによって、設定したフラグに連動させる処理方法をオブジェクト単位からフレーム又はマクロブロック単位等の別の単位で切り替えることにしても良い。
【0139】
図11は、本発明の復号装置を応用した復号器(デコーダ)のさらに他の実施の形態の構成例を示すブロック図である。この実施の形態(デコーダ)に対応するエンコーダは、図1に示したエンコーダ、あるいは図6に示したエンコーダの場合と全く同様の構成であり、デコーダの構成のみが異なる。図11は、図6に示したエンコーダに対するデコーダを示している。なお、図1のエンコーダに対するデコーダは、その基本となる考え方および実現方法は以下に説明するように、図11の場合と同様である。従って、その図示および説明は省略する。
【0140】
図11に示したデコーダの基本的な構成は、図6に示したデコーダの場合とほぼ同様である。図6のデコーダと異なる点は、図11の復号器の逆可変長符号化器209によって復号されるフラグmismatchを利用せずに無視し、ミスマッチ制御器241によって常にDCT係数の奇数化によるミスマッチ制御を行なう点である。DCT係数のクリッピング器243は、このミスマッチ制御器241の後に置かれる。
【0141】
上記のように構成する理由は以下の通りである。エンコーダ側とデコーダ側とで用いるミスマッチの対策方法が異なる場合、当然ながらミスマッチは起こり、一般にエンコードされたフレーム数が多くなるほどそのミスマッチは視覚的に感知されやすくなる。しかし、エンコーダ側でDCT係数の(7,7)係数をtoggleするミスマッチ制御を行なって生成した符号化ビット列に対して、デコーダ側でDCT係数の奇数化によるミスマッチ制御を行なった場合、そのミスマッチの周波数成分はDCT係数の(7,7)係数の成分だけにほぼ限定される。この成分は非常に高周波であるため、視覚的には比較的感知されにくい。
【0142】
そのため、デコーダが行なうミスマッチの対策方法はDCT係数の奇数化によるミスマッチ制御のみと限定することによって、デコーダの演算あるいは回路を簡易化することにしても良い。なお、このような簡略化を行なった場合、ミスマッチとして視覚的に感知されるべきノイズ成分を軽減あるいは除去するために、ノイズ軽減フィルタあるいはノイズ除去フィルタを用いても良い。このフィルタは、ミスマッチ制御の処理を行なった後や、画像を表示する装置にデコードした画像を送る直前等のように、主にノイズ成分を軽減、あるいは除去による効果が視覚的に現れる位置に置かれる。
【0143】
図11に示した実施の形態における、より詳しい処理の流れ等について、以下説明する。
【0144】
図12に示したフローチャートは、図11に示したデコーダにおける処理の流れと符号化ビット列の解読法の一例を示している。図11の実施の形態に対応するエンコーダは、図1あるいは図6のエンコーダの場合と全く同様の構成であり、デコーダの構成のみが異なる。図12のフローチャートは、図6のエンコーダに対する本実施の形態のデコーダのミスマッチ制御および逆量子化部分を示している。
【0145】
なお、図1のエンコーダに対する本実施の形態のデコーダのミスマッチ制御および逆量子化部分は示していないが、その基本となる考え方および実現方法は以下に説明することと同様である。
【0146】
復号された縦横8要素のDCT係数の各ブロックに対して、まずエンコーダ側で用いられた量子化行列の利用方法に従って、量子化行列を設定する。ステップS81においては、エンコーダによって符号化された符号化ビット列のうち、例えばVideo Object Layer Classのvideo_object_layer_quant_matrixのフラグが解読される。そして、そのフラグがONである場合には、量子化行列を設定しない。あるいは、ステップS82において、設定器261により、量子化行列を設定した場合と量子化の演算を共通に行なえるように、全ての要素の値が(0以外でかつ正の値で)等しいなどの仮の量子化行列が設定される。そのフラグがOFFである場合には、ステップS83において、設定器232により、MPEG1/2型の量子化行列が設定される。ここで設定される量子化行列は、画像内符号化と画像間符号化とでは異なる。
【0147】
また、例えばVideo Object Layer Classのload_intra_quant_mat、あるいはload_nonintra_quant_matのフラグがONになっている場合には、あらかじめ用意されている量子化行列以外のものを設定するために、例えばintra_quant_mat[64]あるいはnonintra_quant_mat[64]として符号化された量子化行列の64個の要素を復号して用いる等の処理を行なわなければならない。
【0148】
次に、エンコーダ側で用いられた量子化の方法に従って、逆量子化を行なう。ステップS84においては、エンコーダによって符号化された符号化ビット列のうち、例えばVideo Object Layer Classのvideo_object_layer_quant_typeのフラグが解読される。そのフラグがONである場合には、ステップS85に進み、逆量子化器223により、H.261/3型の逆量子化が行われる。一方、そのフラグがOFFである場合には、ステップS86に進み、逆量子化器224によりMPEG1/2型の逆量子化が行われる。逆量子化を行なう際には、量子化行列が設定されている場合にはそれを用い、量子化行列が設定されていない場合にはそれを用いない。あるいは、仮の量子化行列が設定されている場合には、それを用いる。
【0149】
その後、ステップS87に進み、ミスマッチ制御器241により、DCT係数の奇数化によるミスマッチ制御が行われた後で、ステップS88において、クリッピング器243により、DCT係数のクリッピングが行われる。
【0150】
図12に示した実施の形態における符号化シンタックスの基本的構成は、図9に示した実施の形態の場合と基本的に同様であるが、IDCTミスマッチの対策方法等が唯一つしかない点が大きく異なる。
【0151】
復号された縦横8要素のDCT係数の各ブロックに対して、図11の実施の形態では、エンコーダ側で用いられたIDCTミスマッチの対策方法に依らず、常にDCT係数の奇数化によるミスマッチ制御を行なう。DCT係数のクリッピングは、このミスマッチ制御が行なわれた後で行なう。そのため、エンコーダによって符号化された符号化ビット列のうち、例えばVideo Object Layer Classのvideo_object_layer_mismatchのフラグは利用されずに無視される。
【0152】
上記に記した処理以外でも、処理の簡略化による影響が大きくないものに対しては、逆可変長符号化器209によって復号されるフラグ等を利用せずに無視し、処理を簡略化しても良い。
【0153】
以上説明したように、本発明によれば、既存の動画像の高能率符号化方法
との互換性を取ることができる。また、量子化および逆量子化の方法、量子化行列の利用方法、IDCTミスマッチの対策方法等で、最適な方法の組合せを指定し、より高能率の符号化および復号を行うことができるため、符号化効率を向上させることができる。
【0154】
なお、上記各フローチャートで示した処理を実行させるためのプログラムは、符号化装置および復号装置が備えるROM(read only memory)等に予め記憶させておいたり、CD−ROM(compact disc-read only memory)等に記録して使用者に供給するようにすることができる。
【0155】
また、本発明の符号化装置および復号装置は、例えば、光磁気ディスクや磁気テープなどの記録媒体に記録し、それを再生してディスプレイ等に表示したり、テレビ会議システム、テレビ電話システム、放送用機器、マルチメディアデータベース検索システム等のように、動画像信号を伝送路を介して送信側から受信側に伝送し、受信側において、これを受信し、表示する場合や、動画像信号を編集し、記録する場合等にも応用することができる。
【0156】
【発明の効果】
請求項1に記載の符号化装置、および請求項2に記載の符号化方法によれば高能率の符号化が可能となる。
【0157】
請求項3に記載の復号装置、および請求項4に記載の復号方法においては高能率の符号化が可能となる。
【図面の簡単な説明】
【図1】本発明の符号化装置を応用した符号化器の一実施の形態の構成例を示すブロック図である。
【図2】本発明の復号装置を応用した復号器の一実施の形態の構成例を示すブロック図である。
【図3】図1の符号化器の量子化およびミスマッチ制御部分における処理手順と符号化ビット列の生成法を説明するフローチャートである。
【図4】図2の復号器のミスマッチ制御および逆量子化部分における処理手順と符号化ビット列の解読法を説明するフローチャートである。
【図5】図3および図4のVideo Object Layer Classにおけるシンタックスを示す図である。
【図6】本発明の符号化装置を応用した符号化器の他の実施の形態の構成例を示すブロック図である。
【図7】本発明の復号装置を応用した復号器の他の実施の形態の構成例を示すブロック図である。
【図8】図6の符号化器の量子化およびミスマッチ制御部分における処理手順と符号化ビット列の生成法を説明するフローチャートである。
【図9】図7の復号器のミスマッチ制御および逆量子化部分における処理手順と符号化ビット列の解読法を説明するフローチャートである。
【図10】図8および図9のVideo Object Layer Classにおけるシンタックスを示す図である。
【図11】本発明の復号装置を応用した復号器のさらに他の実施の形態の構成例を示すブロック図である。
【図12】図11の復号器のミスマッチ制御および逆量子化部分における処理手順と符号化ビット列の解読法を説明するフローチャートである。
【図13】従来の符号化器の一例の構成を示すブロック図である。
【図14】従来の復号器の一例の構成を示すブロック図である。
【図15】H.261/3型の量子化の概念図である。
【図16】MPEG1/2型の量子化の概念図である。
【図17】MPEG1/2型の量子化行列の一例を示す図である。
【図18】符号化ビット列の構成例を示す図である。
【図19】VSのシンタックスを示す図である。
【図20】VOのシンタックスを示す図である。
【図21】 Video Object Layer Classにおけるシンタックスを示す図である。
【図22】 Video Object Layer Classにおけるシンタックスを示す図である。
【図23】 Video Object Plane Classにおけるシンタックスを示す図である。
【図24】 Video Object Plane Classにおけるシンタックスを示す図である。
【図25】 Video Object Plane Classにおけるシンタックスを示す図である。
【図26】 Video Object Plane Classにおけるシンタックスを示す図である。
【図27】IおよびPピクチャ(VOP)におけるマクロブロックのシンタックスを示す図である。
【図28】Bピクチャ(VOP)でのマクロブロックのシンタックスを示す図である。
【図29】MODBの可変長符号を示す図である。
【図30】図13の符号化器の量子化およびミスマッチ制御部分における処理手順と符号化ビット列の生成法を説明するフローチャートである。
【図31】図14の復号器のミスマッチ制御および逆量子化部分における処理手順と符号化ビット列の解読法を説明するフローチャートである。
【符号の説明】
101 動きベクトル検出器, 102 フレームメモリ, 103,203動き補償器, 104,110,210 加算器, 105 DCT器, 106 IDCT器, 109 可変長符号化器, 121 H.261/3型の量子化器, 122 MPEG1/2型の量子化器, 123,223 H.261/3型の逆量子化器, 124,125,224,225 MPEG1/2型の逆量子化器, 131 仮の量子化行列の設定器,132,232,233MPEG1/2型の量子化行列の設定器, 141,151,241,251係数を奇数化するミスマッチ制御器, 143,152,153,243,244,252 DCT係数のクリッピング器, 154,253 (7,7)係数をtoggleするミスマッチ制御器, 209 逆可変長符号化器

Claims (4)

  1. 入力された画像データを符号化する符号化装置において、
    入力された前記画像データをDCT(Discrete Cosine Transform)変換して、DCT係数を出力するDCT変換手段と、
    少なくとも量子化タイプと量子化行列に基づいて前記DCT係数を量子化して、量子化された前記DCT係数である第1の値を出力する量子化手段と、
    前記第1の値を逆量子化して、逆量子化により得られたDCT係数である第2の値を出力する逆量子化手段と、
    少なくとも前記量子化タイプに基づいて、 IDCT ミスマッチ制御の方法を設定し、その方法で前記第2の値にIDCT(Inverse DCT)ミスマッチ制御を施すミスマッチ制御手段と、
    前記IDCTミスマッチ制御が施された前記第2の値をIDCT変換して、前記画像データを復元するIDCT変換手段と、
    前記量子化タイプを表す情報、前記量子化行列を表す情報、前記 IDCT ミスマッチ制御の方法を表す情報、および前記第1の値を符号化する符号化手段と、
    復元された前記画像データを基に、前記画像データの動き補償を行う動き補償手段と、
    前記動き補償手段から出力された結果、前記画像データの差分計算する差分手段と
    を備え
    前記ミスマッチ制御手段は、少なくとも前記量子化タイプに基づいて、前記第2の値のブロック毎の総和が偶数である場合、前記第2の値の(7,7)係数をトグル( toggle )する方法、または、前記 DCT 係数を奇数化する方法のいずれか一方を、前記 IDCT ミスマッチ制御の方法として設定する
    ことを特徴とする符号化装置。
  2. 入力された画像データを符号化する符号化方法において、
    入力された前記画像データをDCT(Discrete Cosine Transform)変換して、DCT係数を出力し、
    少なくとも量子化タイプと量子化行列に基づいて前記DCT係数を量子化して、量子化された前記DCT係数である第1の値を出力し、
    前記第1の値を逆量子化して、逆量子化により得られたDCT係数である第2の値を出力し、
    少なくとも前記量子化タイプに基づいて、 IDCT ミスマッチ制御の方法を設定し、その方法で前記第2の値にIDCT(Inverse DCT)ミスマッチ制御を施し、
    前記IDCTミスマッチ制御が施された前記第2の値をIDCT変換して、前記画像データを復元し、
    前記量子化タイプを表す情報、前記量子化行列を表す情報、前記 IDCT ミスマッチ制御の方法を表す情報、および前記第1の値を符号化し、
    復元された前記画像データを基に、前記画像データの動き補償を行い、
    前記動き補償の結果、前記画像データの差分計算し、
    前記 IDCT ミスマッチ制御を施す際、少なくとも前記量子化タイプに基づいて、前記第2の値のブロック毎の総和が偶数である場合、前記第2の値の(7,7)係数をトグル( toggle )する方法、または、前記 DCT 係数を奇数化する方法のいずれか一方を、前記 IDCT ミスマッチ制御の方法として設定する
    ことを特徴とする符号化方法。
  3. 符号化装置により符号化されている、前記符号化装置で設定された、少なくとも量子化タイプを表す情報、量子化行列を表す情報、および前記量子化タイプに基づく IDCT Inverse Discrete Cosine Transform )ミスマッチ制御の方法を表す情報を含む画像データを復号する復号装置において、
    符号化されている前記画像データを復号して、復号により得られた量子化されているDCT(Discrete Cosine Transform)係数である所定の値、前記量子化タイプを表す情報、前記量子化行列を表す情報、および前記 IDCT ミスマッチ制御の方法を表す情報を出力する復号手段と、
    少なくとも前記量子化タイプを表す情報と前記量子化行列を表す情報に基づき、前記値を逆量子化して、前記DCT係数を出力する逆量子化手段と、
    少なくとも前記 IDCT ミスマッチ制御の方法を表す情報に基づき、前記 DCT 係数に IDCTミスマッチ制御を施すミスマッチ制御手段と、
    前記IDCTミスマッチ制御が施された前記DCT係数をIDCT変換して、復号されたデータを生成するIDCT変換手段と
    を備え
    前記ミスマッチ制御手段は、少なくとも前記 IDCT ミスマッチ制御の方法を表す情報に基づき、前記 DCT 係数のブロック毎の総和が偶数である場合、前記 DCT 係数の(7,7)係数をトグル( toggle )するか、または、前記 DCT 係数を奇数化する
    ことを特徴とする復号装置。
  4. 符号化装置により符号化されている、前記符号化装置で設定された、少なくとも量子化タイプを表す情報、量子化行列を表す情報、および前記量子化タイプに基づく IDCT Inverse Discrete Cosine Transform )ミスマッチ制御の方法を表す情報を含む画像データを復号する復号方法において、
    符号化されている前記画像データを復号して、復号により得られた量子化されているDCT(Discrete Cosine Transform)係数である所定の値、前記量子化タイプを表す情報、前記量子化行列を表す情報、および前記 IDCT ミスマッチ制御の方法を表す情報を出力し、
    少なくとも前記量子化タイプを表す情報と前記量子化行列を表す情報に基づき、前記値を逆量子化して、前記DCT係数を出力し、
    少なくとも前記 IDCT ミスマッチ制御の方法を表す情報に基づき、前記 DCT 係数に IDCTミスマッチ制御を施し、
    前記IDCTミスマッチ制御が施された前記DCT係数をIDCT変換して、復号されたデータを生成し、
    前記 IDCT ミスマッチ制御を施す際、少なくとも前記 IDCT ミスマッチ制御の方法を表す情報に基づき、前記 DCT 係数のブロック毎の総和が偶数である場合、前記 DCT 係数の(7,7)係数をトグル( toggle )するか、または、前記 DCT 係数を奇数化する
    ことを特徴とする復号方法。
JP07980297A 1997-03-31 1997-03-31 符号化装置および方法、並びに復号装置および方法 Expired - Fee Related JP4001969B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP07980297A JP4001969B2 (ja) 1997-03-31 1997-03-31 符号化装置および方法、並びに復号装置および方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP07980297A JP4001969B2 (ja) 1997-03-31 1997-03-31 符号化装置および方法、並びに復号装置および方法

Publications (2)

Publication Number Publication Date
JPH10276097A JPH10276097A (ja) 1998-10-13
JP4001969B2 true JP4001969B2 (ja) 2007-10-31

Family

ID=13700359

Family Applications (1)

Application Number Title Priority Date Filing Date
JP07980297A Expired - Fee Related JP4001969B2 (ja) 1997-03-31 1997-03-31 符号化装置および方法、並びに復号装置および方法

Country Status (1)

Country Link
JP (1) JP4001969B2 (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6563953B2 (en) * 1998-11-30 2003-05-13 Microsoft Corporation Predictive image compression using a single variable length code for both the luminance and chrominance blocks for each macroblock
EP2262269B1 (en) 2001-12-17 2018-01-24 Microsoft Technology Licensing, LLC Skip macroblock coding
KR101169895B1 (ko) 2004-01-20 2012-07-31 파나소닉 주식회사 화상 부호화 방법, 화상 복호화 방법, 화상 부호화 장치, 화상 복호화 장치 및 그 프로그램
EP2373033A3 (en) 2004-01-30 2011-11-30 Panasonic Corporation Picture coding and decoding method, apparatus, and program thereof
PL2384002T3 (pl) 2004-01-30 2016-07-29 Panasonic Ip Corp America Sposób dekodowania ruchomych obrazów przy użyciu dodatkowych macierzy kwantyzacji
US9077960B2 (en) 2005-08-12 2015-07-07 Microsoft Corporation Non-zero coefficient block pattern coding
US20080253449A1 (en) * 2007-04-13 2008-10-16 Yoji Shimizu Information apparatus and method

Also Published As

Publication number Publication date
JPH10276097A (ja) 1998-10-13

Similar Documents

Publication Publication Date Title
US10148966B2 (en) Video encoding method and apparatus, and video decoding apparatus
US7792193B2 (en) Image encoding/decoding method and apparatus therefor
JP4617644B2 (ja) 符号化装置及び方法
KR100791299B1 (ko) 다 계층 기반의 비디오 인코딩 방법 및 장치
KR100323489B1 (ko) 비디오데이타를가지는비트스트림의트랜스코딩방법및장치
KR101608426B1 (ko) 영상의 인트라 예측 부호화/복호화 방법 및 그 장치
KR100263627B1 (ko) 화상 부호화 장치와 화상 복호화장치 및 부호화.복호화 시스템
US20070189626A1 (en) Video encoding/decoding method and apparatus
US20070058877A1 (en) Method of adaptively encoding and decoding motion image and apparatus therefor
KR20060109290A (ko) 화상 복호 장치 및 화상 복호 방법과 화상 복호 프로그램
KR101096827B1 (ko) 각기 다수의 매크로블록을 포함하는 예측 및 비예측 화상을이용하여 화상 시퀀스를 인코딩하는 방법 및 장치
JP3805734B2 (ja) 離散コサイン変換係数の予測方法
KR20050090308A (ko) 가변 gop 사이즈를 갖는 스케일러블 비디오 코딩방법및 이를 위한 스케일러블 비디오 인코더
JP2005110083A (ja) データ処理装置およびその方法と符号化装置
KR20050062836A (ko) 트랜스코딩 방법 및 장치
JP4001969B2 (ja) 符号化装置および方法、並びに復号装置および方法
JP4768779B2 (ja) 動画像符号化/復号化の方法及び装置
JP2003061091A (ja) 圧縮ビットストリームをアップサンプリングする方法および装置
US7426311B1 (en) Object-based coding and decoding apparatuses and methods for image signals
CA2895856C (en) Video encoding and decoding apparatus and method using quantization in sub-blocks
JP3166835B2 (ja) 動画像の高能率符号化方法及び装置
KR20160053848A (ko) 영상의 인트라 예측 부호화/복호화 방법 및 그 장치
KR0178225B1 (ko) 영상기기의 부호화장치
EP1750452B1 (en) Apparatus for intra coding video data
JP2000253404A (ja) 動画像符号化装置、動画像符号化方法および動画像処理システム

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20040813

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040818

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20041018

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20041104

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20041227

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20050118

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050322

A911 Transfer of reconsideration by examiner before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20050419

A912 Removal of reconsideration by examiner before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20050520

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070627

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070816

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100824

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100824

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110824

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120824

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130824

Year of fee payment: 6

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees