JP2004236049A - Encoding method and decoding method - Google Patents

Encoding method and decoding method Download PDF

Info

Publication number
JP2004236049A
JP2004236049A JP2003022982A JP2003022982A JP2004236049A JP 2004236049 A JP2004236049 A JP 2004236049A JP 2003022982 A JP2003022982 A JP 2003022982A JP 2003022982 A JP2003022982 A JP 2003022982A JP 2004236049 A JP2004236049 A JP 2004236049A
Authority
JP
Japan
Prior art keywords
motion vector
value
vertical component
frame
search
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
JP2003022982A
Other languages
Japanese (ja)
Inventor
Norihiko Fukinuki
敬彦 吹抜
Yoshinori Suzuki
芳典 鈴木
Junichi Kimura
淳一 木村
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 JP2003022982A priority Critical patent/JP2004236049A/en
Publication of JP2004236049A publication Critical patent/JP2004236049A/en
Pending legal-status Critical Current

Links

Images

Landscapes

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

Abstract

<P>PROBLEM TO BE SOLVED: To improve encoding efficiency by searching or representing vertical components of a motion vector in an even pixel (even scanning line) unit in an encoder for applying motion compensation interframe predictive coding to a television signal obtained by interlace scanning. <P>SOLUTION: In a well-known motion compensation interframe predictive encoder, a counting circuit for vertical component search performs counting in an even number unit among counting circuits for giving deflection (deviation) to a frame to be referred to in order to search a motion vector, for example, in the case of block matching. By searching motion vector vertical components in an even number unit while following almost the present circuit type, encoding efficiency is improved and/or a circuit constitution is simplified. <P>COPYRIGHT: (C)2004,JPO&NCIPI

Description

