JP3855286B2 - 画像符号化装置および画像符号化方法、画像復号化装置および画像復号化方法、並びに記録媒体 - Google Patents

画像符号化装置および画像符号化方法、画像復号化装置および画像復号化方法、並びに記録媒体 Download PDF

Info

Publication number
JP3855286B2
JP3855286B2 JP30350095A JP30350095A JP3855286B2 JP 3855286 B2 JP3855286 B2 JP 3855286B2 JP 30350095 A JP30350095 A JP 30350095A JP 30350095 A JP30350095 A JP 30350095A JP 3855286 B2 JP3855286 B2 JP 3855286B2
Authority
JP
Japan
Prior art keywords
circuit
data
image
macroblock
block
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 - Lifetime
Application number
JP30350095A
Other languages
English (en)
Other versions
JPH09130801A (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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=17921724&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=JP3855286(B2) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Sony Corp filed Critical Sony Corp
Priority to JP30350095A priority Critical patent/JP3855286B2/ja
Priority to US08/733,928 priority patent/US6125143A/en
Publication of JPH09130801A publication Critical patent/JPH09130801A/ja
Application granted granted Critical
Publication of JP3855286B2 publication Critical patent/JP3855286B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/98Adaptive-dynamic-range coding [ADRC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/112Selection of coding mode or of prediction mode according to a given display mode, e.g. for interlaced or progressive display mode
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/12Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
    • H04N19/122Selection of transform size, e.g. 8x8 or 2x4x8 DCT; Selection of sub-band transforms of varying structure or type
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • H04N19/139Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/152Data rate or code amount at the encoder output by measuring the fullness of the transmission buffer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/172Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a picture, frame or field
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/63Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding

Description

【0001】
【発明の属する技術分野】
本発明は、画像符号化装置および画像符号化方法、画像復号化装置および画像復号化方法、並びに記録媒体に関する。特に、例えば動画像信号を、光磁気ディスクや磁気テープなどの記録媒体に記録し、これを再生してディスプレイなどに表示したり、テレビ会議システム、テレビ電話システム、放送用機器、マルチメディアデータベース検索システムなど、動画像信号を伝送路を介して送信側から受信側に伝送し、受信側において、これを受信し、表示する場合や動画像信号を編集し記録する場合などに用いて好適な画像符号化装置および画像符号化方法、画像復号化装置および画像復号化方法、並びに記録媒体に関する。
【0002】
【従来の技術】
例えば、テレビ会議システム、テレビ電話システムなどのように、動画像信号(画像信号)を遠隔地に伝送するシステムにおいては、伝送路を効率良く利用するため、映像信号のライン相関やフレーム間相関を利用して、画像信号を圧縮符号化するようになされている。
【0003】
ライン相関を利用すると、画像信号を、例えばDCT(離散コサイン変換)処理やウェーブレット変換処理するなどして圧縮することができる。
【0004】
また、フレーム間相関を利用すると、画像信号をさらに圧縮して符号化することが可能となる。例えば図23に示すように、時刻t1,t2,t3において、フレーム画像PC1,PC2,PC3がそれぞれ発生しているとき、フレーム画像PC1とPC2の画像信号の差を演算して、PC12を生成し、また、フレーム画像PC2とPC3の差を演算して、PC23を生成する。通常、時間的に隣接するフレームの画像は、それ程大きな変化を有していないため、両者の差を演算すると、その差分信号は小さな値のものとなる。そこで、この差分信号を符号化すれば、符号量を圧縮することができる。
【0005】
しかしながら、差分信号のみを伝送したのでは、元の画像を復元することができない。そこで、各フレームの画像を、Iピクチャ、PピクチャまたはBピクチャの3種類のピクチャのいずれかのピクチャとし、画像信号を圧縮符号化するようにしている。
【0006】
即ち、例えば図24に示すように、フレームF1乃至F17までの17フレームの画像信号をグループオブピクチャ(GOP)とし、処理の1単位とする。そして、その先頭のフレームF1の画像信号はIピクチャとして符号化し、第2番目のフレームF2はBピクチャとして、また第3番目のフレームF3はPピクチャとして、それぞれ処理する。以下、第4番目以降のフレームF4乃至F17は、BピクチャまたはPピクチャとして交互に処理する。
【0007】
Iピクチャの画像信号としては、その1フレーム分の画像信号をそのまま伝送する。これに対して、Pピクチャの画像信号としては、基本的には、図24(A)に示すように、それより時間的に先行するIピクチャまたはPピクチャの画像信号からの差分を伝送する。さらにBピクチャの画像信号としては、基本的には、図24(B)に示すように、時間的に先行するフレームまたは後行するフレームの両方の平均値からの差分を求め、その差分を符号化する。
【0008】
図25は、このようにして、動画像信号を符号化する方法の原理を示している。同図に示すように、最初のフレームF1はIピクチャとして処理されるため、そのまま伝送データF1Xとして伝送路に伝送される(画像内符号化)。これに対して、第2のフレームF2は、Bピクチャとして処理されるため、時間的に先行するフレームF1と、時間的に後行するフレームF3の平均値との差分が演算され、その差分が伝送データF2Xとして伝送される。
【0009】
但し、このBピクチャとしての処理は、さらに細かく説明すると、4種類存在する。その第1の処理は、元のフレームF2のデータをそのまま伝送データF2Xとして伝送するものであり(SP1)(イントラ符号化)、Iピクチャにおける場合と同様の処理となる。第2の処理は、時間的に後のフレームF3からの差分を演算し、その差分(SP2)を伝送するものである(後方予測符号化)。第3の処理は、時間的に先行するフレームF1との差分(SP3)を伝送するものである(前方予測符号化)。さらに第4の処理は、時間的に先行するフレームF1と後行するフレームF3の平均値との差分(SP4)を生成し、これを伝送データF2Xとして伝送するものである(両方向予測符号化)。
【0010】
この4つの方法のうち、伝送データが最も少なくなる方法が採用される。
【0011】
尚、差分データを伝送するとき、差分を演算する対象となるフレームの画像(予測画像)との間の動きベクトルx1(フレームF1とF2の間の動きベクトル)(前方予測の場合)、もしくはx2(フレームF3とF2の間の動きベクトル)(後方予測の場合)、またはx1とx2の両方(両方向予測の場合)が、差分データとともに伝送される。
【0012】
また、PピクチャのフレームF3は、時間的に先行するフレームF1を予測画像として、このフレームとの差分信号(SP3)と、動きベクトルx3が演算され、これが伝送データF3Xとして伝送される(前方予測符号化)。あるいはまた、元のフレームF3のデータがそのまま伝送データF3Xとして伝送される(SP1)(イントラ符号化)。いずれの方法により伝送されるかは、Bピクチャにおける場合と同様に、伝送データがより少なくなる方が選択される。
【0013】
図26は、上述した原理に基づいて、動画像信号を符号化して伝送し、これを復号化する装置の構成例を示している。符号化装置1は、入力された映像信号を符号化し、伝送路または記録媒体3に伝送するようになされている。そして、復号化装置2は、伝送路または記録媒体3からの信号を再生し、これを復号して出力するようになされている。
【0014】
符号化装置1においては、入力された画像信号が前処理回路11に入力され、そこで輝度信号と色信号(この例の場合、色差信号)とに分離され、それぞれA/D変換器12,13でA/D変換される。A/D変換器12,13によりA/D変換されてディジタル信号となった画像信号(画像データ)は、プリフィルタ19でフィルタリングされた後、フレームメモリ14に供給され、記憶される。フレームメモリ14は、輝度信号を輝度信号フレームメモリ15に、また、色差信号を色差信号フレームメモリ16に、それぞれ記憶させる。エンコーダ17はフレームメモリ14に記憶された動画像信号(画像データ)を読み出し、エンコード(符号化)を行なう。その詳細は図27を用いて後述する。
【0015】
エンコーダ17によりエンコードされた信号は、ビットストリームとして伝送路3を介して伝送され、または記録媒体3に記録される。
【0016】
伝送路または記録媒体3からのデータは、復号化装置2のデコーダ31に供給され、デコードされる。デコーダ31の詳細については、図31を参照して後述する。
【0017】
デコーダ31によりデコードされたデータは、フレームメモリ33に供給される。この時、輝度信号は、フレームメモリ33の輝度信号フレームメモリ34に供給されて記憶され、色差信号は色差信号フレームメモリ35に供給されて記憶される。輝度信号フレームメモリ34と色差信号フレームメモリ35より読み出された輝度信号と色差信号は、ポストフィルタ39でフィルタリングされた後、D/A変換器36と37によりそれぞれD/A変換され、後処理回路38に供給され、合成される。そして、図示せぬ例えばCRT(Cathode Ray Tube)などのディスプレイに出力され、表示される。
【0018】
次にエンコーダ17についてMPEG(Moving Picture Experts Group)2方式を例に説明する。これはISO−IEC/JTC1/SC29/WG11にて議論され標準案として提案されたものであり、動き補償予測符号化とDCT(Discrete Cosine Transform)符号化を組み合わせたハイブリッド方式の規格である。この動画像信号符号化方式の規格の詳細については、IS13818−2に記載されている。
【0019】
図27は、MPEG2方式に準拠して、動画像を符号化するエンコーダ17の構成例を示している。
【0020】
符号化されるべき画像データは、動きベクトル検出回路50に入力される。動きベクトル検出回路50は、予め設定されている所定のシーケンスに従って、各フレームの画像データを、Iピクチャ、Pピクチャ、またはBピクチャとして処理する。シーケンシャルに入力される各フレームの画像を、I,P,Bのいずれのピクチャとして処理するかは、予め定められている(例えば、図24に示したように、フレームF1乃至F17により構成されるグループオブピクチャが、I,B,P,B,P,・・・B,Pとして処理される)。
【0021】
Iピクチャとして処理されるフレーム(例えばフレームF1)の画像データは、動きベクトル検出回路50からフレームメモリ51の前方原画像部51aに転送、記憶され、Bピクチャとして処理されるフレーム(例えばフレームF2)の画像データは、原画像部51bに転送、記憶され、Pピクチャとして処理されるフレーム(例えばフレームF3)の画像データは、後方原画像部51cに転送、記憶される。
【0022】
また、次のタイミングにおいて、さらにBピクチャ(フレームF4)またはPピクチャ(フレームF5)として処理すべきフレームの画像が入力されたとき、それまで後方原画像部51cに記憶されていた最初のPピクチャ(フレームF3)の画像データが、前方原画像部51aに転送され、次のBピクチャ(フレームF4)の画像データが、原画像部51bに記憶(上書き)され、次のPピクチャ(フレームF5)の画像データが、後方原画像部51cに記憶(上書き)される。このような動作が順次繰り返される。
【0023】
フレームメモリ51に記憶された各ピクチャの信号は、動きベクトル検出回路50により、固定の大きさのマクロブロックで、そこから読み出される。ここで、従来のマクロブロックについて説明する。図28に示すように、フレームメモリ14に記憶された画像信号は、1ライン当りHドットのラインがVライン集められたフレームフォーマットのデータとされている(図28(A))。この1フレームの信号は、16ラインを単位としてM個のスライスに区分され(図28(B))、さらに、各スライスは、M個のマクロブロックに分割される(図28(C))。各マクロブロックは、16×16個の画素(ドット)に対応する輝度信号により構成され、この輝度信号は、さらに8×8ドットを単位とするブロックY[1]乃至Y[4]に区分される。そして、この16×16ドットの輝度信号には、8×8ドットのCb信号と、8×8ドットのCr信号が対応される。以上のようなマクロブロックが、動きベクトル検出回路50に入力される。
【0024】
図27に戻り、フレームメモリ51から読み出されたマクロブロックに対しては、予測モード切り替え回路52において、フレーム予測モード処理、またはフィールド予測モード処理が行なわれる。さらにまた予測判定回路54の制御の下に、演算部53において、画像内予測、前方予測、後方予測、または両方向予測の演算が行なわれる。これらの処理のうち、いずれの処理を行なうかは、予測誤差信号(処理の対象とされている参照画像と、これに対する予測画像との差分)に対応して決定される。このため、動きベクトル検出回路50は、この判定に用いられる予測誤差信号の絶対値和(自乗和でもよい)を生成する。
【0025】
ここで、予測モード切り替え回路52におけるフレーム予測モードとフィールド予測モードについて説明する。
【0026】
フレーム予測モードが設定された場合においては、予測モード切り替え回路52は、動きベクトル検出回路50より供給される4個の輝度ブロックY[1]乃至Y[4]を、そのまま後段の演算部53に出力する。即ち、この場合においては、図29(A)に示すように、各輝度ブロックに奇数フィールド(第1フィールド)のラインのデータと、偶数フィールド(第2フィールド)のラインのデータとが混在した状態となっている。このフレーム予測モードにおいては、4個の輝度ブロック(マクロブロック)を単位として予測が行われ、4個の輝度ブロックに対して1個の動きベクトルが対応される。
【0027】
これに対して、予測モード切り替え回路52は、フィールド予測モードにおいては、図29(A)に示す構成で動きベクトル検出回路50より入力される信号を、図29(B)に示すように、4個の輝度ブロックのうち、輝度ブロックY[1]とY[2]を、例えば奇数フィールドのラインのドットによりのみ構成させ、他の2個の輝度ブロックY[3]とY[4]を、偶数フィールドのラインのデータにより構成させて、演算部53に出力する。この場合においては、2個の輝度ブロックY[1]とY[2]に対して、1個の動きベクトルが対応され、他の2個の輝度ブロックY[3]とY[4]に対して、他の1個の動きベクトルが対応される。
【0028】
動きベクトル検出回路50は、フレーム予測モードにおける予測誤差の絶対値和と、フィールド予測モードにおける予測誤差の絶対値和を、予測モード切り替え回路52に出力する。予測モード切り替え回路52は、フレーム予測モードとフィールド予測モードにおける予測誤差の絶対値和を比較し、その値が小さい予測モードに対応する処理を施して、データを演算部53に出力する。さらに、予測モード切り替え回路52は、施した処理に対応するモードを示すフラグ(予測Flag)を、可変長符号化回路58および動き補償回路64に出力する。
【0029】
但し、予測モードに対応する処理は、実際には動きベクトル検出回路50で行われる。即ち、動きベクトル検出回路50は、決定されたモードに対応する構成の信号を予測モード切り替え回路52に出力し、予測モード切り替え回路52は、その信号を、そのまま後段の演算部53に出力する。
【0030】
尚、色差信号は、フレーム予測モードの場合、図29(A)に示すように、奇数フィールドのラインのデータと偶数フィールドのラインのデータとが混在する状態で、演算部53に供給される。また、フィールド予測モードの場合、図29(B)に示すように、各色差ブロックCb,Crの上半分(4ライン)が、輝度ブロックY[1],Y[2]に対応する奇数フィールドの色差信号とされ、下半分(4ライン)が、輝度ブロックY[3],Y[4]に対応する偶数フィールドの色差信号とされる。
【0031】
また、動きベクトル検出回路50は、次のようにして、予測判定回路54において、画像内予測、前方予測、後方予測、または両方向予測のいずれの予測を行なうかを決定するための予測誤差の絶対値和を生成する。
【0032】
即ち、画像内予測の予測誤差の絶対値和として、参照画像のマクロブロックの信号Aijの和ΣAijの絶対値|ΣAij|と((i,j)は、マクロブロックを構成する画素の座標)、マクロブロックの信号Aijの絶対値|Aij|の和Σ|Aij|の差を求める。また、前方予測の予測誤差の絶対値和として、参照画像のマクロブロックの信号Aijと、予測画像のマクロブロックの信号Bijの差Aij−Bijの絶対値|Aij−Bij|の和Σ|Aij−Bij|を求める。また、後方予測と両方向予測の予測誤差の絶対値和も、前方予測における場合と同様に(その予測画像を前方予測における場合と異なる予測画像に変更して)求める。
【0033】
これらの絶対値和(ME残差の絶対値和)は、予測判定回路54に供給される。予測判定回路54は、前方予測、後方予測および両方向予測の予測誤差の絶対値和のうち、最も小さいものを、インター予測の予測誤差の絶対値和として選択する。さらに、このインター予測の予測誤差の絶対値和と、画像内予測の予測誤差の絶対値和とを比較し、その小さい方を選択し、この選択した絶対値和に対応するモードを予測モードとして選択する。即ち、画像内予測の予測誤差の絶対値和の方が小さければ、画像内予測モードが設定される。インター予測の予測誤差の絶対値和の方が小さければ、前方予測、後方予測または両方向予測モードのうち、対応する絶対値和が最も小さかったモードが設定される。
【0034】
このように、動きベクトル検出回路50は、参照画像のマクロブロックの信号を、フレームまたはフィールド予測モードのうち、予測モード切り替え回路52により選択されたモードに対応する構成で、予測モード切り替え回路52を介して演算部53に供給するとともに、4つの予測モードのうち、予測判定回路54により選択された予測モードに対応する予測画像と参照画像の間の動きベクトルを検出し、可変長符号化回路58と動き補償回路64に出力する。上述したように、この動きベクトルとしては、対応する予測誤差の絶対値和が最小となるものが選択される。
【0035】
予測判定回路54は、動きベクトル検出回路50が前方原画像部51aよりIピクチャの画像データを読み出しているとき、予測モードとして、フレーム(画像)内予測モード(動き補償を行わないモード)を設定し、演算部53のスイッチ53dを接点a側に切り替える。これにより、Iピクチャの画像データがDCTモード切り替え回路55に入力される。
【0036】
このDCTモード切り替え回路55は、図30(A)または(B)に示すように、4個の輝度ブロックのデータを、奇数フィールド(第1フィールド)のラインと偶数フィールド(第2フィールド)のラインが混在する状態(フレームDCTモード)、または、分離された状態(フィールドDCTモード)、のいずれかの状態にして、DCT回路56に出力する。
【0037】
即ち、DCTモード切り替え回路55は、奇数フィールドと偶数フィールドのデータを混在してDCT処理した場合における符号化効率と、分離した状態においてDCT処理した場合の符号化効率とを比較し、符号化効率の良好なモードを選択する。
【0038】
例えば、入力された信号を、図30(A)に示すように、奇数フィールドと偶数フィールドのラインが混在する構成とし、上下に隣接する奇数フィールドのラインの信号と偶数フィールドのラインの信号の差を演算し、さらにその絶対値の和(または自乗和)を求める。また、入力された信号を、図30(B)に示すように、奇数フィールドと偶数フィールドのラインが分離した構成とし、上下に隣接する奇数フィールドのライン同士の信号の差と、偶数フィールドのライン同士の信号の差を演算し、それぞれの絶対値の和(または自乗和)を求める。さらに、両者(絶対値和)を比較し、小さい値に対応するDCTモードを設定する。即ち、前者の方が小さければ、フレームDCTモードを設定し、後者の方が小さければ、フィールドDCTモードを設定する。
【0039】
そして、選択したDCTモードに対応する構成のデータをDCT回路56に出力するとともに、選択したDCTモードを示すDCTフラグを、可変長符号化回路58とDCTブロック並び替え回路65に出力する。
【0040】
予測モード切り替え回路52における予測モード(図29)と、このDCTモード切り替え回路55におけるDCTモード(図30)を比較して明らかなように、輝度ブロックに関しては、両者の各モードにおけるデータ構造は実質的に同一である。
【0041】
予測モード切り替え回路52において、フレーム予測モード(奇数ラインと偶数ラインが混在するモード)が選択された場合、DCTモード切り替え回路55においても、フレームDCTモード(奇数ラインと偶数ラインが混在するモード)が選択される可能性が高く、また予測モード切り替え回路52において、フィールド予測モード(奇数フィールドと偶数フィールドのデータが分離されたモード)が選択された場合、DCTモード切り替え回路55において、フィールドDCTモード(奇数フィールドと偶数フィールドのデータが分離されたモード)が選択される可能性が高い。
【0042】
しかしながら、必ずしも常にそのようになされるわけではなく、予測モード切り替え回路52においては、予測誤差の絶対値和が小さくなるようにモードが決定され、DCTモード切り替え回路55においては、符号化効率が良好となるようにモードが決定される。
【0043】
DCTモード切り替え回路55より出力されたIピクチャの画像データは、DCT回路56に入力され、DCT(離散コサイン変換)処理され、DCT係数に変換される。このDCT係数は、量子化回路57に入力され、送信バッファ59のデータ蓄積量(バッファ蓄積量)に対応した量子化ステップで量子化された後、可変長符号化回路58に入力される。
【0044】
可変長符号化回路58は、量子化回路57より供給される量子化ステップ(スケール)に対応して、量子化回路57より供給される画像データ(いまの場合、Iピクチャのデータ)を、例えばハフマン符号などの可変長符号に変換し、送信バッファ59に出力する。
【0045】
可変長符号化回路58にはまた、量子化回路57より量子化ステップ(スケール)、予測判定回路54より予測モード(画像内予測、前方予測、後方予測、または両方向予測のいずれが設定されたかを示すモード)、動きベクトル検出回路50より動きベクトル、予測モード切り替え回路52より予測フラグ(フレーム予測モードまたはフィールド予測モードのいずれが設定されたかを示すフラグ)、およびDCTモード切り替え回路55が出力するDCTフラグ(フレームDCTモードまたはフィールドDCTモードのいずれが設定されたかを示すフラグ)が入力されており、これらも可変長符号化される。
【0046】
送信バッファ59は、入力されたデータを一時蓄積し、蓄積量に対応するデータを量子化回路57に出力する。
【0047】
送信バッファ59は、そのデータ残量が許容上限値まで増量すると、量子化制御信号(バッファフィードバック)によって量子化回路57の量子化スケールを大きくすることにより、量子化データのデータ量を低下させる。また、これとは逆に、データ残量が許容下限値まで減少すると、送信バッファ59は、量子化制御信号によって量子化回路57の量子化スケールを小さくすることにより、量子化データのデータ量を増大させる。このようにして、送信バッファ59のオーバフローまたはアンダフローが防止される。
【0048】
そして、送信バッファ59に蓄積されたデータは、所定のタイミングで読み出され、伝送路に出力され、例えば記録媒体3に記録される。
【0049】
一方、量子化回路57より出力されたIピクチャのデータは、逆量子化回路60に入力され、量子化回路57より供給される量子化ステップに対応して逆量子化される。逆量子化回路60の出力は、IDCT(逆DCT)回路61に入力され、逆DCT処理された後、DCTブロック並び替え回路65において、DCTモード切り替え回路55からのDCTフラグに対応して、データの並びが元に戻される。そして、演算器62を介してフレームメモリ63の前方予測画像部63aに供給され、記憶される。
【0050】
動きベクトル検出回路50は、シーケンシャルに入力される各フレームの画像データを、たとえば、I,B,P,B,P,B・・・のピクチャとしてそれぞれ処理する場合、最初に入力されたフレームの画像データをIピクチャとして処理した後、次に入力されたフレームの画像をBピクチャとして処理する前に、さらにその次に入力されたフレームの画像データをPピクチャとして処理する。
【0051】
即ち、Bピクチャは、後方予測を伴うため、後方予測画像としてのPピクチャが先に用意されていないと、復号することができない。そこで、動きベクトル検出回路50は、Iピクチャの処理の次に、後方原画像部51cに記憶されているPピクチャの画像データの処理を開始する。そして、上述した場合と同様に、マクロブロック単位でのフレーム間差分(予測誤差)の絶対値和が、動きベクトル検出回路50から予測モード切り替え回路52と予測判定回路54に供給される。予測モード切り替え回路52と予測判定回路54は、このPピクチャのマクロブロックの予測誤差の絶対値和に対応して、フレーム/フィールド予測モード、または画像内予測、前方予測、後方予測、もしくは両方向予測の予測モードを設定する。
【0052】
演算部53はフレーム内予測モードが設定されたとき、スイッチ53dを上述したように接点a側に切り替える。従って、このデータは、Iピクチャのデータと同様に、DCTモード切り替え回路55、DCT回路56、量子化回路57、可変長符号化回路58、送信バッファ59を介して出力される。また、このデータは、逆量子化回路60、IDCT回路61、DCTブロック並び替え回路65、演算器62を介してフレームメモリ63の後方予測画像部63bに供給され、記憶される。
【0053】
前方予測モードの時、スイッチ53dが接点bに切り替えられるとともに、フレームメモリ63の前方予測画像部63aに記憶されている画像(いまの場合Iピクチャの画像)データが読み出され、動き補償回路64により、動きベクトル検出回路50が出力する動きベクトルに対応して動き補償される。すなわち、動き補償回路64は、予測判定回路54より前方予測モードの設定が指令されたとき、前方予測画像部63aの読み出しアドレスを、動きベクトル検出回路50がいま出力しているマクロブロックの位置に対応する位置から動きベクトルに対応する分だけずらしてデータを読み出し、予測画像データを生成する。
【0054】
動き補償回路64より出力された予測画像データは、演算器53aに供給される。演算器53aは、予測モード切り替え回路52より供給された参照画像のマクロブロックのデータから、動き補償回路64より供給された、このマクロブロックに対応する予測画像データを減算し、その差分(予測誤差)を出力する。この差分データは、DCTモード切り替え回路55、DCT回路56、量子化回路57、可変長符号化回路58、送信バッファ59を介して出力される。また、この差分データは、逆量子化回路60、IDCT回路61、DCTブロック並び替え回路65により局所的に復号され、演算器62に入力される。
【0055】
この演算器62にはまた、演算器53aに供給されている予測画像データと同一のデータが供給されている。演算器62は、DCTブロック並び替え回路65が出力する差分データに、動き補償回路64が出力する予測画像データを加算する。これにより、元の(復号した)Pピクチャの画像データが得られる。このPピクチャの画像データは、フレームメモリ63の後方予測画像部63bに供給され、記憶される。
【0056】
動きベクトル検出回路50は、このように、IピクチャとPピクチャのデータが前方予測画像部63aと後方予測画像部63bにそれぞれ記憶された後、次にBピクチャの処理を実行する。予測モード切り替え回路52と予測判定回路54は、マクロブロック単位でのフレーム間差分の絶対値和の大きさに対応して、フレーム/フィールドモードを設定し、また、予測モードをフレーム内予測モード、前方予測モード、後方予測モード、または両方向予測モードのいずれかに設定する。
【0057】
上述したように、フレーム内予測モードまたは前方予測モードの時、スイッチ53dは接点aまたはbに切り替えられる。このとき、Pピクチャにおける場合と同様の処理が行われ、データが出力される。
【0058】
これに対して、後方予測モードまたは両方向予測モードが設定された時、スイッチ53dは、接点cまたはdにそれぞれ切り替えられる。
【0059】
スイッチ53dが接点cに切り替えられる後方予測モードの時、後方予測画像部63bに記憶されている画像(いまの場合、Pピクチャの画像)データが読み出され、動き補償回路64により、動きベクトル検出回路50が出力する動きベクトルに対応して動き補償される。すなわち、動き補償回路64は、予測判定回路54より後方予測モードの設定が指令されたとき、後方予測画像部63bの読み出しアドレスを、動きベクトル検出回路50がいま出力しているマクロブロックの位置に対応する位置から動きベクトルに対応する分だけずらしてデータを読み出し、予測画像データを生成する。
【0060】
動き補償回路64より出力された予測画像データは、演算器53bに供給される。演算器53bは、予測モード切り替え回路52より供給された参照画像のマクロブロックのデータから、動き補償回路64より供給された予測画像データを減算し、その差分を出力する。この差分データは、DCTモード切り替え回路55、DCT回路56、量子化回路57、可変長符号化回路58、送信バッファ59を介して出力される。
【0061】
スイッチ53dが接点dに切り替えられる両方向予測モードの時、前方予測画像部63aに記憶されている画像(いまの場合、Iピクチャの画像)データと、後方予測画像部63bに記憶されている画像(いまの場合、Pピクチャの画像)データの両方が読み出され、動き補償回路64により、動きベクトル検出回路50が出力する動きベクトルに対応して動き補償される。すなわち、動き補償回路64は、予測判定回路54より両方向予測モードの設定が指令されたとき、前方予測画像部63aと後方予測画像部63bの読み出しアドレスを、動きベクトル検出回路50がいま出力しているマクロブロックの位置に対応する位置から動きベクトル(この場合の動きベクトルは、前方予測画像用と後方予測画像用の2つとなる)に対応する分だけずらしてデータを読み出し、予測画像データを生成する。
【0062】
動き補償回路64より出力された予測画像データは、演算器53cに供給される。演算器53cは、動きベクトル検出回路50より供給された参照画像のマクロブロックのデータから、動き補償回路64より供給された予測画像データの平均値を減算し、その差分を出力する。この差分データは、DCTモード切り替え回路55、DCT回路56、量子化回路57、可変長符号化回路58、送信バッファ59を介して出力される。
【0063】
Bピクチャの画像は、他の画像の予測画像とされることがないため、フレームメモリ63には記憶されない。
【0064】
尚、フレームメモリ63において、前方予測画像部63aと後方予測画像部63bは、必要に応じてバンク切り替えが行われ、所定の参照画像に対して、一方または他方に記憶されているものを、前方予測画像あるいは後方予測画像として切り替えて出力することができるようになされている。
【0065】
以上においては、輝度ブロックを中心として説明をしたが、色差ブロックについても同様に、図29および図30に示すマクロブロックを単位として処理される。尚、色差ブロックを処理する場合の動きベクトルは、対応する輝度ブロックの動きベクトルを垂直方向と水平方向に、それぞれ1/2にしたものが用いられる。
【0066】
次に、図31は、図26のデコーダ31の一例の構成を示すブロック図である。伝送路3を介して伝送され、または記録媒体3に記録された、符号化された画像データは、図示せぬ受信回路で受信されたり、再生装置で再生され、受信バッファ81に一時記憶された後、復号回路90の可変長復号化回路82に供給される。可変長復号化回路82は、受信バッファ81より供給されたデータを可変長復号化し、動きベクトル、予測モード、および予測フラグを動き補償回路87に、また、量子化ステップを逆量子化回路83に、それぞれ出力するとともに、復号された画像データを逆量子化回路83に出力する。さらに、DCTフラグは、DCTブロック並び替え回路88に供給される。
【0067】
逆量子化回路83は、可変長復号化回路82より供給された画像データを、同じく可変長復号化回路82より供給された量子化ステップに従って逆量子化し、IDCT回路84に出力する。逆量子化回路83より出力されたデータ(DCT係数)は、IDCT回路84で、逆DCT処理され、さらに、DCTブロック並び替え回路88において、DCTフラグに基づき、図27のDCTブロック並び替え回路65における場合と同様の並び替えが行われた後、演算器85に供給される。
【0068】
DCTブロック並び替え回路88より供給された画像データが、Iピクチャのデータである場合、そのデータは演算器85より出力され、演算器85に後に入力される画像データ(PまたはBピクチャのデータ)の予測画像データ生成のために、フレームメモリ86の前方予測画像部86aに供給されて記憶される。また、このデータは、フレームメモリ33(図26)に出力される。
【0069】
DCTブロック並び替え回路88より供給された画像データが、その1フレーム前の画像データを予測画像データとするPピクチャのデータであって、前方予測モードのデータである場合、フレームメモリ86の前方予測画像部86aに記憶されている、1フレーム前の画像データ(Iピクチャのデータ)が読み出され、動き補償回路87で可変長復号化回路82より出力された動きベクトルに対応する動き補償が施される。そして、演算器85において、DCTブロック並び替え回路88より供給された画像データ(差分のデータ)と加算され、出力される。この加算されたデータ、即ち、復号されたPピクチャのデータは、演算器85に後に入力される画像データ(BピクチャまたはPピクチャのデータ)の予測画像データ生成のために、フレームメモリ86の後方予測画像部86bに供給されて記憶される。
【0070】
Pピクチャのデータであっても、画像内予測モードのデータについては、Iピクチャのデータと同様に、演算器85で特に処理は行わず、そのまま後方予測画像部86bに記憶される。
【0071】
このPピクチャは、次のBピクチャの次に表示されるべき画像であるため、この時点では、まだフレームメモリ33へ出力されない(上述したように、Bピクチャの後に入力されたPピクチャが、Bピクチャより先に処理され、伝送されている)。
【0072】
DCTブロック並び替え回路88より供給された画像データが、Bピクチャのデータである場合、可変長復号化回路82より供給された予測モードに対応して、フレームメモリ86の前方予測画像部86aに記憶されているIピクチャの画像データ(前方予測モードの場合)、後方予測画像部86bに記憶されているPピクチャの画像データ(後方予測モードの場合)、または、その両方の画像データ(両方向予測モードの場合)が読み出され、動き補償回路87において、可変長復号化回路82より出力された動きベクトルに対応する動き補償が施されて、予測画像が生成される。但し、動き補償を必要としない場合(画像内予測モードの場合)、予測画像は生成されない。
【0073】
このようにして、動き補償回路87で動き補償が施されたデータは、演算器85において、DCTブロック並び替え回路88の出力と加算される。この加算出力は、フレームメモリ33に出力される。
【0074】
但し、この加算出力はBピクチャのデータであり、他の画像の予測画像生成のために利用されることがないため、フレームメモリ86には記憶されない。
【0075】
Bピクチャの画像が出力された後、後方予測画像部86bに記憶されているPピクチャの画像データが読み出され、動き補償回路87を介して演算器85に供給され、そのまま、フレームメモリ33に出力される。
【0076】
尚、このデコーダ31には、図19のエンコーダ17における予測モード切り替え回路52に対応する回路が図示されていないが、この回路に対応する処理、即ち、奇数フィールドと偶数フィールドのラインの信号が分離された構成を、元の混在する構成に必要に応じて戻す処理は、動き補償回路87が実行する(エンコーダ17においても同様に、動き補償回路64が行う)。
【0077】
また、以上においては、輝度信号の処理について説明したが、色差信号の処理も同様に行われる。但し、この場合、動きベクトルは、エンコーダ17における場合と同様に、輝度信号用のものを、垂直方向および水平方向に1/2にしたものが用いられる。
【0078】
【発明が解決しようとする課題】
ところで、MPEG2などの従来の画像信号符号化方式では、DCT変換を行うことで、大きな電力を持つ信号(低周波成分)に多くのビットを割り当て、小さな電力を持つ信号(高周波成分)ほど少ないビットを割り当てることにより情報の圧縮が行われるようになされている。
【0079】
しかしながら、従来においては、固定の大きさのマクロブロックに分割された画像データをそれぞれに対し、DCT変換処理が施されるようになされていたため、次の2つの問題があった。
(1)ブロック歪み
(2)モスキートノイズ
【0080】
(1)のブロック歪みは、符号化ビットレート(量子化に割り当てるビット数)が十分でない場合に生じ、隣接するマクロブロック境界が視認される現象である。これは、画像信号を隣接するブロック間における信号の連続性を考慮せずにブロック分割することに原因がある。
【0081】
(2)のモスキートノイズはエッジの近傍に生じる劣化である。これはエッジを含むブロックをDCT変換して符号化する場合、高周波成分が失われるために生じる折り返し歪みが原因となって生じる。マクロブロックについて、このような折り返し歪みが生じた場合、そのマクロブロック全体に劣化が生じる。さらに、この劣化には、時間軸方向の相関がないために、復号画像が不自然に見える。
【0082】
この劣化の影響は、短いタップ数の基底を持つ変換処理を行なうことにより緩和できる。これは上述の折り返し歪みが拡散する範囲を狭くすることに相当する。しかしながら、短いタップ数の基底の変換を行うと、その変換により、電力集中の効率が悪くなり符号化効率劣化する課題があった。そこで、各周波数成分ごとに基底のタップ数を変化させる方法があるが、DCT変換を用いる場合にタップ数を変化させることは困難であった。
【0083】
また、信号電力を集中させるために用いる変換としてはウェーブレット変換が存在する。ウェーブレット変換はフィルタを用いて各周波数成分に分解するフィルタバンクの1種である(DCTも1種のフィルタバンクと解釈することもできる)。ここで、図32は、ウェーブレット変換を用いて画像の符号化/復号化を行うシステムの構成例を示している。このシステムは、帯域分割フィルタバンクおよび帯域合成フィルタバンクの2種類のフィルタバンクから構成され、帯域分割フィルタバンクは、ディジタルフィルタであるローパスフィルタおよびハイパスフィルタ、ダウンサンプリング回路から、帯域合成フィルタバンクは、アップサンプリング回路、ディジタルフィルタであるローパスフィルタおよびハイパスフィルタ、並びに合成回路から構成される。
【0084】
帯域分割フィルタバンクでは、ローパスフィルタおよびハイパスフィルタで画像をフィルタリングし、それらの出力をダウンサンプリング回路で間引くことにより、画像をM個の周波数帯域(バンド)に分割する。また、帯域合成フィルタバンクでは、各周波数帯域の画像がアップサンプリング回路で補間され、ローパスフィルタおよびハイパスフィルタでフィルタリングされる。さらに、フィルタリング結果が合成回路で合成されることにより、再び元の信号に復元される。この帯域分割フィルタバンクおよび帯域合成フィルタバンクを用いて画像信号を符号化/復号化する方式はサブバンド符号化/復号化と呼ばれる。
【0085】
通常、帯域分割フィルタバンク(帯域合成フィルタバンクについても同様)は複数個を組合せてツリー状に構成される。ウェーブレット変換はこうしたツリー状のフィルタバンク実現することができ、上位階層のフィルタバンクで帯域分割した後の低域成分を次々に下位階層のフィルタバンクで帯域分割していく手法は、オクターブ分割と呼ばれる。
【0086】
例えば図33のように、最上位のフィルタバンクで、画像を4つのバンドに帯域分割した場合に、そのフィルタバンクの出力をレイヤ0と呼ぶことにすると、同図における場合、レイヤ0には4つのバンドLL,LH,HL,HHが存在する。オクターブ分割によれば、レイヤ0の低域成分LLが、フィルタバンクによってさらに4分割され、以下、必要な回数だけ、前回得られた低域成分が分割されていく。ここで、以下、適宜、n回目の分割により得られる出力を、レイヤ(n−1)と呼ぶこととする。
【0087】
こうしたウェーブレット変換などの新しい変換方式を用いることにより、DCT変換では解決できない問題を解決することが出来る可能性がある。しかしながら、ウェーブレット変換を用いる場合には、DCT変換の場合とは別な劣化である(3)リンギングが生じることが知られている(ただし、リンギングも本質的にはモスキートノイズなどと同様の原因(高域成分が失われること)によって生じる)。また、ウェーブレット変換を時間軸方向にどのように適用するかは依然未解決な課題として存在する。
【0088】
さらに、ウェーブレット変換により得られる、帯域分割されたデータをどのように符号化するのが効率良いかも未解決な問題である。
【0089】
本発明はこのような状況に鑑みてなされたものであり、ブロック歪みやモスキートノイズといった従来の動画像符号化方式では避けられなかった劣化を緩和するとともに、符号化効率を改善して、より低ビットレートでの画像の符号化を行うことができるようにするものである。
【0090】
【課題を解決するための手段】
【0095】
本発明の画像符号化装置は、入力された画像データを符号化する符号化装置において、画像データがイントラ予測モードまたはインター予測モードのうちのいずれのモードのデータであるかを判定し、判定された画像データをブロックに分割する分割手段と、画像データを、分割手段より出力されたブロックおよび分割の結果を示すブロック情報を含むデータとして符号化する符号化手段とを備え、分割手段は、画像データがイントラ予測モードのデータである場合、複数の大きさの注目ブロックのそれぞれについて、注目ブロックに隣接する隣接ブロックの分散の和を演算して演算結果を閾値と比較することによりブロックの大きさを決定し、画像データがインター予測モードのデータである場合、複数の大きさの注目ブロックのそれぞれについて、動きベクトルを検出して動きベクトルに基づく予測誤差を演算し、それぞれの大きさのブロックに対応する演算結果に基づいてブロックの大きさを決定し、決定されたブロックの大きさをブロック情報とすることを特徴とする。
【0096】
本発明の画像符号化方法は、入力された画像データを符号化する符号化装置の符号化方法において、画像データがイントラ予測モードまたはインター予測モードのうちのいずれのモードのデータであるかを判定し、判定された画像データをブロックに分割し、画像データを、分割手段より出力されたブロックおよび分割の結果を示すブロック情報を含むデータとして符号化し、画像データがイントラ予測モードのデータである場合、複数の大きさの注目ブロックのそれぞれについて、注目ブロックに隣接する隣接ブロックの分散の和を演算して演算結果を閾値と比較することによりブロックの大きさを決定し、画像データがインター予測モードのデータである場合、複数の大きさの注目ブロックのそれぞれについて、動きベクトルを検出して動きベクトルに基づく予測誤差を演算し、それぞれの大きさのブロックに対応する演算結果に基づいてブロックの大きさを決定し、決定されたブロックの大きさがブロック情報として符号化されることを特徴とする。
【0097】
本発明の画像復号化装置は、画像データがイントラ予測モードのデータである場合、複数の大きさの注目ブロックのそれぞれについて、注目ブロックに隣接する隣接ブロックの分散の和を演算して演算結果を閾値と比較することにより決定され、画像データがインター予測モードのデータである場合、複数の大きさの注目ブロックのそれぞれについて、動きベクトルを検出して動きベクトルに基づく予測誤差を演算し、それぞれの大きさのブロックに対応する演算結果に基づいて決定される大きさのブロックに分割された画像データ、および分割結果を示すブロック情報とが符号化された符号化データを、少なくとも含む伝送データを復号する画像復号化装置であって、ブロック情報に基づいて、符号化データを復号する復号化手段を備えることを特徴とする。
【0098】
本発明の画像復号化方法は、画像データがイントラ予測モードのデータである場合、複数の大きさの注目ブロックのそれぞれについて、注目ブロックに隣接する隣接ブロックの分散の和を演算して演算結果を閾値と比較することにより決定され、画像データがインター予測モードのデータである場合、複数の大きさの注目ブロックのそれぞれについて、動きベクトルを検出して動きベクトルに基づく予測誤差を演算し、それぞれの大きさのブロックに対応する演算結果に基づいて決定される大きさのブロックに分割された画像データ、および分割結果を示すブロック情報とが符号化された符号化データを、少なくとも含む伝送データを復号する画像復号化方法であって、ブロック情報に基づいて、符号化データを復号することを特徴とする。
【0105】
本発明の画像符号化装置においては、画像データがイントラ予測モードまたはインター予測モードのうちのいずれのモードのデータであるかが判定され、判定された画像データがブロックに分割され、画像データが、ブロックおよび分割の結果を示すブロック情報を含むデータとして符号化され、画像データがイントラ予測モードのデータである場合、複数の大きさの注目ブロックのそれぞれについて、注目ブロックに隣接する隣接ブロックの分散の和を演算して演算結果を閾値と比較することによりブロックの大きさが決定され、画像データがインター予測モードのデータである場合、複数の大きさの注目ブロックのそれぞれについて、動きベクトルを検出して動きベクトルに基づく予測誤差を演算し、それぞれの大きさのブロックに対応する演算結果に基づいてブロックの大きさが決定され、決定されたブロックの大きさがブロック情報とされる
【0106】
本発明の画像符号化方法においては、画像データがイントラ予測モードまたはインター予測モードのうちのいずれのモードのデータであるかが判定され、判定された画像データをブロックに分割し、画像データが、分割手段より出力されたブロックおよび分割の結果を示すブロック情報を含むデータとして符号化され、画像データがイントラ予測モードのデータである場合、複数の大きさの注目ブロックのそれぞれについて、注目ブロックに隣接する隣接ブロックの分散の和を演算して演算結果を閾値と比較することによりブロックの大きさが決定され、画像データがインター予測モードのデータである場合、複数の大きさの注目ブロックのそれぞれについて、動きベクトルを検出して動きベクトルに基づく予測誤差を演算し、それぞれの大きさのブロックに対応する演算結果に基づいてブロックの大きさが決定され、決定されたブロックの大きさがブロック情報として符号化される
【0107】
本発明の画像復号化装置においては、画像データがイントラ予測モードのデータである場合、複数の大きさの注目ブロックのそれぞれについて、注目ブロックに隣接する隣接ブロックの分散の和を演算して演算結果を閾値と比較することにより決定され、画像データがインター予測モードのデータである場合、複数の大きさの注目ブロックのそれぞれについて、動きベクトルを検出して動きベクトルに基づく予測誤差を演算し、それぞれの大きさのブロックに対応する演算結果に基づいて決定される大きさのブロックに分割された画像データ、および分割結果を示すブロック情報とが符号されて生成される符号化データがブロック情報に基づいて、復号される
【0108】
本発明の画像復号化方法においては、画像データがイントラ予測モードのデータである場合、複数の大きさの注目ブロックのそれぞれについて、注目ブロックに隣接する隣接ブロックの分散の和を演算して演算結果を閾値と比較することにより決定され、画像データがインター予測モードのデータである場合、複数の大きさの注目ブロックのそれぞれについて、動きベクトルを検出して動きベクトルに基づく予測誤差を演算し、それぞれの大きさのブロックに対応する演算結果に基づいて決定される大きさのブロックに分割された画像データ、および分割結果を示すブロック情報とが符号されて生成される符号化データがブロック情報に基づいて、復号される
【0110】
【発明の実施の形態】
【0124】
図1は、本発明を適用したエンコーダの一実施例の構成を示している。なお、図中、図27における場合と基本的構成が同様のものについては同一の符号を付してあり、以下では、その説明は、適宜省略する。
【0125】
符号化されるべき画像データは、例えば、図27における場合と同様に、図24で説明したようなシーケンスで動きベクトル検出回路50に入力される。そして、動きベクトル検出回路50に入力された画像データは、例えば、やはり図27における場合と同様にフレームメモリ51に転送されて記憶される。
【0126】
フレームメモリ51に記憶された各ピクチャの信号は、そこから読み出され、予測判定回路54の制御の下に、演算部53において、画像内予測、前方予測、後方予測、または両方向予測の演算が行なわれる。これらの処理のうち、いずれの処理を行なうかは、予測誤差信号(処理の対象とされている参照画像と、これに対する予測画像との差分)に対応して決定される。このため、動きベクトル検出回路50は、この判定に用いられる予測誤差信号の絶対値和(自乗和でもよい)を生成する。
【0127】
また符号化される画像データは、ブロック分割回路102にも入力される。ブロック分割回路102は入力画像信号をその特性(性質)に応じた大きさのマクロブロックに分割する。前述したMPEG2方式においては(MPEG1方式においても同様)、マクロブロックは16画素×16画素の固定の大きさであるが、本実施例では、マクロブロック(符号化ブロック)の大きさは可変とされている。また動き補償の単位(動き補償ブロック)も同様に可変とされている。
【0128】
即ち、本実施例では、例えば以下の3タイプに、マクロブロックおよび動き補償の単位の大きさが設定されるようになされている。
Figure 0003855286
【0129】
なお、タイプ1およびタイプ2のマクロブロックでは動きベクトルは1組(x方向とy方向の1組)であるのに対してタイプ3のマクロブロックでは4組の動きベクトルが存在する。
【0130】
ここで、図2を参照して、上述の3タイプのマクロブロック(動き補償の単位)の構成を説明する。マクロブロックはいずれのタイプの場合においても4つの輝度ブロックY[1]乃至Y[4]および2個の色差信号のブロックCb[5]、Cr[6]から構成される。タイプ1の場合、各輝度ブロックは16画素×16画素の大きさであり、色差信号のブロックも同様に16画素×16画素の大きさである。そして、この場合、動き補償は4個の輝度ブロックをまとめて1つの単位として行なわれる。即ち、4個の輝度ブロックに対して1個(1組)の動きベクトルが対応される。色差信号についても同じ動きベクトルが用いられる。
【0131】
タイプ2のマクロブロックの場合、4個の輝度ブロックは、それぞれ8画素×8画素の大きさであり、色差信号のブロックも同様に8画素×8画素の大きさである。そして、この場合、動き補償は4個の輝度ブロックをまとめて1つの単位として行なわれる。即ち、4個の輝度ブロックに対して1個の動きベクトルが対応される。色差信号についても同じ動きベクトルが用いられる。
【0132】
タイプ3のマクロブロックの場合、各輝度ブロックは8画素×8画素の大きさであり、色差信号のブロックも同様に8画素×8画素の大きさである。動き補償は各輝度ブロックをそれぞれ1単位として行なわれる。即ち、4個の輝度ブロック各々に対して1個の動きベクトルが対応され、従って、1つのマクロブロックには合計4個の動きベクトルが対応する。色差信号は8画素×8画素のブロックを4つの4画素×4画素のサブブロックに分割し、(Cb[5−1]乃至Cb[5−4]、Cr[6−1]乃至Cr[6−4])それぞれのサブブロックに対し、対応する輝度ブロックの動きベクトルが用いられる。例えばCb[5−1]およびCr[6−1]に対してはY[1]の動きベクトルが用いられる。
【0133】
なお、本実施例では、上記3タイプのみを用いて説明するが、マクロブロックの大きさ、動き補償の単位は任意の値をとり得る。
【0134】
ブロック分割回路102は、入力画像信号の性質に応じて入力画像信号を上記3つのタイプのいずれかマクロブロックに分割する。ここで、ブロック分割回路102におけるブロック分割方法について説明する。本実施例では、例えば、符号化するフレームがフレーム内符号化フレーム(Iピクチャ)の場合とそれ以外のフレーム間符号化フレーム(P,Bピクチャ)の場合とで、異なる分割方法を用いる。
【0135】
まずIピクチャの場合について、図3のフローチャートを参照して説明する。Iピクチャではフレーム内符号化を行なうため入力フレームそのものの性質を用いて分割を行なう。またIピクチャではタイプ1またはタイプ2の2通りのみとり得る。これは、Iピクチャの場合、動き補償は行われないため、動き補償の単位は処理に無関係となることから、タイプ2と3とは同一の構成として扱われることとなるからである。
【0136】
まず入力フレーム全体を、例えば、16画素×16画素の固定サイズのブロック(以下、適宜、固定ブロックという)に分割し(ステップS1)、各16画素×16画素ブロックについて、画像の性質を表す物理量としての、例えばその分散を計算する(ステップS2)。
【0137】
そして、注目固定ブロックと、それに隣接する3つの固定ブロック(例えば、注目固定ブロックの右、下、および右下に隣接する固定ブロックなど)の4つの分散の和を求め(ステップS3)、その和が所定の閾値以下である場合、注目固定ブロックを含む、その4つの固定ブロックを統合し、1つの32画素×32画素のマクロブロック(タイプ1のマクロブロック)とする(ステップS4)。この統合処理(ステップS3およびS4)は、フレーム中の全ての固定ブロックについて例えば、いわゆるラインスキャン順、即ち、フレームの左上から右下に向かって順時行なっていく。但し、すでに統合された固定ブロックは無視して行う。さらに、統合しようとする固定ブロックが、既に他の固定ブロックと統合されている場合には、統合処理は行わないようにする。そして、フレーム中の全ての固定ブロックについて上記の統合処理が終った後に残っている固定ブロックは16画素×16画素のマクロブロック(タイプ2のマクロブロック)とする。
【0138】
次にフレーム間符号化フレーム、すなわち、PピクチャまたはBピクチャの場合についてブロック分割方法について、図4のフローチャートを参照して説明する。フレーム間符号化フレームではフレーム間差分信号が符号化される。従ってブロック分割もこのフレーム間差分信号の性質に基づいて行なう。なお、フレーム間符号化フレームの場合、上記タイプ1、2、3のいずれのマクロブロックにも分割され得る。
【0139】
まず、入力フレーム全体を32画素×32画素の固定サイズのブロック(これも、以下適宜、固定ブロックという)に分割する(ステップS14)。そして、この固定ブロックを4等分した4つの8画素×8画素のブロックについて動きベクトルを検出し、その予測誤差(ME残差)の絶対値和を計算する(ステップS15)。
【0140】
同時に、入力フレーム全体を16画素×16画素の固定ブロックに分割し(ステップS11)、それぞれについて動きベクトルを検出し、さらに、そのME残差の絶対値和を計算する(ステップS12)。
【0141】
そして、注目固定ブロックと、それに隣接する3つの16画素×16画素の固定ブロックのME残差の絶対値和の合計を求め(ステップS13)、その合計値が、対応する32画素×32画素ブロックのME残差の絶対値和よりも大きい場合、4つの16画素×16画素ブロックを統合し1つの32画素×32画素のマクロブロック(タイプ1のマクロブロック)とする(ステップS16)。この統合処理(ステップS16)は、例えばIピクチャの場合と同様に、ラインスキャン順に順時行う。そして、1フレームの全ての16画素×16画素の固定ブロックについてステップS13の統合処理が終了した後に残っている16画素×16画素の固定ブロックは、大きさが16画素×16画素の1つのマクロブロックとする。
【0142】
フレーム間符号化フレームの場合、大きさが16画素×16画素のマクロブロックは、図2に示したタイプ2と3の2種類存在する。そこで、次に各16画素×16画素マクロブロックがタイプ2またはタイプ3のいずれのマクロブロックであるか決定する。
【0143】
まず16画素×16画素のマクロブロックを4つの8画素×8画素のブロックに分割する(ステップS17)。各8画素×8画素のブロックそれぞれについて動きベクトルを検出し、そのME残差の絶対値和を計算する(ステップS18)。
【0144】
そして、4つの8画素×8画素のブロックのME残差の和の合計が、それに対応する16画素×16画素のマクロブロックのME残差の和より小さい場合、このマクロブロックをタイプ3のマクロブロックとする(ステップS19)。従って、この場合動き補償の単位の大きさは8画素×8画素となる。それ以外の場合、そのマクロブロックはタイプ2のマクロブロックとする。
【0145】
なお、図3および図4におけるブロック分割および動きベクトル検出は、通常は輝度信号のみを用いて行われるが、さらに色差信号も用いて行うようにしても良い。
【0146】
ブロック分割回路102は、例えば上記のように符号化するフレームを3つのタイプのうちのいずれかのマクロブロックに分割する。この分割により、符号化するフレームの全ての画素はいずれかのマクロブロックに必ず含まれ、また、ある画素が、2つ以上のマクロブロックに重複して含まれることはない。
【0147】
図1に戻り、マクロブロックアドレス発生回路106は符号化するマクロブロックのマクロブロックアドレスmb_addressを発生する。本実施例では、マクロブロックアドレスは、例えば、フレームの最も左上のマクロブロックが1とされ、以下、符号化される順番に(即ち、例えばラインスキャン順に)1づつ増加する連続する番号とされている。
【0148】
ここで、マクロブロックアドレスの割り当て方法(各マクロブロックの符号化順の決定方法)について図5を用いて説明する。
【0149】
フレームが、例えば図5のようにマクロブロックに分割されているものとする。ただし、図5においてはフレームの上部のみを図示してある。フレームの最も左上のマクロブロックは必ず最初に符号化され、そのマクロブロックアドレスは1とされる。つぎにフレームを左から右にスキャンしていく。このとき最初に検出される、まだ符号化されていないマクロブロックが次に符号化するマクロブロックであり、前回検出されたマクロブロックのアドレスに1を加算したものが、今回検出されたマクロブロックのマクロブロックアドレスとなる。以下、同様にして全てのマクロブロックについて、マクロブロックアドレスが決定される。図5ではマクロブロックアドレスが26まで示されている。
【0150】
マクロブロックアドレスmb_addressはアドレス発生回路103、マクロブロックサイズ発生回路104、動き補償モード発生回路105、および可変長符号化回路58に出力される。
【0151】
マクロブロックサイズ発生回路104はブロック分割回路102によって決定されたマクロブロックのタイプに応じて符号化するマクロブロックの大きさを示すマクロブロックサイズmb_sizeを発生する。タイプ1のマクロブロックの場合、mb_sizeは32であり、タイプ2またはタイプ3のマクロブロックの場合、mb_sizeは16となる。マクロブロックサイズ発生回路104はマクロブロックアドレスmb_addressそれぞれについて、上記マクロブロックの大きさが16または32のいずれかであるかを示す信号mb_sizeを発生し、動きベクトル検出回路50、予測モード判定回路54、演算部53、動き補償回路64、量子化スケール発生回路101、および可変長符号化回路58に出力する。
【0152】
動き補償モード発生回路105はブロック分割回路102によって決定されたマクロブロックのタイプに応じて符号化するマクロブロックの動き補償の単位となる大きさを示す動き補償モードを発生する。なお、本実施例の場合、符号化するマクロブロックに対応する動きベクトルの組数は、そのマクロブロックを構成する動き補償の単位の数に一致する。即ち、タイプ1および2のマクロブロックの場合、動きベクトルは水平、垂直方向に1本ずつの1組である。この場合の動き補償モードは、モード1とされる。また、タイプ3のマクロブロックの場合、動きベクトルは4組となる。この場合、動き補償モードは、モード2とされる。動き補償モード発生回路105はマクロブロックアドレスmb_addressそれぞれについて上記のいずれのモードであるかを示す信号mc_modeを発生する。mc_modeは動きベクトル検出回路50、予測判定回路54、演算部53、動き補償回路64および可変長符号化回路58に出力される。
【0153】
アドレス発生回路103は、符号化するマクロブロックのデータをフレームメモリ51から読み出すために、ブロック分割回路102によって決定されたマクロブロックのタイプおよびマクロブロックアドレスmb_addressに対応して、読み出しアドレスを発生し、フレームメモリ51および動きベクトル検出回路50に出力する。
【0154】
動きベクトル検出回路50は、符号化するマクロブロックについての動きベクトルを、マクロブロックサイズmb_sizeおよび動き補償モードmc_modeに従って検出する。動きベクトル検出回路はまた、アドレス発生回路103からの読み出しアドレスに従って符号化するマクロブロックのデータをフレームメモリ51から読み出し、演算部53に出力する。
【0155】
また、動きベクトル検出回路50は、予測判定回路54において、画像内予測、前方予測、後方予測、または両方向予測のいずれの予測を行なうかを決定するための予測誤差(ME残差)の絶対値和を、図27における場合と同様にして生成し、予測判定回路54に出力する。
【0156】
予測判定回路54は、やはり、図27における場合と同様にして、予測モードを設定する。
【0157】
このように、動きベクトル検出回路50は、参照画像のマクロブロック(符号化するマクロブロック)の信号を、演算部53に供給するとともに、4つの予測モードのうち、予測判定回路54により選択された予測モードに対応する予測画像と参照画像の間の動きベクトルを検出し、可変長符号化回路58と動き補償回路64に出力する。なお、演算部53に供給する画像信号は、タイプ1乃至3のうちのいずれかのマクロブロック単位である。
【0158】
予測判定回路54は、動きベクトル検出回路50が前方原画像部51aよりIピクチャの画像データを読み出しているとき、予測モードとして、フレーム(画像)内予測モード(動き補償を行わないモード)を設定し、演算部53のスイッチ53dを接点a側に切り替える。これにより、Iピクチャの画像データは、DC差分検出回路100、接点a、およびメモリ107を介してウェーブレット変換回路121に出力される。
【0159】
演算部53より出力されたIピクチャの画像データは、ウェーブレット変換回路121においてウェーブレット変換処理され、オクターブ分割され、各レイヤ、バンドのウェーブレット係数に変換される。このウェーブレット係数は、量子化回路57に入力され、量子化スケール発生回路101によって決定された量子化ステップとあらかじめ設定された各レイヤ、バンドに対する重み係数を用いて量子化された後、可変長符号化回路58に出力される。
【0160】
ここで、図6を用いてウェーブレット変換回路121について説明する。ウェーブレット変換回路121では、複数のマクロブロックに対し、ウェーブレット変換処理が施されるようになされている。
【0161】
即ち、本実施例では、ウェーブレット変換は例えば1フレームを構成するマクロブロック全体に対して行なわれるようになされている。このため演算部53から出力されたマクロブロックは、順次メモリ107に蓄えられ、そこに1フレーム分のマクロブロックが記憶されると、その1フレーム分の画像データが、ウェーブレット変換回路121に供給されるようになされている。
【0162】
ウェーブレット変換回路121では、入力画像信号は、まず水平方向ローパスフィルタ6−2および水平方向ハイパスフィルタ6−3に入力される。なお、フィルタ6−2および6−3のフィルタ係数はフィルタ係数算出回路6−1から供給され、あらかじめ設定されている(後述する他のフィルタについても同様)。フィルタ6−2または6−3では、画像の水平方向についての低域または広域成分が取り出され(フィルタリングされ)、その出力はダウンサンプリング回路6−4または6−5によって水平方向に1/2に間引かれる。ダウンサンプリング回路6−4および6−5の出力の時点で画像は、水平方向に2つのバンドに分割される。以下、適宜、ローパスフィルタ、ハイパスフィルタ、およびそれらの出力を間引く2つのダウンサンプル回路の組合せを帯域分割フィルタバンクという。
【0163】
ダウンサンプリング回路6−4および6−5の出力はそれぞれ同様に垂直方向に帯域分割を行う帯域分割フィルタバンクに入力され処理される。即ち、ダウンサンプリング回路6−4の出力は垂直方向ローパスフィルタ6−6および垂直方向ハイパスフィルタ6−7に入力されてフィルタリングされる。フィルタ6−6と6−7の出力はダウンサンプリング回路6−10と6−11に入力され、垂直方向に1/2に間引かれる。これにより、ダウンサンプリング回路6−4の出力は、垂直方向に帯域分割される。ダウンサンプリング回路6−5の出力も、フィルタ6−8,6−9、ダウンサンプリング回路6−12,6−13で構成される帯域分割フィルタバンクに入力され、同様に処理されることで垂直方向に帯域分割される。この2つの帯域分割フィルタバンク(垂直方向、帯域分割フィルタバンク)の出力の時点(レイヤ0)で、入力画像は4つのバンド(LL、LH、HL、HH)に分割される。この4つのバンドはレイヤ0のバンドということになる。
【0164】
ここで、以下、適宜、以上の3つの帯域分割フィルタバンクの組合せを4分割フィルタバンクという。
【0165】
ダウンサンプリング回路6−10の出力(LL)は後段の4分割帯域分割フィルタバンクに入力され、上述のようにして4つのバンドに分割される。即ち、この時点(レイヤ1)で、LLバンドは4つのバンド(LLLL、LLLH、LLHL、LLHH)に分割される。従って、入力画像は合計7つのバンドに分割されたことになる。
【0166】
2つの4分割フィルタバンクにより得られた信号のうち、最も低域の成分(ダウンサンプリング回路6−22の出力(LLLL))は、さらに後段の4分割帯域分割フィルタバンクに入力され、やはり4つのバンドに分割される。この時(レイヤ2)でLLLLバンドは、4つのバンド(LLLLLL、LLLLLH、LLLLHL、LLLLHH)に分割されるので、入力画像は合計10個のバンドに分割されたことになる。
【0167】
即ち、以上のウェーブレット変換の結果、画像は図7に示すように帯域分割される。
【0168】
なお、図6の実施例では4分割帯域分割フィルタバンクを3個用いて、画像を、10バンドに分割するウェーブレット変換回路121を示したが、4分割帯域分割フィルタバンクを設ける数は特に限定されるものではない。
【0169】
また、ウェーブレット変換回路121はローパスフィルタおよびハイパスフィルタを多数用いて構成されるが、それぞれのフィルタ係数は必ずしも同じでなくて良い。さらに、ウェーブレット変換回路121で用いるフィルタ係数は、フィルタ係数算出回路6−1で求められるが、このフィルタ係数が決まれば逆ウェーブレット変換で用いるフィルタ係数(以下、適宜、逆フィルタ係数という)も一意に決定される。そこで、フィルタ係数算出回路6−1では、フィルタ係数とともに、逆フィルタ係数も求められるようになされている。逆ウェーブレット変換で用いられる逆フィルタ係数は逆ウェーブレット変換回路122、および可変長符号化回路58に出力される。また、4分割帯域分割フィルタバンクの個数(レイヤの数)も、ウェーブレット変換回路121から、逆ウェーブレット変換回路61、および可変長符号化回路58に出力される。
【0170】
符号化、即ち、ここでは、量子化および可変長符号化はマクロブロック単位で行なわれるため、1フレームの画像に対するウェーブレット変換を行った後、マクロブロックを再構成する必要がある。この再構成処理はマクロブロック構成回路109で行なわれる。マクロブロック構成回路109ではマクロブロックアドレスmb_address、マクロブロックサイズmb_sizeを用いてウェーブレット変換回路121の出力からマクロブロックを、ラインスキャン順(従って、アドレスmb_addressの昇順)に、再構成し、量子化回路57に出力する。
【0171】
ここで、ウェーブレット変換後のマクロブロックの構造を図8に示す。図8(A)は輝度信号のウェーブレット変換結果を示し、図8(B)は色差信号のウェーブレット変換結果を示している。また図8ではマクロブロックの大きさが16画素×16画素の場合(従って、タイプ2または3の場合)を示している。32画素×32画素ブロックの場合(タイプ1の場合)も同様である。各マクロブロックのデータは各レイヤ、バンドで対応する位置のウェーブレット変換係数から構成される。レイヤnで各マクロブロックに対応する変換係数の大きさはマクロブロックサイズmb_sizeを用いて、mb_size/2(n+1)で与えられる。例えばマクロブロックサイズが16である場合、レイヤ0での各バンドで対応するデータは、輝度信号については、対応する位置の8×8個のウェーブレット変換係数となる。またこの時マクロブロック中の4つの輝度ブロックはそれぞれ4×4個のウェーブレット変換係数となる。
【0172】
色差信号についても同様である。このようにマクロブロックは10個の各バンドの対応する変換係数(ウェーブレット変換係数)から構成されるようになる。
【0173】
量子化スケール発生回路101は送信バッファ59のデータ蓄積量(バッファ蓄積量)および原画像の性質に対応して量子化ステップを決定し、量子化スケールを量子化回路57、逆量子化回路60および可変長符号化回路58に出力する。量子化スケールはマクロブロックサイズに基づき、マクロブロック単位で設定される。
【0174】
量子化回路57ではウェーブレット変換された信号が、量子化スケール発生回路101で決定された量子化スケールを用いて量子化される。なお、量子化スケールには、必要に応じて、重み係数が乗算される。
【0175】
ここで、重み係数について説明する。本実施例ではウェーブレット変換により、画像が10個のバンドに帯域分割される。一般的な画像信号について、このような帯域分割を行なうと低周波成分に電力が集中する。またこの低周波成分は視覚的にも重要であり、低周波成分の劣化は復号画像の画質に悪影響を与える。これに対して高周波成分の電力はあまり集中せず、さらに、高周波成分を落しても視覚的にはあまり目立たない。
【0176】
このようなことから低周波成分により多くのビットを割り当てることが視覚的に有効である。そこで、ある量子化スケールに対して各レイヤ、バンドに対応して重み係数wをかけて量子化する。各レイヤ、バンドに対する重み係数の例を図9に示す。重み係数は、あらかじめ量子化回路57に供給されるようになされており、さらに量子化回路57を介して、逆量子化回路60および可変長符号化回路58にも供給されるようになされている。但し、重み係数は符号化の途中で変更するようにすることも可能である。なお、この場合、変更した重み係数は、逆量子化回路60および可変長符号化回路58に供給するようにする必要がある。
【0177】
量子化回路57では、次式で示される演算に対応する量子化処理が行われることにより、量子化係数Sが出力される。
【0178】
Q=(S×w)//q
但し、Sはウェーブレット変換係数、Wは重み係数、qは量子化スケールを表す。また、A//Bは、A/Bの少数点以下を四捨五入する演算を意味する。
【0179】
可変長符号化回路58は、量子化回路57より供給される量子化ステップ(スケール)に対応して、量子化回路57より供給される画像データ(いまの場合、Iピクチャのデータ)を、必要に応じてテーブルを参照しながら、例えばハフマン符号化や算術符号化などすることにより可変長符号に変換し、送信バッファ59に出力する。
【0180】
可変長符号化回路58にはまた、量子化回路57より量子化ステップ(スケール)および重み係数、予測判定回路54より予測モード(画像内予測、前方予測、後方予測、または両方向予測のいずれが設定されたかを示すモード)、動きベクトル検出回路50より動きベクトル、マクロブロックサイズ発生回路104よりマクロブロックサイズ、動き補償モード発生回路105より動き補償モード(マクロブロック中の動きベクトルの個数(即ち、マクロブロックを構成する動き補償単位の数)を示す)、マクロブロックアドレス発生回路106よりマクロブロックアドレス、ウェーブレット変換回路107よりウェーブレット変換係数(逆フィルタ係数)およびウェーブレットレイヤ数が入力されており、これらも可変長符号化される。
【0181】
なお、マクロブロックアドレスについては、前回符号化、伝送したマクロブロックのマクロブロックアドレスとの差分(マクロブロックアドレスインクリメント)が符号化されて出力される。
【0182】
可変長符号化回路58から出力されるビットストリームのシンタクス(フォーマット)については後述する(図14乃至図22)。
【0183】
送信バッファ59は、入力されたデータを一時蓄積し、蓄積量に対応するデータを量子化回路57に出力する。これにより、前述したように、このようにして、送信バッファ59のオーバフローまたはアンダフローを防止するようになされている。
【0184】
送信バッファ59に蓄積されたデータは、所定のタイミングで読み出され、伝送路に出力され、または記録媒体3に記録される。
【0185】
一方、量子化回路57より出力されたIピクチャのデータは、可変長符号化回路58だけでなく、逆量子化回路60にも入力され、量子化回路57より供給される量子化スケールおよび重み係数に対応して逆量子化される。即ち、逆量子化回路60では、次式に示す演算に対応する処理が行われることで逆量子化係数(この場合ウェーブレット変換係数)S’が出力される。
【0186】
S’=(Q×q)/w
【0187】
逆量子化回路60の出力は、メモリ108を介して逆ウェーブレット変換回路122に入力される。ここで、逆ウェーブレット変換回路122の構成例を図10に示す。
【0188】
逆ウェーブレット変換はウェーブレット変換回路121における単位と同一単位、従って本実施例ではフレーム単位で行なわれる。このため逆量子化回路60の出力は、メモリ108に蓄えられ、そこに1フレーム分のウェーブレット変換係数が記憶されると、逆ウェーブレット変換回路122に供給される。
【0189】
逆ウェーブレット変換ではウェーブレット変換とは逆にレイヤ2から帯域合成が行なわれる。即ち、レイヤ2のLLLLLLバンドは垂直方向アップサンプリング回路10−1に入力され垂直方向に2倍にアップサンプリング(補間)された後、垂直方向ローパスフィルタ10−5に入力される。またレイヤ2のLLLLLHバンドは垂直方向アップサンプリング回路10−2に入力され垂直方向に2倍にアップサンプルされた後、垂直方向ハイパスフィルタ10−6に入力されて垂直方向にフィルタリングされる。フィルタ10−5および10−6の出力は加算器(合成回路)10−9に入力され加算される。これにより2つのバンドLLLLLLおよびLLLLLHが1つのバンドに合成される。ここで、以下、適宜、垂直方向アップサンプリング回路10−1,10−2、垂直方向ローパスフィルタ10−5、垂直方向ハイパスフィルタ10−6、加算器10−9のような組合せを垂直方向帯域合成フィルタバンクとよぶ。
【0190】
同様にレイヤ2のLLLLHLバンドおよびLLLLHHバンドは、垂直方向アップサンプリング回路10−3,10−4、垂直方向ハイパスフィルタ10−7、垂直方向ローパスフィルタ10−8、および加算器10−10で構成される垂直方向帯域合成フィルタバンクに供給され、1つのバンドに合成される。
【0191】
加算器10−9の出力は水平方向アップサンプリング回路10−11に入力され水平方向に2倍にアップサンプルされた後、水平方向ローパスフィルタ10−13に入力されて水平方向にフィルタリングされる。同時に、加算器10−10の出力は水平方向アップサンプリング回路10−12に入力され水平方向に2倍にアップサンプルされた後、水平方向ハイパスフィルタ14に入力されて水平方向にフィルタリングされる。フィルタ10−13および10−14の出力は加算器10−15に出力され加算される。これによりレイヤ2の4バンドは1つのバンドに合成され、これによりLLLLバンドが再構成される。以下、適宜、水平方向アップサンプリング回路10−11,10−12、水平方向ローパスフィルタ10−13、水平方向ハイパスフィルタ10−14、加算器10−15のような組合せを水平方向帯域合成フィルタバンクと呼ぶ。また、垂直方向帯域合成フィルタバンクおよび水平方向帯域合成フィルタバンクを組合せた、4つのバンドから1つのバンドを合成するフィルタバンクを4バンド合成帯域合成フィルタバンクと呼ぶ。
【0192】
加算器10−15の出力(LLLL)およびレイヤ1の3つのバンド(LLLH、LLHL、LLHH)は、後段の4バンド合成帯域合成フィルタバンクに供給され、上述の場合と同様にして1つのバンドに再構成される。これによりLLバンドが再構成されることになる。
【0193】
再構成されたバンドLL(加算器10−30の出力)およびレイヤ0の3つのバンド(LH、HL、HH)は、さらに後段の4バンド合成帯域合成フィルタバンクに供給され帯域合成される。この4バンド合成帯域合成フィルタバンクの出力(加算器10−45の出力)が逆ウェーブレット変換回路122の出力となる。
【0194】
逆ウェーブレット変換回路122では多数のフィルタが用いられているが、これらで用いられるフィルタ係数(逆フィルタ係数)は、上述したように、ウェーブレット変換回路121(フィルタ係数算出回路6−1)で決定され供給される。逆ウェーブレット変換回路122はウェーブレット変換回路122から供給される変換係数およびレイヤ数に従って逆ウェーブレット変換が行われる。
【0195】
次に、予測画像を生成するための動き補償はマクロブロック単位で行なわれるため、逆ウェーブレット変換後、マクロブロックを再構成する必要がある。そこで、逆ウェーブレット変換回路122から出力される逆ウェーブレット変換係数(画像データ)は、マクロブロック構成回路110に供給され、マクロブロックに再構成される。即ち、マクロブロック構成回路110は、マクロブロックアドレスmb_address、マクロブロックサイズmb_sizeに基づいて、逆ウェーブレット変換回路122の出力からマクロブロックを構成し、加算器62を介してフレームメモリ63の前方予測画像部63aに供給して、記憶させる。
【0196】
以上のようにIピクチャが処理された後、動きベクトル検出回路50は、前述したように、後方原画像部51cに記憶されているPピクチャの画像データの処理を開始する。そして、上述した場合と同様に、マクロブロック単位でのフレーム間差分(予測誤差)の絶対値和が、動きベクトル検出回路50から予測判定回路54に供給される。予測判定回路54は、このPピクチャのマクロブロックの予測誤差の絶対値和に対応して、画像内予測、もしくは前方予測の予測モードを設定する。
【0197】
演算部53はIピクチャ以外の場合にフレーム内予測モードが設定されたとき、スイッチ53dを接点a側に切り替える。このとき演算部53に入力されてくる信号はイントラDC検出差分回路100に入力される。イントラDC検出差分回路100は、この場合(Iピクチャ以外の画像データについて、フレーム内予測モードが設定された場合)マクロブロック中の6つのブロックY[1]乃至Y[4]、Cb[5]、Cr[6]の各ブロックそれぞれについての平均値DC[1]乃至DC[6]を計算する。さらにイントラDC検出差分回路100は各ブロックY[1]乃至Y[4]、Cb[5]、Cr[6]の各画素値からそれぞれの平均値DC[1]乃至DC[6]を減算し、その差分値をIピクチャの場合と同様にメモリ107を介してウェーブレット変換回路121に出力する。
【0198】
ここで、ウェーブレット変換回路121におけるウェーブレット変換はマクロブロック単位ではなくフレーム単位で行なわれる。また、フレーム間差分信号(予測誤差)は、動き検出がほぼ正確になされていれば、一般に画像信号そのものより振幅の小さい信号となる(平均値は0近傍となる)。従って、1フレームにフレーム内符号化およびフレーム間符号化されるマクロブロックが混在する場合、フレーム内符号化されるマクロブロックをそのまま扱うと、図11(A)に示すように、フレーム間符号化されるマクロブロックとの境界で大きな不連続を生じることになる。その結果、このようなフレームをウェーブレット変換すると、境界部分に余分な大きな電力が発生し、圧縮効率が劣化する。そこで、これを避けるため、Iピクチャ以外のフレーム内符号化されるマクロブロックについては、その平均値を減算することで、図11(B)に示すように、信号振幅を小さくするようになされている。
【0199】
イントラDC検出差分回路100で計算された平均値DC[1]乃至DC[6](以下、適宜、イントラDCという)は可変長符号化回路58に出力され可変長符号化された後、出力される。なお、イントラDCについては、直前に符号化されたイントラDCとの差分が計算され、その差分値が可変長符号化される。
【0200】
また、平均値からの差分が計算されたマクロブロックは、メモリ107、ウェーブレット変換回路121、マクロブロック構成回路109、量子化回路57、可変長符号化回路58、送信バッファ59を介して出力される。さらに、このデータは、逆量子化回路60、メモリ108、逆ウェーブレット変換回路122、マクロブロック構成回路110を介して局所復号され、加算器62を介してフレームメモリ63の後方予測画像部63bに供給され、記憶される。ただし、加算器62ではマクロブロック中の各ブロックに対し平均値DC[1]乃至DC[6]が加算される。
【0201】
前方予測モードの時、スイッチ53dは接点bに切り替えられるとともに、フレームメモリ63の前方予測画像部63aに記憶されている画像(いまの場合Iピクチャの画像)データが読み出され、動き補償回路64により、動きベクトル検出回路50が出力する動きベクトルに対応して動き補償される。すなわち、動き補償回路64は、予測判定回路54より前方予測モードの設定が指令されたとき、前方予測画像部63aの読み出しアドレスを、動きベクトル検出回路50がいま出力しているマクロブロックの位置に対応する位置から動きベクトルに対応する分だけずらしてデータを読み出し、予測画像データを生成する。なお、このとき読み出すデータ量はマクロブロックサイズによって決定される。またタイプ3のマクロブロックの場合、4本の動きベクトルを用いて予測画像データが生成される。
【0202】
動き補償回路64より出力された予測画像データは、演算器53aに供給される。演算器53aは、参照画像のマクロブロックのデータから、動き補償回路64より供給された、このマクロブロックに対応する予測画像データを減算し、その差分(予測誤差)を出力する。なお、このときの各マクロブロックのデータ数はマクロブロックサイズによって示される。
【0203】
この差分データは同様にメモリ107を介してウェーブレット変換回路121に供給される。そして、ウェーブレット変換回路121によりウェーブレット変換された後、マクロブロック構成回路109、量子化回路57、可変長符号化回路58、送信バッファ59を介して出力される。また、このデータは、逆量子化回路60、メモリ108、逆ウェーブレット変換回路122、マクロブロック構成回路110を介して局所復号され加算器62に入力される。
【0204】
この演算器62にはまた、演算器53aに供給されている予測画像データと同一のデータが供給されている。演算器62は、マクロブロック構成回路110が出力する差分データに、動き補償回路64が出力する予測画像データを加算する。これにより、元の(復号した)Pピクチャの画像データが得られる。このPピクチャの画像データは、フレームメモリ63の後方予測画像部63bに供給され、記憶される。
【0205】
動きベクトル検出回路50は、IピクチャとPピクチャのデータが前方予測画像部63aと後方予測画像部63bにそれぞれ記憶されると、前述したように、Bピクチャの処理を実行する。即ち、まず予測判定回路54においては、マクロブロック単位でのフレーム間差分の絶対値和の大きさに対応して、予測モードがフレーム内予測モード、前方予測モード、後方予測モード、または両方向予測モードのいずれかに設定される。
【0206】
前述したように、フレーム内予測モードまたは前方予測モードの時、スイッチ53dは接点aまたはbに切り替えられる。この場合、Pピクチャにおける場合と同様の処理が行われる。
【0207】
また、後方予測モードまたは両方向予測モードが設定された時、スイッチ53dは、接点cまたはdにそれぞれ切り替えられる。
【0208】
スイッチ53dが接点cに切り替えられる後方予測モードの時、後方予測画像部63bに記憶されている画像(いまの場合、Pピクチャの画像)データが読み出され、動き補償回路64により、動きベクトル検出回路50が出力する動きベクトルに対応して動き補償される。すなわち、動き補償回路64は、予測判定回路54より後方予測モードの設定が指令されたとき、後方予測画像部63bの読み出しアドレスを、動きベクトル検出回路50がいま出力しているマクロブロックの位置に対応する位置から動きベクトルに対応する分だけずらしてデータを読み出し、予測画像データを生成する。なお、このとき読み出すデータ量はマクロブロックサイズによって決定される。またタイプ3のマクロブロックの場合、4本の動きベクトルを用いて予測画像データが生成される。
【0209】
動き補償回路64より出力された予測画像データは、演算器53bに供給される。演算器53bは、参照画像のマクロブロックのデータから、動き補償回路64より供給された、このマクロブロックに対応する予測画像データを減算し、その差分(予測誤差)を出力する。なお、このとき各マクロブロックのデータ数はマクロブロックサイズによって示される。
【0210】
この差分データはメモリ107を介して、ウェーブレット変換回路121に供給される。そして、ウェーブレット変換回路121においてウェーブレット変換された後マクロブロック構成回路109、量子化回路57、可変長符号化回路58、送信バッファ59を介して出力される。
【0211】
スイッチ53dが接点dに切り替えられている両方向予測モードの時、前方予測画像部63aに記憶されている画像(いまの場合、Iピクチャの画像)データと、後方予測画像部63bに記憶されている画像(いまの場合、Pピクチャの画像)データが読み出され、動き補償回路64により、動きベクトル検出回路50が出力する動きベクトルに対応して動き補償される。すなわち、動き補償回路64は、予測判定回路54より両方向予測モードの設定が指令されたとき、前方予測画像部63aと後方予測画像部63bの読み出しアドレスを、動きベクトル検出回路50がいま出力しているマクロブロックの位置に対応する位置から動きベクトル(この場合の動きベクトルは、前方予測画像用と後方予測画像用の2つとなる)に対応する分だけずらしてデータを読み出し、予測画像データを生成する。なお、このとき読み出すデータ量はマクロブロックサイズによって示される。またタイプ3のマクロブロックの場合、4本の動きベクトルを用いて予測画像データが生成される。
【0212】
動き補償回路64より出力された予測画像データは、演算器53cに供給される。演算器53cは、動きベクトル検出回路50より供給された参照画像のマクロブロックのデータから、動き補償回路64より供給された予測画像データの平均値を減算し、その差分を出力する。なお、このとき各マクロブロックのデータ数はマクロブロックサイズによって示される。
【0213】
この差分データはやはりメモリ107、ウェーブレット変換回路121、マクロブロック構成回路109、量子化回路57、可変長符号化回路58、送信バッファ59を介して出力される。
【0214】
Bピクチャの画像は、前述したように他の画像の予測画像とされることがないため、フレームメモリ63には記憶されない。
【0215】
以上においては、輝度ブロックを中心として説明をしたが、色差ブロックについても同様に、図2に示すマクロブロックを単位として処理され、伝送される。尚、色差ブロックを処理する場合の動きベクトルは、対応する輝度ブロックの動きベクトルを垂直方向と水平方向に、それぞれ1/2にしたものが用いられる。
【0216】
次に、可変長符号化回路58では、可変長符号化すべきマクロブロックがスキップマクロブロックである場合、そのマクロブロックについては可変長符号化させず、従って可変長符号化回路58からはそのマクロブロックのデータは出力されないようになされている。スキップマクロブロックの詳細については後述する。
【0217】
次にマクロブロックアドレスの符号化方法について説明する。マクロブロックアドレスは、上述したように、1から始まる連続した整数である。可変長符号化回路58はマクロブロックのデータを符号化して伝送する場合(従って、スキップマクロブロックは含まれない)、前回符号化したマクロブロックのマクロブロックアドレスと現在のマクロブロックアドレスの差分macroblock_address_incrementを計算し、これを可変長符号する。従って、macroblock_address_incrementが2以上の場合、スキップマクロブロックが存在することを意味する。
【0218】
次にスキップマクロブロックについて説明する。Iピクチャを構成するマクロブロックにはスキップマクロブロックは存在しない。Pピクチャを構成するマクロブロックの場合、マクロブロックが、以下の4つの条件を満たすときに、スキップマクロブロックとされる。可変長符号化回路58では、符号化対象のマクロブロックがスキップマクロブロックである場合、動きベクトルの保持値が0にリセットされる。即ち、動きベクトルは、前回符号化された動きベクトルとの差分値が伝送される。このため、可変長符号化回路58には、前回符号化された動きベクトルが保持されるが、マクロブロックがスキップマクロブロックである場合、その保持値が0にリセットされる。
【0219】
・マクロブロックが前方向予測マクロブロックである。
・動きベクトルが0である。
・マクロブロックサイズmb_sizeが前回符号化対象となったマクロブロックと同一である。
・マクロブロックについての全てのウェーブレット係数が0である。
【0220】
また、Bピクチャについては、以下の7つの条件を満たす場合、マクロブロックがスキップマクロブロックとされる。このとき動きベクトルの保持値はそのままの値が保持される(スキップマクロブロックに対応する動きベクトルによる保持値の更新は保持されない)。
【0221】
・マクロブロックがイントラマクロブロックではない。
・マクロブロックサイズが前のマクロブロックと同一である。
・予測モード(前方向、後方向、両方向)が、前回符号化対象となったマクロブロックと同一である。
・動き補償モード(動きベクトルの本数)が前回符号化対象となったマクロブロックと同一である。
・動きベクトルが前回符号化対象となったマクロブロックと同一である。
・前回符号化が対象となったマクロブロックはイントラマクロブロックではない。
・マクロブロックについての全てのウェーブレット係数が0である。
【0222】
次に、図12は、本発明を適用したデコーダの一実施例の構成を示している。なお、図中、図31における場合と基本的構成が同様の部分については、同一の符号を付してあり、以下では、その説明は、適宜、省略する。
【0223】
符号化された画像データは、前述したように、受信バッファ81に一時記憶された後、復号回路90の可変長復号化回路82に供給される。可変長復号化回路82は、受信バッファ81より供給されたデータを可変長復号化し、動きベクトル、予測モード、マクロブロックサイズ、および動き補償モードを動き補償回路87およびマクロブロック構成回路202に、また、量子化スケール、重み係数を逆量子化回路83に、またイントラDC(DC[1]乃至DC[6])を加算器85に、逆ウェーブレット変換係数およびウェーブレットレイヤ数を逆ウェーブレット変換回路203に、それぞれ出力するとともに、復号された画像データを逆量子化回路83に出力する。さらに、マクロブロックアドレスとマクロブロックサイズは、書き込みアドレス発生回路201にも供給される。
【0224】
ここで、マクロブロックアドレスの復号について説明する。上述したように、マクロブロックアドレスはビットストリーム中にそのままは符号化されてはいない。即ち、前回復号したマクロブロックのマクロブロックアドレスと、現在復号しようとするマクロブロックのマクロブロックアドレスの差分macroblock_address_incrementが符号化されている。そこで、可変長復号回路82は、このmacroblock_address_incrementを復号し、前回復号したマクロブロックアドレスに加算することによって現在のマクロブロックのマクロブロックアドレスを求めるようになされている。MPEG2方式に適合させる場合、macroblock_address_incrementの最大値は33となり、これより大きい値についてはmacroblock_escapeとの組合せで表現することになる。
【0225】
macroblock_address_incrementが2以上の場合、スキップマクロブロックが存在することを示しており、macroblock_address_increment−1がスキップマクロブロックの数となる。
【0226】
スキップマクロブロックは、次のように復号される。
【0227】
即ち、復号する画像がPピクチャの場合、スキップマクロブロックは、上述の4つの条件を満たすものと解釈され、前回復号化されたマクロブロックに基づいて復号される。なお、この場合、動きベクトルの保持値は0にリセットされる。
【0228】
また、復号する画像がBピクチャの場合、スキップマクロブロックは上述の7つの条件を満たすものと解釈され、やはり、前回復号化されたマクロブロックに基づいて復号される。なお、この場合、動きベクトルの保持値はそのまま保持される。
【0229】
逆量子化回路83は、可変長復号化回路82より供給された画像データを、同じく可変長復号化回路82より供給された量子化スケールおよび重み係数に従って逆量子化し、メモリ200を介して逆ウェーブレット変換回路203に出力する。
【0230】
逆ウェーブレット変換回路203における逆ウェーブレット変換は、図1の逆ウェーブレット変換回路122における場合と同様にフレーム単位で行なわれる。このため、各マクロブロックのデータは一時メモリ200に記憶され、そこに1フレーム分のデータが記憶された後、逆ウェーブレット変換処理される。
【0231】
これに対して動き補償はマクロブロックに含まれる動き補償の単位で行なわれるため逆ウェーブレット変換回路203の出力は、マクロブロック構成回路202に供給され、そこでマクロブロックに再構成される。即ち、マクロブロック構成回路202ではマクロブロックアドレスab_address、マクロブロックサイズmb_sizeを用いて逆ウェーブレット変換回路203の出力からマクロブロックが再構成され加算器85に供給される。
【0232】
マクロブロック構成回路202より供給された画像データが、Iピクチャのデータである場合、そのデータは演算器85より出力され、演算器85に後に入力される画像データ(PまたはBピクチャのデータ)の予測画像データ生成のために、フレームメモリ86の前方予測画像部86aに供給されて記憶される。また、このデータは、所定のタイミングで出力再生画像として図示せぬ外部出力装置に出力される。
【0233】
このように、復号されたマクロブロックのデータはフレームメモリ86に記憶される。ここで、従来のMPEG1やMPEG2などの方式では固定サイズのマクロブロックを用いるためにマクロブロックアドレスがわかれば、そのマクロブロックがフレーム中のどの部分に位置するかが特定することができる。しかしながら、本実施例では、可変サイズのマクロブロックを扱うため、マクロブロックアドレスのみからでは、そのマクロブロックのフレーム中での位置を決定することができない。そこで、各マクロブロックがフレーム中のどの位置のデータであるかは、マクロブロックアドレスおよびマクロブロックサイズに基づいて、アドレス発生回路201で算出される。
【0234】
即ち、書き込みアドレス発生回路201では、可変長復号回路82からのマクロブロックアドレスおよびマクロブロックサイズを用いてマクロブロックのデータをフレームメモリ86に書き込む際のアドレスを発生する。
【0235】
ここで、図13を参照して、例えば、上述の図5に示したようにブロック分割がされている場合に、マクロブロックアドレスとマクロブロックサイズを用いて、マクロブロックのフレーム中での位置を特定する方法について説明する。マクロブロックアドレスはエンコーダにおいて図5に示したようにラインスキャン順に増加するように付されている。また、マクロブロックサイズは、本実施例では、16または32のうちのいずれかである。
【0236】
そこで、アドレス発生回路201は、図13に示すようなマップを作成するようになされている。即ち、このマップは1フレーム分のマクロブロックの位置を記憶するメモリなどでなり、その縦横の大きさは復号画像の輝度の画枠の縦と横それぞれを1/16にしたものとされている。また、その深さは1ビットとされており、従って、各点では、0または1を記憶することができるようになされている。
【0237】
このマップは、各フレームのデータを復号する前に(即ち、ピクチャヘッダ(図17)を復号した時に)、全て0に初期化される。
【0238】
そして、いまマクロブロックアドレス1のマクロブロックが復号されたとすると、このマクロブロックのフレーム中での位置はフレームの最も左上である。ここでマップポインタというパラメータを導入する。マップポインタは復号されるマクロブロックの左上隅のマップ上での位置を指すポインタで、マクロブロックアドレス1の場合、マップポインタはマップの最も左上隅を指す(図13(A))。
【0239】
マクロブロックが復号されると、このマップポインタが指す点を先頭として、マクロブロックサイズに従ってマップの所定の位置(点)を0から1に変更する。即ち、復号されたマクロブロックのマクロブロックサイズが16である場合、マップポインタが示す点だけが1に変更される。また、マクロブロックサイズが32の場合、マップポインタが示す位置を左上とする2×2個の点がすべて1にされる。
【0240】
1つのマクロブロックについての復号が終了すると、マップがラインスキャン順にスキャンされ、このとき、値が最初に0になる点にマップポインタが移動され、その位置が次に復号されるマクロブロックの位置とされる。従って、マクロブロックアドレス1のマクロブロックの復号後、マップポインタは、図13(B)に示す位置に移動されることとなる。マップは復号画像の画枠を縦横それぞれ1/16した大きさであるから、マップポインタが位置する点の座標について所定の換算を行なうことにより、マクロブロックのフレーム中での位置を特定することができ、さらに、フレームメモリ86に対する書き込みアドレスを得ることができる。
【0241】
図13(C)に、図5においてマクロブロックアドレスが15とされているマクロブロックを復号した後のマップの状態およびマップポインタの位置を示す。
【0242】
なお、上記方法は一例であり、アドレス(フレーム中でのマクロブロックの位置)はマクロブロックアドレスおよびマクロブロックサイズが与えられれば一意に決定されることから、他の方法を用いてもアドレスを計算することは可能である。
【0243】
図12に戻り、マクロブロック構成回路202より供給された画像データが、その1フレーム前の画像データを予測画像データとするPピクチャのデータであって、前方予測モードのデータである場合、フレームメモリ86の前方予測画像部86aに記憶されている、1フレーム前の画像データ(Iピクチャのデータ)が読み出され、動き補償回路87で可変長復号化回路82より出力された動きベクトルに対応する動き補償が施される。そして、演算器85において、マクロブロック構成回路202より供給された画像データ(差分のデータ)と加算され、出力される。この加算されたデータ、即ち、復号されたPピクチャのデータは、演算器85に後に入力される画像データ(BピクチャまたはPピクチャのデータ)の予測画像データ生成のために、フレームメモリ86の後方予測画像部86bに供給されて記憶される。
【0244】
なお、Pピクチャのデータであって、画像内予測モードのデータは、演算器85において、可変長復号回路82より供給されるイントラDC(DC[1]乃至DC[6])と加算される。その結果得られるPピクチャの復号画像は、上記前方予測モードの場合と同様に、後方予測画像部86bに記憶される。
【0245】
このPピクチャは、次のBピクチャの次に表示されるべき画像であるため、この時点では、まだ再生画像として、図示せぬ外部出力装置へ出力されない(上述したように、Bピクチャの後に入力されたPピクチャが、Bピクチャより先に処理され、伝送されている)。
【0246】
マクロブロック構成回路202より供給された画像データが、Bピクチャのデータである場合、可変長復号化回路82より供給された予測モードに対応して、フレームメモリ86の前方予測画像部86aに記憶されているIピクチャの画像データ(前方予測モードの場合)、後方予測画像部86bに記憶されているPピクチャの画像データ(後方予測モードの場合)、または、その両方の画像データ(両方向予測モードの場合)が読み出され、動き補償回路87において、可変長復号化回路82より出力された動きベクトルに対応する動き補償が施されて、予測画像が生成される。但し、動き補償を必要としない場合(画像内予測モードの場合)、予測画像は生成されない。
【0247】
このようにして、動き補償回路87で動き補償が施されたデータは、演算器85において、マクロブロック構成回路202の出力と加算される。ただし、フレーム内予測モードの場合は、上述したPピクチャにおける場合と同様に、マクロブロック構成回路202の出力と、イントラDCとが加算される。この加算出力は、再生画像として直ちに、図示せぬ外部の出力装置に出力される。
【0248】
但し、この加算出力はBピクチャのデータであり、他の画像の予測画像生成のために利用されることがないため、フレームメモリ86には記憶されない。
【0249】
Bピクチャの画像が出力された後、後方予測画像部86bに記憶されているPピクチャの画像データが読み出され、動き補償回路87を介して演算器85に供給される。但し、このとき、動き補償は行われない。
【0250】
また、以上においては、輝度信号の処理について説明したが、色差信号の処理も同様に行われる。但し、この場合、動きベクトルは、輝度信号用のものを、垂直方向および水平方向に1/2にしたものが用いられる。
【0251】
次に、図1のエンコーダより出力されるビットストリームのフォーマットについて、図14乃至図22を参照して説明する。図14乃至図22は、ISO-IEC/JTC1/SC29/WG11 IS 13818-2で用いられている書式で本実施例のビットストリームのフォーマットを示したものである。なお、No of bits Mnemonicの欄に記載がある部分が実際に伝送されるフラグ(データ)である。
【0252】
図14はシーケンスヘッダのフォーマットを示している。シーケンスヘッダは、ビットストリームの先頭に付加される。sequence_start_codeは32ビットのコードでシーケンスヘッダの開始を示す。このsequence_start_codeの他、各種のヘッダ(例えば、図16のグループオブピクチャのヘッダなど)のスタートコードは固有のビット列であり、ビットストリームの他の部分では発生することがないコードである。従って何らかの原因でビットストリームの一部が失われるなどして、その復号をすることが出来なくなった場合でも、いずれかのスタートコードは検出することができ、これにより再び復号を再開することが可能となる。
【0253】
wavelet_layer_numberは逆ウェーブレット変換回路203を幾つのレイヤ(4バンド合成帯域合成フィルタバンクの数)で構成することが必要であるかを示す4ビットのフラグである。またwavelet_coefficients()は逆ウェーブレット変換回路203の各レイヤのフィルタで用いられるフィルタ係数(逆フィルタ係数)である。逆ウェーブレット変換回路203では、この逆フィルタ係数wavelet_coefficients()を用いて、図1の逆ウェーブレット変換回路122における場合と同様のフィルタリングが行われる。
【0254】
ここで、逆ウェーブレット変換に用いる逆フィルタ係数を伝送する方法としては、例えば図15に示すような2通りの方法がある。即ち、図15(a)は、各レイヤの各フィルタで用いる逆フィルタ係数をあらかじめ何組(セット)か決めておき、そのどれを用いるかを示すフラグを伝送する場合のフォーマットを示している。ハイパスおよびローパスフィルタの組合せはどちらか一方が定まれば決定される。このため各レイヤについて、1つのインデクスを伝送すれば十分である。図15(a)では、インデクスwavelet_coeff_indexは8ビットのフラグであり、256通りのフィルタ係数の組合せを指定することが可能とされている。本実施例では8ビットであるが、そのビット数は特に限定されるものではない。
【0255】
なお、この場合、図1におけるウェーブレット変換回路121のフィルタ係数算出回路6−1では、256通りのフィルタ係数の組み合わせのうちのいずれかが選択され、各フィルタに設定される。さらに、この場合、可変長符号化回路58には、選択したフィルタ係数の組み合わせに対応するwavelet_coeff_indexが供給される。
【0256】
図15(b)は、各レイヤで用いるフィルタ係数を直接伝送する場合のフォーマットを示している。この場合、ローパスフィルタおよびハイパスフィルタのタップ数とそのタップ数に応じたフィルタ係数が伝送される。
【0257】
図14に戻り、load_intra_weighting_matrixとload_non_intra_weighting_matrixはIピクチャと、PおよびBピクチャで用いる重み係数をダウンロードするかどうかを示すフラグである。重み係数を、ダウンロードする場合、それぞれのフラグのあとに重み係数が記述される。これは8ビット×(wavelet_layer_numer×3+1)のデータサイズになる。なお、バンドの数はwavelet_layer_number(レイヤ数)から式(wavelet_layer_numer×3+1)に従って求めることができる。IピクチャとPおよびBピクチャとについては、通常、異なる重み係数が用いられるが、同一の重み係数を用いるようにすることも可能である。
【0258】
図16は、グループオブピクチャのヘッダのフォーマットを示している。これは、通常のMPEG方式の場合と同様である。
【0259】
図17はピクチャヘッダのフォーマットを示している。number_of_macroblockはそのフレームに存在するマクロブロックの数を示す16ビットのフラグである。
【0260】
図18はマクロブロックヘッダのフォーマットを示している。macroblock_sizeはマクロブロックの大きさを示す2ビットのフラグである。mc_modeはそのマクロブロックの動き補償の単位を示す。すなわち、1個の動きベクトルが存在するかまたは4個の動きベクトルが存在するかを示すフラグである。1個の場合、number_of_motion_vectorsは1となりまた4個の場合はnumber_of_motion_vectorsは4となる。この数だけforward_motion_vectorまたはbackward_motion_vectorがそれぞれ伝送される。このmc_modeは、図19乃至図21に示すVLCコードテーブルのmacroblock_typeにおいてmacroblock_motion_forwardまたはmacroblock_motion_backwardのうちのいずれが1に設定されており、且つmacroblock_sizeが、マクロブロックのサイズが16であることを示している場合のみ伝送される。動きベクトルは、図22に示す伝送フォーマットで伝送される。
【0261】
マクロブロックが、Iピクチャ以外のイントラマクロブロックの場合、そのイントラマクロブロックの平均値(イントラDC)が伝送される。
【0262】
MPEG2などの従来の画像信号符号化方式では、動き補償は、固定の大きさのマクロブロック単位で行われる。即ち、符号化する画像信号の性質とは無関係に行われる。しかしながら、複雑な動きをする部分については、動き補償の単位は小さくすることで、細かな動きを再現することが可能となる。また、一様で動きが少ない部分については、動き補償の単位を大きくすることで、動きベクトルなどのデータ量を低減することができる。即ち、動き補償の単位は、符号化する画像信号の性質に応じて変化させる方が効率を向上させることができる。
【0263】
フレーム内符号化を行なう場合においても、一様な領域は大きなマクロブロックを用いた方が、可変長符号化(ランレングス符号化など)の効率を向上させることができる。また、複雑なテクスチャやエッジなどが存在する領域ではマクロブロックの大きさを小さくして、マクロブロック内の信号ができるだけ一様になるようにした方が効率を向上させることができる。即ち、フレーム内符号化という側面からみても、マクロブロックの大きさを符号化する画像の性質に応じて変化させることが望ましい。
【0264】
そこで、本実施例では、入力画像信号の性質に応じて適応的にマクロブロック、および動き補償の単位を変化させるようにし、これにより、符号化効率を向上させるとともに、上記(1)のブロック歪みを低減するようにしている。
【0265】
また、MPEG2などの従来の符号化方式においては、DCT変換が、前述したように、信号電力の集中のために用いられるが、DCT変換では、上記(2)のモスキートノイズを軽減することは難しい。またDCT変換は、基本的に、ブロック単位の処理であるため、上記(1)のブロック歪みをなくすことは困難である。
【0266】
そこで、本実施例では、上述したように、ウエーブレット変換を用い、フレーム単位などで変換処理を行うようにしている。これにより、DCT変換におけるブロック単位の処理が原因で生じるブロック歪みをなくし、また、モスキートノイズを低減することができる。
【0267】
また、本実施例では、ウエーブレット変換した後、各バンドの対応する位置のウエーブレット変換係数によって、マクロブロックを再構成し、量子化や可変長符号化を行うようにしているが、逆ウエーブレット変換がフレーム単位で行なわれるため、上記(1)のブロック歪みは、それほど問題とならない。
【0268】
さらに、ウエーブレット変換では、各周波数帯域に応じた長さの基底(フィルタのタップ数)を用いることができるので、上記(2)のモスキートノイズや(3)のリンギングを軽減することができる。
【0269】
なお、ウエーブレット変換において、各フィルタバンクで用いるローパスフィルタおよびハイパスフィルタのタップ数は必ずしも同一でなくても良い。
【0270】
また、同様にツリー構造の関係にある各フィルタバンク間で必ずしも同一のフィルタを用いる必要もない。即ち、フィルタ係数(基底長)は、周波数成分に応じて変化させることができる(各レイヤで最適なフィルタ係数(基底)を用いることができる)。例えば、高周波成分に対しては、短いタップのフィルタを用い、低周波成分に対しては、長いタップのフィルタを用いることにより、上記(2)のモスキートノイズや(3)のリンギングを軽減することができる。
【0271】
さらに、本実施例では、動き補償の単位の大きさを可変とし、動き補償と、ウエーブレット変換と組み合わせるようにしたが、動き補償の単位の大きさは、MPEG2方式などの従来における場合と同様に固定にしても良い。このようにしても、ウエーブレット変換は、動き補償の単位とは、無関係に行なわれるため、上記(1)のブロック歪みはそれほど問題とならない。
【0272】
また、本実施例では、所定の変換処理として、ウェーブレット変換を行うようにしたが、所定の変換処理としては、ウェーブレット変換以外の、基底長を適応的に変化させることのできる直交変換処理その他を用いることができる。
【0273】
さらに、本実施例では、フレーム単位でのみの処理を行うようにしたが、この他、例えば図27で説明したようなフレーム/フィールドの切り換えを行うようにすることも可能である。
【0274】
【発明の効果】
【0277】
本発明の画像符号化装置および画像符号化方法によれば、画像データがイントラ予測モードまたはインター予測モードのうちのいずれのモードのデータであるかが判定され、判定された画像データをブロックに分割し、画像データが、分割手段より出力されたブロックおよび分割の結果を示すブロック情報を含むデータとして符号化され、画像データがイントラ予測モードのデータである場合、複数の大きさの注目ブロックのそれぞれについて、注目ブロックに隣接する隣接ブロックの分散の和を演算して演算結果を閾値と比較することによりブロックの大きさが決定され、画像データがインター予測モードのデータである場合、複数の大きさの注目ブロックのそれぞれについて、動きベクトルを検出して動きベクトルに基づく予測誤差を演算し、それぞれの大きさのブロックに対応する演算結果に基づいてブロックの大きさが決定され、決定されたブロックの大きさがブロック情報として符号化される。従って、符号化効率を向上させることができる。
【0278】
本発明の画像復号化装置および画像復号化方法によれば、画像データがイントラ予測モードのデータである場合、複数の大きさの注目ブロックのそれぞれについて、注目ブロックに隣接する隣接ブロックの分散の和を演算して演算結果を閾値と比較することにより決定され、画像データがインター予測モードのデータである場合、複数の大きさの注目ブロックのそれぞれについて、動きベクトルを検出して動きベクトルに基づく予測誤差を演算し、それぞれの大きさのブロックに対応する演算結果に基づいて決定される大きさのブロックに分割された画像データ、および分割結果を示すブロック情報とが符号されて生成される符号化データがブロック情報に基づいて、復号される。従って、効率良く符号化されたデータを復号することができる。
【図面の簡単な説明】
【図1】本発明を適用したエンコーダの一実施例の構成を示すブロック図である。
【図2】図1のエンコーダで用いられるマクロブロックを示す図である。
【図3】図1のブロック分割回路102におけるブロック分割方法を説明するためのフローチャートである。
【図4】図1のブロック分割回路102におけるブロック分割方法を説明するためのフローチャートである。
【図5】図1のブロック分割回路102でブロック分割された画像を示す図である。
【図6】図1のウェーブレット変換回路121の構成例を示すブロック図である。
【図7】ウェーブレット変換により帯域分割された画像を示す図である。
【図8】図1のマクロブロック構成回路109の処理を説明するための図である。
【図9】図1の量子化回路57で用いられる重み係数を示す図である。
【図10】図1の逆ウェーブレット変換回路122の構成例を示すブロック図である。
【図11】図1のDC検出差分回路100の処理を説明するための図である。
【図12】本発明を適用したデコーダの一例の構成を示すブロック図である。
【図13】図12の書き込みアドレス発生回路201におけるアドレスの算出方法を説明するための図である。
【図14】図1のエンコーダより出力されるビットストリームにおけるシーケンスヘッダのフォーマットを示す図である。
【図15】図15のwavelet_coefficients()のフォーマットを示す図である。
【図16】図1のエンコーダより出力されるビットストリームにおけるグループオブピクチャヘッダのフォーマットを示す図である。
【図17】図1のエンコーダより出力されるビットストリームにおけるピクチャヘッダのフォーマットを示す図である。
【図18】図1のエンコーダより出力されるビットストリームにおけるマクロブロックのフォーマットを示す図である。
【図19】Iピクチャにおけるマクロブロックのマクロブロックタイプ(macroblock_type)のテーブルを示す図である。
【図20】Pピクチャにおけるマクロブロックのマクロブロックタイプ(macroblock_type)のテーブルを示す図である。
【図21】Bピクチャにおけるマクロブロックのマクロブロックタイプ(macroblock_type)のテーブルを示す図である。
【図22】図1のエンコーダより出力されるビットストリームにおける動きベクトルのフォーマットを示す図である。
【図23】高能率符号化の原理を説明するための図である。
【図24】画像データを圧縮する場合におけるピクチャのタイプを説明するための図である。
【図25】動画像を符号化する原理を説明するための図である。
【図26】従来の動画像符号化装置と復号化装置の一例の構成を示すブロック図である。
【図27】図26のエンコーダ17の構成例を示すブロック図である。
【図28】従来のブロック分割方法を説明するための図である。
【図29】図27における予測モード切り換え回路52の動作を説明するための図である。
【図30】図27におけるDCTモード切り換え回路55の動作を説明するための図である。
【図31】図26のデコーダ31の構成例を示すブロック図である。
【図32】サブバンド符号化を説明するためのブロック図である。
【図33】ウェーブレット変換により4つの周波数帯域に帯域分割された画像を示す図である。
【符号の説明】
3 記録媒体/伝送路
6−1 フィルタ係数算出回路
6−2 水平方向ローパスフィルタ
6−3 水平方向ハイパスフィルタ
6−4,6−5 ダウンサンプリング回路
6−6 垂直方向ローパスフィルタ
6−7 垂直方向ハイパスフィルタ
6−8 垂直方向ローパスフィルタ
6−9 垂直方向ハイパスフィルタ
6−10乃至6−13 ダウンサンプリング回路
10−1乃至10−4 アップサンプリング回路
10−5 垂直方向ローパスフィルタ
10−6 垂直方向ハイパスフィルタ
10−7 垂直方向ローパスフィルタ
10−8 垂直方向ハイパスフィルタ
10−9,10−10 加算器(合成回路)
10−11,10−12 アップサンプリング回路
10−13 水平方向ローパスフィルタ
10−14 水平方向ハイパスフィルタ
17 エンコーダ
31 デコーダ
50 動きベクトル検出回路
51 フレームメモリ
51a 前方原画像
51b 参照原画像
51c 後方原画像
52 Frame/Field予測モード切り替え回路
53 演算部
54 画像内/前方/両方向/予測判定回路
56 DCT回路
57 量子化回路
58 可変長符号化回路
59 送信バッファ
60 逆量子化回路
61 IDCT回路
62 演算器
63 フレームメモリ
64 動き補償回路
81 受信バッファ
82 可変長復号化回路
83 逆量子化回路
86 フレームメモリ
87 動き補償回路
90 復号回路
100 DC検出差分回路
101 量子化スケール発生回路
102 ブロック分割回路
103 アドレス発生回路
104 マクロブロックサイズ発生回路
105 動き補償モード発生回路
106 マクロブロックアドレス発生回路
109 マクロブロック構成回路
110 マクロブロック構成回路
121 ウェーブレット変換回路
122 逆ウェーブレット変換回路
201 書き込みアドレス発生回路
203 逆ウェーブレット変換回路
202 マクロブロック構成回路

Claims (4)

  1. 入力された画像データを符号化する符号化装置において、
    前記画像データがイントラ予測モードまたはインター予測モードのうちのいずれのモードのデータであるかを判定し、判定された前記画像データをブロックに分割する分割手段と、
    前記画像データを、前記分割手段より出力されたブロックおよび前記分割の結果を示すブロック情報を含むデータとして符号化する符号化手段とを備え、
    前記分割手段は、
    前記画像データがイントラ予測モードのデータである場合、複数の大きさの注目ブロックのそれぞれについて、前記注目ブロックに隣接する隣接ブロックの分散の和を演算して前記演算結果を閾値と比較することにより前記ブロックの大きさを決定し、
    前記画像データがインター予測モードのデータである場合、複数の大きさの注目ブロックのそれぞれについて、動きベクトルを検出して前記動きベクトルに基づく予測誤差を演算し、それぞれの大きさのブロックに対応する前記演算結果に基づいて前記ブロックの大きさを決定し、
    決定された前記ブロックの大きさを前記ブロック情報とする
    ことを特徴とする画像符号化装置。
  2. 入力された画像データを符号化する符号化装置の符号化方法において、
    前記画像データがイントラ予測モードまたはインター予測モードのうちのいずれのモードのデータであるかを判定し、判定された前記画像データをブロックに分割し、
    前記画像データを、前記分割手段より出力されたブロックおよび前記分割の結果を示すブロック情報を含むデータとして符号化し、
    前記画像データがイントラ予測モードのデータである場合、複数の大きさの注目ブロックのそれぞれについて、前記注目ブロックに隣接する隣接ブロックの分散の和を演算して前記演算結果を閾値と比較することにより前記ブロックの大きさを決定し、
    前記画像データがインター予測モードのデータである場合、複数の大きさの注目ブロックのそれぞれについて、動きベクトルを検出して前記動きベクトルに基づく予測誤差を演算し、それぞれの大きさのブロックに対応する前記演算結果に基づいて前記ブロックの大きさを決定し、
    決定された前記ブロックの大きさが前記ブロック情報として符号化される
    ことを特徴とする画像符号化方法。
  3. 画像データがイントラ予測モードのデータである場合、複数の大きさの注目ブロックのそれぞれについて、前記注目ブロックに隣接する隣接ブロックの分散の和を演算して前記演算結果を閾値と比較することにより決定され、前記画像データがインター予測モードのデータである場合、複数の大きさの注目ブロックのそれぞれについて、動きベクトルを検出して前記動きベクトルに基づく予測誤差を演算し、それぞれの大きさのブロックに対応する前記演算結果に基づいて決定される大きさのブロックに分割された前記画像データ、および前記分割結果を示すブロック情報とが符号化された符号化データを、少なくとも含む伝送データを復号する画像復号化装置であって、
    前記ブロック情報に基づいて、前記符号化データを復号する復号化手段
    を備えることを特徴とする画像復号化装置。
  4. 画像データがイントラ予測モードのデータである場合、複数の大きさの注目ブロックのそれぞれについて、前記注目ブロックに隣接する隣接ブロックの分散の和を演算して前記演算結果を閾値と比較することにより決定され、前記画像データがインター予測モードのデータである場合、複数の大きさの注目ブロックのそれぞれについて、動きベクトルを検出して前記動きベクトルに基づく予測誤差を演算し、それぞれの大きさのブロックに対応する前記演算結果に基づいて決定される大きさのブロックに分割された前記画像データ、および前記分割結果を示すブロック情報とが符号化された符号化データを、少なくとも含む伝送データを復号する画像復号化方法であって、
    前記ブロック情報に基づいて、前記符号化データを復号する
    ことを特徴とする画像復号化方法。
JP30350095A 1995-10-26 1995-10-26 画像符号化装置および画像符号化方法、画像復号化装置および画像復号化方法、並びに記録媒体 Expired - Lifetime JP3855286B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP30350095A JP3855286B2 (ja) 1995-10-26 1995-10-26 画像符号化装置および画像符号化方法、画像復号化装置および画像復号化方法、並びに記録媒体
US08/733,928 US6125143A (en) 1995-10-26 1996-10-18 Picture encoding device and method thereof, picture decoding device and method thereof, and recording medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP30350095A JP3855286B2 (ja) 1995-10-26 1995-10-26 画像符号化装置および画像符号化方法、画像復号化装置および画像復号化方法、並びに記録媒体

Publications (2)

Publication Number Publication Date
JPH09130801A JPH09130801A (ja) 1997-05-16
JP3855286B2 true JP3855286B2 (ja) 2006-12-06

Family

ID=17921724

Family Applications (1)

Application Number Title Priority Date Filing Date
JP30350095A Expired - Lifetime JP3855286B2 (ja) 1995-10-26 1995-10-26 画像符号化装置および画像符号化方法、画像復号化装置および画像復号化方法、並びに記録媒体

Country Status (2)

Country Link
US (1) US6125143A (ja)
JP (1) JP3855286B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11553183B2 (en) 2012-04-16 2023-01-10 Electronics And Telecommunications Research Institute Method and device for encoding/decoding image

Families Citing this family (47)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3339054B2 (ja) 1997-03-28 2002-10-28 ソニー株式会社 データ符号化方法及び装置、データ復号方法及び装置、並びに記録媒体
JP3213584B2 (ja) 1997-09-19 2001-10-02 シャープ株式会社 画像符号化装置及び画像復号装置
US6549674B1 (en) * 2000-10-12 2003-04-15 Picsurf, Inc. Image compression based on tiled wavelet-like transform using edge and non-edge filters
KR100708091B1 (ko) * 2000-06-13 2007-04-16 삼성전자주식회사 양방향 움직임 벡터를 이용한 프레임 레이트 변환 장치 및그 방법
US6795504B1 (en) * 2000-06-21 2004-09-21 Microsoft Corporation Memory efficient 3-D wavelet transform for video coding without boundary effects
JP3659157B2 (ja) * 2000-10-17 2005-06-15 日本電気株式会社 映像内容に重み付けをする画像圧縮方式
WO2002041636A1 (en) * 2000-11-17 2002-05-23 Koninklijke Philips Electronics N.V. Video coding method using a block matching process
JP3702778B2 (ja) * 2000-11-27 2005-10-05 ソニー株式会社 画像符号化装置及び方法
US6845180B2 (en) * 2001-03-16 2005-01-18 Sharp Laboratories Of America, Inc. Predicting ringing artifacts in digital images
KR100642043B1 (ko) * 2001-09-14 2006-11-03 가부시키가이샤 엔티티 도코모 부호화 방법, 복호 방법, 부호화 장치, 복호 장치, 화상 처리 시스템, 및 저장 매체
CN101448162B (zh) 2001-12-17 2013-01-02 微软公司 处理视频图像的方法
JP3743384B2 (ja) * 2002-04-19 2006-02-08 ソニー株式会社 画像符号化装置及び方法、並びに画像復号装置及び方法
JP2003319391A (ja) 2002-04-26 2003-11-07 Sony Corp 符号化装置および方法、復号装置および方法、記録媒体、並びにプログラム
EP1416735B1 (en) * 2002-10-30 2005-12-28 Visiowave S.A. Method of computing temporal wavelet coefficients of a group of pictures
JP3695451B2 (ja) * 2003-05-28 2005-09-14 セイコーエプソン株式会社 画像サイズの変更方法及装置
NO318973B1 (no) * 2003-07-01 2005-05-30 Tandberg Telecom As Fremgangsmate for stoyreduksjon
US10554985B2 (en) 2003-07-18 2020-02-04 Microsoft Technology Licensing, Llc DC coefficient signaling at small quantization step sizes
US7437007B1 (en) * 2003-10-31 2008-10-14 Hewlett-Packard Development Company, L.P. Region-of-interest editing of a video stream in the compressed domain
KR100999091B1 (ko) * 2003-11-17 2010-12-07 삼성전자주식회사 임의 크기의 가변 블록을 이용한 영상 압축 방법 및 장치
US20060034531A1 (en) * 2004-05-10 2006-02-16 Seiko Epson Corporation Block noise level evaluation method for compressed images and control method of imaging device utilizing the evaluation method
JP2006157730A (ja) * 2004-11-30 2006-06-15 Toshiba Corp 映像データ演算装置
JP4501676B2 (ja) * 2004-12-22 2010-07-14 日本電気株式会社 動画像圧縮符号化方法と動画像圧縮符号化装置並びにプログラム
JP2006191485A (ja) * 2005-01-07 2006-07-20 Ntt Docomo Inc 画像信号変換方法、画像符号化装置、画像符号化方法、画像符号化プログラム、画像復号装置、画像復号方法及び画像復号プログラム
JP4869653B2 (ja) * 2005-08-03 2012-02-08 オリンパス株式会社 画像処理装置
US7894527B2 (en) * 2005-09-16 2011-02-22 Sony Corporation Multi-stage linked process for adaptive motion vector sampling in video compression
EP3220647B1 (en) 2005-09-26 2020-07-01 Mitsubishi Electric Corporation Moving image coding apparatus and moving image coding method
KR100817057B1 (ko) * 2006-08-30 2008-03-26 삼성전자주식회사 동일한 픽셀 데이터 그룹에 포함되는 픽셀 데이터들을메모리의 동일한 뱅크 어드레스로 매핑하는 매핑 방법 및비디오 시스템
US8189676B2 (en) * 2007-04-05 2012-05-29 Hong Kong University Of Science & Technology Advance macro-block entropy coding for advanced video standards
JP2009088933A (ja) * 2007-09-28 2009-04-23 Sanyo Electric Co Ltd 画像記録装置、画像補正装置及び撮像装置
US8503527B2 (en) 2008-10-03 2013-08-06 Qualcomm Incorporated Video coding with large macroblocks
JP4670947B2 (ja) * 2008-12-05 2011-04-13 ソニー株式会社 情報処理装置および方法
JP2010009624A (ja) * 2009-10-07 2010-01-14 Ntt Docomo Inc 画像信号変換方法、画像信号逆変換方法、画像符号化装置、画像復号装置、画像符号化方法、画像復号方法、画像符号化プログラム、及び、画像復号プログラム
CN104661026B (zh) 2009-10-21 2018-03-27 Sk电信有限公司 图像编码和解码装置和方法
JP2011166327A (ja) * 2010-02-05 2011-08-25 Sony Corp 画像処理装置および方法
JP2010154577A (ja) * 2010-04-05 2010-07-08 Ntt Docomo Inc 画像信号変換方法、画像符号化装置、画像符号化方法、画像符号化プログラム、画像復号装置、画像復号方法及び画像復号プログラム
JP5452337B2 (ja) * 2010-04-21 2014-03-26 日本放送協会 画像符号化装置及びプログラム
JP5419795B2 (ja) * 2010-04-30 2014-02-19 日本放送協会 画像符号化装置及びプログラム
TWI413019B (zh) * 2010-12-07 2013-10-21 Novatek Microelectronics Corp 影像調整電路及影像調整方法
US9286643B2 (en) 2011-03-01 2016-03-15 Applaud, Llc Personalized memory compilation for members of a group and collaborative method to build a memory compilation
US9560632B2 (en) * 2011-08-12 2017-01-31 Qualcomm Incorporated Devices for title of invention reduced overhead paging
US9560630B2 (en) 2011-08-12 2017-01-31 Qualcomm Incorporated Devices for reduced overhead paging
JP5943733B2 (ja) 2012-06-20 2016-07-05 キヤノン株式会社 画像符号化装置およびその制御方法ならびにプログラム
JP2014007469A (ja) * 2012-06-21 2014-01-16 Canon Inc 画像符号化装置及び画像符号化方法
US10630990B1 (en) 2018-05-01 2020-04-21 Amazon Technologies, Inc. Encoder output responsive to quality metric information
US10630748B1 (en) * 2018-05-01 2020-04-21 Amazon Technologies, Inc. Video-based encoder alignment
US10958987B1 (en) 2018-05-01 2021-03-23 Amazon Technologies, Inc. Matching based on video data
KR20210113464A (ko) * 2020-03-05 2021-09-16 삼성전자주식회사 이미징 장치 및 이를 포함하는 전자 기기

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5081592A (en) * 1987-08-05 1992-01-14 Tektronix, Inc. Test system for acquiring, calculating and displaying representations of data sequences
US4941193A (en) * 1987-10-02 1990-07-10 Iterated Systems, Inc. Methods and apparatus for image compression by iterated function system
US5065447A (en) * 1989-07-05 1991-11-12 Iterated Systems, Inc. Method and apparatus for processing digital data
US4974187A (en) * 1989-08-02 1990-11-27 Aware, Inc. Modular digital signal processing system
US5014134A (en) * 1989-09-11 1991-05-07 Aware, Inc. Image compression method and apparatus
US5101446A (en) * 1990-05-31 1992-03-31 Aware, Inc. Method and apparatus for coding an image
JPH0813138B2 (ja) * 1990-11-28 1996-02-07 松下電器産業株式会社 画像符号化装置
EP0561593B1 (en) * 1992-03-17 1997-07-16 Sony Corporation Image compression apparatus
US5440345A (en) * 1992-07-17 1995-08-08 Kabushiki Kaisha Toshiba High efficient encoding/decoding system
TW224553B (en) * 1993-03-01 1994-06-01 Sony Co Ltd Method and apparatus for inverse discrete consine transform and coding/decoding of moving picture
GB2281465B (en) * 1993-08-27 1997-06-04 Sony Uk Ltd Image data compression
JP3447771B2 (ja) * 1993-09-02 2003-09-16 富士通株式会社 画像データの符号化方法及び復元方法並びに装置
KR960700609A (ko) * 1993-11-08 1996-01-20 오오가 노리오 동화상 부호화 방법, 동화상 복호화 방법, 동화상 기록 매체 및 동화상 부호화 장치(Animation encoding method, animation decoding method, animation recording medium and animation encoder)
WO1995019683A1 (en) * 1994-01-14 1995-07-20 Houston Advanced Research Center Boundary-spline-wavelet compression for video images
JP3336754B2 (ja) * 1994-08-19 2002-10-21 ソニー株式会社 デジタルビデオ信号の記録方法及び記録装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11553183B2 (en) 2012-04-16 2023-01-10 Electronics And Telecommunications Research Institute Method and device for encoding/decoding image

Also Published As

Publication number Publication date
JPH09130801A (ja) 1997-05-16
US6125143A (en) 2000-09-26

Similar Documents

Publication Publication Date Title
JP3855286B2 (ja) 画像符号化装置および画像符号化方法、画像復号化装置および画像復号化方法、並びに記録媒体
US6167157A (en) Method of reducing quantization noise generated during a decoding process of image data and device for decoding image data
US5907370A (en) Apparatus and method for reducing qauntization error in digital image signals
JP3338639B2 (ja) ディジタル・ビデオ・デコーダおよびディジタル・ビデオ信号をデコードする方法
US6587509B1 (en) Reducing undesirable effects of an emphasis processing operation performed on a moving image by adding a noise signal to a decoded uncompressed signal
JP3092610B2 (ja) 動画像の復号化方法、該方法が記録されたコンピュータ読みとり可能な記録媒体、及び、動画像の復号化装置
US6301304B1 (en) Architecture and method for inverse quantization of discrete cosine transform coefficients in MPEG decoders
US5371549A (en) Decoding method and system for providing digital television receivers with multipicture display by way of zero masking transform coefficients
US7787541B2 (en) Dynamic pre-filter control with subjective noise detector for video compression
US9071844B2 (en) Motion estimation with motion vector penalty
JPH06189281A (ja) 適応的フレーム/フィールドフォーマット圧縮を用いた映像信号符号化装置
JP3911035B2 (ja) 動画像符号化方法及び動画像符号化装置
US5748243A (en) Method for encoding and decoding motion picture as a function of its non-linear characteristic
JP3417443B2 (ja) Bピクチャ用動き予測装置及び方法
KR100945826B1 (ko) 화상 정보 복호 방법 및 장치
JP3980659B2 (ja) 動画像符号化方法及び装置、動画像復号化方法及び装置。
JPH09182085A (ja) 画像符号化装置、画像復号装置、画像符号化方法、画像復号方法、画像伝送方法及び記録媒体
JP2998741B2 (ja) 動画像の符号化方法、該方法が記録されたコンピュータ読みとり可能な記録媒体、及び動画像の符号化装置
JP2000049617A (ja) 符号化高精細ビデオ信号から復号化低解像度ビデオ信号を得るためのシステムの方法
JPH08172628A (ja) 変換符号化された画像データの復号化時に生じる量子化ノイズの低減方法及び変換符号化された画像データの復号化装置
JPH07131793A (ja) 映像信号高能率符号化装置
JP4121567B2 (ja) 動画像符号化方法、動画像復号化方法、動画像符号化装置及び動画像復号化装置
JP4596277B2 (ja) 符号化装置、符号化方法、復号装置及び復号方法
JP3322376B2 (ja) 動画像復号化方法及び動画像復号化装置
JP2001112002A (ja) 画像サイズ変換可能なデジタル動画像復号装置

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060213

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060414

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20060822

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20060904

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

Free format text: PAYMENT UNTIL: 20090922

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20100922

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20110922

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20110922

Year of fee payment: 5

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

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

Free format text: PAYMENT UNTIL: 20110922

Year of fee payment: 5

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

Free format text: PAYMENT UNTIL: 20110922

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20120922

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20130922

Year of fee payment: 7

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term