JP4015532B2 - Image encoding method, image decoding method, image encoding device, image decoding device, image encoding program, image decoding program, and recording medium recording the program - Google Patents

Image encoding method, image decoding method, image encoding device, image decoding device, image encoding program, image decoding program, and recording medium recording the program Download PDF

Info

Publication number
JP4015532B2
JP4015532B2 JP2002323478A JP2002323478A JP4015532B2 JP 4015532 B2 JP4015532 B2 JP 4015532B2 JP 2002323478 A JP2002323478 A JP 2002323478A JP 2002323478 A JP2002323478 A JP 2002323478A JP 4015532 B2 JP4015532 B2 JP 4015532B2
Authority
JP
Japan
Prior art keywords
image
information
rotation angle
decoding
encoding
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
JP2002323478A
Other languages
Japanese (ja)
Other versions
JP2004159132A (en
Inventor
英明 木全
由幸 八島
正樹 北原
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
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 JP2002323478A priority Critical patent/JP4015532B2/en
Publication of JP2004159132A publication Critical patent/JP2004159132A/en
Application granted granted Critical
Publication of JP4015532B2 publication Critical patent/JP4015532B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Landscapes

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

Description

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

Figure 0004015532
【0005】
ブロックサイズがN×N画素であり,(i,j)はブロック内の画素位置,f(a,b,c)はフレームc内の符号化対象ブロックにおける画素位置(a,b)の画素値を表している。
【0006】
動きベクトルは,整数精度または分数精度または実数精度のいずれでも表現することが可能である。分数精度や実数精度では,実際には画素の無い位置の画像情報を作る必要がある。分数精度と実数精度の場合には,対応する位置の画像情報を周囲の整数位置の画素の画像情報から求める。例えば,実数精度で周囲4画素からの線形補間によって求める場合で,図11に示すような左上の画素から(a,b)の位置の画像情報を求める場合には,式(2)により求める。実数精度は,任意の位置の画像情報を作ることができるが,符号化側と復号側で演算精度が異なる場合があるため,復号側で正確に復号できない場合がある。
【0007】
【数2】
Figure 0004015532
【0008】
整数位置の画素の画像情報から,実数精度または分数精度の画像情報を求める方法として,線形補間以外の方法によって分数位置の画像情報を作り,その後で整数位置と分数位置の画像情報を使って平行移動位置の画像情報を求めることも可能である。例えば周囲の複数画素から1/2精度の位置の画像情報をタップ数の長いフィルタによって求め,続いて1/8精度の位置の画像情報を整数精度と1/2精度の画像情報から線形補間によって求めることも可能である。1/2精度の画像情報を求めるフィルタ方法の例を図12(A)および(B)に示す。
【0009】
このようにして求めた動きベクトル(x,y)は可変長符号化される。整数画素精度の動きベクトルをルックアップテーブルを使って可変長符号化する際のテーブルの例を図3に示す。なお算術符号化を用いて符号化する方法もある。
【0010】
領域全体の平行移動ではなく,領域内画素の個々の平行移動により予測画像を作成する方法もある。領域内画素それぞれの平行移動量を符号化すると符号量の増加を招くため,一般的に画素それぞれの平行移動量を代表ベクトルから補間する。従来の代表的な代表ベクトルとしては,領域の四隅の画素の平行移動量を用いる方法がある。この場合には領域一つに対して4個の平行移動量を符号化する必要がある。
【0011】
領域の四隅の画素の平行移動量から,領域内画素の平行移動量を算出する方法の例を図13に示す,四隅の平行移動量を(x1,y1),(x2,y2),(x3,y3),(x4,y4)とすると,画素(p,q)の平行移動量(X,Y)は,次の式(3−1),(3−2)により計算される。
【0012】
【数3】
Figure 0004015532
【0013】
ここでMは画面横方向の画素数を示し,Nは画面縦方向の画素数を示す。この平行移動量は通常の動き補償と同様に,整数精度ではなく実数精度または分数精度で求めることも可能である。
【0014】
さらにマクロブロック毎に符号化する場合,マクロブロックの四隅の画素の動きベクトルだけを符号化し,マクロブロック内部の任意の画素の動きベクトルはそれらから計算により求める方法もある。この場合にはマクロブロック毎に4個の動きベクトルが必要となる。
【0015】
この方法では,回転運動のみあるいは拡大運動のみある場合であっても,四隅の動きベクトルを符号化する必要があり符号量の増加を招く場合がある。そのため,例えば以下に示す非特許文献1では,回転運動に対して回転角度を示す情報によって予測画像を作成して回転角度情報を符号化する方法や,拡大運動に対して拡大率を示す情報によって予測画像を作成して拡大率情報を符号化する方法を用いている。
【0016】
また,通常のフレーム間予測符号化のように,既に符号化したフレームの画像から予測画像を作成する方法の他に,現フレーム中の既に符号化された領域の画像から予測画像を作成する方法もある。
【0017】
【非特許文献1】
石川他,“マルチパラメータ動き補償を用いた動画像の3D/2Dハイブリッド符号化”,信学技報IE2001-76 ,pp.15-22,2001
【0018】
【発明が解決しようとする課題】
回転角度や拡大率をマクロブロック毎に変更して符号化する方法によれば,例えば人間の腕のように,ある位置を軸とした回転運動や拡大運動を伴うような画像内容の変化において,平行移動のみによる予測よりも,予測誤差を低減することが可能である,しかしながら,画面内のすべてのマクロブロックで,回転運動や拡大運動があるとは限らない。回転や拡大による予測誤差の低減がないマクロブロックやブロックでは,回転角度情報や拡大率情報を符号化するために使用する符号量は冗長である。
【0019】
本発明は上記問題点の解決を図り,平行移動に回転や拡大縮小を加えた動きモデルの動き補償を適用した符号化において,回転や拡大縮小を必要としない領域における回転角度情報や拡大率情報の符号化量を削減し,符号化効率を向上させることを目的とする。
【0020】
【課題を解決するための手段】
以上の課題を解決するため,本発明は以下の方法を用いる。
【0021】
第1の発明は,現フレームの画像を分割した領域(以後,現領域と呼ぶ)毎に,既に符号化した領域あるいはフレームの画像情報との間の予測誤差を用いて符号化する画像符号化方法であって,領域を更に分割した小領域の分割パターン情報と,領域内の小領域について回転角度情報を符号化するかどうかを示す回転有無情報とを表す,分割パターン回転有無情報を符号化する分割パターン回転有無符号化ステップと,小領域の回転角度情報を符号化する回転角度符号化ステップとを実行することを特徴とする。
【0022】
第2の発明は,現フレームの画像を分割した領域(以後,現領域と呼ぶ)毎に,既に符号化した領域あるいはフレームの画像情報との間の予測誤差を用いて符号化する画像符号化方法であって,領域を更に分割した小領域の分割パターン情報と,領域内の小領域について拡大率情報を符号化するかどうかを示す拡大有無情報とを表す,分割パターン拡大有無情報を符号化する分割パターン拡大有無符号化ステップと,小領域の拡大率情報を符号化する拡大率符号化ステップとを実行することを特徴とする。
【0023】
第1の発明によれば,画面内のある領域が回転するような画像において,回転する小領域でのみ回転角度情報を符号化し,その他の領域または小領域では回転角度情報を符号化しないことができる。従って,回転を必要としない領域における回転角度情報の符号化量を削減でき,符号化効率を向上することができる。
【0024】
第2の発明によれば,画面内のある領域が拡大縮小するような画像において,拡大縮小する小領域でのみ拡大率情報を符号化し,その他の領域または小領域では拡大率情報を符号化しないことができる。従って,拡大縮小を必要としない領域における拡大率情報の符号化量を削減でき,符号化効率を向上することができる。
【0025】
上記第1と第2の発明を組み合わせて実施することもできる。
【0026】
【発明の実施の形態】
図面を用いて本発明の実施の形態を説明する。画面をマクロブロック毎に符号化し,そのマクロブロックを複数のブロックに分割して符号化する場合の例を示す。複数パターンの領域分割パターンと回転角度情報と拡大率情報を予め用意しておき,分割パターンと回転角度情報と拡大率情報と動きベクトルを求める方法の例を示す。まず,分割パターンを固定し,ブロック毎に,回転角度情報と拡大率情報を変更して動き探索を行う。これを全てのブロックで行った後,分割パターンを変更して,同じ処理を繰り返す。
【0027】
図1に本発明の実施の形態に係る画像符号化装置の概要を示す。この画像符号化装置1は,現フレームの画像を入力する画像入力部11と,マクロブロックを更に分割したブロックの分割パターンを指定する領域分割パターン指定部12と,ブロックの回転角度情報を指定する回転角度指定部13と,ブロックの拡大率情報を指定する拡大率指定部14と,参照画像内の或る位置を原点とした,予め設定した回転角度情報と拡大率情報を使って拡大縮小し回転された予測画像を作成する回転拡大予測画像作成部16と,ブロック毎に,回転拡大予測画像作成部16で作成された予測画像との間で動き探索を行い,動きベクトルを求める動き探索部15と,そのブロックにおける回転角度情報と拡大率情報を決定する回転拡大決定部18と,マクロブロックの分割パターンを決定する分割パターン決定部17と,ブロック毎に,動き探索部15で得られた動きベクトルを使って,回転拡大予測画像作成部16で作成された予測画像との間の予測誤差を符号化する予測誤差符号化部19とを備える。
【0028】
また,ブロックの分割パターン情報と,各ブロックが回転角度情報と拡大率情報を符号化するかどうかを示す回転拡大有無情報とを表す,分割パターン回転拡大有無情報を符号化する分割パターン回転拡大有無符号化部20と,ブロックの動きベクトルを符号化する動きベクトル符号化部23と,ブロックの回転角度情報を符号化する回転角度符号化部21と,ブロックの拡大率情報を符号化する拡大率符号化部22と,予測誤差の符号化データを復号して復号画像を作成する復号部24と,復号画像を蓄積する参照画像メモリ25とを備える。
【0029】
領域分割パターン指定部12では,縦横16画素のマクロブロックを,
A.縦横16画素のブロック,
B.縦16横8画素のブロック,
C.縦8横16画素のブロック,
D.縦8横8画素のブロック,
の4パターンに分割する分割パターンを用意しておき,AからDまで順に指定するものとする。
【0030】
回転角度指定部13では,ブロックの左上画素を中心にして,
A.0度,
B.右45度,
C.右90度,
D.左45度,
E.左90度,
の5パターンに回転する回転角度情報を用意しておき,AからEまで順に指定するものとする。図2に縦横8画素のブロックの場合の回転中心の位置を示す。
【0031】
拡大率指定部14では,ブロックの左上画素を中心にして,
A.4/4,
B.3/4,
C.2/4,
D.5/4,
E.6/4,
の5パターンに拡大縮小する拡大率情報を用意しておき,AからEまで順に指定するものとする。図2に縦横8画素のブロックの場合の拡大縮小中心の位置を示す。
【0032】
回転拡大予測画像作成部16では,動き探索部15と予測誤差符号化部19で使用する予測誤差を作成するが,予測画像の画素位置は,式(4)に従って求める。ここで(i,j)は対応する入力画像ブロック内の画素位置,(k,l)が予測画像画素位置,θは回転角度,Zは拡大率,(x,y)は動きベクトル(平行移動量)を示す。
【0033】
【数4】
Figure 0004015532
【0034】
一般的に位置(k,l)は整数位置とはならないため,それに最も近い1/4精度の位置での画像情報によって代用するものとする。1/4精度の画像情報は整数位置の画像情報から線形補間によって求めるものとする。
【0035】
動きベクトル符号化部23は,図3に示すようなルックアップテーブルを使って動きベクトル情報を可変長符号化する。回転角度符号化部21は,図4に示したルックアップテーブルを使って回転角度情報を符号化する。拡大率符号化部22は,図5に示したルックアップテーブルを使って拡大率情報を符号化する。分割パターン回転拡大有無符号化部20は,図6に示したルックアップテーブルを使って分割パターン回転拡大有無情報を符号化する。
【0036】
動き探索部15では,差分の評価尺度として絶対値差分和Wを使うものとする。使用するWの計算式を式(5)に示す。ここで,k,lは式(4)によって求めた値であり,Nmv(x,y)は動きベクトル(x,y)を符号化するために必要な符号量であり,Nr(θ)は回転角度θを符号化するために必要な符号量であり,Nz(z)は拡大率zを符号化するために必要な符号量を表す。
【0037】
【数5】
Figure 0004015532
【0038】
図7に分割パターンと回転角度と拡大率を決定するフローを示す。本実施の形態では,まず分割パターンを固定し,各ブロックにおいて動きベクトルと回転角度と拡大率を求める。これを分割パターンを変更しながら続ける。
【0039】
すなわち,まず,全ての分割パターンで動き探索を行ったかを判断し(ステップS1),全ての分割パターンで動き探索を行った場合には,処理を終了する。動き探索を行っていない分割パターンがある場合には,分割パターンを指定する(ステップS2)。次に,全てのブロックで動き探索を行ったかを判断し(ステップS3),全てのブロックで動き探索を行った場合には,ステップS1に戻る。動き探索を行っていないブロックがある場合には,探索ブロックを設定する(ステップS4)。
【0040】
次に,全ての拡大率で動き探索を行ったかを判断し(ステップS5),全ての拡大率で動き探索を行った場合には,ステップS3に戻る。動き探索を行っていない拡大率がある場合には,拡大率を設定する(ステップS6)。次に,全ての回転角度で動き探索を行ったかを判断し(ステップS7),全ての回転角度で動き探索を行った場合には,ステップS5に戻る。動き探索を行っていない回転角度がある場合には,その回転角度を設定し(ステップS8),動き探索を行った後(ステップS9),ステップS7に戻る。
【0041】
分割パターンと回転角度と拡大率を決定する際には,具体的には,回転拡大決定部18は,ある分割パターンiの,あるブロックjで,回転角度と拡大率を変えて動き探索を行った際のWの値を比較し,Wが最も小さい場合の回転角度と拡大率と動きベクトルとを,そのブロックにおける回転角度と拡大率と動きベクトルに決定し記憶しておく。この時のWの値をW[i][j][1]と書くことにする。
【0042】
また同時に回転角度0度かつ拡大率4/4の場合のWの値を記憶しておく。このWの値をW[i][j][0]と書くことにする。これを全てのブロックに対して求める。続いて,分割パターン決定部17は,各分割パターンにおける,マクロブロック内のW[i][j][0]とW[i][j][1]の値を合計し,合計が最も小さい場合をそのマクロブロックの分割パターン回転拡大有無情報と決定し,分割パターンと,更に回転角度情報と拡大率情報を符号化するかどうかを決定する。動き探索部15では,縦横16画素の範囲を動き探索するものとする。
【0043】
このような前提で現画像をマクロブロック単位に次のように符号化する。まず,画像入力部11で入力画像を得る。領域分割パターン指定部12は,分割パターンAを指定する。そして,分割パターンAで分割されるブロックのうち,ブロック0の動きベクトルと回転角度と拡大率を求める。回転角度指定部13は,回転角度Aを指定し,拡大率指定部14は拡大率Aを指定する。動き探索部15は動きベクトルを設定する。そして,回転拡大予測画像作成部16は,ブロック0に対応した位置から動きベクトルだけ移動した位置において回転角度Aで拡大率Aとなる予測画像を作成する。
【0044】
動き探索部15は,ブロック0の現画像と予測画像との間で絶対値差分和Wの値を求める。回転角度Aと拡大率Aを固定したまま,以上の処理を縦横16画素の動き探索範囲において行う。絶対値差分和が最も小さい場合の動きベクトルを,そのブロック0の,回転角度Aで拡大率Aの動きベクトルとする。
【0045】
回転角度Aは0度であり,拡大率Aは4/4であるため,その場合のWをW[A][0][0]と設定する。続いて,図7のフローに従い,回転角度と拡大率を変更して,上記の処理を行い,ブロック0における各回転角度,各拡大率の動きベクトルを探索する。回転拡大決定部18は,回転角度と拡大率を変更して求めた絶対値差分和から,最も絶対値差分和Wが小さい場合を求め,その場合の動きベクトルと回転角度と拡大率を,ブロック0の動きベクトルと回転角度と拡大率に決定する。その場合のWをW[A][0][1]とする,以上の処理をブロックを変更して行う。分割パターンAではブロック数は1つしかないので,ブロック0のみ処理を行うことになる。
【0046】
続いて領域分割パターン指定部12は,分割パターンをBに指定する。分割パターンBではブロック数は2であるため,ブロック0とブロック1に対して,動き探索を行い,ブロック0の最小絶対値差分和W[B][0][0],W[B][0][1]と,ブロック1の最小絶対値差分和W[B][1][0],W[B][1][1]と,対応した動きベクトルと回転角度と拡大率を求める。以上の処理を全ての分割パターンで行う。
【0047】
すべての分割パターンで動き探索が終わると,分割パターン決定部17は,各分割パターンiで,全てのブロックのW[i][j][0]とW[i][j][1]をそれぞれ合計する。合計した値をWa[i][0],Wa[i][1]とすると,Wa[i][0],Wa[i][1](i=A〜D)のうちで最も値が小さいものを求める。ここでWa[i][0]とWa[i][1]の違いは同じ分割パターンiであるが,Wa[i][0]は回転角度情報と拡大率情報を符号化しない場合であり,Wa[i][1]は符号化する場合を示す。これにより,分割パターンと,回転角度と拡大率を符号化するかどうかを決定し,最終的には各ブロックの回転角度と拡大率を決定することになる。
【0048】
予測誤差符号化部19は,決定された分割パターンと,各ブロックの動きベクトルと回転角度と拡大率を使用して,現マクロブロックをフレーム間予測符号化する。分割パターン回転拡大有無符号化部20は分割パターン回転拡大有無情報を符号化する。動きベクトル符号化部23は動きベクトル情報を可変長符号化する。回転角度と拡大率を符号化すると決定した場合には,回転角度符号化部21は回転角度情報を符号化し,拡大率符号化部22は拡大率情報を符号化する。復号部24は予測誤差符号化部19で符号化された符号化データを復号して復号画像を作成し参照画像メモリ25に蓄積する。
【0049】
以上の手順をすべてのマクロブロックに対して繰り返し処理する。
【0050】
図8に,上記の画像符号化装置1で得られた符号化データを復号する画像復号装置3の装置概要を示す。この画像復号装置3は,マクロブロックを更に分割したブロックの分割パターン情報と,ブロックが回転角度情報と拡大率情報を復号するかどうかを示す回転拡大有無情報とを表す,分割パターン回転拡大有無情報を復号する分割パターン回転拡大有無復号部32と,ブロックの動きベクトルを復号する動きベクトル復号部35と,ブロックの回転角度情報を復号する回転角度復号部33と,ブロックの拡大率情報を復号する拡大率復号部34と,参照画像内の或る位置を原点とした,回転角度復号部33で得られた回転角度情報と,拡大率復号部34で得られた拡大率情報と,動きベクトル復号部35で得られた動きベクトルを使って予測画像を作成する回転拡大予測画像作成部36と,回転拡大予測画像作成部36で作成された予測画像を用いて復号画像を作成する復号部31と,復号画像を蓄積する参照画像メモリ37とを備える。
【0051】
この画像復号装置3では,符号化データがマクロブロック毎に次のように復号される。分割パターン回転拡大有無復号部32は分割パターン回転拡大有無情報を復号し,マクロブロックの分割パターンと,回転角度情報と拡大率情報を復号するかどうかを決定する。動きベクトル復号部35は動きベクトルを復号する。分割パターン回転拡大有無情報により回転角度情報と拡大率情報を復号すると決定した場合には,回転角度復号部33は回転角度を復号し,拡大率復号部34は拡大率を復号する。回転拡大予測画像作成部36はブロック毎に,動きベクトルと回転角度情報と拡大率情報を使って,上記の式(4)に従って予測画像を作成する。
【0052】
ここで分割パターン回転拡大有無情報により回転角度情報と拡大率情報を復号しないと決定した場合には,回転角度は0度に,拡大率は4/4に設定する。復号部31は予測画像を使って予測誤差の符号化データを復号して復号画像を求め,復号画像を参照画像メモリ37に蓄積する。
【0053】
なお,以上説明した実施の形態では,回転と拡大を両方行ったが,回転のみ行う方法や拡大のみ行う方法も好適である。またマクロブロックの分割パターンは図6に示したものだけではなく,例えば縦横4画素のブロックになるように分割してもよい。また回転角度は図4に示したものだけではなく,より小さい角度で回転するように設定してもよい,また拡大率は図5に示したものだけではなく,より大きく拡大したり,より小さく縮小するように設定してもよい。また回転や拡大の中心を図2に示した位置ではなく,例えばブロックの中心にするなど,他の個所にしてもよい。
【0054】
図9は,本発明を用いた符号化による有効性を確認する実験結果を示す図である。一般的な画像について,平行移動に回転を加えた動きモデルの動き補償を適用して符号化を行った。横軸は符号化されたブロックのブロックサイズ,縦軸はそのサイズのブロックの発生頻度を表している。横軸において,「a×b」の表記は,横a画素縦b画素のブロックを表している。「a×b」に「r」が付いていないブロックは,平行移動だけの動き補償を行ったブロックであり,「r」が付いているブロックは,回転を加えた動き補償を行ったブロックである。なお,「Intra」はフレーム内符号化のブロックを表している。
【0055】
図9の実験結果から,回転を加えた動き補償を行ったブロックの数は,平行移動だけの動き補償を行ったブロックの数よりも非常に少ないことがわかる。したがって,分割パターン回転有無情報を符号化することによって,回転角度情報の符号化量を削減できるという効果が大きいことが明らかである。
【0056】
なお,回転を考慮しないで平行移動だけの動き補償を行って符号化した場合の符号化量と,回転を考慮した場合の符号化量とを比較する別の実験によって,回転を加えた符号化モードのほうが回転角度情報を符号化するオーバーヘッドを含めたとしても,符号化効率が高いことは確認済みである。
【0057】
また,図9の結果から,8×8ブロック内のブロックサイズは,小さいほど回転が選択されやすいことがわかる。これは,ブロックサイズが小さいほど符号長の短い符号を割り当てたほうが有効であることを示している。ブロックサイズが小さいほど,より多く選択される原因の一つには,ブロック内で一律に同じ回転角度で回転するような動きが少ないためと推測される。
【0058】
このように本発明によれば,画面内のある領域が回転あるいは拡大縮小するような画像において,回転あるいは拡大縮小する小領域でのみ回転角度情報あるいは拡大率情報を符号化し,その他の領域または小領域では回転角度情報や拡大率情報を符号化しないことができる。従って,回転や拡大縮小を必要としない領域における回転角度情報や拡大率情報の符号化量を削減でき,符号化効率を向上することができる。
【0059】
以上の画像符号化処理および画像復号処理は,コンピュータとソフトウェアプログラムとによっても実現することができ,そのプログラムをコンピュータ読み取り可能な記録媒体に記録することも,ネットワークを通して提供することも可能である。
【0060】
【発明の効果】
本発明によれば,画面内のある領域が回転あるいは拡大縮小するような画像の符号化において,回転角度情報や拡大率情報を符号化するかどうかを,領域の分割パターンとまとめて可変長符号化できる。従って,回転あるいは拡大縮小する小領域でのみ回転角度情報あるいは拡大率情報を符号化し,その他の領域または小領域では回転角度情報や拡大率情報を符号化しないことができる。従って,回転や拡大縮小を必要としない領域における回転角度情報や拡大率情報の符号化量を削減でき,符号化効率を向上することができる。
【図面の簡単な説明】
【図1】画像符号化装置の構成を示す図である。
【図2】回転中心,拡大縮小中心の位置を示す図である。
【図3】動きベクトルの可変長符号の一例を示す図である。
【図4】回転角度の可変長符号の一例を示す図である。
【図5】拡大率の可変長符号の一例を示す図である。
【図6】分割パターン回転拡大有無情報の可変長符号の一例を示す図である。
【図7】動き探索における分割パターンと回転角度と拡大率の決定フローを示す図である。
【図8】画像復号装置の構成を示す図である。
【図9】回転を行った場合と回転を行わない場合の符号量の比較を示す図である。
【図10】マクロブロックと探索位置の関係を示す図である。
【図11】画像情報の線形補間の一例を示す図である。
【図12】1/2精度の画像情報を求めるフィルタ方法の一例を示す図である。
【図13】動きベクトルの補間方法の概念図である。
【符号の説明】
11 画像入力部
12 領域分割パターン指定部
13 回転角度指定部
14 拡大率指定部
15 動き探索部
16 回転拡大予測画像作成部
17 分割パターン決定部
18 回転拡大決定部
19 予測誤差符号化部
20 分割パターン回転拡大有無符号化部
21 回転角度符号化部
22 拡大率符号化部
23 動きベクトル符号化部
24 復号部
25 参照画像メモリ
31 復号部
32 分割パターン回転拡大有無復号部
33 回転角度復号部
34 拡大率復号部
35 動きベクトル復号部
36 回転拡大予測画像作成部
37 参照画像メモリ[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a technique for encoding and decoding moving images, and in particular, when encoding an image in which a certain area in the screen is rotated or enlarged / reduced, rotation angle information in an area that does not require rotation or enlargement / reduction, The present invention relates to an image encoding method, an image decoding method, an image encoding device, and an image decoding device that can reduce the encoding amount of enlargement ratio information and improve the encoding efficiency.
[0002]
[Prior art]
In the motion compensation encoding method, a prediction image is created from image information in a reference frame for each area such as a macroblock (hereinafter referred to as MB) or a block, and a difference (prediction error) from the 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 translation (x, y) of the entire area, which is called a motion vector. A block matching method is generally used as a prediction image search method.
[0003]
In block matching, a square search range (search window) centered on the area to be encoded is set in the reference frame, and the difference in image information between the pixels in the area of the current frame and the pixels in the search window is determined. The smallest position is searched in the search window. As the difference calculation method, an absolute value difference sum, a mean square error, or the like is used. A conceptual diagram of block matching is shown in FIG. The calculation method of the absolute value difference sum W (x, y) is shown in Expression (1). The smaller this difference, the less the prediction error and the higher the coding efficiency.
[0004]
[Expression 1]
Figure 0004015532
[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 at the pixel position (a, b) in the encoding target block in the frame c. Represents.
[0006]
The motion vector can be expressed with integer precision, fractional precision, or real precision. In the fractional accuracy and real number accuracy, it is necessary to actually create image information at positions without pixels. In the case of fractional accuracy and real number accuracy, the image information at the corresponding position is obtained from the image information of pixels at surrounding integer positions. For example, when the image information at the position (a, b) is obtained from the upper left pixel as shown in FIG. 11 in the case of obtaining by linear interpolation from the surrounding four pixels with real number accuracy, the equation (2) is used. With real number accuracy, image information at an arbitrary position can be created. However, since the calculation accuracy may differ between the encoding side and the decoding side, the decoding side may not be able to accurately decode.
[0007]
[Expression 2]
Figure 0004015532
[0008]
As a method of obtaining real or fractional precision image information from image information of pixels at integer positions, image information at fractional positions is created by a method other than linear interpolation, and then parallel 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 of 1/2 position is obtained from a plurality of surrounding pixels by a filter having a long tap number, and then image information of 1/8 position is obtained by linear interpolation from integer precision and 1/2 precision image information. It is also possible to ask for it. 12A and 12B show examples of filtering methods for obtaining half-precision image information.
[0009]
The motion vector (x, y) obtained in this way is subjected to variable length coding. FIG. 3 shows an example of a table used when variable length coding is performed on a motion vector with integer pixel precision using a lookup table. There is also a method of encoding using arithmetic encoding.
[0010]
There is also a method of creating a predicted image not by translation of the entire region but by individual translation of pixels in the region. Since the amount of code increases when the amount of translation of each pixel in the region is encoded, generally the amount of translation of each pixel is interpolated from the representative vector. As a conventional representative representative vector, there is a method of using parallel movement amounts of pixels at four corners of a region. In this case, it is necessary to encode four parallel movement amounts for one region.
[0011]
FIG. 13 shows an example of a method for calculating the translation amount of the pixels in the region from the translation amounts of the pixels at the four corners of the region. The translation amounts of the four corners are (x1, y1), (x2, y2), (x3 , Y3), (x4, y4), the parallel movement amount (X, Y) of the pixel (p, q) is calculated by the following equations (3-1) and (3-2).
[0012]
[Equation 3]
Figure 0004015532
[0013]
Here, M represents the number of pixels in the horizontal direction of the screen, and N represents the number of pixels in the vertical direction of the screen. This amount of parallel movement can be obtained with real number precision or fractional precision instead of integer precision, as in normal motion compensation.
[0014]
Further, when encoding is performed for each macroblock, there is a method in which only the motion vectors of the pixels at the four corners of the macroblock are encoded, and the motion vectors of arbitrary pixels inside the macroblock are obtained by calculation. In this case, four motion vectors are required for each macroblock.
[0015]
In this method, even if there is only rotational motion or only expansion motion, it is necessary to encode the motion vectors at the four corners, which may increase the amount of codes. For this reason, for example, in Non-Patent Document 1 shown below, a prediction image is created using information indicating the rotation angle with respect to the rotation motion and the rotation angle information is encoded, or information indicating the enlargement rate with respect to the expansion motion. A method of generating a predicted image and encoding enlargement ratio information is used.
[0016]
In addition to a method of creating a prediction image from an image of an already encoded frame, such as normal interframe prediction encoding, a method of generating a prediction image from an image of an already encoded region in the current frame There is also.
[0017]
[Non-Patent Document 1]
Ishikawa et al., “3D / 2D hybrid coding of moving images using multi-parameter motion compensation”, IEICE Technical Report IE2001-76, pp.15-22, 2001
[0018]
[Problems to be solved by the invention]
According to the method of encoding by changing the rotation angle and the enlargement ratio for each macroblock, for example, in the change of the image content such as a human arm, accompanied by the rotation movement and the expansion movement about a certain position, It is possible to reduce the prediction error compared with prediction based only on translation, however, not all macroblocks in the screen have rotational movement and expansion movement. In macroblocks and blocks that do not reduce prediction errors due to rotation or enlargement, the amount of code used to encode rotation angle information and enlargement rate information is redundant.
[0019]
The present invention is intended to solve the above-described problems, and in encoding by applying motion compensation of a motion model in which rotation or enlargement / reduction is added to parallel movement, rotation angle information and enlargement ratio information in an area that does not require rotation or enlargement / reduction. The purpose is to reduce the amount of coding and improve the coding efficiency.
[0020]
[Means for Solving the Problems]
In order to solve the above problems, the present invention uses the following method.
[0021]
According to a first aspect of the present invention, there is provided an image encoding method for encoding each area obtained by dividing an image of a current frame (hereinafter referred to as a current area) using a prediction error between the already encoded area or frame image information. A method of encoding divided pattern rotation presence / absence information that represents division pattern information of a small region obtained by further dividing the region and rotation presence / absence information indicating whether or not rotation angle information is encoded for the small region in the region. The division pattern rotation presence / absence encoding step to be performed and the rotation angle encoding step to encode the rotation angle information of the small area are executed.
[0022]
According to a second aspect of the present invention, there is provided an image encoding method for encoding each area obtained by dividing an image of a current frame (hereinafter referred to as a current area) using a prediction error between the already encoded area or frame image information. A method for encoding division pattern expansion presence / absence information that represents division pattern information of a small region obtained by further dividing the region and expansion presence / absence information indicating whether or not enlargement rate information is encoded for the small region in the region. The division pattern expansion presence / absence encoding step to be performed and the expansion rate encoding step for encoding the expansion rate information of the small area are executed.
[0023]
According to the first invention, in an image in which a certain area in the screen is rotated, the rotation angle information is encoded only in the rotating small area, and the rotation angle information is not encoded in the other area or the small area. it can. Therefore, it is possible to reduce the encoding amount of the rotation angle information in a region that does not require rotation, and improve the encoding efficiency.
[0024]
According to the second invention, in an image in which a certain area in the screen is enlarged / reduced, the enlargement ratio information is encoded only in the small area to be enlarged / reduced, and the enlargement ratio information is not encoded in the other area or the small area. be able to. Therefore, it is possible to reduce the encoding amount of the enlargement rate information in the area that does not require enlargement / reduction, and to improve the encoding efficiency.
[0025]
The first and second inventions can also be implemented in combination.
[0026]
DETAILED DESCRIPTION OF THE INVENTION
Embodiments of the present invention will be described with reference to the drawings. An example in which a screen is encoded for each macroblock and the macroblock is divided into a plurality of blocks and encoded will be shown. An example of a method for preparing a plurality of area division patterns, rotation angle information, and enlargement ratio information in advance and obtaining the division pattern, rotation angle information, enlargement ratio information, and motion vector will be described. First, the division pattern is fixed, and the motion search is performed by changing the rotation angle information and the enlargement ratio information for each block. After this is done for all blocks, the division pattern is changed and the same process is repeated.
[0027]
FIG. 1 shows an outline of an image coding apparatus according to an embodiment of the present invention. This image encoding device 1 specifies an image input unit 11 for inputting an image of the current frame, an area division pattern designating unit 12 for designating a division pattern of a block obtained by further dividing a macroblock, and designating rotation angle information of the block. Rotation angle designation unit 13, enlargement rate designation unit 14 for designating block enlargement rate information, and enlargement / reduction using preset rotation angle information and enlargement rate information with a certain position in the reference image as the origin A motion search unit that searches for a motion vector by performing a motion search between the rotation expansion prediction image generation unit 16 that generates a rotated prediction image and the prediction image generated by the rotation expansion prediction image generation unit 16 for each block. 15, a rotation enlargement determination unit 18 that determines rotation angle information and enlargement ratio information in the block, and a division pattern determination unit 17 that determines a macroblock division pattern. For each block, a prediction error encoding unit 19 that encodes a prediction error between the prediction image generated by the rotation enlarged prediction image generation unit 16 using the motion vector obtained by the motion search unit 15 is provided. Prepare.
[0028]
Also, the division pattern rotation expansion presence / absence encoding the division pattern rotation expansion presence / absence information indicating the block division pattern information and the rotation expansion presence / absence information indicating whether each block encodes the rotation angle information and the enlargement ratio information. An encoding unit 20, a motion vector encoding unit 23 that encodes a block motion vector, a rotation angle encoding unit 21 that encodes block rotation angle information, and an enlargement rate that encodes block enlargement rate information The encoding unit 22 includes a decoding unit 24 that decodes the encoded data of the prediction error to create a decoded image, and a reference image memory 25 that stores the decoded image.
[0029]
In the area division pattern designating unit 12, a macro block of 16 pixels in length and width is
A. A block of 16 pixels vertically and horizontally,
B. Block of 16 pixels by 8 pixels,
C. Block of 8 pixels by 16 pixels,
D. Block of 8 pixels by 8 pixels,
A division pattern to be divided into four patterns is prepared and designated from A to D in order.
[0030]
In the rotation angle designation unit 13, centering on the upper left pixel of the block,
A. 0 degrees,
B. 45 degrees to the right,
C. 90 degrees to the right,
D. 45 degrees left,
E. 90 degrees left,
Rotation angle information that rotates in five patterns is prepared, and A to E are designated in order. FIG. 2 shows the position of the rotation center in the case of a block of 8 pixels vertically and horizontally.
[0031]
In the enlargement ratio designating unit 14, centering on the upper left pixel of the block,
A. 4/4
B. 3/4
C. 2/4
D. 5/4
E. 6/4
The enlargement ratio information for enlarging / reducing the five patterns is prepared and designated from A to E in order. FIG. 2 shows the position of the enlargement / reduction center in the case of a block of 8 pixels in length and width.
[0032]
The rotation enlarged predicted image creation unit 16 creates a prediction error to be used by the motion search unit 15 and the prediction error encoding unit 19, and the pixel position of the predicted image is obtained according to Equation (4). Where (i, j) is the pixel position in the corresponding input image block, (k, l) is the predicted image pixel position, θ is the rotation angle, Z is the enlargement factor, and (x, y) is the motion vector (parallel movement) Amount).
[0033]
[Expression 4]
Figure 0004015532
[0034]
In general, since the position (k, l) is not an integer position, it is assumed that the position is substituted by image information at a position with a quarter accuracy closest to the position (k, l). The 1 / 4-accuracy image information is obtained by linear interpolation from image information at integer positions.
[0035]
The motion vector encoding unit 23 performs variable length encoding on the motion vector information using a lookup table as shown in FIG. The rotation angle encoding unit 21 encodes the rotation angle information using the lookup table shown in FIG. The enlargement rate encoding unit 22 encodes enlargement rate information using the lookup table shown in FIG. The division pattern rotation expansion presence / absence encoding unit 20 encodes the division pattern rotation expansion presence / absence information using the lookup table shown in FIG.
[0036]
The motion search unit 15 uses the absolute value difference sum W as a difference evaluation scale. The calculation formula of W to be used is shown in Formula (5). Here, k and l are values obtained by the expression (4), Nmv (x, y) is a code amount necessary for encoding the motion vector (x, y), and Nr (θ) is The code amount required for encoding the rotation angle θ, and Nz (z) represents the code amount required for encoding the enlargement ratio z.
[0037]
[Equation 5]
Figure 0004015532
[0038]
FIG. 7 shows a flow for determining the division pattern, the rotation angle, and the enlargement ratio. In the present embodiment, first, the division pattern is fixed, and the motion vector, the rotation angle, and the enlargement ratio are obtained for each block. This is continued while changing the division pattern.
[0039]
That is, first, it is determined whether or not motion search has been performed for all the divided patterns (step S1). If motion search has been performed for all the divided patterns, the processing is terminated. If there is a division pattern for which motion search is not performed, the division pattern is designated (step S2). Next, it is determined whether motion search has been performed for all blocks (step S3). If motion search has been performed for all blocks, the process returns to step S1. If there is a block that has not been subjected to motion search, a search block is set (step S4).
[0040]
Next, it is determined whether or not motion search has been performed at all enlargement rates (step S5). If motion search has been performed at all enlargement rates, the process returns to step S3. If there is an enlargement ratio for which motion search is not performed, the enlargement ratio is set (step S6). Next, it is determined whether motion search has been performed at all rotation angles (step S7). If motion search has been performed at all rotation angles, the process returns to step S5. If there is a rotation angle for which the motion search is not performed, the rotation angle is set (step S8), the motion search is performed (step S9), and the process returns to step S7.
[0041]
When determining the division pattern, the rotation angle, and the enlargement ratio, specifically, the rotation enlargement determination unit 18 performs a motion search by changing the rotation angle and the enlargement ratio in a certain block j of a certain division pattern i. The rotation angle, the enlargement ratio, and the motion vector when W is the smallest are determined and stored as the rotation angle, enlargement ratio, and motion vector in the block. The value of W at this time is written as W [i] [j] [1].
[0042]
At the same time, the value of W when the rotation angle is 0 degree and the enlargement ratio is 4/4 is stored. The value of W is written as W [i] [j] [0]. This is obtained for all blocks. Subsequently, the division pattern determination unit 17 adds the values of W [i] [j] [0] and W [i] [j] [1] in the macroblock in each division pattern, and the total is the smallest. The case is determined as the division pattern rotation expansion presence / absence information of the macroblock, and it is determined whether to encode the division pattern, rotation angle information, and expansion rate information. It is assumed that the motion search unit 15 performs a motion search in a range of 16 pixels in length and width.
[0043]
Under such a premise, the current image is encoded in units of macroblocks as follows. First, an input image is obtained by the image input unit 11. The area division pattern designating unit 12 designates the division pattern A. Then, among the blocks divided by the division pattern A, the motion vector, rotation angle, and enlargement ratio of block 0 are obtained. The rotation angle designation unit 13 designates the rotation angle A, and the enlargement factor designation unit 14 designates the enlargement factor A. The motion search unit 15 sets a motion vector. Then, the rotation / expansion predicted image creating unit 16 creates a predicted image having the enlargement ratio A at the rotation angle A at the position moved by the motion vector from the position corresponding to the block 0.
[0044]
The motion search unit 15 obtains the value of the absolute value difference sum W between the current image of block 0 and the predicted image. While the rotation angle A and the enlargement ratio A are fixed, the above processing is performed in a motion search range of 16 pixels vertically and horizontally. The motion vector when the absolute value difference sum is the smallest is the motion vector of the block 0 with the rotation angle A and the enlargement factor A.
[0045]
Since the rotation angle A is 0 degree and the enlargement ratio A is 4/4, W in that case is set to W [A] [0] [0]. Subsequently, according to the flow of FIG. 7, the rotation angle and the enlargement ratio are changed, the above processing is performed, and the motion vector of each rotation angle and each enlargement ratio in block 0 is searched. The rotation enlargement determination unit 18 obtains the case where the absolute value difference sum W is the smallest from the absolute value difference sum obtained by changing the rotation angle and the enlargement factor, and the motion vector, the rotation angle, and the enlargement factor in that case are blocked. A motion vector of 0, a rotation angle, and an enlargement ratio are determined. In this case, W is W [A] [0] [1], and the above processing is performed by changing the block. Since division pattern A has only one block, only block 0 is processed.
[0046]
Subsequently, the area division pattern designating unit 12 designates the division pattern as B. In the division pattern B, since the number of blocks is 2, motion search is performed on the block 0 and the block 1, and the minimum absolute value difference sum W [B] [0] [0], W [B] [ 0] [1], the minimum absolute value difference sum W [B] [1] [0], W [B] [1] [1] of the block 1, and the corresponding motion vector, rotation angle, and enlargement ratio are obtained. . The above processing is performed for all division patterns.
[0047]
When the motion search is completed for all the divided patterns, the divided pattern determination unit 17 calculates W [i] [j] [0] and W [i] [j] [1] of all blocks in each divided pattern i. Total each. Assuming that the total value is Wa [i] [0], Wa [i] [1], the largest value is Wa [i] [0], Wa [i] [1] (i = A to D). Find a small one. Here, the difference between Wa [i] [0] and Wa [i] [1] is the same division pattern i, but Wa [i] [0] is a case where the rotation angle information and the enlargement rate information are not encoded. , Wa [i] [1] indicate the case of encoding. As a result, it is determined whether or not to encode the division pattern, the rotation angle and the enlargement ratio, and finally the rotation angle and the enlargement ratio of each block.
[0048]
The prediction error encoding unit 19 performs interframe predictive encoding of the current macroblock using the determined division pattern, the motion vector of each block, the rotation angle, and the enlargement ratio. The division pattern rotation expansion presence / absence encoding unit 20 encodes the division pattern rotation expansion presence / absence information. The motion vector encoding unit 23 performs variable length encoding on the motion vector information. When it is determined that the rotation angle and the enlargement rate are to be encoded, the rotation angle encoding unit 21 encodes the rotation angle information, and the enlargement rate encoding unit 22 encodes the enlargement rate information. The decoding unit 24 decodes the encoded data encoded by the prediction error encoding unit 19 to create a decoded image and stores it in the reference image memory 25.
[0049]
The above procedure is repeated for all macroblocks.
[0050]
FIG. 8 shows an outline of the image decoding apparatus 3 that decodes the encoded data obtained by the image encoding apparatus 1 described above. This image decoding device 3 is divided pattern rotation expansion presence / absence information indicating division pattern information of a block obtained by further dividing a macroblock and rotation expansion presence / absence information indicating whether the block decodes rotation angle information and enlargement ratio information. The division pattern rotation expansion presence / absence decoding unit 32 for decoding the block, the motion vector decoding unit 35 for decoding the motion vector of the block, the rotation angle decoding unit 33 for decoding the rotation angle information of the block, and the block expansion rate information Rotation angle information obtained by the enlargement factor decoding unit 34, the rotation angle decoding unit 33 with a certain position in the reference image as the origin, the enlargement factor information obtained by the enlargement factor decoding unit 34, and motion vector decoding A rotation enlarged prediction image creation unit 36 that creates a prediction image using the motion vector obtained by the unit 35, and a prediction image created by the rotation enlargement prediction image creation unit 36 Comprising a decoding unit 31 to create a decoded image using the reference image memory 37 for storing the decoded image.
[0051]
In the image decoding device 3, the encoded data is decoded for each macroblock as follows. The division pattern rotation expansion presence / absence decoding unit 32 decodes the division pattern rotation expansion presence / absence information, and determines whether to decode the macroblock division pattern, rotation angle information, and expansion rate information. The motion vector decoding unit 35 decodes the motion vector. When it is determined that the rotation angle information and the enlargement rate information are to be decoded based on the division pattern rotation enlargement presence / absence information, the rotation angle decoding unit 33 decodes the rotation angle, and the enlargement rate decoding unit 34 decodes the enlargement rate. The rotation enlarged predicted image creation unit 36 creates a predicted image according to the above equation (4) using the motion vector, the rotation angle information, and the magnification rate information for each block.
[0052]
If it is determined that the rotation angle information and the enlargement ratio information are not decoded based on the divided pattern rotation enlargement presence / absence information, the rotation angle is set to 0 degrees and the enlargement ratio is set to 4/4. The decoding unit 31 decodes the encoded data of the prediction error using the predicted image to obtain a decoded image, and stores the decoded image in the reference image memory 37.
[0053]
In the embodiment described above, both rotation and enlargement are performed. However, a method of performing only rotation or a method of performing only enlargement is also suitable. Further, the macroblock division pattern is not limited to the one shown in FIG. The rotation angle is not limited to that shown in FIG. 4, but may be set to rotate at a smaller angle. The enlargement ratio is not limited to that shown in FIG. You may set so that it may reduce. Further, the center of rotation or enlargement is not the position shown in FIG. 2, but may be another place such as the center of the block.
[0054]
FIG. 9 is a diagram showing a result of an experiment for confirming the effectiveness by encoding using the present invention. A general image was encoded by applying motion compensation of a motion model obtained by adding rotation to translation. The horizontal axis represents the block size of the encoded block, and the vertical axis represents the occurrence frequency of the block of that size. On the horizontal axis, the notation “a × b” represents a block of horizontal a pixels and vertical b pixels. A block without “r” in “a × b” is a block that has undergone motion compensation only for translation, and a block that has “r” is a block that has undergone motion compensation with rotation. is there. Note that “Intra” represents an intra-frame coding block.
[0055]
From the experimental results of FIG. 9, it can be seen that the number of blocks that have been subjected to motion compensation with rotation is much smaller than the number of blocks that have been subjected to motion compensation only for translation. Therefore, it is clear that the encoding amount of the rotation angle information can be reduced by encoding the divided pattern rotation presence / absence information.
[0056]
It should be noted that encoding with rotation is performed by another experiment comparing the coding amount when encoding is performed with motion compensation only for translation without considering rotation and the coding amount when considering rotation. Even if the mode includes the overhead of encoding the rotation angle information, it has been confirmed that the encoding efficiency is high.
[0057]
Further, from the result of FIG. 9, it can be seen that the smaller the block size in the 8 × 8 block, the easier the rotation is selected. This indicates that it is more effective to assign a code having a shorter code length as the block size is smaller. One reason that the smaller the block size is, the more likely it is to be selected is that there are few movements that rotate uniformly within the block at the same rotation angle.
[0058]
As described above, according to the present invention, in an image in which a certain area in the screen is rotated or enlarged / reduced, the rotation angle information or the enlargement ratio information is encoded only in the small area to be rotated / enlarged / reduced, and In the region, the rotation angle information and the magnification information can not be encoded. Accordingly, it is possible to reduce the amount of encoding of the rotation angle information and the enlargement rate information in an area that does not require rotation and enlargement / reduction, and improve the encoding efficiency.
[0059]
The above image encoding process and image decoding process can be realized by a computer and a software program, and the program can be recorded on a computer-readable recording medium or provided through a network.
[0060]
【The invention's effect】
According to the present invention, in encoding an image in which a certain area in the screen is rotated or enlarged / reduced, whether or not the rotation angle information and the enlargement ratio information are encoded together with the area division pattern is a variable length code. Can be Accordingly, it is possible to encode the rotation angle information or the enlargement ratio information only in the small area to be rotated or enlarged / reduced, and not to encode the rotation angle information or the enlargement ratio information in the other areas or small areas. Accordingly, it is possible to reduce the amount of encoding of the rotation angle information and the enlargement rate information in an area that does not require rotation and enlargement / reduction, and improve the encoding efficiency.
[Brief description of the drawings]
FIG. 1 is a diagram illustrating a configuration of an image encoding device.
FIG. 2 is a diagram illustrating positions of a rotation center and an enlargement / reduction center.
FIG. 3 is a diagram illustrating an example of a variable length code of a motion vector.
FIG. 4 is a diagram illustrating an example of a variable length code of a rotation angle.
FIG. 5 is a diagram illustrating an example of a variable length code of an enlargement ratio.
FIG. 6 is a diagram illustrating an example of a variable length code of division pattern rotation expansion presence / absence information.
FIG. 7 is a diagram illustrating a determination flow of a division pattern, a rotation angle, and an enlargement ratio in motion search.
FIG. 8 is a diagram illustrating a configuration of an image decoding device.
FIG. 9 is a diagram illustrating a comparison of code amounts when rotation is performed and when rotation is not performed.
FIG. 10 is a diagram illustrating a relationship between a macroblock and a search position.
FIG. 11 is a diagram illustrating an example of linear interpolation of image information.
FIG. 12 is a diagram illustrating an example of a filtering method for obtaining 1 / 2-precision image information.
FIG. 13 is a conceptual diagram of a motion vector interpolation method.
[Explanation of symbols]
DESCRIPTION OF SYMBOLS 11 Image input part 12 Area | region division | segmentation pattern designation | designated part 13 Rotation angle designation | designated part 14 Magnification ratio designation | designated part 15 Motion search part 16 Rotation expansion prediction image creation part 17 Division pattern determination part 18 Rotation / magnification decision part 19 Prediction error encoding part 20 Division | segmentation pattern Rotation expansion presence / absence encoding unit 21 Rotation angle encoding unit 22 Magnification rate encoding unit 23 Motion vector encoding unit 24 Decoding unit 25 Reference image memory 31 Decoding unit 32 Division pattern rotation expansion presence / absence decoding unit 33 Rotation angle decoding unit 34 Magnification rate Decoding unit 35 Motion vector decoding unit 36 Rotation enlarged prediction image creation unit 37 Reference image memory

Claims (16)

現フレームの画像を分割した領域毎に,既に符号化した領域あるいはフレームの参照画像との間の予測誤差を用いて符号化する画像符号化方法であって,
前記現フレームの画像を分割した領域を更に小領域に分割する分割パターンと,予測画像の作成時に参照する領域を回転させる回転角度とを変えながら,前記各分割パターンにおける各小領域毎に動き探索を行い,前記各小領域の符号化コストが最小となる動きベクトルと回転角度とを算出し記憶するとともに,前記回転角度を0としたときの動き探索結果の動きベクトルと符号化コストとを記憶するステップと,
前記各分割パターン毎の全ての小領域について前記回転角度を0としたときの全ての小領域の符号化コストの合計と,いずれかの小領域において前記回転角度が0でない場合を含む全ての小領域の符号化コストの合計とを算出し,最終的に符号化コストが最小となる分割パターンを決定するとともに,その最小となる符号化コストが当該分割パターンにおいて前記回転角度が0でない小領域のものを含むか否かによって,回転角度情報を符号化するか否かを決定するステップと,
前記分割パターン情報と前記回転角度情報を符号化するかかを示す回転有無情報とを組み合わせた分割パターン回転有無情報を,前記領域毎に一つの可変長符号として符号化するステップと,
前記小領域の動きベクトルを符号化するステップと,
前記回転角度情報を符号化すると決定した場合に,前記小領域の回転角度情報を符号化するステップと,
前記小領域毎に,当該小領域の画像と前記動きベクトルまたはさらに前記回転角度を用いて作成された予測画像との間の予測誤差を符号化するステップと,
前記予測誤差の符号化データを復号して復号画像を作成し,参照画像メモリに蓄積するステップとを有する
ことを特徴とする画像符号化方法。
An image encoding method for encoding for each area obtained by dividing an image of a current frame using a prediction error between an already encoded area or a reference image of a frame,
The motion search is performed for each small area in each divided pattern while changing the division pattern for dividing the area obtained by dividing the image of the current frame into smaller areas and the rotation angle for rotating the area referred to when the predicted image is created. To calculate and store the motion vector and the rotation angle that minimize the encoding cost of each small region, and store the motion vector and the encoding cost of the motion search result when the rotation angle is 0. Steps to do,
The total encoding cost of all the small areas when the rotation angle is set to 0 for all the small areas for each division pattern, and all the small areas including the case where the rotation angle is not 0 in any of the small areas. The total coding cost of the region is calculated, and finally, a division pattern that minimizes the coding cost is determined, and the coding cost that minimizes the coding cost of the small region where the rotation angle is not 0 in the division pattern. Determining whether to encode rotation angle information depending on whether or not
A step of encoding the divided pattern data and the divided pattern rotary presence information of the rotational angle information is a combination of an rotation information indicating whether to encode a single variable length code for each of the areas,
Encoding the small region motion vectors;
If it is determined to encode the rotational angle information; you encode the rotation angle information of the small area,
For each small region, encoding a prediction error between the small region image and the motion vector or a predicted image created using the rotation angle;
Decoding the prediction error encoded data to create a decoded image, and storing the decoded image in a reference image memory .
現フレームの画像を分割した領域毎に,既に符号化した領域あるいはフレームの参照画像との間の予測誤差を用いて符号化する画像符号化方法であって,
前記現フレームの画像を分割した領域を更に小領域に分割する分割パターンと,予測画像の作成時に参照する領域を拡大または縮小させる拡大率とを変えながら,前記各分割パターンにおける各小領域毎に動き探索を行い,前記各小領域の符号化コストが最小となる動きベクトルと拡大率とを算出し記憶するとともに,前記拡大率を1としたときの動き探索結果の動きベクトルと符号化コストとを記憶するステップと,
前記各分割パターン毎の全ての小領域について前記拡大率を1としたときの全ての小領域の符号化コストの合計と,いずれかの小領域において前記拡大率が1でない場合を含む全ての小領域の符号化コストの合計とを算出し,最終的に符号化コストが最小となる分割パターンを決定するとともに,その最小となる符号化コストが当該分割パターンにおいて前記拡大率が1でない小領域のものを含むか否かによって,拡大率情報を符号化するか否かを決定するステップと,
前記分割パターン情報と前記拡大率情報を符号化するかかを示す拡大有無情報とを組み合わせた分割パターン拡大有無情報を,前記領域毎に一つの可変長符号として符号化するステップと,
前記小領域の動きベクトルを符号化するステップと,
前記拡大率情報を符号化すると決定した場合に,前記小領域の拡大率情報を符号化するステップと,
前記小領域毎に,当該小領域の画像と前記動きベクトルまたはさらに前記拡大率を用いて作成された予測画像との間の予測誤差を符号化するステップと,
前記予測誤差の符号化データを復号して復号画像を作成し,参照画像メモリに蓄積するステップとを有する
ことを特徴とする画像符号化方法。
An image encoding method for encoding for each area obtained by dividing an image of a current frame using a prediction error between an already encoded area or a reference image of a frame,
For each small area in each divided pattern, changing the division pattern for dividing the area obtained by dividing the image of the current frame into smaller areas and the enlargement ratio for enlarging or reducing the area referred to when creating the predicted image Performing a motion search, calculating and storing a motion vector and an enlargement rate that minimize the encoding cost of each small region, and a motion vector and an encoding cost of the motion search result when the enlargement rate is set to 1; The step of memorizing
The sum of the encoding costs of all the small areas when the expansion ratio is set to 1 for all the small areas for each division pattern, and all the small areas including the case where the expansion ratio is not 1 in any of the small areas The total coding cost of the region is calculated, and finally, a division pattern that minimizes the coding cost is determined, and the smallest coding cost is determined for a small region whose expansion rate is not 1 in the division pattern. Determining whether or not to encode the magnification information according to whether or not
A step of encoding the magnification information and the divided pattern data divided pattern enlargement presence information of a combination of a larger information indicating whether to encode a single variable length code for each of the areas,
Encoding the small region motion vectors;
If it is determined to encode the enlargement ratio information; you encode magnification information of the small area,
For each small region, encoding a prediction error between the image of the small region and the predicted image created using the motion vector or further the magnification factor;
Decoding the prediction error encoded data to create a decoded image, and storing the decoded image in a reference image memory .
現フレームの画像を分割した領域毎に,既に符号化した領域あるいは フレームの参照画像との間の予測誤差を用いて符号化する画像符号化方法であって,
前記現フレームの画像を分割した領域を更に小領域に分割する分割パターンと,予測画像の作成時に参照する領域を回転させる回転角度と,予測画像の作成時に参照する領域を拡大または縮小させる拡大率とを変えながら,前記各分割パターンにおける各小領域毎に動き探索を行い,前記各小領域の符号化コストが最小となる動きベクトルと回転角度と拡大率とを算出し記憶するとともに,前記回転角度を0および前記拡大率を1としたときの動き探索結果の動きベクトルと符号化コストとを記憶するステップと,
前記各分割パターン毎の全ての小領域について前記回転角度を0および前記拡大率を1としたときの全ての小領域の符号化コストの合計と,いずれかの小領域において前記回転角度が0または前記拡大率が1でない場合を含む全ての小領域の符号化コストの合計とを算出し,最終的に符号化コストが最小となる分割パターンを決定するとともに,その最小となる符号化コストが当該分割パターンにおいて前記回転角度が0または前記拡大率が1でない小領域のものを含むか否かによって,回転角度情報と拡大率情報を符号化するか否かを決定するステップと,
前記分割パターン情報と,前記回転角度情報と拡大率情報を符号化するかかを示す回転拡大有無情報とを組み合わせた分割パターン回転拡大有無情報を,前記領域毎に一つの可変長符号として符号化するステップと,
前記小領域の動きベクトルを符号化するステップと,
前記回転角度情報と拡大率情報を符号化すると決定した場合に,前記小領域の回転角度情報を符号化するステップと,
前記回転角度情報と拡大率情報を符号化すると決定した場合に,前記小領域の拡大率情報を符号化するステップと,
前記小領域毎に,当該小領域の画像と前記動きベクトルまたはさらに前記回転角度と前記拡大率を用いて作成された予測画像との間の予測誤差を符号化するステップと,
前記予測誤差の符号化データを復号して復号画像を作成し,参照画像メモリに蓄積するステップとを有する
ことを特徴とする画像符号化方法。
An image encoding method for encoding for each divided region of an image of the current frame using a prediction error between the already encoded region or frame reference image,
A division pattern for dividing the area obtained by dividing the image of the current frame into smaller areas, a rotation angle for rotating the area referred to when the predicted image is created, and an enlargement ratio for enlarging or reducing the area referred to when the predicted image is created And a motion search is performed for each small area in each divided pattern, and a motion vector, a rotation angle, and an enlargement ratio that minimize the coding cost of each small area are calculated and stored, and the rotation Storing a motion vector and a coding cost of a motion search result when the angle is 0 and the enlargement ratio is 1.
The sum of the encoding costs of all the small areas when the rotation angle is 0 and the enlargement ratio is 1 for all the small areas for each of the divided patterns, and the rotation angle is 0 or any of the small areas. The sum of the encoding costs of all the small regions including the case where the enlargement rate is not 1 is calculated, and finally, a division pattern that minimizes the encoding cost is determined. Determining whether to encode the rotation angle information and the enlargement ratio information according to whether or not the rotation angle includes a small area having a rotation angle of 0 or the enlargement ratio of 1;
The division pattern rotation expansion presence / absence information, which is a combination of the division pattern information and rotation expansion presence / absence information indicating whether or not to encode the rotation angle information and the enlargement ratio information, is encoded as one variable length code for each region. The steps to
Encoding the small region motion vectors;
If it is determined to encode the magnification information and the rotation angle information; you encode the rotation angle information of the small area,
If it is determined to encode the magnification information and the rotation angle information; you encode magnification information of the small area,
For each small region, encoding a prediction error between the image of the small region and the motion vector or even a predicted image created using the rotation angle and the magnification factor;
Decoding the prediction error encoded data to create a decoded image, and storing the decoded image in a reference image memory .
現フレームの画像を分割した領域毎に,既に復号した領域あるいはフレームの参照画像との間の予測誤差を用いて符号化データを復号する画像復号方法であって,
前記領域を更に分割した小領域の分割パターン情報と,前記領域内の小領域について予測画像の作成時に参照する領域を回転させる回転角度情報を符号化したか否かを示す回転有無情報とを組み合わせて,前記領域毎に一つの可変長符号として符号化した,分割パターン回転有無情報を復号する分割パターン回転有無復号ステップと,
前記分割パターン情報に従って前記小領域の動きベクトルを復号する動きベクトル復号ステップと,
前記分割パターン回転有無情報が回転角度情報を符号化したことを示す場合に,前記小領域の回転角度情報を復号する回転角度復号ステップと
前記動きベクトル復号ステップで得られた動きベクトルと,前記回転角度復号ステップで回転角度情報を得た場合にはその回転角度情報を使って予測画像を作成する回転予測画像作成ステップと,
前記回転予測画像作成ステップで作成された予測画像を用いて復号画像を作成する復号ステップと,
前記復号画像を参照画像メモリに蓄積するステップとを有する
ことを特徴とする画像復号方法。
An image decoding method for decoding encoded data using a prediction error between an already decoded region or a reference image for each region obtained by dividing an image of a current frame,
Combination of division pattern information of a small area obtained by further dividing the area and rotation presence / absence information indicating whether or not rotation angle information for rotating the area to be referred to at the time of creating a predicted image is encoded for the small area in the area. A division pattern rotation presence / absence decoding step for decoding the division pattern rotation presence / absence information encoded as one variable length code for each area ;
A motion vector decoding step of decoding a motion vector of the small area according to the division pattern information;
A rotation angle decoding step of decoding the rotation angle information of the small area when the division pattern rotation presence / absence information indicates that the rotation angle information is encoded ;
A rotation prediction image creation step of creating a prediction image using the motion vector obtained in the motion vector decoding step and rotation angle information when the rotation angle information is obtained in the rotation angle decoding step;
A decoding step of creating a decoded image using the prediction image generated in the rotation prediction image generation step;
An image decoding method comprising: storing the decoded image in a reference image memory .
現フレームの画像を分割した領域毎に,既に復号した領域あるいはフレームの参照画像との間の予測誤差を用いて符号化データを復号する画像復号方法であって,
前記領域を更に分割した小領域の分割パターン情報と,前記領域内の小領域について予測画像の作成時に参照する領域を拡大または縮小させる拡大率情報を符号化したか否かを示す拡大有無情報とを組み合わせて,前記領域毎に一つの可変長符号として符号化した,分割パターン拡大有無情報を復号する分割パターン拡大有無復号ステップと,
前記分割パターン情報に従って前記小領域の動きベクトルを復号する動きベクトル復号ステップと,
前記分割パターン拡大有無情報が拡大率情報を符号化したことを示す場合に,前記小領域の拡大率情報を復号する拡大率復号ステップと
前記動きベクトル復号ステップで得られた動きベクトルと,前記拡大率復号ステップで拡大率情報を得た場合にはその拡大率情報を使って予測画像を作成する拡大予測画像作成ステップと,
前記拡大予測画像作成ステップで作成された予測画像を用いて復号画像を作成する復号ステップと,
前記復号画像を参照画像メモリに蓄積するステップとを有する
ことを特徴とする画像復号方法。
An image decoding method for decoding encoded data using a prediction error between an already decoded region or a reference image for each region obtained by dividing an image of a current frame,
Division pattern information of a small area obtained by further dividing the area, and enlargement / non- existence information indicating whether or not the enlargement ratio information for enlarging or reducing the area to be referred to when the predicted image is created for the small area in the area is encoded. A division pattern expansion presence / absence decoding step for decoding division pattern expansion presence / absence information encoded as one variable length code for each region ,
A motion vector decoding step of decoding a motion vector of the small area according to the division pattern information;
An enlargement rate decoding step of decoding the enlargement rate information of the small area when the division pattern enlargement presence / absence information indicates that the enlargement rate information is encoded ;
A motion vector obtained in the motion vector decoding step, and an enlarged predicted image creating step for creating a predicted image using the magnification rate information when the magnification rate information is obtained in the magnification rate decoding step;
A decoding step of creating a decoded image using the predicted image created in the enlarged predicted image creating step;
An image decoding method comprising: storing the decoded image in a reference image memory .
現フレームの画像を分割した領域毎に,既に復号した領域あるいはフレームの参照画像との間の予測誤差を用いて符号化データを復号する画像復号方法であって,
前記領域を更に分割した小領域の分割パターン情報と,前記領域内の小領域について予測画像の作成時に参照する領域を回転させる回転角度情報と予測画像の作成時に参照する領域を拡大または縮小させる拡大率情報を符号化したか否かを示す回転拡大有無情報とを組み合わせて,前記領域毎に一つの可変長符号として符号化した,分割パターン回転拡大有無情報を復号する分割パターン回転拡大有無復号ステップと,
前記分割パターン情報に従って前記小領域の動きベクトルを復号する動きベクトル復号ステップと,
前記回転拡大有無情報が回転角度情報と拡大率情報を符号化したことを示す場合に,前記小領域の回転角度情報を復号する回転角度復号ステップと,
前記回転拡大有無情報が回転角度情報と拡大率情報を符号化したことを示す場合に,前記小領域の拡大率情報を復号する拡大率復号ステップと
前記動きベクトル復号ステップで得られた動きベクトルと,前記回転角度復号ステップで回転角度情報を得た場合にはその回転角度情報と,前記拡大率復号ステップで拡大率情報を得た場合にはその拡大率情報を使って予測画像を作成する回転拡大予測画像作成ステップと,
前記回転拡大予測画像作成ステップで作成された予測画像を用いて復号画像を作成する復号ステップと,
前記復号画像を参照画像メモリに蓄積する復号ステップとを有する
ことを特徴とする画像復号方法。
An image decoding method for decoding encoded data using a prediction error between an already decoded region or a reference image for each region obtained by dividing an image of a current frame,
Division pattern information of a small area obtained by further dividing the area, rotation angle information for rotating an area referred to when a predicted image is created for the small area in the area, and enlargement for enlarging or reducing the area referred to when the predicted image is created A division pattern rotation expansion presence / absence decoding step for decoding the division pattern rotation expansion presence / absence information encoded as one variable length code for each region in combination with rotation expansion presence / absence information indicating whether or not the rate information is encoded When,
A motion vector decoding step of decoding a motion vector of the small area according to the division pattern information;
A rotation angle decoding step of decoding the rotation angle information of the small area when the rotation expansion presence / absence information indicates that the rotation angle information and the magnification rate information are encoded;
An enlargement rate decoding step of decoding the enlargement rate information of the small area when the rotation enlargement presence / absence information indicates that the rotation angle information and the enlargement rate information are encoded ;
The motion vector obtained in the motion vector decoding step, the rotation angle information when the rotation angle information is obtained in the rotation angle decoding step, and the magnification information when the enlargement rate information is obtained in the enlargement rate decoding step. A rotation enlarged predicted image creating step for creating a predicted image using the magnification information;
A decoding step of creating a decoded image using the prediction image generated in the rotation enlarged prediction image generation step;
A decoding step of storing the decoded image in a reference image memory .
現フレームの画像を分割した領域毎に,既に符号化した領域あるいはフレームの参照画像との間の予測誤差を用いて符号化する画像符号化装置であって,
前記現フレームの画像を分割した領域を更に小領域に分割する分割パターンと,予測画像の作成時に参照する領域を回転させる回転角度とを変えながら,前記各分割パターンにおける各小領域毎に動き探索を行い,前記各小領域の符号化コストが最小となる動きベクトルと回転角度とを算出し記憶するとともに,前記回転角度を0としたときの動き探索結果の動きベクトルと符号化コストとを記憶する手段と,
前記各分割パターン毎の全ての小領域について前記回転角度を0としたときの全ての小領域の符号化コストの合計と,いずれかの小領域において前記回転角度が0でない場合を含む全ての小領域の符号化コストの合計とを算出し,最終的に符号化コストが最小となる分割パターンを決定するとともに,その最小となる符号化コストが当該分割パターンにおいて前記回転角度が0でない小領域のものを含むか否かによって,回転角度情報を符号化するか否かを決定する手段と,
前記分割パターン情報と前記回転角度情報を符号化するか否かを示す回転有無情報とを組み合わせた分割パターン回転有無情報を,前記領域毎に一つの可変長符号として符号化 する手段と,
前記小領域の動きベクトルを符号化する手段と,
前記回転角度情報を符号化すると決定した場合に,前記小領域の回転角度情報を符号化する手段と,
前記小領域毎に,当該小領域の画像と前記動きベクトルまたはさらに前記回転角度を用いて作成された予測画像との間の予測誤差を符号化する手段と,
前記予測誤差の符号化データを復号して復号画像を作成する手段と,
前記復号画像を蓄積する参照画像メモリとを備える
ことを特徴とする画像符号化装置。
An image encoding device that performs encoding using a prediction error between an already encoded region or a reference image for each region obtained by dividing an image of a current frame,
The motion search is performed for each small area in each divided pattern while changing the division pattern for dividing the area obtained by dividing the image of the current frame into smaller areas and the rotation angle for rotating the area referred to when the predicted image is created. To calculate and store the motion vector and the rotation angle that minimize the encoding cost of each small region, and store the motion vector and the encoding cost of the motion search result when the rotation angle is 0. Means to do,
The total encoding cost of all the small areas when the rotation angle is set to 0 for all the small areas for each division pattern, and all the small areas including the case where the rotation angle is not 0 in any of the small areas. The total coding cost of the region is calculated, and finally, a division pattern that minimizes the coding cost is determined, and the coding cost that minimizes the coding cost of the small region where the rotation angle is not 0 in the division pattern. Means for determining whether to encode rotation angle information depending on whether or not
Means for encoding division pattern rotation presence / absence information obtained by combining the division pattern information and rotation presence / absence information indicating whether or not to encode the rotation angle information as one variable length code for each region ;
Means for encoding the motion vector of the small region;
Means for encoding the rotation angle information of the small region when it is determined to encode the rotation angle information;
Means for encoding, for each small region, a prediction error between the image of the small region and the prediction vector created using the motion vector or further the rotation angle;
Means for decoding encoded data of the prediction error to create a decoded image;
An image encoding apparatus comprising: a reference image memory for storing the decoded image.
現フレームの画像を分割した領域毎に,既に符号化した領域あるいはフレームの参照画像との間の予測誤差を用いて符号化する画像符号化装置であって,
前記現フレームの画像を分割した領域を更に小領域に分割する分割パターンと,予測画像の作成時に参照する領域を拡大または縮小させる拡大率とを変えながら,前記各分割パターンにおける各小領域毎に動き探索を行い,前記各小領域の符号化コストが最小となる動きベクトルと拡大率とを算出し記憶するとともに,前記拡大率を1としたときの動き探索結果の動きベクトルと符号化コストとを記憶する手段と,
前記各分割パターン毎の全ての小領域について前記拡大率を1としたときの全ての小領域の符号化コストの合計と,いずれかの小領域において前記拡大率が1でない場合を含む全ての小領域の符号化コストの合計とを算出し,最終的に符号化コストが最小となる分割パターンを決定するとともに,その最小となる符号化コストが当該分割パターンにおいて前記拡大率が1でない小領域のものを含むか否かによって,拡大率情報を符号化するか否かを決定する手段と,
前記分割パターン情報と前記拡大率情報を符号化するか否かを示す拡大有無情報とを組み合わせた分割パターン拡大有無情報を,前記領域毎に一つの可変長符号として符号化する手段と,
前記小領域の動きベクトルを符号化する手段と,
前記拡大率情報を符号化すると決定した場合に,前記小領域の拡大率情報を符号化する手段と,
前記小領域毎に,当該小領域の画像と前記動きベクトルまたはさらに前記拡大率を用いて作成された予測画像との間の予測誤差を符号化する手段と,
前記予測誤差の符号化データを復号して復号画像を作成する手段と,
前記復号画像を蓄積する参照画像メモリとを備える
ことを特徴とする画像符号化装置。
An image encoding device that performs encoding using a prediction error between an already encoded region or a reference image for each region obtained by dividing an image of a current frame,
For each small area in each divided pattern, changing the division pattern for dividing the area obtained by dividing the image of the current frame into smaller areas and the enlargement ratio for enlarging or reducing the area referred to when creating the predicted image Performing a motion search, calculating and storing a motion vector and an enlargement rate that minimize the encoding cost of each small region, and a motion vector and an encoding cost of the motion search result when the enlargement rate is set to 1; Means for storing
The sum of the encoding costs of all the small areas when the expansion ratio is set to 1 for all the small areas for each division pattern, and all the small areas including the case where the expansion ratio is not 1 in any of the small areas The total coding cost of the region is calculated, and finally, a division pattern that minimizes the coding cost is determined, and the smallest coding cost is determined for a small region whose expansion rate is not 1 in the division pattern. Means for deciding whether or not to encode the magnification information depending on whether or not
Means for encoding division pattern expansion presence / absence information combining the division pattern information and expansion presence / absence information indicating whether or not to encode the expansion rate information as one variable length code for each region;
Means for encoding the motion vector of the small region;
Means for encoding the magnification information of the small region when it is determined to encode the magnification information;
Means for encoding, for each small region, a prediction error between the image of the small region and the predicted image created using the motion vector or further the magnification factor;
Means for decoding encoded data of the prediction error to create a decoded image;
An image encoding apparatus comprising: a reference image memory for storing the decoded image.
現フレームの画像を分割した領域毎に,既に符号化した領域あるいはフレームの参照画像との間の予測誤差を用いて符号化する画像符号化装置であって,
前記現フレームの画像を分割した領域を更に小領域に分割する分割パターンと,予測画像の作成時に参照する領域を回転させる回転角度と,予測画像の作成時に参照する領域を拡大または縮小させる拡大率とを変えながら,前記各分割パターンにおける各小領域毎に動き探索を行い,前記各小領域の符号化コストが最小となる動きベクトルと回転角度と拡大率とを算出し記憶するとともに,前記回転角度を0および前記拡大率を1としたときの動き探索結果の動きベクトルと符号化コストとを記憶する手段と,
前記各分割パターン毎の全ての小領域について前記回転角度を0および前記拡大率を1としたときの全ての小領域の符号化コストの合計と,いずれかの小領域において前記回転角度が0または前記拡大率が1でない場合を含む全ての小領域の符号化コストの合計とを算出し,最終的に符号化コストが最小となる分割パターンを決定するとともに,その最小となる符号化コストが当該分割パターンにおいて前記回転角度が0または前記拡大率が1でない小領域のものを含むか否かによって,回転角度情報と拡大率情報を符号化するか否かを決定する手段と,
前記分割パターン情報と,前記回転角度情報と拡大率情報を符号化するか否かを示す回転拡大有無情報とを組み合わせた分割パターン回転拡大有無情報を,前記領域毎に一つの 可変長符号として符号化する手段と,
前記小領域の動きベクトルを符号化する手段と,
前記回転角度情報と拡大率情報を符号化すると決定した場合に,前記小領域の回転角度情報を符号化する手段と,
前記回転角度情報と拡大率情報を符号化すると決定した場合に,前記小領域の拡大率情報を符号化する手段と,
前記小領域毎に,当該小領域の画像と前記動きベクトルまたはさらに前記回転角度と前記拡大率を用いて作成された予測画像との間の予測誤差を符号化する手段と,
前記予測誤差の符号化データを復号して復号画像を作成する手段と,
前記復号画像を蓄積する参照画像メモリとを備える
ことを特徴とする画像符号化装置。
An image encoding device that performs encoding using a prediction error between an already encoded region or a reference image for each region obtained by dividing an image of a current frame,
A division pattern for dividing the area obtained by dividing the image of the current frame into smaller areas, a rotation angle for rotating the area referred to when the predicted image is created, and an enlargement ratio for enlarging or reducing the area referred to when the predicted image is created And a motion search is performed for each small area in each divided pattern, and a motion vector, a rotation angle, and an enlargement ratio that minimize the coding cost of each small area are calculated and stored, and the rotation Means for storing a motion vector and a coding cost of a motion search result when the angle is 0 and the enlargement ratio is 1.
The sum of the encoding costs of all the small areas when the rotation angle is 0 and the enlargement ratio is 1 for all the small areas for each of the divided patterns, and the rotation angle is 0 or any of the small areas. The sum of the encoding costs of all the small regions including the case where the enlargement rate is not 1 is calculated, and finally, a division pattern that minimizes the encoding cost is determined. Means for determining whether or not to encode the rotation angle information and the enlargement ratio information depending on whether or not the rotation angle includes a small area whose rotation angle is 0 or the enlargement ratio is not 1;
The division pattern rotation expansion presence / absence information, which is a combination of the division pattern information and rotation expansion presence / absence information indicating whether or not to encode the rotation angle information and the enlargement ratio information, is encoded as one variable length code for each region. Means to
Means for encoding the motion vector of the small region;
Means for encoding the rotation angle information of the small region when it is determined to encode the rotation angle information and the magnification information;
Means for encoding the small area magnification information when it is determined to encode the rotation angle information and the magnification information;
Means for encoding, for each small region, a prediction error between the image of the small region and the motion vector or even a predicted image created using the rotation angle and the magnification factor;
Means for decoding encoded data of the prediction error to create a decoded image;
An image encoding apparatus comprising: a reference image memory for storing the decoded image.
現フレームの画像を分割した領域毎に,既に復号した領域あるいはフレームの参照画像との間の予測誤差を用いて符号化データを復号する画像復号装置であって,
前記領域を更に分割した小領域の分割パターン情報と,前記領域内の小領域について予測画像の作成時に参照する領域を回転させる回転角度情報を符号化したか否かを示す回転有無情報とを組み合わせて,前記領域毎に一つの可変長符号として符号化した,分割パターン回転有無情報を復号する分割パターン回転有無復号手段と,
前記分割パターン情報に従って前記小領域の動きベクトルを復号する動きベクトル復号手段と,
前記分割パターン回転有無情報が回転角度情報を符号化したことを示す場合に,前記小領域の回転角度情報を復号する回転角度復号手段と,
前記動きベクトル復号手段で得られた動きベクトルと,前記回転角度復号手段で回転角度情報を得た場合にはその回転角度情報を使って予測画像を作成する回転予測画像作成手段と,
前記回転予測画像作成手段で作成された予測画像を用いて復号画像を作成する復号手段と,
前記復号画像を蓄積する参照画像メモリとを備える
ことを特徴とする画像復号装置。
An image decoding apparatus that decodes encoded data using a prediction error between an already decoded area or frame reference image for each area obtained by dividing an image of a current frame,
Combination of division pattern information of a small area obtained by further dividing the area and rotation presence / absence information indicating whether or not rotation angle information for rotating the area to be referred to at the time of creating a predicted image is encoded for the small area in the area. Division pattern rotation presence / absence decoding means for decoding the division pattern rotation presence / absence information encoded as one variable length code for each area ,
Motion vector decoding means for decoding a motion vector of the small area according to the division pattern information ;
A rotation angle decoding means for decoding the rotation angle information of the small area when the division pattern rotation presence / absence information indicates that the rotation angle information is encoded ;
A rotation prediction image creating means for creating a prediction image using the rotation angle information when the motion vector obtained by the motion vector decoding means and the rotation angle information are obtained by the rotation angle decoding means ;
Decoding means for creating a decoded image using the predicted image created by the rotated predicted image creating means ;
An image decoding apparatus comprising: a reference image memory for storing the decoded image.
現フレームの画像を分割した領域毎に,既に復号した領域あるいはフレームの参照画像との間の予測誤差を用いて符号化データを復号する画像復号装置であって,
前記領域を更に分割した小領域の分割パターン情報と,前記領域内の小領域について予測画像の作成時に参照する領域を拡大または縮小させる拡大率情報を符号化したか否かを示す拡大有無情報とを組み合わせて,前記領域毎に一つの可変長符号として符号化した,分割パターン拡大有無情報を復号する分割パターン拡大有無復号手段と,
前記分割パターン情報に従って前記小領域の動きベクトルを復号する動きベクトル復号手段と,
前記分割パターン拡大有無情報が拡大率情報を符号化したことを示す場合に,前記小領域の拡大率情報を復号する拡大率復号手段と,
前記動きベクトル復号手段で得られた動きベクトルと,前記拡大率復号手段で拡大率情報を得た場合にはその拡大率情報を使って予測画像を作成する拡大予測画像作成手段と,
前記拡大予測画像作成手段で作成された予測画像を用いて復号画像を作成する復号手段と,
前記復号画像を蓄積する参照画像メモリとを備える
ことを特徴とする画像復号装置。
An image decoding apparatus that decodes encoded data using a prediction error between an already decoded area or frame reference image for each area obtained by dividing an image of a current frame,
Division pattern information of a small area obtained by further dividing the area, and enlargement / non- existence information indicating whether or not the enlargement ratio information for enlarging or reducing the area to be referred to when the predicted image is created for the small area in the area is encoded. A division pattern expansion presence / absence decoding means for decoding the division pattern expansion presence / absence information encoded as one variable length code for each region ,
Motion vector decoding means for decoding a motion vector of the small area according to the division pattern information ;
An enlargement rate decoding means for decoding the enlargement rate information of the small area when the division pattern enlargement presence / absence information indicates that the enlargement rate information is encoded ;
A motion vector obtained by the motion vector decoding means, and an enlargement prediction image creation means for creating a prediction image using the enlargement ratio information when the enlargement ratio information is obtained by the enlargement ratio decoding means ;
Decoding means for creating a decoded image using the predicted image created by the enlarged predicted image creating means ;
An image decoding apparatus comprising: a reference image memory for storing the decoded image.
現フレームの画像を分割した領域毎に,既に復号した領域あるいはフレームの参照画像との間の予測誤差を用いて符号化データを復号する画像復号装置であって,
前記領域を更に分割した小領域の分割パターン情報と,前記領域内の小領域について 測画像の作成時に参照する領域を回転させる回転角度情報と予測画像の作成時に参照する領域を拡大または縮小させる拡大率情報を符号化したか否かを示す回転拡大有無情報とを組み合わせて,前記領域毎に一つの可変長符号として符号化した,分割パターン回転拡大有無情報を復号する分割パターン回転拡大有無復号手段と,
前記分割パターン情報に従って前記小領域の動きベクトルを復号する動きベクトル復号手段と,
前記回転拡大有無情報が回転角度情報と拡大率情報を符号化したことを示す場合に,前記小領域の回転角度情報を復号する回転角度復号手段と,
前記回転拡大有無情報が回転角度情報と拡大率情報を符号化したことを示す場合に,前記小領域の拡大率情報を復号する拡大率復号手段と,
前記動きベクトル復号手段で得られた動きベクトルと,前記回転角度復号手段で回転角度情報を得た場合にはその回転角度情報と,前記拡大率復号手段で拡大率情報を得た場合にはその拡大率情報を使って予測画像を作成する回転拡大予測画像作成手段と,
前記回転拡大予測画像作成手段で作成された予測画像を用いて復号画像を作成する復号手段と,
前記復号画像を蓄積する参照画像メモリとを備える
ことを特徴とする画像復号装置。
An image decoding apparatus that decodes encoded data using a prediction error between an already decoded area or frame reference image for each area obtained by dividing an image of a current frame,
A divided pattern data of the small region obtained by further dividing the area, enlarged or reduces the area referenced when creating a predicted image and the rotation angle information for rotating the area referenced when creating a prediction image for the small area of the region Division pattern rotation expansion presence / absence decoding for decoding division pattern rotation expansion presence / absence information encoded as one variable length code for each region in combination with rotation expansion presence / absence information indicating whether or not the expansion rate information is encoded Means ,
Motion vector decoding means for decoding a motion vector of the small area according to the division pattern information ;
A rotation angle decoding means for decoding the rotation angle information of the small area when the rotation expansion presence / absence information indicates that the rotation angle information and the magnification rate information are encoded ;
An enlargement rate decoding means for decoding the enlargement rate information of the small area , when the rotation enlargement presence / absence information indicates that the rotation angle information and the enlargement rate information are encoded ;
The motion vector obtained by the motion vector decoding means, the rotation angle information when the rotation angle decoding means is obtained, and the rotation angle information when the rotation angle decoding means obtains the enlargement ratio information. Rotation enlarged predicted image creation means for creating a predicted image using the magnification information ,
Decoding means for creating a decoded image using the predicted image created by the rotation enlarged predicted image creating means ;
An image decoding apparatus comprising: a reference image memory for storing the 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 on which an image encoding program for causing a computer to execute the image encoding method according to any one of claims 1 to 3 is recorded. 請求項4ないし請求項6のいずれか1項に記載の画像復号方法をコンピュータに実行させるための画像復号プログラムを記録した記録媒体。  A recording medium on which an image decoding program for causing a computer to execute the image decoding method according to claim 4 is recorded.
JP2002323478A 2002-11-07 2002-11-07 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 - Lifetime JP4015532B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002323478A JP4015532B2 (en) 2002-11-07 2002-11-07 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
JP2002323478A JP4015532B2 (en) 2002-11-07 2002-11-07 Image encoding method, image decoding method, image encoding device, image decoding device, image encoding program, image decoding program, and recording medium recording the program

Publications (2)

Publication Number Publication Date
JP2004159132A JP2004159132A (en) 2004-06-03
JP4015532B2 true JP4015532B2 (en) 2007-11-28

Family

ID=32803335

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002323478A Expired - Lifetime JP4015532B2 (en) 2002-11-07 2002-11-07 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) JP4015532B2 (en)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1905244A4 (en) 2005-07-18 2010-12-01 Korea Electronics Telecomm Apparatus of predictive coding/decoding using view-temporal reference picture buffers and method using the same
JP5729825B2 (en) * 2011-09-26 2015-06-03 日本電信電話株式会社 Image encoding method, image decoding method, image encoding device, image decoding device, image encoding program, and image decoding program
JP5362810B2 (en) * 2011-12-27 2013-12-11 株式会社エヌ・ティ・ティ・ドコモ Moving picture encoding apparatus, moving picture decoding apparatus, moving picture encoding method, moving picture decoding method, moving picture encoding program, and moving picture decoding program
JP5380594B2 (en) * 2012-08-31 2014-01-08 日立コンシューマエレクトロニクス株式会社 Image decoding method
JP6614472B2 (en) 2013-09-30 2019-12-04 サン パテント トラスト Image encoding method, image decoding method, image encoding device, and image decoding device
JP5913474B2 (en) * 2014-07-31 2016-04-27 日立マクセル株式会社 Decryption method
US10791342B2 (en) 2016-09-26 2020-09-29 Sony Corporation Coding apparatus, coding method, decoding apparatus, decoding method, transmitting apparatus, and receiving apparatus
JP6681078B2 (en) * 2017-10-10 2020-04-15 株式会社アクセル Image processing apparatus, image processing method, and image processing program

Also Published As

Publication number Publication date
JP2004159132A (en) 2004-06-03

Similar Documents

Publication Publication Date Title
TWI617185B (en) Method and apparatus of video coding with affine motion compensation
KR102584349B1 (en) Inter-prediction mode-based image processing method and device therefor
CN104967852B (en) The method and apparatus that image is coded and decoded by intra prediction
US11902563B2 (en) Encoding and decoding method and device, encoder side apparatus and decoder side apparatus
JP2018088696A (en) Merge candidate block guiding method and apparatus using such method
JP5467701B2 (en) Motion vector search method and apparatus, program thereof, and recording medium storing program
CN111656783A (en) Method and apparatus for video signal processing using sub-block based motion compensation
TW202017369A (en) Extended reference intra-picture prediction
JP4015532B2 (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
JP3898031B2 (en) Image encoding method and apparatus, image decoding method and apparatus, program, and recording medium
CN110719489A (en) Motion vector correction method, motion vector prediction method, motion vector encoding device, and storage device
JP3670566B2 (en) Processing time adaptive image encoding method and program recording medium
US20090051679A1 (en) Local motion estimation using four-corner transforms
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
JP3654664B2 (en) Image encoding apparatus and image decoding apparatus
CN113489988B (en) HEVC integer pixel motion estimation method and device
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
CN110730344B (en) Video coding method and device and computer storage medium
JP2007312425A (en) Image encoding method, image decoding method, image encoding apparatus, image decoding apparatus, image encoding program, image decoding program and recording medium with the programs recorded thereon
JP3513277B2 (en) Video encoding device and video decoding device
JP3734488B2 (en) Image encoding device
CN113545090A (en) Method and apparatus for intra sub-partition coding and decoding mode
KR20200134302A (en) Image processing apparatus and method
JP4015537B2 (en) Image encoding method, image decoding method, image encoding device, image decoding device, image encoding program, image decoding program, and recording medium recording these programs
WO2023047821A1 (en) Image decoding device, image decoding method, and program

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 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070709

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20070709

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: 20070911

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070913

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

Free format text: PAYMENT UNTIL: 20100921

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4015532

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20100921

Year of fee payment: 3

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: R3D02

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

Free format text: PAYMENT UNTIL: 20100921

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20110921

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20120921

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20130921

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

EXPY Cancellation because of completion of term