JP2004165785A - Image coding method, image decoding method, image coder, image decoder, image coding program, image decoding program and recording medium with the programs - Google Patents

Image coding method, image decoding method, image coder, image decoder, image coding program, image decoding program and recording medium with the programs Download PDF

Info

Publication number
JP2004165785A
JP2004165785A JP2002326638A JP2002326638A JP2004165785A JP 2004165785 A JP2004165785 A JP 2004165785A JP 2002326638 A JP2002326638 A JP 2002326638A JP 2002326638 A JP2002326638 A JP 2002326638A JP 2004165785 A JP2004165785 A JP 2004165785A
Authority
JP
Japan
Prior art keywords
filter coefficient
motion vector
image
image information
unit
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.)
Granted
Application number
JP2002326638A
Other languages
Japanese (ja)
Other versions
JP3999634B2 (en
Inventor
Hideaki Kimata
英明 木全
Yoshiyuki Yashima
由幸 八島
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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2002326638A priority Critical patent/JP3999634B2/en
Publication of JP2004165785A publication Critical patent/JP2004165785A/en
Application granted granted Critical
Publication of JP3999634B2 publication Critical patent/JP3999634B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To improve the coding efficiency in coding a moving picture by reducing the code quantity without changing filter coefficients for forming image information at fractional positions. <P>SOLUTION: A motion searching unit 16 executes a motion search over all patterns of filter coefficients designated by a filter coefficient designator 15 to obtain motion vectors based on image information inputted to an image input unit 11, a filter coefficient determining unit 17 determines filter coefficients at which the difference evaluation value Wm is minimum as filter coefficients of a macro block, a filter coefficient selective motion vector coding unit 18 codes a combination of information of whether the determined filter coefficients are different from reference filter coefficients with motion vector information, and a filter coefficient coding unit 19 codes information of designating the filter coefficient if the determined filter coefficients are different from the reference filter coefficients. <P>COPYRIGHT: (C)2004,JPO

Description

【0001】
【発明の属する技術分野】
本発明は,動画像符号化,復号に関する技術であり,特に画面を分割した領域毎に分数位置の画像情報を作成するフィルタの係数を予め設定した基準の値にするのか変更するのかを示す情報と動きベクトル情報の組み合わせを符号化することにより,符号化効率を向上することを可能とした画像符号化方法,画像復号方法,画像符号化装置および画像復号装置に関する。
【0002】
【従来の技術】
動き補償符号化方法では,マクロブロック(以下ではMBと書く)やブロック等の領域毎に,参照フレーム内画像情報から予測画像を作成し,現フレームの画像との間で差分(予測誤差)を符号化する。一般的に通常の動き補償では,現フレームの領域の位置と予測画像の位置との差分は領域全体の平行移動量(x,y)であり,これを動きベクトルと呼ぶ。予測画像の探索手法としては一般的にブロックマッチング方法が用いられる。
【0003】
ブロックマッチングでは,符号化対象の領域を中心とした正方形の探索範囲(サーチウィンドウ)を参照フレーム内に設定し,現フレームの領域内画素とサーチウィンドウ内の画素との間の画像情報の差分が最も小さくなる位置を,サーチウィンドウ内で探索する。この差分の計算方法は,絶対値差分和や平均2乗誤差などが用いられる。ブロックマッチングの概念図を図14に示す。絶対値差分和W(x,y)の計算方法を式(1)に示す。この差分が小さいほど,予測誤差も少なくなり符号化効率が高くなる。
【0004】
【数1】

Figure 2004165785
【0005】
ブロックサイズがN×N画素であり,(i,j)はブロック内の画素位置,f(a,b,c)はフレームc内の符号化対象ブロックにおける画素位置(a,b)の画素値を表している。
【0006】
動きベクトルは,整数精度または分数精度または実数精度のいずれでも表現することが可能である。分数精度や実数精度では,実際には画素の無い位置の画像情報を作る必要がある。分数精度と実数精度の場合には,対応する位置の画像情報を周囲の整数位置の画素の画像情報から求める。例えば,実数精度で周囲4画素からの線形補間によって求める場合で,図15に示すような左上の画素から(a,b)の位置の画像情報を求める場合には,式(2)により求める。実数精度は,任意の位置の画像情報を作ることができるが,符号化側と復号側で演算精度が異なる場合があるため,復号側で正確に復号できない場合がある。
【0007】
【数2】
Figure 2004165785
【0008】
整数位置の画素の画像情報から,実数精度または分数精度の画像情報を求める方法として,線形補間以外の方法によって分数位置の画像情報を作り,その後で整数位置と分数位置の画像情報を使って平行移動位置の画像情報を求めることも可能である。例えば周囲の複数画素から1/2精度の位置の画像情報をタップ数の長いフィルタによって求め,続いて1/4精度や1/8精度の位置の画像情報を整数精度と1/2精度の画像情報から線形補間によって求めることも可能である。
【0009】
まず,横方向にタップ数MのフィルタをM個の整数画素位置の画像情報に適用して横方向1/2精度の位置の画像情報を作成する。次に縦方向にタップ数NのフィルタをN個の整数画素位置の画像情報またはN個の1/2精度位置の画像情報に適用して縦方向1/2精度の位置の画像情報を作成する。タップ数6のフィルタの係数は,例えば
(1/32,−5/32,20/32,20/32,−5/32,1/32)となる。フィルタの係数は対称であっても非対称であってもよい。
【0010】
タップ数が4の場合の1/2精度の画像情報を求めるフィルタ方法の例を図16(A)および図16(B)に示す。1/4精度や1/8精度の位置の画像情報も線形補間ではなく,フィルタ方法を適用して求めてもよい。また,1/2精度の位置の画像情報から求めるのではなく,整数位置から非対称フィルタ係数のフィルタを用いて直接求めてもよい。
【0011】
図17は,現マクロブロックと周囲のマクロブロックの位置関係を示す図である。現領域の動きベクトル(x,y)に対して,周囲の領域の動きベクトルから予測したベクトルからの差分を求め,この差分情報をエントロピー符号化する。例えば現マクロブロックMVcの領域と周囲のマクロブロックMV1,MV2,MV3の領域が図17に示す位置関係にある場合に,周囲の領域の動きベクトルが(x1,y1),(x2,y2),(x3,y3)であり,予測ベクトルを(px,py)とすると,pxをx1,x2,x3のうちの中間値に設定し,pyをy1,y2,y3のうちの中間値に設定する。
【0012】
動きベクトルの差分をルックアップテーブルを使って可変長符号化する際のテーブルの例を図18に示す。
【0013】
なお,フレームまたはマクロブロック単位に,フィルタ係数を適応的に変更することにより,予測誤差を低減する方法として,下記の非特許文献1,2に記載されている方法が,従来提案されている。これらの方法には,フレーム全体またはマクロブロック全体のフィルタ係数を変更してしまうため,各ブロックにフィルタ係数を最適化できないという問題がある。また,フィルタ係数を指定する情報のオーバーヘッドを軽減する手法が取り入れられていないといった課題がある。
【0014】
【非特許文献1】
T.Wedi, ”Adaptive Interpolation Filter for Motion Compensated Hybrid Video Coding”, Picture Coding Symposium(PCS 2001), 2001.
【非特許文献2】
Kei−ichi Chono and Yoshihiro Miyamoto, ”Modified Adaptive Interpolation Filter”, JVT−D078, Joint Video Team(JVT) of ISO/IEC MPEG & ITU−T VCEG Meeting,2002.
【0015】
【発明が解決しようとする課題】
画面を領域に分割して符号化する場合,1/2精度などの分数位置の画像情報をフィルタ方法で作成する際に,領域毎にフィルタの係数を変更すると,より予測誤差の少ない予測画像を作成することが可能である。そこでフィルタの係数を領域毎に符号化する方法も考えられるが,フィルタを変更することによる予測誤差の低減が少ない場合には,すべての領域に対してフィルタの係数を符号化すると,かえって符号量が増えてしまう。
【0016】
本発明は上記問題点の解決を図り,動き補償の内挿フィルタをブロック毎に変更可能にするとともに,そのフィルタ係数を指定する情報のオーバーヘッドを軽減し,画像符号化における符号量の削減を可能とすることを目的とする。
【0017】
【課題を解決するための手段】
以上の課題を解決するため,本発明は以下の方法を用いる。
【0018】
第1の発明は,現フレームの画像を分割した領域(以後,現領域と呼ぶ)毎に,既に符号化したフレームの画像情報から分数位置の画像情報を作成し,その分数位置の画像情報との間の予測誤差を符号化する画像符号化方法であって,分数位置の画像情報を作成するフィルタの係数を決定し,動きベクトルを探索する動き探索ステップと,前記動き探索ステップで決定したフィルタ係数と動きベクトルを使って予測画像を作成し,予測誤差を求めて予測誤差を符号化する動き補償ステップと,前記動き探索ステップで決定したフィルタ係数が,予め決めた基準のフィルタ係数と異なるかどうかと,探索された動きベクトルの値の組み合わせを符号化するフィルタ係数選択動きベクトル符号化ステップと,前記動き探索ステップで決定したフィルタ係数が,予め決めた基準のフィルタ係数と異なる場合にフィルタ係数を指定する情報を符号化するフィルタ係数符号化ステップとを有することを特徴とする。
【0019】
第1の発明によれば,動き補償において分数位置の画像情報を作成するフィルタの係数を,予め設定した基準のものにするのか変更するのかを示す情報と,動きベクトル情報の組み合わせを可変長符号化できる。
【0020】
係数を変更した個々のフィルタに関してはフィルタの係数を基準から変更することによる予測誤差の低減が少ないが,係数を変更したフィルタの総発生頻度が係数を変更しないフィルタの発生頻度と同じ程度になる場合に,一つの動きベクトルの値に対して,フィルタの係数を変更しない場合の発生頻度と変更した場合の発生頻度が同じ程度になる。
【0021】
他方,動きベクトルの値の発生頻度は絶対値が大きくなるにつれて減少する傾向にある。従って,ある動きベクトルの値を持ちフィルタの係数を変更した場合の発生頻度は,その動きベクトルよりも大きな値の動きベクトルでありフィルタの係数を変更しない場合の発生頻度よりも多くなる。
【0022】
そこで,フィルタの係数を予め設定した基準のものにするのか変更するのかを示す情報と,動きベクトル情報の組み合わせに対して可変長符号を割り当てる方法において,ある動きベクトルの値を持ちフィルタの係数を変更した場合の符号長を,その動きベクトルよりも大きな値の動きベクトルでありフィルタの係数を変更しない場合の符号長よりも短くするようにすれば,組み合わせの発生頻度が大きいほど符号長が短くなるテーブルを作成することができる。これにより,動きベクトルの値が小さくフィルタの係数を変更しない場合の符号量を,動きベクトルとフィルタの係数を個別に符号化する場合よりも,小さくすることができる。
【0023】
第2の発明は,現フレームの画像を分割した領域(以後,現領域と呼ぶ)毎に,既に符号化したフレームの画像情報から分数位置の画像情報を作成し,その分数位置の画像情報との間の予測誤差を符号化する画像符号化方法であって,分数位置の画像情報を作成するフィルタの係数を決定し,動きベクトルを探索する動き探索ステップと,周囲の領域の動きベクトルから予測動きベクトルを求め,求めた予測動きベクトルと,前記動き探索ステップで探索した動きベクトルの差分を求める動きベクトル差分作成ステップと,前記動き探索ステップで決定したフィルタ係数と動きベクトルを使って予測画像を作成し,予測誤差を求めて予測誤差を符号化する動き補償ステップと,前記動き探索ステップで決定したフィルタ係数が,予め決めた基準のフィルタ係数と異なるかどうかと,動きベクトルの差分の値の組み合わせを符号化するフィルタ係数選択動きベクトル符号化ステップと,前記動き探索ステップで決定したフィルタ係数が,予め決めた基準のフィルタ係数と異なる場合にフィルタ係数を指定する情報を符号化するフィルタ係数符号化ステップとを有することを特徴とする。
【0024】
第2の発明によれば,第1の発明のように動きベクトル自体を符号化する場合ではなく,周囲の既に符号化した領域の動きベクトルから予測される予測動きべクトルと現領域の動きベクトルの差分を符号化する場合において,動きベクトルの差分の値が小さくフィルタの係数を変更しない場合の符号量を,動きベクトルの差分とフィルタの係数を個別に符号化する場合よりも,小さくすることができる。
【0025】
第3の発明は,現フレームの画像を分割した領域(以後,現領域と呼ぶ)毎に,既に符号化したフレームの画像情報から分数位置の画像情報を作成し,その分数位置の画像情報との間の予測誤差を符号化する画像符号化方法であって,分数位置の画像情報を作成するフィルタの係数を決定し,動きベクトルを探索する動き探索ステップと,周囲の領域の動きベクトルから予測動きベクトルを求め,求めた予測動きベクトルと,前記動き探索ステップで探索した動きベクトルの差分を求める動きベクトル差分作成ステップと,周囲の領域のフィルタ係数から,現領域のフィルタの係数の予測値(予測フィルタ係数)を求めるフィルタ係数予測ステップとを有し,前記動きベクトル差分作成ステップで作成した動きベクトル差分の値が0である場合に,現領域のフィルタ係数を予測フィルタ係数と同じに設定するフィルタ係数再決定ステップと,決定したフィルタ係数と動きベクトルを使って予測画像を作成し予測誤差を求めて予測誤差を符号化する動き補償ステップと,動きベクトルの差分(0ベクトル)を符号化する動きベクトル符号化ステップとを有することを特徴とする。
【0026】
第3の発明によれば,周囲の既に符号化した領域の動きベクトルから予測される予測ベクトルと現領域の動きベクトルの差分を符号化する場合において,差分が0べクトルとなる場合のフィルタの係数を,既に符号化した周囲の領域のフィルタの係数から予測することにより,フィルタの係数を符号化することによる符号量の増加を避けることができる。差分が0ベクトルとなるような領域は周囲の領域と同じ動きをしていると考えられるため,フィルタ係数も同じものになる頻度が高くなる。
【0027】
【発明の実施の形態】
図面を用いて本発明の実施の形態を説明する。
【0028】
〔第1の実施の形態〕
第1の実施の形態では,1/2位置の画像情報を6タップのフィルタで作成し,1/4位置の画像情報をl/2位置または整数位置の画像情報から作成するものとする。1/2位置の画像情報を作成するフィルタの係数を基準のものから変更するかどうかを示す情報と,動きベクトルの値との組み合わせを可変長符号化する方法の例を示す。入力画像をマクロブロック毎に符号化するものとする。
【0029】
図1に本発明の第1の実施の形態に係る画像符号化装置の概要を示す。この画像符号化装置1は,現フレームの画像を入力する画像入力部11と,1/2位置の画像情報を作成するフィルタの係数を指定するフィルタ係数指定部15と,フィルタ係数指定部15で指定されたフィルタの係数を使って1/2位置の画像情報を作成し動きベクトルを探索する動き探索部16と,動き探索部16での動き探索結果を使い,1/2位置の画像情報を作成するフィルタの係数を決定するフィルタ係数決定部17と,決定されたフィルタ係数と探索された動きベクトルを使って予測画像を作成し予測誤差を求めて予測誤差を符号化する動き補償部12と,フィルタ係数決定部17で決定されたフィルタ係数が,予め決めた基準のフィルタ係数と異なるかどうかと,動き探索部16で探索された動きベクトルの値との組み合わせを符号化するフィルタ係数選択動きベクトル符号化部18と,フィルタ係数を指定する情報を符号化するフィルタ係数符号化部19と,予測誤差符号化データを復号する復号部13と,復号画像を蓄積する参照画像メモリ14とを備える。
【0030】
フィルタ係数指定部15で指定するフィルタ係数のうち,基準フィルタのフィルタ係数を,
(1/32,−5/32,20/32,20/32,−5/32,1/32)とする。これを係数0と呼ぶこととする。
【0031】
その他,係数1として,
(l/32,−5/32,27/32,12/32,−4/32,1/32)を指定し,係数2として,
(1/32,−4/32,12/32,27/32,−5/32,1/32)を指定するものとする。
【0032】
フィルタ係数指定部15は,まず横方向のフィルタ係数を固定して,縦方向のフィルタ係数を係数0,係数1,係数2に順に変更して指定する。その後,横方向のフィルタ係数を変更して固定し,縦方向のフィルタ係数を変更して指定する。動き探索部16は,指定されたフィルタ係数を使い動き探索を行う。動き探索部16では,差分の評価尺度として絶対値差分和に動きベクトルの符号量を加えた差分評価値Wmを使うものとする。
【0033】
Wmの計算式を式(3)に示す。Nmv(x,y)は動きベクトル(x,y)の符号量である。
【0034】
【数3】
Figure 2004165785
【0035】
動き探索部16では,フィルタ係数指定部15で指定される各フィルタ係数に対する動きベクトルを求める。横方向フィルタ係数が係数i,縦方向のフィルタ係数が係数jの場合に,探索で得られた差分評価値WmをWmijと書くこととする。その後,フィルタ係数決定部17は,各フィルタ係数に対する動き探索結果Wmの値を比較し,最も値の小さい場合のフィルタ係数を,そのマクロブロックのフィルタ係数に決定する。また,そのときの動きベクトルをそのマクロブロックの動きベクトルとする。
【0036】
フィルタ係数選択動きベクトル符号化部18は,フィルタ係数決定部17で決定されたフィルタ係数が,予め決めた基準のフィルタ係数(係数0)と異なるかどうかを示す情報と,動き探索部16で探索された動きベクトルの値との組み合わせに対して,図2に示すルックアップテーブルを使い可変長符号化するものとする。フィルタ係数符号化部19は,フィルタ係数を示す情報を,横方向フィルタ縦方向フィルタの順に,図3に示すルックアップテーブルを使って可変長符号化するものとする。
【0037】
図2のルックアップテーブルによれば,0ベクトルで基準フィルタ係数を使用する場合の符号量は1ビットとなり,フィルタ係数の変更の有無を符号化するに当り発生する符号量の増加を0ベクトルに関して避けることができる。
【0038】
このような前提で現画像をマクロブロック単位に次のように符号化する。まず,画像入力部11は現フレームの画像を入力する。フィルタ係数指定部15は,横方向フィルタ係数に係数0を縦方向フィルタ係数に係数0を指定する。動き探索部16は,指定されたフィルタ係数を使って1/2位置の画像情報を作成しながら,1/4位置まで動き探索を行い,Wm00と対応する動きベクトルを求める。このような処理を,フィルタ係数指定部15がフィルタの係数を変更しながら,全てのフィルタの係数のパターンについて行い,Wm00,Wm01,Wm02,Wm10,Wm11,Wm12,Wm20,Wm21,Wm22と,それに対応する動きベクトルを求める。
【0039】
フィルタ係数決定部17は,Wm00,Wm01,Wm02,Wm10,Wml1,Wm12,Wm20,Wm21,Wm22のうち,値が最も小さい場合のフィルタ係数を,そのマクロブロックのフィルタ係数に決定する。フィルタ係数選択動きベクトル符号化部18は,まず横方向に関して,この時のフィルタ係数が係数0であった場合には,フィルタ係数の変更が無しとして,動きベクトルの横方向の値を符号化する。フィルタ係数が係数0でない場合には,フィルタ係数の変更が有りとして,動きベクトルの横方向の値を符号化する。
【0040】
縦方向動きベクトルも同様に符号化する。フィルタ係数符号化部19は,横方向フィルタ係数が係数0でない場合に横方向フィルタ係数を符号化し,更に縦方向フィルタ係数が係数0でない場合に縦方向フィルタ係数を符号化する。動き補償部12は,フィルタ係数決定部17で決定されたフィルタ係数を使って動き補償を行い,現マクロブロックの画像情報を符号化する。復号部13は,符号化データを復号し復号画像を作成し,参照画像メモリに蓄積する。以上の手順をすべてのマクロブロックに対して繰り返し処理する。
【0041】
図4は,本発明の第1の実施の形態に係る画像復号装置の概要を示す図である。この画像復号装置2は,1/2位置の画像情報を作成する際に使用されるフィルタ係数が,予め決めた基準のフィルタ係数(係数0)と異なるかどうかと,動きベクトルの値の組み合わせを復号するフィルタ係数選択動きベクトル復号部21と,フィルタ係数を指定する情報を復号するフィルタ係数復号部22と,フィルタ係数と動きベクトルを使って予測画像を作成し予測誤差を求めて予測誤差符号化データを復号し復号画像を作成する動き補償部23と,復号画像を蓄積する参照画像メモリ24とを備える。
【0042】
上記の画像符号化装置1で得られた符号化データを復号する手順を示す。符号化データは,マクロブロック毎に次のように復号される。フィルタ係数選択動きベクトル復号部21は,まず横方向に関して,符号化データの中から図2に示したルックアップテーブルを使って,フィルタ係数が係数0と異なるかどうかと,動きベクトルの値の組み合わせを復号する。フィルタ係数が係数0と異なる場合には,フィルタ係数復号部22は,横方向フィルタ係数を復号する。次にフィルタ係数選択動きベクトル復号部21は,縦方向に関して,フィルタ係数が係数0と異なるかどうかと,動きベクトルの値の組み合わせを復号する。フィルタ係数が係数0と異なる場合には,フィルタ係数復号部22は,縦方向フィルタ係数を復号する。
【0043】
動き補償部23は,フィルタ係数復号部22で復号されたフィルタ係数を使って動き補償を行い,符号化データを復号して復号画像を作成し,参照画像メモリ24に蓄積する。なおフィルタ係数復号部22でフィルタ係数を復号しない場合には,フィルタ係数を係数0に設定して動き補償を行う。以上の手順をすべてのマクロブロックに対して繰り返し処理する。
【0044】
〔第2の実施の形態〕
次に,第2の実施の形態として,動きベクトル符号化部が,動きベクトル自体ではなく予測動きベクトルとの差分を符号化する場合の例を示す。また1/2位置の画像情報を6タップのフィルタで作成した後,1/4位置と1/8位置の画像情報を線形補間により作成するものとする。
【0045】
図5は,第2の実施の形態に係る画像符号化装置の概要を示す図である。この画像符号化装置3は,現フレームの画像を入力する画像入力部31と,1/2位置の画像情報を作成するフィルタの係数を指定するフィルタ係数指定部35と,フィルタ係数指定部35で指定されたフィルタの係数を使って1/2位置の画像情報を作成し動きベクトルを探索する動き探索部36と,動き探索部36での動き探索結果を使い,1/2位置の画像情報を作成するフィルタの係数を決定するフィルタ係数決定部37と,決定されたフィルタ係数と探索された動きベクトルを使って予測画像を作成し予測誤差を求めて予測誤差を符号化する動き補償部32と,周囲のマクロブロックの動きベクトルから予測動きベクトルを求める予測動きベクトル作成部301と,フィルタ係数決定部37で決定されたフィルタ係数が,予め決めた基準のフィルタ係数と異なるかどうかと,動き探索部36で探索された動きベクトルと予測動きベクトル作成部301で作成された予測動きベクトルとの間の差分との組み合わせを符号化するフィルタ係数選択動きベクトル符号化部38と,フィルタ係数を指定する情報を符号化するフィルタ係数符号化部39と,予測誤差符号化データを復号する復号部33と,復号画像を蓄積する参照画像メモリ34とを備える。
【0046】
フィルタ係数指定部35と動き探索部36とフィルタ係数符号化部39の動作は,第1の実施の形態と同様である。フィルタ係数選択動きベクトル符号化部38は,フィルタ係数決定部37で決定されたフィルタ係数が,予め決めた基準のフィルタ係数(係数0)と異なるかどうかを示す情報と,動き探索部36で探索された動きベクトルと予測動きベクトルとの間の差分との組み合わせに対して,図6に示すルックアップテーブルを使い可変長符号化するものとする。ここで予測動きベクトルは,図17に示す位置の3つのマクロブロックMV1,MV2,MV3の動きベクトルのうち,中間のものを予測動きベクトルに選択するものとする。
【0047】
このような前提で現画像をマクロブロック単位に次のように符号化する。まず画像入力部31は現フレームの画像を入力する。予測動きベクトル作成部301は,予測動きべクトルを作成する。フィルタ係数指定部35は,横方向フィルタ係数に係数0を縦方向フィルタ係数に係数0を指定する。動き探索部36は,指定されたフィルタ係数を使って1/2位置の画像情報を作成しながら1/8位置まで動き探索を行い,Wm00と対応する動きベクトルを求める。
【0048】
このような処理を,フィルタ係数指定部35がフィルタの係数を変更しながら,全てのフィルタの係数のパターンについて行い,Wm00,Wm01,Wm02,Wm10,Wm11,Wm12,Wm20,Wm21,Wm22と,それに対応する動きベクトルを求める。フィルタ係数決定部37は,Wm00,Wm01,Wm02,Wm10,Wm11,Wm12,Wm20,Wm21,Wm22のうち,値が最も小さい場合のフィルタ係数を,そのマクロブロックのフィルタ係数に決定する。
【0049】
フィルタ係数選択動きベクトル符号化部38は,まず横方向に関して,この時のフィルタ係数が係数0であった場合には,フィルタ係数の変更が無しとして,探索された動きベクトルと予測動きベクトルの差分の横方向成分の値を符号化する。フィルタ係数が係数0でない場合には,フィルタ係数の変更が有りとして,探索された動きベクトルと予測動きベクトルの差分の横方向成分の値を符号化する。縦方向動きベクトルも同様に符号化する。フィルタ係数符号化部39は,横方向フィルタ係数が係数0でない場合に横方向フィルタ係数を符号化し,更に縦方向フィルタ係数が係数0でない場合に縦方向フィルタ係数を符号化する。
【0050】
動き補償部32は,フィルタ係数決定部37で決定されたフィルタ係数を使って動き補償を行い現マクロブロックの画像情報を符号化する。復号部33は符号化データを復号し復号画像を作成し,参照画像メモリ34に蓄積する。以上の手順をすべてのマクロブロックに対して繰り返し処理する。
【0051】
図7は,本発明の第2の実施の形態に係る画像復号装置の概要を示す図である。この画像復号装置4は,周囲のマクロブロックの動きべクトルから予測動きベクトルを求める予測動きベクトル作成部45と,1/2位置の画像情報を作成する際に使用されるフィルタ係数が,予め決めた基準のフィルタ係数(係数0)と異なるかどうかと,動きベクトルと予測動きベクトルとの間の差分の値の組み合わせを復号するフィルタ係数選択動きベクトル復号部41と,フィルタ係数を指定する情報を復号するフィルタ係数復号部42と,フィルタ係数と動きベクトルを使って予測画像を作成し予測誤差を求めて予測誤差符号化データを復号し復号画像を作成する動き補償部43と,復号画像を蓄積する参照画像メモリ44とを備える。
【0052】
上記の画像符号化装置3で得られた符号化データを復号する手順を示す。符号化データは,マクロブロック毎に次のように復号される。予測動きベクトル作成部45は予測動きベクトルを作成する。フィルタ係数選択動きベクトル復号部41は,まず横方向に関して,符号化データの中から図6に示したルックアップテーブルを使って,フィルタ係数が係数0と異なるかどうかと,動きベクトルと予測動きベクトルとの間の差分の値の組み合わせを復号する。フィルタ係数が係数0と異なる場合には,フィルタ係数復号部42は,横方向フィルタ係数を復号する。次にフィルタ係数選択動きベクトル復号部41は,縦方向に関して,フィルタ係数が係数0と異なるかどうかと,動きベクトルと予測動きベクトルとの間の差分の値の組み合わせを復号する。フィルタ係数が係数0と異なる場合には,フィルタ係数復号部42は,縦方向フィルタ係数を復号する。
【0053】
動き補償部43は,フィルタ係数復号部42で復号されたフィルタ係数を使って動き補償を行い,符号化データを復号して復号画像を作成し,参照画像メモリ44に蓄積する。なおフィルタ係数復号部42でフィルタ係数を復号しない場合には,フィルタ係数を係数0に設定して動き補償を行う。以上の手順をすべてのマクロブロックに対して繰り返し処理する。
【0054】
〔第3の実施の形態〕
次に,第3の実施の形態として,動きベクトル符号化部が,動きベクトル自体ではなく予測動きベクトルとの差分を符号化する場合の例を示す。また1/2位置の画像情報を6タップのフィルタで作成した後,1/4位置と1/8位置の画像情報を線形補間により作成するものとする。
【0055】
図8は,本発明の第3の実施の形態に係る画像符号化装置の概要を示す図である。この画像符号化装置5は,現フレームの画像を入力する画像入力部51と,1/2位置の画像情報を作成するフィルタの係数を指定するフィルタ係数指定部55と,フィルタ係数指定部55で指定されたフィルタの係数を使って1/2位置の画像情報を作成し動きベクトルを探索する動き探索部56と,動き探索部56での動き探索結果を使い,1/2位置の画像情報を作成するフィルタの係数を決定するフィルタ係数決定部57と,周囲のマクロブロックの動きベクトルから予測動きベクトルを求める予測動きベクトル作成部501と,周囲のマクロブロックのフィルタ係数から,現マクロブロックのフィルタの係数の予測値(予測フィルタ係数)を求めるフィルタ係数予測部502と,動き探索部56で探索された動きベクトルと予測動きベクトル作成部501で作成された予測動きベクトルとの差分の値が0かどうかを判断し,0の場合に,現マクロブロックのフィルタ係数を予測フィルタ係数と同じに設定するフィルタ係数再決定部503と,決定したフィルタ係数と動きベクトルを使って予測画像を作成し予測誤差を求めて予測誤差を符号化する動き補償部52と,決定されたフィルタ係数が予め決めた基準のフィルタ係数と異なるかどうかと,動き探索部56で探索された動きベクトルと予測動きベクトル作成部501で作成された予測動きベクトルとの間の差分との組み合わせを符号化するフィルタ係数選択動きベクトル符号化部58と,動き探索部56で探索された動きベクトルと予測動きベクトル作成部501で作成された予測動きベクトルとの差分を符号化する動きベクトル符号化部504と,予測誤差符号化データを復号する復号部53と,復号画像を蓄積する参照画像メモリ54とを備える。
【0056】
フィルタ係数指定部55と動き探索部56とフィルタ係数符号化部59の動作は第1の実施の形態と同様である。フィルタ係数再決定部503でフィルタ係数を再度決定する場合には,動きベクトルと予測動きベクトルとの差分の値を動きベクトル符号化部504で符号化する。ここで動きベクトル符号化部504は0ベクトルをビット0として符号化するものとする。
【0057】
フィルタ係数再決定部503でフィルタ係数を再度決定しない場合には,フィルタ係数選択動きベクトル符号化部58は,フィルタ係数決定部57で決定されたフィルタ係数が,予め決めた基準のフィルタ係数(係数0)と異なるかどうかを示す情報と,動き探索部56で探索された動きベクトルと予測動きベクトルとの間の差分との組み合わせに対して,図9に示すルックアップテーブルを使い可変長符号化するものとする。ここで予測動きベクトルは,図17に示す位置の3つのマクロブロックMV1,MV2,MV3の動きベクトルのうち,中間のものを予測動きベクトルに選択するものとする。
【0058】
また,フィルタ係数予測部502は,図17に示す位置の3つのマクロブロックMV1,MV2,MV3のフィルタ係数のうち,最も多く採用されているフィルタ係数を予測フィルタ係数とする。すべてが同じ頻度で採用されている場合には,係数0のフィルタを予測フィルタ係数とする。
【0059】
このような前提で現画像をマクロブロック単位に次のように符号化する。まず画像入力部51は,現フレームの画像を入力する。予測動きベクトル作成部501は,予測動きべクトルを作成する。フィルタ係数指定部55は,横方向フィルタ係数に係数0を縦方向フィルタ係数に係数0を指定する。動き探索部56は,指定されたフィルタ係数を使って1/2位置の画像情報を作成しながら1/8位置まで動き探索を行い,Wm00と対応する動きベクトルを求める。
【0060】
このような処理を,フィルタ係数指定部55がフィルタの係数を変更しながら,全てのフィルタの係数のパターンについて行い,Wm00,Wm01,Wm02,Wm10,Wm11,Wm12,Wm20,Wm21,Wm22と,それに対応する動きベクトルを求める。フィルタ係数決定部57は,Wm00,Wm01,Wm02,Wm10,Wm11,Wm12,Wm20,Wm21,Wm22のうち,値が最も小さい場合のフィルタ係数を,そのマクロブロックのフィルタ係数に決定する。
【0061】
ここで,まず横方向に関して,探索された動きベクトルと予測動きベクトルの差分の横方向成分の値が0である場合には,フィルタ係数予測部502は周囲のマクロブロックのフィルタ係数からフィルタ係数を予測し,フィルタ係数再決定部503はフィルタの係数を予測したフィルタの係数に設定する。動き補償部52は,フィルタ係数再決定部503で決定されたフィルタ係数を使って動き補償を行い現マクロブロックの画像情報を符号化する。
【0062】
動きベクトル符号化部504は探索された動きベクトルと予測動きベクトルの差分の横方向成分の値を符号化する。復号部53は符号化データを復号し復号画像を作成し,参照画像メモリ54に蓄積する。探索された動きベクトルと予測動きベクトルの差分の横方向成分の値が0でない場合には,フィルタ係数選択動きベクトル符号化部58は,まず横方向に関して,この時のフィルタ係数が係数0であった場合には,フィルタ係数の変更が無しとして,探索された動きベクトルと予測動きベクトルの差分の横方向成分の値を符号化する。
【0063】
フィルタ係数が係数0でない場合には,フィルタ係数の変更が有りとして,探索された動きベクトルと予測動きベクトルの差分の横方向成分の値を符号化する。フィルタ係数符号化部59は,横方向フィルタ係数が係数0でない場合に横方向フィルタ係数を符号化し,動き補償部52は,フィルタ係数決定部57で決定されたフィルタ係数を使って動き補償を行い現マクロブロックの画像情報を符号化する。復号部53は符号化データを復号し復号画像を作成し,参照画像メモリ54に蓄積する。
【0064】
続いて縦方向に関しても同様に,縦方向の動きベクトルの差分とフィルタ係数を符号化する。以上の手順をすべてのマクロブロックに対して繰り返し処理する。
【0065】
図10は,本発明の第3の実施の形態に係る画像復号装置の概要を示す図である。この画像復号装置6は,周囲のマクロブロックの動きべクトルから予測動きベクトルを作成する予測動きベクトル作成部65と,1/2位置の画像情報を作成する際に使用されるフィルタ係数が,予め決めた基準のフィルタ係数と異なるかどうかと,動きベクトルと前記予測動きベクトルとの差分の値の組み合わせを復号するフィルタ係数選択動きベクトル復号部61と,動きベクトルと予測動きベクトルとの差分が0ベクトルの場合に,周囲のマクロブロックのフィルタ係数から,現領域のフィルタの係数の予測値(予測フィルタ係数)を求めるフィルタ係数予測部66と,フィルタ係数と動きベクトルを使って予測画像を作成し予測誤差を求めて予測誤差符号化データを復号し復号画像を作成する動き補償部63と,復号画像を蓄積する参照画像メモリ64とを備える。
【0066】
上記の画像符号化装置5で得られた符号化データを復号する手順を示す。符号化データは,マクロブロック毎に次のように復号される。予測動きベクトル作成部65は予測動きベクトルを作成する。フィルタ係数選択動きベクトル復号部61は,まず横方向に関して,符号化データの中から図9に示したルックアップテーブルを使って,フィルタ係数が係数0と異なるかどうかと,動きベクトルと予測動きベクトルとの間の差分の値の組み合わせを復号する。
【0067】
動きベクトルと予測動きベクトルとの間の差分が0の場合には,フィルタ係数予測部66は周囲のマクロブロックからフィルタ係数を予測し,そのマクロブロックの横方向のフィルタ係数とする。動きベクトルと予測動きベクトルとの間の差分が0では無く,フィルタ係数が係数0と異なる場合には,フィルタ係数復号部62は,横方向フィルタ係数を復号する。
【0068】
次に縦方向に関して,フィルタ係数選択動きベクトル復号部61は,フィルタ係数が係数0と異なるかどうかと,動きベクトルと予測動きベクトルとの間の差分の値の組み合わせを復号する。動きベクトルと予測動きベクトルとの間の差分が0の場合には,フィルタ係数予測部66は周囲のマクロブロックからフィルタ係数を予測し,そのマクロブロックの縦方向のフィルタ係数とする。動きベクトルと予測動きベクトルとの間の差分が0では無く,フィルタ係数が係数0と異なる場合には,フィルタ係数復号部62は,縦方向フィルタ係数を復号する。
【0069】
動き補償部63は,フィルタ係数復号部62で復号されたフィルタ係数を使って動き補償を行い,符号化データを復号して復号画像を作成し,参照画像メモリ64に蓄積する。なお動きベクトルと予測動きベクトルとの間の差分が0では無く,フィルタ係数復号部62でフィルタ係数を復号しない場合には,フィルタ係数を係数0に設定して動き補償を行う。
【0070】
以上の手順をすべてのマクロブロックに対して繰り返し処理する。
【0071】
図11は,本発明の有効性の確認のために,画像符号化装置5を用いた場合の画像Mobileにおける従来方式との符号量比較結果を示す図である。図11において,横軸は量子化スケールを表し,縦軸は従来方式と比較した場合の本方式による符号量の節減の割合を示している。シミュレーションは,JM1.9 (+Motion Copy)を用いた。これらの結果から明らかなように,本方式は,低ビットレートにおいても効率よく符号量を低減できていることが確認できた。
【0072】
なお,本発明の実施の形態では1/2位置の画像情報を6タップのフィルタを使って求める際の,フィルタの係数を変更する例を示したが,このタップ数は3以上の任意の正の整数を適用することが可能である。タップ数をマクロブロック毎に変更してもよい。また動き補償を行う領域としてマクロブロックを使用したが,縦横8画素のブロック等,他の矩形ブロックを使用してもよい。また1/2位置の画像情報ではなく,複数タップのフィルタによって1/4位置等の他の分数位置の画像情報を作成する際の,フィルタの係数やタップ数を変更してもよい。
【0073】
また,本発明の実施の形態では動きベクトルとフィルタ係数を横方向と縦方向とで別々に符号化したが,同時に符号化する方法も好適である。例えば図12に示したルックアップテーブルを使用して横方向と縦方向の動きベクトルとフィルタ係数を同時に符号化することもできる。
【0074】
また本発明の実施の形態では,全ての動きベクトル(または動きベクトルと予測動きベクトルとの差分)とフィルタ係数の変更の有無の組み合わせに対して可変長符号化を行ったが,一部の動きベクトルの値の場合に対して行う方法も好適である。例えば動きベクトルの値の短い場合のみ,動きベクトル(または動きベクトルと予測動きベクトルとの差分)とフィルタ係数の変更の有無の組み合わせを可変長符号化し,動きベクトルの値の長い場合にはフィルタ係数の変更の有無やフィルタ係数自体を個別に符号化する手法が挙げられる。
【0075】
動きベクトルの絶対値が0ではフィルタ係数を周囲の領域から予測し,絶対値が1/4では動きベクトルとフィルタ係数の変更の有無の組み合わせを符号化し,絶対値が1/2以上の値ではまず動きベクトルを符号化し,次にフィルタの係数を符号化する方法が挙げられる。この場合の動きベクトルのルックアップテーブルの例を図13に示す。
【0076】
このように本方式によれば,分数位置の画像情報をフィルタ方法で作成する際に,フィルタの係数と動きベクトルの組み合わせを符号化することにより,フィルタ係数を動きベクトルとは別に符号化する際の符号量の増加を避けることができる。
【0077】
【発明の効果】
本発明によれば,画像を領域に分割し,分数位置の画像情報をフィルタ方法で作成して動き補償する画像符号化方法において,領域毎に分数位置の画像情報を作成するフィルタの係数と動きベクトルの組み合わせを符号化することにより,フィルタ係数を動きベクトルとは別に符号化する際の符号量の増加を避けることができる。
【図面の簡単な説明】
【図1】第1の実施の形態の画像符号化装置の構成図である。
【図2】フィルタ係数変更の有無と動きベクトルの組み合わせの可変長符号の一例を示す図である。
【図3】フィルタ係数の可変長符号の一例を示す図である。
【図4】第1の実施の形態の画像復号装置の構成図である。
【図5】第2の実施の形態の画像符号化装置の構成図である。
【図6】フィルタ係数変更の有無と動きベクトルの組み合わせの可変長符号の一例を示す図である。
【図7】第2の実施の形態の画像復号装置の構成図である。
【図8】第3の実施の形態の画像符号化装置の構成図である。
【図9】フィルタ係数変更の有無と動きベクトルの組み合わせの可変長符号の一例を示す図である。
【図10】第3の実施の形態の画像復号装置の構成図である。
【図11】本方式による符号量の節減の効果を示す図である。
【図12】フィルタ係数変更の有無と動きベクトルの組み合わせの可変長符号の一例を示す図である。
【図13】フィルタ係数変更の有無と動きベクトルの組み合わせの可変長符号の一例を示す図である。
【図14】ブロックマッチングの概念図である。
【図15】画像情報の線形補間の一例を示す図である。
【図16】1/2精度の画像情報を求めるフィルタ方法の一例を示す図である。
【図17】現マクロブロックと周囲のマクロブロックの位置関係を示す図である。
【図18】動きベクトルの可変長符号の一例を示す図である。
【符号の説明】
1,3,5 画像符号化装置
2,4,6 画像復号装置
11,31,51 画像入力部
12,32,52 動き補償部
13,33,53 復号部
14,34,54 参照画像メモリ
15,35,55 フィルタ係数指定部
16,36,56 動き探索部
17,37,57 フィルタ係数決定部
18,38,58 フィルタ係数選択動きベクトル符号化部
19,39,59 フィルタ係数符号化部
301,501 予測動きベクトル作成部
502 フィルタ係数予測部
503 フィルタ係数再決定部
504 動きベクトル符号化部
21,41,61 フィルタ係数選択動きベクトル復号部
22,42,62 フィルタ係数復号部
23,43,63 動き補償部
24,44,64 参照画像メモリ
45,65 予測動きベクトル作成部
66 フィルタ係数予測部[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to a technique for encoding and decoding moving images, and in particular, information indicating whether a coefficient of a filter for creating image information at a fractional position for each divided area of a screen is set to a predetermined reference value or changed. TECHNICAL FIELD The present invention relates to an image encoding method, an image decoding method, an image encoding device, and an image decoding device capable of improving encoding efficiency by encoding a combination of image information and motion vector information.
[0002]
[Prior art]
In the motion compensation coding method, a predicted image is created from image information in a reference frame for each region such as a macroblock (hereinafter, referred to as MB) or a block, and a difference (prediction error) between the image and a current frame image is calculated. Encode. In general, in normal motion compensation, the difference between the position of the current frame area and the position of the predicted image is the amount of parallel movement (x, y) of the entire area, and is called a motion vector. In general, a block matching method is used as a method for searching for a predicted image.
[0003]
In block matching, a square search range (search window) centered on the region to be encoded is set in the reference frame, and the difference in image information between pixels in the region of the current frame and pixels in the search window is determined. The smallest position is searched in the search window. As a method of calculating the difference, an absolute value difference sum, a mean square error, or the like is used. FIG. 14 shows a conceptual diagram of block matching. Formula (1) shows a method of calculating the absolute value difference sum W (x, y). The smaller the difference, the smaller the prediction error and the higher the coding efficiency.
[0004]
(Equation 1)
Figure 2004165785
[0005]
The block size is N × N pixels, (i, j) is the pixel position in the block, and f (a, b, c) is the pixel value of the pixel position (a, b) in the encoding target block in the frame c. Is represented.
[0006]
A motion vector can be expressed with any of integer precision, fractional precision, and real precision. With fractional precision and real precision, it is necessary to create image information at positions where there are no actual pixels. In the case of the fractional precision and the real precision, the image information at the corresponding position is obtained from the image information of pixels at surrounding integer positions. For example, in a case where the image information at the position (a, b) is obtained from the upper left pixel as shown in FIG. With real number precision, image information at an arbitrary position can be created. However, since the calculation precision may be different between the encoding side and the decoding side, decoding may not be performed correctly on the decoding side.
[0007]
(Equation 2)
Figure 2004165785
[0008]
As a method of obtaining real-precision or fraction-accurate image information from pixel information at integer positions, image information at fractional positions is created by a method other than linear interpolation, and then parallelized using image information at integer positions and fractional positions. It is also possible to obtain image information of the moving position. For example, image information at a 1/2 precision position is obtained from a plurality of surrounding pixels by a filter having a long tap number, and then image information at a 1/4 precision or 1/8 precision position is converted to an integer precision and 1/2 precision image It is also possible to obtain from information by linear interpolation.
[0009]
First, a filter having the number of taps M in the horizontal direction is applied to image information at M integer pixel positions, thereby creating image information at a position with 1/2 accuracy in the horizontal direction. Next, a filter having the number of taps N in the vertical direction is applied to the image information at N integer pixel positions or the image information at N half-precision positions to create image information at the half-precision position in the vertical direction. . The coefficient of the filter with 6 taps is, for example,
(1/32, -5/32, 20/32, 20/32, -5/32, 1/32). The coefficients of the filter may be symmetric or asymmetric.
[0010]
FIGS. 16A and 16B show an example of a filtering method for obtaining image information with 1/2 accuracy when the number of taps is four. Image information at 1/4 precision and 1/8 precision positions may also be obtained by applying a filter method instead of linear interpolation. Also, instead of using the image information at the position of 1/2 precision, the value may be directly obtained from an integer position using a filter of an asymmetric filter coefficient.
[0011]
FIG. 17 is a diagram showing a positional relationship between a current macroblock and surrounding macroblocks. The difference between the motion vector (x, y) in the current area and the vector predicted from the motion vector in the surrounding area is obtained, and this difference information is entropy-encoded. For example, when the area of the current macroblock MVc and the areas of the surrounding macroblocks MV1, MV2, and MV3 have the positional relationship shown in FIG. 17, the motion vectors of the surrounding areas are (x1, y1), (x2, y2), (X3, y3), and assuming that the prediction vector is (px, py), px is set to an intermediate value among x1, x2, and x3, and py is set to an intermediate value among y1, y2, and y3. .
[0012]
FIG. 18 shows an example of a table when the difference between motion vectors is subjected to variable-length encoding using a look-up table.
[0013]
Note that, as methods for reducing prediction errors by adaptively changing filter coefficients in units of frames or macroblocks, methods described in the following Non-Patent Documents 1 and 2 have been proposed. These methods have a problem that the filter coefficients cannot be optimized for each block because the filter coefficients of the entire frame or the entire macroblock are changed. In addition, there is a problem that a technique for reducing overhead of information for specifying a filter coefficient has not been adopted.
[0014]
[Non-patent document 1]
T. Wedi, "Adaptive Interpolation Filter for Motion Compensated Hybrid Video Coding", Picture Coding Symposium (PCS 2001), 2001.
[Non-patent document 2]
Kei-ichi Chono and Yoshihiro Miyamoto, "Modified Adaptive Interpolation Filter", JVT-D078, Joint Video Team, JET I / O MPEG I / O METS
[0015]
[Problems to be solved by the invention]
When the image is divided into regions and encoded, when the image information at the fractional position such as 1/2 precision is created by the filtering method, if the filter coefficient is changed for each region, a predicted image with less prediction error can be obtained. It is possible to create. Therefore, it is conceivable to encode the filter coefficients for each region. However, if the prediction error is not reduced by changing the filter, the filter amount is encoded for all regions. Will increase.
[0016]
The present invention solves the above-described problems, and enables an interpolation filter for motion compensation to be changed for each block, reduces the overhead of information for specifying the filter coefficient, and reduces the code amount in image coding. It is intended to be.
[0017]
[Means for Solving the Problems]
In order to solve the above problems, the present invention uses the following method.
[0018]
According to a first aspect of the present invention, image information at a fractional position is created from image information of a frame that has already been encoded, for each area obtained by dividing the image of the current frame (hereinafter referred to as the current area), and the image information at the fractional position is created. An image encoding method for encoding a prediction error between the two, wherein a coefficient of a filter for creating image information at a fractional position is determined, a motion search step for searching for a motion vector, and a filter determined in the motion search step. A motion compensation step of generating a prediction image using the coefficients and the motion vector, obtaining a prediction error and encoding the prediction error, and whether a filter coefficient determined in the motion search step is different from a predetermined reference filter coefficient. And a filter coefficient selection motion vector coding step for coding the combination of the searched motion vector values, and the filter determined in the motion search step. Data coefficients, and having a filter coefficient encoding step of encoding the information for specifying the filter coefficients is different from the filter coefficients of predetermined criteria.
[0019]
According to the first aspect, the combination of the information indicating whether the coefficient of the filter for creating the image information at the fractional position in the motion compensation is to be set to a predetermined reference or changed, and the combination of the motion vector information is a variable length code. Can be
[0020]
For each filter whose coefficient has been changed, the prediction error is less reduced by changing the coefficient of the filter from the reference, but the total occurrence frequency of the filter whose coefficient has been changed is about the same as that of the filter whose coefficient is not changed In this case, for one motion vector value, the frequency of occurrence when the coefficient of the filter is not changed and the frequency of occurrence when the coefficient is changed are almost the same.
[0021]
On the other hand, the occurrence frequency of the motion vector value tends to decrease as the absolute value increases. Therefore, the frequency of occurrence when the value of a certain motion vector is changed and the coefficient of the filter is changed is higher than that when the coefficient of the filter is not changed because the motion vector has a larger value than the motion vector.
[0022]
Therefore, in a method of assigning a variable-length code to a combination of information indicating whether a filter coefficient is to be a predetermined reference or to be changed and a combination of motion vector information, a filter coefficient having a certain motion vector value is used. If the code length when changed is shorter than the code length when the coefficient of the filter is not changed because the motion vector has a larger value than the motion vector, the code length becomes shorter as the frequency of the combination increases. Table can be created. As a result, the code amount when the value of the motion vector is small and the filter coefficient is not changed can be made smaller than when the motion vector and the filter coefficient are individually encoded.
[0023]
According to a second aspect of the present invention, for each area (hereinafter, referred to as a current area) obtained by dividing the image of the current frame, image information of a fractional position is created from image information of an already encoded frame, and image information of the fractional position is created. An image encoding method for encoding a prediction error between the motion vectors, wherein a coefficient of a filter for creating image information at a fractional position is determined, and a motion search step for searching for a motion vector; Calculating a motion vector, calculating a difference between the obtained predicted motion vector and the motion vector searched in the motion search step, and generating a predicted image using the filter coefficient and the motion vector determined in the motion search step. The motion compensation step of creating and calculating the prediction error and encoding the prediction error, and the filter coefficient determined in the motion search step are based on a predetermined basis. And a filter coefficient selection motion vector encoding step for encoding a combination of values of the difference between the motion vectors, and a filter coefficient determined in the motion search step are defined as a predetermined reference filter coefficient. And a filter coefficient encoding step of encoding information for designating the filter coefficient when different.
[0024]
According to the second aspect, instead of encoding the motion vector itself as in the first aspect, the prediction motion vector predicted from the motion vector of the surrounding already coded area and the motion vector of the current area are not used. When encoding the difference of the motion vector, the amount of code when the value of the difference between the motion vectors is small and the filter coefficient is not changed is made smaller than when the difference between the motion vector and the coefficient of the filter are individually encoded. Can be.
[0025]
According to a third aspect of the present invention, image information of a fractional position is created from image information of a frame that has already been encoded, for each area obtained by dividing the image of the current frame (hereinafter, referred to as a current area), and the image information of the fractional position is created. An image encoding method for encoding a prediction error between the motion vectors, wherein a coefficient of a filter for creating image information at a fractional position is determined, and a motion search step for searching for a motion vector; Calculating a motion vector, calculating a motion vector difference calculating step of calculating a difference between the obtained predicted motion vector and the motion vector searched in the motion search step, and a filter coefficient of a current area from a filter coefficient of a surrounding area; And a filter coefficient prediction step for calculating a prediction filter coefficient), and when the value of the motion vector difference created in the motion vector difference creation step is 0, In addition, a filter coefficient re-determining step of setting the filter coefficient of the current area to be the same as the prediction filter coefficient, and a motion of generating a prediction image using the determined filter coefficient and the motion vector, obtaining a prediction error, and encoding the prediction error. The method is characterized by including a compensation step and a motion vector encoding step of encoding a difference (0 vector) between motion vectors.
[0026]
According to the third aspect of the present invention, when encoding the difference between the motion vector of the current region and the prediction vector predicted from the motion vector of the surrounding already encoded region, the filter of the case where the difference is 0 vector is used. By predicting the coefficients from the filter coefficients of the surrounding area that have already been coded, it is possible to avoid an increase in the code amount due to coding of the filter coefficients. Since an area where the difference is a zero vector is considered to be moving in the same manner as the surrounding area, the frequency of the same filter coefficient increases.
[0027]
BEST MODE FOR CARRYING OUT THE INVENTION
An embodiment of the present invention will be described with reference to the drawings.
[0028]
[First Embodiment]
In the first embodiment, 1 / position image information is created by a 6-tap filter, and 1 / position image information is created from / position or integer position image information. An example of a method of performing variable-length encoding on a combination of information indicating whether to change the coefficient of a filter for creating image information at a 1/2 position from a reference value and a value of a motion vector will be described. It is assumed that an input image is encoded for each macroblock.
[0029]
FIG. 1 shows an outline of an image encoding device according to a first embodiment of the present invention. The image coding apparatus 1 includes an image input unit 11 for inputting an image of a current frame, a filter coefficient specifying unit 15 for specifying a filter coefficient for generating image information at a half position, and a filter coefficient specifying unit 15. A motion search unit 16 that creates image information at a half position using a coefficient of a designated filter and searches for a motion vector, and uses the result of motion search at the motion search unit 16 to convert image information at a half position A filter coefficient determining unit 17 for determining a coefficient of a filter to be created, a motion compensating unit 12 for creating a prediction image using the determined filter coefficient and the searched motion vector, obtaining a prediction error, and encoding the prediction error; And whether the filter coefficient determined by the filter coefficient determining unit 17 is different from a predetermined reference filter coefficient and the value of the motion vector searched by the motion searching unit 16. , A filter coefficient encoding unit 19 for encoding information for designating a filter coefficient, a decoding unit 13 for decoding prediction error encoded data, and storing a decoded image. And a reference image memory 14.
[0030]
Of the filter coefficients specified by the filter coefficient specifying unit 15, the filter coefficient of the reference filter is
(1/32, -5/32, 20/32, 20/32, -5/32, 1/32). This is called a coefficient 0.
[0031]
In addition, as coefficient 1,
(1/32, -5/32, 27/32, 12/32, -4/32, 1/32), and as the coefficient 2,
(1/32, -4/32, 12/32, 27/32, -5/32, 1/32).
[0032]
The filter coefficient specifying unit 15 first fixes the horizontal filter coefficients, and specifies the filter coefficients in the vertical direction by sequentially changing them to coefficient 0, coefficient 1, and coefficient 2. After that, the horizontal filter coefficient is changed and fixed, and the vertical filter coefficient is changed and specified. The motion search unit 16 performs a motion search using the designated filter coefficient. The motion search unit 16 uses the difference evaluation value Wm obtained by adding the code amount of the motion vector to the sum of the absolute value differences as the evaluation scale of the difference.
[0033]
The equation for calculating Wm is shown in equation (3). Nmv (x, y) is the code amount of the motion vector (x, y).
[0034]
[Equation 3]
Figure 2004165785
[0035]
The motion search unit 16 obtains a motion vector for each filter coefficient specified by the filter coefficient specification unit 15. When the horizontal filter coefficient is coefficient i and the vertical filter coefficient is coefficient j, the difference evaluation value Wm obtained by the search is written as Wmij. Thereafter, the filter coefficient determination unit 17 compares the value of the motion search result Wm with respect to each filter coefficient, and determines the filter coefficient having the smallest value as the filter coefficient of the macroblock. Also, the motion vector at that time is set as the motion vector of the macroblock.
[0036]
The filter coefficient selection motion vector encoding unit 18 searches the motion search unit 16 for information indicating whether the filter coefficient determined by the filter coefficient determination unit 17 is different from a predetermined reference filter coefficient (coefficient 0). It is assumed that variable length coding is performed on the combination with the obtained motion vector value using the look-up table shown in FIG. The filter coefficient coding unit 19 performs variable length coding on the information indicating the filter coefficients in the order of the horizontal filter and the vertical filter using the lookup table shown in FIG.
[0037]
According to the look-up table of FIG. 2, the code amount when the reference filter coefficient is used with the 0 vector is 1 bit, and the increase in the code amount that occurs when coding whether or not the filter coefficient is changed is calculated with respect to the 0 vector. Can be avoided.
[0038]
Under such a premise, the current image is encoded as follows in macroblock units. First, the image input unit 11 inputs an image of the current frame. The filter coefficient specifying unit 15 specifies the coefficient 0 as the horizontal filter coefficient and the coefficient 0 as the vertical filter coefficient. The motion search unit 16 performs a motion search up to the 1/4 position while creating image information at the 1/2 position using the designated filter coefficient, and obtains a motion vector corresponding to Wm00. Such processing is performed for all the filter coefficient patterns while the filter coefficient specifying unit 15 changes the filter coefficients, and Wm00, Wm01, Wm02, Wm10, Wm11, Wm12, Wm20, Wm21, Wm22, and Find the corresponding motion vector.
[0039]
The filter coefficient determination unit 17 determines the filter coefficient having the smallest value among Wm00, Wm01, Wm02, Wm10, Wml1, Wm12, Wm20, Wm21, and Wm22 as the filter coefficient of the macroblock. First, in the horizontal direction, if the filter coefficient at this time is 0, the filter coefficient selection motion vector encoding unit 18 encodes the horizontal value of the motion vector without changing the filter coefficient. . If the filter coefficient is not 0, it is determined that the filter coefficient has changed, and the value in the horizontal direction of the motion vector is encoded.
[0040]
The vertical motion vector is encoded similarly. The filter coefficient encoding unit 19 encodes the horizontal filter coefficient when the horizontal filter coefficient is not 0, and further encodes the vertical filter coefficient when the vertical filter coefficient is not 0. The motion compensator 12 performs motion compensation using the filter coefficients determined by the filter coefficient determiner 17, and encodes image information of the current macroblock. The decoding unit 13 decodes the encoded data to create a decoded image, and stores the decoded image in the reference image memory. The above procedure is repeated for all macroblocks.
[0041]
FIG. 4 is a diagram illustrating an outline of the image decoding device according to the first embodiment of the present invention. The image decoding apparatus 2 determines whether a filter coefficient used when generating image information at a 1/2 position is different from a predetermined reference filter coefficient (coefficient 0), and determines a combination of a motion vector value. A filter coefficient selection motion vector decoding unit 21 for decoding, a filter coefficient decoding unit 22 for decoding information designating the filter coefficient, a prediction image is created using the filter coefficient and the motion vector, and a prediction error is obtained to obtain a prediction error encoding. It comprises a motion compensation unit 23 for decoding data to create a decoded image, and a reference image memory 24 for storing the decoded image.
[0042]
A procedure for decoding the encoded data obtained by the image encoding device 1 will be described. The encoded data is decoded for each macroblock as follows. First, in the horizontal direction, the filter coefficient selection motion vector decoding unit 21 uses the look-up table shown in FIG. Is decrypted. When the filter coefficient is different from the coefficient 0, the filter coefficient decoding unit 22 decodes the horizontal direction filter coefficient. Next, the filter coefficient selection motion vector decoding unit 21 decodes a combination of whether the filter coefficient is different from the coefficient 0 and the value of the motion vector in the vertical direction. If the filter coefficient is different from the coefficient 0, the filter coefficient decoding unit 22 decodes the vertical filter coefficient.
[0043]
The motion compensator 23 performs motion compensation using the filter coefficients decoded by the filter coefficient decoder 22, decodes the encoded data to create a decoded image, and stores the decoded image in the reference image memory 24. When the filter coefficient decoding unit 22 does not decode the filter coefficient, the filter coefficient is set to the coefficient 0 to perform the motion compensation. The above procedure is repeated for all macroblocks.
[0044]
[Second embodiment]
Next, as a second embodiment, an example will be described in which the motion vector encoding unit encodes not the motion vector itself but a difference from the predicted motion vector. Also, assume that the image information at the の position is created by a 6-tap filter, and then the image information at the 4 position and the 8 position are created by linear interpolation.
[0045]
FIG. 5 is a diagram illustrating an outline of an image encoding device according to the second embodiment. The image encoding device 3 includes an image input unit 31 for inputting an image of the current frame, a filter coefficient specifying unit 35 for specifying a filter coefficient for generating image information at a 1/2 position, and a filter coefficient specifying unit 35. A motion search unit 36 that creates image information at a 1/2 position using a coefficient of a designated filter and searches for a motion vector, and uses the motion search result at the motion search unit 36 to convert image information at a 1/2 position. A filter coefficient determining unit 37 for determining coefficients of a filter to be created, a motion compensating unit 32 for creating a predicted image using the determined filter coefficients and the searched motion vector, obtaining a prediction error, and encoding the prediction error; The predicted motion vector creating unit 301 that obtains a predicted motion vector from the motion vectors of the surrounding macroblocks and the filter coefficients determined by the filter coefficient determining unit 37 are determined in advance. A filter coefficient selection motion that encodes a combination of whether or not it is different from the reference filter coefficient and a difference between the motion vector searched by the motion search unit 36 and the predicted motion vector generated by the predicted motion vector generation unit 301 It comprises a vector encoding unit 38, a filter coefficient encoding unit 39 for encoding information designating filter coefficients, a decoding unit 33 for decoding prediction error encoded data, and a reference image memory 34 for storing decoded images. .
[0046]
The operations of the filter coefficient specifying unit 35, the motion search unit 36, and the filter coefficient encoding unit 39 are the same as in the first embodiment. The filter coefficient selection motion vector coding unit 38 searches the motion search unit 36 for information indicating whether the filter coefficient determined by the filter coefficient determination unit 37 is different from a predetermined reference filter coefficient (coefficient 0). It is assumed that variable length coding is performed on the combination of the obtained motion vector and the difference between the predicted motion vector using the look-up table shown in FIG. Here, as the predicted motion vector, an intermediate one among the motion vectors of the three macroblocks MV1, MV2, and MV3 at the positions shown in FIG. 17 is selected.
[0047]
Under such a premise, the current image is encoded as follows in macroblock units. First, the image input unit 31 inputs an image of the current frame. The predicted motion vector generation unit 301 generates a predicted motion vector. The filter coefficient specifying unit 35 specifies the coefficient 0 as the horizontal filter coefficient and the coefficient 0 as the vertical filter coefficient. The motion search unit 36 performs a motion search up to the 1/8 position while creating image information at the 1/2 position using the designated filter coefficient, and obtains a motion vector corresponding to Wm00.
[0048]
Such processing is performed for all the filter coefficient patterns while the filter coefficient designating section 35 changes the filter coefficients, and Wm00, Wm01, Wm02, Wm10, Wm11, Wm12, Wm20, Wm21, Wm22, and Find the corresponding motion vector. The filter coefficient determination unit 37 determines a filter coefficient having the smallest value among Wm00, Wm01, Wm02, Wm10, Wm11, Wm12, Wm20, Wm21, and Wm22 as a filter coefficient of the macroblock.
[0049]
When the filter coefficient at this time is 0 in the horizontal direction, the filter coefficient selection motion vector encoding unit 38 determines that there is no change in the filter coefficient and determines the difference between the searched motion vector and the predicted motion vector. Is encoded. If the filter coefficient is not 0, it is determined that the filter coefficient has changed, and the value of the horizontal component of the difference between the searched motion vector and the predicted motion vector is encoded. The vertical motion vector is encoded similarly. The filter coefficient encoding unit 39 encodes the horizontal filter coefficient when the horizontal filter coefficient is not 0, and further encodes the vertical filter coefficient when the vertical filter coefficient is not 0.
[0050]
The motion compensator 32 performs motion compensation using the filter coefficient determined by the filter coefficient determiner 37 and encodes image information of the current macroblock. The decoding unit 33 decodes the encoded data to create a decoded image, and stores the decoded image in the reference image memory 34. The above procedure is repeated for all macroblocks.
[0051]
FIG. 7 is a diagram illustrating an outline of an image decoding device according to the second embodiment of the present invention. The image decoding apparatus 4 includes a predictive motion vector generating unit 45 that obtains a predictive motion vector from a motion vector of a surrounding macroblock, and a filter coefficient used when generating image information at a 1/2 position. A filter coefficient selection motion vector decoding unit 41 for decoding a combination of a difference value between a motion vector and a predicted motion vector as to whether or not the filter coefficient is different from a reference filter coefficient (coefficient 0); A filter coefficient decoding unit 42 for decoding, a motion compensation unit 43 for generating a prediction image using the filter coefficients and the motion vector, obtaining a prediction error, decoding prediction error coded data to generate a decoded image, and accumulating the decoded image And a reference image memory 44 to be used.
[0052]
A procedure for decoding encoded data obtained by the image encoding device 3 will be described. The encoded data is decoded for each macroblock as follows. The predicted motion vector creation unit 45 creates a predicted motion vector. First, in the horizontal direction, the filter coefficient selection motion vector decoding unit 41 determines whether the filter coefficient is different from the coefficient 0 by using the lookup table shown in FIG. And decode the combination of the difference values between. When the filter coefficient is different from the coefficient 0, the filter coefficient decoding unit 42 decodes the horizontal direction filter coefficient. Next, the filter coefficient selection motion vector decoding unit 41 decodes, in the vertical direction, whether the filter coefficient is different from the coefficient 0 and the combination of the difference value between the motion vector and the predicted motion vector. If the filter coefficient is different from the coefficient 0, the filter coefficient decoding unit 42 decodes the vertical filter coefficient.
[0053]
The motion compensator 43 performs motion compensation using the filter coefficients decoded by the filter coefficient decoder 42, decodes the encoded data to create a decoded image, and stores the decoded image in the reference image memory 44. When the filter coefficient decoding unit 42 does not decode the filter coefficient, the filter coefficient is set to the coefficient 0 to perform the motion compensation. The above procedure is repeated for all macroblocks.
[0054]
[Third Embodiment]
Next, as a third embodiment, an example in which the motion vector encoding unit encodes a difference from a predicted motion vector instead of the motion vector itself will be described. Also, assume that the image information at the の position is created by a 6-tap filter, and then the image information at the 4 position and the 8 position are created by linear interpolation.
[0055]
FIG. 8 is a diagram showing an outline of an image encoding device according to the third embodiment of the present invention. The image encoding device 5 includes an image input unit 51 for inputting an image of the current frame, a filter coefficient specifying unit 55 for specifying a filter coefficient for creating image information at a half position, and a filter coefficient specifying unit 55. A motion search unit 56 that creates image information at a 1/2 position using a coefficient of a designated filter and searches for a motion vector, and uses the motion search result at the motion search unit 56 to convert image information at a 1/2 position. A filter coefficient determining unit 57 for determining a coefficient of a filter to be created, a predicted motion vector creating unit 501 for obtaining a predicted motion vector from a motion vector of a surrounding macroblock, and a filter of a current macroblock from a filter coefficient of a surrounding macroblock. Filter coefficient predictor 502 for calculating a predicted value (prediction filter coefficient) of the coefficient of motion vector, and the motion vector searched for by motion search It is determined whether or not the value of the difference from the predicted motion vector created by the vector creating unit 501 is 0. And a motion compensator 52 for generating a prediction image using the determined filter coefficients and the motion vector, obtaining a prediction error and encoding the prediction error, and determining whether the determined filter coefficient is different from a predetermined reference filter coefficient. A filter coefficient selection motion vector encoding unit 58 that encodes a combination of whether the motion vector is searched by the motion search unit 56 and a difference between the predicted motion vector generated by the predicted motion vector generation unit 501; The difference between the motion vector searched by the motion search unit 56 and the predicted motion vector created by the predicted motion vector creation unit 501 is encoded. It includes a motion vector coding unit 504, a decoding unit 53 for decoding the prediction error coded data, and a reference image memory 54 for storing the decoded image.
[0056]
The operations of the filter coefficient designating section 55, the motion search section 56, and the filter coefficient encoding section 59 are the same as in the first embodiment. When the filter coefficient re-determination unit 503 determines the filter coefficient again, the difference value between the motion vector and the predicted motion vector is encoded by the motion vector encoding unit 504. Here, it is assumed that the motion vector coding unit 504 codes the 0 vector as bit 0.
[0057]
When the filter coefficient is not determined again by the filter coefficient re-determining unit 503, the filter coefficient selection motion vector encoding unit 58 converts the filter coefficient determined by the filter coefficient determining unit 57 into a predetermined reference filter coefficient (coefficient 0) and the difference between the motion vector searched for by the motion search unit 56 and the difference between the predicted motion vector and the combination of the information indicating the difference between the information and the variable length coding using the lookup table shown in FIG. It shall be. Here, as the predicted motion vector, an intermediate one among the motion vectors of the three macroblocks MV1, MV2, and MV3 at the positions shown in FIG. 17 is selected.
[0058]
In addition, the filter coefficient prediction unit 502 sets the most frequently used filter coefficient among the filter coefficients of the three macroblocks MV1, MV2, and MV3 shown in FIG. 17 as the prediction filter coefficient. If all are adopted at the same frequency, a filter with coefficient 0 is used as a prediction filter coefficient.
[0059]
Under such a premise, the current image is encoded as follows in macroblock units. First, the image input unit 51 inputs an image of the current frame. The predicted motion vector generation unit 501 generates a predicted motion vector. The filter coefficient specifying unit 55 specifies the coefficient 0 as the horizontal filter coefficient and the coefficient 0 as the vertical filter coefficient. The motion search unit 56 performs a motion search up to the 1/8 position while creating image information at the 1/2 position using the designated filter coefficient, and obtains a motion vector corresponding to Wm00.
[0060]
Such processing is performed for all the filter coefficient patterns while the filter coefficient designating section 55 changes the filter coefficients, and Wm00, Wm01, Wm02, Wm10, Wm11, Wm12, Wm20, Wm21, Wm22, and Find the corresponding motion vector. The filter coefficient determination unit 57 determines the filter coefficient having the smallest value among Wm00, Wm01, Wm02, Wm10, Wm11, Wm12, Wm20, Wm21, and Wm22 as the filter coefficient of the macroblock.
[0061]
Here, first, in the horizontal direction, if the value of the horizontal component of the difference between the searched motion vector and the predicted motion vector is 0, the filter coefficient prediction unit 502 calculates the filter coefficient from the filter coefficients of the surrounding macroblocks. Predicted, and the filter coefficient redetermining unit 503 sets the filter coefficient to the predicted filter coefficient. The motion compensator 52 performs motion compensation using the filter coefficient determined by the filter coefficient re-determiner 503, and encodes image information of the current macroblock.
[0062]
The motion vector coding unit 504 codes the value of the horizontal component of the difference between the searched motion vector and the predicted motion vector. The decoding unit 53 decodes the encoded data to create a decoded image, and stores the decoded image in the reference image memory 54. If the value of the horizontal component of the difference between the searched motion vector and the predicted motion vector is not 0, the filter coefficient selection motion vector encoding unit 58 first determines that the filter coefficient at this time is 0 in the horizontal direction. In this case, the value of the horizontal component of the difference between the searched motion vector and the predicted motion vector is encoded with no change in the filter coefficient.
[0063]
If the filter coefficient is not 0, it is determined that the filter coefficient has changed, and the value of the horizontal component of the difference between the searched motion vector and the predicted motion vector is encoded. The filter coefficient encoding unit 59 encodes the horizontal filter coefficient when the horizontal filter coefficient is not 0, and the motion compensation unit 52 performs motion compensation using the filter coefficient determined by the filter coefficient determination unit 57. The image information of the current macroblock is encoded. The decoding unit 53 decodes the encoded data to create a decoded image, and stores the decoded image in the reference image memory 54.
[0064]
Subsequently, similarly, in the vertical direction, the difference between the vertical motion vectors and the filter coefficient are encoded. The above procedure is repeated for all macroblocks.
[0065]
FIG. 10 is a diagram illustrating an outline of an image decoding device according to the third embodiment of the present invention. The image decoding device 6 includes a predictive motion vector generating unit 65 that generates a predictive motion vector from a motion vector of a surrounding macroblock, and a filter coefficient used when generating image information at a 1/2 position. A filter coefficient selection motion vector decoding unit 61 that decodes a combination of a difference value between the motion vector and the predicted motion vector, whether the filter coefficient differs from the determined reference filter coefficient, and a difference between the motion vector and the predicted motion vector is 0 In the case of a vector, a prediction image is created by using a filter coefficient prediction unit 66 for obtaining a prediction value (prediction filter coefficient) of a filter coefficient of a current area from a filter coefficient of a surrounding macroblock, and a filter coefficient and a motion vector. A motion compensation unit 63 for obtaining a prediction error and decoding the prediction error coded data to create a decoded image, and storing the decoded image And an irradiation image memory 64.
[0066]
A procedure for decoding encoded data obtained by the image encoding device 5 will be described. The encoded data is decoded for each macroblock as follows. The predicted motion vector generation unit 65 generates a predicted motion vector. First, in the horizontal direction, the filter coefficient selection motion vector decoding unit 61 uses the look-up table shown in FIG. And decode the combination of the difference values between.
[0067]
When the difference between the motion vector and the predicted motion vector is 0, the filter coefficient prediction unit 66 predicts a filter coefficient from a surrounding macroblock and sets the filter coefficient in the horizontal direction of the macroblock. If the difference between the motion vector and the predicted motion vector is not 0 and the filter coefficient is different from the coefficient 0, the filter coefficient decoding unit 62 decodes the horizontal filter coefficient.
[0068]
Next, in the vertical direction, the filter coefficient selection motion vector decoding unit 61 decodes whether or not the filter coefficient is different from the coefficient 0 and the combination of the difference value between the motion vector and the predicted motion vector. When the difference between the motion vector and the predicted motion vector is 0, the filter coefficient prediction unit 66 predicts a filter coefficient from surrounding macroblocks and sets the filter coefficient in the vertical direction of the macroblock. If the difference between the motion vector and the predicted motion vector is not 0 and the filter coefficient is different from the coefficient 0, the filter coefficient decoding unit 62 decodes the vertical filter coefficient.
[0069]
The motion compensator 63 performs motion compensation using the filter coefficients decoded by the filter coefficient decoder 62, decodes the encoded data to create a decoded image, and stores the decoded image in the reference image memory 64. If the difference between the motion vector and the predicted motion vector is not 0 and the filter coefficient decoding unit 62 does not decode the filter coefficient, the filter coefficient is set to 0 to perform the motion compensation.
[0070]
The above procedure is repeated for all macroblocks.
[0071]
FIG. 11 is a diagram illustrating a comparison result of a code amount between an image Mobile and a conventional method when the image encoding device 5 is used to confirm the effectiveness of the present invention. In FIG. 11, the horizontal axis represents the quantization scale, and the vertical axis represents the rate of reduction of the code amount by the present method as compared with the conventional method. The simulation used JM1.9 (+ Motion Copy). As is evident from these results, it was confirmed that this method was able to efficiently reduce the code amount even at a low bit rate.
[0072]
In the embodiment of the present invention, an example is shown in which the filter coefficient is changed when obtaining the image information at the 1/2 position using a 6-tap filter. It is possible to apply an integer of The number of taps may be changed for each macroblock. Although a macro block is used as a region for performing motion compensation, another rectangular block such as a block of 8 pixels in length and width may be used. Instead of the image information at the 1/2 position, the filter coefficient and the number of taps may be changed when creating image information at another fractional position such as the 1/4 position using a filter with a plurality of taps.
[0073]
In the embodiment of the present invention, the motion vector and the filter coefficient are separately coded in the horizontal direction and the vertical direction. However, a method of simultaneously coding is also preferable. For example, the horizontal and vertical motion vectors and the filter coefficients can be simultaneously encoded using the look-up table shown in FIG.
[0074]
In the embodiment of the present invention, the variable length coding is performed on all the motion vectors (or the difference between the motion vector and the predicted motion vector) and the combination of whether or not the filter coefficient is changed. A method performed for a vector value is also preferable. For example, only when the value of the motion vector is short, the combination of the motion vector (or the difference between the motion vector and the predicted motion vector) and the presence or absence of the change of the filter coefficient is variable-length coded. , And a method of individually encoding the filter coefficient itself.
[0075]
When the absolute value of the motion vector is 0, the filter coefficient is predicted from the surrounding area. When the absolute value is 1/4, the combination of the change of the motion vector and the filter coefficient is encoded. First, there is a method of coding a motion vector, and then coding a coefficient of a filter. FIG. 13 shows an example of a motion vector lookup table in this case.
[0076]
As described above, according to this method, when the image information at the fractional position is created by the filtering method, the combination of the filter coefficient and the motion vector is encoded, so that the filter coefficient is encoded separately from the motion vector. Can be avoided.
[0077]
【The invention's effect】
According to the present invention, in an image encoding method in which an image is divided into regions and image information at a fractional position is created by a filter method and motion is compensated, a coefficient and a motion of a filter for creating image information at a fractional position for each region By coding a combination of vectors, it is possible to avoid an increase in the code amount when coding the filter coefficients separately from the motion vector.
[Brief description of the drawings]
FIG. 1 is a configuration diagram of an image encoding device according to a first embodiment.
FIG. 2 is a diagram illustrating an example of a variable-length code of a combination of presence / absence of a change in a filter coefficient and a motion vector.
FIG. 3 is a diagram illustrating an example of a variable length code of a filter coefficient.
FIG. 4 is a configuration diagram of an image decoding device according to the first embodiment.
FIG. 5 is a configuration diagram of an image encoding device according to a second embodiment.
FIG. 6 is a diagram illustrating an example of a variable-length code of a combination of presence / absence of a change in a filter coefficient and a motion vector.
FIG. 7 is a configuration diagram of an image decoding device according to a second embodiment.
FIG. 8 is a configuration diagram of an image encoding device according to a third embodiment.
FIG. 9 is a diagram illustrating an example of a variable length code of a combination of presence / absence of a change in a filter coefficient and a motion vector.
FIG. 10 is a configuration diagram of an image decoding device according to a third embodiment.
FIG. 11 is a diagram illustrating an effect of saving a code amount by the present method.
FIG. 12 is a diagram illustrating an example of a variable-length code of a combination of presence / absence of a filter coefficient change and a motion vector.
FIG. 13 is a diagram illustrating an example of a variable length code of a combination of presence / absence of a change in a filter coefficient and a motion vector.
FIG. 14 is a conceptual diagram of block matching.
FIG. 15 is a diagram illustrating an example of linear interpolation of image information.
FIG. 16 is a diagram illustrating an example of a filtering method for obtaining image information with half precision.
FIG. 17 is a diagram showing a positional relationship between a current macroblock and surrounding macroblocks.
FIG. 18 is a diagram illustrating an example of a variable length code of a motion vector.
[Explanation of symbols]
1,3,5 image coding device
2,4,6 image decoding device
11, 31, 51 Image input unit
12, 32, 52 motion compensator
13, 33, 53 decoding unit
14, 34, 54 Reference image memory
15, 35, 55 Filter coefficient designator
16,36,56 Motion search unit
17, 37, 57 Filter coefficient determination unit
18, 38, 58 Filter coefficient selection motion vector coding unit
19, 39, 59 Filter coefficient coding unit
301, 501 Predicted motion vector creation unit
502 Filter coefficient prediction unit
503 Filter coefficient re-determination unit
504 motion vector coding unit
21, 41, 61 Filter coefficient selection motion vector decoding unit
22,42,62 Filter coefficient decoding unit
23, 43, 63 Motion compensation unit
24,44,64 Reference image memory
45,65 Predicted motion vector generator
66 Filter coefficient prediction unit

Claims (16)

現フレームの画像を分割した領域毎に,既に符号化したフレームの画像情報から分数位置の画像情報を作成し,その分数位置の画像情報との間の予測誤差を符号化する画像符号化方法であって,
分数位置の画像情報を作成するフィルタの係数を決定し,動きベクトルを探索する動き探索ステップと,
前記動き探索ステップで決定したフィルタ係数と動きベクトルとを使って予測画像を作成し,予測誤差を求めて予測誤差を符号化する動き補償ステップと,
前記動き探索ステップで決定したフィルタ係数が,予め決めた基準のフィルタ係数と異なるかどうかと,探索された動きベクトルの値との組み合わせを符号化するフィルタ係数選択動きベクトル符号化ステップと,
前記動き探索ステップで決定したフィルタ係数が,予め決めた基準のフィルタ係数と異なる場合にフィルタ係数を指定する情報を符号化する係数符号化ステップとを有する
ことを特徴とする画像符号化方法。
An image coding method that creates image information at a fractional position from image information of a frame that has already been encoded for each region obtained by dividing the image of the current frame, and encodes a prediction error between the image information at the fractional position. So,
A motion search step for determining a coefficient of a filter for creating image information at a fractional position and searching for a motion vector;
A motion compensation step of creating a prediction image using the filter coefficient and the motion vector determined in the motion search step, obtaining a prediction error, and encoding the prediction error;
Whether the filter coefficient determined in the motion search step is different from a predetermined reference filter coefficient, and a filter coefficient selection motion vector coding step of coding a combination of the value of the searched motion vector;
A coefficient encoding step of encoding information specifying the filter coefficient when the filter coefficient determined in the motion search step is different from a predetermined reference filter coefficient.
現フレームの画像を分割した領域毎に,既に符号化したフレームの画像情報から分数位置の画像情報を作成し,その分数位置の画像情報との間の予測誤差を符号化する画像符号化方法であって,
分数位置の画像情報を作成するフィルタの係数を決定し,動きベクトルを探索する動き探索ステップと,
周囲の領域の動きベクトルから予測動きベクトルを求め,求めた予測動きベクトルと,前記動き探索ステップで探索した動きベクトルの差分を求める動きベクトル差分作成ステップと,
前記動き探索ステップで決定したフィルタ係数と動きベクトルとを使って予測画像を作成し,予測誤差を求めて予測誤差を符号化する動き補償ステップと,
前記動き探索ステップで決定したフィルタ係数が,予め決めた基準のフィルタ係数と異なるかどうかと,動きベクトルの差分の値との組み合わせを符号化するフィルタ係数選択動きベクトル符号化ステップと,
前記動き探索ステップで決定したフィルタ係数が,予め決めた基準のフィルタ係数と異なる場合にフィルタ係数を指定する情報を符号化するフィルタ係数符号化ステップとを有する
ことを特徴とする画像符号化方法。
An image coding method that creates image information at a fractional position from image information of a frame that has already been encoded for each region obtained by dividing the image of the current frame, and encodes a prediction error between the image information at the fractional position. So,
A motion search step for determining a coefficient of a filter for creating image information at a fractional position and searching for a motion vector;
A motion vector difference creating step for obtaining a predicted motion vector from a motion vector of a surrounding area and obtaining a difference between the obtained predicted motion vector and the motion vector searched in the motion search step;
A motion compensation step of creating a prediction image using the filter coefficient and the motion vector determined in the motion search step, obtaining a prediction error, and encoding the prediction error;
A filter coefficient selection motion vector encoding step for encoding a combination of whether the filter coefficient determined in the motion search step is different from a predetermined reference filter coefficient and a value of a motion vector difference;
A filter coefficient encoding step of encoding information designating the filter coefficient when the filter coefficient determined in the motion search step is different from a predetermined reference filter coefficient.
現フレームの画像を分割した領域毎に,既に符号化したフレームの画像情報から分数位置の画像情報を作成し,その分数位置の画像情報との間の予測誤差を符号化する画象符号化方法であって,
分数位置の画像情報を作成するフィルタの係数を決定し,動きベクトルを探索する動き探索ステップと,
周囲の領域の動きベクトルから予測動きベクトルを求め,求めた予測動きベクトルと,前記動き探索ステップで探索した動きベクトルの差分を求める動きベクトル差分作成ステップと,
周囲の領域のフィルタ係数から,現領域のフィルタの係数の予測値である予測フィルタ係数を求めるフィルタ係数予測ステップと,
前記動きベクトル差分作成ステップで作成した動きベクトルの差分の値が0である場合に,現領域のフィルタ係数を前記予測フィルタ係数と同じに設定するフィルタ係数再決定ステップと,
決定したフィルタ係数と動きベクトルとを使って予測画像を作成し,予測誤差を求めて予測誤差を符号化する動き補償ステップと,
動きベクトルの差分を符号化する動きベクトル符号化ステップとを有する
ことを特徴とする画像符号化方法。
An image coding method for creating image information at a fractional position from image information of an already encoded frame for each area obtained by dividing the image of the current frame, and encoding a prediction error between the image information at the fractional position and the image information And
A motion search step for determining a coefficient of a filter for creating image information at a fractional position and searching for a motion vector;
A motion vector difference creating step for obtaining a predicted motion vector from a motion vector of a surrounding area and obtaining a difference between the obtained predicted motion vector and the motion vector searched in the motion search step;
A filter coefficient prediction step for obtaining a prediction filter coefficient which is a predicted value of a filter coefficient of a current area from a filter coefficient of a surrounding area;
A filter coefficient re-determining step of setting a filter coefficient of a current area to be the same as the prediction filter coefficient when a difference value of the motion vector created in the motion vector difference creating step is 0;
A motion compensation step of creating a prediction image using the determined filter coefficients and the motion vector, obtaining a prediction error, and encoding the prediction error;
A motion vector encoding step of encoding a difference between motion vectors.
既に復号したフレームの画像情報から分数位置の画像情報を作成し,その分数位置の画像情報との間の予測誤差を用いて,現フレームの画像を分割した領域毎の符号化データを復号する画像復号方法であって,
分数位置の画像情報を作成する際に使用されるフィルタ係数が,予め決めた基準のフィルタ係数と異なるかどうかと,動きベクトルの値の組み合わせを復号するフィルタ係数選択動きベクトル復号ステップと,
分数位置の画像情報を作成する際に使用されるフィルタ係数が,予め決めた基準のフィルタ係数と異なる場合にフィルタ係数を指定する情報を復号するフィルタ係数復号ステップと,
復号したフィルタ係数と動きベクトルとを使って予測画像を作成し,予測誤差を求めて予測誤差符号化データを復号し復号画像を作成する動き補償ステップとを有する
ことを特徴とする画像復号方法。
An image in which image information at a fractional position is created from image information of a frame that has already been decoded, and encoded data for each area obtained by dividing the image of the current frame is decoded using a prediction error between the image information at the fractional position and the image information. A decryption method,
A filter coefficient selection motion vector decoding step for decoding whether or not a filter coefficient used for creating image information at a fractional position is different from a predetermined reference filter coefficient;
A filter coefficient decoding step of decoding information specifying a filter coefficient when a filter coefficient used in creating image information at a fractional position is different from a predetermined reference filter coefficient;
A motion compensation step of generating a prediction image using the decoded filter coefficients and the motion vector, obtaining a prediction error, decoding the prediction error coded data to generate a decoded image.
既に復号したフレームの画像情報から分数位置の画像情報を作成し,その分数位置の画像情報との間の予測誤差を用いて,現フレームの画像を分割した領域毎の符号化データを復号する画像復号方法であって,
周囲の領域の動きベクトルから予測動きベクトルを作成する予測動きベクトル作成ステップと,
分数位置の画像情報を作成する際に使用されるフィルタ係数が,予め決めた基準のフィルタ係数と異なるかどうかと,動きベクトルと前記予測動きベクトルとの差分の値の組み合わせを復号するフィルタ係数選択動きベクトル復号ステップと,
予測動きベクトルと,前記フィルタ係数選択動きベクトル復号ステップで求めた動きベクトルの差分から,動きベクトルを作成する動きベクトル作成ステップと,
分数位置の画像情報を作成する際に使用されるフィルタ係数が,予め決めた基準のフィルタ係数と異なる場合にフィルタ係数を指定する情報を復号するフィルタ係数復号ステップと,
復号したフィルタ係数と動きベクトルとを使って予測画像を作成し,予測誤差を求めて予測誤差符号化データを復号し復号画像を作成する動き補償ステップとを有する
ことを特徴とする画像復号方法。
An image in which image information at a fractional position is created from image information of a frame that has already been decoded, and encoded data for each area obtained by dividing the image of the current frame is decoded using a prediction error between the image information at the fractional position and the image information. A decryption method,
A predicted motion vector generating step of generating a predicted motion vector from a motion vector of a surrounding area;
Whether a filter coefficient used for generating image information at a fractional position is different from a predetermined reference filter coefficient, and a filter coefficient selection for decoding a combination of a difference value between a motion vector and the predicted motion vector A motion vector decoding step;
A motion vector creating step for creating a motion vector from a difference between the predicted motion vector and the motion vector obtained in the filter coefficient selection motion vector decoding step;
A filter coefficient decoding step of decoding information specifying a filter coefficient when a filter coefficient used in creating image information at a fractional position is different from a predetermined reference filter coefficient;
A motion compensation step of generating a prediction image using the decoded filter coefficients and the motion vector, obtaining a prediction error, decoding the prediction error coded data to generate a decoded image.
既に復号したフレームの画像情報から分数位置の画像情報を作成し,その分数位置の画像情報との間の予測誤差を用いて,現フレームを分割した領域毎の符号化データを復号する画像復号方法であって,
周囲の領域の動きベクトルから予測動きベクトルを作成する予測動きベクトル作成ステップと,
周囲の領域のフィルタ係数から,現領域のフィルタの係数の予測値である予測フィルタ係数を求めるフィルタ係数予測ステップと,
分数位置の画像情報を作成する際に使用されるフィルタ係数が,予め決めた基準のフィルタ係数と異なるかどうかと,動きベクトルと前記予測動きベクトルとの差分の値の組み合わせを復号するフィルタ係数選択動きベクトル復号ステップと,
動きベクトルと前記予測動きベクトルとの差分が0ベクトルである場合に,現領域のフィルタ係数を予測フィルタ係数と同じに設定するフィルタ係数再決定ステップと,
予測動きベクトルと,前記フィルタ係数選択動きベクトル復号ステップで求めた動きベクトルの差分から,動きベクトルを作成する動きベクトル作成ステップと,
前記フィルタ係数再決定ステップで設定したフィルタ係数と動きベクトルとを使って予測画像を作成し,予測誤差を求めて予測誤差符号化データを復号し復号画像を作成する動き補償ステップとを有する
ことを特徴とする画像復号方法。
Image decoding method for generating image information at a fractional position from image information of a frame already decoded, and decoding encoded data for each area obtained by dividing the current frame using a prediction error between the image information at the fractional position and the image information And
A predicted motion vector generating step of generating a predicted motion vector from a motion vector of a surrounding area;
A filter coefficient prediction step for obtaining a prediction filter coefficient which is a predicted value of a filter coefficient of a current area from a filter coefficient of a surrounding area;
Whether a filter coefficient used for generating image information at a fractional position is different from a predetermined reference filter coefficient, and a filter coefficient selection for decoding a combination of a difference value between a motion vector and the predicted motion vector A motion vector decoding step;
When the difference between the motion vector and the predicted motion vector is a zero vector, a filter coefficient redetermining step of setting the filter coefficient of the current area to be the same as the predicted filter coefficient;
A motion vector creating step for creating a motion vector from a difference between the predicted motion vector and the motion vector obtained in the filter coefficient selection motion vector decoding step;
A motion compensation step of generating a prediction image using the filter coefficients and the motion vector set in the filter coefficient redetermining step, obtaining a prediction error, decoding prediction error coded data and generating a decoded image. A featured image decoding method.
現フレームの画像を分割した領域毎に,既に符号化したフレームの画像情報から分数位置の画像情報を作成し,その分数位置の画像情報との間の予測誤差を符号化する画象符号化装置であって,
現フレームの画像を入力する画像入力部と,
分数位置の画像情報を作成するフィルタの係数を指定するフィルタ係数指定部と,
前記フィルタ係数指定部で指定されたフィルタの係数を使って分数位置の画像情報を作成し動きベクトルを探索する動き探索部と,
前記動き探索部での動き探索結果を使い,分数位置の画像情報を作成するフィルタの係数を決定するフィルタ係数決定部と,
決定されたフィルタ係数と探索された動きベクトルとを使って予測画像を作成し,予測誤差を求めて予測誤差を符号化する動き補償部と,
前記フィルタ係数決定部で決定されたフィルタ係数が,予め決めた基準のフィルタ係数と異なるかどうかと,前記動き探索部で探索された動きベクトルの値との組み合わせを符号化するフィルタ係数選択動きベクトル符号化部と,
フィルタ係数を指定する情報を符号化するフィルタ係数符号化部と,
予測誤差符号化データを復号する復号部と,
復号画像を蓄積する参照画像メモリとを備える
ことを特徴とする画像符号化装置。
An image coding apparatus for generating image information at a fractional position from image information of a frame that has already been encoded for each region obtained by dividing the image of the current frame, and encoding a prediction error between the image information at the fractional position and the image information And
An image input unit for inputting an image of the current frame;
A filter coefficient designating unit for designating a coefficient of a filter for creating image information at a fraction position,
A motion search unit that creates image information at a fractional position using a filter coefficient specified by the filter coefficient specification unit and searches for a motion vector;
A filter coefficient determining unit that determines a coefficient of a filter that creates image information at a fractional position using a result of the motion search performed by the motion search unit;
A motion compensation unit that creates a prediction image using the determined filter coefficients and the searched motion vector, obtains a prediction error, and encodes the prediction error;
A filter coefficient selection motion vector that encodes a combination of whether the filter coefficient determined by the filter coefficient determination unit is different from a predetermined reference filter coefficient and a value of the motion vector searched by the motion search unit; An encoding unit;
A filter coefficient encoding unit that encodes information specifying a filter coefficient,
A decoding unit for decoding the prediction error encoded data,
An image encoding device, comprising: a reference image memory for storing a decoded image.
現フレームの画像を分割した領域毎に,既に符号化したフレームの画像情報から分数位置の画像情報を作成し,その分数位置の画像情報との間の予測誤差を符号化する画像符号化装置であって,
現フレームの画像を入力する画像入力部と,
分数位置の画像情報を作成するフィルタの係数を指定するフィルタ係数指定部と,
前記フィルタ係数指定部で指定されたフィルタの係数を使って分数位置の画像情報を作成し動きベクトルを探索する動き探索部と,
前記動き探索部での動き探索結果を使い,分数位置の画像情報を作成するフィルタの係数を決定するフィルタ係数決定部と,
周囲の領域の動きベクトルから予測動きベクトルを求める予測動きベクトル作成部と,
決定されたフィルタ係数と探索された動きベクトルとを使って予測画像を作成し,予測誤差を求めて予測誤差を符号化する動き補償部と,
前記フィルタ係数決定部で決定されたフィルタ係数が,予め決めた基準のフィルタ係数と異なるかどうかと,前記動き探索部で探索された動きベクトルと前記予測動きベクトル作成部で作成された予測動きベクトルとの差分の値との組み合わせを符号化するフィルタ係数選択動きベクトル符号化部と,
フィルタ係数を指定する情報を符号化するフィルタ係数符号化部と,
予測誤差符号化データを復号する復号部と,
復号画像を蓄積する参照画像メモリとを備える
ことを特徴とする画像符号化装置。
An image coding apparatus that creates image information at a fractional position from image information of a frame that has already been encoded for each region obtained by dividing the image of the current frame, and encodes a prediction error between the image information at the fractional position. So,
An image input unit for inputting an image of the current frame;
A filter coefficient designating unit for designating a coefficient of a filter for creating image information at a fraction position,
A motion search unit that creates image information at a fractional position using a filter coefficient specified by the filter coefficient specification unit and searches for a motion vector;
A filter coefficient determining unit that determines a coefficient of a filter that creates image information at a fractional position using a result of the motion search performed by the motion search unit;
A predicted motion vector generating unit for obtaining a predicted motion vector from a motion vector of a surrounding area;
A motion compensation unit that creates a prediction image using the determined filter coefficients and the searched motion vector, obtains a prediction error, and encodes the prediction error;
Whether the filter coefficient determined by the filter coefficient determination unit is different from a predetermined reference filter coefficient, the motion vector searched by the motion search unit, and the predicted motion vector generated by the predicted motion vector generation unit. A filter coefficient selection motion vector coding unit for coding a combination with a difference value between
A filter coefficient encoding unit that encodes information specifying a filter coefficient,
A decoding unit for decoding the prediction error encoded data,
An image encoding device, comprising: a reference image memory for storing a decoded image.
現フレームの画像を分割した領域毎に,既に符号化したフレームの画像情報から分数位置の画像情報を作成し,その分数位置の画像情報との間の予測誤差を符号化する画象符号化装置であって,
現フレームの画像を入力する画像入力部と,
分数位置の画像情報を作成するフィルタの係数を指定するフィルタ係数指定部と,
前記フィルタ係数指定部で指定されたフィルタの係数を使って分数位置の画像情報を作成し動きベクトルを探索する動き探索部と,
前記動き探索部での動き探索結果を使い,分数位置の画像情報を作成するフィルタの係数を決定するフィルタ係数決定部と,
周囲の領域の動きベクトルから予測動きベクトルを求める予測動きベクトル作成部と,
周囲の領域のフィルタ係数から,現領域のフィルタの係数の予測値である予測フィルタ係数を求めるフィルタ係数予測部と,
前記動き探索部で探索された動きベクトルと前記予測動きベクトル作成部で作成された予測動きベクトルとの差分の値が0かどうかを判断し,0の場合に,現領域のフィルタ係数を予測フィルタ係数と同じに設定するフィルタ係数再決定部と,
決定したフィルタ係数と動きベクトルとを使って予測画像を作成し,予測誤差を求めて予測誤差を符号化する動き補償部と,
前記動き探索部で探索された動きベクトルと前記予測動きベクトル作成部で作成された予測動きベクトルとの差分を符号化する動きベクトル符号化部と,
予測誤差符号化データを復号する復号部と,
復号画像を蓄積する参照画像メモリとを備える
ことを特徴とする画像符号化装置。
An image coding apparatus for generating image information at a fractional position from image information of a frame that has already been encoded for each region obtained by dividing the image of the current frame, and encoding a prediction error between the image information at the fractional position and the image information And
An image input unit for inputting an image of the current frame;
A filter coefficient designating unit for designating a coefficient of a filter for creating image information at a fraction position,
A motion search unit that creates image information at a fractional position using a filter coefficient specified by the filter coefficient specification unit and searches for a motion vector;
A filter coefficient determining unit that determines a coefficient of a filter that creates image information at a fractional position using a result of the motion search performed by the motion search unit;
A predicted motion vector generating unit for obtaining a predicted motion vector from a motion vector of a surrounding area;
A filter coefficient prediction unit that obtains a prediction filter coefficient which is a prediction value of a filter coefficient of a current area from a filter coefficient of a surrounding area;
It is determined whether or not the difference value between the motion vector searched by the motion search unit and the predicted motion vector created by the predicted motion vector creation unit is 0. A filter coefficient re-determining unit for setting the same as the coefficient,
A motion compensation unit that creates a predicted image using the determined filter coefficients and the motion vector, determines a prediction error, and encodes the prediction error;
A motion vector encoding unit that encodes a difference between the motion vector searched by the motion search unit and the predicted motion vector created by the predicted motion vector creation unit;
A decoding unit for decoding the prediction error encoded data,
An image encoding device, comprising: a reference image memory for storing a decoded image.
既に復号したフレームの画像情報から分数位置の画像情報を作成し,その分数位置の画像情報との間の予測誤差を用いて,現フレームを分割した画像の領域毎の符号化データを復号する画像復号装置であって,
分数位置の画像情報を作成する際に使用されるフィルタ係数が,予め決めた基準のフィルタ係数と異なるかどうかと,動きベクトルの値の組み合わせを復号するフィルタ係数選択動きベクトル復号部と,
フィルタ係数を指定する情報を復号するフィルタ係数復号部と,
フィルタ係数と動きベクトルとを使って予測画像を作成し,予測誤差を求めて予測誤差符号化データを復号し復号画像を作成する動き補償部と,
復号画像を蓄積する参照画像メモリとを備える
ことを特徴とする画像復号装置。
An image for which image information at a fractional position is created from image information of a frame that has already been decoded, and encoded data for each region of an image obtained by dividing the current frame is decoded using a prediction error between the image information at the fractional position and the image information. A decryption device,
A filter coefficient selection motion vector decoding unit for decoding whether or not a filter coefficient used for creating image information at a fractional position is different from a predetermined reference filter coefficient;
A filter coefficient decoding unit for decoding information specifying the filter coefficient,
A motion compensation unit that creates a predicted image using the filter coefficient and the motion vector, obtains a prediction error, decodes the prediction error encoded data to create a decoded image,
An image decoding apparatus, comprising: a reference image memory for storing a decoded image.
既に復号したフレームの画像情報から分数位置の画像情報を作成し,その分数位置の画像情報との間の予測誤差を用いて,現フレームを分割した領域毎の符号化データを復号する画像復号装置であって,
周囲の領域の動きベクトルから予測動きベクトルを作成する予測動きベクトル作成部と,
分数位置の画像情報を作成する際に使用されるフィルタ係数が,予め決めた基準のフィルタ係数と異なるかどうかと,動きベクトルと前記予測動きベクトルとの差分の値の組み合わせを復号するフィルタ係数選択動きベクトル復号部と,
予測動きベクトルと,前記フィルタ係数選択動きベクトル復号部で求めた動きベクトルの差分から,動きベクトルを作成する動きベクトル作成部と,
フィルタ係数を指定する情報を復号するフィルタ係数復号部と,
フィルタ係数と動きベクトルとを使って予測画像を作成し,予測誤差を求めて予測誤差符号化データを復号し復号画像を作成する動き補償部と,
復号画像を蓄積する参照画像メモリとを備える
ことを特徴とする画像復号装置。
An image decoding device that creates image information at a fractional position from image information of a frame that has already been decoded, and decodes encoded data for each area obtained by dividing the current frame using a prediction error between the image information at the fractional position and the image information. And
A predicted motion vector generating unit that generates a predicted motion vector from a motion vector of a surrounding area;
Whether a filter coefficient used for generating image information at a fractional position is different from a predetermined reference filter coefficient, and a filter coefficient selection for decoding a combination of a difference value between a motion vector and the predicted motion vector A motion vector decoding unit;
A motion vector creation unit that creates a motion vector from a difference between the predicted motion vector and the motion vector obtained by the filter coefficient selection motion vector decoding unit;
A filter coefficient decoding unit for decoding information specifying the filter coefficient,
A motion compensation unit that creates a predicted image using the filter coefficient and the motion vector, obtains a prediction error, decodes the prediction error encoded data to create a decoded image,
An image decoding apparatus, comprising: a reference image memory for storing a decoded image.
既に復号したフレームの画像情報から分数位置の画像情報を作成し,その分数位置の画像情報との間の予測誤差を用いて,現フレームの画像を分割した領域毎の符号化データを復号する画像復号装置であって,
周囲の領域の動きベクトルから予測動きベクトルを作成する予測動きベクトル作成部と,
分数位置の画像情報を作成する際に使用されるフィルタ係数が,予め決めた基準のフィルタ係数と異なるかどうかと,動きベクトルと前記予測動きベクトルとの差分の値の組み合わせを復号するフィルタ係数選択動きベクトル復号部と,
動きベクトルと前記予測動きベクトルとの差分が0ベクトルの場合に,周囲の領域のフィルタ係数から,現領域のフィルタの係数の予測値である予測フィルタ係数を求めるフィルタ係数予測部と,
フィルタ係数と動きベクトルとを使って予測画像を作成し,予測誤差を求めて予測誤差符号化データを復号して復号画像を作成する動き補償部と,
復号画像を蓄積する参照画像メモリとを備える
ことを特徴とする画像復号装置。
An image in which image information at a fractional position is created from image information of a frame that has already been decoded, and encoded data for each area obtained by dividing the image of the current frame is decoded using a prediction error between the image information at the fractional position and the image information. A decryption device,
A predicted motion vector generating unit that generates a predicted motion vector from a motion vector of a surrounding area;
Whether a filter coefficient used for generating image information at a fractional position is different from a predetermined reference filter coefficient, and a filter coefficient selection for decoding a combination of a difference value between a motion vector and the predicted motion vector A motion vector decoding unit;
A filter coefficient prediction unit that obtains a prediction filter coefficient that is a predicted value of a filter coefficient of a current area from a filter coefficient of a surrounding area when a difference between the motion vector and the predicted motion vector is a zero vector;
A motion compensation unit that creates a predicted image using the filter coefficient and the motion vector, obtains a prediction error, decodes the prediction error encoded data to create a decoded image,
An image decoding apparatus, comprising: a reference image memory for storing a decoded image.
請求項1ないし請求項3のいずれか1項に記載の画像符号化方法をコンピュータに実行させるための画像符号化プログラム。An image encoding program for causing a computer to execute the image encoding method according to any one of claims 1 to 3. 請求項4ないし請求項6のいずれか1項に記載の画像復号方法をコンピュータに実行させるための画像復号プログラム。An image decoding program for causing a computer to execute the image decoding method according to any one of claims 4 to 6. 請求項1ないし請求項3のいずれか1項に記載の画像符号化方法をコンピュータに実行させるための画像符号化プログラムを記録した記録媒体。A recording medium storing an image encoding program for causing a computer to execute the image encoding method according to claim 1. 請求項4ないし請求項6のいずれか1項に記載の画像復号方法をコンピュータに実行させるための画像復号プログラムを記録した記録媒体。A recording medium storing an image decoding program for causing a computer to execute the image decoding method according to any one of claims 4 to 6.
JP2002326638A 2002-11-11 2002-11-11 Image encoding method, image decoding method, image encoding device, image decoding device, image encoding program, image decoding program, and recording medium recording the program Expired - Fee Related JP3999634B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002326638A JP3999634B2 (en) 2002-11-11 2002-11-11 Image encoding method, image decoding method, image encoding device, image decoding device, image encoding program, image decoding program, and recording medium recording the program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002326638A JP3999634B2 (en) 2002-11-11 2002-11-11 Image encoding method, image decoding method, image encoding device, image decoding device, image encoding program, image decoding program, and recording medium recording the program

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2007175367A Division JP2007288810A (en) 2007-07-03 2007-07-03 Image encoding method, image decoding method, image encoding apparatus, image decoding apparatus, image encoding program, image decoding program and computer readable recording medium

Publications (2)

Publication Number Publication Date
JP2004165785A true JP2004165785A (en) 2004-06-10
JP3999634B2 JP3999634B2 (en) 2007-10-31

Family

ID=32805510

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002326638A Expired - Fee Related JP3999634B2 (en) 2002-11-11 2002-11-11 Image encoding method, image decoding method, image encoding device, image decoding device, image encoding program, image decoding program, and recording medium recording the program

Country Status (1)

Country Link
JP (1) JP3999634B2 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008069073A1 (en) * 2006-11-30 2008-06-12 Ntt Docomo, Inc. Dynamic image encoding device, dynamic image encoding method, dynamic image encoding program, dynamic image decoding device, dynamic image decoding method, and dynamic image decoding program
WO2011111341A1 (en) * 2010-03-09 2011-09-15 パナソニック株式会社 Dynamic image decoding device, dynamic image encoding device, dynamic image decoding circuit, and dynamic image decoding method
WO2012042810A1 (en) * 2010-09-29 2012-04-05 パナソニック株式会社 Image encoding method, image decoding method, image encoding device, image decoding device, and image processing system
JP2015511472A (en) * 2012-02-22 2015-04-16 クゥアルコム・インコーポレイテッドQualcomm Incorporated Coding loop filter parameters using codebook in video coding

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101701342B1 (en) 2009-08-14 2017-02-01 삼성전자주식회사 Method and apparatus for video encoding considering adaptive loop filtering, and method and apparatus for video decoding considering adaptive loop filtering

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008069073A1 (en) * 2006-11-30 2008-06-12 Ntt Docomo, Inc. Dynamic image encoding device, dynamic image encoding method, dynamic image encoding program, dynamic image decoding device, dynamic image decoding method, and dynamic image decoding program
JPWO2008069073A1 (en) * 2006-11-30 2010-03-18 株式会社エヌ・ティ・ティ・ドコモ Moving picture coding apparatus, moving picture coding method, moving picture coding program, moving picture decoding apparatus, moving picture decoding method, and moving picture decoding program
US9014267B2 (en) 2006-11-30 2015-04-21 Ntt Docomo, Inc. System and method for encoding and decoding with dynamic interpolation filter
WO2011111341A1 (en) * 2010-03-09 2011-09-15 パナソニック株式会社 Dynamic image decoding device, dynamic image encoding device, dynamic image decoding circuit, and dynamic image decoding method
CN102349299A (en) * 2010-03-09 2012-02-08 松下电器产业株式会社 Dynamic image decoding device, dynamic image encoding device, dynamic image decoding circuit, and dynamic image decoding method
JP5659160B2 (en) * 2010-03-09 2015-01-28 パナソニックIpマネジメント株式会社 Moving picture decoding apparatus, moving picture encoding apparatus, moving picture decoding circuit, and moving picture decoding method
US8995530B2 (en) 2010-03-09 2015-03-31 Panasonic Intellectual Property Management Co., Ltd. Moving image decoding apparatus, moving image coding apparatus, moving image decoding circuit, and moving image decoding method
CN102349299B (en) * 2010-03-09 2015-10-21 松下知识产权经营株式会社 Dynamic image decoding device, moving picture encoding device, moving image decoding circuit and dynamic image decoding method
US9641868B2 (en) 2010-03-09 2017-05-02 Panasonic Intellectual Property Management Co., Ltd. Moving image decoding apparatus, moving image coding apparatus, moving image decoding circuit, and moving image decoding method
WO2012042810A1 (en) * 2010-09-29 2012-04-05 パナソニック株式会社 Image encoding method, image decoding method, image encoding device, image decoding device, and image processing system
JP2015511472A (en) * 2012-02-22 2015-04-16 クゥアルコム・インコーポレイテッドQualcomm Incorporated Coding loop filter parameters using codebook in video coding

Also Published As

Publication number Publication date
JP3999634B2 (en) 2007-10-31

Similar Documents

Publication Publication Date Title
JP7324841B2 (en) Video data processing method, apparatus, storage medium and storage method
JP6272948B2 (en) Decoding method of motion information
JP5277257B2 (en) Video decoding method and video encoding method
US11070834B2 (en) Low-complexity method for generating synthetic reference frames in video coding
US8472525B2 (en) Method and apparatus for encoding/decoding motion vector
JP4898467B2 (en) Coding mode determination method and apparatus for variable block size motion prediction
KR101528361B1 (en) Predictive coding method for motion vector, predictive decoding method for motion vector, video coding device, video decoding device, and programs therefor
JP2023014095A (en) Memory access windows and padding for motion vector refinement and motion compensation
JP5310614B2 (en) Moving picture coding apparatus, moving picture coding method, moving picture decoding apparatus, and moving picture decoding method
KR102625314B1 (en) Inter prediction concept using tile independence constraints
KR20120126115A (en) Method for performing localized multihypothesis prediction during video coding of a coding unit, and associated apparatus
JP5216710B2 (en) Decryption processing method
JP5367097B2 (en) Motion vector predictive coding method, motion vector predictive decoding method, moving picture coding apparatus, moving picture decoding apparatus, and programs thereof
JP2023179747A (en) Methods and apparatus on prediction refinement with optical flow
CN112292861B (en) Sub-pixel accurate correction method based on error surface for decoding end motion vector correction
US20180376147A1 (en) Encoding device, decoding device, and program
JP2007288810A (en) Image encoding method, image decoding method, image encoding apparatus, image decoding apparatus, image encoding program, image decoding program and computer readable recording medium
JP3999634B2 (en) Image encoding method, image decoding method, image encoding device, image decoding device, image encoding program, image decoding program, and recording medium recording the program
JP2009212667A (en) Moving image encoding apparatus and decoding apparatus
JP5281597B2 (en) Motion vector prediction method, motion vector prediction apparatus, and motion vector prediction program
JP2016187171A (en) Video encoding device, video encoding method, and video encoding program
US20230388484A1 (en) Method and apparatus for asymmetric blending of predictions of partitioned pictures
JP6853697B2 (en) Time prediction motion vector candidate generator, coding device, decoding device, and program
JP2022066678A (en) Intra prediction device, encoding apparatus, decoding apparatus and program
TW202349959A (en) Method and apparatus for complexity reduction of video coding using merge with mvd mode

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050126

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070508

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070703

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20070703

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20070807

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070809

R150 Certificate of patent (=grant) or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20100817

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20100817

Year of fee payment: 3

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: R3D02

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

Free format text: PAYMENT UNTIL: 20100817

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20110817

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20120817

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20130817

Year of fee payment: 6

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees