(57)【要約】【課題】  動き補償デ−タを効率的に記憶でき、メモリを小規模化できるデータ処理装置を提供する。【解決手段】  ＭＢ＿Ｐ選択回路６１が、処理対象となるマクロブロックペアｐを選択する。ＭＢ＿Ｐ選択回路６１が選択したマクロブロックペアｐに対して、隣接するマクロブロックペアａ，ｂ，ｃ，ｄの動き補償データＭＣＤをメモリ６２から読み出す。制御回路６３は、マクロブロックペアｂ，ｃ，ｄより選択順が前で、これらに行方向で隣接するマクロブロックペアの動き補償データＭＣＤが記憶されているメモリ６２のアドレスに、マクロブロックペアｐの動き補償データＭＣＤを書き込む。【選択図】  図８
2005176259.tif 000002
【特許請求の範囲】
【請求項１】
被符号化画像データによる２次元画像を構成するマトリクス状に位置する複数のブロックの各々を単位として動き補償処理を行うデータ処理装置であって、
前記複数のブロックの位置を規定するマトリクスの行を行方向に順に選択し、当該選択した行について列方向に列を順に選択し、前記選択した行および列に対応する位置の第１の前記ブロックを処理対象として選択する選択回路と、
前記動き補償処理の結果である動き補償デ−タを記憶する記憶回路と、
前記選択回路が選択した前記第１のブロックより選択順が前で当該第１のブロックに行方向で隣接する第２の前記ブロックの前記動き補償デ−タを前記記憶回路から読み出し、当該読み出した動き補償デ−タを用いて前記第１のブロックの動き補償処理を行って動き補償デ−タを生成し、前記第２のブロックより選択順が前で当該第２のブロックに行方向で隣接する前記ブロックの前記動き補償デ−タが記憶されている前記記憶回路のアドレスに、前記生成した動き補償デ−タを書き込む動き補償回路と
を有するデータ処理装置。
【請求項２】
前記動き補償回路は、前記第１のブロックに隣接して当該第１のブロックと同じ行に属し前記選択回路による選択順が当該第１のブロックより前の第３のブロックの前記動き補償デ−タを前記記憶回路から読み出し、当該読み出した動き補償デ−タをさらに用いて前記第１のブロックの動き補償処理を行って前記動き補償デ−タを生成し、前記第３のブロックより選択順が前で当該第３のブロックに列行方向で隣接する前記ブロックの前記動き補償デ−タが記憶されている前記記憶回路内のアドレスに、前記生成した動き補償デ−タを書き込む
請求項１に記載のデータ処理装置。
【請求項３】
前記動き補償回路は、前記第２のブロックに前記列方向で隣接する第４のブロックの前記動き補償デ−タを前記記憶回路から読み出し、当該読み出した動き補償デ−タをさらに用いて前記第１のブロックの動き補償処理を行う
請求項１に記載のデータ処理装置。
【請求項４】
前記記憶回路は、前記マトリクス状に位置する複数のブロックうち２行分の前記ブロックの前記動き補償データを同時に記憶する記憶容量を有する
請求項１に記載のデータ処理装置。
【請求項５】
前記記憶回路は、前記マトリクス状に位置する複数のブロックうち２行分の前記ブロックの前記動き補償データと、２個の前記ブロックとを同時に記憶する記憶容量を有する
請求項２に記載のデータ処理装置。
【請求項６】
前記動き補償回路は、前記ブロックを構成する複数の動き補償ブロックの各々を単位として前記動き補償デ−タを生成し、前記動き補償処理において前記第２のブロックを構成する一部の前記動き補償ブロックの前記動き補償デ−タのみを用いる場合に、当該一部の動き補償ブロックの前記動き補償デ−タのみを前記記憶回路に書き込む
請求項１に記載のデータ処理装置。
【請求項７】
前記動き補償回路は、前記複数の動き補償ブロックのうち、前記第１のブロックに隣接し当該第１のブロックより選択順が後のブロックに隣接した前記動き補償ブロックの前記動き補償デ−タのみを前記記憶回路に書き込む
請求項５に記載のデータ処理装置。
【請求項８】
前記動き補償回路は、前記選択順が後で前記第１のブロックと同じ列に属する前記ブロックに隣接した第１の前記動き補償ブロックと、前記選択順が後で前記第１のブロックと同じ行に属する第２の前記動き補償ブロックとを前記記憶回路に書き込む
請求項７に記載のデータ処理装置。
【請求項９】
前記動き補償回路は、前記ブロックの各々について、前記動き補償ブロックのサイズおよび個数を決定する
請求項６に記載のデータ処理装置。
【請求項１０】
前記動き補償回路は、イントラ予測モードおよびインター予測モードの何れを選択したかを示す予測モード情報、インター予測モードを選択した場合に参照した画像データの識別情報、動きベクトル情報を前記動き補償デ−タとして生成する
請求項１に記載のデータ処理装置。
【請求項１１】
被符号化画像データによる２次元画像を構成するマトリクス状に位置する複数のブロックの各々を単位として動き補償処理を行い、前記ブロックの動きベクトルおよび予測画像データを生成するデータ処理回路と、
前記被符号化画像データと、前記データ処理回路が生成した前記予測画像データとの差分を符号化する符号化回路と
を有する符号化装置であって、
前記データ処理回路は、
前記複数のブロックの位置を規定するマトリクスの行を行方向に順に選択し、当該選択した行について列方向に列を順に選択し、前記選択した行および列に対応する位置の第１の前記ブロックを処理対象として選択する選択回路と、
前記動き補償処理の結果である動き補償デ−タを記憶する記憶回路と、
前記選択回路が選択した前記第１のブロックより選択順が前で当該第１のブロックに行方向で隣接する第２の前記ブロックの前記動き補償デ−タを前記記憶回路から読み出し、当該読み出した動き補償デ−タを用いて前記第１のブロックの動き補償処理を行って前記動きベクトルおよび前記予測画像データ並びに動き補償デ−タを生成し、前記第２のブロックより選択順が前で当該第２のブロックに行方向で隣接する前記ブロックの前記動き補償デ−タが記憶されている前記記憶回路のアドレスに、前記生成した動き補償デ−タを書き込む動き補償回路と
を有する符号化装置。
【請求項１２】
被符号化画像データによる２次元画像を構成するマトリクス状に位置する複数のブロックの各々を単位として動き補償処理を行うデータ処理方法であって、
前記複数のブロックの位置を規定するマトリクスの行を行方向に順に選択し、当該選択した行について列方向に列を順に選択し、前記選択した行および列に対応する位置の第１の前記ブロックを処理対象として選択する第１の工程と、
前記第１の工程で選択した前記第１のブロックより選択順が前で当該第１のブロックに行方向で隣接する第２の前記ブロックの前記動き補償デ−タを記憶回路から読み出す第２の工程と、
前記第２の工程で読み出した動き補償デ−タを用いて前記第１のブロックの動き補償処理を行って動き補償デ−タを生成する第３の工程と、
前記第２のブロックより選択順が前で当該第２のブロックに行方向で隣接する前記ブロックの前記動き補償デ−タが記憶されている前記記憶回路のアドレスに、前記第３の工程で生成した動き補償デ−タを書き込む第４の工程と
を有するデータ処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、動画像データの動き補償を行うデータ処理装置およびその方法と符号化装置に関する。
【背景技術】
【０００２】
近年、画像データをデジタルとして取り扱い、その際、効率の高い情報の伝送、蓄積を目的とし、画像情報特有の冗長性を利用して、離散コサイン変換等の直交変換と動き補償により圧縮するＭＰＥＧ(Moving Picture Experts Group)などの方式に準拠した装置が、放送局などの情報配信、及び一般家庭における情報受信の双方において普及しつつある。
【０００３】
ＭＰＥＧ方式に続いて、さらなる高圧縮率を実現するＪＶＴ(Joint Video Team)と呼ばれる符号化方式が提案されている。
ＪＶＴ方式の符号化装置は、ＭＰＥＧの符号化装置と同様に、動き補償処理に行って、各マクロブロックＭＢ毎に、動き補償データＭＣＤを生成する。
当該動き補償データＭＣＤは、例えば、イントラ予測モードおよびインター予測モードの何れを選択して符号化するかを示す予測モード情報、インター予測モードを選択した場合に参照した参照画像データＲＥＦの識別情報、動きベクトルＭＶなどを示している。
ところで、上記符号化装置では、各マクロブロックＭＢの動き補償処理を行う際に、当該マクロブロックＭＢに隣接する他のマクロブロックＭＢの動き補償データＭＣＤを利用する。
そのため、上記符号化装置は、例えば、１ピクチャを構成する全てのマクロブロックＭＢの動き補償データＭＣＤをメモリ内の異なるアドレスに記憶する。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、上述した従来の符号化装置は、各ピクチャを構成する全てのマクロブロックＭＢの動き補償データＭＣＤをメモリ内の異なるアドレスに記憶するため、大容量のメモリが必要になるという問題がある。
【０００５】
本発明は上述した従来技術に鑑みてなされ、動き補償デ−タを効率的に記憶でき、メモリを小規模化できるデータ処理装置、その方法およびその符号化装置を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上述した従来技術の問題点を解決するために、第１の発明のデータ処理装置は、被符号化画像データによる２次元画像を構成するマトリクス状に位置する複数のブロックの各々を単位として動き補償処理を行うデータ処理装置であって、前記複数のブロックの位置を規定するマトリクスの行を行方向に順に選択し、当該選択した行について列方向に列を順に選択し、前記選択した行および列に対応する位置の第１の前記ブロックを処理対象として選択する選択回路と、前記動き補償処理の結果である動き補償デ−タを記憶する記憶回路と、前記選択回路が選択した前記第１のブロックより選択順が前で当該第１のブロックに行方向で隣接する第２の前記ブロックの前記動き補償デ−タを前記記憶回路から読み出し、当該読み出した動き補償デ−タを用いて前記第１のブロックの動き補償処理を行って動き補償デ−タを生成し、前記第２のブロックより選択順が前で当該第２のブロックに行方向で隣接する前記ブロックの前記動き補償デ−タが記憶されている前記記憶回路のアドレスに、前記生成した動き補償デ−タを書き込む動き補償回路とを有する。
【０００７】
第１の発明のデータ処理装置の作用は以下のようになる。
選択回路が、複数のブロックの位置を規定するマトリクスの行を行方向に順に選択し、当該選択した行について列方向に列を順に選択し、前記選択した行および列に対応する位置の第１の前記ブロックを処理対象として選択する。
次に、動き補償回路が、前記選択回路が選択した前記第１のブロックより選択順が前で当該第１のブロックに行方向で隣接する第２の前記ブロックの前記動き補償デ−タを記憶回路から読み出す。
そして、動き補償回路が、当該読み出した動き補償デ−タを用いて前記第１のブロックの動き補償処理を行って動き補償デ−タを生成する。
そして、動き補償回路が、前記第２のブロックより選択順が前で当該第２のブロックに行方向で隣接する前記ブロックの前記動き補償デ−タが記憶されている前記記憶回路のアドレスに、前記生成した動き補償デ−タを書き込む。
【０００８】
第２の発明の符号化装置は、被符号化画像データによる２次元画像を構成するマトリクス状に位置する複数のブロックの各々を単位として動き補償処理を行い、前記ブロックの動きベクトルおよび予測画像データを生成するデータ処理回路と、前記被符号化画像データと、前記データ処理回路が生成した前記予測画像データとの差分を符号化する符号化回路とを有する符号化装置であって、前記データ処理回路は、前記複数のブロックの位置を規定するマトリクスの行を行方向に順に選択し、当該選択した行について列方向に列を順に選択し、前記選択した行および列に対応する位置の第１の前記ブロックを処理対象として選択する選択回路と、前記動き補償処理の結果である動き補償デ−タを記憶する記憶回路と、前記選択回路が選択した前記第１のブロックより選択順が前で当該第１のブロックに行方向で隣接する第２の前記ブロックの前記動き補償デ−タを前記記憶回路から読み出し、当該読み出した動き補償デ−タを用いて前記第１のブロックの動き補償処理を行って前記動きベクトルおよび前記予測画像データ並びに動き補償デ−タを生成し、前記第２のブロックより選択順が前で当該第２のブロックに行方向で隣接する前記ブロックの前記動き補償デ−タが記憶されている前記記憶回路のアドレスに、前記生成した動き補償デ−タを書き込む動き補償回路とを有する。
【０００９】
第２の発明の符号化装置の作用は以下のようになる。
先ず、データ処理回路が、被符号化画像データによる２次元画像を構成するマトリクス状に位置する複数のブロックの各々を単位として動き補償処理を行い、前記ブロックの動きベクトルおよび予測画像データを生成する。
そして、符号化回路が、前記被符号化画像データと、前記動き補償回路が生成した前記予測画像データとの差分を符号化する。
ここで、データ処理回路は、第１の発明のデータ処理装置と同様の作用を有する。
【００１０】
第３の発明のデータ処理方法は、被符号化画像データによる２次元画像を構成するマトリクス状に位置する複数のブロックの各々を単位として動き補償処理を行うデータ処理方法であって、前記複数のブロックの位置を規定するマトリクスの行を行方向に順に選択し、当該選択した行について列方向に列を順に選択し、前記選択した行および列に対応する位置の第１の前記ブロックを処理対象として選択する第１の工程と、前記第１の工程で選択した前記第１のブロックより選択順が前で当該第１のブロックに行方向で隣接する第２の前記ブロックの前記動き補償デ−タを記憶回路から読み出す第２の工程と、前記第２の工程で読み出した動き補償デ−タを用いて前記第１のブロックの動き補償処理を行って動き補償デ−タを生成する第３の工程と、前記第２のブロックより選択順が前で当該第２のブロックに行方向で隣接する前記ブロックの前記動き補償デ−タが記憶されている前記記憶回路のアドレスに、前記第３の工程で生成した動き補償デ−タを書き込む第４の工程とを有する。
【発明の効果】
【００１１】
本発明によれば、動き補償デ−タを効率的に記憶でき、記憶回路を小規模化できるデータ処理装置、その方法およびその符号化装置を提供することができる。
【発明を実施するための最良の形態】
【００１２】
以下、本発明の実施形態に係わるＪＶＴ方式の符号化装置について説明する。
以下、図１〜図１５を参照して本発明の実施形態を説明する。
先ず、本実施形態の構成要素と本発明の構成要素との対応関係を説明する。
図２および図８に示す動き予測・補償回路３９が、第１の発明のデータ処理装置、並びに第２の発明のデータ処理回路に対応している。
また、図２に示す符号化装置２が、第２の発明の符号化装置に対応している。
また、図８に示すＭＢ＿Ｐ選択回路６１が第１および第２の発明の選択回路に対応し、メモリ６２が第１および第２の発明の記憶回路に対応している。
また、制御回路６３およびＭＣ処理回路６４が、第１および第２の発明の動き補償回路に対応している。
また、図２等に示すフレームデータＳ２３が、本発明の被符号化画像データに対応している。
また、本実施形態のマクロブロックペアが、本発明のブロックに対応している。
ここで、図４等に示すマクロブロックペアｐが本発明の第１のブロックに対応し、マクロブロックペアｂが本発明の第２のブロックに対応し、マクロブロックペアａが本発明の第３のブロックに対応し、マクロブロックペアｃ，ｄが本発明の第４のブロックに対応している。
また、本実施形態の動き補償データＭＣＤが本発明の動き補償データに対応している。
【００１３】
次に、本発明の特徴に対応した図８に示す動き予測・補償回路３９の概要を説明する。
図８に示すＭＢ＿Ｐ選択回路６１が、図３に示す複数のブロックペアＭＢ＿Ｐの位置を規定するマトリクスの行を行方向に順に選択し、当該選択した行について列方向に列を順に選択し、前記選択した行および列に対応する位置のマクロブロックペアＭＢ＿Ｐを処理対象のマクロブロックペアｐとして選択する。
制御回路６３は、ＭＢ＿Ｐ選択回路６１が選択したマクロブロックペアｐに対して、図４に示すように隣接するマクロブロックペアａ，ｂ，ｃ，ｄの動き補償データＭＣＤをメモリ６２から読み出す。
ＭＣ処理回路６４は、制御回路６３が読み出した動き補償データＭＣＤを用いて、マクロブロックペアｐの動き補償処理を行って、マクロブロックペアｐの動き補償データＭＣＤを生成する。
制御回路６３は、マクロブロックペアｂ，ｃ，ｄより選択順が前で、これらに行方向で隣接するマクロブロックペアの動き補償データＭＣＤが記憶されているメモリ６２のアドレスに、上記生成したマクロブロックペアｐの動き補償データＭＣＤを書き込む。すなわち、制御回路６３は、他のマクロブロックペアの動き補償処理で参照されなくなった動き補償データに、新たに生成した動き補償データを上書きする。
【００１４】
以下、第１実施形態の通信システム１について詳細に説明する。
図１は、本実施形態の通信システム１の概念図である。
図１に示すように、通信システム１は、送信側に設けられた符号化装置２と、受信側に設けられた復号装置３とを有する。
通信システム１では、送信側の符号化装置２において、離散コサイン変換やカルーネン・レーベ変換などの直交変換と動き補償によって圧縮したフレーム画像データ（ビットストリーム）を生成し、当該フレーム画像データを変調した後に、衛星放送波、ケーブルＴＶ網、電話回線網、携帯電話回線網などの伝送媒体を介して送信する。
受信側では、受信した画像信号を復調した後に、上記変調時の直交変換の逆変換と動き補償によって伸張したフレーム画像データを生成して利用する。
なお、上記伝送媒体は、光ディスク、磁気ディスクおよび半導体メモリなどの記録媒体であってもよい。
図１に示す復号装置３は符号化装置２の符号化に対応した復号を行う。
【００１５】
以下、図１に示す符号化装置２について説明する。
図２は、図１に示す符号化装置２の全体構成図である。
図２に示すように、符号化装置２は、例えば、Ａ／Ｄ変換回路２２、画面並べ替え回路２３、演算回路２４、直交変換回路２５、量子化回路２６、可逆符号化回路２７、バッファ２８、逆量子化回路２９、逆直交変換回路３０、レート制御回路３２、フレームメモリ３４、デブロックフィルタ３８および動き予測・補償回路３９を有する。
【００１６】
以下、符号化装置２の構成要素について説明する。
Ａ／Ｄ変換回路２２は、入力されたアナログの輝度信号Ｙ、色差信号Ｃｂ，Ｃｒから構成される原画像信号Ｓ１０をデジタルのフレームデータＳ２２に変換し、これを画面並べ替え回路２３に出力する。
画面並べ替え回路２３は、Ａ／Ｄ変換回路２２から入力したフレームデータＳ２２を、そのピクチャタイプＩ，Ｐ，ＢからなるＧＯＰ(Group Of Pictures) 構造に応じて、符号化する順番に並べ替えたフレームデータＳ２３を演算回路２４、レート制御回路３２および動き予測・補償回路３９に出力する。
【００１７】
演算回路２４は、フレームデータＳ２３内の処理対照の動き補償ブロックＭＣＢと、それに対応して動き予測・補償回路３９から入力した予測画像データＰＩの動き補償ブロックＭＣＢとの差分を示す画像データＳ２４を生成し、これを直交変換回路２５に出力する。
直交変換回路２５は、画像データＳ２４に離散コサイン変換やカルーネン・レーベ変換などの直交変換を施して画像データ（例えばＤＣＴ係数）Ｓ２５を生成し、これを量子化回路２６に出力する。
量子化回路２６は、レート制御回路３２から入力した量子化スケールで、画像データＳ２５を量子化して画像データＳ２６を生成し、これを可逆符号化回路２７および逆量子化回路２９に出力する。
【００１８】
可逆符号化回路２７は、画像データＳ２６を可変長符号化あるいは算術符号化した画像データをバッファ２８に格納する。
このとき、可逆符号化回路２７は、インター予測符号化が行われた場合には、動き予測・補償回路３９から入力した動きベクトルＭＶを符号化してヘッダデータに格納する。
【００１９】
バッファ２８に格納された画像データは、変調等された後に送信される。
逆量子化回路２９は、他の動き補償ブロックＭＣＢから参照される参照画像データの動き補償ブロックＭＣＢの画像データＳ２６を逆量子化した信号を生成し、これをデブロックフィルタ３８に出力する。
デブロックフィルタ３８は、画像データＳ２６のブロック歪みを除去した画像データを、逆直交変換回路３０に出力する。
逆直交変換回路３０は、デブロックフィルタ３８から入力した画像データに、直交変換回路２５における直交変換の逆変換を施して生成した画像データＳ３０をフレームメモリ３４に書き込む。
レート制御回路３２は、例えば、画面並べ替え回路２３から入力したフレームデータＳ２３を基に、画像中の複雑度が高い部分は細かく量子化し、画像中の複雑度が低い部分は粗く量子化するように量子化パラメータＱＰを生成する。
そして、レート制御回路３２は、上記生成した量子化パラメータＱＰ、並びに画面並べ替え回路２３から読み出した画像データを基に量子化スケールを生成し、これを量子化回路２６に出力する。
【００２０】
動き予測・補償回路３９は、フレームデータＳ２３と参照画像データＲＥＦとを基に、マクロブロックＭＢを単位として動き補償処理を行う。
具体的には、動き予測・補償回路３９は、図３に示すように、フレームデータＳ２３による２次元画像であるピクチャＰＩＣを構成しマトリクス状に位置する複数のブロック画像をそれぞれ規定する複数のマクロブロックペアＭＢ＿Ｐのうち、複数のブロックペアＭＢ＿Ｐの位置を規定するマトリクスの行を行方向に順に選択し、当該選択した行について列方向に列を順に選択し、前記選択した行および列に対応する位置のマクロブロックペアＭＢ＿Ｐを処理対象のマクロブロックペアｐとして選択する。
すなわち、動き予測・補償回路３９は、ラスタスキャンにより、マクロブロックペアｐを選択する。
また、動き予測・補償回路３９は、処理対象のマクロブロックｐを構成しマトリクス状に位置する複数の動き補償ブロックＭＣＢを図３に示す選択パターンで選択して動き補償処理を行う。
本実施形態では、動き予測・補償回路３９が、個々のマクロブロックＭＢを単位として、マクロブロックＭＢを構成する動き補償ブロックＭＣＢのサイズおよび数を決定する。
以下の実施形態では、マクロブロックＭＢが、１６個の動き補償ブロックＭＣＢによって構成される場合を例示するが、本発明は、１６個以外の動き補償ブロックＭＣＢによってマクロブロックＭＢが構成されてもよい。
【００２１】
動き予測・補償回路３９は、図４に示すように、マクロブロックペアに属する動き補償ブロックＭＣＢの動き補償処理において、マクロブロックペアｐに隣接したマクロブロックペアａ，ｂ，ｃ，ｄの一部の動き補償ブロックＭＣＢの動き補償データＭＣＤを用いる。
ここで、マクロブロックペアａは、マクロブロックペアｐに対して列方向で隣接している。
また、マクロブロックペアｂは、マクロブロックペアｐに対して行方向で隣接している。マクロブロックペアｃ，ｄは、マクロブロックペアｂに対して列方向で隣接している。
動き予測・補償回路３９は、図５に示すように、マクロブロックペアａを構成するマクロブロックＡ，Ａ’内のマクロブロックペアｐに隣接する８個の動き補償ブロックＭＣＢの動き補償データＭＣＤを用いて（参照して）、マクロブロックペアｐに属する動き補償ブロックＭＣＢの動き補償処理を行う。
本実施形態の動き補償データＭＣＤは、当該動き補償ブロックＭＣＢをイントラ予測モードおよびインター予測モードの何れを選択して符号化するかを示す予測モード情報、インター予測モードを選択した場合に参照した参照画像データＲＥＦの識別情報、動きベクトルＭＶなどを示している。
なお、動き予測・補償回路３９は、マクロブロックタイプや量子化パラメータなどにつては、マクロブロックＭＢを単位として一つ決定する。
【００２２】
また、動き予測・補償回路３９は、図５に示すように、マクロブロックペアｂ，ｃ，ｄを構成するマクロブロックＢ，Ｂ’，Ｃ，Ｃ’，Ｄ，Ｄ’内の動き補償処理順が後の行に属するマクロブロックＭＢに隣接する動き補償ブロックＭＣＢの動き補償データＭＣＤをさらに用いて、マクロブロックペアｐに属する動き補償ブロックＭＣＢの動き補償処理を行う。
このように、本実施形態では、各マクロブロックＭＢを構成する１６個の動き補償ブロックＭＣＢのうち、図６（Ａ）に示す４個の動き補償ブロックＭＣＢ、並びに図６（Ｂ）に示す４個の動き補償ブロックＭＣＢの動き補償データＭＣＤが、他のマクロブロックＭＢの動き補償デ−タを生成するために用いられる。
このとき、マクロブロックＭＢ内の４列４行目の動き補償ブロックＭＣＢの動き補償データＭＣＤを、メモリ６２の記憶領域ＳＴＡ，ＳＴＢの何れか一方のみに記憶させ、各マクロブロックＭＢについて合計７個の動き補償ブロックＭＣＢの動き補償データＭＣＤをメモリ６２に記憶する。
【００２３】
動き予測・補償回路３９は、処理対象のマクロブロックペアｐを構成する３２（＝１６×２）の動き補償ブロックＭＣＢの動き補償データＭＣＤを算出し、そのうち１４（＝７×２）個の動き補償ブロックＭＣＢの動き補償データＭＣＤを保存する。
【００２４】
動き予測・補償回路３９は、図７に示すように、フレームデータＳ２３内の処理対象のマクロブロックＭＢの各動き補償ブロックＭＣＢについて、当該動き補償ブロックＭＣＢとの差異が最も小さい動き補償ブロックＭＣＢの位置を参照画像データＲＥＦの探索範囲ＳＲ内で特定し、これらの位置関係に対応した動きベクトルＭＶを算出する。
また、動き予測・補償回路３９は、上記生成した動きベクトルＭＶを基に、予測画像データＰＩを生成する。
動き予測・補償回路３９は、上記選択した動きベクトルＭＶを可逆符号化回路２７に出力し、上記生成した予測画像データＰＩを演算回路２４に出力する。
【００２５】
図８は、図２に示す動き予測・補償回路３９の構成を説明するための図である。
図８に示すように、動き予測・補償回路３９は、例えば、ＭＢ＿Ｐ選択回路６１、メモリ６２、制御回路６３、ＭＣ処理回路６４およびＰＩ生成回路６５を有する。
【００２６】
ＭＢ＿Ｐ選択回路６１は、図３に示すマクロブロックペアＭＢ＿Ｐのうち同じ行に属する複数のマクロブロックペアＭＢ＿Ｐを列方向に順に選択し、上記行を行方向に順に選択することで、複数のマクロブロックペアＭＢ＿Ｐのなかから処理対象となるマクロブロックペアｐを選択する。
ＭＢ＿Ｐ選択回路６１は、上記選択したマクロブロックペアｐを示す選択データＳＤを制御回路６３およびＭＣ処理回路６４に出力する。
【００２７】
メモリ６２は、動き補償データＭＣＤを記憶し、その読み書きが制御回路６３によって制御される。
メモリ６２は、図９（Ａ）に示すように、前述した図３に示すピクチャＰＩＣの列方向のマクロブロックＭＢの数Ｎに２を加算した加算値（Ｎ＋２）に４（列）を乗じた乗算値である（（Ｎ＋２）×４）個分のマクロブロックＭＢに属する図６（Ａ）に示す４個の動き補償ブロックＭＣＢの動き補償データＭＣＤを記憶する記憶領域ＳＴＡを有する。
記憶領域ＳＴＡは、列方向のアドレスＡ＿Ｘと、行方向のアドレスＡ＿Ｙとによって、各マクロブロックＭＢの動き補償データＭＣＤを記憶するアドレス（Ａ＿Ｘ，Ａ＿Ｙ）が規定されている。
ここで、Ａ＿Ｘは「（−１）〜（Ｎ＋１）」を示し、アドレスＡ＿Ｙは「０〜３」を示す。
記憶領域ＳＴＡの各アドレス（Ａ＿Ｘ，Ａ＿Ｙ）には、マクロブロックＭＢの図６（Ａ）に示す４個の動き補償ブロックＭＣＢの動き補償データＭＣＤが格納される。
【００２８】
また、メモリ６２は、図９（Ｂ）に示すように、２（列）×２（行）の４個分のマクロブロックＭＢに属する図６（Ｂ）に示す４個の動き補償ブロックＭＣＢの動き補償データＭＣＤを記憶する記憶領域ＳＴＢを有する。
記憶領域ＳＴＢは、列方向のアドレスＢ＿Ｘと、行方向のアドレスＢ＿Ｙとによって、各マクロブロックＭＢの動き補償データＭＣＤを記憶するアドレス（Ｂ＿Ｘ，Ｂ＿Ｙ）が規定されている。
ここで、Ｂ＿Ｘは０または１を示し、Ｂ＿Ｙを０または１を示す。
記憶領域ＳＴＢの各アドレス（Ｂ＿Ｘ，Ｂ＿Ｙ）には、マクロブロックＭＢの図６（Ｂ）に示す４個の動き補償ブロックＭＣＢの動き補償データＭＣＤが格納される。
【００２９】
このように、動き予測・補償回路３９のメモリ６２は、（（Ｎ＋２）×４）個分のマクロブロックＭＢの記憶領域ＳＴＡと、２（列）×２（行）の４個分のマクロブロックＭＢの動き補償データＭＣＤを記憶する記憶領域ＳＴＢとを備え、従来に比べて小さいな記憶容量のメモリを使用できる。
【００３０】
制御回路６３は、ＭＢ＿Ｐ選択回路６１からの選択データＳＤを基に、ＭＢ＿Ｐ選択回路６１が選択したマクロブロックペアｐより選択順が前で当該マクロブロックペアｐに対して図４および図５に示す位置関係にあるマクロブロックペアａ，ｂ，ｃ，ｄの動き補償データＭＣＤをメモリ６２から読み出してＭＣ処理回路６４に出力する。
制御回路６３は、ＭＣ処理回路６４が生成したマクロブロックペアｐの動き補償データＭＣＤをメモリ６２に書き込む。
制御回路６３の動作例については後に詳細に説明する。
【００３１】
ＭＣ処理回路６４は、制御回路６３から入力した動き補償データＭＣＤを用いて動き補償処理を行い、マクロブロックペアｐの動き補償データＭＣＤを生成し、これを制御回路６３に出力する。
ＭＣ処理回路６４は、制御回路６３から上記入力した動き補償データＭＣＤを用いて、マクロブロックペアｐ内の各動き補償ブロックＭＣＢについて、動き補償処理を行って動き補償データＭＣＤを生成する。
具体的には、ＭＣ処理回路６４は、処理対象の動き補償ブロックＭＣＢについて、イントラ予測モードおよびインター予測モードの何れを選択して符号化するかを決定し、当該決定した符号化を示す予測モード情報を生成する。
また、ＭＣ処理回路６４は、インター予測モードを選択した場合に、フレームデータＳ２３内の処理対象の動き補償ブロックＭＣＢとの画素データ間の差分の総和を最小にする動き補償ブロックＭＣＢを参照画像データＲＥＦ内の所定の探索範囲内で探索し、当該探索した動き補償ブロックＭＣＢの位置を基に動きベクトルＭＶを生成する。
また、ＭＣ処理回路６４は、上記探索に用いた参照画像データＲＥＦの識別情報を生成する。
そして、ＭＣ処理回路６４は、上記生成した符号化情報、動きベクトルＭＶ、並びに参照画像データＲＥＦの識別情報を示す動き補償データＭＣＤを制御回路６３に出力する。
ＭＣ処理回路６４は、上記生成した動きベクトルＭＶをＰＩ生成回路６５に出力する。
ＰＩ生成回路６５は、上記動きベクトルＭＶと参照画像データＲＥＦとを基に予測画像データＰＩを生成し、これを演算回路２４に出力する。
また、ＰＩ生成回路６５は、ＭＣ処理回路６４から入力した動きベクトルＭＶを図２に示す可逆符号化回路２７に出力する。
【００３２】
以下、制御回路６３の動作例について詳細に説明する。
ここで、ＭＢ＿Ｐ選択回路６１によって選択された図４に示すマクロブロックペアｐのマクロブロックＰ’がピクチャＰＩＣ内のＸ列、Ｙ行に対応する位置にある場合に、それをＰ’（Ｘ，Ｙ）と表現する。
このとき、制御回路６３は、メモリ６２内の記憶領域ＳＴＡ内のアドレス（Ｘ，（Ｙ−１＋４）＆３）および（Ｘ，（Ｙ−２＋４）＆３）から、図４および図５に示すそれぞれマクロブロックＢ，Ｂ’の図６（Ａ）に示す４つの動き補償ブロックＭＣＢの動き補償データＭＣＤを読み出す。なお、本実施形態では、「＆」はバイナリによる論理積を意味する。
また、制御回路６３は、メモリ６２内の記憶領域ＳＴＡ内のアドレス（Ｘ−１，（Ｙ−１＋４）＆３）および（Ｘ−１，（Ｙ−２＋４）＆３）から、図４および図５に示すそれぞれマクロブロックＤ，Ｄ’の図６（Ａ）に示す４つの動き補償ブロックＭＣＢの動き補償データＭＣＤを読み出す。
また、制御回路６３は、メモリ６２内の記憶領域ＳＴＡ内のアドレス（Ｘ＋１，（Ｙ−１＋４）＆３）および（Ｘ＋１，（Ｙ−２＋４）＆３）から、図４および図５に示すそれぞれマクロブロックＣ，Ｃ’の図６（Ａ）に示す４つの動き補償ブロックＭＣＢの動き補償データＭＣＤを読み出す。
また、制御回路６３は、メモリ６２内の記憶領域ＳＴＢ内のアドレス（（Ｘ−１＋２）＆１，Ｙ＆１）および（（Ｘ−１＋２）＆１，（Ｙ＋１）＆１）から、図４および図５に示すそれぞれマクロブロックＡ，Ａ’の図６（Ｂ）に示す４つの動き補償ブロックＭＣＢの動き補償データＭＣＤを読み出す。
【００３３】
また、制御回路６３は、マクロブロックＰ’（Ｘ，Ｙ）内の図６（Ａ）に示す動き補償ブロックＭＣＢについてＭＣ処理回路６４が動き補償処理を行って生成した動き補償データＭＣＤを、メモリ６２内の記憶領域ＳＴＡ内のアドレス（Ｘ，Ｙ＆３）に書き込む。
また、制御回路６３は、マクロブロックＭＢ（Ｘ，Ｙ）内の図６（Ｂ）に示す動き補償ブロックＭＣＢについてＭＣ処理回路６４が動き補償処理を行って生成した動き補償データＭＣＤを、メモリ６２内の記憶領域ＳＴＢ内のアドレス（Ｘ＆１，Ｙ＆１）に書き込む。
【００３４】
このように、制御回路６３は、他のマクロブロックペアの動き補償処理で参照されなくなった動き補償データに、新たに生成した動き補償データを上書きする。
そのため、メモリ６２は、図９に示すように、（（Ｎ＋２）×４）個分のマクロブロックＭＢの記憶領域ＳＴＡと、２（列）×２（行）の４個分のマクロブロックＭＢの動き補償データＭＣＤを記憶する記憶領域ＳＴＢとを備えていればよく、メモリ６２として従来に比べて小さいな記憶容量のメモリを使用できる。
【００３５】
図９は、選択されたマクロブロックペアｐのマクロブロックＰ’（２，０）についての制御回路６３の動作例を説明するための図である。
例えば、Ｐ’（２，０）の場合は、制御回路６３は、図９（Ａ）に示すように、記憶領域ＳＴＡのアドレス（２，３），（２，２），（３，３），（３，２），（１，３），（１，２）から、マクロブロックペアｂ，ｃ，ｄのマクロブロックＢ，Ｂ’，Ｃ，Ｃ’，Ｄ，Ｄ’の図６（Ａ）に示す動き補償ブロックＭＣＢの動き補償データＭＣＤをそれぞれ読み出す。
また、制御回路６３は、図９（Ｂ）に示すように、記憶領域ＳＴＢのアドレス（１，０），（１，１）から、マクロブロックペアａのマクロブロックＡ，Ａ’の図６（Ｂ）に示す動き補償ブロックＭＣＢの動き補償データＭＣＤをそれぞれ読み出す。
【００３６】
また、制御回路６３は、マクロブロックＰ’（２，０）内の図６（Ａ）に示す動き補償ブロックＭＣＢについてＭＣ処理回路６４が動き補償処理を行って生成した動き補償データＭＣＤを、メモリ６２内の記憶領域ＳＴＡ内のアドレス（２，０）に書き込む。また、マクロブロックＰ’（２，０）とペアのマクロブロックＰ（２，１）内の図６（Ａ）に示す動き補償ブロックＭＣＢについてＭＣ処理回路６４が動き補償処理を行って生成した動き補償データＭＣＤを、メモリ６２内の記憶領域ＳＴＡ内のアドレス（２，１）に書き込む。
また、制御回路６３は、マクロブロックＰ’（２，０）内の図６（Ｂ）に示す動き補償ブロックＭＣＢについてＭＣ処理回路６４が動き補償処理を行って生成した動き補償データＭＣＤを、メモリ６２内の記憶領域ＳＴＢ内のアドレス（０，０）に書き込む。また、マクロブロックＰ（２，１）内の図６（Ｂ）に示す動き補償ブロックＭＣＢについてＭＣ処理回路６４が動き補償処理を行って生成した動き補償データＭＣＤを、メモリ６２内の記憶領域ＳＴＢ内のアドレス（０，１）に書き込む。
【００３７】
図１０は、選択されたマクロブロックペアｐのマクロブロックＰ’（２，１）についての制御回路６３の動作例を説明するための図である。
例えば、Ｐ’（２，１）の場合は、制御回路６３は、図１０（Ａ）に示すように、記憶領域ＳＴＡのアドレス（２，０），（２，３），（３，０），（３，３），（１，０），（１，３）から、マクロブロックペアｂ，ｃ，ｄのマクロブロックＢ，Ｂ’，Ｃ，Ｃ’，Ｄ，Ｄ’の図６（Ａ）に示す動き補償ブロックＭＣＢの動き補償データＭＣＤをそれぞれ読み出す。
また、制御回路６３は、図９（Ｂ）に示すように、記憶領域ＳＴＢのアドレス（０，０），（０，１）から、マクロブロックペアａのマクロブロックＡ，Ａ’の図６（Ｂ）に示す動き補償ブロックＭＣＢの動き補償データＭＣＤをそれぞれ読み出す。
【００３８】
また、制御回路６３は、マクロブロックＰ’（２，１）内の図６（Ａ）に示す動き補償ブロックＭＣＢについてＭＣ処理回路６４が動き補償処理を行って生成した動き補償データＭＣＤを、メモリ６２内の記憶領域ＳＴＡ内のアドレス（２，１）に書き込む。また、マクロブロックＰ’（２，１）とペアのマクロブロックＰ（２，２）内の図６（Ａ）に示す動き補償ブロックＭＣＢについてＭＣ処理回路６４が動き補償処理を行って生成した動き補償データＭＣＤを、メモリ６２内の記憶領域ＳＴＡ内のアドレス（２，２）に書き込む。
また、制御回路６３は、マクロブロックＰ’（２，１）内の図６（Ｂ）に示す動き補償ブロックＭＣＢについてＭＣ処理回路６４が動き補償処理を行って生成した動き補償データＭＣＤを、メモリ６２内の記憶領域ＳＴＢ内のアドレス（１，０）に書き込む。また、マクロブロックＰ（２，２）内の図６（Ｂ）に示す動き補償ブロックＭＣＢについてＭＣ処理回路６４が動き補償処理を行って生成した動き補償データＭＣＤを、メモリ６２内の記憶領域ＳＴＢ内のアドレス（１，１）に書き込む。
【００３９】
図１１は、選択されたマクロブロックペアｐのマクロブロックＰ’（２，２）についての制御回路６３の動作例を説明するための図である。
例えば、Ｐ’（２，２）の場合は、制御回路６３は、図１１（Ａ）に示すように、記憶領域ＳＴＡのアドレス（２，１），（２，０），（３，１），（３，０），（１，１），（１，０）から、マクロブロックペアｂ，ｃ，ｄのマクロブロックＢ，Ｂ’，Ｃ，Ｃ’，Ｄ，Ｄ’の図６（Ａ）に示す動き補償ブロックＭＣＢの動き補償データＭＣＤをそれぞれ読み出す。
また、制御回路６３は、図１１（Ｂ）に示すように、記憶領域ＳＴＢのアドレス（１，０），（１，１）から、マクロブロックペアａのマクロブロックＡ，Ａ’の図６（Ｂ）に示す動き補償ブロックＭＣＢの動き補償データＭＣＤをそれぞれ読み出す。
【００４０】
また、制御回路６３は、マクロブロックＰ’（２，２）内の図６（Ａ）に示す動き補償ブロックＭＣＢについてＭＣ処理回路６４が動き補償処理を行って生成した動き補償データＭＣＤを、メモリ６２内の記憶領域ＳＴＡ内のアドレス（２，２）に書き込む。また、マクロブロックＰ’（２，２）とペアのマクロブロックＰ（２，３）内の図６（Ａ）に示す動き補償ブロックＭＣＢについてＭＣ処理回路６４が動き補償処理を行って生成した動き補償データＭＣＤを、メモリ６２内の記憶領域ＳＴＡ内のアドレス（２，３）に書き込む。
また、制御回路６３は、マクロブロックＰ’（２，２）内の図６（Ｂ）に示す動き補償ブロックＭＣＢについてＭＣ処理回路６４が動き補償処理を行って生成した動き補償データＭＣＤを、メモリ６２内の記憶領域ＳＴＢ内のアドレス（０，０）に書き込む。また、マクロブロックＰ（２，３）内の図６（Ｂ）に示す動き補償ブロックＭＣＢについてＭＣ処理回路６４が動き補償処理を行って生成した動き補償データＭＣＤを、メモリ６２内の記憶領域ＳＴＢ内のアドレス（０，１）に書き込む。
【００４１】
図１２は、選択されたマクロブロックペアｐのマクロブロックＰ’（２，３）についての制御回路６３の動作例を説明するための図である。
例えば、Ｐ’（２，３）の場合は、制御回路６３は、図１２（Ａ）に示すように、記憶領域ＳＴＡのアドレス（２，２），（２，１），（３，２），（３，１），（１，２），（１，１）から、マクロブロックペアｂ，ｃ，ｄのマクロブロックＢ，Ｂ’，Ｃ，Ｃ’，Ｄ，Ｄ’の図６（Ａ）に示す動き補償ブロックＭＣＢの動き補償データＭＣＤをそれぞれ読み出す。
また、制御回路６３は、図９（Ｂ）に示すように、記憶領域ＳＴＢのアドレス（０，０），（０，１）から、マクロブロックペアａのマクロブロックＡ，Ａ’の図６（Ｂ）に示す動き補償ブロックＭＣＢの動き補償データＭＣＤをそれぞれ読み出す。
【００４２】
また、制御回路６３は、マクロブロックＰ’（２，３）内の図６（Ａ）に示す動き補償ブロックＭＣＢについてＭＣ処理回路６４が動き補償処理を行って生成した動き補償データＭＣＤを、メモリ６２内の記憶領域ＳＴＡ内のアドレス（２，３）に書き込む。また、マクロブロックＰ’（２，３）とペアのマクロブロックＰ（２，０）内の図６（Ａ）に示す動き補償ブロックＭＣＢについてＭＣ処理回路６４が動き補償処理を行って生成した動き補償データＭＣＤを、メモリ６２内の記憶領域ＳＴＡ内のアドレス（２，３）に書き込む。
また、制御回路６３は、マクロブロックＰ’（２，３）内の図６（Ｂ）に示す動き補償ブロックＭＣＢについてＭＣ処理回路６４が動き補償処理を行って生成した動き補償データＭＣＤを、メモリ６２内の記憶領域ＳＴＢ内のアドレス（１，０）に書き込む。また、マクロブロックＰ（２，３）内の図６（Ｂ）に示す動き補償ブロックＭＣＢについてＭＣ処理回路６４が動き補償処理を行って生成した動き補償データＭＣＤを、メモリ６２内の記憶領域ＳＴＢ内のアドレス（１，１）に書き込む。
【００４３】
以下、図８に示す動き予測・補償回路３９の動作例を説明する。
図１３は、図８に示す動き予測・補償回路３９の動作例を説明するためのフローチャートである。
ステップＳＴ１：
図８に示すＭＢ＿Ｐ選択回路６１は、図３に示すマクロブロックペアＭＢ＿Ｐのうち同じ行に属する複数のマクロブロックペアＭＢ＿Ｐを列方向に順に選択し、上記行を行方向に順に選択することで、複数のマクロブロックペアＭＢ＿Ｐのなかから処理対象となるマクロブロックペアｐを選択する。
ＭＢ＿Ｐ選択回路６１は、上記選択したマクロブロックペアｐを示す選択データＳＤを制御回路６３およびＭＣ処理回路６４に出力する。
【００４４】
ステップＳＴ２：
制御回路６３は、メモリ６２内の記憶領域ＳＴＡ内のアドレス（Ｘ，（Ｙ−１＋４）＆３）および（Ｘ，（Ｙ−２＋４）＆３）から、図４および図５に示すそれぞれマクロブロックＢ，Ｂ’の図６（Ａ）に示す４つの動き補償ブロックＭＣＢの動き補償データＭＣＤを読み出す。
また、制御回路６３は、メモリ６２内の記憶領域ＳＴＡ内のアドレス（Ｘ−１，（Ｙ−１＋４）＆３）および（Ｘ−１，（Ｙ−２＋４）＆３）から、図４および図５に示すそれぞれマクロブロックＤ，Ｄ’の図６（Ａ）に示す４つの動き補償ブロックＭＣＢの動き補償データＭＣＤを読み出す。
また、制御回路６３は、メモリ６２内の記憶領域ＳＴＡ内のアドレス（Ｘ＋１，（Ｙ−１＋４）＆３）および（Ｘ＋１，（Ｙ−２＋４）＆３）から、図４および図５に示すそれぞれマクロブロックＣ，Ｃ’の図６（Ａ）に示す４つの動き補償ブロックＭＣＢの動き補償データＭＣＤを読み出す。
また、制御回路６３は、メモリ６２内の記憶領域ＳＴＢ内のアドレス（（Ｘ−１＋２）＆１，Ｙ＆１）および（（Ｘ−１＋２）＆１，（Ｙ＋１）＆１）から、図４および図５に示すそれぞれマクロブロックＡ，Ａ’の図６（Ｂ）に示す４つの動き補償ブロックＭＣＢの動き補償データＭＣＤを読み出す。
【００４５】
ステップＳＴ３：
ＭＣ処理回路６４は、制御回路６３から上記入力した動き補償データＭＣＤを用いて、マクロブロックペアｐ内の各動き補償ブロックＭＣＢについて、動き補償処理を行って動き補償データＭＣＤを生成する。
具体的には、ＭＣ処理回路６４は、処理対象の動き補償ブロックＭＣＢについて、イントラ予測モードおよびインター予測モードの何れを選択して符号化するかを決定し、当該決定した符号化を示す予測モード情報を生成する。
【００４６】
ステップＳＴ４：
ＭＣ処理回路６４は、インター予測モードを選択した場合に、フレームデータＳ２３内の処理対象の動き補償ブロックＭＣＢとの画素データ間の差分の総和を最小にする動き補償ブロックＭＣＢを参照画像データＲＥＦ内の所定の探索範囲内で探索し、当該探索した動き補償ブロックＭＣＢの位置を基に動きベクトルＭＶを生成する。
また、ＭＣ処理回路６４は、上記探索に用いた参照画像データＲＥＦの識別情報を生成する。
そして、ＭＣ処理回路６４は、上記生成した符号化情報、動きベクトルＭＶ、並びに参照画像データＲＥＦの識別情報を示す動き補償データＭＣＤを制御回路６３に出力する。
ＭＣ処理回路６４は、上記生成した動きベクトルＭＶをＰＩ生成回路６５に出力する。
【００４７】
ステップＳＴ５：
ＭＣ処理回路６４は、マクロブロックペアｐについての予測モード情報、参照画像データＲＥＦの識別情報、並びに動きベクトルＭＶなどを示す動き補償データＭＣＤを制御回路６３に出力する。
制御回路６３は、マクロブロックＰ’（Ｘ，Ｙ）内の図６（Ａ）に示す動き補償ブロックＭＣＢについてＭＣ処理回路６４が動き補償処理を行って生成した動き補償データＭＣＤを、メモリ６２内の記憶領域ＳＴＡ内のアドレス（Ｘ，Ｙ＆３）に書き込む。
また、制御回路６３は、マクロブロックＭＢ（Ｘ，Ｙ）内の図６（Ｂ）に示す動き補償ブロックＭＣＢについてＭＣ処理回路６４が動き補償処理を行って生成した動き補償データＭＣＤを、メモリ６２内の記憶領域ＳＴＢ内のアドレス（Ｘ＆１，Ｙ＆１）に書き込む。
【００４８】
ステップＳＴ６：
ＰＩ生成回路６５は、上記動きベクトルＭＶと参照画像データＲＥＦとを基に予測画像データＰＩを生成し、これを演算回路２４に出力する。
また、ＰＩ生成回路６５は、ＭＣ処理回路６４から入力した動きベクトルＭＶを図２に示す可逆符号化回路２７に出力する。
ステップＳＴ７：
動き予測・補償回路３９は、フレームデータＳ２３内の全てのマクロブロックペアについて処理を終了したか否かを判断し、終了していない場合にはステップＳＴ３に戻る。
【００４９】
以下、図２に示す符号化装置２の全体動作を説明する。
原画像信号Ｓ１０が入力されると、原画像信号Ｓ１０がＡ／Ｄ変換回路２２においてデジタルのフレームデータＳ２２に変換される。
次に、出力となる画像圧縮情報のＧＯＰ構造に応じ、画面並べ替え回路２３においてフレームデータＳ２２内のピクチャの並べ替えが行われ、それによって得られたフレームデータＳ２３が演算回路２４、レート制御回路３２および動き予測・補償回路３９に出力される。
次に、演算回路２４が、画面並べ替え回路２３からのフレームデータＳ２３と動き予測・補償回路３９からの予測画像データＰＩとの差分を検出し、その差分を示す画像データＳ２４を直交変換回路２５に出力する。
【００５０】
次に、直交変換回路２５が、画像データＳ２４に離散コサイン変換やカルーネン・レーベ変換等の直交変換を施して画像データＳ２５を生成し、これを量子化回路２６に出力する。  次に、量子化回路２６が、画像データＳ２５を量子化し、量子化された画像データＳ２６を可逆符号化回路２７および逆量子化回路２９に出力する。
次に、可逆符号化回路２７が、画像データＳ２６に可変長符号化あるいは算術符号化等の可逆符号化を施して画像データを生成し、これをバッファ２８に蓄積する。
また、レート制御回路３２が、フレームデータＳ２３およびバッファ２８からの画像データを基に、量子化回路２６における量子化レートを制御する。
【００５１】
また、逆量子化回路２９が、量子化回路２６から入力した画像データＳ２６を逆量子化し、逆量子化した変換係数をデブロックフィルタ３８に出力する。
デブロックフィルタ３８は、逆量子化回路２９から入力した変換係数のブロック歪みを除去した画像データを、逆直交変換回路３０に出力する。
逆直交変換回路３０は、デブロックフィルタ３８から入力した画像データに、直交変換回路２５における直交変換の逆変換を施して生成したデータＳ３０をフレームメモリ３４に書き込む。
そして、動き予測・補償回路３９が、フレームデータＳ２３および参照画像データＲＥＦを基に、図３〜図１３を用いて説明した動き補償処理を行い、動きベクトルＭＶおよび予測画像データＰＩを生成する。
動き予測・補償回路３９は、動きベクトルＭＶを可逆符号化回路２７に出力し、予測画像データＰＩを演算回路２４に出力する。
【００５２】
以上説明したように、符号化装置２では、図８に示す動き予測・補償回路３９の制御回路６３が、マクロブロックペアｂ，ｃ，ｄより選択順が前で、これらに行方向で隣接するマクロブロックペアの動き補償データＭＣＤが記憶されているメモリ６２のアドレスに、上記生成したマクロブロックペアｐの動き補償データＭＣＤを書き込む。すなわち、制御回路６３は、他のマクロブロックペアの動き補償処理で参照されなくなった動き補償データに、新たに生成した動き補償データを上書きする。
そのため、メモリ６２は、上記図９等に示すメモリ６２は、図９（Ａ）に示すように、（（Ｎ＋２）×４）個分のマクロブロックＭＢの記憶領域ＳＴＡと、２（列）×２（行）の４個分のマクロブロックＭＢの動き補償データＭＣＤを記憶する記憶領域ＳＴＢとを備えていればよく、メモリ６２として従来に比べて小さいな記憶容量のメモリを使用できる。
また、動き予測・補償回路３９によれば、各マクロブロックＭＢの動き補償データＭＣＤとして、図６（Ａ），（Ｂ）に示す合計７個の動き補償ブロックＭＣＢの動き補償データＭＣＤをメモリ６２に記憶し、それ以外の動き補償ブロックＭＣＢの動き補償データＭＣＤはメモリ６２に記憶しない。
そのため、マクロブロックＭＢ内の全ての動き補償ブロックＭＣＢの動き補償データＭＣＤをメモリ６２に記憶する場合に比べて、メモリ６２の記憶容量を小さくできる。
【００５３】
本発明は上述した実施形態には限定されない。
上述した実施形態では、本発明のブロックとしてマクロブロックペアを例示したが、図図１４および図１５に示すように、マクロブロックペアではなくマクロブロックＭＢ（Ｐ，Ａ，Ｂ，Ｃ，Ｄ）を単位として動き予測・補償処理を行ってもよい。
この場合には、メモリ６２は、（（Ｎ＋２）×２）個分のマクロブロックＭＢに属する図６（Ａ）に示す４個の動き補償ブロックＭＣＢの動き補償データＭＣＤを記憶する記憶領域ＳＴＡと、２（列）×１（行）の２個分のマクロブロックＭＢに属する図６（Ｂ）に示す２個の動き補償ブロックＭＣＢの動き補償データＭＣＤを記憶する記憶領域ＳＴＢとを有する。
また、制御回路６３およびＭＣ処理回路６４の処理は、マクロブロックペアがマクロブロックＭＢになることを除いて上述した実施形態と同じである。
【産業上の利用可能性】
【００５４】
本発明は、画像データを符号化する符号化システムに適用可能である。
【図面の簡単な説明】
【００５５】
【図１】図１は、本発明は、本発明の第１実施形態の通信システムの構成図である。
【図２】図２は、図１に示す符号化装置の機能ブロック図である。
【図３】図３は、動き補償処理の対象となるフレームデータを説明するための図である。
【図４】図４は、図２に示す動き予測・補償回路が参照するマクロブロックペアを説明するための図である。
【図５】図５は、図２に示す動き予測・補償回路が参照するマクロブロックペア内の動き補償ブロックを説明するための図である。
【図６】図６は、図２に示す動き予測・補償回路が参照するマクロブロックペア内の動き補償ブロックを説明するための図である。
【図７】図７は、図２に示す動き補償回路における動きベクトルの探索方法を説明するための図である。
【図８】図８は、図２に示す動き補償回路の構成図である。
【図９】図９は、選択されたマクロブロックペアｐのマクロブロックＰ’（２，０）についての制御回路の動作例を説明するための図である。
【図１０】図１０は、選択されたマクロブロックペアｐのマクロブロックＰ’（２，１）についての制御回路の動作例を説明するための図である。
【図１１】図１１は、選択されたマクロブロックペアｐのマクロブロックＰ’（２，２）についての制御回路の動作例を説明するための図である。
【図１２】図１２は、選択されたマクロブロックペアｐのマクロブロックＰ’（２，３）についての制御回路の動作例を説明するための図である。
【図１３】図１３は、図８に示す動き予測・補償回路の動作を説明するためのフローチャートである。
【図１４】図１４は、本発明の実施形態に係わる動き予測・補償回路の変形例の動作を説明するための図である。
【図１５】図１５は、本発明の実施形態に係わる動き予測・補償回路の変形例の動作を説明するための図である。
【符号の説明】
【００５６】
１…通信システム、２…符号化装置、３…復号装置、２２…Ａ／Ｄ変換回路、２３…画面並べ替え回路、２４…演算回路、２５…直交変換回路、２６…量子化回路、２７…可逆符号化回路、２８…バッファ、２９…逆量子化回路、３０…逆直交変換回路、３４…フレームメモリ、３２…レート制御回路、３４…フレームメモリ、３９…動き予測・補償回路、６１…ＭＢ＿Ｐ選択回路、６２…メモリ、６３…制御回路、６４…ＭＣ処理回路、６５…ＰＩ生成回路
【図１】
2005176259.tif 000003
【図２】
2005176259.tif 000004
【図３】
2005176259.tif 000005
【図４】
2005176259.tif 000006
【図５】
2005176259.tif 000007
【図６】
2005176259.tif 000008
【図７】
2005176259.tif 000009
【図８】
2005176259.tif 000010
【図９】
2005176259.tif 000011
【図１０】
2005176259.tif 000012
【図１１】
2005176259.tif 000013
【図１２】
2005176259.tif 000014
【図１３】
2005176259.tif 000015
【図１４】
2005176259.tif 000016
【図１５】
2005176259.tif 000017