(57)【要約】【課題】動き探索範囲が予め設定されていると、画像の動きが激しい場合にはその画像が動き探索範囲の外に存在している場合がある。【解決手段】動き検出装置１１は、対象画像メモリ３と、参照画像メモリ４と、参照画像メモリ制御部６と、動き検出部８とを備えている。参照画像メモリ制御部６は、動き検出部８が第１の対象マクロブロックの画像に対して動きベクトルを検出するときには、第１の対象マクロブロックの周囲に存在する対象マクロブロックの画像に対して検出された動きベクトルである周囲の動きベクトルを用いて動き探索範囲を決定する。【選択図】図１
2008136177.tif 000002
【特許請求の範囲】
【請求項１】
参照フレームの画像を参照して、対象フレームの画像に対して動き検出を行う動き検出装置であって、
前記対象フレームの画像を構成する複数の対象マクロブロックの画像のうち少なくとも第１の前記対象マクロブロックの画像を記憶する対象画像メモリと、
前記参照フレームの画像を構成する複数の参照マクロブロックの画像のうち数個の前記参照マクロブロックの画像を参照用の画像として記憶する参照画像メモリと、
前記参照用の画像を前記参照画像メモリに格納させる、または、前記参照用の画像のうち動き探索範囲内に存在する画像を前記参照画像メモリから出力させる参照画像メモリ制御部と、
前記参照用の画像のうち前記動き探索範囲内に存在する画像に対して動き探索を行うとともに、前記第１の対象マクロブロックの画像に対して動きベクトルを検出する動き検出部とを備え、
前記参照画像メモリ制御部は、前記動き検出部が前記第１の対象マクロブロックの画像に対して動きベクトルを検出するときには、前記第１の対象マクロブロックの周囲に存在する対象マクロブロックの画像に対して検出された動きベクトルである周囲の動きベクトルを用いて動き探索範囲を決定する、動き検出装置。
【請求項２】
請求項１に記載の動き検出装置において、
前記動き検出部は、前記第１の対象マクロブロックの画像に対して前記動きベクトルを検出する際には、前記参照用の画像のうち前記動き探索範囲内に存在する画像を認識して前記参照画像メモリから入力させる、動き検出装置。
【請求項３】
請求項１または２に記載の動き検出装置において、
前記参照画像メモリ制御部は、前記動き検出部が前記第１の対象マクロブロックの画像に対して前記動きベクトルを検出するときには、前記第１の対象マクロブロック内の一点から前記周囲の動きベクトル分移動させた点を前記第１の対象マクロブロックの画像に対する探索開始点とし、前記探索開始点が前記動き探索範囲の中心に存在するように前記動き探索範囲を決定する、動き検出装置。
【請求項４】
請求項１または２に記載の動き検出装置において、
前記参照画像メモリ制御部は、前記動き検出部が前記第１の対象マクロブロックの画像に対して前記動きベクトルを検出するときには、前記第１の対象マクロブロック内の一点から前記周囲の動きベクトル分移動させた点を前記第１の対象マクロブロックの画像に対する探索開始点とし、前記探索開始点が存在する対象マクロブロックが前記動き探索範囲の中心に存在するように前記動き探索範囲を決定する、動き検出装置。
【請求項５】
請求項１から４の何れか１つに記載の動き検出装置において、
前記第１の対象マクロブロックの画像の前記動きベクトルの大きさが動きベクトルの設定された大きさよりも大きいか否かを判断する比較部と、
前記第１の対象マクロブロックの画像の前記動きベクトルの大きさが動きベクトルの前記設定された大きさよりも大きいと前記比較部が判断したときに、前記動き探索範囲を拡張する拡張部と
を備えている、動き検出装置。
【請求項６】
請求項１から５の何れか１つに記載の動き検出装置において、
動き探索に費やされた時間を計測する計測部を備え、
前記動き検出部は、前記動き探索に費やされた時間が設定時間を超えているか否かを判断し、前記動き探索に費やされた前記時間が前記設定時間を超えていると判断したときには前記設定時間を延長させる、動き検出装置。
【請求項７】
請求項１から６の何れか１つに記載の動き検出装置において、
前記第１の対象マクロブロックの画像を縮小する第１縮小手段と、
前記参照用の画像のうち前記動き探索範囲内に存在する画像を縮小する第２縮小手段とを備えた、動き検出装置。
【請求項８】
請求項１から７の何れか１つに記載の動き検出装置において、
前記動き検出部は、前記動き探索に割り当てた転送許容量に基づいて、前記動き探索範囲の大きさを設定することを特徴とする動き検出装置。
【請求項９】
請求項１から８の何れか１つに記載の動き検出装置において、
前記動き探索範囲を拡張させて動き探索を行う拡張モードと前記動き探索範囲を拡張させることなく動き探索を行う通常モードとを有し、前記拡張モードと前記通常モードとを互いに切り替え可能なスイッチを備え、
前記動き検出部は、前記スイッチの切り替えに従って、前記拡張モードまたは前記通常モードを実行する、動き検出装置。
【請求項１０】
請求項１から９の何れか１つに記載の前記動き検出装置を備えたＭＯＳ集積回路。
【請求項１１】
請求項１から９の何れか１つに記載の前記動き検出装置と、
入力されたアナログ信号をデジタル信号に変換し、前記デジタル信号を前記動き検出装置に出力するアナログ／デジタル変換部とを備えた映像システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、動画を圧縮する際に用いられる動き検出装置、その動き検出装置を備えたＭＯＳ集積回路、および、その動き検出装置を用いた映像システムに関する。具体的には、本発明の動き検出装置は、動き補償を行って予測符号化を行う場合に適している。
【背景技術】
【０００２】
今日、画像を高い圧縮率で圧縮できる信号処理技術が発達しており、そのような信号処理技術はディジタルカメラまたはディジタルビデオカメラなどにおいて使用されている。
【０００３】
動画像の圧縮方法としては、ＭＰＥＧ(Moving Picture Experts Group)が一般的に知られている。このＭＰＥＧでは、動き補償が用いられており、動き補償では、被写体の変位と画像の差分データとを符号化することにより効率良く画像を圧縮することができる。動き補償では、ブロックマッチング法を初めとする算出方法を用いて、被写体の変位を示す動きベクトルが算出される。
【０００４】
例えば、特許文献１には、動きベクトルを検出するための検出装置およびその検出方法が開示されている。特開２００５−２１０６４７号公報に開示された検出装置では、第１対象マクロブロックの画像に対する動きベクトルを検出した後に第１対象マクロブロックの画像に隣接する第２対象マクロブロックの画像に対して動きベクトルを検出する場合、参照フレームメモリから参照画像データバッファへ参照マクロブロックの画像が重複して転送されることを抑制できる。
【特許文献１】特開２００５−２１０６４７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、従来の動き検出装置では、動き探索範囲は予め設定されているので、画像の動きが激しい場合にはその画像が動き探索範囲の外に存在している場合がある。そのため、精度良く動き探索を行うことができない場合がある。図１６（ａ）〜（ｄ）を用いて具体的に説明する。
【０００６】
図１６（ａ）は符号化対象フレームであり、（ｂ）は参照フレームであり、（ｃ）は動き補償フレームであり、（ｄ）は差分フレームである。ここで、差分フレーム（図１６（ｄ））は、符号化対象フレーム（図１６（ａ））から動き補償フレーム（図１６（ｃ））を差し引いたフレームである。図１６（ａ）、（ｃ）および（ｄ）において、太線で囲まれた領域はＮ番目の対象マクロブロックであり、破線で囲まれた領域は（Ｎ−１）番目の対象マクロブロックである。また、図１６（ｂ）において、太線で囲まれた領域はＮ番目の対象マクロブロックの動き探索範囲であり、破線で囲まれた領域は（Ｎ−１）番目の対象マクロブロックの動き探索範囲である。
【０００７】
図１６（ａ）に示す符号化対象フレームにおいて、Ｎ番目の対象マクロブロック内の右側にいる被写体に着目する。このとき、Ｎ番目の対象マクロブロックの動き探索範囲Ｘ（Ｎ）は図１６（ｂ）に示す太線で囲まれた領域であるが、Ｎ番目の対象マクロブロックの動き探索開始点Ｏ（Ｎ）はＮ番目の対象マクロブロックの左上から（Ｎ−１）番目の対象マクロブロックの動きベクトルＭＶ（Ｎ−１）分だけ移動する。そして、その移動後の動き探索開始点から動き探索を行う。そのため、動き探索範囲は、左側では、左上の原点から１マクロブロック分と狭いので、図１６（ｃ）に示すように動きベクトルは本来の動きベクトルよりも小さな動きベクトルとなり、図１６（ｄ）に示すように差分が生じてしまう。よって、適正な動き補償を行うことができない，という弊害が発生する。
【課題を解決するための手段】
【０００８】
本発明にかかる動き検出装置では、動き検出を行うたびに動き探索範囲を設定できる。そのため、本発明にかかる動き検出装置を用いて動き検出を行えば、画像の動きが激しい場合であっても精度良く動き探索を行うことができる。
【発明の効果】
【０００９】
本発明では、動き検出を行うたびに動き探索範囲を設定できるので、画像の動きが激しい場合であっても精度良く動き探索を行うことができる。
【発明を実施するための最良の形態】
【００１０】
以下、本発明の実施形態を図面に基づいて詳細に説明する。なお、本発明は、以下の実施形態に限定されない。
【００１１】
《発明の実施形態１》
図１は、実施形態１にかかる動き検出装置１１の構成を示す。図１では、動き探索範囲Ｘの大きさが３×３のマクロブロックである場合の動き検出装置を示している。なお、図１において、データバスＢＳ１〜ＢＳ５はいずれも２本ずつ設けられているが、図の煩雑化を避けるために図１では１本ずつ記載している。
【００１２】
本実施形態にかかる動き検出装置１１は、システムメモリ２と、対象画像メモリ３と、参照画像メモリ４と、対象画像メモリ制御部５と、参照画像メモリ制御部６と、システムメモリ制御部７と、動き検出部８と、動きベクトル格納部１２とを備え、参照マクロブロックの画像を参照して対象マクロブロックの画像の動きベクトルを算出する。
【００１３】
ここで、参照マクロブロックの画像は、参照フレームの画像を複数個（例えば６４個）に分割したときの１つの画像であり、例えば（１６画素）×（１６画素）で構成されている。同様に、対象マクロブロックの画像は、対象フレームの画像を複数個（本実施形態では６４個）に分割したときの１つの画像である。
【００１４】
システムメモリ２は、例えばＳＤＲＡＭ（Synchronous Dynamic Random Access Memory）であり、参照フレームの画像を記憶する。このシステムメモリ２には、データバスＢＳ１を介して参照画像メモリ４が接続されている。
【００１５】
参照画像メモリ４は、２ポート型の１個のＳＲＡＭ（Static Random Access Memory）である。２ポートのうち１つのポートは書き込み用ポートであり、他方の１つのポートは読み出し用ポートである。参照画像メモリ４は、参照フレームを構成する複数の参照マクロブロックのうち数個の参照マクロブロックの画像（参照用の画像）を記憶する。参照画像メモリ４には、探索用バンクメモリ（図１において太線で囲まれている領域）１４と予備転送用バンクメモリ２４とが割り当てられている。探索用バンクメモリ１４は、動き探索範囲Ｘよりも広い領域Ｙの画像（具体的には５×５個の参照マクロブロックの画像）を格納し、予備転送用バンクメモリ２４は、１×５個の参照マクロブロックの画像のデータを格納する。この領域Ｙ内において動き探索範囲Ｘを決定することができる。この参照画像メモリ４の探索用バンクメモリ１４および予備転送用バンクメモリ２４には、データバスＢＳ３を介して参照画像メモリ制御部６が接続されている。
【００１６】
参照画像メモリ制御部６は、参照画像メモリ４の探索用バンクメモリ１４および予備転送用バンクメモリ２４を個別に制御する。具体的には、動き検出装置１１がＮ番目の対象マクロブロックの画像に対して動き検出を行う場合には、参照画像メモリ制御部６は、探索用バンクメモリ１４にはＮ番目の対象マクロブロックの画像と同じ位置に存在する参照マクロブロックの画像（以下、「Ｎ番目の参照マクロブロックの画像」と記す）およびその周囲に存在する参照マクロブロックの画像を格納させ、予備転送用バンクメモリ２４には（Ｎ＋１）番目の参照マクロブロックの画像およびその周囲に存在する参照マクロブロックの画像のうち探索用バンクメモリ１４に格納されていない参照マクロブロックの画像を格納させる。
【００１７】
また、参照画像メモリ制御部６は、動き検出装置１１がＮ番目の対象マクロブロックの画像に対して動き検出を行う場合には、Ｎ番目の対象マクロブロックの周囲に存在する対象マクロブロックの画像の動きベクトルを参考にして動き探索範囲Ｘを決定する。なお、これについては後で詳述する。
【００１８】
さらに、参照画像メモリ制御部６は、全ての対象マクロブロックの画像に対して動き検出が終了した場合には、切換信号をシステムメモリ制御部７に出力する。
【００１９】
システムメモリ制御部７は、参照画像メモリ制御部６からの切換信号を受信した場合には、システムメモリ２を制御して参照画像メモリ４に格納させる画像を切り換える。
【００２０】
また、対象画像メモリ３は、２つの対象バンクメモリ３ａ，３ｂを備えている。対象バンクメモリ３ａ，３ｂは、それぞれ、物理的に独立した１ポート形のＳＲＡＭ（Static Random Access Memory）であり、１つの対象マクロブロックの画像の画素データを記憶する。この対象画像メモリ３の対象バンクメモリ３ａ，３ｂには、データバスＢＳ２を介して対象画像メモリ制御部５が接続されている。
【００２１】
対象画像メモリ制御部５は、対象バンクメモリ３ａ，３ｂを個別に制御する。具体的には、対象画像メモリ制御部５は、動き検出装置１１がＮ番目の対象マクロブロックの画像に対して動き検出を行っている場合には、（Ｎ＋１）番目の対象マクロブロックの画像を対象画像メモリ３に格納させる。
【００２２】
動き検出部８は、データバスＢＳ４を介して対象画像メモリ３の対象バンクメモリ３ａ，３ｂにそれぞれ接続されており、データバスＢＳ５を介して参照画像メモリ４の探索用バンクメモリ１４および予備転送用バンクメモリ２４にそれぞれ接続されており、Ｎ番目の対象マクロブロックの画像に対して動き検出を行うとともに、（Ｎ＋１）番目の対象マクロブロックの画像に対して動き検出の準備を行う。Ｎ番目の対象マクロブロックの画像に対して動き検出を行う場合には、動き検出部８は、Ｎ番目の対象マクロブロックの画像を対象画像メモリ３から動き検出部８へ転送させるように対象画像メモリ制御部５を制御し、動き探索範囲Ｘ内に存在する参照マクロブロックの画像を参照画像メモリ４から動き検出部８へ転送させるように参照画像メモリ制御部６を制御する。
【００２３】
（Ｎ＋１）番目の対象マクロブロックの画像に対して動き検出の準備を行う場合には、動き検出部８は、（Ｎ＋１）番目の対象マクロブロックの画像を対象画像メモリ３の対象バンクメモリ３ｂに格納させるように対象画像メモリ制御部５を制御し、（Ｎ＋１）番目の参照マクロブロックの画像をシステムメモリ２から参照画像メモリ４の予備転送用バンクメモリ２４に格納させるように参照画像メモリ制御部６を制御する。
【００２４】
また、動き検出部８は、算出した動きベクトル（ＭＶＸおよびＭＶＹ）を出力端子９から動き検出装置１１の外部に出力し、動き補償後の参照マクロブロックの画像を出力端子１０から動き検出装置１１の外部に出力する。
【００２５】
動きベクトル格納部１２は、参照画像メモリ制御部６および動き検出部８に接続されており、動き検出部８から出力端子９へ出力された動きベクトルＭＶＸおよびＭＶＹを格納する。動きベクトル格納部１２に格納された動きベクトルは、格納後に対象マクロブロックに対して動き探索を行う際に、その対象マクロブロックの周囲の動き情報として使用される。言い換えると、参照画像メモリ制御部６は、動きベクトル格納部１２に格納された動きベクトルを用いて、動き探索範囲Ｘを設定する。
【００２６】
図２（ａ）および（ｂ）を用いて、従来における動き探索範囲の設定方法と比較しながら、本実施形態にかかる動き検出装置１１における動き探索範囲の設定方法を説明する。
【００２７】
従来では、Ｎ番目の対象マクロブロックの画像に対して動き検出を行う場合には、動き探索範囲として、Ｎ番目の参照マクロブロックの画像を中心とする範囲Ｘ’を設定する。
【００２８】
しかし、図２（ａ）に示すように（Ｎ−１）番目の対象マクロブロックの画像の動きベクトルがＭＶ（Ｎ−１）である場合、（Ｎ−１）番目の対象マクロブロックの画像は、時間の経過に伴って図面上の右側から左側に移動したと考えられる。そのため、Ｎ番目の対象マクロブロックの画像も時間の経過に伴って図面上の右側から左側に移動したのではないかと予測でき、言い換えると、Ｎ番目の対象マクロブロックの画像は参照フレームの画像ではＮ番目の参照マクロブロックよりも右側に存在しているのではないかと予測できる。そのため、従来のように図２（ａ）に示す範囲Ｘ’内において動き探索を行うと、Ｎ番目の対象マクロブロックの画像を動き検出できない虞がある。
【００２９】
そこで、本実施形態にかかる動き検出装置１１では、Ｎ番目の対象マクロブロックの画像に対して動き検出を行う場合には、Ｎ番目の対象マクロブロックの画像の周囲に存在する対象マクロブロックの画像の動きベクトルを参考にして、動き探索範囲を決定する。具体的には、図２（ａ）に示す場合では、上述のようにＮ番目の対象マクロブロックの画像は参照フレームの画像ではＮ番目の参照マクロブロックよりも右側に存在していると予測できるので、動き探索範囲を右側にシフトさせる。
【００３０】
別の言い方をすると、Ｎ番目の対象マクロブロックの画像に対して動き検出を行う場合、参照画像メモリ制御部６は、探索開始点を、Ｎ番目の参照マクロブロック内の任意の点からＭＶ（Ｎ−１）だけ移動させる。すると、探索開始点はＮ番目の参照マクロブロックの右隣のブロック（図２（ａ）に示すブロック「ａ」）内に移動するので、参照画像メモリ制御部６はブロック「ａ」を中心とする範囲Ｘを動き探索範囲に設定する。
【００３１】
なお、上記では、Ｎ番目の対象マクロブロックの画像に対して動き検出を行うさいに、Ｎ番目の対象マクロブロックの左隣に存在する対象マクロブロックの画像の動きベクトルを参考にして動き探索範囲を設定している。しかし、Ｎ番目の対象マクロブロックの画像に対して動き検出を行うさいには、Ｎ番目の対象マクロブロックの上に存在する対象マクロブロックの画像の動きベクトル、または、Ｎ番目の対象マクロブロックの右上に存在する対象マクロブロックの画像の動きベクトル等を参考にして、動き探索範囲を設定しても良いということは言うまでもない。
【００３２】
参照画像メモリ制御部６は、上述のように探索開始点が含まれた参照マクロブロックを中心とするように動き探索範囲Ｘを設定してもよく（図２（ａ））、図２（ｂ）に示すように探索開始点Ｏ（ｘ，ｙ）を中心とするように動き探索範囲Ｘを設定してもよい。ここで、図２（ａ）に示す場合では、動き探索範囲Ｘには３×３個の参照マクロブロックが存在するが、図２（ｂ）に示す場合では、動き探索範囲Ｘには３×３個よりも多くの参照マクロブロックが存在する場合がある。例えば、探索開始点Ｏ（ｘ，ｙ）のｘおよびｙが共に１６の倍数（０を含む）であれば動き探索範囲Ｘには３×３個の参照マクロブロックが存在するが、ｘおよびｙのどちらか一方が１６の倍数（０を含む）でなければ動き探索範囲Ｘには３×４個の参照マクロブロックが存在し、ｘおよびｙが共に１６の倍数（０を含む）でなければ動き探索範囲Ｘには４×４個の参照マクロブロックが存在する。
【００３３】
同様に考えると、（Ｎ−１）番目の対象マクロブロックの画像の動きベクトルＭＶ（Ｎ−１）が図３（ａ）〜（ｈ）に示す場合、参照画像メモリ制御部６は、それぞれ、図３（ａ）〜（ｈ）に示すように動き探索範囲を設定すればよい。
【００３４】
このように本実施形態にかかる動き検出装置１１では動き検出を行う度に参照画像メモリ制御部６が動き探索範囲を決定するので、図４（ａ）〜（ｄ）に示すように高精度の動き補償を行うことができる。図４（ａ）は符号化対象フレームであり、図４（ｂ）は参照フレームであり、図４（ｃ）は動き補償フレームであり、図４（ｄ）は差分フレームである。ここで、図４（ａ）、（ｂ）および（ｄ）において、Ｎ番目の対象マクロブロックを太線で囲んでおり、（Ｎ−１）番目の対象マクロブロックを破線で囲んでいる。また、図４（ｂ）において、Ｎ番目の参照マクロブロックを太線で囲んでおり、（Ｎ−１）番目の参照マクロブロックを破線で囲んでいる。
【００３５】
図４（ａ）において、Ｎ番目の対象マクロブロック内の右側にいる被写体に着目する。このとき、（Ｎ−１）番目の対象マクロブロックの画像の動きベクトルは図４（ｂ）に示すようにＭＶ（Ｎ−１）であるので、参照画像メモリ制御部６は、Ｎ番目の対象マクロブロックの画像の探索開始点をＮ番目の対象マクロブロックの左上の点Ｏ１（Ｎ）からＭＶ（Ｎ−１）分だけ移動させ、移動後の探索開始点Ｏ２（Ｎ）を基準としてＮ番目の対象マクロブロックの画像の動き探索範囲Ｘ（Ｎ）を設定する。そして、動き検出部８は、動き探索範囲Ｘ（Ｎ）内で動きベクトルを算出し、動き補償フレーム（図４（ｃ））を算出する。これにより、差分フレーム（図４（ｄ））では差分がなくなるので、精度の高い動き補償を行うことができる。
【００３６】
以下では、本実施形態にかかる動き検出装置１１における動作を示す。動き検出装置１１がＮ番目の対象マクロブロックの画像に対して動き検出を行う場合を考える。
【００３７】
まず、対象画像メモリ制御部５が、Ｎ番目の対象マクロブロックの画像を、対象画像メモリ３の対象バンクメモリ３ａに格納させる。
【００３８】
それと同時に、参照画像メモリ制御部６が、Ｎ番目の対象マクロブロックの画像の周囲に存在する対象マクロブロックの画像（例えば（Ｎ−１）番目の対象マクロブロックの画像）の動きベクトルを用いて、参照画像メモリ４に格納された画像において動き探索範囲を決定する。
【００３９】
次に、動き検出部８が、データバスＢＳ４を介して対象画像メモリ３の対象バンクメモリ３ａからＮ番目の対象マクロブロックの画像を動き検出部８に転送させ、データバスＢＳ５を介して参照画像メモリ４から参照マクロブロックの画像のうち動き探索範囲内に存在する参照マクロブロックの画像を動き検出部８に転送させる。
【００４０】
続いて、動き検出部８が、Ｎ番目の対象マクロブロックの画像に対して動きベクトルを算出し、算出結果（ＭＶＸおよびＭＶＹ）を出力端子９から動き検出装置１１の外へ出力させる。
【００４１】
このＮ番目の対象マクロブロックの画像に対する動きベクトルの算出と並行して、（Ｎ＋１）番目の対象マクロブロックの画像に対する動きベクトルの算出の準備が行われる。具体的には、対象画像メモリ制御部５が、（Ｎ＋１）番目の対象マクロブロックの画像を対象画像メモリ３の対象バンクメモリ３ｂに格納させる。また、参照画像メモリ制御部６が、（Ｎ＋１）番目の参照マクロブロックの画像の周囲に存在する参照マクロブロックの画像の動きベクトルを用いて（Ｎ＋１）番目の対象マクロブロックの画像の動き検出に対する動き探索範囲を決定する。さらに、（Ｎ＋１）番目の対象マクロブロックの画像の動き探索範囲内に存在している参照マクロブロックの画像のうち参照画像メモリ４に格納されていない参照マクロブロックの画像を、動き検出部８が、システムメモリ２から参照画像メモリ４の予備転送用バンクメモリ２４に格納させる。
【００４２】
以上の工程を繰り返し、対象フレームの画像を構成する各対象マクロブロックの画像に対して動き検出を行う。そして、対象フレームの画像の最後の対象マクロブロックの画像に対する動き検出が終了すると、参照画像メモリ制御部６がシステムメモリ制御部７に切換信号を出力する。すると、システムメモリ制御部７は、システムメモリ２を制御して参照画像メモリ４に格納させる画像を切り替えさせる。
【００４３】
以上説明したように、本実施形態にかかる動き検出装置１１では、動き検出部８が動き検出を行うたびに参照画像メモリ制御部６が動き探索範囲を決定する。そのため、画像の動きが大きい場合であっても、その画像の動き探索を精度良く行うことができる、言い換えると、図４（ｄ）に示す差分フレームにおいて差分を０とすることができる。
【００４４】
《発明の実施形態２》
実施形態２にかかる動き検出装置は、上記実施形態１にかかる動き検出装置と略同一の構成を有している。しかし、動き検出装置での動作が、上記実施形態１と本実施形態とでは相異なる。図５（ａ）〜（ｐ）を用いて、本実施形態にかかる動き検出装置での動作を示す。
【００４５】
本実施形態では、７×５個のマクロブロック（１１２画素×８０画素）からなるフレームを１フレームとしており、各ブロックには表１に示すように番号が付けられている。
【００４６】
【表１】
2008136177.tif 000003
【００４７】
また、図５（ａ）〜（ｐ）では、それぞれ、斜線が付された参照マクロブロックの画像が転送され、点が付された参照マクロブロックの画像において動き探索が行われる。図５（ｂ）〜（ｐ）では、領域Ｘは動き探索範囲であり、領域Ｙは動き探索範囲Ｘを設定することができる範囲であり、参照マクロブロックＲはＮ番目の対象マクロブロックに対して動き検出を行っている場合には対象フレームにおけるＮ番目の対象マクロブロックの位置と同じ位置の参照マクロブロックである。
【００４８】
なお、以下の説明では、説明を簡略化するために、参照マクロブロックＲが動き探索範囲の中心となるように動き探索範囲を設定する。また、表１に示す番号ｎ（ｎ＝０〜３４）の参照マクロブロックを参照マクロブロック「ｎ」として記載し、また、番号ｎの対象マクロブロックを対象マクロブロック「ｎ」として記載する。
【００４９】
まず、図５（ａ）に示すステップでは、対象マクロブロック「０」の画像に対して動き検出の準備をする。具体的には、対象画像メモリ制御部５が、対象マクロブロック「０」の画像を対象画像メモリ３の対象バンクメモリ３ａに入力する。同時に、参照画像メモリ制御部６が、対象マクロブロック「０」と同じ位置およびその周囲に存在する参照マクロブロックの画像をシステムメモリ２から参照画像メモリ４に格納させる。
【００５０】
ここで、対象マクロブロック「０」と同じ位置に存在する参照マクロブロックは、参照マクロブロック「０」である。また、参照マクロブロック「０」の周囲に存在する参照マクロブロックは、表１において参照マクロブロック「０」が中心となるように動き探索範囲を設定したときにその動き探索範囲内に存在している参照マクロブロックであり、具体的には、参照マクロブロック「１」，「２」，「７」〜「９」および「１４」〜「１６」である。そして、参照マクロブロック「０」、「７」および「１４」の画像は参照画像メモリ４の第２列目のブロック領域に格納され、参照マクロブロック「１」、「８」および「１５」の画像は参照画像メモリ４の第３列目のブロック領域に格納され、参照マクロブロック「２」、「９」および「１６」の画像は参照画像メモリ４の第４列目のブロック領域に格納される。従って、参照画像メモリ４の第２列目〜第４列目が探索用バンクメモリ１４として割り当てられる。
【００５１】
次に、図５（ｂ）に示すステップでは、対象マクロブロック「０」の画像に対して動き検出を行い、対象マクロブロック「１」の画像に対して動き検出の準備をする。
【００５２】
具体的には、動き検出部８が、対象マクロブロック「０」の画像を対象バンクメモリ３ａから入力させるとともに、参照マクロブロック「０」〜「２」、「７」〜「９」および「１４」〜「１６」の画像を探索用バンクメモリ１４から入力させる。これにより、動き検出部８は、対象マクロブロック「０」の画像に対して動き検出を行うことができる。このとき、対象マクロブロック「０」は画像の左上端に位置するため、対象マクロブロック「０」よりも左側および上側にはデータが存在しない。よって、対象マクロブロック「０」よりも左側および上側の領域を、動き探索範囲Ｘに設定しなくてよい。例えば、図５（ｂ）に示すように、動き探索範囲Ｘとして、領域Ｙ内に存在する対象マクロブロックのうち対象マクロブロック「０」、「１」、「７」および「８」を含む領域を設定すればよい。
【００５３】
また、対象画像メモリ制御部５が、対象マクロブロック「１」の画像を対象画像メモリ３の対象バンクメモリ３ｂに格納する。また、参照画像メモリ制御部６が、参照フレームの画像のうち、対象マクロブロック「１」と同一位置およびその周囲に存在している画像であって参照画像メモリ４に格納されていない画像（この場合、参照マクロブロック「３」、「１０」および「１７」の画像）を、システムメモリ２から参照画像メモリ４の第５列目のバンク領域に格納する。従って、このステップでは、参照画像メモリ４の第５列目のブロック領域が予備転送用バンクメモリ２４として割り付けられる。これにより、対象マクロブロック「１」の画像に対して動き検出の準備をすることができる。
【００５４】
ここで、動き検出を行う際の動作を一般化すると、対象マクロブロック「ｎ」の画像に対して動き検出を行う場合には、対象マクロブロック「ｎ」の画像が対象画像メモリ３から動き検出部８に入力され、参照用の画像のうち動き探索範囲Ｘ内に存在する画像（各図において点が施された参照マクロブロックの画像）が参照画像メモリ４から動き検出部８に入力される。
【００５５】
また、動き検出の準備を行う際の動作を一般化すると、対象マクロブロック「ｎ＋１」の画像に対して動き検出の準備を行う場合には、対象マクロブロック「ｎ＋１」の画像が対象画像メモリ３に格納され、参照フレームの画像のうち対象マクロブロック「ｎ＋１」と同一位置およびその周囲に存在している画像であって参照画像メモリ４に格納されていない画像（各図において斜線が施された参照マクロブロックの画像）が参照画像メモリ４に格納される。以下のステップにおいて、一般化した上記記載と重複する箇所に関しては、記載を省略する。
【００５６】
図５（ｂ）に示すステップの後には、図５（ｃ）〜図５（ｆ）に示すように、対象マクロブロック「１」，「２」，「３」および「４」の画像に対して動き検出を順に行い、対象マクロブロック「２」，「３」，「４」および「５」の画像に対して動き検出の準備を順に行う。ここで、図５（ｃ）〜図５（ｅ）に示すステップでは、対象マクロブロック「１」〜「３」は画像の上端に位置するため、対象マクロブロック「１」〜「３」の上側にはデータが存在しない。よって、対象マクロブロック「１」〜「３」の上側の領域を、動き探索範囲Ｘに設定しなくて良い。また、図５（ｆ）に示すステップでは、対象マクロブロック「４」は画像の右上端に位置するため、対象マクロブロック「４」の右側および上側にはデータが存在しない。よって、対象マクロブロック「４」の右側および上側の領域を、動き探索範囲に設定しなくて良い。
【００５７】
図５（ｆ）に示すステップの後には、図５（ｇ）に示すステップを行う。このステップでは、対象マクロブロック「５」の画像に対して動き検出を行い、対象マクロブロック「６」の画像に対して動き検出の準備をする。
【００５８】
このステップにおいて動き検出の準備をする際、参照マクロブロック「６」を中心とする動き探索範囲の中には、参照マクロブロック「４」、「５」、「１１」、「１２」、「１８」および「１９」が存在している。しかし、これらの参照マクロブロックの画像は、図５（ｆ）に示すステップにおいて参照画像メモリ４に既に格納されている。そのため、このステップでは、対象マクロブロック「６」の画像に対して動き検出の準備をしない。その代わりに、対象マクロブロック「７」の画像に対して動き検出の準備をする。具体的には、参照マクロブロック「０」、「７」、「１４」および「２１」の画像をシステムメモリ２から参照画像メモリ４に格納させる。
【００５９】
また、図５（ｇ）に示すステップでは、対象マクロブロック「５」は画像の左上端に位置するため、対象マクロブロック「５」の左側および上側の領域を動き探索範囲Ｘに設定しなくて良い。
【００６０】
続いて、図５（ｈ）に示すステップでは、対象マクロブロック「６」の画像に対して動き検出を行い、対象マクロブロック「７」の画像に対して動き検出の準備をする。ここで、対象マクロブロック「６」は画像の上端に位置するため、対象マクロブロック「６」の上側の領域を動き探索範囲「Ｘ」に設定しなくてよい。
【００６１】
参照マクロブロック「７」を中心とする動き探索範囲Ｘを設定可能な領域Ｙ内には、参照マクロブロック「０」〜「２」、「７」〜「９」、「１４」〜「１６」および「２１」〜「２３」が存在しており、そのうち参照マクロブロック「２」、「９」、「１６」および「２３」の画像が参照画像メモリ４に格納されていない。そこで、このステップでは、参照マクロブロック「２」、「９」、「１６」および「２３」の画像を、システムメモリ２から参照画像メモリ４に格納させる。
【００６２】
図５（ｈ）に示すステップの後には、図５（ｉ）〜図５（ｐ）に示すように、対象マクロブロック「７」〜「１４」の画像に対して動き検出を順に行い、対象マクロブロック「９」〜「１５」の画像に対して動き検出の準備を順に行う。そして、対象マクロブロック「３４」の画像に対して動き検出を行うまで、同様の処理を繰り返す。
【００６３】
以上より、本実施形態にかかる動き検出装置では、参照画像メモリ４において、動き検出を行うたびに探索用バンクメモリ１４および予備転送用バンクメモリ２４の割り当てを変更することができる。参照画像メモリにおいて探索用バンクメモリおよび予備転送用バンクメモリの割り当てが決められている場合には、画像のデータを予備転送用バンクメモリから探索用バンクメモリへ転送させる必要がある。しかし、本実施形態では、画像を予備転送用バンクメモリから探索用バンクメモリへ転送させる必要がないので、動き検出を効率良く行うことができる。また、画像の端に位置する対象マクロブロックの画像に対して動き検出を行う場合においては、画像の外側に位置する参照マクロブロックを探索範囲Ｘに設定しなくてもよい。これにより、動き検出を効率良く行うことができる。
【００６４】
《発明の実施形態３》
実施形態３では、動き検出を行うたびに動き探索範囲を変更できるだけでなく、画像の動きが更に大きい場合には動き探索範囲を拡張させることができる。本実施形態では、上記実施形態１または２にかかる動き検出装置とは異なる点について主に説明する。
【００６５】
図６は、本実施形態にかかる動き検出装置３１の構成図である。本実施形態にかかる動き検出装置３１は、比較部３５および拡張部３７をさらに備えている。
【００６６】
比較部３５には、動きベクトルの設定値ＭＶ（ｍａｘ）が外部端子３２から入力され、動き検出部３８において算出された動きベクトルＭＶ（Ｎ）が入力される。これらが入力されると、比較部３５は、ＭＶ（Ｎ）の大きさとＭＶ（ｍａｘ）とを比較し、比較結果を拡張部３７に入力する。
【００６７】
拡張部３７は、比較部３５での比較結果に基づいて、動き探索範囲の大きさを決定する。具体的には、拡張部３７は、ＭＶ（ｍａｘ）≧ＭＶ（Ｎ）である場合には動き探索範囲を拡張させないが、ＭＶ（Ｎ）＜ＭＶ（ｍａｘ）である場合には動き探索範囲を拡張させるとともに動き探索範囲を拡張させたという情報を参照画像メモリ制御部６および動き検出部３８に入力する。
【００６８】
動き探索範囲を拡張させたという情報が参照画像メモリ制御部６に入力されると、参照画像メモリ制御部６は、動き探索範囲を決定する際にはその範囲を拡張させ、また、システムメモリ２から参照画像メモリ４に転送される画像のデータ量を増加させる。
【００６９】
動き探索範囲を拡張させたという情報が動き検出部３８に入力されると、動き検出部３８は、参照画像メモリ４から動き検出部３８に入力される画像のデータ量を増加させる。
【００７０】
以上より、本実施形態では、上記実施形態１に記載のように動き探索を行うたびに動き探索範囲を変更させることができるだけでなく、画像の動きが大きい場合には動き探索範囲を拡張することができる。よって、上記実施形態１に比べて動き探索の精度をさらに高めることができる。
【００７１】
なお、本実施形態は、以下に示すように構成されていても良い。
【００７２】
例えば、比較部は、ＭＶＸ（ｍａｘ）とＭＶＸ（Ｎ）とを比較し、ＭＶＹ（ｍａｘ）とＭＶＹ（Ｎ）とを比較するように構成されていてもよく、拡張部は、ＭＶＸ（ｍａｘ）＜ＭＶＸ（Ｎ）かつＭＶＹ（ｍａｘ）＜ＭＶＹ（Ｎ）であれば動き探索範囲をＸ方向およびＹ方向の両方向に拡張させ、ＭＶＸ（ｍａｘ）＜ＭＶＸ（Ｎ）かつＭＶＹ（ｍａｘ）＞ＭＶＹ（Ｎ）であれば動き探索範囲をＸ方向にのみ拡張させるように構成されていてもよい。このとき、ＭＶＸ（ｍａｘ）およびＭＶＹ（ｍａｘ）が外部端子から比較部に入力され、ＭＶＸ（Ｎ）およびＭＶＹ（Ｎ）が動き検出部から比較部に入力されることが好ましい。
【００７３】
また、比較部は、動きベクトルの方向を比較するように構成されていても良い。
【００７４】
《発明の実施形態４》
実施形態４では、拡張部での判断手法が上記実施形態３とは異なる。図７は、本実施形態にかかる動き検出装置の構成図である。本実施形態では、上記実施形態３にかかる動き検出装置と異なる点について主に説明する。
【００７５】
本実施形態にかかる動き検出装置４１はカウント部４６をさらに備えており、カウント部４６は１枚の対象フレームを構成する対象マクロブロックのうちＭＶ（ｍａｘ）＜ＭＶ（Ｎ）である対象マクロブロックの個数をカウントする。
【００７６】
具体的には、比較部４５では、動き検出部４８において検出されたＭＶ（Ｎ）の大きさと外部端子４２から入力されたＭＶ（ｍａｘ）の大きさとを比較し、ＭＶ（ｍａｘ）＜ＭＶ（Ｎ）であればカウント部４６でのカウント数（ＣＴ）を１増加させる。
【００７７】
拡張部４７では、カウント部４６から入力されたカウント数（ＣＴ）と外部端子４２から入力されたＣＴ（ｍａｘ）とを比較し、ＣＴ＜ＣＴ（ｍａｘ）であれば動き探索範囲を拡張させないが、ＣＴ＞ＣＴ（ｍａｘ）であれば動き探索範囲を拡張させる。
【００７８】
なお、カウント部は、１列のブロックラインを構成する対象マクロブロックのうちＭＶ（ｍａｘ）＜ＭＶ（Ｎ）である対象マクロブロックの個数をカウントしてもよい。
【００７９】
以上より、本実施形態では、上記実施形態３と略同一の効果を奏する。
【００８０】
《発明の実施形態５》
図８は、実施形態５にかかる動き検出装置の構成図である。本実施形態では、上記実施形態１にかかる動き検出装置と異なる点について主に説明する。
【００８１】
動き検出を行うときには、一般に、動き探索だけでなく、ＤＣＴ（Discrete Cosine Transform）、量子化、逆量子化、逆ＤＣＴ、動き予測および符号化等を同時に行う。よって、各動作には利用可能な時間（設定時間）が設けられている場合が多い。
【００８２】
ところで、例えば上記実施形態３および４にかかる動き検出装置のように動き探索範囲を拡張させると、動き探索に費やされた時間が設定時間を超えてしまう場合がある。動き探索に費やされた時間が設定時間を超えてしまうと動き検出部での動き探索が停止される虞があり、その結果、動き探索の精度が低下してしまう。
【００８３】
そこで、本実施形態にかかる動き検出装置５１は、計測部（図８では、カウンター部と記載）５４をさらに備えている。計測部５４は、動き探索に費やされた時間を計測し、動き検出部５８に計測結果を報告する。
【００８４】
本実施形態における動き検出部５８は、上記実施形態１〜４における動き検出部８，３８，４８の動作に加えて、動き探索に費やされた時間が設定時間を超えているか否かを判断し、動き探索に費やされた時間が設定時間を超えていると判断した場合にはその設定時間を延長させる。これにより、動き探索に費やされた時間が設定時間を超えた場合であっても、動き探索を途中で終了させることなく最後まで実施させることができる。
【００８５】
図９（ａ）〜図９（ｃ）を用いて具体的に示す。図９（ａ）〜図９（ｃ）は動き検出装置での時間の割り当てを模式的に示した図であり、図９（ａ）には例えば上記実施形態３または４にかかる動き検出装置における割り当てを示しており、図９（ｂ）および図９（ｃ）には本実施形態にかかる動き検出装置における時間の割り当てを示している。
【００８６】
なお、図９（ａ）〜（ｃ）においては何れも、「探索範囲」は探索範囲の大きさを意味し、「メモリ転送」、「動き探索」および「ＤＣＴ他」はそれぞれの処理に費やされた時間を意味している。
【００８７】
図９（ａ）では、ステップ２での動き探索に費やされた時間が設定時間５０１を超えている。そのため、動き検出部８は、ステップ３での動き探索を行う時間においてもステップ２での動き探索を行っており、ステップ３の動き探索の精度が低下する虞があるため好ましくない。
【００８８】
一方、図９（ｂ）では、ステップ２での動き探索時間が設定時間５０１を超えているので、動き検出部５８は、設定時間５０１と延長時間５０２とをステップ２における動き探索に割り当てる。これにより、ステップ２での設定時間を延長させることができるので、図９（ａ）の場合と異なりステップ３での動き探索の精度が低下することを抑制できる。
【００８９】
また、図９（ｃ）では、動き検出部５８は、設定時間５０１の２倍の時間５０３を、ステップ２における動き探索に割り当てる。これにより、ステップ２での設定時間を延長させることができる。
【００９０】
以上より、本実施形態では、上記実施形態１に記載のように動き探索を行う度に動き探索範囲を変更させることができるだけでなく、動き探索に費やされた時間が設定時間を超えた場合には、設定時間を延長させその動き探索が終了した後に次の動き探索を行う。そのため、動き探索の中断を防止でき、また、その後に行われる動き探索の動き探索時間の短縮を防止できる。
【００９１】
なお、本実施形態では、動き探索時間が設定時間を超えた場合について示したが、メモリ転送に費やされた時間が設定された時間を超えた場合、または、ＤＣＴなどの他の処理に費やされた時間が設定された時間を超えた場合にも適用することができる。
【００９２】
また、本実施形態では、動き検出部が動き探索時間を延長させるとしたが、動き検出部を制御する制御部が動き探索時間を延長させてもよい。
【００９３】
《発明の実施形態６》
実施形態６では、上記実施形態１〜５の何れかの動き検出装置を備えた集積回路を示す。
【００９４】
図１０は、本実施形態にかかる集積回路（具体的には、ＭＯＳ集積回路）６０のブロック図である。このＭＯＳ集積回路６０では、符号化処理および復号化処理が行われる。
【００９５】
本実施形態にかかるＭＯＳ集積回路６０において符号化処理を行う場合には、映像データが映像入力部６１に入力され、映像入力部６１はＣＰＵ６８の制御により映像データをシステムメモリ制御部６７または画像処理部６２へ転送し、画像処理部６２は映像データの符号化処理を行いその符号化信号を多重分離化部６３に出力する。
【００９６】
また、音声データが音声入力部６５に入力され、音声入力部６５はＣＰＵ６８の制御によりその音声データをシステムメモリ制御部６７または音声処理部６６へ転送し、音声処理部６６は音声データの符号化処理を行ってその音声信号を多重分離化部６３に出力する。
【００９７】
そして、多重分離化部６３では、符号化信号および音声信号が多重化され、多重化信号が符号入出力部６４からＭＯＳ集積回路６０の外（例えば、システムメモリ）に出力される。
【００９８】
ＭＯＳ集積回路６０において復号化処理を行う場合には、多重化された符号データが符号入出力部６４に入力され多重分離化部６３に出力される。多重分離化部６３は、多重化された符号データを映像信号と音声信号とに分離し、映像信号は画像処理部６２に入力され、音声信号は音声処理部６６に入力される。
【００９９】
なお、ＭＯＳ集積回路の構成は、上記記載に限定されない。具体的には、ＭＯＳ集積回路は図１０では上記実施形態１の動き検出装置を備えているとしたが上記実施形態２〜５の動き検出装置の何れかを備えていてもよく、システムメモリはＭＯＳ集積回路内に設けられていても良い。
【０１００】
《発明の実施形態７》
実施形態７では、上記実施形態１〜５の何れの動き検出装置を備えた映像システムを示す。映像システムの具体例として、デジタルスチルカメラの撮像システムを挙げて示す。
【０１０１】
図１１は、本実施形態にかかるデジタルスチルカメラの撮像システム７０の構成を示すブロック図である。
【０１０２】
本実施形態にかかる撮像システム７０では、画像（光信号）は光学系７１に入射され、センサー７２上に結像されて光電変換され、電気信号となる。この電気信号は、変換回路（Ａ／Ｄ）７３においてデジタル変換された後に、画像処理回路７４に入力される。画像処理回路７４では、Ｙ／Ｃ処理、エッジ処理、画像の拡大縮小、及びＪＰＥＧやＭＰＥＧ等の画像圧縮／伸張処理等が行われる。画像処理された信号は記録系／転送系７５においてメディアへ記録または転送され、記録または転送された信号は再生系７６において再生される。
【０１０３】
ここで、センサー７２および動き検出装置１１は、タイミング制御回路７７により制御されており、光学系７１、記録系／転送系７５、再生系７６およびタイミング制御回路７７は、それぞれ、システム制御回路７８により制御される。
【０１０４】
なお、映像システムの構成は、上記記載に限定されない。具体的には、テレビ等のＡＶ機器の映像（アナログ信号）を入力する場合には、映像システムは光学系およびセンサーを備えていなくてよく、ＡＶ機器の映像はＡ／Ｄ変換回路７３に直接に入力される。
【０１０５】
以上、実施形態１〜５において本発明にかかる動き検出装置を説明したが、本発明にかかる動き検出装置は以下に示す実施形態８〜１１であってもよい。
【０１０６】
《発明の実施形態８》
図１２は、実施形態８にかかる動き検出装置１１１の構成を示す図である。
【０１０７】
本実施形態では、参照画像メモリ１１４は６個のシングルポート型のＳＲＡＭ１１４ａ〜１１４ｆを有しており、ＳＲＡＭは独自に制御可能である。これにより、参照画像メモリ制御部１１６はＳＲＡＭのうち未使用のＳＲＡＭへの電力供給を停止することができるので、動き検出装置１１１での消費電力の低減化を図ることができる。具体的に以下に示す。
【０１０８】
図１２の参照画像メモリ１１４中において示すように動き探索範囲Ｘが３×３であり、参照マクロブロックＲ（Ｎ）に対して同図における左方向を探索中である場合を考える。このとき、参照マクロブロックＲ（Ｎ）よりも右側に存在している参照マクロブロックＲｒの画像は参照されないので、参照画像メモリ制御部１１６は右側のＳＲＡＭ１１４ｄへの電力供給を停止する。これにより、動き検出装置１１１での消費電力の低減化を図ることができる。
【０１０９】
なお、図１２において、参照画像メモリのＳＲＡＭは１×５としたが、１×１であってもよく、５×１であってもよい。ＳＲＡＭが１×１である場合、参照画像メモリ制御部は参照画像メモリをさらに細かく制御できるので、消費電力をさらに低減させることができる。
【０１１０】
《発明の実施形態９》
図１３は、実施形態９にかかる動き検出装置１３１の構成を示す図である。
【０１１１】
本実施形態では、動き検出部１３８は縮小部１３３，１３４を備えている。縮小部（第１縮小部）１３３は、Ｎ番目の対象マクロブロックの画像に対して動き検出を行う場合にはＮ番目の対象マクロブロックの画像を縮小する。縮小部（第２縮小部）１３４は、動き探索範囲内に存在する画像を縮小する。これにより、動き探索に費やされる時間を短縮することができる。
【０１１２】
なお、縮小部は動き検出部内に設けられているとしたが、動き検出部の外に設けられていても良い。
【０１１３】
《発明の実施形態１０》
実施形態１０では、動き探索の転送量を割り当てる方法を説明する。
【０１１４】
上記実施形態５で示したように動き検出装置では、一般に、動き探索と他の処理とを同時に行う。一方、動き探索または他の処理を行うためにはデータを転送させる場合があるが、その転送量には上限があり、転送許容量を動き探索と他の処理とで分け合って高速で処理を行うことができるように構成されている。以下では、システムメモリの転送許容量に対して動き探索に使用可能な転送量の割り当て方法を記載する。
【０１１５】
一例としては、システムメモリの最大バンド幅ＢＷ（ｍａｘ）は、メモリの周波数をＦとしバス幅をＷとしたときには、ＢＷ（ｍａｘ）＝Ｆ×Ｗで与えられる。ここで、動き検出部は、最大バンド幅ＢＷ（ｍａｘ）を知っており、他の処理に必要なバンド幅と合計してＢＷ（ｍａｘ）を超えない範囲で、動き探索に必要なバンド幅を割り当てる。
【０１１６】
別の一例としては、｛（動き探索に必要なバンド幅）＋（他の処理に必要なバンド幅）｝＜ＢＷ（ｍａｘ）である場合には、動き検出部は、余剰のバンド幅を動き探索に割り当て、上記実施形態３または４に記載した方法に従って動き探索範囲を拡張させる。
【０１１７】
《発明の実施形態１１》
実施形態１１では、動き検出装置の外部から入力された信号に基づいて、動き探索範囲の拡張の要否を判断する。
【０１１８】
一例としては、図１４に示すように、カメラ信号処理部１６２の手ぶれ検出部１６４から入力された情報（Ｅｘｔ）に基づいて、画像符号化装置１６３の判断部１６７が動き探索範囲の拡張の要否を判断し、判断部１６７が拡張要と判断した場合には動き検出装置１１は動き探索範囲を拡張し、判断部１６７が拡張不要と判断した場合には動き検出装置１１は動き探索範囲を拡張しない。
【０１１９】
ここで、カメラ信号処理部１６２は、デジタルカメラまたはビデオカメラなどに内蔵されている。また、撮影者がカメラ本体を操作して被写体の映像を取り込むときに手ぶれが発生すると、被写体の位置などが連続する２フレームの間では相異なる。手ぶれ検出部１６４では手ぶれに起因する被写体の位置変動が検出され、その結果、被写体の位置変動に関する情報（Ｅｘｔ）を得ることができる。
【０１２０】
別の例としては、図１５に示すように、動き検出装置１７１には制御部１７３が設けられており、制御部１７３にはスイッチ１７４が設けられている。スイッチ１７４では通常モード１７４ａと拡張モード１７４ｂとが切り替え可能に構成されている。例えば、通常モード１７４ａから拡張モード１７４ｂに切り替えられると、動き検出部１７８は動き探索範囲を拡張させる。逆に、拡張モード１７４ｂから通常モード１７４ａに切り替えられると、動き検出部１７８は動き探索範囲を拡張前の大きさに戻す。
【０１２１】
さらに別の例としては、不図示であるが、動き検出部は、ユーザなどが要求する画像の性能（「要求された画像の性能」という）がシステムが保有する画像の性能に比べて高いか否かを判断し、要求された画像の性能がシステムの画像の性能よりも低い場合には動き探索範囲を拡張させないが、要求された画像の性能がシステムの画像の性能よりも高い場合には動き探索範囲を拡張させる。
【産業上の利用可能性】
【０１２２】
本発明では、対象マクロブロックの画像に対して動きベクトルを検出するたびに動き探索範囲を設定するので、短時間且つ高精度の動き検出を可能にできる。そのため、本発明は、動画を圧縮する際に用いられる動き検出装置または動き検出装置を備えた映像システムとして応用できる。
【図面の簡単な説明】
【０１２３】
【図１】実施形態１にかかる動き検出装置の構成を示すブロック図である。
【図２】（ａ）および（ｂ）は、動き探索範囲の決定方法を説明する説明図である。
【図３】（ａ）〜（ｈ）は、動き探索範囲の決定方法を説明する説明図である。
【図４】（ａ）〜（ｄ）は、実施形態１における動き補償を説明するための図である。
【図５】（ａ）〜（ｐ）は、実施形態２にかかる動き検出装置での動作を説明する図である。
【図６】実施形態３にかかる動き検出装置の構成を示すブロック図である。
【図７】実施形態４にかかる動き検出装置の構成を示すブロック図である。
【図８】実施形態５にかかる動き検出装置の構成を示すブロック図である。
【図９】（ａ）〜（ｃ）は、実施形態５にかかる動き検出装置での動作を説明するための図である。
【図１０】実施形態６にかかるＭＯＳ集積回路の構成を示すブロック図である。
【図１１】実施形態７にかかる映像システムの構成を示すブロック図である。
【図１２】実施形態８にかかる動き検出装置の構成を示すブロック図である。
【図１３】実施形態９にかかる動き検出装置の構成を示すブロック図である。
【図１４】実施形態１１の一例にかかる動き検出装置の構成を示すブロック図である。
【図１５】実施形態１１の別の一例にかかる動き検出装置の構成を示すブロック図である。
【図１６】（ａ）〜（ｄ）は、従来の動き補償を説明するための図である。
【符号の説明】
【０１２４】
３    対象画像メモリ部
４，１１４    参照画像メモリ部
６，１１６    参照画像メモリ制御部
８，３８，４８，５８，８，１３８，１７８    動き検出部
１１，３１，４１，５１，１１１，１３１，１７１    動き検出装置
３５，４５    比較部
３７，４７    拡張部
４６    カウント部
５４    カウンター部
６０    ＭＯＳ集積装置
７０    映像システム
７３    変換回路（Ａ／Ｄ）
１３３    縮小部（第１縮小部）
１３４    縮小部（第２縮小部）
１７４    スイッチ
１７４ａ    通常モード
１７４ｂ    拡張モード
【図１】
2008136177.tif 000004
【図２】
2008136177.tif 000005
【図３】
2008136177.tif 000006
【図４】
2008136177.tif 000007
【図５】
2008136177.tif 000008
【図６】
2008136177.tif 000009
【図７】
2008136177.tif 000010
【図８】
2008136177.tif 000011
【図９】
2008136177.tif 000012
【図１０】
2008136177.tif 000013
【図１１】
2008136177.tif 000014
【図１２】
2008136177.tif 000015
【図１３】
2008136177.tif 000016
【図１４】
2008136177.tif 000017
【図１５】
2008136177.tif 000018
【図１６】
2008136177.tif 000019