JP2008124580A - 動きベクトル検出方法、動きベクトル検出装置、及び撮像システム - Google Patents

動きベクトル検出方法、動きベクトル検出装置、及び撮像システム Download PDF

Info

Publication number
JP2008124580A
JP2008124580A JP2006303264A JP2006303264A JP2008124580A JP 2008124580 A JP2008124580 A JP 2008124580A JP 2006303264 A JP2006303264 A JP 2006303264A JP 2006303264 A JP2006303264 A JP 2006303264A JP 2008124580 A JP2008124580 A JP 2008124580A
Authority
JP
Japan
Prior art keywords
correlation
motion vector
image
vector detection
storage unit
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.)
Pending
Application number
JP2006303264A
Other languages
English (en)
Inventor
Yasuharu Tanaka
康晴 田中
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP2006303264A priority Critical patent/JP2008124580A/ja
Priority to US11/979,482 priority patent/US20080107182A1/en
Publication of JP2008124580A publication Critical patent/JP2008124580A/ja
Pending legal-status Critical Current

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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/43Hardware specially adapted for motion estimation or compensation
    • H04N19/433Hardware specially adapted for motion estimation or compensation characterised by techniques for memory access
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/436Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation using parallelised computational arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

【課題】参照領域のデータをパッキングして記憶装置に格納した場合に、重複して参照領域のデータを読み出すことなく、動きベクトルを検出できるようにする。
【解決手段】対象画像記憶部から、対象画像を読み出す対象画像読み出しステップと、参照画像記憶部から、対象画像と同サイズ分の画像データに加えて、少なくともパッキングの1単位分以上の画像データを余分に読み出す参照画像読み出しステップと、参照画像読み出しステップで読み出された画像データ内の前記対象画像と同サイズ分の画像データのブロックであり、互いに位置が異なる複数の参照ブロックのそれぞれと、前記対象画像との相関度を算出する相関度算出ステップとを設ける。
【選択図】図1

Description

本発明は、動画像圧縮符号化における動き補償予測符号化に使用する動きベクトル検出方法、動きベクトル検出装置、及び撮像システムに関するものである。
近年、高能率符号化を行うMPEG(Moving Pictures Experts Group)等の動画像圧縮符号化技術の実用化が急速に進み、ビデオカメラや携帯電話等に普及している。MPEG等の動画像圧縮符号化技術においては、被写体の変位と画像の差分データのみを符号化することで効率よく画像データを圧縮する動き補償予測が用いられている。この動き補償予測を行なう際には、被写体の変位を示す動きベクトルを検出する必要がある。
動きベクトル検出においては、ブロックマッチング法が広く採用されている。ブロックマッチング法による動きベクトル検出方法では、現画像内で符号化の対象となる所定数の画素からなるブロックの画像データ(以下、対象画像若しくは対象ブロックと呼ぶ)と、現画像よりも前画像において対象ブロックと同一空間位置の近傍で、かつ対象ブロックよりも大きい領域(以下、参照領域と呼ぶ)との比較を行い、対象画像と参照画像との相関度を所定の評価関数を算出することによって求める。そして、対象ブロックと最もマッチングの取れている(相関が強い)参照ブロック(参照領域上のブロックであり、対象ブロックと同サイズのブロック)の位置を求め、その参照ブロックの位置と、対象ブロックの位置との間の距離および方向を動きベクトルとして検出するものである。
相関が強い参照ブロックの検出方法としては、例えば、参照領域内の所定の探索開始位置(基準点と呼ぶ)を基準に、上下左右位置の相関係数を求め、相関が最大となった位置へ基準点を移動し、まだ相関係数を演算していない方向の相関演算を行いながら、相関が最大となるように探索位置をずらす方法(One at a Time方式)がよく知られている。
ブロックマッチング法による動きベクトル検出は処理量が多いので、処理完了までには多くの時間を必要とする。このため、様々な面から高速化の検討が行なわれてきた。例えば、前記評価関数を算出するための装置(例えば差分累積装置)を複数用意し、並列に処理させることで処理の高速化を図った動きベクトル検出装置が開示されている(例えば、特許文献1を参照)。
特開2006−13873号公報
一般に多くのデータ処理装置においては、データの転送および記憶装置への読み書きを行う際に、P個(Pは任意の自然数)のデータをパッキングして処理速度を上げる手法が採用されている。そのため、上記の動きベクトル検出装置においても、対象画像および参照画像をパッキングして処理の高速化を図ることが考えられる。
しかしながら、参照ブロックの境界と、パッキングされたデータの境界とは必ずしも一致しないので、位置をずらしつつ複数の参照ブロックを、参照領域のデータが格納された記憶装置から読み出す場合には、重複して同じデータを読み出してしまうことが考えられ、読み出し効率が非常に悪くなる可能性がある。
本発明は上記の問題に着目してなされたものであり、参照領域のデータをパッキングして記憶装置に格納した場合に、重複して参照領域のデータを読み出すことなく、動きベクトルを検出できるようにすることを目的としている。
前記の課題を解決するため、本発明の一態様は、
動画像圧縮符号化を行なう際に、第1の画素数単位でパッキングされて対象画像記憶部に格納された矩形状の対象画像と、第2の画素数単位でパッキングされて参照画像記憶部に格納された矩形状の参照画像とを使用して、ブロック単位で動きベクトルを検出する動きベクトル検出方法であって、
前記対象画像記憶部から、前記対象画像を読み出す対象画像読み出しステップと、
前記参照画像記憶部から、前記対象画像と同サイズ分の画像データに加えて、少なくとも前記参照画像のパッキング1単位分以上の画像データを余分に読み出す参照画像読み出しステップと、
前記参照画像読み出しステップで読み出された画像データ内の前記対象画像と同サイズ分の画像データのブロックであり、互いに位置が異なる複数の参照ブロックのそれぞれと、前記対象画像との相関度を算出する相関度算出ステップと、
を有していることを特徴とする。
本発明によれば、参照領域のデータをパッキングして記憶装置に格納した場合に、重複して参照領域のデータを読み出すことなく、動きベクトルを検出できる。
以下、本発明の実施形態について図面を参照しながら説明する。なお、以下の各実施形態の説明において、一度説明した構成要素と同様の機能を有する構成要素については、同一の符号を付して説明を省略する。
《発明の実施形態1》
図1は、本発明の実施形態1に係る動きベクトル検出装置100の構成を示すブロック図である。動きベクトル検出装置100は、例えば、ビデオカメラや携帯電話等において、動き補償予測を行なう際に、被写体の変位を示す動きベクトルを検出する装置の例である。
(動きベクトル検出装置100の構成)
図1に示すように、動きベクトル検出装置100は、動きベクトル検出制御部101、対象画像記憶部102、参照画像記憶部103、対象画像読出部104、参照画像読出部105、対象画像一時蓄積部106、参照画像一時蓄積部107、SAD計算部108、探索結果記憶部109、及び探索済点記憶部110を備えている。これらのうちSAD計算部108は、複数個(n個)が設けられており、図1では、SAD計算部108−1、SAD計算部108−2・・・SAD計算部108−nのように、枝番をつけて識別してある。
(各構成要素の機能)
動きベクトル検出制御部101は、対象画像記憶部102、参照画像記憶部103、対象画像読出部104、参照画像読出部105、対象画像一時蓄積部106、参照画像一時蓄積部107、及びSAD計算部108の動作を、後述するように制御するようになっている。
対象画像記憶部102は、符号化の対象となる画像データ(対象画像、若しくは対象ブロックと呼ぶ)が、所定の画素数(第1の画素数とする)の単位でパッキングされた状態で、格納されるようになっている。
参照画像記憶部103は、現在の画像よりも時間的に前の画像において、対象ブロックと同一空間位置の近傍で、かつ対象ブロックよりも大きい領域(以下、参照領域と呼ぶ)の画像データ(参照画像)の一部、もしくは全てが、所定の画素数(第2の画素数とする)の単位でパッキングされた状態で、格納されるようになっている。参照画像は、対象画像の動きベクトル探索、及び符号化(具体的には、対象画像と参照画像の差分を符号化する)のために使用される。第1の画素数及び第2の画素数のことは、ともにパッキングデータ数と呼ぶことにする。
なお、本実施形態では、対象画像のサイズ(探索サイズ)は、図2に示すように16画素×16画素であるものとする。また、第1の画素数及び第2の画素数は、何れも同数のP画素(Pは自然数)であるものとする。以下では、P=4の例を説明する。
図3及び図4は、参照画像の一部分を抜粋したものである。太線で囲んである16画素×16画素の領域(参照ブロックと呼ぶ)が、対象ブロックとの相関の強さを算出する領域である。相関の強さは、対象ブロックを構成する画素が有する画素値と参照ブロックを構成する画素が有する画素値との差分の絶対値の和である評価関数値の最小値を求めることにより評価する(以下、この評価関数で求めた値をSAD値と呼ぶ)。
図3は、点(0,0)を探索の開始位置(基準点)にした参照ブロックと、その周囲の画像データ部分を抜粋したものである。また、図4は、点(1,0)を基準点にして探索を開始する参照ブロックと、その周囲の画像データ部分を抜粋したものである。ここで、点(n,m)を基準点とする参照ブロックについてSAD値を求めることを、「動きベクトル(n,m)点を探索する」ということにする。
図3を見ると動きベクトル(0,0)点を探索する際に必要となるパッキングデータ数がわかる。すなわち、水平4パッキングデータ×垂直16ラインである。これは、水平方向に4パッキングデータ(16画素)を読み出し、読み出した全ての画像データを探索に使用した場合の読み出しパッキング数である。
しかし、参照画像の位置が、これよりもずれた場合は、より多くの画像データを読み込む必要がある。例えば、動きベクトル(1,0)点を探索する際に必要となるパッキングデータ数は、図4に示すように、水平5パッキングデータ×垂直16ラインとなる。すなわち、参照画像記憶部103からの参照画像の読み出しは、水平5パッキングデータ×垂直16ラインを、基準読み出しサイズとするとよい。すなわち、対象画像のサイズに、参照画像のパッキング単位のサイズ(少なくとも1単位分以上)を加えたものを基準読み出しサイズとするとよい。
対象画像読出部104は、SAD計算を行なう上で必要となる、対象画像記憶部102に格納されている対象画像を、動きベクトル検出制御部101の制御に応じ、第1の画素数の単位(この例ではP画素単位)で読み出すようになっている。
参照画像読出部105は、SAD計算を行なう上で必要となる、参照画像記憶部103に格納されている参照画像を、動きベクトル検出制御部101の制御に応じ、第2の画素数の単位(この例ではP画素単位)で、基準読み出しサイズ分を読み出すようになっている。
対象画像一時蓄積部106は、対象画像読出部104が読み出した対象画像を一時的に蓄積するようになっている。より詳しくは、対象画像一時蓄積部106は、対象画像の1パッキングデータ分(すなわちP画素分のデータ)のバッファ領域を有しており、FIFO(First In First Out)動作を行なうようになっている。なお、対象画像一時蓄積部106の出力は、動きベクトル検出制御部101の制御に応じて、SAD計算部108−1〜SAD計算部108−nに供給されている。
参照画像一時蓄積部107は、参照画像読出部105が読み出した参照画像を一時的に蓄積するようになっている。より詳しくは、参照画像一時蓄積部107は、参照画像の2パッキングデータ分(すなわち2P画素分のデータ)のバッファ領域を有しており、FIFO動作を行なうようになっている。
SAD計算部108−1〜n(本実施形態では、n=5とする)は、対象画像一時蓄積部106から供給された対象画像、及び参照画像一時蓄積部107から供給された参照画像を使用して、次のように定義されるSAD値を計算する。
SAD値の定義は、以下のとおりである。
SAD=Σ|Ref(Mx+x,My+y)−Org(x,y)|
ここで、Ref(Mx+x,My+y)は、対象ブロックに対して相対位置(Mx,My)にある参照ブロックの画素位置(Mx+x,My+y)における画素値を示している。また、Org(x,y)は対象ブロックの画素位置(x,y)における画素値を示している。
また、動きベクトル検出制御部101の制御に応じて、SAD計算部108−1〜SAD計算部108−nには、参照画像一時蓄積部107の出力が供給されている。詳しくは、参照画像一時蓄積部107に蓄積されている2パッキングデータ(すなわち8画素分のデータ)は、動きベクトル検出制御部101によって、パッキングデータから画素単位のデータに分解され、SAD計算部108−1〜SAD計算部108−nに送られる。具体的には、参照画像一時蓄積部107に蓄積されている8画素分のデータをd1〜d8とすると、SAD計算部108−1にはd1〜d4の4画素分のデータを送り、SAD計算部108−2にはd2〜d5の4画素分のデータを送り、SAD計算部108−3にはd3〜d6の4画素分のデータを送り、SAD計算部108−4にはd4〜d7の4画素分のデータを送り、SAD計算部108−5にはd5〜d8の4画素分のデータを送るようにする(図5を参照)。
これにより、水平方向に1画素ずつずれた5点について、同時にSAD値を求めることができる。すなわち、探索点(0,0)のSAD値計算を行なうSAD計算部がSAD計算部108−1であり、また探索点(1,0)のSAD値計算を行なうSAD計算部がSAD計算部108−2であり、また、探索点(4,0)のSAD値計算を行なうSAD計算部がSAD計算部108−5である。同時にSAD値計算が行なえる探索点をまとめると、点(4xP,Q)、点(4xP+1,Q)、点(4xP+2,Q)、点(4xP+3,Q)、点(4xP+4,Q)となる。(ただし、PおよびQは整数である)。
探索結果記憶部109は、対象画像以外の画像の動きベクトル探索に使用できるSAD値を一時的に蓄積するようになっている。
探索済点記憶部110は、参照画像内の各点について、探索を行なったかどうか(SAD値を求めたかどうか)等を識別するフラグを記憶するようになっている。本実施形態では、このフラグは2ビットである。なお、フラグの値が『10b』(bは2進数を示す)ならば、既に探索が完了しているがSAD値が探索結果記憶部109に格納されていないことを示し、フラグの値が『01b』ならば、探索は完了し、かつSAD値が探索結果記憶部109に格納されていることを示し、フラグの値が『00b』ならば、探索が行なわれていないことを示しているものとする。
(動きベクトル検出装置100の動作)
基準点(0,0)から順に、最小のSAD値を求める場合を例に、動きベクトル検出装置100の動作を説明する。図6は、動きベクトル検出装置100で行なわれる処理の流れを示すフローチャートである。なお、探索処理を行なうステップ(S100〜S102、及びS105〜S106)においては、探索毎にサブステップ(SUB101〜SUB104)の処理を行なう。
また、フローを開始する時の処理(初期化処理)として、探索結果記憶部109をクリアし、(図7に示すt0のタイミング)、探索済点記憶部110のフラグも全て『00b』にクリアする(図8を参照)。初期化が完了すると、引き続き以下のように処理が行なわれる。
第一の処理としては、基準点(0,0)の探索を行なう(S100)。探索にあたり、SUB101の処理に移行する。この処理では、まず、動きベクトル検出制御部101は、基準点(0,0)が探索済みか否かを探索済点記憶部110のフラグ状況を確認して判断する(SUB101)。
この例では、フラグの値が『00b』であるため(図8を参照)、SUB102に移る。SUB102では、実際に基準点(0,0)を探索する。
まず、動きベクトル検出制御部101は、参照画像読出部105を制御して、参照画像を読み出す。動きベクトル(0,0)点を探索するにあたって必要なのは、パッキングデータP2−2b〜P17−5(計64パッキングデータ)であるが、基準読み出しサイズに従い、P2−2b〜P17−6(計80パッキングデータ)を読み出す。この読み出しにより、基準点(0,0)の探索は勿論のこと、点(1,0)、点(2,0)、点(3,0)、そして点(4,0)の探索を行なうことができる。参考のため、図9には動きベクトル(4,0)点を探索するのに必要となる参照画像領域を示す。
図10に動きベクトル(0,0)点を計算する際の対象画像及び参照画像の読出し(対象画像読出部104、参照画像読出部105の動作)、読み出したデータの一時蓄積(対象画像一時蓄積部106、参照画像一時蓄積部107の動作)、及びSAD計算部108へのデータ供給タイミングを示す。
このように、SAD計算部108にデータが供給されると、SAD計算部108はSAD値を求める(探索する)。そして、探索が完了すると、基準点(0,0)のSAD値(例えば『20』とする)を動きベクトル検出制御部101に返す。
また、動きベクトル検出制御部101は、基準点(0,0)に対応した探索済点記憶部110内のフラグを書き換える。具体的には、図11に示すように、『10b』に書き換える。
基準点(0,0)を探索すると、同時に探索点(1,0)〜(4,0)も探索できるので、同時に探索した探索点(1,0)〜(4,0)に関しては、探索結果記憶部109にSAD値の計算結果を格納しておく(図7に示すt1を参照)。すなわち、本実施形態では、同時に計5点の探索を行なうことができる。また、探索結果記憶部109にSAD値が格納されている探索点(1,0)〜(4,0)に対応した探索済点記憶部110内のフラグは『01b』に書き換える。
次の処理は、基準点の右の点を探索する(S101)。今、基準点は、点(0,0)であるため、ここでは、探索点(1,0)のSAD値を計算することになる。それを計算するにあたり、動きベクトル検出制御部101は、探索点(1,0)が探索済みか否かを探索済点記憶部110のフラグ状況を確認して判断する(SUB101)。
例えば、図11に示すように、フラグの値が『01b』ならば、探索は既に完了しており、SAD値は探索結果記憶部109に格納されている。
よって、この点に関しては、改めて対象画像及び参照画像を読み出して、SAD計算を行なう必要はなく、探索結果記憶部109内に格納されている探索点(1,0)に対応したSAD値(例えば『19』)を読み出すだけで、探索を行なうことができる(SUB104)。
なお、探索点(1,0)の情報は、以後不要となるため、探索結果記憶部109から削除し、メモリを開放することができる。
また、このステップでも、探索を行なった点に関しては、探索済点記憶部110のフラグを書き換えておく(図12を参照)。
S101が完了すると、次のステップ(S102)に移る。S102では、基準点の左の点を探索する。今、基準点は(0,0)であるため、探索点(−1,0)のSAD値を計算することになる。それを計算するにあたり、動きベクトル検出制御部101は、探索点(−1,0)が探索済みか否かを探索済点記憶部110のフラグ状況を確認し判断する(SUB101)。
例えば、図12に示すように、フラグの値が『00b』ならば、SUB102に移る。このサブステップでは、実際に探索点(−1,0)を探索する。
探索点(−1,0)を探索すると、同時に探索点(−4,0)〜(0,0)も探索できる。これらのうち、探索点(−4,0)〜(−2,0)に関しては、探索結果記憶部109にSAD値の計算結果を格納しておく(図7に示すt3を参照)。ただし、探索点(0,0)は既に探索が完了しており、以後は、この点のSAD値を使用することはないので、格納はしない。そして探索を行なった点に関しては、探索済点記憶部110のフラグを書き換えておく(図13を参照)。
基準点の左右の点の探索が完了すると、SAD値の比較を行う(S103)。今、基準点(0,0)のSAD値である『20』よりも、右側の探索点のSAD値『19』の方が小さいため、基準点を右側の探索点(1,0)に移動し、再度、S101に移る。
次の処理では、基準点(1,0)の右側の点を探索する(S101)。今、基準点が(1,0)なので、探索点(2,0)のSADを計算することになる。それを計算するにあたり、動きベクトル検出制御部101は、探索点(2,0)が探索済みか否かを探索済点記憶部110のフラグ状況を確認し判断する(SUB101)。
例えば、図13に示すように、フラグの値が『01b』ならば、探索は既に完了しているので、探索結果記憶部109からSAD値『18』を読み出す(SUB104)。探索結果記憶部109内の探索点(2,0)に対応した情報は、以後不要となるので削除する(図7に示すt4を参照)。また、探索を行なった点に関しては、探索済点記憶部110のフラグを書き換えておく(図14を参照)。
次いで行なう探索は、探索点(2,0)の左の点の探索(S102)であるが、探索済点記憶部110内の、この点に対応したフラグをみると『10b』であり、既に探索が完了している点(無効点と呼ぶ)なので探索はしない。
S103で行なうSAD比較においては、基準点のSAD値『19』よりも、右点のSAD値『18』の方が小さいため、基準点を右の点(2,0)に移し再度ステップS101を実行する。
以下、同様にして探索を進めていく。なお、探索済点記憶部110内のフラグの値が『00b』に対応した点を探索する必要がある場合は、図6の四角形の太枠で囲まれた5点が同時に探索できる5点となる。
上記のように、本実施形態では、重複して参照画像記憶部103からデータを読み出す必要がないので、読み出し効率が悪化することがない。
また、例えば、One at a Time方式で、1点ずつSAD値を求めたとすれば、上記に例示したSAD値となる参照領域に対しては、図15に示すように、探索が完了するまでに15回も対象画像及び参照画像を読み出しSAD計算を行なう必要がある。これに対して、本実施形態では、図16に示すように、僅か7回の読み出しに削減することができる。
要するに、P画素単位でパッキングされた参照画像を探索サイズ分だけ読み出そうとしても、当然、不要な画像データも同時に読み出してしまう可能性が高い。本実施形態の例でいうと、水平16画素×垂直16画素を読み出すのに、一旦、水平20画素×垂直16を読み出す必要があった。この時の左右にできる水平4画素×16画素分のデータが不要なデータ(処理には使用されないデータ)となることは言うまでもない。従来は、この不要データは使用せずに捨てていたが、この不要データも最大限活用して、探索できる点に関しては全て探索(SAD値の計算)するようにしたので、再度、同位置のデータの読み出しを行い、改めてSAD計算を行なうといった手間を省くことができる。すなわち、高速に探索を進め完了させることができる。
なお、本実施形態で示した5点の同時探索において、例えば、動きベクトル(0,0)点を探索することができるのは、以下の2通りの読み出しを行った場合である。
1通り目は、探索点(−4,0)、(−3,0)、(−2,0)、(−1,0)、及び(0,0)を探索するのに必要なパッキング画素データ「P2−1b→P2−2b→P2−3b→P3−1b→・・・P17−3b」を読み出した場合である。また、2通り目は、探索点(0,0)、(1,0)、(2,0)、(3,0)、及び(4,0)を探索するのに必要なパッキング画素データ「P2−2b→P2−3b→P2−4b→P3−2b→・・・P17−4b」を読み出した場合である。以下、動き探索を行なう際に2通り画像データ読出し方法がある点を『重複探索点』と呼ぶ。
動きベクトル検出装置100では、上記の何れかの読み出しの際にのみ、探索点(0,0)を探索するように変更することで、例えば、1通り目の読み出し位置では、探索点(0,0)は探索せずに、探索点(−4,0)、(−3,0)、(−2,0)、及び(−1,0)の4点のみ探索し、2通り目の読み出し位置では探索するようにしてもよい。すなわち、ある動きベクトル点を探索するのに2通りの読み出し方法がある場合は、(図16における重複探索点は、(0,0)、(4,0)、(4,1)などである。)、何れか1通りの読み出しでのみ探索するようにする。
これにより、5点同時探索ではなく4点同時探索になり(図17を参照)、SAD計算部の個数を削減することができる。すなわち、パッキングデータ数P=4と、同時探索点数とを同一にすることで、重複探索点の発生を防ぐことができ、SAD計算部を削減することができる。
また、読み出す参照画像データのサイズをさらに、水平、もしくは垂直方向に拡張することで、同時に探索できる点を増加させることができ、更に探索の高速化を図ることができる。
例えば、探索点(0,0)、(1,0)、(2,0)、(3,0)、及び(4,0)を探索するのに必要であった参照画像「P2−2b→P2−3b→P2−4b→P3−2b→・・・P17−4b」に対し、読み出しサイズを、水平方向に1パッキング画素拡張した参照画像「P2−2b→P2−3b→P2−4b→P2−5b→P3−2b→・・・P17−4b→P17−5b」とする。これにより、上記の探索点に加え、探索点(5,0)、(6,0)、(7,0)、及び(8,0)の計9点を同時に探索することができる。
一方、読み出しサイズを垂直方向に1パッキング画素拡張した参照画像「P2−2b→P2−3b→P2−4b→P3−2b→・・・P17−4b→P18−2b→P18−3b→P18−4b」とすることで、探索点に加え、探索点(0,1)、(1,1)、(2,1)、(3,1)、及び(4,1)の計10点を同時に探索することができる。また、水平、垂直双方を拡張することで、同時探索点数を増やすこともでき、処理を高速化することができる。
また、上記のように読み出しサイズを拡張した場合でも、重複探索点が存在する。例えば、水平方向に拡張した場合は、探索点(0,0)と(8,0)が重複探索点である。また、垂直方向に拡張した場合は、探索点(0,0)と(0,1)と(4,0)と(4,1)とが重複探索点として挙げられる。そこで、例えば、前者の場合は、探索点(8,0)を除く計8点を、また、後者の場合は、探索点(4,0)、及び(4,1)を除く8点を同時に探索することで、重複探索点が発生を防止し、最もSAD計算手段を削減することができる。この場合の同時探索点数は、パッキングデータ数Pの倍数となることは言うまでもない。
また、探索サイズが固定で処理されない場合がある。例えば、16×16画素だけではなく、8×16画素、16×8画素、8×8画素、さらには4×4画素で探索するといったマルチ探索サイズによる探索を行なう場合もある。この場合は、複数の探索サイズで探索し、その結果の中から最適なものを選ぶことになる。
今、4×4画素単位のブロック(サブブロック)で探索(SAD値計算)を実行すれば、その結果から、その他の探索サイズの探索(SAD値計算)結果を作ることができる。そのため、本実施形態で示した各探索を行なう際には、最小探索サイズである4×4画素単位で探索を行なうようにする。当然、4×4画素にて16×16画素分のSAD値を並列に算出するには、SAD計算部108を16個持つ必要はある。
そして、各点の探索が終了する度に、16×16画素サイズのSAD値を算出し、それを動きベクトル検出制御部101、又は探索結果記憶部109に渡すことで、本実施形態で示した探索と同処理の探索を実現することができる。
また、4×4画素、8×8画素、16×8画素、8×16画素などといった他サイズのSAD値も計算し、探索結果記憶部109に格納しておく。探索は、16×16画素単位で進んでいくが、全ての探索が終わった時点で、16×16画素のSAD値と、探索結果記憶部109に格納されている他サイズのSAD値とを用いて、どの探索サイズが一番有効であるかを含めて探索点を決定することができる。
また、垂直方向に1画素間引きを行ない、その画素を使用した探索であるインタレース探索(SAD値計算)を実施すれば、画素間引きを行なわない探索(プログレッシブ探索と呼ぶ)のSAD値を作れることは言うまでもない。これは、インタレース符号化の際には非常に有効な手法となる。
また、本実施形態では、探索を進めるにあたり、同時に探索できる点のSAD値を探索結果記憶部109に格納していくので、探索結果記憶部109の容量は非常に多く確保しておく必要がある。
これを、ある閾値を超える容量のデータを格納した際に、探索結果記憶部109内に格納されているデータ量を減らすように工夫を加えることで、予め確保しておく容量を削減することができる。
例えば、その1つ目の方法としては、探索結果記憶部109内の探索結果データを全て消去する。同時に、消去したデータに対応した動きベクトル点に関しては、探索済点記憶部110内の対応するフラグを、未探索を示す『00b』にする。そして、以後の探索においてその結果が必要であれば再度探索を行なうようにする。これにより、探索結果記憶部109の容量の上限を補償することができる。
また、別の手法としては、記憶手段容量が閾値を超えた時の探索点のSAD値よりも大きな値が探索結果記憶部109に格納されている場合は、その探索結果データを消去する。同時に、消去したデータに対応した動きベクトル点に関しては、探索済点記憶部110内の対応するフラグを、探索済みを示す『10b』にする。これにより、今後の探索においても使用しない不要な探索結果データのみを消去することができる。
また、後者の手法をまず実行し、実行後でもデータ容量が閾値を越えている場合に、前者の手法を実行するといったように、両方の手法を組み合わせることで、更に有効な手法となる。
《発明の実施形態2》
図18は、本発明の実施形態2に係る動きベクトル検出装置200の構成を示すブロック図である。同図に示すように、動きベクトル検出装置200は、実施形態1で示した動きベクトル検出装置100から、探索結果記憶部109を省くとともに、動きベクトル検出制御部101の代わりに動きベクトル検出制御部201を設けて構成したものである。
なお、実施形態2においても、探索サイズは16画素×16画素、パッキングデータ数P=4、SAD計算部の個数n=5とする。
実施形態1では、基準点のSAD値のみを動きベクトル検出制御部101に渡し、同時に探索できるそれ以外の点に関しては、SAD値を探索結果記憶部109に格納していた。しかし、本実施形態では、探索できる全ての点(5点)のSAD値を動きベクトル検出制御部201に渡す。
動きベクトル検出制御部201は、以下のようにして、SAD値の算出を制御する。本実施形態では、探索できる全ての点(5点)のSAD値のうち、最小となる点を選択して処理を行なう。
具体的に、図19、図20を用いて処理を説明する。図20は、動きベクトル検出装置200で行なわれる処理の流れを示すフローチャートである。なお、探索処理を行なうステップ(S200〜S202、及びS205〜S206)においては、探索毎にサブステップ(SUB201〜SUB203)の処理を行なう。
まず、基準点(0,0)についてSAD値を計算する(図20に示すS200)。その時に同時に探索点(1,0)〜(4,0)もSAD値を計算することができるのは、実施形態1で説明した理由と同じである。その時の5点のSAD値を全て、動きベクトル検出制御部201に渡す。
図19に示す例では、探索点(0,0)のSAD値:20、(1,0)のSAD値:19、(2,0)のSAD値:18、(3,0)のSAD値:16、そして(4,0)のSAD値:15を渡すことになる。この例では、SAD値:15が最小のSAD値なので、次の基準点を(4,0)として、次の探索(図20に示すS201)に移る。
なお、SUB203では、5点全てについて、探索済点記憶部110内の値を『10b』に書き換える。
図20に示すS201では、基準点の右の(5,0)を探索することになる。この点を探索する場合は(4,0)〜(8,0)の5点を同時に探索することができるが、この5点内で最小のSADとなるのは、図19に示す例では、(4,0)のSAD:15である。
S202では、基準点(4,0)の左の(3,0)が探索の対象であるが、(3,0)は既に探索が完了している(探索済点記憶部110内のフラグが『10b』)ので、再度の探索は行なわない。
次に、S203において、SAD値の比較を行なう。左右点を探索した結果、図19に示す例では、基準点(4,0)のSAD:15よりも小さいSAD値が検出されなかったので、S205以降の処理(上点探索、下点探索)に移る。
S205では、基準点(4,0)の下の(4,1)と、それと同時に探索できる(5,1)〜(8,1)とを探索し、SAD値が最小となる点を求める。この例では、(4,1)のSAD値:14を下点探索の結果とする。
また、S206では、基準点(4,0)の上の(4,−1)と、それと同時に探索できる(5,−1)〜(8,−1)を探索し、SAD値が最小となる点を求める。この例では、(5,−1)のSAD値:16を上点探索の結果とする。
そして、S207において、SAD値の比較を行なう。上下点を探索した結果、下点の(4,1)のSAD値:14が、基準点のSAD(4,0):15よりも小さいので、基準点を(4,1)に移し、再度S201に処理を戻す。
S201では、基準点(4,1)の右の(5,1)が探索の対象であるが、(5,1)は既に探索済みであるので、再度の探索は行なわない。
また、S202では基準点(4,1)の左が探索の対象であるが、(0,1)〜(4,1)を同時に探索する。この例では、探索の結果、(1,1)のSAD値:8が最小となるので、これを左点の探索結果とする。
次に、S203においてSAD値の比較を行なう。この例では、基準点(4,1)のSAD:14よりも、下の(1,1)のSAD値:8のほうが小さいので、(1,1)に基準点を移す。同様の処理を行なって、この基準点の上下左右点を探索する。この例では、SAD値は8よりも小さくならないので、この基準点(1,1)に対応した参照ブロックが動きベクトル検知の結果となる。
上記のように、本実施形態は、複数点を探索する度に、その複数点の中でSAD値が最小となる点を選択して探索を進めて行くので、実施形態1で必要であった探索結果記憶部109が不要となる。それゆえ、よりコンパクトな動きベクトル検出装置を実現することができる。
なお、本実施形態においても、実施形態1で述べた重複探索点を防止するための手法『パッキングデータ数P=同時探索点数』は有効である。また、本実施形態においては、重複探索点を無くすことで、探索済点記憶部に格納するフラグ数を削減することができる。例えば、探索点(0,0)が探索済みということは、探索点(1,0)〜(3,0)も探索済みということになる。すなわち、この4点のフラグを共有化することができる。
また、本実施形態での各点の探索状態は、「未探索」又は「探索済み」の2状態である。そのため、フラグは実施形態1のように、2bitにする必要は必ずしもない。
また、実施形態1で示した、水平もしくは垂直方向に拡張した参照画像を読み出して、同時探索点を増やす手法は、本実施形態においても非常に有効な手法であることは、言うまでもない。
なお、基準点を移動する場合には、事前に探索済点記憶部110内のフラグの値を確認することで、処理の高速化に繋がる。
本実施形態の動き探索手法は、探索結果を受け次探索点を決定するステップ(次探索点決定ステップと呼ぶ)と、実際に探索を実行して探索結果を得るステップ(SAD値算出ステップと呼ぶ)とからなり、それを繰り返すことで動きベクトル検知が進んでいく。
今、SAD値算出ステップにおいて、例えば図21に示す位置の4点を探索しているとする。この時の探索結果において「2−04」のSAD値が一番小さく、この探索終了後に動きベクトル探索の基準点がこの「2−04」に移った場合の次点決定方法(次探索点決定ステップ)を考える。
基準点「2−04」の右点「2−05」が探索の対象となるが、この点は既に探索が完了しているので、基準点「2−04」の左点「2−03」の探索を行なうことになる。既に「2−03」点の探索が完了している場合(完了しているか否かは探索済点記憶部110により判断)は、基準点「2−04」の下点「3−04」を探索することになる。既に「3−04」点の探索が完了している場合は、基準点「2−04」の上点「1−04」を探索することになる。また、周囲全ての探索点が完了している場合は、「2−04」を動きベクトルとし、探索を終了することになる。
また、図21に示す位置の4点を探索し、その探索結果、「2−05」のSAD値が一番小さく、その探索終了後に基準点が、「2−05」に移る場合の次点決定方法(次探索点決定ステップ)を考える。
基準点「2−05」の右点「2−06」が探索の対象となるが、この点は既に探索を完了しているので、基準点「2−05」の左点「2−04」の探索を行なうことになる。これも探索を完了しているので、基準点「2−05」の下点「3−05」を探索することになる。既に「3−05」点の探索を完了している場合は、基準点「2−05」の上点「1−05」を探索することになる。また、周囲全ての点の探索が完了している場合は、基準点「2−05」を動きベクトルとして、探索を終了することになる。また、図21に示す位置の4点を探索し、その探索結果、「2−06」もしくは「2−07」のSAD値が一番小さかった場合の次点決定方法(次探索点決定ステップ)についても同様である。
以上のように、4点の探索を行なっている時に、その各点における次点探索位置を探索済点記憶部110内のフラグ値に基づいて予め決定しておくことで、探索が完了し次第、決定した点の探索に直ぐに移ることができため、処理の高速化にも繋がる。
《発明の実施形態3》
実施形態3は、更に高速にSAD値の計算を行なうために、探索サイズ全ての画像データを用いるのではなく、サブサンプリングした画像データを用いてSAD値計算を行なう装置の例である。
実施形態3に係る動きベクトル検出装置が有する構成要素は実施形態1(図1)と同様であるが、対象画像記憶部102、及び参照画像記憶部103における画像データの格納方法が異なる。
図22は、サブサンプリングした対象画像を示している。また、図23〜図31は、動きベクトル(0,0)点〜(8,0)点の各探索において使用する、サブサンプリングした参照画像を示している。これらの図に示すように、パッキングされた画像データのうち、探索に使用する画像は僅か半分であり、もう半分は読み出すが使用せずに捨てることになる。
そこで、対象画像記憶部102及び参照画像記憶部103には、図32に示すように、8画素単位で、使用する画素と使用しない画素とを並び替え、再パッキングしてから格納することで、使用する画像データのみを一気に読み出すことができる。
対象画像について、使用する画像のみを読み出すには、T1−1c→T1−3c→T2−2c→T2−4c→T3−1c→T3−3c→・・T16−2c→T16−4cと読み出せばよい(図33を参照)。
また、参照画像について、使用する画像のみを読み出すには、2種類の読み出し方法がある。これは、動きベクトルのx座標の値により異なる。動きベクトルのx座標が偶数の場合は、P2−2c→P2−4c→P2−6c→P3−3c→P3−5c→P3−7c→・・→P17−3c→P17−5c→P17−7cと読み出せばよい(図34を参照)。一方、動きベクトルのx座標が奇数の場合は、P2−3c→P2−5c→P2−7c→P3−2c→P3−4c→P3−6c→・・→P17−2c→P17−4c→P17−6cと読み出せばよい(図35を参照)。
図34に示す画像データを用いた場合には、探索点(0,0)、(2,0)、(4,0)、(6,0)、(8,0)を探索することができる。すなわち、(4xP,Q)、(4xP+2,Q)、(4xP+4,Q)、(4xP+6,Q)、(4xP+8,Q)の計5点を探索することができる。
また、図35に示す画像データを用いた場合には、探索点(1,0)、(3,0)、(5,0)、(7,0)を探索することができる。すなわち、(4xP+1,Q)、(4xP+3,Q)、(4xP+5,Q)、(4xP+7,Q)の計4点を探索することができる。ただし、P及びQは整数である。
上記のように、本実施形態では、同時探索点の位置が実施形態1や実施形態2とは異なるが、それ以外の探索方法については、実施形態1や実施形態2と同様の処理を行なうことで、サブサンプリングした画素による動きベクトル探索(SAD値計算)を高速に行なうことができる。
なお、実施形態1、2に示した重複探索点を削減する手法、及び参照画像の読み出しを水平、もしくは垂直方向に拡大して同時探索点を増やす手法は、本実施形態においても非常に有効な手段であることは言うまでもない。
《発明の実施形態4》
図36は、本発明の実施形態4に係る撮像システム400(例えばデジタルスチルカメラ(DSC))の構成を示すブロック図である。同図に示すように、撮像システム400は、光学系401、センサ402、AD変換器403(図中ではADCと略記)、画像処理回路404、記録転送回路406、再生回路407、タイミング制御回路408、及びシステム制御回路409を備えている。
光学系401は、入射した画像光をセンサ402上に結像させるようになっている。
センサ402は、タイミング制御回路408によって駆動されて、光学系401によって結像された画像光を蓄積し、電気信号へと光電変換するようになっている。
AD変換器403は、センサ402から出力された電気信号を、デジタル信号へと変換し、画像処理回路404に出力するようになっている。
画像処理回路404は、Y/C処理、エッジ処理、画像の拡大縮小、及び画像圧縮伸張処理などの画像処理が行われるようになっている。画像処理された信号は、記録転送回路406に出力される。画像処理回路404は、画像圧縮のために、信号処理装置405を備えている。信号処理装置405は、上記の実施形態1〜3に係る動きベクトル検出装置の何れかである。
記録転送回路406は、画像処理回路404の出力を、メディアへ記録あるいは転送するようになっている。
再生回路407は、記録転送回路406によって記録あるいは転送された信号を再生するようになっている。
タイミング制御回路408は、光学系401、センサ402、AD変換器403、及び画像処理回路404の動作タイミングを制御するようになっている。
システム制御回路409は、システム全体の動作を制御するようになっている。
なお、本実施形態に係る信号処理装置405における画像処理は、必ずしも光学系401を介してセンサ402に結像された画像光に基づく信号のみに適用されるものではない。例えば、外部装置から電気信号として入力される画像信号を処理する際にも適用可能であることは言うまでもない。
また、対象画像のパッキングの単位と参照画像のパッキングの単位とは、必ずしも同じである必要はない。例えば、対象画像を8画素単位、参照画像を4画素単位のように、異なる単位でパッキングする場合にも本発明を適用できる。
本発明に係る動きベクトル検出方法は、参照領域のデータをパッキングして記憶装置に格納した場合に、重複して参照領域のデータを読み出すことなく、動きベクトルを検出できるという効果を有し、動画像圧縮符号化における動き補償予測符号化に使用する動きベクトル検出装置や撮像システム等として有用である。
実施形態1に係る動きベクトル検出装置100の構成を示すブロック図である。 対象画像記憶部に格納される象画像のサイズを示す図である。 参照画像の一部分を抜粋したものである。 参照画像の一部分を抜粋したものである。 SAD計算部108−1〜5に送られデータを示す図である。 動きベクトル検出装置100で行なわれる処理の流れを示すフローチャートである。 探索結果記憶部109内のデータの変化状況を示す図である。 時刻t0における探索済点記憶部110の状況を示す図である。 動きベクトル(4,0)点を探索するのに必要となる参照画像領域を示す図である。 動きベクトル(0,0)点を計算する際の対象画像及び参照画像の読出し、読み出したデータの一時蓄積、及びSAD計算部108へのデータ供給タイミングを示す図である。 時刻t1における探索済点記憶部110の状況を示す図である。 時刻t2における探索済点記憶部110の状況を示す図である。 時刻t3における探索済点記憶部110の状況を示す図である。 時刻t4における探索済点記憶部110の状況を示す図である。 One at a Time方式で、1点ずつSAD値を求めた場合の対象画像及び参照画像を読み出し回数を説明する図である。 実施形態1に係る動きベクトル検出装置で、SAD値を求めた場合の対象画像及び参照画像を読み出し回数を説明する図である。 重複探索点の探索を行なわないようにした場合に、同時探索される点を説明する図である。 実施形態2に係る動きベクトル検出装置200の構成を示すブロック図である。 実施形態2に係る動きベクトル検出装置200で行なわれる探索動作を説明する図である。 実施形態2に係る動きベクトル検出装置200で行なわれる処理の流れを示すフローチャートである。 フラグの値の事前確認が行なわれた場合の探索動作を説明する図である。 サブサンプリングした対象画像を示す図である。 動きベクトル(0,0)点の探索において使用する、サブサンプリングした参照画像を示す図である。 動きベクトル(1,0)点の探索において使用する、サブサンプリングした参照画像を示す図である。 動きベクトル(2,0)点の探索において使用する、サブサンプリングした参照画像を示す図である。 動きベクトル(3,0)点の探索において使用する、サブサンプリングした参照画像を示す図である。 動きベクトル(4,0)点の探索において使用する、サブサンプリングした参照画像を示す図である。 動きベクトル(5,0)点の探索において使用する、サブサンプリングした参照画像を示す図である。 動きベクトル(6,0)点の探索において使用する、サブサンプリングした参照画像を示す図である。 動きベクトル(7,0)点の探索において使用する、サブサンプリングした参照画像を示す図である。 動きベクトル(8,0)点の探索において使用する、サブサンプリングした参照画像を示す図である。 再パッキングした画像データを説明する図である。 再パッキングした対象画像を示す図である。 動きベクトルのx座標が偶数の場合の、参照画像の読み出し順を説明する図である。 動きベクトルのx座標が奇数の場合の、参照画像の読み出し順を説明する図である。 実施形態4に係る撮像システム400の構成を示すブロック図である。
符号の説明
100 動きベクトル検出装置
101 動きベクトル検出制御部
102 対象画像記憶部
103 参照画像記憶部
104 対象画像読出部
105 参照画像読出部
106 対象画像一時蓄積部
107 参照画像一時蓄積部
108 SAD計算部
109 探索結果記憶部
110 探索済点記憶部
200 動きベクトル検出装置
201 動きベクトル検出制御部
400 撮像システム
401 光学系
402 センサ
403 AD変換器
404 画像処理回路
405 信号処理装置
406 記録転送回路
407 再生回路
408 タイミング制御回路
409 システム制御回路

Claims (18)

  1. 動画像圧縮符号化を行なう際に、第1の画素数単位でパッキングされて対象画像記憶部に格納された矩形状の対象画像と、第2の画素数単位でパッキングされて参照画像記憶部に格納された矩形状の参照画像とを使用して、ブロック単位で動きベクトルを検出する動きベクトル検出方法であって、
    前記対象画像記憶部から、前記対象画像を読み出す対象画像読み出しステップと、
    前記参照画像記憶部から、前記対象画像と同サイズ分の画像データに加えて、少なくとも前記参照画像のパッキング1単位分以上の画像データを余分に読み出す参照画像読み出しステップと、
    前記参照画像読み出しステップで読み出された画像データ内の前記対象画像と同サイズ分の画像データのブロックであり、互いに位置が異なる複数の参照ブロックのそれぞれと、前記対象画像との相関度を算出する相関度算出ステップと、
    を有していることを特徴とする動きベクトル検出方法。
  2. 請求項1の動きベクトル検出方法であって、さらに、
    前記対象画像読み出しステップの前に、前記対象画像を、前記対象画像のパッキング2単位ごとに、相関度の算出に使用する画素と使用しない画素とに並び替える対象画像並び替えステップと、
    前記参照画像読み出しステップの前に、前記参照画像を、前記参照画像のパッキング2単位ごとに、相関度の算出に使用する画素と使用しない画素とに並び替える参照画像並び替えステップとを有し、
    前記対象画像読み出しステップ及び参照画像読み出しステップは、相関度の算出に使用する画素を含んだパッキングデータのみを読み出すことを特徴とする動きベクトル検出方法。
  3. 請求項1の動きベクトル検出方法であって、
    前記相関度算出ステップで相関度を求める参照ブロックの数は、パッキングされた画素の数とは同数、又はパッキングされた画素の数の倍数であることを特徴とする動きベクトル検出方法。
  4. 請求項1の動きベクトル検出方法であって、
    前記参照画像読み出しステップにおいて余分に読み出す画像データの量は、前記相関度算出ステップで同時に算出できる量以上であることを特徴とする動きベクトル検出方法。
  5. 請求項1の動きベクトル検出方法であって、
    さらに、前記相関度算出ステップで求めた各相関度を探索結果記憶部に格納する算出結果格納ステップを有し、
    前記相関度算出ステップは、相関度の算出対象となっている参照ブロックに対応した相関度が、前記探索結果記憶部に格納されている場合には、その値を読み出すことを特徴とする動きベクトル検出方法。
  6. 請求項5の動きベクトル検出方法であって、さらに、
    前記対象画像よりも小さな領域であるサブブロックと、前記参照画像読み出しステップで読み出された画像データ内の前記サブブロックと同サイズ分の画像データのブロックであり、互いに位置が異なる複数のサブ参照ブロックのそれぞれとの相関度を算出するサブブロック相関度算出ステップと、
    サブブロック相関度算出ステップで求めた各相関度を前記探索結果記憶部に格納するサブブロック算出結果格納ステップと、
    前記探索結果記憶部に格納されている前記相関度算出ステップで求めた各相関度、及びサブブロック相関度算出ステップで求めた各相関度の何れか一方の値を選択するステップと、
    を有することを特徴とする動きベクトル検出方法。
  7. 請求項5の動きベクトル検出方法であって、
    前記相関度算出ステップは、画像の偶数ラインごとに前記相関度を算出するモードと、 画像の奇数ラインごとに前記相関度を算出するモードとを有していることを特徴とする動きベクトル検出方法。
  8. 請求項5の動きベクトル検出方法であって、
    さらに、前記探索結果記憶部で相関値格納に使用されている容量が、所定の閾値を越えた場合に、前記探索結果記憶部内に格納されている相関値を削除する削除ステップを有していることを特徴とする動きベクトル検出方法。
  9. 請求項8の動きベクトル検出方法であって、
    前記削除ステップは、相関値を削除する際には、格納されている全ての相関値を削除することを特徴とする動きベクトル検出方法。
  10. 請求項8の動きベクトル検出方法であって、
    前記削除ステップは、最も相関が強いことを示す相関値を除く相関値を、前記探索結果記憶部から削除することを特徴とする動きベクトル検出方法。
  11. 請求項5の動きベクトル検出方法であって、
    さらに、参照ブロックごとに、前記相関度の算出が行なわれたか否かを識別するフラグを管理するフラグ管理ステップを有することを特徴とする動きベクトル検出方法。
  12. 請求項1の動きベクトル検出方法であって、
    前記対象画像読み出しステップ、前記参照画像読み出しステップ、及び前記相関度算出ステップは、上下左右にある参照ブロックよりも強い相関度を有する参照ブロックが見つかるまで繰り返して実行されるものであり、
    前記相関度算出ステップは、前回に相関度算出ステップで算出した複数の相関度のうち、最も強い相関を示す相関値が対応した参照ブロックの位置に応じ、次に相関値を求める参照ブロックを決定することを特徴とする動きベクトル検出方法。
  13. 請求項12の動きベクトル検出方法であって、
    参照ブロックごとに、前記相関度の算出が行なわれたか否かを識別するフラグを管理するフラグ管理ステップをさらに有することを特徴とする動きベクトル検出方法。
  14. 請求項13の動きベクトル検出方法であって、
    前記相関度算出ステップは、前記フラグの値に応じ、次に相関値を算出する参照ブロックを決定することを特徴とする動きベクトル検出方法。
  15. 動画像圧縮符号化を行なう際に、第1の画素数単位でパッキングされて対象画像記憶部に格納された矩形状の対象画像と、第2の画素数単位でパッキングされて参照画像記憶部に格納された矩形状の参照画像とを使用して、ブロック単位で動きベクトルを検出する動きベクトル検出装置であって、
    前記対象画像記憶部から、前記対象画像を読み出す対象画像読出部と、
    前記参照画像記憶部から、前記対象画像と同サイズ分の画像データに加えて、少なくとも前記参照画像のパッキング1単位分以上の画像データを余分に読み出す参照画像読出部と、
    前記参照画像読出部が読み出した画像データ内で前記対象画像と同サイズの画像データである参照ブロックと、前記対象画像との相関度を算出する複数のSAD計算部と、
    前記相関度が格納される探索結果記憶部と、
    互いに位置が異なる複数の参照ブロックをそれぞれ、各探索結果記憶部に対して送って相関度を算出させるとともに、各相関度のうちの1つを用いて、次に前記SAD計算部で相関度を算出させる参照ブロックを決定し、残りの相関度を前記探索結果記憶部に格納する動きベクトル検出制御部と、
    を備えていることを特徴とする動きベクトル検出装置。
  16. 動画像圧縮符号化を行なう際に、第1の画素数単位でパッキングされて対象画像記憶部に格納された矩形状の対象画像と、第2の画素数単位でパッキングされて参照画像記憶部に格納された矩形状の参照画像とを使用して、ブロック単位で動きベクトルを検出する動きベクトル検出装置であって、
    前記対象画像記憶部から、前記対象画像を読み出す対象画像読出部と、
    前記参照画像記憶部から、前記対象画像と同サイズ分の画像データに加えて、少なくとも前記参照画像のパッキング1単位分以上の画像データを余分に読み出す参照画像読出部と、
    前記参照画像読出部が読み出した画像データ内で前記対象画像と同サイズの画像データである参照ブロックと、前記対象画像との相関度を算出する複数のSAD計算部と、
    互いに位置が異なる複数の参照ブロックをそれぞれ、各探索結果記憶部に対して送って相関度を算出させるとともに、複数の相関度のうち、最も強い相関を示す相関値が対応した参照ブロックの位置に応じ、次に前記SAD計算部で相関度を算出させる参照ブロックを決定する動きベクトル検出制御部と、
    を備えていることを特徴とする動きベクトル検出装置。
  17. 請求項15及び請求項16のうちの何れか1項の動きベクトル検出装置と、
    画像光を画像信号に変換するセンサと、
    入射された画像光を前記センサ上に結像させる光学系と、
    前記画像信号をデジタルデータに変換して前記動きベクトル検出装置に出力するAD変換器と、
    を備えたことを特徴とする撮像システム。
  18. 請求項15及び請求項16のうちの何れか1項の動きベクトル検出装置と、
    入力されたアナログ値の画像信号をデジタルデータに変換して前記動きベクトル検出装置に出力するAD変換器と、
    を備えたことを特徴とする撮像システム。
JP2006303264A 2006-11-08 2006-11-08 動きベクトル検出方法、動きベクトル検出装置、及び撮像システム Pending JP2008124580A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2006303264A JP2008124580A (ja) 2006-11-08 2006-11-08 動きベクトル検出方法、動きベクトル検出装置、及び撮像システム
US11/979,482 US20080107182A1 (en) 2006-11-08 2007-11-05 Motion vector detecting method, motion vector detecting device, and imaging system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006303264A JP2008124580A (ja) 2006-11-08 2006-11-08 動きベクトル検出方法、動きベクトル検出装置、及び撮像システム

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2011090080A Division JP2011147185A (ja) 2011-04-14 2011-04-14 動きベクトル検出方法、動きベクトル検出装置、及び撮像システム

Publications (1)

Publication Number Publication Date
JP2008124580A true JP2008124580A (ja) 2008-05-29

Family

ID=39359708

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006303264A Pending JP2008124580A (ja) 2006-11-08 2006-11-08 動きベクトル検出方法、動きベクトル検出装置、及び撮像システム

Country Status (2)

Country Link
US (1) US20080107182A1 (ja)
JP (1) JP2008124580A (ja)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08307875A (ja) * 1995-05-02 1996-11-22 Matsushita Electric Ind Co Ltd 画像メモリ装置および動きベクトル検出回路
JP2003111082A (ja) * 2001-09-28 2003-04-11 Toshiba Corp 動きベクトル検出方法及び装置
JP2006013873A (ja) * 2004-06-25 2006-01-12 Matsushita Electric Ind Co Ltd 動きベクトル検出装置および方法
JP2006087071A (ja) * 2004-08-19 2006-03-30 Matsushita Electric Ind Co Ltd 動きベクトル検出方法および動画処理装置

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3611507B2 (ja) * 2000-05-30 2005-01-19 松下電器産業株式会社 動きベクトル検出装置
US7050502B2 (en) * 2001-09-18 2006-05-23 Matsushita Electric Industrial Co., Ltd. Method and apparatus for motion vector detection and medium storing method program directed to the same
JP4198550B2 (ja) * 2002-09-10 2008-12-17 株式会社東芝 フレーム補間方法およびこのフレーム補間方法を用いた装置
JP2005167976A (ja) * 2003-11-14 2005-06-23 Victor Co Of Japan Ltd 動きベクトル検出装置及び動きベクトル検出プログラム
US7705884B2 (en) * 2004-07-21 2010-04-27 Zoran Corporation Processing of video data to compensate for unintended camera motion between acquired image frames
JP4501675B2 (ja) * 2004-12-22 2010-07-14 日本電気株式会社 動画像圧縮符号化方法と動画像圧縮符号化装置並びにプログラム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08307875A (ja) * 1995-05-02 1996-11-22 Matsushita Electric Ind Co Ltd 画像メモリ装置および動きベクトル検出回路
JP2003111082A (ja) * 2001-09-28 2003-04-11 Toshiba Corp 動きベクトル検出方法及び装置
JP2006013873A (ja) * 2004-06-25 2006-01-12 Matsushita Electric Ind Co Ltd 動きベクトル検出装置および方法
JP2006087071A (ja) * 2004-08-19 2006-03-30 Matsushita Electric Ind Co Ltd 動きベクトル検出方法および動画処理装置

