JP2004048522A - 動画像の符号化方法及び復号化方法 - Google Patents

動画像の符号化方法及び復号化方法 Download PDF

Info

Publication number
JP2004048522A
JP2004048522A JP2002204998A JP2002204998A JP2004048522A JP 2004048522 A JP2004048522 A JP 2004048522A JP 2002204998 A JP2002204998 A JP 2002204998A JP 2002204998 A JP2002204998 A JP 2002204998A JP 2004048522 A JP2004048522 A JP 2004048522A
Authority
JP
Japan
Prior art keywords
motion vector
accuracy
block
encoding
decoded
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
JP2002204998A
Other languages
English (en)
Inventor
Yoshinori Suzuki
鈴木 芳典
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2002204998A priority Critical patent/JP2004048522A/ja
Publication of JP2004048522A publication Critical patent/JP2004048522A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

【課題】ブロックに含まれる動きベクトル数が複数種類用意されており、動きベクトルの符号化精度が1/8画素精度のように高い符号化方式が検討されている。しかし低レートの符号化では動きベクトルの符号量の関係から、ブロックに複数の動きが含まれる場合でも、少ない動きベクトル数で符号化する方法が選択される傾向がある。
【解決手段】差分動きベクトルの符号化精度を付加情報なしでブロック毎に切り換える手段を提供する。具体的には、予測動きベクトルの精度と符号化モードに応じて、差分動きベクトルの符号化精度を切り換えるが、予測動きベクトルの精度が低い場合についてのみ差分動きベクトルの符号化精度を制限する手段を提供する。
【効果】新たな付加情報を加えることなく、低レート符号化における動きベクトルの符号量が削減できる。また、高レート符号化の性能を落とさずに低レート符号化の性能が改善できる。
【選択図】 図1

Description

【0001】
【発明の属する技術分野】
本発明は、圧縮動画像データの符号化・復号化技術に属するものである。
【0002】
【従来の技術】
ブロック単位で符号化・復号化処理を行う動画像の符号化・復号化方法において、数種類の動きベクトル精度を用意し、複数個束ねたブロック単位で動きベクトルの符号化精度を切り換える手段が、「特開平11−46364」に記載されている。
【0003】
動画像符号化・復号化処理の概要について説明する。動画像の1フレームは、図3に示すように、1個の輝度信号(Y信号:61)と2個の色差信号(Cr信号:62, Cb信号:63)にて構成されており、色差信号の画像サイズは縦横とも輝度信号の1/2となる。一般のビデオ規格では、動画像の各フレームを図3に示すような小ブロックに分割し、マクロブロックと呼ばれるブロック単位で再生処理を行う。図5にマクロブロックの構造を示す。マクロブロックは16x16画素の1個のY信号ブロック30と、それと空間的に一致する8x8画素のCr信号ブロック31ならびにCb信号ブロック31にて構成されている。
ビデオの符号化は、上記に示したマクロブロック単位で処理される。符号化方法には、大きく分けて2種類あり、それぞれ、イントラ符号化(イントラモード)、予測符号化(インターモード)と呼ばれている。図14にビデオの符号化装置の構成を示す。イントラ符号化は、符号化対象の入力マクロブロック画像に対して直接DCTを施し、各変換係数を量子化・符号化する空間方向のデータ圧縮方法である。入力マクロブロック画像201は、DCT符号化ブロックに分割されDCT変換器203にてDCT係数に変換される。DCT符号化ブロックサイズは従来の符号化方式では8×8画素が一般的であるが、最近では、MPEG−4 Part 10 (Advanced Video Coding)などで4x4画素サイズによるDCT変換も検討されているため、本明細書では、4×4DCTを例に説明する。図6に示すように、各マクロブロックは24個の4x4画素ブロックに分割され、DCT変換器203にてそれぞれ16個のDCT係数に変換される。各DCT係数は、量子化器204にて量子化され、多重化器206にて符号化される。量子化されたDCT係数は、局部復号器220の逆量子化器207と逆DCT器208にて、入力マクロブロックに復号され、フレームメモリ201に合成される。この局部復号器220は、復号側と同様の復号画像を作成する能力をもつ必要がある。フレームメモリに蓄積された画像は時間方向の予測に用いられる。このイントラ符号化は、前フレームに似通った部分がないマクロブロック(第1符号化フレームも含む)や、DCTに伴う蓄積演算誤差を解消したい部分等に配置される。なお、ここでは、DCT器203への入力データを入力画像の分割マクロブロック画像としているが、入力マクロブロック画像に空間予測を施し、予測マクロブロック画像との誤差マクロブロックに対してDCT変換を施す方法も用いられる。
予測符号化のアルゴリズムは、MC−DCT(動き補償−離散コサイン変換)と呼ばれている。1個のマクロブロック処理の符号化処理について、図14にて説明する。まず、入力マクロブロック画像201とフレームメモリ210に蓄積されている符号化済みフレームの復号画像(参照フレーム)間の動き補償処理が、動き補償器211にて行われる。動き補償とは、参照フレームから対象マクロブロックの内容と似通った部分(一般的には、ブロック内の予測誤差信号の絶対値和あるいは2乗誤差和が小さい部分を選択する)を検索し、その動き量(動きベクトル)を符号化する時間方向の圧縮技術である。図4に動き補償の処理構造を示す。図4は、太枠で囲んだ現フレーム71の輝度信号ブロック72について、前フレーム73(参照フレーム)上の予測ブロック75と動きベクトル76を示した図である。動きベクトル76とは、現フレームの太枠ブロックに対して空間的に同位置に相当する前フレーム上のブロック74(破線)から、前フレーム上の予測ブロック75領域までの移動分を示している (色差信号用の動きベクトル長は、輝度信号の半分とし、符号化はしない)。検出された動きベクトルは、MV予測器215から得られる予測動きベクトル(隣接ブロックの動きベクトルから予測)との間で差分処理された後、多重化器206にて符号化される。動き補償により前フレームから抜き出された予測マクロブロック画像213は、現フレームの入力マクロブロック画像201との間で差分器202にて差分処理され、差分マクロブロック画像が生成される。差分マクロブロック画像は、図6に示すように、24個の4x4画素ブロックに分割され、DCT変換器203にてそれぞれ16個のDCT係数に変換される。各DCT係数は、量子化器204にて量子化され、多重化器206にて符号化される。インター符号化の場合も、量子化DCT係数を局部復号器220の逆量子化器207と逆DCT器208にて、差分マクロブロック画像に復号し、加算器209にて予測マクロブロック画像と加算した後、フレームメモリ201に合成する。なお、ここでは、1マクロブロックにて符号化する動きベクトルの数を1本としているが、マクロブロックを更に小ブロックに分割し、小ブロック毎に動きベクトルを算出し符号化する方法が一般的である。
予測符号化の動き補償方法としては、時間的に過去のフレームの情報を用いてMCを行う前方向予測符号化と、時間的に過去と未来のフレームの情報を用いてMCを行う双方向予測符号化に分けられる。上記に示した前方向予測符号化の動き補償では、前方予測のみを扱うが、双方向符号化の動き補償では、前方予測の他に、後方予測、双方向予測ならびに時間的に未来のフレームにおける動きベクトル情報を利用して双方向から予測を行う直接予測を扱う。
全てのマクロブロックに対してイントラ符号化を適用したフレームをI−picture、前方向予測符号化あるいはイントラ符号化にて構成されるフレームをP−picture、双方向符号化符号化あるいはイントラ符号化にて構成されるフレームをB−pictureと呼ぶ。P−pictureあるいはB−pictureでは、図14のINTRA/INTER判定器214にて、各マクロブロックを予測符号化とイントラ符号化のいずれで行うかを判定し、判定結果218を多重化器206にて符号化する必要がある。
【0004】
復号側での再生処理は符号化と逆の手順で行われる。図15に復号装置の構成を示す。符号解読部501では、入力された符号化データを解析し、動きベクトル関連情報とマクロブロックタイプ情報をMV予測器508に、量子化DCT係数情報を逆量子化器502に振り分ける。マクロブロックタイプがイントラ符号化であった場合には、復号した量子化DCT係数情報を、逆量子化器502と逆DCT器503において、4×4画素ブロック毎に逆量子化・逆DCT処理し、マクロブロック画像を再生する。マクロブロックの予測モードが予測符号化であった場合には、MV予測器508にて復号差分動きベクトルと予測動きベクトルから復号動きベクトルが算出され、動き補償器504に入力される。動き補償器504では、動き量に従って、前フレームの復号画像が蓄積されているフレームメモリ507から予測マクロブロック画像を抜き出す。次に、予測誤差信号に関する符号化データを、逆量子化器502と逆DCT器503において、4×4画素ブロック毎に、逆量子化・逆DCT処理し、差分マクロブロック画像を再生する。そして、予測マクロブロック画像と差分マクロブロック画像を加算器505にて加算処理し、マクロブロック画像を再生する。再生されたマクロブロック画像は、合成器506にて復号フレーム画像に合成される。また、復号フレーム画像は、次フレームの予測用にフレームメモリ507に蓄積される。
【0005】
【発明が解決しようとする課題】
上述した符号化方式において、ブロックに含まれる動きベクトル数が複数種類用意されており、動きベクトルの符号化精度が1/8画素精度のように高い符号化方式が検討されている。しかしながら、低レートの符号化では動きベクトルの符号量の関係から、ブロックに複数の動きが含まれる場合でも、少ない動きベクトル数で符号化する方法が選択される傾向がありブロック毎に精度情報を送信する必要がある、ブロック毎に動きベクトル精度を異なるものとする方法の採用を妨げている。
【0006】
【課題を解決するための手段】
上記課題を解決するために、差分動きベクトルの符号化精度を付加情報なしでブロック毎に切り換える手段を提供する。具体的には、予測動きベクトルの精度と符号化モードに応じて、差分動きベクトルの符号化精度を切り換える方法を提供する。予測動きベクトルの精度が低い場合についてのみ差分動きベクトルの符号化精度を制限することにより、高レートの符号化性能を低減させることなく、低レートの符号化性能のみを改善する。
【0007】
【発明の実施の形態】
予測動きベクトルの精度とブロックタイプに応じてマクロブロック毎に差分動きベクトルの精度を切り換える方法について順を追って説明する。
最初に、ブロックタイプについて説明する。本実施例では、図7に示す動き補償を行う際のマクロブロック分割タイプ(輝度成分)をブロックタイプとする。基本はタイプ51〜タイプ54の4種類である。タイプ54は、4個の8×8ブロック54−0〜54−3それぞれについて、更にタイプ54a, 54b, 54c, 54dとイントラ符号化の5種類から選択する構造となっている。
次に、図8に、図7に示す分割タイプについて、予測動きベクトルの生成方法を示す。図7のモード1(51)のブロック51−0, モード4(54)の小ブロック54a−0、54b−0、54b−1、54c−0、54c−1ならびに54d−0〜54d−3については、同じ予測方法を用いる。ここで、動きベクトルを符号化する対象の小ブロックを50と仮定する。これらの小ブロックでは、動きベクトルの水平・垂直成分それぞれについて、隣接位置A, B, Cに位置する3ブロックの動きベクトルを候補としてその中間値を計算し、中間値の動きベクトルを予測動きベクトルとする。但し、符号化順序やマクロブロック位置の関係で位置Cのブロックが符号化前の場合や画像の外に位置する場合が考えられる。この場合には、位置Cのかわりに位置Dに位置するブロックの動きベクトルを候補動きベクトルの1つとして用いる。なお、位置A, B, C, Dのブロックが動きベクトルを持たない場合には、その動きベクトルを‘0’ベクトルとして予測処理を行う。この際、3個の候補ブロックのうち2個が動きベクトルを持たない場合には、残りの1つの候補動きベクトルを予測動きベクトルとする。モード2(52)の2個の小ブロック(52−0, 52−1)、モード3(53)の2個の小ブロック(53−0, 53−1)については、図8に示す矢印の根元に位置するブロックの動きベクトルを予測値とする。なお、いずれのモードにおいても、色差成分用の動きベクトルは符号化せず、輝度成分の動きベクトルを2で割るなどして使用するのが一般的である。
次に、差分動きベクトルの符号化精度をマクロブロック毎に切り換えるための差分動きベクトルと動きベクトルの表現方法について説明する。ここでは、差分動きベクトルの精度の候補を、1/4画素精度、1/2画素精度、1画素精度の3種類と考える。MVを1/4画素精度表現の動きベクトル成分を4倍した値、PMVを1/4画素精度表現の予測動きベクトル成分(図8にて算出)を4倍した値とすると、この表現にて、各精度候補に対するMVの値は以下のように制限される。
1画素精度:マクロブロック内の全小ブロックにおける(MV−PMV)の値が水平・垂直成分とも4の倍数となるMV。
1/2画素精度:マクロブロック内の全小ブロックにおける(MV−PMV)の値が水平・垂直成分とも2の倍数となるMV。
1/4画素精度:マクロブロック内の全小ブロックにおける(MV−PMV)の値が水平・垂直成分とも1の倍数となるMV。
したがって、本方式の効果を符号化特性に反映されるためには動きベクトル推定において、予測誤差信号の絶対値和あるいは2乗誤差和に、動きベクトルの符号量の影響を加えた評価関数を用意する必要がある。この際、各小ブロックの最適評価値を(MV−PMV)の各精度について算出おけば、マクロブロック内の全小ブロックの動きベクトル推定処理が終了した後、各精度について小ブロックの評価値の加算値を計算し、評価値の総和が小さい精度を差分動きベクトルの精度と決定することが可能となる。符号化する差分動きベクトルMVDは以下の式にて算出される。
MVD = (MV − PMV)>>mv_shift、
式中のmv_shiftは、差分動きベクトルの精度を切り換えるためのパラメータであるである。復号化側では、mv_shift値と復号MVDならびにPMVから、以下の式にしたがって、各動きベクトル成分の復号MV値を再生する。
MV = (MVD<<mv_shift) + PMV。
次に、差分動きベクトルの精度の候補が、1/8画素精度、1/4画素精度、1/2画素精度、1画素精度の4種類の場合を考える。MVを1/8画素精度表現の動きベクトル成分を8倍した値、PMVを1/8画素精度表現の予測動きベクトル成分(図8にて算出)を8倍した値とすると、この表現にて、各精度候補に対するMVの値は以下のように制限される。
1画素精度:マクロブロック内の全小ブロックにおける(MV−PMV)の値が水平・垂直成分とも8の倍数となるMV。
1/2画素精度:マクロブロック内の全小ブロックにおける(MV−PMV)の値が水平・垂直成分とも4の倍数となるMV。
1/4画素精度:マクロブロック内の全小ブロックにおける(MV−PMV)の値が水平・垂直成分とも2の倍数となるMV。
1/8画素精度:マクロブロック内の全小ブロックにおける(MV−PMV)の値が水平・垂直成分とも1の倍数となるMV。
動き推定の方法については、1/4画素精度、1/2画素精度、1画素精度の3種類の場合と同じであるため、説明を省略する。差分動きベクトルMVDは以下の式にて算出される。
MVD = (MV − PMV)>>mv_shift、
式中のmv_shiftは、差分動きベクトルの精度を切り換えるためのパラメータであるである。復号化側の処理も、差分動きベクトルの精度の候補が、1/4画素精度、1/2画素精度、1画素精度の3種類の場合と同じであり、mv_shift値と復号MVDならびにPMVから、以下の式にしたがって、各動きベクトル成分の復号MV値が再生される。
MV = (MVD<<mv_shift) + PMV。
【0008】
次に、差分動きベクトルの符号化精度の決定方法、すなわちパラメータmv_shitの決定方法について説明する。図1は、図8に示した予測動きベクトルの精度と図7に示したマクロブロックの分割タイプに応じてmv_shift値を決める手順を示した図である。本処理は、符号化・復号側で実施されるが、さらに符号化側では、図4に示した動き探索時において、決定したmv_shift値に基づいて動きベクトルの探索精度を制限する。本実施例では、予測動きベクトルの精度が整数画素の場合にのみ、mv_shit値の制御を実施する。最初に、予測動きベクトルの水平・垂直成分の精度をチェックし(110)、何れかの成分の精度が実数画素精度の場合には、mv_shift値を0に設定する(111)。処理110にて、予測動きベクトルの精度が整数画素であった場合には、マクロブロックの分割タイプが16x16(mode 1)であるか否かをチェックする(120)。処理120にてマクロブロックの分割タイプが16x16(mode 1)と判定された場合には、差分動きベクトルの符号化精度を整数画素に制限する(121)。具体的には、mv_shift値が0のときの動きベクトル最大精度をチェックし(122)、1/4画素精度の場合にはmv_shift値を2に設定し(123)、1/8画素精度の場にはmv_shift値を3に設定する(124)。処理120にてマクロブロックの分割タイプが16x16(mode 1)でないと判定された場合には、マクロブロックの分割タイプが16x8(mode 2)または8x16(mode 3) であるか否かをチェックする(130)。処理130にてマクロブロックの分割タイプが16x8(mode 2)または8x16(mode 3)と判定された場合には、差分動きベクトルの符号化精度を1/2画素に制限する(131)。具体的には、mv_shift値が0のときの動きベクトル最大精度をチェックし(122)、1/4画素精度の場合にはmv_shift値を1に設定し(132)、1/8画素精度の場合にはmv_shift値を2に設定する(133)。処理130にてマクロブロックの分割タイプが16x8(mode 2)または8x16(mode 3)でないと判定された場合には、mv_shift値を0に設定する(111)。なお、ここでは、水平・垂直成分のmv_shift値を同時に制御しているが、水平、垂直個別にmv_shift値を制御することも可能である。具体的には、図1では水平方向のベクトル成分と垂直方向のベクトル成分が共に処理110の条件を満たしている場合にのみ処理120を実施しているが、処理110にて予測動きベクトルの水平・垂直いずれかの成分が整数画素精度であるという条件を満たせば、処理120を実施する。但し、処理110にて予測ベクトルの精度が実数画素の成分に関しては、この処理110の時点でmv_shift値を0に決定し、予測ベクトルの精度が整数画素の成分についてにみ処理120以降の分岐処理を実施する。
【0009】
図2は、図1にmv_shift値の制御条件に、フレームタイプを加えた例である。図2のmv_shift値制御方法では、処理120にてマクロブロックの分割タイプが16x16(mode 1)であると判定された場合に、フレームタイプがP−pictureであるかB−pictureであるかをチェックする(140)。処理140にてフレームタイプがP−pictureと判定された場合には、差分動きベクトルの符号化精度を整数画素に制限し(121)、B−pictureと判定された場合には、差分動きベクトルの符号化精度を1/2画素に制限する(131)。
次に、図9、10のマクロブロックタイプコード表と図12、13のデータシンタックスを用いて、マクロブロックデータの多重化方法を示す。符号化に使用する方法としては、1種類の可変長符号表のみを用いるUniversal VLC(UVLC)、固定長符号化と可変長符号化(各符号化要素に異なる符号表を用意)を組み合わせた符号化方法ならびに、算術符号化(Witten et al., ”Arithmetic Coding for Data Compression”, Comm. of the ACM, 30(6), 1987, pp.520−541)などが考えられるが、本実施例では、UVLCと算術符号化を例として説明する。図11の表81がUVLCの構成を示しており、Xnの値は‘0’または‘1’となる。表82に、実際の可変長符号表の例を示す。算術符号化の具体的な方法としては、各符号の意味を数ビットのバイナリーデータに置き換え、各ビットを各々の0と1の発生確率を示す生起確率モデルに応じて符号化する方法を考える。この方法は、CABAC(Context−based Adaptive Binary Arithmetic Coding)と呼ばれている。
【0010】
図12がP−pictureのデータシンタックス、図13がB−pictureデータシンタックスの一部(CBP15以降は図12と同じであるため省略)を示している。まず、図12から説明する。なお、I−pictureについては、本願の特徴に含まれないため説明を省略する。
【0011】
picture header 10には画像サイズ、再生時刻など再生フレームの構造に関するデータが含まれる。picture type 11は、フレームタイプ情報で、I−picture, P−picture, B−pictureの種別がここで符号化される。RUN19からTcoeff chroma17がマクロブロックデータにあたり、フレーム内のマクロブロック数だけ繰り返される。MB type12では、表91に示されるマクロブロックモードからマクロブロック毎に1つのモードが選択され、符号化される。但しSKIPモードについては、前フレームの復号画像から空間的に同一位置に相当するマクロブロック画像を切り出しコピーすることを意味する。このSKIPモードは隣接するマクロブロックで連続して発生する確率が高いため、UVLCを用いた符号化方法では、MB type 12では扱わず、連続するSKIPモードの数をRUN19にてランレングス符号化(連続する0の数を符号化)する。1つ前のマクロブロックのタイプがSKIPモードでない場合には、連続するSKIPモードの数をゼロとしてRUNを符号化する。なお、CABACを用いた符号化方法では、RUN19は使用せず、SKIPもMB type 12にて扱う。表91のcode number 5, 6に示されているIntraM×NのM, Nは空間予測を行う際の小ブロックサイズを示している。表91のM×Nは動き補償を行う際の小ブロックサイズを示しており、それぞれ図7のモード1〜モード4に対応している。8×8(split)では、図7のモード4に示される4個の8×8小ブロック54−0〜54−3について、54a(8×8), 54b(8×4), 54c(4×8), 54d(4×4)とイントラ符号化の5種類の分割モードから、表92を用いてそれぞれ1個のモードを選択する。このMB type12の符号化方法については、UVLCを利用する場合には、表91のcode numberに対応するコードを表82から選択して符号化する。CABACを利用する場合には、表91のBinarizationの欄に示されているビット列を各ビットの確率モデルを用いて算術符号化する。なお、code number 4に示されるモードはCABACの場合には使用しない。MB type12にて8x8(split)、すなわちcode number 3または4を選択したマクロブロックについては、8x8 Partition 18が発生する。それ以外のマクロブロックモードでは、8x8 Partition 18は発生しない。8x8 Partition 18では、図7のモード4に属する4個の小ブロック54−0〜54−3について、それぞれ表92に示される5個の分割モードから1つのモードが選択され、符号化される。UVLCを利用する場合には、表92のcode numberに対応するコードを表82から選択して符号化する。CABACを利用する場合には、表92のBinarizationの欄に示されているビット列と各ビットの確率モデルを用いて算術符号化する。Reference frame 19は、動き補償処理に用いる参照フレームの種類を示す。ここでは、参照フレームとして1フレーム前の復号画像から5フレーム前の復号画像までを選択の対象とし、それぞれ、code number0〜4を割り当てる。このReference frame 19は、マクロブロック内の動きベクトルの符号化を伴う各小ブロックについて発生するが、SKIPあるいはINTRA NxMが選択されたマクロブロックならびにIntraが選択された8x8(split)モード内の8x8ブロックについては復号側で動き補償を行わないため省略される。UVLCを利用する場合には、code number0−4に対応するコードを表82から選択して符号化する。また、MB type 12にてcode number 4のマクロブロックのいずれかが選択された場合には、8x8(split)モード内の8x8ブロック内の全小ブロックについて自動的に1フレーム前の復号画像が参照フレームとして割り当てられることが約束されるため、Reference frame 19は発生しない。CABACを利用する場合には、code number0−4に対して、それぞれ1’, 01’, 001’, 0001’, 00001’のバイナリ−データを割り当て、ビット列と各ビットの確率モデルを用いて算術符号化する。MVD14は、MB type 12と8x8 Partition 18が動きベクトルを伴うマクロブロックであることを示す場合に発生する。したがって、MB type12がIntraM×NあるいはSKIPの場合には、このデータは発生しない。MB type12がM×Nの場合には、MVD14は、MB typeと8×8 Partitionが示すベクトル数だけ繰り返し符号化される。例えば、16×8の場合には、符号化すべき差分動きベクトル数が2個であり、各動きベクトルは水平、垂直の2成分から構成されるため、4個のMVDが連続して符号化される。なお、MVDの値は、図1または図2の処理にて決められたmv_shift値に基づいて算出される。CBP15は、図6に示される24個のDCTブロックについて、‘0’以外の量子化DCT係数(有意係数)が16個係数に含まれているか否かを示す符号化データである。但し、24個の各DCTブロックについてそれぞれ有意係数の有無情報を符号化すると付加情報が大きくなるため、ここでは、図6に示すように4個のDCTブロックをまとめた8×8ブロック単位で有意係数の有無を符号化するものとする。Tcoeff luma16は、輝度ブロック40における量子化DCT係数の符号化データを示している。符号化は、4×4ブロック40−0から4×4ブロック40−15まで、番号の小さい順にそれぞれ16個の量子化係数が符号化される。但し、CBPにて有意係数が無いことが示されている8×8ブロックについては、符号化処理が省略される。Tcoeff chroma17は、輝度ブロック40における量子化DCT係数の符号化データを示している。符号化は、4×4ブロック41−0, 41−2, 41−3, 41−4, 42−0, 42−1, 42−3, 42−4の順にそれぞれ16個の量子化係数が符号化される。但し、CBP15にて有意係数が無いことが示されている信号成分については、符号化処理が省略される。これらの符号化データが図14の多重化器206にて多重化され配信される。
復号側では、図15の符号化解読器501にて、データシンタックスを解読し、復号処理する。UVLCの場合は、符号化側と同じ符号化テーブルを使用することにより、元の符号が再現される。CABACの場合は、符号化側と同じ確率モデルを用い、同じ予測方法を用いることにより、元の符号が再現される。
【0012】
次に、図13について説明する。MB type21では、表93のマクロブロックモードからマクロブロック毎に1つのモードが選択され、符号化される。表93のcodenumber 23, 24に示されているIntraM×NのM, Nは空間予測を行う際の小ブロックサイズを示している。表93のM×Nは動き補償を行う際の小ブロックサイズを示しており、それぞれ図7のモード1〜モード4に対応している。8×8(split)は、図7のモード4に示される4個の小ブロック54−0〜54−3のそれぞれについて、54a(8×8), 54b(8×4), 54c(4×8), 54d(4×4)、Directモード、イントラ符号化の6種類の分割モードから、表94を用いて1個のモードを選択することを示している。表93, 94におけるDirectは、直接予測を示している。表93のBlock 1ならびにBlock 2は、図7のモード2またはモード3における2個の小ブロックを識別しており、各小ブロックの予測方向がForward (前方予測)、Backward (後方予測)、Bi−directional (双方向予測)のいずれであるかを示している。このMB type21は、UVLCを利用する場合には、表93のcode numberに対応するコードを表82から選択して符号化する。CABACを利用する場合には、表93のBinarizationの欄に示されているビット列と各ビットの確率モデルを用いて算術符号化する。MB type21にて、8×8(split)を選択したマクロブロックについては、8×8 Partition 26が発生する。それ以外のマクロブロックモードでは、8×8 Partition 26は発生しない。8x8 Partition 26では、図7のモード4に属する4個の小ブロック54−0〜54−3について、それぞれ表94に示される14個の分割モードから1つのモードが選択され、符号化される。表94のPredictionは、図7のモード4に属する各小ブロックの予測方向がForward (前方予測)、Backward (後方予測)、Bi−directional (双方向予測)のいずれであるかを示す。UVLCを利用する場合には、表94のcode numberに対応するコードを表82から選択して符号化する。CABACを利用する場合には、表94のBinarizationの欄に示されているビット列と各ビットの確率モデルを用いて算術符号化する。Reference frame 27は、前方向の動き補償処理に用いる参照フレームの種類を示す。ここでは、参照フレームとして1フレーム前の復号画像から5フレーム前の復号画像までを選択の対象とし、それぞれ、code numberを0〜4に割り当てる。この符号Reference frame 27は、マクロブロック内の前方動きベクトルの符号化を伴う各小ブロック(前方予測あるいは双方向予測)について発生するが、DirectあるいはINTRA NxMが選択されたマクロブロックならびにIntraまたはDirectが選択された8x8(split)モード内の8x8ブロックについては省略される。また、動きベクトルを伴う小ブロックであっても、後方予測のみを伴う小ブロックでは、Reference frame 27の符号化は省略される。Reference frame 27の符号化方法については、図12のReference frame 19の符号化方法と同じであるためここでは説明を省略する。MVDFW23は、MB type 21と8x8 Partition 22が示す前方予測(双方向予測も含む)に伴う動きベクトルを含むマクロブロックである場合に発生する。同様に、MVDBW25は、MB type 21と8x8 Partition 22が示す後方予測(双方向予測も含む)に伴う動きベクトルを含むマクロブロックである場合に発生する。したがって、MB type21がIntraM×NあるいはDirectの場合の場合には、このデータは発生しない。MB type21がM×Nであり、前方予測(双方向予測も含む)に伴う動きベクトルが存在する場合には、MVDFW23は、MB typeと8×8 Partitionが示す前方予測(双方向予測も含む)に伴うベクトル数(差分動きベクトル数×2、水平・垂直成分)だけ繰り返し符号化される。同様に、MB type21がM×Nであり、後方予測(双方向予測も含む)に伴う動きベクトルが存在する場合には、MVDBW25は、MB typeと8×8 Partitionが示す後方予測(双方向予測も含む)に伴うベクトル数(差分動きベクトル数×2、水平・垂直成分)だけ繰り返し符号化される。なお、MVDFWとMVDBWの値は、図1または図2の処理にて決められたmv_shift値に基づいて算出される。CBP以降のマクロブロックデータについては、図12のP−pictureと同じ構造のため、説明を省略する。これらの符号化データが図14の多重化器206にて多重化され配信される。復号側では、図15の符号化解読器501にて、データシンタックスを解読し、復号処理する。UVLCの場合は、符号化側と同じ符号化テーブルを使用することにより、元の符号が再現される。CABACの場合は、符号化側と同じ確率モデルを用い、同じ予測方法を用いることにより、元の符号が再現される。
【0013】
最後に、これまで説明してきた動きベクトル符号化・復号化方法を実現するための符号化装置・復号化装置について触れておく。図14に符号化装置のブロック図、図15に復号化装置のブロック図を示す。各処理部の配置は、従来と同じであるが、幾つかの処理部の処理手順に上記で説明した処理を加える必要がある。符号化装置については、動き補償器211にMB typeと予測MVの値に応じてmv_shift値を設定する処理と、mv_shift値に対応した動き検索制限処理と、mv_shiftを伴うMVD, MVDFW, MVDBEの算出処理を追加する必要がある。復号化装置については、MV予測器508に予測MVの値に応じてmv_shift値を設定する処理と、mv_shiftを伴うMVD, MVDFW, MVDBEの再現処理を加える必要がある。
本実施例では、切り換えを実施する予測動きベクトルの精度を1画素に限定しているが、この精度に制限されない。例えば、予測動きベクトルの精度が1/4画素の時に、動きベクトルの精度を1/4画素とし、差分動きベクトルの精度を1/2画素に制限することも本発明に含まれる。
また、本実施例では、切り換えを実施するマクロブロック分割モードを16x16, 16x8ならびに8x16に限定しているが、他のブロック分割モードで実施することも可能であり、本発明に含まれる。
【0014】
【発明の効果】
本発明により、新たな付加情報を加えることなく、低レート符号化における動きベクトルの符号量が削減できる。また、差分動きベクトルの符号化精度の切り替えを実施する予測動きベクトルと予測モードを制限することにより、高レート符号化の性能を落とさずに低レート符号化の性能が改善できる。
【図面の簡単な説明】
【図1】本発明におけるmv_shift値の制御方法の例を示した図である。
【図2】本発明におけるmv_shift値の制御方法の別例を示した図である。
【図3】マクロフロック分割を説明する図である。
【図4】動き補償の原理を説明する図である。
【図5】マクロブロックに含まれる有意DCT係数の有無を符号化する際に利用するブロック構成を示す図である。
【図6】DCT処理ならびに符号化処理を行うブロック単位を示すマクロブロック構成を示す図である。
【図7】動き補償を行うブロック単位を示す輝度ブロックの構成を示す図である。
【図8】予測動きベクトルの生成手段を説明する図である。
【図9】P−pictureにおけるマクロブロックタイプの符号表と8×8ブロック分割タイプの符号表の例を示した図である。
【図10】B−pictureにおけるマクロブロックタイプの符号表と8×8ブロック分割タイプの符号表の例を示した図である。
【図11】ユニバーサル符号化表の構成例を示した図である。
【図12】本発明における前方向予測フレームのデータシンタックスの例を示した図である。
【図13】本発明における双方向予測フレームのデータシンタックスの例を示した図である。
【図14】符号化処理のブロック図の例を示した図である。
【図15】復号化処理のブロック図の例を示した図である。
【符号の説明】
12、21…マクロブロックタイプ情報、18、26…ブロック分割タイプ情報、19、27…参照フレーム情報、14、23、25…差分動きベクトル情報、30…Y信号ブロック、31…Cr信号ブロック、32…Cr信号ブロック、40…Y信号DCTブロック、41…Cr信号DCTブロック、42…Cb信号DCTブロック、51…16×16マクロブロックモード、52…16×8マクロブロックモード、53…8×16マクロブロックモード、54…8×8マクロブロックモード、54a…8×8ブロック、54b…8×4ブロック、54c…4×8ブロック、54d…4×4ブロック、81、82…UVLC符号表、91、93…マクロブロックモード符号表、92、94…8×8分割モード符号表、203…DCT処理器、204…量子化器、206…多重化器、207、502…逆量子化器、208、503…逆DCT器、210、507…フレームメモリ、211、504…動き補償器、215、508…動きベクトル予測器、501…符号解読器、506…合成器、110…予測動きベクトルの精度確認処理、120、130…マクロブロックモードの確認処理、140…フレームタイプ確認処理。