【0001】
【発明の属する技術分野】
本発明は、圧縮動画像データの符号化・復号化技術に属するものであり、特に、インタレース画像における動きベクトル表現と動きベクトルの符号化・復号化技術に関する。
【0002】
【従来の技術】
テレビジョン信号(以下、TV信号と記す)の高能率符号化として、動き補償フレーム間予測符号化があり、既に、これに基づくMPEG等がよく知られている。この方法では、周知のように、時間的に異なる2つのフレームを比較して、その中の動く物体が前フレームから如何に移動したかを探索し、その動き分をブロック単位に補償して(それだけ位置を戻して)フレーム間予測を行う。なお、逆方向予測では、未来のフレームから予測する。
【0003】
通常、動きベクトル(MV)の探索は、図1に示すように、ブロックマッチングによって行われる。即ち、現在のフレーム1、f(x,y) をブロック2(厳密にはマクロブロック)に分け、以下、このブロック毎にMVを探索する。飛越走査では、フレームではなくフィールドの場合もある。これと、過去のフレーム3(双方向予測における逆方向予測では未来のフレームの場合もある)fn−1(x,y) を参照し、このフレーム3を(ξ,η)だけずらして、
SAD(ξ,η)=Σ|f(x,y)−fn−1(x+ξ,y+η)| (1)
なる差分絶対値和を計算する。これを行うのが、差分絶対値回路4、および総和回路5である。そして、この式(1)における(ξ,η)を、ξ計数回路6、および、η計数回路7により、探索範囲(−LからL)で少しづつ変化させて、SADが最小となる場合の(ξ,η)をMVとする。探索範囲は、水平、垂直とも等しいとは限らない。
【0004】
これを行うため、ある(ξ,η)で得られたSADを以前に求められた最小値記憶回路8の値と比較し、もし以前の最小値より小さい場合、即ち、差分回路9出力が負の場合、このSADを最小値記憶回路8に記憶する。さらにこの時の(ξ,η)をξη記憶回路10に記憶する。
【0005】
この動作を(ξ,η)を変化させながら、探索範囲全体について繰り返す。その結果、SADが最小になる(ξ,η)がξη回路10に記憶されているので、MVとして出力する。なお、ある画像ブロックのMV探索に際しては、SAD最小値の初期値として、十分大きな値を入れておく。
【0006】
(ξ,η)の変更方法としては、例えば、ηをある値にしてξを、−LからLまで、1づつ増やす。これが終ると、ηを、+1して同様なことを繰り返す。
【0007】
変化させる単位としては、図1に示した1画素(垂直方向には1走査線である)単位の他、半画素単位(この場合を半画素精度と言う)がある。例えば、広く用いられているMPEG−2 のMV表現には、画素精度と半画素精度がある。半画素精度の時は実効的に1/2づつ増やす。また、半画素精度で行うための内挿回路が必要であるが、本発明では直接の関係がないため略記する。さらに最近では、1/4や1/8画素精度もあるが、この場合も基本的な構成は同じである。
【0008】
なお、MVの求め方には、上記のフレーム単位の場合の他、フィールド単位の場合がある。符号化において、前者ではMVがマクロブロック当り1本なのに対し、後者では2本を要する。フレーム単位で動きを補償するフレーム予測はゆっくりした動きを伴う部分や静止部分の予測に適しており、フィールド単位で動きを補償するフィールド予測は早い動きを伴う部分の予測に適している。そのため、例えばMPEG−2やMPEG−4では、マクロブロック毎に動き補償の方法をフレーム予測とフィールド予測から選択できる。また、MPEG−2では、さらにフレーム単位で適用する動き補償方法をフレーム予測とフィールド予測から選択できる。
【0009】
そして、MV情報ならびにフレーム構造/フィールド構造の識別情報と、MVだけずらせた前フレームのブロックから現フレームを予測した時の予測誤差を、それぞれ符号化して、両者を合わせて符号化データとする。
【0010】
符号化データの生成方法ならびに符号化データの復元方法については、非特許文献1及び非特許文献2詳細が記載されているため割愛するが、本発明に関連するインタレース信号のマクロブロック構造と動きベクトルの予測符号化手順についてMPEG−4の場合を例として簡単に触れておく。
【0011】
MPEG−4のマクロブロックはフレーム構造であり、16×16画素の輝度ブロック1個と8×8画素の色差ブロック2個(4:2:0フォーマットの場合)から構成される。図4のブロック30が輝度ブロック、ブロック31と32が色差ブロックを示している。図上のラインは信号の走査線を示しており、ここでは、実線が第1フィールド(TOP Field)、破線が第2フィールド(Bottom Field)を意味しているものと考える。
【0012】
MVがマクロブロック当り1本とするフレーム予測の場合には、図4のように2つのフィールドが混在したブロックを単位としてMVの探索と符号化を実施する。この場合、参照とする過去あるいは未来の画像もフレーム構造とする。
【0013】
フィールド単位で動き補償を行う場合には、図5のようにマクロブロックの3信号ブロック40〜42をそれぞれ2個のフィールド単位のブロック(実線がtopフィールドブロック、破線がbottomフィールドブロック)に分け、フィールド単位でMVの探索と符号化を実施する。この場合、参照とする過去あるいは未来の画像もフィールド構造とする。したがって、フィールド単位の動きベクトルの垂直成分の値は、フレーム単位のベクトルの垂直成分に換算すると半分の値となる。
【0014】
一般の符号化方法では、MVはベクトル成分そのものの値ではなく、各成分毎に周囲のブロックから予測値を求め、その差分値を符号化する。復号化側では、復号した差分値に符号化側と同じ方法で求めた予測値を加算することで元の値を再生する。
【0015】
一般的な予測動きベクトルの生成方法を示す。動きベクトルを符号化する対象のブロックを50と仮定する。動きベクトルの水平・垂直成分それぞれについて、隣接位置A, B, Cに位置する3ブロックの動きベクトルを候補としてその中間値を計算し、中間値を各動きベクトル成分の予測値とする。但し、Cに位置するブロックが存在しない場合(画像の外)には、Dに位置するブロックの動きベクトルにて代用する。
【0016】
MPEG−4では、1つのフレーム内にフレーム構造のマクロブロックとフィールド構造のマクロブロックが混在するため、予測の際には垂直成分のフェーズの違いを統一的に扱う処理が必要となる。予測の候補となるA, B, Cに位置するブロックのいずれかがフィールド構造の場合には、そのブロックに属する2本のMVの垂直成分をそれぞれ2倍するとともに、各成分の平均値を求め、1本の予測候補とする。符号化対象ブロック50がフィールド構造の場合には、隣接位置A, B, Cから選択された予測動きベクトルを2本のMVの予測動きベクトルとして用いる。但し、垂直成分については1/2倍した値を予測値する。符号化対象ブロック50がフレーム構造の場合には、予測動きベクトルの垂直成分のフェーズは符号化する符号化対象ブロックの動きベクトルと同じであるため、垂直成分を1/2倍する処理は行わない。
【非特許文献1】
MPEG−2: ITU−T Rec. H.262(2000)|ISO/IEC 13818−2:2000 (2000年12月15日発行)
【非特許文献2】
MPEG−4: ISO/IEC 14496−2:2001 (2001年12月01日発行)
【0017】
【発明が解決しようとする課題】
飛越走査の画像信号をフレーム構造として扱う場合に、MVの垂直成分が、事実上偶数走査線のみと見なすことができるという特徴が既存の標準では見逃されている。そのため、既存の標準では、フレーム構造で動きの補償を行うフレーム予測においても、偶数走査線単位ではなく、奇数走査線も含めた1走査線を単位とした冗長な処理がなされている。
【0018】
【課題を解決するための手段】
フレーム予測を適用する際、垂直方向の動き探索を偶数画素(偶数走査線)のみに限定する。また、MVの垂直成分を偶数値に限定した表現に変更することにより、フレーム予測時のMVの情報量を削減する。
【0019】
【発明の実施の形態】
以下、図面を用いて本願発明を説明する。
【0020】
飛越走査の画像信号、例えばTV信号では、MVの垂直成分は、事実上偶数走査線のみと見なすことができる。これを、図2と図3を用いて説明する。
【0021】
フィールドとフィールドの間に物体が図2に示すように動いたとする。その結果、両フィールドを合わせたフレーム画像は、図3のようになる。即ち、水平移動成分がある場合、フレーム画像においてはその垂直エッジ部分に特有のギザギザが生じる。
【0022】
このようなフレーム画像では、MVの垂直成分は奇数画素(奇数走査線)になり得ない。何故なら、奇数番目走査線と偶数番目走査線における画像のズレ、即ち、ギザギザの様子が、近接するフレームで変わることはほとんどあり得ず、SADが小さくなるためには垂直の偏倚は奇数にならざるを得ないからである。
【0023】
したがって、MVの垂直成分として、奇数画素(奇数走査線)に符号語を割当てる必要がない。
【0024】
本発明では、以上説明したように、飛越走査においては、フレーム予測のMVの垂直成分には偶数画素(偶数走査線)しかないことを利用して、情報量の削減を行い、符号化効率の向上を実現する。
【0025】
即ち、MVの垂直成分については、垂直方向には偶数画素又は偶数走査線のみの偏倚を与えて探索することにより偶数値のみに限定する。そして、非特許文献1や2に定義されるような動きベクトル符号化用の符号化テーブルにおいて偶数値、奇数値の両者に割り与えられている符号語(コード)を、偶数値にのみ与えることによって、同一偶数値に与えられる符号語のビット数を減らす。これにより、符号化効率の向上が図られる。
【0026】
回路構成上では、MVにおける垂直アドレスを変更するη計数回路7において、フレーム予測を行う場合に偶数画素又は偶数走査線のみの偏倚を与える点が従来と異なる。この点を図10に示す。即ち、マクロブロックがフレーム構造の場合には、従来η計数回路7によってηを1だけ増減していたものを、初期値を偶数として2づつ増減するようにスイッチ11を切り替える。これによって、ηは偶数値のみをとることになる。マクロブロックがフィールド構造の場合には、従来の方法と同様にηを1づつ増減する。整数画素探索間隔の設定手順例を図9に示す。ここでは、探索範囲を全探索とし、フレーム/フィールド構造をマクロブロック毎に切り換える場合を例に説明する。まず、探索対象のマクロブロックが切り出され(処理100)、その構造が判定される(処理101)。フレーム構造の場合には、探索開始位置(処理111)の設定後、探索開始位置の水平成分が奇数走査線上の画素の場合には(処理115)、処理112にて偶数画素に修正される。修正の方法としては1画素プラスするなどの手段が考えられる。次に、参照画像をフレーム構造に設定した後(処理113)、探索画素間隔を水平成分1画素、垂直成分2画素に設定する(処理114)。マクロブロック構造がフィールドの場合には、最初にtopフィールドブロック(図5の実線)を切り出す(処理121)。次に、探索開始画素を予測動きベクトルが示す画素に設定し、参照画像をtopフィールドに設定する(処理122と123)。探索画素間隔は、水平成分・垂直成分とも1画素に設定する(処理124)。この処理121〜124をbottomフィールドブロックに対しても実施する。
【0027】
ここでは、全探索を例に説明したが、画素を間引き整数探索を行う場合もある。その場合には、処理114にて垂直成分の探索画素間隔を2の倍数に設定する。また、ここでは予測動きベクトルと探索開始位置としているが、これを0ベクトルとする場合もある。その場合には、処理112は必要ない。
【0028】
又、ここでは、MVの精度を整数画素精度としているが、従来の技術の項目で示したように、これが、半画素精度あるいは1/4画素精度以上の高精度の場合であっても基本構成は同じである。
【0029】
次に、MVの精度を1/2画素精度とした場合を例として、フレーム構造のマクロブロックにおける動きベクトルの符号化ならびに復号化方法を示す。本発明では、垂直方向成分の動きベクトル符号化精度が、マクロブロック構造によって異なるため、精度の異なる動きベクトルがフレーム上に混在する。そのため、精度の低いフレーム構造のマクロブロックに含まれる動きベクトルの垂直成分(…−4,−2, 0, 2, 4…)を、符号化方式にて定められた通常の精度(この例では1/2画素精度, …−2, −1.5, −1, −0.5, 0, 0.5, 1, 1.5, 2…)と同様の方法で符号化することは、決して発生しない値(この例では、−1.5, −1, −0.5, 0.5, 1, 1.5など奇数値と少数値以下第一位が5となる値)を含んだ符号化テーブルを使用することを意味する。これは、符号化効率の面で好ましくない。そこで本発明では、ベクトル表現をスケーリング処理にて変更することにより、符号化効率を低減することなく、通常精度の動きベクトル成分の値と同じ符号化方式(符号化テーブル)を用いることを可能にする。具体的には、フレーム構造のマクロブロックについて、動きベクトルの垂直成分の値を1/4倍(半画素精度の場合)して符号化する。この処理により、垂直成分の値の候補である…−4, −2, 0, 2, 4…は、それぞれ…−1,−0.5, 0, 0.5, 1…として扱われることになる。この際、予測動きベクトルの垂直成分についても、復号側での再現性を確保するため、偶数の値に量子化する。以下に、スケーリング処理の演算式を示す。
下記の式では、MVを1/2画素精度表現の動きベクトル成分を2倍した値、PMVを1/2画素精度表現の予測動きベクトル成分を2倍した値とする。つまり、MVとPMVの値は整数(…−2, −1, 0, 1, 2…)となる。このとき、符号化する差分動きベクトルMVDは以下の式にて算出される。
水平成分:
MVD = MV − PMV
垂直成分:
MVD = (MV − ((PMV>>2)<<2))>>2
または
MVD = (MV>>2) (PMV>>2)
または
MVD = (MV/4) (PMV/4).
このように、フレーム構造のマクロブロックでは、動きベクトルの垂直成分が偶数の数に限定されるため、通常の半画素精度の動きベクトル成分値に対して、1/4倍の値で符号化できる。ここで、割り算でなく、シフト処理を用いているのは、演算工数を減らすためである。垂直成分の第2例について、スケーリング回路の構成例を図11と12に示す。図11では、水平成分への処理を
MVD = (MV>>0) (PMV>>0)
とし、シフト値をフレーム/フィールド構造選択ならびに水平/垂直成分選択という2個のパラメータによってスイッチ203にて切り替える構成である。動きベクトルMVと予測動きベクトルPMVは、それぞれ、スイッチ203によって選択されたシフト値により右シフト演算ユニット201にてシフト処理される。出力値は差分ユニット202にて差分処理され、差分動きベクトルMVDが得られる。図12でも同じ2個のパラメータを用いるが、シフト値ではなく、スイッチ204にて右シフト処理を行うか否かを切り替える構成である。この構成では、水平成分の場合やフィールド構造の場合には、シフト処理は行われない。
【0030】
一方、復号化側では、復号したMVDならびにPMVから、以下の逆スケーリング式にしたがって、各動きベクトル成分の復号MV値を再生する。具体的には、1/2画素精度の動き補償を想定した本例では、フレーム構造のマクロブロックにおける動きベクトルの垂直成分を4倍する。この際、符号化側と同様に予測動きベクトルの垂直成分は、符号化側での再現性を確保するため、偶数の値に量子化する。これらの処理により、フレーム構造のマクロブロックにおける動きベクトルの垂直成分の値は、偶数値に戻される。本処理を行うことにより、復号MV値はすべて1/2画素精度の値に復元され、復号側での動き補償ならびに動きベクトルの予測処理をベクトルの精度を気にせずに統一的に実施することが可能となる。
水平成分:
MV = MVD + PMV
垂直成分:
MV = (MVD<<2) + ((PMV>>2)<<2)
または
MV = (MVD + (PMV>>2))<<2
または
MV = (MVD + (PMV/4))×4.
垂直成分の第2例について、逆スケーリング回路の構成例を図13と14に示す。図13では、水平成分を
MV = (MVD + (PMV>>0))<<0
とし、シフト値をフレーム/フィールド構造ならびに水平/垂直成分という2個のパラメータによってスイッチ203にて切り替える構成である。まず予測動きベクトルPMVは、スイッチ203によって選択されたシフト値により右シフト演算ユニット201にてシフト処理される。シフト処理後の予測動きベクトルと復号された差分動きベクトルMVDは加算ユニット205にて加算処理される。その出力値は、スイッチ203にて選択されたシフト値により左シフト演算ユニット206にて左シフト処理され復号動きベクトルMVを得る。図14でも同じ2個のパラメータを用いるが、シフト値ではなく、スイッチ204にてシフト処理を行うか否かを切り替える構成である。この構成では、水平成分の場合やフィールド構造の場合には、シフト処理は行われない。なお、図11と図13は、2個のパラメータの値に関わらず処理手順が同じであるため、並列処理に向いており、図12と図14は回路規模こそ大きくなるが、高速処理に向いている。さらに、図12と図14については、スイッチ204を用いる代わりに、図15、16に示すように2通りの回路を用意し、パラメータに応じてその使用を切り替えるように設計する方法もある。
【0031】
ここまでは、MV探索時の評価尺度をSADとしてきたが、動きベクトルの影響を考慮した評価尺度を用いるとより効果的である。例えば、符号化する動きベクトルの本数が少ないフレーム構造の場合についてSADから一定値を引くことで、フレーム構造のマクロブロックを選択されやすくする方法がよく用いられる。
【0032】
ここまでは、動きベクトルの精度を半画素精度として説明してきたが、1/4画素精度やそれ以上の高精度でも本発明は適用できる。例えば、1/4画素精度の場合には、フレーム構造のマクロブロックにおける垂直成分の動きベクトル探索について、奇数画素と1/2画素に加えて1/4画素の探索が省略される。この1/4画素精度の場合には、動きベクトルのスケーリング処理では動きベクトルを1/8倍(3ビットシフト)、逆スケーリング処理では8倍する。なお、動き補償の精度が符号化側と復号側で予め定められている通常の符号化/復号化方法では、スケーリング/逆スケーリングを行う際のシフト値は、一意に決定するため、その識別は必要ない。非特許文献2のように2種類の動き補償精度の選択が可能な符号化方式においても、シーケンスあるいはフレームのヘッダ情報として識別情報が伝送されるため、シフト値は事前に知りえる。
【0033】
ここまでは、輝度信号について述べてきたが、ここで色信号についても触れておく。一般の画像符号化方法では、色差信号用の動きベクトルは符号化せず、輝度信号のものをスケーリングして用いる。たとえば、色差フォーマットが4:2:0の場合、輝度信号の動きベクトルの水平・垂直成分をそれぞれ1/2倍して用いる。そのため、本発明を4:2:0色差フォーマットの画像に適用する場合、フレーム構造のマクロブロックにおける輝度信号の動きベクトルの垂直成分の±2.0, 6.0, 10.0....は、色差信号の動きベクトルの垂直成分に換算すると奇数値となる点に注意する必要がある。この場合、フレーム構造の信号としてそのまま奇数値を用いても画像符号化・復号化の手順としては完結しているため方法としての問題は発生しない。しかしながら、これは、1つのマクロブロックにおいて、同一フィールドに属する輝度信号の画素と色差信号の画素が異なるフィールドを対象に動き補償を行うことを意味する。そこで、内挿処理にて生成した同一フィールド内の内挿画素を用いる場合も考えられる。いずれの場合においても、動きベクトルそのものの表現方法ならびに動きベクトルの符号化/復号化方法は変わらないため本発明の構成が適用できる。なお、色差フォーマットが、4:2:2ならびに4:4:4の場合においては、ここで説明した色差信号の問題は発生しない。したがって、本発明の動きベクトル表現ならびに動きベクトル符号化・復号化方法が適用できる。
【0034】
フレーム/フィールド構造を識別する単位としては、図4と図5に示すようなマクロブロック単位の他に、図7と図8に示すように、2個マクロブロックにて区別する場合もある。この場合には、符号化する動きベクトルの数はフレーム構造であってもフィールド構造であっても同じであり、また予測動きベクトルの選定方法も異なるが、フレーム構造における垂直方向の動きベクトル探索ならびに動きベクトルの符号化/復号化については、本発明の構成が適用できる。
【0035】
ここまでは、フレーム/フィールド構造の識別をマクロブロック単位で行う場合について説明してきたが、フレーム単位で切り換える場合もある。この場合には、フレーム構造を選択したフレームに対して、本発明の動きベクトル表現ならびに動きベクトル符号化/復号化方法が適用できる。
【0036】
ここまでは、マクロブロック内の動きベクトルをフレーム構造では1本、フィールド構造では2本として説明してきた。しかしながら、マクロブロックをさらに小ブロックに分割し、その小ブロック単位で動き補償を行う方法も最近では頻繁に用いられる。このように小ブロック分割を実施する符号化/復号化方法おいても、小ブロックがフレーム構造の場合には、動きベクトルの垂直成分を偶数値に限定する本発明の動きベクトル表現ならびに動きベクトル符号化/復号化方法は適用できる。
以下、上記構成に関連した他の実施例を記載する。
(1)ゼロベクトル優遇との関連:画像中に特徴点の乏しい平坦ブロック(空や壁など)では、雑音などの影響で、無意味に大きなMVが探索される場合がある。同様に、[MV垂直成分=奇数]となる場合もあり得る。前者の無意味なMVを避けるため、ゼロベクトル優遇と言う方法が周知である。本発明の場合、このような領域では、しかし、ゼロベクトル優遇により、MV=0(偶数)となる場合が多く、奇数となる場合の数はさらに減る。
(2)MV垂直成分の表現の統一:フィールド単位の予測の場合、MVはフィールド内での走査線数を単位として表している。フレーム予測で、偶数を単位として表すことは、フィールド内の走査線数を単位として表すのと等価であり、統一性があり制御しやすい。
(3)予測モード選択:予測方法の何れのモードを採るかは、符号器設計者の決める所であるが、本願発明を採用することにより、MVが1本でよいフレーム予測が有利となる範囲が拡がる。
(4)MV探索範囲の減少: MVの垂直成分を偶数のみに限定するので、探索ステップ数は当然のことながら半画素精度の場合の1/4以下になる。MV探索は、符号器の処理ステップに占める負担が大きく、これが軽減されれば、回路構成が簡素かされる等の効果がある。
(5)MV垂直成分としては、飛び越し走査画像の特徴を考慮した新規の符号化テーブルを用意することが望ましい。しかし、従来に近い方法としては、偶数値を2で割った値に従来の符号語を割当て、復号の際に2倍するという方法もある。
(6)従来技術の説明や実施例においては、通常用いられているブロックマッチングの場合を示したが、勾配法など、他の手段においても本発明は適用できる。
【0037】
【発明の効果】
ほぼ現在の回路形式を踏襲しながら、動きベクトル垂直成分を偶数単位で探索することにより、符号化効率の向上、および/あるいは回路構成の簡易化が実現する。
【図面の簡単な説明】
【図1】動きベクトルMV探索の公知の一般的な説明図。
【図2】移動する画像例の説明図。
【図3】飛越走査信号からフレーム画像を構成したときの画像例の説明図。
【図4】フレーム構造のマクロブロックの構成を示す図。
【図5】フィールド構造のマクロブロックの構成を示す図。
【図6】予測動きベクトル選定方法の説明図。
【図7】フレーム構造のマクロブロックの別構成を示す図。
【図8】フィールド構造のマクロブロックの構成を示す図。
【図9】整数探索画素設定処理の流れ図。
【図10】本発明における動きベクトルMV探索の回路構成例。
【図11】本発明における動きベクトルスケーリング回路の構成図例。
【図12】本発明における動きベクトルスケーリング回路の構成図別例。
【図13】本発明における復号動きベクトル逆スケーリング回路の構成図例。
【図14】本発明における復号動きベクトル逆スケーリング回路の構成図別例。
【図15】本発明における動きベクトルスケーリング回路の構成図第3例。
【図16】本発明における復号動きベクトル逆スケーリング回路の構成図第3例。
【符号の説明】
1…テレビジョン信号の現フレーム、2…動きベクトルを探索するブロック、3…参照するブロック(例えば前のフレーム)、7…動きベクトルの垂直成分ηを探索するためのη計数回路、9…さらに小さなSADが見付かったとき(差分値が負のとき)、SADやξηをセットするための差分回路、10…探索された動きベクトルの結果を記憶するξη回路、30、60…フレーム構造の輝度ブロック、31、32、61、62…フレーム構造の色差ブロック、40、70…フィールド構造の輝度ブロック、41、42、71、72…フィールド構造の色差ブロック、201…右シフト処理ユニット、203…差分ユニット、203、204…スイッチャー、205…加算ユニット、206…左シフト処理ユニット。
[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to a technique for encoding / decoding compressed video data, and more particularly to a technique for expressing a motion vector in an interlaced image and a technique for encoding / decoding a motion vector.
[0002]
[Prior art]
As high-efficiency encoding of a television signal (hereinafter, referred to as a TV signal), there is motion-compensated inter-frame prediction encoding, and MPEG and the like based on this are already well known. In this method, as is well known, two frames that are temporally different from each other are compared to find out how the moving object has moved from the previous frame, and the motion is compensated for each block ( Perform the inter-frame prediction (return the position by that amount). In the backward prediction, prediction is performed from a future frame.
[0003]
Usually, a search for a motion vector (MV) is performed by block matching, as shown in FIG. That is, the current frame 1, f n (X, y) is divided into blocks 2 (strictly speaking, macroblocks), and the MV is searched for each block. In the interlaced scanning, there may be a field instead of a frame. This and past frame 3 (may be a future frame in backward prediction in bidirectional prediction) f n-1 With reference to (x, y), this frame 3 is shifted by (ξ, η),
SAD (ξ, η) = Σ | f n (X, y) -f n-1 (X + ξ, y + η) | (1)
Is calculated. This is performed by the absolute difference circuit 4 and the summation circuit 5. Then, (ξ, η) in the equation (1) is gradually changed in the search range (−L to L) by the で counting circuit 6 and the η counting circuit 7 to minimize the SAD. (Ξ, η) is MV. The search range is not always equal both horizontally and vertically.
[0004]
To do this, the SAD obtained at (あ る, η) is compared with the previously obtained value of the minimum value storage circuit 8, and if it is smaller than the previous minimum value, that is, the output of the difference circuit 9 is negative. In this case, the SAD is stored in the minimum value storage circuit 8. Further, (ξ, η) at this time is stored in the ξη storage circuit 10.
[0005]
This operation is repeated for the entire search range while changing (ξ, η). As a result, since (AD, η) at which the SAD is minimized is stored in the ξη circuit 10, it is output as MV. When searching for an MV of an image block, a sufficiently large value is set as an initial value of the SAD minimum value.
[0006]
As a method of changing (ξ, η), for example, η is set to a certain value, and ξ is increased by one from −L to L. When this is completed, η is incremented by 1 and the same is repeated.
[0007]
As a unit for changing, there is a half-pixel unit (this case is called half-pixel accuracy) in addition to the one-pixel (one scanning line in the vertical direction) unit shown in FIG. For example, the widely used MPEG-2 MV expression has pixel accuracy and half-pixel accuracy. For half-pixel accuracy, the value is effectively increased by 1 /. In addition, an interpolation circuit for performing the processing with half-pixel accuracy is required, but is omitted in the present invention because there is no direct relation in the present invention. More recently, 1/4 or 1/8 pixel accuracy is available, but in this case the basic configuration is the same.
[0008]
Note that the MV can be obtained in a field unit in addition to the frame unit. In coding, the former requires one MV per macroblock, while the latter requires two. Frame prediction that compensates for motion in units of frame is suitable for prediction of a portion with slow motion or a still portion, and field prediction that compensates for motion in units of field is suitable for prediction of a portion that includes fast motion. Therefore, for example, in MPEG-2 or MPEG-4, a motion compensation method can be selected from frame prediction and field prediction for each macroblock. In MPEG-2, a motion compensation method to be applied for each frame can be further selected from frame prediction and field prediction.
[0009]
Then, the MV information, the frame structure / field structure identification information, and the prediction error when the current frame is predicted from the block of the previous frame shifted by the MV are coded, respectively, and the two are combined to obtain coded data.
[0010]
The method of generating encoded data and the method of restoring encoded data are described in detail in Non-Patent Document 1 and Non-Patent Document 2, and thus are omitted. However, the macroblock structure and motion of an interlaced signal related to the present invention are omitted. The procedure for predictive encoding of a vector will be briefly described using MPEG-4 as an example.
[0011]
The MPEG-4 macro block has a frame structure, and includes one 16 × 16 pixel luminance block and two 8 × 8 pixel color difference blocks (in the case of the 4: 2: 0 format). Block 30 in FIG. 4 is a luminance block, and blocks 31 and 32 are chrominance blocks. The lines on the drawing indicate the scanning lines of the signal. Here, it is assumed that the solid line indicates the first field (TOP Field) and the broken line indicates the second field (Bottom Field).
[0012]
In the case of frame prediction in which the number of MVs is one per macroblock, MV search and encoding are performed in units of blocks in which two fields are mixed as shown in FIG. In this case, a past or future image to be referred to has a frame structure.
[0013]
When performing motion compensation on a field basis, the three signal blocks 40 to 42 of the macroblock are divided into two field unit blocks (solid line is a top field block, broken line is a bottom field block) as shown in FIG. MV search and encoding are performed in field units. In this case, the past or future image to be referred to has a field structure. Therefore, the value of the vertical component of the motion vector in the field unit becomes half the value when converted into the vertical component of the vector in the frame unit.
[0014]
In a general encoding method, MV is not a value of a vector component itself, but a prediction value is obtained from a surrounding block for each component, and the difference value is encoded. The decoding side reproduces the original value by adding the predicted value obtained by the same method as the encoding side to the decoded difference value.
[0015]
A method for generating a general predicted motion vector will be described. It is assumed that the target block for coding a motion vector is 50. For each of the horizontal and vertical components of the motion vector, a motion vector of three blocks located at adjacent positions A, B, and C is set as a candidate, and an intermediate value is calculated, and the intermediate value is used as a predicted value of each motion vector component. However, when the block located at C does not exist (outside the image), the motion vector of the block located at D is substituted.
[0016]
In MPEG-4, since a macroblock having a frame structure and a macroblock having a field structure are mixed in one frame, it is necessary to perform a process for uniformly treating a difference in a phase of a vertical component at the time of prediction. If any of the blocks located at A, B, and C, which are candidates for prediction, has a field structure, the vertical components of the two MVs belonging to that block are each doubled, and the average value of each component is calculated. , One prediction candidate. When the encoding target block 50 has a field structure, a predicted motion vector selected from adjacent positions A, B, and C is used as a predicted motion vector of two MVs. However, for the vertical component, the predicted value is し た times as large. When the current block 50 has a frame structure, the phase of the vertical component of the predicted motion vector is the same as the motion vector of the current block to be coded. Therefore, the process of halving the vertical component is not performed. .
[Non-patent document 1]
MPEG-2: ITU-T Rec. H. 262 (2000) | ISO / IEC 13818-2: 2000 (Issued December 15, 2000)
[Non-patent document 2]
MPEG-4: ISO / IEC 14496-2: 2001 (issued on December 01, 2001)
[0017]
[Problems to be solved by the invention]
In the case where an image signal of interlaced scanning is treated as a frame structure, the feature that the vertical component of MV can be regarded as substantially only even-numbered scanning lines is overlooked in the existing standards. For this reason, in the existing standard, even in frame prediction for performing motion compensation in a frame structure, redundant processing is performed not in even scan line units but in one scan line including odd scan lines.
[0018]
[Means for Solving the Problems]
When applying frame prediction, the motion search in the vertical direction is limited to only even pixels (even scan lines). Also, by changing the vertical component of the MV to an expression limited to even values, the information amount of the MV at the time of frame prediction is reduced.
[0019]
BEST MODE FOR CARRYING OUT THE INVENTION
Hereinafter, the present invention will be described with reference to the drawings.
[0020]
In an image signal of an interlaced scan, for example, a TV signal, the vertical component of the MV can be regarded as practically only an even scan line. This will be described with reference to FIGS.
[0021]
Assume that the object moves between the fields as shown in FIG. As a result, a frame image combining both fields is as shown in FIG. That is, when there is a horizontal movement component, a jaggedness peculiar to the vertical edge portion occurs in the frame image.
[0022]
In such a frame image, the vertical component of MV cannot be an odd pixel (odd scan line). This is because the image shift between the odd-numbered scan lines and the even-numbered scan lines, i.e., the jagged appearance, is unlikely to change in adjacent frames, and in order to reduce the SAD, the vertical deviation must be odd. It is inevitable.
[0023]
Therefore, it is not necessary to assign a code word to an odd pixel (odd scan line) as a vertical component of the MV.
[0024]
In the present invention, as described above, in the interlaced scanning, the amount of information is reduced by using only the even pixels (even scanning lines) in the vertical component of the MV for frame prediction, and the encoding efficiency is reduced. Realize improvement.
[0025]
That is, the vertical component of the MV is limited to only the even value by performing a search by applying a bias of only even pixels or even scanning lines in the vertical direction. Then, in an encoding table for motion vector encoding as defined in Non-Patent Documents 1 and 2, code words (codes) assigned to both even and odd values are given only to even values. Reduces the number of bits of a codeword given to the same even value. As a result, the coding efficiency is improved.
[0026]
In terms of the circuit configuration, the η counting circuit 7 for changing the vertical address in the MV differs from the conventional one in that only the even pixels or even scanning lines are biased when performing frame prediction. This is shown in FIG. That is, when the macro block has a frame structure, the switch 11 is switched so that the value of [eta] is increased or decreased by 1 by the [eta] counting circuit 7 so that the initial value is increased by 2 by an even number. As a result, η takes only even values. When the macroblock has a field structure, η is increased or decreased by one as in the conventional method. FIG. 9 shows an example of a procedure for setting the integer pixel search interval. Here, a case will be described as an example where the search range is a full search and the frame / field structure is switched for each macroblock. First, a macroblock to be searched is cut out (process 100), and its structure is determined (process 101). In the case of the frame structure, after the search start position (process 111) is set, if the horizontal component of the search start position is a pixel on an odd scan line (process 115), it is corrected to an even pixel in process 112. As a method of correction, a method of adding one pixel is considered. Next, after setting the reference image in a frame structure (process 113), the search pixel interval is set to one horizontal component and two vertical components (process 114). If the macroblock structure is a field, a top field block (solid line in FIG. 5) is cut out first (process 121). Next, the search start pixel is set to the pixel indicated by the predicted motion vector, and the reference image is set to the top field (steps 122 and 123). The search pixel interval is set to one pixel for both the horizontal and vertical components (process 124). These processes 121 to 124 are also performed on the bottom field block.
[0027]
Here, the full search has been described as an example, but a pixel-thinning integer search may be performed in some cases. In that case, the search pixel interval of the vertical component is set to a multiple of 2 in processing 114. Although the predicted motion vector and the search start position are set here, the vector may be set to the zero vector. In that case, the process 112 is not required.
[0028]
Here, the precision of the MV is assumed to be the integer pixel precision. However, as shown in the item of the prior art, even if the precision is a half pixel precision or a high precision of 1/4 pixel precision or more, the basic configuration Is the same.
[0029]
Next, a method of encoding and decoding a motion vector in a macroblock having a frame structure will be described by taking, as an example, a case where the MV precision is set to 1/2 pixel precision. In the present invention, the motion vector encoding precision of the vertical component differs depending on the macroblock structure, and therefore, motion vectors with different precisions coexist on a frame. Therefore, the vertical components (... -4, −2, 0, 2, 4,...) Of the motion vector included in the macroblock having the low-precision frame structure are converted into the normal accuracy determined by the encoding method (in this example, 1/2 pixel precision, ... -2, -1.5, -1, -0.5, 0, 0.5, 1, 1.5, 2 ...) A code containing a value that does not occur (in this example, an odd value such as -1.5, -1, -0.5, 0.5, 1, 1.5, and a value whose first place is 5 below the decimal value) Means to use a conversion table. This is not preferable in terms of coding efficiency. Therefore, in the present invention, it is possible to use the same encoding method (encoding table) as the value of the motion vector component of normal accuracy without reducing the encoding efficiency by changing the vector expression by scaling processing. I do. Specifically, a macroblock having a frame structure is coded by multiplying the value of the vertical component of the motion vector by 4 (in the case of half-pixel accuracy). By this processing, the candidates for the value of the vertical component,... -4, −2, 0, 2, 4,..., Are treated as −1, −0.5, 0, 0.5, 1,. Become. At this time, the vertical component of the predicted motion vector is also quantized to an even value in order to ensure reproducibility on the decoding side. The following shows the arithmetic expression of the scaling process.
In the following expression, MV is a value obtained by doubling a motion vector component expressed in half-pixel accuracy, and PMV is a value obtained by doubling a predicted motion vector component expressed in half-pixel accuracy. That is, the values of MV and PMV are integers (...- 2, -1, 0, 1, 2, ...). At this time, the differential motion vector MVD to be encoded is calculated by the following equation.
Horizontal component:
MVD = MV−PMV
Vertical component:
MVD = (MV − ((PMV >> 2) << 2)) >> 2
Or
MVD = (MV >> 2) (PMV >> 2)
Or
MVD = (MV / 4) (PMV / 4).
As described above, in the macroblock having the frame structure, since the vertical component of the motion vector is limited to an even number, the motion vector component value can be encoded at a quarter of the normal half-pixel precision motion vector component value. . Here, the reason why shift processing is used instead of division is to reduce the number of calculation steps. 11 and 12 show configuration examples of the scaling circuit for the second example of the vertical component. In FIG. 11, the processing for the horizontal component is
MVD = (MV >> 0) (PMV >> 0)
In this configuration, the shift value is switched by the switch 203 using two parameters of frame / field structure selection and horizontal / vertical component selection. The motion vector MV and the predicted motion vector PMV are respectively shifted by the right shift operation unit 201 according to the shift value selected by the switch 203. The output value is subjected to a difference process in the difference unit 202 to obtain a difference motion vector MVD. Although the same two parameters are used in FIG. 12 as well, the switch 204 is used to switch whether or not to perform the right shift processing instead of the shift value. In this configuration, no shift processing is performed for a horizontal component or a field structure.
[0030]
On the other hand, the decoding side reproduces the decoded MV value of each motion vector component from the decoded MVD and PMV according to the following inverse scaling formula. Specifically, in this example assuming motion compensation with half-pixel accuracy, the vertical component of a motion vector in a macroblock having a frame structure is quadrupled. At this time, the vertical component of the predicted motion vector is quantized to an even value in order to ensure reproducibility on the encoding side, as in the encoding side. Through these processes, the value of the vertical component of the motion vector in the macroblock having the frame structure is returned to an even value. By performing this process, the decoded MV values are all restored to values of 1/2 pixel precision, and the motion compensation and the motion vector prediction processing on the decoding side are performed unifiedly without regard to the vector precision. Becomes possible.
Horizontal component:
MV = MVD + PMV
Vertical component:
MV = (MVD << 2) + ((PMV >> 2) << 2)
Or
MV = (MVD + (PMV >> 2)) << 2
Or
MV = (MVD + (PMV / 4)) × 4.
13 and 14 show configuration examples of the inverse scaling circuit for the second example of the vertical component. In FIG. 13, the horizontal component is
MV = (MVD + (PMV >> 0)) <<<< 0
In this configuration, the shift value is switched by the switch 203 using two parameters of a frame / field structure and a horizontal / vertical component. First, the predicted motion vector PMV is shifted by the right shift operation unit 201 according to the shift value selected by the switch 203. The addition unit 205 performs an addition process on the predicted motion vector after the shift process and the decoded difference motion vector MVD. The output value is left-shifted by the left shift operation unit 206 according to the shift value selected by the switch 203 to obtain a decoded motion vector MV. In FIG. 14, the same two parameters are used, but a switch 204 is used to switch whether or not to perform a shift process, instead of a shift value. In this configuration, no shift processing is performed for a horizontal component or a field structure. 11 and 13 are suitable for parallel processing because the processing procedure is the same regardless of the values of the two parameters, and FIGS. 12 and 14 are suitable for high-speed processing although the circuit scale is large. ing. Further, in FIGS. 12 and 14, instead of using the switch 204, there is also a method of preparing two types of circuits as shown in FIGS. 15 and 16 and designing to switch the use according to parameters.
[0031]
Until now, the evaluation scale at the time of MV search has been SAD, but it is more effective to use an evaluation scale considering the influence of the motion vector. For example, in a case of a frame structure in which the number of motion vectors to be coded is small, a method is often used in which a certain value is subtracted from the SAD to make it easier to select a macroblock having the frame structure.
[0032]
Up to this point, the accuracy of the motion vector has been described as half-pixel accuracy. However, the present invention can be applied to 1/4 pixel accuracy or higher. For example, in the case of 1/4 pixel precision, in the search for a vertical component motion vector in a macroblock having a frame structure, the search for 1/4 pixel in addition to odd pixels and 1/2 pixel is omitted. In the case of this 1/4 pixel precision, the motion vector is multiplied by 1/8 (3 bit shift) in the scaling processing of the motion vector, and is multiplied by 8 in the inverse scaling processing. In a normal encoding / decoding method in which the accuracy of motion compensation is predetermined on the encoding side and the decoding side, a shift value when performing scaling / inverse scaling is uniquely determined. unnecessary. Even in an encoding method in which two types of motion compensation accuracy can be selected as in Non-Patent Document 2, since the identification information is transmitted as header information of a sequence or a frame, the shift value can be known in advance.
[0033]
So far, the luminance signal has been described, but the chrominance signal will also be described here. In a general image encoding method, a motion vector for a color difference signal is not encoded, but a luminance signal is scaled and used. For example, when the color difference format is 4: 2: 0, the horizontal and vertical components of the motion vector of the luminance signal are each multiplied by 1/2. Therefore, when the present invention is applied to a 4: 2: 0 chrominance format image, ± 2.0, 6.0, 10.0. Of vertical components of a motion vector of a luminance signal in a macroblock having a frame structure. . . . It should be noted that when converted to the vertical component of the motion vector of the color difference signal, the value becomes an odd value. In this case, even if an odd value is used as it is as a signal of the frame structure, the procedure of image encoding / decoding is completed, and thus no problem occurs as a method. However, this means that, in one macroblock, motion compensation is performed on a field in which a pixel of a luminance signal and a pixel of a chrominance signal belonging to the same field are different. Therefore, it is conceivable to use interpolated pixels in the same field generated by the interpolation process. In any case, since the method of expressing the motion vector itself and the method of encoding / decoding the motion vector do not change, the configuration of the present invention can be applied. When the color difference formats are 4: 2: 2 and 4: 4: 4, the problem of the color difference signal described here does not occur. Therefore, the motion vector expression and the motion vector encoding / decoding method of the present invention can be applied.
[0034]
As a unit for identifying the frame / field structure, in addition to a macroblock unit as shown in FIGS. 4 and 5, there is also a case where two macroblocks are used for distinction as shown in FIGS. In this case, the number of motion vectors to be encoded is the same whether the frame structure or the field structure, and the method of selecting a predicted motion vector is different. The configuration of the present invention can be applied to encoding / decoding of a motion vector.
[0035]
The case where the frame / field structure is identified in units of macroblocks has been described above, but switching may be performed in units of frames. In this case, the motion vector expression and the motion vector encoding / decoding method of the present invention can be applied to a frame whose frame structure is selected.
[0036]
Until now, it has been described that the number of motion vectors in the macro block is one in the frame structure and two in the field structure. However, recently, a method of further dividing a macroblock into small blocks and performing motion compensation in units of the small blocks is frequently used. Even in the encoding / decoding method for performing the small block division as described above, when the small block has a frame structure, the motion vector expression and the motion vector code of the present invention for limiting the vertical component of the motion vector to an even value. The encryption / decryption method can be applied.
Hereinafter, other embodiments related to the above configuration will be described.
(1) Relationship with zero vector preferential treatment: In a flat block (sky, wall, etc.) with few feature points in an image, a meaninglessly large MV may be searched due to the influence of noise or the like. Similarly, there may be a case where [MV vertical component = odd number]. In order to avoid the former meaningless MV, a method called zero vector preferential treatment is well known. In the case of the present invention, in such a region, however, MV = 0 (even number) often occurs due to preferential zero vector, and the number of odd cases further decreases.
(2) Unification of expression of MV vertical component: In the case of prediction on a field basis, MV represents the number of scanning lines in a field as a unit. Expressing an even number as a unit in frame prediction is equivalent to expressing the number of scanning lines in a field as a unit, which is uniform and easy to control.
(3) Prediction mode selection: Which mode of the prediction method is to be adopted is determined by the encoder designer, but by adopting the present invention, a range in which frame prediction requiring only one MV is advantageous. Expands.
(4) Reduction of MV search range: Since the vertical component of the MV is limited to only even numbers, the number of search steps is naturally 以下 or less of the case of half-pixel accuracy. The MV search has a large burden on the processing steps of the encoder, and if this is reduced, there is an effect that the circuit configuration is simplified.
(5) As the MV vertical component, it is desirable to prepare a new encoding table in consideration of the characteristics of the interlaced scan image. However, as a method similar to the conventional method, there is a method of allocating a conventional codeword to a value obtained by dividing an even value by 2, and doubling the value at the time of decoding.
(6) In the description and the embodiments of the prior art, the case of block matching that is usually used is shown, but the present invention can be applied to other means such as a gradient method.
[0037]
【The invention's effect】
By searching for the vertical component of the motion vector in an even number unit while substantially following the current circuit format, it is possible to improve the coding efficiency and / or simplify the circuit configuration.
[Brief description of the drawings]
FIG. 1 is a known general explanatory diagram of a motion vector MV search.
FIG. 2 is an explanatory diagram of an example of a moving image.
FIG. 3 is an explanatory diagram of an example of an image when a frame image is formed from interlaced scanning signals.
FIG. 4 is a diagram showing a configuration of a macroblock having a frame structure.
FIG. 5 is a diagram showing a configuration of a macroblock having a field structure.
FIG. 6 is an explanatory diagram of a prediction motion vector selection method.
FIG. 7 is a diagram showing another configuration of a macro block having a frame structure.
FIG. 8 is a diagram showing a configuration of a macroblock having a field structure.
FIG. 9 is a flowchart of an integer search pixel setting process.
FIG. 10 is a circuit configuration example of a motion vector MV search according to the present invention.
FIG. 11 is an example of a configuration diagram of a motion vector scaling circuit according to the present invention.
FIG. 12 is another example of a configuration diagram of a motion vector scaling circuit according to the present invention.
FIG. 13 is a configuration diagram example of a decoded motion vector inverse scaling circuit according to the present invention.
FIG. 14 is another example of a configuration diagram of a decoded motion vector inverse scaling circuit according to the present invention.
FIG. 15 is a third example of a configuration diagram of a motion vector scaling circuit according to the present invention.
FIG. 16 is a third example of a configuration diagram of a decoded motion vector inverse scaling circuit according to the present invention.
[Explanation of symbols]
1 ... current frame of television signal, 2 ... block for searching motion vector, 3 ... block to be referred to (for example, previous frame), 7 ... η counting circuit for searching vertical component η of motion vector, 9 ... When a small SAD is found (when the difference value is negative), a difference circuit for setting the SAD or ξη, a… η circuit for storing the result of the searched motion vector, 30, 60 a luminance block having a frame structure .., 31, 32, 61, 62... Frame-structure color difference blocks, 40, 70... Field structure luminance blocks, 41, 42, 71, 72... Field structure color difference blocks, 201 .right shift processing unit, 203. , 203, 204: switcher, 205: addition unit, 206: left shift processing unit.

Claims (5)

飛越走査された画像信号の動き補償フレーム間予測符号化において、フレーム画像のブロック単位に動きベクトルを探索する際に、垂直方向には偶数画素又は偶数走査線のみとする偏倚を与えて探索することを特徴とする符号化方法。In motion-compensated inter-frame predictive coding of an interlaced image signal, when searching for a motion vector for each frame image block, search is performed by giving a bias that only an even pixel or an even scan line is provided in the vertical direction. An encoding method characterized by the following. 飛越走査された2つのフィールド画像から構成されるフレーム画像をブロック分割し、ブロックの動き補償をフレーム構造で行う場合に、動きベクトルの垂直成分の値を偶数の数の精度に限定して動き探索を行うとともに、探索の結果検出された動きベクトルの垂直成分を偶数の数の精度で符号化することを特徴とする符号化方法。When a frame image composed of two interlaced scanned field images is divided into blocks and motion compensation of the blocks is performed using a frame structure, the motion search is performed by limiting the value of the vertical component of the motion vector to an even number of accuracy. And encoding the vertical component of the motion vector detected as a result of the search with an even number of accuracy. 飛越走査された2つのフィールド画像から構成されるフレーム画像をブロック分割し、ブロックの動き補償をフレーム構造で行う場合に、動きベクトルの垂直成分を偶数の数に限定して動き探索を行うとともに、探索の結果検出された動きベクトルの垂直成分と偶数の精度に精度修正した予測動きベクトルの垂直成分の差分値を偶数の数の精度で符号化することを特徴とする符号化方法。When a frame image composed of two interlaced field images is divided into blocks and motion compensation of the blocks is performed in a frame structure, a motion search is performed while limiting the vertical component of the motion vector to an even number. A coding method characterized by coding a difference value between a vertical component of a motion vector detected as a result of a search and a vertical component of a predicted motion vector corrected to an even precision with an even precision. 飛越走査された2つのフィールド画像から構成されるフレーム画像の符号化データをブロック単位で復号する方法であって、ブロックの動き補償をフレーム構造で行う場合に、復号した動きベクトルの垂直成分の値を偶数値に修正することを特徴とする復号化方法。This is a method of decoding coded data of a frame image composed of two interlaced field images in units of blocks. When motion compensation of a block is performed in a frame structure, a value of a vertical component of a decoded motion vector is used. Is corrected to an even value. 飛越走査された2つのフィールド画像から構成されるフレーム画像の符号化データをブロック単位で復号する方法であって、ブロックの動き補償をフレーム構造で行う場合に、復号した動きベクトルデータの垂直成分の値と偶数の精度に精度修正した予測動きベクトルの垂直成分の値との加算値を算出したのち、該加算値を偶数値に修正することを特徴とする復号化方法。This is a method of decoding coded data of a frame image composed of two interlaced field images in units of blocks. When performing motion compensation of a block in a frame structure, a vertical component of decoded motion vector data is decoded. A decoding method comprising: calculating an added value of a value and a value of a vertical component of a predicted motion vector whose accuracy has been corrected to an even number, and then correcting the added value to an even value.
JP2003022982A 2003-01-31 2003-01-31 Encoding method and decoding method Pending JP2004236049A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003022982A JP2004236049A (en) 2003-01-31 2003-01-31 Encoding method and decoding method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003022982A JP2004236049A (en) 2003-01-31 2003-01-31 Encoding method and decoding method

Publications (1)

Publication Number Publication Date
JP2004236049A true JP2004236049A (en) 2004-08-19

Family

ID=32951917

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003022982A Pending JP2004236049A (en) 2003-01-31 2003-01-31 Encoding method and decoding method

Country Status (1)

Country Link
JP (1) JP2004236049A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009088038A1 (en) * 2008-01-09 2009-07-16 Mitsubishi Electric Corporation Image encoding device, image decoding device, image encoding method, and image decoding method
CN112335248A (en) * 2018-06-29 2021-02-05 英迪股份有限公司 Video encoding method and apparatus using motion compensation at decoder side

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009088038A1 (en) * 2008-01-09 2009-07-16 Mitsubishi Electric Corporation Image encoding device, image decoding device, image encoding method, and image decoding method
JP5197630B2 (en) * 2008-01-09 2013-05-15 三菱電機株式会社 Image encoding device, image decoding device, image encoding method, and image decoding method
CN112335248A (en) * 2018-06-29 2021-02-05 英迪股份有限公司 Video encoding method and apparatus using motion compensation at decoder side
CN112335248B (en) * 2018-06-29 2023-12-05 英迪股份有限公司 Video coding method and apparatus using decoder-side motion compensation

Similar Documents

Publication Publication Date Title
KR100924850B1 (en) Moving picture signal coding method and decoding method
JP5368631B2 (en) Image encoding method, apparatus, and program
US8625669B2 (en) Predicting motion vectors for fields of forward-predicted interlaced video frames
US20040240550A1 (en) Moving picture signal coding method, decoding method, coding apparatus, and decoding apparatus
CN112292861B (en) Sub-pixel accurate correction method based on error surface for decoding end motion vector correction
JP2005318297A (en) Method and device for encoding/decoding dynamic image
JP2004242309A (en) Motion picture encoding/decoding method in interlace scan system and apparatus therefor
JP2009027446A (en) Image processing method and image processor
JP2004236049A (en) Encoding method and decoding method
JP5479648B1 (en) Image encoding method and image decoding method
JP5444497B2 (en) Image encoding method and image decoding method
JP5571262B2 (en) Image encoding method and image decoding method
JP6609004B2 (en) Image encoding method and image decoding method
JP6367452B2 (en) Image encoding method and image decoding method
JP6370977B2 (en) Image encoding method and image decoding method
JP4779207B2 (en) Motion vector conversion apparatus and motion vector conversion method
JP6271694B2 (en) Image encoding method and image decoding method
JP6196341B2 (en) Image encoding method and image decoding method
JP5659314B1 (en) Image encoding method and image decoding method
JP2020025308A (en) Image encoding method and image decoding method
JP5571229B2 (en) Image encoding method and image decoding method
JP5509398B1 (en) Image encoding method and image decoding method
JP2014131293A (en) Image encoding method and image decoding method
JP2014131295A (en) Image encoding method and image decoding method
JP2001313948A (en) Device and method for motion vector conversion