Also Published As

Publication number Publication date
US20080107182A1 (en) 2008-05-08

Similar Documents

Publication Publication Date Title
JP4757080B2 (ja) 動き検出装置、動き検出方法、動き検出集積回路および画像符号化装置
JP5155157B2 (ja) 動画像復号化装置
US8732210B2 (en) Data recording system, data recording method and data recording program
JP2008199587A (ja) 画像符号化装置、画像復号化装置および方法
TWI343217B (en) An image coding apparatus and a method thereof
JP4561475B2 (ja) デジタルカメラ装置およびそのプログラム
TWI308459B (en) Context-aware frame memory scheme for motion compensation in video decoding
JP3990392B2 (ja) 可変長復号化装置、可変長復号化方法および撮像システム
US7650038B2 (en) Image processing method and image processing apparatus
JP4598374B2 (ja) 画像処理装置
JP2010278532A (ja) 画像処理装置
US8000391B2 (en) Motion vector estimating method and motion picture processor
JP5906993B2 (ja) 符号化装置、符号化方法、及びプログラム
JP4874175B2 (ja) 画像拡大方法、画像拡大装置、集積回路、およびプログラム
JP2008124580A (ja) 動きベクトル検出方法、動きベクトル検出装置、及び撮像システム
JP2011147185A (ja) 動きベクトル検出方法、動きベクトル検出装置、及び撮像システム
JP5203692B2 (ja) 撮像方法、撮像装置及びプログラム
JP2022090059A (ja) 動画像符号化方法
JP2004265343A (ja) メモリカード
JP2006024993A (ja) 撮像信号処理装置
JP2008160335A (ja) 動き補償装置および動き補償方法
JP2010021892A (ja) 動きベクトル探索装置及びその制御方法、及び動画像撮像装置
US20070109875A1 (en) Data storage method and information processing device using the same
JP5533302B2 (ja) 動画像符号化装置
JP2006041648A (ja) 動画像処理ユニット

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090901

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20101102

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101109

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101209

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20110125