JP2004007736A - Device and method for decoding image - Google Patents

Device and method for decoding image Download PDF

Info

Publication number
JP2004007736A
JP2004007736A JP2003168385A JP2003168385A JP2004007736A JP 2004007736 A JP2004007736 A JP 2004007736A JP 2003168385 A JP2003168385 A JP 2003168385A JP 2003168385 A JP2003168385 A JP 2003168385A JP 2004007736 A JP2004007736 A JP 2004007736A
Authority
JP
Japan
Prior art keywords
frame
image
decoding
inter
intra
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.)
Pending
Application number
JP2003168385A
Other languages
Japanese (ja)
Inventor
Minoru Eito
栄藤 稔
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP2003168385A priority Critical patent/JP2004007736A/en
Publication of JP2004007736A publication Critical patent/JP2004007736A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide an image decoding device having error resistance property and performing transmission with little delay, and to provide a method for decoding an image. <P>SOLUTION: An image decoding device is provided with an in-frame decoding means and an inter-frame decoding means. The in-frame decoding means applies in-frame decoding to encoded data which is identified as in-frame encoded data, based on identifying information, from a bit stream consisting of image data comprising a plurality of kinds of encoded data, and of the identifying information for obtaining correlation between an in-frame decoded image and an inter-frame decoded image, and also for indicating a reference image determined based on the correlation. The inter-frame decoding means applies inter-frame decoding to the encoded data which is identified as the inter-frame encoded data, based on the identifying information for deeming the encoded data decoded by the in-frame decoding means as reference data, in parallel with the operation of the in-frame decoding means. The device includes: a template storage memory 24; a frame delay memory 23; a Huffman decoder 116; an inverse quantizer 107; an inverse DCT 108; a multiplex movement vector decoder 29; and an adder 109, etc. <P>COPYRIGHT: (C)2004,JPO

Description

