(57)【要約】【課題】  ＭＰＥＧ４ＡＶＣ規格のように、圧縮の際にマクロブロック単位での動き補償を行って圧縮されたデータを復号する画像復号装置において、動き補償を実行するプログラム、若しくは演算器の単一化を目的とする。【解決手段】  画像復号装置は、画像を所定サイズ、例えば１６画素×１６画素のサイズのブロック単位で圧縮されているデータを、当該ブロックよりも小さいサイズで、本画像復号装置が動き補償演算を実行できるサイズのサブブロックに分割する。ブロックに割り当てられている動きベクトルを、分割して生成されたサブブロックの数だけ複製して、それぞれのサブブロック毎に複製した動きベクトルを用いての動き補償演算を実行する。各サブブロックごとの動き補償演算の結果得られるデータを統合して、復号画像を得る。【選択図】図２
2006311526.tif 000002
【特許請求の範囲】
【請求項１】
画像を矩形のブロック毎に区切って各ブロックに対応する動きベクトルを含む、前記画像が符号化された画像データを、動きベクトルを用いての動き補償演算を行って、復号する画像復号装置であって、
前記ブロックを、所定サイズの矩形であるサブブロックに分割して、各サブブロックの位置座標を求める分割手段と、
前記位置座標に基づいて、サブブロックが参照する参照画像を特定する特定手段と、
前記各サブブロックについて、前記動きベクトルと、前記特定手段で特定された当該サブブロックの参照画像の画素値とに基づいて所定演算を行って、当該サブブロックに対応する原画像を復号する復号手段と、
前記復号手段で復号された各サブブロックの原画像を前記位置座標に基づいて統合して、前記ブロック分の画像を生成する統合手段とを備える
ことを特徴とする画像復号装置。
【請求項２】
前記符号化された画像データはＭＰＥＧ４ＡＶＣ規格に基づいて符号化されたデータであり、
前記所定演算は、ＭＰＥＧ４ＡＶＣの規格に基づいて符号化された画像データを復号するための動き補償演算であり、
前記ブロックは、当該規格におけるマクロブロック若しくはサブマクロブロックである
ことを特徴とする請求項１記載の画像復号装置。
【請求項３】
前記分割手段は、４×４画素の画素サイズを前記所定サイズとするサブブロックに分割し、
前記復号手段は、４×４画素の画像サイズのサブブロックを復号する
ことを特徴とする請求項２記載の画像復号装置。
【請求項４】
前記符号化されたデータは、前記ブロックの画素サイズを特定する情報を含み、
前記画像復号装置は更に、
前記ブロックの画素サイズが８×８画素サイズ以上である場合に、８×８画素の画素サイズのサブブロックに分割して、各サブブロックの一座標を求める第２分割手段と、
前記第２分割手段で生成されたサブブロックを前記動きベクトルと、前記特定手段で特定された当該サブブロックの参照画像の画素値とに基づいて所定演算を行って復号する第２復号手段を備え、
前記分割手段は、前記ブロックの画素サイズが８×８画素サイズ未満である場合に、４×４画素の画素サイズを前記所定サイズとするサブブロックに分割する
ことを特徴とする請求項３記載の画像復号装置。
【請求項５】
前記画像復号装置は更に、
前記ブロックの参照画像を取得し記憶するメモリを備え、
前記分割手段で前記ブロックを分割する前に、前記メモリは、前記ブロックの参照画像を取得し、
前記特定手段は、前記メモリ中の参照画像を特定し、
前記復号手段は、前記メモリに記憶されている参照画像を用いてサブブロックを復号する
ことを特徴とする請求項１記載の画像復号装置。
【請求項６】
画像を矩形のブロック毎に区切って各ブロックに対応する動きベクトルを含む、前記画像が符号化された画像データを、動きベクトルを用いての動き補償演算を行って、復号する画像復号方法であって、
前記ブロックを、所定サイズの矩形であるサブブロックに分割して、各サブブロックの位置座標を求める分割ステップと、
前記位置座標に基づいて、サブブロックが参照する参照画像を特定する特定ステップと、
前記各サブブロックについて、前記動きベクトルと、前記特定ステップで特定された当該サブブロックの参照画像の画素値とに基づいて所定演算を行って、当該サブブロックに対応する原画像を復号する復号ステップと、
前記復号ステップで復号された各サブブロックの原画像を前記位置座標に基づいて統合して、前記ブロック分の画像を生成する統合ステップとを含む
ことを特徴とする画像復号方法。
【請求項７】
画像復号装置のコンピュータに、画像を矩形のブロック毎に区切って各ブロックに対応する動きベクトルを含む前記画像が符号化された画像データを、動きベクトルを用いての動き補償演算を行って、復号させるための処理手順を示した画像復号プログラムであって、前記処理手順は、
前記ブロックを、所定サイズの矩形であるサブブロックに分割して、各サブブロックの位置座標を求める分割ステップと、
前記位置座標に基づいて、サブブロックが参照する参照画像を特定する特定ステップと、
前記各サブブロックについて、前記動きベクトルと、前記特定ステップで特定された当該サブブロックの参照画像の画素値とに基づいて所定演算を行って、当該サブブロックに対応する原画像を復号する復号ステップと、
前記復号ステップで復号された各サブブロックの原画像を前記位置座標に基づいて統合して、前記ブロック分の画像を生成する統合ステップとを含む
ことを特徴とする画像復号プログラム。
【請求項８】
画像を矩形のブロック毎に区切った場合の各ブロックに対応する動きベクトルを含む前記画像が符号化された画像データを、動きベクトルを用いての動き補償演算を行って、復号する画像復号装置に搭載される画像復号集積回路であって、
前記ブロックを、所定サイズの矩形であるサブブロックに分割して、各サブブロックの位置座標を求める分割回路と、
前記位置座標に基づいて、サブブロックが参照する参照画像を特定する特定回路と、
前記各サブブロックについて、前記動きベクトルと、前記特定回路で特定された当該サブブロックの参照画像の画素値とに基づいて所定演算を行って、当該サブブロックに対応する原画像を復号する復号回路と、
前記復号回路で復号された各サブブロックの原画像を前記位置座標に基づいて統合して、前記ブロック分の画像を生成する統合回路とを含む
ことを特徴とする画像復号集積回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、圧縮された画像を復号する技術に関する。
【背景技術】
【０００２】
近年、動画像データのデジタル化が進み、大容量のデジタル画像データを通信によって伝送する際や、媒体に記録する際に、転送時間の短縮や伝送の帯域幅を圧迫しないために動画像データを圧縮することがある。当該圧縮においては、ＭＰＥＧ（Moving Picture Experts Group）２やＭＰＥＧ４ＡＶＣ等の規格に従う技術が用いられることが多い。ＭＰＥＧ２の規格については、以下の非特許文献１に、ＭＰＥＧ４ＡＶＣの規格については、以下の非特許文献２に記載されている。
【０００３】
ＭＰＥＧ規格の動画像データの圧縮の手法においては、所謂動き検出と呼ばれる技術が用いられている。
そして動き検出の逆処理に相当する動き補償処理と呼称される処理を行って画像を復号する。動き検出とは簡単に言うと、連続するフレーム間で写っている要素がどのように動いたかを検出して効率よく圧縮する方法である。動き検出においてはマクロブロック（例えば１６画素×１６画素のブロック）ごとに、そのマクロブロックが前後のフレームにおいて、どの方向へどの程度動いているかという動きベクトルを求める。そして動きベクトルと、それに対応するマクロブロックの各画素との差分データを求める。そして動き補償処理において画像を復元する際には、この動きベクトルと画素の差分データを合成して元の画像を再現する。差分データは本来の画素データと比較するとデータサイズがかなり小さくなるので、高圧縮が可能となっている。圧縮前に比して、データサイズを小さくできることから、データ転送の速度が、圧縮しない場合に比べて、かなり速くなるという効果を得られる。  
【非特許文献１】ＩＳＯ／ＩＥＣ（International Organization for Standardization/International Electro-technical Commission）１３８１８−２
【非特許文献２】ＩＴＵ−Ｔ（International Telecommunications Union-Telecommunication standardization sector）  Ｈ．２６４規格書
【発明の開示】
【発明が解決しようとする課題】
【０００４】
ところで、ＭＰＥＧ４ＡＶＣの規格においてはマクロブロックには１６×１６画素、８×１６画素、１６×８画素、８×８画素の画素サイズが存在する。更には、８×８画素サイズのマクロブロックの場合には、８×４画素、４×８画素、４×４画素のサブマクロブロックに分かれる場合がある。なお、サブマクロブロックには８×８画素のものもある。
一つの装置で、これら複数のマクロブロックタイプに対応できるようにするならば、ソフトウェアの場合には、各マクロブロックタイプ、それぞれのサイズに応じた処理プログラムを作成する必要がある。こうすると、画像復号装置の作成工数、即ちプログラムを七種類作成するという手間が発生する。また、それぞれの処理プログラムを画像復号装置が記憶しておく必要があり、記憶容量を圧迫するという問題がある。
【０００５】
一方、ハードウェアで全てのマクロブロックタイプに対応できるようにするならば、各マクロブロックサイズに応じて演算器を備える必要が出てくるのでコストの増大や設置スペースの増大を招くといった問題がある。
そこで、本発明においては、上記問題に鑑みて、より設計工数が少なくてすみ、従来よりも記憶容量を圧迫しない、あるいは、小型ですむ画像復号装置を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記課題を解決するため、本発明は、画像を矩形のブロック毎に区切って各ブロックに対応する動きベクトルを含む、前記画像が符号化された画像データを、動きベクトルを用いての動き補償演算を行って、復号する画像復号装置であって、前記ブロックを、所定サイズの矩形であるサブブロックに分割して、各サブブロックの位置座標を求める分割手段と、前記位置座標に基づいて、サブブロックが参照する参照画像を特定する特定手段と、前記各サブブロックについて、前記動きベクトルと、前記特定手段で特定された当該サブブロックの参照画像の画素値とに基づいて所定演算を行って、当該サブブロックに対応する原画像を復号する復号手段と、前記復号手段で復号された各サブブロックの原画像を前記位置座標に基づいて統合して、前記ブロック分の画像を生成する統合手段とを備えることを特徴としている。
【０００７】
ここで、画素値とは、輝度信号若しくは色差信号、あるいはその両方を含む画素を特定する値のことである。
また、参照する参照画像の画素値に関しては、複数の画素の画素値を参照してもよい。
【発明の効果】
【０００８】
これにより、画像復号装置は、所定サイズのサブブロックのみの処理プログラム又は演算器のみで全てのマクロブロックタイプに対応して画像データの復号ができるようになる。よって、全てのマクロブロックタイプに対応したプログラムを作成したり、演算器を用意したりする必要がなくなる。これは同時に設計コストの軽減にもつながる。
また、前記符号化された画像データはＭＰＥＧ４ＡＶＣ規格に基づいて符号化されたデータであり、前記所定演算は、ＭＰＥＧ４ＡＶＣの規格に基づいて符号化された画像データを復号するための動き補償演算であり、前記ブロックは、当該規格におけるマクロブロック若しくはサブマクロブロックであることとしてもよい。
【０００９】
これにより、本発明は、ＭＰＥＧ４ＡＶＣの規格に対応して画像を復元することができるようになる。
また、前記分割手段は、４×４画素の画素サイズを前記所定サイズとするサブブロックに分割し、前記復号手段は、４×４画素の画像サイズのサブブロックを復号することとしてもよい。
【００１０】
これにより、サブブロックをＭＰＥＧ４ＡＶＣ規格における動き補償の最小単位としての４×４画素の動き補償演算を実行できる。４×４画素より大きいサイズに対しても、４×４画素のサイズに区分けして、最小単位である４×４画素の動き補償演算だけで対応できるようになっている。
また、前記符号化されたデータは、前記ブロックの画素サイズを特定する情報を含み、前記画像復号装置は更に、前記ブロックの画素サイズが８×８画素サイズ以上である場合に、８×８画素の画素サイズのサブブロックに分割して、各サブブロックの一座標を求める第２分割手段と、前記第２分割手段で生成されたサブブロックを前記動きベクトルと、前記特定手段で特定された当該サブブロックの参照画像の画素値とに基づいて所定演算を行って復号する第２復号手段を備え、前記分割手段は、前記ブロックの画素サイズが８×８画素サイズ未満である場合に、４×４画素の画素サイズを前記所定サイズとするサブブロックに分割することとしてもよい。
【００１１】
これにより、４×４の画素サイズのサブブロックに対応する動き補償演算と８×８の画素サイズのサブブロックに対応する動き補償演算とを選択的に実行できるようになり、画像復号装置としての利便性が高まる。また、ブロックのサイズが８×８の画素サイズだった場合には分割の処理を省略できるので、演算時間を短縮することができる。
また、前記画像復号装置は更に、前記ブロックの参照画像を取得し記憶するメモリを備え、前記分割手段で前記ブロックを分割する前に、前記メモリは、前記ブロックの参照画像を取得し、前記特定手段は、前記メモリ中の参照画像を特定し、前記復号手段は、前記メモリに記憶されている参照画像を用いてサブブロックを復号することとしてもよい。
【００１２】
これにより、動き補償演算においてサブブロックに対応した参照画像を取得するのではなく、ブロックに対応した参照画像を予めローカルメモリに格納しておく。サブブロック単位で画素を転送するよりも、より大きいブロック単位で画素を転送した方が、フレームメモリからのデータ転送量をより少なくすることができる。よって、動き補償演算における演算時間を多少なりとも短縮することができる。また、参照画像を転送するための転送バンド幅を小さくできる。
【００１３】
また、画像を矩形のブロック毎に区切って各ブロックに対応する動きベクトルを含む、前記画像が符号化された画像データを、動きベクトルを用いての動き補償演算を行って、復号する画像復号方法であって、前記ブロックを、所定サイズの矩形であるサブブロックに分割して、各サブブロックの位置座標を求める分割ステップと、前記位置座標に基づいて、サブブロックが参照する参照画像を特定する特定ステップと、前記各サブブロックについて、前記動きベクトルと、前記特定ステップで特定された当該サブブロックの参照画像の画素値とに基づいて所定演算を行って、当該サブブロックに対応する原画像を復号する復号ステップと、前記復号ステップで復号された各サブブロックの原画像を前記位置座標に基づいて統合して、前記ブロック分の画像を生成する統合ステップとを含むこととしてもよい。  
【００１４】
この方法を画像復号装置が実行することにより、数種類のサイズの復号単位としてのブロックがあったとしても、その中でも最小サイズのブロックに対応した動き補償演算のみで、全てのブロックに対応して画像を復号できるようになる。
また、画像復号装置のコンピュータに、画像を矩形のブロック毎に区切って各ブロックに対応する動きベクトルを含む前記画像が符号化された画像データを、動きベクトルを用いての動き補償演算を行って、復号させるための処理手順を示した画像復号プログラムであって、前記処理手順は、前記ブロックを、所定サイズの矩形であるサブブロックに分割して、各サブブロックの位置座標を求める分割ステップと、前記位置座標に基づいて、サブブロックが参照する参照画像を特定する特定ステップと、前記各サブブロックについて、前記動きベクトルと、前記特定ステップで特定された当該サブブロックの参照画像の画素値とに基づいて所定演算を行って、当該サブブロックに対応する原画像を復号する復号ステップと、前記復号ステップで復号された各サブブロックの原画像を前記位置座標に基づいて統合して、前記ブロック分の画像を生成する統合ステップとを含むこととしてもよい。
【００１５】
このコンピュータプログラムを画像復号装置のコンピュータが実行することにより、数種類のサイズの復号単位としてのブロックがあったとしても、その中でも最小サイズのブロックのみに対応した動き補償演算を実行する記述だけで、全てのブロックに対応して画像を復号できるようになる。
また、画像を矩形のブロック毎に区切った場合の各ブロックに対応する動きベクトルを含む前記画像が符号化された画像データを、動きベクトルを用いての動き補償演算を行って、復号する画像復号装置に搭載される画像復号集積回路であって、前記ブロックを、所定サイズの矩形であるサブブロックに分割して、各サブブロックの位置座標を求める分割回路と、前記位置座標に基づいて、サブブロックが参照する参照画像を特定する特定回路と、前記各サブブロックについて、前記動きベクトルと、前記特定回路で特定された当該サブブロックの参照画像の画素値とに基づいて所定演算を行って、当該サブブロックに対応する原画像を復号する復号回路と、前記復号回路で復号された各サブブロックの原画像を前記位置座標に基づいて統合して、前記ブロック分の画像を生成する統合回路とを含むこととしてもよい。
【００１６】
この集積回路を搭載することで、画像復号装置は、数種類のサイズの復号単位としてのブロックがあったとしても、その中でも最小サイズのブロックのみに対応した動き補償演算だけで、全てのブロックに対応して画像を復号できるようになる。
【発明を実施するための最良の形態】
【００１７】
以下、本発明の一実施形態である画像復号装置について図面を用いて説明する。なお、以下の説明においては、動き補償演算の対象となるブロックを動き補償ブロックと記述し、更にその中でも４×４画素サイズの場合を最小ブロックと記述することもある。
＜実施の形態１＞
＜構成＞
まず、本発明に係る画像復号装置の機能構成について図１及び図２を用いて説明する。
【００１８】
図１は、画像復号装置１００の機能構成を示した機能ブロック図である。同図に示すように、画像復号装置１００は、可変長復号部１１０と、逆量子化部１２０と、逆直行変換部１３０と、加算部１４０と、動き補償部１５０と、フレームメモリ１６０とを含んで構成される。各部は、基本的には従来におけるＭＰＥＧ４ＡＶＣの規格に基づく復号を行うものとし、従来と同様の処理については説明を簡略化する。
【００１９】
可変長復号部１１０は、入力された可変長信号を復号して量子化係数や動きベクトルを算出する機能を有する。
逆量子化部１２０は、量子化されたデータを逆量子化して、データを直行変換した周波数成分に戻す機能を有する。
逆直行変換部１３０は、直行変換されて周波数成分になっているデータを直行変換される前の画素領域表現のデータに戻す機能を有する。画素領域表現とは、画素の輝度及び色差のことである。但し、ここで復号される画素値はフレームによっては前後のフレームとの要素の画素値間の差分値の場合も有る。
【００２０】
加算部１４０は、逆直行変換部１３０から出力されたデータと、動き補償部１５０から出力されたデータとを足し合わせて復号対象のマクロブロックの画素情報を復号する機能を有する。加算部１４０から出力されたデータは参照画像として利用するためにフレームメモリ１６０に格納されたり、あるいは、外部のモニタなどに出力されたりする。更なる詳細については図２を用いて後述する。
【００２１】
動き補償部１５０は、動きベクトルを用いて、既に復号済みの画像を参照画像とし、その参照画像から復号対象となるマクロブロックの画素情報を取り出す機能を有する。その詳細は、図２を用いて後述する。
フレームメモリ１６０は、復号した画像データを格納する機能を有する。格納されている画像データは、動き補償部１５０で復号する画像を得るために用いる参照画像となる。
【００２２】
次いで、本発明の主要となる動き補償を行う構成として、図１に示した加算部１４０並びに動き補償部１５０についてのより詳細な機能を図２の機能ブロック図を用いて説明する。
図２に示すように加算部１４０は、画素格納アドレス変換部１４１とローカルメモリ１４２とを含んで構成される。加算部１４０は、ローカルメモリ１４２に、動き補償部１５０で復号されて出力される画素データを所定位置に格納することで、マクロブロックの復号画像を得る機能を有する。
【００２３】
画素格納アドレス変換部１４１は、動き補償部１５０の演算の結果のデータをローカルメモリ１４２のどのアドレスに格納するかを決定する機能を有する。
ローカルメモリ１４２は、画素格納アドレス変換部１４１から得られた格納アドレスの情報に基づいて、４×４画素動き補償演算部１５５から伝達された復号画像データと、逆直行変換部１３０からのデータとを合成して、格納する。そして格納してあるデータを送出する機能を有する。
【００２４】
また、動き補償部１５０は、図２に示されるように、分割部１５１と、参照画素アドレス演算部１５２と、ＤＭＡ（Direct Memory Access）１５３と、ローカルメモリ１５４と、４×４画素動き補償演算部１５５とを含んで構成される。
分割部１５１は、可変長復号部１１０からマクロブロックがどのサイズであるかを示すマクロブロックタイプ、マクロブロックの左上の画素の座標情報、当該マクロブロックの動きベクトルの情報、動き補償における参照が双方向であるか否かの情報、そして参照するピクチャ番号を受け取る。そしてマクロブロックタイプに基づいて、マクロブロックを４×４の最小ブロックに分割する。そして分割された最小ブロックの左上の画素の座標を求め、定められた順にこの座標とマクロブロックの動きベクトルとを４×４画素動き補償部１５５に伝達する機能を有する。また、最小ブロックの座標と参照するピクチャ番号の情報を参照画素アドレス演算部１５２にも伝達する機能も有する。
【００２５】
参照画素アドレス演算部１５２は、分割部１５１から伝達されたサブマクロブロックの左上の座標と参照するピクチャ番号に基づいて、当該サブマクロブロックが参照する画像の範囲を決定し、その範囲をＤＭＡ１５３に伝達する機能を有する。
ＤＭＡ１５３は、参照画素アドレス演算部１５２から伝達された参照画素の範囲で示される画素成分をフレームメモリ１６０から取得する機能を有し、その画素成分をローカルメモリ１５４に書き込む機能を有する。ここでローカルメモリ１５４に格納される画素データは、分割部１５１から伝達された左上画素の座標値と、参照ピクチャ番号によって決定されるが、４×４の画素の参照画像は、９×９の画素サイズになる。これは、１画素の復号は６タップフィルタを用いており、小数精度（１／２画素の精度）で復号画素の演算を実行するために、横方向においては、復号したい画素の左２つ分の画素、右３つ分の画素の画素データが必要となるためである。上下方向についても同様で、上に２画素、下方向に３画素分の画素データが必要になる。
【００２６】
ローカルメモリ１５４は、ＤＭＡ１５３がフレームメモリ１６０から読み出し、伝達された画素成分を一時的に記憶する。そして４×４画素動き補償演算部１５５に、記憶している画素データから復号に必要な画素データを伝達する機能を有する。
４×４画素動き補償演算部１５５は、分割部１５１から伝達された動きベクトルとサブマクロブロックの左上の座標、そしてローカルメモリ１５４から伝達された参照画素の画素成分に基づいて動き補償演算を実行する機能を有するプログラムもしくは演算器である。そして、動き補償演算によって復号された画像成分をローカルメモリ１４２に伝達する。
【００２７】
なお、上述の分割手段は分割部１５１で、特定手段は参照アドレス演算部１５２で、復号手段は４×４画素動き補償演算部１５５で、統合手段は加算部１４０で実現される。
＜データ＞
ここでは、画像復号装置１００が関わるデータについて説明する。
まず、簡単にマクロブロックタイプについて、図３を用いて説明する。
【００２８】
ＭＰＥＧ４ＡＶＣにおいては、前述したようにマクロブロックタイプには、１６×１６画素サイズ、１６×８画素サイズ、８×１６画素サイズ、８×８画素サイズの４パターンがある。
更に、８×８画素サイズの場合にはそこから更に、８×４画素サイズ、４×８画素サイズ、４×４画素サイズのサブマクロブロックに分割されることがある。
【００２９】
このマクロブロックタイプ、サブマクロブロックタイプについて簡略的に示した図が図３である。
マクロブロックタイプとして、図３（ａ）は、１６×１６画素サイズ、図３（ｂ）は、１６×８画素サイズ、図３（ｃ）は、８×１６画素サイズ、図３（ｄ）は、８×８画素サイズがあることを示している。
【００３０】
更にサブマクロブロックタイプとして、図３（ｅ）は、８×８画素サイズ、図３（ｆ）は、８×４画素サイズ、図３（ｇ）は、４×８画素サイズ、図３（ｈ）は、４×４画素サイズがあることを示している。
各マクロブロック、各サブマクロブロックにはそれぞれ１の動きベクトルが定められている。
【００３１】
なお、図中において、各ブロックに示している数値は、復号の際に処理される順序を示した数値である。
ＭＰＥＧ４ＡＶＣの規格においては、データを圧縮する際に、この７パターンのマクロブロックタイプのいずれかが選択され、マクロブロックごとにデータ圧縮を行うので、圧縮されたデータを復号する装置は、全てのマクロブロックタイプに対応しておく必要がある。
【００３２】
次に、分割部１５１が可変長復号部１１０から受け取るデータについて、図４を用いて説明する。
図４（ａ）は、復号する画像のマクロブロックタイプが８×８画素サイズ以外の場合のデータを示しており、図４（ｂ）は、マクロブロックタイプが８×８画素サイズであった場合のデータを示している。
【００３３】
図４（ａ）に示すように、分割部１５１が受け取るデータは、mb_type  ４１０、ref_idx0 ４０２、ref_idx1 ４０３、mv0 ４０４、mv1 ４０５を含んで構成される。ref_idx、mvの数は、それぞれマクロブロックタイプに応じて増減する。具体的には、１６×１６の場合は１つ、１６×８及び８×１６の場合は２つ、８×８の場合には４つとなる。
mb_type  ４１０は、マクロブロックが、１６×１６、１６×８、８×１６、８×８のいずれのタイプのマクロブロックであるかを示す情報である。例えば、「０」が１６×１６、「１」が１６×８、「２」が８×１６、「３」が８×８を示す情報であるというように４bitのデータとして規定することができる。
【００３４】
ref_idx0 ４０２と、ref_idx1 ４０３は、マクロブロックを復号するのに参照する参照画像のピクチャ番号を示す情報で、ＤＭＡ１５３は、この情報に基づいてフレームメモリ１６０から参照画像の画素を取得する。
mv0 ４０４、mv1 ４０５は、対応するマクロブロックの動きベクトルを表す情報である。mv0 ４０４は、ref_idx0 ４０２と対応しており、mv0 ４０５は、ref_idx0 ４０３と対応している。また、マクロブロックが８×１６のタイプだった場合には、mv0  ４０４は、図３（ｃ）の「０」で示されるブロックに対応し、mv1  ４０５は、図３（ｃ）の「１」で示されるブロックに対応する。
【００３５】
ref_idxとmvは、一組で対となる情報であり、上述したようにマクロブロックタイプに応じて、この数は異なってくる。図４（a）には、８×１６、若しくは１６×８の場合を示している。
更にマクロブロックタイプが８×８であった場合には、分割部１５１が受け取るデータは、図４（ｂ）に示すように、mb_type ４１１、sub_mb_type ４１２、ref_idx0 ４１３、ref_idx1 ４１４、ref_idx2 ４１５、ref_idx3 ４１６、mv0 ４１７、mv1 ４１８、mv0 ４１９、mv1 ４２０を含んで構成される。
【００３６】
mb_type ４１１は、マクロブロックタイプが８×８であることを示す情報である。
Sub_mb_type ４１１は、サブマクロブロックタイプが８×８、８×４、４×８、４×４のいずれのタイプであるかを示す情報である。例えば、「０」なら、８×８を、「１」なら８×４を、「２」なら４×８を、「３」なら４×４のタイプと４bitのデータで示すことができる。
【００３７】
ref_idxとmvについては、図４（ａ）の場合と基本的には同じであるが、ここでは、サブマクロブロックの参照画像のピクチャ番号と、その動きベクトルとの対応になっている情報である。
なお、mv0 ４１７はref_idx0 ４１３と、mv1 ４１８はref_idx1 ４１４と、mv2 ４１９はref_idx2 ４１５と、mv3 ４２０はref_idx3 ４１６と対応している。また、図４（ｂ）が、図３（ｈ）の４×４画素のサブマクロブロックタイプに対応している場合には、mv0  ４１７は、図３（ｈ）の「０」で示されるブロックに対応している。また、mv1  ４１８は、図３（ｈ）の「１」で示されるブロックに、mv2  ４１９は、図３（ｈ）の「２」で示されるブロックに、mv3  ４２０は、図３（ｈ）の「３」で示されるブロックにそれぞれ対応している。
【００３８】
サブマクロブロックの場合においても、マクロブロックの場合と同様に、ref_idxとmvの数は、それぞれサブマクロブロックタイプに応じて増減する。具体的には、８×８の場合は１つ、８×４及び４×８の場合は２つ、４×４の場合には４つとなる。
＜動作＞
次に、本実施の形態における画像復号装置１００、特に動き補償における動作を図５〜７に示すフローチャートを用いて説明する。通常の復号装置におけるその他の復号に関する動作については従来の物に従うとして割愛する。
【００３９】
まず、図５を用いて、画像復号装置１００の動き補償、特に動き補償部１５０の動作を示す。
画像復号装置１００の分割部１５１は、まず、動きベクトルを必要な数だけ複製し、マクロブロックを最小ブロックに分割する処理を行う（ステップS５０１）。この処理の詳細については図６のフローチャートを用いて後述する。
【００４０】
分割部１５１で複製された動きベクトルは、４×４画素動き補償演算部１５５に転送される（ステップＳ５０３）。
また、分割部１５１で算出される最小ブロックの左上の座標と、複製された動きベクトルとに基づいて、参照画素アドレス演算部１５２は、参照する画像の画素データのフレームメモリ１６０におけるアドレスを算出する。具体的には伝達された左上座標と動きベクトルで指定される参照画像の画素座標を算出する。算出された画素座標のｘ座標、とｙ座標をそれぞれ２減算して、得られた座標を左上の座標とする９×９の画素サイズの矩形内の画素データのアドレスを算出する。なお、必要となる９×９の画素サイズの参照画像が、参照するピクチャの枠からはみ出る場合には、そのピクチャの端の画素値で補完する。
【００４１】
そして算出されたアドレスにしたがってDMA１５３は、フレームメモリ１６０から９×９サイズの画素データを読み出し、ローカルメモリ１５４に記録する（ステップS５０４）。
そして、ローカルメモリ１５４に記録された参照画像の画素データと、動きベクトルに基づいて、４×４画素動き補償演算部１５５が、６タップフィルタを用いて画像を復号する演算を実行する（ステップS５０５）。
【００４２】
４×４画素動き補償演算部１５５で復号された画素データは、ローカルメモリ１４２に記録される（ステップS５０６）。
そして、画像復号装置１００は、ステップＳ５０１においてマクロブロックを分割して生成された最小ブロックの数と同じ回数の動き補償演算を実行したかどうかをみる（ステップS５０７）。本ステップの処理、つまり、実行回数に関する処理については図７のフローチャートを用いて詳細に後述する。
【００４３】
全ての最小ブロックの数だけ復号処理が終了していない場合には（ステップＳ５０７のＮＯ）、ステップＳ５０３に戻り以降の処理を実行する。
全ての最小ブロックの数だけ演算を実行していたら（ステップS５０７のＹＥＳ）、そのマクロブロックに関する処理を終了する。
次に、図６を用いて、図５のステップS５０１における動きベクトルの複製と分割の処理に関する詳細を説明する。
【００４４】
まず、分割部１５１は、可変長復号部１１０から転送されてきたデータを解析して、今から４×４動き補償演算部１５５で演算対象となるマクロブロックがどのタイプのマクロブロックタイプであるかを検出する（ステップＳ６０１）。
そして検出されたマクロブロックタイプがどのタイプであるかに基づいて、ｘ軸方向の最小ブロックの数、ｙ軸方向の最小ブロックの数を算出して当該マクロブロックを４×４画素のサイズに分割していく。なお、分割とは、分割して生成される最小ブロックの数と、各最小ブロックの左上画素の座標値を算出することをいう（ステップＳ６０２）。
【００４５】
そして分割部１５１は、各最小ブロックの左上画素と対応させるために生成された最小ブロックの数と同数の動きベクトルを複製して処理を終了する（ステップＳ６０３）。
最後に、マクロブロックに分割された各最小ブロックを順に処理していくことを図７のフローチャートを用いて説明する。まず、前提として、マクロブロックを分割した際に生成される最小ブロックを区別するためにＡ[ｉ][ｊ]の形で最小ブロックを表記する。ｉはｘ軸方向の番号であり、ｊはｙ軸方向の番号である。
【００４６】
一つのマクロブロックのデータを分割部１５１が受け取った時点からそのマクロブロックに関する処理が終了するまでの過程を説明する。つまり、マクロブロックを最小ブロックに分割した後に、分割して生成された全ての最小ブロックの処理を順々に行うことを図７のフローチャートを用いて説明する。
図７に示すように、分割部１５１は、まずｉとｊを０に初期化する（ステップＳ７０１）。そして、マクロブロックタイプに基づいて、ｘ軸方向の画素数を４で割った数値をiの上限値mに設定する。また、ｙ軸方向の画素数を４で割った数値をｊの上限値nに設定する（ステップＳ７０２）。
【００４７】
そして、参照画素アドレス演算部１５２は、まず、Ａ[ｉ][ｊ]の最小ブロックの参照画像を取得する（ステップＳ７０３）。取得した参照画像のデータはローカルメモリ１４２に記録される。４×４画素動き補償演算部１５５は、ローカルメモリ１４２に格納されている参照画像の画素データと、分割部１５１から伝達された動きベクトルに基づいて、Ａ[ｉ][ｊ]の動き補償演算を実行する（ステップＳ７０４）。４×４動き補償演算部１５５は、動き補償演算を実行して得られたＡ[ｉ][ｊ]の復号データをローカルメモリ１４２に格納する（ステップＳ７０５）。
【００４８】
Ａ[ｉ][ｊ]の動き補償演算後に、分割部１５１は、ｉに１加算して新たなるｉとする（ステップＳ７０６）。そして、そのｉがｍと同値であるかどうかを判定する（ステップＳ７０７）。ｉがｍと同値であった場合には（ステップＳ７０７のＹＥＳ）、ｊを１加算する（ステップＳ７０８）。１加算されたｊがｎと同値であるかどうかを判定する（ステップＳ７０９）。
【００４９】
ｊがｎと同値であった場合には（ステップＳ７０９のＹＥＳ）、当該マクロブロックに関する処理を終了する。ｊがｎと同値でなかった場合には（ステップＳ７０９のＮＯ）、ｉを０に初期化し（ステップＳ７１０）、ステップＳ７０３に戻って以降の処理を実行する。また、ステップＳ７０７において、ｉがｍと同値でなかった場合にも（ステップＳ７０７のＮＯ）、ステップＳ７０３に戻って以降の処理を実行する。
【００５０】
最後に従来の場合と本発明との差異を分かりやすくするために、図８と図９とを用意した。図８が従来における動き補償の参照画像と復号画像の対応を示しており、図９が本発明の動き補償の参照画像と復号画像の対応を示している。
まず従来の場合について説明する。
図８において、復号する画像が画像８００であり、これを再現するために参照する画像が画像８１０であるとする。
【００５１】
動き補償ブロック８０１の参照画像は、参照画像ブロック８１１である。そして動き補償ブロック８０１の動きベクトルに相当するのがベクトル８３１である。また、動き補償ブロック８０２の参照画像は、参照画像ブロック８１２である。そして動き補償ブロック８０２の動きベクトルに相当するのがベクトル８１３である。なお動き補償ブロック８０１及び８０２は共に８×１６画素のサイズであるとする。
【００５２】
従来の場合だと、動き補償ブロック８０１あるいは８０２の単位で動き補償演算を実行して、画像を復元する。
しかし、本発明の場合は、従来の場合とは異なり、動き補償ブロックが８０１あるいは８０２のように定められていたとしても、図９のように４×４の画像サイズの動き補償ブロックに分割して、それぞれの動き補償ブロックで動き補償演算を実行し、画像を復元する。
【００５３】
では具体的に図９を見てみる。例えば動き補償ブロック８０２に注目する。本発明において、８×１６の動き補償ブロック８０２が与えられた場合には、図９に示すように、４×４の動き補償ブロック９０１〜９０８に分割される。そして、動き補償ブロック８０２は８の動き補償ブロックに分割されたので、８の動きベクトル９３１〜９３８が複製される。そして、それぞれの動きベクトルごとに動き補償演算を実行する。
【００５４】
以上に述べてきたように全てのマクロブロックタイプに対応できるように、マクロブロックの中でも最小の画像サイズである４×４画素サイズに分割する機能を備えることで、本発明に係る画像復号装置は、全てのマクロブロックタイプに対応できるようになり、１つの動き補償演算プログラムのみで、全てのマクロブロックタイプの復号が可能となる。よって、１つのプログラムで全てのマクロブロックタイプに対応できているので、不要なプログラムを搭載していないのでメモリを圧迫することなく、画像複合装置を製作する際の手間も軽くなる。
＜実施の形態２＞
実施の形態２においては、実施の形態１における画像復号装置の利便性を高めるために、４×４画素だけでなく、８×８画素のサブマクロブロックタイプにも対応できるようにしている。
【００５５】
こうすることで、８×８画素サイズ以上の場合には８×８画素動き補償演算部で対応し、８×４画素サイズ、４×８画素サイズ、４×４画素サイズの３パターンについては４×４画素動き補償演算部で対応するようになるので、復号装置としての利便性が高まる。また、特に、マクロブロックタイプが８×８画素サイズの場合には、分割部における分割の処理を省略できるので処理が早まるという効果も得ることができる。
＜構成＞
まず、図１０を用いて、実施の形態１と異なる説明について説明する。説明しない機能部については、実施の形態１と同様の働きをするものとする。実施の形態１と異なる構成は、動き補償部の内容であるので、ここでは実施の形態２に係る画像復号装置の動き補償部の構成について述べる。
【００５６】
図１０は、動き補償部１０５０と加算部１０４０の詳細な機能構成を示すブロック図であり、実施の形態１の図２と対応する。
図１０にあるように、図２とは異なり、４×４画素動き補償演算部１０５５のほかに、８×８画素動き補償演算部１０５６を備える構成となっている。
８×８画素動き補償演算部１０５６は、８×８画素サイズのブロックを対象とする動き補償演算を実行する機能を有し、分割部１０５１から動きベクトルと、動き補償ブロックの情報を与えられた場合に動き保障演算を実行する。
【００５７】
４×４画素動き補償演算部１０５５は、分割部１０５１から動きベクトルと動き補償ブロックの情報を与えられた場合に動き補償演算を実行する。
また、分割部１０５１は、実施の形態１とは異なり、マクロブロックタイプのサイズによって、分割サイズを変え、そのサイズに応じて動き補償演算を実行する動き補償演算部を決定し、データを伝達する機能を有する。具体的には、マクロブロックタイプがどのサイズであるかを検出する。当該検出においてマクロブロックタイプが１６×１６、１６×８、８×１６のサイズである場合には、マクロブロックを８×８画素サイズに分割し、分割して生成されるサブブロックの数でけ動きベクトルを複製する。そして、マクロブロックタイプが１６×８、８×１６、１６×８、８×８の場合には、動きベクトルと動き補償ブロックの左上の座標を８×８画素動き補償演算部１０５６に伝達する。なお、マクロブロックタイプが８×８画素の場合で、サブマクロブロックに含まない場合には、１の８×８画素の動き補償ブロックとして扱う。また、マクロブロックタイプが、８×８で、４×８、８×４のサブマクロブロックを含む場合には、４×４画素サイズの最小ブロックに分割し、分割して生成される最小ブロックの数だけ動きベクトルを複製する。そして、ブロックが４×８、８×４、４×４の場合に動きベクトルと、最小ブロックの左上画素の座標値とを４×４画素動き補償演算部１０５５に伝達する。なお、４×４画素のサブマクロブロックの場合には、分割する必要はない。
【００５８】
その他の機能部は、実施の形態１と同等の機能を有するものとする。
＜動作＞
実施の形態２の画像復号装置に特有の動作について、図１１のフローチャートを用いて説明する。
本動作においてはマクロブロックタイプに応じて処理を４×４対象にするか、８×８対象にするかを決定することを示す。
【００５９】
図１１に示すように、まず分割部１０５１は、可変長復号部から受け取ったデータのマクロブロックタイプを読み出し、どのマクロブロックタイプであるかを判定する（ステップＳ１１０１）。
分割部１０５１は、マクロブロックタイプが８×８画素以上であった場合、つまり、１６×１６、１６×８、８×１６、８×８の画素サイズだった場合には（ステップＳ１１０１のＹＥＳ）、マクロブロックのサイズを８×８のサイズになるように分割する（ステップＳ１１０３）。ただし、画素サイズが８×８の場合には分割する必要はない。
【００６０】
そして各８×８画素のブロックの左上の画素の座標値を算出する。そして、算出した座標値と動きベクトルとを所定の順序で８×８画素動き補償演算部１０５６に伝達する。また、参照画像の画素を得るために、分割部１０５１は、左上座標を参照画素アドレス演算部１０５２に伝達する。
８×８画素動き補償演算部１０５６は、分割部１０５１から伝達された左上座標の座標値と動きベクトルと、この動きベクトルに対応する参照画像の画素データとに基づいて、８×８画素を対象にした動き補償演算を実行し、画像データを復号する（ステップＳ１１０３）。以下、生成された８×８画素サイズのブロックの分だけ動き補償演算を行って復号データを生成し、生成されたデータを統合して、そのブロックの原画像データを得る。
【００６１】
一方、マクロブロックサイズが８×８未満、つまり、マクロブロックタイプが８×８でサブマクロブロックが８×８画素サイズ以外の場合には（ステップＳ１１０１のＮＯ）、分割部１０５１は、ブロックを４×４の画像サイズの最小ブロックに分割する（ステップＳ１１０４）。そして、分割して生成されたそれぞれの最小ブロックごとに４×４画素のブロックを対象として動き補償演算を実行する（ステップＳ１１０５）。
【００６２】
４×４画素の動き補償演算１０５５により得られた画像は加算部１０４０で統合され、演算を実行しているマクロブロックの画像として復元される。
以上が実施の形態２に係る画像復号装置に特有の動作である。
ここで従来の場合と実施の形態２に係る画像復号装置について具体例を用いて比較する。
【００６３】
図１２は、従来の方式に従って動き補償演算を実行する場合の復号画像１２００と参照画像１２１０との対応を示している。動き補償ブロック１２０１の参照画像は画像ブロック１２１１で、その動きベクトルは、１２１１である。また、動き補償ブロック１２０２の参照画像は画像ブロック１２１２で、その動きベクトルは、１２１２である。
従来の方式に従うと、動き補償ブロック１２０１は、４×８画素サイズ用の動き補償プログラムが実行され、動き補償演算を実行する。また、動き補償ブロック１２０２を対象とする動き補償演算を実行する場合には、８×８画素サイズ用の動き補償プログラムが実行され、補償演算を実行することになる。
【００６４】
一方、本発明の方式に従うと図１３のようになる。図１３には復号画像１３００と参照画像１３１０における動き補償ブロック１３０１〜１３０３とそれに対応する参照する画像ブロック１３１１〜１３１３、及び動きベクトル１３１１〜１３１３が示されている。図１３に示すように、動き補償ブロック１３０２は実施の形態１に示したように分割されず８×８画素サイズ用の動き補償演算のプログラムが実行され、動き補償を行う。
【００６５】
しかし、動き補償ブロック１２０１は、動き補償ブロック１３０１と動き補償ブロック１３０３に分割されており、それぞれの動き補償演算は４×４画素動き補償演算部１０５５で実行されることになる。
＜実施の形態３＞
実施の形態３においては、実施の形態１とは異なり、動き補償を行う際に、まず予め一つの動きベクトルの対象となる参照画像の画素データをフレームメモリからローカルメモリに移しておく点が異なる。
【００６６】
こうすると、４×４画素動き補償演算の度にDMAはフレームメモリから参照する画素データを取得せずに、より検索範囲が小さくて済むローカルメモリから取得してくるようになるので、処理の高速化を実現することが可能となる。
＜構成＞
図１４に示すように、実施の形態３においては、実施の形態１や２とは異なり、参照画素アドレス演算部を２つ備えていることを特徴とする。
【００６７】
参照画素アドレス演算部１４５２は、実施の形態１における参照画素アドレス演算部１５４や実施の形態２における参照画素アドレス演算部１０５２と同様の機能を有するものである。但し、参照画素アドレス演算部１４５２は、ローカルメモリ１４５４に参照画素のアドレスを指定して、そのアドレスにある画素データを出力させる機能を有する。
しかし、実施の形態３においては更に参照画素アドレス演算部１４５６が備えられている。参照画素アドレス演算部１４５６は、予めローカルメモリに参照画像の画素データを分割して生成した最小ブロックの参照画像だけではなく、演算対象となるマクロブロック全体の参照画像を予め取得しておくことにある。
＜動作＞
実施の形態３においては、参照画像を獲得するタイミングが少々異なる。
ここでは、実施の形態３に係る画像復号装置の動作を図１５のフローチャートを用いて説明する。ここでは動き補償部１４５０の動作を中心に記述する。
【００６８】
図１５のフローチャートに示すように、まず可変長復号部から送信されてきたマクロブロックのデータと、動きベクトルのデータを受信した参照画素アドレス演算部１４５６は、そのマクロブロックの動き補償で必要となる参照画像の画素データが格納されているアドレスを算出する。そして算出されたアドレスをＤＭＡ１４５３に出力する。ＤＭＡ１４５３は算出されたアドレスにあるデータをフレームメモリ１４６０から読み出し、ローカルメモリ１４５４に格納する（ステップＳ１５０１）。
【００６９】
ここでローカルメモリ１４５４に格納されるデータは、実施の形態１とは異なり、最小ブロックの参照画像ではなく、マクロブロックの参照画像である。
次に分割部１４５１は、可変長復号部から送信されてきたマクロブロックデータに基づいて、４×４画素サイズの最小ブロック単位に分割する（ステップＳ１５０２）。分割の手法に関しては、実施の形態１と同様なので説明を割愛する。
【００７０】
そして、分割部１４５１は、４×４画素動き補償演算部１４５５に対して動きベクトルと、演算対象となる最小ブロックの左上画素の座標値を伝達する（ステップＳ１５０３）。
一方で分割部１４５１は、最小ブロックの左上画素と動きベクトルの情報を参照画素アドレス演算部１４５２に伝達する。そして伝達された情報に基づいて参照画素アドレス演算部１４５２は、参照する画素が格納されているローカルメモリ１４５４のアドレスを算出する。参照画素アドレス演算部１４５２は、算出したアドレスのデータをローカルメモリ１４５４に出力させる。ローカルメモリ１４５４が出力したデータは、４×４画素動き補償演算部１４５５に伝達される（ステップＳ１５０４）。
【００７１】
そして４×４画素動き補償演算部１４５５は与えられた動きベクトルと参照画像の画素値に基づいて演算対象の最小ブロックの画素値を復号する（ステップＳ１５０５）。
４×４画素動き補償演算部１４５５は、算出した画素値をローカルメモリ１４４２に格納する。ステップＳ１５０３〜ステップＳ１５０６を最小ブロックの数だけ繰り返すことで、マクロブロックの復号画像を得る。
＜補足＞
上記実施の形態に基づいて、本発明に係る画像復号装置について説明してきたが本発明はこれに限定されるものではない。
【００７２】
以下、その変形例について述べていく。
（１）上記実施の形態においては、ＭＰＥＧ４ＡＶＣの規格に基づいて圧縮されたデータを復号する装置を開示したが、これはＭＰＥＧ４ＡＶＣの規格のみに限定されるものではない。例えばＭＰＥＧ２の規格に基づいて圧縮されたものでもよく、複数のマクロブロックタイプを有する圧縮規格であるならばなんでもよい。
（２）本発明は、上記実施の形態に基づいて画像復号装置が画像を復号する復号方法であってもよく、当該方法の処理手順を画像復号装置のコンピュータに実行させるためのコンピュータプログラムであってもよい。
【００７３】
当該コンピュータプログラムは、ＦＤ（Flexible Disc）、ＣＤ（Compact Disc）、ＤＶＤ（Digital Versatile Disc）、ＢＤ（Blu-ray Disc）、ＭＯ（Magneto Optical-Disc）、ハードディスク装置などに代表される記録媒体に記録されていてもよい。
（３）上記実施の形態においては、分かりやすくするために動きベクトルを複製すると記述したが、これは複製である必要は無く、同じ動きベクトルを、サブブロックの数だけ繰り返し利用するという構成にしてもよい。
（４）上記実施の形態において、各機能部は一又は複数のＬＳＩ（Large Scale Integration）やＶＬＳＩ（Very Large Scale Integration）によって実現されても良い。また、一のＬＳＩが複数の機能部の機能を実行できてもよい。
（５）上記実施の形態においては、過去の既に復号された画像を参照画像とするとしたが、時間軸において未来の画像を参照することもある。この場合、参照する画像が動き補償演算の前に復号されている必要がある。
【００７４】
さらに、一枚の復号画像を得るために過去、及び未来、の両方の画像を参照して復号することもある。この場合、分割部が得る情報には、更に双方向参照であるかどうかの情報も含まれることになる。そして双方向の場合には参照ピクチャ番号が二つ、動きベクトルも二つ必要になる。なお、双方向参照については従来からも行われている技術である。
【産業上の利用可能性】
【００７５】
本発明に係る画像復号装置は、ＭＰＥＧ４ＡＶＣあるいはＭＰＥＧ２の規格にしたがって圧縮された動画ストリームを復号する装置として活用することができる。
【図面の簡単な説明】
【００７６】
【図１】画像復号装置の機能構成を示したブロック図である。
【図２】動き補償部及び、加算部の詳細を示したブロック図である。
【図３】（ａ）〜（ｈ）は、マクロブロック及びサブマクロブロックの種類を示した図である。
【図４】（ａ）、（ｂ）は、動き補償部が可変長復号部から受けるデータについての概念図である。
【図５】実施の形態１に係る画像復号装置の動き補償部の動作を示すフローチャートである。
【図６】図５におけるステップＳ５０１の詳細な処理を示したフローチャートである。
【図７】マクロブロックを動き補償ブロックに分割した場合に分割された各ブロックを順に処理することを示したフローチャートである。
【図８】従来において復号される画像のマクロブロックと参照画像との対応を示した図である。
【図９】本発明において復号される画像のマクロブロックと参照画像との対応を示した図である。
【図１０】実施の形態２に係る画像復号装置の動き補償部及び加算部の機能構成を示したブロック図である。
【図１１】実施の形態２に係る画像復号装置の動き補償において動き補償演算手段の選択動作を示したフローチャートである。
【図１２】従来において復号される画像のマクロブロックと参照画像との対応を示している。
【図１３】実施の形態２において復号される画像のマクロブロックと参照画像との対応を示している。
【図１４】実施の形態３に係る画像復号装置の動き補償部の機能構成を示したブロック図である。
【図１５】実施の形態３に係る画像復号装置の動き補償における動作を示したフローチャートである。
【符号の説明】
【００７７】
１００  画像復号装置
１１０  可変長復号部
１２０  逆量子化部
１３０  逆直行変換部
１４０、１０４０、１４４０  加算部
１４１、１０４１、１４４１  画素格納アドレス演算部
１４２、１０４２、１４４２  ローカルメモリ
１５０、１０５０、１４５０  動き補償部
１５１、１０５１、１４５１  分割部
１５２、１０５２、１４５２  参照アドレス演算部
１５３、１０５３、１４５３  DMA
１５４、１０５４、１４５４  ローカルメモリ
１５５、１０５５、１４５５  ４×４画素動き補償演算部
１６０、１０６０  フレームメモリ
１０５６  ８×８画素動き補償演算部
１４５６  参照画素アドレス演算部
【図１】
2006311526.tif 000003
【図２】
2006311526.tif 000004
【図３】
2006311526.tif 000005
【図４】
2006311526.tif 000006
【図５】
2006311526.tif 000007
【図６】
2006311526.tif 000008
【図７】
2006311526.tif 000009
【図８】
2006311526.tif 000010
【図９】
2006311526.tif 000011
【図１０】
2006311526.tif 000012
【図１１】
2006311526.tif 000013
【図１２】
2006311526.tif 000014
【図１３】
2006311526.tif 000015
【図１４】
2006311526.tif 000016
【図１５】
2006311526.tif 000017