JP2007141206A - 動き検出回路と動き検出処理エレメント - Google Patents

動き検出回路と動き検出処理エレメント Download PDF

Info

Publication number
JP2007141206A
JP2007141206A JP2006132808A JP2006132808A JP2007141206A JP 2007141206 A JP2007141206 A JP 2007141206A JP 2006132808 A JP2006132808 A JP 2006132808A JP 2006132808 A JP2006132808 A JP 2006132808A JP 2007141206 A JP2007141206 A JP 2007141206A
Authority
JP
Japan
Prior art keywords
output
result
processing
data
receive
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
Application number
JP2006132808A
Other languages
English (en)
Other versions
JP4391495B2 (ja
Inventor
Hsing-Chien Yang
楊行健
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Novatek Microelectronics Corp
Original Assignee
Novatek Microelectronics Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Novatek Microelectronics Corp filed Critical Novatek Microelectronics Corp
Publication of JP2007141206A publication Critical patent/JP2007141206A/ja
Application granted granted Critical
Publication of JP4391495B2 publication Critical patent/JP4391495B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/14Picture signal circuitry for video frequency region
    • H04N5/144Movement detection
    • H04N5/145Movement estimation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/223Analysis of motion using block-matching

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Image Analysis (AREA)
  • Image Processing (AREA)

Abstract

【課題】高効率の動き検出オペレーションを達成する動き検出回路、及び、要求されるデータに対する並行処理を実行できるように複数の演算回路を使用する動き検出処理エレメントを提供する。
【解決手段】動き検出回路内のラッチモジュールは、n個のm段シフトレジスタを有する。各シフトレジスタはカレントブロックデータを受信し、上記受信されたカレントブロックデータをタイミングに従って次の段へ送信する。処理モジュールは複数の処理エレメント(PE)を有し、これらは(m+1)個のグループに分割される。i番目のグループのPEは左側探索ウィンドウデータ及び右側探索ウィンドウデータを受信し、i番目のラッチ段の入力端及び出力端に結合される。但し、0<i≦mである。各PEは各々、探索ウィンドウ内の対応するブロック候補とカレントブロックとの類似度を比較し、処理結果を出力する。比較ユニットは、上記処理結果を受信して比較し、第1の比較結果を出力する。
【選択図】図1

Description

本発明は動き検出(モーションエスティメーション)回路に関し、特には、動き検出回路(ME回路)と、高効率の動き検出オペレーションを達成するように高効率のデータ再利用を特徴とするシストリックアレイアーキテクチャ(systolic array architecture)の優位点、及び、多点データを1クロックサイクル内で同時に処理する能力を特徴とする加算器ツリー(adder-tree)アーキテクチャの優位点の双方を組み合わせる動き検出処理エレメント(ME処理エレメント)とに関する。
従来の動き検出回路(ME回路)アーキテクチャは、主として加算器ツリーアーキテクチャとシストリックアレイアーキテクチャとに分類することができる。加算器ツリーを基礎とするアーキテクチャは、大部分が3ステップの探索アルゴリズム、4ステップの探索アルゴリズム、ダイヤモンド探索アルゴリズムまたは他の非フル探索アルゴリズムを実装するために使用される。加算器ツリーを基礎とするアーキテクチャのハードウェア構成は、複数の処理エレメント(PE)を使用して個々の動作ベクトル(MV)候補により要求されるデータの並行処理を実行することを特徴とする。しかしながら、加算器ツリーアーキテクチャは複数のMV候補を同時に処理することができず、よってデータ再利用の効率は極めて低い。
シストリックアレイアーキテクチャは、通常、フル探索アルゴリズムまたは階層探索アルゴリズムを達成する。このアーキテクチャは、主に、複数のMV候補の同時処理を実行する能力を有し、そのパイプライン特性を使用してデータ再利用の効率を高め、データバスにより要求される帯域幅を低減させることを特徴としている。従来のシストリックアレイにおける処理エレメントは1クロックサイクル内で2つのピクセルを比較することができるが、加算器ツリーアーキテクチャで実行可能である16点データまたは32点データに対するマッピング処理の同時的実行はできない。
本発明の目的は、高効率の動き検出オペレーションを達成するように高効率のデータ再利用を特徴とするシストリックアレイアーキテクチャの優位点及び多点データを1クロックサイクル内で同時に処理する能力を特徴とする加算器ツリーアーキテクチャの優位点の双方を取り入れる動き検出回路を提供することにある。
本発明の別の目的は、加算器ツリーアーキテクチャを有し、要求されるデータに対する並行処理を実行できるように複数の演算回路を使用する動き検出処理エレメント(MEPE)を提供することにある。
本発明は、探索ウィンドウ(SW)においてカレントブロック(CB)に最も類似するブロックを探索するための動き検出回路(ME回路)を提供し、SWは左側探索ウィンドウ(左SW)と右側探索ウィンドウ(右SW)とで形成される。この動き検出回路は、ラッチモジュールと、処理モジュールと、比較ユニットとを含む。ラッチモジュールはn個のシフトレジスタを有し、各シフトレジスタはm段のラッチを有し、各シフトレジスタはカレントブロックデータを受信してこれをタイミングシーケンスに従って次の段へ送信する。ここで、nは2以上の整数であり、mは1以上の整数である。処理モジュールは複数の処理エレメントを有し、各処理エレメントは左SWデータ及び右SWデータを受信する。ここで、処理エレメントは、各々シフトレジスタ内のラッチの対応する段に結合するm+1個のグループに分割される。i番目のグループの処理エレメントはi番目のラッチ段の入力端及び出力端の双方へ結合され、iは1以上、m以下の整数である。各処理エレメントは探索ウィンドウにおける対応するブロック候補とカレントブロックとの類似度を比較するために使用され、各々その処理結果を出力する。比較ユニットは処理モジュールに結合され、各処理結果を受信して比較し、次いで第1の比較結果を出力する。
本発明の上記実施形態における動き検出回路によれば、上述の処理モジュールは左SWのデータと、右SWのデータと、カレントブロックのデータとを受信し、探索ウィンドウ内の対応するブロック候補及びカレントブロックに対して絶対差の合計(SAD)演算を実行する。
本発明の上記実施形態における動き検出回路によれば、上述の比較ユニットはタイミングシーケンスに従って処理エレメントから出力される処理結果を受信して比較するためのものであり、上記処理結果はカレントブロックと対応するブロック候補との類似度を表す。比較ユニットは、上記処理結果から最も大きい類似度を有するものを選択して出力する。
本発明の上記実施形態における動き検出回路によれば、上述の比較ユニットは、複数の第1のセレクタと、第1の比較器と、第2のセレクタと、ラッチ比較器とを含む。第1のセレクタの各々は、各グループの処理エレメントにおける対応する処理エレメントから出力される処理結果を受信して選択するためと、選択された処理結果を出力するためのものである。第1の比較器は上記第1のセレクタの各々に結合され、各第1のセレクタによって選択されかつ上記セレクタによって出力される処理結果を受信して比較し、さらに第2の比較結果を出力する。第2のセレクタは上記第1の比較器に結合され、0番目のグループの処理エレメントから出力される処理結果及び第2の比較結果の双方を受信して選択し、さらに選択結果を出力する。ラッチ比較器は第2のセレクタに結合され、上記選択結果を受信して上記受信した選択結果をラッチ比較器内に登録された先の第1の比較結果と比較し、第1のカレント比較結果を出力する。
本発明はさらに、探索ウィンドウ内のブロック候補とカレントブロックとの類似度を計算しかつ処理結果を出力するための動き検出処理エレメント(MEPE)を提供し、上記探索ウィンドウは左SW及び右SWによって形成される。MEPEは、n個のセレクタと、n個の演算回路と、蓄積回路とを含み、nは2以上の整数である。各セレクタは各々、左SWのデータ及び右SWのデータを受信して選択し、各々選択されたデータを出力する。各演算回路は対応するセレクタに結合され、対応する選択されたデータ及びカレントブロックのデータを受信して各々絶対差(AD)演算を実行しかつ演算結果を出力する。蓄積回路は上記演算回路の各々に結合され、あらゆる演算結果を受信して蓄積し、さらに処理結果を出力する。
本発明の上記実施形態における動き検出処理エレメント(MEPE)によれば、上述の演算回路は、減算器と、第1のマルチプレクサと、絶対値回路とを含む。減算器は選択されたデータ及びカレントブロックのデータを受信し、減法演算を実行して減算結果を出力する。第1のマルチプレクサは上記減算器に結合され、データ「0」及び減算結果の一方を選択してさらに選択結果を出力する。絶対値回路は上記第1のマルチプレクサに結合され、選択結果を受信して絶対値演算を実行し、さらに演算結果を出力する。
本発明の上記実施形態における動き検出処理エレメント(MEPE)によれば、上述の蓄積回路は第1の加算器と、蓄積ラッチ回路とを含む。第1の加算器は上記演算結果の各々を受信して加法演算を実行し、第1の合計値を出力する。蓄積ラッチ回路は上記第1の加算器に結合され、上記第1の合計値を受信して上記受信した第1の合計値を蓄積ラッチ回路に登録された先の処理結果に加算し、さらにカレント処理結果を出力する。
本発明の上記実施形態における動き検出処理エレメント(MEPE)によれば、上述の蓄積ラッチ回路は第2のマルチプレクサと、第2の加算器と、フリップフロップとを含む。第2のマルチプレクサはデータ「0」または処理結果のいずれかを受信してこれらの一方を選択し、選択結果を出力する。第2の加算器は上記選択結果及び第1の合計値を受信して加法演算を実行し、さらに第2の合計値を出力する。フリップフロップは上記第2の加算器に結合され、上記第2の合計値を受信して登録し、さらに処理結果を出力する。
本発明は、高効率のデータ再利用を特徴とするシストリックアレイアーキテクチャの優位点及び多点データを1クロックサイクル内で同時に処理する能力を特徴とする加算器ツリーアーキテクチャの優位点の双方を取り入れることから、従来のシストリックアレイアーキテクチャにより要求される演算時間を短縮し、データ再利用の効率を上げ、データ送信のための帯域幅要件を低減させることができる。従って、高効率の動き検出オペレーションを実行するという目的が達成される。
添付の図面は本発明をさらに理解するために包含され、本明細書に組み込まれ、その一部を構成する。諸図面は本発明の実施形態を示し、その説明と共に本発明の原理を説明する働きをする。
図1は、一実施形態による動き検出回路の略図である。図1を参照すると、動き検出回路100は、カレントブロック(例えば、図4におけるカレントブロックCU)に最も類似する探索ウィンドウ(例えば、図4における探索ウィンドウSW)においてブロックを探索するためのものである。上記探索ウィンドウは、左側探索ウィンドウ(例えば、図4における左側探索ウィンドウSL)及び右側探索ウィンドウ(例えば、図4における右側探索ウィンドウSR)によって形成される。
動き検出回路100において、ラッチモジュール110はn個のシフトレジスタ(nは2以上の整数)を有し、各シフトレジスタはm段のラッチ(mは1以上の整数)を有する。例えば、ラッチFF11〜FF1m、ラッチFF21〜FF2m至るラッチFFn1〜FFnmはm番目の段のシフトレジスタをn個形成する。各シフトレジスタは、カレントブロックデータCUを受信し、これをタイミングに従って次の段へ送る。あらゆるラッチは、例えばD型フリップフロップである。
処理モジュール120はラッチモジュール110と比較ユニット130との間に結合され、左側探索ウィンドウデータSL、右側探索ウィンドウデータSR及びカレントブロックデータCUを受信して探索ウィンドウ内の複数のブロック候補及びカレントブロックに対し類似度演算を実行する。この場合の上述の類似度演算は、例えば絶対差総和演算(SAD演算)である。処理モジュール120は複数の処理エレメントPE01〜PEmnを有し、各処理エレメントは左側探索ウィンドウデータSL及び右側探索ウィンドウデータSRを同時に受信する。各処理エレメントは、図1に示すように0番目のグループPS0、1番目のグループPS1至るm番目のPSm等の(m+1)個のグループに分割されることが可能である。この場合、0番目のグループPS0はカレントブロックデータCUを直接受信し、その他のグループは各々、各シフトレジスタ内のラッチの対応する段の出力端及び入力端の双方へ結合される。例えば、1番目のグループPS1の処理エレメントPE11〜PE1nは、全てのシフトレジスタ内の対応する1番目のラッチ段(即ち、FF11,FF21,...,FFn1)の出力端及びその入力端の双方へ結合される。
より詳しくは、1番目のグループ(他のグループも同様)において、第1の処理エレメントPE11は1番目のラッチ段の1番目のラッチFF11からラッチFF(n−1)1(本図には示されていない)までの入力端及び1番目のラッチ段のラッチFFn1の出力端に結合され、第2の処理エレメント(図示されていない)は1番目のラッチ段のラッチFF11からラッチFF(n−2)1(図示されていない)までの入力端及び1番目のラッチ段のラッチFF(n−1)1(図示されていない)からラッチFFn1までの出力端に結合され、残りのグループも同様にして結合される。従って、(n−1)番目の処理エレメントPE1(n−1)は1番目のラッチFF11の入力端及び2番目のラッチFF21からn番目のラッチFFn1までの出力端の双方に結合され、最後にn番目の処理エレメントPE1nは1番目のラッチ段の1番目のラッチFF11からラッチFFn1までの出力端に結合される。
あらゆる処理エレメントは各々、タイミングに従って対応するカレントブロックデータCU、左側探索ウィンドウデータSL及び右側探索ウィンドウデータSRを受信して探索ウィンドウ内の対応するブロック候補とカレントブロックとの類似度を評価し、処理結果SAD01〜SADmnを出力する。比較ユニット130は処理モジュール120から出力される処理結果SAD01〜SADmnを受信して比較し、比較結果131を出力する。言い換えれば、比較ユニット130はタイミングに従って処理エレメントPE01〜PEmnから出力される処理結果SAD01〜SADmnを受信して比較し、上記処理結果SAD01〜SADmnは各々、カレントブロックと対応するブロック候補との類似度を表す。比較ユニット130は、処理結果SAD01〜SADmnから最も高い類似度を有するものを選ぶ。
本実施形態では、上述の処理エレメントPE01〜PEmnにおける処理エレメントはどれも図2を参照して実装されることが可能であり、よって以後は、簡単にするために、処理エレメントPE01について説明する。図2は、本発明の一実施形態による動き検出処理エレメントの回路ブロック図である。図2を参照すると、処理エレメントPE01は、セレクタ210−1〜210−nと、演算回路220−1〜220−nと、蓄積回路230とを含む。セレクタ210−1〜210−nは各々、左側探索ウィンドウデータSLのデータ(入力端L1〜Lnから入力される)及び右側探索ウィンドウデータSRのデータ(入力端R1〜Rnから入力される)を受信して選択し、次に各々上記選択されたデータを出力する。
演算回路220−1〜220−nは各々、対応するセレクタから出力される上記選択されたデータ及びカレントブロックデータCU(入力端C1〜Cnから入力される)を受信して絶対差(AD)演算を実行し、演算結果を出力する。蓄積回路230は演算回路220−1〜220−nから出力される全ての演算結果を受信して蓄積し、処理結果SAD01を出力する。
本実施形態において、上述の演算回路(例示として演算回路220−1のみを採り上げる)は減算器221と、マルチプレクサ222と、絶対値回路223とを含む。減算器221はセレクタ210−1からの選択されたデータ及び入力端C1から入力されるカレントブロックデータの双方を受信し、続いて、受信したこれらの2つのデータに対して減法演算を実行して減算結果を出力する。マルチプレクサ222はデータ「0」及び減算器221からの減算結果の一方を選択し、選択結果を出力する。絶対値回路223はマルチプレクサ222から上記選択結果を受信し、続いて絶対値演算を実行して演算結果を出力する。
上述の蓄積回路230は、例えば加算器231と、蓄積ラッチ回路232とを含む。加算器231は演算回路220−1〜220−nから全ての演算結果を受信し、続いて加法演算を実行して第1の合計値を出力する。蓄積ラッチ回路232は加算器231からの上記第1の合計値及び蓄積ラッチ回路232に登録された先の処理結果を受信し、続いて加法演算を実行してカレント処理結果SAD01を出力する。
この場合、蓄積ラッチ回路232は、例えばマルチプレクサ233と、加算器234と、フリップフロップ235とを含む。マルチプレクサ233はデータ「0」及び上記処理結果SAD01を受信し、一方を選択して選択結果を出力する。加算器234は、マルチプレクサ233からの上記選択結果及び加算器231からの第1の合計値を受信し、続いて加法演算を実行して第2の合計値を出力する。フリップフロップ235は加算器234から上記第2の合計値を受信し、タイミングに従って上記受信した第2の合計値を登録して処理結果SAD01を出力する。特に、処理エレメントPE01がブロック候補とカレントブロックとの間のマッピングを完了して処理結果SAD01を出力した後、次のブロック候補とカレントブロックとの比較演算の実行開始時に、マルチプレクサ233は、フリップフロップ235が加算器234からの第1の合計値をその内部メモリ状態をリセットすることなく直接登録するようにデータ「0」を選択する。
本実施形態では、図1における比較ユニット130は図3を参照して実装されることが可能である。図3は、本発明の一実施形態による図1に示す比較ユニットの回路ブロック図である。図3を参照すると、比較ユニット130は第1のセレクタ310−1〜310−nと、第1の比較器320と、第2の比較器330と、ラッチ比較器340とを含む。第1のセレクタ310−1〜310−nの各々は、あらゆる処理エレメントグループ(0番目のグループPS0を除く)の対応する処理エレメントから出力される全ての処理結果を受信して選択し、続いて上記選択された処理結果を出力する。例えば、第1のセレクタ310−1は処理エレメントの全てのグループPS1〜PSmの第1の処理エレメント(即ち、図1における処理エレメントPE11,...,PEm1)に結合され、処理結果SAD11,...,SADm1を受信する。同様に、第1のセレクタ310−nは全ての処理エレメントの全てのグループPS1〜PSmのn番目の処理エレメント(即ち、図1における処理エレメントPE1n,...,PEmn)に結合され、処理結果SAD1n,...,SADmnを受信する。
第1の比較器320は、第1のセレクタ310−1〜310−nによって選択されかつこれらから出力される処理結果を受信して比較し、比較結果321を出力する。例えば、第1の比較器320は第1のセレクタ310−1〜310−nによって選択されかつこれらから出力される処理結果を比較して全ての処理結果の中から最小値を取得し、上記最小値を出力する。第2のセレクタ330は、処理結果SAD01及び0番目のグループ(図1におけるPS0)の処理エレメントPE01から出力される比較結果321を受信して選択し、選択結果331を出力する。
ラッチ比較器340は上記選択結果331を受信し、受信した選択結果331をラッチ比較器340に登録された先の比較結果131と(例えば最小のものを基準にして)比較し、カレント比較結果131を出力する。ラッチ比較器340は、例えば第2の比較器341と、フリップフロップ343とを含む。第2の比較器341は比較結果131及び選択結果331を受信して比較し、比較結果342を出力する。上記フリップフロップは上記比較結果342を受信して比較結果342をラッチし、タイミングに従って比較結果131を出力する。
図4における16×16カレントブロックCU及び32×32探索ウィンドウSWを例示として採り上げ、本発明をさらに詳しく説明する。上記探索ウィンドウSWは左側探索ウィンドウSLと右側探索ウィンドウSRとによって形成され、SL及びSRは共に16×32ブロックである。図4における各ボックスは、上記ブロックの1つのエレメントデータを表す(画像処理の場合、各ボックスは1つのピクセルデータを表す)。各ボックス内の数字(16進法形式)は、ブロック内の相対位置座標を表す。
記述した本例では、上述の実施形態におけるn及びmを4と想定しているが、当業者であれば、n及びmを実際の要件に従って設定することが可能であり、4に限定されない。
次に、本発明の動き検出回路の別の実施形態について述べる。本実施形態には多くのコンポーネントが存在するため、説明の簡易化のため、本実施形態の略回路図は図5Aと図5Bとに分割されている。言い換えれば、図5A及び図5Bは双方で第2の実施形態の完全な回路を示している。図6は、探索ウィンドウデータ及び図4におけるカレントブロックデータを図5A及び5Bの略動き検出回路500へ供給するためのタイミング図である。図4、5A、5B及び6を参照すると、処理エレメントPE01〜PE44は各々、カレントブロック及び対応するブロック候補に対して類似度演算を実行する。例えば、カレントブロックCUの初回走査として、処理エレメントPE01は16×16カレントブロックCU及び左側探索ウィンドウSLにおける(0,0)〜(f,f)エレメントによって形成される16×16ブロック候補に対して類似度演算を実行し、次に処理エレメントPE11は16×16カレントブロックCU及び左側探索ウィンドウSLにおける(0,1)〜(f,f)エレメント及び右側探索ウィンドウSRにおける(0,0)〜(f,0)エレメントによって形成される16×16ブロック候補に対して類似度演算を実行する。残りの処理エレメントの場合も同様に、例えば、処理エレメントPE44は16×16カレントブロックCU及び右側探索ウィンドウSRにおける(0,0)〜(f,f)エレメントによって形成される16×16ブロック候補に対して類似度演算を実行する。
本実施形態では、左側探索ウィンドウデータSL、右側探索ウィンドウデータSR及びカレントブロックデータCUが各々入力端SL1〜SL4、SR1〜SR4及びCU1〜CU4から動き検出回路500へ隣接する4エレメントデータずつ並行入力される。例えば、タイミングT1において、左側探索ウィンドウSL内の4つのエレメントデータ(0,0)、(0,1)、(0,2)及び(0,3)は各々入力端SL1〜SL4から動き検出回路500へ並行入力される。同時に、カレントブロックCU内の4つのエレメントデータ(0,0)、(0,1)、(0,2)及び(0,3)も各々入力端CU1〜CU4から動き検出回路500へ並行入力される。但し、タイミングT2では、左側探索ウィンドウSL内のエレメントデータ(0,4)、(0,5)、(0,6)及び(0,7)及びカレントブロックCU内のエレメントデータ(0,4)、(0,5)、(0,6)及び(0,7)が各々入力端SL1〜SL4及び入力端CU1〜CU4から動き検出回路500へ並行入力され、他も同様にして並行入力される。
左側探索ウィンドウSL内の第1の行のデータ送信が完了すると、左側探索ウィンドウSL内の第2の行のデータ送信が右側探索ウィンドウSRの送信を伴って開始される。例えば、タイミングT5では、左側探索ウィンドウSL内のエレメントデータ(1,0)、(1,1)、(1,2)及び(1,3)及びカレントブロックCU内のエレメントデータ(1,0)、(1,1)、(1,2)及び(1,3)が各々入力端SL1〜SL4及び入力端CU1〜CU4から動き検出回路500へ並行入力される。一方では、右側探索ウィンドウSR内の4つのエレメントデータ(0,0)、(0,1)、(0,2)及び(0,3)の各々入力端SR1〜SR4から動き検出回路500への並行入力が開始され、他も同様にして並行入力される。
動き検出回路500において、ラッチモジュールは4個のシフトレジスタを有し、これらは各々ラッチFF11〜FF14、FF21〜FF24、FF31〜FF34及びFF41〜FF44によって形成される。各シフトレジスタは、タイミングに従って入力端CU1〜CU4からデータを受信し、受信したデータを各々次の段へ送る。この場合、各ラッチはD型フリップフロップである。
処理モジュールは複数の処理エレメントPE01〜PE44を有し、各処理エレメントは同時に左側探索ウィンドウデータSL及び右側探索ウィンドウデータSRを受信して、例えば絶対差総和演算(SAD演算)である類似度演算を実行する。図5A及び5Bには、処理エレメントPE01に関する入力端のみが記され、残りの処理エレメントPE11〜PE44については示されていないが、処理エレメントPE01〜PE44を表す全てのブロックは類似回路であることに留意されたい。言い換えれば、処理エレメントPE01〜PE44の対応する入力/出力端の名称及び定義は同じである。以下、図7を参照して、処理エレメントPE01〜PE44の内部回路を処理エレメントPE01によってさらに詳しく説明する。
図5A及び5Bにおいて、全ての処理エレメントは5つのグループに分かれ、0番目のグループは処理エレメントPE01によって形成され、1番目のグループは処理エレメントPE11〜PE14によって形成され、2番目のグループは処理エレメントPE21〜PE24によって形成され、3番目のグループは処理エレメントPE31〜PE34によって形成され、4番目のグループは処理エレメントPE41〜PE44によって形成される。処理エレメントPE01が直接入力端CU1〜CU4に結合される0番目のグループを除いて、他のグループは各々各シフトレジスタ内の対応するラッチ段の入力端及び出力端に結合される。1番目のグループを例にとると、処理エレメントPE11の入力端C1はラッチFF41の出力端に結合され、その入力端C2〜C4は各々ラッチFF11、FF21及びFF31の入力端に結合される。処理エレメントPE12の入力端C1〜C2は各々ラッチFF31及びFF41の出力端に結合され、その入力端C3〜C4は各々ラッチFF11及びFF21の入力端に結合される。処理エレメントPE13の入力端C1〜C3はラッチFF21及びFF41の出力端に結合され、その入力端C4はラッチFF11の入力端に結合される。処理エレメントPE14の入力端C1〜C4は各々、ラッチFF11、FF21、FF31及びFF41の出力端に結合される。同様に、残りのグループの処理エレメントも、図5A及び5Bに示すように対応するラッチの入力端及び出力端に結合される。
各処理エレメントは、タイミングに従って対応するカレントブロックデータCU、対応する左側探索ウィンドウデータSL及び対応する右側探索ウィンドウデータSRを受信し、続いて対応するブロック候補とカレントブロックとの類似度を比較して各々処理結果SAD01〜SAD44を出力する。比較ユニット530は処理エレメントPE01〜PE44からの全ての処理結果SAD01〜SAD44を受信して比較し、比較結果501を出力する。
本実施形態では、上述の処理エレメントPE01〜PE44の何れもが図7を参照して実装されることが可能であり、よってここでは図5Aにおける処理エレメントPE01のみについて説明する。図7は、本発明の別の実施形態による動き検出処理エレメントの回路ブロック図である。図7を参照すると、処理エレメント700(例えば、図5Aにおける処理エレメントPE01と等価)は、セレクタ710−1〜710−4と、演算回路720−1〜720−4と、蓄積回路730とを含む。セレクタ710−1〜710−4は各々、入力端L1〜L4からの左側探索ウィンドウデータSL及び入力端R1〜R4からの右側探索ウィンドウデータSRを受信して選択し、各々上記選択されたデータを出力する。
演算回路720−1〜720−4は各々、対応するセレクタ710−1〜710−4からの上記選択されたデータ及び(対応する入力端C1〜Cnからの)カレントブロックデータCUを受信して絶対差演算(AD演算)を実行し、各々演算結果を出力する。演算回路720−1〜720−4は図2における演算回路220−1〜220−nと同じものであり、簡略のために説明を省く。
蓄積回路730は演算回路720−1〜720−4からの全ての演算結果を受信し、上記カレントブロック全体の演算結果が取得されるまで上記受信した結果を蓄積し、取得した時点で処理結果SAD01が出力される。図6に示すように、タイミングT65において、処理エレメントPE01は最終の演算結果sad0を出力する。加えて、1番目のグループの処理エレメントPE11〜PE14はラッチFF11、FF21、FF31及びFF41の第1の段からの出力データを待たなければならないことから、1番目のグループの処理エレメントPE11〜PE14は、0番目のグループに比べて1クロックサイクル周期分遅延して(図6に示すタイミングT66において)最終的な演算結果sad1〜sad4を得る。同様に、2番目のグループの処理エレメントPE21〜PE24はラッチFF12、FF22、FF32及びFF42の第2の段からの出力データを待たなければならないことから、1番目のグループの処理エレメントPE21〜PE24は、0番目のグループに比べて2クロックサイクル周期分遅延して最終的な演算結果を得る。
上述の蓄積回路730は、例えば加算器731と、蓄積ラッチ回路732とを含む。加算器731は演算回路720−1〜720−4から全ての演算結果を受信し、続いて加法演算を実行して第1の合計値を出力する。この場合、加算器731は加算器ツリーアーキテクチャに従って演算回路720−1〜720−4からの全ての演算結果を逐次蓄積し、最終の第1の合計値を得ることができる。ラッチ回路732は加算器731からの上記最終の第1の合計値を受信し、上記受信された値を蓄積ラッチ回路732に登録された先の処理結果SADに加算してカレント処理結果SAD(例えば、図5Aにおける処理結果SAD01)を出力する。蓄積ラッチ回路732は図2における蓄積ラッチ回路232と同じものであってもよく、よって簡略のために説明を省く。
本実施形態においては、図5A及び5Bにおける比較ユニット530は図8を参照して実装されることが可能である。図8は、本発明の別の実施形態による図5A及び5Bにおける比較ユニット530の回路ブロック図である。図8を参照すると、比較ユニット530は第1のセレクタ810−1〜810−nと、第1の比較器820と、第2の比較器830と、ラッチ比較器840とを含む。第1のセレクタ810−1〜810−nの各々は、あらゆる処理エレメントグループ(0番目のグループを除く)の対応する処理エレメントから出力される全ての処理結果を受信して選択し、続いて上記選択された処理結果を出力する。例えば、第1のセレクタ810−1は全ての処理エレメントの全てのグループの第1の処理エレメント(即ち、図5A及び5Bにおける処理エレメントPE11、PE21、PE31、及びPE41)に結合され、処理結果SAD11、SAD21、SAD31及びSAD41を受信する。同様に、第1のセレクタ810−2は全ての処理エレメントグループの第2の処理エレメント(即ち、図5A及び5Bにおける処理エレメントPE12、PE22、PE32及びPE42)に結合され、処理結果SAD12、SAD22、SAD32及びSAD42を受信する。他の第1のセレクタも、同様である。
第1の比較器820は、第1のセレクタ810−1〜810−4によって選択されかつこれらから出力される処理結果を受信し、比較結果821を出力する。例えば、比較器822は第1のセレクタ810−1〜810−2によって選択されかつこれらから出力される処理結果を比較して出力するために使用され、一方で比較器823は第1のセレクタ810−3〜810−4によって選択されかつこれらから出力される処理結果を比較するために使用されて最小値を取得し、上記最小値を出力する。この後、比較器824は比較器822からの出力を比較器823からの出力と比較して最小値を取得し、上記最小値を出力する。
第2の比較器830は、0番目のグループの処理エレメント(図5AにおけるPE01)からの処理結果SAD01及び比較結果821を受信して選択し、次にこれらを比較して選択結果831を出力する。ラッチ比較器840は上記選択結果831を受信し、上記受信した結果831をラッチ比較器840に登録された先の比較結果501と比較して小さい方を取得し、カレント比較結果501を出力する。この場合のラッチ比較器840は図3における蓄積ラッチ回路340と同じものであってもよく、簡略のために説明を省く。
当業者には、本発明の範囲または精神から逸脱することなく、本発明の構造に様々な改良及び変更を行い得ることが明らかであろう。以上の説明に鑑みて、上記明細及び例は単なる例示であるとされるべきものであり、本発明の真の範囲及び精神は添付のクレーム及びその等価物によって指示されている。
本発明の一実施形態による動き検出回路の略図である。 本発明の一実施形態による動き検出処理エレメントの回路ブロック図である。 本発明の一実施形態による図1に示す比較ユニットの回路ブロック図である。 本発明の一実施形態による16×16カレントブロック及び32×32探索ウィンドウを示す図である。 本発明の別の実施形態による動き検出回路の略図である。 本発明の別の実施形態による動き検出回路の略図である。 図4に示す探索ウィンドウデータ及びカレントブロックデータを図5A及び5Bの略動き検出回路へ供給するためのタイミング図である。 本発明の別の実施形態による動き検出処理エレメントの回路ブロック図である。 本発明の別の実施形態による図5A及び5Bに示す比較ユニットの回路ブロック図である。
符号の説明
100 検出回路
110 ラッチモジュール
120 処理モジュール
130 比較ユニット
131 比較結果
210 セレクタ
220 演算回路
221 減算器
222 マルチプレクサ
223 絶対値回路
230 蓄積回路
231 加算器
232 蓄積ラッチ回路
233 マルチプレクサ
234 加算器
235 フリップフロップ
310 セレクタ
320 比較器
321 比較結果
330 比較器
331 選択結果
340 ラッチ比較器
341 比較器
342 比較結果
343 フリップフロップ
500 検出回路
501 比較結果
530 比較ユニット
700 処理エレメント
710 セレクタ
720 演算回路
730 蓄積回路
731 加算器
732 蓄積ラッチ回路
810 セレクタ
820 比較器
821 比較結果
822 比較器
823 比較器
824 比較器
830 比較器
831 選択結果
840 ラッチ比較器

Claims (14)

  1. 左側探索ウィンドウと右側探索ウィンドウとを備える探索ウィンドウ内のカレントブロックに最も類似するブロックを探索するために使用される動き検出回路において、
    n個のシフトレジスタを有するラッチモジュールであって、上記シフトレジスタの各々はm段のラッチを有し、かつ上記カレントブロックのデータを受信し、上記受信したカレントブロックのデータをタイミングに従って次の段へ送信するために使用され、nは2以上の整数であり、mは1以上の整数であるラッチモジュールと、
    複数の処理エレメントを有する処理モジュールであって、上記処理エレメントの各々は上記左側探索ウィンドウのデータ及び上記右側探索ウィンドウのデータを受信し、上記処理エレメントは上記シフトレジスタ内の全ての段の対応するラッチを結合するために(m+1)個のグループに分割され、上記i番目のグループの処理エレメントは上記対応するシフトレジスタ内のi番目のラッチ段の出力端と、上記対応するシフトレジスタ内のi番目のラッチ段の入力端とに結合され、iは1以上、m以下の整数であり、上記処理エレメントの各々は上記探索ウィンドウ内の対応するブロック候補と上記カレントブロックとの類似度を比較するために使用されて各々処理結果を出力する処理モジュールと、
    上記処理モジュールに結合され、上記処理結果を受信して比較し、第1の比較結果を出力するために使用される比較ユニットと、
    を備える動き検出回路。
  2. 上記ラッチはフリップフロップである請求項1記載の動き検出回路。
  3. 上記処理モジュールは、上記左側探索ウィンドウのデータと、上記右側探索ウィンドウのデータと、上記カレントブロックのデータとを受信し、上記探索ウィンドウ内の対応するブロック候補及び上記カレントブロックに対して絶対差の総和(SAD)演算を実行する請求項1記載の動き検出回路。
  4. 上記処理エレメントの各々は、
    各々上記左側探索ウィンドウのデータと上記右側探索ウィンドウのデータとを受信、選択し、各々選択されたデータを出力するために使用されるn個のセレクタと、
    各々上記対応するセレクタに結合される、上記選択されたデータ及び上記カレントブロックのデータを受信して絶対差(AD)演算を実行し、各々演算結果を出力するために使用されるn個の演算回路と、
    上記演算回路に結合される、上記演算結果を受信して蓄積し、上記処理結果を出力するために使用される蓄積回路と、を備える請求項1記載の動き検出回路。
  5. 上記演算回路の各々は、
    上記選択されたデータ及び上記カレントブロックのデータを受信して減法演算を実行し、減算結果を出力するために使用される減算器と、
    上記減算器に結合される、「0」データまたは上記減算結果の一方を選択して選択結果を出力するために使用される第1のマルチプレクサと、
    上記第1のマルチプレクサに結合される、上記選択結果を受信して絶対値演算を実行し、上記演算結果を出力するために使用される絶対値回路と、を備える請求項4記載の動き検出回路。
  6. 上記蓄積回路は、
    上記演算結果を受信して加法演算を実行し、第1の合計値を出力するために使用される第1の加算器と、
    上記第1の加算器に結合される、上記第1の合計値及び蓄積ラッチ回路内に登録された先の処理結果を受信して加法演算を実行し、カレント処理結果を出力するために使用される蓄積ラッチ回路と、を備える請求項4記載の動き検出回路。
  7. 上記蓄積ラッチ回路は、
    上記「0」データまたは上記処理結果を受信していずれかを選択し、選択結果を出力するために使用される第2のマルチプレクサと、
    上記選択結果及び上記第1の合計値を受信して加法演算を実行し、第2の合計値を出力するために使用される第2の加算器と、
    上記第2の加算器に結合される、上記第2の合計値を受信して登録し、上記処理結果を出力するために使用されるフリップフロップと、を備える請求項6記載の動き検出回路。
  8. 上記比較ユニットは、タイミングに従って上記処理エレメントから出力される処理結果を受信して比較するために使用され、上記処理結果は各々上記カレントブロックと上記対応するブロック候補との類似度を示し、上記処理結果から最も高い類似度を有するものが選択されて出力される請求項1記載の動き検出回路。
  9. 上記比較ユニットは、
    n個の第1のセレクタを備え、上記第1のセレクタの各々は、あらゆるグループの処理エレメント内の対応する処理エレメントから出力される処理結果を受信して選択し、上記選択された処理結果を出力するために使用され、
    上記第1のセレクタに結合される、上記第1のセレクタから出力されかつ上記第1のセレクタによって選択される処理結果を受信して比較し、第2の比較結果を出力するために使用される第1の比較器と、
    上記第1の比較器に結合される、上記0番目のグループの処理エレメントから出力される処理結果と上記第2の比較結果を受信して比較し、選択結果を出力するために使用される第2のセレクタと、
    上記第2のセレクタに結合される、上記選択結果と上記ラッチ比較器内に登録された先の第1の比較結果とを受信して第1のカレント比較結果を出力するために使用されるラッチ比較器と、を備える請求項8記載の動き検出回路。
  10. 上記ラッチ比較器は、
    上記第1の比較結果と上記選択結果とを受信して比較し、第3の比較結果を出力するために使用される第2の比較器と、
    上記第2の比較器に結合される、上記第3の比較結果を受信して登録し、上記第1の比較結果を出力するために使用されるフリップフロップと、を備える請求項9記載の動き検出回路。
  11. 左側探索ウィンドウと右側探索ウィンドウとを備えた探索ウィンドウ内のブロック候補とカレントブロックとの類似度を計算して処理結果を出力するために使用される動き検出処理エレメントにおいて、
    各々上記左側探索ウィンドウのデータと上記右側探索ウィンドウのデータとを受信して選択し、各々選択されたデータを出力するために使用される、2以上の整数であるn個のセレクタと、
    各々上記対応するセレクタに結合される、上記選択されたデータ及び上記カレントブロックのデータを受信して絶対差(AD)演算を実行し、演算結果を出力するために使用されるn個の演算回路と、
    上記演算回路に結合される、上記演算結果を受信して蓄積し、処理結果を出力するために使用される蓄積回路と、
    を備える動き検出処理エレメント。
  12. 上記演算回路の各々は、
    上記選択されたデータ及び上記カレントブロックのデータを受信して減法演算を実行し、減算結果を出力するために使用される減算器と、
    上記減算器に結合される、「0」データまたは上記減算結果のいずれかを選択して選択結果を出力するために使用される第1のマルチプレクサと、
    上記第1のマルチプレクサに結合される、上記選択結果を受信して絶対値演算を実行し、上記演算結果を出力するために使用される絶対値回路と、
    を備える請求項11記載の動き検出処理エレメント。
  13. 上記蓄積回路は、
    上記演算結果を受信して加法演算を実行し、第1の合計値を出力するために使用される第1の加算器と、
    上記第1の加算器に結合される、上記第1の合計値及び蓄積ラッチ回路内に登録された先の処理結果を受信して加法演算を実行し、カレント処理結果を出力するために使用される蓄積ラッチ回路と、
    を備える請求項11記載の動き検出処理エレメント。
  14. 上記蓄積ラッチ回路は、
    上記「0」データまたは上記処理結果を受信していずれかを選択し、選択結果を出力するために使用される第2のマルチプレクサと、
    上記選択結果及び上記第1の合計値を受信して加法演算を実行し、第2の合計値を出力するために使用される第2の加算器と、
    上記第2の加算器に結合される、上記第2の合計値を受信して登録し、上記処理結果を出力するために使用されるフリップフロップと、
    を備える請求項13記載の動き検出処理エレメント。
JP2006132808A 2005-11-15 2006-05-11 動き検出回路と動き検出処理エレメント Expired - Fee Related JP4391495B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW94140034A TWI296091B (en) 2005-11-15 2005-11-15 Motion estimation circuit and motion estimation processing element

Publications (2)

Publication Number Publication Date
JP2007141206A true JP2007141206A (ja) 2007-06-07
JP4391495B2 JP4391495B2 (ja) 2009-12-24

Family

ID=38040793

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006132808A Expired - Fee Related JP4391495B2 (ja) 2005-11-15 2006-05-11 動き検出回路と動き検出処理エレメント

Country Status (3)

Country Link
US (1) US7894518B2 (ja)
JP (1) JP4391495B2 (ja)
TW (1) TWI296091B (ja)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI239474B (en) * 2004-07-28 2005-09-11 Novatek Microelectronics Corp Circuit for counting sum of absolute difference
TWI295540B (en) * 2005-06-15 2008-04-01 Novatek Microelectronics Corp Motion estimation circuit and operating method thereof
TWI296091B (en) * 2005-11-15 2008-04-21 Novatek Microelectronics Corp Motion estimation circuit and motion estimation processing element
US20070217515A1 (en) * 2006-03-15 2007-09-20 Yu-Jen Wang Method for determining a search pattern for motion estimation
US8904671B2 (en) 2006-05-25 2014-12-09 Nike, Inc. Footwear incorporating a tensile element with a deposition layer
US8184696B1 (en) * 2007-09-11 2012-05-22 Xilinx, Inc. Method and apparatus for an adaptive systolic array structure
KR20090032261A (ko) * 2007-09-27 2009-04-01 삼성전자주식회사 움직임 추정에 기초하여 움직임 보상을 수행하는 영상 처리장치 및 그 방법
KR101578052B1 (ko) * 2008-04-02 2015-12-17 삼성전자주식회사 움직임 추정 장치 및 이를 구비하는 동영상 부호화 장치
US8887410B2 (en) 2012-02-24 2014-11-18 Nike, Inc. Articles of footwear with tensile strand elements
US8925129B2 (en) 2012-02-24 2015-01-06 Nike, Inc. Methods of manufacturing articles of footwear with tensile strand elements
CN105847828B (zh) * 2016-01-29 2019-02-05 西安邮电大学 一种用于整数运动估计的参考块像素更新并行实现方法

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB8910960D0 (en) * 1989-05-12 1989-06-28 Secr Defence Digital processor for two's complement computations
US5696836A (en) 1995-03-17 1997-12-09 Lsi Logic Corporation Motion estimation processor architecture for full search block matching
JPH1079947A (ja) * 1996-09-03 1998-03-24 Mitsubishi Electric Corp 動きベクトル検出装置
JP3352931B2 (ja) * 1997-12-26 2002-12-03 沖電気工業株式会社 動きベクトル検出装置
US6731706B1 (en) * 1999-10-29 2004-05-04 Intel Corporation Square root raised cosine symmetric filter for mobile telecommunications
US6650688B1 (en) * 1999-12-20 2003-11-18 Intel Corporation Chip rate selectable square root raised cosine filter for mobile telecommunications
US7245651B1 (en) * 1999-12-20 2007-07-17 Intel Corporation Dual mode filter for mobile telecommunications
US7072395B2 (en) * 2001-07-20 2006-07-04 Ess Technology, Inc. Memory control apparatus and efficient search pattern for block-matching motion estimation
US20030198295A1 (en) * 2002-04-12 2003-10-23 Liang-Gee Chen Global elimination algorithm for motion estimation and the hardware architecture thereof
US7342964B2 (en) * 2003-07-15 2008-03-11 Lsi Logic Corporation Multi-standard variable block size motion estimation processor
KR100597397B1 (ko) * 2003-11-06 2006-07-07 삼성전자주식회사 고속 움직임추정 알고리즘을 갖는 동영상 코딩방법 및 장치
US7894526B2 (en) * 2004-02-27 2011-02-22 Panasonic Corporation Motion estimation method and moving picture coding method
KR100994773B1 (ko) * 2004-03-29 2010-11-16 삼성전자주식회사 계층적 움직임 추정에 있어서 움직임 벡터 생성 방법 및장치
US20050286641A1 (en) * 2004-05-24 2005-12-29 Jun Cao Finite impulse response de-emphasis with inductive shunt peaking for near-end and far-end signal integrity
KR100606140B1 (ko) * 2004-11-09 2006-08-01 (주)씨앤에스 테크놀로지 적응적 모드 결정에 의한 움직임 예측방법
US20060120455A1 (en) * 2004-12-08 2006-06-08 Park Seong M Apparatus for motion estimation of video data
TWI257817B (en) * 2005-03-08 2006-07-01 Realtek Semiconductor Corp Method and apparatus for loading image data
US20070074007A1 (en) * 2005-09-28 2007-03-29 Arc International (Uk) Limited Parameterizable clip instruction and method of performing a clip operation using the same
KR101276720B1 (ko) * 2005-09-29 2013-06-19 삼성전자주식회사 카메라 파라미터를 이용하여 시차 벡터를 예측하는 방법,그 방법을 이용하여 다시점 영상을 부호화 및 복호화하는장치 및 이를 수행하기 위한 프로그램이 기록된 기록 매체
TWI296091B (en) * 2005-11-15 2008-04-21 Novatek Microelectronics Corp Motion estimation circuit and motion estimation processing element

Also Published As

Publication number Publication date
TWI296091B (en) 2008-04-21
TW200719213A (en) 2007-05-16
US7894518B2 (en) 2011-02-22
US20070110164A1 (en) 2007-05-17
JP4391495B2 (ja) 2009-12-24

Similar Documents

Publication Publication Date Title
JP4391495B2 (ja) 動き検出回路と動き検出処理エレメント
US10423414B2 (en) Parallel processing in hardware accelerators communicably coupled with a processor
US7782957B2 (en) Motion estimation circuit and operating method thereof
US5442799A (en) Digital signal processor with high speed multiplier means for double data input
US9106922B2 (en) Motion estimation engine for video encoding
CN106846235B (zh) 一种利用NVIDIA Kepler GPU汇编指令加速的卷积优化方法及系统
US8345764B2 (en) Motion estimation device having motion estimation processing elements with adder tree arrays
US20060098735A1 (en) Apparatus for motion estimation using a two-dimensional processing element array and method therefor
US8175161B1 (en) System and method for motion estimation
KR20070029044A (ko) 움직임 벡터 추정 시스템 및 그 방법
US7054895B2 (en) System and method for parallel computing multiple packed-sum absolute differences (PSAD) in response to a single instruction
US11915118B2 (en) Method and apparatus for processing computation of zero value in processing of layers in neural network
JP2009087252A (ja) 画像処理装置、画像処理方法及びプログラム
Nicol A systolic approach for real time connected component labeling
US9438927B2 (en) Apparatus and method for motion estimation for variable block sizes
US8290044B2 (en) Instruction for producing two independent sums of absolute differences
WO1999063751A1 (en) Low-power parallel processor and imager integrated circuit
US8566566B2 (en) Vector processing of different instructions selected by each unit from multiple instruction group based on instruction predicate and previous result comparison
KR101091054B1 (ko) 동화상 부호화에 있어서의 움직임 탐색 장치
EP1845730A1 (en) Motion estimation circuit and motion estimation processing element
KR100359091B1 (ko) 움직임추정장치
Liao et al. A reconfigurable high performance asip engine for image signal processing
JP4859168B2 (ja) 動き検出装置及び動き検出方法
US20120027262A1 (en) Block Matching In Motion Estimation
Aubertin et al. High performance ASIP implementation of PBDI—A new intra-field deinterlacing method

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090618

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090828

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

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

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

Free format text: PAYMENT UNTIL: 20121016

Year of fee payment: 3

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

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20131016

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees