JP4144316B2 - 画像データ処理装置および方法、記録媒体、並びにプログラム - Google Patents
画像データ処理装置および方法、記録媒体、並びにプログラム Download PDFInfo
- Publication number
- JP4144316B2 JP4144316B2 JP2002295592A JP2002295592A JP4144316B2 JP 4144316 B2 JP4144316 B2 JP 4144316B2 JP 2002295592 A JP2002295592 A JP 2002295592A JP 2002295592 A JP2002295592 A JP 2002295592A JP 4144316 B2 JP4144316 B2 JP 4144316B2
- Authority
- JP
- Japan
- Prior art keywords
- pixel
- class code
- pixels
- image
- tap
- 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.)
- Expired - Fee Related
Links
Images
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】
【課題を解決するための手段】
本発明の画像データ処理装置は、動画像を構成する画像の各画素を注目画素とし、注目画素に対する空間的な特徴量を示すクラスコードを、注目画素とその近傍に位置する画素の画素値を用いて生成するクラスコード生成手段と、全てのクラスコードをそれぞれアドレスとする複数の座標格納部を有し、画像の各画素に対するクラスコードの生成結果を記憶するための記憶部であって、各画素の座標を、対応するクラスコードをアドレスとする座標格納部に記憶する記憶部と、動画像を構成する第1の画像の注目画素のクラスコードと、記憶部に記憶されている、第1の画像と前後する第2の画像の各画素に対するクラスコードの生成結果との比較結果に基づき、第1の画像の注目画素の動きベクトルを検出する検出手段とを備え、クラスコード生成手段は、注目画素とその近傍に位置する複数の画素からなるクラスコード用タップを設定する設定手段と、設定されたクラスコード用タップを構成する複数の画素のうち、画素値が閾値に近い方の所定の数の画素を除外画素に決定する決定手段と、設定されたクラスコード用タップを構成する複数の画素のうち、除外画素以外の各画素の画素値を、それぞれ閾値との比較結果に対応して0または1に1ビット符号化することにより、注目画素に対するクラスコードを生成する生成手段とを含む。
【0024】
前記算出手段は、設定されたクラスコード用タップを構成する複数の画素の画素値の最小値に、複数の画素の画素値のダイナミックレンジの1/2を加算して、閾値を算出するようにすることができる。
【0027】
前記生成手段は、設定されたクラスコード用タップを構成する複数の画素のうち、除外画素以外の各画素の画素値を、それぞれ閾値との比較結果に対応して1ビット符号化するとともに、除外画素の画素値を0および1の2パターンに1ビット符号化することにより、注目画素に対するクラスコード用タップを構成する画素数と同じビット数のクラスコードを複数生成するようにすることができる。
【0029】
本発明の画像データ処理方法は、動画像を構成する画像の各画素を注目画素とし、注目画素に対する空間的な特徴量を示すクラスコードを、注目画素とその近傍に位置する画素の画素値を用いて生成するクラスコード生成ステップと、全てのクラスコードをそれぞれアドレスとする複数の座標格納部を有し、画像の各画素の座標を、対応するクラスコードをアドレスとする座標格納部に記憶する記憶部に、画像の各画素に対するクラスコードの生成結果を記憶する記憶ステップと、動画像を構成する第1の画像の注目画素のクラスコードと、記憶部に記憶されている、第1の画像と前後する第2の画像の各画素に対するクラスコードの生成結果との比較結果に基づき、第1の画像の注目画素の動きベクトルを検出する検出ステップとを含み、クラスコード生成ステップは、注目画素とその近傍に位置する複数の画素からなるクラスコード用タップを設定する設定ステップと、設定されたクラスコード用タップを構成する複数の画素の画素値の中間値を閾値として算出する算出ステップと、設定されたクラスコード用タップを構成する複数の画素のうち、画素値が閾値に近い方の所定の数の画素を除外画素に決定する決定ステップと、設定されたクラスコード用タップを構成する複数の画素のうち、除外画素以外の各画素の画素値を、それぞれ閾値との比較結果に対応して0または1に1ビット符号化することにより、注目画素に対するクラスコードを生成する生成ステップとを含む。
【0030】
本発明の記録媒体は、動画像を構成する画像の各画素を注目画素とし、注目画素に対する空間的な特徴量を示すクラスコードを、注目画素とその近傍に位置する画素の画素値を用いて生成するクラスコード生成ステップと、全てのクラスコードをそれぞれアドレスとする複数の座標格納部を有し、画像の各画素の座標を、対応するクラスコードをアドレスとする座標格納部に記憶する記憶部に、画像の各画素に対するクラスコードの生成結果を記憶する記憶ステップと、動画像を構成する第1の画像の注目画素のクラスコードと、記憶部に記憶されている、第1の画像と前後する第2の画像の各画素に対するクラスコードの生成結果との比較結果に基づき、第1の画像の注目画素の動きベクトルを検出する検出ステップとを含み、クラスコード生成ステップは、注目画素とその近傍に位置する複数の画素からなるクラスコード用タップを設定する設定ステップと、設定されたクラスコード用タップを構成する複数の画素の画素値の中間値を閾値として算出する算出ステップと、設定されたクラスコード用タップを構成する複数の画素のうち、画素値が閾値に近い方の所定の数の画素を除外画素に決定する決定ステップと、設定されたクラスコード用タップを構成する複数の画素のうち、除外画素以外の各画素の画素値を、それぞれ閾値との比較結果に対応して0または1に1ビット符号化することにより、注目画素に対するクラスコードを生成する生成ステップとを含む処理をコンピュータに実行させるプログラムが記録されている。
【0031】
本発明のプログラムは、動画像を構成する画像の各画素を注目画素とし、注目画素に対する空間的な特徴量を示すクラスコードを、注目画素とその近傍に位置する画素の画素値を用いて生成するクラスコード生成ステップと、全てのクラスコードをそれぞれアドレスとする複数の座標格納部を有し、画像の各画素の座標を、対応するクラスコードをアドレスとする座標格納部に記憶する記憶部に、画像の各画素に対するクラスコードの生成結果を記憶する記憶ステップと、動画像を構成する第1の画像の注目画素のクラスコードと、記憶部に記憶されている、第1の画像と前後する第2の画像の各画素に対するクラスコードの生成結果との比較結果に基づき、第1の画像の注目画素の動きベクトルを検出する検出ステップとを含み、クラスコード生成ステップは、注目画素とその近傍に位置する複数の画素からなるクラスコード用タップを設定する設定ステップと、設定されたクラスコード用タップを構成する複数の画素の画素値の中間値を閾値として算出する算出ステップと、設定されたクラスコード用タップを構成する複数の画素のうち、画素値が閾値に近い方の所定の数の画素を除外画素に決定する決定ステップと、設定されたクラスコード用タップを構成する複数の画素のうち、除外画素以外の各画素の画素値を、それぞれ閾値との比較結果に対応して0または1に1ビット符号化することにより、注目画素に対するクラスコードを生成する生成ステップとを含む処理をコンピュータに実行させる。
【0032】
本発明においては、注目画素とその近傍に位置する複数の画素からなるクラスコード用タップが設定され、設定されたクラスコード用タップを構成する複数の画素の画素値の中間値が閾値として算出され、設定されたクラスコード用タップを構成する複数の画素のうち、画素値が閾値に近い方の所定の数の画素が除外画素に決定される。さらに、設定されたクラスコード用タップを構成する複数の画素のうち、除外画素以外の各画素の画素値が、それぞれ閾値との比較結果に対応して0または1に1ビット符号化されることにより、注目画素に対するクラスコードが生成される。
【0033】
【発明の実施の形態】
本発明を適用した動きベクトル検出装置の構成例について、図4を参照して説明する。この動きベクトル検出装置11は、フレームメモリ12,13、クラスコード生成部14、MEメモリ15、および動きベクトル演算部16から構成される。
【0034】
フレームメモリ12は、入力された画像信号を1フレーム分だけ保持し、次のフレームの画像信号が入力されたとき、保持していた画像信号をフレームメモリ13およびクラスコード生成部14に出力する。フレームメモリ13は、入力された画像信号を1フレーム分だけ保持し、次のフレームの画像信号がフレームメモリ12から入力されたとき、保持していた画像信号をクラスコード生成部14に出力する。
【0035】
従って、フレームメモリ13からクラスコード生成部14に入力される画像信号は、フレームメモリ12からクラスコード生成部14に入力される画像信号の1フレーム前のものとなる。以下、フレームメモリ12からクラスコード生成部14に入力される1フレーム分の画像信号の画像を、対象フレームFcと記述する。また、フレームメモリ13からクラスコード生成部14に入力される、対象フレームFcの1フレーム前の画像信号の画像を、参照フレームFrと記述する。
【0036】
クラスコード生成部14は、対象フレームFcの各画素に対して空間的な特徴を示すクラスコードを生成して、動きベクトル演算部16に出力する。具体的には、対象フレームFcの全ての画素を、順次、注目画素に設定し、注目画素を中心とする所定サイズのクラスコード用タップを決定して、クラスコード用タップに含まれる複数の画素の画素値を、1ビットADRC(Adaptive Dynamic Range Coding:適応的量子化)により、それぞれ0また1に量子化して、所定のビット数のクラスコードを生成する。なお、クラスコードを生成する処理については、図6以降を参照して詳述する。
【0037】
また、クラスコード生成部14は、参照フレームFrの各画素に対して空間的な特徴を示すクラスコードを生成して、MEメモリ15に出力する。ただし、参照フレームFrは、1回前のタイミングにおいて対象フレームFcであったものであるので、そのクラスコードは既に1回前に生成されている。よって、1回前のタイミングにおいて対象フレームFcの各画素に対して生成されたクラスコードを保持するようにして、今回の参照フレームFrの各画素に対するクラスコードとして流用するようにしてもよい。
【0038】
MEメモリ15は、クラスコード生成部14から入力される参照フレームFrの各画素に対するクラスコードを、クラスコードに各画素の座標を対応付けて記憶する。
【0039】
図5は、MEメモリ15の構造を示している。MEメモリ15は、特徴量アドレス0乃至aと、フラグアドレス0乃至bによって示される(a+1)×(b+1)個のセルにより構成される。以下、例えば、特徴量アドレス1、フラグアドレス2のセルをセル(1,2)と記述する。
【0040】
特徴量アドレスは、クラスコード生成部14によって生成されるクラスコードに対応する。例えば、クラスコードが7ビットである場合、特徴量アドレスの最大値a=27となり、クラスコードが9ビットである場合、特徴量アドレスの最大値a=29となる。
【0041】
特徴量アドレス0のフラグアドレス1以降のセルには、クラスコード生成部14によってクラスコード0が生成された参照フレームFrの画素の座標がラスタ順に格納される。特徴量アドレス0のフラグアドレス0のセルには、クラスコード0の画素の座標が格納されている、特徴量アドレス0のフラグアドレス1以降のセルの数が格納される。例えば、参照フレームFrの画素のうち、3画素に対してクラスコード0が生成された場合、セル(0,1)、セル(0,2)、セル(0,3)に、3画素それぞれの座標が格納され、セル(0,0)に、3が格納される。
【0042】
特徴量アドレス1のフラグアドレス1以降のセルには、クラスコード生成部14によってクラスコード1が生成された参照フレームFrの画素の座標がラスタ順に格納される。特徴量アドレス1のフラグアドレス0のセルには、クラスコード1の画素の座標が格納されている、特徴量アドレス0のフラグアドレス1以降のセルの数が格納される。例えば、参照フレームFrの画素のうち、10画素に対してクラスコード1が生成された場合、セル(1,1)、・・・、セル(1,10)に、10画素それぞれの座標が格納され、セル(1,0)には、10が格納される。特徴量アドレス2以降のセルについても同様である。
【0043】
図4に戻る。動きベクトル演算部16は、対象フレームFcの各画素について、同じクラスコードを有する参照フレームFrの画素の座標を、MEメモリ15から検索し、検索された画素のうち、注目画素の座標に最も距離が近い座標の画素を、注目画素に対応する画素に決定して、注目画素の動きベクトルを算出する。
【0044】
なお、MEメモリ15の構造、および動きベクトル演算部16の処理の詳細については、本出願人が特願2002−222044号として既に提案済である。
【0045】
次に、本発明の主眼であるクラスコード生成部4による第1のクラスコード生成処理について、図6のフローチャートを参照して説明する。この処理は、対象フレームFcの各画素が、順次、注目画素に設定されて、注目画素に対して実行される。
【0046】
ステップS11において、クラスコード生成部14は、注目画素を中心とする所定サイズのクラスコード用タップを設定し、クラスコード用タップに含まれる複数の画素の画素値を取得する。以下においては、図7に示すように、クラスコード用タップのサイズを3×3画素とし、左上の画素を先頭に右下の画素までの画素値をそれぞれP1乃至P9として説明を継続する。
【0047】
ステップ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)
【0048】
ステップS15において、クラスコード生成部14は、画素値P1乃至P9のうち、閾値Thに最も近い所定の個数(例えば、2個)の画素値を除外する。ステップS16において、クラスコード生成部14は、画素値P1乃至P9のうちの残った7画素を、それぞれ閾値Thと比較し、閾値Thよりも大きい場合には1に量子化し、閾値Thよりも小さい場合には0に量子化して、番号順に並べた7ビットを注目画素のクラスコードとして生成する。
【0049】
例えば、クラスコード用タップに含まれる9画素の画素値P1乃至P9が図8に示すような状態である場合、閾値Thに最も近い画素値P6と画素値P8が除外され、7ビットのクラスコード1010011が生成される。
【0050】
また例えば、クラスコード用タップに含まれる9画素の画素値P1乃至P9が図9に示すような状態である場合、閾値Thに最も近い画素値P5と画素値P6が除外され、7ビットのクラスコード1010101が生成される。
【0051】
なお、閾値Thに近い所定の個数の画素値を除外する代わりに、閾値Thに近い所定の個数の画素値を、それぞれ、0に量子化した場合の9ビットのクラスコードと、1に量子化した場合の9ビットのクラスコードと生成するようにしてもよい。
【0052】
すなわち、例えば、クラスコード用タップに含まれる9画素の画素値P1乃至P9が図10に示すような状態である場合、閾値Thに最も近い2個の画素値P6と画素値P8を、それぞれ、0に量子化した場合と、1に量子化した場合の4種類の9ビットのクラスコード101000101、101000111、101001101、101001111を、注目画素に対応するクラスコードとして生成するようにしてもよい。
【0053】
また、閾値Thに近い所定の個数の画素値に対して、上述したような処理を施すことの代わりに、閾値Thを中心とする所定の範囲(±Δ)に含まれる全ての画素値に対して、上述したような処理を施すようにしてもよい。
【0054】
例えば、クラスコード用タップに含まれる9画素の画素値P1乃至P9が図11に示すような状態である場合、閾値Thを中心とする所定の範囲(±Δ)に含まれる画素値P6と画素値P8を、それぞれ、0に量子化した場合と、1に量子化した場合の4種類の9ビットのクラスコード101000111、101001111、111000111、111001111を生成するようにしてもよい。
【0055】
あるいは、閾値Thを中心とする所定の範囲(±Δ)に含まれる画素値P6と画素値P8を除外して、7ビットのクラスコードを生成するようにしてもよい。
【0056】
このように、クラスコード用タップに含まれる全画素のうち、閾値Thの近傍の画素値に対して、量子化の対象から除外するか、あるいは、0に量子化した場合のクラスコードと、1に量子化した場合のクラスコードを生成するようにしたことにより、閾値Thの近傍の画素値がノイズなどに影響されて変動したとしても、クラスコード内にビットの反転が発生することを抑止することができる。したがって、クラスコードのロバスト性を向上させることができる。
【0057】
なお、クラスコード用タップを構成する画素の数、およびクラスコードのビット数は、上述した例に限るものではなく、任意である。以上で、第1のクラスコード生成処理の説明を終了する。
【0058】
次に、上述した第1のクラスコード生成処理に代えることができる、第2のクラスコード生成処理について、図12のフローチャートを参照して説明する。この処理は、対象フレームFcの各画素が、順次、注目画素に設定されて、注目画素に対して実行される。
【0059】
ステップS21において、クラスコード生成部14は、注目画素を中心とする所定サイズのクラスコード用ブロックを設定し、クラスコード用ブロックに含まれる複数の画素の画素値を取得する。以下においては、図13に示すように、クラスコード用ブロックのサイズを3×3画素とし、左上の画素を先頭に右下の画素までの画素値をそれぞれP1乃至P9として説明を継続する。
【0060】
ステップS22において、クラスコード生成部14は、クラスコード用ブロックに含まれる画素値P1乃至P9のうち、所定の個数(以下、例えば7個とする)の画素値を用いた複数のクラスコード用タップ候補を生成する。ここで生成されるクラスコード用タップ候補のパターンは、予め設定されている。図14は、生成される複数のクラスコード用タップ候補の3例を示している。なお、図14のクラスコード用タップ候補上の矢印は、画素値を量子化して並べ、7ビットのクラスコードを生成するときの並び順を示している。
【0061】
ステップS23において、クラスコード生成部14は、いずれのクラスコード用タップ候補が最もクラスコード用タップに適しているかを判断するために、各クラスコード用タップ候補に対して評価値を演算する。
【0062】
各クラスコード用タップ候補の評価値を演算する処理について、図15のフローチャートを参照して説明する。ステップS31において、クラスコード生成部14は、クラスコード用タップ候補に含まれる7画素の画素値のうちの最大値PMAXと最小値PMINを検出する。ステップS32において、クラスコード生成部14は、クラスコード用タップ候補に含まれる7画素の画素値のダイナミックレンジDR(=|最大値PMAX−最小値PMIN|)を算出する。
【0063】
ステップS33において、クラスコード生成部14は、式(2)を用いて閾値Thを決定する。
【0064】
ステップS34において、クラスコード生成部14は、当該クラスコード用タップ候補の評価値として、クラスコード用タップ候補に含まれる7画素の画素値と閾値Thとの差の総和を演算する。
【0065】
例えば、図16に示すような画素値を有するクラスコード用タップ候補1(図14A)の評価値は、次式(3)のように演算される。
ただし、Th1は、クラスコード用タップ候補1に含まれる7画素の画素値に基づいて算出された閾値である。
【0066】
また、例えば、図17に示すような画素値を有するクラスコード用タップ候補2(図14B)の評価値は、次式(4)のように演算される。
ただし、Th2は、クラスコード用タップ候補2に含まれる7画素の画素値に基づいて算出された閾値である。
【0067】
以上で、各クラスコード用タップ候補の評価値を演算する処理の説明を終了する。処理は図12のステップS24に戻る。
【0068】
ステップS24において、クラスコード生成部14は、複数のクラスコード用タップ候補のうち、ステップS23の処理で演算した評価値が最も大きいもの(すなわち、閾値Thを中心とする各画素値の分散が大きいもの)を、クラスコード用タップに決定する。
【0069】
ステップS25において、クラスコード生成部14は、ステップS24で決定されたクラスコード用タップに含まれる7画素の画素値を、それぞれ、1ビットADRCにより、0または1に量子化して、7ビットのクラスコードを生成する。
【0070】
例えば、ステップS24の処理で、図16に示された画素値を有する7画素からなるクラスコード用タップ候補1がクラスコード用タップに決定された場合、7ビットのクラスコード1001100が生成される。また、例えば、ステップS24の処理で、図17に示された画素値を有する7画素からなるクラスコード用タップ候補2が、クラスコード用タップに決定された場合、7ビットのクラスコード1001100が生成される。
【0071】
このように、複数のクラスコード用タップ候補のうち、評価値が最も大きいもの(すなわち、閾値Thを中心とする各画素値の分散が大きいもの)を、クラスコード用タップに決定し、クラスコードを生成するようにしたことにより、クラスコード内にビットの反転が発生することを抑止することができる。したがって、クラスコードのロバスト性を向上させることができる。
【0072】
なお、クラスコード用ブロックを構成する画素の数、およびクラスコード用タップ候補を構成する画素の数は、任意であって、上述した例の他、例えば、クラスコード用ブロックを5×5画素で構成し、クラスコード用タップ候補を9画素で構成するようにしてもよい。以上で、第2のクラスコード生成処理の説明を終了する。
【0073】
以上説明したように、本実施の形態によれば、クラスコード生成部14は、対象フレームFcおよび参照フレームFrの各画素に対し、1ビットADRCという容易な演算により、高いロバスト性を有するクラスコードを生成することができる。よって、対象フレームFcの画素と参照フレームFrの画素とを、高い精度でマッチングさせることができる。したがって、動きベクトルを精度良く検出することが可能となる。
【0074】
また、本発明は、画像を構成する画素の画素値の他、例えば、音声データなどの任意のデータに対してクラスコードを生成する場合に適用することが可能である。
【0075】
ところで、上述した一連の処理は、ハードウェアにより実行させることもできるが、ソフトウェアにより実行させることもできる。一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば、図18に示すように構成される汎用のパーソナルコンピュータなどに、記録媒体からインストールされる。
【0076】
このパーソナルコンピュータは、CPU(Central Processing Unit)31を内蔵している。CPU31にはバス34を介して、入出力インタフェース35が接続されている。バス34には、ROM(Read Only Memory)32およびRAM(Random Access Memory)33が接続されている。
【0077】
入出力インタフェース35には、ユーザが操作コマンドを入力するキーボード、マウスなどの入力デバイスよりなる入力部36、処理結果の映像を表示するCRT(Cathode Ray Tube)またはLCD(Liquid Crystal Display)等よりなる出力部37、プログラムや各種データを格納するハードディスクドライブなどよりなる記憶部38、およびモデム、LAN(Local Area Network)アダプタなどよりなり、インタネットに代表されるネットワークを介した通信処理を実行する通信部39が接続されている。また、磁気ディスク41、光ディスク42、光磁気ディスク43、および半導体メモリ44などの記録媒体に対してデータを読み書きするドライブ40が接続されている。
【0078】
CPU31に上述した一連の処理を実行させるプログラムは、磁気ディスク41(フレキシブルディスクを含む)、光ディスク42(CD-ROM(Compact Disc-Read Only Memory)、DVD(Digital Versatile Disc)を含む)、光磁気ディスク43(MD(Mini Disc)を含む)、もしくは半導体メモリ44に格納された状態でパーソナルコンピュータに供給され、ドライブ40によって読み出されて記憶部38に内蔵されるハードディスクドライブにインストールされている。記憶部38にインストールされているプログラムは、入力部36に入力されるユーザからのコマンドに対応するCPU31の指令によって、記憶部38からRAM33にロードされて実行される。
【0079】
なお、本明細書において、記録媒体に記録されるプログラムを記述するステップは、記載された順序に従って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【0080】
【発明の効果】
以上のように、本発明によれば、僅かな演算量のみで画像間のマッチングを行うことができる。また、本発明によれば、動きベクトル等を精度良く検出することが可能となる。
【図面の簡単な説明】
【図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の画像の注目画素のクラスコードと、前記記憶部に記憶されている、前記第1の画像と前後する第2の画像の各画素に対する前記クラスコードの生成結果との比較結果に基づき、前記第1の画像の注目画素の動きベクトルを検出する検出手段とを備え、
前記クラスコード生成手段は、
前記注目画素とその近傍に位置する複数の画素からなるクラスコード用タップを設定する設定手段と、
設定された前記クラスコード用タップを構成する複数の画素の画素値の中間値を閾値として算出する算出手段と、
設定された前記クラスコード用タップを構成する複数の画素のうち、画素値が前記閾値に近い方の所定の数の画素を除外画素に決定する決定手段と、
設定された前記クラスコード用タップを構成する複数の画素のうち、前記除外画素以外の各画素の画素値を、それぞれ前記閾値との比較結果に対応して0または1に1ビット符号化することにより、前記注目画素に対する前記クラスコードを生成する生成手段とを含む
画像データ処理装置。 - 前記算出手段は、設定された前記クラスコード用タップを構成する複数の画素の画素値の最小値に、前記複数の画素の画素値のダイナミックレンジの1/2を加算して、前記閾値を算出する
請求項1に記載の画像データ処理装置。 - 前記生成手段は、設定された前記クラスコード用タップを構成する複数の画素のうち、前記除外画素以外の各画素の画素値を、それぞれ前記閾値との比較結果に対応して1ビット符号化するとともに、前記除外画素の画素値を0および1の2パターンに1ビット符号化することにより、前記注目画素に対する前記クラスコード用タップを構成する画素数と同じビット数の前記クラスコードを複数生成する
請求項1に記載の画像データ処理装置。 - 動画像を構成する画像の各画素を注目画素とし、前記注目画素に対する空間的な特徴量を示すクラスコードを、前記注目画素とその近傍に位置する画素の画素値を用いて生成するクラスコード生成ステップと、
全ての前記クラスコードをそれぞれアドレスとする複数の座標格納部を有し、画像の各画素の座標を、対応する前記クラスコードをアドレスとする前記座標格納部に記憶する記憶部に、前記画像の各画素に対する前記クラスコードの生成結果を記憶する記憶ステップと、
前記動画像を構成する第1の画像の注目画素のクラスコードと、前記記憶部に記憶されている、前記第1の画像と前後する第2の画像の各画素に対する前記クラスコードの生成結果との比較結果に基づき、前記第1の画像の注目画素の動きベクトルを検出する検出ステップとを含み、
前記クラスコード生成ステップは、
前記注目画素とその近傍に位置する複数の画素からなるクラスコード用タップを設定する設定ステップと、
設定された前記クラスコード用タップを構成する複数の画素の画素値の中間値を閾値として算出する算出ステップと、
設定された前記クラスコード用タップを構成する複数の画素のうち、画素値が前記閾値に近い方の所定の数の画素を除外画素に決定する決定ステップと、
設定された前記クラスコード用タップを構成する複数の画素のうち、前記除外画素以外の各画素の画素値を、それぞれ前記閾値との比較結果に対応して0または1に1ビット符号化することにより、前記注目画素に対する前記クラスコードを生成する生成ステップとを含む
画像データ処理方法。 - 動画像を構成する画像の各画素を注目画素とし、前記注目画素に対する空間的な特徴量を示すクラスコードを、前記注目画素とその近傍に位置する画素の画素値を用いて生成するクラスコード生成ステップと、
全ての前記クラスコードをそれぞれアドレスとする複数の座標格納部を有し、画像の各画素の座標を、対応する前記クラスコードをアドレスとする前記座標格納部に記憶する記憶部に、前記画像の各画素に対する前記クラスコードの生成結果を記憶する記憶ステップと、
前記動画像を構成する第1の画像の注目画素のクラスコードと、前記記憶部に記憶されている、前記第1の画像と前後する第2の画像の各画素に対する前記クラスコードの生成結果との比較結果に基づき、前記第1の画像の注目画素の動きベクトルを検出する検出ステップとを含み、
前記クラスコード生成ステップは、
前記注目画素とその近傍に位置する複数の画素からなるクラスコード用タップを設定する設定ステップと、
設定された前記クラスコード用タップを構成する複数の画素の画素値の中間値を閾値として算出する算出ステップと、
設定された前記クラスコード用タップを構成する複数の画素のうち、画素値が前記閾値に近い方の所定の数の画素を除外画素に決定する決定ステップと、
設定された前記クラスコード用タップを構成する複数の画素のうち、前記除外画素以外の各画素の画素値を、それぞれ前記閾値との比較結果に対応して0または1に1ビット符号化することにより、前記注目画素に対する前記クラスコードを生成する生成ステップとを含む
処理をコンピュータに実行させるプログラムが記録されている記録媒体。 - 動画像を構成する画像の各画素を注目画素とし、前記注目画素に対する空間的な特徴量を示すクラスコードを、前記注目画素とその近傍に位置する画素の画素値を用いて生成するクラスコード生成ステップと、
全ての前記クラスコードをそれぞれアドレスとする複数の座標格納部を有し、画像の各画素の座標を、対応する前記クラスコードをアドレスとする前記座標格納部に記憶する記憶部に、前記画像の各画素に対する前記クラスコードの生成結果を記憶する記憶ステップと、
前記動画像を構成する第1の画像の注目画素のクラスコードと、前記記憶部に記憶されている、前記第1の画像と前後する第2の画像の各画素に対する前記クラスコードの生成結果との比較結果に基づき、前記第1の画像の注目画素の動きベクトルを検出する検出ステップとを含み、
前記クラスコード生成ステップは、
前記注目画素とその近傍に位置する複数の画素からなるクラスコード用タップを設定する設定ステップと、
設定された前記クラスコード用タップを構成する複数の画素の画素値の中間値を閾値として算出する算出ステップと、
設定された前記クラスコード用タップを構成する複数の画素のうち、画素値が前記閾値に近い方の所定の数の画素を除外画素に決定する決定ステップと、
設定された前記クラスコード用タップを構成する複数の画素のうち、前記除外画素以外の各画素の画素値を、それぞれ前記閾値との比較結果に対応して0または1に1ビット符号化することにより、前記注目画素に対する前記クラスコードを生成する生成ステップとを含む
処理をコンピュータに実行させるプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002295592A JP4144316B2 (ja) | 2002-10-09 | 2002-10-09 | 画像データ処理装置および方法、記録媒体、並びにプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002295592A JP4144316B2 (ja) | 2002-10-09 | 2002-10-09 | 画像データ処理装置および方法、記録媒体、並びにプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004134912A JP2004134912A (ja) | 2004-04-30 |
JP4144316B2 true JP4144316B2 (ja) | 2008-09-03 |
Family
ID=32285785
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002295592A Expired - Fee Related JP4144316B2 (ja) | 2002-10-09 | 2002-10-09 | 画像データ処理装置および方法、記録媒体、並びにプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4144316B2 (ja) |
-
2002
- 2002-10-09 JP JP2002295592A patent/JP4144316B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2004134912A (ja) | 2004-04-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4004653B2 (ja) | 動きベクトル検出方法および装置、記録媒体 | |
US20060285596A1 (en) | Motion-vector detecting device, motion-vector detecting method, and computer program | |
JP2009065332A (ja) | 画像処理装置、および画像処理方法、並びにコンピュータ・プログラム | |
KR20020067514A (ko) | 이미지 매칭 | |
US20080002774A1 (en) | Motion vector search method and motion vector search apparatus | |
US9113170B2 (en) | Motion vector decision apparatus, motion vector decision method and computer readable storage medium | |
KR102263619B1 (ko) | 과도 정보의 신호 분석 및 생성 | |
US20140212046A1 (en) | Bit depth reduction techniques for low complexity image patch matching | |
US6259737B1 (en) | Method and apparatus for fast motion estimation in video coding | |
JP2011503991A (ja) | 動き推定および補償の方法およびデバイス | |
US8175160B1 (en) | System, method, and computer program product for refining motion vectors | |
US20070092005A1 (en) | Method and apparatus for encoding, method and apparatus for decoding, program, and storage medium | |
JP4129788B2 (ja) | 画像データ処理装置および方法、記録媒体、並びにプログラム | |
JP2010114596A (ja) | 動きベクトル検出装置、その処理方法およびプログラム | |
JP2004348741A (ja) | 画像の比較方法、方法を実行するためのプログラムを記憶するコンピュータ可読記憶媒体、および方法を実行する装置 | |
JP2007129333A (ja) | 動きベクトル検出装置及び動きベクトル検出方法 | |
JP4144316B2 (ja) | 画像データ処理装置および方法、記録媒体、並びにプログラム | |
JP4622264B2 (ja) | 動きベクトル検出装置、および動きベクトル検出方法、並びにコンピュータ・プログラム | |
JP4622265B2 (ja) | 動きベクトル検出装置、および動きベクトル検出方法、並びにプログラム | |
JP4239557B2 (ja) | 画像処理装置および方法、記録媒体、並びにプログラム | |
JP4329331B2 (ja) | 画像処理装置および方法、記録媒体、並びにプログラム | |
US6993077B2 (en) | Experimental design for motion estimation | |
US10063880B2 (en) | Motion detecting apparatus, motion detecting method and program | |
JP4207763B2 (ja) | 動きベクトル検出装置、および動きベクトル検出方法、並びにコンピュータ・プログラム | |
JP4264803B2 (ja) | 画像処理装置および方法、学習装置および方法、記録媒体、並びに、プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050822 |
|
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 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080428 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080502 |
|
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: 20080527 |
|
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: 20080609 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110627 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120627 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130627 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 |