Claims (8)

  1. 画像を複数の符号化ブロックに分割し、該ブロックの動きベクトルを隣接位置の動きベクトルから予測し、前記ブロックの動きベクトルとその予測動きベクトルより算出される差分動きベクトルを符号化する手順を含む動画像符号化方法において、
    前記差分動きベクトルの精度を複数用意し、ブロック内で符号化すべき動きベクトルの数が異なる複数種の小ブロック形状タイプを用意し、
    前記各予測動きベクトルの精度に応じて前記差分動きベクトルの符号化精度を切り換えることを特徴とする符号化方法。
  2. 画像を複数の符号化ブロックに分割し、該ブロックの動きベクトルを隣接位置の動きベクトルから予測し、前記ブロックの動きベクトルとその予測動きベクトルより算出される差分動きベクトルを符号化する手順を含む動画像符号化方法において、
    前記差分動きベクトルの精度を複数用意し、ブロック内で符号化すべき動きベクトルの数が異なる複数種の小ブロック形状タイプを用意し、
    前記符号化ブロックの小ブロック形状タイプと前記予測動きベクトルの精度に応じて前記差分動きベクトルの符号化精度を切り換えることを特徴とする符号化方法。
  3. 画像を複数の符号化ブロックに分割し、該ブロックの動きベクトルを隣接位置の動きベクトルから予測し、前記ブロックの動きベクトルとその予測動きベクトルより算出される差分動きベクトルを符号化する手順を含む動画像符号化方法において、
    前記差分動きベクトルの精度を複数用意し、ブロック内で符号化すべき動きベクトルの数が異なる複数種の小ブロック形状タイプを用意し、
    前記符号化ブロックの小ブロック形状タイプと前記予測動きベクトルの精度とフレームタイプとに応じて前記差分動き動きベクトルの符号化精度を切り換えることを特徴とする符号化方法。
  4. 請求項1乃至3の何れかに記載の動画像符号化方法において、
    前記各予測動きベクトルの前記ブロックの水平方向の精度に応じて、前記差分動きベクトルの水平方向の符号化精度を切り換え、前記各予測動きベクトルの前記ブロックの垂直方向の精度に応じて、前記差分動きベクトルの垂直方向の符号化精度を切り換えることを特徴とする符号化方法。
  5. 画像を複数の復号ブロックに分割し、該ブロックの動きベクトルを隣接位置の復号動きベクトルから予測し、前記ブロックの動きベクトルを復号し、復号差分動きベクトルと予測動きベクトルより復号動きベクトルを算出する手順を含む動画像復号化方法において、
    前記差分動きベクトルの精度を複数用意し、ブロック内で復号すべき動きベクトル数が異なる複数種の小ブロック形状タイプを用意し、
    前記予測動きベクトルの精度に応じて前記差分動き動きベクトルの復号化精度を切り換えることを特徴とする復号化方法。
  6. 画像を複数の復号ブロックに分割し、該ブロックの動きベクトルを隣接位置の復号動きベクトルから予測し、前記ブロックの動きベクトルを復号し、復号差分動きベクトルと予測動きベクトルより復号動きベクトルを算出する手順を含む動画像復号化方法において、
    前記差分動きベクトルの精度を複数用意し、ブロック内で復号すべき動きベクトル数が異なる複数種の小ブロック形状タイプを用意し、
    前記小ブロック形状タイプと前記予測動きベクトルの精度とに応じて前記差分動き動きベクトルの復号化精度を切り換えることを特徴とする復号化方法。
  7. 画像を複数の復号ブロックに分割し、該ブロックの動きベクトルを隣接位置の復号動きベクトルから予測し、前記ブロックの動きベクトルを復号し、復号差分動きベクトルと予測動きベクトルより復号動きベクトルを算出する手順を含む動画像復号化方法において、
    前記差分動きベクトルの精度を複数用意し、ブロック内で復号すべき動きベクトル数が異なる複数種の小ブロック形状タイプを用意し、
    前記小ブロック形状タイプと前記予測動きベクトルの精度とフレームタイプとに応じて前記差分動き動きベクトルの復号化精度を切り換えることを特徴とする復号化方法。
  8. 請求項5乃至7の何れかに記載の動画像復号化方法において、
    前記差分動きベクトルの前記ブロックの水平方向の精度に応じて、前記差分動
    きベクトルの水平方向の符号化精度を切り換え、前記各予測動きベクトルの前記ブロックの垂直方向の精度に応じて、前記差分動きベクトルの垂直方向の符号化精度を切り換えることを特徴とする復号化方法。
JP2002204998A 2002-07-15 2002-07-15 動画像の符号化方法及び復号化方法 Pending JP2004048522A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002204998A JP2004048522A (ja) 2002-07-15 2002-07-15 動画像の符号化方法及び復号化方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002204998A JP2004048522A (ja) 2002-07-15 2002-07-15 動画像の符号化方法及び復号化方法

Publications (1)

Publication Number Publication Date
JP2004048522A true JP2004048522A (ja) 2004-02-12

Family

ID=31710412

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002204998A Pending JP2004048522A (ja) 2002-07-15 2002-07-15 動画像の符号化方法及び復号化方法

Country Status (1)

Country Link
JP (1) JP2004048522A (ja)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007536821A (ja) * 2004-05-04 2007-12-13 クゥアルコム・インコーポレイテッド ストリーミング・アプリケーションにおいて媒体の捕捉を可能にする方法及び装置
JP2011229190A (ja) * 2011-08-17 2011-11-10 Sharp Corp 動画像符号化装置及び動画像復号装置
WO2012042810A1 (ja) * 2010-09-29 2012-04-05 パナソニック株式会社 画像符号化方法、画像復号方法、画像符号化装置、画像復号装置および画像処理システム
WO2012120863A1 (ja) * 2011-03-08 2012-09-13 パナソニック株式会社 動画像符号化方法および動画像復号方法
WO2013065572A1 (ja) * 2011-11-04 2013-05-10 ソニー株式会社 符号化装置および方法、並びに、復号装置および方法
JP2017225177A (ja) * 2010-11-25 2017-12-21 エルジー エレクトロニクス インコーポレイティド 映像情報のシグナリング方法及び映像情報のシグナリング方法を用いた映像情報の復号化方法
US11284081B2 (en) 2010-11-25 2022-03-22 Lg Electronics Inc. Method for signaling image information, and method for decoding image information using same

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007536821A (ja) * 2004-05-04 2007-12-13 クゥアルコム・インコーポレイテッド ストリーミング・アプリケーションにおいて媒体の捕捉を可能にする方法及び装置
WO2012042810A1 (ja) * 2010-09-29 2012-04-05 パナソニック株式会社 画像符号化方法、画像復号方法、画像符号化装置、画像復号装置および画像処理システム
JP2017225177A (ja) * 2010-11-25 2017-12-21 エルジー エレクトロニクス インコーポレイティド 映像情報のシグナリング方法及び映像情報のシグナリング方法を用いた映像情報の復号化方法
US10687063B2 (en) 2010-11-25 2020-06-16 Lg Electronics Inc. Method for signaling image information, and method for decoding image information using same
US10972736B2 (en) 2010-11-25 2021-04-06 Lg Electronics Inc. Method for signaling image information, and method for decoding image information using same
US11284081B2 (en) 2010-11-25 2022-03-22 Lg Electronics Inc. Method for signaling image information, and method for decoding image information using same
WO2012120863A1 (ja) * 2011-03-08 2012-09-13 パナソニック株式会社 動画像符号化方法および動画像復号方法
JP2011229190A (ja) * 2011-08-17 2011-11-10 Sharp Corp 動画像符号化装置及び動画像復号装置
WO2013065572A1 (ja) * 2011-11-04 2013-05-10 ソニー株式会社 符号化装置および方法、並びに、復号装置および方法

Similar Documents

Publication Publication Date Title
JP6513847B2 (ja) 動画像符号化方法
JP4401783B2 (ja) 動画像の符号化方法
KR20060127155A (ko) 화상 정보 부호화 장치 및 화상 정보 부호화 방법
JP2010135864A (ja) 画像符号化方法及び装置並びに画像復号化方法及び装置
JP4355319B2 (ja) 動画像復号化方法
JP4895995B2 (ja) 動画像復号化方法
JP2004048522A (ja) 動画像の符号化方法及び復号化方法
CN100508616C (zh) 运动图像的编码方法、解码方法、编码装置及解码装置
JP5017086B2 (ja) 動画像復号化方法
JP4363484B2 (ja) 動画像復号化方法
JP5017087B2 (ja) 動画像復号化方法