(57)【要約】【課題】イントラ符号化とインター符号化を用いる動画像の圧縮符号化において、用途に応じて好適な符号化効率と画質を維持しながら参照画像メモリの容量を減らす。【解決手段】１画像フレーム内でインター符号化する最大マクロブロック数を画像フレームを構成するマクロブロック数より小さな値に設定し、インター符号化する最大マクロブロック数分の容量まで参照画像メモリの容量を減らし、現画像の符号化時に画像情報や符号量に基づき次のフレームでイントラ符号化およびインター符号化するマクロブロック位置を決定し、次のフレームでインター符号化することが決定されたマクロブロック位置のみに対して参照画像マクロブロックを参照画像メモリ１０８に格納するようにメモリ制御部１１１で制御する。【選択図】  図１
2004266731.tif 000002
【特許請求の範囲】
【請求項１】
現画像の所定の領域をなすマクロブロック毎に、画像データを直交変換した後に量子化および可変長符号化するイントラ符号化と、前記現画像の参照画像に対する動きベクトルを検出し、前記参照画像に対して前記動きベクトルを用いて動き補償を行い、前記現画像と前記動き補償後の参照画像との差分データを直交変換した後に量子化および可変長符号化するインター符号化とを用いて動画像を符号化し、かつ前記インター符号化のために前記量子化後の画像データまたは前記量子化後の差分データを逆量子化、逆直交変換して生成した前記現画像の次の画像フレームの参照画像を参照画像メモリに格納する動画像符号化方法であって、
１画像フレーム内でインター符号化する最大マクロブロック数の範囲内で、イントラ符号化またはインター符号化するマクロブロック位置を現画像（第Ｎフレーム）より前の画像（第Ｍフレーム、Ｍ≦Ｎ−１）の符号化時に決定する動画符号化方法。
【請求項２】
前記インター符号化することを決定したマクロブロック位置のみに対して次の画像フレームの参照画像のマクロブロックを前記参照画像メモリに格納する請求項１記載の動画符号化方法。
【請求項３】
前記インター符号化する最大マクロブロック数は画像フレームを構成するマクロブロック数未満である請求項１記載の動画符号化方法。
【請求項４】
前記インター符号化する最大マクロブロック数を前記参照画像メモリとして使用可能なメモリ容量に基づいて適応的に決定する請求項１記載の動画符号化方法。
【請求項５】
前記直交変換は離散コサイン変換（ＤＣＴ）である請求項１記載の動画符号化方法。
【請求項６】
前記可変長符号化はハフマン符号化である請求項１記載の動画符号化方法。
【請求項７】
第Ｎフレームにおいてイントラ符号化またはインター符号化するマクロブロック位置を、第Ｎ−１フレーム以前の画像の符号化時における画像情報および符号量の少なくとも一方の評価に基づいて決定する請求項１記載の動画符号化方法。
【請求項８】
第Ｎフレームにおいてイントラ符号化またはインター符号化するマクロブロック位置を第Ｎ−１フレーム以前に外部から決定する請求項１記載の動画符号化方法。
【請求項９】
第Ｎ−１フレーム以前にインター符号化が決定されたマクロブロック位置にあるマクロブロックの符号化時に、インター符号化の中止指示に基づいて、前記マクロブロックをイントラ符号化する請求項１記載の動画符号化方法。
【請求項１０】
第Ｎフレームにおいてイントラ符号化またはインター符号化するマクロブロック位置を、第Ｎ−２フレームの全てのマクロブロックの画像情報および総符号量の少なくとも一方の評価に基づいて、第Ｎ−１フレームの符号化時に決定する請求項１記載の動画符号化方法。
【請求項１１】
第Ｎフレームにおいてイントラ符号化またはインター符号化するマクロブロック位置を、第Ｎ−１フレームのマクロブロック毎の画像情報および符号量の少なくとも一方の評価に基づいて決定する請求項１記載の動画符号化方法。
【請求項１２】
イントラ符号化またはインター符号化するマクロブロック位置を千鳥状に配置したパターンで与える請求項１記載の動画符号化方法。
【請求項１３】
符号化対象マクロブロックはインター符号化を行うことが決定されており、符号化対象マクロブロックに隣接する所定数以上のマクロブロックはイントラ符号化を行うことが決定されている場合、符号化対象マクロブロックに対して前記動きベクトルをゼロとしてインター符号化を行う請求項１記載の動画符号化方法。
【請求項１４】
インター符号化時に動き補償を行うか否かを選択する請求項１記載の動画符号化方法。
【請求項１５】
前記参照画像メモリに格納したマクロブロックの位置情報を保持する請求項１記載の動画符号化方法。
【請求項１６】
第Ｎ−１フレームにおいてインター符号化したマクロブロック位置にあるマクロブロックとその参照画像のマクロブロックとの差分から算出した差分絶対値総和等の評価関数値が所定の閾値より大きい場合、第Ｎ−１フレームにおいてインター符号化したマクロブロック位置にあるマクロブロックを第Ｎフレームにおいてイントラ符号化する請求項１記載の動画符号化方法。
【請求項１７】
前記参照画像メモリに格納したマクロブロック数が前記インター符号化する最大マクロブロック数である場合、以降のマクロブロック位置にあるマクロブロックを次の画像フレームにおいてイントラ符号化する請求項１記載の動画符号化方法。
【請求項１８】
第Ｎ−１フレームにおいてインター符号化したマクロブロック位置の連続インター符号化回数が所定の閾値より大きい場合、第Ｎ−１フレームにおいてインター符号化したマクロブロック位置にあるマクロブロックを前記第Ｎフレームにおいてイントラ符号化する請求項１記載の動画符号化方法。
【請求項１９】
第Ｎ−１フレームにおいてイントラ符号化したマクロブロック位置に隣接するインター符号化されたマクロブロックとその参照画像のマクロブロックとの差分から算出した差分絶対値総和等の評価関数値が所定の閾値より小さく、かつ前記参照画像メモリに格納したマクロブロック数が前記参照画像メモリに格納可能な最大マクロブロック数より小さい場合、第Ｎ−１フレームにおいてイントラ符号化したマクロブロック位置にあるマクロブロックを第Ｎフレームにおいてインター符号化する請求項１記載の動画符号化方法。
【請求項２０】
第Ｎ−１フレームにおいてイントラ符号化したマクロブロックの符号量が所定の閾値より大きく、かつ前記参照画像メモリに格納したマクロブロック数が前記参照画像メモリに格納可能な最大マクロブロック数より小さい場合、第Ｎ−１フレームにおいてイントラ符号化したマクロブロック位置にあるマクロブロックを第Ｎフレームにおいてインター符号化する請求項１記載の動画符号化方法。
【請求項２１】
第Ｎ−１フレームにおいてイントラ符号化したマクロブロック位置の連続イントラ符号化回数が所定の閾値より大きく、かつ前記参照画像メモリに格納したマクロブロック数が前記参照画像メモリに格納可能な最大マクロブロック数より小さい場合、前記第Ｎ−１フレームにおいてイントラ符号化したマクロブロック位置にあるマクロブロックを第Ｎフレームにおいてインター符号化する請求項１記載の動画符号化方法。
【請求項２２】
イントラ符号化するターゲット領域の動き情報を第Ｎ−１フレームで与え、第Ｎフレームにおいて前記ターゲット領域が予測されるマクロブロック位置にあるマクロブロックを前記第Ｎフレームにおいてイントラ符号化し、前記マクロブロック位置の周辺のマクロブロックを前記第Ｎフレームにおいてインター符号化する請求項１記載の動画符号化方法。
【請求項２３】
インター符号化する最大マクロブロック数以下のマクロブロックで画像フレームが構成される動画像の符号化では、全てのマクロブロック位置に対して参照画像のマクロブロックを生成して前記参照画像メモリに格納し、インター符号化する最大マクロブロック数を越えるマクロブロック数で画像フレームが構成される動画像の符号化では、インター符号化することが決定されたマクロブロックの位置のみに対して参照画像のマクロブロックを生成して前記参照画像メモリに格納する請求項１記載の動画符号化方法。
【請求項２４】
インター符号化された回数をマクロブロック位置毎に保持し、起動時、前記インター符号化の回数が多いマクロブロック位置にあるマクロブロックから順にインター符号化する優先度を与える請求項１記載の動画符号化方法。
【請求項２５】
前記インター符号化された回数を保持するか否かおよび前記インター符号化の回数が多いマクロブロック位置にあるマクロブロックから優先的にインター符号化するか否かを選択する請求項２４記載の動画符号化方法。
【請求項２６】
第Ｎ−１フレームにおいてインター符号化した全てのマクロブロックの符号量の総和がシーンチェンジを検出するための所定の閾値を超えた場合、第Ｎフレームにおいて全てのマクロブロックの位置をイントラ符号化する請求項１記載の動画符号化方法。
【請求項２７】
現画像の所定の領域をなすマクロブロック毎に、画像データを直交変換した後に量子化および可変長符号化するイントラ符号化と、前記現画像の参照画像に対する動きベクトルを検出し、前記参照画像に対して前記動きベクトルを用いて動き補償を行い、前記現画像と前記動き補償後の参照画像との差分データを直交変換した後に量子化および可変長符号化するインター符号化とを用いて動画像を符号化し、かつ前記インター符号化のために前記量子化後の画像データまたは前記量子化後の差分データを逆量子化、逆直交変換して生成した前記現画像の次の画像フレームの参照画像を格納する動画像符号化方法であって、
前記イントラ符号化または前記インター符号化するマクロブロック位置を所定のパターンで与える動画符号化方法。
【請求項２８】
前記所定のパターンは、インター符号化されるマクロブロック位置が千鳥状に配置したパターンである請求項２７記載の動画符号化方法。
【請求項２９】
前記所定のパターンは、インター符号化されるマクロブロック位置が格子状に配置したパターンである請求項２７記載の動画符号化方法。
【請求項３０】
現画像の所定の領域をなすマクロブロック毎に、画像データを直交変換した後に量子化および可変長符号化するイントラ符号化と、前記現画像の参照画像に対する動きベクトルを検出し、前記参照画像に対して前記動きベクトルを用いて動き補償を行い、前記現画像と前記動き補償後の参照画像との差分データを直交変換した後に量子化および可変長符号化するインター符号化とを用いて動画像を符号化する符号化手段と、前記インター符号化のために前記量子化後の画像データまたは前記量子化後の差分データを逆量子化、逆直交変換して生成した前記現画像の次の画像フレームの参照画像を格納する参照画像メモリとを備える動画像符号化装置であって、
１画像フレーム内でインター符号化する最大マクロブロック数の範囲内で、イントラ符号化またはインター符号化するマクロブロック位置を現画像（第Ｎフレーム）より前の画像（第Ｍフレーム、Ｍ≦Ｎ−１）の符号化時に決定する決定手段を備える動画符号化装置。
【請求項３１】
前記参照画像メモリは、インター符号化することを決定したマクロブロック位置のみに対して次の画像フレームの参照画像のマクロブロックを格納する請求項３０記載の動画符号化装置。
【請求項３２】
前記参照画像メモリは、画像フレームを構成する全てのマクロブロックに対する参照画像を格納するために必要な容量より小さい容量である請求項３０記載の動画符号化装置。
【請求項３３】
前記参照画像メモリに格納した参照画像のマクロブロック位置を前記参照画像メモリのアドレスに対比させて管理するアドレス管理手段を備える請求項３０記載の動画符号化装置。
【請求項３４】
前記参照画像メモリに格納された参照画像のマクロブロック数をカウントするマクロブロック数カウント手段を備える請求項３０記載の動画符号化装置。
【請求項３５】
前記決定手段は、前記参照画像メモリに格納されたマクロブロック数がインター符号化する最大マクロブロック数である場合、以降のマクロブロック位置にあるマクロブロックを次の画像フレームにおいてイントラ符号化する請求項３４記載の動画符号化装置。
【請求項３６】
インター符号化するマクロブロック位置にあるマクロブロックと前記参照画像メモリに格納された参照画像のマクロブロックとの差分から差分絶対値総和等の評価関数値を算出する関数値算出手段を備える請求項３０記載の動画符号化装置。
【請求項３７】
前記決定手段は、前記評価関数値が所定の閾値より大きい場合、次の画像フレームにおいて前記マクロブロック位置にあるマクロブロックをイントラ符号化する請求項３６記載の動画符号化装置。
【請求項３８】
各マクロブロック位置における連続インター符号化回数をカウントするインター符号化回数カウント手段を備える請求項３０記載の動画符号化装置。
【請求項３９】
前記決定手段は、前記連続インター符号化回数が所定の閾値であるマクロブロック位置にあるマクロブロックに対して、次の画像フレームにおいてイントラ符号化する請求項３８記載の動画符号化装置。
【請求項４０】
各マクロブロック位置における連続イントラ符号化回数をカウントするイントラ符号化回数カウント手段を備える請求項３０記載の動画符号化装置。
【請求項４１】
前記決定手段は、前記連続イントラ符号化回数が所定の閾値にあるマクロブロック位置にあるマクロブロックに対して、前記参照画像メモリに格納したマクロブロック数が前記参照画像メモリに格納可能な最大マクロブロック数より小さい場合、次の画像フレームにおいてインター符号化する請求項４０記載の動画符号化装置。
【請求項４２】
前記符号化手段は、隣接する全てまたは所定数以上のマクロブロックがイントラ符号化されるマクロブロック位置にあるマクロブロックのインター符号化を動きベクトルをゼロとして行う請求項３０記載の動画符号化装置。
【請求項４３】
請求項３０から４２のいずれか一項記載の動画符号化装置を搭載する半導体集積回路。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、フレーム内の空間的冗長性を利用したイントラ符号化と、フレーム間の時間的冗長性を利用したインター符号化とを適宜に切り替えて動画像の圧縮符号化を行う動画符号化方法および装置に関する。
【０００２】
【従来の技術】
図３０は従来の動画符号化装置（エンコーダ）の構成例を示すブロック図である。図３０において、１０１は画像入力部、１０３は直交変換を行うＤＣＴ部、１０４は量子化部、１０５は可変長符号化を行うハフマン符号化部、１０６は逆量子化部、１０７は逆直交変換を行う逆ＤＣＴ部、１０８は参照画像メモリ、１０９は動き補償部、１１０は動き検出部、３０１１はメモリ制御部である。
【０００３】
図３０のように構成された動画符号化装置において、イントラ符号化を行う場合は、画像入力部１０１から入力された現画像のマクロブロック毎に、ＤＣＴ部１０３で直交変換を行い、量子化部１０４で量子化を行い、ハフマン符号化部１０５で可変長符号化を行うことで、画像フレーム内の空間的冗長性を利用したイントラ符号化を行う。
【０００４】
このとき、量子化後のデータに対して逆量子化部１０６で逆量子化を行い、逆ＤＣＴ部１０７で逆直交変換を施すことにより参照画像を生成し、これを参照メモリ１０８に保存する。
【０００５】
一方、インター符号化を行う場合は、画像入力部１０１から入力された現画像フレームを参照画像メモリ１０８に保存されている参照画像フレームと動き検出部１１０で比較し、マクロブロック毎またはフレーム毎に動きベクトルを求める。さらに、動き補償部１０９で参照画像フレームに対して動きベクトルを用いた動き補償を行い予測画像フレームを作成する。
【０００６】
次に、現画像フレームと予測画像フレームとの差分をマクロブロック毎に、ＤＣＴ部１０３で直交変換を行い、量子化部１０４で量子化を行い、ハフマン符号化部１０５で可変長符号化を行うことで、画像フレーム間の時間的冗長性を利用したインター符号化を行う。
【０００７】
このとき、量子化後のデータに対して逆量子化部１０６で逆量子化を行い、逆ＤＣＴ部１０７で逆直交変換を施し、さらに、動き補償部１０９から出力される動き補償予測データと加算することにより参照画像を生成し、これを参照メモリ１０８に保存する。
【０００８】
以上のようにして、現画像フレーム内のイントラ符号化、インター符号化される全てのマクロブロックについて参照画像のマクロブロックが生成され、参照メモリ１０８に保存される。逆量子化後のデータから参照画像を生成する一連の処理をローカルデコードと称する。
【０００９】
以上説明したように、動画像の圧縮符号化において参照画像を用いた予測符号化方式は技術の根幹をなすものであり、テレビ放送用の動画符号化等においてはさらに複雑な予測符号化方式が用いられるため、従来、参照画像メモリとして用いるバッファメモリを効率良く管理するための様々な取組みが行われている（例えば、特許文献１等）。
【００１０】
【特許文献１】
特開平１１−３１３３２７号公報
【００１１】
【発明が解決しようとする課題】
動画像の圧縮符号化技術においては、使用可能な伝送路のビットレートの範囲で可能な限り高画質を得るために、高い圧縮率を実現することが要求される
【００１２】
ところが、近年は新しい通信技術の開発により携帯機器で使用できる伝送路のビットレートが飛躍的に向上し、それらの用途を目指したＭＰＥＧ−４のような画像圧縮技術も開発され、より自然な動画像通信がパソコンや携帯機器において実現可能になったことにより、携帯機器等に搭載できる安価なエンコーダの重要性が増している。
【００１３】
このような背景において、携帯機器等に搭載するエンコーダのコスト低減を図るためには、特許文献１記載の技術のようにバッファメモリを効率良く使用するだけではなく、直接コストに反映する参照画像メモリの容量を減らすことが考えられる。
【００１４】
参照画像メモリの容量を減らすことは技術の根幹をなす予測符号化方式部分に制限を加えることであり、当然の結果として符号化効率が低下し符号量の増大を招くことになる。しかしながら、近年の携帯機器等において利用可能な伝送路のビットレートと実際に送信する画像サイズを考慮すると実用的なバランスを見出すことが可能と考えられる。
【００１５】
また、ビデオ画面等の動画符号化装置において、通常画面サイズに対応する参照画像メモリを備えている場合に、同一装置で大画面サイズ（高画素数）の動画符号化処理も行うためには、さらに大画面サイズに応じた大容量の参照画像メモリも備える必要があり、システムコストが増加するという問題もある。
【００１６】
本発明は上記事情に鑑みてなされたもので、イントラ符号化とインター符号化を用いる動画像の圧縮符号化において、用途に応じて好適な符号化効率と画質を維持しながら参照画像メモリの容量を減らすことができ、動画符号化装置のコストを低減することができる動画符号化方法および装置を提供することを目的とする。
【００１７】
【課題を解決する為の手段】
請求項１の動画符号化方法は、現画像の所定の領域をなすマクロブロック毎に、画像データを直交変換した後に量子化および可変長符号化するイントラ符号化と、前記現画像の参照画像に対する動きベクトルを検出し、前記参照画像に対して前記動きベクトルを用いて動き補償を行い、前記現画像と前記動き補償後の参照画像との差分データを直交変換した後に量子化および可変長符号化するインター符号化とを用いて動画像を符号化し、かつ前記インター符号化のために前記量子化後の画像データまたは前記量子化後の差分データを逆量子化、逆直交変換して生成した前記現画像の次の画像フレームの参照画像を参照画像メモリに格納する動画像符号化方法であって、１画像フレーム内でインター符号化する最大マクロブロック数の範囲内で、イントラ符号化またはインター符号化するマクロブロック位置を現画像（第Ｎフレーム）より前の画像（第Ｍフレーム、Ｍ≦Ｎ−１）の符号化時に決定する動画符号化方法。
【００１８】
上記構成によれば、イントラ符号化またはインター符号化するマクロブロック位置を現画像より前の画像の符号化時に決定することで、現フレームで全てのマクロブロックの参照画像を用意する必要がなくなり、参照画像メモリの容量を減らすことが可能になる。
【００１９】
請求項２の動画符号化方法は、請求項１の動画符号化方法において、前記インター符号化することを決定したマクロブロック位置のみに対して次の画像フレームの参照画像のマクロブロックを前記参照画像メモリに格納する。
【００２０】
上記構成によれば、参照画像メモリに格納する参照画像のマクロブロックを限定することができるため参照画像メモリの容量を減らすことができる。
【００２１】
請求項３の動画符号化方法は、請求項１の動画符号化方法において、前記インター符号化する最大マクロブロック数は画像フレームを構成するマクロブロック数未満である。
【００２２】
上記構成によれば、メモリ容量を最大マクロブロック数に応じて減らすことができる。
【００２３】
請求項４の動画符号化方法は、請求項１の動画符号化方法において、前記インター符号化する最大マクロブロック数を前記参照画像メモリとして使用可能なメモリ容量に基づいて適応的に決定する。
【００２４】
上記構成によれば、他のメモリ内に設けられた可変長領域である場合に、参照画像メモリとして使用可能な領域の大きさに応じてインター符号化する最大マクロブロック数を設定するので、使用可能な領域が大きい場合にはインター符号化するマクロブロック数が画像フレームを構成する総マクロブロック数にほぼ等しくすることも可能となり、装置の使用状態に応じて最大の符号化効率を動的に実現することができる。
【００２５】
請求項５の動画符号化方法は、請求項１の動画符号化方法において、前記直交変換を離散コサイン変換（ＤＣＴ）であり、請求項６の動画符号化方法は、請求項１の動画符号化方法において、前記可変長符号化はハフマン符号化である。
【００２６】
請求項７の動画符号化方法は、請求項１の動画符号化方法において、第Ｎフレームにおいてイントラ符号化またはインター符号化するマクロブロック位置を、第Ｎ−１フレーム以前の画像の符号化時における画像情報および符号量の少なくとも一方の評価に基づいて決定する。
【００２７】
上記構成によれば、符号化時の画像情報や符号量に基づいて符号化するマクロブロック位置を決定することで、符号化効率と画質を向上させることができる。
【００２８】
請求項８の動画符号化方法は、請求項１の動画符号化方法において、第Ｎフレームにおいてイントラ符号化またはインター符号化するマクロブロック位置を第Ｎ−１フレーム以前に外部から決定する。
【００２９】
上記構成によれば、外部からイントラ符号化またはインター符号化を指示することで、動画の種類に応じた符号化を決定することができる。
【００３０】
請求項９の動画符号化方法は、請求項１の動画符号化方法において、第Ｎ−１フレーム以前にインター符号化が決定されたマクロブロック位置にあるマクロブロックの符号化時に、インター符号化の中止指示に基づいて、前記マクロブロックをイントラ符号化する。
【００３１】
上記構成によれば、前のフレームでインター符号化が決定された場合でも、インター符号化を中止することが好ましい場合もあるため、現フレームで再度符号化を決定することで、動画に適した符号化を決定することができる。
【００３２】
請求項１０の動画符号化方法は、請求項１の動画符号化方法において、第Ｎフレームにおいてイントラ符号化またはインター符号化するマクロブロック位置を、第Ｎ−２フレームの全てのマクロブロックの画像情報および総符号量の少なくとも一方の評価に基づいて、第Ｎ−１フレームの符号化時に決定する。
【００３３】
上記構成によれば、例えば、第Ｎ−２フレームの符号化結果で全符号量が過大であると判断した場合、第Ｎ−１フレームの符号化時に次の第Ｎフレームでイントラ符号化するマクロブロック位置とインター符号化するマクロブロック位置を入れ替える等、画像フレーム全体に係る決定を行うことができるため、符号化効率を向上させることができる。
【００３４】
請求項１１の動画符号化方法は、請求項１の動画符号化方法において、第Ｎフレームにおいてイントラ符号化またはインター符号化するマクロブロック位置を、第Ｎ−１フレームのマクロブロック毎の画像情報および符号量の少なくとも一方の評価に基づいて決定する。
【００３５】
上記構成によれば、第Ｎ−１フレームの符号化時に、マクロブロック毎の画像情報や符号量に基づいて次のフレームでイントラ符号化またはインター符号化するマクロブロック位置を決定することができるため、符号化効率を向上させることができる。
【００３６】
請求項１２の動画符号化方法は、請求項１の動画符号化方法において、イントラ符号化またはインター符号化するマクロブロック位置を千鳥状に配置したパターンで与える。
【００３７】
上記構成によれば、符号化時の符号量の偏りを少なくすることができる。
【００３８】
請求項１３の動画符号化方法は、請求項１の動画符号化方法において、符号化対象マクロブロックはインター符号化を行うことが決定されており、符号化対象マクロブロックに隣接する所定数以上のマクロブロックはイントラ符号化を行うことが決定されている場合、符号化対象マクロブロックに対して前記動きベクトルをゼロとしてインター符号化を行う。
【００３９】
上記構成によれば、隣接する全てあるいは多数のマクロブロックがイントラ符号化される場合、隣接したマクロブロック位置に参照画像が少ないかあるいは存在しないため、動き検出、動き補償の精度が大幅に低下することから、動き補償の機能を停止しても影響はほとんど無いと考えられる。そこで、動きベクトルをゼロベクトルとしてインター符号化を行うことでインター符号化処理を簡略化することができる。例えば、インター符号化するマクロブロック位置が千鳥状に配置されたパターンで与えられた場合のインター符号化マクロブロックが該当する。
【００４０】
請求項１４の動画符号化方法は、請求項１の動画符号化方法は、インター符号化時に動き補償を行うか否かを選択する。
【００４１】
上記構成によれば、例えば、固定の監視カメラでほとんど動きの無い対象を撮影する場合、動き補償の処理機能を抑止し、動きベクトルをゼロベクトルとしてインター符号化を行うことでインター符号化処理を簡略化することができる。
【００４２】
請求項１５の動画符号化方法は、請求項１の動画符号化方法において、前記参照画像メモリに格納したマクロブロックの位置情報を保持する。
【００４３】
請求項１６の動画符号化方法は、請求項１の動画符号化方法において、第Ｎ−１フレームにおいてインター符号化したマクロブロック位置にあるマクロブロックとその参照画像のマクロブロックとの差分から算出した差分絶対値総和等の評価関数値が所定の閾値より大きい場合、第Ｎ−１フレームにおいてインター符号化したマクロブロック位置にあるマクロブロックを第Ｎフレームにおいてイントラ符号化する。
【００４４】
上記構成によれば、評価関数値が所定の閾値より大きい場合、そのマクロブロックの動きが大きい（動きが激しい）と考えられ、次のフレームでそのマクロブロック位置を続けてインター符号化した場合は動き検出の誤差により符号量が増加すると予測されるため、一般にイントラ符号化よりも符号化効率が悪いとされるイントラ符号化に変えても符号化効率に大差は無いと判断して、そのマクロブロック位置にあるマクロブロックをイントラ符号化することにより画質を向上させることができる。また、参照画像メモリに記録余裕が無いと判断される場合にも、イントラ符号化に変えた分だけ参照画像メモリを空けることができ、他のマクロブロック位置のマクロブロックをインター符号化する余裕を作り出すことで、総合的な符号化効率の向上を図ることができる。
【００４５】
請求項１７の動画符号化方法は、請求項１の動画符号化方法において、前記参照画像メモリに格納したマクロブロック数が前記インター符号化する最大マクロブロック数である場合、以降のマクロブロック位置にあるマクロブロックを次の画像フレームにおいてイントラ符号化する。
【００４６】
上記構成によれば、参照画像メモリに保持可能なマクロブロック数を管理することができる。
【００４７】
請求項１８の動画符号化方法は、請求項１の動画符号化方法において、第Ｎ−１フレームにおいてインター符号化したマクロブロック位置の連続インター符号化回数が所定の閾値より大きい場合、第Ｎ−１フレームにおいてインター符号化したマクロブロック位置にあるマクロブロックを前記第Ｎフレームにおいてイントラ符号化する。
【００４８】
上記構成によれば、差分をとって符号化するインター符号化が同一マクロブロック位置で連続した場合は通信中のエラーが重畳した場合に復旧が難しくなることから、数フレームに１回はイントラ符号化にすることによりエラー耐性の強化を図ることができる。
【００４９】
請求項１９の動画符号化方法は、請求項１の動画符号化方法において、第Ｎ−１フレームにおいてイントラ符号化したマクロブロック位置に隣接するインター符号化されたマクロブロックとその参照画像のマクロブロックとの差分から算出した差分絶対値総和等の評価関数値が所定の閾値より小さく、かつ前記参照画像メモリに格納したマクロブロック数が前記参照画像メモリに格納可能な最大マクロブロック数より小さい場合、第Ｎ−１フレームにおいてイントラ符号化したマクロブロック位置にあるマクロブロックを第Ｎフレームにおいてインター符号化する。
【００５０】
上記構成によれば、評価関数値が所定の閾値より小さい場合はマクロブロックの動きが小さい静止画に近い状態と考えられ、空間的相関性を考慮すると、これらのマクロブロックが隣接するイントラ符号化マクロブロックの動きも小さい可能性が高く、時間的相関性を考慮すると次のフレームにおける動きも小さいと判断できることから、このマクロブロック位置にあるマクロブロックを次のフレームでインター符号化することで符号化効率が向上させることができる。
【００５１】
請求項２０の動画符号化方法は、請求項１の動画符号化方法において、第Ｎ−１フレームにおいてイントラ符号化したマクロブロックの符号量が所定の閾値より大きく、かつ前記参照画像メモリに格納したマクロブロック数が前記参照画像メモリに格納可能な最大マクロブロック数より小さい場合、第Ｎ−１フレームにおいてイントラ符号化したマクロブロック位置にあるマクロブロックを第Ｎフレームにおいてインター符号化する。
【００５２】
上記構成によれば、時間的相関性を考慮するとイントラ符号化して符号化効率が悪いと判断されたマクロブロック位置のマクロブロックを次のフレームでもイントラ符号化すると符号化効率が悪い可能性が高いと判断されることから、このマクロブロック位置のマクロブロックを次のフレームでインター符号化することで符号化効率が向上することができる。
【００５３】
請求項２１の動画符号化方法は、請求項１の動画符号化方法において、第Ｎ−１フレームにおいてイントラ符号化したマクロブロック位置の連続イントラ符号化回数が所定の閾値より大きく、かつ前記参照画像メモリに格納したマクロブロック数が前記参照画像メモリに格納可能な最大マクロブロック数より小さい場合、前記第Ｎ−１フレームにおいてイントラ符号化したマクロブロック位置にあるマクロブロックを第Ｎフレームにおいてインター符号化する。
【００５４】
上記構成によれば、周辺にインター符号化するマクロブロックが全く隣接していない場合はイントラ符号化するマクロブロック位置は連続してイントラ符号化するように決定される可能性があるが、一般的にイントラ符号化はインター符号化に比べて符号化効率が悪いことから、数フレームに１回はインター符号化することにより符号化効率が向上することができる。
【００５５】
請求項２２の動画符号化方法は、請求項１の動画符号化方法において、イントラ符号化するターゲット領域の動き情報を第Ｎ−１フレームで与え、第Ｎフレームにおいて前記ターゲット領域が予測されるマクロブロック位置にあるマクロブロックを前記第Ｎフレームにおいてイントラ符号化し、前記マクロブロック位置の周辺のマクロブロックを前記第Ｎフレームにおいてインター符号化する。
【００５６】
上記構成によれば、ターゲット領域と動き情報により、撮りたいターゲットは画質を重視したイントラ符号化を行い、ターゲットの周辺部は符号化効率を重視したインター符号化を行い、これらの領域を次のフレームにおいてターゲットの動きに合わせて動かすことができるため、撮影対象のターゲットに焦点を合わせた効率の良い符号化が可能になる。
【００５７】
請求項２３の動画符号化方法は、請求項１の動画符号化方法において、インター符号化する最大マクロブロック数以下のマクロブロックで画像フレームが構成される動画像の符号化では、全てのマクロブロック位置に対して参照画像のマクロブロックを生成して前記参照画像メモリに格納し、インター符号化する最大マクロブロック数を越えるマクロブロック数で画像フレームが構成される動画像の符号化では、インター符号化することが決定されたマクロブロックの位置のみに対して参照画像のマクロブロックを生成して前記参照画像メモリに格納する。
【００５８】
上記構成によれば、複数の画像サイズの動画符号化を単一システムで行うことが可能になる。例えば、インター符号化する最大マクロブロック数が４００で対応する参照画像メモリを備える場合は、マクロブロック数が３９６のＣＩＦ画像についてはインター符号化するマクロブロック数に制限がなく通常の動画像符号化ができ、マクロブロック数が１２００のＶＧＡ画像についてはインター符号化するマクロブロック数を制限して動画像符号化することができるため、双方の画像サイズの動画符号化を参照画像メモリのコストを抑えた単一システムで行うことができる。
【００５９】
請求項２４の動画符号化方法は、請求項１の動画符号化方法において、インター符号化された回数をマクロブロック位置毎に保持し、起動時、前記インター符号化の回数が多いマクロブロック位置にあるマクロブロックから優先的にインター符号化する優先度を与える。
【００６０】
上記構成によれば、初期化時においてインター符号化回数の多いマクロブロック位置のマクロブロックから優先的にインター符号化することで、その後の画質や符号化効率を良好にすることができる。例えば、固定の監視カメラ画像の場合であれば動きの少ないマクロブロック位置のマクロブロックに対してインター符号化が優先的に割り当てられるため、再起動後の符号化効率が向上する。
【００６１】
請求項２５の動画符号化方法は、請求項１の動画符号化方法において、前記インター符号化された回数を保持するか否かおよび前記インター符号化の回数が多いマクロブロック位置のマクロブロックから優先的にインター符号化するか否かを選択する。
【００６２】
上記構成によれば、インター符号化回数保持、インタ符号化の優先割当を選択可能とし、例えば、固定の監視カメラとして使用する場合はインター符号化回数の多いマクロブロック位置のマクロブロックを優先的にインター符号化に割り当てることで画質や符号化効率を改善することができ、移動カメラとして使用する場合はこれらの機能が有効ではないので選択せずに符号化を行うことで、用途に応じて符号化を行うことができる。
【００６３】
請求項２６の動画符号化方法は、請求項１の動画符号化方法において、第Ｎ−１フレームにおいてインター符号化した全てのマクロブロックの符号量の総和がシーンチェンジを検出するための所定の閾値を超えた場合、第Ｎフレームにおいて全マクロブロックをイントラ符号化する。
【００６４】
上記構成によれば、シーンチェンジが発生するとインター符号化の符号化効率が低下し符号量が大きくなることから、シーンチェンジを検出してシーンチェンジ発生時に全てのマクロブロック位置のマクロブロックをイントラ符号化することで、次のフレームでイントラ符号化またはインター符号化するマクロブロック位置を千鳥状の配置等に設定することができ、その後の符号化効率を向上させることができる。
【００６５】
請求項２７の動画符号化方法は、現画像の所定の領域をなすマクロブロック毎に、画像データを直交変換した後に量子化および可変長符号化するイントラ符号化と、前記現画像の参照画像に対する動きベクトルを検出し、前記参照画像に対して前記動きベクトルを用いて動き補償を行い、前記現画像と前記動き補償後の参照画像との差分データを直交変換した後に量子化および可変長符号化するインター符号化とを用いて動画像を符号化し、かつ前記インター符号化のために前記量子化後の画像データまたは前記量子化後の差分データを逆量子化、逆直交変換して生成した前記現画像の次の画像フレームの参照画像を格納する動画像符号化方法であって、前記イントラ符号化または前記インター符号化するマクロブロック位置を所定のパターンで与える。
【００６６】
上記構成によれば、例えば、定期的あるいはシーンチェンジにより全てのマクロブロックをイントラ符号化した場合等、次の画像フレームに対してイントラ符号化またはインター符号化するマクロブロック位置を初期値として与える場合に、適切なマクロブロック位置のパターンを与えることにより、符号化時の符号量の偏りを減らし符号化効率を向上させることができる。
【００６７】
請求項２８の動画符号化方法は、請求項２７の動画符号化方法において、前記所定のパターンは、インター符号化されるマクロブロック位置が千鳥状に配置したパターンである。
【００６８】
上記構成によれば、初期値としてインター符号化するマクロブロック位置を千鳥状に配置されたパターンにすることで、符号化時の符号量の偏りを最も少なくすることができる。
【００６９】
請求項２９の動画符号化方法は、請求項２７の動画符号化方法において、前記所定のパターンは、インター符号化されるマクロブロック位置が格子状に配置したパターンである。
【００７０】
上記構成によれば、初期値としてインター符号化するマクロブロック位置を格子状に配置されたパターンにすることにより、符号化時の符号量の偏りを少なくするとともに、符号化時の動き検出の機会が多くなることで、符号化効率を向上させることができる。
【００７１】
請求項３０の動画符号化装置は、現画像の所定の領域をなすマクロブロック毎に、画像データを直交変換した後に量子化および可変長符号化するイントラ符号化と、前記現画像の参照画像に対する動きベクトルを検出し、前記参照画像に対して前記動きベクトルを用いて動き補償を行い、前記現画像と前記動き補償後の参照画像との差分データを直交変換した後に量子化および可変長符号化するインター符号化とを用いて動画像を符号化する符号化手段と、前記インター符号化のために前記量子化後の画像データまたは前記量子化後の差分データを逆量子化、逆直交変換して生成した前記現画像の次の画像フレームの参照画像を格納する参照画像メモリとを備える動画像符号化装置であって、１画像フレーム内でインター符号化する最大マクロブロック数の範囲内で、イントラ符号化またはインター符号化するマクロブロック位置を現画像（第Ｎフレーム）より前の画像（第Ｍフレーム、Ｍ≦Ｎ−１）の符号化時に決定する決定手段を備える。
【００７２】
上記構成によれば、イントラ符号化またはインター符号化するマクロブロック位置を現画像より前の画像の符号化時に決定することで、現フレームで全てのマクロブロックの参照画像を用意する必要がなくなり、参照画像メモリの容量を減らすことが可能になる。
【００７３】
請求項３１の動画符号化装置は、請求項３０の動画符号化装置において、前記参照画像メモリは、インター符号化することを決定したマクロブロック位置のみに対して次の画像フレームの参照画像のマクロブロックを格納する。
【００７４】
上記構成によれば、参照画像メモリに格納する参照画像のマクロブロックを限定することができるため参照画像メモリの容量を減らすことができる。
【００７５】
請求項３２の動画符号化装置は、請求項３０の動画符号化装置において、前記参照画像メモリは、画像フレームを構成する全てのマクロブロックに対する参照画像を格納するために必要な容量より小さい容量である。
【００７６】
請求項３３の動画符号化装置は、請求項３０の動画符号化装置において、前記参照画像メモリに格納した参照画像のマクロブロック位置を前記参照画像メモリのアドレスに対比させて管理するアドレス管理手段を備える。
【００７７】
請求項３４の動画符号化装置は、請求項３０の動画符号化装置において、前記参照画像メモリに格納された参照画像のマクロブロック数をカウントするマクロブロック数カウント手段を備える。
【００７８】
請求項３５の動画符号化装置は、請求項３４の動画符号化装置において、前記決定手段は、前記参照画像メモリに格納されたマクロブロック数がインター符号化する最大マクロブロック数である場合、以降のマクロブロック位置のマクロブロックを次の画像フレームにおいてイントラ符号化する。
【００７９】
上記構成によれば、参照画像メモリに保持可能なマクロブロック数を管理することができる。
【００８０】
請求項３６の動画符号化装置は、請求項３０の動画符号化装置において、インター符号化するマクロブロック位置にあるマクロブロックと前記参照画像メモリに格納された参照画像のマクロブロックとの差分から差分絶対値総和等の評価関数値を算出する関数値算出手段を備える。
【００８１】
請求項３７の動画符号化装置は、請求項３６の動画符号化装置において、前記決定手段は、前記評価関数値が所定の閾値より大きい場合、次の画像フレームにおいて前記マクロブロック位置にあるマクロブロックをイントラ符号化する。
【００８２】
上記構成によれば、評価関数値が所定の閾値より大きい場合、そのマクロブロックの動きが大きい（動きが激しい）と考えられ、次のフレームでそのマクロブロック位置のマクロブロックを続けてインター符号化した場合は動き検出の誤差により符号量が増加すると予測されるため、一般的にインター符号化よりも符号化効率が悪いとされるイントラ符号化に変えても符号化効率に大差は無いと判断して、そのマクロブロック位置のマクロブロックをイントラ符号化することにより画質を向上させることができる。また、参照画像メモリに記録余裕が無いと判断される場合にも、イントラ符号化に変えた分だけ参照画像メモリを空けることができ、他のマクロブロック位置のマクロブロックをインター符号化する余裕を作り出すことで、総合的な符号化効率の向上を図ることができる。
【００８３】
請求項３８の動画符号化装置は、請求項３０の動画符号化装置において、各マクロブロック位置における連続インター符号化回数をカウントするインター符号化回数カウント手段を備える。
【００８４】
請求項３９の動画符号化装置は、請求項３８記載の動画符号化装置において、前記決定手段は、前記連続インター符号化回数が所定の閾値であるマクロブロック位置にあるマクロブロックに対して、次の画像フレームにおいてイントラ符号化する。
【００８５】
上記構成によれば、差分をとって符号化するインター符号化が同一マクロブロック位置で連続した場合は通信中のエラーが重畳した場合に復旧が難しくなることから、数フレームに１回はイントラ符号化にすることによりエラー耐性の強化を図ることができる。
【００８６】
請求項４０の動画符号化装置は、請求項３０記載の動画符号化装置において、各マクロブロック位置における連続イントラ符号化回数をカウントするイントラ符号化回数カウント手段を備える。
【００８７】
請求項４１の動画符号化装置は、請求項４０記載の動画符号化装置において、前記決定手段は、前記連続イントラ符号化回数が所定の閾値にあるマクロブロック位置にあるマクロブロックに対して、前記参照画像メモリに格納したマクロブロック数が前記参照画像メモリに格納可能な最大マクロブロック数より小さい場合、次の画像フレームにおいてインター符号化する。
【００８８】
上記構成によれば、周辺にインター符号化するマクロブロックが全く隣接していない場合はイントラ符号化するマクロブロック位置のマクロブロックは連続してイントラ符号化するように決定される可能性があるが、一般的にイントラ符号化はインター符号化に比べて符号化効率が悪いことから、数フレームに１回はインター符号化することにより符号化効率が向上することができる。
【００８９】
請求項４２の動画符号化装置は、請求項３０記載の動画符号化装置において、前記符号化手段は、隣接する全てまたは所定数以上のマクロブロックがイントラ符号化されるマクロブロック位置にあるマクロブロックのインター符号化を動きベクトルをゼロとして行う。
【００９０】
上記構成によれば、例えば、固定の監視カメラでほとんど動きの無い対象を撮影する場合、動き補償の処理機能を抑止し、動きベクトルをゼロベクトルとしてインター符号化を行うことでインター符号化処理を簡略化することができる。
【００９１】
請求項４３の半導体集積回路は、請求項３０から４２のいずれか一項記載の動画符号化装置を搭載する。
【００９２】
上記構成によれば、メモリ容量の削減が可能な参照画像メモリを内蔵することにより、チップ端子数の削減、セット面積基板の小型化、パッド間の消費電力削減、処理スピードの高速化が可能な集積回路を実現できる。
【００９３】
【発明の実施の形態】
以下、本発明の実施の形態について図面を参照して説明する。なお、以下の実施の形態において使用する閾値等の値は説明のための値であり、本発明の実施の形態を限定するものではない。また、以下の実施の形態において、直交変換としてＤＣＴの代わりに他の直交変換手法を用いても良いし、可変長符号化にハフマン符号化の代わりに他の可変長符号化手法を用いても良い。
【００９４】
（実施の形態１）
図１は本発明の実施の形態１に係る動画符号化装置の構成を示すブロック図である。なお、図１において、図３０に示した従来の動画符号化装置と同一部分には同一符号を付して説明する。
【００９５】
図１において、１０１は画像入力部、１０３は直交変換を行うＤＣＴ部、１０４は量子化部、１０５は可変長符号化を行うハフマン符号化部、１０６は逆量子化部、１０７は逆直交変換を行う逆ＤＣＴ部、１０８は参照画像メモリ、１０９は動き補償部、１１０は動き検出部、１１１はメモリ制御部である。
【００９６】
メモリ制御部１１１には、１画像フレーム内でインター符号化する最大マクロブロック数が画像フレームを構成するマクロブロック数より小さい値に設定されており、設定した最大マクロブロック数の範囲内で、次のフレームでインター符号化するマクロブロック位置を決定する。これにより、参照画像メモリは１画像フレーム全体の参照画像を記録するフレームメモリである必要がなくなり、インター符号化する最大マクロブロック数に必要な容量で構成することができる。
【００９７】
なお、図１では、次のフレームでインター符号化するマクロブロック位置のマクロブロックのみについて参照画像メモリ１０８に記録するための記録制御をメモリ制御部１１１が行う様子を模式的にスイッチ機能（ＳＷ）により示している。
【００９８】
図２は本実施の形態における参照画像メモリに対する記録制御の様子を説明する図である。図２においては、動画像はＣＩＦ画像（マクロブロック：２２個×１８個）でイントラ符号化マクロブロックとインター符号化マクロブロックとの割合は５０％ずつとし、フレーム（画面）の左側がイントラ符号化するマクロブロック位置、フレーム（画面）の右側がインター符号化するマクロブロック位置のレイアウトを示している。
【００９９】
参照画像メモリ１０８へは次フレームでインター符号化するマクロブロック位置の参照画像マクロブロック群２０３のみを記録するので、参照画像メモリ１０８は全マクロブロック位置の参照画像を記録可能な従来のフレームメモリ２０４の半分の容量にすることが可能になる。
【０１００】
図２を用いて具体的な動画符号化の処理例を説明する。第１フレームでは全てのマクロブロックに対してイントラ符号化を行うとする。このとき参照画像メモリ１０８に参照画像を記録するが、第２フレームでイントラ符号化するマクロブロック位置にあるマクロブロック群２０１については参照画像マクロブロックを記録せず、第２フレームでインター符号化するマクロブロック位置にあるマクロブロック群２０２については参照画像マクロブロック群２０３を生成して記録する。
【０１０１】
次の第２フレームにおいて、イントラ符号化するマクロブロック位置にあるマクロブロック群については第１フレームと同様の符号化処理を繰り返し、インター符号化するマクロブロック位置にあるマクロブロック群２０５については、参照画像メモリ１０８に記録された参照画像マクロブロック２０３群を読み出し、動き検出部１１０で動き検出を行い、動き検出で求めた動きベクトルを用いて動き補償部１０９で動き補償を行い予測画像のマクロブロックを生成する。
【０１０２】
次に、現画像のマクロブロックと動き補償した予測画像のマクロブロックとの差分をとり、その差分データをＤＣＴ部１０３、量子化部１０４およびハフマン符号化部１０５によって符号化し、インター符号化データを得る。
【０１０３】
さらに、量子化後の差分マクロブロックデータをローカルデコードし、第３フレームでインター符号化するマクロブロック用の参照画像マクロブロックを生成し、これを参照画像メモリ１０８に記録する。参照画像メモリ１０８に記録する参照画像マクロブロックデータはマクロブロック毎に同アドレスに記録する。すなわち、参照画像マクロブロックは処理する度に同位置に上書きされるので、参照画像メモリ１０８の容量は常に一定でよい。
【０１０４】
第３フレーム以降も第２フレームと同様の動作を繰り返し、フレームの左側はイントラ符号化、右側はインター符号化となるようにその後の符号化処理を行うことで、図２に例示した動画符号化の処理が進行する。
【０１０５】
図２の実施の形態では、説明上、画面の左右にイントラ符号化マクロブロック位置とインター符号化マクロブロック位置をレイアウトしたが、画面の左右、上下を問わず、また２分割でなくてもよい。しかし、分割数が多くなると動き検出する範囲が狭くなり動き検出の精度が低下する可能性があり、さらにメモリ制御も複雑になる。
【０１０６】
本実施の形態によれば、参照画像メモリには次のフレームでインター符号化するマクロブロック位置の参照画像マクロブロックのみを記録することにより、参照画像メモリの容量を減らすことが可能になり、低コストの動画符号化システムを実現することができる。
【０１０７】
（実施の形態２）
図３は本発明の実施の形態２に係る動画符号化装置の構成を示すブロック図である。図３において、図１に示した実施の形態１の動画符号化装置と同一部分には同一符号を付して説明する。
【０１０８】
本実施の形態の動画符号化装置においては、イントラ符号化するマクロブロック位置とインター符号化するマクロブロック位置の配置を外部から指定する。図３においては、図１の構成に加えて、外部からのインター符号化指示信号３０１がメモリ制御部１１１に入力される。
【０１０９】
撮影する画像によってはイントラ符号化、インター符号化するマクロブロック位置を図２に示したように画面固定すると符号化効率が悪くなる場合があるため、本実施の形態では、撮影している画像をユーザが判断し、外部からマクロブロック位置の符号化区分を設定可能にする。
【０１１０】
図４は本実施の形態における参照画像メモリに対する記録制御の様子を説明する図である。図４においては、第Ｎ−１フレームにおいてフレームの左側がイントラ符号化するマクロブロック群４０１、右側がインター符号化するマクロブロック群４０２であり、参照画像メモリ１０８には第Ｎ−１フレームにおいてインター符号化するマクロブロック位置の参照画像マクロブロック群４０５が記録される。
【０１１１】
ここで、第Ｎ−１フレームの符号化処理前に外部からインター符号化指示信号３０１が入力され、第Ｎフレームではフレームの左側をインター符号化するマクロブロック位置に、右側をイントラ符号化するマクロブロック位置に変更する指示がメモリ制御部１１１に伝えられたものとする。
【０１１２】
まず、第Ｎ−１フレームの符号化処理では、参照画像メモリ１０８に記録されている参照画像マクロブロック群４０５を用いて、インター符号化するマクロブロック群４０２のマクロブロックから符号化を行う。続いてイントラ符号化するマクロブロック群４０１のマクロブロックの符号化を行う。
【０１１３】
インター符号化するマクロブロック位置の符号化処理を先に行う理由は、第Ｎ−１フレームでイントラ符号化するマクロブロック位置が第Ｎフレームではインター符号化するマクロブロック位置となるため、参照画像メモリ１０８に第Ｎフレームでインター符号化するマクロブロック位置の参照画像マクロブロック群４０６を記録する必要があるからである。
【０１１４】
すなわち、参照画像メモリ１０８に記録されている参照画像マクロブロック群４０５を先に使用し、これに対して第Ｎフレームでのインター符号化用の参照画像マクロブロック群４０６を上書きすることにより、参照画像メモリ１０８の容量を一定にして増やさないようにする。
【０１１５】
また、最終的に第Ｎフレームで、第Ｎ−１フレームで参照画像メモリ１０８に記録した参照画像マクロブロックを用いてインター符号化するか、これを用いずにイントラ符号化するかを決定することも、インター符号化中止の適当な判定基準が得られるならば可能である。
【０１１６】
本実施の形態によれば、イントラ符号化、インター符号化するマクロブロック位置をユーザが外部から指定可能にすることにより、撮影するシーンに合った動画符号化処理ができるようになる。その際に、次フレームで使用する参照画像マクロブロックのみを参照画像メモリに書き込むようすることで、実施の形態１と同様に参照画像メモリの容量を削減することができる。
【０１１７】
（実施の形態３）
図５は本発明の実施の形態３に係る動画符号化装置の構成を示すブロック図である。図５において、図１に示した実施の形態１の動画符号化装置と同一部分には同一符号を付して説明する。
【０１１８】
本実施の形態の動画符号化装置においては、画像フレームの符号量からイントラ符号化、インター符号化するマクロブロック位置を決定する。図５においては、図１の構成に加えて、画像フレームの符号量をカウントする符号量カウンタ５０１が設けられ、外部からの符号量閾値５０２が入力される。
【０１１９】
図６は本実施の形態における参照画像メモリに対する記録制御の様子を説明する図である。図６において、第Ｎ−１フレームではフレームの左側がイントラ符号化するマクロブロック群６０１、右側がインター符号化するマクロブロック群６０２であり、参照画像メモリ１０８にはインター符号化するマクロブロック位置の参照画像マクロブロック群６０３が記録されているものとする。符号化の順序は、実施の形態２と同様に、インター符号化するマクロブロック群６０２を先に符号化し、続いてイントラ符号化するマクロブロック群６０１を符号化するものとする。
【０１２０】
ここで、第Ｎ−１フレームの符号化処理前から符号量の符号量閾値５０２が符号量カウンタ５０１に入力されており、第Ｎ−１フレームでマクロブロック群６０２をインター符号化した符号量の総和が符号量閾値よりも小さい場合は、図６の（例１）のように、第Ｎフレームは第Ｎ−１フレームと同様の配置でフレームの左側をイントラ符号化するマクロブロック位置、右側をインター符号化するマクロブロック位置とするようにメモリ制御部１１１で制御する。
【０１２１】
すなわち、インター符号化するマクロブロック群６０２を符号化し、そのローカルデコードデータを参照画像マクロブロック群６０９として参照画像マクロブロック群６０３に上書きすることで参照画像メモリ１０８に記録し、ここで得られる前記閾値判定結果に従い、イントラ符号化するマクロブロック群６０１のローカルデコードデータは参照画像メモリ１０８に記録しないようにする。
【０１２２】
その結果、参照画像メモリ１０８には第Ｎフレームでインター符号化するマクロブロック群６０８の参照画像マクロブロック群６０９のみが記録される。これにより第Ｎフレームで参照画像マクロブロック群６０９を用いてマクロブロック群６０８をインター符号化することができる。インター符号化の符号量の総和が符号量閾値より小さいということは、そのシーンにおける画像符号化が目指す符号量内で実施できたことを示している。
【０１２３】
次に、第Ｎ−１フレームでマクロブロック群６０２をインター符号化した符号量の総和が符号量閾値よりも大きい場合は、図６の（例２）のように、第Ｎフレームは第Ｎ−１フレームと反対の配置、すなわち、フレームの左側をインター符号化するマクロブロック位置、右側をイントラ符号化するマクロブロック位置にするようにメモリ制御部１１１で制御する。
【０１２４】
すなわち、インター符号化するマクロブロック群６０２を符号化し、そのローカルデコードデータを参照画像マクロブロック群６０９として参照画像マクロブロック群６０３に上書きすることで参照画像メモリ１０８に記録するが、ここで得られる閾値判定結果に従ってマクロブロック位置の符号化区分の配置を変更するので、次にイントラ符号化するマクロブロック群６０１のローカルデコードデータを参照画像マクロブロック群６０６として参照画像マクロブロック群６０９に上書きして参照画像メモリ１０８に記録する。
【０１２５】
その結果、参照画像メモリ１０８には第Ｎフレームでインター符号化するマクロブロック群６０４の参照画像マクロブロック群６０６のみが記録される。これにより第Ｎフレームで参照画像マクロブロック群６０６を用いてマクロブロック群６０４をインター符号化することができる。
【０１２６】
インター符号化した符号量の総和が符号量閾値より大きいということは、そのシーンにおいて画像の動きが速く、動き検出マッチング精度の低下に伴う誤差等で符号量が増加している等の原因が考えられ、イントラ符号化しても符号化効率が悪化しないと判断できる。その代わりに、イントラ符号化していた他のマクロブロック位置をインター符号化に変えることにより、総合的に符号化効率が改善される可能性がある。また、閾値を与えることによりメモリ制御部で符号化効率の良い配置が選択されるため、実施の形態２のようにユーザがシーンチェンジ毎に符号化レイアウトを指定する必要がなくなる。
【０１２７】
本実施の形態によれば、画像フレームの符号量の総和からの判断に基づく符号化レイアウトの最適化が自動的にできるようになり、符号化効率を向上させることができる。また、実施の形態１や２と同様に、次のフレームで使用する参照画像マクロブロックのみを参照画像メモリに書き込むようにして参照画像メモリを削減することができる。
【０１２８】
（実施の形態４）
実施の形態１から３では、マクロブロック位置の符号化区分を図４や図６に示したように単純に画面を分割して配置するため、画面上における符号化効率の偏りが発生する。実施の形態４では、イントラ符号化、インター符号化するマクロブロック位置として、符号化効率の偏りが発生しないように考慮したパターンを採用する。
【０１２９】
図７は本発明の実施の形態４に係る動画符号化装置の構成を示すブロック図である。図７において、図１に示した実施の形態１の動画符号化装置と同一部分には同一符号を付して説明する。
【０１３０】
図８は本実施の形態における動画符号化制御の様子を説明する図である。図８の実施の形態においては、画像フレームはマクロブロック位置（マクロブロックアドレス）を示す８０１のように１６個のマクロブロックで構成されているものとし、イントラ符号化、インター符号化するマクロブロック位置は８０２に示すように千鳥状に配置したパターンで与えられるものとする。
【０１３１】
このようにマクロブロック位置の符号化区分を単なる分割以外のパターンで配置することにより、参照画像メモリ１０８に記録される参照画像のマクロブロック位置の管理が必要となるため、本実施の形態の動画符号化装置では、図７に示すように、参照画像メモリ１０８に記録された参照画像のマクロブロック位置を参照画像メモリのアドレスに対比可能に記録するマクロブロックアドレス管理部７０１を設けている。これにより参照画像のマクロブロック位置を指定して参照画像メモリにアクセスすることができる。
【０１３２】
また、マクロブロック位置の符号化区分を千鳥状配置のようなパターンに配置で固定したままでは以降のシーンによっては符号化効率が悪くなる可能性があるので、それを検知するために、図７に示すように、図５と同様に画像フレームの符号量をカウントする符号量カウンタ５０１を設け、外部からの符号量閾値５０２を入力している。これにより、符号量カウンタ５０１でカウントされる符号量が符号量閾値５０２より大きい場合は千鳥状配置のようなパターンは反転させるようにメモリ制御部１１１で制御する。
【０１３３】
ここでは、符号量カウンタ５０１でカウントする符号量および符号量閾値５０２としては、１画像フレームの符号量の総和を扱うものとする。
【０１３４】
図８において、第Ｎ−２フレーム８０２でマクロブロック位置の符号化区分が図示するように千鳥状に配置されているときに、画像符号化は、マクロブロック位置１から２、…１６の順で行う。
【０１３５】
第Ｎ−２フレームの画像符号化の結果、符号量カウンタ５０１で集計された１画像フレーム分の符号量の総和が符号量閾値５０２よりも大きいものとする。しかし、参照画像メモリ１０８には第Ｎ−１フレームでインター符号化するために参照画像８０３が記録されているため、第Ｎ−２フレームの符号量の総和が大きいと判断されても、メモリ制御部１１１は第Ｎ−１フレームで千鳥状の符号化区分配置を反転させることができない。
【０１３６】
そこで、第Ｎ−１フレーム８０４では第Ｎ−２フレーム８０２と同様の符号化区分配置で符号化を行い、参照画像メモリ１０８にはイントラ符号化したマクロブロックから生成した参照画像マクロブロックを記録し、第Ｎフレーム８０６でインター符号化するための参照画像８０５とする。その上で、マクロブロック位置の符号化区分配置を反転させて第Ｎフレーム８０６のような千鳥状の配置に変える。
【０１３７】
その結果、第Ｎフレーム８０６では参照画像８０５を用いて、マクロブロック位置の千鳥状配置の符号化区分を反転させたパターンに従って符号化を実施することができ、シーン変化に応じた符号化効率の良い符号化を実現することができる。
【０１３８】
上記実施の形態においては、イントラ符号化、インター符号化するマクロブロック位置を千鳥状に配置したことにより、動き検出に使用する参照画像マクロブロックとその周辺の参照画像マクロブロックが千鳥状に記録される。その結果、マクロブロック単位の動き検出精度が大幅に低下するため、動き検出はマクロブロック内で画素単位に行う。
【０１３９】
しかし、１マクロブロック内の画素単位の動き検索では１マクロブロックを越えた動き検出ができないため、動きの激しい映像に関しては動き検出精度が極めて低下する。そこで、動画符号化処理を簡素化するために、動き検出と動き補償を止めて動きベクトルをゼロベクトルに固定しても結果に大きな差は生じない。
【０１４０】
図９は、動画符号化処理を簡素化し、図７に示した実施の形態４に係る動画像符号化装置の構成を簡略化したブロック図である。図９においては、図７の構成から動き補償部１０９および動き検出部１１０が除かれている。例えば、画面の小さい携帯機器でマクロブロック位置の符号化区分配置として千鳥状配置を採用した場合等では、簡素化された構成により実用的な符号化効率を維持しつつ装置のコストを低減することができる。
【０１４１】
本実施の形態によれば、イントラ符号化、インター符号化するマクロブロック位置を千鳥状配置等のパターンで配置することにより、画面上の符号化効率の偏りを無くすことができ、さらに符号化した符号量を判定してマクロブロック位置の符号化区分配置を反転させる制御を行うことで、符号化レイアウトの最適化が可能になり、符号化効率を向上させることができる。
【０１４２】
以上の説明においては、イントラ符号化、インター符号化するマクロブロック位置のパターンとして千鳥状配置を使用する例を示したが、このようなパターンの使用は上記実施の形態に示したように同一パターンを使用し続ける場合だけでなく、マクロブロック毎に画面情報や符号量に応じて次以降のフレームでいずれの符号化を行うかを判定し、イントラ符号化、インター符号化するマクロブロック位置を変えていく場合にも効果的である。
【０１４３】
例えば、定期的に全マクロブロックをイントラ符号化した場合に、その次のフレームに対してイントラ符号化、インター符号化するマクロブロック位置の初期設定として、適切なマクロブロック位置の符号化区分配置を与えることにより、符号化時の符号量の偏りを減らし符号化効率を向上させることができる。
【０１４４】
図１０は、イントラ符号化、インター符号化するマクロブロック位置の初期設定パターン例を示す図である。図１０においてパターン１００１は上記実施の形態に示した千鳥型で、参照画像メモリの容量を１画像フレーム全体の参照画像を記録するフレームメモリの半分にすることができ、画面上の符号量の偏りを最も緩和できる可能性があるが、短所としては、参照画像マクロブロックが千鳥状に記録されるため、周辺のマクロブロックとしては斜め方向の参照画像マクロブロックしか参照できず、動き検出の精度が低下することが挙げられる。
【０１４５】
図１０のパターン１００２は格子型で、隣接する参照画像マクロブロックが左右、上下方向に複数個あるため、マクロブロック間の動き検出が可能になり動き検出の精度が向上するが、インター符号化するマクロブロックが多くなるため、参照画像メモリの容量を１画像フレーム全体の参照画像を記録するフレームメモリの半分にまで減らすことができなくなる。
【０１４６】
図１０のパターン１００３から１００６は実施の形態１で説明したような分割型で、参照画像メモリの容量を１画像フレーム全体の参照画像を記録するフレームメモリの半分にすることができ、単純なパターンのために参照画像を記録するためのメモリ制御が容易であるが、特殊な画像を対象とする場合以外は画面上の符号量の偏りが大きくなる。
【０１４７】
図１０のパターン１００７と１００８はストライプ型で、参照画像メモリの容量を１画像フレーム全体の参照画像を記録するフレームメモリの半分にすることができ、ストライプ方向の動き検出の精度が向上するが、千鳥型や格子型に比べると画面上の符号量の偏りが大きくなる。
【０１４８】
図１０のパターン１００９は画面中央部をイントラ符号化する中央高画質型で、画面中央部の画質は良くなるが、参照画像メモリの容量を１画像フレーム全体の参照画像を記録するフレームメモリの半分にまで減らすことができず、特殊な画像を対象とする場合以外は画面上の符号量の偏りが大きくなる。
【０１４９】
（実施の形態５）
前述した実施の形態４の手法は、１画像フレームの符号量が閾値を超えるほど大きくなった場合に、これに続くフレームに対してイントラ符号化、インター符号化するマクロブロック位置の初期設定を与える方法として有用であり、特に、定期的またはシーンチェンジにより全マクロブロックをイントラ符号化する場合は、次のフレームに対する符号化区分パターンの初期設定として千鳥型配置が効果的である。
【０１５０】
実施の形態５は実施の形態４の応用例であり、画像フレームの符号量の観測により、符号量が異常に大きくなった場合にこれをシーンチェンジとして検出し、シーンチェンジを検出した場合に全マクロブロックをイントラ符号化し、その次のフレームの符号化区分パターンを千鳥型配置とするものである。
【０１５１】
図１１は本発明の実施の形態５に係る動画符号化装置の構成を示すブロック図である。図１１において、図１に示した実施の形態１、図７に示した実施の形態４の動画符号化装置と同一部分については同一符号を付して説明する。
【０１５２】
図１１の構成においては、図７の構成に対して、符号量カウンタ５０１に外部から入力するシーンチェンジ閾値１１０１と、メモリ制御部１１１に外部から入力するシーンチェンジ信号１１０２とが追加されている。
【０１５３】
図１２は本実施の形態における動画符号化制御の様子を説明する図である。図１２に示す実施の形態においては、画像フレームはマクロブロック位置（マクロブロックアドレス）を示す１２０１のように１６個のマクロブロックで構成されているものとする。
【０１５４】
第Ｎ−１フレーム１２０２において通常の符号化処理を行う場合は、各マクロブロック位置毎のイントラ符号化、インター符号化の区分に従い符号化を行い、参照画像１２０３を生成して参照画像メモリ１０８に記録し、第Ｎフレーム１２０４に進む。ここでは、次の実施の形態６で説明するマクロブロック毎に次のフレームでいずれの符号化を行うかを判定する場合を示しており、第Ｎ−１フレーム１２０２のマクロブロック位置６がイントラ符号化からインター符号化に変更されている。
【０１５５】
ここで、第Ｎ−１フレームにおいてシーンチェンジが発生し、符号量カウンタ５０１で観測された符号量の総和がシーンチェンジ閾値１１０１を超えたことが検出され、またはシーンチェンジ信号１１０２が外部から通知されたとする。この場合は第Ｎフレームにおいて参照画像メモリ１０８に記録された参照画像１２０３を使用しても符号化効率は良くならないので、記録された参照画像１２０３を無視し、第Ｎフレームにおいては全マクロブロックをイントラ符号化するように決定する。
【０１５６】
全マクロブロックをイントラ符号化することになった第Ｎフレーム１２０５においては、次の第Ｎ＋１フレームの符号化区分パターンを千鳥型配置とし、全マクロブロックをイントラ符号化を行うとともに、千鳥型配置のインター符号化するマクロブロック位置に対して参照画像１２０６を生成して参照画像メモリ１０８に記録する。
【０１５７】
千鳥型配置でインター符号化するマクロブロック位置が与えられた第Ｎ＋１フレーム１２０７においては、参照画像メモリ１０８に記録された参照画像１２０６を使用して符号化を行うとともに、マクロブロック毎に次のフレームでいずれの符号化を行うかを判定する通常の符号化処理に戻り、参照画像１２０８を生成し第Ｎ＋２フレーム１２０９に進む。
【０１５８】
本実施の形態では効果的な符号化区分パターンの初期設定として千鳥型配置を選んだが、撮影する動画像の性質によっては他のパターンの方が効果的な場合もあるので、目的に応じて符号化効率を向上させる適切なパターンを選択することが望ましい。
【０１５９】
（実施の形態６）
実施の形態４、５の実施の形態では、千鳥状配置の符号化区分パターンを使用して動画符号化を行うことにより画面上での符号化効率の偏りを無くしたが、同一の符号化区分パターンとその反転パターンを使用するだけではシーンに応じて符号化効率を向上させることはできない。
【０１６０】
実施の形態６においては、第Ｎフレームにおける画像フレームの情報や各マクロブロックの符号量等の判断に基づき、マクロブロック位置毎に第Ｎフレームでイントラ符号化とインター符号化のいずれの符号化を行うか決定することにより符号化効率を向上させる。
【０１６１】
図１３は本発明の実施の形態６に係る動画符号化装置の構成を示すブロック図である。図１３において、図１に示した実施の形態１および図７に示した実施の形態４の動画符号化装置と同一部分については同一符号を付して説明する。
【０１６２】
図１３の構成においては、図７の構成に対して、インターマクロブロック数カウンタ１３０１、差分比較回路１３０２、差分比較回路１３０２に入力する差分閾値１（１３０３）および差分閾値２（１３０４）、連続インター符号化回数カウンタ１３０５、連続インター符号化回数カウンタ１３０５に入力する閾値１３０６、連続イントラ符号化回数カウンタ１３０７、連続イントラ符号化カウンタ１３０７に入力する閾値１３０８が追加されている。
【０１６３】
本発明においては参照画像メモリ１０８には次のフレームでインター符号化するマクロブロック位置のみについて参照画像を記録するが、本実施の形態においてはマクロブロック位置毎に次のフレームでいずれの符号化を行うか決定するため、参照画像メモリ１０８に記録する参照画像の個数とマクロブロック位置（マクロブロックのアドレス）が変化する。
【０１６４】
そのため、参照画像メモリ１０８に記録するマクロブロック位置を管理するマクロブロックアドレス管理部７０１の他に、現画像フレームについて参照画像メモリ１０８に記録する参照画像マクロブロック数を管理するためにインターマクロブロック数カウンタ１３０１を設けている。
【０１６５】
これを用いた参照画像マクロブロック数の管理方法は次のようなものである。インターマクロブロック数カウンタ１３０１としてアップカウント（＋１）およびダウンカウント（−１）ができる双方向カウンタを用い、参照画像メモリ１０８に容量分の参照画像マクロブロックが記録されている状態のときにカウント値を０とする。
【０１６６】
現画像フレームでイントラ符号化したマクロブロック位置のマクロブロックを次のフレームでインター符号化する場合はダウンカウント（−１）し、現画像フレームでインター符号化したマクロブロック位置のマクロブロックを次のフレームでイントラ符号化する場合はアップカウント（＋１）し、符号化区分が変わらない場合はカウント値を変えないようにする。
【０１６７】
インターマクロブロック数カウンタ１３０１を上記のように制御し、カウント値が正（＋１以上）の場合にのみ、現画像フレームでイントラ符号化したマクロブロック位置のマクロブロックを次のフレームでインター符号化に変えることができ、参照画像マクロブロックを参照画像メモリ１０８に記録することができるようにメモリ制御部で制御する。
【０１６８】
すなわち、記録する参照画像マクロブロックを減らすことで生じた参照画像メモリの記録余地に対してのみ、新たなマクロブロック位置の参照画像マクロブロックを記録することができる。参照画像メモリ１０８に記録する参照画像マクロブロック数についてこのような管理を行うことにより、現画像フレームのマクロブロック位置順に符号化を行う場合に、インター符号化したマクロブロック位置が偏ることが無いように参照画像メモリ１０８に記録する参照画像マクロブロック数を管理することができる。
【０１６９】
これと対照的な方法は、現画像フレームのマクロブロック位置順に符号化を行う際に、現画像フレームの符号化区分とは無関係に、次のフレームでインター符号化すると決定したマクロブロック数のみをインターマクロブロック数カウンタ１３０１でカウントし、カウント値がインター符号化する最大マクロブロック数に達して参照画像メモリが一杯になった場合は、それ以降に符号化する現画像フレームのマクロブロック位置のマクロブロックは次の画像フレームにおいてイントラ符号化するように決定するものである。
【０１７０】
この方法は制御が簡単ではあるが、画像の状況によってはイントラ符号化、インター符号化するマクロブロック位置に偏りが生ずる場合がある。
【０１７１】
差分比較回路１３０２は、現画像フレームのインター符号化するマクロブロックについて参照画像マクロブロックとの差分を求め、またはその差分から評価関数値を算出し、評価関数値を差分閾値と比較した結果をメモリ制御部１１１に伝えることで、次のフレームにおけるマクロブロック位置毎の符号化方法を決定する。評価関数値は、例えば差分絶対値総和とする。
【０１７２】
連続インター符号化回数カウンタ１３０５はマクロブロック位置毎に連続インター符号化回数をカウントし、連続イントラ符号化回数カウンタ１３０７はマクロブロック位置毎に連続イントラ符号化回数をカウントする。これらはマクロブロック位置数分のカウンタを用意する必要はなく、マクロブロック位置数分のメモリと加算回路で実現でき、これらをメモリ制御部１１１の内部に設けても良い。
【０１７３】
図１４から図１９は本実施の形態における動画符号化制御の様子を説明する図である。これらの図に示す実施の形態においては、画像フレームはマクロブロック位置（マクロブロックアドレス）を示す１４０１のように１６個のマクロブロックで構成されているものとする。
【０１７４】
図１４から図１６は、第Ｎ−１フレームでインター符号化するマクロブロック位置のマクロブロックを第Ｎフレームでイントラ符号化に変え、図１７から図１９は、第Ｎ−１フレームでイントラ符号化するマクロブロック位置のマクロブロックを第Ｎフレームでインター符号化に変え、それぞれ総合的に画像フレーム全体で符号化効率を向上させる符号化処理例である。
【０１７５】
図１４に示す例１においては、通常は、第Ｎ−１フレーム１４０２においてインター符号化するマクロブロック位置のマクロブロックを第Ｎフレームにおいてもインター符号化するようにし、現画像のインター符号化するマクロブロックについて参照画像１４０３を生成して参照画像メモリ１０８に記録する。その際に、差分比較回路１３０２を用いて現画像フレームのインター符号化するマクロブロックとその参照画像マクロブロックとの差分を求めることにより、マクロブロック毎に１４０４に示すような差分値（評価関数値として差分絶対値総和を採用したもの）が得られる。
【０１７６】
いま、差分値と比較する差分閾値１（１３０３）が５０であるとし、第Ｎ−１フレーム１４０２においてマクロブロック位置１のマクロブロックから順に符号化が進み、インター符号化するマクロブロック位置１０の差分値９０が得られたとする。差分比較回路１３０２の比較結果で差分値が差分閾値１より大きいので、第Ｎフレーム１４０５ではマクロブロック位置１０のマクロブロックをイントラ符号化に変える。
【０１７７】
このとき、インターマクロブロック数カウンタ１３０１はアップカウント（＋１）され、参照画像メモリ１０８に記録余裕ができたことが示されるので、これ以降の第Ｎ−１フレームでイントラ符号化する他のマクロブロック位置のマクロブロックを第Ｎフレームでインター符号化するように変える余地が１つできる。
【０１７８】
例１のようにインター符号化マクロブロックの差分値が差分閾値１より大きいということは、マクロブロック位置での動きが大きいことを示し、インター符号化を実施すると動き検出誤差が大きく符号化後の符号量が大きくなる可能性があるため、マクロブロック位置を一般的にインター符号化よりも符号量が大きいとされるイントラ符号化に変えても符号量は大幅に増加しないと推測できる。
【０１７９】
このように、参照画像マクロブロックとの差分量が大きいインター符号化マクロブロックは次のフレームでイントラ符号化することにより、他のイントラ符号化マクロブロックをインター符号化に変えることができるように参照画像メモリ１０８に空きを作ることができるため、画像フレーム全体における符号化効率を向上させることができる。
【０１８０】
図１５に示す例２においては、通常は、第Ｎ−１フレーム１５０２においてインター符号化するマクロブロック位置のマクロブロックを第Ｎフレームにおいてもインター符号化するようにし、現画像のインター符号化するマクロブロックについて参照画像１５０３を生成して参照画像メモリ１０８に記録する。その際に、差分比較回路１３０２を用いて現画像フレームのインター符号化するマクロブロックとその参照画像マクロブロックとの差分を求めることにより、マクロブロック毎に１５０４に示すような差分値が得られる。
【０１８１】
いま、差分値と比較する差分閾値１（１３０３）が５０であるとし、第Ｎ−１フレーム１５０２においてマクロブロック位置１のマクロブロックから順に符号化が進み、インター符号化するマクロブロック位置１５の差分値４９が得られたとする。差分比較回路１３０２の比較結果では差分値は差分閾値１より小さいがその近傍であり、このときのインターマクロブロック数カウンタ１３０１のカウント値は０であるので、第Ｎフレーム１５０５ではマクロブロック位置１０のマクロブロックをイントラ符号化に変える。
【０１８２】
このとき、インターマクロブロック数カウンタ１３０１はアップカウント（＋１）され、参照画像メモリ１０８に記録余裕ができたことが示されるので、これ以降の第Ｎ−１フレームでイントラ符号化する他のマクロブロック位置のマクロブロックを第Ｎフレームでインター符号化するように変える余地が１つできる。
【０１８３】
このように、参照画像マクロブロックとの差分量が差分閾値１より小さくてもその近傍であり、かつ参照画像メモリに記録余裕が無いと判断される場合は、例１と同じ理由でインター符号化マクロブロックを次のフレームでイントラ符号化することにより、他のイントラ符号化マクロブロックをインター符号化に変えることができるように参照画像メモリ１０８に空きを作ることができるため、画像フレーム全体における符号化効率を向上させることができる。
【０１８４】
図１６に示す例３においては、通常は、第Ｎ−１フレーム１６０２においてインター符号化するマクロブロック位置のマクロブロックを第Ｎフレームにおいてもインター符号化するようにし、現画像のインター符号化するマクロブロックについて参照画像１６０３を生成して参照画像メモリ１０８に記録する。その際に、インター符号化するマクロブロックについては連続インター符号化回数カウンタ１３０５をカウントすることにより、１６０４に示すようなマクロブロック位置毎の連続インター符号化回数が得られる。
【０１８５】
いま、連続インター符号化回数と比較する閾値１３０６が５であるとし、第Ｎ−１フレーム１６０２においてマクロブロック位置１のマクロブロックから順に符号化が進み、インター符号化するマクロブロック位置１０のマクロブロックの符号化終了時に連続インター符号化回数が５に達したとする。連続インター符号化回数が閾値１３０６に達したことになるので、第Ｎフレーム１６０５ではマクロブロック位置１０のマクロブロックをイントラ符号化に変える。
【０１８６】
インター符号化は時間的冗長性を利用して符号化を行うため現画像と参照画像の差分を符号化するが、通信中に符号化データにエラーが重畳すると差分を符号化しているために復元が難しい。従って、連続してインター符号化したマクロブロック位置のマクロブロックは、数フレーム毎に差分を用いないイントラ符号化を実施してエラー耐性を強化する必要がある。
【０１８７】
このとき、インターマクロブロック数カウンタ１３０１はアップカウント（＋１）され、参照画像メモリ１０８に記録余裕ができたことが示されるので、これ以降の第Ｎ−１フレームでイントラ符号化する他のマクロブロック位置のマクロブロックを第Ｎフレームでインター符号化するように変える余地が１つできる。このようにして、画像フレーム全体における符号化効率の向上を図ることができる。
【０１８８】
図１７に示す例４においては、通常は、第Ｎ−１フレーム１７０２においてインター符号化するマクロブロック位置のマクロブロックは第Ｎフレームにおいてもインター符号化し、イントラ符号化するマクロブロック位置のマクロブロックは第Ｎフレームにおいてもイントラ符号化するようにし、現画像のインター符号化するマクロブロックについて参照画像１７０３を生成して参照画像メモリ１０８に記録する。その際に、差分比較回路１３０２を用いて現画像フレームのインター符号化するマクロブロックとその参照画像マクロブロックとの差分を求めることにより、マクロブロック位置毎に１７０４に示すような差分値が得られる。
【０１８９】
いま、差分値と比較する差分閾値２（１３０３）が１５であるとし、第Ｎ−１フレーム１７０２においてマクロブロック位置１のマクロブロックから順にイントラ符号化するマクロブロック位置６のマクロブロックまで符号化が進んだものとする。また、符号化開始前にインターマクロブロック数カウンタ１３０１のカウント値が正（＋）で参照画像メモリ１０８に記録余裕があるものとする。
【０１９０】
このとき、マクロブロック位置６に隣接するインター符号化するマクロブロック位置２とマクロブロック位置５のマクロブロックについてはすでにインター符号化が終了しており、それぞれの差分値８と１０は差分閾値２より小さいので、第Ｎフレーム１７０５ではマクロブロック位置６のマクロブロックをインター符号化に変える。
【０１９１】
さらに、イントラ符号化したマクロブロック位置６のマクロブロックの符号化データから参照画像マクロブロックを生成して参照画像メモリ１０８に記録する。そのため、インターマクロブロック数カウンタ１３０１はダウンカウント（−１）され、参照画像メモリ１０８に記録余裕が１つ減らされる。
【０１９２】
周辺マクロブロックの参照画像との差分量が小さいイントラ符号化マクロブロックは、周辺マクロブロックとの空間的相関性から、マクロブロックの動きが小さく、次のフレームでインター符号化しても動き検出誤差が少ないと判断できるため、参照画像メモリに記録余裕がある場合は、マクロブロック位置のマクロブロックを次のフレームでインター符号化に変えることにより、符号化効率を向上させることができる。
【０１９３】
図１８に示す例５においては、通常は、第Ｎ−１フレーム１８０２においてインター符号化するマクロブロック位置のマクロブロックは第Ｎフレームにおいてもインター符号化し、イントラ符号化するマクロブロック位置のマクロブロックは第Ｎフレームにおいてもイントラ符号化するようにし、現画像のインター符号化するマクロブロックについて参照画像１８０３を生成して参照画像メモリ１０８に記録する。その際に、イントラ符号化後の符号量を符号量カウンタ５０１を用いてカウントすることにより、マクロブロック毎に１８０４に示すような符号量が得られる。
【０１９４】
いま、イントラ符号化後の符号量と比較する符号量閾値５０２が５０であるとし、第Ｎ−１フレーム１８０２においてマクロブロック位置１のマクロブロックから順にイントラ符号化するマクロブロック位置６のマクロブロックまで符号化が進んだものとする。また、符号化開始前にインターマクロブロック数カウンタ１３０１のカウント値が正（＋）で参照画像メモリ１０８に記録余裕があるものとする。
【０１９５】
このとき、マクロブロック位置６の符号量は７０で符号量閾値より大きいので、第Ｎフレーム１８０５ではマクロブロック位置６のマクロブロックをインター符号化に変える。さらに、イントラ符号化したマクロブロック位置６のマクロブロックの符号化データから参照画像マクロブロックを生成して参照画像メモリ１０８に記録する。そのため、インターマクロブロック数カウンタ１３０１はダウンカウント（−１）され、参照画像メモリ１０８に記録余裕が１つ減らされる。
【０１９６】
時間的相関性を考慮するとイントラ符号化して符号化効率が悪いと判断されたマクロブロック位置のマクロブロックは次のフレームにおいてもイントラ符号化すると符号化効率が悪い可能性が高いと判断される。そのため、マクロブロック位置のマクロブロックを次のフレームでインター符号化することにより符号化効率が向上することが期待できる。
【０１９７】
図１９に示す例６においては、通常は、第Ｎ−１フレーム１９０２においてインター符号化するマクロブロック位置のマクロブロックは第Ｎフレームにおいてもインター符号化し、イントラ符号化するマクロブロック位置のマクロブロックは第Ｎフレームにおいてもイントラ符号化するようにし、現画像のインター符号化するマクロブロックについて参照画像１９０３を生成して参照画像メモリ１０８に記録する。その際に、イントラ符号化するマクロブロックについては連続イントラ符号化回数カウンタ１３０７をカウントすることにより、１９０４に示すようなマクロブロック位置毎の連続イントラ符号化回数が得られる。
【０１９８】
いま、連続イントラ符号化回数と比較する閾値１３０８が５であるとし、第Ｎ−１フレーム１９０２においてマクロブロック位置１のマクロブロックから順に符号化が進み、イントラ符号化するマクロブロック位置６の符号化終了時に連続イントラ符号化回数が５に達したとする。また、符号化開始前にインターマクロブロック数カウンタ１３０１のカウント値が正（＋）で参照画像メモリ１０８に記録余裕があるものとする。
【０１９９】
このとき、連続イントラ符号化回数が閾値１３０８に達したことになるので、第Ｎフレーム１９０５ではマクロブロック位置６のマクロブロックをインター符号化に変える。さらに、マクロブロック位置６のイントラ符号化マクロブロックの符号化データから参照画像マクロブロックを生成して参照画像メモリ１０８に記録する。そのため、インターマクロブロック数カウンタ１３０１はダウンカウント（−１）され、参照画像メモリ１０８に記録余裕が１つ減らされる。
【０２００】
イントラ符号化の符号量が符号量閾値以下であり、周辺にインター符号化したマクロブロックが隣接していない場合は、例４と例５の方法を実施しても、そのマクロブロック位置のマクロブロックはイントラ符号化が長く継続する可能性がある。そこで、連続イントラ符号化回数を監視し、一般的に符号化効率が悪いとされるイントラ符号化マクロブロックをある回数以上連続しないように制御することにより、符号化効率を向上させることができる。
【０２０１】
（実施の形態７）
本実施の形態では、監視カメラのように撮りたいターゲットは画質を重視したイントラ符号化マクロブロックで構成し、ターゲットの周辺は符号化効率を重視したインター符号化マクロブロックで構成する。周辺マクロブロックをインター符号化しておくことは、次のフレームで臨機応変に符号化効率を向上させる備えになることを意味する。また、ターゲットは外部から領域指定することを可能にする。
【０２０２】
図２０は本発明の実施の形態７に係る動画符号化装置の構成を示すブロック図である。図２０において、図１に示した実施の形態１および図１３に示した実施の形態６の動画符号化装置と同一部分には同一符号を付して説明する。図２０において、２００１は外部からターゲットの動き情報を入力する信号である。
【０２０３】
図２１から図２５は本実施の形態における動画符号化制御の様子を説明する図である。ここで説明する実施の形態においては、マクロブロック位置（マクロブロックアドレス）を示す２１０１のように、画像フレームは横６×縦５の３０個のマクロブロックで構成されているものとする。また、参照画像メモリ１０８の容量は１８個の参照画像マクロブロックを記録できる容量とする。
【０２０４】
いま、第Ｎ−１フレーム２１０２において、イントラ符号化するターゲット領域が中央の１２個のマクロブロック群（マクロブロック位置は８〜１１、１４〜１７、２０〜２３）にあり、参照画像メモリ１０８には、参照画像２１０３に示すように、ターゲット領域の周囲のインター符号化するマクロブロック位置に対する１８個の参照画像マクロブロックが記録されているものとする。
【０２０５】
図２２は、第Ｎ−１フレーム２１０２の符号化時に、外部から入力するターゲットの動き情報２００１により、ターゲットが上方に１マクロブロック移動すると判断された場合の動画符号化制御の様子を説明する図である。
【０２０６】
第Ｎフレームでターゲットがマクロブロック位置（マクロブロックアドレス）を示す２２０１のように動くと予測されるため、第Ｎ−１フレーム２１０２の符号化時に、まず、マクロブロック位置２〜５のマクロブロックを第Ｎフレーム２２０２でイントラ符号化に変えるようにし、参照画像メモリ１０８には、マクロブロック位置２〜５の参照画像マクロブロックを記録しないようにする。
【０２０７】
次に、マクロブロック位置２０〜２３のマクロブロックを第Ｎフレーム２２０２でインター符号化に変えるようにし、参照画像メモリ１０８には、マクロブロック位置２〜５の参照画像マクロブロックを記録せずに空けておいた記録余地に、マクロブロック位置２０〜２３の参照画像マクロブロックを記録する。
【０２０８】
以上の説明では同種の処理をまとめて説明したが、実際にはマクロブロック位置順に符号化処理を行い、インター符号化するマクロブロックの通常処理と上記処理を併せて第Ｎフレーム用参照画像２２０３を準備する。第Ｎフレーム２２０２の図中の数字は、第Ｎ−１フレーム２１０２の符号化時におけるインターマクロブロック数カウンタ１３０１のカウント値の推移を示したものである。カウント値が負にならないように制御されていることが判る。
【０２０９】
また、第Ｎフレームでターゲット領域の周囲のさらに外側になるマクロブロック位置２５〜３０のマクロブロックについては、第Ｎフレーム２２０２に示すように、イントラ符号化して参照画像メモリに空きを準備しておくことが望ましい。
【０２１０】
図２３は、第Ｎ−１フレーム２１０２の符号化時に、外部から入力するターゲットの動き情報２００１により、ターゲットが左方に１マクロブロック移動すると判断された場合の動画符号化制御の様子を説明する図である。
【０２１１】
第Ｎフレームでターゲットがマクロブロック位置（マクロブロックアドレス）を示す２３０１のように動くと予測されるため、第Ｎ−１フレーム２１０２の符号化時に、まず、マクロブロック位置７、１３、１９のマクロブロックを第Ｎフレーム２３０２でイントラ符号化に変えるようにし、参照画像メモリ１０８には、マクロブロック位置７、１３、１９の参照画像マクロブロックを記録しないようにする。
【０２１２】
次に、マクロブロック位置１１、１７、２３のマクロブロックを第Ｎフレーム２３０２でインター符号化に変えるようにし、参照画像メモリ１０８には、マクロブロック位置７、１３、１９の参照画像マクロブロックを記録せずに空けておいた記録余地に、マクロブロック位置１１、１７、２３の参照画像マクロブロックを記録する。
【０２１３】
以上の説明では同種の処理をまとめて説明したが、実際にはマクロブロック位置順に符号化処理を行い、インター符号化するマクロブロックの通常処理と上記処理を併せて第Ｎフレーム用参照画像２３０３を準備する。第Ｎフレーム２３０２の図中の数字は、第Ｎ−１フレーム２１０２の符号化時におけるインターマクロブロック数カウンタ１３０１のカウント値の推移を示したものである。この場合もカウント値が負にならないように制御されていることが判る。
【０２１４】
また、第Ｎフレームでターゲット領域の周囲のさらに外側になるマクロブロック位置６、１２、１８、２４、３０のマクロブロックについては、第Ｎフレーム２３０２に示すように、イントラ符号化して参照画像メモリに空きを準備しておくことが望ましい。
【０２１５】
図２４は、第Ｎ−１フレーム２１０２の符号化時に、外部から入力するターゲットの動き情報２００１により、ターゲットが下方に１マクロブロック移動すると判断された場合の動画符号化制御の様子を説明する図である。
【０２１６】
第Ｎフレームでターゲットがマクロブロック位置（マクロブロックアドレス）を示す２４０１のように動くと予測されるため、第Ｎ−１フレーム２１０２の符号化時に、まず、第Ｎフレームでターゲット領域の周囲のさらに外側になるマクロブロック位置１〜６のマクロブロックを第Ｎフレーム２４０２でイントラ符号化に変えるようにし、参照画像メモリ１０８には、マクロブロック位置１〜６の参照画像マクロブロックを記録しないようにする。
【０２１７】
次に、マクロブロック位置８〜１１のマクロブロックを第Ｎフレーム２４０２でインター符号化に変えるようにし、参照画像メモリ１０８には、マクロブロック位置１〜６の参照画像マクロブロックを記録せずに空けておいた記録余地に、マクロブロック位置８〜１１の参照画像マクロブロックを記録する。
【０２１８】
さらに、マクロブロック位置２６〜２９のマクロブロックを第Ｎフレーム２４０２でイントラ符号化に変えるようにし、参照画像メモリ１０８には、マクロブロック位置２６〜２９の参照画像マクロブロックを記録しないようにする。
【０２１９】
以上の説明では同種の処理をまとめて説明したが、実際にはマクロブロック位置順に符号化処理を行い、インター符号化するマクロブロックの通常処理と上記処理を併せて第Ｎフレーム用参照画像２４０３を準備する。第Ｎフレーム２３０２の図中の数字は、第Ｎ−１フレーム２１０２の符号化時におけるインターマクロブロック数カウンタ１３０１のカウント値の推移を示したものである。この場合もカウント値が負にならないように制御されていることが判る。
【０２２０】
図２５は、第Ｎ−１フレーム２１０２の符号化時に、外部から入力するターゲットの動き情報２００１により、ターゲットが右方に１マクロブロック移動すると判断された場合の動画符号化制御の様子を説明する図である。
【０２２１】
第Ｎフレームでターゲットがマクロブロック位置（マクロブロックアドレス）を示す２５０１のように動くと予測されるため、第Ｎ−１フレーム２１０２の符号化時に、まず、マクロブロック位置１、７、１３、１９、２５のマクロブロックを第Ｎフレーム２５０２でイントラ符号化に変えるようにし、参照画像メモリ１０８には、マクロブロック位置１、７、１３、１９、２５の参照画像マクロブロックを記録しないようにする。
【０２２２】
次に、マクロブロック位置８、１４、２０のマクロブロックを第Ｎフレーム２５０２でインター符号化に変えるようにし、参照画像メモリ１０８には、マクロブロック位置１、７、１３、１９の参照画像マクロブロックを記録せずに空けておいた記録余地に、マクロブロック位置８、１４、２０の参照画像マクロブロックを記録する。
【０２２３】
さらに、マクロブロック位置１２、１８、２４のマクロブロックを第Ｎフレーム２５０２でイントラ符号化に変えるようにし、参照画像メモリ１０８には、マクロブロック位置１２、１８、２４の参照画像マクロブロックを記録しないようにする。
【０２２４】
以上の説明では同種の処理をまとめて説明したが、実際にはマクロブロック位置順に符号化処理を行い、インター符号化するマクロブロックの通常処理と上記処理を併せて第Ｎフレーム用参照画像２５０３を準備する。第Ｎフレーム２５０２の図中の数字は、第Ｎ−１フレーム２１０２の符号化時におけるインターマクロブロック数カウンタ１３０１のカウント値の推移を示したものである。この場合もカウント値が負にならないように制御されていることが判る。
【０２２５】
本実施の形態によれば、撮影するターゲットは画質を重視し、ターゲットの周辺は符号化効率を重視した動画符号化が可能になる。また、以上説明した上下左右の４つの移動パターンを組み合わせて符号化を実施することにより、斜め方向へのターゲット移動の動画符号化処理も可能になる。
【０２２６】
（実施の形態８）
本実施の形態では、参照画像メモリの容量内の画像サイズの映像に関しては従来技術の動画符号化を行い、参照画像メモリの容量より大きな画像サイズ映像に対しては１画像フレーム内でインター符号化する最大マクロブロック数を制限し、同一参照画像メモリを用いて動画符号化を行うことにより画像サイズフリーの動画符号化処理を可能にする。
【０２２７】
図２６は本発明の実施の形態８に係る動画符号化装置の構成を示すブロック図である。図２６において、図１に示した実施の形態１の動画符号化装置と同一部分には同一符号を付して説明する。図２６において、２６０１は外部から画像サイズ情報をメモリ制御部１１１に入力する信号である。
【０２２８】
図２７は本実施の形態における動画符号化制御の様子を説明する図である。図２７においては、４００個の参照画像マクロブロックを記録可能な参照画像メモリ１０８を用いて、ＣＩＦ画像２７０１の動画符号化およびＶＧＡ画像２７０３の動画符号化を行う実施の形態を示している。なお、これは説明のための実施の形態であり、画像サイズを特定するものではない。
【０２２９】
画像サイズ情報２６０１の指定がＣＩＦ画像サイズの場合は、ＣＩＦ画像２７０１の全てのマクロブロック（３９６個）をインター符号化することが可能なため、１画像フレーム内でインター符号化する最大マクロブロック数を制限しない従来の動画符号化を行う。
【０２３０】
画像サイズ情報２６０１の指定がＶＧＡ画像サイズの場合は、ＶＧＡ画像２７０３に示すようにマクロブロック数が１２００個であるため、ＶＧＡ画像フレーム２７０４に示すようにマクロブロック３個に１個の割合でインター符号化を行い、他のマクロブロックはイントラ符号化を行い、次のフレームでインター符号化するマクロブロック位置の参照画像マクロブロックのみを参照画像メモリ１０８に記録することにより動画符号化が可能になる。
【０２３１】
本実施の形態によれば、画像サイズ情報に応じてインター符号化するマクロブロックの割合を制御することにより、同一参照画像メモリを用いて複数の画像サイズの動画像符号化が可能になる。
【０２３２】
（実施の形態９）
実施の形態４において説明したように、隣接したマクロブロック位置に参照画像が少ないかまたは存在しない場合は、動き検出、動き補償の精度が大幅に低下するため、動き補償の機能を停止しても影響はほとんど無いと考えられることから、図９のように動画符号化処理を簡素化した動画像符号化装置の構成を示した。
【０２３３】
本実施の形態は、上記方式をさらに一歩進め、動き補償機能の停止を選択できるように制御することにより、撮影する動画像の状況に応じて省エネと処理効率の向上を図るものである。
【０２３４】
図２８は本発明の実施の形態９に係る動画符号化装置の構成を示すブロック図である。図２８において、図１に示した実施の形態１の動画符号化装置と同一部分には同一符号を付して説明する。
【０２３５】
図２８においては、図１の構成に対して、動き補償部１０９、動き検出部１１０に入力する動き補償停止命令信号２８０１が追加されている。動き補償停止命令信号２８０１が与えられた場合は動き補償部１０９、動き検出部１１０は動作を停止し、インター符号化する場合は、現画像との差分をとる予測画像として直接参照画像を与える構成にする。
【０２３６】
これにより、外部からの停止命令によって動き補償部１０９、動き検出部１１０を停止させても動画符号化の実施が可能となり、不要な回路を停止させることにより消費電力を軽減することができる。
【０２３７】
（実施の形態１０）
本実施の形態は、マクロブロック位置毎に過去のインター符号化回数を履歴として記録し、再起動時等において各種設定が初期化される際に、その回数を参照してマクロブロック位置毎の符号化区分を決定し、画質および符号化効率の改善を図るものである。
【０２３８】
図２９は本発明の実施の形態１０に係る動画符号化装置の構成を示すブロック図である。図２９において、図１に示した実施の形態１および図７に示した実施の形態４の動画符号化装置と同一部分には同一符号を付して説明する。
【０２３９】
図２９に示す構成においては、マクロブロック位置毎に過去のインター符号化回数をカウントして記録するために、インター符号化回数カウンタ２９０１を設けている。メモリ制御部１１１は再起動時等において各種設定が初期化される際にインター符号化回数カウンタ２９０１を参照し、インター符号化回数の多いマクロブロック位置のマクロブロックから順に優先的にインター符号化するように決定する。
【０２４０】
図２９において、画像フレームはマクロブロック位置（マクロブロックアドレス）を示す２９０２のように３０個のマクロブロックで構成されているものとし、インター符号化回数カウンタ２９０１に記録されたマクロブロック位置毎のインター符号化回数は２９０３に示すものとする。
【０２４１】
いま、動画符号化装置の再起動が行われたとすると、再起動後の第１フレームでは全てのマクロブロックがイントラ符号化される。その符号化時に決定される第２フレームのマクロブロック位置の符号化区分については、マクロブロック位置毎のインター符号化回数２９０３を参照し、参照画像記録メモリ１０８の容量が画像フレーム分の容量の半分であったとすると、インター符号化回数の多いマクロブロック位置のマクロブロックから順に１５個を選んでインター符号化するマクロブロック位置と決定する。このようにすることにより、起動直後の第２フレーム以降の画質および符号化効率を改善することができる。
【０２４２】
この方法は移動するカメラでは効果が薄いが、例えば、屋外固定の監視カメラなどでは、定常的に動きの大きいマクロブロック位置と定常的に動きの少ないマクロブロック位置が発生するため、定常的に動きの少ないマクロブロック位置のマクロブロックはインター符号化マクロブロックになり易く、それらのマクロブロック位置のマクロブロックのインター符号化回数が多くなることで良好な効果が期待できる。
【０２４３】
なお、この方法は固定された屋外監視カメラ等に特に有効であるが、カメラ付き携帯電話などの移動するカメラでは、画像の時間的相対関係の変化が大きいために効果が期待できない。そのため、本機能の有効化の可否およびインター符号化回数の保存可否を選択する機能を動画符号化装置に持たせることが好ましい。
【０２４４】
【発明の効果】
以上説明したように、本発明によれば、イントラ符号化またはインター符号化するマクロブロック位置を現画像より前の画像の符号化時に決定することで、現フレームで全てのマクロブロックの参照画像を用意する必要がなくなり、参照画像メモリの容量を減らすことができ、動画符号化装置のコストを低減することができる。
【図面の簡単な説明】
【図１】本発明の実施の形態１に係る動画符号化装置の構成を示すブロック図である。
【図２】本発明の実施の形態１における参照画像メモリに対する記録制御の様子を説明する図である。
【図３】本発明の実施の形態２に係る動画符号化装置の構成を示すブロック図である。
【図４】本発明の実施の形態２における参照画像メモリに対する記録制御の様子を説明する図である。
【図５】本発明の実施の形態３に係る動画符号化装置の構成を示すブロック図である。
【図６】本発明の実施の形態３における参照画像メモリに対する記録制御の様子を説明する図である。
【図７】本発明の実施の形態４に係る動画符号化装置の構成を示すブロック図である。
【図８】本発明の実施の形態４における動画符号化制御の様子を説明する図である。
【図９】本発明の実施の形態４に係る動画符号化装置において動画符号化処理を簡素化した構成を示すブロック図である。
【図１０】イントラ符号化またはインター符号化するマクロブロック位置の初期設定パターン例を示す図である。
【図１１】本発明の実施の形態５に係る動画符号化装置の構成を示すブロック図である。
【図１２】本発明の実施の形態５における動画符号化制御の様子を説明する図である。
【図１３】本発明の実施の形態６に係る動画符号化装置の構成を示すブロック図である。
【図１４】本発明の実施の形態６においてインター符号化マイクロブロックの差分値を判定する動画符号化制御の様子を説明する図である。
【図１５】本発明の実施の形態６においてインター符号化マイクロブロックの差分値を判定する動画符号化制御の様子を説明する図である。
【図１６】本発明の実施の形態６において連続インター符号化回数を判定する動画符号化制御の様子を説明する図である。
【図１７】本発明の実施の形態６においてイントラ符号化マイクロブロックに隣接するインター符号化マイクロブロックの差分値を判定する動画符号化制御の様子を説明する図である。
【図１８】本発明の実施の形態６においてイントラ符号化マイクロブロックの符号量を判定する動画符号化制御の様子を説明する図である。
【図１９】本発明の実施の形態６において連続イントラ符号化回数を判定する動画符号化制御の様子を説明する図である。
【図２０】本発明の実施の形態７に係る動画符号化装置の構成を示すブロック図である。
【図２１】
本発明の実施の形態７における動画符号化制御の様子を説明する図である。
【図２２】
本発明の実施の形態７においてターゲットが上方に移動する場合の動画符号化
制御の様子を説明する図である。
【図２３】
本発明の実施の形態７においてターゲットが左方に移動する場合の動画符号化
制御の様子を説明する図である。
【図２４】
本発明の実施の形態７においてターゲットが下方に移動する場合の動画符号化
制御の様子を説明する図である。
【図２５】
本発明の実施の形態７においてターゲットが右方に移動する場合の動画符号化
制御の様子を説明する図である。
【図２６】
本発明の実施の形態８に係る動画符号化装置の構成を示すブロック図である。
【図２７】
本発明の実施の形態８における動画符号化制御の様子を説明する図である。
【図２８】
本発明の実施の形態９に係る動画符号化装置の構成を示すブロック図である。
【図２９】
本発明の実施の形態１０に係る動画符号化装置の構成を示すブロック図である
。
【図３０】
従来の動画符号化装置の構成を示すブロック図である。
【符号の説明】
１０１  画像入力部
１０３  ＤＣＴ部
１０４  量子化部
１０５  ハフマン符号化部
１０６  逆量子化部
１０７  逆ＤＣＴ部
１０８  参照画像メモリ
１０９  動き補償部
１１０  動き検出部
１１１  メモリ制御部
２０１、２０２、２０５  マクロブロック群
２０３  参照画像マクロブロック群
２０４  従来の参照画像フレームメモリ
３０１  インター符号化指示信号
４０１、４０２、４０３、４０４  マクロブロック群
４０５、４０６  参照画像マクロブロック群
５０１  符号量カウンタ
５０２  符号量閾値
６０１、６０２、６０４、６０５、６０７、６０８  マクロブロック群
６０３、６０６、６０９  参照画像マクロブロック群
７０１  マクロブロックアドレス管理部
８０１  画像フレームのマクロブロック位置（マクロブロックアドレス）
８０２、８０４、８０６、８０７，８０９  画像フレーム
８０３、８０５、８０８  参照画像マクロブロック群
１００１  千鳥型の初期設定パターン
１００２  格子型の初期設定パターン
１００３〜１００６  分割型の初期設定パターン
１００７、１００８  ストライプ型の初期設定パターン
１００９  中央高画質型の初期設定パターン
１１０１  シーンチェンジ閾値
１１０２  シーンチェンジ信号
１２０１  画像フレームのマクロブロック位置（マクロブロックアドレス）
１２０２、１２０４、１２０５、１２０７、１２０９  画像フレーム
１２０３、１２０６、１２０８  参照画像マクロブロック群
１３０１  インターマクロブロック数カウンタ
１３０２  差分比較回路
１３０３、１３０４  差分閾値
１３０５  連続インター符号化回数カウンタ
１３０６  連続インター符号化回数の閾値
１３０７  連続イントラ符号化回数カウンタ
１３０８  連続イントラ符号化回数の閾値
１４０１  画像フレームのマクロブロック位置（マクロブロックアドレス）
１４０２、１４０５  画像フレーム
１４０３  参照画像マクロブロック群
１４０４  インター符号化するマクロブロック毎の差分値
１５０２、１５０５  画像フレーム
１５０３  参照画像マクロブロック群
１５０４  インター符号化するマクロブロック毎の差分値
１６０２、１６０５  画像フレーム
１６０３  参照画像マクロブロック群
１６０４  マクロブロック位置毎の連続インター符号化回数
１７０２、１７０５  画像フレーム
１７０３  参照画像マクロブロック群
１７０４  インター符号化するマクロブロック毎の差分値
１８０２、１８０５  画像フレーム
１８０３  参照画像マクロブロック群
１８０４  イントラ符号化したマクロブロック毎の符号量
１９０２、１９０５  画像フレーム
１９０３  参照画像マクロブロック群
１９０４  マクロブロック位置毎の連続イントラ符号化回数
２００１  ターゲットの動き情報
２１０１  画像フレームのマクロブロック位置（マクロブロックアドレス）
２１０２  画像フレーム
２１０３  参照画像マクロブロック群
２２０１  画像フレームのマクロブロック位置（マクロブロックアドレス）
２２０２  画像フレーム
２２０３  参照画像マクロブロック群
２３０１  画像フレームのマクロブロック位置（マクロブロックアドレス）
２３０２  画像フレーム
２３０３  参照画像マクロブロック群
２４０１  画像フレームのマクロブロック位置（マクロブロックアドレス）
２４０２  画像フレーム
２４０３  参照画像マクロブロック群
２５０１  画像フレームのマクロブロック位置（マクロブロックアドレス）
２５０２  画像フレーム
２５０３  参照画像マクロブロック群
２６０１  画像サイズ情報
２７０１  ＣＩＦ画像
２７０２  参照画像マクロブロック群
２７０３  ＶＧＡ画像
２７０４  ＶＧＡ画像フレーム
２８０１  動き補償停止命令信号
２９０１  インター符号化回数カウンタ
２９０２  画像フレームのマクロブロック位置（マクロブロックアドレス）
２９０３  マクロブロック位置毎のインター符号化回数
【図１】
2004266731.tif 000003
【図２】
2004266731.tif 000004
【図３】
2004266731.tif 000005
【図４】
2004266731.tif 000006
【図５】
2004266731.tif 000007
【図６】
2004266731.tif 000008
【図７】
2004266731.tif 000009
【図８】
2004266731.tif 000010
【図９】
2004266731.tif 000011
【図１０】
2004266731.tif 000012
【図１１】
2004266731.tif 000013
【図１２】
2004266731.tif 000014
【図１３】
2004266731.tif 000015
【図１４】
2004266731.tif 000016
【図１５】
2004266731.tif 000017
【図１６】
2004266731.tif 000018
【図１７】
2004266731.tif 000019
【図１８】
2004266731.tif 000020
【図１９】
2004266731.tif 000021
【図２０】
2004266731.tif 000022
【図２１】
2004266731.tif 000023
【図２２】
2004266731.tif 000024
【図２３】
2004266731.tif 000025
【図２４】
2004266731.tif 000026
【図２５】
2004266731.tif 000027
【図２６】
2004266731.tif 000028
【図２７】
2004266731.tif 000029
【図２８】
2004266731.tif 000030
【図２９】
2004266731.tif 000031
【図３０】
2004266731.tif 000032