(57)【要約】【課題】  適切な参照マクロブロックの探索による符号化効率を向上させつつ、所定の時間内に確実に符号化処理を完了させる。【解決手段】  動きベクトル検出部１１１は、処理対象マクロブロックと参照フレーム内のマクロブロックとの各画素の画素データの差分の合計値を求め、その合計値が所定の閾値以下となるような参照マクロブロック、および動きベクトルを求める。フレーム内時刻経過管理部１１２は、符号化処理の開始からの時間を計測し、動き検出処理時刻管理部１１３は、各処理対象マクロブロックについての動きベクトル検出時間（探索時間）を割り当てて、上記差分の合計値が閾値以下になる参照マクロブロックが見つからなくても割り当て時間になると探索処理を終了させる。その場合、動きベクトル検出部１１１はそれまでの探索範囲で差分の合計値が最小になるマクロブロックを探索結果とする。【選択図】図１
2005229404.tif 000002
【特許請求の範囲】
【請求項１】
フレーム間で画素ブロック内の画素データの差分に基づいて動画データを符号化する動画符号化装置であって、
符号化対象フレームにおける対象画素ブロックごとに、参照フレームにおける画素ブロックのうち、互いに対応する各画素データの差分の合計値が所定の閾値よりも小さい参照画素ブロックを探索する探索手段と、
上記探索手段による各対象画素ブロックについての探索に割り当てられる割り当て時間を設定する探索時間設定手段と、
上記探索手段による探索時間が上記割り当て時間に達した時点で探索を停止させる探索時間制御手段と、
を備え、
上記探索手段は、上記探索時間制御手段の制御によって探索を停止した場合に、既に探索された画素ブロックのうちで上記差分の合計値が最も小さい画素ブロックを探索結果の参照画素ブロックとするように構成されるとともに、
上記探索時間設定手段は、上記割り当て時間内に上記差分の合計値が所定の閾値よりも小さい参照画素ブロックが探索された場合に、上記割り当て時間と探索に要した時間との差の時間を他の対象画素ブロックについての探索に割り当てるように構成されていることを特徴とする動画符号化装置。
【請求項２】
請求項１の動画符号化装置であって、
さらに、各対象画素ブロックごとに画像の動きの大きさを予測する動き予測手段を備え、
上記探索時間設定手段は、上記動き予測に応じて、各対象画素ブロックごとの割り当て時間を設定するように構成されていることを特徴とする動画符号化装置。
【請求項３】
請求項２の動画符号化装置であって、
上記動き予測手段は、対象画素ブロックまたは上記対象画素ブロックに対応する所定の大きさの動き予測用画素ブロック内の画素データの合計値と、参照フレームにおける上記対象画素ブロックまたは上記動き予測用画素ブロックに対応する位置の画素ブロック内の画素データの合計値との差を上記動きの大きさを示す動き予測値として求め、
上記探索時間設定手段は、上記予測値が小さい対象画素ブロックよりも大きい対象画素ブロックに割り当てる割り当て時間を長くするように構成されていることを特徴とする動画符号化装置。
【請求項４】
請求項１の動画符号化装置であって、
さらに、各対象画素ブロックまたは上記対象画素ブロックに対応する所定の大きさの空間周波数成分算出用画素ブロックにおける所定の空間周波数成分の大きさを求める空間周波数成分算出手段を備え、
上記探索時間設定手段は、上記所定の空間周波数成分の大きさに応じて、各対象画素ブロックごとの割り当て時間を設定するように構成されていることを特徴とする動画符号化装置。
【請求項５】
請求項４の動画符号化装置であって、
上記探索時間設定手段は、所定の高域空間周波数成分の大きさが小さい対象画素ブロックよりも大きい対象画素ブロックに割り当てる割り当て時間を長くするように構成されていることを特徴とする動画符号化装置。
【請求項６】
請求項３および請求項５のうちのいずれか１項の動画符号化装置であって、
上記探索時間設定手段は、上記動き予測値または上記高域空間周波数成分の大きさが所定の閾値と比べて小さい対象画素ブロックよりも大きい対象画素ブロックに割り当てる割り当て時間を長くするように構成されていることを特徴とする動画符号化装置。
【請求項７】
請求項１の動画符号化装置であって、
さらに、符号化対象フレームにおける周辺部の対象画素ブロックと内部側の対象画素ブロックとを判別する画素ブロック位置判別手段を備え、
上記探索時間設定手段は、周辺部の対象画素ブロックよりも内部側の対象画素ブロックに割り当てる割り当て時間を長くするように構成されていることを特徴とする動画符号化装置。
【請求項８】
請求項１の動画符号化装置であって、
さらに、符号化対象フレームにおける対象画素ブロックの重要度を判別する重要度判別手段を備え、
上記探索時間設定手段は、対象画素ブロックの重要度に応じた情報に基づいて、重要度が低い対象画素ブロックよりも高い対象画素ブロックに割り当てる割り当て時間を長くするように構成されていることを特徴とする動画符号化装置。
【請求項９】
フレーム間で画素ブロック内の画素データの差分に基づいて動画データを符号化する動画符号化方法であって、
符号化対象フレームにおける対象画素ブロックごとに、参照フレームにおける画素ブロックのうち、互いに対応する各画素データの差分の合計値が所定の閾値よりも小さい参照画素ブロックを探索する探索ステップと、
上記探索ステップにおける各対象画素ブロックについての探索に割り当てられる割り当て時間を設定する探索時間設定ステップと、
上記探索ステップでの探索時間が上記割り当て時間に達した時点で探索を停止させる探索時間制御ステップと、
を備え、
上記探索ステップは、上記探索時間制御ステップによる制御によって探索を停止した場合に、既に探索された画素ブロックのうちで上記差分の合計値が最も小さい画素ブロックを探索結果の参照画素ブロックとするとともに、
上記探索時間設定ステップは、上記割り当て時間内に上記差分の合計値が所定の閾値よりも小さい参照画素ブロックが探索された場合に、上記割り当て時間と探索に要した時間との差の時間を他の対象画素ブロックについての探索に割り当てることを特徴とする動画符号化方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、動画データを蓄積等する例えば動画撮影機能を有するディジタルスチルカメラ（ＤＳＣ）や動画撮影機能を有するカメラ内蔵携帯電話などに適用され、動画データをリアルタイムに圧縮等する動画符号化装置および動画符号化方法に関するものである。
【背景技術】
【０００２】
動画データの符号化処理は、通常、マクロブロックと呼ばれる矩形領域の複数の画素データ単位で行われる。また、上記符号化処理は、一般にデータの圧縮率を高めるために、処理対象マクロブロックと先行フレーム内の参照マクロブロックとの各画素データの差分に対して行われる。
【０００３】
上記参照マクロブロックは、動きベクトル検出処理によって求められる。すなわち、先行フレームにおける、処理対象マクロブロックに対応する位置の周辺のマクロブロックについて、処理対象マクロブロックとの各対応する画素データの差分の合計値が算出され、その合計値の最も小さいものが探索される。この探索の対象となるマクロブロックの数が多いほど、すなわち探索回数が多いほど、適切なマクロブロックを探索できる可能性が高くなり、符号化された画像データの容量を小さく抑え得ることになる。そこで、従来より、画像の性質等に応じて探索範囲を適応的に制御する手法が知られている。また、探索範囲を広くすると、演算量が増大することになる。そこで、さらに、飛び越し探索や探索対象の解像度を変更したものによる探索を行うことによって、符号化効率の低下を抑えつつ、演算量をほぼ一定にするようにした技術も知られている（例えば、特許文献１参照）。
【特許文献１】特開平１１−５５６７７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、探索範囲を適切に設定することは必ずしも容易ではなく、したがって、上記のような従来の技術では符号化効率の低下を確実に抑えることができない。
【０００５】
ここで、上記のように所定の探索範囲内で画素データの差分の合計値が最も小さいものを探索するのに代えて、上記合計値が所定の閾値以下になるような参照マクロブロックを探索することが考えられるが、その場合、画像の動きが想定外に大きかったりすると、目的とする参照マクロブロックが見つかるまでの時間が非常に長くなって、１フレーム時間内に符号化処理が完了せずにいわゆる駒落ちが生じてしまうことになる。
【課題を解決するための手段】
【０００６】
本発明は、上記の転に鑑み、所定の時間内に確実に符号化処理を完了させ、しかも、適切な参照マクロブロックを探索して符号化効率を向上させることを目的としている。
【０００７】
上記の目的を達成するため、請求項１の発明は、
フレーム間で画素ブロック内の画素データの差分に基づいて動画データを符号化する動画符号化装置であって、
符号化対象フレームにおける対象画素ブロックごとに、参照フレームにおける画素ブロックのうち、互いに対応する各画素データの差分の合計値が所定の閾値よりも小さい参照画素ブロックを探索する探索手段と、
上記探索手段による各対象画素ブロックについての探索に割り当てられる割り当て時間を設定する探索時間設定手段と、
上記探索手段による探索時間が上記割り当て時間に達した時点で探索を停止させる探索時間制御手段と、
を備え、
上記探索手段は、上記探索時間制御手段の制御によって探索を停止した場合に、既に探索された画素ブロックのうちで上記差分の合計値が最も小さい画素ブロックを探索結果の参照画素ブロックとするように構成されるとともに、
上記探索時間設定手段は、上記割り当て時間内に上記差分の合計値が所定の閾値よりも小さい参照画素ブロックが探索された場合に、上記割り当て時間と探索に要した時間との差の時間を他の対象画素ブロックについての探索に割り当てるように構成されていることを特徴とする。
【０００８】
これにより、上記画素データの差分の合計値が閾値よりも小さい参照画素ブロックが探索されなくても、所定の時間で探索処理が停止される。それゆえ、所定の時間内に確実に符号化処理が完了する。しかも、割り当て時間内に探索が終了した対象画素ブロックがあった場合には、上記他の対象画素ブロックについての探索時間が長くなるので、より適切な参照画素ブロックを求められる可能性が高くなる。
【０００９】
また、請求項２の発明は、
請求項１の動画符号化装置であって、
さらに、各対象画素ブロックごとに画像の動きの大きさを予測する動き予測手段を備え、
上記探索時間設定手段は、上記動き予測に応じて、各対象画素ブロックごとの割り当て時間を設定するように構成されていることを特徴とする。
【００１０】
また、請求項３の発明は、
請求項２の動画符号化装置であって、
上記動き予測手段は、対象画素ブロックまたは上記対象画素ブロックに対応する所定の大きさの動き予測用画素ブロック内の画素データの合計値と、参照フレームにおける上記対象画素ブロックまたは上記動き予測用画素ブロックに対応する位置の画素ブロック内の画素データの合計値との差を上記動きの大きさを示す動き予測値として求め、
上記探索時間設定手段は、上記予測値が小さい対象画素ブロックよりも大きい対象画素ブロックに割り当てる割り当て時間を長くするように構成されていることを特徴とする。
【００１１】
また、請求項４の発明は、
請求項１の動画符号化装置であって、
さらに、各対象画素ブロックまたは上記対象画素ブロックに対応する所定の大きさの空間周波数成分算出用画素ブロックにおける所定の空間周波数成分の大きさを求める空間周波数成分算出手段を備え、
上記探索時間設定手段は、上記所定の空間周波数成分の大きさに応じて、各対象画素ブロックごとの割り当て時間を設定するように構成されていることを特徴とする。
【００１２】
また、請求項５の発明は、
請求項４の動画符号化装置であって、
上記探索時間設定手段は、所定の高域空間周波数成分の大きさが小さい対象画素ブロックよりも大きい対象画素ブロックに割り当てる割り当て時間を長くするように構成されていることを特徴とする。
【００１３】
また、請求項６の発明は、
請求項３および請求項５のうちのいずれか１項の動画符号化装置であって、
上記探索時間設定手段は、上記動き予測値または上記高域空間周波数成分の大きさが所定の閾値と比べて小さい対象画素ブロックよりも大きい対象画素ブロックに割り当てる割り当て時間を長くするように構成されていることを特徴とする。
【００１４】
これらにより、画像の動きの大きさや所定の空間周波数成分の大きさに応じて、すなわち例えば動きが大きい画素ブロックほど、また、高域空間周波数成分の大きさが大きいほど探索時間が長くなり、より適切な参照画素ブロックを求められる可能性が高くなる。
【００１５】
また、請求項７の発明は、
請求項１の動画符号化装置であって、
さらに、符号化対象フレームにおける周辺部の対象画素ブロックと内部側の対象画素ブロックとを判別する画素ブロック位置判別手段を備え、
上記探索時間設定手段は、周辺部の対象画素ブロックよりも内部側の対象画素ブロックに割り当てる割り当て時間を長くするように構成されていることを特徴とする。
【００１６】
また、請求項８の発明は、
請求項１の動画符号化装置であって、
さらに、符号化対象フレームにおける対象画素ブロックの重要度を判別する重要度判別手段を備え、
上記探索時間設定手段は、対象画素ブロックの重要度に応じた情報に基づいて、重要度が低い対象画素ブロックよりも高い対象画素ブロックに割り当てる割り当て時間を長くするように構成されていることを特徴とする。
【００１７】
これらによっても、対象画素ブロックの重要度等に応じて適切な参照画素ブロックを求められる可能性が高くなる。
【００１８】
また、請求項９の発明は、
フレーム間で画素ブロック内の画素データの差分に基づいて動画データを符号化する動画符号化方法であって、
符号化対象フレームにおける対象画素ブロックごとに、参照フレームにおける画素ブロックのうち、互いに対応する各画素データの差分の合計値が所定の閾値よりも小さい参照画素ブロックを探索する探索ステップと、
上記探索ステップにおける各対象画素ブロックについての探索に割り当てられる割り当て時間を設定する探索時間設定ステップと、
上記探索ステップでの探索時間が上記割り当て時間に達した時点で探索を停止させる探索時間制御ステップと、
を備え、
上記探索ステップは、上記探索時間制御ステップによる制御によって探索を停止した場合に、既に探索された画素ブロックのうちで上記差分の合計値が最も小さい画素ブロックを探索結果の参照画素ブロックとするとともに、
上記探索時間設定ステップは、上記割り当て時間内に上記差分の合計値が所定の閾値よりも小さい参照画素ブロックが探索された場合に、上記割り当て時間と探索に要した時間との差の時間を他の対象画素ブロックについての探索に割り当てることを特徴とする。
【００１９】
これによっても、やはり、上記画素データの差分の合計値が閾値よりも小さい参照画素ブロックが探索されなくても、所定の時間で探索処理が停止され、所定の時間内に確実に符号化処理が完了するとともに、割り当て時間内に探索が終了した対象画素ブロックがあった場合には、上記他の対象画素ブロックについての探索時間が長くなるので、より適切な参照画素ブロックを求められる可能性が高くなる。
【発明の効果】
【００２０】
本発明によれば、適切な参照マクロブロックを探索して符号化効率を向上させることが容易にでき、しかも、所定の時間内に確実に符号化処理を完了させ得るようにすることができる。
【発明を実施するための最良の形態】
【００２１】
以下、本発明の実施形態を図面に基づいて詳細に説明する。
【００２２】
《発明の実施形態１》
本実施形態の動画符号化装置では、動画データの符号化処理は、マクロブロック（画素ブロック）と呼ばれる矩形領域の複数の画素データ単位で行われる。また、上記符号化処理では、符号量を削減するために、いわゆるフレーム間予測符号化が行われる。すなわち処理対象フレーム内の処理対象マクロブロックと先行する参照フレーム内の参照マクロブロックとの各画素データの差分に対して符号化処理が行われる。ただし、最初のフレームに関しては参照フレームがないので、いわゆるフレーム内符号化が行われる。
【００２３】
この動画符号化装置は、例えば図１に示すように、入力画像バッファ１０１、予測誤差画像生成部１０２、ＤＣＴ処理部１０３（離散コサイン変換処理部）、量子化処理部１０４、可変長符号化処理部１０５、逆量子化処理部１０６、逆ＤＣＴ処理部１０７、参照画像生成部１０８、参照画像格納部１０９、動き検索用バッファ１１０、動きベクトル検出部１１１、フレーム内時刻経過管理部１１２、および動き検出処理時刻管理部１１３を備えて構成されている。
【００２４】
上記入力画像バッファ１０１は、動画符号化装置の外部の固体撮像装置等から入力される画素ごとの画像データ、具体的には例えば輝度データおよび色差データを一旦保持するものである。
【００２５】
予測誤差画像生成部１０２は、２つ目以降のフレームの符号化が行われる場合に、入力画像バッファ１０１から例えば動きベクトル検出部１１１を介して入力される処理対象マクロブロックの各画素の画素データと、動き検索用バッファ１１０から入力される参照マクロブロックの各画素の画素データとの差分を求めて、予測誤差画像データを生成するものである。上記参照マクロブロックは、参照フレームにおける上記処理対象マクロブロックに対応する位置から、後述するように動きベクトル検出部１１１によって求められた動きベクトルだけずれた位置のマクロブロックである。
【００２６】
ＤＣＴ処理部１０３、および量子化処理部１０４は、入力画像バッファ１０１から入力される画像データ（１フレーム目の場合）、または予測誤差画像生成部１０２から入力される予測誤差画像データ（２フレーム目以降の場合）に対して、空間周波数成分への変換および量子化処理を行うものである。量子化処理部１０４から出力される画像データは、可変長符号化処理部１０５および逆量子化処理部１０６に入力されるようになっている。
【００２７】
可変長符号化処理部１０５は、可変長符号化処理、すなわち冗長な情報が除去されて、より情報量の削減された符号化データを生成するものである。この符号化データは、例えば図示しない記録部によって記録媒体に記録される。
【００２８】
逆量子化処理部１０６、および逆ＤＣＴ処理部１０７は、量子化処理部１０４から出力される画像データに対して、逆量子化処理、および逆ＤＣＴ処理を行うものである。
【００２９】
参照画像生成部１０８は、１フレーム目について逆ＤＣＴ処理部１０７から出力される画像データはそのまま出力する一方、２フレーム目以降について逆ＤＣＴ処理部１０７から出力されるのは予測誤差画像データなので、動き検索用バッファ１１０に保持されている先行する参照フレームの画像データと加算し、現フレームの画像データに戻して出力するものである。
【００３０】
参照画像格納部１０９は、上記参照画像生成部１０８から出力される画像データを次のフレームの処理についての参照フレームの画像データとして格納するものである。この格納は、各処理対象マクロブロックの位置に対応する領域に行われる。
【００３１】
動き検索用バッファ１１０は、参照画像格納部１０９に格納されている画像データを前記予測誤差画像生成部１０２による予測誤差画像データ生成のために保持するものである。
【００３２】
動きベクトル検出部１１１は、予測符号化による情報量の低減効果が大きくなるような参照マクロブロックを求めるようになっている。すなわち、処理対象マクロブロックの各画素の画素データと、参照フレーム内のマクロブロックの各画素の画素データとの差分の合計値を求めて、その合計値があらかじめ設定された所定の閾値以下、または最小となるような参照マクロブロックを求め、これと処理対象マクロブロックとの相対位置関係を示す動きベクトルを求めるようになっている。なお、特に限定はされないが、例えば上記動きベクトルは輝度データに基づいて行われ、得られた動きベクトルは、輝度データおよび色差データの予測誤差画像を生成する際に共通に用いられる。
【００３３】
フレーム内時刻経過管理部１１２は、各フレームについての符号化処理が開始されてから経過した時間を計測し、動き検出処理時刻管理部１１３に伝えるようになっている。
【００３４】
動き検出処理時刻管理部１１３は、各処理対象マクロブロックについての動きベクトル検出時間（探索時間）を割り当て、制御するようになっている。
【００３５】
上記のように構成された動画符号化装置では、符号化処理自体（予測誤差画像の生成や可変長符号化処理等）は、一般的な動画符号化装置と同様であるが、動きベクトルを求めるための参照フレーム内のマクロブロックの探索範囲が以下のように制御される点が大きく異なっている。すなわち、動きベクトル検出部１１１による参照フレーム内のマクロブロックの探索は、例えば図２に示すように、割り当てられた時間が経過した場合や、処理対象マクロブロックと参照フレーム内のマクロブロックの各画素の差分の合計値が所定の閾値以下になった場合、または参照フレーム内のマクロブロックの探索回数が所定の回数を上回った場合に、停止されるようになっている。具体的には、例えば図３に示すような動作が行われる。
【００３６】
（Ｓ１０１）  フレーム内時刻経過管理部１１２は、各フレームについての動きベクトル検出処理が開始されるごとに、処理が開始されてからの経過時間Ｆｌａｍｅ＿Ｃｌｋ［ｓｅｃ］を示す経過時間カウンタを初期化し、経過時間のカウントアップを開始する。
【００３７】
（Ｓ１０２）  また、動き検出処理時刻管理部１１３は、例えば外部より与えられたフレームレートＦｌａｍｅ［ｆｐｓ］から、１フレーム分の処理が行われるべき時間Ｆｌａｍｅ＿ＥｎｄＣｌｋ［ｓｅｃ］、および１つの処理対象マクロブロックについての処理に割り当てられる時間ＭＢ＿ｔｉｍｅ［ｓｅｃ］を以下のように求める。
【００３８】
Ｆｌａｍｅ＿ＥｎｄＣｌｋ［ｓｅｃ］  ＝  １［ｓｅｃ］／Ｆｌａｍｅ［ｆｐｓ］
ＭＢ＿ｔｉｍｅ［ｓｅｃ］  ＝  Ｆｌａｍｅ＿ＥｎｄＣｌｋ［ｓｅｃ］／Ｎ
ここで、Ｎは、１つのフレームを構成するマクロブロックの数である。なお、これらの値の算出は、最初のフレームについての処理が開始される前に１回だけ行われるようにしてもよい。また、説明の便宜上、一旦１フレーム分の処理が行われるべき時間Ｆｌａｍｅ＿ＥｎｄＣｌｋが求められる例を示したが、直接、処理対象マクロブロックへの割り当て時間を１／（Ｆｌａｍｅ×Ｎ）として求めるなどしてもよい。
【００３９】
（Ｓ１０３）  各処理対象マクロブロックについての動きベクトル検出処理が開始されるごとに、その処理が終了すべき時刻が求められる。具体的には、処理される処理対象マクロブロックが同一のフレーム内でｋ番目（ｋ＝０、１、…、Ｎ−１）だとすると、動きベクトル検出処理終了時刻ＭＢ＿ＥｎｄＣｌｋ［ｓｅｃ］が以下のように更新される。
【００４０】
ＭＢ＿ＥｎｄＣｌｋ［ｓｅｃ］  ＝  ＭＢ＿ｔｉｍｅ×（ｋ＋１）
なお、上記のような値に更新されるのに代えて、元の（１つ前の処理対象マクロブロックについての）終了時刻ＭＢ＿ＥｎｄＣｌｋにＭＢ＿ｔｉｍｅが加算されるようにしてもよい。また、各処理対象マクロブロックについての動きベクトル検出処理が開始されるごとに、経過時間カウンタを初期化するようにして、その値がＭＢ＿ｔｉｍｅ（さらに必要に応じて、以前の処理対象マクロブロックについての余剰時間がある場合にはこれを加算した時間）に達したかどうかが判定されるようにしてもよい。
【００４１】
（Ｓ１０４）  また、後述する（割り当てられた一定時間が経過した場合に停止させる）停止判定処理の開始要求がなされるとともに、動きベクトル検出部１１１による動きベクトル検出処理が開始される。
【００４２】
すなわち、まず、参照画像格納部１０９から、参照フレームにおける、少なくとも処理対象マクロブロックに対応する位置およびその周辺のマクロブロックの各画素の輝度データが読み出されて動き検索用バッファ１１０に保持される。動きベクトル検出部１１１は、入力画像バッファ１０１に保持されている処理対象マクロブロックの各画素の輝度データと動き検索用バッファ１１０に保持されている参照フレームにおけるマクロブロックの各画素の輝度データとの差分の合計値を求め、その合計値が所定の閾値以下になるまで、参照フレームにおける他のマクロブロックについて同様の処理を繰り返す。
【００４３】
（Ｓ１０５）  例えば主に動き検出処理時刻管理部１１３によって、上記のように差分の合計値があらかじめ設定された所定の閾値以下になったか、または停止判定処理による動きベクトル検出処理の停止がなされたか、または探索回数（処理対象マクロブロックと参照フレーム内のマクロブロックとの比較回数）が所定の回数を上回ったかの判定が繰り返され、いずれかの場合に、動きベクトル検出部１１１による探索動作が停止される。
【００４４】
動きベクトル検出部１１１では、上記差分の合計値が所定の閾値以下になった場合には、その際の参照フレーム内のマクロブロックが参照マクロブロックとされる一方、停止判定処理による動きベクトル検出処理の停止が行われるか、または探索回数が所定の回数を上回った場合には、それまでに求められた差分の合計値が最も小さいマクロブロックが参照マクロブロックとされ、これらの参照マクロブロックの処理対象マクロブロックに対する相対位置が動きベクトルとして求められる。
【００４５】
なお、参照フレーム内の１つのマクロブロックの探索（差分の合計値の算出）に要する時間が一定である場合には、探索に要する時間と探索回数とは比例することになり、探索時間による制御と探索回数による制御とは等価になるので、探索時間に基づく停止判定処理または探索回数に基づく停止判定処理のいずれか一方だけが行われるようにしてもよい。すなわち、実質的に探索時間に基づく制御が行われるようにすればよい。一方、参照フレーム内の１つのマクロブロックの探索に要する時間が一定ではない場合、すなわち例えば探索ごとに、処理対象マクロブロックと参照フレーム内のマクロブロックとで差分処理される画素数が（間引きによって）異なる場合などには、探索時間による制御を行う方が、確実かつ容易に１フレーム時間内に符号化処理を完了させることができる。
【００４６】
（Ｓ１０６）  動き検出処理時刻管理部１１３では、上記いずれかによって動きベクトル検出処理が停止すると、停止判定処理のリセット要求がなされる。
【００４７】
（Ｓ１０７）  処理対象フレーム内の全ての処理対象マクロブロックについての動きベクトル検出処理が終了したかどうかが判定され、終了していなければ、上記（Ｓ１０３）以降が繰り返される一方、終了すれば、（Ｓ１０１）以降が繰り返される。
【００４８】
上記停止判定処理は、上記（Ｓ１０１）〜（Ｓ１０７）と並行して、例えば図４に示すように行われる。
【００４９】
（Ｓ１１１）  前記（Ｓ１０４）による停止判定処理の開始要求があったかどうかの判定が繰り返される。
【００５０】
（Ｓ１１２、Ｓ１１３）  停止判定処理の開始要求があれば、動き検出処理時刻管理部１１３はフレーム内時刻経過管理部１１２の経過時間Ｆｌａｍｅ＿Ｃｌｋを参照し、動きベクトル検出処理終了時刻ＭＢ＿ＥｎｄＣｌｋを経過したかどうかを判定する。上記期間が経過していなければ、前記（Ｓ１０６）による停止判定処理のリセット要求がなされたかどうかを判定し、なされていなければ、（Ｓ１１２）以降を繰り返す一方、なされていれば、（Ｓ１１１）に戻る。すなわち、前記のように動きベクトル検出処理終了時刻ＭＢ＿ＥｎｄＣｌｋを経過していなくても、差分の合計値が所定の閾値以下になった場合、または探索回数が所定の回数を上回った場合には探索が停止され、次の処理対象マクロブロックについての停止判定処理の開始要求を待つようになる。
【００５１】
（Ｓ１１４）  また、上記（Ｓ１１２）で動きベクトル検出処理終了時刻ＭＢ＿ＥｎｄＣｌｋを経過していた場合には、動き検出処理時刻管理部１１３は動きベクトル検出部１１１に停止信号を出力する。この場合には、動きベクトル検出部１１１は、前記のように既に求められた差分の合計値が最も小さいマクロブロックを参照マクロブロックとし、処理対象マクロブロックに対する上記参照マクロブロックの相対位置を動きベクトルとする。
【００５２】
上記のように、処理対象マクロブロックと差分の合計値が所定の閾値以下の参照マクロブロックが見つからない場合でも、割り当てられた探索時間に達した時点で探索処理が停止されることにより、各フレームについての符号化処理を確実に所定の時間内に完了させることができる。しかも、割り当てられた探索時間内に上記のような参照マクロブロックが見つかった場合には、余剰時間（またはその累計時間）の分だけ、その後の処理対象マクロブロックについての探索処理を長く行わせることができるので、より適切な参照マクロブロックが求められる可能性を高くすることができる。
【００５３】
《発明の実施形態２》
割り当て時間内に差分の合計値が閾値以下になった場合などに、余剰時間が後の各処理対象マクロブロックについての探索に割り当てられるようにして、より適切な（類似程度の高い）参照マクロブロックの探索が行われる動画符号化装置について説明する。なお、以下の実施の形態において、前記実施の形態１等と同様の機能を有する構成要素については同一の符号を付して説明を省略する。
【００５４】
実施形態２の動画符号化装置は、図５に示すように、実施形態１（図１）の動画符号化装置と比べて、動き検出処理時刻管理部１１３に代えて動き検出処理時刻管理部２１３を備えている点が異なっている。この動き検出処理時刻管理部２１３は、各処理対象マクロブロックについての動きベクトル検出処理が割り当てられている時間内に終了した場合に、余剰時間（割り当てられた時間と実際に要した時間との差）を同一フレーム内の他の処理対象マクロブロックについての動きベクトル検出処理に分散させて割り当てるようになっている。
【００５５】
すなわち、例えば図６に示すようにｋ−１番目の処理対象マクロブロックについて、割り当てられた時間に応じた動きベクトル検出処理が終了すべき時刻よりも余剰時間Δｔｉｍｅ［ｋ−１］だけ早く終了したとすると、次のｋ番目の処理対象マクロブロックには、上記余剰時間Δｔｉｍｅ［ｋ−１］を残りの処理対象マクロブロックの数（（Ｎ−１）−（ｋ−１）＝Ｎ−ｋ）で割った時間だけ、余剰時間を考慮しない場合の割り当て時間ＭＢ＿ｔｉｍｅに加算した時間、ＭＢ＿ｔｉｍｅ＋Δｔｉｍｅ［ｋ−１］／（Ｎ−ｋ）が割り当てられる（ｋ−２番目までの処理対象マクロブロックには余剰時間が生じなかったとした場合。余剰時間が複数回生じている場合には、累計を加算した時間が割り当てられる。）。
【００５６】
具体的には、図７に示すように、実施形態１（図３）と比べて、（Ｓ１０３）に代えて（Ｓ２０３）の処理が行われ、さらに、（Ｓ２５１）（Ｓ２５２）の処理が行われる。なお、停止判定処理に関しては、実施形態１（図４）と同じである。
【００５７】
（Ｓ２５１）では、最初の処理対象マクロブロックについての処理が開始される前の余剰加算時間Δｔｉｍｅ＿ａｄｄ［０］の値が０に初期化される。
【００５８】
（Ｓ２０３）では、例えばｋ−１番目の処理対象マクロブロックについて、割り当てられた時間に応じて動きベクトル検出処理が終了すべき時刻をＭＢ＿ＥｎｄＣｌｋ［ｋ−１］、実際に処理が終了した時点での経過時間をＦｌａｍｅ＿Ｃｌｋ［ｋ−１］とし、後述するように更新される余剰加算時間をΔｔｉｍｅ＿ａｄｄ［ｋ］とすると、次のｋ番目の処理対象マクロブロックについて動きベクトル検出処理が終了すべき時刻ＭＢ＿ＥｎｄＣｌｋ［ｋ］は、
ＭＢ＿ＥｎｄＣｌｋ［ｋ］  ＝  Ｆｌａｍｅ＿Ｃｌｋ［ｋ−１］＋ＭＢ＿ｔｉｍｅ＋Δｔｉｍｅ＿ａｄｄ［ｋ］に設定される。
【００５９】
（Ｓ２５２）では、ｋ番目の処理対象マクロブロックについて実際に処理が終了した時点での経過時間をＦｌａｍｅ＿Ｃｌｋ［ｋ］とすると、動きベクトル検出処理が終了すべき時刻は上記のようにＭＢ＿ＥｎｄＣｌｋ［ｋ］なので、余剰時間Δｔｉｍｅ［ｋ］は、
Δｔｉｍｅ［ｋ］  ＝  ＭＢ＿ＥｎｄＣｌｋ［ｋ］−Ｆｌａｍｅ＿Ｃｌｋ［ｋ］
となる。そこで、次のｋ＋１番目の処理対象マクロブロックについての余剰加算時間Δｔｉｍｅ＿ａｄｄ［ｋ＋１］は、
Δｔｉｍｅ＿ａｄｄ［ｋ＋１］  ＝  Δｔｉｍｅ＿ａｄｄ［ｋ］＋Δｔｉｍｅ［ｋ］／（Ｎ−ｋ−１）
のように更新される。すなわち、各処理対象マクロブロックについての動きベクトル検出処理が終了した時点での余剰時間の合計が、その後に処理される処理対象マクロブロックについての処理時間に均等に配分される。
【００６０】
上記のように、実施形態１と同様、割り当てられた探索時間に達した時点で探索が停止されることにより、各フレームについての符号化処理を確実に所定の時間内に完了させることができるとともに、割り当てられた探索時間以内に動きベクトル検出処理が終了した場合には、その余剰時間が残りの他の処理対象マクロブロックについての動きベクトル検出処理に配分されて割り当てられるので、より適切な参照マクロブロックおよび精度の高い動きベクトルが求められる可能性を高くすることができる。
【００６１】
《発明の実施形態３》
前記実施形態２では、余剰時間を考慮しない場合の割り当て時間（基準割り当て時間）、および余剰時間を各処理対象マクロブロックに等分に配分して割り当てる例を示したが、これに限らず、画像の動きの大きさに応じて割り当てるようにしてもよい。
【００６２】
実施形態３の動画符号化装置は、図８に示すように、実施形態１（図１）の動画符号化装置と比べて、動き検出処理時刻管理部１１３に代えて動き検出処理時刻管理部３１３を備えるとともに、さらにＲＧＢブロック積算処理部３１４を備えている点が異なっている。
【００６３】
上記ＲＧＢブロック積算処理部３１４は、入力画像バッファ１０１に保持される輝度データおよび色差データがＹＵＶ変換部３２１によって生成される前のＲ、Ｇ、Ｂ（赤、緑、青）データに基づいて、画像の動きの大きさを検出（推定）するようになっている。より詳しくは、処理対象フレーム内の例えば各処理対象マクロブロックごとに、各処理対象マクロブロックを構成する全画素についてのＲ、Ｇ、Ｂデータをそれぞれ合計（または平均）し、例えば処理対象フレームが画像データのｎ番目のフレームだとすると、合計値Ｒｎ、Ｇｎ、Ｂｎを求め、１つ前の（ｎ−１番目の）フレームについて同様にして求められて保持された、各処理対象マクロブロックと同じ位置のマクロブロックについての合計値Ｒｎ−１、Ｇｎ−１、Ｂｎ−１との差分の絶対値ΔＲ、ΔＧ、ΔＢを以下のように求めるようになっている。
【００６４】
ΔＲ  ＝  Ｒｎ−１  −  Ｒｎ
ΔＧ  ＝  Ｇｎ−１  −  Ｇｎ
ΔＢ  ＝  Ｂｎ−１  −  Ｂｎ
また、さらに、上記ΔＲ、ΔＧ、ΔＢが３つとも（または２つ以上、または１つ以上）所定の閾値を越えているかどうかを判定し、越えている処理対象マクロブロックと対応させて、画像の動きが大きい（と推定される）ことを示す動きフラグをセットするようになっている。
【００６５】
ここで、上記のようなＲ、Ｇ、Ｂデータの合計は、処理対象マクロブロックについて求めたものに限らず、処理対象マクロブロックとある程度共通の画素を含む画素ブロックについて求めたものであっても、動きの大きさの指標とすることができる。そこで、例えば、ディジタルカメラにおいて、通常、自動露出制御用に求められる所定の大きさ、形状の（１つまたは複数の）画素ブロック（図９に示すようなベイヤ配列の各色画素から成るＡＥブロック）についてのＲ、Ｇ、Ｂデータの合計を用いるようにしてもよい。この場合には、動画符号化装置に専用のＲＧＢブロック積算処理部３１４を設ける必要がないので、回路規模を低減することが容易にできる。
【００６６】
また、Ｒ、Ｇ、Ｂデータに限らず、ＹＵＶ変換部３２１によって変換された輝度データや色差データなどの画像データに基づいて、同様の演算を行うようにしてもよい。
【００６７】
また、動き検出処理時刻管理部３１３は、上記動きフラグに基づいて、基準割り当て時間、および余剰時間を各処理対象マクロブロックに例えば次のように配分して割り当てるようになっている。
【００６８】
まず、基準割り当て時間について説明すると、実施形態１と同様に、各処理対象マクロブロックに等分に割り当てられる時間をＭＢ＿ｔｉｍｅ［ｓｅｃ］（＝  Ｆｌａｍｅ＿ＥｎｄＣｌｋ［ｓｅｃ］／Ｎ）とし、動きフラグがセットされていない処理対象マクロブロック、およびセットされている処理対象マクロブロックに割り当てられる基準割り当て時間をそれぞれＭＢ＿ｔｉｍｅ＿ｏｆｆ、ＭＢ＿ｔｉｍｅ＿ｏｎとすると、
ＭＢ＿ｔｉｍｅ＿ｏｆｆ  ＝  α×ＭＢ＿ｔｉｍｅ
ＭＢ＿ｔｉｍｅ＿ｏｎ    ＝  ｛（１−α）（Ｎ−Ｎｒｇｂ）／Ｎｒｇｂ＋１｝×ＭＢ＿ｔｉｍｅ
ここで、
αは、あらかじめ定められた０＜α＜１である定数、
Ｎｒｇｂは、処理対象フレーム内のＮ個の処理対象マクロブロックのうち、動きフラグがセットされているものの数である。
【００６９】
すなわち、図１０に示すように、動きフラグがセットされていない処理対象マクロブロックには、全ての処理対象マクロブロックに等分に割り当てる場合のα倍の時間が割り当てられる一方、動きフラグがセットされている処理対象マクロブロックには、残りの時間が等分に割り当てられる。
【００７０】
また、余剰時間の割り当てについては、例えばｋ−１番目の処理対象マクロブロックについての動きベクトル検出処理が終了した際の余剰時間を実施形態１で説明したのと同様にΔｔｉｍｅ［ｋ−１］とし、動きフラグがセットされていない、またはセットされている次のｋ番目の処理対象マクロブロックに割り当てられる余剰加算時間をそれぞれΔｔｉｍｅ＿ａｄｄ＿ｏｆｆ［ｋ］、Δｔｉｍｅ＿ａｄｄ＿ｏｎ［ｋ］とすると、
Δｔｉｍｅ＿ａｄｄ＿ｏｆｆ［ｋ］  ＝  Δｔｉｍｅ＿ａｄｄ＿ｏｆｆ＋β×Δｔｉｍｅ／（Ｎ−ｋ）
Δｔｉｍｅ＿ａｄｄ＿ｏｎ［ｋ］    ＝  Δｔｉｍｅ＿ａｄｄ＿ｏｎ＋Δｔｉｍｅ×｛１−β×（Ｎ−ｋ−Ｎｒｇｂ＿ｒｅｓ）／（Ｎ−ｋ）｝／Ｎｒｇｂ＿ｒｅｓ
ここで、
βは、あらかじめ定められた０＜β＜１である定数、
Ｎｒｇｂ＿ｒｅｓは、未だ動きベクトル検出処理が行われていないＮ−ｋ個の処理対象マクロブロックのうち、動きフラグがセットされているものの数である。
【００７１】
すなわち、基準割り当て時間と同様に、動きフラグがセットされていない未処理の処理対象マクロブロックには、未処理の全ての処理対象マクロブロックに等分に割り当てる場合のβ倍の時間が割り当てられる一方、動きフラグがセットされている未処理の処理対象マクロブロックには、残りの時間が等分に割り当てられる。
【００７２】
そこで、ｋ−１番目の処理対象マクロブロックについての動きベクトル検出処理が終了した時点での経過時間をＦｌａｍｅ＿Ｃｌｋ［ｋ−１］とすると、次のｋ番目の処理対象マクロブロックについて処理が終了すべき時刻ＭＢ＿ＥｎｄＣｌｋ［ｋ］は、
動きフラグがセットされていない処理対象マクロブロックであれば、、
ＭＢ＿ＥｎｄＣｌｋ［ｋ］  ＝  Ｆｌａｍｅ＿Ｃｌｋ［ｋ−１］＋ＭＢ＿ｔｉｍｅ＿ｏｆｆ＋Δｔｉｍｅ＿ａｄｄ＿ｏｎ［ｋ］に設定される一方、
動きフラグがセットされている処理対象マクロブロックであれば、、
ＭＢ＿ＥｎｄＣｌｋ［ｋ］  ＝  Ｆｌａｍｅ＿Ｃｌｋ［ｋ−１］＋ＭＢ＿ｔｉｍｅ＿ｏｎ  ＋Δｔｉｍｅ＿ａｄｄ＿ｏｎ［ｋ］に設定される。
【００７３】
動画動画符号化装置の具体的な処理動作は、図１１に示すように、実施形態２（図７）と比べて、（Ｓ２５１）（Ｓ２０３）に代えて（Ｓ３５１）（Ｓ３０３）の処理が行われ、また、（Ｓ２５２）に代えて（Ｓ３５４）の処理が行われ、さらに、（Ｓ３５２）（Ｓ３５３）の処理が行われる。なお、停止判定処理に関しては、実施形態１（図４）と同じである。
【００７４】
（Ｓ３５１）  実施形態２の（Ｓ２５１）と同様に、最初の処理対象マクロブロックについての処理が開始される前の余剰加算時間Δｔｉｍｅ＿ａｄｄ＿ｏｆｆ［０］、およびΔｔｉｍｅ＿ａｄｄ＿ｏｎ［０］の値が０に初期化される。
【００７５】
（Ｓ３５２）  各処理対象マクロブロックについて、フレーム間でのＲ、Ｇ、Ｂデータの差分ΔＲ、ΔＧ、ΔＢが求められ、その大きさに応じて動きフラグがセットされる。
【００７６】
（Ｓ３５３）  動きフラグがセットされた処理対象マクロブロックの数（Ｎｒｇｂ）がカウントされる。
【００７７】
（Ｓ３０３：Ｓ３０３ａ〜Ｓ３０３ｃ）  処理対象マクロブロックについての動きフラグがセットされているかどうかに応じて、動きベクトル検出処理が終了すべき時刻が設定される。
【００７８】
（Ｓ３５４）  動きベクトル検出処理が終了すべき時刻よりも早く終了した場合には、余剰加算時間Δｔｉｍｅ＿ａｄｄ＿ｏｆｆ［ｋ］、およびΔｔｉｍｅ＿ａｄｄ＿ｏｎ［ｋ］が更新される。
【００７９】
上記のように、画像の動きの大きさに応じて動きベクトル検出処理の割り当て時間が設定されることにより、動きが小さいと推定される処理対象マクロブロックについては短時間に参照マクロブロックが探索される一方、動きが大きいと推定される処理対象マクロブロックについては、割り当て時間が長く設定され、参照フレームの広い範囲に渡って探索が行われるので、より適切な参照マクロブロックが探索される可能性を高くすることができる。
【００８０】
なお、上記の例では、フレーム間でのＲ、Ｇ、Ｂデータの差分ΔＲ、ΔＧ、ΔＢの大きさに基づいて画像の動きの大きさが推定される例を示したが、推定の方法としては上記に限らず、種々の手法を用いることができる。例えば、Ｒ、Ｇ、Ｂデータや輝度データに基づいて得られた１つまたは複数の空間周波数成分の値について、相前後するフレーム間での差分の絶対値を求め、その値が所定の閾値よりも大きい場合に、動きが大きいと推定するなどしてもよい。
【００８１】
また、上記の例では１つ前のフレームについての合計値Ｒｎ−１、Ｇｎ−１、Ｂｎ−１等がＲＧＢブロック積算処理部３１４等に保持される例を示したが、参照画像格納部１０９に保持された画像データが用いられるようにしてもよい。
【００８２】
また、動きベクトル検出処理の割り当て時間の算出方法は、上記に限らず、画像の動きの大きさに応じて設定されるようになっていればよい。具体的には、例えば基準割り当て時間を求めるための定数αと、余剰時間の割り当て時間を求めるための定数βとは同じ定数が用いられるようにしてもよいし、いずれか一方の値を１に設定してもよい（両方の値を１にしたら実施形態２と同じになる。）。さらに、これらの定数α、βを用いるのに代えて、例えば動きフラグがセットされている場合とセットされていない場合との割り当て時間の比率を定数として設定するようにしたりしてもよい。
【００８３】
また、動きの大きさの推定は大きいか小さいかの２段階に限らず、例えば差分ΔＲ、ΔＧ、ΔＢのうちのいくつが閾値以上になるかや、多段階の閾値のうちの何れの閾値以上であるかなどを判定するようにして、割り当てられる時間が多段階に設定されるようにしてもよい。
【００８４】
《発明の実施形態４》
前記実施形態３のように画像の動きの大きさに応じて基準割り当て時間および余剰時間を割り当てるのに代えて、所定の空間周波数成分の大きさに応じて割り当てるようにしてもよい。
【００８５】
実施形態４の動画符号化装置には、図１２に示すように、入力画像バッファ１０１に保持された輝度データに基づいて高域空間周波数成分（例えば少なくとも直流成分以外の周波数成分）の大きさを求めるＡＦブロック処理部４１４が設けられている。上記ＡＦブロック処理部４１４は、より詳しくは、例えば図１３に示すような所定の大きさ、形状の画素ブロック（ＡＦブロック）について、例えば各水平行ごとに空間周波数成分を求め、所定の周波数以上の高域空間周波数成分の大きさの合計が所定の閾値以上である場合に、対応する処理対象マクロブロック（ある程度共通の画素を含む処理対象マクロブロック）に対して、高域空間周波数成分が大きいことを示す高域フラグをセットするようになっている。ここで、上記のような高域空間周波数成分は処理対象マクロブロックごとに求めるようにしてもよいが、例えば、ディジタルカメラにおいて、通常、自動焦点調節に用いられるＡＦブロックについて求めたものを用いる場合には、実施形態３でＲＧＢブロック積算処理部３１４について説明したのと同様に、動画符号化装置に専用のＡＦブロック処理部４１４を設ける必要がないので、回路規模を低減することが容易にできる。
【００８６】
動き検出処理時刻管理部３１３は、実施形態３と同様に、高域フラグがセットされた処理対象マクロブロックの動きベクトル検出処理に対して、セットされていない処理対象マクロブロックよりも長い時間を割り当てるようになっている。具体的には、実施形態３で各処理対象マクロブロックに割り当てられる基準割り当て時間および余剰時間を求める式において、動きフラグがセットされている処理対象マクロブロックの数Ｎｒｇｂ、Ｎｒｇｂ＿ｒｅｓに代えて、上記高域フラグがセットされた処理対象マクロブロックの数Ｎａｆ、Ｎａｆ＿ｒｅｓを用いるようにすればよい。
【００８７】
上記のように動きベクトル検出処理の時間が割り当てられることによって、高域空間周波数成分が大きい処理対象マクロブロックについて、より適切な参照マクロブロックが探索される可能性を高くすることができる。それゆえ、一般に高域空間周波数成分が大きい処理対象マクロブロックは符号量が大きくなりがちなのに対して、参照マクロブロックとの各画素データの差分を小さくして符号量を低減することが容易にできる。また、後述するように符号量が所定以上の処理対象マクロブロックに対して量子化値が大きく設定されて符号量が低減されるような場合に、そのような符号量の低減がなされる処理対象マクロブロックを少なくして画質の低下を抑制することもできる。
【００８８】
《発明の実施形態５》
処理対象マクロブロックがフレームの周辺部に位置しているかどうかに応じて動きベクトル検出処理の時間を割り当てるようにしてもよい。すなわち、通常、フレームの周辺部よりも中央部の方が画像データの重要度が高いので、中央部の処理対象マクロブロックの方が長い時間を割り当て、適切な参照マクロブロックが探索される可能性を高くすることによって、画質の低下が生じにくいようにすることができる。すなわち、一般的に、符号化する１フレームに割り当てられる符号量は、一定であったり目標符号量があらかじめ設定されているため、動きベクトル検出処理の精度が低いと、予測誤差画像生成部１０２での予測誤差画像のデータ量が大きくなり、量子化処理部１０４で、１フレームの目標符号量に抑えるために量子化値が大きく設定され、画質が低下しがちになる。これに対して、中央部の方が長い時間を割り当てて動きベクトル検出処理の精度を高くし、予測誤差画像のデータ量を小さくすることによって、中央部の画質の低下を抑制することができる。
【００８９】
具体的には、例えば図１４に示すように、実施形態３（図８）のＲＧＢブロック積算処理部３１４に代えて画面端検出５１４を設け、Ｒ、Ｇ、Ｂデータについての動きが大きい処理対象マクロブロックの数Ｎｒｇｂ、Ｎｒｇｂ＿ｒｅｓに代えて、フレームの中央部の処理対象マクロブロックの数Ｎｃ、Ｎｃ＿ｒｅｓを用いて割り当て時間を算出し、割り当てるようにすればよい。（なお、定数α、βの設定等に当たっては、フレームの周辺部の処理対象マクロブロックについては探索対象となる参照フレーム内のマクロブロックの数が中央部よりも少ないことを考慮するようにしてもよい。）
また、フレームの中央部か周辺部化に限らず、図１５に示すように、画面端検出５１４に代えて注目ＭＢ検出処理部６１４を設け、フレーム内の注目領域に位置する重要度の高い処理対象マクロブロックに対して、相対的に長い時間が割り当てられるようにしてもよい。すなわち、注目領域に位置する処理対象マクロブロックの数をＮｎｏｔｉｃｅ、Ｎｎｏｔｉｃｅ＿ｒｅｓとして、やはり同様に割り当て時間が算出されて割り当てられるようにすることができる。
【００９０】
上記注目ＭＢ検出処理部６１４としては、具体的には、例えば、ディジタルカメラに用いられているような肌色検出部によって肌色と判断されたマクロブロックは人物であると認識して、注目マクロブロックであると判定するものを用いることができる。また、例えば撮像位置が固定されている監視カメラにおいて、人の動きがあるような廊下付近の注目度の高い部分、およびその他の部分の何れに対応するマクロブロックであるかを示す情報が設定または外部から入力されて、これに基づいて注目マクロブロックを判別するようにしてもよい。
【産業上の利用可能性】
【００９１】
本発明にかかる動画符号化装置は、適切な参照マクロブロックを探索して符号化効率を向上させることが容易にでき、しかも、所定の時間内に確実に符号化処理を完了させ得るようにすることができるという効果を有し、動画データを通信、蓄積、処理等する種々の動画符号化装置等として有用である。
【図面の簡単な説明】
【００９２】
【図１】実施形態１の動画符号化装置の構成を示すブロック図である。
【図２】同、割り当て時間を示す説明図である。
【図３】同、動画符号化装置の動作を示すフローチャートである。
【図４】同、動画符号化装置の動作を示すフローチャートである。
【図５】実施形態２の動画符号化装置の構成を示すブロック図である。
【図６】同、割り当て時間を示す説明図である。
【図７】同、動画符号化装置の動作を示すフローチャートである。
【図８】実施形態３の動画符号化装置の構成を示すブロック図である。
【図９】同、ＡＥブロックの例を示す説明図である。
【図１０】同、割り当て時間を示す説明図である。
【図１１】同、動画符号化装置の動作を示すフローチャートである。
【図１２】実施形態４の動画符号化装置の構成を示すブロック図である。
【図１３】同、ＡＦブロックの例を示す説明図である。
【図１４】実施形態５の動画符号化装置の構成を示すブロック図である。
【図１５】実施形態５の動画符号化装置の他の例の構成を示すブロック図である。
【符号の説明】
【００９３】
１０１      入力画像バッファ
１０２      予測誤差画像生成部
１０３      ＤＣＴ処理部
１０４      量子化処理部
１０５      可変長符号化処理部
１０６      逆量子化処理部
１０７      逆ＤＣＴ処理部
１０８      参照画像生成部
１０９      参照画像格納部
１１０      動き検索用バッファ
１１１      動きベクトル検出部
１１２      フレーム内時刻経過管理部
１１３      動き検出処理時刻管理部
２１３      動き検出処理時刻管理部
３１３      動き検出処理時刻管理部
３１４      ＲＧＢブロック積算処理部
３２１      ＹＵＶ変換部
４１４      ＡＦブロック処理部
５１４      画面端検出
６１４      注目ＭＢ検出処理部
【図１】
2005229404.tif 000003
【図２】
2005229404.tif 000004
【図３】
2005229404.tif 000005
【図４】
2005229404.tif 000006
【図５】
2005229404.tif 000007
【図６】
2005229404.tif 000008
【図７】
2005229404.tif 000009
【図８】
2005229404.tif 000010
【図９】
2005229404.tif 000011
【図１０】
2005229404.tif 000012
【図１１】
2005229404.tif 000013
【図１２】
2005229404.tif 000014
【図１３】
2005229404.tif 000015
【図１４】
2005229404.tif 000016
【図１５】
2005229404.tif 000017