(57)【要約】【課題】外部メモリへのアクセスを抑制可能な動画像復号化装置を提供する。【解決手段】動画像データを復号化する動画像復号化装置であって、前記動画像データの動きベクトルをデコードする動きベクトルデコード部と、前記動画像データのマクロブロック画像をデコードする順番を設定する順番設定部であって、前記動きベクトルのデコード結果に基づいて、前記順番を前記動画像データの複数のフレームにわたって入れ替えることで、前記順番を設定する順番設定部と、前記順番に基づいて、前記マクロブロック画像をデコードするマクロブロック画像デコード部と、デコードされたマクロブロック画像を、前記動画像復号化装置の内部メモリまたは外部メモリに格納する画像格納部と、参照画像として参照されなくなったマクロブロック画像を、前記内部メモリまたは前記外部メモリから排除する画像排除部とを備えることを特徴とする動画像復号化装置。【選択図】図２
2009253487.tif 000002
【特許請求の範囲】
【請求項１】
動画像データを復号化する動画像復号化装置であって、
前記動画像データの動きベクトルをデコードする動きベクトルデコード部と、
前記動画像データのマクロブロック画像をデコードする順番を設定する順番設定部であって、前記動きベクトルのデコード結果に基づいて、前記順番を前記動画像データの複数のフレームにわたって入れ替えることで、前記順番を設定する順番設定部と、
前記順番に基づいて、前記マクロブロック画像をデコードするマクロブロック画像デコード部と、
デコードされたマクロブロック画像を、前記動画像復号化装置の内部メモリまたは外部メモリに格納する画像格納部と、
参照画像として参照されなくなったマクロブロック画像を、前記内部メモリまたは前記外部メモリから排除する画像排除部とを備えることを特徴とする動画像復号化装置。
【請求項２】
前記外部メモリに、デコードされたマクロブロック画像を圧縮して格納する格納部と、
前記外部メモリに圧縮されて格納された前記マクロブロック画像を、伸張して表示する表示部とを更に備えることを特徴とする請求項１に記載の動画像復号化装置。
【請求項３】
各マクロブロック画像がどのマクロブロック画像を参照するかを示す参照リストと、各マクロブロック画像がどのマクロブロック画像から参照されるかを示す被参照リストとを作成するリスト作成部を更に備え、
前記画像排除部は、前記参照リストと前記被参照リストとに基づいて、前記内部メモリまたは前記外部メモリから排除するマクロブロック画像を決定することを特徴とする請求項１または２に記載の動画像復号化装置。
【請求項４】
前記画像排除部は、
前記マクロブロック画像デコード部によるマクロブロック画像のデコード後に、
前記参照リストに基づいて、該マクロブロック画像がどの参照画像を参照するかを検証する第１の検証を行い、
前記被参照リストに基づいて、前記第１の検証により抽出された各参照画像がどのマクロブロック画像から参照されるかを検証する第２の検証を行い、
前記第１の検証により抽出された各参照画像に関し、前記第２の検証の結果、ある参照画像を参照する全てのマクロブロック画像がデコード済みであれば、その参照画像を前記内部メモリまたは前記外部メモリから排除することを特徴とする請求項３に記載の動画像復号化装置。
【請求項５】
動画像復号化装置により動画像データを復号化する動画像復号化方法であって、
前記動画像データの動きベクトルをデコードし、
前記動画像データのマクロブロック画像をデコードする順番を設定する際に、前記動きベクトルのデコード結果に基づいて、前記順番を前記動画像データの複数のフレームにわたって入れ替えることで、前記順番を設定し、
前記順番に基づいて、前記マクロブロック画像をデコードし、
デコードされたマクロブロック画像を、前記動画像復号化装置の内部メモリまたは外部メモリに格納し、
参照画像として参照されなくなったマクロブロック画像を、前記内部メモリまたは前記外部メモリから排除することを特徴とする動画像復号化方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、動画像復号化装置及び方法に関する。
【背景技術】
【０００２】
動画像の圧縮・伸張に関する標準規格として、ＭＰＥＧが広く知られている。ＭＰＥＧには、ＭＰＥＧ１，ＭＰＥＧ２，Ｈ．２６４等の方式が存在する。
【０００３】
ＭＰＥＧにおける動画像の処理は、１６×１６画素のマクロブロックと呼ばれる単位で行われる。画像を圧縮する際には、記録するマクロブロックに似たマクロブロック（参照画像）を過去のフレームから探し出し、これらのブロックの相対位置（動きベクトル）と差分画像とを記録する。一方、画像を伸張する際は、再生するマクロブロックの動きベクトルに基づいて、過去に伸張したフレームから参照画像を切り出し、該マクロブロックの差分画像に該参照画像を加算することで、該マクロブロックを再生する。
【０００４】
このように、動画像を復号化（デコード）する際には、過去のフレームの画像データが必要となる。これらの画像データはデータ量が大きいため、これらの画像データは通常、ＤＲＡＭ等の外部メモリに記録される。外部メモリに記録される画像データは、デコード用だけでなく表示用としても用いられる。
【０００５】
近年、高解像度画面に対応した動画像復号化ＬＳＩでは、ＬＳＩと外部メモリとの接続のバンド幅が、コスト削減のボトルネックとなっている。近年のＬＳＩの微細化により、チップサイズが、処理のロジックそのものよりも、入出力ピンの本数に規定されるようになっているからである。動画像復号化ＬＳＩのメモリアクセスは、画像データの読み書きがそのほとんどを占める。バンド幅を削減するため、画像データの読み書きを減らす方法がいくつか提案されている（例えば特許文献１）。
【０００６】
第１の方法では、マイクロバンプ等のマルチチップパッケージ技術を利用して、広帯域の内部メモリを用意する。この場合、全ての参照画像を内部メモリに格納すれば、動画像復号化ＬＳＩから外部メモリへのアクセスは発生しない。
【０００７】
しかし、第１の方法では、規格で定める枚数分の画像を格納できる容量の内部メモリが必要となる。Ｈ．２６４のＬｅｖｅｌ５．１の場合、この容量は、画像８枚分に相当する６７．５ＭＢである。この容量をマルチチップパッケージによって実装するのは、コスト面で現実的ではない。
【０００８】
第２の方法では、参照画像のキャッシュメモリを実装する。参照画像の参照は、マクロブロック単位又はそれよりも小さい単位で行われる。Ｈ．２６４では、ブロックあたりの参照画像が大きく、隣り合うブロック同士で参照画像がオーバーラップする。このような場合、各ブロックで使用した参照画像をその隣りのブロックで再利用できるため、キャッシュメモリが有効に働く。
【０００９】
しかし、第２の方法では、どれだけ大きな容量のキャッシュを用意しても、１フレームあたり画像１枚分の読み出しアクセスが発生する。更には、デコード画像の出力のための読み出しと、外部画像の出力のための読み出しとを加えると、最低でも１フレームあたり画像３枚分のメモリアクセスは発生してしまう。
【００１０】
第３の方法では、画像データの圧縮を行う。すなわち、外部メモリに画像を書き出す際には、書き出しの前に画像データを圧縮し、外部メモリから画像を読み出して処理する際には、処理の前に画像データを伸張する。これにより、外部メモリに記録されるデータ量が抑制され、結果として、メモリアクセスの回数を削減することができる。
【００１１】
しかし、第３の方法では、可逆圧縮を採用するとバンド幅削減の効果が小さく、不可逆圧縮を採用すると圧縮・伸張を経るたびに画質が劣化するという問題がある。
【特許文献１】特開２００８−９８５７号公報
【発明の開示】
【発明が解決しようとする課題】
【００１２】
本発明は、外部メモリへのアクセスを抑制可能な動画像復号化装置及び方法を提供することを課題とする。
【課題を解決するための手段】
【００１３】
本発明の実施例は例えば、動画像データを復号化する動画像復号化装置であって、前記動画像データの動きベクトルをデコードする動きベクトルデコード部と、前記動画像データのマクロブロック画像をデコードする順番を設定する順番設定部であって、前記動きベクトルのデコード結果に基づいて、前記順番を前記動画像データの複数のフレームにわたって入れ替えることで、前記順番を設定する順番設定部と、前記順番に基づいて、前記マクロブロック画像をデコードするマクロブロック画像デコード部と、デコードされたマクロブロック画像を、前記動画像復号化装置の内部メモリまたは外部メモリに格納する画像格納部と、参照画像として参照されなくなったマクロブロック画像を、前記内部メモリまたは前記外部メモリから排除する画像排除部とを備えることを特徴とする動画像復号化装置である。
【００１４】
本発明の実施例は例えば、動画像復号化装置により動画像データを復号化する動画像復号化方法であって、前記動画像データの動きベクトルをデコードし、前記動画像データのマクロブロック画像をデコードする順番を設定する際に、前記動きベクトルのデコード結果に基づいて、前記順番を前記動画像データの複数のフレームにわたって入れ替えることで、前記順番を設定し、前記順番に基づいて、前記マクロブロック画像をデコードし、デコードされたマクロブロック画像を、前記動画像復号化装置の内部メモリまたは外部メモリに格納し、参照画像として参照されなくなったマクロブロック画像を、前記内部メモリまたは前記外部メモリから排除することを特徴とする動画像復号化方法である。
【発明の効果】
【００１５】
本発明は、外部メモリへのアクセスを抑制可能な動画像復号化装置及び方法を提供することを可能にする。
【発明を実施するための最良の形態】
【００１６】
本発明の実施例を、図面に基づいて説明する。
【００１７】
図１は、本実施例の動画像復号化装置１０１の構成図である。図１の動画像復号化装置１０１は、ＣｏＣ（Chip on Chip）型のＬＳＩである。動画像復号化装置１０１は、図１のように、デコーダロジックチップ１１１とメモリチップ１１２とを内蔵すると共に、ＤＲＡＭ１１３と接続されている。
【００１８】
デコーダロジックチップ１１１は、ＭＰＥＧに準拠した動画像復号化処理を行うチップである。メモリチップ１１２は、動画像復号化装置１０１の内部メモリに相当するチップである。図１のように、デコーダチップ１１１とメモリチップ１１２は、マイクロバンプ接続により接続されている。ＤＲＡＭ１１３は、動画像復号化装置１０１の外部メモリに相当する半導体メモリである。図１には、デコーダチップ１１１とＤＲＡＭ１１３とが接続された様子が示されている。なお、図１の動画像復号化装置１０１は、ＳｏＣ（System on Chip）型のＬＳＩでも構わない。
【００１９】
図２は、図１の動画像復号化装置１０１の機能構成図である。動画像復号化装置１０１は、図２に示すように、デコーダ２０１と、画像圧縮部２１１と、画像伸張部２１２と、表示画像生成部２１３とを具備する。画像圧縮部２１１は、本発明の格納部の例である。画像伸張部２１２及び表示画像生成部２１３は、本発明の表示部の例である。これらの機能部は、図１のデコーダロジックチップ１１１の構成要素である。図２には更に、図１の内部メモリ（ローカルメモリ）１１２と、図１の外部メモリ（メインメモリ）１１３とが図示されている。
【００２０】
デコーダ２０１は、図２に示すように、動きベクトルデコード部２２１と、順番設定部２２２と、マクロブロック画像デコード部２２３と、画像格納部２２４と、画像排除部２２５と、リスト作成部２２６とを具備する。動画像復号化装置１０１は、これらの機能部により、動画像データの復号化処理を行う。
【００２１】
図２には、動画像データのストリームが示されている。動画像復号化装置１０１では、当該ストリームがデコーダ２０１に入力される。当該ストリームのデータ構造を、図３に示す。図３には、フレームＦを構成するマクロブロックＭＢ０，ＭＢ１，ＭＢ２に関するストリーム部分が示されている。図３のＸ０，Ｘ１，Ｘ２には、マクロブロックＭＢ０，ＭＢ１，ＭＢ２の差分画像に関するデータが含まれている。図３のＹ０，Ｙ１，Ｙ２は、図３のＸ０，Ｘ１，Ｘ２のヘッダ部分に相当する。図３のＹ０，Ｙ１，Ｙ２には、マクロブロックＭＢ０，ＭＢ１，ＭＢ２の動きベクトルに関するデータが含まれている。動画像復号化装置１０１は、ＭＢ０，ＭＢ１，ＭＢ２の動きベクトルに基づいて、ＭＢ０，ＭＢ１，ＭＢ２の参照画像を特定し、ＭＢ０，ＭＢ１，ＭＢ２の差分画像及び参照画像に基づいて、ＭＢ０，ＭＢ１，ＭＢ２を復元する。
【００２２】
以下、図２の各機能ブロックの詳細について説明する。
【００２３】
動画像復号化装置１０１では、動きベクトルデコード部２２１が、上記動画像データの動きベクトルをデコードし、マクロブロック画像デコード部２２３が、上記動画像データのマクロブロック画像をデコードする。マクロブロック画像は、一般的には、ストリームにおける並び順に従ってデコードされるが、本実施例では、順番設定部２２２により設定された設定順に従ってデコードされる。
【００２４】
順番設定部２２２は、上記動画像データのマクロブロック画像のデコード順を設定する機能ブロックである。本実施例の順番設定部２２２は、上記動きベクトルのデコード結果に基づいて、上記動画像データの複数のフレームにわたって上記デコード順を入れ替えることで、上記デコード順を設定する。そのため、本実施例では、複数のフレームのマクロブロック画像をデコードするのに先立ち、複数のフレームの動きベクトルをデコードしておく。マクロブロック画像デコード部２２３は、上記デコード順に基づいて、上記動画像データのマクロブロック画像をデコードする。順番設定処理の詳細は、後述する。
【００２５】
画像格納部２２４は、上記のデコードされたマクロブロック画像（デコード画像）を、内部メモリ１１２又は外部メモリ１１３に格納する機能ブロックである。本実施例の画像格納部２２４は、内部メモリ１１２の容量に空きがある場合には、該デコード画像を内部メモリ１１２に格納し、内部メモリ１１２の容量に空きがない場合には、該デコード画像を内部メモリ１１２に格納するために、内部メモリ１１２に格納されているデコード画像のどれかを外部メモリ１１３に書き出す。外部メモリ１１３に書き出すデコード画像は、ランダムに選択してもよいし、内部メモリ１１２に格納された時間の長さに基づいて選択してもよい。内部メモリ１１２又は外部メモリ１１３に格納されたデコード画像は、後続のマクロブロック画像をデコードするための参照画像として利用される。画像格納処理の詳細は、後述する。
【００２６】
画像排除部２２５は、上記のデコード画像を、内部メモリ１１２又は外部メモリ１１３から排除する機能ブロックである。本実施例の画像排除部２２５は、上記のデコード画像のうち、参照画像として参照されなくなったデコード画像を、内部メモリ１１２又は外部メモリ１１３から排除する。本実施例の画像排除部２２５は、後述の参照リストと被参照リストとに基づいて、内部メモリ１１２又は外部メモリ１１３から排除するデコード画像を決定する。画像排除処理の詳細は、後述する。
【００２７】
リスト作成部２２６は、各マクロブロック画像がどのマクロブロック画像を参照するかを示す参照リストと、各マクロブロック画像がどのマクロブロック画像から参照されるかを示す被参照リストとを作成する機能ブロックである。参照リスト、被参照リスト、及びリスト作成処理の詳細は、後述する。
【００２８】
画像圧縮部２１１は、画像格納部２２４や画像排除部２２５による処理とは別に、外部メモリ１１３に、上記のデコード画像を圧縮して格納する機能ブロックである。画像伸張部２１２及び表示画像生成部２１３は、外部メモリ１１３に圧縮されて格納された上記のデコード画像を、伸張して表示する機能ブロックである。画像圧縮部２１１が、デコード画像を圧縮し、画像伸張部２１２が、圧縮されたデコード画像を伸張し、表示画像生成部２１３が、伸張されたデコード画像から表示画像を生成する。表示画像は、動画像復号化装置１０１の外部の表示デバイスに出力される。このように、本実施例では、参照画像用のデコード画像と、表示画像用のデコード画像は、別々に用意される。よって、本実施例では、上述の第３の方法とは異なり、バンド幅の削減と画質劣化の防止とを両立することができる。
【００２９】
以上のように、本実施例の動画像復号化装置１０１は、マクロブロック画像をデコードする順番を設定する際、該順番を複数のフレームにわたって入れ替えることで、該順番を設定する。これにより、本実施例では、各マクロブロック画像のデコードから参照までの期間を短くすることができる。参照の開始が早いマクロブロック画像を早くデコードし、参照の開始が遅いマクロブロック画像を遅くデコードすることができるからである。これにより、本実施例では、内部メモリ１１２又は外部メモリ１１３に同じ期間に格納されるマクロブロック画像の個数を少なくすることができる。
【００３０】
また、本実施例の動画像復号化装置１０１は、デコード画像を内部メモリ１１２又は外部メモリ１１３に格納する。これにより、本実施例では、内部メモリ１１２の容量の抑制と外部メモリ１１３のバンド幅の削減とを両立することが可能になる。よって、本実施例では、上述の第１の方法に比べて、内部メモリ１１２の容量を少なくすることができる。加えて、本実施例では、上述の第２の方法のようなキャッシュメモリは不要とすることができる。
【００３１】
また、本実施例の動画像復号化装置１０１は、参照画像として参照されなくなったデコード画像を、内部メモリ１１２又は外部メモリ１１３から排除する。これにより、本実施例では、これらのメモリの容量をより効率的に使えるようになり、これらのメモリの容量をより少なくすることが可能になる。また、本実施例では、デコード画像を参照するタイミングが予め判明しているため、プリフェッチにより外部メモリ１１３のレイテンシを隠蔽することができる。
【００３２】
本実施例では、以上のような動画像復号化処理により、外部メモリ１１３へのアクセス回数を減らし、実装コスト及び消費電力を抑えることができる。本実施例は、近年の標準規格で採用される複数フレーム参照との相性もよい。本実施例では、上述の第２の方法に比べて、外部メモリ１１３へのアクセス回数を少なくすることができる。
【００３３】
図４は、本実施例の動画像復号化装置１０１により行われる動画像復号化処理に関するフローチャートである。以下、動画像復号化装置１０１を単にデコード装置１０１と表記する。
【００３４】
Ｓ１０１からＳ１０５の処理は、上記動画像データのフレーム単位で行うループ処理となっている。Ｓ１０１からＳ１０５のループ処理は、上記動画像データの複数のフレームについて繰り返される。
【００３５】
先ず、デコード装置１０１は、上記動画像データの１つのフレームのフレームヘッダをデコードする（Ｓ１０１）。次に、デコード装置１０１は、当該フレームの動きベクトルをデコードする（Ｓ１０２）。この際、デコード装置１０１は、当該フレームの任意のマクロブロックのデコードを行えるよう、当該フレームの各マクロブロックのビットストリームポインタ等、デコードに必要な情報を記録しておく（Ｓ１０３）。デコード装置１０１は、Ｓ１０１からＳ１０３の処理を、上記複数のフレームの全てのマクロブロックについて繰り返す（Ｓ１０４及びＳ１０５）。Ｓ１０１からＳ１０５の処理を繰り返すフレームの個数は、予め規定しておく。
【００３６】
次に、デコード装置１０１は、上記動きベクトルのデコード結果に基づいて、上記複数のフレームに関する参照リストと被参照リストとを作成する（Ｓ１１１）。この際、デコード装置１０１は、各マクロブロックの参照マクロブロックの個数と被参照マクロブロックの個数とを記録しておく（Ｓ１１２）。次に、デコード装置１０１は、上記動きベクトルのデコード結果に基づいて、上記複数のフレームのマクロブロック画像のデコード順を設定する（Ｓ１１３）。即ち、デコード順のスケジューリングを行う。
【００３７】
Ｓ１２１からＳ１２８の処理は、上記動画像データのマクロブロック単位で行うループ処理となっている。Ｓ１２１からＳ１２８のループ処理は、上記複数のフレームの全てのマクロブロックについて繰り返される。
【００３８】
次に、デコード装置１０１は、上記複数のフレームの１つのマクロブロックの差分画像をデコードする（Ｓ１２１）。次に、当該マクロブロックの動きベクトルに基づいて、当該マクロブロックの参照画像を、内部メモリ１１２又は外部メモリ１１３から読み出す（Ｓ１２２）。次に、上記差分画像と上記参照画像とに基づいて、１つのマクロブロック画像を復元する（Ｓ１２３）。このようにして、上記複数のフレームの１つのマクロブロック画像がデコードされる。次に、デコード装置１０１は、デコードされた当該マクロブロック画像（デコード画像）を、内部メモリ１１２又は外部メモリ１１３に格納する（Ｓ１２４）。次に、デコード装置１０１は、参照画像として参照されなくなったデコード画像を、内部メモリ１１２又は外部メモリ１１３から排除する（Ｓ１２５）。デコード装置１０１は、上記参照リストと上記被参照リストとに基づいて、内部メモリ１１２又は外部メモリ１１３から排除するデコード画像を決定する。一方、デコード装置１０１は、外部メモリ１１３に、上記デコード画像を圧縮して格納する（Ｓ１２６及びＳ１２７）。デコード装置１０１は、Ｓ１２１からＳ１２７の処理を、上記複数のフレームの全てのマクロブロックについて繰り返す（Ｓ１２８）。
【００３９】
Ｓ１３１からＳ１３４の処理は、上記動画像データのマクロブロック単位で行うループ処理となっている。Ｓ１３１からＳ１３４のループ処理は、上記複数のフレームの全てのマクロブロックについて繰り返される。
【００４０】
次に、デコード装置１０１は、外部メモリ１１３に圧縮されて格納された上記デコード画像を読み出す（Ｓ１３１）。次に、デコード装置１０１は、読み出された上記デコード画像を伸張する。（Ｓ１３２）。次に、デコード装置１０１は、伸張された上記デコード画像をフレーム単位で出力する（Ｓ１３３）。デコード装置１０１は、Ｓ１３１からＳ１３３の処理を、上記複数のフレームの全てのマクロブロックについて繰り返す（Ｓ１３４）。
【００４１】
デコード装置１０１は、Ｓ１０１からＳ１３４の処理を、上記動画像データの表示対象のフレームについて繰り返す。このようにして、上記動画像データが表示デバイスに表示される。
【００４２】
図５及び図６は、参照リスト及び被参照リストのデータ構造を表す。参照リストには、各マクロブロック画像がどのマクロブロック画像を参照するかが示されている。例えば、図５の（Ａ）には、フレームＦN+1のマクロブロック画像ＭＢ0が、フレームＦNのマクロブロック画像ＭＢ0，ＭＢ1，ＭＢ8，ＭＢ9を参照することが示されている。一方、被参照リストには、各マクロブロック画像がどのマクロブロック画像から参照されるかが示されている。例えば、図６の（Ｂ）には、フレームＦNのマクロブロック画像ＭＢ9が、フレームＦN+1のマクロブロック画像ＭＢ0，ＭＢ1，ＭＢ8，ＭＢ9から参照されることが示されている。
【００４３】
Ｓ１２５において、デコード装置１０１は、Ｓ１２１からＳ１２４にてデコードされたマクロブロック画像について、次のような処理を行う。
【００４４】
先ず、デコード装置１０１は、参照リストに基づいて、当該マクロブロック画像がどの参照画像（マクロブロック画像）を参照するかを検証する（第１の検証）。例えば、フレームＦN+1のマクロブロック画像ＭＢ0がデコードされた場合には、フレームＦN+1のマクロブロック画像ＭＢ0がどのマクロブロック画像を参照するかが検証される。これにより例えば、フレームＦN+1のマクロブロック画像ＭＢ0が、フレームＦNのマクロブロック画像ＭＢ0，ＭＢ1，ＭＢ8，ＭＢ9を参照することが判明する。
【００４５】
次に、デコード装置１０１は、被参照リストに基づいて、上記第１の検証により抽出された各参照画像（マクロブロック画像）がどのマクロブロック画像から参照されるかを検証する（第２の検証）。例えば、上記の場合であれば、フレームＦNのマクロブロック画像ＭＢ0，ＭＢ1，ＭＢ8，ＭＢ9がどのマクロブロック画像から参照されるかが検証される。これにより例えば、フレームＦNのマクロブロック画像ＭＢ9が、フレームＦN+1のマクロブロック画像ＭＢ0，ＭＢ1，ＭＢ8，ＭＢ9から参照されることが判明する。フレームＦNのマクロブロック画像ＭＢ0，ＭＢ1，ＭＢ8についても、同様の処理が行われる。
【００４６】
次に、デコード装置１０１は、上記第１の検証により抽出された各参照画像（マクロブロック画像）に関し、上記第２の検証の結果、ある参照画像を参照する全てのマクロブロック画像がデコード済みであれば、その参照画像を内部メモリ１１２又は外部メモリ１１３から排除する。例えば、上記の場合には、フレームＦN+1のマクロブロック画像ＭＢ0，ＭＢ1，ＭＢ8，ＭＢ9がいずれもデコード済みであれば、フレームＦNのマクロブロック画像ＭＢ9が内部メモリ１１２又は外部メモリ１１３から排除される。フレームＦNのマクロブロック画像ＭＢ0，ＭＢ1，ＭＢ8についても、同様の処理が行われる。
【００４７】
以上のようにして、デコード装置１０１は、参照画像として参照されなくなったマクロブロック画像を、内部メモリ１１２又は外部メモリ１１３から排除する。これにより、本実施例では、参照画像として参照されなくなったマクロブロック画像を、すみやかに排除することができる。これにより、本実施例では、内部メモリ１１２又は外部メモリ１１３に同じ期間に格納されるマクロブロック画像の個数を少なくすることができる。
【００４８】
なお、Ｓ１２１からＳ１２４の処理では、あるマクロブロック画像が参照される毎に、そのマクロブロック画像の被参照カウンタをインクリメントするようにしてもよい。この場合、デコード装置１０１は、該マクロブロックの被参照カウンタのカウント数が、該マクロブロックの被参照マクロブロックの個数に達した場合に、該マクロブロックを内部メモリ１１２又は外部メモリ１１３から排除する（Ｓ１２５）。被参照カウンタは、インクリメント方式ではなくデクリメント方式としてもよい。
【００４９】
以下、Ｓ１１３の順番設定処理の詳細について説明する。
【００５０】
図７は、順番設定処理の第１の例を説明するための図である。図８は、順番設定処理の第２の例を説明するための図である。図７及び図８にはそれぞれ、４０個（８×５個）のマクロブロックからなる３個のフレームＦN，ＦN+1，ＦN+2が示されている。第１及び第２の例ではそれぞれ、図７及び図８に示す番号のようにデコード順が設定される。
【００５１】
図７の第１の例では、各フレームのマクロブロック画像が、各フレームにおけるラスタスキャン順にデコードされる。ただし、あるフレームのマクロブロック画像をラスタスキャン順にデコードしている際に、そのフレームの後続のフレームにデコード可能なマクロブロック画像が生じたら、そのマクロブロック画像を優先的にデコードする。
【００５２】
例えば、フレームＦN+1のマクロブロック画像ＭＢ0は、フレームＦNのマクロブロック画像ＭＢ0，ＭＢ1，ＭＢ8，及びＭＢ9を参照すると想定する。この場合、図７から明らかなように、フレームＦN+1のマクロブロック画像ＭＢ0は、フレームＦNのマクロブロック画像ＭＢ9をデコードした時点でデコード可能になる。従って、図７では、フレームＦNのマクロブロック画像ＭＢ9の次に、フレームＦN+1のマクロブロック画像ＭＢ0がデコードされる。
【００５３】
図８の第２の例では、各フレームのマクロブロック画像が、各フレームの左上の角から近い順にデコードされる。ただし、あるフレームのマクロブロック画像をその順番にデコードしている際に、そのフレームの後続のフレームにデコード可能なマクロブロック画像が生じたら、そのマクロブロック画像を優先的にデコードする。
【００５４】
マクロブロック画像は、一般的に、ラスタスキャン順にデコードされる。これに対し、本実施例のデコード装置１０１は、マクロブロック画像のデコード順を複数のフレームにわたって入れ替える。これにより、図７や図８のようなデコード順が設定される。
【００５５】
デコード順の入れ替えでは、マクロブロック画像同士の参照関係に関する情報が有用である。これにより、第１及び第２の例のように、後続のフレームのマクロブロック画像を優先的にデコードするような順番設定が可能になる。そのため、本実施例のデコード装置１０１は、動きベクトルのデコード結果に基づいて、デコード順の入れ替えを行う。入れ替えに用いるデータは、動きベクトルそのものでもよいし、参照リスト及び被参照リストのような、動きベクトルの派生データでもよい。
【００５６】
図７には、４８個のマクロブロック画像のデコード順が示されている。図７には更に、ハッチングＰが付されたマクロブロック画像と、ハッチングＱが付されたマクロブロック画像とが示されている。ハッチングＰは、４８個のマクロブロック画像がデコードされた時点で、既に参照されなくなっているマクロブロック画像を表す。ハッチングＱは、４８個のマクロブロック画像がデコードされた時点で、未だ参照され得るマクロブロック画像を表す。ハッチングＰの各マクロブロック画像は、参照されなくなった時点で内部メモリ１１２又は外部メモリ１１３から排除される。よって、４８個のマクロブロック画像がデコードされた時点では、ハッチングＱのマクロブロック画像のみが内部メモリ１１２又は外部メモリ１１３に残存している。図８についても同様である。
【００５７】
図９及び図１０は、第１及び第２の例によるシミュレーションの実行結果を表す。領域Ｐは、上記のハッチングＰの領域に相当する。境界領域Ｑは、上記のハッチングＱの領域に相当する。これらの図において、境界領域Ｑはなるべく狭い事が望ましい。境界領域Ｑが狭いという事は、内部メモリ１１２又は外部メモリ１１３に保持されるマクロブロック画像の個数が少ない事を意味するからである。これらの図では、境界領域Ｑはいずれも狭くなっている。この結果は、本実施例の順番設定処理により、内部メモリ１１２又は外部メモリ１１３に保持されるマクロブロック画像の個数が少なくなる事を示している。特に図１０において、境界領域Ｑが狭くなっている事が解る。なお、図１０では、各フレームの左上の角からのデコードが、ある時点で、各フレームの左下の角からのデコードに切り替えられている。この切り替えには、境界領域Ｑをより狭くする効果がある。
【００５８】
ここで、内部メモリ１１２又は外部メモリ１１３に保持されているマクロブロック画像の個数を、Ｋで表すことにする。図１１は、図９のシミュレーションにおけるマクロブロック個数Ｋの推移を示したグラフである。図１２は、図１０のシミュレーションにおけるマクロブロック個数Ｋの推移を示したグラフである。各グラフの横軸は、デコード済みのマクロブロックの個数を表す。各グラフの縦軸は、メモリ１１２及び１１３に保持されているマクロブロック画像の個数、即ち、マクロブロック個数Ｋを表す。各フレームに含まれるマクロブロックの個数はここでは、３０００個とする。
【００５９】
各グラフには、Ｉフレームの間隔が３０フレームの場合の結果と、Ｉフレームの間隔が１５フレームの場合の結果とが示されている。各グラフのいずれの場合にも、マクロブロック個数Ｋは、最大でも１〜２フレーム分程度の個数になっていることが解る。
【図面の簡単な説明】
【００６０】
【図１】本実施例の動画像復号化装置の構成図である。
【図２】図１の動画像復号化装置の機能構成図である。
【図３】動画像データのストリームのデータ構造を表す。
【図４】本実施例の動画像復号化処理に関するフローチャートである。
【図５】参照リストのデータ構造を表す。
【図６】被参照リストのデータ構造を表す。
【図７】順番設定処理の第１の例を説明するための図である。
【図８】順番設定処理の第２の例を説明するための図である。
【図９】第１の例によるシミュレーションの実行結果を表す。
【図１０】第２の例によるシミュレーションの実行結果を表す。
【図１１】図９のシミュレーションにおけるマクロブロック個数の推移を表す。
【図１２】図１０のシミュレーションにおけるマクロブロック個数の推移を表す。
【符号の説明】
【００６１】
１０１  動画像復号化装置
１１１  デコーダロジックチップ
１１２  メモリチップ（内部メモリ、ローカルメモリ）
１１３  ＤＲＡＭ（外部メモリ、メインメモリ）
２０１  デコーダ
２１１  画像圧縮部
２１２  画像伸張部
２１３  表示画像生成部
２２１  動きベクトルデコード部
２２２  順番設定部
２２３  マクロブロック画像デコード部
２２４  画像格納部
２２５  画像排除部
２２６  リスト作成部
【図１】
2009253487.tif 000003
【図２】
2009253487.tif 000004
【図３】
2009253487.tif 000005
【図４】
2009253487.tif 000006
【図５】
2009253487.tif 000007
【図６】
2009253487.tif 000008
【図７】
2009253487.tif 000009
【図８】
2009253487.tif 000010
【図９】
2009253487.tif 000011
【図１０】
2009253487.tif 000012
【図１１】
2009253487.tif 000013
【図１２】
2009253487.tif 000014