JP2004236023A - 動きベクトル検出装置および方法 - Google Patents
動きベクトル検出装置および方法 Download PDFInfo
- Publication number
- JP2004236023A JP2004236023A JP2003022699A JP2003022699A JP2004236023A JP 2004236023 A JP2004236023 A JP 2004236023A JP 2003022699 A JP2003022699 A JP 2003022699A JP 2003022699 A JP2003022699 A JP 2003022699A JP 2004236023 A JP2004236023 A JP 2004236023A
- Authority
- JP
- Japan
- Prior art keywords
- search
- vector
- candidate
- motion vector
- center point
- 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
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
【課題】インタレース画像に対して高精度で動きベクトルを検出できる、逐次探索法を用いた動きベクトル検出装置を提供する。
【解決手段】候補ベクトル生成部12は、フレームベクトル探索用とフィールドベクトル探索用とに2種類の探索パターンを有しており、探索モード21に応じていずれかの探索パターンを選択して、候補ベクトルを生成する。動き補償部14、類似度計算部15、および探索制御部16は、候補ベクトル生成部12で選択された探索パターンに従い、動きベクトルを逐次的に探索する。フレームベクトル探索用の探索パターンには、探索中心点と同じフィールド内にある画素の位置を少なくとも1つ含んだ探索パターンが使用される。
【選択図】 図1
【解決手段】候補ベクトル生成部12は、フレームベクトル探索用とフィールドベクトル探索用とに2種類の探索パターンを有しており、探索モード21に応じていずれかの探索パターンを選択して、候補ベクトルを生成する。動き補償部14、類似度計算部15、および探索制御部16は、候補ベクトル生成部12で選択された探索パターンに従い、動きベクトルを逐次的に探索する。フレームベクトル探索用の探索パターンには、探索中心点と同じフィールド内にある画素の位置を少なくとも1つ含んだ探索パターンが使用される。
【選択図】 図1
Description
【0001】
【発明の属する技術分野】
本発明は、動きベクトル検出装置、および動きベクトル検出方法に関し、より詳細には、ブロック単位動き補償符号化処理で使用される動きベクトルを高速かつ高精度で検出する動きベクトル検出装置、および動きベクトル検出方法に関する。
【0002】
【従来の技術】
ディジタル画像情報を効率的に蓄積または伝送するためには、ディジタル画像を圧縮符号化する必要がある。ディジタル画像を圧縮符号化するためには、従来から種々の方法が用いられている。例えば、JPEG(Joint Photographic Coding Experts Group )やMPEG(Moving Picture Experts Group)などの国際標準では、離散コサイン変換(DCT:Discrete Cosine Transform )を用いた符号化方法が採用されている。これ以外にも、サブバンド符号化、ウェーブレット符号化、フラクタル符号化等の波形符号化法も知られている。
【0003】
MPEGでは、画面間の画素値相関を利用して画像を圧縮符号化する処理(画面間動き補償符号化処理)が採用されている。より詳細には、MPEGでは、16×16画素からなる領域をマクロブロック、8×8画素からなる領域をブロックと呼び、マクロブロックまたはブロック単位で所定の符号化処理が実行される。符号化処理の対象となる画像(以下、対象画像という)に含まれるマクロブロック(以下、対象ブロックという)は、既に符号化処理が施された画像(以下、参照画像という)と比較され、参照画像のうちで画素値の配列パターンが対象ブロックと最も似ている領域(以下、動き補償結果という)の位置が、その対象ブロックの動きベクトルとして検出される。検出された動きベクトルは、対象ブロックと動き補償結果との差分信号(以下、動き補償誤差という)にDCTおよび量子化を施した結果等とともに、可変長符号化される。上記の処理により、対象画像から冗長な情報が除去され、大幅なデータ圧縮が実現される。
【0004】
動画像を扱う技術分野のうち、放送分野等では、インタレース画像が用いられることが多い。インタレース画像は、異なる時刻に得られた2枚のフィールド(第1フィールドおよび第2フィールド)を1ライン毎に交互に配置することにより得られた画像である(図12を参照)。放送分野等でインタレース画像が多く用いられるのは、1画面に含まれるライン数が半分になり、垂直同期信号の周波数が半分になるからである。
【0005】
MPEGに準拠してインタレース画像を圧縮符号化する場合、第1フィールドおよび第2フィールドを組み合わせて1枚のフレームを構成し、フレーム単位で画面間動き補償符号化処理を実行する場合が多い。この場合、対象ブロックの動きベクトルを求めるために、対象ブロックと参照画像との間で、図13に示す5つの比較処理が行われる。
【0006】
まず、対象ブロックの全体(16×16画素)と参照画面に含まれる16×16画素の領域とが比較される(第1の比較処理)。これにより、参照画像のうちで画素値の配列パターンが対象ブロックと最も似ている領域の位置が、その対象ブロックのフレーム単位の動きベクトルVfr(フレームベクトル)として検出される。
【0007】
また、対象ブロックの第1フィールド(16×8画素)と、参照画像の第1および第2フィールドに含まれる16×8画素の領域とが比較される(第2および第3の比較処理)。これにより、参照画像のうちで画素値の配列パターンが対象ブロックの第1フィールドと最も似ている領域の位置が、その対象ブロックの第1のフィールド単位の動きベクトルVf1(第1のフィールドベクトル)として検出される。同様に、第4および第5の比較処理により、対象ブロックの第2のフィールド単位の動きベクトルVf2(第2のフィールドベクトル)も検出される。
【0008】
その後、上記3種類の動きベクトルを求めたときの動き補償誤差等に基づき、フレームベクトルVfr、またはフィールドベクトルの組{Vf1,Vf2}のいずれかが、対象ブロックの動きベクトルとして選択される。選択された動きベクトルは、これに対応した動き補償誤差にDCTと量子化とを施した結果等とともに、可変長符号化される。
【0009】
図14は、画面間動き補償符号化処理を行う画像符号化装置の構成を示すブロック図ある。図14に示す画像符号化装置100には、対象画像110が、順次入力される。動き検出/動き補償器101は、入力された対象画像110と内部に蓄積した参照画像とに基づき動き検出および動き補償を行い、予測画像111と動きベクトル119とを出力する。減算器102は、対象画像110から予測画像111を減算し、差分データ112を出力する。直交変換器103は、差分データ112に対してDCTを行い、周波数成分113を出力する。量子化器104は、周波数成分113を所定の量子化値で量子化し、量子化結果114を出力する。可変長符号化器105は、量子化結果114を可変長符号化し、符号化データ115を出力する。符号化データ115には、動き検出/動き補償器101で求めた動きベクトル119を可変長符号化した結果等が多重化される。
【0010】
逆量子化器106は、量子化結果114を逆量子化し、周波数成分116を復元する。逆直交変換器107は、復元された周波数成分116に対して逆DCTを行い、差分データ117を復元する。加算器108は、復元された差分データ117と予測画像111とを加算し、復元画像118を出力する。復元画像118は、動き検出/動き補償器101に蓄積され、以後の対象画像に対して動き検出および動き補償を行うときに参照画像として使用される。
【0011】
このように画像符号化装置100は、対象画像110に代えて差分データ112を符号化することにより、符号化すべきデータのエネルギーを小さくして、画像の圧縮効率を高めている。このとき、差分データ112の絶対値が小さいほど、画像の圧縮効率は高くなる。したがって、動き検出/動き補償器101には、差分データ112の絶対値が小さくなる動きベクトルを高精度で検出することが要求される。ところが、動きベクトルを高精度で検出するためには、画像符号化装置100に含まれる他のどの処理よりも多い処理量が必要とされる。
【0012】
そこで、動きベクトル検出に必要な処理量を削減する方法の1つとして、逐次探索法(One at a time 法)が知られている(例えば、特許文献1)。逐次探索法とは、動きベクトルの探索開始位置(以下、探索中心点という)の近傍に、所定の探索パターンに従い動きベクトルの候補(以下、候補ベクトルという)を生成し、最適な候補ベクトルを次回の探索中心点とする処理を繰り返すことにより、動きベクトルを順次探索する方法をいう。ここで、探索パターンとは、参照画像のうちで比較対象となる領域(以下、予測ブロックという)の位置を、探索中心点を基準として示したものである。逐次探索法では、対象ブロックと予測ブロックとの間で類似度が計算され、類似度に基づき最適と判断される方向に順次探索が進められる。類似度としては、対象ブロックと予測ブロックとを、16×16画素単位(フレームベクトル探索時)または16×8画素単位(フィールドベクトル探索時)で画素毎に対応づけて減算した結果の絶対値和または2乗和が使用される。この値が小さいほど、対象ブロックと予測ブロックとはよく類似していると言える。
【0013】
図15および図16を参照して、逐次探索法を用いて動きベクトルを検出する例を説明する。図15は、逐次探索法で使用される探索パターンの例を示す図である。以下、探索パターンを示す図では、○印は画素の位置を表し、文字Cを付した画素の位置は探索中心点を表す。ここでは、図15に示す2種類の探索パターン91hおよび91vが切り替えて使用されるものとする。探索パターン91hを用いた場合、探索中心点のすぐ左およびすぐ右にある画素の位置が、候補ベクトルとなる。探索パターン91vを用いた場合、探索中心点のすぐ上およびすぐ下にある画素の位置が、候補ベクトルとなる。
【0014】
探索パターン91hおよび91vを用いた逐次探索法では、まず、探索パターン91hを用いて動きベクトルが水平方向に繰り返し探索され、次に、探索パターン91vを用いて動きベクトルが垂直方向に繰り返し探索される。以降、水平方向の探索と垂直方向の探索とが交互に行われ、探索中心点が水平方向にも垂直方向にも移動しなくなった画素の位置が、動きベクトルとして検出される。
【0015】
図16は、逐次探索法を用いて動きベクトルを探索した結果を示す図である。図16において、○印は候補ベクトルとして選択される画素の位置を表し、○印に記載された番号は後述する各ステップで新たに候補ベクトルとなった画素の位置を表す。例えば、画素Pdに付された番号3は、画素Pdの位置が第3のステップで新たに候補ベクトルとなったことを表す。
【0016】
ここでは、類似度として、対象ブロックと予測ブロックとの差の絶対値和が使用されるものとする。また、図16に示す画素Px(xはaからkまでの英小文字のいずれか)の位置を動きベクトルとしたときの類似度をSADxと表し、類似度SADaからSADkについて、次式(1)ないし(4)が成立すると仮定する。
SADa,SADb > SADc …(1)
SADc,SADe > SADd …(2)
SADd,SADf > SADg …(3)
SADg,SADi,SADj,SADk > SADh …(4)
【0017】
逐次探索法では、まず、ある画素の位置が、最初の探索中心点として選択される。ここでは、画素Paの位置が、最初の探索中心点として選択されたとする。この場合、動きベクトルが画素Paの位置にある場合の類似度SADaが計算される(第1のステップ)。以下、ある画素Pxの位置が候補ベクトルとして選択され、動きベクトルが画素Pxの位置にある場合の類似度SADxが計算されることを、画素Pxの位置が探索されるという。
【0018】
次に、画素Paの位置を探索中心点として、探索パターン91hを適用することにより、画素Paのすぐ左およびすぐ右にある画素PbおよびPcの位置が探索される(第2のステップ)。上式(1)によれば、SADa、SADb、およびSADcの中ではSADcが最小であるので、画素Pcの位置が、次回の探索中心点として選択される。
【0019】
次に、画素Pcの位置を探索中心点として、再び探索パターン91hを適用することにより、画素Pcのすぐ右にある画素Pdの位置が探索される(第3のステップ)。上式(2)によれば、SADdはSADcより小さいので、画素Pdの位置が、次回の探索中心点として選択される。
【0020】
次に、画素Pdの位置を探索中心点として、さらに探索パターン91hを適用することにより、画素Pdのすぐ右にある画素Peの位置が探索される(第4のステップ)。上式(2)によれば、SADeはSADdより大きいので、探索中心点は、画素Pdの位置から移動しない。
【0021】
次に、画素Pdの位置を探索中心点として、今後は探索パターン91vを適用することにより、画素Pdのすぐ下およびすぐ上にある画素PfおよびPgの位置が探索される(第5のステップ)。上式(3)によれば、SADd、SADf、およびSADgの中ではSADgが最小であるので、画素Pgの位置が、次回の探索中心点として選択される。
【0022】
次に、画素Pgの位置を探索中心点として、再び探索パターン91vを適用することにより、画素Pgのすぐ上にある画素Phの位置が探索される(第6のステップ)。上式(4)によれば、SADhはSADgより小さいので、画素Phの位置が、次回の探索中心点としてされる。
【0023】
次に、画素Phの位置を探索中心点として、さらに探索パターン91vを適用することにより、画素Phのすぐ上にある画素Piの位置が探索される(第7のステップ)。上式(4)によれば、SADiはSADhより大きいので、探索中心点は、画素Phの位置から移動しない。
【0024】
次に、画素Phの位置を探索中心点として、今後は探索パターン91hを適用することにより、画素Phのすぐ左およびすぐ右にある画素PjおよびPkの位置が探索される(第8のステップ)。上式(4)によれば、SADh、SADj、およびSADkの中ではSADhが最小である。したがって、この時点で、画素Phの位置を探索中心点として探索パターン91hおよび91vを適用しても、探索中心点は、水平方向にも垂直方向にも移動しなかったことになる。したがって、画素Phの位置が、検出すべき動きベクトルとなる。
【0025】
図17は、逐次探索法を用いた従来の動きベクトル検出装置の構成を示すブロック図である。図17に示す動きベクトル検出装置70は、探索モード制御部71、候補ベクトル生成部72、フレームメモリ73、動き補償部74、類似度計算部75、および探索制御部76を備え、図14に示す動き検出/動き補償器101に相当する。
【0026】
探索モード制御部71は、動きベクトルの探索モード81を、フレームベクトル探索モードと、第1のフィールドベクトル探索モードと、第2のフィールドベクトル探索モードとに切り替える。候補ベクトル生成部72は、探索パターン記憶部77とベクトル計算部79とを含んでいる。探索パターン記憶部77は、逐次探索法で使用される探索パターンを記憶している。探索パターン記憶部77に記憶される探索パターンは、例えば、図15に示した探索パターン91hおよび91v、図18(a)に示す探索パターン92、あるいは図18(b)に示す探索パターン93等のいずれかである。探索パターン92を用いた場合、探索中心点のすぐ上、すぐ下、すぐ左、およびすぐ右にある画素の位置が探索される。探索パターン93を用いた場合、探索中心点に隣接する8画素の位置が探索される。ベクトル計算部79は、探索制御部76から探索中心点86を受け取ると、探索パターン記憶部77から探索パターン87を読み出し、探索中心点86と探索パターン87とに基づき1以上の候補ベクトルを求め、求めた候補ベクトル82を所定の順序で1つずつ出力する。
【0027】
フレームメモリ73は、外部から与えられた復元画像118を蓄積し、動き補償部74からの要求に応じて、蓄積した復元画像を参照画像83として出力する。動き補償部74は、探索モード81に従いフレームメモリ73から参照画像83を読み出し、読み出した参照画像のうちで候補ベクトル82に対応した領域を予測ブロック84として出力する。類似度計算部75は、外部から与えられた対象画像110に含まれる対象ブロックと、予測ブロック84との間の類似度85を計算する。探索制御部76は、各候補ベクトル82について計算された類似度85に基づき次回の探索中心点86を求め、候補ベクトル生成部72に出力する。
【0028】
動きベクトル検出装置70は、探索モード81を上記3とおりに切り替え、フレームベクトルVfr、第1のフィールドベクトルVf1、および第2のフィールドベクトルVf2を逐次探索法を用いて探索する。探索制御部76は、探索終了時に、フレームベクトルVfrまたはフィールドベクトルの組{Vf1、Vf2}のいずれかおよびこれに対応した予測ブロックを、それぞれ、動きベクトル119および予測画像111として出力する。このように、逐次探索法を用いた動きベクトル検出装置によれば、類似度の計算量を大幅に削減しながら、高精度で動きベクトルを検出することができる。
【0029】
【特許文献1】
特開2000−333184号公報
【0030】
【発明が解決しようとする課題】
しかしながら、従来の逐次探索法をインタレース画像に適用し、類似度の計算量を大幅に削減した場合、動きベクトルの検出精度が悪くなるという問題がある。その理由は、以下のとおりである。インタレース画像は、上述したように、異なる時刻に得られた2枚のフィールドを1ラインごとに交互に配置することにより得られる。このため、インタレース画像に含まれる各ラインは、そのすぐ上およびすぐ下にあるラインとは異なる時刻に得られたフィールドに含まれる。したがって、被写体の動きによっては、隣接するライン間の類似性が低いインタレース画像が得られる場合がある。
【0031】
このようなインタレース画像に対してフレームベクトルを求めるときに、探索中心点のすぐ上にある候補ベクトルや、探索中心点のすぐ下にある候補ベクトルを探索しても、隣接するライン間の類似性が低いため、良い探索結果が得られる可能性は低い。したがって、インタレース画像に対して、類似度の計算量を大幅に削減できる探索パターン(例えば、図15および図18に示した探索パターン)を用いて逐次探索を行っても、探索中心点は、主として水平方向に移動し、垂直方向にはあまり移動しない。よって、このような探索パターンを使用すると、フレームベクトル探索の精度が低下し、これに伴い、動きベクトル検出の精度も低下する。
【0032】
それ故に、本発明は、インタレース画像に対して高精度で動きベクトルを検出できる、逐次探索法を用いた動きベクトル検出装置を提供することを目的とする。
【0033】
【課題を解決するための手段および発明の効果】
第1の発明は、インタレース画像に含まれる所定数の画素からなるブロック毎に、動きベクトルを検出する動きベクトル検出装置であって、ブロック毎に、動きベクトルの探索モードを、少なくともフレームベクトル探索モードとフィールドベクトル探索モードとに切り替える探索モード制御手段と、与えられた探索中心点と所定の探索パターンとに基づき、探索中心点の近傍にある探索位置を含んだ1以上の候補ベクトルを生成する候補ベクトル生成手段と、探索モードに応じて、参照画像から、各候補ベクトルに対応した予測ブロックを求める動き補償手段と、ブロックと各予測ブロックとの類似度を計算する類似度計算手段と、候補ベクトルの中から、類似度に基づき、候補ベクトル生成手段における次回の探索中心点を選択する探索制御手段とを備え、候補ベクトル生成手段は、フレームベクトル探索用とフィールドベクトル探索用とに少なくとも2種類の探索パターンを有しており、探索モードに応じて、候補ベクトルを生成するために使用する探索パターンを切り替えることを特徴とする。
このような第1の発明によれば、インタレース画像に対して逐次探索法を用いた動きベクトル検出を行うときに、フレームベクトルを探索する場合と、フィールドベクトルを探索する場合とで異なる探索パターンが使用される。したがって、フレームベクトル探索用とフィールドベクトル探索用とにそれぞれ特化した探索パターンを使用することにより、動きベクトル検出の精度を高めることができる。
【0034】
第2の発明は、第1の発明において、探索制御手段は、候補ベクトルの中から、類似度に基づき最適と判断される候補ベクトルを、候補ベクトル生成手段における次回の探索中心点として選択することを特徴とする。
このような第2の発明によれば、類似度に基づき最適と判断される候補ベクトルを次回の探索中心点として選択することにより、求めるべき動きベクトルに探索中心点を早く近づけ、動きベクトル検出を高速に行うことができる。
【0035】
第3の発明は、第2の発明において、候補ベクトル生成手段が有するフレームベクトル探索用の探索パターンには、探索中心点と同じフィールド内にある画素の位置が、少なくとも1つ含まれていることを特徴とする。
このような第3の発明によれば、隣接するライン間の類似性が低いインタレース画像に対して逐次探索を行った場合に、探索中心点は、水平方向だけでなく垂直方向にも移動する。したがって、探索パターンに含まれる画素の位置を減らした場合でも、フレームベクトルを高精度で検出し、動きベクトル検出の精度を高めることができる。
【0036】
第4の発明は、第3の発明において、候補ベクトル生成手段が有するフレームベクトル探索用の探索パターンには、少なくとも、探索中心点と同じフィールド内で当該探索中心点のすぐ上にある画素の位置と、探索中心点と同じフィールド内で当該探索中心点のすぐ下にある画素の位置とが含まれていることを特徴とする。
このような第4の発明によれば、フレームベクトル探索用の探索パターンに、探索中心点と同じフィールド内で探索中心点のすぐ上およびすぐ下にある画素の位置が含まれていれば、隣接するライン間の類似性が低いインタレース画像に対して逐次探索を行った場合に、探索中心点は、水平方向だけでなく垂直方向にも移動する。したがって、これら2つの画素の位置を残しながら、探索パターンに含まれる画素の位置を最小限まで減らした場合でも、フレームベクトルを高精度で検出し、動きベクトル検出の精度を高めることができる。
【0037】
第5の発明は、第2の発明において、候補ベクトル生成手段が有するフィールドベクトル探索用の探索パターンには、候補ベクトル生成手段が有するフレームベクトル探索用の探索パターンに含まれている画素の位置の一部が含まれていることを特徴とする。
このような第5の発明によれば、フィールドベクトル探索用の探索パターンに含まれる画素の位置を減らすことにより、類似度の処理量を減らしながら、動きベクトルを高精度で検出することができる。
【0038】
第6の発明は、第2の発明において、候補ベクトル生成手段は、フレームベクトル探索用に少なくとも2種類の探索パターンを有しており、探索モードがフレームベクトル探索モードである間に、候補ベクトルを生成するために使用する探索パターンを切り替えることを特徴とする。
【0039】
第7の発明は、第2の発明において、候補ベクトル生成手段は、フィールドベクトル探索用に少なくとも2種類の探索パターンを有しており、探索モードがフィールドベクトル探索モードである間に、候補ベクトルを生成するために使用する探索パターンを切り替えることを特徴とする。
このような第6または第7の発明によれば、逐次探索で使用される探索パターンを1つの探索モード内で切り替えることにより、状況に応じて類似度の計算量を調整することができる。これにより、インタレース画像に対する動きベクトル検出の精度を調整することができる。
【0040】
第8の発明は、インタレース画像に含まれる所定数の画素からなるブロック毎に、動きベクトルを検出する動きベクトル検出装置であって、ブロック毎に、動きベクトルの探索モードを、フレームベクトル探索モードとフィールドベクトル探索モードとに切り替える探索モード制御手段と、探索モードがいずれか一方のモードであるときに、逐次探索を行うことにより、ブロックの当該モードにおける動きベクトルを検出する逐次探索手段と、探索モードが他方のモードであるときに、逐次探索手段で検出された動きベクトルを中心として所定の範囲をすべて探索することにより、ブロックの動きベクトルを検出する局所全探索手段とを備える。
このような第8の発明によれば、逐次探索を行うことによりフレームベクトル(またはフィールドベクトル)を検出した後に、検出したベクトルを中心とした局所全探索を行うことにより、ブロックの動きベクトルが検出される。このように先の探索結果を有効に活用することにより、類似度の計算量を抑えながら、インタレース画像に対する動きベクトル検出の精度を高めることができる。
【0041】
第9の発明は、第8の発明において、逐次探索手段は、与えられた探索中心点と所定の探索パターンとに基づき、探索中心点の近傍にある探索位置を含んだ1以上の候補ベクトルを生成する候補ベクトル生成手段と、参照画像から、各候補ベクトルに対応した予測ブロックを求める動き補償手段と、ブロックと各予測ブロックとの類似度を計算する類似度計算手段と、候補ベクトルの中から、類似度に基づき、候補ベクトル生成手段における次回の探索中心点を選択する探索制御手段とを含む。
このような第9の発明によれば、逐次探索法を用いて動きベクトルを検出することができる。
【0042】
第10の発明は、インタレース画像に含まれる所定数の画素からなるブロック毎に、動きベクトルを検出する動きベクトル検出方法であって、ブロック毎に、動きベクトルの探索モードを、少なくともフレームベクトル探索モードとフィールドベクトル探索モードとに切り替える探索モード制御ステップと、与えられた探索中心点と所定の探索パターンとに基づき、探索中心点の近傍にある探索位置を含んだ1以上の候補ベクトルを生成する候補ベクトル生成ステップと、探索モードに応じて、参照画像から、各候補ベクトルに対応した予測ブロックを求める動き補償ステップと、ブロックと各予測ブロックとの類似度を計算する類似度計算ステップと、候補ベクトルの中から、類似度に基づき、候補ベクトル生成ステップにおける次回の探索中心点を選択する探索制御ステップとを備え、候補ベクトル生成ステップは、フレームベクトル探索用とフィールドベクトル探索用とに少なくとも2種類の探索パターンを有しており、探索モードに応じて、候補ベクトルを生成するために使用する探索パターンを切り替えることを特徴とする。
【0043】
第11の発明は、コンピュータに、インタレース画像に含まれる所定数の画素からなるブロック毎に、動きベクトルを検出する動きベクトル検出方法を実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体であって、プログラムは、ブロック毎に、動きベクトルの探索モードを、少なくともフレームベクトル探索モードとフィールドベクトル探索モードとに切り替える探索モード制御ステップと、与えられた探索中心点と所定の探索パターンとに基づき、探索中心点の近傍にある探索位置を含んだ1以上の候補ベクトルを生成する候補ベクトル生成ステップと、探索モードに応じて、参照画像から、各候補ベクトルに対応した予測ブロックを求める動き補償ステップと、ブロックと各予測ブロックとの類似度を計算する類似度計算ステップと、候補ベクトルの中から、類似度に基づき、候補ベクトル生成ステップにおける次回の探索中心点を選択する探索制御ステップとを備え、候補ベクトル生成ステップは、フレームベクトル探索用とフィールドベクトル探索用とに少なくとも2種類の探索パターンを有しており、探索モードに応じて、候補ベクトルを求めるために使用する探索パターンを切り替えることを特徴とする。
【0044】
第12の発明は、コンピュータに、インタレース画像に含まれる所定数の画素からなるブロック毎に、動きベクトルを検出する動きベクトル検出方法を実行させるためのプログラムであって、ブロック毎に、動きベクトルの探索モードを、少なくともフレームベクトル探索モードとフィールドベクトル探索モードとに切り替える探索モード制御ステップと、与えられた探索中心点と所定の探索パターンとに基づき、探索中心点の近傍にある探索位置を含んだ1以上の候補ベクトルを生成する候補ベクトル生成ステップと、探索モードに応じて、参照画像から、各候補ベクトルに対応した予測ブロックを求める動き補償ステップと、ブロックと各予測ブロックとの類似度を計算する類似度計算ステップと、候補ベクトルの中から、類似度に基づき、候補ベクトル生成ステップにおける次回の探索中心点を選択する探索制御ステップとを備え、候補ベクトル生成ステップは、フレームベクトル探索用とフィールドベクトル探索用とに少なくとも2種類の探索パターンを有しており、探索モードに応じて、候補ベクトルを求めるために使用する探索パターンを切り替えることを特徴とする。
このような第10ないし第12の発明によれば、インタレース画像に対して逐次探索法を用いた動きベクトル検出を行うときに、フレームベクトルを探索する場合と、フィールドベクトルを探索する場合とで異なる探索パターンが使用される。したがって、フレームベクトル探索用とフィールドベクトル探索用とにそれぞれ特化した探索パターンを使用することにより、動きベクトル検出の精度を高めることができる。
【0045】
【発明の実施の形態】
(第1の実施形態)
図1は、本発明の第1の実施形態に係る動きベクトル検出装置の構成を示すブロック図である。図1に示す動きベクトル検出装置10は、探索モード制御部11、候補ベクトル生成部12、フレームメモリ13、動き補償部14、類似度計算部15、および探索制御部16を備える。動きベクトル検出装置10は、逐次探索法(One at a time 法)を用いて、インタレース画像に含まれるブロックの動きベクトルを検出する。動きベクトル検出装置10は、フレームベクトル探索用とフィールドベクトル探索用とに2種類の探索パターンを有し、探索モードに応じて探索パターンを切り替えて候補ベクトルを生成することを特徴とする。
【0046】
動きベクトル検出装置10の各構成要素は、以下のように動作する。探索モード制御部11は、動きベクトルの探索モードを制御する。より詳細には、探索モード制御部11は、動きベクトルの探索モード21を、フレームベクトル探索モード、第1のフィールドベクトル探索モード、および第2のフィールドベクトル探索モードの3とおりに切り替える。探索モード21は、動き補償部14および探索制御部16に加えて、候補ベクトル生成部12にも供給される。
【0047】
候補ベクトル生成部12は、フレームベクトル探索用の探索パターンとフィールドベクトル探索用の探索パターンとを内部に保持している。候補ベクトル生成部12は、探索モード21に応じて、保持した探索パターンの一方を選択する。また、候補ベクトル生成部12は、選択した探索パターンと探索制御部16から出力された探索中心点26とに基づき、1以上の候補ベクトルを生成し、生成した候補ベクトル22を所定の順序で1つずつ出力する。候補ベクトル生成部12の詳細は、後述する。
【0048】
フレームメモリ13は、外部から与えられた参照画像を記憶する。フレームメモリ13の前段には、画像符号化装置に含まれる加算器(図14に示す加算器108)が接続される。フレームメモリ13は、加算器から出力された復元画像118を蓄積し、動き補償部14からの要求に応じて、蓄積した復元画像を参照画像23として出力する。
【0049】
動き補償部14は、探索モード21に従いフレームメモリ13から参照画像23を読み出し、読み出した参照画像のうちで候補ベクトル22に対応した領域を予測ブロック24として出力する。
【0050】
類似度計算部15には、画像符号化装置に入力された対象画像110(図14を参照)が入力される。類似度計算部15は、対象画像110に含まれる対象ブロックと、予測ブロック24との間の類似度を求める。より詳細には、類似度計算部15は、対象ブロックと予測ブロック24とを、16×16画素単位(フレームベクトル探索時)または16×8画素単位(フィールドベクトル探索時)で画素毎に対応づけて減算した結果の絶対値和または2乗和を、類似度25として出力する。
【0051】
探索制御部16は、各候補ベクトル22について計算された類似度25に基づき次回の探索中心点26を求め、候補ベクトル生成部12に出力する。また、探索制御部16は、探索終了時には、その時点で得られている動きベクトル119を出力するとともに、動きベクトル119に対応した予測ブロック24を予測画像111として出力する。探索制御部16の詳細は、後述する。
【0052】
次に、候補ベクトル生成部12の詳細を説明する。候補ベクトル生成部12は、図1に示すように、第1の探索パターン記憶部17a、第2の探索パターン記憶部17b、探索パターン選択部18、およびベクトル計算部19を含んでいる。第1の探索パターン記憶部17aは、フレームベクトル探索用の探索パターンを記憶している。第2の探索パターン記憶部17bは、フィールドベクトル探索用の探索パターンを記憶している。
【0053】
図2は、動きベクトル検出装置10で使用される探索パターンの例を示す図である。図2おいて、フレームベクトル探索用の探索パターン31aには、探索中心点(Cを付した○印)を中心に、7つの画素の位置が含まれている。7つの画素の位置とは、探索中心点、そのすぐ上、すぐ下、すぐ左、すぐ右、2画素上、および2画素下の各位置である。一方、フィールドベクトル探索用の探索パターン31bには、探索中心点を中心に、5つの画素の位置が含まれている。5つの画素の位置とは、探索中心点、そのすぐ上、すぐ下、すぐ左、およびすぐ右の各位置である。
【0054】
動きベクトル検出装置10では、フレームベクトル探索用およびフィールドベクトル探索用の探索パターンとして、各探索モードに特化した探索パターンが使用される。このため、フレームベクトル探索用の探索パターンとフィールドベクトル探索用の探索パターンとには、互いに異なる探索パターンが使用される。また、フレームベクトル探索用の探索パターンには、探索中心点と同じフィールド内にある画素の位置が少なくとも1つ含まれていることが好ましく、より詳細には、フレームベクトル探索用の探索パターンには、少なくとも、探索中心点と同じフィールド内で探索中心点のすぐ上にある画素の位置と、探索中心点と同じフィールド内で探索中心点のすぐ下にある画素の位置とが含まれていることが好ましい。さらには、フィールドベクトル探索用の探索パターンには、フレームベクトル探索用の探索パターンに含まれている画素の位置の一部が含まれていることが好ましい。
【0055】
探索パターン選択部18には、探索モード21と、第1の探索パターン記憶部17aから出力された探索パターン27aと、第2の探索パターン記憶部17bから出力された探索パターン27bとが入力される。探索パターン選択部18は、探索モード21がフレームベクトル探索モードであるときは探索パターン27aを、探索モード21が第1または第2のフィールドベクトル探索モードであるときは探索パターン27bを選択して出力する。
【0056】
ベクトル計算部19は、探索制御部16から出力された探索中心点26と、探索パターン選択部18で選択された探索パターンとに基づき、1以上の候補ベクトルを求め、求めた候補ベクトル22を所定の順序で1つずつ出力する。
【0057】
このように、候補ベクトル生成部12は、探索モード21がフレームベクトル探索モードであるかフィールドベクトル探索モードであるかに応じて、2種類の探索パターンのいずれかを選択し、探索中心点26と選択した探索パターンとに基づき候補ベクトル22を生成する。
【0058】
次に、探索制御部16の詳細を説明する。図3は、探索制御部16の動作を示すフローチャートである。図3に示す一連の処理は、対象ブロック毎に実行される。探索制御部16は、逐次探索法を用いて、対象ブロック毎にフレームベクトル、第1のフィールドベクトル、および第2のフィールドベクトルを順次探索する。図3に示す各ステップの詳細は、以下のとおりである。
【0059】
初期状態では、探索モード21は、フレームベクトル探索モードであるとする。探索制御部16は、探索モード21に従い、フレームベクトル探索モードに遷移する(ステップS101)。次に、探索制御部16は、フレームベクトル探索モードで逐次探索制御処理を行う(ステップS102)。逐次探索制御処理では、後述するように(図4を参照)、動きベクトルおよび類似度が求められる。探索制御部16は、ステップS102で求めた動きベクトルVfrおよび類似度Sfrを記憶する(ステップS103)。
【0060】
ステップS103が終了した時点で、探索モード21は、第1のフィールドベクトル探索モードに変化する。これに伴い、探索制御部16は、第1のフィールドベクトル探索モードに遷移する(ステップS104)。次に、探索制御部16は、第1のフィールドベクトル探索モードで逐次探索制御処理を行う(ステップS105)。次に、探索制御部16は、ステップS105で求めた動きベクトルVf1および類似度Sf1を記憶する(ステップS106)。
【0061】
ステップS106が終了した時点で、探索モード21は、第2のフィールドベクトル探索モードに変化する。これに伴い、探索制御部16は、第2のフィールドベクトル探索モードに遷移する(ステップS107)。次に、探索制御部16は、第2のフィールドベクトル探索モードで逐次探索制御処理を行う(ステップS108)。次に、探索制御部16は、ステップS108で求めた動きベクトルVf2および類似度Sf2を記憶する(ステップS109)。
【0062】
次に、探索制御部16は、類似度Sfrと、類似度Sf1およびSf2とを比較する(ステップS110)。探索制御部16は、例えば、類似度Sfrと、類似度Sf1およびSf2の和とをそのまま比較してもよい。あるいは、探索制御部16は、類似度Sfrと、類似度Sf1およびSf2の和とを、前者が有利となるハンディキャップを与えた上で比較してもよい。
【0063】
次に、探索制御部16は、ステップS110における比較結果に従い、フレームベクトルVfr、またはフィールドベクトルの組{Vf1,Vf2}のいずれかを出力する(ステップS111)。より詳細には、探索制御部16は、類似度Sfrが類似度Sf1およびSf2よりも小さいときにはフレームベクトルVfrを、それ以外のときにはフィールドベクトルの組{Vf1、Vf2}を、動きベクトル119として出力する。選択された動きベクトルは、探索中心点26としても出力され、候補ベクトル生成部12経由で動き補償部14に供給される。動き補償部14は、選択された動きベクトルに対応した予測ブロック24を出力する。
【0064】
次に、探索制御部16は、動き補償部14から予測ブロック24を受け取り、予測画像111として出力する(ステップS112)。探索制御部16は、これをもって、1つの対象ブロックに対する動きベクトル検出を終了する。
【0065】
なお、図3に示すフローチャートでは、探索制御部16は、最初にフレームベクトルを探索し、次に第1のフィールドベクトルを探索し、最後に第2のフィールドベクトルを探索することとしたが、これら3種類のベクトルの探索順序は任意でよい。
【0066】
図4は、逐次探索制御処理のフローチャートである。逐次探索制御処理では、これまでの探索で求めた動きベクトルを格納する変数Vと、これまでの探索で求めた類似度を格納する変数Sとが使用される。探索制御部16は、まず、変数Vを(0、0)に、変数Sを無限大に初期化する(ステップS201)。次に、探索制御部16は、変数Vに格納された動きベクトルを探索中心点26として出力する(ステップS202)。
【0067】
候補ベクトル生成部12は、ステップS202で出力された探索中心点26と、探索モード21に応じて選択された探索パターンとに基づき、1以上の候補ベクトルを生成する。探索制御部16は、候補ベクトル生成部12で生成された各候補ベクトルについて、ステップS203からS206の処理を行う。より詳細には、探索制御部16は、現在の探索モードにおいて未処理の候補ベクトルがあるか否かを調べ(ステップS203)、ある場合にはステップS204へ進む。この場合、探索制御部16は、候補ベクトル生成部12および類似度計算部15から、それぞれ、候補ベクトル22および類似度25を受け取る(ステップS204)。次に、探索制御部16は、ステップS204で受け取った類似度と変数Sに格納された類似度とを比較し(ステップS205)、前者のほうが小さい場合には、受け取った候補ベクトルおよび類似度を、それぞれ、変数VおよびSに代入する(ステップS206)。次に、探索制御部16は、ステップS205における比較結果に関わらず、ステップS203へ進む。
【0068】
探索制御部16は、すべての候補ベクトルについてステップS203からS206の処理を行った後(ステップS203のNO)、探索を継続するか終了するかを判断する(ステップS207)。探索制御部16は、例えば、探索回数が所定数未満である場合には継続と判断し、それ以外の場合には終了と判断してもよい。あるいは、探索制御部16は、変数Sに格納された類似度があるしきい値以上である場合には継続と判断し、それ以外の場合には終了と判断してもよい。
【0069】
探索制御部16は、継続と判断した場合には(ステップS207のYES)、ステップS202へ進む。この場合、変数Vに格納された候補ベクトルを次回の探索中心点として、ステップS203からS206の処理が再び実行される。これに対して、探索制御部16は、終了と判断した場合には(ステップS207のNO)、変数VおよびSに格納された動きベクトルおよび類似度を探索結果として(ステップS208)、逐次探索制御処理を終了する。
【0070】
なお、図3および図4に示すフローチャートでは、探索制御部16は、類似度計算部15によって計算された類似度に基づき探索制御を行い、類似度が最小となる候補ベクトルを次回の探索中心点として選択することとした。これに限らず、探索制御部16は、類似度計算部15によって計算された類似度と他の評価値とを組み合わせて、類似度と他の評価値とに基づき探索制御を行ってもよい。この場合、探索制御部16は、逐次探索制御処理において、類似度と他の評価値とに基づき最適と判断される候補ベクトルを、次回の探索中心点として選択する。具体的には、探索制御部16は、ステップS205およびS206において、ステップS204で受け取った類似度と他の評価値とに対して所定の演算を行い、その演算結果が変数Sに格納されている値より小さい場合(あるいは、大きい場合)に、その演算結果を変数Sに代入すればよい。このような他の評価値としては、例えば、候補ベクトルを可変長符号化して得られるビット列の長さなどを使用することができる。
【0071】
以下、動きベクトル検出装置10が奏する効果を説明する。動きベクトル検出装置10は、探索モード21がフレームベクトル探索モードであるかフィールドベクトル探索モードであるかに応じて、候補ベクトルを生成するために異なる探索パターンを使用する。したがって、フレームベクトル探索用とフィールドベクトル探索用とにそれぞれ特化した探索パターンを使用することにより、動きベクトル検出の精度を高めることができる。
【0072】
また、動きベクトル検出装置10は、フレームベクトルを探索するときに、図2に示す探索パターン31aを使用する。探索パターン31aは、図15および図18に示した従来の探索パターンとは異なり、探索中心点と同じフィールド内にある画素の位置を含んでいる。このため、隣接するライン間の類似性が低いインタレース画像についても、探索中心点と同じフィールド内にある他の画素の位置が探索される。このため、その位置で良い探索結果が得られる場合があり、探索中心点は、水平方向だけでなく垂直方向にも移動する。したがって、類似度の処理量を削減すべく、探索パターンに含まれる画素の位置を大幅に減らした場合でも、フレームベクトルを高精度で探索し、動きベクトルを高精度で検出することができる。
【0073】
また、動きベクトル検出装置10は、フィールドベクトルを探索するときに、図2に示す探索パターン31bを使用する。探索パターン31bは、探索パターン31aに含まれる画素の位置の一部を含んでいる。このように、フィールドベクトル探索用の探索パターンに含まれる画素の位置を減らすことにより、類似度の処理量を減らしながら、動きベクトルを高精度で検出することができる。
【0074】
なお、動きベクトル検出装置10で使用される探索パターンは、図2に示したものに限定されるものではない。図5は、動きベクトル検出装置10で使用される他の探索パターンの例を示す図である。図5において、探索パターン32a−hおよび32a−v、33a、並びに34aは、フレームベクトル探索用の探索パターンであり、探索パターン32b―hおよび32b−v、33b、並びに34bは、フィールドベクトル探索用の探索パターンである。これら3組の探索パターンは、いずれも、図2に示した探索パターン31aおよび31bと同様の特性を有する。したがって、これら3組の探索パターンのいずれを使用した場合にも、探索パターン31aおよび31bを使用した場合と同様の効果がある。
【0075】
また、動きベクトル検出装置10で使用される探索パターンは、必ずしも、探索中心点に隣接した画素の位置を含んでいる必要はない。図6は、動きベクトル検出装置10で使用される他の探索パターンの例を示す図である。図6において、×印は、候補ベクトルを生成しない画素の位置を示している。図6に示す探索パターン35aおよび35bは、図2に示した探索パターン31aおよび31bと同様の特性を有する。したがって、探索パターン35aおよび35bを使用した場合にも、探索パターン31aおよび31bを使用した場合と同様の効果がある。これに加えて、探索パターン35aおよび35bには、類似度の処理量がさらに減るという効果もある。
【0076】
(第2の実施形態)
本発明の第2の実施形態に係る動きベクトル検出装置は、第1の実施形態に係る動きベクトル検出装置と同じく、図1に示す構成を有する。本実施形態に係る動きベクトル検出装置は、フレームベクトル探索用およびフィールドベクトル探索用にそれぞれ複数の探索パターンを有し、これらの探索パターンを切り替えて候補ベクトルを生成することを特徴とする。
【0077】
図7は、本実施形態に係る動きベクトル検出装置で使用される探索パターンを示す図である。図7に示すように、第1の探索パターン記憶部17aには、フレームベクトル探索用の探索パターンとして、3種類の探索パターン31a、32a−hおよび32a−v、並びに33aが記憶されている。また、第2の探索パターン記憶部17bには、フィールドベクトル探索用の探索パターンとして、3種類の探索パターン31b、32b−hおよび32b−v、並びに33bが記憶されている。なお、これら探索パターンの種類および個数は、任意でよい。
【0078】
本実施形態では、探索パターン選択部18は、探索モード21がフレームベクトル探索モードであるときは、第1の探索パターン記憶部17aに記憶された3種類の探索パターンのうち、いずれかを選択して出力する。また、探索パターン選択部18は、探索モード21が第1または第2のフィールドベクトル探索モードであるときは、第2の探索パターン記憶部17bに記憶された3種類の探索パターンのうち、いずれかを選択して出力する。
【0079】
探索パターン選択部18は、各探索モードにおいて、所定の判断基準に従い探索パターンを選択する。例えば、探索パターン選択部18は、与えられた処理時間に余裕がある場合には、探索すべき画素の位置が多い探索パターン(例えば、探索パターン33a)を選択し、与えられた処理時間に余裕がない場合には、探索すべき画素の位置が少ない探索パターン(例えば、探索パターン32a−hおよび32a−v)を選択してもよい。あるいは、探索パターン選択部18は、対象画像の中央にある対象ブロックについては、探索すべき画素の位置が多い探索パターンを選択し、対象画像の周辺にある対象ブロックについては、探索すべき画素の位置が少ない探索パターンを選択してもよい。
【0080】
また、探索パターン選択部18は、各探索モードにおいて、任意の処理単位毎に探索パターンを選択してもよい。例えば、探索パターン選択部18は、1または複数の対象画像ごとに探索パターンを選択してもよく、1または複数の対象ブロックごとに探索パターンを選択してもよい。また、探索パターン選択部18は、フレームベクトル探索用の探索パターンの選択と、フィールドベクトル探索用の探索パターンの選択とを異なる判断基準で異なるタイミングで行ってもよい。また、第1の実施形態と同様に、探索制御部16は、フレームベクトル、第1のフィールドベクトル、および第2のフィールドベクトルを、任意の順序で探索してもよい。
【0081】
以上に示すように、本実施形態に係る動きベクトル検出装置は、逐次探索で使用される探索パターンを1つの探索モード内で切り替える。これにより、状況に応じて類似度の計算量を調整し、インタレース画像に対する動きベクトル検出の精度を調整することができる。
【0082】
(第3の実施形態)
本発明の第3の実施形態に係る動きベクトル検出装置は、第1の実施形態に係る動きベクトル検出装置と同じく、図1に示す構成を有する。本実施形態に係る動きベクトル検出装置は、逐次探索を行うことによりフレームベクトルを検出した後、検出したフレームベクトルを中心とした局所全探索を行うことにより、動きベクトルを検出することを特徴とする。
【0083】
図8は、本実施形態に係る動きベクトル検出装置で使用される探索パターンを示す図である。図8に示すように、第1の探索パターン記憶部17aには、フレームベクトル探索用の探索パターンとして、探索パターン31aが記憶されている。また、第2の探索パターン記憶部17bには、フィールドベクトル探索用の探索パターンとして、探索パターン36bが記憶されている。
【0084】
探索パターン36bは、探索中心点(図示せず)を中心として、所定の長方形領域内にあるすべての画素の位置を含んでいる。より詳細には、探索パターン36bは、水平方向に(4n+1)個、垂直方向に(2n+1)個、全体で(4n+1)×(2n+1)の画素の位置を含んでいる。探索パターン36bは、動きベクトルの局所全探索を行うときに使用される。
【0085】
図9は、本実施形態に係る探索制御部16の動作を示すフローチャートである。図9に示す一連の処理は、対象ブロック毎に実行される。図9に示すステップS301からS312は、ステップS305およびS308を除き、図3に示すステップS101からS112と同じである。探索制御部16は、ステップS305およびS308では、以下に示す局所全探索制御処理を行う。
【0086】
図10は、局所全探索制御処理のフローチャートである。局所全探索制御処理では、逐次探索制御処理(図4)と同様に、変数VおよびSが使用される。探索制御部16は、まず、変数VをステップS302で逐次探索法を用いて検出されたフレームベクトルに、変数Sを無限大に初期化する(ステップS401)。次に、探索制御部16は、変数Vに格納された動きベクトル(フレームベクトル)を探索中心点26として出力する(ステップS402)。
【0087】
候補ベクトル生成部12は、ステップS402で出力された探索中心点26と、探索モード21に応じて選択された探索パターンとに基づき、1以上の候補ベクトルを生成する。本実施形態では、局所全探索制御処理は、探索モード21がフィールドベクトル探索モードであるときに実行される。したがって、候補ベクトル生成部12の探索パターン選択部18は、フィールドベクトル探索用の探索パターン36bを選択する。よって、候補ベクトル生成部12のベクトル計算部19は、探索パターン36bに基づき、(4n+1)×(2n+1)個の候補ベクトルを生成する。
【0088】
探索制御部16は、候補ベクトル生成部12で生成された各候補ベクトルについて、ステップS403からS406の処理を行う。ステップS403からS406は、逐次探索制御処理(図4)におけるステップS203からS206と同じであるので、ここではその説明を省略する。探索制御部16は、すべての候補ベクトルについてステップS403からS406の処理を終えた後(ステップS403のNO)、ステップS407へ進む。探索制御部16は、変数VおよびSに格納された動きベクトルおよび類似度を探索結果として(ステップS407)、局所全探索制御処理を終了する。
【0089】
以上に示すように、本実施形態に係る動きベクトル検出装置は、逐次探索を行うことによりフレームベクトルを検出した後、検出したフレームベクトルを中心として局所全探索を行うことにより、ブロックの動きベクトルを検出する。このように先の探索結果を有効に活用することにより、類似度の計算量を抑えながら、インタレース画像に対する動きベクトル検出の精度を高めることができる。
【0090】
なお、以上の説明では、逐次探索法を用いて検出したフレームベクトルを探索中心点として、フィールドベクトル探索モードで局所全探索を行うこととしたが、これに代えて、逐次探索法により検出したフィールドベクトルを探索中心点として、フレームベクトル探索モードで局所全探索を行うこととしてもよい。また、逐次探索法と同じ構成要素を用いて局所全探索を行うこととしたが、局所全探索を行うための構成要素を別途備えていてもよい。
【0091】
上記各実施形態に係る動きベクトル検出装置における動きベクトル検出方法を実行させるプログラム(以下、動きベクトル検出プログラムという)を、フレキシブルディスク等の記録媒体に記録することにより、上記各実施形態で示した動きベクトル検出処理を、独立したコンピュータシステムにおいて簡単に実施することが可能となる。
【0092】
図11は、上記各実施形態に係る動きベクトル検出装置を、コンピュータシステムと、フレキシブルディスク等の記録媒体に記録されたプログラムとを用いて実現する場合についての説明図である。図11(a)は、フレキシブルディスクの正面からみた外観、断面構造、およびフレキシブルディスク本体を示し、図11(b)は、フレキシブルディスクの物理フォーマットの例を示している。フレキシブルディスク本体FDは、図11(a)に示すように、ケースFCに内蔵されている。また、図11(b)に示すように、フレキシブルディスク本体FDの表面には、同心円状に外周から内周に向かって複数のトラックTrが形成され、各トラックTrは円周方向に16個のセクタSeに分割されている。したがって、動きベクトル検出プログラムを格納したフレキシブルディスクでは、動きベクトル検出プログラムは、フレキシブルディスク本体FD上に割り当てられた所定の領域(セクタ)に記録される。
【0093】
また、図11(c)は、フレキシブルディスクに対して動きベクトル検出プログラムを記録および再生するためのシステム構成を示している。動きベクトル検出プログラムをフレキシブルディスクに記録する場合には、動きベクトル検出プログラムは、コンピュータシステムCsからフレキシブルディスクドライブFDDに転送され、フレキシブルディスクドライブFDDを介してフレキシブルディスク本体FDの所定の領域(セクタ)に書き込まれる。また、フレキシブルディスクに記録された動きベクトル検出プログラムを用いて、コンピュータシステムCsを動きベクトル検出装置として動作させる場合には、動きベクトル検出プログラムは、フレキシブルディスクドライブFDDにより読み出され、コンピュータシステムCsに転送される。
【0094】
なお、以上の説明では、記録媒体としてフレキシブルディスクを用いることとしたが、記録媒体として光ディスクを用いてもよい。また、記録媒体は、これに限らず、ICカード、ROMカセット等、プログラムを記録し再生できるものであれば、いかなる種類のものでもよい。
【0095】
以上に示すように、本発明の各実施形態に係る動きベクトル検出装置および動きベクトル検出方法によれば、インタレース画像に対して逐次探索法を用いた動きベクトル検出を行うときに、フレームベクトルを探索する場合と、フィールドベクトルを探索する場合とで異なる探索パターンが使用される。したがって、フレームベクトル探索用とフィールドベクトル探索用とにそれぞれ特化した探索パターンを使用することにより、動きベクトル検出の精度を高めることができる。また、フィールドベクトル探索用の探索パターンとして、探索中心点と同じフィールド内にある画素の位置(特に、探索中心点のすぐ上およびすぐ下にある画素の位置)を含む探索パターンを使用することにより、フレームベクトルを高精度で検出し、動きベクトル検出の精度を高めることができる。
【図面の簡単な説明】
【図1】本発明の第1の実施形態に係る動きベクトル検出装置の構成を示すブロック図である。
【図2】本発明の第1の実施形態に係る動きベクトル検出装置で使用される探索パターンの例を示す図である。
【図3】本発明の第1の実施形態に係る動きベクトル検出装置の探索制御部の動作を示すメインフローチャートである。
【図4】本発明の第1の実施形態に係る動きベクトル検出装置の探索制御部による逐次探索制御処理を示すフローチャートである。
【図5】本発明の第1の実施形態に係る動きベクトル検出装置で使用される他の探索パターンの例を示す図である。
【図6】本発明の第1の実施形態に係る動きベクトル検出装置で使用される他の探索パターンの例を示す図である。
【図7】本発明の第2の実施形態に係る動きベクトル検出装置で使用される探索パターンの例を示す図である。
【図8】本発明の第3の実施形態に係る動きベクトル検出装置で使用される探索パターンの例を示す図である。
【図9】本発明の第3の実施形態に係る動きベクトル検出装置の探索制御部の動作を示すメインフローチャートである。
【図10】本発明の第3の実施形態に係る動きベクトル検出装置の探索制御部による局所全探索処理を示すフローチャートである。
【図11】本発明の各実施形態に係る動きベクトル検出装置を、コンピュータシステムとプログラムとを用いて実現する場合についての説明図である。
【図12】インタレース画像の説明図である。
【図13】MPEGで規格化された、インタレース画像に対する代表的な動きベクトル検出の説明図である。
【図14】画像符号化装置の構成を示すブロック図である。
【図15】従来の逐次探索法で使用される探索パターンの例を示す図である。
【図16】逐次探索法を用いた動きベクトルの探索結果を示す図である。
【図17】従来の逐次探索法を用いた動きベクトル検出装置の構成を示すブロック図である。
【図18】従来の逐次探索法で使用される他の探索パターンの例を示す図である。
【符号の説明】
10…動きベクトル検出装置
11…探索モード制御部
12…候補ベクトル生成部
13…フレームメモリ
14…動き補償部
15…類似度計算部
16…探索制御部
17…探索パターン記憶部
18…探索パターン選択部
19…ベクトル計算部
21…探索モード
22…候補ベクトル
23…参照画像
24…予測ブロック
25…類似度
26…探索中心点
27、31〜36…探索パターン
Pa〜Pk…画素の位置
Cs…コンピュータシステム
FC…ケース
FD…フレキシブルディスク本体
FDD…フレキシブルディスクドライブ
Se…セクタ
Tr…トラック
【発明の属する技術分野】
本発明は、動きベクトル検出装置、および動きベクトル検出方法に関し、より詳細には、ブロック単位動き補償符号化処理で使用される動きベクトルを高速かつ高精度で検出する動きベクトル検出装置、および動きベクトル検出方法に関する。
【0002】
【従来の技術】
ディジタル画像情報を効率的に蓄積または伝送するためには、ディジタル画像を圧縮符号化する必要がある。ディジタル画像を圧縮符号化するためには、従来から種々の方法が用いられている。例えば、JPEG(Joint Photographic Coding Experts Group )やMPEG(Moving Picture Experts Group)などの国際標準では、離散コサイン変換(DCT:Discrete Cosine Transform )を用いた符号化方法が採用されている。これ以外にも、サブバンド符号化、ウェーブレット符号化、フラクタル符号化等の波形符号化法も知られている。
【0003】
MPEGでは、画面間の画素値相関を利用して画像を圧縮符号化する処理(画面間動き補償符号化処理)が採用されている。より詳細には、MPEGでは、16×16画素からなる領域をマクロブロック、8×8画素からなる領域をブロックと呼び、マクロブロックまたはブロック単位で所定の符号化処理が実行される。符号化処理の対象となる画像(以下、対象画像という)に含まれるマクロブロック(以下、対象ブロックという)は、既に符号化処理が施された画像(以下、参照画像という)と比較され、参照画像のうちで画素値の配列パターンが対象ブロックと最も似ている領域(以下、動き補償結果という)の位置が、その対象ブロックの動きベクトルとして検出される。検出された動きベクトルは、対象ブロックと動き補償結果との差分信号(以下、動き補償誤差という)にDCTおよび量子化を施した結果等とともに、可変長符号化される。上記の処理により、対象画像から冗長な情報が除去され、大幅なデータ圧縮が実現される。
【0004】
動画像を扱う技術分野のうち、放送分野等では、インタレース画像が用いられることが多い。インタレース画像は、異なる時刻に得られた2枚のフィールド(第1フィールドおよび第2フィールド)を1ライン毎に交互に配置することにより得られた画像である(図12を参照)。放送分野等でインタレース画像が多く用いられるのは、1画面に含まれるライン数が半分になり、垂直同期信号の周波数が半分になるからである。
【0005】
MPEGに準拠してインタレース画像を圧縮符号化する場合、第1フィールドおよび第2フィールドを組み合わせて1枚のフレームを構成し、フレーム単位で画面間動き補償符号化処理を実行する場合が多い。この場合、対象ブロックの動きベクトルを求めるために、対象ブロックと参照画像との間で、図13に示す5つの比較処理が行われる。
【0006】
まず、対象ブロックの全体(16×16画素)と参照画面に含まれる16×16画素の領域とが比較される(第1の比較処理)。これにより、参照画像のうちで画素値の配列パターンが対象ブロックと最も似ている領域の位置が、その対象ブロックのフレーム単位の動きベクトルVfr(フレームベクトル)として検出される。
【0007】
また、対象ブロックの第1フィールド(16×8画素)と、参照画像の第1および第2フィールドに含まれる16×8画素の領域とが比較される(第2および第3の比較処理)。これにより、参照画像のうちで画素値の配列パターンが対象ブロックの第1フィールドと最も似ている領域の位置が、その対象ブロックの第1のフィールド単位の動きベクトルVf1(第1のフィールドベクトル)として検出される。同様に、第4および第5の比較処理により、対象ブロックの第2のフィールド単位の動きベクトルVf2(第2のフィールドベクトル)も検出される。
【0008】
その後、上記3種類の動きベクトルを求めたときの動き補償誤差等に基づき、フレームベクトルVfr、またはフィールドベクトルの組{Vf1,Vf2}のいずれかが、対象ブロックの動きベクトルとして選択される。選択された動きベクトルは、これに対応した動き補償誤差にDCTと量子化とを施した結果等とともに、可変長符号化される。
【0009】
図14は、画面間動き補償符号化処理を行う画像符号化装置の構成を示すブロック図ある。図14に示す画像符号化装置100には、対象画像110が、順次入力される。動き検出/動き補償器101は、入力された対象画像110と内部に蓄積した参照画像とに基づき動き検出および動き補償を行い、予測画像111と動きベクトル119とを出力する。減算器102は、対象画像110から予測画像111を減算し、差分データ112を出力する。直交変換器103は、差分データ112に対してDCTを行い、周波数成分113を出力する。量子化器104は、周波数成分113を所定の量子化値で量子化し、量子化結果114を出力する。可変長符号化器105は、量子化結果114を可変長符号化し、符号化データ115を出力する。符号化データ115には、動き検出/動き補償器101で求めた動きベクトル119を可変長符号化した結果等が多重化される。
【0010】
逆量子化器106は、量子化結果114を逆量子化し、周波数成分116を復元する。逆直交変換器107は、復元された周波数成分116に対して逆DCTを行い、差分データ117を復元する。加算器108は、復元された差分データ117と予測画像111とを加算し、復元画像118を出力する。復元画像118は、動き検出/動き補償器101に蓄積され、以後の対象画像に対して動き検出および動き補償を行うときに参照画像として使用される。
【0011】
このように画像符号化装置100は、対象画像110に代えて差分データ112を符号化することにより、符号化すべきデータのエネルギーを小さくして、画像の圧縮効率を高めている。このとき、差分データ112の絶対値が小さいほど、画像の圧縮効率は高くなる。したがって、動き検出/動き補償器101には、差分データ112の絶対値が小さくなる動きベクトルを高精度で検出することが要求される。ところが、動きベクトルを高精度で検出するためには、画像符号化装置100に含まれる他のどの処理よりも多い処理量が必要とされる。
【0012】
そこで、動きベクトル検出に必要な処理量を削減する方法の1つとして、逐次探索法(One at a time 法)が知られている(例えば、特許文献1)。逐次探索法とは、動きベクトルの探索開始位置(以下、探索中心点という)の近傍に、所定の探索パターンに従い動きベクトルの候補(以下、候補ベクトルという)を生成し、最適な候補ベクトルを次回の探索中心点とする処理を繰り返すことにより、動きベクトルを順次探索する方法をいう。ここで、探索パターンとは、参照画像のうちで比較対象となる領域(以下、予測ブロックという)の位置を、探索中心点を基準として示したものである。逐次探索法では、対象ブロックと予測ブロックとの間で類似度が計算され、類似度に基づき最適と判断される方向に順次探索が進められる。類似度としては、対象ブロックと予測ブロックとを、16×16画素単位(フレームベクトル探索時)または16×8画素単位(フィールドベクトル探索時)で画素毎に対応づけて減算した結果の絶対値和または2乗和が使用される。この値が小さいほど、対象ブロックと予測ブロックとはよく類似していると言える。
【0013】
図15および図16を参照して、逐次探索法を用いて動きベクトルを検出する例を説明する。図15は、逐次探索法で使用される探索パターンの例を示す図である。以下、探索パターンを示す図では、○印は画素の位置を表し、文字Cを付した画素の位置は探索中心点を表す。ここでは、図15に示す2種類の探索パターン91hおよび91vが切り替えて使用されるものとする。探索パターン91hを用いた場合、探索中心点のすぐ左およびすぐ右にある画素の位置が、候補ベクトルとなる。探索パターン91vを用いた場合、探索中心点のすぐ上およびすぐ下にある画素の位置が、候補ベクトルとなる。
【0014】
探索パターン91hおよび91vを用いた逐次探索法では、まず、探索パターン91hを用いて動きベクトルが水平方向に繰り返し探索され、次に、探索パターン91vを用いて動きベクトルが垂直方向に繰り返し探索される。以降、水平方向の探索と垂直方向の探索とが交互に行われ、探索中心点が水平方向にも垂直方向にも移動しなくなった画素の位置が、動きベクトルとして検出される。
【0015】
図16は、逐次探索法を用いて動きベクトルを探索した結果を示す図である。図16において、○印は候補ベクトルとして選択される画素の位置を表し、○印に記載された番号は後述する各ステップで新たに候補ベクトルとなった画素の位置を表す。例えば、画素Pdに付された番号3は、画素Pdの位置が第3のステップで新たに候補ベクトルとなったことを表す。
【0016】
ここでは、類似度として、対象ブロックと予測ブロックとの差の絶対値和が使用されるものとする。また、図16に示す画素Px(xはaからkまでの英小文字のいずれか)の位置を動きベクトルとしたときの類似度をSADxと表し、類似度SADaからSADkについて、次式(1)ないし(4)が成立すると仮定する。
SADa,SADb > SADc …(1)
SADc,SADe > SADd …(2)
SADd,SADf > SADg …(3)
SADg,SADi,SADj,SADk > SADh …(4)
【0017】
逐次探索法では、まず、ある画素の位置が、最初の探索中心点として選択される。ここでは、画素Paの位置が、最初の探索中心点として選択されたとする。この場合、動きベクトルが画素Paの位置にある場合の類似度SADaが計算される(第1のステップ)。以下、ある画素Pxの位置が候補ベクトルとして選択され、動きベクトルが画素Pxの位置にある場合の類似度SADxが計算されることを、画素Pxの位置が探索されるという。
【0018】
次に、画素Paの位置を探索中心点として、探索パターン91hを適用することにより、画素Paのすぐ左およびすぐ右にある画素PbおよびPcの位置が探索される(第2のステップ)。上式(1)によれば、SADa、SADb、およびSADcの中ではSADcが最小であるので、画素Pcの位置が、次回の探索中心点として選択される。
【0019】
次に、画素Pcの位置を探索中心点として、再び探索パターン91hを適用することにより、画素Pcのすぐ右にある画素Pdの位置が探索される(第3のステップ)。上式(2)によれば、SADdはSADcより小さいので、画素Pdの位置が、次回の探索中心点として選択される。
【0020】
次に、画素Pdの位置を探索中心点として、さらに探索パターン91hを適用することにより、画素Pdのすぐ右にある画素Peの位置が探索される(第4のステップ)。上式(2)によれば、SADeはSADdより大きいので、探索中心点は、画素Pdの位置から移動しない。
【0021】
次に、画素Pdの位置を探索中心点として、今後は探索パターン91vを適用することにより、画素Pdのすぐ下およびすぐ上にある画素PfおよびPgの位置が探索される(第5のステップ)。上式(3)によれば、SADd、SADf、およびSADgの中ではSADgが最小であるので、画素Pgの位置が、次回の探索中心点として選択される。
【0022】
次に、画素Pgの位置を探索中心点として、再び探索パターン91vを適用することにより、画素Pgのすぐ上にある画素Phの位置が探索される(第6のステップ)。上式(4)によれば、SADhはSADgより小さいので、画素Phの位置が、次回の探索中心点としてされる。
【0023】
次に、画素Phの位置を探索中心点として、さらに探索パターン91vを適用することにより、画素Phのすぐ上にある画素Piの位置が探索される(第7のステップ)。上式(4)によれば、SADiはSADhより大きいので、探索中心点は、画素Phの位置から移動しない。
【0024】
次に、画素Phの位置を探索中心点として、今後は探索パターン91hを適用することにより、画素Phのすぐ左およびすぐ右にある画素PjおよびPkの位置が探索される(第8のステップ)。上式(4)によれば、SADh、SADj、およびSADkの中ではSADhが最小である。したがって、この時点で、画素Phの位置を探索中心点として探索パターン91hおよび91vを適用しても、探索中心点は、水平方向にも垂直方向にも移動しなかったことになる。したがって、画素Phの位置が、検出すべき動きベクトルとなる。
【0025】
図17は、逐次探索法を用いた従来の動きベクトル検出装置の構成を示すブロック図である。図17に示す動きベクトル検出装置70は、探索モード制御部71、候補ベクトル生成部72、フレームメモリ73、動き補償部74、類似度計算部75、および探索制御部76を備え、図14に示す動き検出/動き補償器101に相当する。
【0026】
探索モード制御部71は、動きベクトルの探索モード81を、フレームベクトル探索モードと、第1のフィールドベクトル探索モードと、第2のフィールドベクトル探索モードとに切り替える。候補ベクトル生成部72は、探索パターン記憶部77とベクトル計算部79とを含んでいる。探索パターン記憶部77は、逐次探索法で使用される探索パターンを記憶している。探索パターン記憶部77に記憶される探索パターンは、例えば、図15に示した探索パターン91hおよび91v、図18(a)に示す探索パターン92、あるいは図18(b)に示す探索パターン93等のいずれかである。探索パターン92を用いた場合、探索中心点のすぐ上、すぐ下、すぐ左、およびすぐ右にある画素の位置が探索される。探索パターン93を用いた場合、探索中心点に隣接する8画素の位置が探索される。ベクトル計算部79は、探索制御部76から探索中心点86を受け取ると、探索パターン記憶部77から探索パターン87を読み出し、探索中心点86と探索パターン87とに基づき1以上の候補ベクトルを求め、求めた候補ベクトル82を所定の順序で1つずつ出力する。
【0027】
フレームメモリ73は、外部から与えられた復元画像118を蓄積し、動き補償部74からの要求に応じて、蓄積した復元画像を参照画像83として出力する。動き補償部74は、探索モード81に従いフレームメモリ73から参照画像83を読み出し、読み出した参照画像のうちで候補ベクトル82に対応した領域を予測ブロック84として出力する。類似度計算部75は、外部から与えられた対象画像110に含まれる対象ブロックと、予測ブロック84との間の類似度85を計算する。探索制御部76は、各候補ベクトル82について計算された類似度85に基づき次回の探索中心点86を求め、候補ベクトル生成部72に出力する。
【0028】
動きベクトル検出装置70は、探索モード81を上記3とおりに切り替え、フレームベクトルVfr、第1のフィールドベクトルVf1、および第2のフィールドベクトルVf2を逐次探索法を用いて探索する。探索制御部76は、探索終了時に、フレームベクトルVfrまたはフィールドベクトルの組{Vf1、Vf2}のいずれかおよびこれに対応した予測ブロックを、それぞれ、動きベクトル119および予測画像111として出力する。このように、逐次探索法を用いた動きベクトル検出装置によれば、類似度の計算量を大幅に削減しながら、高精度で動きベクトルを検出することができる。
【0029】
【特許文献1】
特開2000−333184号公報
【0030】
【発明が解決しようとする課題】
しかしながら、従来の逐次探索法をインタレース画像に適用し、類似度の計算量を大幅に削減した場合、動きベクトルの検出精度が悪くなるという問題がある。その理由は、以下のとおりである。インタレース画像は、上述したように、異なる時刻に得られた2枚のフィールドを1ラインごとに交互に配置することにより得られる。このため、インタレース画像に含まれる各ラインは、そのすぐ上およびすぐ下にあるラインとは異なる時刻に得られたフィールドに含まれる。したがって、被写体の動きによっては、隣接するライン間の類似性が低いインタレース画像が得られる場合がある。
【0031】
このようなインタレース画像に対してフレームベクトルを求めるときに、探索中心点のすぐ上にある候補ベクトルや、探索中心点のすぐ下にある候補ベクトルを探索しても、隣接するライン間の類似性が低いため、良い探索結果が得られる可能性は低い。したがって、インタレース画像に対して、類似度の計算量を大幅に削減できる探索パターン(例えば、図15および図18に示した探索パターン)を用いて逐次探索を行っても、探索中心点は、主として水平方向に移動し、垂直方向にはあまり移動しない。よって、このような探索パターンを使用すると、フレームベクトル探索の精度が低下し、これに伴い、動きベクトル検出の精度も低下する。
【0032】
それ故に、本発明は、インタレース画像に対して高精度で動きベクトルを検出できる、逐次探索法を用いた動きベクトル検出装置を提供することを目的とする。
【0033】
【課題を解決するための手段および発明の効果】
第1の発明は、インタレース画像に含まれる所定数の画素からなるブロック毎に、動きベクトルを検出する動きベクトル検出装置であって、ブロック毎に、動きベクトルの探索モードを、少なくともフレームベクトル探索モードとフィールドベクトル探索モードとに切り替える探索モード制御手段と、与えられた探索中心点と所定の探索パターンとに基づき、探索中心点の近傍にある探索位置を含んだ1以上の候補ベクトルを生成する候補ベクトル生成手段と、探索モードに応じて、参照画像から、各候補ベクトルに対応した予測ブロックを求める動き補償手段と、ブロックと各予測ブロックとの類似度を計算する類似度計算手段と、候補ベクトルの中から、類似度に基づき、候補ベクトル生成手段における次回の探索中心点を選択する探索制御手段とを備え、候補ベクトル生成手段は、フレームベクトル探索用とフィールドベクトル探索用とに少なくとも2種類の探索パターンを有しており、探索モードに応じて、候補ベクトルを生成するために使用する探索パターンを切り替えることを特徴とする。
このような第1の発明によれば、インタレース画像に対して逐次探索法を用いた動きベクトル検出を行うときに、フレームベクトルを探索する場合と、フィールドベクトルを探索する場合とで異なる探索パターンが使用される。したがって、フレームベクトル探索用とフィールドベクトル探索用とにそれぞれ特化した探索パターンを使用することにより、動きベクトル検出の精度を高めることができる。
【0034】
第2の発明は、第1の発明において、探索制御手段は、候補ベクトルの中から、類似度に基づき最適と判断される候補ベクトルを、候補ベクトル生成手段における次回の探索中心点として選択することを特徴とする。
このような第2の発明によれば、類似度に基づき最適と判断される候補ベクトルを次回の探索中心点として選択することにより、求めるべき動きベクトルに探索中心点を早く近づけ、動きベクトル検出を高速に行うことができる。
【0035】
第3の発明は、第2の発明において、候補ベクトル生成手段が有するフレームベクトル探索用の探索パターンには、探索中心点と同じフィールド内にある画素の位置が、少なくとも1つ含まれていることを特徴とする。
このような第3の発明によれば、隣接するライン間の類似性が低いインタレース画像に対して逐次探索を行った場合に、探索中心点は、水平方向だけでなく垂直方向にも移動する。したがって、探索パターンに含まれる画素の位置を減らした場合でも、フレームベクトルを高精度で検出し、動きベクトル検出の精度を高めることができる。
【0036】
第4の発明は、第3の発明において、候補ベクトル生成手段が有するフレームベクトル探索用の探索パターンには、少なくとも、探索中心点と同じフィールド内で当該探索中心点のすぐ上にある画素の位置と、探索中心点と同じフィールド内で当該探索中心点のすぐ下にある画素の位置とが含まれていることを特徴とする。
このような第4の発明によれば、フレームベクトル探索用の探索パターンに、探索中心点と同じフィールド内で探索中心点のすぐ上およびすぐ下にある画素の位置が含まれていれば、隣接するライン間の類似性が低いインタレース画像に対して逐次探索を行った場合に、探索中心点は、水平方向だけでなく垂直方向にも移動する。したがって、これら2つの画素の位置を残しながら、探索パターンに含まれる画素の位置を最小限まで減らした場合でも、フレームベクトルを高精度で検出し、動きベクトル検出の精度を高めることができる。
【0037】
第5の発明は、第2の発明において、候補ベクトル生成手段が有するフィールドベクトル探索用の探索パターンには、候補ベクトル生成手段が有するフレームベクトル探索用の探索パターンに含まれている画素の位置の一部が含まれていることを特徴とする。
このような第5の発明によれば、フィールドベクトル探索用の探索パターンに含まれる画素の位置を減らすことにより、類似度の処理量を減らしながら、動きベクトルを高精度で検出することができる。
【0038】
第6の発明は、第2の発明において、候補ベクトル生成手段は、フレームベクトル探索用に少なくとも2種類の探索パターンを有しており、探索モードがフレームベクトル探索モードである間に、候補ベクトルを生成するために使用する探索パターンを切り替えることを特徴とする。
【0039】
第7の発明は、第2の発明において、候補ベクトル生成手段は、フィールドベクトル探索用に少なくとも2種類の探索パターンを有しており、探索モードがフィールドベクトル探索モードである間に、候補ベクトルを生成するために使用する探索パターンを切り替えることを特徴とする。
このような第6または第7の発明によれば、逐次探索で使用される探索パターンを1つの探索モード内で切り替えることにより、状況に応じて類似度の計算量を調整することができる。これにより、インタレース画像に対する動きベクトル検出の精度を調整することができる。
【0040】
第8の発明は、インタレース画像に含まれる所定数の画素からなるブロック毎に、動きベクトルを検出する動きベクトル検出装置であって、ブロック毎に、動きベクトルの探索モードを、フレームベクトル探索モードとフィールドベクトル探索モードとに切り替える探索モード制御手段と、探索モードがいずれか一方のモードであるときに、逐次探索を行うことにより、ブロックの当該モードにおける動きベクトルを検出する逐次探索手段と、探索モードが他方のモードであるときに、逐次探索手段で検出された動きベクトルを中心として所定の範囲をすべて探索することにより、ブロックの動きベクトルを検出する局所全探索手段とを備える。
このような第8の発明によれば、逐次探索を行うことによりフレームベクトル(またはフィールドベクトル)を検出した後に、検出したベクトルを中心とした局所全探索を行うことにより、ブロックの動きベクトルが検出される。このように先の探索結果を有効に活用することにより、類似度の計算量を抑えながら、インタレース画像に対する動きベクトル検出の精度を高めることができる。
【0041】
第9の発明は、第8の発明において、逐次探索手段は、与えられた探索中心点と所定の探索パターンとに基づき、探索中心点の近傍にある探索位置を含んだ1以上の候補ベクトルを生成する候補ベクトル生成手段と、参照画像から、各候補ベクトルに対応した予測ブロックを求める動き補償手段と、ブロックと各予測ブロックとの類似度を計算する類似度計算手段と、候補ベクトルの中から、類似度に基づき、候補ベクトル生成手段における次回の探索中心点を選択する探索制御手段とを含む。
このような第9の発明によれば、逐次探索法を用いて動きベクトルを検出することができる。
【0042】
第10の発明は、インタレース画像に含まれる所定数の画素からなるブロック毎に、動きベクトルを検出する動きベクトル検出方法であって、ブロック毎に、動きベクトルの探索モードを、少なくともフレームベクトル探索モードとフィールドベクトル探索モードとに切り替える探索モード制御ステップと、与えられた探索中心点と所定の探索パターンとに基づき、探索中心点の近傍にある探索位置を含んだ1以上の候補ベクトルを生成する候補ベクトル生成ステップと、探索モードに応じて、参照画像から、各候補ベクトルに対応した予測ブロックを求める動き補償ステップと、ブロックと各予測ブロックとの類似度を計算する類似度計算ステップと、候補ベクトルの中から、類似度に基づき、候補ベクトル生成ステップにおける次回の探索中心点を選択する探索制御ステップとを備え、候補ベクトル生成ステップは、フレームベクトル探索用とフィールドベクトル探索用とに少なくとも2種類の探索パターンを有しており、探索モードに応じて、候補ベクトルを生成するために使用する探索パターンを切り替えることを特徴とする。
【0043】
第11の発明は、コンピュータに、インタレース画像に含まれる所定数の画素からなるブロック毎に、動きベクトルを検出する動きベクトル検出方法を実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体であって、プログラムは、ブロック毎に、動きベクトルの探索モードを、少なくともフレームベクトル探索モードとフィールドベクトル探索モードとに切り替える探索モード制御ステップと、与えられた探索中心点と所定の探索パターンとに基づき、探索中心点の近傍にある探索位置を含んだ1以上の候補ベクトルを生成する候補ベクトル生成ステップと、探索モードに応じて、参照画像から、各候補ベクトルに対応した予測ブロックを求める動き補償ステップと、ブロックと各予測ブロックとの類似度を計算する類似度計算ステップと、候補ベクトルの中から、類似度に基づき、候補ベクトル生成ステップにおける次回の探索中心点を選択する探索制御ステップとを備え、候補ベクトル生成ステップは、フレームベクトル探索用とフィールドベクトル探索用とに少なくとも2種類の探索パターンを有しており、探索モードに応じて、候補ベクトルを求めるために使用する探索パターンを切り替えることを特徴とする。
【0044】
第12の発明は、コンピュータに、インタレース画像に含まれる所定数の画素からなるブロック毎に、動きベクトルを検出する動きベクトル検出方法を実行させるためのプログラムであって、ブロック毎に、動きベクトルの探索モードを、少なくともフレームベクトル探索モードとフィールドベクトル探索モードとに切り替える探索モード制御ステップと、与えられた探索中心点と所定の探索パターンとに基づき、探索中心点の近傍にある探索位置を含んだ1以上の候補ベクトルを生成する候補ベクトル生成ステップと、探索モードに応じて、参照画像から、各候補ベクトルに対応した予測ブロックを求める動き補償ステップと、ブロックと各予測ブロックとの類似度を計算する類似度計算ステップと、候補ベクトルの中から、類似度に基づき、候補ベクトル生成ステップにおける次回の探索中心点を選択する探索制御ステップとを備え、候補ベクトル生成ステップは、フレームベクトル探索用とフィールドベクトル探索用とに少なくとも2種類の探索パターンを有しており、探索モードに応じて、候補ベクトルを求めるために使用する探索パターンを切り替えることを特徴とする。
このような第10ないし第12の発明によれば、インタレース画像に対して逐次探索法を用いた動きベクトル検出を行うときに、フレームベクトルを探索する場合と、フィールドベクトルを探索する場合とで異なる探索パターンが使用される。したがって、フレームベクトル探索用とフィールドベクトル探索用とにそれぞれ特化した探索パターンを使用することにより、動きベクトル検出の精度を高めることができる。
【0045】
【発明の実施の形態】
(第1の実施形態)
図1は、本発明の第1の実施形態に係る動きベクトル検出装置の構成を示すブロック図である。図1に示す動きベクトル検出装置10は、探索モード制御部11、候補ベクトル生成部12、フレームメモリ13、動き補償部14、類似度計算部15、および探索制御部16を備える。動きベクトル検出装置10は、逐次探索法(One at a time 法)を用いて、インタレース画像に含まれるブロックの動きベクトルを検出する。動きベクトル検出装置10は、フレームベクトル探索用とフィールドベクトル探索用とに2種類の探索パターンを有し、探索モードに応じて探索パターンを切り替えて候補ベクトルを生成することを特徴とする。
【0046】
動きベクトル検出装置10の各構成要素は、以下のように動作する。探索モード制御部11は、動きベクトルの探索モードを制御する。より詳細には、探索モード制御部11は、動きベクトルの探索モード21を、フレームベクトル探索モード、第1のフィールドベクトル探索モード、および第2のフィールドベクトル探索モードの3とおりに切り替える。探索モード21は、動き補償部14および探索制御部16に加えて、候補ベクトル生成部12にも供給される。
【0047】
候補ベクトル生成部12は、フレームベクトル探索用の探索パターンとフィールドベクトル探索用の探索パターンとを内部に保持している。候補ベクトル生成部12は、探索モード21に応じて、保持した探索パターンの一方を選択する。また、候補ベクトル生成部12は、選択した探索パターンと探索制御部16から出力された探索中心点26とに基づき、1以上の候補ベクトルを生成し、生成した候補ベクトル22を所定の順序で1つずつ出力する。候補ベクトル生成部12の詳細は、後述する。
【0048】
フレームメモリ13は、外部から与えられた参照画像を記憶する。フレームメモリ13の前段には、画像符号化装置に含まれる加算器(図14に示す加算器108)が接続される。フレームメモリ13は、加算器から出力された復元画像118を蓄積し、動き補償部14からの要求に応じて、蓄積した復元画像を参照画像23として出力する。
【0049】
動き補償部14は、探索モード21に従いフレームメモリ13から参照画像23を読み出し、読み出した参照画像のうちで候補ベクトル22に対応した領域を予測ブロック24として出力する。
【0050】
類似度計算部15には、画像符号化装置に入力された対象画像110(図14を参照)が入力される。類似度計算部15は、対象画像110に含まれる対象ブロックと、予測ブロック24との間の類似度を求める。より詳細には、類似度計算部15は、対象ブロックと予測ブロック24とを、16×16画素単位(フレームベクトル探索時)または16×8画素単位(フィールドベクトル探索時)で画素毎に対応づけて減算した結果の絶対値和または2乗和を、類似度25として出力する。
【0051】
探索制御部16は、各候補ベクトル22について計算された類似度25に基づき次回の探索中心点26を求め、候補ベクトル生成部12に出力する。また、探索制御部16は、探索終了時には、その時点で得られている動きベクトル119を出力するとともに、動きベクトル119に対応した予測ブロック24を予測画像111として出力する。探索制御部16の詳細は、後述する。
【0052】
次に、候補ベクトル生成部12の詳細を説明する。候補ベクトル生成部12は、図1に示すように、第1の探索パターン記憶部17a、第2の探索パターン記憶部17b、探索パターン選択部18、およびベクトル計算部19を含んでいる。第1の探索パターン記憶部17aは、フレームベクトル探索用の探索パターンを記憶している。第2の探索パターン記憶部17bは、フィールドベクトル探索用の探索パターンを記憶している。
【0053】
図2は、動きベクトル検出装置10で使用される探索パターンの例を示す図である。図2おいて、フレームベクトル探索用の探索パターン31aには、探索中心点(Cを付した○印)を中心に、7つの画素の位置が含まれている。7つの画素の位置とは、探索中心点、そのすぐ上、すぐ下、すぐ左、すぐ右、2画素上、および2画素下の各位置である。一方、フィールドベクトル探索用の探索パターン31bには、探索中心点を中心に、5つの画素の位置が含まれている。5つの画素の位置とは、探索中心点、そのすぐ上、すぐ下、すぐ左、およびすぐ右の各位置である。
【0054】
動きベクトル検出装置10では、フレームベクトル探索用およびフィールドベクトル探索用の探索パターンとして、各探索モードに特化した探索パターンが使用される。このため、フレームベクトル探索用の探索パターンとフィールドベクトル探索用の探索パターンとには、互いに異なる探索パターンが使用される。また、フレームベクトル探索用の探索パターンには、探索中心点と同じフィールド内にある画素の位置が少なくとも1つ含まれていることが好ましく、より詳細には、フレームベクトル探索用の探索パターンには、少なくとも、探索中心点と同じフィールド内で探索中心点のすぐ上にある画素の位置と、探索中心点と同じフィールド内で探索中心点のすぐ下にある画素の位置とが含まれていることが好ましい。さらには、フィールドベクトル探索用の探索パターンには、フレームベクトル探索用の探索パターンに含まれている画素の位置の一部が含まれていることが好ましい。
【0055】
探索パターン選択部18には、探索モード21と、第1の探索パターン記憶部17aから出力された探索パターン27aと、第2の探索パターン記憶部17bから出力された探索パターン27bとが入力される。探索パターン選択部18は、探索モード21がフレームベクトル探索モードであるときは探索パターン27aを、探索モード21が第1または第2のフィールドベクトル探索モードであるときは探索パターン27bを選択して出力する。
【0056】
ベクトル計算部19は、探索制御部16から出力された探索中心点26と、探索パターン選択部18で選択された探索パターンとに基づき、1以上の候補ベクトルを求め、求めた候補ベクトル22を所定の順序で1つずつ出力する。
【0057】
このように、候補ベクトル生成部12は、探索モード21がフレームベクトル探索モードであるかフィールドベクトル探索モードであるかに応じて、2種類の探索パターンのいずれかを選択し、探索中心点26と選択した探索パターンとに基づき候補ベクトル22を生成する。
【0058】
次に、探索制御部16の詳細を説明する。図3は、探索制御部16の動作を示すフローチャートである。図3に示す一連の処理は、対象ブロック毎に実行される。探索制御部16は、逐次探索法を用いて、対象ブロック毎にフレームベクトル、第1のフィールドベクトル、および第2のフィールドベクトルを順次探索する。図3に示す各ステップの詳細は、以下のとおりである。
【0059】
初期状態では、探索モード21は、フレームベクトル探索モードであるとする。探索制御部16は、探索モード21に従い、フレームベクトル探索モードに遷移する(ステップS101)。次に、探索制御部16は、フレームベクトル探索モードで逐次探索制御処理を行う(ステップS102)。逐次探索制御処理では、後述するように(図4を参照)、動きベクトルおよび類似度が求められる。探索制御部16は、ステップS102で求めた動きベクトルVfrおよび類似度Sfrを記憶する(ステップS103)。
【0060】
ステップS103が終了した時点で、探索モード21は、第1のフィールドベクトル探索モードに変化する。これに伴い、探索制御部16は、第1のフィールドベクトル探索モードに遷移する(ステップS104)。次に、探索制御部16は、第1のフィールドベクトル探索モードで逐次探索制御処理を行う(ステップS105)。次に、探索制御部16は、ステップS105で求めた動きベクトルVf1および類似度Sf1を記憶する(ステップS106)。
【0061】
ステップS106が終了した時点で、探索モード21は、第2のフィールドベクトル探索モードに変化する。これに伴い、探索制御部16は、第2のフィールドベクトル探索モードに遷移する(ステップS107)。次に、探索制御部16は、第2のフィールドベクトル探索モードで逐次探索制御処理を行う(ステップS108)。次に、探索制御部16は、ステップS108で求めた動きベクトルVf2および類似度Sf2を記憶する(ステップS109)。
【0062】
次に、探索制御部16は、類似度Sfrと、類似度Sf1およびSf2とを比較する(ステップS110)。探索制御部16は、例えば、類似度Sfrと、類似度Sf1およびSf2の和とをそのまま比較してもよい。あるいは、探索制御部16は、類似度Sfrと、類似度Sf1およびSf2の和とを、前者が有利となるハンディキャップを与えた上で比較してもよい。
【0063】
次に、探索制御部16は、ステップS110における比較結果に従い、フレームベクトルVfr、またはフィールドベクトルの組{Vf1,Vf2}のいずれかを出力する(ステップS111)。より詳細には、探索制御部16は、類似度Sfrが類似度Sf1およびSf2よりも小さいときにはフレームベクトルVfrを、それ以外のときにはフィールドベクトルの組{Vf1、Vf2}を、動きベクトル119として出力する。選択された動きベクトルは、探索中心点26としても出力され、候補ベクトル生成部12経由で動き補償部14に供給される。動き補償部14は、選択された動きベクトルに対応した予測ブロック24を出力する。
【0064】
次に、探索制御部16は、動き補償部14から予測ブロック24を受け取り、予測画像111として出力する(ステップS112)。探索制御部16は、これをもって、1つの対象ブロックに対する動きベクトル検出を終了する。
【0065】
なお、図3に示すフローチャートでは、探索制御部16は、最初にフレームベクトルを探索し、次に第1のフィールドベクトルを探索し、最後に第2のフィールドベクトルを探索することとしたが、これら3種類のベクトルの探索順序は任意でよい。
【0066】
図4は、逐次探索制御処理のフローチャートである。逐次探索制御処理では、これまでの探索で求めた動きベクトルを格納する変数Vと、これまでの探索で求めた類似度を格納する変数Sとが使用される。探索制御部16は、まず、変数Vを(0、0)に、変数Sを無限大に初期化する(ステップS201)。次に、探索制御部16は、変数Vに格納された動きベクトルを探索中心点26として出力する(ステップS202)。
【0067】
候補ベクトル生成部12は、ステップS202で出力された探索中心点26と、探索モード21に応じて選択された探索パターンとに基づき、1以上の候補ベクトルを生成する。探索制御部16は、候補ベクトル生成部12で生成された各候補ベクトルについて、ステップS203からS206の処理を行う。より詳細には、探索制御部16は、現在の探索モードにおいて未処理の候補ベクトルがあるか否かを調べ(ステップS203)、ある場合にはステップS204へ進む。この場合、探索制御部16は、候補ベクトル生成部12および類似度計算部15から、それぞれ、候補ベクトル22および類似度25を受け取る(ステップS204)。次に、探索制御部16は、ステップS204で受け取った類似度と変数Sに格納された類似度とを比較し(ステップS205)、前者のほうが小さい場合には、受け取った候補ベクトルおよび類似度を、それぞれ、変数VおよびSに代入する(ステップS206)。次に、探索制御部16は、ステップS205における比較結果に関わらず、ステップS203へ進む。
【0068】
探索制御部16は、すべての候補ベクトルについてステップS203からS206の処理を行った後(ステップS203のNO)、探索を継続するか終了するかを判断する(ステップS207)。探索制御部16は、例えば、探索回数が所定数未満である場合には継続と判断し、それ以外の場合には終了と判断してもよい。あるいは、探索制御部16は、変数Sに格納された類似度があるしきい値以上である場合には継続と判断し、それ以外の場合には終了と判断してもよい。
【0069】
探索制御部16は、継続と判断した場合には(ステップS207のYES)、ステップS202へ進む。この場合、変数Vに格納された候補ベクトルを次回の探索中心点として、ステップS203からS206の処理が再び実行される。これに対して、探索制御部16は、終了と判断した場合には(ステップS207のNO)、変数VおよびSに格納された動きベクトルおよび類似度を探索結果として(ステップS208)、逐次探索制御処理を終了する。
【0070】
なお、図3および図4に示すフローチャートでは、探索制御部16は、類似度計算部15によって計算された類似度に基づき探索制御を行い、類似度が最小となる候補ベクトルを次回の探索中心点として選択することとした。これに限らず、探索制御部16は、類似度計算部15によって計算された類似度と他の評価値とを組み合わせて、類似度と他の評価値とに基づき探索制御を行ってもよい。この場合、探索制御部16は、逐次探索制御処理において、類似度と他の評価値とに基づき最適と判断される候補ベクトルを、次回の探索中心点として選択する。具体的には、探索制御部16は、ステップS205およびS206において、ステップS204で受け取った類似度と他の評価値とに対して所定の演算を行い、その演算結果が変数Sに格納されている値より小さい場合(あるいは、大きい場合)に、その演算結果を変数Sに代入すればよい。このような他の評価値としては、例えば、候補ベクトルを可変長符号化して得られるビット列の長さなどを使用することができる。
【0071】
以下、動きベクトル検出装置10が奏する効果を説明する。動きベクトル検出装置10は、探索モード21がフレームベクトル探索モードであるかフィールドベクトル探索モードであるかに応じて、候補ベクトルを生成するために異なる探索パターンを使用する。したがって、フレームベクトル探索用とフィールドベクトル探索用とにそれぞれ特化した探索パターンを使用することにより、動きベクトル検出の精度を高めることができる。
【0072】
また、動きベクトル検出装置10は、フレームベクトルを探索するときに、図2に示す探索パターン31aを使用する。探索パターン31aは、図15および図18に示した従来の探索パターンとは異なり、探索中心点と同じフィールド内にある画素の位置を含んでいる。このため、隣接するライン間の類似性が低いインタレース画像についても、探索中心点と同じフィールド内にある他の画素の位置が探索される。このため、その位置で良い探索結果が得られる場合があり、探索中心点は、水平方向だけでなく垂直方向にも移動する。したがって、類似度の処理量を削減すべく、探索パターンに含まれる画素の位置を大幅に減らした場合でも、フレームベクトルを高精度で探索し、動きベクトルを高精度で検出することができる。
【0073】
また、動きベクトル検出装置10は、フィールドベクトルを探索するときに、図2に示す探索パターン31bを使用する。探索パターン31bは、探索パターン31aに含まれる画素の位置の一部を含んでいる。このように、フィールドベクトル探索用の探索パターンに含まれる画素の位置を減らすことにより、類似度の処理量を減らしながら、動きベクトルを高精度で検出することができる。
【0074】
なお、動きベクトル検出装置10で使用される探索パターンは、図2に示したものに限定されるものではない。図5は、動きベクトル検出装置10で使用される他の探索パターンの例を示す図である。図5において、探索パターン32a−hおよび32a−v、33a、並びに34aは、フレームベクトル探索用の探索パターンであり、探索パターン32b―hおよび32b−v、33b、並びに34bは、フィールドベクトル探索用の探索パターンである。これら3組の探索パターンは、いずれも、図2に示した探索パターン31aおよび31bと同様の特性を有する。したがって、これら3組の探索パターンのいずれを使用した場合にも、探索パターン31aおよび31bを使用した場合と同様の効果がある。
【0075】
また、動きベクトル検出装置10で使用される探索パターンは、必ずしも、探索中心点に隣接した画素の位置を含んでいる必要はない。図6は、動きベクトル検出装置10で使用される他の探索パターンの例を示す図である。図6において、×印は、候補ベクトルを生成しない画素の位置を示している。図6に示す探索パターン35aおよび35bは、図2に示した探索パターン31aおよび31bと同様の特性を有する。したがって、探索パターン35aおよび35bを使用した場合にも、探索パターン31aおよび31bを使用した場合と同様の効果がある。これに加えて、探索パターン35aおよび35bには、類似度の処理量がさらに減るという効果もある。
【0076】
(第2の実施形態)
本発明の第2の実施形態に係る動きベクトル検出装置は、第1の実施形態に係る動きベクトル検出装置と同じく、図1に示す構成を有する。本実施形態に係る動きベクトル検出装置は、フレームベクトル探索用およびフィールドベクトル探索用にそれぞれ複数の探索パターンを有し、これらの探索パターンを切り替えて候補ベクトルを生成することを特徴とする。
【0077】
図7は、本実施形態に係る動きベクトル検出装置で使用される探索パターンを示す図である。図7に示すように、第1の探索パターン記憶部17aには、フレームベクトル探索用の探索パターンとして、3種類の探索パターン31a、32a−hおよび32a−v、並びに33aが記憶されている。また、第2の探索パターン記憶部17bには、フィールドベクトル探索用の探索パターンとして、3種類の探索パターン31b、32b−hおよび32b−v、並びに33bが記憶されている。なお、これら探索パターンの種類および個数は、任意でよい。
【0078】
本実施形態では、探索パターン選択部18は、探索モード21がフレームベクトル探索モードであるときは、第1の探索パターン記憶部17aに記憶された3種類の探索パターンのうち、いずれかを選択して出力する。また、探索パターン選択部18は、探索モード21が第1または第2のフィールドベクトル探索モードであるときは、第2の探索パターン記憶部17bに記憶された3種類の探索パターンのうち、いずれかを選択して出力する。
【0079】
探索パターン選択部18は、各探索モードにおいて、所定の判断基準に従い探索パターンを選択する。例えば、探索パターン選択部18は、与えられた処理時間に余裕がある場合には、探索すべき画素の位置が多い探索パターン(例えば、探索パターン33a)を選択し、与えられた処理時間に余裕がない場合には、探索すべき画素の位置が少ない探索パターン(例えば、探索パターン32a−hおよび32a−v)を選択してもよい。あるいは、探索パターン選択部18は、対象画像の中央にある対象ブロックについては、探索すべき画素の位置が多い探索パターンを選択し、対象画像の周辺にある対象ブロックについては、探索すべき画素の位置が少ない探索パターンを選択してもよい。
【0080】
また、探索パターン選択部18は、各探索モードにおいて、任意の処理単位毎に探索パターンを選択してもよい。例えば、探索パターン選択部18は、1または複数の対象画像ごとに探索パターンを選択してもよく、1または複数の対象ブロックごとに探索パターンを選択してもよい。また、探索パターン選択部18は、フレームベクトル探索用の探索パターンの選択と、フィールドベクトル探索用の探索パターンの選択とを異なる判断基準で異なるタイミングで行ってもよい。また、第1の実施形態と同様に、探索制御部16は、フレームベクトル、第1のフィールドベクトル、および第2のフィールドベクトルを、任意の順序で探索してもよい。
【0081】
以上に示すように、本実施形態に係る動きベクトル検出装置は、逐次探索で使用される探索パターンを1つの探索モード内で切り替える。これにより、状況に応じて類似度の計算量を調整し、インタレース画像に対する動きベクトル検出の精度を調整することができる。
【0082】
(第3の実施形態)
本発明の第3の実施形態に係る動きベクトル検出装置は、第1の実施形態に係る動きベクトル検出装置と同じく、図1に示す構成を有する。本実施形態に係る動きベクトル検出装置は、逐次探索を行うことによりフレームベクトルを検出した後、検出したフレームベクトルを中心とした局所全探索を行うことにより、動きベクトルを検出することを特徴とする。
【0083】
図8は、本実施形態に係る動きベクトル検出装置で使用される探索パターンを示す図である。図8に示すように、第1の探索パターン記憶部17aには、フレームベクトル探索用の探索パターンとして、探索パターン31aが記憶されている。また、第2の探索パターン記憶部17bには、フィールドベクトル探索用の探索パターンとして、探索パターン36bが記憶されている。
【0084】
探索パターン36bは、探索中心点(図示せず)を中心として、所定の長方形領域内にあるすべての画素の位置を含んでいる。より詳細には、探索パターン36bは、水平方向に(4n+1)個、垂直方向に(2n+1)個、全体で(4n+1)×(2n+1)の画素の位置を含んでいる。探索パターン36bは、動きベクトルの局所全探索を行うときに使用される。
【0085】
図9は、本実施形態に係る探索制御部16の動作を示すフローチャートである。図9に示す一連の処理は、対象ブロック毎に実行される。図9に示すステップS301からS312は、ステップS305およびS308を除き、図3に示すステップS101からS112と同じである。探索制御部16は、ステップS305およびS308では、以下に示す局所全探索制御処理を行う。
【0086】
図10は、局所全探索制御処理のフローチャートである。局所全探索制御処理では、逐次探索制御処理(図4)と同様に、変数VおよびSが使用される。探索制御部16は、まず、変数VをステップS302で逐次探索法を用いて検出されたフレームベクトルに、変数Sを無限大に初期化する(ステップS401)。次に、探索制御部16は、変数Vに格納された動きベクトル(フレームベクトル)を探索中心点26として出力する(ステップS402)。
【0087】
候補ベクトル生成部12は、ステップS402で出力された探索中心点26と、探索モード21に応じて選択された探索パターンとに基づき、1以上の候補ベクトルを生成する。本実施形態では、局所全探索制御処理は、探索モード21がフィールドベクトル探索モードであるときに実行される。したがって、候補ベクトル生成部12の探索パターン選択部18は、フィールドベクトル探索用の探索パターン36bを選択する。よって、候補ベクトル生成部12のベクトル計算部19は、探索パターン36bに基づき、(4n+1)×(2n+1)個の候補ベクトルを生成する。
【0088】
探索制御部16は、候補ベクトル生成部12で生成された各候補ベクトルについて、ステップS403からS406の処理を行う。ステップS403からS406は、逐次探索制御処理(図4)におけるステップS203からS206と同じであるので、ここではその説明を省略する。探索制御部16は、すべての候補ベクトルについてステップS403からS406の処理を終えた後(ステップS403のNO)、ステップS407へ進む。探索制御部16は、変数VおよびSに格納された動きベクトルおよび類似度を探索結果として(ステップS407)、局所全探索制御処理を終了する。
【0089】
以上に示すように、本実施形態に係る動きベクトル検出装置は、逐次探索を行うことによりフレームベクトルを検出した後、検出したフレームベクトルを中心として局所全探索を行うことにより、ブロックの動きベクトルを検出する。このように先の探索結果を有効に活用することにより、類似度の計算量を抑えながら、インタレース画像に対する動きベクトル検出の精度を高めることができる。
【0090】
なお、以上の説明では、逐次探索法を用いて検出したフレームベクトルを探索中心点として、フィールドベクトル探索モードで局所全探索を行うこととしたが、これに代えて、逐次探索法により検出したフィールドベクトルを探索中心点として、フレームベクトル探索モードで局所全探索を行うこととしてもよい。また、逐次探索法と同じ構成要素を用いて局所全探索を行うこととしたが、局所全探索を行うための構成要素を別途備えていてもよい。
【0091】
上記各実施形態に係る動きベクトル検出装置における動きベクトル検出方法を実行させるプログラム(以下、動きベクトル検出プログラムという)を、フレキシブルディスク等の記録媒体に記録することにより、上記各実施形態で示した動きベクトル検出処理を、独立したコンピュータシステムにおいて簡単に実施することが可能となる。
【0092】
図11は、上記各実施形態に係る動きベクトル検出装置を、コンピュータシステムと、フレキシブルディスク等の記録媒体に記録されたプログラムとを用いて実現する場合についての説明図である。図11(a)は、フレキシブルディスクの正面からみた外観、断面構造、およびフレキシブルディスク本体を示し、図11(b)は、フレキシブルディスクの物理フォーマットの例を示している。フレキシブルディスク本体FDは、図11(a)に示すように、ケースFCに内蔵されている。また、図11(b)に示すように、フレキシブルディスク本体FDの表面には、同心円状に外周から内周に向かって複数のトラックTrが形成され、各トラックTrは円周方向に16個のセクタSeに分割されている。したがって、動きベクトル検出プログラムを格納したフレキシブルディスクでは、動きベクトル検出プログラムは、フレキシブルディスク本体FD上に割り当てられた所定の領域(セクタ)に記録される。
【0093】
また、図11(c)は、フレキシブルディスクに対して動きベクトル検出プログラムを記録および再生するためのシステム構成を示している。動きベクトル検出プログラムをフレキシブルディスクに記録する場合には、動きベクトル検出プログラムは、コンピュータシステムCsからフレキシブルディスクドライブFDDに転送され、フレキシブルディスクドライブFDDを介してフレキシブルディスク本体FDの所定の領域(セクタ)に書き込まれる。また、フレキシブルディスクに記録された動きベクトル検出プログラムを用いて、コンピュータシステムCsを動きベクトル検出装置として動作させる場合には、動きベクトル検出プログラムは、フレキシブルディスクドライブFDDにより読み出され、コンピュータシステムCsに転送される。
【0094】
なお、以上の説明では、記録媒体としてフレキシブルディスクを用いることとしたが、記録媒体として光ディスクを用いてもよい。また、記録媒体は、これに限らず、ICカード、ROMカセット等、プログラムを記録し再生できるものであれば、いかなる種類のものでもよい。
【0095】
以上に示すように、本発明の各実施形態に係る動きベクトル検出装置および動きベクトル検出方法によれば、インタレース画像に対して逐次探索法を用いた動きベクトル検出を行うときに、フレームベクトルを探索する場合と、フィールドベクトルを探索する場合とで異なる探索パターンが使用される。したがって、フレームベクトル探索用とフィールドベクトル探索用とにそれぞれ特化した探索パターンを使用することにより、動きベクトル検出の精度を高めることができる。また、フィールドベクトル探索用の探索パターンとして、探索中心点と同じフィールド内にある画素の位置(特に、探索中心点のすぐ上およびすぐ下にある画素の位置)を含む探索パターンを使用することにより、フレームベクトルを高精度で検出し、動きベクトル検出の精度を高めることができる。
【図面の簡単な説明】
【図1】本発明の第1の実施形態に係る動きベクトル検出装置の構成を示すブロック図である。
【図2】本発明の第1の実施形態に係る動きベクトル検出装置で使用される探索パターンの例を示す図である。
【図3】本発明の第1の実施形態に係る動きベクトル検出装置の探索制御部の動作を示すメインフローチャートである。
【図4】本発明の第1の実施形態に係る動きベクトル検出装置の探索制御部による逐次探索制御処理を示すフローチャートである。
【図5】本発明の第1の実施形態に係る動きベクトル検出装置で使用される他の探索パターンの例を示す図である。
【図6】本発明の第1の実施形態に係る動きベクトル検出装置で使用される他の探索パターンの例を示す図である。
【図7】本発明の第2の実施形態に係る動きベクトル検出装置で使用される探索パターンの例を示す図である。
【図8】本発明の第3の実施形態に係る動きベクトル検出装置で使用される探索パターンの例を示す図である。
【図9】本発明の第3の実施形態に係る動きベクトル検出装置の探索制御部の動作を示すメインフローチャートである。
【図10】本発明の第3の実施形態に係る動きベクトル検出装置の探索制御部による局所全探索処理を示すフローチャートである。
【図11】本発明の各実施形態に係る動きベクトル検出装置を、コンピュータシステムとプログラムとを用いて実現する場合についての説明図である。
【図12】インタレース画像の説明図である。
【図13】MPEGで規格化された、インタレース画像に対する代表的な動きベクトル検出の説明図である。
【図14】画像符号化装置の構成を示すブロック図である。
【図15】従来の逐次探索法で使用される探索パターンの例を示す図である。
【図16】逐次探索法を用いた動きベクトルの探索結果を示す図である。
【図17】従来の逐次探索法を用いた動きベクトル検出装置の構成を示すブロック図である。
【図18】従来の逐次探索法で使用される他の探索パターンの例を示す図である。
【符号の説明】
10…動きベクトル検出装置
11…探索モード制御部
12…候補ベクトル生成部
13…フレームメモリ
14…動き補償部
15…類似度計算部
16…探索制御部
17…探索パターン記憶部
18…探索パターン選択部
19…ベクトル計算部
21…探索モード
22…候補ベクトル
23…参照画像
24…予測ブロック
25…類似度
26…探索中心点
27、31〜36…探索パターン
Pa〜Pk…画素の位置
Cs…コンピュータシステム
FC…ケース
FD…フレキシブルディスク本体
FDD…フレキシブルディスクドライブ
Se…セクタ
Tr…トラック
Claims (12)
- インタレース画像に含まれる所定数の画素からなるブロック毎に、動きベクトルを検出する動きベクトル検出装置であって、
前記ブロック毎に、動きベクトルの探索モードを、少なくともフレームベクトル探索モードとフィールドベクトル探索モードとに切り替える探索モード制御手段と、
与えられた探索中心点と所定の探索パターンとに基づき、前記探索中心点の近傍にある探索位置を含んだ1以上の候補ベクトルを生成する候補ベクトル生成手段と、
前記探索モードに応じて、参照画像から、各前記候補ベクトルに対応した予測ブロックを求める動き補償手段と、
前記ブロックと各前記予測ブロックとの類似度を計算する類似度計算手段と、
前記候補ベクトルの中から、前記類似度に基づき、前記候補ベクトル生成手段における次回の探索中心点を選択する探索制御手段とを備え、
前記候補ベクトル生成手段は、フレームベクトル探索用とフィールドベクトル探索用とに少なくとも2種類の前記探索パターンを有しており、前記探索モードに応じて、前記候補ベクトルを生成するために使用する探索パターンを切り替えることを特徴とする、動きベクトル検出装置。 - 前記探索制御手段は、前記候補ベクトルの中から、前記類似度に基づき最適と判断される候補ベクトルを、前記候補ベクトル生成手段における次回の探索中心点として選択することを特徴とする、請求項1に記載の動きベクトル検出装置。
- 前記候補ベクトル生成手段が有するフレームベクトル探索用の探索パターンには、前記探索中心点と同じフィールド内にある画素の位置が、少なくとも1つ含まれていることを特徴とする、請求項2に記載の動きベクトル検出装置。
- 前記候補ベクトル生成手段が有するフレームベクトル探索用の探索パターンには、少なくとも、前記探索中心点と同じフィールド内で当該探索中心点のすぐ上にある画素の位置と、前記探索中心点と同じフィールド内で当該探索中心点のすぐ下にある画素の位置とが含まれていることを特徴とする、請求項3に記載の動きベクトル検出装置。
- 前記候補ベクトル生成手段が有するフィールドベクトル探索用の探索パターンには、前記候補ベクトル生成手段が有するフレームベクトル探索用の探索パターンに含まれている画素の位置の一部が含まれていることを特徴とする、請求項2に記載の動きベクトル検出装置。
- 前記候補ベクトル生成手段は、フレームベクトル探索用に少なくとも2種類の前記探索パターンを有しており、前記探索モードがフレームベクトル探索モードである間に、前記候補ベクトルを生成するために使用する探索パターンを切り替えることを特徴とする、請求項2に記載の動きベクトル検出装置。
- 前記候補ベクトル生成手段は、フィールドベクトル探索用に少なくとも2種類の前記探索パターンを有しており、前記探索モードがフィールドベクトル探索モードである間に、前記候補ベクトルを生成するために使用する探索パターンを切り替えることを特徴とする、請求項2に記載の動きベクトル検出装置。
- インタレース画像に含まれる所定数の画素からなるブロック毎に、動きベクトルを検出する動きベクトル検出装置であって、
前記ブロック毎に、動きベクトルの探索モードを、フレームベクトル探索モードとフィールドベクトル探索モードとに切り替える探索モード制御手段と、
前記探索モードがいずれか一方のモードであるときに、逐次探索を行うことにより、前記ブロックの当該モードにおける動きベクトルを検出する逐次探索手段と、
前記探索モードが他方のモードであるときに、前記逐次探索手段で検出された動きベクトルを中心として所定の範囲をすべて探索することにより、前記ブロックの動きベクトルを検出する局所全探索手段とを備えた、動きベクトル検出装置。 - 前記逐次探索手段は、
与えられた探索中心点と所定の探索パターンとに基づき、前記探索中心点の近傍にある探索位置を含んだ1以上の候補ベクトルを生成する候補ベクトル生成手段と、
参照画像から、各前記候補ベクトルに対応した予測ブロックを求める動き補償手段と、
前記ブロックと各前記予測ブロックとの類似度を計算する類似度計算手段と、
前記候補ベクトルの中から、前記類似度に基づき、前記候補ベクトル生成手段における次回の探索中心点を選択する探索制御手段とを含む、請求項8に記載の動きベクトル検出装置。 - インタレース画像に含まれる所定数の画素からなるブロック毎に、動きベクトルを検出する動きベクトル検出方法であって、
前記ブロック毎に、動きベクトルの探索モードを、少なくともフレームベクトル探索モードとフィールドベクトル探索モードとに切り替える探索モード制御ステップと、
与えられた探索中心点と所定の探索パターンとに基づき、前記探索中心点の近傍にある探索位置を含んだ1以上の候補ベクトルを生成する候補ベクトル生成ステップと、
前記探索モードに応じて、参照画像から、各前記候補ベクトルに対応した予測ブロックを求める動き補償ステップと、
前記ブロックと各前記予測ブロックとの類似度を計算する類似度計算ステップと、
前記候補ベクトルの中から、前記類似度に基づき、前記候補ベクトル生成ステップにおける次回の探索中心点を選択する探索制御ステップとを備え、
前記候補ベクトル生成ステップは、フレームベクトル探索用とフィールドベクトル探索用とに少なくとも2種類の前記探索パターンを有しており、前記探索モードに応じて、前記候補ベクトルを生成するために使用する探索パターンを切り替えることを特徴とする、動きベクトル検出方法。 - コンピュータに、インタレース画像に含まれる所定数の画素からなるブロック毎に、動きベクトルを検出する動きベクトル検出方法を実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体であって、前記プログラムは、
前記ブロック毎に、動きベクトルの探索モードを、少なくともフレームベクトル探索モードとフィールドベクトル探索モードとに切り替える探索モード制御ステップと、
与えられた探索中心点と所定の探索パターンとに基づき、前記探索中心点の近傍にある探索位置を含んだ1以上の候補ベクトルを生成する候補ベクトル生成ステップと、
前記探索モードに応じて、参照画像から、各前記候補ベクトルに対応した予測ブロックを求める動き補償ステップと、
前記ブロックと各前記予測ブロックとの類似度を計算する類似度計算ステップと、
前記候補ベクトルの中から、前記類似度に基づき、前記候補ベクトル生成ステップにおける次回の探索中心点を選択する探索制御ステップとを備え、
前記候補ベクトル生成ステップは、フレームベクトル探索用とフィールドベクトル探索用とに少なくとも2種類の前記探索パターンを有しており、前記探索モードに応じて、前記候補ベクトルを求めるために使用する探索パターンを切り替えることを特徴とする、記録媒体。 - コンピュータに、インタレース画像に含まれる所定数の画素からなるブロック毎に、動きベクトルを検出する動きベクトル検出方法を実行させるためのプログラムであって、
前記ブロック毎に、動きベクトルの探索モードを、少なくともフレームベクトル探索モードとフィールドベクトル探索モードとに切り替える探索モード制御ステップと、
与えられた探索中心点と所定の探索パターンとに基づき、前記探索中心点の近傍にある探索位置を含んだ1以上の候補ベクトルを生成する候補ベクトル生成ステップと、
前記探索モードに応じて、参照画像から、各前記候補ベクトルに対応した予測ブロックを求める動き補償ステップと、
前記ブロックと各前記予測ブロックとの類似度を計算する類似度計算ステップと、
前記候補ベクトルの中から、前記類似度に基づき、前記候補ベクトル生成ステップにおける次回の探索中心点を選択する探索制御ステップとを備え、
前記候補ベクトル生成ステップは、フレームベクトル探索用とフィールドベクトル探索用とに少なくとも2種類の前記探索パターンを有しており、前記探索モードに応じて、前記候補ベクトルを求めるために使用する探索パターンを切り替えることを特徴とする、プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003022699A JP2004236023A (ja) | 2003-01-30 | 2003-01-30 | 動きベクトル検出装置および方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003022699A JP2004236023A (ja) | 2003-01-30 | 2003-01-30 | 動きベクトル検出装置および方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004236023A true JP2004236023A (ja) | 2004-08-19 |
Family
ID=32951709
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003022699A Withdrawn JP2004236023A (ja) | 2003-01-30 | 2003-01-30 | 動きベクトル検出装置および方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2004236023A (ja) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2006050651A1 (en) * | 2004-09-29 | 2006-05-18 | Tencent Technology (Shenzhen) Company Limited | Method for performing motion estimation |
JP2007274257A (ja) * | 2006-03-31 | 2007-10-18 | Fujitsu Ltd | 動きベクトル検出装置 |
JP2008242698A (ja) * | 2007-03-27 | 2008-10-09 | Megachips Lsi Solutions Inc | 動き探索方法 |
JP2009015696A (ja) * | 2007-07-06 | 2009-01-22 | Konica Minolta Holdings Inc | 情報処理システム |
KR100880720B1 (ko) * | 2007-01-09 | 2009-02-02 | 한양대학교 산학협력단 | 블록 정합 방식에 따른 고속 움직임 추정 방법 및 그방법을 실행하기 위한 프로그램이 기록된 기록매체 |
WO2009104320A1 (ja) * | 2008-02-21 | 2009-08-27 | シャープ株式会社 | 映像表示装置 |
JP2011010304A (ja) * | 2009-06-25 | 2011-01-13 | Arm Ltd | 動きベクトル推定器 |
-
2003
- 2003-01-30 JP JP2003022699A patent/JP2004236023A/ja not_active Withdrawn
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100903498B1 (ko) | 2004-09-29 | 2009-06-18 | 텐센트 테크놀로지(센젠) 컴퍼니 리미티드 | 동작 추정 방법 |
WO2006050651A1 (en) * | 2004-09-29 | 2006-05-18 | Tencent Technology (Shenzhen) Company Limited | Method for performing motion estimation |
US8804830B2 (en) | 2004-09-29 | 2014-08-12 | Tencent Technology (Shenzhen) Company Limited | Method for performing motion estimation |
JP4531006B2 (ja) * | 2006-03-31 | 2010-08-25 | 富士通株式会社 | 動きベクトル検出装置 |
JP2007274257A (ja) * | 2006-03-31 | 2007-10-18 | Fujitsu Ltd | 動きベクトル検出装置 |
KR100880720B1 (ko) * | 2007-01-09 | 2009-02-02 | 한양대학교 산학협력단 | 블록 정합 방식에 따른 고속 움직임 추정 방법 및 그방법을 실행하기 위한 프로그램이 기록된 기록매체 |
JP2008242698A (ja) * | 2007-03-27 | 2008-10-09 | Megachips Lsi Solutions Inc | 動き探索方法 |
JP2009015696A (ja) * | 2007-07-06 | 2009-01-22 | Konica Minolta Holdings Inc | 情報処理システム |
WO2009104320A1 (ja) * | 2008-02-21 | 2009-08-27 | シャープ株式会社 | 映像表示装置 |
JP2009200802A (ja) * | 2008-02-21 | 2009-09-03 | Sharp Corp | 映像表示装置 |
US8941778B2 (en) | 2008-02-21 | 2015-01-27 | Sharp Kabushiki Kaisha | Video display apparatus |
JP2011010304A (ja) * | 2009-06-25 | 2011-01-13 | Arm Ltd | 動きベクトル推定器 |
US9407931B2 (en) | 2009-06-25 | 2016-08-02 | Arm Limited | Motion vector estimator |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4662636B2 (ja) | 動き推定とブロックマッチング・パターンの改良 | |
US7643559B2 (en) | Coding method, decoding method, coding apparatus, decoding apparatus, image processing system, coding program, and decoding program | |
US9351014B2 (en) | Moving image encoding and decoding system | |
JP5406222B2 (ja) | 連続的な動き推定を利用した映像符号化並びに復号化方法及び装置 | |
US9066099B2 (en) | Methods for efficient implementation of skip/direct modes in digital video compression algorithms | |
US7764740B2 (en) | Fast block mode determining method for motion estimation, and apparatus thereof | |
US8229233B2 (en) | Method and apparatus for estimating and compensating spatiotemporal motion of image | |
US20080002772A1 (en) | Motion vector estimation method | |
US6360014B1 (en) | Image decoding method, image decoding apparatus, and data recording medium | |
US20060165183A1 (en) | Image compression apparatus and image compression method | |
JP2010504010A (ja) | ビデオシーケンスにおけるデータ圧縮方法 | |
JP2003284091A (ja) | 動画像符号化方法及び動画像符号化装置 | |
US20090028241A1 (en) | Device and method of coding moving image and device and method of decoding moving image | |
Young et al. | Automatic layout generation for CMOS operational amplifiers | |
JP2005184233A (ja) | データ処理装置およびその方法と符号化装置 | |
JP2004236023A (ja) | 動きベクトル検出装置および方法 | |
JP2001078197A (ja) | 画像符号化装置、画像符号化方法及び記憶媒体 | |
CN110662074B (zh) | 一种运动矢量确定方法和设备 | |
JP2000350209A (ja) | リアルタイム動映像符号化のための高速動き推定方法及びその装置 | |
JP2007228101A (ja) | 動画像符号化装置 | |
JP5247210B2 (ja) | 動画像符号化装置及び動画像符号化方法 | |
JP2009017107A (ja) | 動画像符号化装置及び動画像符号化方法 | |
JP2008072608A (ja) | 画像符号化装置及び画像符号化方法 | |
JP3901753B2 (ja) | 動きベクトル検出装置及び方法並びに映像信号符号化装置 | |
JP2006108932A (ja) | 複数参照画像を用いた動画像符号化装置、動画像復号装置、動画像符号化方法、動画像復号方法、動画像符号化プログラム及び動画像復号プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20051111 |
|
A761 | Written withdrawal of application |
Free format text: JAPANESE INTERMEDIATE CODE: A761 Effective date: 20061115 |