JP6390275B2 - 符号化回路、符号化方法 - Google Patents

符号化回路、符号化方法 Download PDF

Info

Publication number
JP6390275B2
JP6390275B2 JP2014177385A JP2014177385A JP6390275B2 JP 6390275 B2 JP6390275 B2 JP 6390275B2 JP 2014177385 A JP2014177385 A JP 2014177385A JP 2014177385 A JP2014177385 A JP 2014177385A JP 6390275 B2 JP6390275 B2 JP 6390275B2
Authority
JP
Japan
Prior art keywords
motion vector
macroblock
image
reduced
horizontal
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.)
Active
Application number
JP2014177385A
Other languages
English (en)
Other versions
JP2016052056A (ja
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.)
Socionext Inc
Original Assignee
Socionext Inc
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 Socionext Inc filed Critical Socionext Inc
Priority to JP2014177385A priority Critical patent/JP6390275B2/ja
Priority to US14/834,294 priority patent/US10448047B2/en
Publication of JP2016052056A publication Critical patent/JP2016052056A/ja
Application granted granted Critical
Publication of JP6390275B2 publication Critical patent/JP6390275B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/533Motion estimation using multistep search, e.g. 2D-log search or one-at-a-time search [OTS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/56Motion estimation with initialisation of the vector search, e.g. estimating a good candidate to initiate a search
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/57Motion estimation characterised by a search window with variable size or shape

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Description

動画像の符号化回路、符号化方法に関する。
従来、MPEG(Moving Picture Experts Group)やH.264等は、動画像の圧縮符号化の規格として知られている。これらの圧縮符号化を行う画像処理装置では、画面内予測(イントラ予測)や画面間予測(インター予測)を行う。画面間予測では、動き探索処理を行い、符号化対象の画面(現処理画像とよぶ)を分割したマクロブロック(MB)の動きベクトルを検出する。動き探索処理は、処理対象のマクロブロックと類似したブロックを、現処理画像と時間的に前後関係にある参照画像の中から探し出す処理である。動き探索処理において、縮小画像が用いられることがある(たとえば、特許文献1,2参照)。現処理画像と参照画像の水平方向と垂直方向に沿って一律に画素を間引く、たとえば偶数番目の画素を間引いて縮小画像を生成する。この縮小画像を用いて動き探索処理を行い、その結果に基づいて、現処理画像と参照画像における動き探索処理の探索範囲を設定する。
特開2007−158855号公報 特開2011−055554号公報
ところで、動画像を符号化する符号化装置において、符号化の効率(画面間予測による符号化の効率)を向上させるためには、動き探索処理において、処理対象のマクロブロックにより類似したブロックを検出することが求められる。それには、広い探索範囲が望ましい。しかし、探索範囲を広くすることは、探索に係る時間を長くし、処理効率の低下を招く。
本発明の一観点によれば、動画像に含まれるフレーム画像を分割したマクロブロック毎に複数パターンの縮小画像を生成する縮小部と、前記マクロブロック毎に検出された動きベクトルを統計処理する統計処理部と、前記縮小部により参照フレームを縮小した複数パターンの縮小画像のうちの1つの縮小画像を前記統計処理部の処理結果に基づいて選択し、選択した前記縮小画像内の第1探索範囲を探索して第1動きベクトルを検出する第1の動き探索部と、前記参照フレームのうち前記第1動きベクトルに基づいて設定される第2探索範囲を探索して第2動きベクトルを検出する第2の動き探索部と、を有し、前記フレーム画像を分割した前記マクロブロックは画素マトリックスであり、前記縮小部は、前記画素マトリックスにおいて、第1の配列方向の成分と前記第1の配列方向と直交する第2の配列方向の成分との比が異なる複数の設定方向に応じて前記マクロブロックに含まれる画素を間引いて、前記複数パターンの縮小画像を生成する。
本発明の一観点によれば、符号化効率を向上することができる。
符号化装置の概略構成図である。 動きベクトル検出部のブロック図である。 符号化するピクチャの説明図である。 ピクチャ間における前方参照の説明図である。 ピクチャ間における前方参照及び後方参照の説明図である。 マクロブロックの処理順序と動きベクトル予測値等の算出の説明図である。 (a),(b)は現処理画像の動きベクトル探索を示す説明図である。 (a),(b)は縮小画像の動きベクトル探索を示す説明図である。 (a),(b)は縮小画像の動きベクトル探索を示す説明図である。 (a),(b)は現処理画像の動きベクトル探索を示す説明図である。 (a)〜(f)は動き探索における全探索の説明図である。 現処理画像と探索範囲、探索結果を示す説明図である。 本実施形態の処理を示すフローチャートである。 比較例の処理を示すフローチャートである。 統計処理に用いるマクロブロックを示す説明図である。 (a)〜(d)は縮小画像の作成処理を示す説明図である。 縮小画像のパターン(ケース1〜4)を示す説明図である。 縮小画像のパターン(ケース5〜8)を示す説明図である。 縮小画像のパターン(ケース9〜12)を示す説明図である。 縮小画像のパターン(ケース13〜16)を示す説明図である。 縮小画像のパターン選択処理を示すフローチャートである。 縮小画像のパターン選択処理を示すフローチャートである。 縮小画像のパターン選択処理を示すフローチャートである。
以下、一実施形態を説明する。
先ず、符号化装置の概略を説明する。
図1に示す符号化装置10は、たとえばMPEG2の規格にしたがって、入力画像11を符号化した符号化信号12を生成する符号化回路である。
マクロブロック分割部(MB分割部)21は、入力画像11を処理単位で分割した画像(マクロブロック(MB))を、減算器22と動きベクトル検出部32に出力する。
減算器22は、マクロブックと、予測モード選択部34から出力される予測画像との差分値を算出し、その差分値を出力する。直交変換量子化部23は、上記差分値を直交変換した後に、量子化を行い、量子化したデータを出力する。直交変換は、たとえば離散コサイン変換(DCT:Discrete Cosine Transform)である。エントロピー符号化部24は、直交変換量子化部23により量子化されたデータを可変長符号化変換し、符号化信号12を出力する。
逆量子化逆直交変換部25は、直交変換量子化部23により量子化されたデータを逆量子化した後、逆直交変換を行い、処理後のデータを出力する。逆直交変換は、たとえば逆離散コサイン変換(IDCT:Inverse DCT)である。加算器26は、逆量子化逆直交変換部25の出力データに、予測モード選択部34から出力される予測画像を加算して参照画像を生成する。この参照画像は、現フレームバッファ27に保持される。
フレーム内予測部28は、現フレームバッファ27に保持された参照画像を入力し、隣接ブロックからの画素レベルに基づいて、参照画像のフレーム内予測を行う。デブロッキングフィルタ29は、現フレームバッファ27に保持された参照画像を入力し、隣接する2つのマクロブロックの境界を平滑化して出力する。これにより、デブロッキングフィルタ29は、画像を符号化した際に生じるブロック歪を減少させる。フレームバッファ管理部30は、デブロッキングフィルタ29の出力データをフレームバッファ31に出力し、フレームバッファ31はその出力データを記憶する。
動きベクトル検出部32は、MB分割部21から入力されたマクロブロック(MB)と、過去のフレームバッファ31に格納された参照画像とを用いて、対象マクロブロックの動きベクトル(MV:Motion Vector)を検出する。動きベクトル(MV)は、通常、周辺領域との相関が高い。フレーム間予測部33は、周辺領域の動きベクトル(MV)に基づいて動きベクトル予測値(MVP:Motion Vector Predictor)を算出する。さらに、フレーム間予測部33は、動きベクトル(MV)と動きベクトル予測値(MVP)との間の予測差分値(MVD:Motion Vector Difference )を算出する。上記のエントロピー符号化部24は、この予測差分値(MVD)を含む符号化信号12を出力する。復号化装置(図示略)において、予測差分値(MVD)により動きベクトル(MV)を算出し、復号化した出力画像を生成する。
予測モード選択部34は、フレーム間予測部33とフレーム内予測部28の予測誤差を比較し、当該マクロブロックを最も効率よく符号化することができる符号化モードを選択し、符号化モード情報を生成する。この符号化モード情報は、符号化対象情報として、エントロピー符号化部24へ受け渡される。符号化モード情報には、マクロブロックを分割した分割マクロブロックのサイズと、分割マクロブロックをさらに分割したサブマクロブロックのサイズが含まれる。
図2に示すように、動きベクトル検出部32は、縮小部41、統計処理部42、動き探索部43,44を有している。
縮小部41は、マクロブロック(MB)を所定の縮小率で縮小した縮小マクロブロック(SMB)を生成する。縮小部41は、たとえば、マクロブロック(MB)の画素を間引くことにより縮小マクロブロックSMBを生成する。縮小率は、たとえば水平方向と垂直方向にそれぞれ2分の1(1/2)である。そして、縮小部41は、パターンが異なる複数の縮小マクロブロックSMBを生成する。
複数のパターンは、マクロブロックMBの動きベクトルMVに基づいて設定される。たとえば、パターンは、動きベクトルMVに応じて設定されたラインに沿って画素を間引くように設定される。縮小部41は、複数のパターンに応じて画素を間引いて複数の縮小マクロブロックSMBを生成する。縮小マクロブロックSMBのパターン(間引く画素の位置)については後述する。このように生成された縮小マクロブロックSMBは、動きベクトルの方向に応じた画素を含む。縮小部41は、生成した複数の縮小マクロブロックSMBをメモリ50の縮小フレームバッファ51に格納する。
縮小部41は、フレーム画像を処理単位に分割したマクロブロック(MB)を順次縮小処理し、縮小マクロブロックSMBを縮小フレームバッファ51に格納する。したがって、縮小フレームバッファ51には、各フレーム画像の縮小画像が格納される。つまり、原処理画像において、対象マクロブロックCuの縮小マクロブロックと、対象マクロブロックCuよりも過去に処理されたマクロブロック(MB)の縮小マクロブロックとが格納される。また、縮小フレームバッファ51には、原処理画像と異なる時間に撮影され、原処理画像よりも前(過去)に処理された参照フレームの縮小画像が格納される。参照フレームは、原処理画像よりも前(過去)に撮影された前方参照フレームと、原処理画像よりも後(未来)に撮影された後方参照フレームを含む。
メモリ50には記憶領域として、上記の縮小フレームバッファ51と、対象マクロブロックバッファ52と、動きベクトルバッファ53が設定される。また、メモリ50には、図1に示す現フレームバッファ27、過去のフレームバッファ31等の記憶領域が設定される。メモリ50は、たとえばSDRAM(Synchronous Dynamic Random Access Memory)等のメモリモジュールとすることができる。このようなメモリモジュールは、たとえば、符号化装置10の各機能部を含む半導体装置(LSI)に接続される。
統計処理部42は、縮小部41にて作成された複数パターンの縮小画像のうちの1つの縮小画像を選択するためのパターン選択情報を生成する。たとえば、統計処理部42は、処理対象のマクロブロック(MB)の位置情報に基づいて、過去の動きベクトルをメモリ50の動きベクトルバッファ53から読み出し、該動きベクトルに基づいてパターン選択情報を生成する。パターン選択情報は、たとえば動きベクトルを統計処理した統計動きベクトルMVSである。
たとえば、統計処理部42は、現処理画像において、処理対象のマクロブロック(MB)に隣接するマクロブロックの動きベクトルを動きベクトルバッファ53から読み出す。そして、統計処理部42は、読み出した動きベクトルを統計処理し、パターン選択情報を生成する。統計処理は、たとえば平均値を算出する処理である。たとえば、統計処理部42は、現処理画像で既に生成した動きベクトルの平均値を算出し、この平均値をパターン選択情報(統計動きベクトルMVS)とする。
また、統計処理部42は、現処理画像に対して後方の参照画像がある場合、その参照画像の動きベクトルを動きベクトルバッファ53から読み出す。たとえば、統計処理部42は、参照画像において、上記処理対象のマクロブロック(MB)と同じ位置にあるマクロブロック(以下、参照マクロブロック)の動きベクトルと、その参照マクロブロックの周辺領域のマクロブロックの動きベクトルを、動きベクトルバッファ53から読み出す。そして、統計処理部42は、現処理画像の動きベクトルと、参照画像の動きベクトルとを統計処理し、パターン選択情報を生成する。統計処理は、たとえば平均値を算出する処理である。たとえば、統計処理部42は、現処理画像で既に生成した動きベクトルと過去に生成した参照画像の動きベクトルの平均値を算出し、この平均値をパターン選択情報(統計動きベクトルMVS)とする。
動き探索部43は、パターン選択情報(統計動きベクトルMVS)に基づいて、対象マクロブロックに対応し、縮小フレームバッファ51に格納された複数の縮小マクロブロックのうちの1つを選択する。また、動き探索部43は、パターン選択情報(統計動きベクトルMVB)に対応する縮小参照画像を選択する。つまり、動き探索部43は、パターン選択情報に応じた1つのパターンの縮小画像を選択する。そして、動き探索部43は、選択した縮小マクロブロック及び縮小参照画像を読み出す。そして、動き探索部43は、縮小マクロブロックを用いて縮小参照画像を探索し、縮小マクロブロックの動きベクトルSMVを検出する。そして、動き探索部43は、動きベクトルSMVを動き探索部44に出力する。
たとえば、動き探索部43は、設定された探索範囲において、縮小マクロブロックSMBと同じ範囲に含まれる画素を候補ブロックとする。動き探索部43は、縮小マクロブロックSMBに含まれる各画素の値と候補ブロックに含まれる各画素の値を比較し、評価値を算出する。評価値は、たとえば差分絶対値和(SAD:Sum of Absolute Difference)である。なお、評価値として、差分二乗和(SSD:Sum of Squared Difference)、SATD(Sum of Absolute Transformed Difference)等を用いてもよい。
そして、動き探索部43は、評価値が最小の候補ブロックを検出する。そして、動き探索部43は、参照画像において、対象マクロブロックと空間的に同一位置にあるマクロブロック(仮想マクロブロック)から、検出した候補ブロックまでの移動量を算出する。動き探索部43は、検出した候補ブロックの位置と、仮想マクロブロックの位置とに基づいて、移動量を算出する。この移動量は、縮小画像における対象マクロブロックの動きベクトルSMVである。動きベクトルSMVは、対象マクロブロックCuに対する候補ブロックの相対的な位置関係(ずれ量およびずれ方向)を示すデータ(情報)である。
このように、動き探索部43では、動き探索に縮小画像を用いるため、演算量が大幅に削減され、動き探索が効率化する。
また、動き探索部43では、統計処理部42における処理結果(統計動きベクトルMVS)に基づいて、複数のパターンのうちの1つを選択し、その選択したパターンの縮小画像(縮小マクロブロック、縮小参照画像)を用いて動きベクトルSMVを検出する。選択したパターンの縮小画像は、パターン選択情報(統計動きベクトルMVS)に応じた画素を含む。したがって、画素の配列方向(縦方向,横方向)に沿って一律に間引いた縮小画像を用いる場合と比べ、対象マクロブロックにより近い候補ブロックを検出することができる。つまり、高い精度にて動きベクトルSMVを検出することができる。
動き探索部44は、動き探索の処理単位となるマクロブロック毎に、動き探索部43から入力された動きベクトルSMVに応じた探索範囲で、動き探索を行う。ただし、動きベクトルSMVは、縮小画像により探索された動きベクトルであるため、縮小率に応じて拡大した値(大きさ)で用いる。たとえば、上記の縮小部41は、水平方向及び垂直方向の画素数をそれぞれ1/2にした縮小画像を生成し、動き探索部43はその縮小画像を用いて動き探索処理を行う。したがって、動き探索部44は、動きベクトルSMVが示す水平方向及び垂直方向の値を2倍して用いる。
動き探索部44は、参照画像として、過去のフレームバッファ31に格納された復号画像を部分的に用いる。
動き探索部44は、参照画像において、対象マクロブロックと等しい位置の参照マクロブロックの基準点(たとえば、マクロブロックの中心位置)から、動きベクトルSMVに応じてずれた位置を探索中心とする。たとえば、動きベクトルSMVの水平方向及び垂直方向の各値を、Vx,Vyとする。この場合、基準点の座標(Px,Py)に対して、探索中心の座標(Sx,Sy)を、
Sx=Px+2Vx
Sy=Py+2Vy
とする。そして、この探索中心として探索範囲を設定する。探索範囲の大きさは、たとえば、マクロブロック(MB)の大きさに応じた画素数を含むように設定される。たとえば、マクロブロック(MB)に対して水平方向に±XA画素、垂直方向に±YA画素を含むように探索範囲の大きさを設定する。
動き探索部44は、このように位置が設定された探索範囲において、上記の動き探索部43と同様に、動き探索を行う。つまり、動き探索部44は、設定された探索範囲において、マクロブロックMBと同じ範囲に含まれる画素を候補ブロックとする。動き探索部44は、マクロブロックMBに含まれる各画素の値と候補ブロックに含まれる各画素の値を比較し、評価値を算出する。評価値は、たとえば差分絶対値和(SAD)である。なお、評価値として、差分二乗和(SSD)やSATDを用いてもよい。そして、動き探索部44は、評価値が最小の候補ブロックを検出する。そして、動き探索部44は、参照画像において、対象マクロブロックと空間的に同一位置にあるマクロブロック(仮想マクロブロック)から、検出した候補ブロックまでの移動量(動きベクトル)を算出する。
この動き探索部44において、参照画像に対して、動き探索部43にて検出された動きベクトルSMVに応じて探索範囲が設定(オフセット)される。動き探索部43による動きベクトルSMVは、対象マクロブロックCuの周辺のマクロブロック、または後方参照画像における仮想マクロブロックとその周辺のマクロブロックの動きベクトルMVにより算出されたパターン選択情報(統計動きベクトルMVS)に応じたパターンの縮小画像を用いて検出される。対象マクロブロックCuの動きは、周辺のマクロブロックの動きと関連性が高いことが多い。したがって、周辺のマクロブロックにおける動きベクトルを統計処理したパターン選択情報(統計動きベクトルMVS)を用い、対象マクロブロックの動きベクトルに応じたパターンの縮小画像を用いることで、高い精度にて動きベクトルSMVを検出することができる。そして、その動きベクトルSMVを用いることで、対象マクロブロックCuの動きベクトルに応じた探索範囲を参照画像に対して設定することができ、したがって、対象マクロブロックCuの動きベクトルMVを効率よく検出することができる。また、動きベクトルMVを精度よく検出することができる。
ピクチャの種類と参照関係を説明する。
図3に示すように、4つの画像(ピクチャ)61,62,63,64は、この順番で撮影される。ピクチャ61はたとえばIピクチャであり、イントラ予測処理により符号化する。
ピクチャ64はPピクチャである。このピクチャ64に含まれるマクロブロック64aは、ピクチャ61に含まれるマクロブロック61aと同一または類似している。ピクチャ64の符号化処理において、ピクチャ61を参照画像(前方参照)とした動きベクトル探索処理を行い、マクロブロック64aにおける参照情報を符号化する。
ピクチャ62はBピクチャである。このピクチャ62に含まれるマクロブロック62aは、前方ピクチャ61に含まれるマクロブロック61bと同一または類似している。また、このマクロブロック62aは、後方のピクチャ64に含まれるマクロブロック64bと同一または類似している。ピクチャ62の符号化処理において、ピクチャ61とピクチャ64を参照画像(前方参照、後方参照、双方向参照)とした動きベクトル探索処理を行い、マクロブロック62aにおける参照情報を符号化する。
ピクチャ63はBピクチャである。このピクチャ63に含まれるマクロブロック63aは、前方ピクチャ61に含まれるマクロブロック61cと同一または類似している。また、このマクロブロック63aは、後方のピクチャ64に含まれるマクロブロック64cと同一または類似している。ピクチャ63の符号化処理において、ピクチャ61とピクチャ64を参照画像(前方参照、後方参照、双方向参照)とした動きベクトル探索処理を行い、マクロブロック63aにおける参照情報を符号化する。
次に、Pピクチャにおける参照画像とマクロブロック(MB)を説明する。
図4に示すように、3つの画像(ピクチャ)71,72,73は、この順番で撮影される。現処理画像73は、4つのマクロブロック73a,73b,73c,73dを含む。現処理画像73はPピクチャである。マクロブロック73aは、前方(現処理画像73より時間的に過去)の参照画像71のマクロブロック71aと同一または類似している。参照画像71はIピクチャまたはPピクチャであり、現処理画像73よりも前に符号化されている。したがって、現処理画像73において、参照画像71に含まれるマクロブロック71aを示す情報と差分を符号化する。
現処理画像73のマクロブロック73bは、前方の参照画像72のマクロブロック72aと同一または類似している。参照画像72はIピクチャまたはPピクチャであり、現処理画像73よりも前に符号化されている。したがって、現処理画像73において、参照画像72に含まれるマクロブロック72aを示す情報と差分を符号化する。
同様に、現処理画像73のマクロブロック73c,73dは、前方の参照画像72のマクロブロック72b,72cと同一または類似している。現処理画像73において、参照画像72に含まれるマクロブロック72b,72cを示す情報と差分を符号化する。
次に、Bピクチャにおける参照画像とマクロブロック(MB)を説明する。
図5に示すように、5つの画像(ピクチャ)81,82,83,84,85は、この順番で撮影される。現処理画像83は4つのマクロブロック83a,83b,83c,83dを含む。現処理画像83はBピクチャである。マクロブロック83aは、前方(現処理画像83より時間的に過去)の参照画像81のマクロブロック81aと同一または類似している。参照画像81はIピクチャまたはPピクチャであり、現処理画像83よりも前に符号化されている。したがって、現処理画像83において、参照画像81に含まれるマクロブロック81aを示す情報と差分を符号化する。
現処理画像83のマクロブロック83bは、前方の参照画像82のマクロブロック82aと同一または類似している。また、マクロブロック83bは、後方(現処理画像83より時間的に未来)の参照画像84のマクロブロック84aと統一または類似している。参照画像84はIピクチャまたはPピクチャであり、現処理画像83よりも前に符号化されている。したがって、現処理画像83において、参照画像82,84に含まれるマクロブロック82a,84aを示す情報と差分を符号化する。
現処理画像83のマクロブロック83cは、後方の参照画像85のマクロブロック85aと同一または類似している。参照画像85はIピクチャまたはPピクチャであり、現処理画像83よりも前に符号化されている。したがって、現処理画像83において、参照画像85に含まれるマクロブロック85aを示す情報と差分を符号化する。
現処理画像83のマクロブロック83dは、前方の参照画像82のマクロブロック82bと同一または類似している。また、マクロブロック83dは、後方の参照画像84のマクロブロック84bと統一または類似している。したがって、現処理画像83において、参照画像82,84に含まれるマクロブロック82b,84bを示す情報と差分を符号化する。
次に、ピクチャ内における処理順序と、動きベクトル予測値(MVP),予測差分値(MVD)の算出処理を説明する。
図6に示すように、1つのピクチャ(フレーム)91は、マトリックス状に配列された複数個(8×6個)のマクロブロック(MB)を含む。各マクロブロック(MB)は、たとえば水平方向16画素,垂直方向16画素の画素マトリクスである。
符号化処理は、破線の矢印で示したように、ラスタスキャン方向に配置された複数のマクロブロックMB毎に実施される。つまり、最上端のマクロブロックラインの左端のマクロブロックMBから右端のマクロブロックMBの順に実施される。次に、2段目のマクロブロックラインの左端のマクロブロックMBから右端のマクロブロックMBの順に符号化処理が実施される。以降、左端のマクロブロックMBから右端のマクロブロックMBの順に実施される符号化処理が、最下端のマクロブロックラインまで繰り返される。
処理対象のマクロブロックを「Cu」として示す。この対象マクロブロックCuの周辺のマクロブロック「A」「B」「C」の動きベクトル(MVA)(MVB)(MVC)に基づいて、動きベクトル予測値(MVP)を算出する。動きベクトル予測値(MVP)は、周辺のマクロブロック「A」「B」「C」の動きベクトル(MVA)(MVB)(MVC)の中間値である。つまり、動きベクトル予測値(MVP)は、
MVP=Median(MVA,MVB,MVC)
により算出される。なお、「Median」は、中間値を得る算術子である。そして、予測差分値(MVD)は、対象マクロブロックCuの動きベクトル(MV)と動きベクトル予測値(MVP)に基づいて、
MVD=MV−MVP
により算出される。
次に、動きベクトルの探索の概略を説明する。
図7(a)に示すように、現処理画像120に含まれる対象マクロブロックCuの動きベクトルを検出する。この検出において、現処理画像120と時間的に異なる画像であって、現処理画像120よりも前に符号化された参照画像110を用いる。この参照画像110において、対象マクロブロックCuと空間的に同一位置の仮想マクロブロックを含む探索範囲111を設定する。なお、対象マクロブロックCuに対応する仮想マクロブロックを明示するために同じ符号「Cu」を用いて示す場合がある。動き探索処理は、この探索範囲111内にあって、対象マクロブロックCuに対して評価値が最小の候補ブロックを探索する。
図7(b)に示すように、探索範囲111の大きさは、仮想マクロブロックCuと、その仮想マクロブロックCuの周辺の8個のマクロブロックを含むように設定される。対象マクロブロックCuは、たとえば16×16画素の画素マトリックスである。これに基づき、たとえば、マクロブロック(MB)に対して水平方向と垂直方向にそれぞれ±16画素を含むように探索範囲の大きさを設定する。このような設定の場合、探索範囲の大きさは、48×48画素(3×3マクロブロックを含む大きさ)となる。
ここで、探索範囲に対する全探索法を説明する。
先ず、図11(a)に示すように、探索範囲111の左上に候補ブロック112を設定する。そして、この候補ブロック112に含まれる画素の画素値と、対象マクロブロックCuに含まれる画素の画素値とに基づいて、評価値を算出する。評価値は、上記したように、たとえば差分絶対値和(SAD)である。このように算出した評価値を、候補ブロック112の位置情報に関連付けて記憶する。たとえば、この探索処理を図2に示す動き探索部44にて実行する場合、記憶する領域は、たとえば動き探索部44に含まれるバッファである。なお、以下の説明において算出する評価値についても同様に記憶する。
次に、図11(b)に示すように、探索範囲111において、候補ブロック112を、右側に1画素分ずらして設定する。そして、この候補ブロック112の評価値を算出する。このように、右側に向かって1画素ずつずらして設定した候補ブロックの評価値を算出する。そして、図11(c)に示すように、探索範囲111において、右端に設定した候補ブロック112の評価値を算出すると、上記と同様の処理を、1画素分下側にずらして設定した候補ブロックについて行う。
即ち、図11(d)に示すように、探索範囲111の左端において、上端から1画素分下がった位置に候補ブロック112を設定する。そして、この候補ブロック112の評価値を算出する。そして、図11(e)に示すように、探索範囲111において、候補ブロック112を、右側に1画素分ずらして設定する。そして、この候補ブロック112の評価値を算出する。このように、1画素ずつ候補ブロック112の設定位置をずらし、各位置に設定した候補ブロック112の評価値を算出する。そして、図11(f)に示すように、探索範囲111の右下に候補ブロック112を設定し、この候補ブロック112における評価値を算出する。
このように、探索範囲111に設定した全ての候補ブロック112の評価値を算出する。記憶した全ての評価値のうち、もっとも小さな評価値に関連付けた候補ブロック112の位置情報を得る。
たとえば、図12に示すように、上記の動き探索により、評価値が最小の候補ブロック112を検出する。そして、参照画像110において、仮想マクロブロックCuから、検出した候補ブロック112までの移動量を算出する。この移動量は、対象マクロブロックCuの動きベクトルMVである。
次に、縮小画像による動き探索を説明する。
上記の図7(a)に示す現処理画像120と参照画像110とをそれぞれ縮小した縮小画像を生成する。
図8(a)に示すように、縮小処理画像140は、図7(a)に示す現処理画像120を、たとえば1/2に縮小したものである。同様に、縮小参照画像130は、図7(a)に示す参照画像110を、たとえば1/2に縮小したものである。縮小処理画像140に含まれる縮小マクロブロック141は、図7(a)に示す対象マクロブロックCuを1/2に縮小したものである。この縮小マクロブロック141に対して、空間的に同一位置の仮想マクロブロック131を中心とする探索範囲132を縮小参照画像130に設定する。
図8(b)に示すように、探索範囲132の大きさは、仮想マクロブロック131と、その仮想マクロブロック131の大きさに応じて設定される。1つの縮小マクロブロック(SMB)は、たとえば8×8画素の画素マトリックスである。これに基づき、たとえば、縮小マクロブロック(SMB)に対して水平方向と垂直方向にそれぞれ±8画素を含むように探索範囲の大きさを設定する。このような設定の場合、探索範囲の大きさは、24×24画素となる。この探索範囲132において、対象マクロブロックSMBを用いて探索する。
図9(a)に示すように、探索範囲132において、縮小マクロブロックSMBに対する評価値が最も小さな候補ブロック133を検出する。そして、図9(b)に示すように、仮想マクロブロック131に対する候補ブロック133の移動量(動きベクトルSMV)を算出する。このように検出した動きベクトルに基づいて、原画サイズの画像について、動きベクトルMVを検出する。
すなわち、図10(a)に示すように、参照画像110において、上記のように検出した動きベクトルSMVに基づいて、探索範囲を設定する。ただし、動きベクトルSMVは、現処理画像120と参照画像110をそれぞれ1/2に縮小した縮小画像140,130(図8(a)参照)により探索された動きベクトルである。このため、動きベクトルSMVの水平方向の成分と垂直方向の成分をそれぞれ2倍した成分の仮想動きベクトルPMVを算出する。この仮想動きベクトルPMVは、対象マクロブロックCuに対して、評価値が最も小さい候補ブロックが存在しうる確立の高い場所を示す。
このため、図10(b)に示すように、仮想動きベクトルPMVに応じて参照画像110における探索範囲を設定する。たとえば、仮想マクロブロックCuを中心とする探索範囲111を、仮想動きベクトルPMVに応じてオフセットした探索範囲111aを設定する。このように設定した探索範囲111aは、中心部分において、対象マクロブロックCuに対応して、最も小さな評価値の候補ブロック112が存在する確立が高い。つまり、対象マクロブロックCuの画素との差が小さい画素が含まれる。一方、探索範囲111aの外側であって、探索範囲111との間の領域には、対象マクロブロックCuの画素との差が大きい画素が含まれる。したがって、このようにオフセットした探索範囲111aを設定することで、効率のよい探索を行うことができる。
図13は、動きベクトル検出部32において、1つのマクロブロック(MB)に対する処理を機能的に示すフローチャートである。動きベクトル検出処理を、このフローチャートにしたがって実施することもできる。
先ず、ステップ201において、現処理画像と参照画像を取得する。そして、ステップ202において、現処理画像と参照画像について、複数パターンの縮小画像を生成する。次に、ステップ203において、過去の動きベクトルMVを取得する。そして、ステップ204において、動きベクトルMVを統計処理する。ステップ205において、統計処理の結果に基づいて、縮小画像を選択する。
次いで、ステップ206において、縮小画像(縮小処理画像、縮小参照画像)を用い、全探索法にしたがって探索を行い、対象マクロブロックの動きベクトルSMVを検出する。ステップ207において、全画素探索完了したか否かを判定する。探索範囲に含まれる全画素について探索を完了した場合(判定:YES)、処理を終了する。全画素について探索を完了していない場合(判定:NO)、ステップ208に移行する。ステップ208において、検出した動きベクトルSMVに基づいて参照画像における探索範囲を設定する。そして、参照画像の探索範囲内を全探索法にしたがって探索を実施する。
次に、比較例の処理を説明する。
図14に示すように、ステップ251において、現処理画像と参照画像を取得する。ステップ252において、現処理画像と参照画像について、それぞれ1つの縮小画像(縮小処理画像、縮小参照画像)を生成する。ステップ253において、縮小画像(縮小処理画像、縮小参照画像)を用い、全探索法にしたがって探索を行い、対象マクロブロックの動きベクトルSMVを検出する。ステップ254において、全画素探索完了したか否かを判定する。探索範囲に含まれる全画素について探索を完了した場合(判定:YES)、処理を終了する。全画素について探索を完了していない場合(判定:NO)、ステップ255に移行する。ステップ255において、検出した動きベクトルSMVに基づいて参照画像における探索範囲を設定し、その探索範囲内を全探索法にしたがって探索を実施する。
次に、統計処理に用いる動きベクトルについて説明する。
図15に示すように、4つの画像(ピクチャ)151,152,153,154は、この順番で撮影される。たとえば、ピクチャ151はIピクチャまたはPピクチャであり、ピクチャ154はPピクチャであり、ピクチャ152,153はBピクチャである。
たとえば、ピクチャ152を現処理画像とする。そして、この現処理画像152に含まれる対象マクロブロックCuの動きベクトルを検出する。このとき、現処理画像152において、左上のマクロブロック(MB)から、ラスタ方向(破線矢印にて示す)に沿って符号化処理され、これらのマクロブロック(MB)について動きベクトルが生成されている。これらのマクロブロックのうち、対象マクロブロックCuを中心とする参照領域152aに含まれ、既に符号化処理されたマクロブロック(対象マクロブロックCuより濃いハッチングにて示されたマクロブロック)において、現処理画像152から前方の参照画像151を参照した動きベクトルを用いる。参照領域152aは、たとえば、図7(b)に示す探索範囲111と同じ大きさに設定される。これらのマクロブロックの動きベクトルを統計処理(平均化)して統計動きベクトルMVSを生成する。この統計動きベクトルMVSにより、複数パターの縮小画像のうちの1つの縮小画像を選択する。
また、現処理画像152について後方参照がある場合、参照するピクチャ(後方参照画像)154はPピクチャであり、この後方参照画像154は、前方のピクチャ(前方参照画像)151を参照する。そして、この後方参照画像154に含まれる全てのマクロブロックは、現処理画像152よりも前に符号化され、それぞれの動きベクトルが生成されている。この後方参照画像154において、現処理画像152の対象マクロブロックCuと空間的に同一位置の仮想マクロブロック(「C1」と表記)を中心とする参照領域154aに含まれるマクロブロックにおいて、後方参照画像154から前方参照画像151を参照した動きベクトルを用いる。そして、現処理画像152の動きベクトルと、後方参照画像154の動きベクトルとを統計処理(平均化)して統計動きベクトルMVSを生成する。この統計動きベクトルMVSにより、複数パターの縮小画像のうちの1つの縮小画像を選択する。
次に、縮小画像のパターンについて説明する。
上記したように、図2に示す動きベクトル検出部32は、対象マクロブロックCuに対して、その対象マクロブロックCuの周辺のマクロブロック(図15に示す現処理画像152、後方参照画像154に含まれるマクロブロック)の動きベクトルを統計処理した統計動きベクトルMVSに基づいて、縮小画像を選択する。このため、縮小画像のパターンは、統計動きベクトルMVSの方向に応じて設定される。動きが強い方向に応じたパターンにて画素を間引いた縮小画像を用いるように、各パターンが設定される。
図16(a)に示すように、マクロブロック(MB)は、たとえば16×16個の画素Gを含む画素マトリックスである。このマクロブロック(MB)において、左上の画素を基準画素Grとする。図において、マクロブロック(MB)の左の数字は、基準画素Grから縦方向(垂直方向)の画素位置を示す。また、マクロブロック(MB)の上の数字は、基準画素Grから横方向(水平方向)の画素位置を示す。
図16(a)において、矢印LVは、統計動きベクトルMVSの方向を示す。統計動きベクトルMVSに対して垂直方向に間引きがあるパターンとし、そのパターンによって縮小画像を生成する。詳しくは、統計動きベクトルMVSに対して垂直な第1ラインL1と第2ラインL2を、統計動きベクトルMVS(LV)に沿って交互に設定する。なお、図16(a)では、それぞれ1本の第1ラインL1及び第2ラインL2を示している。この第1ラインL1を、画素を残すラインとし、第2ラインL2を、画素を間引くラインとする。さらに、第1ラインL1に沿って1画素おきに画素を間引く。図16(a)において、基準画素Grを除き、梨地のハッチングを付した画素G2が縮小部41(図2参照)において間引く画素であり、基準画素Grとハッチングを付していない画素G1が縮小画像に含まれる画素である。
上記のように、第1ラインL1と第2ラインL2に応じて画素を間引く処理により、図16(d)に示す縮小マクロブロック(SMB)を生成する。この縮小マクロブロック(SMB)は、8画素×8画素の画素マトリックスである。この縮小マクロブロック(SMB)において、各画素内に記載した文字は、図16(a)に示すマクロブロック(MB)における画素の位置(縦方向の位置と横方向の位置)を示す。
なお、図16(a)において太線にて示した矩形は、マクロブロック(MB)における繰り返しパターンRPを示す。この繰り返しパターンRPは、残す画素G1と間引く画素G2を含む領域であり、この繰り返しパターンRPが画素の配列方向に沿って繰り返され、縮小マクロブロック(SMB)が形成される。
上記のように生成した縮小マクロブロック(SMB)を、統計動きベクトルMVSに応じて選択する。ベクトルは、方向と大きさを示す。上記したように、縮小マクロブロックSMBは、動きが強い方向に応じたパターンにて画素を間引いたパターンとなるように生成される。したがって、統計動きベクトルMVSの方向に応じて選択するとよい。このため、統計動きベクトルMVSの縦方向の成分と横方向の成分の比を用い、その比に応じてパターンを生成することで、ベクトルの方向に応じた選択を可能とする。
図16(b)に示すように、統計動きベクトルMVSにおいて、縦方向の成分MVyについて、下向きをプラス「+」、上向きをマイナス「−」とする。また、横方向の成分MVxについて、右方向をプラス「+」、左向きをマイナス「−」とする。
図16(c)は、統計動きベクトルMVSについて、縦方向の成分MVyと横方向の成分MVxの比を示す。たとえば、マクロブロックMBの画素の配列方向(縦方向)と平行な統計動きベクトルMVSの場合、縦方向の成分MVyと横方向の成分MVxの比は、「縦:横=1:0」または「縦:横=−1:0」となる。なお、図16(c)において、黒丸は成分が「0」であることを示す。
図17〜図20は、統計動きベクトルMVSの比に対するマクロブロックMBの画素の間引きのパターンを[ケースn]として示す。なお、図17〜図20において、画素等の符号を省略する。
図17に示す[ケース1]では、統計動きベクトルMVSに応じて、縦方向の成分と横方向の成分の比が、「縦:横=1:0」または「縦:横=−1:0」の場合のパターンの縮小画像を生成する。なお、この例は、図16(a)〜(d)にて示したパターンである。なお、図17では、縦方向の成分と横成分の比について、代表的な例を示している。また、[ケース2]では、統計動きベクトルMVSに応じて、縦方向の成分と横方向の成分の比が、「縦:横=8:−1」または「縦:横=−8:1」の場合のパターンの縮小画像を生成する。また、[ケース3]では、統計動きベクトルMVSに応じて、縦方向の成分と横方向の成分の比が、「縦:横=4:−1」または「縦:横=−4:1」の場合のパターンの縮小画像を生成する。また、[ケース4]では、統計動きベクトルMVSに応じて、縦方向の成分と横方向の成分の比が、「縦:横=2:−1」または「縦:横=−2:1」の場合のパターンの縮小画像を生成する。
図18に示す[ケース5]では、統計動きベクトルMVSに応じて、縦方向の成分と横方向の成分の比が、「縦:横=−1:1」または「縦:横=1:−1」の場合のパターンの縮小画像を生成する。また、[ケース6]では、統計動きベクトルMVSに応じて、縦方向の成分と横方向の成分の比が、「縦:横=−1:2」または「縦:横=1:−2」の場合のパターンの縮小画像を生成する。また、[ケース7]では、統計動きベクトルMVSに応じて、縦方向の成分と横方向の成分の比が、「縦:横=−1:4」または「縦:横=1:−4」の場合のパターンの縮小画像を生成する。また、[ケース8]では、統計動きベクトルMVSに応じて、縦方向の成分と横方向の成分の比が、「縦:横=−1:8」または「縦:横=1:−8」の場合のパターンの縮小画像を生成する。
図19に示す[ケース9]では、統計動きベクトルMVSに応じて、縦方向の成分と横方向の成分の比が、「縦:横=0:1」または「縦:横=0:−1」の場合のパターンの縮小画像を生成する。また、[ケース10]では、統計動きベクトルMVSに応じて、縦方向の成分と横方向の成分の比が、「縦:横=1:8」または「縦:横=−1:−8」の場合のパターンの縮小画像を生成する。また、[ケース11]では、統計動きベクトルMVSに応じて、縦方向の成分と横方向の成分の比が、「縦:横=1:4」または「縦:横=−1:−4」の場合のパターンの縮小画像を生成する。また、[ケース12]では、統計動きベクトルMVSに応じて、縦方向の成分と横方向の成分の比が、「縦:横=1:2」または「縦:横=−1:−2」の場合のパターンの縮小画像を生成する。
図20に示す[ケース13]では、統計動きベクトルMVSに応じて、縦方向の成分と横方向の成分の比が、「縦:横=1:1」または「縦:横=−1:−1」の場合のパターンの縮小画像を生成する。また、[ケース14]では、統計動きベクトルMVSに応じて、縦方向の成分と横方向の成分の比が、「縦:横=2:1」または「縦:横=−2:−1」の場合のパターンの縮小画像を生成する。また、[ケース15]では、統計動きベクトルMVSに応じて、縦方向の成分と横方向の成分の比が、「縦:横=4:1」または「縦:横=−4:−1」の場合のパターンの縮小画像を生成する。また、[ケース16]では、統計動きベクトルMVSに応じて、縦方向の成分と横方向の成分の比が、「縦:横=8:1」または「縦:横=−8:−1」の場合のパターンの縮小画像を生成する。
なお、図18に示す[ケース5]は、間引きのパターンが図17に示す[ケース1]と同じである。つまり、[ケース5]による縮小画像は、[ケース1]による縮小画像と同じ画素を含む。同様に、図19に示す[ケース9]、図20に示す[ケース13]は、間引きのパターンが図17に示す[ケース1]と同じであり、それらの縮小画像は、[ケース1]による縮小画像と同じ画素を含む。
次に、縮小画像を選択する処理を説明する。
図21〜図23は、統計処理の結果に基づく縮小画像のパターン選択を示す。なお、図21〜図23に示す判断子には、図17〜図20に対応し、縦方向の成分と横成分の比について、代表的な例を示している。
統計動きベクトルMVSの垂直成分(縦)と水平成分(横)の比に応じて、縮小画像(パターン)を選択する。
先ず、図21に示すように、ステップ221において、統計動きベクトルMVSの垂直成分(縦)と水平成分(横)の比が、「縦:横=8:−1」か否かを判定する。また、統計動きベクトルMVSの垂直成分(縦)と水平成分(横)の比が、「縦:横=−8:1」か否かを判定する。比が「縦:横=8:−1」または「縦:横=−8:1」の場合(判定:YES)、ステップ222において[ケース2]によって作成されたパターンの縮小画像を選択する。比が「縦:横=8:−1」と「縦:横=−8:1」のいずれでもない場合(判定:NO)、ステップ223へ移行する。
次に、ステップ223の判定において、統計動きベクトルMVSの垂直成分(縦)と水平成分(横)の比が、「縦:横=−1:8」または「縦:横=1:−8」の場合(判定:YES)、ステップ224において[ケース8]によって作成されたパターンの縮小画像を選択する。ステップ225の判定において、統計動きベクトルMVSの垂直成分(縦)と水平成分(横)の比が、「縦:横=1:8」または「縦:横=1:−8」の場合(判定:YES)、ステップ226において[ケース10]によって作成されたパターンの縮小画像を選択する。ステップ227の判定において、統計動きベクトルMVSの垂直成分(縦)と水平成分(横)の比が、「縦:横=8:1」または「縦:横=1:−8」の場合(判定:YES)、ステップ228において[ケース16]によって作成されたパターンの縮小画像を選択する。
次に、図22に示すように、ステップ229の判定において、統計動きベクトルMVSの垂直成分(縦)と水平成分(横)の比が、「縦:横=4:−1」または「縦:横=−4:1」の場合(判定:YES)、ステップ230において[ケース3]によって作成されたパターンの縮小画像を選択する。ステップ231の判定において、統計動きベクトルMVSの垂直成分(縦)と水平成分(横)の比が、「縦:横=−1:4」または「縦:横=1:−4」の場合(判定:YES)、ステップ232において[ケース7]によって作成されたパターンの縮小画像を選択する。
次いで、ステップ233の判定において、統計動きベクトルMVSの垂直成分(縦)と水平成分(横)の比が、「縦:横=1:4」または「縦:横=−1:−4」の場合(判定:YES)、ステップ234において[ケース11]によって作成されたパターンの縮小画像を選択する。ステップ235の判定において、統計動きベクトルMVSの垂直成分(縦)と水平成分(横)の比が、「縦:横=4:1」または「縦:横=−4:−1」の場合(判定:YES)、ステップ236において[ケース15]によって作成されたパターンの縮小画像を選択する。
次に、図23に示すように、ステップ237の判定において、統計動きベクトルMVSの垂直成分(縦)と水平成分(横)の比が、「縦:横=2:−1」または「縦:横=−2:1」の場合(判定:YES)、ステップ238において[ケース4]によって作成されたパターンの縮小画像を選択する。ステップ239の判定において、統計動きベクトルMVSの垂直成分(縦)と水平成分(横)の比が、「縦:横=−1:2」または「縦:横=1:−2」の場合(判定:YES)、ステップ240において[ケース6]によって作成されたパターンの縮小画像を選択する。
次いで、ステップ241の判定において、統計動きベクトルMVSの垂直成分(縦)と水平成分(横)の比が、「縦:横=1:2」または「縦:横=−1:−2」の場合(判定:YES)、ステップ242において[ケース12]によって作成されたパターンの縮小画像を選択する。ステップ243の判定において、統計動きベクトルMVSの垂直成分(縦)と水平成分(横)の比が、「縦:横=2:1」または「縦:横=−2:−1」の場合(判定:YES)、ステップ244において[ケース14]によって作成されたパターンの縮小画像を選択する。
そして、ステップ243において、判定が「NO」、すなわち統計動きベクトルMVSの垂直成分(縦)と水平成分(横)の比が上記のいずれでもない場合、ステップ245において[ケース1]によって作成されたパターンの縮小画像を選択する。
以上記述したように、本実施形態によれば、以下の効果を奏する。
(1)動きベクトル検出部32は、MB分割部21から入力されたマクロブロック(MB)と、過去のフレームバッファ31に格納された参照画像とを用いて、対象マクロブロックの動きベクトル(MV:Motion Vector)を検出する。動きベクトル検出部32の縮小部41は、マクロブロック(MB)を所定の縮小率で縮小した縮小マクロブロック(SMB)を生成する。統計処理部42は、縮小部41にて作成された複数パターンの縮小画像のうちの1つの縮小画像を選択するためのパターン選択情報(統計動きベクトルMVS)を生成する。動き探索部43は、パターン選択情報(統計動きベクトルMVS)に基づいて、複数の縮小画像のうちの1つを選択し、その縮小参照画像を探索し、縮小マクロブロックの動きベクトルSMVを検出する。動き探索部44は、動き探索の処理単位となるマクロブロック毎に、動き探索部43から入力された動きベクトルSMVに応じた探索範囲で、動き探索を行い、対象マクロブロックCuの動きベクトルMVを検出する。
この動き探索部44において、参照画像に対して、動き探索部43にて検出された動きベクトルSMVに応じて探索範囲が設定(オフセット)される。動き探索部43による動きベクトルSMVは、対象マクロブロックCuの周辺のマクロブロック、または後方参照画像における仮想マクロブロックとその周辺のマクロブロックの動きベクトルMVにより算出されたパターン選択情報(統計動きベクトルMVS)に応じたパターンの縮小画像を用いて検出される。
対象マクロブロックCuの動きは、周辺のマクロブロックの動きと関連性が高いことが多い。したがって、周辺のマクロブロックにおける動きベクトルを統計処理したパターン選択情報(統計動きベクトルMVS)を用い、対象マクロブロックの動きベクトルに応じたパターンの縮小画像を用いることで、高い精度にて動きベクトルSMVを検出することができる。そして、その動きベクトルSMVを用いることで、対象マクロブロックCuの動きベクトルに応じた探索範囲を参照画像に対して設定することができ、対象マクロブロックCuの動きベクトルMVを効率よく検出することができる。また、動きベクトルMVを精度よく検出することができる。そして、動きベクトルMVの精度は、符号化におけるデータ量(符号化圧縮率)に影響する。したがって、本実施形態では、予測精度(符号化圧縮率)を高めることができる。
たとえば、単純に水平方向と垂直方向のみに沿って間引くことで縮小画像を生成した場合、その縮小画像において、対象マクロブロックの動きに応じた特徴的な画素が含まれないことがある。すると、縮小画像を用いた動き探索処理において、適切な評価値が得られないことがある。このような場合、対象マクロブロックCuに対応する候補ブロックの評価値が、他の候補ブロックよりも小さくなってしまい、誤検出を発生することがある。このような場合には、対象マクロブロックと検出した参照ブロックとの間の誤差が大きくなり、符号化信号におけるデータ量の増加を招く。誤検出を防ぐために探索範囲を大きくすると、探索時間の増大を招く。また、探索範囲を大きくすることは、縮小画像による動き探索が無駄にして、効率の低下を招く。
(2)縮小部41は、統計動きベクトルMVSに対して垂直な第1ラインL1と第2ラインL2を、統計動きベクトルMVS(LV)に沿って交互に設定する。この第1ラインL1を、画素を残すラインとし、第2ラインL2を、画素を間引くラインとする。さらに、第1ラインL1に沿って1画素おきに画素を間引く。このように、第1ラインL1と第2ラインL2に応じて画素を間引く処理により、動きの強い方向に応じたパターンで画素を間引いた縮小マクロブロック(SMB)(縮小画像)を生成することができる。
尚、上記各実施形態は、以下の態様で実施してもよい。
・上記実施形態において、マクロブロック(MB)や縮小マクロブロック(SMB)のサイズを適宜変更してもよい。また、縦方向の画素の数と横方向の画素の数とが互いに異なるマクロブロック(縮小マクロブロック)としてもよい。
・上記実施形態に対し、統計処理部42の結果に応じたパターンにて参照画像を縮小した縮小参照画像と縮小マクロブロックSMBを生成し、動き探索を行うようにしてもよい。
10 符号化装置(符号化回路)
32 動きベクトル検出部
33 フレーム間予測部
41 縮小部
42 統計処理部
43,44 動き探索部
MB マクロブロック
SMB 縮小マクロブロック
MV 動きベクトル(第2動きベクトル)
SMV 動きベクトル(第1動きベクトル)
MVS 統計動きベクトル

Claims (7)

  1. 動画像に含まれるフレーム画像を分割したマクロブロック毎に複数パターンの縮小画像を生成する縮小部と、
    前記マクロブロック毎に検出された動きベクトルを統計処理する統計処理部と、
    前記縮小部により参照フレームを縮小した複数パターンの縮小画像のうちの1つの縮小画像を前記統計処理部の処理結果に基づいて選択し、選択した前記縮小画像内の第1探索範囲を探索して第1動きベクトルを検出する第1の動き探索部と、
    前記参照フレームのうち前記第1動きベクトルに基づいて設定される第2探索範囲を探索して第2動きベクトルを検出する第2の動き探索部と、を有し、
    前記フレーム画像を分割した前記マクロブロックは画素マトリックスであり、
    前記縮小部は、前記画素マトリックスにおいて、第1の配列方向の成分と前記第1の配列方向と直交する第2の配列方向の成分との比が異なる複数の設定方向に応じて前記マクロブロックに含まれる画素を間引いて、前記複数パターンの縮小画像を生成すること、を特徴とする符号化回路。
  2. 前記縮小部は、前記設定方向と垂直な第1の直線及び第2の直線を前記設定方向に沿って交互に設定し、前記第1の直線に沿って前記画素を1画素おきに間引き、前記第2の直線の前記画素を間引いて前記縮小画像を生成すること、を特徴とする請求項に記載の符号化回路。
  3. 前記統計処理部は、処理対象のフレーム画像において、処理対象のマクロブロックに隣接するマクロブロックの動きベクトルを統計処理すること、を特徴とする請求項1または2に記載の符号化回路。
  4. 前記統計処理部は、前記処理対象のフレーム画像において検出した動きベクトルと、前記処理対象のフレーム画像に対する後方の参照フレームにおいて検出した動きベクトルとを統計処理すること、を特徴とする請求項に記載の符号化回路。
  5. 前記統計処理部は、処理対象のフレーム画像において、処理対象のマクロブロックに隣接するマクロブロックの動きベクトルと、前記参照フレームにおいて前記処理対象のマクロブロックと空間的に同一位置のマクロブロックを含む参照領域内のマクロブロックの動きベクトルとを統計処理すること、を特徴とする請求項1または2に記載の符号化回路。
  6. 前記第1の動き探索部は、前記統計処理部の処理結果として得られる統計動きベクトルにおける、第1の配列方向の成分と、前記第1の配列方向と直交する第2の配列方向の成分の比に応じて、前記複数パターンの縮小画像のうちの1つの縮小画像を選択すること、を特徴とする請求項1〜のいずれか一項に記載の符号化回路。
  7. 動画像に含まれるフレーム画像を分割したマクロブロック毎に複数パターンの縮小画像を生成し、
    前記マクロブロック毎に検出された動きベクトルを統計処理し、
    参照フレームを縮小した複数パターンの縮小画像のうちの1つの縮小画像を前記統計処理の処理結果に基づいて選択し、選択した前記縮小画像内の第1探索範囲を探索して第1動きベクトルを検出し、
    前記参照フレームのうち前記第1動きベクトルに基づいて設定される第2探索範囲を探索して第2動きベクトルを検出し、
    前記フレーム画像を分割した前記マクロブロックは画素マトリックスであり、
    前記画素マトリックスにおいて、第1の配列方向の成分と前記第1の配列方向と直交する第2の配列方向の成分との比が異なる複数の設定方向に応じて前記マクロブロックに含まれる画素を間引いて、前記複数パターンの縮小画像を生成すること、を特徴とする符号化方法。
JP2014177385A 2014-09-01 2014-09-01 符号化回路、符号化方法 Active JP6390275B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2014177385A JP6390275B2 (ja) 2014-09-01 2014-09-01 符号化回路、符号化方法
US14/834,294 US10448047B2 (en) 2014-09-01 2015-08-24 Encoder circuit and encoding method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014177385A JP6390275B2 (ja) 2014-09-01 2014-09-01 符号化回路、符号化方法

Publications (2)

Publication Number Publication Date
JP2016052056A JP2016052056A (ja) 2016-04-11
JP6390275B2 true JP6390275B2 (ja) 2018-09-19

Family

ID=55404104

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014177385A Active JP6390275B2 (ja) 2014-09-01 2014-09-01 符号化回路、符号化方法

Country Status (2)

Country Link
US (1) US10448047B2 (ja)
JP (1) JP6390275B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108573472B (zh) * 2018-04-18 2022-05-24 中国计量大学 利用最小熵判断视觉感知饱和的图像自适应缩小方法
US11265544B2 (en) 2018-09-18 2022-03-01 Sony Corporation Apparatus and method for image compression based on optimal sequential encoding scheme

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5821986A (en) * 1994-11-03 1998-10-13 Picturetel Corporation Method and apparatus for visual communications in a scalable network environment
JP3175914B2 (ja) * 1995-12-25 2001-06-11 日本電信電話株式会社 画像符号化方法および画像符号化装置
JPH11122618A (ja) * 1997-10-15 1999-04-30 Mega Chips Corp 画像符号化装置
US6137837A (en) * 1998-01-23 2000-10-24 Motorola, Inc. Motion estimation for digital video with reduced number of search window pixels
US20050163389A1 (en) * 2002-03-22 2005-07-28 Tadahiro Ohmi Image data comprising device, image data compression method, recording medium, and program
US7640832B2 (en) * 2003-07-24 2010-01-05 Hunter Engineering Company Method and apparatus for resurfacing brake rotors
US20050286777A1 (en) 2004-06-27 2005-12-29 Roger Kumar Encoding and decoding images
JP5313223B2 (ja) 2005-01-07 2013-10-09 株式会社エヌ・ティ・ティ・ドコモ 動画像復号装置及び動画像符号化装置
JP2006333436A (ja) 2005-01-07 2006-12-07 Ntt Docomo Inc 動画像符号化装置、動画像復号装置、動画像符号化方法、動画像復号方法、動画像符号化プログラム、及び、動画像復号プログラム
JP2007158855A (ja) * 2005-12-06 2007-06-21 Matsushita Electric Ind Co Ltd 動きベクトル検出装置および動きベクトル検出方法
JP4178480B2 (ja) * 2006-06-14 2008-11-12 ソニー株式会社 画像処理装置、画像処理方法、撮像装置および撮像方法
US8270490B2 (en) * 2006-07-06 2012-09-18 Canon Kabushiki Kaisha Motion vector detection apparatus, motion vector detection method, image encoding apparatus, image encoding method, and computer program
JP5407974B2 (ja) * 2010-03-24 2014-02-05 富士通株式会社 動画像符号化装置及び動きベクトル検出方法

Also Published As

Publication number Publication date
US20160065985A1 (en) 2016-03-03
US10448047B2 (en) 2019-10-15
JP2016052056A (ja) 2016-04-11

Similar Documents

Publication Publication Date Title
CN111385569B (zh) 一种编解码方法及其设备
US11902563B2 (en) Encoding and decoding method and device, encoder side apparatus and decoder side apparatus
JP6776276B2 (ja) 画像予測方法および画像予測装置
TWI383687B (zh) 實現移動估計的視訊編碼器與其移動估計方法
JP2019115060A (ja) 符号化装置、符号化方法、復号装置、復号方法、及びプログラム
JP6394876B2 (ja) 符号化回路、符号化方法
CN110933426B (zh) 一种解码、编码方法及其设备
KR100994773B1 (ko) 계층적 움직임 추정에 있어서 움직임 벡터 생성 방법 및장치
CN111818342B (zh) 帧间预测方法及预测装置
CN112292861B (zh) 用于解码端运动矢量修正的基于误差面的子像素精确修正方法
CN107360433B (zh) 一种帧间预测编码方法和装置
JP2010288098A (ja) 画像フレーム補間装置、画像フレーム補間方法及び画像フレーム補間プログラム
CN112261413B (zh) 视频编码方法、编码装置、电子设备和存储介质
JP6390275B2 (ja) 符号化回路、符号化方法
CN112449180B (zh) 一种编解码方法、装置及其设备
JP5353719B2 (ja) 動画像符号化装置、動画像符号化方法、動画像符号化プログラム
JP2011091696A (ja) 動きベクトル予測方法
CN112449181A (zh) 一种编解码方法、装置及其设备
JP5298060B2 (ja) 予測ベクトル生成器、符号化装置、復号装置、及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170810

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180529

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180605

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180706

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180806

R150 Certificate of patent or registration of utility model

Ref document number: 6390275

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150