JP2004343349A - 動きベクトル検出装置およびディジタルカメラ装置 - Google Patents
動きベクトル検出装置およびディジタルカメラ装置 Download PDFInfo
- Publication number
- JP2004343349A JP2004343349A JP2003136347A JP2003136347A JP2004343349A JP 2004343349 A JP2004343349 A JP 2004343349A JP 2003136347 A JP2003136347 A JP 2003136347A JP 2003136347 A JP2003136347 A JP 2003136347A JP 2004343349 A JP2004343349 A JP 2004343349A
- Authority
- JP
- Japan
- Prior art keywords
- motion vector
- image data
- input
- search range
- range
- 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.)
- Withdrawn
Links
Images
Landscapes
- Studio Devices (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
【課題】プログレッシブ信号とインターレース信号の両入力に対応した携帯機器に適用でき、且つ回路規模および消費電力の増大を抑えた動きベクトル検出装置を提供する。
【解決手段】入力選択部5における判定結果が、プログレッシブ信号が入力されたことを示す場合、CPU IF16は、動きベクトルの探索範囲をインターレース信号に対する探索範囲よりも狭い第1の範囲に設定すると共に、分散値算出部13により算出された動きベクトルの分散値に基づいてプログレッシブ信号のフレーム全体に所定の揺れ(手振れ)が有ると判断した場合、次のフレームでは動きベクトルの探索範囲を第1の範囲よりも狭い第2の範囲に設定する。
【選択図】 図1
【解決手段】入力選択部5における判定結果が、プログレッシブ信号が入力されたことを示す場合、CPU IF16は、動きベクトルの探索範囲をインターレース信号に対する探索範囲よりも狭い第1の範囲に設定すると共に、分散値算出部13により算出された動きベクトルの分散値に基づいてプログレッシブ信号のフレーム全体に所定の揺れ(手振れ)が有ると判断した場合、次のフレームでは動きベクトルの探索範囲を第1の範囲よりも狭い第2の範囲に設定する。
【選択図】 図1
Description
【0001】
【発明の属する技術分野】
本発明は、CCD(Charge Coupled Device)やMOS(Metal Oxide Semiconductor)イメージセンサ等の撮像素子からの画素信号にディジタル信号処理を施して得られた画像データと、ディジタルビデオインターフェースを介して外部から入力された、例えばITU−R656(国際電気通信連合 勧告第656号)規格に準拠した画像データの両データフォーマットに対応した動きベクトル検出装置、およびかかる動きベクトル検出装置を用いて、動き補償、すなわちフレーム間予測符号化を行うディジタルカメラ装置に関する。
【0002】
【従来の技術】
動画や静止画を撮影できる携帯型のディジタルカメラ装置において、CCDやMOSイメージセンサなどの撮像素子からプログレッシブスキャン方式で得られた画像データは、例えばMPEG(Moving Picture Experts Group)2やMPEG4方式に従った符号化により圧縮処理が施された後、磁気テープや、光ディスク、半導体メモリーカード等の着脱可能な記憶媒体に記録され、またこの記憶媒体から読み出されて、MPEG2に従った復号化により伸長処理が施された画像データは、表示に適したサイズまで拡大処理されて、液晶ディスプレイ等でモニタすることができる。
【0003】
かかるディジタルカメラ装置では、MPEG2方式に従って動画の画像データを符号化して圧縮する際に、時間軸方向の冗長度を低減するために、画像データを16×16画素からなるマクロブロックに分割し、マクロブロック毎に参照画像データ中の動きベクトルによって示される16×16画素からなる画像データとの差分をとり、その差分画像データを符号化する動き補償が行われている。
【0004】
この動き補償に用いる動きベクトルを検出するためには、符号化すべき入力画像データと参照画像データとを8×8画素からなるブロック単位でマッチングをとるブロックマッチングが主に用いられている。
【0005】
MPEG2方式による符号化では、動きベクトルを探索する動き推定(Motion Estimation:以下、MEと略称する)処理に必要な演算量が、一般に、その他の演算である離散コサイン変換や量子化、可変長符号化などと比較して、非常に多いものとなる。その結果として、MPEG2方式による画像符号化装置における消費電力は、主にME処理による消費電力が支配的となる。
【0006】
そこで、符号化された画像の画質劣化を抑えつつ、ME処理に必要な演算量を削減することで、低消費電力化を実現し、携帯機器として携帯型ビデオカメラを駆動する電池の長寿命化を図るという提案がなされている(例えば、特許文献1参照)。
【0007】
図5は、かかる携帯型ビデオカメラに用いられるディジタル画像符号化装置における動きベクトル検出装置の構成を示すブロック図である。以下、図5を参照して、従来の動きベクトル検出装置の構成および動作について説明する。
【0008】
図5において、プログレッシブ信号発生源1は、撮像素子からプログレッシブスキャンにより得られた画素信号にディジタル信号処理を施して、例えばYUV422規格に準拠した8ビットの輝度信号Yと8ビットの色差信号UVからなるYUVデータ(以下、プログレッシブ信号とも称する)を生成する。YUVデータのうち輝度信号Yのマクロブロックは、ME処理部140の入力画像バッファ3に格納される。
【0009】
入力画像バッファ3に格納されたマクロブロックに対応して、一時的にSDRAM(同期式DRAM)15に格納されている先行フレームの画像データのうち、参照画像読み出しアドレス発生部9によりアドレス指定された参照画像データが読み出され、参照画像バッファ8に格納される。
【0010】
参照画像バッファ8からは、入力画像バッファ3に格納されたマクロブロックに対する動きベクトルの探索範囲の参照画像データが読み出され、入力画像バッファ3から読み出されるマクロブロックの画像データとともに、動きベクトル検出演算部6に供給される。
【0011】
動きベクトル検出演算部6は、入力画像バッファ3からのマクロブロックの画像データと、参照画像バッファ8からの探索範囲の参照画像データとのブロックマッチングをとることにより、このマクロブロックに対する動きベクトルMVを検出する。このブロックマッチングは、輝度信号Yの場合、16×16画素からなるマクロブロックに対して探索範囲を上下左右に移動させることにより、各移動位置毎の16×16画素の領域との相関(予測誤差)を求めるものである。
【0012】
参照画像読み出しアドレス発生部9は、SDRAM15から参照画像データを通常の広い探索範囲または制限された狭い探索範囲で読み出すモードと、この読出位置にオフセットを付加する機能を有しており、これらモードと機能の設定はCPU IF16によって行われる。
【0013】
動きベクトルの探索範囲を広い範囲にするか、狭い範囲にするかは、先行フレームの参照によるフレーム間予測符号化(前方予測フレーム間予測符号化)がなされるPピクチャの符号化の際に決定される。すなわち、Pピクチャを符号化しているときに、動きベクトル検出演算部6で検出された動きベクトルMVの平均値MVaを平均値算出部12で算出し、動きベクトルMVの分散値MVdを分散値算出部13で算出して、平均値MVaおよび分散値MVdを値保持部10に供給する。
【0014】
また、判定部17は、マクロブロック毎に、輝度信号Yの分散値と、輝度信号Yとこのマクロブロックに対応する参照画像データの輝度成分のマクロブロックとの差分画像データDIの分散値とを算出し、これら分散値の小さい方を示す判定信号S1を、平均値算出部12、分散値算出部13、判定計数部11、およびCPU IF16に供給する。判定計数部11は、判定信号S1に基づいて、Pピクチャ内のフレーム内マクロブロックの個数を計数し、その計数値を値保持部10に供給する。
【0015】
このPピクチャの符号化が終了すると、値保持部10は、取り込んだ動きベクトルの平均値MVaから読出位置のオフセット値を算出し、これを読出位置オフセット信号S2として動きベクトル検出演算部6および参照画像読み出しアドレス発生部9に供給する。また、値保持部10は、動きベクトルの分散値MVdが予め設定された閾値以下である場合、参照画像データの読出範囲、すなわち探索範囲を狭く設定する読出範囲制限信号S3を、動きベクトル検出演算部6、参照画像読み出しアドレス発生部9、および参照画像バッファ8に供給する。
【0016】
このようにして、動きベクトルの分散値MVdが予め設定された閾値よりも大きい場合は、動きベクトルの探索範囲が広く設定され、MVdが上記閾値以下である場合は、動きベクトルの探索範囲を狭く設定されると共に、動きベクトルの平均値MVaに応じた読出位置のオフセット値が付加される。これにより、入力画像データに応じて動きベクトルの探索範囲を可変設定することで、ME処理における演算量が少なくなり、消費電力を低減することができる、というものである。
【0017】
【特許文献1】
特開平11−308617号公報(図2)
【0018】
【発明が解決しようとする課題】
上記の従来例は、動きベクトルの分散値MVdを閾値と比較することで、動きベクトルの探索範囲を狭くまたは広く設定する手法を開示している。しかしながら、この手法をディジタルカメラ装置に適用した場合、ディジタルカメラ装置では、手振れなどにより画像全体が揺れる。このとき動きベクトルの分散値が小さい場合、探索範囲をある程度狭くすることができるが、それでも探索範囲は広い。これにより、ME処理における演算量が多くなり、その結果、回路規模を大きくする必要があり、消費電力も増大するという問題があった。
【0019】
また、例えばUSB(Universal Serial Bus)ポートを介して入力された、例えばITU−R656規格に準拠した16ビットのYUV422の画像データ(以下、インターレース信号とも称する)の動きベクトルを検出する場合、対象フレームの偶数フィールドと奇数フィールドとの間だけでなく、対象フレームの偶数フィールドと次フレームの偶数フィールドとの間、また対象フレームの奇数フィールドと次フレームの奇数フィールドとの間でも、動きベクトルの分散値を算出する手法が一般的である。しかし、これらフィールド間、フレーム間でそれぞれ動きベクトルの検出が必要となる。また、画面内のランダムな動きにより動きベクトルの分散値が大きくなる場合が多い。これらの要因で探索範囲が広くなり、ME処理における演算量が多くなり、その結果、回路規模を大きくする必要があり、消費電力も増大するという問題があった。
【0020】
さらに、プログレッシブ信号とインターレース信号の両入力に対応した携帯機器において動きベクトル検出を行うために、これら2つの機能を単純に回路化すると、回路規模が非常に大きくなり、さらに消費電力が増大するという問題があった。
【0021】
本発明は、上記の問題点に鑑みてなされたものであり、その目的は、プログレッシブ信号とインターレース信号の両入力に対応した携帯機器に適用でき、且つ回路規模および消費電力の増大を抑えた動きベクトル検出装置、およびかかる動きベクトル検出装置を用いて動き補償を行うディジタルカメラ装置を提供することにある。
【0022】
【課題を解決するための手段】
前記の目的を達成するため、本発明に係る動きベクトル検出装置は、ブロック単位に入力される画像データ毎に、探索範囲における参照画像データを用いて動きベクトルを検出する装置であって、撮像素子からのプログレッシブ方式による第1の画像データ(プログレッシブ信号)を一時格納する第1の入力画像バッファと、外部端子からのインターレース方式による第2の画像データ(インターレース信号)を一時格納する第2の入力画像バッファと、第1の入力画像バッファを介した第1の画像データと、第2の入力画像バッファを介した第2の画像データのうちいずれが入力されたかを判定して、判定結果に応じて入力された画像データを選択出力する入力選択部と、参照画像の画像データを蓄積する蓄積手段(例えば、SDRAM)と、蓄積手段から読み出された、動きベクトルの探索範囲における参照画像の画像データを一時格納する参照画像バッファと、探索範囲を増減させながら、入力選択部により選択出力されたブロック単位の画像データと、参照画像バッファから読み出された探索範囲内における参照画像の画像データとの相関をとって、ブロック単位の画像データの動きベクトルを生成する動きベクトル検出演算部と、入力選択部における判定結果に応じて、動きベクトル検出演算部における演算処理を制御する動き検出制御部と、動きベクトル検出演算部により検出された動きベクトルの分散値を算出する分散値算出部と、入力選択部における判定結果が、第1の画像データが入力されたことを示す場合、動きベクトルの探索範囲を第2の画像データに対する探索範囲よりも狭い第1の範囲に設定すると共に、分散値算出部により算出された動きベクトルの分散値に基づいて第1の画像データのフレーム全体に所定の揺れ(手振れ)が有ると判断した場合、動きベクトルの探索範囲を第1の範囲よりも狭い第2の範囲に設定する制御部とを備えたことを特徴とする。
【0023】
この構成によれば、プログレッシブ信号が入力された場合、動きベクトルの探索範囲を、インターレース信号に対する探索範囲よりも狭い第1の範囲に設定し、さらにプログレッシブ信号に撮影時の手振れが有る場合、第1の範囲よりも狭い第2の範囲に設定する。これによって、プログレッシブ信号とインターレース信号の両入力に対応した携帯機器に適用できると共に、動きベクトルの検出に必要な誤差演算回数を削減することができ、回路規模および消費電力の増大を抑えることができる。
【0024】
本発明に係る動きベクトル検出装置において、制御部が動きベクトルの探索範囲を第2の範囲に設定した場合、動き検出制御部は、第1の画像データに対する動きベクトル検出演算部における演算処理を特定のブロックに制限する構成をとる。
【0025】
これにより、プログレッシブ信号が入力された場合、分散値算出部における動きベクトルの分散値の算出を特定のブロックに制限することで、さらなる回路規模および消費電力の削減が可能になる。
【0026】
また、本発明に係る動きベクトル検出装置において、入力選択部における判定結果が、第2の画像データが入力されたことを示す場合、制御部は、フレームを構成するいずれか一方のフィールド(奇数フィールドまたは偶数フィールド)に対して分散値算出部により算出された動きベクトルの水平方向および垂直方向における分散値(MVdx、MVdy)がいずれも所定の閾値(MVdt)以下であると判断した場合、動き検出制御部は、第2の画像データのフレームに対する動きベクトル検出演算部における演算処理を、一方のフィールド内の第1ブロックと他方のフィールド内の第1ブロックの上下に位置する第2ブロックとに制限する構成をとる。
【0027】
これにより、インターレース信号が入力された場合、フレーム間で動き検出を行う際に、あるフレームの例えば奇数フィールドにおいて検出された動きベクトルの水平方向の分散値MVdxおよび垂直方向の分散値MVdyがいずれも所定の閾値MVdt以下である場合、次のフレームにおいては、動きが検出された奇数フィールド内の第1ブロックと、偶数フィールド内の第1ブロックの上下に位置する第2ブロックの動きベクトルを検出するだけで良くなる。これによって、動きベクトルの検出に必要な誤差演算回数を削減することができ、回路規模および消費電力も削減することが可能になる。
【0028】
また、本発明に係る動きベクトル検出装置において、入力選択部における判定結果が、第2の画像データが入力されたことを示す場合、制御部は、フレームを構成するいずれか一方のフィールド(奇数フィールドまたは偶数フィールド)に対して分散値算出部により算出された動きベクトルの水平方向および垂直方向における分散値(MVdx、MVdy)がいずれも所定の閾値(MVdt)以下であると判断した場合、動き検出制御部は、第2の画像データの他方のフィールドに対する動きベクトル検出演算部における演算処理を、前記一方のフィールド内のブロックで代用させる構成をとる。
【0029】
これにより、インターレース信号が入力された場合、例えば奇数フィールドにおいて検出された動きベクトルの水平方向の分散値MVdxおよび垂直方向の分散値MVdyがいずれも所定の閾値MVdt以下である場合、偶数フィールドの対応するブロックの動きベクトルは、動きが検出された奇数フィールド内のブロックの動きベクトルで代用され、フィールド間での動き検出が不要となる。これによって、動きベクトルの検出に必要な誤差演算回数を削減することができ、回路規模および消費電力も削減することが可能になる。
【0030】
前記の目的を達成するため、本発明に係るディジタルカメラ装置は、本発明に係る動きベクトル検出装置を備え、動きベクトル検出装置により検出された動きベクトルに基づいて動き補償を行うことを特徴とする。
【0031】
この構成によれば、ME処理に必要な回路規模を削減でき、MPEG2方式による画像符号化に要する消費電力にとって支配的なME処理における消費電力も削減することができるので、従来よりも小型且つ電池の長寿命化を図った外部ビデオ入力対応のディジタルカメラ装置を実現することができる。
【0032】
【発明の実施の形態】
以下、本発明の好適な実施の形態について、図面を参照しながら説明する。
【0033】
図1は、本発明の一実施の形態に係る動きベクトル検出装置の一構成例を示すブロック図である。なお、図1において、従来例の説明において参照した図5と同じ機能および構成を有する部分については、同一の符号を付して説明を省略する。また、本実施の形態による動きベクトル検出装置は、ディジタルカメラ装置に適用されるものとして説明する。
【0034】
本実施の形態は、従来例とは、第2の入力画像バッファ4と、従来の入力画像バッファと同様の第1の入力画像バッファ3を介したプログレッシブ信号と、第2の入力画像バッファ4を介したインターレース信号のうちいずれが入力されたかを判定して、判定結果に応じて入力された信号を選択出力する入力選択部5と、入力された信号に応じて動きベクトル検出演算部6における演算処理を制御する動き検出制御部7とを設けた点が異なり、また制御部としてのCPU I/P16の機能が異なる。以下では、主にこの相違点について説明する。
【0035】
図1において、撮像素子を含むプログレッシブ信号発生源1から、例えばYUV422形態の8ビットパラレルの輝度信号Yと色差信号UVからなるプログレッシブ信号(第1の画像データ)が入力された場合、このプログレッシブ信号の輝度信号Y(図中、Y1)のマクロブロックは、第1の入力画像バッファ3に一時的に格納される。
【0036】
一方、外部のディジタルビデオ機器に相当するインターレース信号発生源2から、例えばITU−R656規格に準拠したYUV422形態の16ビットシリアルのインターレース信号(第2の画像データ)が外部端子であるUSBポートに入力された場合、このインターレース信号の輝度信号Y(図中、Y2)のマクロブロックは、第2の入力画像バッファ4に一時的に格納される。
【0037】
入力選択部5は、第1の入力画像バッファ3と第2の入力画像バッファ4に対してデータ読み出しを行い、入力された信号がプログレッシブ信号かインターレース信号であるかの判定を行い、その判定結果に応じて入力された信号を選択出力する。この入力信号の判定方法について、図2Aおよび図2Bを参照して説明する。図2Aは、入力されるプログレッシブ信号のYUVデータ構造を示す模式図で、図2Bは、入力されるインターレース信号のYUVデータ構造を示す模式図である。
【0038】
図2Aにおいて、プログレッシブ信号の8ビットのYデータは、1バイトのデータとして“10h”(hは16進数を示す)が与えられた先頭の制御コード21と、1バイトのデータとして同じく“10h”が与えられた終端の制御コード22と、それらの間に配置されるY0、Y1、…、Y719からなる720バイトの画素データ23とで構成される。また、8ビットのUVデータは、1バイトのデータとして“80h”が与えられた先頭の制御コード24と、1バイトのデータとして同じく“80h”が与えられた終端の制御コード25と、それらの間に配置されたU0、V0、…、U359、V359からなるU、Vそれぞれ360バイトの画素データ26とで構成される。
【0039】
一方、図2Bにおいて、インターレース信号の16ビットのYUVデータは、4バイトのデータとして奇数フィールドまたは偶数フィールドを示すデータを含む“FFh”、“00h”、“00h”、“XXh”が与えられた先頭の制御コード27と、4バイトのデータとして奇数フィールドまたは偶数フィールドを示すデータを含む“FFh”、“00h”、“00h”、“YYh”が与えられた終端の制御コード28と、それらの間に配置されたU0、Y0、V0、Y1、…、U359、Y718、V359、Y719からなる1440バイトの画素データ(Yは720バイト、U、Vはそれぞれ360バイト)29とで構成される。
【0040】
動きベクトルの検出に必要なのは輝度信号Yであるので、入力選択部5は、輝度信号Yの先頭の制御コードを読み取ることで、図2Aに示すように先頭の制御コードが“10h”であれば、入力された信号はプログレッシブ信号であると判定し、一方、図2Bに示すように先頭の制御コードが“FFh”であれば、入力された信号はインターレース信号であると判定する。
【0041】
入力選択部5は、判定した信号Y0を選択して動きベクトル検出演算部6に出力すると共に、判定結果S4を動き検出制御部7に送り、動き検出制御部7は、判定結果S4に応じた演算処理を行うよう動きベクトル検出演算部6を制御する。
【0042】
例えば、入力選択部5において、入力された信号がプログレッシブ信号であると判定された場合、CPU IF16は、まず、動きベクトルの探索範囲をインターレース信号に対する探索範囲(初期設定範囲)よりも狭い第1の範囲に設定する。次に、CPU IF16は、分散値算出部13により算出された動きベクトルの分散値MVdに基づいてプログレッシブ信号のフレーム全体に所定の揺れ、すなわち手振れが有ると判断した場合、動きベクトルの探索範囲を第1の範囲よりも狭い第2の範囲に設定する。このとき、動き検出制御部7は、判定結果S4を受けて、プログレッシブ信号に対する動きベクトル検出演算部6における演算処理をフレーム内の特定のマクロブロックに制限する信号S5を動きベクトル検出演算部6に出力する。
【0043】
これにより、動きベクトルの検出に必要な誤差演算回数を削減することができ、回路規模および消費電力の増大を抑えることができる。
【0044】
一方、入力選択部5において、入力された信号がインターレース信号であると判定された場合、プログレッシブ信号に比べて垂直解像度が半分になるので、マクロブロックを構成する画素数は半分となり、動きベクトルの探索範囲も半分になる。
【0045】
まず、フレーム間で動きベクトルを検出する場合について説明する。
【0046】
CPU IF16は、まず、動きベクトルの探索範囲を上記第1の範囲よりも広い初期設定範囲に戻す。次に、CPU IF16は、フレームを構成するいずれか一方のフィールド、例えば奇数フィールドに対して分散値算出部13により算出された、動きベクトルの水平方向における分散値MVdxおよび垂直方向における分散値MVdyがいずれも所定の閾値MVdt以下であると判断した場合、動き検出制御部7は、インターレース信号のフレームに対する動きベクトル検出演算部6における演算処理を、奇数フィールド内の第1マクロブロックと、他方のフィールドである偶数フィールド内の第1マクロブロックの上下に位置する第2マクロブロックとに制限する信号S5を動きベクトル検出演算部6に出力する。
【0047】
図3は、奇数フィールドにおけるマクロブロック(MB)の動きベクトルをそのフレームにおける動きベクトルに流用した場合の画素構成を示す模式図である。図3に示すように、動きが検出された奇数フィールドの第1MB(4画素)と、その上下に位置する偶数フィールドの第2MB(4×2画素)とで、そのフレームにおけるMBの動きベクトルが設定される。なお、上記では、奇数フィールドのMBの動きベクトルをフレームのMBの動きベクトルに流用する場合について説明したが、当然ながら、偶数フィールドのMBの動きベクトルをフレームのMBの動きベクトルに流用する場合についても同様である。
【0048】
このようにして、あるフレームの一方のフィールドにおけるマクロブロックの動きベクトルをそのフレームの動きベクトルとし、次のフレームの一方のフィールドにおけるマクロブロックの動きベクトルをそのフレームの動きベクトルとして、フレーム間で動きベクトルを検出することで、誤差演算回数が本実施の形態を適用しない場合の半分となり、さらなる回路規模および消費電力の削減が可能になる。
【0049】
次に、フレーム内で動きベクトルを検出する場合について説明する。
【0050】
CPU IF16は、まず、動きベクトルの探索範囲を上記第1の範囲よりも広い初期設定範囲に戻す。次に、CPU IF16は、フレームを構成するいずれか一方のフィールド、例えば奇数フィールドに対して分散値算出部13により算出された、動きベクトルの水平方向における分散値MVdxおよび垂直方向における分散値MVdyがいずれも所定の閾値MVdt以下であると判断した場合、動き検出制御部7は、インターレース信号の偶数フィールドに対する動きベクトル検出演算部における演算処理を、動きが検出された、奇数フィールド内のブロックで代用させる信号S5を動きベクトル検出演算部6に出力する。
【0051】
図4は、奇数フィールドにおけるマクロブロック(MB)の動きベクトルを偶数フィールドにおける動きベクトルに流用した場合の画素構成を示す模式図である。図4に示すように、動きが検出された奇数フィールドのMB(4×2画素)の動きベクトルが、偶数フィールドの対応するMB(4×2画素)の動きベクトルとして設定される。なお、上記では、奇数フィールドのMBの動きベクトルを偶数フィールドのMBの動きベクトルに流用する場合について説明したが、当然ながら、偶数フィールドのMBの動きベクトルを奇数フィールドのMBの動きベクトルに流用する場合についても同様である。
【0052】
このようにして、一方のフィールドにおけるマクロブロックの動きベクトルを、他方のフィールドにおける対応するマクロブロックの動きベクトルとして用いることで、フィールド間での動き検出が不要となる。これによって、動きベクトルの検出に必要な誤差演算回数を削減することができ、回路規模および消費電力も削減することが可能になる。
【0053】
【発明の効果】
以上説明したように、本発明によれば、プログレッシブ信号とインターレース信号の両入力に対応した携帯機器に適用できると共に、動きベクトルの検出に必要な誤差演算回数を削減することができ、回路規模および消費電力の増大を抑えることが可能になる、という格別な効果を奏する。
【図面の簡単な説明】
【図1】本発明の一実施の形態に係る動きベクトル検出装置の一構成例を示すブロック図
【図2A】入力されるプログレッシブ信号のYUVデータ構造を示す模式図
【図2B】入力されるインターレース信号のYUVデータ構造を示す模式図
【図3】奇数フィールドにおけるマクロブロック(MB)の動きベクトルをそのフレームにおける動きベクトルに流用した場合の画素構成を示す模式図
【図4】奇数フィールドにおけるマクロブロック(MB)の動きベクトルを偶数フィールドにおける動きベクトルに流用した場合の画素構成を示す模式図
【図5】従来の動きベクトル検出装置の一構成例を示すブロック図
【符号の説明】
1 プログレッシブ信号発生源
2 インターレース信号発生源
3 第1の入力画像バッファ
4 第2の入力画像バッファ
5 入力選択部
6 動きベクトル検出演算部
7 動き検出制御部
8 参照画像バッファ
9 参照画像読み出しアドレス発生部
10 値保持部
11 判定計数部
12 平均値算出部
13 分散値算出部
14 動き検出部
15 SDRAM(蓄積手段)
16 CPU IF(制御部)
17 判定部
【発明の属する技術分野】
本発明は、CCD(Charge Coupled Device)やMOS(Metal Oxide Semiconductor)イメージセンサ等の撮像素子からの画素信号にディジタル信号処理を施して得られた画像データと、ディジタルビデオインターフェースを介して外部から入力された、例えばITU−R656(国際電気通信連合 勧告第656号)規格に準拠した画像データの両データフォーマットに対応した動きベクトル検出装置、およびかかる動きベクトル検出装置を用いて、動き補償、すなわちフレーム間予測符号化を行うディジタルカメラ装置に関する。
【0002】
【従来の技術】
動画や静止画を撮影できる携帯型のディジタルカメラ装置において、CCDやMOSイメージセンサなどの撮像素子からプログレッシブスキャン方式で得られた画像データは、例えばMPEG(Moving Picture Experts Group)2やMPEG4方式に従った符号化により圧縮処理が施された後、磁気テープや、光ディスク、半導体メモリーカード等の着脱可能な記憶媒体に記録され、またこの記憶媒体から読み出されて、MPEG2に従った復号化により伸長処理が施された画像データは、表示に適したサイズまで拡大処理されて、液晶ディスプレイ等でモニタすることができる。
【0003】
かかるディジタルカメラ装置では、MPEG2方式に従って動画の画像データを符号化して圧縮する際に、時間軸方向の冗長度を低減するために、画像データを16×16画素からなるマクロブロックに分割し、マクロブロック毎に参照画像データ中の動きベクトルによって示される16×16画素からなる画像データとの差分をとり、その差分画像データを符号化する動き補償が行われている。
【0004】
この動き補償に用いる動きベクトルを検出するためには、符号化すべき入力画像データと参照画像データとを8×8画素からなるブロック単位でマッチングをとるブロックマッチングが主に用いられている。
【0005】
MPEG2方式による符号化では、動きベクトルを探索する動き推定(Motion Estimation:以下、MEと略称する)処理に必要な演算量が、一般に、その他の演算である離散コサイン変換や量子化、可変長符号化などと比較して、非常に多いものとなる。その結果として、MPEG2方式による画像符号化装置における消費電力は、主にME処理による消費電力が支配的となる。
【0006】
そこで、符号化された画像の画質劣化を抑えつつ、ME処理に必要な演算量を削減することで、低消費電力化を実現し、携帯機器として携帯型ビデオカメラを駆動する電池の長寿命化を図るという提案がなされている(例えば、特許文献1参照)。
【0007】
図5は、かかる携帯型ビデオカメラに用いられるディジタル画像符号化装置における動きベクトル検出装置の構成を示すブロック図である。以下、図5を参照して、従来の動きベクトル検出装置の構成および動作について説明する。
【0008】
図5において、プログレッシブ信号発生源1は、撮像素子からプログレッシブスキャンにより得られた画素信号にディジタル信号処理を施して、例えばYUV422規格に準拠した8ビットの輝度信号Yと8ビットの色差信号UVからなるYUVデータ(以下、プログレッシブ信号とも称する)を生成する。YUVデータのうち輝度信号Yのマクロブロックは、ME処理部140の入力画像バッファ3に格納される。
【0009】
入力画像バッファ3に格納されたマクロブロックに対応して、一時的にSDRAM(同期式DRAM)15に格納されている先行フレームの画像データのうち、参照画像読み出しアドレス発生部9によりアドレス指定された参照画像データが読み出され、参照画像バッファ8に格納される。
【0010】
参照画像バッファ8からは、入力画像バッファ3に格納されたマクロブロックに対する動きベクトルの探索範囲の参照画像データが読み出され、入力画像バッファ3から読み出されるマクロブロックの画像データとともに、動きベクトル検出演算部6に供給される。
【0011】
動きベクトル検出演算部6は、入力画像バッファ3からのマクロブロックの画像データと、参照画像バッファ8からの探索範囲の参照画像データとのブロックマッチングをとることにより、このマクロブロックに対する動きベクトルMVを検出する。このブロックマッチングは、輝度信号Yの場合、16×16画素からなるマクロブロックに対して探索範囲を上下左右に移動させることにより、各移動位置毎の16×16画素の領域との相関(予測誤差)を求めるものである。
【0012】
参照画像読み出しアドレス発生部9は、SDRAM15から参照画像データを通常の広い探索範囲または制限された狭い探索範囲で読み出すモードと、この読出位置にオフセットを付加する機能を有しており、これらモードと機能の設定はCPU IF16によって行われる。
【0013】
動きベクトルの探索範囲を広い範囲にするか、狭い範囲にするかは、先行フレームの参照によるフレーム間予測符号化(前方予測フレーム間予測符号化)がなされるPピクチャの符号化の際に決定される。すなわち、Pピクチャを符号化しているときに、動きベクトル検出演算部6で検出された動きベクトルMVの平均値MVaを平均値算出部12で算出し、動きベクトルMVの分散値MVdを分散値算出部13で算出して、平均値MVaおよび分散値MVdを値保持部10に供給する。
【0014】
また、判定部17は、マクロブロック毎に、輝度信号Yの分散値と、輝度信号Yとこのマクロブロックに対応する参照画像データの輝度成分のマクロブロックとの差分画像データDIの分散値とを算出し、これら分散値の小さい方を示す判定信号S1を、平均値算出部12、分散値算出部13、判定計数部11、およびCPU IF16に供給する。判定計数部11は、判定信号S1に基づいて、Pピクチャ内のフレーム内マクロブロックの個数を計数し、その計数値を値保持部10に供給する。
【0015】
このPピクチャの符号化が終了すると、値保持部10は、取り込んだ動きベクトルの平均値MVaから読出位置のオフセット値を算出し、これを読出位置オフセット信号S2として動きベクトル検出演算部6および参照画像読み出しアドレス発生部9に供給する。また、値保持部10は、動きベクトルの分散値MVdが予め設定された閾値以下である場合、参照画像データの読出範囲、すなわち探索範囲を狭く設定する読出範囲制限信号S3を、動きベクトル検出演算部6、参照画像読み出しアドレス発生部9、および参照画像バッファ8に供給する。
【0016】
このようにして、動きベクトルの分散値MVdが予め設定された閾値よりも大きい場合は、動きベクトルの探索範囲が広く設定され、MVdが上記閾値以下である場合は、動きベクトルの探索範囲を狭く設定されると共に、動きベクトルの平均値MVaに応じた読出位置のオフセット値が付加される。これにより、入力画像データに応じて動きベクトルの探索範囲を可変設定することで、ME処理における演算量が少なくなり、消費電力を低減することができる、というものである。
【0017】
【特許文献1】
特開平11−308617号公報(図2)
【0018】
【発明が解決しようとする課題】
上記の従来例は、動きベクトルの分散値MVdを閾値と比較することで、動きベクトルの探索範囲を狭くまたは広く設定する手法を開示している。しかしながら、この手法をディジタルカメラ装置に適用した場合、ディジタルカメラ装置では、手振れなどにより画像全体が揺れる。このとき動きベクトルの分散値が小さい場合、探索範囲をある程度狭くすることができるが、それでも探索範囲は広い。これにより、ME処理における演算量が多くなり、その結果、回路規模を大きくする必要があり、消費電力も増大するという問題があった。
【0019】
また、例えばUSB(Universal Serial Bus)ポートを介して入力された、例えばITU−R656規格に準拠した16ビットのYUV422の画像データ(以下、インターレース信号とも称する)の動きベクトルを検出する場合、対象フレームの偶数フィールドと奇数フィールドとの間だけでなく、対象フレームの偶数フィールドと次フレームの偶数フィールドとの間、また対象フレームの奇数フィールドと次フレームの奇数フィールドとの間でも、動きベクトルの分散値を算出する手法が一般的である。しかし、これらフィールド間、フレーム間でそれぞれ動きベクトルの検出が必要となる。また、画面内のランダムな動きにより動きベクトルの分散値が大きくなる場合が多い。これらの要因で探索範囲が広くなり、ME処理における演算量が多くなり、その結果、回路規模を大きくする必要があり、消費電力も増大するという問題があった。
【0020】
さらに、プログレッシブ信号とインターレース信号の両入力に対応した携帯機器において動きベクトル検出を行うために、これら2つの機能を単純に回路化すると、回路規模が非常に大きくなり、さらに消費電力が増大するという問題があった。
【0021】
本発明は、上記の問題点に鑑みてなされたものであり、その目的は、プログレッシブ信号とインターレース信号の両入力に対応した携帯機器に適用でき、且つ回路規模および消費電力の増大を抑えた動きベクトル検出装置、およびかかる動きベクトル検出装置を用いて動き補償を行うディジタルカメラ装置を提供することにある。
【0022】
【課題を解決するための手段】
前記の目的を達成するため、本発明に係る動きベクトル検出装置は、ブロック単位に入力される画像データ毎に、探索範囲における参照画像データを用いて動きベクトルを検出する装置であって、撮像素子からのプログレッシブ方式による第1の画像データ(プログレッシブ信号)を一時格納する第1の入力画像バッファと、外部端子からのインターレース方式による第2の画像データ(インターレース信号)を一時格納する第2の入力画像バッファと、第1の入力画像バッファを介した第1の画像データと、第2の入力画像バッファを介した第2の画像データのうちいずれが入力されたかを判定して、判定結果に応じて入力された画像データを選択出力する入力選択部と、参照画像の画像データを蓄積する蓄積手段(例えば、SDRAM)と、蓄積手段から読み出された、動きベクトルの探索範囲における参照画像の画像データを一時格納する参照画像バッファと、探索範囲を増減させながら、入力選択部により選択出力されたブロック単位の画像データと、参照画像バッファから読み出された探索範囲内における参照画像の画像データとの相関をとって、ブロック単位の画像データの動きベクトルを生成する動きベクトル検出演算部と、入力選択部における判定結果に応じて、動きベクトル検出演算部における演算処理を制御する動き検出制御部と、動きベクトル検出演算部により検出された動きベクトルの分散値を算出する分散値算出部と、入力選択部における判定結果が、第1の画像データが入力されたことを示す場合、動きベクトルの探索範囲を第2の画像データに対する探索範囲よりも狭い第1の範囲に設定すると共に、分散値算出部により算出された動きベクトルの分散値に基づいて第1の画像データのフレーム全体に所定の揺れ(手振れ)が有ると判断した場合、動きベクトルの探索範囲を第1の範囲よりも狭い第2の範囲に設定する制御部とを備えたことを特徴とする。
【0023】
この構成によれば、プログレッシブ信号が入力された場合、動きベクトルの探索範囲を、インターレース信号に対する探索範囲よりも狭い第1の範囲に設定し、さらにプログレッシブ信号に撮影時の手振れが有る場合、第1の範囲よりも狭い第2の範囲に設定する。これによって、プログレッシブ信号とインターレース信号の両入力に対応した携帯機器に適用できると共に、動きベクトルの検出に必要な誤差演算回数を削減することができ、回路規模および消費電力の増大を抑えることができる。
【0024】
本発明に係る動きベクトル検出装置において、制御部が動きベクトルの探索範囲を第2の範囲に設定した場合、動き検出制御部は、第1の画像データに対する動きベクトル検出演算部における演算処理を特定のブロックに制限する構成をとる。
【0025】
これにより、プログレッシブ信号が入力された場合、分散値算出部における動きベクトルの分散値の算出を特定のブロックに制限することで、さらなる回路規模および消費電力の削減が可能になる。
【0026】
また、本発明に係る動きベクトル検出装置において、入力選択部における判定結果が、第2の画像データが入力されたことを示す場合、制御部は、フレームを構成するいずれか一方のフィールド(奇数フィールドまたは偶数フィールド)に対して分散値算出部により算出された動きベクトルの水平方向および垂直方向における分散値(MVdx、MVdy)がいずれも所定の閾値(MVdt)以下であると判断した場合、動き検出制御部は、第2の画像データのフレームに対する動きベクトル検出演算部における演算処理を、一方のフィールド内の第1ブロックと他方のフィールド内の第1ブロックの上下に位置する第2ブロックとに制限する構成をとる。
【0027】
これにより、インターレース信号が入力された場合、フレーム間で動き検出を行う際に、あるフレームの例えば奇数フィールドにおいて検出された動きベクトルの水平方向の分散値MVdxおよび垂直方向の分散値MVdyがいずれも所定の閾値MVdt以下である場合、次のフレームにおいては、動きが検出された奇数フィールド内の第1ブロックと、偶数フィールド内の第1ブロックの上下に位置する第2ブロックの動きベクトルを検出するだけで良くなる。これによって、動きベクトルの検出に必要な誤差演算回数を削減することができ、回路規模および消費電力も削減することが可能になる。
【0028】
また、本発明に係る動きベクトル検出装置において、入力選択部における判定結果が、第2の画像データが入力されたことを示す場合、制御部は、フレームを構成するいずれか一方のフィールド(奇数フィールドまたは偶数フィールド)に対して分散値算出部により算出された動きベクトルの水平方向および垂直方向における分散値(MVdx、MVdy)がいずれも所定の閾値(MVdt)以下であると判断した場合、動き検出制御部は、第2の画像データの他方のフィールドに対する動きベクトル検出演算部における演算処理を、前記一方のフィールド内のブロックで代用させる構成をとる。
【0029】
これにより、インターレース信号が入力された場合、例えば奇数フィールドにおいて検出された動きベクトルの水平方向の分散値MVdxおよび垂直方向の分散値MVdyがいずれも所定の閾値MVdt以下である場合、偶数フィールドの対応するブロックの動きベクトルは、動きが検出された奇数フィールド内のブロックの動きベクトルで代用され、フィールド間での動き検出が不要となる。これによって、動きベクトルの検出に必要な誤差演算回数を削減することができ、回路規模および消費電力も削減することが可能になる。
【0030】
前記の目的を達成するため、本発明に係るディジタルカメラ装置は、本発明に係る動きベクトル検出装置を備え、動きベクトル検出装置により検出された動きベクトルに基づいて動き補償を行うことを特徴とする。
【0031】
この構成によれば、ME処理に必要な回路規模を削減でき、MPEG2方式による画像符号化に要する消費電力にとって支配的なME処理における消費電力も削減することができるので、従来よりも小型且つ電池の長寿命化を図った外部ビデオ入力対応のディジタルカメラ装置を実現することができる。
【0032】
【発明の実施の形態】
以下、本発明の好適な実施の形態について、図面を参照しながら説明する。
【0033】
図1は、本発明の一実施の形態に係る動きベクトル検出装置の一構成例を示すブロック図である。なお、図1において、従来例の説明において参照した図5と同じ機能および構成を有する部分については、同一の符号を付して説明を省略する。また、本実施の形態による動きベクトル検出装置は、ディジタルカメラ装置に適用されるものとして説明する。
【0034】
本実施の形態は、従来例とは、第2の入力画像バッファ4と、従来の入力画像バッファと同様の第1の入力画像バッファ3を介したプログレッシブ信号と、第2の入力画像バッファ4を介したインターレース信号のうちいずれが入力されたかを判定して、判定結果に応じて入力された信号を選択出力する入力選択部5と、入力された信号に応じて動きベクトル検出演算部6における演算処理を制御する動き検出制御部7とを設けた点が異なり、また制御部としてのCPU I/P16の機能が異なる。以下では、主にこの相違点について説明する。
【0035】
図1において、撮像素子を含むプログレッシブ信号発生源1から、例えばYUV422形態の8ビットパラレルの輝度信号Yと色差信号UVからなるプログレッシブ信号(第1の画像データ)が入力された場合、このプログレッシブ信号の輝度信号Y(図中、Y1)のマクロブロックは、第1の入力画像バッファ3に一時的に格納される。
【0036】
一方、外部のディジタルビデオ機器に相当するインターレース信号発生源2から、例えばITU−R656規格に準拠したYUV422形態の16ビットシリアルのインターレース信号(第2の画像データ)が外部端子であるUSBポートに入力された場合、このインターレース信号の輝度信号Y(図中、Y2)のマクロブロックは、第2の入力画像バッファ4に一時的に格納される。
【0037】
入力選択部5は、第1の入力画像バッファ3と第2の入力画像バッファ4に対してデータ読み出しを行い、入力された信号がプログレッシブ信号かインターレース信号であるかの判定を行い、その判定結果に応じて入力された信号を選択出力する。この入力信号の判定方法について、図2Aおよび図2Bを参照して説明する。図2Aは、入力されるプログレッシブ信号のYUVデータ構造を示す模式図で、図2Bは、入力されるインターレース信号のYUVデータ構造を示す模式図である。
【0038】
図2Aにおいて、プログレッシブ信号の8ビットのYデータは、1バイトのデータとして“10h”(hは16進数を示す)が与えられた先頭の制御コード21と、1バイトのデータとして同じく“10h”が与えられた終端の制御コード22と、それらの間に配置されるY0、Y1、…、Y719からなる720バイトの画素データ23とで構成される。また、8ビットのUVデータは、1バイトのデータとして“80h”が与えられた先頭の制御コード24と、1バイトのデータとして同じく“80h”が与えられた終端の制御コード25と、それらの間に配置されたU0、V0、…、U359、V359からなるU、Vそれぞれ360バイトの画素データ26とで構成される。
【0039】
一方、図2Bにおいて、インターレース信号の16ビットのYUVデータは、4バイトのデータとして奇数フィールドまたは偶数フィールドを示すデータを含む“FFh”、“00h”、“00h”、“XXh”が与えられた先頭の制御コード27と、4バイトのデータとして奇数フィールドまたは偶数フィールドを示すデータを含む“FFh”、“00h”、“00h”、“YYh”が与えられた終端の制御コード28と、それらの間に配置されたU0、Y0、V0、Y1、…、U359、Y718、V359、Y719からなる1440バイトの画素データ(Yは720バイト、U、Vはそれぞれ360バイト)29とで構成される。
【0040】
動きベクトルの検出に必要なのは輝度信号Yであるので、入力選択部5は、輝度信号Yの先頭の制御コードを読み取ることで、図2Aに示すように先頭の制御コードが“10h”であれば、入力された信号はプログレッシブ信号であると判定し、一方、図2Bに示すように先頭の制御コードが“FFh”であれば、入力された信号はインターレース信号であると判定する。
【0041】
入力選択部5は、判定した信号Y0を選択して動きベクトル検出演算部6に出力すると共に、判定結果S4を動き検出制御部7に送り、動き検出制御部7は、判定結果S4に応じた演算処理を行うよう動きベクトル検出演算部6を制御する。
【0042】
例えば、入力選択部5において、入力された信号がプログレッシブ信号であると判定された場合、CPU IF16は、まず、動きベクトルの探索範囲をインターレース信号に対する探索範囲(初期設定範囲)よりも狭い第1の範囲に設定する。次に、CPU IF16は、分散値算出部13により算出された動きベクトルの分散値MVdに基づいてプログレッシブ信号のフレーム全体に所定の揺れ、すなわち手振れが有ると判断した場合、動きベクトルの探索範囲を第1の範囲よりも狭い第2の範囲に設定する。このとき、動き検出制御部7は、判定結果S4を受けて、プログレッシブ信号に対する動きベクトル検出演算部6における演算処理をフレーム内の特定のマクロブロックに制限する信号S5を動きベクトル検出演算部6に出力する。
【0043】
これにより、動きベクトルの検出に必要な誤差演算回数を削減することができ、回路規模および消費電力の増大を抑えることができる。
【0044】
一方、入力選択部5において、入力された信号がインターレース信号であると判定された場合、プログレッシブ信号に比べて垂直解像度が半分になるので、マクロブロックを構成する画素数は半分となり、動きベクトルの探索範囲も半分になる。
【0045】
まず、フレーム間で動きベクトルを検出する場合について説明する。
【0046】
CPU IF16は、まず、動きベクトルの探索範囲を上記第1の範囲よりも広い初期設定範囲に戻す。次に、CPU IF16は、フレームを構成するいずれか一方のフィールド、例えば奇数フィールドに対して分散値算出部13により算出された、動きベクトルの水平方向における分散値MVdxおよび垂直方向における分散値MVdyがいずれも所定の閾値MVdt以下であると判断した場合、動き検出制御部7は、インターレース信号のフレームに対する動きベクトル検出演算部6における演算処理を、奇数フィールド内の第1マクロブロックと、他方のフィールドである偶数フィールド内の第1マクロブロックの上下に位置する第2マクロブロックとに制限する信号S5を動きベクトル検出演算部6に出力する。
【0047】
図3は、奇数フィールドにおけるマクロブロック(MB)の動きベクトルをそのフレームにおける動きベクトルに流用した場合の画素構成を示す模式図である。図3に示すように、動きが検出された奇数フィールドの第1MB(4画素)と、その上下に位置する偶数フィールドの第2MB(4×2画素)とで、そのフレームにおけるMBの動きベクトルが設定される。なお、上記では、奇数フィールドのMBの動きベクトルをフレームのMBの動きベクトルに流用する場合について説明したが、当然ながら、偶数フィールドのMBの動きベクトルをフレームのMBの動きベクトルに流用する場合についても同様である。
【0048】
このようにして、あるフレームの一方のフィールドにおけるマクロブロックの動きベクトルをそのフレームの動きベクトルとし、次のフレームの一方のフィールドにおけるマクロブロックの動きベクトルをそのフレームの動きベクトルとして、フレーム間で動きベクトルを検出することで、誤差演算回数が本実施の形態を適用しない場合の半分となり、さらなる回路規模および消費電力の削減が可能になる。
【0049】
次に、フレーム内で動きベクトルを検出する場合について説明する。
【0050】
CPU IF16は、まず、動きベクトルの探索範囲を上記第1の範囲よりも広い初期設定範囲に戻す。次に、CPU IF16は、フレームを構成するいずれか一方のフィールド、例えば奇数フィールドに対して分散値算出部13により算出された、動きベクトルの水平方向における分散値MVdxおよび垂直方向における分散値MVdyがいずれも所定の閾値MVdt以下であると判断した場合、動き検出制御部7は、インターレース信号の偶数フィールドに対する動きベクトル検出演算部における演算処理を、動きが検出された、奇数フィールド内のブロックで代用させる信号S5を動きベクトル検出演算部6に出力する。
【0051】
図4は、奇数フィールドにおけるマクロブロック(MB)の動きベクトルを偶数フィールドにおける動きベクトルに流用した場合の画素構成を示す模式図である。図4に示すように、動きが検出された奇数フィールドのMB(4×2画素)の動きベクトルが、偶数フィールドの対応するMB(4×2画素)の動きベクトルとして設定される。なお、上記では、奇数フィールドのMBの動きベクトルを偶数フィールドのMBの動きベクトルに流用する場合について説明したが、当然ながら、偶数フィールドのMBの動きベクトルを奇数フィールドのMBの動きベクトルに流用する場合についても同様である。
【0052】
このようにして、一方のフィールドにおけるマクロブロックの動きベクトルを、他方のフィールドにおける対応するマクロブロックの動きベクトルとして用いることで、フィールド間での動き検出が不要となる。これによって、動きベクトルの検出に必要な誤差演算回数を削減することができ、回路規模および消費電力も削減することが可能になる。
【0053】
【発明の効果】
以上説明したように、本発明によれば、プログレッシブ信号とインターレース信号の両入力に対応した携帯機器に適用できると共に、動きベクトルの検出に必要な誤差演算回数を削減することができ、回路規模および消費電力の増大を抑えることが可能になる、という格別な効果を奏する。
【図面の簡単な説明】
【図1】本発明の一実施の形態に係る動きベクトル検出装置の一構成例を示すブロック図
【図2A】入力されるプログレッシブ信号のYUVデータ構造を示す模式図
【図2B】入力されるインターレース信号のYUVデータ構造を示す模式図
【図3】奇数フィールドにおけるマクロブロック(MB)の動きベクトルをそのフレームにおける動きベクトルに流用した場合の画素構成を示す模式図
【図4】奇数フィールドにおけるマクロブロック(MB)の動きベクトルを偶数フィールドにおける動きベクトルに流用した場合の画素構成を示す模式図
【図5】従来の動きベクトル検出装置の一構成例を示すブロック図
【符号の説明】
1 プログレッシブ信号発生源
2 インターレース信号発生源
3 第1の入力画像バッファ
4 第2の入力画像バッファ
5 入力選択部
6 動きベクトル検出演算部
7 動き検出制御部
8 参照画像バッファ
9 参照画像読み出しアドレス発生部
10 値保持部
11 判定計数部
12 平均値算出部
13 分散値算出部
14 動き検出部
15 SDRAM(蓄積手段)
16 CPU IF(制御部)
17 判定部
Claims (5)
- ブロック単位に入力される画像データ毎に、探索範囲における参照画像データを用いて動きベクトルを検出する装置であって、
撮像素子からのプログレッシブ方式による第1の画像データを一時格納する第1の入力画像バッファと、
外部端子からのインターレース方式による第2の画像データを一時格納する第2の入力画像バッファと、
前記第1の入力画像バッファを介した前記第1の画像データと、前記第2の入力画像バッファを介した前記第2の画像データのうちいずれが入力されたかを判定して、判定結果に応じて入力された画像データを選択出力する入力選択部と、
参照画像の画像データを蓄積する蓄積手段と、
前記蓄積手段から読み出された、動きベクトルの探索範囲における参照画像の画像データを一時格納する参照画像バッファと、
前記探索範囲を増減させながら、前記入力選択部により選択出力されたブロック単位の画像データと、前記参照画像バッファから読み出された前記探索範囲内における参照画像の画像データとの相関をとって、前記ブロック単位の画像データの動きベクトルを生成する動きベクトル検出演算部と、
前記入力選択部における前記判定結果に応じて、前記動きベクトル検出演算部における演算処理を制御する動き検出制御部と、
前記動きベクトル検出演算部により検出された動きベクトルの分散値を算出する分散値算出部と、
前記入力選択部における前記判定結果が、前記第1の画像データが入力されたことを示す場合、前記動きベクトルの探索範囲を前記第2の画像データに対する探索範囲よりも狭い第1の範囲に設定すると共に、前記分散値算出部により算出された動きベクトルの分散値に基づいて前記第1の画像データのフレーム全体に所定の揺れが有ると判断した場合、前記動きベクトルの探索範囲を前記第1の範囲よりも狭い第2の範囲に設定する制御部とを備えたことを特徴とする動きベクトル検出装置。 - 前記制御部が前記動きベクトルの探索範囲を前記第2の範囲に設定した場合、前記動き検出制御部は、前記第1の画像データに対する前記動きベクトル検出演算部における演算処理を特定のブロックに制限することを特徴とする請求項1記載の動きベクトル検出装置。
- 前記入力選択部における前記判定結果が、前記第2の画像データが入力されたことを示す場合、前記制御部は、フレームを構成するいずれか一方のフィールドに対して前記分散値算出部により算出された動きベクトルの水平方向および垂直方向における分散値がいずれも所定の閾値以下であると判断した場合、前記動き検出制御部は、前記第2の画像データのフレームに対する前記動きベクトル検出演算部における演算処理を、前記一方のフィールド内の第1ブロックと他方のフィールド内の前記第1ブロックの上下に位置する第2ブロックとに制限することを特徴とする請求項1記載の動きベクトル検出装置。
- 前記入力選択部における前記判定結果が、前記第2の画像データが入力されたことを示す場合、前記制御部は、フレームを構成するいずれか一方のフィールドに対して前記分散値算出部により算出された動きベクトルの水平方向および垂直方向における分散値がいずれも所定の閾値以下であると判断した場合、前記動き検出制御部は、前記第2の画像データの他方のフィールドに対する前記動きベクトル検出演算部における演算処理を、前記一方のフィールド内のブロックで代用させることを特徴とする請求項1記載の動きベクトル検出装置。
- 請求項1から4のいずれか一項記載の動きベクトル検出装置を備え、前記動きベクトル検出装置により検出された動きベクトルに基づいて動き補償を行うことを特徴とするディジタルカメラ装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003136347A JP2004343349A (ja) | 2003-05-14 | 2003-05-14 | 動きベクトル検出装置およびディジタルカメラ装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003136347A JP2004343349A (ja) | 2003-05-14 | 2003-05-14 | 動きベクトル検出装置およびディジタルカメラ装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004343349A true JP2004343349A (ja) | 2004-12-02 |
Family
ID=33526343
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003136347A Withdrawn JP2004343349A (ja) | 2003-05-14 | 2003-05-14 | 動きベクトル検出装置およびディジタルカメラ装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2004343349A (ja) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011091794A (ja) * | 2009-10-20 | 2011-05-06 | Intel Corp | 動き推定の探索範囲の適応選択方法及び装置 |
US8917769B2 (en) | 2009-07-03 | 2014-12-23 | Intel Corporation | Methods and systems to estimate motion based on reconstructed reference frames at a video decoder |
US9509995B2 (en) | 2010-12-21 | 2016-11-29 | Intel Corporation | System and method for enhanced DMVD processing |
US9654792B2 (en) | 2009-07-03 | 2017-05-16 | Intel Corporation | Methods and systems for motion vector derivation at a video decoder |
US10250885B2 (en) | 2000-12-06 | 2019-04-02 | Intel Corporation | System and method for intracoding video data |
-
2003
- 2003-05-14 JP JP2003136347A patent/JP2004343349A/ja not_active Withdrawn
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10250885B2 (en) | 2000-12-06 | 2019-04-02 | Intel Corporation | System and method for intracoding video data |
US10701368B2 (en) | 2000-12-06 | 2020-06-30 | Intel Corporation | System and method for intracoding video data |
US8917769B2 (en) | 2009-07-03 | 2014-12-23 | Intel Corporation | Methods and systems to estimate motion based on reconstructed reference frames at a video decoder |
US9445103B2 (en) | 2009-07-03 | 2016-09-13 | Intel Corporation | Methods and apparatus for adaptively choosing a search range for motion estimation |
US9538197B2 (en) | 2009-07-03 | 2017-01-03 | Intel Corporation | Methods and systems to estimate motion based on reconstructed reference frames at a video decoder |
US9654792B2 (en) | 2009-07-03 | 2017-05-16 | Intel Corporation | Methods and systems for motion vector derivation at a video decoder |
US9955179B2 (en) | 2009-07-03 | 2018-04-24 | Intel Corporation | Methods and systems for motion vector derivation at a video decoder |
US10404994B2 (en) | 2009-07-03 | 2019-09-03 | Intel Corporation | Methods and systems for motion vector derivation at a video decoder |
US10863194B2 (en) | 2009-07-03 | 2020-12-08 | Intel Corporation | Methods and systems for motion vector derivation at a video decoder |
US11765380B2 (en) | 2009-07-03 | 2023-09-19 | Tahoe Research, Ltd. | Methods and systems for motion vector derivation at a video decoder |
JP2011091794A (ja) * | 2009-10-20 | 2011-05-06 | Intel Corp | 動き推定の探索範囲の適応選択方法及び装置 |
US9509995B2 (en) | 2010-12-21 | 2016-11-29 | Intel Corporation | System and method for enhanced DMVD processing |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11228772B2 (en) | Rate control in video coding | |
US7809063B2 (en) | Method and system for adaptive motion estimation | |
US20070165716A1 (en) | Signal processing device, image capturing device, network camera system and video system | |
US20050047504A1 (en) | Data stream encoding method and apparatus for digital video compression | |
JP4641892B2 (ja) | 動画像符号化装置、方法、及びプログラム | |
US9591326B2 (en) | Power efficient motion estimation techniques for video encoding | |
JP2006129436A (ja) | ビデオ・エンコーディングのための非整数ピクセルの共用 | |
JP6149707B2 (ja) | 動画像符号化装置、動画像符号化方法、動画像符号化プログラム、及び動画像撮影装置 | |
US9386310B2 (en) | Image reproducing method, image reproducing device, image reproducing program, imaging system, and reproducing system | |
US20070133689A1 (en) | Low-cost motion estimation apparatus and method thereof | |
JP2006129074A (ja) | 手ぶれ補正装置 | |
JP2012085001A5 (ja) | ||
JP5583439B2 (ja) | 画像符号化装置及びカメラシステム | |
US20080063065A1 (en) | Fast Motion Estimation for Multiple Reference Pictures | |
JP2004343349A (ja) | 動きベクトル検出装置およびディジタルカメラ装置 | |
JP2010258576A (ja) | シーンチェンジ検出装置および映像記録装置 | |
JP4126044B2 (ja) | 動画像符号化装置及び方法 | |
JPH11308617A (ja) | ディジタル画像符号化装置とこれに用いる動きベクトル検出装置 | |
JP3947316B2 (ja) | 動きベクトル検出装置及びこれを用いた動画像符号化装置 | |
JP2001025020A (ja) | 画像符号化装置、方法及びコンピュータ読み取り可能な記憶媒体 | |
JPH09261530A (ja) | 映像記録装置 | |
JP2004180345A (ja) | 撮影画像記録装置 | |
WO2017104011A1 (ja) | 画像符号化装置 | |
JP2009033652A (ja) | 動画像符号化方法 | |
JP2008199521A (ja) | 画像処理装置およびその方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Application deemed to be withdrawn because no request for examination was validly filed |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20060801 |