(57)【要約】【課題】ダイレクトモードで符号化されたＢピクチャを高速に復号化することのできる復号化回路、復号化装置、及び復号化システムを提供する。【解決手段】  ｎ番目のマクロブロックの復号化処理（ステップＳ１０３〜１１６）と、（ｎ＋１）番目用アンカーブロックの動きベクトルのバッファ１０６への転送（ステップＳ１０２及びＳ１１７）とが並列して実行される。これより、（ｎ＋１）番目のマクロブロックがダイレクトモードで符号化されていた場合に、タイミングＴ２において、（ｎ＋１）番目のマクロブロックを復号化する際にすぐにバッファ１０６内の（ｎ＋１）番目用アンカーブロックの動きベクトルを用いて動きベクトルを算出する。【選択図】図５
2008141782.tif 000002
【特許請求の範囲】
【請求項１】
ＭＰＥＧ（Moving Picture Experts Group）規格に従って符号化されたピクチャを構成する複数のマクロブロックを所定の順番で逐次復号化する復号化回路であって、
前記復号化回路の外部に存在する外部メモリとの間でデータ転送を行う転送手段と、
マクロブロックの動きベクトルを保持するためのバッファと、
一のマクロブロックを復号化し終える前に、当該一のマクロブロック以降のマクロブロックがダイレクトモードで符号化されていた場合に参照される別のマクロブロックの動きベクトルを、前記外部メモリから前記バッファに転送するよう前記転送手段に指示するバッファ転送指示手段と、
逐次各マクロブロックの動きベクトルを特定するものであり、マクロブロックがダイレクトモードで符号化されていた場合に、前記バッファに保持されている動きベクトルに基づいて当該マクロブロックの動きベクトルを計算して特定する復号化手段と、
特定した動きベクトルを前記外部メモリに転送するよう前記転送手段に指示する外部メモリ転送指示手段とを備え、
前記バッファ転送指示手段は、ｎ番目のマクロブロックの復号化処理と並列して、（ｎ＋１）番目のマクロブロック用アンカーブロックの動きベクトルと、これにさらに続く（ｎ＋２）番目のマクロブロック用アンカーブロックの動きベクトルとをまとめて１回で転送するように前記転送手段に指示する
ことを特徴とする復号化回路。
【請求項２】
ＭＰＥＧ（Moving Picture Experts Group）規格に従って符号化されたピクチャを構成する複数のマクロブロックを所定の順番で逐次復号化する復号化装置であって、
前記復号化装置の外部に存在する外部メモリとの間でデータ転送を行う転送手段と、
マクロブロックの動きベクトルを保持するためのバッファと、
一のマクロブロックを復号化し終える前に、当該一のマクロブロック以降のマクロブロックがダイレクトモードで符号化されていた場合に参照される別のマクロブロックの動きベクトルを、前記外部メモリから前記バッファに転送するよう前記転送手段に指示するバッファ転送指示手段と、
逐次各マクロブロックの動きベクトルを特定するものであり、マクロブロックがダイレクトモードで符号化されていた場合に、前記バッファに保持されている動きベクトルに基づいて当該マクロブロックの動きベクトルを計算して特定する復号化手段と、
特定した動きベクトルを前記外部メモリに転送するよう前記転送手段に指示する外部メモリ転送指示手段とを備え、
前記バッファ転送指示手段は、ｎ番目のマクロブロックの復号化処理と並列して、（ｎ＋１）番目のマクロブロック用アンカーブロックの動きベクトルと、これにさらに続く（ｎ＋２）番目のマクロブロック用アンカーブロックの動きベクトルとをまとめて１回で転送するように前記転送手段に指示する
ことを特徴とする復号化装置。
【請求項３】
ＭＰＥＧ（Moving Picture Experts Group）規格に従って符号化されたピクチャを構成する複数のマクロブロックを所定の順番で逐次復号化する復号化回路と、当該復号化回路の外部に存在する外部メモリとを含んで成る復号化システムであって、
前記復号化回路は、
前記外部メモリとの間でデータ転送を行う転送手段と、
マクロブロックの動きベクトルを保持するためのバッファと、
一のマクロブロックを復号化し終える前に、当該一のマクロブロック以降のマクロブロックがダイレクトモードで符号化されていた場合に参照される別のマクロブロックの動きベクトルを、前記外部メモリから前記バッファに転送するよう前記転送手段に指示するバッファ転送指示手段と、
逐次各マクロブロックの動きベクトルを特定するものであり、マクロブロックがダイレクトモードで符号化されていた場合に、前記バッファに保持されている動きベクトルに基づいて当該マクロブロックの動きベクトルを計算して特定する復号化手段と、
特定した動きベクトルを前記外部メモリに転送するよう前記転送手段に指示する外部メモリ転送指示手段とを備え、
前記バッファ転送指示手段は、ｎ番目のマクロブロックの復号化処理と並列して、（ｎ＋１）番目のマクロブロック用アンカーブロックの動きベクトルと、これにさらに続く（ｎ＋２）番目のマクロブロック用アンカーブロックの動きベクトルとをまとめて１回で転送するように前記転送手段に指示する
ことを特徴とする復号化システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、符号化されたピクチャを構成する複数のマクロブロックを所定の順番で逐次復号化する復号化回路、復号化装置、及び復号化システムに関する。
【背景技術】
【０００２】
従来、動画像圧縮符号化／復号化技術の重要な要素に、「動き補償フレーム間予測」がある。動き補償フレーム間予測とは、動画像を構成する連続したフレーム（画面）内のピクチャがどのように動いたかを検出して効率よく圧縮する手法である。ＭＰＥＧ（Moving Picture Experts Group）等の代表的な動画像圧縮方法では、動き補償フレーム間予測を行う際、ピクチャを分割した「マクロブロック」と呼ばれる単位毎に、表示順で前方又は後方に位置する他のピクチャ内のマクロブロックと比較してどの方向へどの程度動くかを示す「動きベクトル」を使用する。なお、比較されるピクチャを「参照ピクチャ」と呼ぶ。
【０００３】
また、近年、新たな動画像圧縮符号化／復号化技術として規格化された、ＭＰＥＧ４―ＡＶＣ（Advanced Video Coding）においては、さらに高度な動き補償フレーム間予測である、「双方向動き補償フレーム間予測」という手法が用いられる（非特許文献１を参照）。
ここで、双方向動き補償フレーム間予測について簡単に説明する。
【０００４】
双方向動き補償フレーム間予測とは、前後にあるピクチャから任意の参照ピクチャを２枚選択し、この２枚の参照ピクチャから動き補償フレーム間予測を行う手法である。なお、双方向動き補償フレーム間予測を行う対象となるピクチャを「双予測ピクチャ（Bi-predictive Picture）」と呼び、略して「Ｂピクチャ」と呼ぶ。
ところで、Ｂピクチャの符号化を行う際、「ダイレクトモード」と呼ばれる符号化モードで符号化することがある。ダイレクトモードとは、動きベクトルを符号化せずに、既に過去に復号化された他のマクロブロックの動きベクトルを用いてマクロブロック毎に動きベクトルを算出する符号化モードである。具体的には、マクロブロックがダイレクトモードで符号化されていた場合、当該マクロブロックが属するピクチャの１つ前のピクチャ内における、当該マクロブロックと同じ座標上のマクロブロックの動きベクトルを用いて、当該マクロブロックの動きベクトルの計算が行われる。ダイレクトモードで符号化されたマクロブロックを復号化する従来の処理について、図７を参照しながら簡単に説明する。
【０００５】
まず、前提として、将来ダイレクトモードで符号化されたマクロブロックを復号化することに備えて、ＭＰＥＧ規格では、ピクチャ内の各マクロブロックを逐次復号化していく中で、復号化された各マクロブロックの動きベクトルを一定量記憶しておくようになっている。例えば、ＭＰＥＧ４−ＡＶＣの１仕様によれば、４枚のピクチャの動きベクトルを記憶しておくようになっており、１ピクチャ当たり８１６０マクロブロックで構成されているとすると、合計３２６４０個のマクロブロックの動きベクトルを記憶しておく必要がある。これだけ大量の動きベクトルを復号化回路内に記憶しておくには通常のバッファでは追いつかず、現実的ではない。そのため、復号化された各マクロブロックの動きベクトルを、復号化を行う復号化回路外にあるＤＲＡＭ（Dynamic Random Access Memory）等のメモリに記憶しておくようになっている。
【０００６】
ここで、図７に示すように、Ｂピクチャのマクロブロックを復号化する際、まず、当該マクロブロックの先頭に含まれるマクロブロックタイプ情報を参照し、当該マクロブロックがダイレクトモードで符号化されているか否かを判断する（ステップＳ２００）。
ダイレクトモードで符号化されていた場合、参照する他のマクロブロックの動きベクトルを外部メモリから取得するようＤＭＡ（Direct Memory Access）転送指示を行い（ステップＳ２０１）、この結果として外部メモリから転送された動きベクトルに基づいて当該マクロブロックの動きベクトルを決定する（ステップＳ２０２）。
【非特許文献１】ＩＴＵ−Ｔ勧告  Ｈ．２６４  「Advanced Video Coding for Generic Audiovisual Services」
【発明の開示】
【発明が解決しようとする課題】
【０００７】
ところが、図７に示したような従来の手法では、マクロブロックがダイレクトモードで符号化されていることが判定された（ステップＳ２００）後で、外部メモリにアクセスし（ステップＳ２０１）、必要となる他のマクロブロックの動きベクトルを取得するようになっている。外部メモリから復号化回路内への転送が必要なために、図中の矢印で示すように時間がかかってしまい、その結果、Ｂピクチャのマクロブロックを復号化する全体の時間Ｔが長時間化してしまうという課題がある。
【０００８】
マクロブロックを復号化する時間Ｔが長時間化すると、Ｂピクチャの復号化も遅延してしまい、結果、動画像全体を復号化する時間にまで影響が及ぶ可能性がある。
そこで、本発明は、ダイレクトモードで符号化されたＢピクチャを高速に復号化することのできる復号化回路、復号化装置、及び復号化システムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
上記課題を解決するために、本発明に係る復号化回路は、ＭＰＥＧ（Moving Picture Experts Group）規格に従って符号化されたピクチャを構成する複数のマクロブロックを所定の順番で逐次復号化する復号化回路であって、前記復号化回路の外部に存在する外部メモリとの間でデータ転送を行う転送手段と、マクロブロックの動きベクトルを保持するためのバッファと、一のマクロブロックを復号化し終える前に、当該一のマクロブロック以降のマクロブロックがダイレクトモードで符号化されていた場合に参照される別のマクロブロックの動きベクトルを、前記外部メモリから前記バッファに転送するよう前記転送手段に指示するバッファ転送指示手段と、逐次各マクロブロックの動きベクトルを特定するものであり、マクロブロックがダイレクトモードで符号化されていた場合に、前記バッファに保持されている動きベクトルに基づいて当該マクロブロックの動きベクトルを計算して特定する復号化手段と、特定した動きベクトルを前記外部メモリに転送するよう前記転送手段に指示する外部メモリ転送指示手段とを備えることを特徴とする。ここで、この復号化回路は集積回路により実現されるものであり、回路内のバッファには容量に制約がある。また、転送手段は、ＤＭＡコントローラで実現される。
【発明の効果】
【００１０】
以上の構成により、回路内のバッファ容量の制約により、復号化済みの動きベクトルの記憶をいったん外部メモリに記憶しておく必要がある復号化回路であっても、マクロブロックの復号化を開始する前に、将来復号化するマクロブロックが必要とするであろう動きベクトルを外部メモリから先行的に回路内のバッファに転送しておく。この先行的に転送を行う構成により、マクロブロックがダイレクトモードで符号化されていない限り不要にはなるが、あるマクロブロックがダイレクトモードで符号化されていた場合には、このマクロブロックを復号化するときにすぐさま動きベクトルを特定することができる。この結果、マクロブロックがダイレクトモードで符号化されているときに、当該マクロブロックの復号化に要する時間を短縮することができる。
【００１１】
また、上記復号化回路において、前記バッファ転送指示手段は、一のマクロブロックの復号化を開始してから完了するまでの間に、当該一のマクロブロックに続くマクロブロックがダイレクトモードで符号化されていた場合に参照される別のマクロブロックの動きベクトルを、前記外部メモリから前記バッファに転送するよう前記転送手段に指示することを特徴とする。
【００１２】
この構成により、ｎ番目のマクロブロックを復号している間に、ｎ＋１番目のマクロブロックがダイレクトモードで符号化されていた場合に参照する動きベクトルを回路内のバッファに転送しておくため、ｎ＋１番目のマクロブロックがダイレクトモードで符号化されていた場合でも、復号化するときにすぐさま動きベクトルを決定することができる。また、回路内のバッファのサイズを、１つ先の順番のマクロブロックが参照する動きベクトルを保持できる最小限のサイズに抑えることができる。
【発明を実施するための最良の形態】
【００１３】
以下、本発明の実施の形態について、図面を参照しながら説明する。
＜１．構成＞
＜１−１．復号化システム１０の構成＞
図１に示すように、復号化システム１０は、復号化回路１００と、当該復号化回路１００に接続されている外部メモリ２００と記憶媒体３００とから構成されている。
【００１４】
外部メモリ２００は、作業領域として使用されるＤＲＡＭ等の書き込み可能なメモリであり、特に、後述する復号化回路１００が復号化処理を実行する上で必要となるデータを一時的に記憶する。
記憶媒体３００は、ＨＤＤ（Hard Disk Drive）等の大容量記憶媒体であり、ＭＰＥＧ規格に準じて符号化された動画像データ（以下、「ストリーム」と呼ぶ場合がある）を記憶している。これらのストリームは、例えば、ユーザがテレビ番組を録画したもの等である。
【００１５】
復号化回路１００は、ＭＰＥＧ規格に準じて符号化されたストリームの復号化を行う集積回路である。ストリームの復号化にあたっては、ＨＤＤ３００から外部メモリ２００の作業領域に逐次読み込まれるストリームを入力し、復号化する。
＜１−２．復号化回路１００の構成＞
復号化回路１００は、ストリーム転送指示部１０１、復号化部１０２、ＤＭＡコントローラ１０３、参照画像転送指示部１０４、バッファ転送指示部１０５、バッファ１０６、バッファ消去部１０７、外部メモリ転送指示部１０８、逆周波数変換処理部１０９、動き補償処理部１１０、イントラ処理部１１１、デブロックフィルタ処理部１１２、及び復号画像転送指示部１１３を備える。
【００１６】
ストリーム転送指示部１０１は、外部メモリ２００から後述するバッファ１０６にストリームを転送するようＤＭＡコントローラ１０３に指示する機能を有する。
復号化部１０２は、ＭＰＥＧ規格に準じて可変長符号化されたストリームをマクロブロック単位で可変長復号化し、当該マクロブロックのマクロブロックタイプ、動きベクトル、及び画素残差値を出力する機能を有する。動きベクトルについては、マクロブロックがダイレクトモード以外のモードで符号化されている場合は、マクロブロックを復号化することで決定し、一方、マクロブロックがダイレクトモードで符号化されている場合は、後述するバッファ１０６に保持されている動きベクトルを用いて算出するものである。
【００１７】
ＤＭＡコントローラ１０３は、ＤＭＡ方式により、外部メモリ２００と復号化回路１００内に備わるバッファ１０６等の各バッファとの間でデータを転送する機能を有する。
参照画像転送指示部１０４は、復号化部１０１が出力した動きベクトルが示す参照画像を外部メモリ２００からバッファ１０６に転送するようＤＭＡコントローラ１０３に指示する機能を有する。
【００１８】
バッファ転送指示部１０５は、マクロブロックがダイレクトモードで符号化されていた場合に参照する、既に復号化された別のマクロブロックの動きベクトルを、後述するバッファ１０５に転送するようＤＭＡコントローラ１０３に指示する機能を有する。
バッファ１０６は、復号化回路１００内で一時的にデータを記憶しておく記憶領域であり、マクロブロックの動きベクトルを少なくとも１つ記憶できる容量を有している。特に、バッファ転送指示部１０５からの指示に応じてＤＭＡコントローラ１０３から出力される動きベクトルを一時的に記憶する。
【００１９】
外部メモリ転送指示部１０７は、復号化部１０２がマクロブロックを復号化するたびに決定される動きベクトルを外部メモリ２００に転送するよう、ＤＭＡコントローラ１０３に指示する機能を有する。
逆周波数変換処理部１０８は、復号化部１０２が出力した画素値残差を逆周波数変換して出力する機能を有する。
【００２０】
動き補償処理部１０９は、逆周波数変換処理部１０８が出力した画素値残差と、参照画像転送指示部１０４からの転送指示に応じて転送される参照画像とを合成し、合成した画像を復号画像として出力する機能を有する。
イントラ処理部１１０は、マクロブロックがフレーム間予測を必要としてないモードで符号化されているマクロブロック（以下、「イントラマクロブロック」と呼ぶ）である場合に、逆周波数変換処理部１０８が出力したマクロブロックの画素値残差を用いて復号化し、復号画像を出力する機能を有する。
【００２１】
デブロックフィルタ処理部１１１は、動き補償処理部１０９及びイントラ処理部１１０が出力した復号画像に対し、ブロックノイズを低減するためのデブロックフィルタ処理を行う機能を有する。
復号画像転送部１１２は、デブロックフィルタ処理部１１１でデブロックフィルタ処理された復号画像を外部メモリ２００に転送するよう、ＤＭＡコントローラ１０３に指示する機能を有する。
＜２．データ構造＞
ここで、復号化システム１０が復号化を行うデータについて説明する。
【００２２】
図２に示すように、ＭＰＥＧ規格に準じて符号化されたストリームは、複数のピクチャから構成されている（Ｐ１、Ｐ２、Ｐ３・・・Ｐｎ）。各ピクチャは、動画像であるストリームを構成する静止画であり、１画面に相当する。
さらに、各ピクチャは、１６ライン幅を有するスライスで水平方向に分割されている（スライス＃１、スライス＃２・・・スライス＃ｎ）。スライスは、ピクチャの符号化を行う基本単位である。
【００２３】
そして、各スライスをさらに細かく分割したものがマクロブロック（以下、「ＭＢ」と略して表記することがある）である。マクロブロックは、動き補償フレーム間予測を含む、復号化を行う基本単位である。例えば、ＭＰＥＧ４−ＡＶＣ（Advanced Video Coding）のＨＤＴＶ（High Definition Television：高精細テレビ）品質の場合、１つのピクチャが８１６０個のマクロブロックに分割される。
【００２４】
ここで、Ｂピクチャのマクロブロックの動きベクトルについて説明する。
動きベクトルは、各マクロブロックにおいて、表示順で前方又は後方に位置する他のピクチャと比較してどの方向へどの程度動くかを示す情報であり、マクロブロックがダイレクトモード以外のモードで符号化されている場合は、当該マクロブロックを可変長復号化する段階で特定される。
【００２５】
一方、マクロブロックがダイレクトモードで符号化されている場合は、当該マクロブロックの動きベクトルを決定するために別のマクロブロックの動きベクトルを用いて算出する必要がある。なお、本実施形態においては、「時間ダイレクトモード」での動きベクトルの算出方法について説明する。
図３を参照すると、復号化対象のマクロブロック（ＭＢ０１）の動きベクトルを算出するために、当該復号化対象マクロブロックの参照ピクチャのうち一方のピクチャ（以下、「アンカーピクチャ」）と呼ぶ）（ＡＰ０１）を参照する。ＡＰ０１の中で、ＭＢ０１と同じ座標上に位置するマクロブロック（以下、「アンカーブロック」と呼ぶ）（ＡＢ０１）の動きベクトルを用いて、以下の式に従ってＭＢ０１の動きベクトルを算出する。
[数１]
ｍｖＬ０＝ｍｖＣｏｌ＊ｔｂ／ｔｄ
[数２]
ｍｖＬ１＝ｍｖＬ０−ｍｖＣｏｌ
ここで、ｍｖＣｏｌは、ＡＢ０１の動きベクトルの値であり、ＡＢ０１が参照ピクチャ内のどのマクロブロックに当たるかを示す。ｔｂは、他方の参照ピクチャとＭＢ０１のピクチャとの時間間隔である。ｔｄは、他方の参照ピクチャとＡＰ０１との時間間隔である。ｔｂとｔｄの値は、復号化部１０２から通知される。式１及び式２から、ＭＢ０１の動きベクトルであるｍｖＬ０とｍｖＬ１が算出され、ｍｖＬ０とｍｖＬ１とにより、ＡＰ０１上のマクロブロックＭＢ００と他方の参照ピクチャ上のマクロブロックＭＢ０２とを参照画像とすることが決定される。
＜３．動作＞
次に、復号化システム１０の復号化処理動作について説明する。
【００２６】
図４に示すように、復号化回路１００において、まず、ストリーム取得部１０１が、ＤＭＡコントローラ１０３に対して、外部メモリ２００からストリームを転送するよう指示し、これを受けて、ＤＭＡコントローラ１０３は、外部メモリ２００から復号化部１０２にストリームを転送する（ステップＳ１００）。
ストリームを受けた復号化部１０２は、ストリームを構成するピクチャをマクロブロック単位で復号化処理を開始する（ステップＳ１０１）。ここで、ｎ番目のマクロブロックについての復号化を開始するものとする。
【００２７】
また、ステップＳ１０１のけるｎ番目のマクロブロックの復号化と並列して、ｎ番目に続く（ｎ＋１）番目のマクロブロックについて、当該（ｎ＋１）番目のマクロブロックがもしダイレクトモードで符号化されていた場合に参照するアンカーブロック（以下、「（ｎ＋１）番目用アンカーブロック」と呼ぶ）の動きベクトルを外部メモリ２００からバッファ１０６へ転送するよう、バッファ転送指示部１０５がＤＭＡコントローラ１０３に対して指示する（ステップＳ１０２）。
【００２８】
ステップＳ１０１で開始したｎ番目のマクロブロックの復号化においては、まず、復号化部１０２はマクロブロックヘッダを参照し、当該マクロブロックがフレーム間予測を行うマクロブロック（以下、「インターマクロブロック」と呼ぶ）であるか、フレーム間予測を行わないマクロブロック（以下、「イントラマクロブロック」と呼ぶ）であるかを判断する（ステップＳ１０３）。
【００２９】
ステップＳ１０３での判断の結果、インターマクロブロックであった場合は（ステップＳ１０３：ＹＥＳ）、さらに、ｎ番目のマクロブロックの符号化形式がダイレクトモードであるか否かを判断する（ステップＳ１０４）。
ステップＳ１０４での判断の結果、符号化形式がダイレクトモードであった場合は（ステップＳ１０４：ＹＥＳ）、復号化部１０２は、バッファ１０６に記憶されている動きベクトルを用いてｎ番目のマクロブロックの動きベクトルを算出する（ステップＳ１０５）。ここで、バッファ１０６には、（ｎ−１）番目のマクロブロックが復号化される間に並列して転送された、ｎ番目のマクロブロックがダイレクトモードで符号化されているときに参照するアンカーブロック（以下、「ｎ番目用アンカーブロック」と呼ぶ）の動きベクトルが記憶されている。
【００３０】
一方、ステップＳ１０４での判断の結果、符号化形式がダイレクトモード以外のモードであった場合は、復号化部１０２は、ｎ番目のマクロブロックを可変長復号化を行う段階で動きベクトルを特定する（ステップＳ１０６）。
復号化部１０２は、特定された動きベクトルを外部メモリ転送指示部１０７内のバッファに出力し、これを受けた外部メモリ転送指示部１０８は、動きベクトルを外部メモリ２００に転送するよう、ＤＭＡコントローラ１０３に指示する（ステップＳ１０７）。ここで、動きベクトルを転送する外部メモリ２００内のアドレスとｎ番目のマクロブロックとが対応付けられて転送される。
【００３１】
そして、参照画像転送指示部１０４は、復号化部１０２から出力された動きベクトルに基づく参照画像を外部メモリ２００から動き補償処理部１０９内のバッファに転送するよう、ＤＭＡコントローラ１０３に指示する（ステップＳ１０８）。
また、この間、逆周波数変換処理部１０８は、復号化部１０２が出力した画素残差値を逆周波数変換する（ステップＳ１０９）。
【００３２】
動き補償処理部１０９は、逆周波数変換処理部１０８が出力した画素値残差と、参照画像転送指示部１０４からの転送指示に応じてＤＭＡコントローラ１０３を介して転送される参照画像とを合成し、合成した画像を復号画像として出力する（ステップＳ１１０）。
一方で、ステップＳ１０３での判断の結果、インターマクロブロックではなくイントラマクロブロックであった場合は、イントラブロックであるという情報を外部メモリ２００に転送するよう、ＤＭＡコントローラ１０３に指示する（ステップＳ１１１）。
【００３３】
逆周波数変換処理部１０８は、復号化部１０２が出力した画素残差値を逆周波数変換する（ステップＳ１１２）する。
イントラ処理部１１０は、ｎ番目のマクロブロックの周辺画像から参照画像を生成し、逆周波数変換処理部１０８が出力した画素残差値と加算した画像を復号画像として出力する（ステップＳ１１３）。
【００３４】
続いて、ステップＳ１１０又はステップＳ１１３で出力された復号画像に対し、デブロックフィルタ処理部１１１は、ブロックノイズを取り除くデブロック処理を行い、復号画像転送指示部１１２内のバッファに出力する（ステップＳ１１４）。
復号画像転送指示部１１２は、デブロック処理された復号画像を外部メモリ２００に転送するよう、ＤＭＡコントローラ１０３に指示する（ステップＳ１１５）。
【００３５】
上記ステップＳ１０３〜Ｓ１１５と並列して、ステップＳ１０２での動きベクトル転送指示に応じ、（ｎ＋１）番目用アンカーブロックの動きベクトルがＤＭＡコントローラ１０３を介してバッファ１０６に転送される（ステップＳ１１６）。
ステップＳ１０１〜Ｓ１１６におけるｎ番目のマクロブロックの復号化と、これと並列して行われるステップＳ１０２及びＳ１１６における（ｎ＋１）番目用アンカーブロックの動きベクトルの転送とが完了すると、ｎをインクリメントして、続いて（ｎ＋１）番目の復号化と（ｎ＋２）番目用アンカーブロックの動きベクトルの転送が開始する（ステップＳ１０１及びＳ１０２）。
【００３６】
以上、本実施形態によれば、ＤＭＡ転送を利用することで、ｎ番目のマクロブロックの復号化処理（ステップＳ１０３〜１１５）と、（ｎ＋１）番目用アンカーブロックの動きベクトルがバッファ１０６への転送（ステップＳ１０２及びＳ１１６）とが並列して実行される。これより、（ｎ＋１）番目のマクロブロックがダイレクトモードで符号化されていたとしても、（ｎ＋１）番目のマクロブロックを復号化する際にすぐにバッファ１０６内の（ｎ＋１）番目用アンカーブロックの動きベクトルを用いて動きベクトルを算出することができる。
【００３７】
さらに、従来の処理とを比較し、本実施形態の処理の効果を説明する。従来の処理を示す図７を参照すると、いったんマクロブロックタイプを判断して（ステップ２００）、マクロブロックがダイレクトモードで符号化されていると分かった段階で、ＤＭＡコントローラ１０３へ動きベクトルの転送を指示する（ステップＳ２０１）。このため、マクロブロックの復号化処理が完了しても、外部メモリ２００からの転送が完了するのを待たなければならず、結果、マクロブロックを復号化するのに要する全体的な時間Ｔが長くなってしまう。
【００３８】
これに対し、本実施形態の処理を示す図５を参照すると、ｎ番目のマクロブロックの復号化処理（ステップＳ１０３〜１１５）と、（ｎ＋１）番目用アンカーブロックの動きベクトルのバッファ１０６への転送（ステップＳ１０２及びＳ１１６）とが並列して実行される。これより、（ｎ＋１）番目のマクロブロックがダイレクトモードで符号化されていた場合に、タイミングＴ２において、（ｎ＋１）番目のマクロブロックを復号化する際にすぐにバッファ１０６内の（ｎ＋１）番目用アンカーブロックの動きベクトルを用いて動きベクトルを算出することができる。その結果、（ｎ＋１）番目のマクロブロックを復号化するのに要する時間Ｔ２が短縮される。この並列処理は、インクリメントされｎ番目、（ｎ＋１）番目、（ｎ＋２）番目・・・とストリームが終わる（ｎ＋ｘ）番目まで繰り返し実行されるため、どのマクロブロックに対しても同様の効果を奏する。
【００３９】
以上、実施形態に基づいて説明してきたように、本発明によれば、Ｂピクチャを構成する各マクロブロックがダイレクトモードで符号化されていた場合に、その復号化を高速に行うことができ、結果、Ｂピクチャの復号化を高速化することができる。
＜変形例＞
以上、本発明に係る復号化システム１０を実施形態に基づいて説明してきたが、この実施形態の構成及び動作に様々な変形を加えることが可能である。
【００４０】
上記実施形態では、マクロブロックの復号化処理と並列して、１つ先のマクロブロック用アンカーブロックの動きベクトルをバッファ１０６へ転送する動作を説明したが、バッファ１０６の容量を大きくし、幾つか先の複数のマクロブロック用アンカーブロックに係る複数の動きベクトルをまとめて転送するようにしてもよい。
例えば、外部メモリ２００として、連続するデータ転送に適したＳＤＲＡＭ等のメモリを使用している場合、１つの動きベクトル毎に転送を行うとバースト長が不足し、転送効率が不足することがある。
【００４１】
このため、ＳＤＲＡＭ等のメモリを使用している場合、例えば、ｎ番目のマクロブロックの復号化処理と並列して、（ｎ＋１）番目のマクロブロック用アンカーブロックの動きベクトルと、これにさらに続く（ｎ＋２）番目のマクロブロック用アンカーブロックの動きベクトルとをまとめて１回で転送するようにすればよい。
このように、一回のＤＭＡ転送で転送するデータ量を増やすことで、外部メモリ２００とバッファ１０６間の転送回数を減らし、バースト長を大きくして転送効率を向上させることができる。
【００４２】
なお、幾つ先のマクロブロック用アンカーブロックの動きベクトルまで転送しておくかは、バッファ１０６のサイズに左右される。上記実施形態のように１つ後までであれば、バッファ１０６のサイズが最小限で抑えられるが、バッファ１０６のサイズが許す限り幾つ後までかについて限定されない。
また、さらに、外部メモリ転送指示手段１０７が、復号化された動きベクトルを外部メモリ２００に転送するよう指示する際も、複数のマクロブロックに係る複数の動きベクトルをまとめて転送するようにしてもよい。
＜補足＞
上記実施形態においては、ダイレクトモードとして、「時間ダイレクトモード」について説明したが、「空間ダイレクトモード」であってもよい。
【００４３】
すなわち、マクロブロックが空間ダイレクトモードで符号化されている場合は、当該マクロブロックの動きベクトルを決定するために、アンカーブロックの動きベクトルとともに、当該マクロブロックの周辺マクロブロックの動きベクトルを用いる。
図６を参照すると、復号化対象のマクロブロック（ＭＢ０１）の動きベクトルを算出するために、ＭＢ０１のピクチャ内で既に復号化されている別のマクロブロックを参照する。具体的には、ＭＢ０１の左位置のマクロブロック（ＭＢ（Ａ））、上位置のマクロブロック（ＭＢ（Ｂ））、及び右上位置のマクロブロック（ＭＢ（Ｃ））のそれぞれの動きベクトルを用いて、以下の式に従ってＭＢ０１の動きベクトルを算出する。
[数３]
ｍｖ＝ｍｅｄｉａｎ（ｍｖＡ、ｍｖＢ、ｍｖＣ）
ここで、ｍｖＡはＭＢ（Ａ）の動きベクトルである。ｍｖＢはＭＢ（Ｂ）の動きベクトルである。ｍｖＣはＭＢ（Ｃ）の動きベクトルである。式３から、ＭＢ０１の動きベクトルであるｍｖが算出される。
【００４４】
なお、本発明を空間ダイレクトモードに適用する場合は、図４に示すフローチャート内のステップＳ１０２において、（ｎ＋１）番目のマクロブロックのピクチャ内で左位置、上位置、及び右上位置に位置するマクロブロックそれぞれの動きベクトル（合計３つの動きベクトル）をバッファ１０６に転送するよう、ＤＭＡコントローラ１０３に指示すればよい。また、この場合、バッファ１０６のサイズを、合計３つの動きベクトルを記憶しておけるサイズに合わせればよい。
【産業上の利用可能性】
【００４５】
本発明に係る復号化回路、復号化装置、及び復号化システムは、ＭＰＥＧ規格に従って符号化された映像を復号化して再生する装置に適用可能であり、高速な復号化を実現する技術として有用である。
【図面の簡単な説明】
【００４６】
【図１】本発明に係る復号化システム１０の構成を示すブロック図である。
【図２】ＭＰＥＧ規格に準じて符号化されたデータの構造を示す概略図である。
【図３】時間ダイレクトモード時の動きベクトルの算出方法を示す概略図である。
【図４】復号化システム１０の復号化処理動作を示すフローチャートである。
【図５】復号化システム１０の復号化処理動作を示すタイミングチャートである。
【図６】空間ダイレクトモード時の動きベクトルの算出方法を示す概略図である。
【図７】従来の復号化処理を示すタイミングチャートである。
【符号の説明】
【００４７】
１０          復号化システム
１００        復号化回路
１０１        ストリーム転送指示部
１０２        復号化部
１０３        ＤＭＡコントローラ
１０４        参照画像転送指示部
１０５        バッファ転送指示部
１０６        バッファ
１０７        外部メモリ転送指示部
１０８        逆周波数変換処理部
１０９        動き補償処理部
１１０        イントラ処理部
１１１        デブロックフィルタ処理部
１１２        復号画像転送指示部
２００        外部メモリ
３００        記憶媒体
【図１】
2008141782.tif 000003
【図２】
2008141782.tif 000004
【図３】
2008141782.tif 000005
【図４】
2008141782.tif 000006
【図５】
2008141782.tif 000007
【図６】
2008141782.tif 000008
【図７】
2008141782.tif 000009