(57)【要約】      （修正有）【課題】ＣＰＵ資源の負荷状態やバッファ量に基づいた負荷状態情報に応じて、最適な符号化処理方法を選択する。【解決手段】ＣＰＵ資源の負荷状態や、画像データのバッファ量に基づいて算出できる負荷状態情報に応じて符号化すべきマクロブロックの符号化処理方法を選択する動画像符号化装置を提案するものである。また、Ｐピクチャの符号化の場合には動きベクトルを検出せずに、イントラ符号化処理方法を、Ｂピクチャの符号化の場合には前後フレームから検出されるべき動きベクトルのうちいずれか一方を検出せずに、前方向予測または後方向予測符号化処理方法を選択可能とする。【選択図】図２
2006197006.tif 000002
【特許請求の範囲】
【請求項１】
カメラから取得する画像データをＭＰＥＧ符号化プログラムを利用して逐次符号化する動画像符号化装置であって、
前記画像データを取得する画像データ取得部と、
ＣＰＵ資源の負荷状態を監視して負荷状態情報を出力するＣＰＵ負荷状態監視部と、
前記負荷状態情報に応じて符号化すべきマクロブロックの符号化処理方法を選択する符号化処理方法選択部と、
前記符号化処理方法選択部にて選択された符号化処理方法に基づいて所定のマクロブロックの符号化を行う符号化部と、
を有する動画像符号化装置。
【請求項２】
前記画像データ取得部が取得したデータを、前記符号化部にて符号化する前に一時格納する画像データバッファ部を有し、
前記ＣＰＵ負荷状態監視部は、前記画像データバッファ部における画像データのバッファ量に基づいて負荷状態情報を算出するバッファ量依存負荷状態情報算出手段を有する
請求項１に記載の動画像符号化装置。
【請求項３】
前記符号化処理方法選択部にて選択可能な符号化処理方法は、
Ｐピクチャの符号化において動きベクトルを検出せずに、イントラ符号化によってマクロブロックの符号化を行う第一動き補償免除符号化処理方法を含む請求項１又は２のいずれか一に記載の動画像符号化装置。
【請求項４】
前記符号化処理方法選択部にて選択可能な符号化処理方法は、
Ｂピクチャの符号化において前後フレームから検出されるべき動きベクトルのうちいずれか一方を検出せずに、前方向予測または後方向予測によって符号化を行う第二動き補償免除符号化処理方法を含む請求項１から３のいずれか一に記載の動画像符号化装置。
【請求項５】
前記ＣＰＵ負荷状態監視部から出力される負荷状態情報に基づいて、１つのフレームを
符号化するに際して動き補償免除符号化処理方法を利用して符号化すべきマクロブロックの個数を算出するための免除マクロブロック個数算出部を有する請求項３又は４に記載の動画像符号化装置。
【請求項６】
前記ＣＰＵ負荷状態監視部から出力される負荷状態情報に基づいて、１つのフレームを符号化するに際して動き補償免除符号化処理方法を利用して符号化すべきマクロブロックとして画像データ中から画像データの領域を選択する領域選択部を有し、
前記領域選択部は、
前記動き補償免除符号化処理をすることにより最も画質劣化が少ないとされる領域を予測する予測手段を有し、
前記予測手段の予測結果に基づいて前記選択を行う請求項３から５のいずれか一に記載の動画像符号化装置。
【請求項７】
前記符号化処理方法選択部は、
第二動き補償免除符号化処理方法を選択した場合に、当該Ｂピクチャとして符号化すべきフレームの前後に位置する符号化されたフレームであるＩ又はＰピクチャから、当該Ｂピクチャまでの時間的距離に応じて前方向予測を利用するか後方向予測を利用するか判断する前後判断手段を有する動画像符号化装置。
【請求項８】
カメラから取得する画像データをＭＰＥＧ符号化プログラムを利用して逐次符号化する動画像符号化装置による動画像符号化方法であって、
画像データを取得する画像データ取得部ステップと、
ＣＰＵ資源の負荷状態を監視して負荷状態情報を出力するＣＰＵ負荷状態監視ステップと、
負荷状態情報に応じて符号化すべきマクロブロックの符号化処理方法を選択する符号化処理方法選択ステップと、
前記符号化処理方法選択ステップにて選択された符号化処理方法に基づいて所定のマクロブロックの符号化を行う符号化ステップと、
からなる動画像符号化方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、動画像符号化装置に関するものである。
【背景技術】
【０００２】
従来の動画像符号化方式では、Ｐピクチャの符号化においては全てのマクロブロックに対して動き補償のためのブロックマッチング処理を行い、またＢピクチャの符号化においては全てのマクロブロックに対して前方向および後ろ方向の動き補償のために２回のブロックマッチング処理を行う（特許文献１参照。）。
【特許文献１】特開平７−９５５８９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、上記手法のように、全てのマクロブロックに対して動き補償のためのブロックマッチング処理を行うこととすると、多くの符号化処理量が必要となる。また、利用可能なＣＰＵ資源の減少により、符号化処理能力が低下した場合には、各フレームの符号化に要する時間が増加し、結果として撮影されたデータを一時格納するバッファがオーバーフローする事態が生じうることが問題となる。
【課題を解決するための手段】
【０００４】
本発明は、かかる実情に鑑み、ＣＰＵ資源の負荷状態を監視して、その負荷状態情報に応じて符号化すべきマクロブロックの符号化処理方法を選択することに特徴を有する動画像符号化装置を提案するものである。このとき、画像データのバッファ量に基づいて負荷状態情報を算出する。このとき、Ｐピクチャの符号化の場合には動きベクトルを検出せずに、イントラ符号化によってマクロブロックの符号化を行う符号化処理方法（第一動き補償免除符号化処理方法）が、またＢピクチャの符号化の場合には前後フレームから検出されるべき動きベクトルのうちいずれか一方を検出せずに、前方向予測または後方向予測によって符号化を行う符号化処理方法（第二動き補償免除符号化処理方法）が選択可能とする。
【０００５】
また、負荷状態情報に基づいて、１つのフレームを符号化するに際して動き補償免除符号化処理方法を利用して符号化すべきマクロブロックの個数を算出する場合もある。動き補償免除マクロブロックの個数に基づいて、次段階での動き補償の有無を判断するための閾値を算出し、符号化処理方法の選択が可能となる。さらに、負荷状態情報に基づいて、動き補償免除符号化マクロブロックとして符号化すべき領域を画像データ中から選択する際に、最も画質劣化が少ないと予測される領域を選択するとしてもよい。さらに、第二動き補償免除符号化処理方法を選択した場合に、当該Ｂピクチャとして符号化すべきフレームの前後に位置する符号化されたフレームであるＩ又はＰピクチャから、当該Ｂピクチャまでの時間的距離に応じて前方向予測を利用するか後方向予測を利用するか判断することができる。
【発明の効果】
【０００６】
以上、説明したように本件発明のいずれか一又は二以上の発明に係る動画像符号化装置は、ＣＰＵ資源の負荷状態やバッファ量に基づいた負荷状態情報に応じて、最適な符号化処理方法が選択されるため、処理時間の遅延、バッファのオーバーフロー等を回避することができる。また、一定のフレームレートを維持しつつ、画像データの符号化を行うことが可能となる。このとき、Ｐピクチャを、動きベクトルを検出せずに、イントラ符号化によってマクロブロックの符号化を行う場合には、動きベクトルを求めるためのブロックマッチング処理を省くことができ、処理負荷の軽減を図れるという効果を有する。さらに、前後フレームから検出されるべき動きベクトルのうちいずれか一方を検出せずに、前方向予測または後方向予測によってＢピクチャの符号化を行う場合には、他方のフレーム分の処理量を減少させることができ、処理負荷の軽減を図れるという効果を有する。
【０００７】
また、負荷状態情報に基づいて、動き補償免除符号化マクロブロックの個数を算出して閾値を算出する場合には、その閾値に基づいて的確に動き補償を免除するか否かを判断できる。また、負荷状態情報に基づいて、動き補償免除符号化マクロブロックとして画像データ中から画像データの領域を選択する際に、最も画質劣化が少ないと予測される領域を選択する場合には、画質劣化が少ないと予想される領域を優先的に動き補償免除符号化処理方法を利用して符号化することで、全体としての画質の劣化を防止することができる。さらに、第二動き補償免除符号化処理方法を選択した場合に、当該Ｂピクチャとして符号化すべきフレームの前後に位置する符号化されたフレームであるＩ又はＰピクチャから、前方向予測を利用するか後方向予測を利用するか判断する際に、当該Ｂピクチャまでの時間的距離に応じて行うことで、その判断が容易にでき、加えて精度の高い予測に基づいて符号化ができる。
【発明を実施するための最良の形態】
【０００８】
以下に、各発明を実施するための最良の形態を説明する。なお、本発明はこれら実施の形態に何ら限定されるものではなく、その要旨を逸脱しない範囲において、種々なる態様で実施しうる。
【０００９】
実施形態１は、主に請求項１、８などについて説明する。  実施形態２は、主に請求項２などについて説明する。  実施形態３は、主に請求項３、４などについて説明する。  実施形態４は、主に請求項５などについて説明する。  実施形態５は、主に請求項６などについて説明する。  実施形態６は、主に請求項７などについて説明する。
【００１０】
<<実施形態１>>
【００１１】
<実施形態１：概要>  実施形態１について説明する。本実施形態は、ＣＰＵ資源の負荷状態を監視して、その負荷状態情報に応じて符号化すべきマクロブロックの符号化処理方法を選択することに特徴を有する動画像符号化装置である。
【００１２】
図１は、本実施形態の概念の一例を示すものである。本実施形態の動画像符号化装置は、カメラから取得する画像データを、ＭＰＥＧ符号化プログラムを利用して逐次符号化する装置である。まず、カメラで撮像した画像データを取得する（１）。次に、動画像符号化装置のＣＰＵ資源の負荷状態を監視して負荷状態情報を出力する（２）。動画像符号化装置が、符号化処理と並行してその他の処理を行う場合には、利用可能なＣＰＵ資源は減少し、符号化処理に要する時間が増加する。このような処理負荷の変動を把握するために、負荷状態情報が出力される。今、バッファへ入力される画像データの占有量と、画像データの符号化処理時間との関係をグラフに示した。グラフの縦軸がバッファのデータ占有量を、横軸が時間を示す。通常の符号化処理では、バッファへ入力される画像データの単位時間当たりの量は一定であるが、Ｉ、Ｐ、Ｂそれぞれのピクチャに応じて符号化処理時間（グラフ下部の帯状部分）が異なる。これに応じて、バッファの画像データの占有量が変化する。例えば、利用可能なＣＰＵ資源が減少し、符号化処理時間が増加した場合（状態ａ）、「ＣＰＵの使用率：４０％」との負荷状態情報が出力される。
【００１３】
このとき、出力された負荷状態情報に応じて符号化すべきマクロブロックの符号化処理方法を選択する（３）。負荷状態情報により、ＣＰＵ資源の負荷が多い場合には処理時間が短い符号化処理方法を選択することが必要となる。先の例で、負荷状態情報に基づいてＣＰＵ資源の負荷が多いと判断された場合、状態ａの後のＰピクチャの符号化において、処理時間が短い符号化処理方法として「Ｐピクチャのイントラ符号化方法」が選択されたものとする。なお、図の例ではピクチャ単位で符号化処理方法を選択する場面を示したが、これに限定されるものではなく、例えばＧＯＰ単位、マクロブロック単位で選択するとしてもよい。最後に、選択された符号化処理方法に基づいて所定のマクロブロックの符号化を行う（４）。画像データは、離散コサイン変換（ＤＣＴ）処理、量子化処理、可変長符号化処理などを経て符号化される。最適な符号化処理方法が選択されることで、図で示すように当該Ｐピクチャの符号化処理時間は、通常のＰピクチャの符号化処理時間よりも短時間となり、処理時間の遅延や、バッファのオーバーフローを回避することができる。
【００１４】
<実施形態１：構成>  本実施形態での機能ブロックの一例を図２に示した。  図２に示す本実施形態の「動画像符号化装置」（０２００）は、「画像データ取得部」（０２０１）と、「ＣＰＵ負荷状態監視部」（０２０２）と、「符号化処理方法選択部」（０２０３）と、「符号化部」（０２０４）を有する。
【００１５】
本件発明の構成要素である各部は、ハードウエア、ソフトウエア、ハードウエアとソフトウエアの両者、のいずれかによって構成される。たとえば、これらを実現する一例として、コンピュータを利用する場合には、ＣＰＵ、メモリ、バス、インターフェイス、周辺装置などから構成されるハードウエアと、これらのハードウエア上にて実行可能なソフトウエアを挙げることができる。  具体的には、メモリ上に展開されたプログラムを順次実行することで、メモリ上のデータや、インターフェイスを介して入力されるデータの加工、蓄積、出力などにより各部の機能が実現される。（本明細書の全体を通じて同様である。）
【００１６】
「動画像符号化装置」（０２００）は、カメラから取得する画像データを、ＭＰＥＧ符号化プログラムを利用して逐次符号化する装置である。具体的には、ビデオカメラ、デジタルカメラ、カメラ機能付携帯電話などが該当するが、必ずしも動画像符号化装置がカメラ部を装備していることは必要ではない。なお、主として符号化処理はソフトウェアにて行う装置が想定され、符号化処理速度はＣＰＵに依存する。
【００１７】
「画像データ取得部」（０２０１）は、カメラからの画像データを取得する。この段階での画像データは符号化処理が行なわれていない非圧縮画像データである。取得された画像データは、バッファなどに一時保持され、後述する符号化部（０２０４）にて符号化処理が行われる。
【００１８】
「ＣＰＵ負荷状態監視部」（０２０２）は、ＣＰＵ資源の負荷状態を監視して負荷状態情報を出力する。「負荷状態情報」は、ＣＰＵ資源の負荷状態についての情報であり、例えば、ＣＰＵの使用率や、ＣＰＵの動作状態に連動するメモリや、バッファなどの使用量などを示す情報が該当する。負荷状態情報は、具体的な数値や、確率の値（例えば、４０％など）そのものの場合もあるし、複数に分けられた段階のうち一の段階を特定するための情報（例えば、５段階評価のうちの３段階目など）である場合もある。バッファの使用量に基づいて負荷状態情報を算出する手法については、実施形態２にて詳述する。動画像符号化装置が、符号化処理と並行してその他の処理を行う場合には、利用可能なＣＰＵ資源は減少し、符号化処理に要する時間が増加する。このような処理負荷の変動を把握するために、負荷状態情報が出力される。
【００１９】
「符号化処理方法選択部」（０２０３）は、前記負荷状態情報に応じて符号化すべきマクロブロックの符号化処理方法を選択する。ＭＰＥＧ符号化画像には、符号化方法の異なるＩピクチャ（イントラ符号化）、Ｐピクチャ（前方向予測符号化）、Ｂピクチャ（双方向予測符号化）の３種類のピクチャから構成される。各ピクチャは、マクロブロック単位で符合化される。Ｉピクチャは、マクロブロック内の画像データのみを用いて符号化（以下、「イントラ符号化」という。）によって生成される。
【００２０】
Ｐピクチャは、イントラ符号化、または、時間的に直前（過去）に位置するＩ、Ｐピクチャからの動き補償による符号化（以下、「前方向予測符号化」という。）によって生成される。動き補償とは、被写体の動き分だけシフトさせる処理のことをいう。具体的には、現在のフレーム（画面）内の特定のブロックと、過去のフレームの同位置のブロック周辺の画素を画素ごとに比較して動きの方向と量（動きベクトル）を求める処理（以下、「ブロックマッチング法」という。）が行われる。
【００２１】
Ｂピクチャは、イントラ符号化、前方向予測符号化、または、時間的に直後（未来）に位置するＩ、Ｐピクチャからの動き補償による符号化（以下、「後方向予測符号化」という。）、直前あるいは直後に位置するＩ、Ｐピクチャのそれぞれからの動き補償による符号化（以下、「双方向予測符号化」という。）によって生成される。
【００２２】
上記のマクロブロックの符号化処理方法のうち、適宜符号化効率のよい方法が選択される。一般的には、マクロブロック内の輝度の分散値と、予測画像との差分の画像データの輝度の平均２乗値と、所定の閾値とを比較して、どの符号化処理方法を選択すべきかが判断されている。しかし、この手法においては、多数の値を算出することが必要となり、さらなる処理時間の遅延を生じうる。そこで、本実施形態では、負荷状態情報により、どの符号化処理方法を選択すべきかを判断する。負荷状態情報により、ＣＰＵ資源の負荷が多い場合には処理時間が短い符号化処理方法を選択することが必要となる。他方、ＣＰＵ資源の負荷が少ない場合には処理時間が短い符号化処理方法でもよいし、処理時間が長い符号化処理方法を選択してもよい。各符号化処理方法については、実施形態３などで詳述する。
【００２３】
「符号化部」（０２０４）は、前記符号化処理方法選択部（０２０３）にて選択された符号化処理方法に基づいて所定のマクロブロックの符号化を行う。前記イントラ符号化による符号化処理方法の場合には、画像データは離散コサイン変換（ＤＣＴ）処理、量子化処理、可変長符号化処理などを経て符号化される。また、前方向予測符号化、または、後方向予測符号化による符号化処理方法の場合には、動き補償によって得られた予測画像データとの差分の画像データに対して、離散コサイン変換（ＤＣＴ）処理、量子化処理、可変長符号化処理などが行われる。また、双方向予測符号化による符号化処理方法の場合には、動き補償によって得られた前後２つの予測画像データとの差分の画像データに対して、離散コサイン変換（ＤＣＴ）処理、量子化処理、可変長符号化処理などが行われる。
【００２４】
<実施形態１：処理の流れ>  図３は、実施形態１での処理の流れの一例を示したものである。まず、カメラからの画像データを取得する（画像データ取得部ステップ  Ｓ０３０１）。次に、ＣＰＵ資源の負荷状態を監視して負荷状態情報を出力する（ＣＰＵ負荷状態監視ステップ  Ｓ０３０２）。その次に、負荷状態情報に応じて符号化すべきマクロブロックの符号化処理方法を選択する（符号化処理方法選択ステップ  Ｓ０３０３）。なお、符号化すべきマクロブロックが属するピクチャに対応する符号化処理方法の中から選択する。Ｉピクチャであれば、イントラ符号化処理方法を選択し、Ｐ、Ｂピクチャであればさらに負荷状態情報に応じてＣＰＵの負荷状態を加味する。Ｐピクチャは、負荷が大きいときにはイントラ符号化処理方法を選択し、負荷が小さいときには前方向予測符号化処理方法を選択する。また、Ｂピクチャは、負荷が大きいときにはイントラ符号化処理方法を選択し、負荷が中程度のときには前方向予測符号化処理方法、あるいは、後ろ方向予測符号化処理方法を選択し、負荷が小さいときには双方向予測符号化処理方法を選択する。最後に、前記符号化処理方法選択ステップ（Ｓ０３０３）にて選択された符号化処理方法に基づいて所定のマクロブロックの符号化を行う（符号化ステップ  Ｓ０３０４）。
【００２５】
以上の処理は、計算機に実行させるためのプログラムで実行することができ、また、このプログラムを計算機によって読取り可能な記録媒体に記録することができる。（本明細書の全体を通して同様である。）
【００２６】
<実施形態１：効果>  本実施形態は、ＣＰＵ資源の負荷状態を監視して、その負荷状態情報に応じて符号化すべきマクロブロックの符号化処理方法を選択することに特徴を有する動画像符号化装置である。ＣＰＵ資源の負荷状態に応じて、最適な符号化処理方法が選択されるため、処理時間の遅延等を回避することができる。また、一定のフレームレートを維持しつつ、画像データの符号化を行うことが可能となる。
【００２７】
<<実施形態２>>
【００２８】
<実施形態２：概要>  実施形態２について説明する。本実施形態は、画像データバッファ部における画像データのバッファ量に基づいて負荷状態情報を算出することに特徴を有する動画像符号化装置である。
【００２９】
<実施形態２：構成>  本実施形態での機能ブロックの一例を図４に示した。  図４に示す本実施形態の「動画像符号化装置」（０４００）は、「画像データ取得部」（０４０１）と、「ＣＰＵ負荷状態監視部」（０４０２）と、「符号化処理方法選択部」（０４０３）と、「符号化部」（０４０４）と、さらに、「画像データバッファ部」（０４０５）を有し、ＣＰＵ負荷状態監視部（０４０２）は「バッファ量依存負荷状態情報算出手段」（０４０６）を有する。
【００３０】
「画像データバッファ部」（０４０５）は、前記画像データ取得部（０４０１）が取得したデータを、前記符号化部（０４０４）にて符号化する前に一時格納する。なお、バッファがオーバーフローしそうな場合に、例えば、カメラから取得する画像データのフレームレートを低下させるとすると、取得されないフレームが出現して再生時には時間的なずれが生じるため、適当ではないことから、画像データバッファ部へと格納される画像データの単位時間当たりの量は一定である。
【００３１】
「バッファ量依存負荷状態情報算出手段」（０４０６）は、前記画像データバッファ部（０４０５）における画像データのバッファ量に基づいて負荷状態情報を算出する。ここでの負荷状態情報には、画像データバッファの使用量などを示す情報が該当する。また、負荷状態情報は、具体的な数値の場合もあるし、複数に分けられた段階のうち一の段階を特定するための情報である場合もある。動画像符号化装置が、符号化処理と並行してその他の処理を行う場合には、利用可能なＣＰＵ資源は減少し、画像データバッファから出力されるデータ量が減少することにより、最終的に画像データバッファのオーバーフローが発生する。このような事態を回避し、処理負荷の変動を把握するために、負荷状態情報が出力される。
【００３２】
その他各部の処理については、実施形態１と同様である。
【００３３】
<実施形態２：効果>  本実施形態は、画像データバッファ部における画像データのバッファ量に基づいて負荷状態情報を算出することに特徴を有する動画像符号化装置である。バッファ量に基づいた負荷状態情報に応じて、最適な符号化処理方法が選択されるため、バッファのオーバーフロー等を回避することができる。また、一定のフレームレートを維持しつつ、画像データの符号化を行うことが可能となる。
【００３４】
<<実施形態３>>
【００３５】
<実施形態３：概要>  実施形態３について説明する。本実施形態は、選択可能な符号化処理方法として、Ｐピクチャの符号化において動きベクトルを検出せずに、イントラ符号化によってマクロブロックの符号化を行う符号化処理方法を有することに特徴を有する動画像符号化装置である。また、選択可能な符号化処理方法として、Ｂピクチャの符号化において前後フレームから検出されるべき動きベクトルのうちいずれか一方を検出せずに、前方向予測または後方向予測によって符号化を行う符号化処理方法を有することに特徴を有する動画像符号化装置である。
【００３６】
<実施形態３：構成>  本実施形態での機能ブロックの一例はすでに図２に示したものと同様である。  図２に示す「動画像符号化装置」（０２００）は、「画像データ取得部」（０２０１）と、「ＣＰＵ負荷状態監視部」（０２０２）と、「符号化処理方法選択部」（０２０３）と、「符号化部」（０２０４）を有する。
【００３７】
「符号化処理方法選択部」（０２０３）は、前記負荷状態情報に応じて符号化すべきマクロブロックの符号化処理方法を選択する。このとき、選択可能な符号化処理方法には、Ｐピクチャの符号化において動きベクトルを検出せずに、イントラ符号化によってマクロブロックの符号化を行う第一動き補償免除符号化処理方法を含む。Ｐピクチャは、本来、マクロブロック内の画像データのみを用いるイントラ符号化の他、時間的に直前（過去）に位置するＩ、Ｐピクチャからの動き補償による前方向予測符号化が行われる。
【００３８】
また、Ｂピクチャの符号化においては、前後フレームから検出されるべき動きベクトルのうちいずれか一方を検出せずに、前方向予測または後方向予測によって符号化を行う第二動き補償免除符号化処理方法を含む。Ｂピクチャは、本来、イントラ符号化の他、時間的に直前（過去）に位置するＩ、Ｐピクチャからの動き補償による前方向予測符号化、または、時間的に直後（未来）に位置するＩ、Ｐピクチャからの動き補償による後方向予測符号化、直前あるいは直後に位置するＩ、Ｐピクチャのそれぞれからの動き補償による双方向予測符号化が行われる。
【００３９】
しかし、前方向予測符号化、後方向予測符号化、双方向予測符号化を行う場合、動きベクトルを求めるために全てのマクロブロックに対してブロックマッチング処理が必要となり、多くの符号化処理量を要することになる。したがって、負荷状態情報によりＣＰＵ資源の負荷が多いと判断される場合には、動きベクトルを検出せずに符号化できるイントラ符号化によってマクロブロックの符号化を行うことで、処理負荷の軽減、バッファのオーバーフロー回避を図る。
【００４０】
第一動き補償免除符号化処理方法は、前後フレームからの差分を検出せずに、符号化しようとするマクロブロックに相当する画像データ中のブロックのみを用いて符号化を行う方法である。動きベクトルを求めるためのブロックマッチング処理を省くことができ、処理負荷の軽減を図れる。
【００４１】
第二動き補償免除符号化処理方法は、前後フレームから検出されるべき動きベクトルのうちいずれか一方を検出せずに、前方向予測または後方向予測によって符号化を行う。前後フレームから検出されるべき動きベクトルの両方を用いて符号化を行う双方向予測符号化処理を行わないことで、他方のフレーム分の処理量を減少させることができ、処理負荷の軽減を図れる。
【００４２】
図５に各ピクチャの符号化処理方法を表に示した。Ｐピクチャにおける第一動き補償免除符号化処理方法は、実施形態１にて定義したイントラ符号化と同意義である。また、Ｂピクチャにおける第一動き補償免除符号化処理方法は、実施形態１にて定義した前方向予測符号化、あるいは、後方向予測符号化と同義である。
【００４３】
その他各部の処理については、実施形態１、２と同様である。
【００４４】
<実施形態３：効果>  本実施形態は、選択可能な符号化処理方法として、Ｐピクチャの符号化において動きベクトルを検出せずに、イントラ符号化によってマクロブロックの符号化を行う符号化処理方法を有することに特徴を有する動画像符号化装置である。動きベクトルを求めるためのブロックマッチング処理を省くことができ、処理負荷の軽減を図れるという効果を有する。また、選択可能な符号化処理方法として、Ｂピクチャの符号化において前後フレームから検出されるべき動きベクトルのうちいずれか一方を検出せずに、前方向予測または後方向予測によって符号化を行う符号化処理方法を有する。前後フレームから検出されるべき動きベクトルの両方を用いて符号化を行う双方向予測符号化処理を行わないことで、他方のフレーム分の処理量を減少させることができ、処理負荷の軽減を図れるという効果を有する。
【００４５】
<<実施形態４>>
【００４６】
<実施形態４：概要>  実施形態４について説明する。本実施形態は、負荷状態情報に基づいて、１つのフレームを符号化するに際して動き補償免除符号化処理方法を利用して符号化すべきマクロブロックの個数を算出することに特徴を有する動画像符号化装置である。
【００４７】
<実施形態４：構成>  本実施形態での機能ブロックの一例を図６に示す。  図６に示す本実施形態の「動画像符号化装置」（０６００）は、「画像データ取得部」（０６０１）と、「ＣＰＵ負荷状態監視部」（０６０２）と、「符号化処理方法選択部」（０６０３）と、「符号化部」（０６０４）と、さらに、「免除マクロブロック個数算出部」（０６０５）を有する。
【００４８】
「免除マクロブロック個数算出部」（０６０５）は、前記ＣＰＵ負荷状態監視部（０６０２）から出力される負荷状態情報に基づいて、１つのフレームを符号化するに際して動き補償免除符号化処理方法を利用して符号化すべきマクロブロックの個数を算出するための処理を行う。ここでの「動き補償免除符号化処理方法」には、実施形態３にて説明した第一、及び、第二動き補償免除符号化処理方法を総称するものである。マクロブロックは１６×１６画素のブロックであり、フレームの横方向の画素数をW、縦方向の画素数をHとすると、１フレーム中には（W×H）／（１６×１６）のマクロブロックが含まれる。このとき、動き補償免除符号化マクロブロック数の算出結果としては０から（W×H）／（１６×１６）の値が得られる。なお、１ＧＯＰ単位で符号化を行う場合には、算出したフレームごとの動き補償免除マクロブロックの個数を用いて、ＧＯＰごとの動き補償免除マクロブロックの個数も算出できる。
【００４９】
算出したマクロブロックの個数は、動き補償を免除するか否かを判断する閾値を求めるために用いることができる。閾値は、その他、前回動き補償免除マクロブロックとして符号化したマクロブロックの個数、及び、画像内予測残差（マクロブロックの輝度の分散値について、観測値と予測値との差分）の平均値などに基づいて算出することができる。したがって、算出した動き補償免除マクロブロックの個数は、次の段階にて閾値を算出するために用いられる。この閾値に基づく判断による動き補償の有無に応じて、符号化処理方法選択部（０６０３）での符号化の方式を選択する。
【００５０】
なお、マクロブロックの個数の負荷状態情報に基づいた算出とは、画像データのバッファ占有量や、その変化量に基づいて算出を行う場合が想定される。例えば、バッファ占有量が増加した場合には、動き補償を免除するか否かを判断する閾値を下げるなどして、動き補償免除マクロブロックの個数を多く算出してもよい。このときの、閾値とバッファ占有率の関係を図７に示した。縦軸が閾値、横軸がバッファ占有率を示したものである。バッファ占有率が増えれば増えるほど、閾値の値を下げて、動き補償を免除して符号化を行うことが必要となる。右側の縦軸においては、動き補償免除マクロブロック数を示したが、バッファ占有率が増えれば増えるほど、動き補償免除マクロブロック数が多くなる。
【００５１】
その他各部の処理については、実施形態３と同様である。
【００５２】
<実施形態４：効果>  本実施形態は、負荷状態情報に基づいて、１つのフレームを符号化するに際して動き補償免除符号化処理方法を利用して符号化すべきマクロブロックの個数を算出することに特徴を有する動画像符号化装置である。動き補償免除マクロブロックの個数に基づいて、次段階での動き補償を免除するか否かを判断する閾値を算出し、符号化処理方法の選択が可能となるため、的確に動き補償を免除するか否かを判断できる。
【００５３】
<<実施形態５>>
【００５４】
<実施形態５：概要>  実施形態５について説明する。本実施形態は、負荷状態情報に基づいて、１つのフレームを符号化するに際して動き補償免除符号化処理方法を利用して符号化すべきマクロブロックとして画像データ中から画像データの領域を選択する際に、最も画質劣化が少ないと予測される領域を選択することに特徴を有する動画像符号化装置である。
【００５５】
<実施形態５：構成>  本実施形態での機能ブロックの一例を図８に示す。  図８に示す本実施形態の「動画像符号化装置」（０８００）は、「画像データ取得部」（０８０１）と、「ＣＰＵ負荷状態監視部」（０８０２）と、「符号化処理方法選択部」（０８０３）と、「符号化部」（０８０４）と、さらに、「領域選択部」（０８０５）を有し、領域選択部（０８０５）は「予測手段」（０８０６）を有する。
【００５６】
「領域選択部」（０８０５）は、前記ＣＰＵ負荷状態監視部（０８０２）から出力される負荷状態情報に基づいて、１つのフレームを符号化するに際して動き補償免除符号化処理方法を利用して符号化すべきマクロブロックとして画像データ中から画像データの領域を選択する。「領域」としたのは、マクロブロックが形成される前の状態でも画像データの一部分を選択できるためである。
【００５７】
「予測手段」（０８０６）は、前記動き補償免除符号化処理をすることにより最も画質劣化が少ないとされる領域を予測する。動き補償を含む符号化処理では、被写体に動きがある場合、その領域をシフトして差を求め、差分値を小さくすることで、符号化すべき画像データ量を削減できる。他方、動き補償免除符号化処理では、画像内で被写体に動きがある場合でも加味されず、前フレームとの差分に基づいて符号化が行われる。したがって、被写体の動きが大きな領域においては画質が劣化することも予想される。したがって、例えば、前フレームの差分から被写体の移動量が少ない領域を最も画質劣化が少ないとされる領域とすることができる。このような予測結果に基づいて前記選択を行う。
【００５８】
その他各部の処理については、実施形態４と同様である。
【００５９】
<実施形態５：効果>  本実施形態は、負荷状態情報に基づいて、１つのフレームを符号化するに際して動き補償免除符号化処理方法を利用して符号化すべきマクロブロックとして画像データ中から画像データの領域を選択する際に、最も画質劣化が少ないと予測される領域を選択することに特徴を有する動画像符号化装置である。画質劣化が少ないと予想される領域を優先的に動き補償免除符号化処理方法を利用して符号化することで、全体としての画質の向上を図ることができる。
【００６０】
<<実施形態６>>
【００６１】
<実施形態６：概要>  実施形態６について説明する。本実施形態は、第二動き補償免除符号化処理方法を選択した場合に、当該Ｂピクチャとして符号化すべきフレームの前後に位置する符号化されたフレームであるＩ又はＰピクチャから、当該Ｂピクチャまでの時間的距離に応じて前方向予測を利用するか後方向予測を利用するか判断することに特徴を有する動画像符号化装置である。
【００６２】
図９は、本実施形態における概念の一例を示したものである。ここでは、ピクチャ９枚からなるＧＯＰを図示した。各ピクチャに付された番号は、符号化の順序を表したものである。つまりここでは、Ｉピクチャの次にＰピクチャが符号化され、その次にＢピクチャが符号化される。Ｂピクチャは、ＩピクチャとＰピクチャの間に挿入される。Ｂピクチャの符号化において、もし前後双方のフレームに基づいて符号化を行う双方予測符号化処理方法を利用する場合にはＩピクチャ、Ｐピクチャに基づいて処理される。例えば、符号化順序が３、４番目のＢピクチャは、１番目のＩピクチャと２番目のＰピクチャに基づいて処理され、６、７番目のＢピクチャは、２、５番目のＰピクチャに基づいて処理される。
【００６３】
今、前方向予測、あるいは、後方向予測のいずれかの方法で符号化を行うとき、Ｂピクチャまでの時間的距離に応じて、いずれの方向の予測符号化処理方法を利用するか判断する。このとき、３番目のＢピクチャは、２番目のＰピクチャよりも１番目のＩピクチャの方が時間的距離は短いといえる。したがって、３番目のＢピクチャは、１番目のＩピクチャに基づいて前方向予測処理方法を利用するとの判断を行う。同様に、７番目のＢピクチャは、２番目のＰピクチャよりも５番目のＰピクチャの方が時間的距離は短いといえるため、５番目のＰピクチャに基づいて後方向予測処理方法を利用するとの判断を行う。
【００６４】
<実施形態６：構成>  本実施形態での機能ブロックの一例を図１０に示す。  図１０に示す本実施形態の「動画像符号化装置」（１０００）は、「画像データ取得部」（１００１）と、「ＣＰＵ負荷状態監視部」（１００２）と、「符号化処理方法選択部」（１００３）と、「符号化部」（１００４）を有し、符号化処理方法選択部（１００３）は「前後判断手段」（１００５）を有する。
【００６５】
「前後判断手段」（１００５）は、第二動き補償免除符号化処理方法を選択した場合に、当該Ｂピクチャとして符号化すべきフレームの前後に位置する符号化されたフレームであるＩ又はＰピクチャから、当該Ｂピクチャまでの時間的距離に応じて前方向予測を利用するか後方向予測を利用するか判断する。この判断は、Ｂピクチャの前方に位置するＩ又はＰピクチャからの時間的距離が、後方に位置するＩ又はＰピクチャからの時間的距離よりも短い場合には、Ｂピクチャに含まれる動き補償免除マクロブロックに対して前方向予測符号化を利用すると判断し、逆に長い場合には後方向予測符号化を利用すると判断する。
【００６６】
その他各部の処理については、実施形態１から５と同様である。
【００６７】
<実施形態６：処理の流れ>  図１１は、実施形態６での処理の流れの一例を示したものである。まず、カメラからの画像データを取得する（画像データ取得部ステップ  Ｓ１１０１）。次に、ＣＰＵ資源の負荷状態を監視して負荷状態情報を出力する（ＣＰＵ負荷状態監視ステップ  Ｓ１１０２）。その次に、負荷状態情報に応じて符号化すべきマクロブロックの符号化処理方法を選択する（符号化処理方法選択ステップ  Ｓ１１０３）。なお、符号化すべきマクロブロックが属するピクチャに対応する符号化処理方法の中から選択する。Ｉピクチャであれば、イントラ符号化処理方法を選択し、Ｐ、Ｂピクチャであればさらに負荷状態情報に応じてＣＰＵの負荷状態を加味する。Ｐピクチャは、負荷が大きいときにはイントラ符号化処理方法を選択し、負荷が小さいときには前方向予測符号化処理方法を選択する。ここまでは、実施形態１における処理の流れと同様である。
【００６８】
次にＢピクチャは、負荷が大きいときにはイントラ符号化処理方法を選択し、負荷が小さいときには双方向予測符号化処理方法を選択する。また、負荷が中程度のときには前方向予測符号化処理方法、あるいは、後ろ方向予測符号化処理方法を選択する。このとき、当該Ｂピクチャとして符号化すべきフレームの前後に位置する符号化されたフレームであるＩ又はＰピクチャから、当該Ｂピクチャまでの時間的距離に応じて前方向予測を利用するか後方向予測を利用するか判断する（前後判断ステップ  Ｓ１１０４）。前後判断ステップにおいて、Ｂピクチャの前方に位置するＩ又はＰピクチャからの時間的距離が、後方に位置するＩ又はＰピクチャからの時間的距離よりも短いとの判断結果の場合には、Ｂピクチャに含まれる動き補償免除マクロブロックに対して前方向予測符号化を利用して、所定のマクロブロックの符号化を行う（前方向予測符号化ステップ  Ｓ１１０５）。他方、長いとの判断結果の場合には、後方向予測符号化を利用して、所定のマクロブロックの符号化を行う（後方向予測符号化ステップ  Ｓ１１０６）。その他のピクチャについても、それぞれ選択された符号化処理方法に基づいて所定のマクロブロックの符号化を行う（方向予測符号化ステップ  Ｓ１００７）。
【００６９】
<実施形態６：効果>  本実施形態は、第二動き補償免除符号化処理方法を選択した場合に、当該Ｂピクチャとして符号化すべきフレームの前後に位置する符号化されたフレームであるＩ又はＰピクチャから、当該Ｂピクチャまでの時間的距離に応じて前方向予測を利用するか後方向予測を利用するか判断することに特徴を有する動画像符号化装置である。前方向予測を利用するか後方向予測を利用するかを容易に判断でき、加えて、時間的距離の近いフレームつまり精度の高い予測に基づいて符号化ができる。
【図面の簡単な説明】
【００７０】
【図１】実施形態１を説明するための概念図
【図２】実施形態１を説明するための機能ブロック図
【図３】実施形態１の処理の流れを説明する図
【図４】実施形態２を説明するための機能ブロック図
【図５】実施形態３における符号化処理方法の種類を示した図
【図６】実施形態４を説明するための機能ブロック図
【図７】実施形態４における閾値とバッファ占有率の関係を示した図
【図８】実施形態５を説明するための機能ブロック図
【図９】実施形態６を説明するための概念図
【図１０】実施形態６を説明するための機能ブロック図
【図１１】実施形態６の処理の流れを説明する図
【符号の説明】
【００７１】
０２００    動画像符号化装置
０２０１    画像データ取得部
０２０２    ＣＰＵ負荷状態監視部
０２０３    符号化処理方法選択部
０２０４    符号化部
【図１】
2006197006.tif 000003
【図２】
2006197006.tif 000004
【図３】
2006197006.tif 000005
【図４】
2006197006.tif 000006
【図５】
2006197006.tif 000007
【図６】
2006197006.tif 000008
【図７】
2006197006.tif 000009
【図８】
2006197006.tif 000010
【図９】
2006197006.tif 000011
【図１０】
2006197006.tif 000012
【図１１】
2006197006.tif 000013