JP2004229150A - Motion vector searching method and device - Google Patents
Motion vector searching method and device Download PDFInfo
- Publication number
- JP2004229150A JP2004229150A JP2003016877A JP2003016877A JP2004229150A JP 2004229150 A JP2004229150 A JP 2004229150A JP 2003016877 A JP2003016877 A JP 2003016877A JP 2003016877 A JP2003016877 A JP 2003016877A JP 2004229150 A JP2004229150 A JP 2004229150A
- Authority
- JP
- Japan
- Prior art keywords
- search
- motion vector
- image
- motion
- reduced
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
Description
【0001】
【発明の属する技術分野】
本発明は動き補償予測符号化技術に係り、特に多段探索法で用いられる動きベクトル探索方法および装置ならびにコンピュータシステムに関する。
【0002】
【従来の技術】
動画像信号を記録あるいは伝送する際の圧縮符号化では、符号化効率を高めるために画像フレーム間の相関を利用した符号化方法が一般に用いられる。画像フレーム間の相関を利用する符号化方式は動き補償予測符号化と呼ばれ、MPEG (Moving Picture Experts Group)2などで採用されている。
【0003】
動き補償予測符号化では、フレーム間の映像の動きの情報(動きベクトル)と、動きベクトルによって生成される予測画像と符号化中のフレームとの差分画像(予測誤差)を符号化する。画像フレーム間の相関が大きければ、予測誤差が小さくなり、符号化する情報量を小さくでき圧縮率を向上させることができる。動き補償予測符号化では、一般に、フレームを16×16画素などの一定サイズのブロックに分割し、分割したブロックごとに動きベクトルを割り当てる。
【0004】
具体的には、すでに符号化が完了しているフレーム(参照フレーム)の中から、ブロックごとに相関が最も大きくなる場所を探し、そのブロック間の差分を求め、符号化する。相関が大きくなる場所を探す処理を動きベクトル探索という。相関の大小は、参照フレームと符号化中フレームとのブロック内の各画素の差異を総和することで評価できる。
【0005】
指定された探索範囲のすべての点を単純に探索し、相関の大きさを調べれば最適な動きベクトルが得られるが、この方法では演算量が極めて大きくなり現実的でない。演算量を削減するために、初めに粗く第1段の探索をおこない、その探索結果を中心にして細かい第2段の探索を行うのが一般的である。このような方法は多段探索法と呼ばれ、例えば非特許文献1などに開示されている。以下、多段探索法について簡単に説明する。
【0006】
図7(A)は、一般的な多段探索法を説明するための画素配列を示す模式図であり、(B)は第2段の探索の様子を示すシーケンス図である。例えば、初めに第1段の探索として2画素精度探索(図7(A)の”1”でラベルされた位置の探索)を実行し、そのなかで最も相関が大きくなる位置を決定する。 続いて、第1段の探索結果である位置を中心に、第2段の探索として1画素精度探索(図7(A)の”2”でラベルされた位置の探索)を実行し、その中で最も相関が大きくなる位置を最終的な動きベクトルとする。
【0007】
通常、第1段の動きベクトル探索は、フレームをサブサンプリングして解像度を下げたフレームデータを用いる。例えば、フレームデータを縦横ともに半分にして第1段の動きベクトル探索をおこない、その探索結果の周囲を探索範囲として本来の解像度で第2段の探索を実行し、最終的な動きベクトルを求める。たとえば図7(B)に示すように、第2段の探索範囲が縦および横方向±1画素の範囲である場合には、探索範囲内のすべての位置(図7(B)の(a)〜(i))でマッチングが行われる。
【0008】
非特許文献2には、このように解像度を下げて動きベクトルを探索する方法の一例が開示されている。非特許文献2に記載された方法では、解像度を下げて縮小した画像による動きベクトル探索と本来の解像度の画像による動きベクトル探索の2種類の探索を行い、予測誤差が小さくなる探索結果を採用する。
【0009】
たとえば、解像度を下げた探索では、まず符号化対象画像と参照画像とを共に水平方向のみN:1にサブサンプリングし、サブサンプリングされた画像上で動きベクトル探索をおこなう。このときサブサンプリングされた画像上ではブロックのサイズも縮小されるが、マッチング単位は本来の解像度のブロックサイズと同一にしている。つまり、本来の解像度でのブロックサイズが水平方向16画素、垂直方向16画素の場合、水平方向のみサブサンプリングしたことでブロックサイズは水平方向16/N画素、垂直方向16画素となるが、探索は水平方向16画素、垂直方向16画素のままでおこなう。したがって水平方向に隣接するN個のブロックを一度に探索することになる。これにより、もし解像度を下げた探索の探索結果が採用された場合には、隣接するN個のブロックで同じ動きベクトルを持つことになる。また、このときの動きベクトルの精度はサブサンプリングされた画像サイズに依存する。例えば水平方向2:1にサブサンプリングして探索をおこない、この探索結果が最終的な動きベクトルとして採用された場合、本来の解像度上で考えると1画素飛ばしの探索をおこなったことと等価な探索精度となる。
【0010】
また、特許文献1(特開平10−191347号公報)に開示された動き検出方法では、2つのブロックをまとめたセミグローバルブロックを求めて、それに隣接するブロックの動きベクトルを検出することでセミグローバルブロックの大まかな動きを検出する。そして、検出された大まかな位置をサーチ対象としてブロックごとの動きベクトルを検出する。同様に、特許文献2(特開平10−13835号公報)に開示された動き検出方法でも、複数ブロックのうちの1ブロックを代表させて探索している。
【0011】
【非特許文献1】
Renxiang Li 等、“A new three−step search algorithm for block motion estimation”、IEEE Transactions on Circuits and Systems for Video Technology, Vol.4, No.4, August, 1994, pp.438−441
【非特許文献2】
神田等 “ダウンサンプリングによる動きベクトルの広範囲探索”、 映像メディア処理シンポジウム(IMPS96), 1996, pp.99−100
【特許文献1】
特開平10−191347号公報(要約、0029〜0031)。
【特許文献2】
特開平10−13835号公報(要約、0018)。
【0012】
【発明が解決しようとする課題】
しかしながら、非特許文献2で開示されている方法では、2種類の動きベクトル探索法を用いて探索を行っているために演算量が増加するという問題がある。
【0013】
また、解像度を下げた探索の探索結果が採用された場合、隣接する複数のブロックで同一の動きベクトルとなり、かつ、粗い探索による探索結果がそのまま最終的な動きベクトルとなる。このために、画像中の細かい動きに対応することができなくなり探索精度が低下するという問題も生じる。
【0014】
また、特許文献1に開示された方法では、セミグローバルブロックの動きを隣接するブロックの動きで代表させているために、セミグローバルブロック自体の動きを検出していない。特許文献2の方法も同様の代表探索を採用している。このために検索精度が大きく低下する場合が生じうる。
【0015】
本発明の目的は、動きベクトルを高速に探索できる新規な動きベクトル探索方法および装置ならびにコンピュータシステムを提供することにある。
【0016】
本発明の他の目的は、探索精度の低下を最小限に抑えて高速に動きベクトルを探索できる動きベクトル探索方法および装置ならびにコンピュータシステムを提供することにある。
【0017】
【課題を解決するための手段】
本発明による動きベクトル探索装置および方法は、対象画像および参照画像の縦方向及び横方向を縮小して縮小対象画像および縮小参照画像をそれぞれ生成し、これら縮小対象画像および縮小参照画像に基づいて、隣接する複数個のブロックからなる探索単位で第1動きベクトルを探索する。検出された第1動きベクトルにより決定される探索範囲内で、縮小前の画像解像度により1ブロック単位で第2動きベクトルを探索し動きベクトルを決定する。さらに、動画像の動きの複雑度を判定し、動き複雑度に応じて探索単位の大きさを変化させることが望ましい。
【0018】
通常の階層的動きベクトル探索では、1段目探索および2段目探索ともに、ブロックごとに探索をおこない各ブロックの動きベクトルを検出するが、本発明によれば、1段目の探索において隣接する複数のブロックをまとめて一括探索する。水平方向に隣接するNブロック、垂直方向に隣接するMブロックを一まとめにして一括探索すると、N×Mブロックにつき1つの動きベクトルを検出することになる。2段目探索においては、1段目探索の探索結果となった位置を中心として1ブロックごとに探索を行い、最終的な動きベクトルを決定する。最終的な動きベクトルはブロックごとに検出されるので、探索精度の低下を防ぐことができる。
【0019】
このように1段目探索において、複数のブロックをまとめた探索単位で探索することにより、検出するベクトルの本数が少なくなる。したがって、ベクトル検出にかかる演算量が削減され、高速な動きベクトル探索を実現できる。なお、2段目探索においては1ブロックごとに動きベクトルを求めるため、動き探索の精度の低下は最小限に抑えられる。
【0020】
また、1段目探索において複数のブロックを一度に探索することにより、最終的に得られる動きベクトルは隣接するブロック間でその差が小さくなる。そのため、動きベクトルを符号化するために必要となる符号量を少なくすることができ、ブロックデータの符号化のためにより多くの符号量を割り当てることができる。したがって、画質の低下は最小限に抑えられる。
【0021】
【発明の実施の形態】
図1は、本発明による動きベクトル探索装置の第1実施形態を示すブロック図である。図1において、現フレームバッファ101には符号化中のフレームのデータが格納され、参照フレームバッファ102には参照フレームデータが格納されている。サブサンプリング処理部103は現フレームバッファ101および参照フレームバッファ102からそれぞれ現フレームデータおよび参照フレームデータを入力し、サンプリングによって縮小現フレームデータおよび縮小参照フレームデータを生成する。
【0022】
第1段の動き探索処理部104は、縮小現フレームデータおよび縮小参照フレームデータを用いて動き探索を行い、その探索結果である第1段の動きベクトルの位置情報を第2段の動き探索処理部105へ出力する。第2段の動き探索処理部105は、現フレームバッファ101および参照フレームバッファ102から本来の現フレームデータ及び参照フレームデータを入力し、第1段の動きベクトルの位置を中心として詳細な動きベクトル探索を実行する。こうして、最終的な動きベクトルを決定する。
【0023】
サブサンプリング処理103は縦/横の縮小をおこなう縮小処理部111を有し、縮小処理部111により縮小された縮小現フレームデータおよび縮小参照フレームデータは縮小現フレームバッファ112および縮小参照フレームバッファ113にそれぞれ格納される。第1段の動き探索処理部104は、後述するマッチング単抽出部114およびマッチング演算処理部115から構成される。次に、本実施形態の全体的動作について詳細に説明する。
【0024】
図2は第1実施形態の全体的動作を示すフローチャートである。まず、縮小処理部111は、符号化しようとしている現フレームデータを現フレームバッファ101から入力してサブサンプリングする(ステップS201)。同様に、縮小処理部111は、参照フレームデータを参照フレームバッファ102から入力してサブサンプリングする(ステップS202)。
【0025】
次に、フレームの先頭から第1段の探索処理を開始するため、縮小した現フレームの先頭のブロックにポインタを合わせ(ステップS203)、縮小したデータを用いた第1段の動き探索を開始する。まず、第1段の動き探索処理部104のマッチング単位抽出部211は、複数ブロックからなる予め指定されたマッチング単位(水平方向Nブロック×垂直方向Mブロック)を抽出する(ステップS204)。 ここで、NおよびMは1以上の整数である。
【0026】
続いて、マッチング演算処理部212は、抽出されたN×Mブロック領域をマッチング単位として、縮小画像上で動きベクトル探索を実行し(ステップS205)、現フレームの縮小画像と参照フレームの縮小画像との間で相関が一番高くなる位置を決定する。一つ目のブロックの探索が終了したら、まだ探索が行われていない隣接するブロックにポインタを移動させ(ステップS206)、フレーム内のすべてのブロックについて探索が終了するまで、同様の動きベクトル探索を繰り返す(ステップS207)。この第1段探索では、N×Mブロック領域をマッチング単位として一括探索されるために、各ブロックごとではなくN×Mブロックごとに1個の動きベクトルが検出される。
【0027】
第1段の動きベクトル探索が終了すると(ステップS207のYES)、第2段の動き探索処理部105は、現フレームの先頭のブロックにポインタを合わせる(ステップS208)。そして、第1段の探索で決定された動きベクトルを中心に、本来の画像解像度で動きベクトル探索を開始する。すなわち、第2段の動き探索では、第1段動き探索の結果である位置を中心に、1ブロックをマッチング単位として、マッチング処理をおこなう(ステップS209)。一つ目のブロックの探索が終了したら、次のブロックにポインタを移動させ(ステップS210)、すべてのブロックの探索が終了するまで第2段の動き探索を順次実行する(ステップS209〜S211)。フレーム内のすべてのブロックについて探索が終了していたら第2段の探索を終了させ(ステップS211のYES)、最も相関が大きいと判定された位置を最終的な動きベクトルとする。
【0028】
上述した第1実施形態における1段目の動きベクトル探索は、水平方向に隣接したNブロックと垂直方向に隣接したMブロックとからなる画素データをマッチング単位として実行される。そのために、検出される動きベクトルの個数を少なくすることができ、その結果探索に要する演算量が削減され、動きベクトル探索が高速化される。
【0029】
第1段動き探索処理部104では、上述したように、N×Mブロック領域をマッチング単位として一括探索が実行されるために、N×Mブロックで同一の動きベクトルとなる。次に説明する本発明の第2実施形態は、このマッチング単位を画像の動きに応じて変化させることで探索精度の低下を最小限に抑えることが可能である。
【0030】
図3は、本発明による動きベクトル探索装置の第2実施形態を示すブロック図である。なお、図3において、図1に示す第1実施形態と同じ機能を有するブロックには同じ参照番号を付して説明は省略する。第2実施形態は、第1段動き探索処理部304の構成及び動作が第1実施形態のそれらとは異なるので、以下、第1段動き探索処理部304について説明する。
【0031】
図3に示すように、第2実施形態における第1段動き探索処理部304は、動き複雑度判定部314、マッチング単位決定部315、マッチング単位抽出部316、および、マッチング演算処理部317から構成されている。
【0032】
動き複雑度判定部314は、縮小現フレームデータおよび縮小参照フレームデータをサブサンプリング処理部103から入力し、過去の動きベクトルの統計情報や予測誤差の大きさ等に基づいて動きの複雑さを判定する。たとえば、すでに動きベクトルを求めた近隣の複数ブロックにおいてベクトルの方向が一致していない場合、すなわち動きベクトルがバラバラの方向を指している場合に、動きが複雑であると判断する。近隣の複数ブロックにおける動きベクトルの方向の一致の程度(方向の分布の偏りなど)を数量化して動き複雑度を定めてもよい。
【0033】
マッチング単位決定部315は、判定された動きの複雑さに応じてマッチング単位を変化させる。具体的には、動きが複雑であると判断される場合はマッチング単位を小さくする。これによって複雑な動きに対応することができる。また、動きが単調であると判断される場合はマッチング単位を大きくする。これによって探索に要する演算量を削減することができる。
【0034】
マッチング単位抽出部316は決定されたマッチング単位を抽出し、以下、上述したように、抽出されたマッチング単位でマッチング演算処理部317がマッチング処理を実行する。
【0035】
図4は第2実施形態の全体的動作を示すフローチャートである。まず、縮小処理部111は、符号化しようとしている現フレームデータを現フレームバッファ101から入力してサブサンプリングする(ステップS401)。同様に、縮小処理部111は、参照フレームデータを参照フレームバッファ102から入力してサブサンプリングする(ステップS402)。
【0036】
次に、フレームの先頭から第1段の探索処理を開始するため、縮小した現フレームの先頭のブロックにポインタを合わせ(ステップS403)、縮小したデータを用いた第1段の動き探索を開始する。まず、動き複雑度判定部314は過去の動きベクトルの統計情報や予測誤差の大きさ等に基づいて動きの複雑度を判定し(ステップS404)、マッチング単位決定部315は判定された動きの複雑さに応じてマッチング単位の大きさを決定する(ステップS405)。
【0037】
具体的には、動き複雑度が比較的大きいところではマッチング単位(水平方向Nブロック×垂直方向Mブロック)が小さくなり、動き複雑度が比較的小さいところ(動きの単調なところ)ではマッチング単位が大きくなるように、たとえばNおよびMの値を予め定めテーブル化して格納しておく。マッチング単位抽出部211は、決定されたマッチング単位のサイズに応じてマッチング単位を抽出する(ステップS406)。
【0038】
続いて、マッチング演算処理部317は、抽出されたN×Mブロック領域をマッチング単位として、縮小画像上で動きベクトル探索を実行し(ステップS407)、現フレームの縮小画像と参照フレームの縮小画像との間で相関が一番高くなる位置を決定する。一つ目のブロックの探索が終了したら、まだ探索が行われていない隣接するブロックにポインタを移動させ(ステップS408)、フレーム内のすべてのブロックについて探索が終了するまで、同様の動きベクトル探索(ステップS404〜S408)を繰り返す(ステップS409)。この第1段探索では、N×Mブロック領域をマッチング単位として一括探索されているために、第1段探索結果はN×Mブロックで同一の動きベクトルとなる。
【0039】
第1段の動きベクトル探索が終了すると(ステップS409のYES)、第2段の動き探索処理部105は、現フレームの先頭のブロックにポインタを合わせる(ステップS410)。そして、第1段の探索で決定された動きベクトルを中心に、1ブロックをマッチング単位として、マッチング処理をおこなう(ステップS411)。一つ目のブロックの探索が終了したら、次のブロックにポインタを移動させ(ステップS412)、すべてのブロックの探索が終了するまで第2段の動き探索を順次実行する(ステップS411〜S412)。フレーム内のすべてのブロックについて探索が終了していたら第2段の探索を終了させ(ステップS413のYES)、最も相関が大きいと判定された位置を最終的な動きベクトルとする。
【0040】
このように、動きの複雑なところでは小さいマッチング単位で探索し、動きの単調なところでは大きいマッチング単位で探索するため、探索精度の低下をより小さくし、かつ高速な動きベクトル探索が可能となる。
【0041】
【実施例】
次に、横方向の画素数が720、縦方向の画素数が480の動画像を符号化する場合を具体例として、本発明による動きベクトル探索方法について説明する。
【0042】
符号化方式は横方向16画素、縦方向16画素を一つのブロックとして、ブロックごとに動きベクトルを割り当てる方式を採用しているものとし、第1段の動きベクトル探索のマッチング単位が水平方向2ブロック×垂直方向1ブロックに設定されているものとする。
【0043】
図5は、本発明による動きベクトル探索方法の一実施例を説明するための模式的な流れ図である。まず、水平720画素×垂直480画素のオリジナルフレームデータ501を所定の縮小率(ここでは水平および垂直方向に1/2)でサブサンプリングし、水平360画素×垂直240画素の縮小フレームデータ502を生成する。このとき、1ブロックのサイズは、水平8画素×垂直8画素となる。
【0044】
この縮小フレームデータ502を用いて、8×8ブロックの水平方向2個分となる水平16画素×垂直8画素のサイズをマッチング単位として第1段の複数ブロック一括探索を実行する。上述したように、各ブロックにおいて、あらかじめ指定された探索範囲内のすべての点を探索し相関が最も大きくなる位置を探す。ここでは、第1段探索によって、探索中心から左に6画素(−6)、下に3画素の動きベクトル(−6,3)が特定されたと仮定する。
【0045】
次に、第1段の探索で得られた探索結果の画素位置を本来の解像度の画素位置にマッピングする。ここでは、水平および垂直方向に2倍した位置(−12,6)にマッピングされる。マッピングされた位置(−12,6)とそれを中心とする周辺とが1ブロック(16×16)をマッチング単位として探索される。すなわち、第1段で一括探索した2つのブロックそれぞれについて、(−12,6)に基づいて第2段の探索が実行される。このように第1段の探索結果は隣接する2つのブロックで同一のものになっているが、第2段の探索では1ブロックごとに探索を行うために、最終的に得られる動きベクトルはブロックごとに異なるものとなる。
【0046】
このように動きベクトル探索を行うことで、通常の探索よりも高速でかつ精度の良く動きベクトルを検出することができる。
【0047】
図6は、本発明による動きベクトル探索装置の他の実施形態であるコンピュータシステムを示すブロック図である。このコンピュータシステムには、プログラム制御プロセッサ601が装備されている。プログラム制御プロセッサ601には、現フレームバッファ611および参照フレームバッファ612の他に、必要なプログラムを格納したプログラムメモリ602と、縮小現フレームバッファ613および縮小参照フレームバッファ614を含む縮小フレームバッファ603と、が接続されている。
【0048】
プログラムメモリ602には、本発明による動きベクトル探索を実行するためのメインプログラムの他に、上述した縮小処理部615、マッチング単位抽出処理部616、複数ブロックを一括探索する第1段動き探索処理部617、1ブロックごとの探索をおこなう第2段動き探索処理部618をそれぞれ機能的に実現するプログラムモジュールが格納されている。プログラムメモリ602には、更に動き複雑度判定部およびマッチング単位決定部が格納され、本発明の第2実施形態をインプリメントすることもできる。メインプログラムおよび各機能モジュールをプログラム制御プロセッサ601で実行することで、本発明による動きベクトル探索が実行される。
【0049】
【発明の効果】
以上説明したように、本発明による動きベクトル探索方法及び装置は、サブサンプリングを行って第1の探索を実行する際に、隣接する複数ブロックを一括探索する。このように構成することで、演算量が削減され、動きベクトル探索を高速化できる。また、第2探索においては1ブロックごとに探索をおこなうため、動きベクトル探索の精度の低下は最小限に抑えることができる。
【0050】
さらに、第1探索を実行する際に隣接する複数のブロックを一括探索するため、隣同士のブロックの動きベクトルの差が小さくなる。このため、動きベクトルを符号化するために必要となる符号量を少なくすることができ、ブロックデータの符号化のためにより多くの符号量を割り当てることができる。したがって、動きベクトル探索において若干の探索精度低下が見られるが、画質の低下は最小限に抑えることができる。
【0051】
また、本発明によれば、第1の探索において動きの複雑度に応じてマッチング単位を変化させることができる。このために、動きの複雑なところではマッチング単位を小さくし、動きの単調なところでは大きくする、というように動きに応じた適切な探索が可能となり、探索精度の低下をより小さくし、かつ高速な動きベクトル探索が可能となる。
【図面の簡単な説明】
【図1】本発明による動きベクトル探索装置の第1実施形態を示すブロック図である。
【図2】第1実施形態の全体的動作を示すフローチャートである。
【図3】本発明による動きベクトル探索装置の第2実施形態を示すブロック図である。
【図4】第2実施形態の全体的動作を示すフローチャートである。
【図5】本発明による動きベクトル探索方法の一実施例を説明するための模式的な流れ図である。
【図6】本発明による動きベクトル探索装置の他の実施形態であるコンピュータシステムを示すブロック図である。
【図7】(A)は、一般的な多段探索法を説明するための画素配列を示す模式図であり、(B)は第2段の探索の様子を示すシーケンス図である。
【符号の説明】
101 現フレームバッファ
102 参照フレームバッファ
103 サブサンプリング処理部
104 第1段動き探索処理部
105 第2段動き探索処理部
111 縮小処理部
112 縮小現フレームバッファ
113 縮小参照フレームバッファ
114 マッチング単位抽出部
115 マッチング演算処理部
314 動き複雑度判定度判定部
315 マッチング単位決定部
316 マッチング単位抽出部
317 マッチング演算処理部
601 プログラム制御プロセッサ
602 プログラムメモリ
603 縮小フレームバッファ
611 現フレームバッファ
612 参照フレームバッファ
613 縮小現フレームバッファ
614 縮小参照フレームバッファ
615 縮小処理
616 マッチング単位抽出
617 複数ブロックによる1段目探索
618 1ブロックごとの2段目探索[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to a motion compensated predictive coding technique, and more particularly to a motion vector search method and apparatus used in a multi-stage search method, and a computer system.
[0002]
[Prior art]
In compression encoding when recording or transmitting a moving image signal, an encoding method using correlation between image frames is generally used in order to increase encoding efficiency. A coding method using correlation between image frames is called motion compensation prediction coding, and is adopted in MPEG (Moving Picture Experts Group) 2 or the like.
[0003]
In motion-compensated prediction coding, information on motion of a video between frames (motion vector) and a difference image (prediction error) between a predicted image generated by the motion vector and a frame being encoded are encoded. If the correlation between the image frames is large, the prediction error becomes small, the amount of information to be encoded can be reduced, and the compression ratio can be improved. In the motion compensation prediction coding, a frame is generally divided into blocks of a fixed size such as 16 × 16 pixels, and a motion vector is assigned to each of the divided blocks.
[0004]
Specifically, from among frames (reference frames) that have already been encoded, a location where the correlation is highest for each block is searched for, a difference between the blocks is obtained, and encoding is performed. The process of searching for a place where the correlation becomes large is called a motion vector search. The magnitude of the correlation can be evaluated by summing up the differences of each pixel in the block between the reference frame and the frame being encoded.
[0005]
An optimum motion vector can be obtained by simply searching all points in the designated search range and examining the magnitude of the correlation. However, this method is extremely unrealistic because the amount of calculation is extremely large. In general, in order to reduce the amount of calculation, it is common to first perform a coarse first-stage search and then perform a fine second-stage search centering on the search result. Such a method is called a multistage search method and is disclosed in, for example, Non-Patent
[0006]
FIG. 7A is a schematic diagram showing a pixel array for explaining a general multistage search method, and FIG. 7B is a sequence diagram showing a state of a second stage search. For example, first, a two-pixel accuracy search (search for a position labeled “1” in FIG. 7A) is executed as a first-stage search, and a position having the largest correlation is determined. Subsequently, a one-pixel accuracy search (search for a position labeled “2” in FIG. 7A) is executed as a second-stage search centering on the position that is the first-stage search result. The position where the correlation becomes maximum is determined as the final motion vector.
[0007]
Usually, the first-stage motion vector search uses frame data whose resolution is reduced by sub-sampling the frame. For example, the first-stage motion vector search is performed by halving the frame data both vertically and horizontally, and the second-stage search is executed at the original resolution with the surrounding area of the search result as a search range to obtain a final motion vector. For example, as shown in FIG. 7B, when the search range of the second stage is a range of ± 1 pixel in the vertical and horizontal directions, all positions within the search range ((a) in FIG. 7B) ~ (I)) matching is performed.
[0008]
Non-Patent
[0009]
For example, in the search with reduced resolution, first, both the encoding target image and the reference image are subsampled in the horizontal direction at N: 1, and a motion vector search is performed on the subsampled image. At this time, the size of the block is also reduced on the sub-sampled image, but the matching unit is the same as the block size of the original resolution. That is, when the block size at the original resolution is 16 pixels in the horizontal direction and 16 pixels in the vertical direction, the block size is 16 / N pixels in the horizontal direction and 16 pixels in the vertical direction by subsampling only in the horizontal direction. The operation is performed with 16 pixels in the horizontal direction and 16 pixels in the vertical direction. Therefore, N blocks adjacent in the horizontal direction are searched at once. As a result, if the search result of the search with the reduced resolution is adopted, adjacent N blocks have the same motion vector. The accuracy of the motion vector at this time depends on the size of the sub-sampled image. For example, a search is performed by subsampling in the horizontal direction 2: 1. When the search result is adopted as a final motion vector, a search equivalent to a search of skipping one pixel is considered in terms of the original resolution. Accuracy.
[0010]
In addition, in the motion detection method disclosed in Patent Document 1 (Japanese Patent Laid-Open No. Hei 10-191347), a semi-global block obtained by combining two blocks is obtained, and a motion vector of a block adjacent thereto is detected. Detect rough movement of blocks. Then, a motion vector for each block is detected by using the detected rough position as a search target. Similarly, in the motion detection method disclosed in Patent Document 2 (Japanese Patent Application Laid-Open No. 10-13835), a search is performed on behalf of one of a plurality of blocks.
[0011]
[Non-patent document 1]
"A new three-step search algorithm for block motion estimation", IEEE Transactions on Circuits and Systems for Video Games. 4, No. 4, August, 1994, p. 438-441
[Non-patent document 2]
Kanda et al. “Wide-area search of motion vectors by downsampling”, Video Media Processing Symposium (IMPS96), 1996, pp. 99-100
[Patent Document 1]
JP-A-10-191347 (abstract, 0029-0031).
[Patent Document 2]
JP-A-10-13835 (abstract, 0018).
[0012]
[Problems to be solved by the invention]
However, the method disclosed in
[0013]
When the search result of the search with reduced resolution is adopted, the same motion vector is obtained in a plurality of adjacent blocks, and the search result obtained by the coarse search becomes the final motion vector as it is. For this reason, there is also a problem that it is not possible to cope with fine movements in the image, and the search accuracy is reduced.
[0014]
Further, in the method disclosed in
[0015]
An object of the present invention is to provide a novel motion vector search method and apparatus and a computer system capable of searching for a motion vector at high speed.
[0016]
Another object of the present invention is to provide a motion vector search method and apparatus and a computer system that can search for a motion vector at high speed while minimizing a decrease in search accuracy.
[0017]
[Means for Solving the Problems]
A motion vector search device and method according to the present invention reduce a vertical direction and a horizontal direction of a target image and a reference image to generate a reduction target image and a reduced reference image, respectively, and based on the reduction target image and the reduced reference image, A first motion vector is searched for in a search unit including a plurality of adjacent blocks. Within the search range determined by the detected first motion vector, the second motion vector is searched for in units of one block based on the image resolution before reduction, and the motion vector is determined. Furthermore, it is desirable to determine the complexity of the motion of the moving image and change the size of the search unit according to the motion complexity.
[0018]
In the ordinary hierarchical motion vector search, in both the first-stage search and the second-stage search, a search is performed for each block to detect a motion vector of each block. According to the present invention, adjacent motions are detected in the first-stage search. Search multiple blocks at once. When N blocks adjacent in the horizontal direction and M blocks adjacent in the vertical direction are collectively searched for, one motion vector is detected for each N × M block. In the second-stage search, a search is performed for each block centering on the position obtained as the search result of the first-stage search, and a final motion vector is determined. Since the final motion vector is detected for each block, it is possible to prevent a decrease in search accuracy.
[0019]
As described above, in the first-stage search, the number of vectors to be detected is reduced by searching in a search unit in which a plurality of blocks are put together. Therefore, the amount of calculation for vector detection is reduced, and a high-speed motion vector search can be realized. In addition, in the second stage search, since a motion vector is obtained for each block, a decrease in the accuracy of the motion search is minimized.
[0020]
Further, by searching a plurality of blocks at once in the first-stage search, the difference between the finally obtained motion vectors between adjacent blocks is reduced. Therefore, the code amount required for coding the motion vector can be reduced, and a larger code amount can be allocated for coding the block data. Therefore, a decrease in image quality is minimized.
[0021]
BEST MODE FOR CARRYING OUT THE INVENTION
FIG. 1 is a block diagram showing a first embodiment of a motion vector search device according to the present invention. In FIG. 1, data of a frame being encoded is stored in a
[0022]
The first-stage motion search processing unit 104 performs a motion search using the reduced current frame data and the reduced reference frame data, and converts the position information of the first-stage motion vector obtained as a result of the search into the second-stage motion search process. Output to the
[0023]
The
[0024]
FIG. 2 is a flowchart showing the overall operation of the first embodiment. First, the
[0025]
Next, in order to start the first stage search processing from the beginning of the frame, the pointer is set to the first block of the reduced current frame (step S203), and the first stage motion search using the reduced data is started. . First, the matching unit extraction unit 211 of the first-stage motion search processing unit 104 extracts a predetermined matching unit (N blocks in the horizontal direction × M blocks in the vertical direction) composed of a plurality of blocks (step S204). Here, N and M are integers of 1 or more.
[0026]
Subsequently, the matching operation processing unit 212 performs a motion vector search on the reduced image using the extracted N × M block area as a matching unit (step S205), and performs a search on the reduced image of the current frame and the reduced image of the reference frame. The position where the correlation is highest between is determined. When the search for the first block is completed, the pointer is moved to an adjacent block that has not been searched yet (step S206), and the same motion vector search is performed until the search is completed for all blocks in the frame. It repeats (step S207). In the first-stage search, since a collective search is performed using the N × M block area as a matching unit, one motion vector is detected not for each block but for each N × M block.
[0027]
When the first-stage motion vector search ends (YES in step S207), the second-stage motion
[0028]
The first-stage motion vector search in the above-described first embodiment is executed using, as a matching unit, pixel data including N blocks adjacent in the horizontal direction and M blocks adjacent in the vertical direction. Therefore, the number of detected motion vectors can be reduced, and as a result, the amount of calculation required for search is reduced, and the speed of motion vector search is increased.
[0029]
In the first-stage motion search processing unit 104, as described above, since the collective search is performed using the N × M block area as a matching unit, the same motion vector is used for N × M blocks. In the second embodiment of the present invention described below, it is possible to minimize a decrease in search accuracy by changing the matching unit according to the motion of the image.
[0030]
FIG. 3 is a block diagram showing a second embodiment of the motion vector search device according to the present invention. In FIG. 3, blocks having the same functions as those in the first embodiment shown in FIG. 1 are denoted by the same reference numerals, and description thereof will be omitted. In the second embodiment, the configuration and operation of the first-stage motion search processing unit 304 are different from those of the first embodiment. Therefore, the first-stage motion search processing unit 304 will be described below.
[0031]
As shown in FIG. 3, the first-stage motion search processing unit 304 in the second embodiment includes a motion
[0032]
The motion
[0033]
The matching
[0034]
The matching
[0035]
FIG. 4 is a flowchart showing the overall operation of the second embodiment. First, the
[0036]
Next, in order to start the first stage search processing from the beginning of the frame, the pointer is set to the first block of the reduced current frame (step S403), and the first stage motion search using the reduced data is started. . First, the motion
[0037]
Specifically, the matching unit (N blocks in the horizontal direction × M blocks in the vertical direction) becomes smaller where the motion complexity is relatively large, and the matching unit is smaller where the motion complexity is relatively small (where the motion is monotonous). For example, the values of N and M are determined in advance and stored in a table so as to increase. The matching unit extraction unit 211 extracts a matching unit according to the determined size of the matching unit (step S406).
[0038]
Subsequently, the matching
[0039]
When the first-stage motion vector search ends (YES in step S409), the second-stage motion
[0040]
As described above, a search is performed in a small matching unit in a place where a motion is complicated, and a search is performed in a large matching unit in a place where a motion is monotonous. Therefore, a decrease in search accuracy is reduced, and a high-speed motion vector search becomes possible. .
[0041]
【Example】
Next, the motion vector search method according to the present invention will be described with a specific example in which a moving image having 720 pixels in the horizontal direction and 480 pixels in the vertical direction is encoded.
[0042]
It is assumed that the encoding method adopts a method in which 16 pixels in the horizontal direction and 16 pixels in the vertical direction are treated as one block and a motion vector is assigned to each block. X It is assumed that one block is set in the vertical direction.
[0043]
FIG. 5 is a schematic flowchart for explaining one embodiment of the motion vector search method according to the present invention. First,
[0044]
Using the reduced
[0045]
Next, the pixel positions of the search result obtained in the first-stage search are mapped to the pixel positions of the original resolution. Here, it is mapped to a position (-12, 6) doubled in the horizontal and vertical directions. The mapped position (−12, 6) and its surroundings are searched using one block (16 × 16) as a matching unit. That is, for each of the two blocks that have been collectively searched for in the first stage, the second stage search is performed based on (-12, 6). As described above, the search result of the first stage is the same for two adjacent blocks, but since the search of the second stage is performed for each block, the motion vector finally obtained is a block. Will be different for each.
[0046]
By performing the motion vector search in this way, it is possible to detect a motion vector at higher speed and with higher accuracy than a normal search.
[0047]
FIG. 6 is a block diagram showing a computer system which is another embodiment of the motion vector search device according to the present invention. This computer system is equipped with a
[0048]
In the
[0049]
【The invention's effect】
As described above, the motion vector search method and apparatus according to the present invention perform a collective search for a plurality of adjacent blocks when performing the first search by performing subsampling. With this configuration, the amount of calculation is reduced, and the speed of motion vector search can be increased. Further, in the second search, a search is performed for each block, so that a decrease in the accuracy of the motion vector search can be minimized.
[0050]
Furthermore, since a plurality of adjacent blocks are searched collectively when the first search is executed, a difference between motion vectors of adjacent blocks is reduced. For this reason, it is possible to reduce the code amount required for coding the motion vector, and it is possible to allocate a larger code amount for coding the block data. Therefore, a slight decrease in search accuracy is found in the motion vector search, but a decrease in image quality can be minimized.
[0051]
Further, according to the present invention, in the first search, the matching unit can be changed according to the complexity of the motion. For this reason, it is possible to perform an appropriate search according to the motion, for example, by reducing the matching unit in a place where the motion is complicated, and to increase the unit in a case where the motion is monotonous. It is possible to search for a suitable motion vector.
[Brief description of the drawings]
FIG. 1 is a block diagram showing a first embodiment of a motion vector search device according to the present invention.
FIG. 2 is a flowchart showing an overall operation of the first embodiment.
FIG. 3 is a block diagram showing a second embodiment of the motion vector search device according to the present invention.
FIG. 4 is a flowchart showing an overall operation of the second embodiment.
FIG. 5 is a schematic flowchart for explaining one embodiment of a motion vector search method according to the present invention.
FIG. 6 is a block diagram showing a computer system which is another embodiment of the motion vector search device according to the present invention.
FIG. 7A is a schematic diagram showing a pixel array for explaining a general multi-stage search method, and FIG. 7B is a sequence diagram showing a state of a second-stage search.
[Explanation of symbols]
101
Claims (8)
対象画像および参照画像の縦方向及び横方向を縮小して縮小対象画像および縮小参照画像をそれぞれ生成する画像縮小手段と、
前記縮小対象画像および縮小参照画像に基づいて、隣接する複数個のブロックからなる探索単位で第1動きベクトルを探索する第1探索手段と、
前記第1動きベクトルにより決定される探索範囲内で、前記縮小前の画像解像度により1ブロック単位で第2動きベクトルを探索し前記動きベクトルを決定する第2探索手段と、
を有することを特徴とする動きベクトル探索装置。In an apparatus for searching for a motion vector in video coding,
Image reduction means for reducing the vertical direction and the horizontal direction of the target image and the reference image to generate a reduction target image and a reduced reference image, respectively;
A first search unit that searches for a first motion vector in a search unit including a plurality of adjacent blocks based on the reduction target image and the reduced reference image;
A second search unit that searches for a second motion vector in block units based on the image resolution before the reduction in the search range determined by the first motion vector and determines the motion vector;
A motion vector search device comprising:
前記動画像の動きの複雑度を判定する動き複雑度判定手段と、
前記動き複雑度に応じて、前記探索単位の大きさを変化させる探索単位決定手段と、
を有することを特徴とする請求項1記載の動きベクトル探索装置。The first search means further comprises:
Motion complexity determining means for determining the complexity of the motion of the moving image;
A search unit determining unit that changes a size of the search unit according to the motion complexity;
2. The motion vector search device according to claim 1, comprising:
対象画像および参照画像の縦方向及び横方向を縮小して縮小対象画像および縮小参照画像をそれぞれ生成し、
前記縮小対象画像および縮小参照画像に基づいて、隣接する複数個のブロックからなる探索単位で第1動きベクトルを探索し、
前記第1動きベクトルにより決定される探索範囲内で、前記縮小前の画像解像度により1ブロック単位で第2動きベクトルを探索することで前記動きベクトルを決定する、
ことを特徴とする動きベクトル探索方法。In a method of searching for a motion vector in video coding,
Reduce the vertical and horizontal directions of the target image and the reference image to generate a reduction target image and a reduced reference image, respectively,
A first motion vector is searched for in a search unit including a plurality of adjacent blocks based on the reduced target image and the reduced reference image,
Within the search range determined by the first motion vector, the motion vector is determined by searching for a second motion vector in block units based on the image resolution before the reduction.
A motion vector search method, characterized in that:
対象画像データを格納する対象画像バッファと、
参照画像を格納する参照画像バッファと、
動画像の符号化における動きベクトル探索をコンピュータに実行させるための命令からなるプログラムを格納するメモリと、
前記プログラムを実行するプログラム制御プロセッサと、
を有し、前記プログラムは、少なくとも、
前記対象画像および前記参照画像を縮小し、縮小対象画像および縮小参照画像をそれぞれ生成する画像縮小部と、
前記縮小対象画像および縮小参照画像に基づいて第1動きベクトルを探索する際に隣接する複数のブロックを探索単位として一度に探索する第1探索部と、
前記第1動きベクトルにより決定される位置の探索範囲内で、前記縮小前の画像解像度により1ブロックごとに第2動きベクトルを探索して前記動きベクトルを決定する第2探索部と、
からなることを特徴とするコンピュータシステム。In a computer system that executes a motion vector search in encoding of a moving image,
A target image buffer for storing target image data;
A reference image buffer for storing the reference image;
A memory for storing a program consisting of instructions for causing a computer to execute a motion vector search in video encoding,
A program control processor that executes the program;
And the program comprises at least:
An image reduction unit that reduces the target image and the reference image, and generates a reduction target image and a reduced reference image, respectively;
A first search unit that searches a plurality of adjacent blocks at a time as a search unit when searching for a first motion vector based on the reduction target image and the reduced reference image;
A second search unit that searches for a second motion vector for each block based on the image resolution before reduction within the search range of the position determined by the first motion vector to determine the motion vector;
A computer system comprising:
対象画像および参照画像の縦方向及び横方向を縮小して縮小対象画像および縮小参照画像をそれぞれ生成するステップと、
前記縮小対象画像および縮小参照画像に基づいて、隣接する複数個のブロックからなる探索単位で第1動きベクトルを探索する第1探索ステップと、
前記第1動きベクトルにより決定される探索範囲内で、前記縮小前の画像解像度により1ブロック単位で第2動きベクトルを探索することで前記動きベクトルを決定する第2探索ステップと、
を有することを特徴とするコンピュータプログラム。A computer program comprising instructions for causing a computer to execute a motion vector search in encoding of a moving image,
Generating a reduced target image and a reduced reference image by reducing the vertical direction and the horizontal direction of the target image and the reference image, respectively;
A first search step of searching for a first motion vector in search units consisting of a plurality of adjacent blocks based on the reduction target image and the reduced reference image;
A second search step of determining the motion vector by searching a second motion vector for each block in the search range determined by the first motion vector with the image resolution before the reduction,
A computer program comprising:
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003016877A JP4228705B2 (en) | 2003-01-27 | 2003-01-27 | Motion vector search method and apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003016877A JP4228705B2 (en) | 2003-01-27 | 2003-01-27 | Motion vector search method and apparatus |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004229150A true JP2004229150A (en) | 2004-08-12 |
JP4228705B2 JP4228705B2 (en) | 2009-02-25 |
Family
ID=32904176
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003016877A Expired - Fee Related JP4228705B2 (en) | 2003-01-27 | 2003-01-27 | Motion vector search method and apparatus |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4228705B2 (en) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006115312A (en) * | 2004-10-15 | 2006-04-27 | Mie Tlo Co Ltd | Motion detector and motion detecting method |
WO2007057986A1 (en) * | 2005-11-15 | 2007-05-24 | Sharp Kabushiki Kaisha | Motion vector calculation device and motion vector calculation method |
WO2007057985A1 (en) * | 2005-11-21 | 2007-05-24 | Sharp Kabushiki Kaisha | Image encoding apparatus and image encoding method |
JP2009027437A (en) * | 2007-07-19 | 2009-02-05 | Fujifilm Corp | Image processor, image processing method and imaging device |
JP2010288110A (en) * | 2009-06-12 | 2010-12-24 | Sony Corp | Image processing apparatus and method |
US8929449B2 (en) | 2010-07-30 | 2015-01-06 | Canon Kabushiki Kaisha | Motion vector detection apparatus, motion vector detection method, and computer-readable storage medium |
-
2003
- 2003-01-27 JP JP2003016877A patent/JP4228705B2/en not_active Expired - Fee Related
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006115312A (en) * | 2004-10-15 | 2006-04-27 | Mie Tlo Co Ltd | Motion detector and motion detecting method |
WO2007057986A1 (en) * | 2005-11-15 | 2007-05-24 | Sharp Kabushiki Kaisha | Motion vector calculation device and motion vector calculation method |
JP2007142521A (en) * | 2005-11-15 | 2007-06-07 | Sharp Corp | Apparatus and method for calculating motion vector |
CN101080930B (en) * | 2005-11-15 | 2010-06-16 | 夏普株式会社 | Motion vector calculation device and motion vector calculation method |
WO2007057985A1 (en) * | 2005-11-21 | 2007-05-24 | Sharp Kabushiki Kaisha | Image encoding apparatus and image encoding method |
US8300695B2 (en) | 2005-11-21 | 2012-10-30 | Sharp Kabushiki Kaisha | Image encoding apparatus and image encoding method |
JP2009027437A (en) * | 2007-07-19 | 2009-02-05 | Fujifilm Corp | Image processor, image processing method and imaging device |
JP2010288110A (en) * | 2009-06-12 | 2010-12-24 | Sony Corp | Image processing apparatus and method |
US8542741B2 (en) | 2009-06-12 | 2013-09-24 | Sony Corporation | Image processing device and image processing method |
US8929449B2 (en) | 2010-07-30 | 2015-01-06 | Canon Kabushiki Kaisha | Motion vector detection apparatus, motion vector detection method, and computer-readable storage medium |
Also Published As
Publication number | Publication date |
---|---|
JP4228705B2 (en) | 2009-02-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP1430724B1 (en) | Motion estimation and/or compensation | |
US7050502B2 (en) | Method and apparatus for motion vector detection and medium storing method program directed to the same | |
JP2007026459A (en) | Method and apparatus for global-to-local block motion estimation | |
JP2000106674A (en) | Method and device for detecting motion | |
KR100984953B1 (en) | Image data retrieval | |
JP2004129099A (en) | Motion vector searching method and device | |
JP2004229150A (en) | Motion vector searching method and device | |
JP2008060836A (en) | Motion vector search method and device | |
JPH09261646A (en) | Motion detector for image | |
US7773673B2 (en) | Method and apparatus for motion estimation using adaptive search pattern for video sequence compression | |
JP3175914B2 (en) | Image encoding method and image encoding device | |
US20040247032A1 (en) | Motion vector detection device and motion vector detection method | |
CN113489988B (en) | HEVC integer pixel motion estimation method and device | |
JP4488805B2 (en) | Motion vector detection apparatus and method | |
JPH0262178A (en) | Motion detection system for picture processor | |
JP2006217486A (en) | Motion compensation type ip conversion processor and processing method | |
JPH11215502A (en) | Motion vector detector and its method | |
JP2000134628A (en) | Method and device for motion vector detection | |
KR100926440B1 (en) | Block matching motion estimation apparatus for picture coding | |
JPH08242454A (en) | Method for detecting global motion parameter | |
JP2000102015A (en) | Motion vector detector and motion vector detection method | |
JPH07288817A (en) | Motion vector detector | |
JP2868441B2 (en) | Motion vector search method and search device | |
JPH11110563A (en) | Method and device for detecting motion of object | |
JPH04180383A (en) | Motion vector searching circuit for predictive encoding between motion compensating frames |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050822 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20070802 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070807 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20071009 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080819 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20081016 |
|
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: 20081111 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20081124 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111212 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111212 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121212 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121212 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131212 Year of fee payment: 5 |
|
LAPS | Cancellation because of no payment of annual fees |