【0001】
【発明の属する技術分野】
本発明は、例えばテレビ電話等における動画像データの符号化や復号化のために用いる画像の復号化装置とその方法に関するものである。
【0002】
【従来の技術】
近年、テレビ電話やテレビ会議システムなどにおける動画像データを伝送、あるいは記録するために、画像圧縮の技術は、低ビットレート化に伴い、より以上の高圧縮率を実現する方法が要求されてきている。これらの技術として、ISO/IECにおけるMPEG1/2、ITU−TにおけるH.261、H.263等が標準化されている。
【0003】
図17は、従来の画像符号化装置のブロック図であり、又図18はその符号化装置に対応する画像復号化装置のブロック図であり、ITU−T標準のH.263を実現するものである。
【0004】
図17において、入力画像をフレーム内符号化する場合は、フレーム内・フレーム間符号化切り替えスイッチ11が上側に切り替えられる。入力画像はDCT5により離散コサイン変換された後、量子化器6で量子化されて、更にハフマン符号化器12で可変長符号化され、MUX(マルチプレクサ、多重化部)14で多重化されてビットストリームとして出力される。この時、量子化器6で量子化された信号の一部は逆量子化器7により逆量子化され、更に逆DCT8で逆離散コサイン変換されて加算器9を通じてフレーム遅延メモリ3に参照画像として格納される。この例では、アドバンスド動き補償モード(Advanced Motion Compensation Mode)、すなわち符号化処理の単位は8×8のブロック単位である。
【0005】
一方、入力画像をフレーム間符号化する場合は、フレーム内・フレーム間符号化切り替えスイッチ11が下側に切り替えられる。入力画像は動き予測器1でフレーム遅延メモリ3に格納されている参照画像と比較されて各ブロック毎の動きベクトルが検出され、動きベクトルメモリ2に格納される。動き補償器4は、この動きベクトルに基づいて、各ブロック毎にそのブロックに対応する領域を参照画像中で探索することにより、参照画像から予測画像を生成する。すなわち、参照画像に対して動き補償を行う。このようにして生成された予測画像と入力画像との残差を減算器10で求め、その残差信号をDCT5及び量子化器6を通して符号化し、更にハフマン符号化器12で可変長符号化し、MUX14で多重化してビットストリームとして出力する。この時、量子化された信号は逆量子化器7により逆量子化され、更に逆DCT8で逆離散コサイン変換され、更に加算器9により動き補償器4の出力である予測画像と加算されてフレーム遅延メモリ3に参照画像として格納される。又、動き予測器1で求められた動きベクトルは、動きベクトル符号化器13によって符号化された後、MUX14でハフマン符号化器12の出力である残差信号と多重化されて出力される。
【0006】
次に、図18において、前述の画像符号化装置により符号化されて出力されたビットストリームが画像復号装置に入力されると、DMUX(デマルチプレクサ、分離部)15により画像信号と動きベクトルの各符号化信号に分離される。画像信号はハフマン復号化器16で復号され、更に逆量子化器7、逆DCT8によって復号される。この時、画像信号がフレーム内符号化であれば、フレーム内・フレーム間符号化切り替えスイッチ18は上側に接続され、そのまま出力画像として出力される。又、この出力画像は参照画像としてフレーム遅延メモリ3に格納される。
【0007】
一方、DMUX15で分離された動きベクトルは、動きベクトル復号化器17で復号されて動きベクトルメモリ2に格納される。更に、この動きベクトルに基づいて、動き補償器4でフレーム遅延メモリ3の参照画像から予測画像が生成され、この生成された予測画像は加算器9により逆DCT8から出力された画像信号と加算される。この時に、画像信号がフレーム間符号化信号(つまり、残差信号である)であれば、フレーム内・フレーム間符号化切り替えスイッチ18は下側に接続され、加算された信号が出力画像として出力される。
【0008】
ここで、動き予測器1では、図19(a)に示すように、入力画像を8×8のブロックに分割した各ブロックについて、その対象ブロックと最も相関の強い領域を参照画像中で探索し、その偏位を求めることにより動きベクトルを求める。この時、例えば図19(b)に示すように、あるブロックCの周辺のブロックT,B,L,Rに対応する参照画像中の領域は、ブロックCに対応する領域と一部重なったり、あるいは間隔をおいて離れたりすることが起こる。その結果それらの探索された各領域から予測画像を構成すると、画像に重なりや不連続な部分が生じて画質が劣化する。そこで、このような画質の劣化を防ぐために、対象ブロック周辺の画素を考慮に入れるために、対象ブロックの上下左右のブロックの動きベクトルを用いて予測画像を修正していた。すなわち、図19(b)に示すように、ブロックCの予測値を得るために、そのブロックC及び、上下左右のブロックT,B,L,Rの動きベクトルからそれら5つのブロックに対応する参照画像中の領域をそれぞれ求め、その5つの領域から画素を読み出し、図20に示す各ブロック毎に設定されている係数を乗じて加算し、最後に8で除して正規化する。各ブロックについても同様の処理を行い、それらを用いて予測画像を得る。図17及び図18における動きベクトルメモリ2の出力に示した近傍動きベクトルがそれを表している。
【0009】
上記の方法により、画像に生じる不連続部分が緩和され画質が向上する。又、低いビットレートで、予測誤差(残差)を十分符号化できないときは動きベクトルだけが伝送され予測画像だけが伝送されることになるが、その場合でも、予測画像はオーバーラップして生成されるため、動きが均一な部分ではシャープな画像が得られ、不均一な部分では滑らかな画像が得られる。
【0010】
【発明が解決しようとする課題】
しかしながら、上記のような従来の方法では、対象ブロック周囲の上下左右のブロックの動きベクトルを用いて予測画像を生成するので、同じ参照画像を用いなければ整合が取れず、参照する画像が前フレームに限定される等、拡張性に欠けるという課題がある。
【0011】
また、例えばMPEG1/2では、IBBBPBBPBBP構造により、P画像データはB画像によらず独立して符号化することができる。ところがMPEG1/2では、ビットストリームは多重化されて定義されておらず、シーケンシャルにやってくるため、CPUやDSPで構成した場合、テンプレート(代表フレーム)のビットが巨大である時に所定の時間内にIフレームの復号化が出来ない場合が生じる。
【0012】
図21は、従来の画像復号化装置における復号処理のタイミングを示す図である。図21において、t0,t1はテンプレートを示し、p0,p1,・・・p6は一般フレームを示す。上側の図では、テンプレートt0,t1の復号処理に時間がかからず表示タイミングに間に合っているので、p0から順次フレーム表示されている。一方、下側の図では、テンプレートt1(p4)の復号処理に時間がかかりp4の表示タイミングに間に合わない。このとき、p3,p4の復号処理は当然ながらスキップ出来ないため、フレーム表示タイミングまでバッファにより余裕を設けて、予めp4の復号処理が遅延した場合は、p5,p6の復号処理をスキップして、次のテンプレートの復号処理を行うようにすれば、この問題に対処することが可能である。
【0013】
しかしながら、上記のように単一ビットストリームで伝送する方法では、次のテンプレートのビットストリームがくるまでビットを一々解釈しなければならず、一般フレームの処理をスキップしても処理時間の短縮が十分に行えないという課題がある。
【0014】
本発明は、従来の画像復号化におけるこのような課題を考慮し、エラー耐性、低遅延の画像伝送が行える画像復号化装置とその方法を提供することを目的とするものである。
【0015】
【課題を解決するための手段】
上記の目的を達成するために、第1の本発明は、画像を符号化して生成された複数の符号化済データを含む画像データと、前記フレーム内復号化済画像及びフレーム間復号化済画像との相関を取り、その相関に基いて決定された参照画像を示す識別情報とを含むビットストリームから、前記識別情報に基いてフレーム内符号化済データとして識別された符号化済データをフレーム内復号化するフレーム内復号化手段と、前記フレーム内復号化手段の動作と並行して、前記フレーム内復号化手段により復号化された符号化済データを参照データとして、前記識別情報に基いてフレーム間符号化済データとして識別された符号化済データを、フレーム間復号化するフレーム間復号化手段とを備えた画像復号化装置において、前記フレーム内復号化手段が前記符号化済データの前記フレーム内復号化を終了するまでに、前記フレーム間復号化手段による、前記所定の符号化済データよりも表示順番が前のフレーム内符号化済データを前記参照データとしてフレーム間符号化されたフレーム内符号化済データの前記フレーム間復号化が終了しない場合、
前記フレーム内復号化手段のフレーム内符号化済データの復号化の動作よりも、前記フレーム間復号化手段の前記フレーム間復号化の動作が優先して実行されることを特徴とする画像復号化装置である。
【0016】
また、第2の本発明は、画像を符号化して生成された複数の符号化済データを含む画像データと、前記画像と、フレーム内復号化済画像及びフレーム間復号化済画像との相関を取り、その相関に基いて決定された参照画像を示す識別情報とを含むビットストリームから、前記識別情報に基いてフレーム内符号化済データとして識別された符号化済データをフレーム内復号化するフレーム内復号化ステップと、
前記フレーム内復号化ステップと並行して行われる、前記フレーム内復号化ステップにて復号化された符号化済データを参照データとして、前記識別情報に基いてフレーム間符号化済データとして識別された符号化済データをフレーム間復号化するフレーム間復号化ステップとを備えた画像復号化方法において、
前記符号化済データの前記フレーム内復号化ステップが終了するまでに、前記フレーム間復号化ステップにおいて前記符号化済データよりも表示順番が前のフレーム内符号化済データを前記参照データとしてフレーム間符号化されたフレーム内符号化済データの復号化ステップが終了しない場合、前記フレーム内復号化ステップよりも、前記フレーム間復号化ステップを優先して行うことを特徴とする画像復号化方法である。
【0017】
【発明の実施の形態】
以下に、本発明をその実施の形態を示す図面に基づいて説明する。
(実施の形態1)
図1は、本発明にかかる第1の実施の形態の画像符号化装置の構成を示すブロック図であり、又、図2は、その画像符号化装置に対応する画像復号化装置の構成を示すブロック図である。すなわち、その画像符号化装置には、参照画像を格納するフレーム遅延メモリ23、その参照画像と入力画像に基づいて動きベクトルを検出する動き検出手段としての動き予測器21a、その動きベクトルに基づき、参照画像から予測画像を生成する重み付き動き補償器22aが設けられ、又、参照画像としてテンプレート(代表フレーム)を格納するテンプレート格納メモリ24、そのテンプレート(フレーム遅延メモリ23の参照画像とは異なる参照画像)と入力画像に基づいて動きベクトルを検出する動き検出手段としての動き予測器21b、その動きベクトルに基づき、参照画像から予測画像を生成する重み付き動き補償器22bが設けられている。
【0018】
また、動き予測器21a及び21bで検出された動きベクトルを利用して、それら参照画像と入力画像との各相関度合を比較する相関比較器26、その比較の結果、相関の高い方の参照画像の重み付き動き補償器を選択する切り換え手段としての参照画像切り替えスイッチ27、その参照画像切り替えスイッチ27を介して出力された予測画像を格納する予測画像メモリ25、その予測画像メモリ25の予測画像と入力画像との残差を取る減算器10が設けられている。
【0019】
また、入力画像がフレーム内符号化かフレーム間符号化かにより切り替えられるフレーム内・フレーム間符号化切り替えスイッチ11、そのフレーム内・フレーム間符号化切り替えスイッチ11からの画像信号を離散コサイン変換するDCT5、その離散コサイン変換された信号を量子化する量子化器6、その量子化された信号を可変長符号化するハフマン符号化器12が設けられ、更に、相関比較器26の出力、すなわち切換情報としての切り替え制御ビットと、動き予測器21a及び21bからの動きベクトルのうち、切り替え制御ビットにより選択された方の動きベクトルとを多重化して符号化する多重動きベクトル符号化器28、その多重動きベクトル符号化器28の出力とハフマン符号化器12の出力とを多重化してビットストリームとして出力するMUX14が設けられている。
【0020】
更に、量子化器6の出力を逆量子化する逆量子化器7、その逆量子化された信号を逆離散コサイン変換する逆DCT8、その逆離散コサイン変換された信号と予測画像メモリ25に格納された予測画像とを加算して次の入力画像に対する参照画像を生成する加算器9、テンプレート格納メモリ24の参照画像を更新するためのテンプレート更新スイッチ19が設けられている。
【0021】
ここで、減算器10、DCT5及び量子化器6等が符号化手段を構成し、逆量子化器7、逆DCT8及び加算器9等が復号化手段を構成している。
【0022】
一方、図2の画像復号装置には、図1の画像符号化装置から出力されたビットストリームを入力し、画像信号(通常は残差信号)と多重動きベクトルに分離するDMUX15、その分離された画像信号を復号するハフマン復号化器16、その復号された信号を逆量子化する逆量子化器7、その逆量子化された信号を逆離散コサイン変換する逆DCT8が設けられ、又、DMUX15で分離された多重動きベクトルを復号化し、動きベクトルと切り替え制御ビットに分離する多重動きベクトル復号化器29、その分離された動きベクトルに基づいて、参照画像から予測画像を生成する重み付き動き補償器22c、その生成された予測画像を格納する予測画像メモリ25が設けられている。
【0023】
また、予測画像メモリ25の予測画像と逆DCT8の出力とを加算して出力画像を生成する加算器9、出力画像がフレーム内符号化かフレーム間符号化かにより切り替えられるフレーム内・フレーム間符号化切り替えスイッチ18、出力画像を参照画像として格納するフレーム遅延メモリ23、出力画像のうちテンプレートを参照画像として格納するテンプレート格納メモリ24が設けられ、更に、テンプレート格納メモリ24の参照画像を更新するためのテンプレート更新スイッチ19、参照画像を切り替え制御ビットによりフレーム遅延メモリ23とテンプレート格納メモリ24とで切り換える参照画像切り替えスイッチ27が設けられている。
【0024】
ここで、ハフマン復号化器16、逆量子化器7、逆DCT8及び多重動きベクトル復号化器30等が復号化手段を構成し、加算器9等が画像生成手段を構成している。又ここでは、動きベクトルの検出を16×16のブロック単位、いわゆるマクロブロック単位で行っている。尚、請求項に言うブロックとは、所定サイズのブロックであり、8×8のブロックは勿論のこと、このマクロブロックも含んでおり、更にはそれ以外のサイズのブロックであっても良い。
【0025】
次に、上記第1の実施の形態の画像符号化及び復号化装置の動作について、図面を参照しながら説明する。
【0026】
まず、一般フレームと代表フレーム(テンプレート)との対応について説明する。図3は一般フレームとテンプレートとの対応関係を示している。図3において、p0からp6は一般フレームを示し、t0,t1はテンプレートを示している。テンプレートt0は一般フレームp0からコピーされて作成され、一般フレームp2,p3は、そのテンプレートt0を参照して作成される。また、テンプレートt1は一般フレームp4からコピーされて作成され、一般フレームp6は、そのテンプレートt1を参照して作成される。この一般フレームはフレーム遅延メモリ23に格納され、テンプレートはテンプレート更新時にテンプレート格納メモリ24に格納される。
【0027】
いま既に、フレーム遅延メモリ23には前フレームが参照画像として格納され、テンプレート格納メモリ24にはテンプレートが参照画像として格納されているとする。ここで入力画像がやってくると、動き予測器21aは、その入力画像とフレーム遅延メモリ23の参照画像から16×16のマクロブロック単位で動きベクトルを検出し、その検出結果を重み付き動き補償器22a、相関比較器26及び多重動きベクトル符号化器28に出力する。同様に、動き予測器21bは、入力画像とテンプレート格納メモリ24の参照画像からマクロブロック単位で動きベクトルを検出し、その検出結果を重み付き動き補償器22b、相関比較器26及び多重動きベクトル符号化器28に出力する。
【0028】
次に、重み付き動き補償器22aは、上記で検出した動きベクトルに基づいて、その対象とするマクロブロック毎に、最も相関の高い領域を参照画像中から探索し、その探索した領域の周囲を含めた24×24画素の、マクロブロックよりも広い領域を抽出し、更にその抽出した広い領域の画素に対して図5に示すような重み係数を掛けて、抽出した領域の画素を得る。同様に、重み付き動き補償器22bは、テンプレートを参照画像として24×24画素の領域の画素を得る。ここで、図5の左側の重み係数は輝度信号に対するものであり、右側の重み係数は色差信号に対するものである。
【0029】
一方、相関比較器26は、動き予測器21a,21bの各出力を比較してどちらの参照画像と入力画像とがより相関が高いかを判定し、その結果に応じて参照画像切り替えスイッチ27を切り替えて、どちらの重み付き動き補償器の出力を予測画像メモリ25に接続するか選択する。この時、比較結果は切り替え制御ビットとして多重動きベクトル符号化器28にも出力される。その結果重み付き動き補償器22aが選択されたとすると、図4に示すように、予測画像メモリ25には、フレーム遅延メモリ23に格納された前フレームから、重み付けされた広い領域(円で示す、点線の正方形がマクロブロックを示す)の画素が入力される。その後、相関比較器26で入力画像とテンプレートとの相関が高いと判定され、重み付き動き補償器22bが選択されると、図4に示すように、テンプレートから重み付けされた領域の画素が入力される。このようにして、全マクロブロックに対して処理が行われ、重ね合わされた画素を更に8で除して正規化することにより予測画像メモリ25には、予測画像が生成される。この正規化は、具体的には予測画像メモリ25からデータを3ビットシフトして読み出すことにより行われるため、特別なハードウェアは必要でない。このように、1つの予測画像について、対象ブロックの周囲の動きベクトルを用いる必要がないため、各ブロック毎に異なる参照画像を用いることが可能であり、参照画像が隣同士で異なっていても抽出した領域の重なる部分(この例では各4画素)の画素に対して重み付けできる。
【0030】
この場合、動きベクトルの大きい動領域部分は、時間的に近い前フレームの領域から、動きベクトルの小さい静止画部分は、解像度の高いテンプレートから予測画像を生成することにより、ブロック境界を滑らかに連結して生成することが可能となる。
【0031】
又、参照画像を背景画像と前フレームとして予測画像を生成することにより、背景部分と前の動物体との間で見え隠れする背景部分を滑らかに予測することができる。
【0032】
又、参照画像を前後のフレームとした場合は、MPEG1/2で行われているBフレーム構造に適用できる。
(実施の形態2)
図6及び図7は、本発明にかかる第2の実施の形態の画像符号化装置の構成を示すブロック図である。また、図8は、その画像符号化装置に対応する画像復号化装置の構成を示すブロック図である。本実施の形態が前述の第1の実施の形態と大きく異なる点は、一般フレームとテンプレートとを別々に処理し、データをパケット化して別々のビットストリームとする点であり、更に、一般フレームには誤り検出符号を付加し、テンプレートには誤り訂正符号を付加している点である。
【0033】
図6において、その画像符号化装置には、図1の画像符号化装置に、更に一般フレームかテンプレートかで入力画像を切り替える入力切り替えスイッチ30、一般フレーム用の出力バッファ31、一般フレームのデータに誤り検出符号を付加し、パケット化を行うための誤り検出符号付パケット化器32、一般フレームのパケットデータとテンプレートのパケットデータとを多重化して出力するMUX33が付加されている。尚、図1のテンプレート更新スイッチ19は除去されている。
【0034】
また図7において、入力画像がテンプレートの場合に、それを符号化処理する部分であり、フレーム内・フレーム間符号化切り替えスイッチ41、画像信号を離散コサイン変換するDCT43、その離散コサイン変換された信号を量子化する量子化器44、その量子化された信号を可変長符号化するハフマン符号化器48、テンプレートを参照画像として格納するテンプレート格納メモリ24が設けられ、又、入力画像とテンプレート格納メモリ24に格納されたテンプレートにより動きベクトルを検出する動き予測器21c、その検出した動きベクトルに基づいて、テンプレートから予測画像を生成する動き補償器4、その予測画像と入力画像との残差を取る減算器42、量子化器44の出力を逆量子化する逆量子化器45、その逆量子化された信号を逆離散コサイン変換する逆DCT46、その逆コサイン変換された信号と予測画像とを加算する加算器47が設けられている。更に、動き予測器21cで検出した動きベクトルを符号化する動きベクトル符号化器49、その符号化された動きベクトルと可変長符号化された信号を多重化するMUX50、テンプレート用の出力バッファ51、テンプレートのデータに誤り訂正符号を付加し、パケット化を行うための誤り訂正符号付パケット化器52が設けられている。
【0035】
一方、図8において、その画像復号化装置には、上記画像符号化装置からのビットストリームを入力し、一般フレームのパケットとテンプレートのパケットに分離するDMUX60が設けられ、その一般フレームのパケットの処理に対しては、一般フレームのパケットを分解する誤り検出付パケット分解器62、一般フレーム用の入力バッファ61、図2とほぼ同様の画像復号化装置が設けられている。
【0036】
また、テンプレートのパケットの処理に対しては、テンプレートのパケットを分解する誤り訂正付パケット分解器63、テンプレート用の入力バッファ64、入力バッファ64からの信号を画像信号と動きベクトルに分離するDMUX115、その分離された画像信号を復号するハフマン復号化器116及び逆量子化器107及び逆DCT108、テンプレートを参照画像として格納するテンプレート格納メモリ24、動きベクトルを復号する動きベクトル復号化器17、その復号された動きベクトルを格納する動きベクトルメモリ2、その動きベクトルに基づいて、テンプレート格納メモリ24のテンプレートから予測画像を生成する動き補償器4、その生成された予測画像と逆DCT108の出力とを加算する加算器109、フレーム内・フレーム間符号化切り替えスイッチ118が設けられている。ここでは、このテンプレートの復号処理は、従来と同様の方法で行っている。
【0037】
更に、多重動きベクトル復号化器29から出力される切り替え制御ビットにより、参照画像としてフレーム遅延メモリ23の一般フレームとテンプレートを切り替える参照画像切り替えスイッチ65、及び誤り検出付パケット分解器62で一般フレームにエラーが検出された場合に、出力画像を一般フレームからテンプレートに切り替える出力画像切り替えスイッチ66が設けられている。
【0038】
次に上記第2の実施の形態の画像符号化及び復号化装置の動作について、図面を参照しながら説明する。
【0039】
まず、本実施の形態では、図9に示すように、一般フレームp0からp6と、p0、p4と同一のテンプレートt0、t1とを別々のビットストリームとして処理する。又、データをパケット化するが、パケットの構成は図11に示すように、先頭にテンプレートか一般フレームかを識別するための識別子を設け、次に再生タイミングを示すフレーム番号を設ける。次に、テンプレートでは、データ及びリードソロモン誤り訂正符号を設け、一般フレームでは、この一般フレームが参照するテンプレートのフレーム番号及びCRC誤り検出符号を設ける。ここで、テンプレートのみに誤り訂正符号を付け、一般フレームには誤り検出符号を付けているのは、誤り訂正符号のデータ量は誤り検出符号のデータ量よりも多いためである。
【0040】
図6において、入力画像が一般フレームの場合は、入力切り替えスイッチ30を上側に接続し、一般フレームに対して前述の第1の実施の形態と同様の符号化処理を行う。この時、量子化器6は出力バッファ31,51からの信号により制御を受ける。ここで、出力バッファは、FIFOバッファであり、メモリ領域に対して書き込み先アドレスと読み出し先アドレスを巡回させるリングバッファとして実現される。バッファ余裕量は書き込み先アドレスと読み出し先アドレスの間の差として表現され、書き込み先アドレスが読み出し先アドレスを越えるとバッファはオーバーフローし(アドレスは巡回して動くため、単純なアドレスの大小ではない)、伝送画像情報の一部が欠落することになる。これを避けるためには、バッファ余裕量に応じて量子化ステップを変更すればよく、従って、出力バッファ31,51のバッファ余裕量により量子化器6,44を制御すれば良い。この処理はレート制御と呼ばれる。ハフマン符号化器12により可変長符号化された画像データと多重動きベクトル符号化器28により多重符号化された動きベクトル及び切り替え制御ビットは、MUX14で多重化された後、出力バッファ31に出力され、誤り検出符号付パケット化器32で、前述した図11に示すようなCRC誤り検出符号が付加されたパケットに作成される。
【0041】
一方、入力画像がテンプレートの場合は、入力切り替えスイッチ30が下側に接続され、図7に示すテンプレート用の符号化部で符号化処理される。この符号化部は、ここでは、従来の一般的な画像符号化装置と同様の符号化処理を行う。すなわち、テンプレートがフレーム内符号化の時は、フレーム内・フレーム間符号化切り替えスイッチ41が上側に接続され、DCT43、量子化器44、ハフマン符号化器48により符号化される。テンプレートがフレーム間符号化の時は、フレーム内・フレーム間符号化切り替えスイッチ41が下側に接続され、動き予測器21cで、入力されたテンプレートとテンプレート格納メモリ24の参照画像から動きベクトルを検出し、その検出した動きベクトルに基づいて、動き補償器4が、参照画像から予測画像を生成し、その予測画像と入力されたテンプレートとの残差を減算器42で取り、その残差信号をDCT43、量子化器44、ハフマン符号化器48により符号化する。又、検出された動きベクトルは動きベクトル符号化器49により符号化される。
【0042】
次に、ハフマン符号化器48により可変長符号化されたテンプレートの画像データと動きベクトル符号化器49により符号化された動きベクトルは、MUX50で多重化された後、出力バッファ51に出力され、誤り訂正符号付パケット化器52で、前述した図11に示すようなリードソロモン誤り訂正符号が付加されたパケットに作成される。
【0043】
以上のようにして別々のビットストリームとして作成された一般フレームの誤り検出符号付パケットとテンプレートの誤り訂正符号付パケットは、MUX33により時分割多重化されたビットストリームとして出力される。
【0044】
次に、図8において、上記画像符号化装置からのビットストリームがDMUX60に入力され、一般フレームのパケットとテンプレートのパケットに分離される。この分離は、パケットの先頭に付けられた識別子により簡単に行うことができる。分離された一般フレームのパケットは、誤り検出付パケット分解器62によって、パケットが分解されるとともに、誤り検出符号が解釈される。パケット分解後、入力バッファ61に出力されて前述の第1の実施の形態と同様の復号処理が行われる。又、テンプレートのパケットは、誤り訂正付パケット分解器63によって、パケットが分解されるとともに、誤り訂正符号が解釈される。パケット分解後、入力バッファ64に出力される。その後、DMUX115により画像信号と動きベクトルに分離され、画像信号はハフマン復号化器116、逆量子化器107、逆DCT108、加算器109により復号され、又、動きベクトルはテンプレート格納メモリ24に格納された参照画像から予測画像を生成するために動きベクトルメモリ2を介して動き補償器4に入力される。
【0045】
ここで、復号化はテンプレートの処理を優先して行う。例えば図10に示すように、テンプレートが4フレーム毎に符号化される場合、テンプレートt1の復号化処理をテンプレートt0を参照する一般フレームp2やp3等より優先して行う(上側の図参照)。この時に下側の図に示すように、テンプレートt1の処理に時間がかかり一般フレームp3を復号化してもp3の表示が間に合わない場合は、p3の復号化処理を途中で取りやめる。これにより一般フレームp4の表示タイミングまでにt1の復号処理を終了することが可能となる。
【0046】
更に、本実施の形態では、一般フレームに対して誤り検出付パケット分解器62で伝送エラーなどの誤りが検出された場合は、その一般フレームのデータを廃棄する。すなわち、図8の誤り検出付パケット分解器62から出力画像切り替えスイッチ66に対する制御信号が出力され、出力画像がテンプレートに切り替えられる。一方、テンプレートは伝送エラー等が生じてもパケットに付加された誤り訂正符号によりデータが誤り訂正される。誤りが生じて一般フレームが廃棄された場合は、テンプレートが一般フレームの代替フレームとして強制的に出力される。これによって、伝送路等にエラーがある場合でもテンプレートによる最低限の画質を維持することができ、伝送路等のエラーに対して耐性を持たせることが可能となる。
【0047】
なお、上記実施の形態では、誤り訂正符号をリードソロモン誤り訂正符号、又、誤り検出符号をCRC誤り検出符号としたが、これに限らず、それ以外の誤り訂正符号、誤り検出符号であっても勿論よい。
(実施の形態3)
図12は、本発明にかかる第3の実施の形態における処理画像とテンプレートの対応を示す模式図である。本実施の形態は、前述の第2の実施の形態を拡張したものであり、図12に示すように、一般フレームp0からp6が1つのテンプレートt0を参照するようなテンプレートが一般フレームより大きなパノラマ画像等の場合、あるいは参照ブロックが参照画像中に予め特定できる場合に適用することを目的としている。図13は、図12に示す画像における処理タイミングを示す図であり、テンプレートt0の復号処理中に一般フレームがp0から順次復号処理が行われ、フレーム表示されていく様子を示している。
【0048】
これを実現するために、例えば、一般フレームのパケットの先頭部に、参照するテンプレートの部分領域を含む左上マクロブロック位置と右下マクロブロック位置(図14参照)を付加する。テンプレートのデコードに必要な部分画像が予めデコードされるように、テンプレートのパケットにも全体画像に対して伝送する部分画像の占める左上マクロブロック位置と右下マクロブロック位置を付加する。テンプレート画像をどのような部分画像に分解するかは符号化側に任されている。テンプレートの符号化、復号化は分解された部分画像について独立に行われ、全画面のマクロブロックの縦横数が既知であるとすると、テンプレート復号はフレーム番号とマクロブロックの左上、右下の情報により一意に再構成することができる。正しいタイミングでテンプレート中の参照領域が作られるかどうかも符号化側のビットストリーム作成に依存しているが、復号化側で、一般フレームの再生が可能であるかどうかは、一般フレームのパケットにある参照先テンプレートのフレーム番号、参照マクロブロック範囲により、パケットの先頭データより判定することができる。
【0049】
図15は、本発明にかかる第4の実施の形態の画像符号化装置の構成を示すブロック図である。また、図16は、その画像符号化装置に対応する画像復号化装置の構成を示すブロック図である。本実施の形態における画像符号化装置は、従来例の画像符号化装置に、量子化のために用いる量子化ステップをブロック毎に変更するためのオフセット値を画像に対応するように配置したオフセットマップ73と、そのオフセットマップ73のデータを可変長符号化するDPCMハフマン符号化器74を付加している。ここで、DPCMハフマン符号化器74の動作はH.261の動きベクトルの各方向成分の可変長符号が利用できる。又、量子化器70及び逆量子化器71は、そのオフセットマップ73に応じて量子化及び逆量子化を行い、MUX72は、ハフマン符号化器12、DPCMハフマン符号化器74、動きベクトル符号化器13の各出力信号を多重化してビットストリームを伝送すべき生成する。
【0050】
一方、本実施の形態における画像復号化装置は、DMUX80が上記の符号化装置から入力されたビットストリームを、画像データ、動きベクトル、オフセットマップのデータに分離するものであり、前述した従来例の画像復号化装置に、DMUX80で分離されたオフセットマップのデータを復号化するDPCMハフマン復号化器81と、その出力のオフセットマップ値を格納するオフセットマップ82を付加している。ここで、逆量子化器83は、そのオフセットマップ82に応じて量子化ステップを変更して逆量子化を行う。
【0051】
ここで、例えばテレビ電話などの画像のように、周辺部のほとんど動きがなく重要でない背景領域は荒い画像を送り、中央部の人の顔の表情変化等の細かい動きが必要な領域は細かい画像を送りたい場合に、画像の中央部の量子化を細かくする必要がある。これを一般の量子化ステップに対して中央部は−2〜−3、周辺部は+2〜+3のオフセット値を加えることにより行う。量子化ステップをマクロブロック毎に送り、オフセットマップのデータを画像毎に送る。このオフセットは、H.263の改造として、ピクチャーヘッダーのPQUANTの後に、例えば、LQOM(ロード量子化ステップオフセットマップ)と名付ける制御情報1ビットを付加し、その制御情報を用いて、例えばIピクチャーでリセットし、P、Bピクチャー等それ以外では、0の場合は、前のオフセットマップをそのまま引き継ぐ。ここで、オフセットのデフォルトは全て0である(オフセットなし)。
【0052】
なお、上記実施の形態では、いずれもブロックの所定のサイズを16×16とし、そのブロックのサイズより広い所定のサイズを24×24としたが、これに限らず、ブロックのサイズは前述したように、それ以外のサイズでも良く、又、広い所定のサイズもブロックのサイズより広ければどんなサイズでも良い。
【0053】
また、上記実施の形態において、動き予測器等、専用のハードウェアにより構成した手段については、可能であれば、これに代えて、同様の機能をコンピュータを用いてソフトウェア的に実現しても良い。
【0054】
なお、上記の実施の形態における本発明者による他の発明は、参照画像及び入力された画像から、所定サイズのブロック毎に動きベクトルを検出する動き検出手段と、その検出された動きベクトルに基づき、入力画像の各ブロックに対応するエリアを含む所定サイズよりも広い所定サイズのエリアを参照画像から抽出し、その広いエリアの各画素にそれぞれ予め設定された重み付けを行い、広いエリアの重み付けされた各画素を用いて、入力画像の予測画像を生成する重み付き動き補償手段と、その予測画像を格納する予測画像メモリと、その格納された予測画像と入力画像との残差をとり、その残差を符号化する符号化手段と、その符号化された画像データを復号して参照画像を得る復号化手段とを備えた画像符号化装置を含む。
【0055】
また、発明は、画像符号化装置から入力された符号化データを復号する復号化手段と、参照画像を格納するフレームメモリと、復号化手段により復号された動きベクトルに基づき、予測画像の各ブロックに対応するエリアを含む所定サイズよりも広い所定サイズのエリアをフレームメモリに格納されている参照画像から抽出し、その広いエリアの各画素にそれぞれ予め設定された重み付けを行い、広いエリアの重み付けされた各画素を用いて、予測画像を生成する重み付き動き補償手段と、その予測画像と復号化手段により復号された残差信号とに基づいて出力画像を生成する画像生成手段とを備えた画像復号化装置を含む。
【0056】
上記により、参照画像が前フレームに限定されず、例えば、予測画像を生成するのに異なる参照画像を用いることが可能である。
【0057】
また、発明は、画像データを、代表となる代表フレームとその代表フレーム以外の一般フレームとに分け、代表フレーム及び一般フレームを、それらを識別するフレーム識別情報を付加して別々のビットストリームとして多重化し、伝送する画像符号化方法を含む。
【0058】
また発明は、画像符号化装置から入力された符号化データからフレーム識別情報を検出し、その検出したフレーム識別情報に応じて、入力された符号化データを、代表フレーム及び一般フレームの画像データに分離し、その代表フレームから優先して復号し、その復号処理中に既に復号処理の終わった代表フレームを参照する一般フレームの復号処理が重なる場合は、その一般フレームの復号処理を取りやめる画像復号化方法を含む。
【0059】
上記により、代表フレームの復号処理に時間がかかっても一般フレームの復号処理を簡単にスキップすることが可能となる。
【0060】
また発明は、画像符号化装置から入力された符号化データの代表フレームから誤り訂正符号を抽出し、データに誤りが生じた場合はその代表フレームに対する訂正符号化を行い、入力された符号化データの一般フレームから誤り検出符号を抽出し、データに誤りが生じた場合はその一般フレームを廃棄し、その廃棄したフレームを代表フレームで代替する画像復号化方法を含む。
【0061】
上記により、例えば伝送路のエラーに対して、代表フレーム用いて最低限の画質を維持することができる。
【0062】
また発明は、伝送する画像の量子化のための量子化ステップを各ブロックで変更するために、量子化ステップのオフセット値が各画像毎に設定されたオフセットマップと、そのオフセットマップのデータを画像データの先頭に付加するオフセット付加手段とを備えた画像符号化装置を含む。
【0063】
また発明は、画像符号化装置から入力された符号化データからオフセットマップを抽出するオフセット抽出手段と、その抽出されたオフセット値に基づいて、各画像における量子化ステップを変更し、その変更した量子化ステップにより入力された符号化データを逆量子化して復号する復号化手段とを備えた画像復号化装置を含む。
【0064】
上記により、各ブロックにおける量子化ステップをオフセットマップのオフセット値に応じて容易に変更できる。
【0065】
以上のような他の発明は、例えば、参照する画像が限定されず拡張性があるオーバーラップ動き補償の効果を得ることができるという長所を有する。
【0066】
また、CPU、DSPにより不定(可変)処理時間となる画像の復号化においても、ビットストリーム解釈が間に合わないことによる画像再生の破綻を免れることができるという利点がある。
【0067】
また、代表フレームを別ビットストリームとすることによりエラー耐性、低遅延の画像伝送が行えるという利点がある。
【0068】
【発明の効果】
以上述べたところから明らかなように本発明は、エラー耐性、低遅延の画像伝送が行えるという利点がある。
【図面の簡単な説明】
【図1】本発明にかかる第1の実施の形態の画像符号化装置の構成を示すブロック図である。
【図2】上記図1の画像符号化装置に対応する画像復号化装置の構成を示すブロック図である。
【図3】同第1の実施の形態における処理画像とテンプレートの対応を示す模式図である。
【図4】同第1の実施の形態における予測画像と参照画像との関係を説明する模式図である。
【図5】同第1の実施の形態における重み係数の一例を示す図である。
【図6】本発明にかかる第2の実施の形態の画像符号化装置の構成の一部を示すブロック図である。
【図7】図6につながる画像符号化装置の構成の残りの一部を示すブロック図である。
【図8】上記第2の実施の形態の画像符号化装置に対応する画像復号化装置の構成を示すブロック図である。
【図9】同第2の実施の形態における処理画像とテンプレートの対応を示す模式図である。
【図10】上記第2の実施の形態の画像復号化装置における多重ビットストリームの復号処理タイミングを説明する図である。
【図11】上記第2の実施の形態におけるパケットの構成を示す図である。
【図12】本発明にかかる第3の実施の形態における処理画像とテンプレートの対応を示す模式図である。
【図13】上記第3の実施の形態の画像復号化装置における復号処理タイミングを説明する図である。
【図14】上記第3の実施の形態における参照領域を説明する図である。
【図15】本発明にかかる第4の実施の形態の画像符号化装置の構成を示すブロック図である。
【図16】上記図15の画像符号化装置に対応する画像復号化装置の構成を示すブロック図である。
【図17】従来の画像符号化装置の構成を示すブロック図である。
【図18】上記図17の画像符号化装置に対応する画像復号化装置の構成を示すブロック図である。
【図19】同図(a)は、従来の画像符号化装置における動きベクトルの求め方を説明する図、同図(b)は、予測画像の求め方を説明する図である。
【図20】従来の画像符号化装置における予測画像の求め方を説明する図である。
【図21】従来の画像復号化装置における単一ビットストリームの復号処理タイミングを説明する図である。
【符号の説明】
1    動き予測器
3、23 フレーム遅延メモリ
4    動き補償器
5    DCT
6    量子化器
7    逆量子化器
8    逆DCT
21a、21b 動き予測器
22a、22b、22c 重み付き動き補償器
24    テンプレート格納メモリ
26    相関比較器
32    誤り検出符号付パケット化器
52    誤り訂正符号付パケット化器
62    誤り検出付パケット分解器
63    誤り訂正付パケット分解器
73、82 オフセットマップ
74    DPCMハフマン符号化器
81    DPCMハフマン復号化器
[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to an image decoding apparatus and method for encoding and decoding moving image data in, for example, a videophone.
[0002]
[Prior art]
In recent years, in order to transmit or record moving image data in videophones, video conference systems, and the like, image compression techniques have been required to achieve higher compression ratios with lower bit rates. I have. These technologies include MPEG1 / 2 in ISO / IEC and H.264 in ITU-T. 261, H .; 263 etc. are standardized.
[0003]
FIG. 17 is a block diagram of a conventional image encoding apparatus, and FIG. 18 is a block diagram of an image decoding apparatus corresponding to the encoding apparatus. 263 is realized.
[0004]
In FIG. 17, when an input image is intra-frame encoded, the intra-frame / inter-frame encoding changeover switch 11 is switched upward. The input image is subjected to a discrete cosine transform by the DCT 5, quantized by the quantizer 6, further variable-length coded by the Huffman coder 12, multiplexed by the MUX (multiplexer, multiplexing unit) 14, and Output as a stream. At this time, a part of the signal quantized by the quantizer 6 is inversely quantized by the inverse quantizer 7, further subjected to inverse discrete cosine transform by the inverse DCT 8, and transmitted to the frame delay memory 3 through the adder 9 as a reference image. Is stored. In this example, the Advanced Motion Compensation Mode, that is, the unit of the encoding process is an 8 × 8 block unit.
[0005]
On the other hand, when the input image is inter-frame encoded, the intra-frame / inter-frame encoding switch 11 is switched to the lower side. The input image is compared with a reference image stored in a frame delay memory 3 by a motion estimator 1 to detect a motion vector for each block, and stored in a motion vector memory 2. The motion compensator 4 generates a predicted image from the reference image by searching for an area corresponding to the block in the reference image for each block based on the motion vector. That is, motion compensation is performed on the reference image. The residual between the prediction image thus generated and the input image is obtained by the subtractor 10, the residual signal is encoded through the DCT 5 and the quantizer 6, and further variable-length encoded by the Huffman encoder 12. The data is multiplexed by the MUX 14 and output as a bit stream. At this time, the quantized signal is inversely quantized by the inverse quantizer 7, further subjected to inverse discrete cosine transform by the inverse DCT 8, further added to the predicted image output from the motion compensator 4 by the adder 9, and It is stored in the delay memory 3 as a reference image. The motion vector obtained by the motion estimator 1 is encoded by the motion vector encoder 13 and then multiplexed by the MUX 14 with the residual signal output from the Huffman encoder 12 and output.
[0006]
Next, in FIG. 18, when the bit stream encoded and output by the above-described image encoding device is input to the image decoding device, the DMUX (demultiplexer, separation unit) 15 outputs each of the image signal and the motion vector. It is separated into encoded signals. The image signal is decoded by a Huffman decoder 16 and further decoded by an inverse quantizer 7 and an inverse DCT 8. At this time, if the image signal is intra-frame encoding, the intra-frame / inter-frame encoding changeover switch 18 is connected to the upper side, and is output as it is as an output image. This output image is stored in the frame delay memory 3 as a reference image.
[0007]
On the other hand, the motion vector separated by the DMUX 15 is decoded by the motion vector decoder 17 and stored in the motion vector memory 2. Further, a predicted image is generated from the reference image of the frame delay memory 3 by the motion compensator 4 based on the motion vector, and the generated predicted image is added by the adder 9 to the image signal output from the inverse DCT 8. You. At this time, if the image signal is an inter-frame coded signal (that is, a residual signal), the intra-frame / inter-frame coding changeover switch 18 is connected to the lower side, and the added signal is output as an output image. Is done.
[0008]
Here, as shown in FIG. 19A, the motion estimator 1 searches the reference image for a region having the strongest correlation with the target block for each of the blocks obtained by dividing the input image into 8 × 8 blocks. , The motion vector is obtained by obtaining the deviation. At this time, for example, as shown in FIG. 19B, the area in the reference image corresponding to blocks T, B, L, and R around a certain block C partially overlaps with the area corresponding to block C, Or they may be separated at intervals. As a result, when a predicted image is formed from each of the searched areas, the image is degraded due to overlapping or discontinuous portions. Therefore, in order to prevent such deterioration in image quality, in order to take into account pixels around the target block, the prediction image is corrected using the motion vectors of the upper, lower, left, and right blocks of the target block. That is, as shown in FIG. 19B, in order to obtain the predicted value of the block C, the reference values corresponding to the five blocks are obtained from the motion vector of the block C and the upper, lower, left, and right blocks T, B, L, R. Each area in the image is obtained, pixels are read from the five areas, multiplied by a coefficient set for each block shown in FIG. 20, added, and finally divided by 8 for normalization. Similar processing is performed for each block, and a predicted image is obtained using the same. The neighborhood motion vector shown in the output of the motion vector memory 2 in FIGS. 17 and 18 indicates this.
[0009]
According to the above method, discontinuous portions occurring in an image are alleviated and the image quality is improved. Also, when the prediction error (residual) cannot be coded sufficiently at a low bit rate, only the motion vector is transmitted and only the predicted image is transmitted. Therefore, a sharp image is obtained in a portion where the motion is uniform, and a smooth image is obtained in a portion where the motion is uneven.
[0010]
[Problems to be solved by the invention]
However, in the conventional method as described above, since a predicted image is generated using the motion vectors of the upper, lower, left, and right blocks around the target block, matching cannot be achieved unless the same reference image is used, and the image to be referred to is the previous frame. However, there is a problem of lack of expandability.
[0011]
Further, for example, in MPEG1 / 2, the P image data can be encoded independently of the B image by the IBBBPBBPBBP structure. However, in MPEG1 / 2, the bit stream is not defined by being multiplexed, and is sequentially transmitted. Therefore, when a bit stream of a template (representative frame) is constituted by a CPU or a DSP when a bit of the template (representative frame) is huge, the bit stream is not defined within a predetermined time. In some cases, the frame cannot be decoded.
[0012]
FIG. 21 is a diagram showing the timing of the decoding process in the conventional image decoding device. 21, t0 and t1 indicate templates, and p0, p1,... P6 indicate general frames. In the upper diagram, since the decoding processing of the templates t0 and t1 does not take much time and is in time for the display timing, the frames are sequentially displayed from p0. On the other hand, in the lower diagram, the decoding process of the template t1 (p4) takes time and cannot be performed in time for the display timing of p4. At this time, since the decoding processes of p3 and p4 cannot be skipped as a matter of course, a margin is provided in the buffer until the frame display timing, and when the decoding process of p4 is delayed in advance, the decoding processes of p5 and p6 are skipped. This problem can be dealt with by performing the decoding processing of the next template.
[0013]
However, in the method of transmitting a single bit stream as described above, the bits must be interpreted one by one until the next template bit stream comes, and the processing time can be sufficiently reduced even if the processing of the general frame is skipped. There is a problem that can not be done.
[0014]
An object of the present invention is to provide an image decoding apparatus and an image decoding method capable of performing error-resistant and low-delay image transmission in consideration of such problems in conventional image decoding.
[0015]
[Means for Solving the Problems]
In order to achieve the above object, a first aspect of the present invention provides image data including a plurality of encoded data generated by encoding an image, the intra-frame decoded image and the inter-frame decoded image. From the bit stream including the identification information indicating the reference image determined based on the correlation, the encoded data identified as the intra-frame encoded data based on the identification information, Intra-frame decoding means to be decoded, and in parallel with the operation of the intra-frame decoding means, the encoded data decoded by the intra-frame decoding means as reference data, and An inter-frame decoding means for inter-frame decoding encoded data identified as inter-coded data, wherein the intra-frame decoding is performed. By the time the stage ends the intra-frame decoding of the encoded data, the inter-frame decoding means refers to the intra-frame encoded data whose display order is earlier than the predetermined encoded data. When the inter-frame decoding of the intra-frame encoded data encoded as inter-frame data is not completed,
The image decoding method, wherein the operation of the inter-frame decoding by the inter-frame decoding unit is performed with priority over the operation of the intra-frame decoding unit decoding the intra-frame encoded data. Device.
[0016]
In addition, the second present invention relates to a method of calculating a correlation between image data including a plurality of encoded data generated by encoding an image, the image, an intra-frame decoded image, and an inter-frame decoded image. And a frame for decoding intra-frame encoded data identified as intra-frame encoded data based on the identification information from a bit stream including identification information indicating a reference image determined based on the correlation. Inner decoding step;
Performed in parallel with the intra-frame decoding step, the encoded data decoded in the intra-frame decoding step as reference data, identified as inter-frame encoded data based on the identification information An inter-frame decoding step of inter-frame decoding of the encoded data,
Until the intra-frame decoding step of the encoded data is completed, in the inter-frame decoding step, an intra-frame encoded data whose display order is earlier than the encoded data in the inter-frame decoding step is used as the reference data. An image decoding method characterized by performing the inter-frame decoding step prior to the intra-frame decoding step if the decoding step of the encoded intra-frame encoded data is not completed. .
[0017]
BEST MODE FOR CARRYING OUT THE INVENTION
Hereinafter, the present invention will be described with reference to the drawings showing the embodiments.
(Embodiment 1)
FIG. 1 is a block diagram illustrating a configuration of an image encoding device according to a first embodiment of the present invention, and FIG. 2 illustrates a configuration of an image decoding device corresponding to the image encoding device. It is a block diagram. That is, the image encoding apparatus includes a frame delay memory 23 for storing a reference image, a motion estimator 21a as a motion detection unit for detecting a motion vector based on the reference image and the input image, A weighted motion compensator 22a for generating a predicted image from a reference image is provided, a template storage memory 24 for storing a template (representative frame) as a reference image, and a template (a reference different from the reference image of the frame delay memory 23). And a weighted motion compensator 22b that generates a predicted image from a reference image based on the motion vector.
[0018]
The correlation comparator 26 compares the degree of correlation between the reference image and the input image using the motion vectors detected by the motion estimators 21a and 21b. As a result of the comparison, the reference image having the higher correlation is obtained. , A reference image changeover switch 27 as a changeover means for selecting a weighted motion compensator, a predicted image memory 25 for storing a predicted image output via the reference image changeover switch 27, a predicted image of the predicted image memory 25, A subtractor 10 for obtaining a residual from an input image is provided.
[0019]
Also, an intra-frame / inter-frame encoding changeover switch 11 that switches between input images depending on whether it is intra-frame encoding or inter-frame encoding, and a DCT 5 that performs discrete cosine transform of an image signal from the intra-frame / inter-frame encoding switching switch 11. , A quantizer 6 for quantizing the discrete cosine-transformed signal, a Huffman encoder 12 for variable-length encoding the quantized signal, and an output of a correlation comparator 26, ie, switching information. Multiplexed motion vector encoder 28 that multiplexes and encodes a switching control bit as, and a motion vector selected by the switching control bit among the motion vectors from the motion estimators 21a and 21b. The output of the vector encoder 28 and the output of the Huffman encoder 12 are multiplexed to form a bit stream. MUX14 are provided for outputting a beam.
[0020]
Further, an inverse quantizer 7 for inversely quantizing the output of the quantizer 6, an inverse DCT 8 for performing an inverse discrete cosine transform of the inversely quantized signal, and storing the inverse discrete cosine transformed signal and the prediction image memory 25. An adder 9 for adding the predicted image thus obtained to generate a reference image for the next input image and a template update switch 19 for updating the reference image in the template storage memory 24 are provided.
[0021]
Here, the subtractor 10, the DCT 5, the quantizer 6, and the like constitute an encoding unit, and the inverse quantizer 7, the inverse DCT 8, the adder 9, and the like constitute a decoding unit.
[0022]
On the other hand, the image decoding apparatus shown in FIG. 2 receives the bit stream output from the image encoding apparatus shown in FIG. 1 and separates it into an image signal (usually a residual signal) and a multiplex motion vector. A Huffman decoder 16 for decoding an image signal, an inverse quantizer 7 for inversely quantizing the decoded signal, and an inverse DCT 8 for inverse discrete cosine transform of the inversely quantized signal are provided. A multiplexed motion vector decoder 29 that decodes the separated multiplexed motion vector and separates the multiplexed motion vector into a motion vector and a switching control bit, and a weighted motion compensator that generates a predicted image from a reference image based on the separated motion vector. 22c, a predicted image memory 25 for storing the generated predicted image is provided.
[0023]
An adder 9 for adding the predicted image of the predicted image memory 25 and the output of the inverse DCT 8 to generate an output image; an intra-frame / inter-frame code that switches depending on whether the output image is intra-frame encoding or inter-frame encoding. There are provided a changeover switch 18, a frame delay memory 23 for storing an output image as a reference image, and a template storage memory 24 for storing a template among the output images as a reference image, and further for updating the reference image in the template storage memory 24. And a reference image changeover switch 27 for switching the reference image between the frame delay memory 23 and the template storage memory 24 according to a control bit.
[0024]
Here, the Huffman decoder 16, the inverse quantizer 7, the inverse DCT 8, the multiplex motion vector decoder 30 and the like constitute a decoding unit, and the adder 9 and the like constitute an image generation unit. Here, the detection of the motion vector is performed in units of 16 × 16 blocks, that is, in a so-called macroblock unit. The blocks referred to in the claims are blocks of a predetermined size, and include not only 8 × 8 blocks, but also macroblocks, and may be blocks of other sizes.
[0025]
Next, the operation of the image encoding and decoding apparatus according to the first embodiment will be described with reference to the drawings.
[0026]
First, the correspondence between a general frame and a representative frame (template) will be described. FIG. 3 shows the correspondence between general frames and templates. In FIG. 3, p0 to p6 indicate general frames, and t0 and t1 indicate templates. The template t0 is created by copying from the general frame p0, and the general frames p2 and p3 are created with reference to the template t0. The template t1 is created by copying from the general frame p4, and the general frame p6 is created with reference to the template t1. The general frame is stored in the frame delay memory 23, and the template is stored in the template storage memory 24 when updating the template.
[0027]
It is assumed that the previous frame is already stored in the frame delay memory 23 as a reference image, and the template is stored in the template storage memory 24 as a reference image. Here, when an input image arrives, the motion estimator 21a detects a motion vector in units of 16 × 16 macroblocks from the input image and the reference image of the frame delay memory 23, and outputs the detection result as a weighted motion compensator 22a. , The correlation comparator 26 and the multiplex motion vector encoder 28. Similarly, the motion estimator 21b detects a motion vector in macroblock units from the input image and the reference image in the template storage memory 24, and outputs the detection result as a weighted motion compensator 22b, a correlation comparator 26, and a multiplex motion vector code. Output to the converter 28.
[0028]
Next, based on the motion vector detected above, the weighted motion compensator 22a searches the reference image for a region having the highest correlation for each of the target macroblocks, and searches around the searched region. A region of 24 × 24 pixels including the macroblock is extracted, and the extracted pixels of the wide region are multiplied by a weighting factor as shown in FIG. 5 to obtain the pixels of the extracted region. Similarly, the weighted motion compensator 22b obtains pixels in an area of 24 × 24 pixels using the template as a reference image. Here, the weight coefficients on the left side of FIG. 5 are for the luminance signal, and the weight coefficients on the right side are for the color difference signal.
[0029]
On the other hand, the correlation comparator 26 compares each output of the motion estimators 21a and 21b to determine which reference image and the input image have a higher correlation, and sets the reference image switch 27 according to the result. By switching, the output of the weighted motion compensator to be connected to the predicted image memory 25 is selected. At this time, the comparison result is also output to the multiplex motion vector encoder 28 as a switching control bit. As a result, assuming that the weighted motion compensator 22a is selected, as shown in FIG. 4, in the predicted image memory 25, from the previous frame stored in the frame delay memory 23, a weighted wide area (indicated by a circle, (Dotted squares indicate macroblocks). Thereafter, when the correlation between the input image and the template is determined to be high by the correlation comparator 26 and the weighted motion compensator 22b is selected, as shown in FIG. 4, the pixels in the weighted area are input from the template. You. In this way, the processing is performed on all the macroblocks, and the superimposed pixels are further divided by 8 for normalization, whereby a predicted image is generated in the predicted image memory 25. This normalization is specifically performed by shifting the data from the predicted image memory 25 by 3 bits and reading out the data, so that special hardware is not required. As described above, since it is not necessary to use a motion vector around the target block for one predicted image, it is possible to use a different reference image for each block. The weight of the pixel of the overlapping portion (4 pixels in this example) of the divided area can be weighted.
[0030]
In this case, the block boundaries are smoothly connected by generating a predicted image from a region of a previous frame that is close in time with a large motion vector and a still image portion with a small motion vector from a high-resolution template. Can be generated.
[0031]
In addition, by generating a prediction image using a reference image as a background image and a previous frame, it is possible to smoothly predict a background portion which is hidden between the background portion and the preceding moving object.
[0032]
Also, when the reference image is a preceding and succeeding frame, it can be applied to a B frame structure performed by MPEG1 / 2.
(Embodiment 2)
FIGS. 6 and 7 are block diagrams showing the configuration of the image encoding device according to the second embodiment of the present invention. FIG. 8 is a block diagram showing a configuration of an image decoding device corresponding to the image encoding device. This embodiment is significantly different from the above-described first embodiment in that a general frame and a template are separately processed, and data is packetized into separate bit streams. Is that an error detection code is added and an error correction code is added to the template.
[0033]
In FIG. 6, the image coding apparatus includes an input switch 30 for switching an input image between a general frame and a template, an output buffer 31 for a general frame, and data for a general frame. A packetizer 32 with an error detection code for adding an error detection code and performing packetization, and a MUX 33 for multiplexing and outputting packet data of a general frame and packet data of a template are added. Note that the template update switch 19 in FIG. 1 has been removed.
[0034]
Also, in FIG. 7, when the input image is a template, it is a portion for encoding the image, an intra-frame / inter-frame encoding changeover switch 41, a DCT 43 for performing a discrete cosine transform of an image signal, and a signal subjected to the discrete cosine transform. 44, a Huffman encoder 48 for variable-length encoding the quantized signal, a template storage memory 24 for storing a template as a reference image, and an input image and a template storage memory. A motion estimator 21c for detecting a motion vector based on the template stored in 24, a motion compensator 4 for generating a predicted image from the template based on the detected motion vector, and taking a residual between the predicted image and the input image Subtractor 42, inverse quantizer 45 for inversely quantizing the output of quantizer 44, and its inverse quantization Conversely DCT46, adder 47 for adding the predictive image and its inverse cosine transformed signal is provided to inverse discrete cosine transform signal. Further, a motion vector encoder 49 for encoding the motion vector detected by the motion estimator 21c, a MUX 50 for multiplexing the encoded motion vector and the variable length encoded signal, an output buffer 51 for template, An error correction code-added packetizer 52 for adding an error correction code to the template data and performing packetization is provided.
[0035]
On the other hand, in FIG. 8, the image decoding apparatus is provided with a DMUX 60 for receiving the bit stream from the image encoding apparatus and separating the packet into general frame packets and template packets. , A packet decomposer 62 with error detection for decomposing packets of a general frame, an input buffer 61 for a general frame, and an image decoding device substantially similar to FIG. 2 are provided.
[0036]
For processing of the template packet, an error correcting packet decomposer 63 for decomposing the template packet, an input buffer 64 for the template, a DMUX 115 for separating the signal from the input buffer 64 into an image signal and a motion vector, Huffman decoder 116 and inverse quantizer 107 and inverse DCT 108 for decoding the separated image signal, template storage memory 24 for storing a template as a reference image, motion vector decoder 17 for decoding a motion vector, and decoding thereof A motion vector memory 2 for storing the generated motion vector, a motion compensator 4 for generating a predicted image from a template in a template storage memory 24 based on the motion vector, and adding the generated predicted image to an output of the inverse DCT 108 Adder 109 in the frame Interframe coding changeover switch 118 is provided. Here, the decoding process of the template is performed by a method similar to the conventional method.
[0037]
Further, a switching control bit output from the multiplex motion vector decoder 29 causes a reference image switch 65 for switching between a general frame and a template in the frame delay memory 23 as a reference image, and a packet decomposer 62 with error detection to convert the general frame into a general frame. An output image switch 66 is provided for switching the output image from a general frame to a template when an error is detected.
[0038]
Next, the operation of the image encoding and decoding apparatus according to the second embodiment will be described with reference to the drawings.
[0039]
First, in the present embodiment, as shown in FIG. 9, the general frames p0 to p6 and the templates t0 and t1 identical to p0 and p4 are processed as separate bit streams. Also, the data is packetized, and the structure of the packet is, as shown in FIG. 11, provided at the beginning with an identifier for identifying a template or a general frame, and then provided with a frame number indicating a reproduction timing. Next, in the template, data and a Reed-Solomon error correction code are provided, and in a general frame, a frame number and a CRC error detection code of the template referred to by the general frame are provided. Here, the reason why the error correction code is attached only to the template and the error detection code is attached to the general frame is that the data amount of the error correction code is larger than the data amount of the error detection code.
[0040]
In FIG. 6, when the input image is a general frame, the input changeover switch 30 is connected to the upper side, and the same encoding processing as in the first embodiment is performed on the general frame. At this time, the quantizer 6 is controlled by signals from the output buffers 31 and 51. Here, the output buffer is a FIFO buffer, and is realized as a ring buffer that circulates a write destination address and a read destination address in a memory area. The buffer margin is expressed as the difference between the write destination address and the read destination address. When the write destination address exceeds the read destination address, the buffer overflows (the address moves cyclically, so it is not a simple size of the address). In this case, part of the transmission image information is lost. In order to avoid this, the quantization step may be changed according to the buffer margin, and accordingly, the quantizers 6 and 44 may be controlled based on the buffer margins of the output buffers 31 and 51. This process is called rate control. The image data variable-length coded by the Huffman coder 12 and the motion vector and the switching control bits multiplexed by the multiplex motion vector coder 28 are multiplexed by the MUX 14 and then output to the output buffer 31. The packetizer 32 with the error detection code creates the packet to which the CRC error detection code as shown in FIG. 11 is added.
[0041]
On the other hand, when the input image is a template, the input changeover switch 30 is connected to the lower side, and the encoding process is performed by the encoding unit for template shown in FIG. Here, the encoding unit performs the same encoding processing as that of a conventional general image encoding device. That is, when the template is intra-frame encoding, the intra-frame / inter-frame encoding changeover switch 41 is connected to the upper side, and is encoded by the DCT 43, the quantizer 44, and the Huffman encoder 48. When the template is inter-frame encoding, the intra-frame / inter-frame encoding switch 41 is connected to the lower side, and the motion estimator 21c detects a motion vector from the input template and the reference image in the template storage memory 24. Then, based on the detected motion vector, the motion compensator 4 generates a predicted image from the reference image, takes the residual between the predicted image and the input template by the subtractor 42, and outputs the residual signal. Encoding is performed by the DCT 43, the quantizer 44, and the Huffman encoder 48. The detected motion vector is encoded by the motion vector encoder 49.
[0042]
Next, the image data of the template variable-length coded by the Huffman coder 48 and the motion vector coded by the motion vector coder 49 are multiplexed by the MUX 50 and output to the output buffer 51, The packetizer 52 with the error correction code creates the packet to which the Reed-Solomon error correction code is added as shown in FIG.
[0043]
The packet with the error detection code of the general frame and the packet with the error correction code of the template created as separate bit streams as described above are output as a time-division multiplexed bit stream by the MUX 33.
[0044]
Next, in FIG. 8, the bit stream from the image encoding device is input to the DMUX 60, and is separated into general frame packets and template packets. This separation can be easily performed by the identifier added to the head of the packet. The packet of the separated general frame is decomposed by the packet decomposer with error detection 62 and the error detection code is interpreted. After the packet is decomposed, the data is output to the input buffer 61 and subjected to the same decoding processing as in the first embodiment. The packet of the template is decomposed by the packet decomposer 63 with error correction, and the error correction code is interpreted. After the packet is decomposed, it is output to the input buffer 64. Thereafter, the image signal and the motion vector are separated by the DMUX 115, and the image signal is decoded by the Huffman decoder 116, the inverse quantizer 107, the inverse DCT 108, and the adder 109, and the motion vector is stored in the template storage memory 24. The predicted image is input to the motion compensator 4 via the motion vector memory 2 in order to generate a predicted image from the reference image.
[0045]
Here, the decoding is performed with priority given to the processing of the template. For example, as shown in FIG. 10, when the template is encoded every four frames, the decoding process of the template t1 is performed with priority over the general frames p2 and p3 referring to the template t0 (see the upper diagram). At this time, as shown in the lower diagram, if the processing of the template t1 takes time and the display of p3 cannot be made in time even after decoding the general frame p3, the decoding processing of p3 is canceled in the middle. As a result, the decoding process at t1 can be completed by the display timing of the general frame p4.
[0046]
Further, in the present embodiment, when an error such as a transmission error is detected in a general frame by the packet decomposer 62 with error detection, the data of the general frame is discarded. That is, a control signal for the output image changeover switch 66 is output from the packet decomposer with error detection 62 in FIG. 8 and the output image is switched to the template. On the other hand, in the template, even if a transmission error or the like occurs, the data is error-corrected by the error correction code added to the packet. When an error occurs and the general frame is discarded, the template is forcibly output as a substitute frame for the general frame. As a result, even when there is an error in the transmission path or the like, it is possible to maintain the minimum image quality based on the template, and to make the transmission path or the like resistant to errors.
[0047]
In the above embodiment, the error correction code is a Reed-Solomon error correction code and the error detection code is a CRC error detection code. However, the present invention is not limited to this, and other error correction codes and error detection codes may be used. Of course, it is good.
(Embodiment 3)
FIG. 12 is a schematic diagram showing a correspondence between a processed image and a template according to the third embodiment of the present invention. This embodiment is an extension of the second embodiment described above. As shown in FIG. 12, a template in which general frames p0 to p6 refer to one template t0 has a larger panorama than a general frame. It is intended to be applied to a case of an image or the like or a case where a reference block can be specified in a reference image in advance. FIG. 13 is a diagram showing processing timing in the image shown in FIG. 12, and shows a state in which the decoding process of the general frame is sequentially performed from p0 during the decoding process of the template t0, and the frames are displayed.
[0048]
To realize this, for example, an upper left macroblock position and a lower right macroblock position (see FIG. 14) including a partial area of the template to be referred to are added to the head of the packet of the general frame. The upper left macro block position and the lower right macro block position occupied by the partial image to be transmitted with respect to the entire image are also added to the template packet so that the partial image necessary for decoding the template is decoded in advance. It is left to the encoding side to decompose the template image into what partial images. Encoding and decoding of the template are performed independently for the decomposed partial image, and assuming that the vertical and horizontal numbers of the macroblocks of the entire screen are known, the template decoding is performed based on the frame number and the upper left and lower right information of the macroblock. Can be uniquely reconstructed. Whether the reference area in the template is created at the correct timing also depends on the bit stream creation on the encoding side.However, on the decoding side, whether the playback of a general frame is possible depends on the packet of the general frame. Based on the frame number of a certain reference destination template and the reference macroblock range, the determination can be made from the head data of the packet.
[0049]
FIG. 15 is a block diagram illustrating a configuration of an image encoding device according to a fourth embodiment of the present invention. FIG. 16 is a block diagram showing a configuration of an image decoding device corresponding to the image encoding device. The image coding apparatus according to the present embodiment is different from the conventional image coding apparatus in that an offset map in which an offset value for changing a quantization step used for quantization for each block is arranged so as to correspond to an image. 73 and a DPCM Huffman encoder 74 for variable-length encoding the data of the offset map 73 are added. Here, the operation of the DPCM Huffman encoder 74 is based on H.264. The variable length code of each direction component of the motion vector 261 can be used. The quantizer 70 and the inverse quantizer 71 perform quantization and inverse quantization according to the offset map 73, and the MUX 72 includes the Huffman encoder 12, the DPCM Huffman encoder 74, and the motion vector encoder. Each output signal of the unit 13 is multiplexed to generate a bit stream to be transmitted.
[0050]
On the other hand, in the image decoding apparatus according to the present embodiment, the DMUX 80 separates the bit stream input from the encoding apparatus into image data, motion vectors, and offset map data. A DPCM Huffman decoder 81 for decoding the data of the offset map separated by the DMUX 80 and an offset map 82 for storing the output offset map value are added to the image decoding apparatus. Here, the inverse quantizer 83 changes the quantization step according to the offset map 82 and performs inverse quantization.
[0051]
Here, for example, an image of a videophone or the like, where there is almost no movement in the peripheral area and an insignificant background area sends a rough image, and an area that requires fine movement such as a change in facial expression of a person's face in the center is a fine image. , It is necessary to make the quantization at the center of the image finer. This is performed by adding an offset value of −2 to −3 in the central portion and +2 to +3 in the peripheral portion with respect to a general quantization step. A quantization step is sent for each macroblock, and offset map data is sent for each image. This offset is As a modification of H.263, one bit of control information named, for example, LQOM (load quantization step offset map) is added after PQUANT of the picture header, and the control information is used to reset, for example, an I picture, and P, B In other cases such as a picture, if the value is 0, the previous offset map is taken over as it is. Here, the default of the offset is all 0 (no offset).
[0052]
In the above embodiments, the predetermined size of each block is 16 × 16, and the predetermined size larger than the block size is 24 × 24. However, the present invention is not limited to this. In addition, other sizes may be used, and the wide predetermined size may be any size as long as it is larger than the size of the block.
[0053]
In the above-described embodiment, the means configured by dedicated hardware, such as a motion estimator, may be replaced with a similar function by software using a computer, if possible. .
[0054]
Note that another invention by the present inventor in the above embodiment is based on a motion detection unit that detects a motion vector for each block of a predetermined size from a reference image and an input image, and a motion detection unit that detects a motion vector based on the detected motion vector. An area having a predetermined size larger than a predetermined size including an area corresponding to each block of the input image is extracted from the reference image, and a predetermined weight is applied to each pixel of the wide area, and the weighting of the wide area is performed. A weighted motion compensator for generating a predicted image of an input image using each pixel, a predicted image memory for storing the predicted image, and a residual between the stored predicted image and the input image. The image encoding apparatus includes an encoding unit that encodes the difference, and a decoding unit that decodes the encoded image data to obtain a reference image.
[0055]
Also, the invention provides a decoding unit for decoding encoded data input from an image encoding device, a frame memory for storing a reference image, and each block of a predicted image based on a motion vector decoded by the decoding unit. An area of a predetermined size larger than the predetermined size including the area corresponding to the area is extracted from the reference image stored in the frame memory, and each pixel of the wide area is weighted in advance, and the weight of the wide area is calculated. A weighted motion compensating unit for generating a predicted image using each of the pixels, and an image generating unit for generating an output image based on the predicted image and a residual signal decoded by the decoding unit. Includes a decoding device.
[0056]
As described above, the reference image is not limited to the previous frame. For example, it is possible to use a different reference image to generate a predicted image.
[0057]
Also, the invention divides image data into a representative frame as a representative and a general frame other than the representative frame, and multiplexes the representative frame and the general frame as separate bit streams by adding frame identification information for identifying them. Includes an image encoding method for converting and transmitting.
[0058]
Further, the invention detects frame identification information from encoded data input from an image encoding device, and converts the input encoded data into representative frame and general frame image data according to the detected frame identification information. If the decoding of a general frame that refers to a representative frame that has already been decoded overlaps with the decoding of the representative frame, the decoding of the general frame is canceled. Including methods.
[0059]
As described above, even if it takes time to decode the representative frame, it is possible to easily skip the decoding process of the general frame.
[0060]
According to the invention, an error correction code is extracted from a representative frame of coded data input from an image coding apparatus, and when an error occurs in the data, correction coding is performed on the representative frame. An image decoding method for extracting an error detection code from a general frame, and discarding the general frame when an error occurs in the data, and replacing the discarded frame with a representative frame.
[0061]
As described above, for example, for a transmission path error, the minimum image quality can be maintained using the representative frame.
[0062]
According to the present invention, in order to change a quantization step for quantization of an image to be transmitted for each block, an offset map in which an offset value of the quantization step is set for each image, and data of the offset map are stored in an image. An image encoding device including an offset adding means for adding the data to the beginning of data.
[0063]
Further, the invention provides an offset extracting means for extracting an offset map from encoded data inputted from an image encoding device, and a quantization step for each image is changed based on the extracted offset value. Decoding means for dequantizing and decoding the encoded data input in the encoding step.
[0064]
As described above, the quantization step in each block can be easily changed according to the offset value of the offset map.
[0065]
The other inventions as described above have an advantage that, for example, an image to be referred to is not limited and an effect of scalable overlap motion compensation can be obtained.
[0066]
Also, in decoding an image for which the CPU and DSP have an indefinite (variable) processing time, there is an advantage that failure in image reproduction due to inadequate bitstream interpretation can be avoided.
[0067]
In addition, there is an advantage that image transmission with error tolerance and low delay can be performed by using a representative frame as a separate bit stream.
[0068]
【The invention's effect】
As is clear from the above description, the present invention has an advantage that image transmission with low error tolerance and low delay can be performed.
[Brief description of the drawings]
FIG. 1 is a block diagram illustrating a configuration of an image encoding device according to a first embodiment of the present invention.
FIG. 2 is a block diagram illustrating a configuration of an image decoding device corresponding to the image encoding device of FIG. 1;
FIG. 3 is a schematic diagram showing a correspondence between a processed image and a template according to the first embodiment.
FIG. 4 is a schematic diagram illustrating a relationship between a predicted image and a reference image according to the first embodiment.
FIG. 5 is a diagram illustrating an example of a weight coefficient according to the first embodiment.
FIG. 6 is a block diagram illustrating a part of a configuration of an image encoding device according to a second embodiment of the present invention.
FIG. 7 is a block diagram showing the remaining part of the configuration of the image encoding device leading to FIG. 6;
FIG. 8 is a block diagram illustrating a configuration of an image decoding device corresponding to the image encoding device according to the second embodiment.
FIG. 9 is a schematic diagram showing a correspondence between a processed image and a template according to the second embodiment.
FIG. 10 is a diagram for explaining a decoding processing timing of a multiplexed bit stream in the image decoding device according to the second embodiment.
FIG. 11 is a diagram showing a configuration of a packet according to the second embodiment.
FIG. 12 is a schematic diagram showing a correspondence between a processed image and a template according to a third embodiment of the present invention.
FIG. 13 is a diagram illustrating decoding processing timing in the image decoding device according to the third embodiment.
FIG. 14 is a diagram illustrating a reference area according to the third embodiment.
FIG. 15 is a block diagram illustrating a configuration of an image encoding device according to a fourth embodiment of the present invention.
FIG. 16 is a block diagram illustrating a configuration of an image decoding device corresponding to the image encoding device of FIG. 15;
FIG. 17 is a block diagram illustrating a configuration of a conventional image encoding device.
FIG. 18 is a block diagram illustrating a configuration of an image decoding device corresponding to the image encoding device of FIG. 17;
FIG. 19A is a diagram for explaining a method of obtaining a motion vector in a conventional image encoding device, and FIG. 19B is a diagram for explaining a method of obtaining a predicted image.
FIG. 20 is a diagram illustrating a method for obtaining a predicted image in a conventional image encoding device.
FIG. 21 is a diagram illustrating a decoding processing timing of a single bit stream in a conventional image decoding device.
[Explanation of symbols]
1 motion estimator
3,23 frame delay memory
4 Motion compensator
5 DCT
6 Quantizer
7 Inverse quantizer
8 Inverse DCT
21a, 21b motion estimator
22a, 22b, 22c Weighted motion compensator
24 Template storage memory
26 Correlation comparator
32 Packetizer with error detection code
52 Packetizer with error correction code
62 Packet Decomposer with Error Detection
63 Packet Decomposer with Error Correction
73, 82 Offset map
74 DPCM Huffman encoder
81 DPCM Huffman Decoder

Claims (2)

画像を符号化して生成された複数の符号化済データを含む画像データと、前記フレーム内復号化済画像及びフレーム間復号化済画像との相関を取り、その相関に基いて決定された参照画像を示す識別情報とを含むビットストリームから、前記識別情報に基いてフレーム内符号化済データとして識別された符号化済データをフレーム内復号化するフレーム内復号化手段と、前記フレーム内復号化手段の動作と並行して、前記フレーム内復号化手段により復号化された符号化済データを参照データとして、前記識別情報に基いてフレーム間符号化済データとして識別された符号化済データを、フレーム間復号化するフレーム間復号化手段とを備えた画像復号化装置において、
前記フレーム内復号化手段が前記符号化済データの前記フレーム内復号化を終了するまでに、前記フレーム間復号化手段による、前記所定の符号化済データよりも表示順番が前のフレーム内符号化済データを前記参照データとしてフレーム間符号化されたフレーム内符号化済データの前記フレーム間復号化が終了しない場合、
前記フレーム内復号化手段のフレーム内符号化済データの復号化の動作よりも、前記フレーム間復号化手段の前記フレーム間復号化の動作が優先して実行されることを特徴とする画像復号化装置。
Image data including a plurality of encoded data generated by encoding an image, and a correlation between the intra-frame decoded image and the inter-frame decoded image, and a reference image determined based on the correlation. An intra-frame decoding unit for intra-frame decoding the encoded data identified as the intra-frame encoded data based on the identification information from a bit stream including the identification information indicating: In parallel with the operation of the above, the encoded data decoded by the intra-frame decoding means as reference data, the encoded data identified as inter-frame encoded data based on the identification information, the frame An image decoding apparatus comprising: an inter-frame decoding unit that performs inter-frame decoding.
By the time that the intra-frame decoding means completes the intra-frame decoding of the encoded data, the inter-frame decoding means performs intra-frame encoding whose display order is earlier than the predetermined encoded data. If the inter-frame decoding of the intra-frame encoded data obtained by inter-frame coding using the processed data as the reference data is not completed,
The image decoding method, wherein the operation of the inter-frame decoding by the inter-frame decoding unit is performed with priority over the operation of the intra-frame decoding unit decoding the intra-frame encoded data. apparatus.
画像を符号化して生成された複数の符号化済データを含む画像データと、前記画像と、フレーム内復号化済画像及びフレーム間復号化済画像との相関を取り、その相関に基いて決定された参照画像を示す識別情報とを含むビットストリームから、前記識別情報に基いてフレーム内符号化済データとして識別された符号化済データをフレーム内復号化するフレーム内復号化ステップと、前記フレーム内復号化ステップと並行して行われる、前記フレーム内復号化ステップにて復号化された符号化済データを参照データとして、前記識別情報に基いてフレーム間符号化済データとして識別された符号化済データをフレーム間復号化するフレーム間復号化ステップとを備えた画像復号化方法において、
前記符号化済データの前記フレーム内復号化ステップが終了するまでに、前記フレーム間復号化ステップにおいて前記符号化済データよりも表示順番が前のフレーム内符号化済データを前記参照データとしてフレーム間符号化されたフレーム内符号化済データの復号化ステップが終了しない場合、前記フレーム内復号化ステップよりも、前記フレーム間復号化ステップを優先して行うことを特徴とする画像復号化方法。
Image data including a plurality of encoded data generated by encoding the image, the image, the correlation between the intra-frame decoded image and the inter-frame decoded image, and determined based on the correlation An intra-frame decoding step of intra-frame decoding encoded data identified as intra-frame encoded data based on the identification information from a bit stream including the identification information indicating the reference image. Encoded data identified as inter-frame encoded data based on the identification information, with the encoded data decoded in the intra-frame decoding step performed in parallel with the decoding step as reference data. An inter-frame decoding step of inter-frame decoding data, comprising:
Until the intra-frame decoding step of the encoded data is completed, in the inter-frame decoding step, an intra-frame encoded data whose display order is earlier than the encoded data in the inter-frame decoding step is used as the reference data. An image decoding method, wherein when the decoding step of the encoded intra-frame coded data is not completed, the inter-frame decoding step is performed with priority over the intra-frame decoding step.
JP2003168385A 2003-06-12 2003-06-12 Device and method for decoding image Pending JP2004007736A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003168385A JP2004007736A (en) 2003-06-12 2003-06-12 Device and method for decoding image

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003168385A JP2004007736A (en) 2003-06-12 2003-06-12 Device and method for decoding image

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP7277993A Division JPH09121358A (en) 1995-10-25 1995-10-25 Picture coding/decoding device and its method

Publications (1)

Publication Number Publication Date
JP2004007736A true JP2004007736A (en) 2004-01-08

Family

ID=30438294

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003168385A Pending JP2004007736A (en) 2003-06-12 2003-06-12 Device and method for decoding image

Country Status (1)

Country Link
JP (1) JP2004007736A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009545918A (en) * 2006-07-31 2009-12-24 ヒューレット−パッカード デベロップメント カンパニー エル.ピー. Video encoding

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009545918A (en) * 2006-07-31 2009-12-24 ヒューレット−パッカード デベロップメント カンパニー エル.ピー. Video encoding

Similar Documents

Publication Publication Date Title
US6081551A (en) Image coding and decoding apparatus and methods thereof
US9338453B2 (en) Method and device for encoding/decoding video signals using base layer
US9350996B2 (en) Method and apparatus for last coefficient indexing for high efficiency video coding
JP5007322B2 (en) Video encoding method
JP3630474B2 (en) Moving picture transmission system and moving picture transmission apparatus
KR100913088B1 (en) Method and apparatus for encoding/decoding video signal using prediction information of intra-mode macro blocks of base layer
JP3226439B2 (en) Image encoding method and image decoding method
EP1793613A2 (en) Picture encoding method and apparatus and picture decoding method and apparatus
WO2007010901A1 (en) Dynamic image encoding device, dynamic image decoding device, and code string format
US20090103613A1 (en) Method for Decoding Video Signal Encoded Using Inter-Layer Prediction
JP4401336B2 (en) Encoding method
WO1999029113A1 (en) Transcoding
KR20060088461A (en) Method and apparatus for deriving motion vectors of macro blocks from motion vectors of pictures of base layer when encoding/decoding video signal
CN1633185A (en) Video signal encoding/decoding method and apparatus, and corresponding wireless communication device
JP2004007753A (en) Image decoding method and device
JP2006279573A (en) Encoder and encoding method, and decoder and decoding method
US6795498B1 (en) Decoding apparatus, decoding method, encoding apparatus, encoding method, image processing system, and image processing method
US20100303151A1 (en) Method for decoding video signal encoded using inter-layer prediction
US20060120454A1 (en) Method and apparatus for encoding/decoding video signal using motion vectors of pictures in base layer
US20060133497A1 (en) Method and apparatus for encoding/decoding video signal using motion vectors of pictures at different temporal decomposition level
KR20060085150A (en) Method and apparatus for encoding/decoding video signal using prediction information of intra-mode macro blocks of base layer
JP2004007736A (en) Device and method for decoding image
US8218639B2 (en) Method for pixel prediction with low complexity
US20060120457A1 (en) Method and apparatus for encoding and decoding video signal for preventing decoding error propagation
JP2001086501A (en) Image coding method, intra coding control method, data recording medium, image coder, image decoder, image coding and decoding device and wireless image communication terminal

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070109

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070308

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20070807