JP2004134911A - データ処理装置および方法、記録媒体、並びにプログラム - Google Patents
データ処理装置および方法、記録媒体、並びにプログラム Download PDFInfo
- Publication number
- JP2004134911A JP2004134911A JP2002295591A JP2002295591A JP2004134911A JP 2004134911 A JP2004134911 A JP 2004134911A JP 2002295591 A JP2002295591 A JP 2002295591A JP 2002295591 A JP2002295591 A JP 2002295591A JP 2004134911 A JP2004134911 A JP 2004134911A
- Authority
- JP
- Japan
- Prior art keywords
- data
- class code
- block
- processing
- calculating
- 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
【解決手段】ステップS21で、注目画素を中心とするクラスコード用ブロックを設定する。ステップS22で、クラスコード用ブロックに含まれる画素値P1乃至P9のうち、所定の個数の画素値を用いた複数のクラスコード用タップ候補を生成する。ステップS23で、各クラスコード用タップ候補に対して評価値を演算する。ステップS24で、複数のクラスコード用タップ候補のうち、評価値が最も大きいものを、クラスコード用タップに決定する。ステップS25で、クラスコード用タップに含まれる画素の画素値を、それぞれ、1ビットADRCにより0または1に符号化してクラスコードを生成する。本発明は、動画像信号を圧縮符号化するエンコードに適用することができる。
【選択図】 図12
Description
【発明の属する技術分野】
本発明は、データ処理装置および方法、記録媒体、並びにプログラムに関し、例えば、連続する画像上の画素同士をマッチングさせ、マッチングの結果に基づいて動きベクトルを検出する場合に用いて好適なデータ処理装置および方法、記録媒体、並びにプログラムに関する。
【0002】
【従来の技術】
例えば、MPEG2(Moving Picture Experts Group)方式等の画像信号を圧縮符号化する処理においては、隣接するフレーム間の相関関係に基づく符号化処理、いわゆる動き補償フレーム間予測が用いられている。動き補償フレーム間予測では、隣接するフレーム間(一方を現フレーム、他方を参照フレームと記述する)における各画素単位または所定サイズの画素ブロック単位の動きベクトルを検出する処理が必要となる。
【0003】
動きベクトルを検出する方法としては、従来、ブロックマッチングアルゴリズムと称される方法が用いられている(例えば、特許文献1参照)。
【0004】
図1は、ブロックマッチングアルゴリズムに従って動きベクトルを検出する動きベクトル検出装置の構成例を示している。この動きベクトル検出装置1は、入力される画像信号を1フレーム分だけ保持して後段に出力するフレームメモリ2,3、およびフレームメモリ2,3から入力される2フレームの画像信号に基づき、フレームメモリ2から入力される画像信号の画像内の動きベクトルを検出する検出部4から構成される。
【0005】
フレームメモリ2は、入力された画像信号を1フレーム分だけ保持し、次のフレームの画像信号が入力されたとき、保持していた画像信号をフレームメモリ3および検出部4に出力する。フレームメモリ3は、フレームメモリ2から入力された画像信号を1フレーム分だけ保持し、次のフレームの画像信号が入力されたとき、保持していた画像信号を検出部4に出力する。
【0006】
したがって、検出部4には、前後する2フレームの画像信号が入力されることになる。以下、フレームメモリ2から検出部4に入力された1フレーム分の画像信号の画像を、対象フレームFcと記述する。また、フレームメモリ3から検出部4に入力された、対象フレームFcよりも1フレーム前の画像信号の画像を、参照フレームFrと記述する。
【0007】
検出部4は、ブロックマッチングアルゴリズムに従い、対象フレームFc内の動きベクトルを算出する。ブロックマッチングアルゴリズムについて、図2に示す対象フレームFcと参照フレームFrの対応図および図3に示すフローチャートを参照して説明する。
【0008】
ブロックマッチングアルゴリズムでは、対象フレームFc内の全ての画素が、順次、注目画素に設定され、注目画素を中心とする所定サイズ(L×L画素)の基準ブロックと、参照フレームFrのサーチエリアSR内で移動される参照ブロック(基準ブロックと同じサイズ)との対応する画素対の画素値の差分絶対値和が次式(1)に従って演算される。
ΣiΣj=|Fc(i,j)−Frn(i,j)| ・・・(1)
【0009】
ただし、Fc(i,j)は基準ブロックの画素の画素値であり、Frn(i,j)は識別番号nの参照ブロックの画素の画素値であり、Σiは、iを1からLまで1ずつインクリメントしたときの総和演算、Σjは、jを1からLまで1ずつインクリメントしたときの総和演算を意味するものとする。
【0010】
そして、基準ブロックと参照ブロックとの対応する画素対の画素値の差分絶対値和が最小となるときの参照ブロックの中心座標と注目画素の座標との差分ベクトルが動きベクトルとして算出される。
【0011】
具体的には、対象フレームFcの注目画素に対して、以下の処理が実行される。ステップS1において、検出部4は、参照フレームFcに、対象フレームFcの注目画素の座標(x,y)と同じ座標を中心として、基準ブロックよりも大きなサイズのサーチエリアSRを設定する。
【0012】
ステップS2において、検出部4は、差分絶対値和の最小値を格納する変数minを、その最大値に初期化する。例えば、1画素の画素値が8ビット、基準ブロックのサイズが4×4画素である場合、変数minが、4096(=28×16)に初期化される。
【0013】
ステップS3において、検出部4は、サーチエリアSR内で移動させる参照ブロックの識別番号nを1に初期化する。ステップS4において、検出部4は、差分絶対値和の演算結果を格納する変数sumを0に初期化する。
【0014】
ステップS5において、検出部4は、対象フレームFcの基準ブロックと、参照フレームFrに設定したサーチエリアSR内の識別番号nの参照ブロックとの同じ場所に位置する画素対の画素の差分絶対値和を演算して、変数sumに代入する。ステップS6において、検出部4は、ステップS5の演算結果である変数sumと変数minを比較し、変数sumが変数minよりも小さいか否かを判定する。変数sumが変数minよりも小さいと判定された場合、処理はステップS7に進む。
【0015】
ステップS7において、検出部4は、変数minを、変数sumで置換する。また、検出部4は、いまの参照ブロックの識別番号nを、動きベクトル番号として記憶する。
【0016】
ステップS8において、検出部4は、参照ブロックの識別番号nが最大値であるか否か、すなわち、サーチエリアSRの全域に参照ブロックを移動し終えたか否かを判定する。参照ブロックの識別番号nが最大値ではないと判定された場合、処理はステップS9に進む。ステップS9において、検出部4は、参照ブロックの識別番号nを1だけインクリメントし、ステップS4の処理に戻って、それ以降の処理を繰り返す。
【0017】
なお、ステップS6において、変数sumが変数minよりも小さくないと判定された場合、処理はステップS7の処理はスキップされる。
【0018】
その後、ステップS8において、参照ブロックの識別番号nが最大値ではないと判定された場合、すなわち、サーチエリアSRの全域に参照ブロックを移動し終えた場合、処理はステップS10に進む。
【0019】
ステップS10において、検出部4は、動きベクトル番号として記憶している識別番号nに対応する参照ブロックの中心座標と、対象フレームFcの注目画素の座標(x,y)との差分ベクトルを、対象フレームFcの注目画素の動きベクトルとして算出する。以上で、ブロックマッチングアルゴリズムの説明を終了する。
【0020】
【特許文献1】
特許第3277417号公報
【0021】
【発明が解決しようとする課題】
上述したブロックマッチングアルゴリズムは、ステップS5における画素対の画素の差分絶対値和の演算量が非常に膨大となっており、画像圧縮処理の大半の時間がこの演算に費やされてしまうという課題があった。
【0022】
本発明はこのような状況に鑑みてなされたものであり、僅かな演算量のみで画像間のマッチングを行うことができ、しかも動きベクトル等を精度良く検出できるようにすることを目的とする。
【0023】
【課題を解決するための手段】
本発明のデータ処理装置は、入力されたデータに基づいて、注目データの近傍の複数のデータからなる複数のブロック候補を設定する設定手段と、設定手段によって設定された各ブロック候補に対して、ブロック候補を構成する複数のデータの分散の程度を示す評価値を演算する演算手段と、演算手段によって演算された評価値に基づき、複数のブロック候補の中から、ブロックを決定する決定手段と、決定手段によって決定されたブロックを構成する複数のデータを、それぞれ、演算手段によって算出される閾値に基づいて符号化し、注目データに対するクラスコードを生成する生成手段とを含むことを特徴とする。
【0024】
前記演算手段は、設定手段によって設定された各ブロック候補に対して、ブロック候補を構成する複数のデータの最小値に、複数のデータのダイナミックレンジの1/2を加算して閾値を算出する閾値算出手段と、ブロック候補を構成する複数のデータと、閾値算出手段によって算出された閾値との差の総和を、評価値として算出する差分総和算出手段とを含むようにすることができる。
【0025】
前記データは、画像を構成する画素の画素値とすることができる。
【0026】
本発明のデータ処理方法は、入力されたデータに基づいて、注目データの近傍の複数のデータからなる複数のブロック候補を設定する設定ステップと、設定ステップの処理で設定された各ブロック候補に対して、ブロック候補を構成する複数のデータの分散の程度を示す評価値を演算する演算ステップと、演算ステップの処理で演算された評価値に基づき、複数のブロック候補の中から、ブロックを決定する決定ステップと、決定ステップの処理で決定されたブロックを構成する複数のデータを、それぞれ、演算ステップの処理で算出される閾値に基づいて符号化し、注目データに対するクラスコードを生成する生成ステップとを含むことを特徴とする。
【0027】
本発明の記録媒体のプログラムは、入力されたデータに基づいて、注目データの近傍の複数のデータからなる複数のブロック候補を設定する設定ステップと、設定ステップの処理で設定された各ブロック候補に対して、ブロック候補を構成する複数のデータの分散の程度を示す評価値を演算する演算ステップと、演算ステップの処理で演算された評価値に基づき、複数のブロック候補の中から、ブロックを決定する決定ステップと、決定ステップの処理で決定されたブロックを構成する複数のデータを、それぞれ、演算ステップの処理で算出される閾値に基づいて符号化し、注目データに対するクラスコードを生成する生成ステップとを含むことを特徴とする。
【0028】
本発明のプログラムは、入力されたデータに基づいて、注目データの近傍の複数のデータからなる複数のブロック候補を設定する設定ステップと、設定ステップの処理で設定された各ブロック候補に対して、ブロック候補を構成する複数のデータの分散の程度を示す評価値を演算する演算ステップと、演算ステップの処理で演算された評価値に基づき、複数のブロック候補の中から、ブロックを決定する決定ステップと、決定ステップの処理で決定されたブロックを構成する複数のデータを、それぞれ、演算ステップの処理で算出される閾値に基づいて符号化し、注目データに対するクラスコードを生成する生成ステップとを含む処理をコンピュータに実行させることを特徴とする。
【0029】
本発明のデータ処理装置および方法、並びにプログラムにおいては、注目データの近傍の複数のデータからなる複数のブロック候補が設定され、設定された各ブロック候補に対して、ブロック候補を構成する複数のデータの分散の程度を示す評価値が演算され、演算された評価値に基づき、複数のブロック候補の中から、ブロックが決定される。さらに、決定されたブロックを構成する複数のデータが、それぞれ、評価値が演算される過程で算出される閾値に基づいて符号化され、注目データに対するクラスコードが生成される。
【0030】
【発明の実施の形態】
本発明を適用した動きベクトル検出装置の構成例について、図4を参照して説明する。この動きベクトル検出装置11は、フレームメモリ12,13、クラスコード生成部14、MEメモリ15、および動きベクトル演算部16から構成される。
【0031】
フレームメモリ12は、入力された画像信号を1フレーム分だけ保持し、次のフレームの画像信号が入力されたとき、保持していた画像信号をフレームメモリ13およびクラスコード生成部14に出力する。フレームメモリ13は、入力された画像信号を1フレーム分だけ保持し、次のフレームの画像信号がフレームメモリ12から入力されたとき、保持していた画像信号をクラスコード生成部14に出力する。
【0032】
従って、フレームメモリ13からクラスコード生成部14に入力される画像信号は、フレームメモリ12からクラスコード生成部14に入力される画像信号の1フレーム前のものとなる。以下、フレームメモリ12からクラスコード生成部14に入力される1フレーム分の画像信号の画像を、対象フレームFcと記述する。また、フレームメモリ13からクラスコード生成部14に入力される、対象フレームFcの1フレーム前の画像信号の画像を、参照フレームFrと記述する。
【0033】
クラスコード生成部14は、対象フレームFcの各画素に対して空間的な特徴を示すクラスコードを生成して、動きベクトル演算部16に出力する。具体的には、対象フレームFcの全ての画素を、順次、注目画素に設定し、注目画素を中心とする所定サイズのクラスコード用タップを決定して、クラスコード用タップに含まれる複数の画素の画素値を、1ビットADRC(Adaptive Dynamic Range Coding:適応的量子化)により、それぞれ0また1に量子化して、所定のビット数のクラスコードを生成する。なお、クラスコードを生成する処理については、図6以降を参照して詳述する。
【0034】
また、クラスコード生成部14は、参照フレームFrの各画素に対して空間的な特徴を示すクラスコードを生成して、MEメモリ15に出力する。ただし、参照フレームFrは、1回前のタイミングにおいて対象フレームFcであったものであるので、そのクラスコードは既に1回前に生成されている。よって、1回前のタイミングにおいて対象フレームFcの各画素に対して生成されたクラスコードを保持するようにして、今回の参照フレームFrの各画素に対するクラスコードとして流用するようにしてもよい。
【0035】
MEメモリ15は、クラスコード生成部14から入力される参照フレームFrの各画素に対するクラスコードを、クラスコードに各画素の座標を対応付けて記憶する。
【0036】
図5は、MEメモリ15の構造を示している。MEメモリ15は、特徴量アドレス0乃至aと、フラグアドレス0乃至bによって示されるa×b個のセルにより構成される。以下、例えば、特徴量アドレス1、フラグアドレス2のセルをセル(1,2)と記述する。
【0037】
特徴量アドレスは、クラスコード生成部14によって生成されるクラスコードに対応する。例えば、クラスコードが7ビットである場合、特徴量アドレスの最大値a=27となり、クラスコードが9ビットである場合、特徴量アドレスの最大値a=29となる。
【0038】
特徴量アドレス0のフラグアドレス1以降のセルには、クラスコード生成部14によってクラスコード0が生成された参照フレームFrの画素の座標がラスタ順に格納される。特徴量アドレス0のフラグアドレス0のセルには、クラスコード0の画素の座標が格納されている、特徴量アドレス0のフラグアドレス1以降のセルの数が格納される。例えば、参照フレームFrの画素のうち、3画素に対してクラスコード0が生成された場合、セル(0,1)、セル(0,2)、セル(0,3)に、3画素それぞれの座標が格納され、セル(0,0)に、3が格納される。
【0039】
特徴量アドレス1のフラグアドレス1以降のセルには、クラスコード生成部14によってクラスコード1が生成された参照フレームFrの画素の座標がラスタ順に格納される。特徴量アドレス1のフラグアドレス0のセルには、クラスコード1の画素の座標が格納されている、特徴量アドレス0のフラグアドレス1以降のセルの数が格納される。例えば、参照フレームFrの画素のうち、10画素に対してクラスコード1が生成された場合、セル(1,1)、・・・、セル(1,10)に、10画素それぞれの座標が格納され、セル(1,0)には、10が格納される。特徴量アドレス2以降のセルについても同様である。
【0040】
図4に戻る。動きベクトル演算部16は、対象フレームFcの各画素について、同じクラスコードを有する参照フレームFrの画素の座標を、MEメモリ15から検索し、検索された画素のうち、注目画素の座標に最も距離が近い座標の画素を、注目画素に対応する画素に決定して、注目画素の動きベクトルを算出する。
【0041】
なお、MEメモリ15の構造、および動きベクトル演算部16の処理の詳細については、本出願人が特願2002−222044号として既に提案済である。
【0042】
次に、本発明の主眼であるクラスコード生成部4による第1のクラスコード生成処理について、図6のフローチャートを参照して説明する。この処理は、対象フレームFcの各画素が、順次、注目画素に設定されて、注目画素に対して実行される。
【0043】
ステップS11において、クラスコード生成部14は、注目画素を中心とする所定サイズのクラスコード用タップを設定し、クラスコード用タップに含まれる複数の画素の画素値を取得する。以下においては、図7に示すように、クラスコード用タップのサイズを3×3画素とし、左上の画素を先頭に右下の画素までの画素値をそれぞれP1乃至P9として説明を継続する。
【0044】
ステップS12において、クラスコード生成部14は、画素値P1乃至P9の最大値PMAXと最小値PMINを判定する。ステップS13において、クラスコード生成部14は、画素値P1乃至P9のダイナミックレンジDR(=|最大値PMAX−最小値PMIN|)を算出する。ステップS14において、クラスコード生成部14は、次式(2)のように、画素値P1乃至P9の最小値PMINに、ダイナミックレンジDR/2を加算して閾値Thを決定する。
Th=PMIN+DR/2 ・・・(2)
【0045】
ステップS15において、クラスコード生成部14は、画素値P1乃至P9のうち、閾値Thに最も近い所定の個数(例えば、2個)の画素値を除外する。ステップS16において、クラスコード生成部14は、画素値P1乃至P9のうちの残った7画素を、それぞれ閾値Thと比較し、閾値Thよりも大きい場合には1に量子化し、閾値Thよりも小さい場合には0に量子化して、番号順に並べた7ビットを注目画素のクラスコードとして生成する。
【0046】
例えば、クラスコード用タップに含まれる9画素の画素値P1乃至P9が図8に示すような状態である場合、閾値Thに最も近い画素値P6と画素値P8が除外され、7ビットのクラスコード1010011が生成される。
【0047】
また例えば、クラスコード用タップに含まれる9画素の画素値P1乃至P9が図9に示すような状態である場合、閾値Thに最も近い画素値P5と画素値P6が除外され、7ビットのクラスコード1010101が生成される。
【0048】
なお、閾値Thに近い所定の個数の画素値を除外する代わりに、閾値Thに近い所定の個数の画素値を、それぞれ、0に量子化した場合の9ビットのクラスコードと、1に量子化した場合の9ビットのクラスコードと生成するようにしてもよい。
【0049】
すなわち、例えば、クラスコード用タップに含まれる9画素の画素値P1乃至P9が図10に示すような状態である場合、閾値Thに最も近い2個の画素値P6と画素値P8を、それぞれ、0に量子化した場合と、1に量子化した場合の4種類の9ビットのクラスコード101000101、101000111、101001101、101001111を、注目画素に対応するクラスコードとして生成するようにしてもよい。
【0050】
また、閾値Thに近い所定の個数の画素値に対して、上述したような処理を施すことの代わりに、閾値Thを中心とする所定の範囲(±Δ)に含まれる全ての画素値に対して、上述したような処理を施すようにしてもよい。
【0051】
例えば、クラスコード用タップに含まれる9画素の画素値P1乃至P9が図11に示すような状態である場合、閾値Thを中心とする所定の範囲(±Δ)に含まれる画素値P6と画素値P8を、それぞれ、0に量子化した場合と、1に量子化した場合の4種類の9ビットのクラスコード101000111、101001111、111000111、111001111を生成するようにしてもよい。
【0052】
あるいは、閾値Thを中心とする所定の範囲(±Δ)に含まれる画素値P6と画素値P8を除外して、7ビットのクラスコードを生成するようにしてもよい。
【0053】
このように、クラスコード用タップに含まれる全画素のうち、閾値Thの近傍の画素値に対して、量子化の対象から除外するか、あるいは、0に量子化した場合のクラスコードと、1に量子化した場合のクラスコードを生成するようにしたことにより、閾値Thの近傍の画素値がノイズなどに影響されて変動したとしても、クラスコード内にビットの反転が発生することを抑止することができる。したがって、クラスコードのロバスト性を向上させることができる。
【0054】
なお、クラスコード用タップを構成する画素の数、およびクラスコードのビット数は、上述した例に限るものではなく、任意である。以上で、第1のクラスコード生成処理の説明を終了する。
【0055】
次に、上述した第1のクラスコード生成処理に代えることができる、第2のクラスコード生成処理について、図12のフローチャートを参照して説明する。この処理は、対象フレームFcの各画素が、順次、注目画素に設定されて、注目画素に対して実行される。
【0056】
ステップS21において、クラスコード生成部14は、注目画素を中心とする所定サイズのクラスコード用ブロックを設定し、クラスコード用ブロックに含まれる複数の画素の画素値を取得する。以下においては、図13に示すように、クラスコード用ブロックのサイズを3×3画素とし、左上の画素を先頭に右下の画素までの画素値をそれぞれP1乃至P9として説明を継続する。
【0057】
ステップS22において、クラスコード生成部14は、クラスコード用ブロックに含まれる画素値P1乃至P9のうち、所定の個数(以下、例えば7個とする)の画素値を用いた複数のクラスコード用タップ候補を生成する。ここで生成されるクラスコード用タップ候補のパターンは、予め設定されている。図14は、生成される複数のクラスコード用タップ候補の3例を示している。なお、図14のクラスコード用タップ候補上の矢印は、画素値を量子化して並べ、7ビットのクラスコードを生成するときの並び順を示している。
【0058】
ステップS23において、クラスコード生成部14は、いずれのクラスコード用タップ候補が最もクラスコード用タップに適しているかを判断するために、各クラスコード用タップ候補に対して評価値を演算する。
【0059】
各クラスコード用タップ候補の評価値を演算する処理について、図15のフローチャートを参照して説明する。ステップS31において、クラスコード生成部14は、クラスコード用タップ候補に含まれる7画素の画素値のうちの最大値PMAXと最小値PMINを検出する。ステップS32において、クラスコード生成部14は、クラスコード用タップ候補に含まれる7画素の画素値のダイナミックレンジDR(=|最大値PMAX−最小値PMIN|)を算出する。
【0060】
ステップS33において、クラスコード生成部14は、式(2)を用いて閾値Thを決定する。
【0061】
ステップS34において、クラスコード生成部14は、当該クラスコード用タップ候補の評価値として、クラスコード用タップ候補に含まれる7画素の画素値と閾値Thとの差の総和を演算する。
【0062】
例えば、図16に示すような画素値を有するクラスコード用タップ候補1(図14A)の評価値は、次式(3)のように演算される。
評価値=|Th1−P3|+|Th1−P4|+|Th1−P5|+|Th1−P6|+|Th1−P7|+|Th1−P8|+|Th1−P9| ・・・(3)
ただし、Th1は、クラスコード用タップ候補1に含まれる7画素の画素値に基づいて算出された閾値である。
【0063】
また、例えば、図17に示すような画素値を有するクラスコード用タップ候補2(図14B)の評価値は、次式(4)のように演算される。
評価値=|Th2−P3|+|Th2−P4|+|Th2−P5|+|Th2−P6|+|Th2−P7|+|Th2−P8|+|Th2−P9| ・・・(4)
ただし、Th2は、クラスコード用タップ候補2に含まれる7画素の画素値に基づいて算出された閾値である。
【0064】
以上で、各クラスコード用タップ候補の評価値を演算する処理の説明を終了する。処理は図12のステップS24に戻る。
【0065】
ステップS24において、クラスコード生成部14は、複数のクラスコード用タップ候補のうち、ステップS23の処理で演算した評価値が最も大きいもの(すなわち、閾値Thを中心とする各画素値の分散が大きいもの)を、クラスコード用タップに決定する。
【0066】
ステップS25において、クラスコード生成部14は、ステップS24で決定されたクラスコード用タップに含まれる7画素の画素値を、それぞれ、1ビットADRCにより、0または1に量子化して、7ビットのクラスコードを生成する。
【0067】
例えば、ステップS24の処理で、図16に示された画素値を有する7画素からなるクラスコード用タップ候補1がクラスコード用タップに決定された場合、7ビットのクラスコード1001100が生成される。また、例えば、ステップS24の処理で、図17に示された画素値を有する7画素からなるクラスコード用タップ候補2が、クラスコード用タップに決定された場合、7ビットのクラスコード1001100が生成される。
【0068】
このように、複数のクラスコード用タップ候補のうち、評価値が最も大きいもの(すなわち、閾値Thを中心とする各画素値の分散が大きいもの)を、クラスコード用タップに決定し、クラスコードを生成するようにしたことにより、クラスコード内にビットの反転が発生することを抑止することができる。したがって、クラスコードのロバスト性を向上させることができる。
【0069】
なお、クラスコード用ブロックを構成する画素の数、およびクラスコード用タップ候補を構成する画素の数は、任意であって、上述した例の他、例えば、クラスコード用ブロックを5×5画素で構成し、クラスコード用タップ候補を9画素で構成するようにしてもよい。以上で、第2のクラスコード生成処理の説明を終了する。
【0070】
以上説明したように、本実施の形態によれば、クラスコード生成部14は、対象フレームFcおよび参照フレームFrの各画素に対し、1ビットADRCという容易な演算により、高いロバスト性を有するクラスコードを生成することができる。よって、対象フレームFcの画素と参照フレームFrの画素とを、高い精度でマッチングさせることができる。したがって、動きベクトルを精度良く検出することが可能となる。
【0071】
また、本発明は、画像を構成する画素の画素値の他、例えば、音声データなどの任意のデータに対してクラスコードを生成する場合に適用することが可能である。
【0072】
ところで、上述した一連の処理は、ハードウェアにより実行させることもできるが、ソフトウェアにより実行させることもできる。一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば、図18に示すように構成される汎用のパーソナルコンピュータなどに、記録媒体からインストールされる。
【0073】
このパーソナルコンピュータは、CPU(Central Processing Unit)31を内蔵している。CPU31にはバス34を介して、入出力インタフェース35が接続されている。バス34には、ROM(Read Only Memory)32およびRAM(Random Access Memory)33が接続されている。
【0074】
入出力インタフェース35には、ユーザが操作コマンドを入力するキーボード、マウスなどの入力デバイスよりなる入力部36、処理結果の映像を表示するCRT(Cathode Ray Tube)またはLCD(Liquid Crystal Display)等よりなる出力部37、プログラムや各種データを格納するハードディスクドライブなどよりなる記憶部38、およびモデム、LAN(Local Area Network)アダプタなどよりなり、インタネットに代表されるネットワークを介した通信処理を実行する通信部39が接続されている。また、磁気ディスク41、光ディスク42、光磁気ディスク43、および半導体メモリ44などの記録媒体に対してデータを読み書きするドライブ40が接続されている。
【0075】
CPU31に上述した一連の処理を実行させるプログラムは、磁気ディスク41(フレキシブルディスクを含む)、光ディスク42(CD−ROM(Compact Disc−ReadOnly Memory)、DVD(Digital Versatile Disc)を含む)、光磁気ディスク43(MD(Mini Disc)を含む)、もしくは半導体メモリ44に格納された状態でパーソナルコンピュータに供給され、ドライブ40によって読み出されて記憶部38に内蔵されるハードディスクドライブにインストールされている。記憶部38にインストールされているプログラムは、入力部36に入力されるユーザからのコマンドに対応するCPU31の指令によって、記憶部38からRAM33にロードされて実行される。
【0076】
なお、本明細書において、記録媒体に記録されるプログラムを記述するステップは、記載された順序に従って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【0077】
【発明の効果】
以上のように、本発明によれば、僅かな演算量のみで画像間のマッチングを行うことができる。また、本発明によれば、動きベクトル等を精度良く検出することが可能となる。
【図面の簡単な説明】
【図1】従来の動きベクトル検出装置の構成例を示すブロック図である。
【図2】対象フレームFcと参照フレームFrの対応関係を示す図である。
【図3】ブロックマッチングアルゴリズムを説明するフローチャートである。
【図4】本発明の一実施の形態である動きベクトル検出装置の構成例を示すブロック図である。
【図5】図4のMEメモリの構造を示す図である。
【図6】図4のクラスコード生成部による第1のクラスコード生成処理を説明するフローチャートである。
【図7】クラスコード用タップの一例を示す図である。
【図8】第1のクラスコード生成処理を説明するための図である。
【図9】第1のクラスコード生成処理を説明するための図である。
【図10】第1のクラスコード生成処理の変形例を説明するための図である。
【図11】第1のクラスコード生成処理の変形例を説明するための図である。
【図12】図4のクラスコード生成部による第2のクラスコード生成処理を説明するフローチャートである。
【図13】クラスコード用ブロックの一例を示す図である。
【図14】クラスコード用タップ候補の例を示す図である。
【図15】図12のステップS23における評価値演算処理を説明するフローチャートである。
【図16】第2のクラスコード生成処理を説明するための図である。
【図17】第2のクラスコード生成処理を説明するための図である。
【図18】汎用のパーソナルコンピュータの構成例を示すブロック図である。
【符号の説明】
11 動きベクトル検出装置, 12,13 フレームメモリ, 14 クラスコード生成部, 15 MEメモリ, 16 動きベクトル演算部, 31 CPU, 41 磁気ディスク, 42 光ディスク, 43 光磁気ディスク,
44 半導体メモリ
Claims (6)
- 特徴量を示すクラスコードを生成し、生成した前記クラスコードに基づいてデータを処理するデータ処理装置において、
入力されたデータに基づいて、注目データの近傍の複数のデータからなる複数のブロック候補を設定する設定手段と、
前記設定手段によって設定された各ブロック候補に対して、前記ブロック候補を構成する複数のデータの分散の程度を示す評価値を演算する演算手段と、
前記演算手段によって演算された前記評価値に基づき、複数の前記ブロック候補の中から、ブロックを決定する決定手段と、
前記決定手段によって決定された前記ブロックを構成する複数のデータを、それぞれ、前記演算手段によって算出される閾値に基づいて符号化し、前記注目データに対する前記クラスコードを生成する生成手段と
を含むことを特徴とするデータ処理装置。 - 前記演算手段は、
前記設定手段によって設定された各ブロック候補に対して、前記ブロック候補を構成する複数の前記データの最小値に、複数の前記データのダイナミックレンジの1/2を加算して前記閾値を算出する閾値算出手段と、
前記ブロック候補を構成する複数の前記データと、前記閾値算出手段によって算出された前記閾値との差の総和を、前記評価値として算出する差分総和算出手段と
を含むことを特徴とする請求項1に記載のデータ処理装置。 - 前記データは、画像を構成する画素の画素値である
ことを特徴とする請求項1に記載のデータ処理装置。 - 特徴量を示すクラスコードを生成し、生成した前記クラスコードに基づいてデータを処理するデータ処理装置のデータ処理方法において、
入力されたデータに基づいて、注目データの近傍の複数のデータからなる複数のブロック候補を設定する設定ステップと、
前記設定ステップの処理で設定された各ブロック候補に対して、前記ブロック候補を構成する複数のデータの分散の程度を示す評価値を演算する演算ステップと、
前記演算ステップの処理で演算された前記評価値に基づき、複数の前記ブロック候補の中から、ブロックを決定する決定ステップと、
前記決定ステップの処理で決定された前記ブロックを構成する複数のデータを、それぞれ、前記演算ステップの処理で算出される閾値に基づいて符号化し、前記注目データに対する前記クラスコードを生成する生成ステップと
を含むことを特徴とするデータ処理方法。 - 特徴量を示すクラスコードを生成し、生成した前記クラスコードに基づいてデータを処理するためのプログラムであって、
入力されたデータに基づいて、注目データの近傍の複数のデータからなる複数のブロック候補を設定する設定ステップと、
前記設定ステップの処理で設定された各ブロック候補に対して、前記ブロック候補を構成する複数のデータの分散の程度を示す評価値を演算する演算ステップと、
前記演算ステップの処理で演算された前記評価値に基づき、複数の前記ブロック候補の中から、ブロックを決定する決定ステップと、
前記決定ステップの処理で決定された前記ブロックを構成する複数のデータを、それぞれ、前記演算ステップの処理で算出される閾値に基づいて符号化し、前記注目データに対する前記クラスコードを生成する生成ステップと
を含むことを特徴とするコンピュータが読み取り可能なプログラムが記録されている記録媒体。 - 特徴量を示すクラスコードを生成し、生成した前記クラスコードに基づいてデータを処理するコンピュータに、
入力されたデータに基づいて、注目データの近傍の複数のデータからなる複数のブロック候補を設定する設定ステップと、
前記設定ステップの処理で設定された各ブロック候補に対して、前記ブロック候補を構成する複数のデータの分散の程度を示す評価値を演算する演算ステップと、
前記演算ステップの処理で演算された前記評価値に基づき、複数の前記ブロック候補の中から、ブロックを決定する決定ステップと、
前記決定ステップの処理で決定された前記ブロックを構成する複数のデータを、それぞれ、前記演算ステップの処理で算出される閾値に基づいて符号化し、前記注目データに対する前記クラスコードを生成する生成ステップと
を含む処理を実行させることを特徴とするプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002295591A JP4129788B2 (ja) | 2002-10-09 | 2002-10-09 | 画像データ処理装置および方法、記録媒体、並びにプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002295591A JP4129788B2 (ja) | 2002-10-09 | 2002-10-09 | 画像データ処理装置および方法、記録媒体、並びにプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004134911A true JP2004134911A (ja) | 2004-04-30 |
JP4129788B2 JP4129788B2 (ja) | 2008-08-06 |
Family
ID=32285784
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002295591A Expired - Fee Related JP4129788B2 (ja) | 2002-10-09 | 2002-10-09 | 画像データ処理装置および方法、記録媒体、並びにプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4129788B2 (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101977326A (zh) * | 2010-11-22 | 2011-02-16 | 天柏宽带网络科技(北京)有限公司 | 一种基于mpeg-2传输流的特技流生成方法 |
WO2014052425A1 (en) * | 2012-09-26 | 2014-04-03 | Magnum Semiconductor, Inc. | Apparatuses and methods for optimizing rate-distortion of syntax elements |
US10277907B2 (en) | 2012-10-25 | 2019-04-30 | Integrated Device Technology, Inc. | Rate-distortion optimizers and optimization techniques including joint optimization of multiple color components |
CN110429878A (zh) * | 2019-07-23 | 2019-11-08 | 浙江工业大学 | 一种步进电机式电-机械转换器的双自抗扰控制方法 |
-
2002
- 2002-10-09 JP JP2002295591A patent/JP4129788B2/ja not_active Expired - Fee Related
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101977326A (zh) * | 2010-11-22 | 2011-02-16 | 天柏宽带网络科技(北京)有限公司 | 一种基于mpeg-2传输流的特技流生成方法 |
WO2014052425A1 (en) * | 2012-09-26 | 2014-04-03 | Magnum Semiconductor, Inc. | Apparatuses and methods for optimizing rate-distortion of syntax elements |
US10230956B2 (en) | 2012-09-26 | 2019-03-12 | Integrated Device Technology, Inc. | Apparatuses and methods for optimizing rate-distortion of syntax elements |
US10277907B2 (en) | 2012-10-25 | 2019-04-30 | Integrated Device Technology, Inc. | Rate-distortion optimizers and optimization techniques including joint optimization of multiple color components |
CN110429878A (zh) * | 2019-07-23 | 2019-11-08 | 浙江工业大学 | 一种步进电机式电-机械转换器的双自抗扰控制方法 |
Also Published As
Publication number | Publication date |
---|---|
JP4129788B2 (ja) | 2008-08-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5045320B2 (ja) | 画像処理装置、および画像処理方法、並びにコンピュータ・プログラム | |
JP4004653B2 (ja) | 動きベクトル検出方法および装置、記録媒体 | |
TWI565306B (zh) | 視訊解碼裝置、視訊編碼裝置、視訊解碼方法、視訊編碼方法、及儲存媒體(四) | |
CN100356794C (zh) | 用于在分层运动估计中产生运动矢量的方法和装置 | |
US20060285596A1 (en) | Motion-vector detecting device, motion-vector detecting method, and computer program | |
JP2008011158A (ja) | 動きベクトル探索方法及び動きベクトル探索装置 | |
US20110249747A1 (en) | Motion vector decision apparatus, motion vector decision method and computer readable storage medium | |
US20070092005A1 (en) | Method and apparatus for encoding, method and apparatus for decoding, program, and storage medium | |
JP4129788B2 (ja) | 画像データ処理装置および方法、記録媒体、並びにプログラム | |
JP3175914B2 (ja) | 画像符号化方法および画像符号化装置 | |
JP4082664B2 (ja) | 映像検索装置 | |
US11863783B2 (en) | Artificial intelligence-based image encoding and decoding apparatus and method | |
JP4144316B2 (ja) | 画像データ処理装置および方法、記録媒体、並びにプログラム | |
JP4622265B2 (ja) | 動きベクトル検出装置、および動きベクトル検出方法、並びにプログラム | |
JP4239557B2 (ja) | 画像処理装置および方法、記録媒体、並びにプログラム | |
JP4329331B2 (ja) | 画像処理装置および方法、記録媒体、並びにプログラム | |
US7627140B2 (en) | Flatted hexagon search method for fast block motion estimation | |
JP2006217486A (ja) | 動き補償型ip変換処理装置及び動き補償型ip変換処理方法 | |
US10063880B2 (en) | Motion detecting apparatus, motion detecting method and program | |
JP4207763B2 (ja) | 動きベクトル検出装置、および動きベクトル検出方法、並びにコンピュータ・プログラム | |
KR20190001444A (ko) | 보간 프레임을 생성하기 위한 움직임 예측 방법 및 장치 | |
KR101787004B1 (ko) | 표본 픽셀 기반 움직임 추정장치 및 방법 | |
KR101798191B1 (ko) | 표본 픽셀 기반 움직임 추정장치 및 방법 | |
KR20010043325A (ko) | 블록 매칭 동작 측정 방법 | |
JP4165447B2 (ja) | 動きベクトル検出装置及び動きベクトル検出プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050817 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080222 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080403 |
|
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: 20080428 |
|
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: 20080511 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110530 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120530 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130530 Year of fee payment: 5 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |