JP2008301085A - 動きベクトル探索装置及びその制御方法、コンピュータプログラム - Google Patents
動きベクトル探索装置及びその制御方法、コンピュータプログラム Download PDFInfo
- Publication number
- JP2008301085A JP2008301085A JP2007143789A JP2007143789A JP2008301085A JP 2008301085 A JP2008301085 A JP 2008301085A JP 2007143789 A JP2007143789 A JP 2007143789A JP 2007143789 A JP2007143789 A JP 2007143789A JP 2008301085 A JP2008301085 A JP 2008301085A
- Authority
- JP
- Japan
- Prior art keywords
- image
- block
- correlation
- search
- resolution
- 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.)
- Withdrawn
Links
Images
Abstract
【課題】フレーム間差分符号化方式における動きベクトル探索精度を向上する。
【解決手段】隣接画像を加算することで解像度を低下させた階層画像を複数階層作成し、最も低い解像度の階層画像において全探索を行い、探索結果の良い探索点から順に複数点選択し、次に低い解像度の階層画像において自身及び周辺8点の計9探索点で探索を行い、探索結果の最良なものをさらに次の解像度の階層画像において自身及び周辺8点の計9探索点で探索を行う。上記を繰り返し入力画像の解像度における探索結果を動きベクトルの最終的な探索結果とする。
【選択図】 図1
【解決手段】隣接画像を加算することで解像度を低下させた階層画像を複数階層作成し、最も低い解像度の階層画像において全探索を行い、探索結果の良い探索点から順に複数点選択し、次に低い解像度の階層画像において自身及び周辺8点の計9探索点で探索を行い、探索結果の最良なものをさらに次の解像度の階層画像において自身及び周辺8点の計9探索点で探索を行う。上記を繰り返し入力画像の解像度における探索結果を動きベクトルの最終的な探索結果とする。
【選択図】 図1
Description
本発明は動きベクトル探索装置及びその制御方法、コンピュータプログラムに関する。
H.26xやMPEG等の符号化方式では、画像1フレームを複数のブロックに分割して、各ブロック単位に符号化を行う。圧縮符号化の方式として、時間的相関性を利用した符号化方式(inter符号化)および空間的相関性を利用した符号化方式(intra符号化)がある。時間的相関を利用した符号化方式はフレーム間の動きを探索し、当該ブロックの動きベクトルおよびブロック間差分を求めて符号化を行う。
最も相関の高い動きベクトルを完全に求めるには全探索をする必要がある。しかし、例えば16×16画素のブロックを参照フレームの探索領域64×64画素全てと比較すると、16×16×64×64=1048576回の比較演算が必要となり、計算量が膨大なものになってしまう。
探索回数を減らして適切な動きベクトルを高速に求めることを目的として、対数サーチ方式や、階層サーチ方式など様々な方式が提案されている。
対数サーチ方式は、縦横16画素を探索範囲とする動きベクトル探索の古典的な方式である。また、階層サーチ方式は、図8のように、入力画像801の解像度を落として順次低解像度の画像802及び803を生成し、最低解像度の画像803における探索ウィンドウ(サーチウィンドウ)から探索をはじめる。そして探索結果を順次、上位階層のサーチウィンドウの探索開始点に反映させていく。このような階層サーチ方式によれば、低解像度のデータ量の少ない画像において広い範囲を探索することで、探索範囲を広げた時の比較演算回数の増加を抑えることができる。
しかしながら、H.264およびMPEG符号化方式で用いられるブロックサイズ、即ち動き探索を行う単位は、最大でも16×16サイズであり、解像度を1/8にすると2×2になってしまう。この場合のブロックマッチングは計4画素どうしの比較となり、ブロックマッチングの精度は低下する。
そこで、特許文献1は、ブロック単位の動きベクトル探索において、入力画像に対して2回のダウンサンプリングを行い、3階層の画像を用いた探索方式を提案している。このようにブロック単位の動き探索に使用する場合は一般的に3階層、すなわち解像度1/4、ブロックの大きさが4×4サイズまでの階層化しか行わないことが一般的である。
特許3615963号公報
以上のように、階層型サーチは階層を増やすことで広範囲のサーチを少ない演算回数で行えるが、低解像階層での探索精度が低いために3階層程度の階層化しか行えず、結果として演算量をあまり減らすことができないという問題があった。
そこで、本発明は少ない演算量で広範囲・高精度な動きベクトル探索を提供することを目的とする。
上記課題を解決するための本発明は、
入力画像をブロック単位に分割し、参照画像を用いて処理対象のブロック毎の動きベクトル探索を行う動きベクトル探索装置であって、
前記入力画像の解像度を低下させて、解像度の異なる複数の階層画像を生成する階層画像生成手段と、
前記参照画像の解像度を低下させて、解像度の異なる複数の参照階層画像を生成する参照階層画像生成手段と、
前記複数の階層画像のうち最低解像度の第1の階層画像における前記処理対象の第1のブロックを選択し、該第1のブロックの画素データと、前記複数の参照階層画像のうち最低解像度の第1の参照階層画像において前記第1のブロックに対応して設定される第1の探索領域の全領域の画素データとの第1の相関を算出する第1の相関算出手段と、
前記第1の相関の高い、前記第1の参照階層画像における第1のブロック位置を、該第1の相関の高い順に所定数だけ選択する第1の選択手段と、
前記第1の階層画像よりも解像度が1階層分だけ高い第2の階層画像における前記処理対象の第2のブロックを選択し、該第2のブロックの画素データと、前記第1の参照階層画像よりも解像度が1階層分だけ高い第2の参照階層画像において、前記所定数の第1のブロック位置に基づいて設定される該所定数の第2の探索領域の画素データとの第2の相関を算出する第2の相関算出手段と、
前記第2の相関算出手段において、最も高い第2の相関が算出された、前記第2の参照階層画像における第2のブロック位置を選択する第2の選択手段と、
前記第2の階層画像よりも解像度が1階層分だけ高い第3の階層画像における前記処理対象の第3のブロックを選択し、該第3のブロックの画素データと、前記第2の参照階層画像よりも解像度が1階層分だけ高い第3の参照階層画像において、前記第2のブロック位置に基づいて設定される第3の探索領域の画素データとの第3の相関を算出する第3の相関算出手段と、
前記第3の相関算出手段において、最も高い第3の相関が算出された、前記第3の参照階層画像における第3のブロック位置を選択する第3の選択手段と、
前記第3の階層画像よりも解像度が1階層分だけ高い前記入力画像における前記処理対象の第4のブロックを選択し、該第4のブロックの画素データと、前記第3の参照階層画像よりも解像度が1階層分だけ高い前記参照画像において、前記第3のブロック位置に基づいて設定される第4の探索領域の画素データとの第4の相関を算出する第4の相関算出手段と、
前記第4の相関算出手段において、最も高い第4の相関が算出された、前記参照画像における第4のブロック位置に基づいて、動きベクトルを算出する動きベクトル算出手段と、
を備えることを特徴とする。
入力画像をブロック単位に分割し、参照画像を用いて処理対象のブロック毎の動きベクトル探索を行う動きベクトル探索装置であって、
前記入力画像の解像度を低下させて、解像度の異なる複数の階層画像を生成する階層画像生成手段と、
前記参照画像の解像度を低下させて、解像度の異なる複数の参照階層画像を生成する参照階層画像生成手段と、
前記複数の階層画像のうち最低解像度の第1の階層画像における前記処理対象の第1のブロックを選択し、該第1のブロックの画素データと、前記複数の参照階層画像のうち最低解像度の第1の参照階層画像において前記第1のブロックに対応して設定される第1の探索領域の全領域の画素データとの第1の相関を算出する第1の相関算出手段と、
前記第1の相関の高い、前記第1の参照階層画像における第1のブロック位置を、該第1の相関の高い順に所定数だけ選択する第1の選択手段と、
前記第1の階層画像よりも解像度が1階層分だけ高い第2の階層画像における前記処理対象の第2のブロックを選択し、該第2のブロックの画素データと、前記第1の参照階層画像よりも解像度が1階層分だけ高い第2の参照階層画像において、前記所定数の第1のブロック位置に基づいて設定される該所定数の第2の探索領域の画素データとの第2の相関を算出する第2の相関算出手段と、
前記第2の相関算出手段において、最も高い第2の相関が算出された、前記第2の参照階層画像における第2のブロック位置を選択する第2の選択手段と、
前記第2の階層画像よりも解像度が1階層分だけ高い第3の階層画像における前記処理対象の第3のブロックを選択し、該第3のブロックの画素データと、前記第2の参照階層画像よりも解像度が1階層分だけ高い第3の参照階層画像において、前記第2のブロック位置に基づいて設定される第3の探索領域の画素データとの第3の相関を算出する第3の相関算出手段と、
前記第3の相関算出手段において、最も高い第3の相関が算出された、前記第3の参照階層画像における第3のブロック位置を選択する第3の選択手段と、
前記第3の階層画像よりも解像度が1階層分だけ高い前記入力画像における前記処理対象の第4のブロックを選択し、該第4のブロックの画素データと、前記第3の参照階層画像よりも解像度が1階層分だけ高い前記参照画像において、前記第3のブロック位置に基づいて設定される第4の探索領域の画素データとの第4の相関を算出する第4の相関算出手段と、
前記第4の相関算出手段において、最も高い第4の相関が算出された、前記参照画像における第4のブロック位置に基づいて、動きベクトルを算出する動きベクトル算出手段と、
を備えることを特徴とする。
本発明の動きベクトル探索方式は、計算量および画像データ転送量を抑えつつ広範囲・高精度に動きベクトル探索を行うことを可能とする。
以下、添付する図面を参酌して、発明の実施形態を説明する。
[第1の実施形態]
本実施形態の動きベクトル探索方法に基づいた符号化装置の処理手順について、図1のフローチャートを参照して説明する。ここで符号化される対象の入力画像を「符号化画像」、動きベクトル探索のために参照される、時間的に前後した位置の画像を「参照画像」と呼ぶ。なお、図1では、符号化対象画像中の処理対象の1ブロックについての動き探索方法を示すが、実際には画像を構成する全ブロックについて、ブロック毎に当該処理が適用される。
本実施形態の動きベクトル探索方法に基づいた符号化装置の処理手順について、図1のフローチャートを参照して説明する。ここで符号化される対象の入力画像を「符号化画像」、動きベクトル探索のために参照される、時間的に前後した位置の画像を「参照画像」と呼ぶ。なお、図1では、符号化対象画像中の処理対象の1ブロックについての動き探索方法を示すが、実際には画像を構成する全ブロックについて、ブロック毎に当該処理が適用される。
図1において、ステップS101において、符号化画像の階層画像生成処理及び参照画像の参照階層画像生成処理を行う。ここでは、図3aに示すように隣接する4画素の輝度値を加算し当該位置の画素値とすることで、もとの画像に対して解像度が縦横それぞれ1/2、画素数1/4の階層画像を作成することができる。なお、階層画像作成の際に、加算の代りにサブサンプル手法を用いても良いが、その場合にはサブサンプルに伴う折り返し歪みを低減する低域通過フィルタ処理を行うと良い。また、加算により解像度を低くした画像を生成すると、画素の重心位置が変化してしまうが、その変化量を考慮して補正すれば良い。
なお、本実施形態では、符号化画像、参照画像それぞれに対し、オリジナルの解像度(階層1)から、縦横の解像度をそれぞれ1/2、1/4、1/8に低下させた階層画像を生成する。なお、以下では、符号化画像の階層画像を単に階層画像と呼ぶ一方、参照画像の階層画像については、区別のために参照階層画像ということがある。生成される階層画像は、第1の階層画像(階層4)、第1の参照階層画像(階層4)、第2の階層画像(階層3)、第2の参照階層画像(階層3)、第3の階層画像(階層2)、第3の参照階層画像(階層2)である。従って、図1ではn=4となる。
ステップS102では、ブロック単位で動き探索を行うため、符号化画像から当該ブロックの画像データを、参照画像から動き探索を行う領域(サーチウィンドウ)の画像データを切り出す。階層1から4までのそれぞれの階層画像と参照階層画像について、それぞれ対応する画像空間領域を等しく切り出す。なお、探索領域としてのサーチウィンドウは、例えば、当該ブロック及びその周辺領域に相当する64×64画素で構成される。
図3bは、階層1から階層4までの参照階層画像から切り出したサーチウィンドウの一例を示す。図3bにおいて、ウィンドウ1001、1002、1003及び1004は、それぞれ、階層1、階層2、階層3及び階層4のそれぞれのサーチウィンドウを示す。なお、図3bでは、記載の容易のために、解像度の変更に基づく画素数の縮小(サイズの縮小)は考慮していない。即ち、図3aに示すように、4画素の平均により求められた1画素のサイズを、従前の4画素分のサイズと同等に記載している。
ステップS103では、切り出されたブロックおよびサーチウィンドウの画像データのうち、階層n、即ち最低解像度の階層4のデータ(第1のブロック)を用いて、サーチウィンドウ(第1の探索領域)内の画素データの全探索のブロックマッチングを行う。ここでは、まず当該ブロックの画素データと、サーチウィンドウ内の全領域から順次切り出した(以下、切り出したブロック位置のことを探索点と呼ぶ)、当該ブロックに対応する形状および大きさの画素データとを比較し相関算出(第1の相関算出)を行う。そして、相関の高い(符号化誤差の少ない)探索点(第1のブロック位置)を高い順に所定数(m点)選択する(第1の選択)。なお、本実施形態では、m=10の場合を説明する。
図3bでは、階層4のウィンドウ1004において、P1からP10までの探索点が求められた様子を示している。以下のステップでは、P1からP10までの各探索点について処理を行う。
次に、ステップS104において、ループ変数iに初期値1を代入する。更に、ステップS105では、階層n、即ち階層4についてステップS103での探索結果に含まれるm点のうち、i番目に結果の良好な探索点Piを選択する。
続くステップS106では、階層n−1、即ち階層3の符号化画像(第2の階層画像)と参照画像(第2の参照階層画像)とを用いて、計9探索点を探索領域(第2の探索領域)として探索を行う。この9探索点は、階層3のサーチウィンドウのPiに対応する探索点およびその上下左右斜め方向に隣接する1画素分ずらした8つの探索点により定義される。即ち、階層3における当該ブロック(第2のブロック)に対応する形状および大きさの画素データとを比較し相関算出(第2の相関算出)を行う。そして、最も相関の高い探索点を求める。本実施形態では1画素分ずらした合計9探索点で説明するが、全面探索でなければこの限りでは無く、演算量と符号化効率との兼合いとなる。
続くステップS106では、階層n−1、即ち階層3の符号化画像(第2の階層画像)と参照画像(第2の参照階層画像)とを用いて、計9探索点を探索領域(第2の探索領域)として探索を行う。この9探索点は、階層3のサーチウィンドウのPiに対応する探索点およびその上下左右斜め方向に隣接する1画素分ずらした8つの探索点により定義される。即ち、階層3における当該ブロック(第2のブロック)に対応する形状および大きさの画素データとを比較し相関算出(第2の相関算出)を行う。そして、最も相関の高い探索点を求める。本実施形態では1画素分ずらした合計9探索点で説明するが、全面探索でなければこの限りでは無く、演算量と符号化効率との兼合いとなる。
図3bでは、階層3のウィンドウ1003において、P1からP10までの探索点のそれぞれを基準に設定される9探索点の領域(第2の探索領域)を示している。例えば、領域1005は、P1について設定された9探索点領域を示している。以下では、これらの9探索点で構成される各領域について処理を行う。
続くステップS107では、ループ変数iに1を加算する。ステップS108では、ループ変数iを探索点数mと比較し、iの方が大きければ(ステップS108において「YES」)ステップS109へ移行する。一方、iがm以下であれば(ステップS108において「NO」)、ステップS105に戻って、処理を継続する。即ち、m=10となるP10の探索点について階層3での探索が終わるまでステップS105からステップS108までの処理が繰り返される。
次に、ステップS109では、ループ変数jに初期値n−2を代入する。なお、本実施形態では、n=4であるので、j=2となる。更に、ステップS110では、階層j+1において、9探索点で構成される合計90探索点について行ったサーチの結果に基づき、最も相関の高い探索点(第2のブロック位置)Pbを選択する(第2の選択)。例えば、階層3の場合には、ステップS105からS107において、P1からP10までの各探索点に基づき9探索点で構成される領域について行ったサーチ結果から相関が最も高い探索点(第2のブロック位置)をPbとして選択する。
図3bでは、ウィンドウ1003において設定された10個の探索点のうち、P1を基準に設定された領域1005内での探索点1006が、階層3において最も相関の高い探索点(第2のブロック位置)Pbとされた場合を示している。
続くステップS111では、階層j、即ち、1階層分だけ解像度の高い階層に移り、Pbに対応する探索点に基づき、9探索点領域(第3の探索領域)を設定する。その上で、階層jにおける符号化ブロック(第3のブロック)の画素データと、9探索点領域(第3の探索領域)内の画素データとを比較して相関算出(第3の相関算出)を行う。そして、最も相関の高い探索点(第3のブロック位置)を選択する(第3の選択)。
続くステップS112では、ループ変数jの値を1つ減らして、ステップS113に移行する。ステップS113では、ループ変数jを0と比較し、j=0であればステップS114へ移行し、0でなければステップS110に戻って処理を繰り返す。即ち、階層1での探索が終わるまでステップS110からS113のループが繰り返される。
図3bでは、階層2のウィンドウ1002において、探索点(第2のブロック位置)1006に基づく9探索点領域(第3の探索領域)1007が設定され、該領域内で最も相関の高い探索点(第3のブロック位置)1008が選択された場合を示す。また、階層1のウィンドウ1001において、探索点(第3のブロック位置)1008に基づく9探索点領域(第4の探索領域)1009が設定されている。そして、該領域内で行われた相関算出(第4の相関算出)の結果として、最も相関の高い探索点(第4のブロック位置)1010が選択されている。
ステップS114では、階層1での探索で最も相関の高い点(第4のブロック位置、画素位置)に基づいて、動きベクトル算出を行う。図3bの場合には、探索点1010に基づいて、動きベクトルが算出される。
以上のように、本実施形態によれば、従来の階層サーチで行われてきた3階層サーチからさらに1階層分だけ解像度の低い階層を用いた4階層サーチを行う。そして、より解像度の低い、即ちデータ数が少ない低階層のみでフルサーチを行うために、動きベクトル探索における比較演算回数を大幅に削減することが可能である。また、フルサーチにおける探索結果を1つに絞り込まず、複数(上記では10個)の候補を設定し、各候補について上位の階層における探索を行うことを特徴とする。
なお、上記で探索点を決定するための探索を行う際に、1画素単位の探索のみならず、半画素単位、或いは、4分の1画素単位の探索を行っても良い。
図4は、各探索方式における画素値の演算回数の比較表を示す。比較されるのは、探索範囲縦横32画素のフルサーチ401、同16画素の対数サーチ402、同32画素の4階層サーチ403、同32画素の本提案方式サーチ404、同32画素の特許文献1の3階層サーチ405である。なお、4階層サーチ403では、最も低い解像度の階層をフルサーチし、その後は最良結果を示す探索点周辺9点をサーチしている。
また、図5は、動きの少ない画像及び動きの多い画像において、各フレームを16×16の大きさのブロックに分割して動き探索を行った時の、動きベクトル探索結果のSADを比較したものである。動きの少ない画像とは、BTA標準動画像No.4に独自の画像ブレを付加したものであり、動きの多い画像は、BTA標準動画像No.35に独自の画像ブレを付加したものである。SADとは、Sum of Absolute Differencesの略であり、画素ごとの絶対差分和を示す。このSADは、値が小さいほど動きベクトル探索方式の性能がよい。
図4、図5から、3階層サーチ(特許文献1)は、フルサーチに迫る探索性能を示す一方、比較演算回数が対数サーチの2倍程度に増大することが分かる。また、単純な4階層サーチ方式では、探索回数を対数サーチの1/2以下、3階層サーチ(特許文献1)の1/5に減らすことができるが、動きの少ない画像における探索性能は対数サーチ方式より下がることが判る。
これに対して本提案の動き探索方式では、探索回数を対数サーチの1/2、3階層サーチ(特許文献1)の1/4程度に抑えつつ、動きの少ない画像、動きの多い画像の双方で3階層サーチ(特許文献1)に匹敵する探索性能を示している。
次に、上述の動きベクトル探索方法を実行するための、符号化装置の動作について、図2のブロック図を参照して説明する。ここで符号化される対象の画像を符号化画像、動きベクトル探索のために参照される、時間的に前後した位置の画像を参照画像と呼ぶ。
符号化画像は、図6における601がブロック単位に分割され、602の先頭ブロックから603の終端ブロックまで順に符号化が行われる。また、参照画像は、例えば符号化画像におけるブロック604を符号化している時には、当該ブロック及びその周辺領域をサーチウィンドウ605として、参照画像の対応する領域が動きベクトルの探索範囲となる。ここで、サーチウィンドウ605の画像データは毎回全てを更新(読み取り)する必要は無い。すなわち前のブロック(左隣)の動きベクトル探索におけるサーチウィンドウと重複する部分を再び利用し、重複しない部分606、すなわちサーチウィンドウの右側部分だけを更新すればよい。
図2において、フレームメモリA(201)は、入力された符号化画像データ211および参照画像データ(局所復号画像データ)を格納するフレームメモリである。階層画像作成部202は、フレームメモリA(201)の画像データから解像度を落とした階層画像を作成する。フレームメモリB(203)は、解像度を落とした階層画像を格納するフレームメモリであり、符号化画像と参照画像それぞれの階層画像を格納する。
動きベクトル探索部204は、フレームメモリA(201)及びフレームメモリB(203)からの符号化画像と参照画像データに基づいて動きベクトルの探索を行う。動きベクトルの探索は前述の各階層画像について前述の方法で動き探索される。減算器213は、動き補償部210からの予測画像とフレームメモリAからの符号化画像との差であるブロック間差分データを求める。周波数変換部205は、ブロック間差分データを周波数変換処理しブロック係数データに変換する。量子化部206は、ブロック係数データを量子化する。可変長符号化部207は、量子化されたブロック係数データを可変長符号化し、符号化データ212を出力する。
逆量子化部208は、量子化されたブロック係数データに逆量子化を行う。逆周波数変換部209は、再構成されたブロック係数データを画像空間のブロック間差分データに変換する。加算器214は、逆周波数変換部209の出力と動き補償部210の予測画像とを加算する。動き補償部210は、動きベクトル探索部204からの動きベクトル探索結果を用いて、フレームメモリAから予測画像を減算器213に出力する。
以上の構成において、符号化画像データ211は、まずフレームメモリA(201)に書き込まれる。次に、階層画像作成部202は、符号化画像211および参照画像となる局所復号画像データをフレームメモリA(201)より読み出し、解像度を落とした階層画像を作成し、フレームメモリB(203)に格納する。
動きベクトル探索部204は、まず階層画像を解像度の低い順にフレームメモリB(203)より読み出し、順次動き探索を行う。最後に、フレームメモリA(201)より、オリジナルの解像度の符号化画像及び参照画像を読み出して動き探索を行い、最終的な動きベクトルを求める。動きベクトル探索部204における処理の詳細は、図1に基づいて説明したとおりであるので、ここでは省略する。
動き補償部210は、動きベクトル探索部204における動きベクトル探索結果を元に、局所復号画像データから、予測画像を求め、減算器213に出力する。減算器213では、符号化画像データと予測画像データとの差分を取る事で予測誤差を求め周波数変換部205へ送る。周波数変換部205は、予測誤差であるブロック間差分データを周波数ドメインのブロック係数データに変換し、量子化部206へブロック係数データを送る。量子化部206はブロック係数データを量子化し、可変長符号化部207および逆量子化手段208へ送る。
可変長符号化部207は、量子化されたブロック係数データに可変長符号化を施し、符号化データ212を出力する。逆量子化部208は量子化されたブロック係数データに逆量子化を行い、再構成されたブロック係数データを逆周波数変換部209へ送る。逆周波数変換部209は、再構成されたブロック係数データを画像空間でのブロック間差分データに変換し、加算器214へ送る。
加算器214は、画像空間でのブロック間差分データと予測画像とを加算して局所復号画像データ、すなわち次符号化対象画像の参照画像を求め、フレームメモリA201へ書き込む。
以上の処理をブロックの数だけ行い、当該符号化対象画像の符号化が完了する。
なお、図7は3階層サーチ(特許文献1)と、本提案方式サーチにおける画像データの転送量との比較例を示す。本提案方式では4階層の画像を作成するため、階層画像作成段階では、階層4の分だけ3階層サーチ(特許文献1)と比較してデータ転送量が若干多くなる。しかし、サーチを行う際には、3階層サーチ(特許文献1)に比べてデータを読み込む範囲が少ないため、結果的に1.5フレームサイズ分、データ転送量を少なくすることができる。
以上のように、本実施形態に説明した探索方式によれば、探索回数の減少と、高い探索性能とを両立することができる。また、データ転送料を少なくして、効率的な探索を行うことができる。
[その他の実施形態]
なお、本発明は、複数の機器(例えばホストコンピュータ、インタフェイス機器、リーダ、プリンタなど)から構成されるシステムに適用しても、一つの機器からなる装置(例えば、複写機、ファクシミリ装置など)に適用してもよい。
なお、本発明は、複数の機器(例えばホストコンピュータ、インタフェイス機器、リーダ、プリンタなど)から構成されるシステムに適用しても、一つの機器からなる装置(例えば、複写機、ファクシミリ装置など)に適用してもよい。
また、本発明の目的は、前述した機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システムに供給し、そのシステムがプログラムコードを読み出し実行することによっても達成される。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現し、そのプログラムコードを記憶した記憶媒体は本発明を構成する。また、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム(OS)などが実際の処理の一部または全部を行い、その処理によって前述した機能が実現される場合も含まれる。
さらに、以下の形態で実現しても構わない。すなわち、記憶媒体から読み出されたプログラムコードを、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込む。そして、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行って、前述した機能が実現される場合も含まれる。
本発明を上記記憶媒体に適用する場合、その記憶媒体には、先に説明したフローチャートに対応するプログラムコードが格納されることになる。
Claims (4)
- 入力画像をブロック単位に分割し、参照画像を用いて処理対象のブロック毎の動きベクトル探索を行う動きベクトル探索装置であって、
前記入力画像の解像度を低下させて、解像度の異なる複数の階層画像を生成する階層画像生成手段と、
前記参照画像の解像度を低下させて、解像度の異なる複数の参照階層画像を生成する参照階層画像生成手段と、
前記複数の階層画像のうち最低解像度の第1の階層画像における前記処理対象の第1のブロックを選択し、該第1のブロックの画素データと、前記複数の参照階層画像のうち最低解像度の第1の参照階層画像において前記第1のブロックに対応して設定される第1の探索領域の全領域の画素データとの第1の相関を算出する第1の相関算出手段と、
前記第1の相関の高い、前記第1の参照階層画像における第1のブロック位置を、該第1の相関の高い順に所定数だけ選択する第1の選択手段と、
前記第1の階層画像よりも解像度が1階層分だけ高い第2の階層画像における前記処理対象の第2のブロックを選択し、該第2のブロックの画素データと、前記第1の参照階層画像よりも解像度が1階層分だけ高い第2の参照階層画像において、前記所定数の第1のブロック位置に基づいて設定される該所定数の第2の探索領域の画素データとの第2の相関を算出する第2の相関算出手段と、
前記第2の相関算出手段において、最も高い第2の相関が算出された、前記第2の参照階層画像における第2のブロック位置を選択する第2の選択手段と、
前記第2の階層画像よりも解像度が1階層分だけ高い第3の階層画像における前記処理対象の第3のブロックを選択し、該第3のブロックの画素データと、前記第2の参照階層画像よりも解像度が1階層分だけ高い第3の参照階層画像において、前記第2のブロック位置に基づいて設定される第3の探索領域の画素データとの第3の相関を算出する第3の相関算出手段と、
前記第3の相関算出手段において、最も高い第3の相関が算出された、前記第3の参照階層画像における第3のブロック位置を選択する第3の選択手段と、
前記第3の階層画像よりも解像度が1階層分だけ高い前記入力画像における前記処理対象の第4のブロックを選択し、該第4のブロックの画素データと、前記第3の参照階層画像よりも解像度が1階層分だけ高い前記参照画像において、前記第3のブロック位置に基づいて設定される第4の探索領域の画素データとの第4の相関を算出する第4の相関算出手段と、
前記第4の相関算出手段において、最も高い第4の相関が算出された、前記参照画像における第4のブロック位置に基づいて、動きベクトルを算出する動きベクトル算出手段と、
を備えることを特徴とする動きベクトル探索装置。 - 入力画像をブロック単位に分割し、参照画像を用いて処理対象のブロック毎の動きベクトル探索を行う動きベクトル探索装置であって、
前記入力画像の解像度を低下させて、解像度の異なる複数の階層画像を生成する階層画像生成手段と、
前記参照画像の解像度を低下させて、解像度の異なる複数の参照階層画像を生成する参照階層画像生成手段と、
前記複数の階層画像のうち最低解像度の第1の階層画像における前記処理対象の第1のブロックを選択し、該第1のブロックの画素データと、前記複数の参照階層画像のうち最低解像度の第1の参照階層画像において前記第1のブロックに対応して設定される第1の探索領域の全領域の画素データとの第1の相関を算出する第1の相関算出手段と、
前記第1の相関の高い、前記第1の参照階層画像における第1のブロック位置を、該第1の相関の高い順に所定数だけ選択する第1の選択手段と、
前記第1の階層画像よりも解像度が1階層分だけ高い第2の階層画像における前記処理対象の第2のブロックを選択し、該第2のブロックの画素データと、前記第1の参照階層画像よりも解像度が1階層分だけ高い第2の参照階層画像において、前記所定数の第1のブロック位置に基づいて設定される該所定数の第2の探索領域の画素データとの第2の相関を算出する第2の相関算出手段と、
前記第2の相関算出手段において、最も高い第2の相関が算出された、前記第2の参照階層画像における第2のブロック位置を選択する第2の選択手段と、
前記第2の相関算出手段において、最も高い第2の相関が算出された、前記第2の参照階層画像における第2のブロック位置を選択する第2の選択手段と、
前記第2の階層画像よりも解像度が1階層分だけ高い第3の階層画像における前記処理対象の第3のブロックを選択し、該第3のブロックの画素データと、前記第2の参照階層画像よりも解像度が1階層分だけ高い第3の参照階層画像において、前記第2のブロック位置に基づいて設定される第3の探索領域の画素データとの第3の相関を算出する第3の相関算出手段と
を備え、
入力画像の解像度まで前記第3の相関算出手段及び前記第3の選択手段における処理を繰り返し、最後に選択されたブロック位置に基づき動きベクトルを算出することを特徴とする動きベクトル探索装置。 - 入力画像をブロック単位に分割し、参照画像を用いて処理対象のブロック毎の動きベクトル探索を行う動きベクトル探索装置の制御方法であって、
前記入力画像の解像度を低下させて、解像度の異なる複数の階層画像を生成する階層画像生成工程と、
前記参照画像の解像度を低下させて、解像度の異なる複数の参照階層画像を生成する参照階層画像生成工程と、
前記複数の階層画像のうち最低解像度の第1の階層画像における前記処理対象の第1のブロックを選択し、該第1のブロックの画素データと、前記複数の参照階層画像のうち最低解像度の第1の参照階層画像において前記第1のブロックに対応して設定される第1の探索領域の全領域の画素データとの第1の相関を算出する第1の相関算出工程と、
前記第1の相関の高い、前記第1の参照階層画像における第1のブロック位置を、該第1の相関の高い順に所定数だけ選択する第1の選択工程と、
前記第1の階層画像よりも解像度が1階層分だけ高い第2の階層画像における前記処理対象の第2のブロックを選択し、該第2のブロックの画素データと、前記第1の参照階層画像よりも解像度が1階層分だけ高い第2の参照階層画像において、前記所定数の第1のブロック位置に基づいて設定される該所定数の第2の探索領域の画素データとの第2の相関を算出する第2の相関算出工程と、
前記第2の相関算出工程において、最も高い第2の相関が算出された、前記第2の参照階層画像における第2のブロック位置を選択する第2の選択工程と、
前記第2の階層画像よりも解像度が1階層分だけ高い第3の階層画像における前記処理対象の第3のブロックを選択し、該第3のブロックの画素データと、前記第2の参照階層画像よりも解像度が1階層分だけ高い第3の参照階層画像において、前記第2のブロック位置に基づいて設定される第3の探索領域の画素データとの第3の相関を算出する第3の相関算出工程と、
前記第3の相関算出工程において、最も高い第3の相関が算出された、前記第3の参照階層画像における第3のブロック位置を選択する第3の選択工程と、
前記第3の階層画像よりも解像度が1階層分だけ高い前記入力画像における前記処理対象の第4のブロックを選択し、該第4のブロックの画素データと、前記第3の参照階層画像よりも解像度が1階層分だけ高い前記参照画像において、前記第3のブロック位置に基づいて設定される第4の探索領域の画素データとの第4の相関を算出する第4の相関算出工程と、
前記第4の相関算出工程において、最も高い第4の相関が算出された、前記参照画像における第4のブロック位置に基づいて、動きベクトルを算出する動きベクトル算出工程と、
を備えることを特徴とする動きベクトル探索装置の制御方法。 - コンピュータを請求項1に記載のベクトル探索装置として機能させるためのコンピュータプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007143789A JP2008301085A (ja) | 2007-05-30 | 2007-05-30 | 動きベクトル探索装置及びその制御方法、コンピュータプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007143789A JP2008301085A (ja) | 2007-05-30 | 2007-05-30 | 動きベクトル探索装置及びその制御方法、コンピュータプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2008301085A true JP2008301085A (ja) | 2008-12-11 |
Family
ID=40174194
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007143789A Withdrawn JP2008301085A (ja) | 2007-05-30 | 2007-05-30 | 動きベクトル探索装置及びその制御方法、コンピュータプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2008301085A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016185598A1 (ja) * | 2015-05-21 | 2016-11-24 | オリンパス株式会社 | 撮像装置、画像処理装置、画像処理方法、画像処理プログラムおよび記憶媒体 |
-
2007
- 2007-05-30 JP JP2007143789A patent/JP2008301085A/ja not_active Withdrawn
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016185598A1 (ja) * | 2015-05-21 | 2016-11-24 | オリンパス株式会社 | 撮像装置、画像処理装置、画像処理方法、画像処理プログラムおよび記憶媒体 |
JPWO2016185598A1 (ja) * | 2015-05-21 | 2018-03-15 | オリンパス株式会社 | 撮像装置、画像処理装置、画像処理方法、画像処理プログラムおよび記憶媒体 |
US10477236B2 (en) | 2015-05-21 | 2019-11-12 | Olympus Corporation | Image acquisition device, image processing device, image processing method, image processing program, and storage medium for generating high resolution image from low resolution images |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4922302B2 (ja) | 移動物体境界のための適応影響エリアフィルタ | |
KR102619925B1 (ko) | 인코딩 및 디코딩 방법 및 장치, 인코딩단 기기 및 디코딩단 기기 | |
US7643690B2 (en) | Image decoding and encoding apparatus, method and computer readable storage medium | |
JP2022044613A (ja) | 画像予測方法および関連装置 | |
JP4662636B2 (ja) | 動き推定とブロックマッチング・パターンの改良 | |
JP3277111B2 (ja) | 動画像符号化装置および動画像復号化装置 | |
JP5277257B2 (ja) | 動画像復号化方法および動画像符号化方法 | |
US20090110070A1 (en) | Image encoding device and encoding method, and image decoding device and decoding method | |
JP2009147807A (ja) | 画像処理装置 | |
WO2008003220A1 (en) | Motion vector estimation method | |
JP2008061133A (ja) | 画像符号化装置及び画像符号化方法 | |
JP5844745B2 (ja) | パッチシフティングを通じてベクトル量子化誤差を低減する方法および装置 | |
JP5313326B2 (ja) | 画像復号装置、方法およびプログラム、並びに、画像符号化装置、方法およびプログラム | |
JP2009509415A (ja) | 適応的影響エリアフィルタ | |
US20110194610A1 (en) | Motion-Vector Estimation | |
JPH09182082A (ja) | 動画像の動き補償予測符号化方法とその装置 | |
JP4898415B2 (ja) | 動画像符号化装置及び動画像符号化方法 | |
US20090051679A1 (en) | Local motion estimation using four-corner transforms | |
CN111343465A (zh) | 电子电路和电子设备 | |
WO2019150411A1 (ja) | 映像符号化装置、映像符号化方法、映像復号装置、映像復号方法、及び映像符号化システム | |
JP2008301085A (ja) | 動きベクトル探索装置及びその制御方法、コンピュータプログラム | |
JP2004064518A (ja) | 動画像符号化方法、動画像符号化装置、およびコンピュータプログラム | |
JP2002051342A (ja) | 符号化装置及び符号化方法並びに記憶媒体 | |
JP2009033266A (ja) | 動きベクトル探索方法、動きベクトル探索装置、符号化装置及びコンピュータプログラム | |
JP2004165785A (ja) | 画像符号化方法,画像復号方法,画像符号化装置,画像復号装置,画像符号化プログラム,画像復号プログラムおよびそのプログラムを記録した記録媒体 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20100803 |