(57)【要約】【課題】外部メモリアクセス量を低減して、回路コスト、消費電力の小さい画像復号化装置および画像復号化方法を提供することを目的とする。【解決手段】動き補償を伴う復号化を行う画像復号化装置１００であって、動き補償の対象の１つのブロックを基準とする、参照ピクチャ内の参照画素の存在範囲である参照範囲を特定する参照範囲特定部１１０と、復号化済みの画素データを記憶する第二メモリ１０８と、参照画素データを保持するための参照画素バッファ１１２と、参照範囲特定部１１０によって特定された参照範囲を含む領域の画素データを第二メモリ１０８から参照画素バッファ１１２にコピーする参照画素読み出し制御部１１１と、参照画素バッファ１１２にコピーされた参照画素データを用いた動き補償により、補間画素データを生成する動き補償部１０６と、補間画素データを用いて復号化済みの画素データを生成する画素値復号化部１０４とを備える。【選択図】図１
2010212817.tif 000002
【特許請求の範囲】
【請求項１】
符号化ストリームに対し動き補償を伴う復号化を行う画像復号化装置であって、
前記符号化ストリームに含まれるピクチャのブロック単位で実施される復号化処理に先行して、予め前記ピクチャ内の複数のブロックごとの動きベクトル関連情報から、前記ピクチャについての動き補償に使用される参照画素を含む範囲であって、動き補償の対象の１つのブロックを基準とする、参照ピクチャ内の参照画素の存在範囲である参照範囲を特定する参照範囲特定部と、
前記参照ピクチャを構成する画素の画素値を含む復号化済みの画素データを記憶する復号化画素メモリと、
動き補償に使用される参照画素データを保持するための参照画素バッファと、
前記参照範囲特定部によって特定された参照範囲を含む領域の画素データであって前記参照ピクチャの一部の連続する画素データを、前記復号化画素メモリから前記参照画素バッファにコピーする読み出し制御部と、
前記読み出し制御部により前記参照画素バッファにコピーされた画素データに含まれる参照画素データを用いた動き補償により、補間画素データを生成する動き補償部と、
前記動き補償部により生成された補間画素データを用いて復号化済みの画素データを生成する画素値復号化部と
を備える画像復号化装置。
【請求項２】
前記符号化ストリームは、算術符号化を伴う符号化により得られたものであり、
前記画像復号化装置はさらに、
前記符号化ストリームを算術復号化することで算術復号化データを生成する算術復号化部と、
前記算術復号化部により生成された算術復号化データを記憶する復号化データメモリと、
前記復号化データメモリから前記算術復号化データを読み出して復号化する算術復号化データ復号化部とを備え、
前記参照範囲特定部は、前記算術復号化部により生成された算術復号化データから、前記複数のブロックごとの動きベクトル関連情報を取得し、
前記動き補償部は、前記算術復号化データ復号化部による復号化により得られる動きベクトルと、前記参照画素バッファに記憶されている前記参照画素データとを用いて前記補間画素データを生成し、
前記画素値復号化部は、前記算術復号化データ復号化部による復号化により得られる残差画素データと、前記動き補償部により生成される補間画素データとを用いて前記復号化済みの画素データを生成する
請求項１記載の画像復号化装置。
【請求項３】
前記符号化ストリームは、システム符号化を伴う符号化により得られたものであり、
前記画像復号化装置はさらに、
前記符号化ストリームをシステム復号化することでシステム復号化データを生成するシステム復号化部と、
前記システム復号化部により生成されたシステム復号化データを記憶する復号化データメモリと、
前記復号化データメモリから前記システム復号化データを読み出して可変長復号化する可変長復号化部とを備え、
前記参照範囲特定部は、前記システム復号化部により生成されたシステム復号化データから前記複数のブロックごとの動きベクトル関連情報を取得し、
前記動き補償部は、前記可変長復号化部による復号化により得られる動きベクトルと、前記参照画素バッファに記憶されている前記参照画素データとを用いて前記補間画素データを生成し、
前記画素値復号化部は、前記可変長復号化部による復号化により得られる残差画素データと、前記動き補償部により生成される補間画素データとを用いて前記復号化済みの画素データを生成する
請求項１記載の画像復号化装置。
【請求項４】
前記システム符号化を伴う符号化により得られた前記符号化ストリームは、トランポートストリームである
請求項３記載の画像復号化装置。
【請求項５】
前記復号化画素メモリと前記復号化データメモリとは、同一のメモリに含まれている
請求項２〜４のいずれか１項に記載の画像復号化装置。
【請求項６】
前記参照範囲特定部は、前記複数のマクロブロックごとの動きベクトル関連情報に含まれる複数の動きベクトルを用い、前記複数のマクロブロックを同一位置に置いた場合の、前記複数の動きベクトルが指し示す参照画素位置を網羅する範囲を、前記参照範囲として特定する
請求項１〜５のいずれか１項に記載の画像復号化装置。
【請求項７】
前記参照範囲特定部は、前記ピクチャに含まれるマクロブロックが参照するピクチャのマクロブロックの動きベクトルに関する情報を利用して、前記ピクチャに含まれるマクロブロックがダイレクト・モードを利用しているかどうかを判断することを特徴とする
請求項１〜５のいずれか１項に記載の画像復号化装置。
【請求項８】
符号化ストリームに対し動き補償を伴う復号化を行う画像復号化方法であって、
前記符号化ストリームに含まれるピクチャのブロック単位で実施される復号化処理に先行して、予め前記ピクチャ内の複数のブロックごとの動きベクトル関連情報から、前記ピクチャについての動き補償に使用される参照画素を含む範囲であって、動き補償の対象の１つのブロックを基準とする、参照ピクチャ内の参照画素の存在範囲である参照範囲を特定する参照範囲特定ステップと、
前記参照範囲特定ステップにおいて特定された参照範囲を含む領域の画素データであって前記参照ピクチャの一部の連続する画素データを、前記参照ピクチャを構成する画素の画素値を含む復号化済みの画素データが記憶されている復号化画素メモリから参照画素バッファにコピーする参照画素読み出し制御ステップと、
前記参照画素読み出し制御ステップにおいて前記参照画素バッファにコピーされた画素データに含まれる参照画素データを用いた動き補償により、補間画素データを生成する動き補償ステップと、
前記動き補償ステップにおいて生成された補間画素データを用いて復号化済みの画素データを生成する画素値復号化ステップと
を含む画像復号化方法。
【請求項９】
符号化ストリームに対し動き補償を伴う復号化を行うためのプログラムであって、
前記符号化ストリームに含まれるピクチャのブロック単位で実施される復号化処理に先行して、予め前記ピクチャ内の複数のブロックごとの動きベクトル関連情報から、前記ピクチャについての動き補償に使用される参照画素を含む範囲であって、動き補償の対象の１つのブロックを基準とする、参照ピクチャ内の参照画素の存在範囲である参照範囲を特定する参照範囲特定ステップと、
前記参照範囲特定ステップにおいて特定された参照範囲を含む領域の画素データであって前記参照ピクチャの一部の連続する画素データを、前記参照ピクチャを構成する画素の画素値を含む復号化済みの画素データが記憶されている復号化画素メモリから参照画素バッファにコピーする参照画素読み出し制御ステップと、
前記参照画素読み出し制御ステップにおいて前記参照画素バッファにコピーされた前記参照ピクチャの一部の画素データに含まれる参照画素データを用いた動き補償により、補間画素データを生成する動き補償ステップと、
前記動き補償ステップにおいて生成された補間画素データを用いて復号化済みの画素データを生成する画素値復号化ステップと
をコンピュータに実行させるためのプログラム。
【請求項１０】
符号化ストリームに対し動き補償を伴う復号化を行う集積回路であって、
前記符号化ストリームに含まれるピクチャのブロック単位で実施される復号化処理に先行して、予め前記ピクチャ内の複数のブロックごとの動きベクトル関連情報から、前記ピクチャについての動き補償に使用される参照画素を含む範囲であって、動き補償の対象の１つのブロックを基準とする、参照ピクチャ内の参照画素の存在範囲である参照範囲を特定する参照範囲特定部と、
動き補償に使用される参照画素データを保持するための参照画素バッファと、
前記参照範囲特定部によって特定された参照範囲を含む領域の画素データであって前記参照ピクチャの一部の連続する画素データを、前記集積回路の外部に配置された復号化画素メモリであって前記参照ピクチャを構成する画素の画素値を含む復号化済みの画素データを記憶している復号化画素メモリから前記参照画素バッファにコピーする読み出し制御部と、
前記読み出し制御部により前記参照画素バッファにコピーされた画素データに含まれる参照画素データを用いた動き補償により、補間画素データを生成する動き補償部と、
前記動き補償部により生成された補間画素データを用いて復号化済みの画素データを生成する画素値復号化部と
を備える集積回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、符号化された画像データに対し動き補償を伴う復号化を行う画像復号化装置および画像復号化方法に関する。
【背景技術】
【０００２】
近年、画像データのデジタル化が進むに伴い、膨大なデータ量を必要とする動画データに対して画像符号化を行ってそのデータ量を低減して記録、伝送されるようになってきている。
【０００３】
ここで画像符号化方式としては、ＭＰＥＧ２およびＭＰＥＧ４  ＡＶＣ／Ｈ．２６４（以下、Ｈ．２６４と略す）等の高い効率の画像圧縮符号化方式がよく用いられる。
【０００４】
これらの符号化方式では、マクロブロックと呼ばれる矩形単位（通常水平１６画素、垂直１６画素で構成される）毎に符号化する。
【０００５】
また圧縮効率を高めるために、マクロブロックの符号化の際に、当該マクロブロックの絵柄と類似する絵柄を、それ以前に符号化した他のフィールドまたはフレームから探し出して取り出し、当該マクロブロックの画素値との差分値を符号化する処理を行う。
【０００６】
このような処理を動き補償と呼ぶが、画像符号化時にはどの位置の画素値を取り出したかを示すベクトル情報を動きベクトルとして同時に符号化する。
【０００７】
次に動き補償を用いて符号化されたデータを復号化する画像復号化装置の構成例を図７を用いて説明する。
【０００８】
図７は、従来の画像復号化装置の構成の一例を示すブロック図である。
【０００９】
図７に示す従来の画像復号化装置４００は、入力部４０１、可変長復号化部４０３、画素値復号化部４０４、動きベクトル検出部４０５、動き補償部４０６、出力部４０７、およびメモリ４０８を備える。
【００１０】
入力部４０１から入力された、画像符号化されたデータは、マクロブロック単位で可変長復号化部４０３により可変長復号化される。検出部４０５は、可変長復号化されたデータの中から当該マクロブロックに対する動きベクトルを抽出する。動き補償部４０６は、この動きベクトルを用いてメモリ４０８に記憶されている復号化済みの画素データの中から動き補償に必要な画素値を読み出して、動き補償画素を生成する。
【００１１】
また、画素値復号化部４０４は、可変長復号化部４０３により復号化されたデータを用いて上記マクロブロックに対する動き補償差分データを生成する。画素値復号化部４０４はさらに、動き補償差分データと、動き補償部４０６から得られる動き補償値とを加算することで復号化された画素データを生成する。
【００１２】
この復号化された画素データは一旦メモリ４０８に記憶されてから、ＴＶ等の再生タイミングに合わせて出力部４０７から出力される。またメモリ４０８に記憶された復号化された画素データは他のマクロブロックについての動き補償にも利用される。
【００１３】
ここで、画像符号化されたデータは、図７に示す画像復号化装置４００の構成によって動画データに復号することが可能になるが、上記動き補償についてはマクロブロックまたはその分割された単位のブロック毎に過去に復号化されたピクチャ内の任意の位置の画素を参照することができる。
【００１４】
このため動き補償を実行するために、マクロブロック毎にランダムな位置の画素値をメモリ４０８から読み出す必要が生じる。
【００１５】
一般に画像復号化により得られた画像データは非常に大きなデータ量を有するため、上記メモリ４０８は外付けのＤＲＡＭで構成される。また、ＤＲＡＭはマクロブロックのような小さな矩形単位でランダムに読み出すと大きなオーバーヘッドが発生し、高速な読み出しが困難である。
【００１６】
このためハイビジョン画像のような高速かつ大容量の動画像を復号化するためには、高価な高速ＤＲＡＭを多数並列に利用する必要が発生し、大きな回路コストと消費電力がかかってしまう。
【００１７】
このような課題を改善する画像復号化装置についての技術が特許文献１に開示されている。具体的には、特許文献１には、Ｈ．２６４符号化されたデータの復号化の際の外部ＤＲＡＭのメモリアクセスを削減する技術が開示されている。
【００１８】
ここで、Ｈ．２６４では画像情報を削減するために、動き補償以外にフレーム内予測技術が用いられる。フレーム内予測とは、符号化するマクロブロックの画素値をそのマクロブロックに隣接する既に符号化されたマクロブロックの画素値を用いて補間画素を生成してその差分値を符号化する技術である。
【００１９】
特許文献１に記載の画像復号化装置では、フレーム内予測を用いて画像符号化されたデータを復号化する際に、復号化するマクロブロックに隣接する既に復号化が終了したマクロブロックの画素値をキャッシュメモリに記憶しておく。
【００２０】
これによって各マクロブロックのフレーム内予測の補間画素を生成する際に、外部ＤＲＡＭから直接データを読み込むことなく、キャッシュメモリに記憶されたデータを用いて復号化処理を実現できる。
【特許文献１】特開２００８−４７１７８号公報
【発明の開示】
【発明が解決しようとする課題】
【００２１】
しかしながら、上記特許文献１に記載の技術は、フレーム内予測の補間画素を生成するためにキャッシュメモリを利用する技術であり、動き補償時の補間画素を生成するためのＤＲＡＭアクセスを低減するために利用することはできない。
【００２２】
具体的には、イントラ予測では、復号化の対象のマクロブロックに隣接するマクロブロックの画素のみを利用する。そのため、キャッシュメモリに記憶すべきデータの量が少なく、また記憶すべき画素の位置も固定化されている。
【００２３】
これに対して動き補償で必要な参照画素は、画像の動きが大きい場合には、動き補償に必要となる参照画素が存在する範囲も非常に大きく、しかもマクロブロック毎に大きくばらつく可能性がある。そのため、ＤＲＡＭから読み出す画素位置を予め予測しておくことができない。
【００２４】
従って、従来の画像復号化装置では、各マクロブロックの復号化処理毎に、ＤＲＡＭから動き補償用の参照画素を読み出す必要が生じる。そのため、ＤＲＡＭへのアクセス量、具体的には、ランダムな位置からの読み出しの回数が非常に多くなる。
【００２５】
その結果、従来では、上述のように高価な高速ＤＲＡＭを多数実装する必要が生じ、回路コストや消費電力が大きくなるという課題がある。
【００２６】
本発明は、係る課題を解決するためになされたものであり、外部メモリアクセス量を低減して、回路コストおよび消費電力の小さい画像復号化装置および画像復号化方法を提供することを目的とする。
【課題を解決するための手段】
【００２７】
上記目的を達成するために、本発明の画像復号化装置は、符号化ストリームに対し動き補償を伴う復号化を行う画像復号化装置であって、前記符号化ストリームに含まれるピクチャのブロック単位実施される復号化処理に先行して、予め前記ピクチャ内の複数のブロックごとの動きベクトル関連情報から、前記ピクチャについての動き補償に使用される参照画素を含む範囲であって、動き補償の対象の１つのブロックを基準とする、参照ピクチャ内の参照画素の存在範囲である参照範囲を特定する参照範囲特定部と、前記参照ピクチャを構成する画素の画素値を含む復号化済みの画素データを記憶する復号化画素メモリと、動き補償に使用される参照画素データを保持するための参照画素バッファと、前記参照範囲特定部によって特定された参照範囲を含む領域の画素データであって前記参照ピクチャの一部の連続する画素データを、前記復号化画素メモリから前記参照画素バッファにコピーする読み出し制御部と、前記読み出し制御部により前記参照画素バッファにコピーされた画素データに含まれる参照画素データを用いた動き補償により、補間画素データを生成する動き補償部と、前記動き補償部により生成された補間画素データを用いて復号化済みの画素データを生成する画素値復号化部とを備える。
【００２８】
この構成により、復号化における動き補償に用いられる参照画素データは、参照ピクチャの一部の連続する画素データに含まれて、復号化画素メモリから参照画素バッファに事前にコピーされる。また、その後の動き補償の際には、参照画素バッファにコピーされた参照画素データが用いられる。
【００２９】
これにより、例えば復号化画素メモリ内において隣接する所定の単位のデータを順次読み出すことで、動き補償に使用される参照画素データを参照画素バッファに取り込むことができる。
【００３０】
従って、例えば外部ＤＲＡＭにより復号化画素メモリを実現した場合に、効率よくデータの読み出しが行われる。具体的には、従来、外部ＤＲＡＭからの参照画素データの読み出しにおいて発生していたオーバーヘッドの発生が抑制される。また、参照画素データの読み出しに係る消費電力量も抑制される。
【００３１】
つまり、ハイビジョン画像のような高速かつ大容量の動画像を復号化する場合であっても、高速で高価なＤＲＡＭを複数備えることなく、効率のよい復号化処理を行うことができる。
【００３２】
また、参照ピクチャの一部の画素データが参照画素バッファにコピーされるため、参照画素バッファの必要容量も抑えることができる。
【００３３】
また、前記符号化ストリームは、算術符号化を伴う符号化により得られたものであり、前記画像復号化装置はさらに、前記符号化ストリームを算術復号化することで算術復号化データを生成する算術復号化部と、前記算術復号化部により生成された算術復号化データを記憶する復号化データメモリと、前記復号化データメモリから前記算術復号化データを読み出して復号化する算術復号化データ復号化部とを備え、前記参照範囲特定部は、前記算術復号化部により生成された算術復号化データから、前記複数のブロックごとの動きベクトル関連情報を取得し、前記動き補償部は、前記算術復号化データ復号化部による復号化により得られる動きベクトルと、前記参照画素バッファに記憶されている前記参照画素データとを用いて前記補間画素データを生成し、前記画素値復号化部は、前記算術復号化データ復号化部による復号化により得られる残差画素データと、前記動き補償部により生成される補間画素データとを用いて前記復号化済みの画素データを生成するとしてもよい。
【００３４】
この構成により、本発明の画像復号化装置を、参照画素データのメモリからの読み出しを効率よく行いつつ、算術符号化されたデータを効率よく復号化する装置として実現できる。
【００３５】
具体的には、算術符号を復号化することにより得られた算術復号化データは、一旦復号化データメモリに記憶され、その後マクロブロック単位の画像復号化処理に同期して読み出されて処理される。
【００３６】
ここで、当該画像復号化装置では、復号化データメモリへの記憶と同時に、算術復号化データから複数のマクロブロックごとの動きベクトル関連情報を取得して、参照範囲を特定する。
【００３７】
つまり、算術復号化処理に伴い必然的に発生する遅延期間を利用して、効率よく、参照範囲の特定等の処理が行われる。そのため、これら処理のために復号化処理全体を遅延させることがない。
【００３８】
また、前記符号化ストリームは、システム符号化を伴う符号化により得られたものであり、前記画像復号化装置はさらに、前記符号化ストリームをシステム復号化することでシステム復号化データを生成するシステム復号化部と、前記システム復号化部により生成されたシステム復号化データを記憶する復号化データメモリと、前記復号化データメモリから前記システム復号化データを読み出して可変長復号化する可変長復号化部とを備え、前記参照範囲特定部は、前記システム復号化部により生成されたシステム復号化データから前記複数のブロックごとの動きベクトル関連情報を取得し、前記動き補償部は、前記可変長復号化部による復号化により得られる動きベクトルと、前記参照画素バッファに記憶されている前記参照画素データとを用いて前記補間画素データを生成し、前記画素値復号化部は、前記可変長復号化部による復号化により得られる残差画素データと、前記動き補償部により生成される補間画素データとを用いて前記復号化済みの画素データを生成するとしてもよい。
【００３９】
この構成により、本発明の画像復号化装置を、参照画素データのメモリからの読み出しを効率よく行いつつ、システム符号化されたデータを効率よく復号化する装置として実現できる。
【００４０】
具体的には、システム復号化することにより得られたシステム復号化データは、一旦復号化データメモリに記憶され、その後マクロブロック単位の画像復号化処理に同期して読み出されて処理される。
【００４１】
ここで、当該画像復号化装置では、復号化データメモリへの記憶と同時に、システム復号化データから複数のマクロブロックごとの動きベクトル関連情報を取得して、参照範囲を特定する。
【００４２】
つまり、システム復号化処理に伴い必然的に発生する遅延期間を利用して、効率よく、参照範囲の特定等の処理が行われる。そのため、これら処理のために復号化処理全体を遅延させることがない。
【発明の効果】
【００４３】
本発明によれば、復号化における動き補償に使用される参照画素データは、当該動き補償の前に、復号化画素メモリから読み出され、参照画素バッファに記憶される。
【００４４】
また、この復号化画素メモリからの参照画素データの読み出しの際、参照ピクチャの一部の連続する画素データに含まれて読み出される。
【００４５】
そのため、例えば外部ＤＲＡＭにより復号化画素メモリを実現した場合であっても、当該ＤＲＡＭからのデータ読み出しは効率よく行われ、また、参照画素バッファの必要容量は抑えられる。
【００４６】
従って、本発明は、外部メモリアクセス量を低減して、回路コストおよび消費電力の小さい画像復号化装置および画像復号化方法を提供することができる。
【発明を実施するための最良の形態】
【００４７】
以下に、本発明の実施の形態について、図面を参照して説明する。
【００４８】
（実施の形態１）
図１は、本発明の実施の形態１に係る画像復号化装置１００の主要な構成を示すブロック図である。
【００４９】
図１に示すように、本発明の実施の形態１に係る画像復号化装置１００は、復号化部１２０、入力部１０１、出力部１０７、第二メモリ１０８、および第一メモリ１０９を備える。
【００５０】
また、復号化部１２０は、算術符号復号化部１０２、２値データ復号化部１０３、画素値復号化部１０４、動きベクトル検出部１０５、動き補償部１０６、参照範囲特定部１１０、参照画素読み出し制御部１１１、および参照画素バッファ１１２を有する。
【００５１】
なお、復号化部１２０を、例えば集積回路により実現した場合、第一メモリ１０９および第二メモリ１０８のそれぞれは、その集積回路の外部に配置され、例えば「外部メモリ」と呼ばれる。
【００５２】
また、第一メモリ１０９は、本発明の画像復号化装置における復号化データメモリの一例であり、第二メモリ１０８は、本発明の画像復号化装置における復号化画素メモリの一例である。また、２値データ復号化部１０３は、本発明の画像復号化装置における算術復号化データ復号化部の一例である。
【００５３】
以上のように構成された画像復号化装置１００の動作について図２を参照しながら説明する。
【００５４】
図２は、実施の形態１に係る画像復号化装置１００の動作の流れを示すフロー図である。
【００５５】
入力部１０１に入力された符号化ストリームに含まれる、算術符号化された画像データは、まず、算術符号復号化部１０２で算術符号を復号化されて算術復号化データに変換される（Ｓ１０）。
【００５６】
この復号化により得られた算術復号化データは、第一メモリ１０９に記憶される（Ｓ１１）。
【００５７】
ここで、Ｈ．２６４符号化により得られたデータを復号化する場合、上記の算術復号化データは２値データとも呼ばれる。通常算術符号の復号化処理はその処理時間に大きなムラが発生するため、マクロブロック単位で処理する画素値の復号化処理と同期して処理することができない。
【００５８】
つまり、算術符号復号化部１０２の処理と、２値データ復号化部１０３以降の処理とを同期して行わせることができない。
【００５９】
このため、十分なマクロブロック数分の算術復号化データが、一旦メモリ（本実施の形態では第一メモリ１０９）に記憶される。さらに、その後のマクロブロック単位の復号化処理に同期して当該メモリから算術復号化データが読み出されて処理される。
【００６０】
次に、算術復号化データは、第一メモリ１０９に記憶されるのと平行して、参照範囲特定部１１０に入力される。参照範囲特定部１１０では、複数のマクロブロックについての動きベクトルおよび動きベクトルに関連する情報を含む動き関連情報が検出される。
【００６１】
なお、動きベクトルに関連する情報とは、例えば、動きベクトルの符号化を必要としないスキップやダイレクト・モードが適用されるマクロブロックを特定する情報などである。またダイレクト・モードが適用されるかどうかは、現在算術復号化しているピクチャのマクロブロックが参照するピクチャの動きベクトルに関する情報が必要であるため、これらの情報がメモリ（第一メモリまたは第二メモリまたはその他のメモリ）に待避されている場合には、前記メモリから該当する情報を読み出して利用する。
【００６２】
参照範囲特定部１１０はさらに、動き関連情報を用いて、当該ピクチャについての動き補償に使用される参照画素を含む範囲であって、動き補償の対象の１つのマクロブロックを基準とする、参照ピクチャ内の参照画素の存在範囲である参照範囲を特定する（Ｓ１２）。
【００６３】
参照画素読み出し制御部１１１は、第二メモリ１０８から、参照範囲特定部１１０により特定された参照範囲に基づき、その参照範囲を含む領域の画素データであって当該参照ピクチャ一部の連続する画素データ（参照画素領域のデータ）を参照画素バッファ１１２にコピーする（Ｓ１３）。
【００６４】
つまり、参照画素読み出し制御部１１１は、第二メモリ１０８に記憶されている既に復号化された画素データから動き補償に必要となる可能のある画素を特定して、これら画素を含む、参照ピクチャの一部の画素データを第二メモリ１０８から参照画素バッファ１１２にコピーする。
【００６５】
参照画素読み出し制御部１１１が、第二メモリ１０８から参照画素バッファ１１２にコピーする参照画素領域の例を図３および図４を用いて説明する。
【００６６】
図３は、参照範囲特定部１１０により特定される参照範囲と、参照画素バッファ１１２に取り込まれる参照画素領域の関係の一例を示す模式図である。
【００６７】
参照画素読み出し制御部１１１は、図３に示すように、例えば、参照範囲特定部１１０により特定された参照範囲を含む、参照ピクチャ内の一部の連続する画素データを、参照画素領域として第二メモリ１０８から参照画素バッファ１１２にコピーする。
【００６８】
ここで、動き補償に用いられる動きベクトルが指し示す参照画素の位置は、上述のように、マクロブロック毎に異なる方向である可能性があり、かつ、その大きさも大きく変動する可能性がある。
【００６９】
そこで参照範囲特定部１１０は、具体的には、複数のマクロブロックそれぞれについて、動きベクトルが指し示す相対的な参照画素位置を特定する。さらに、これら特定された位置の参照画素を網羅する範囲を、動き補償の対象のマクロブロックを基準とする参照範囲として特定する。
【００７０】
図４は、参照範囲特定部１１０により特定された参照範囲の一例を示す模式図である。
【００７１】
図４に示すように、復号化対象のピクチャには、それぞれの動きベクトルの方向および大きさが互いに異なる複数のマクロブロックが含まれることが一般的である。
【００７２】
そのため、参照範囲特定部１１０は、例えば、復号化対象のピクチャに含まれる全てのマクロブロックそれぞれの動きベクトルを抽出する。これにより、複数のマクロブロックのそれぞれについての参照画素位置が特定される。
【００７３】
参照範囲特定部１１０はさらに、これら複数の参照画素位置を網羅する範囲を、動き補償の対象のマクロブロックを基準とする参照範囲として特定する。
【００７４】
つまり、複数のマクロブロックを同一位置に置いたとした場合に、これらマクロブロックについての動きベクトルが指し示す参照画素位置を網羅する範囲が、参照範囲として特定される。
【００７５】
このようにして特定された参照範囲は、参照画素読み出し制御部１１１に通知される。参照画素読み出し制御部１１１は、この参照範囲を含む領域のデータを、第二メモリ１０８から参照画素バッファ１１２にコピーする。
【００７６】
図３および図４に示す例では、斜線で塗られている小さい矩形がマクロブロックの位置を示している。また、そのマクロブロックを囲む破線の四角が参照範囲（即ちこのマクロブロックが動き補償時に参照する可能性がある参照画素が存在する最大範囲）を示している。
【００７７】
ここで、参照画素バッファ１１２には、上述のように参照範囲を含む参照画素領域のデータが第二メモリ１０８からコピーされる。
【００７８】
本実施の形態においては、参照画素読み出し制御部１１１は、図３に示すように、参照範囲を含み、参照ピクチャを横断的にカバーする領域を参照画素バッファ１１２に書き込む。
【００７９】
このように、参照画素読み出し制御部１１１は、連続する画素データを第二メモリ１０８から読み出す。つまり、参照画素読み出し制御部１１１は、第二メモリ１０８内のランダムな位置からの参照画素データの読み出しを行うことなく、動き補償に必要な参照画素データを含む参照画素領域のデータを読み出す。第二メモリ１０８から読み出された参照画素領域のデータは、参照画素バッファ１１２に格納される。
【００８０】
また、マクロブロック毎の復号化処理が進むに度に、参照画素読み出し制御部１１１は、参照画素バッファ１１２に新たな参照画素データをコピーしていく。
【００８１】
具体的には、あるマクロブロックの復号化処理が終了する前に、少なくとも次のマクロブロックについての参照範囲に含まれる画素データが、参照画素バッファ１１２に格納されているように、参照画素読み出し制御部１１１は、順次、第二メモリ１０８から読み出した画素データを参照画素バッファ１１２に追加する。
【００８２】
また、このとき、第二メモリ１０８からは、隣接するマクロブロックの画素データが順次読み出される。そのため、ランダムな位置からの読み出しに伴うオーバーヘッドは抑制される。
【００８３】
以上のように、実施の形態１の画像復号化装置１００では、参照画素バッファ１１２に事前に参照範囲特定部１１０で特定された参照範囲を常に含む画素データを記憶しておく。
【００８４】
これにより、マクロブロック単位の動き補償処理に必要な参照画素データを、例えば外部ＤＲＡＭとして実現される第二メモリ１０８から、直接読み込む必要がなくなる。
【００８５】
次に、第一メモリ１０９に記憶された算術復号化データ（２値データ）は、２値データ復号化部１０３にマクロブロック単位で読み出されて、２値データに対する復号化が実施される（Ｓ１４）。
【００８６】
この復号化により、当該２値データに対応するマクロブロックの動きベクトルおよび残差画素データ等を含むデータが得られる。
【００８７】
２値データ復号化部１０３により得られたデータから、動きベクトル検出部１０５は、当該マクロブロックに対する動きベクトルを検出する。動き補償部１０６は、検出された動きベクトルに基づき、参照画素バッファ１１２から動き補償に用いる参照画素データを読み出す（Ｓ１５）。
【００８８】
動き補償部１０６は、参照画素バッファ１１２から読み出した参照画素データを用いた動き補償により、補間画素のデータである補間画素データを生成する（Ｓ１６）。
【００８９】
画素値復号化部１０４は、２値データ復号化部１０３から得られるデータに含まれる残差画素データを逆量子化、逆直交変換して差分画素値に変換し、動き補償部１０６で生成される補間画素データと加算して画素値を復号化する（Ｓ１７）。画素値復号化部１０４はさらに、この一連の処理により得られたデータである、復号化済みの画素データを第二メモリ１０８に書き込む（Ｓ１８）。
【００９０】
第二メモリ１０８に記憶された復号化済みの画素データは、ＴＶ等の、画像復号化装置１００に接続された機器に同期して出力部１０７から出力される（Ｓ１９）。
【００９１】
なお、上記一連の処理において特定された参照範囲（Ｓ１２）は、当該復号化の対象のピクチャに含まれるマクロブロックについてのみ共通して用いられる。そのため、次のピクチャを復号化する際には、当該次のピクチャについて、参照範囲の特定（Ｓ１２）を含む一連の処理が実行される。
【００９２】
以上のように、実施の形態１の画像復号化装置１００は、算術復号化と平行して複数のマクロブロックに対する動きベクトルを事前に取得して、動き補償に必要な参照画素の範囲を決定する。さらに決定した範囲を含み、かつ、連続する画素データである参照画素領域データを第二メモリ１０８から参照画素バッファ１１２にコピーしておく。
【００９３】
つまり、マクロブロック単位の動き補償処理を実行する際に、参照画素領域データとして追加すべき画素データを第二メモリ１０８から順次読み出して、参照画素バッファ１１２に記憶させておけばよい。
【００９４】
従って、第二メモリ１０８を外部ＤＲＡＭとして実現した場合であっても、ランダムな位置からのデータの読み出しに伴うオーバーヘッドは抑制され、かつ、消費電力量も抑制される。
【００９５】
ここで、上記処理を実現するためには、マクロブロック単位の画素値の復号化処理に先立って、複数のマクロブロックに対する動きベクトルを取得するために、算術復号化データを一旦第一メモリ１０９に記憶する必要がある。
【００９６】
つまり、従来の画像復号化装置と比較すると、実施の形態１の画像復号化装置１００は、事前の動きベクトル検出のための遅延が発生し、その遅延を吸収するために、従来の構成に加えて第一メモリ１０９が必要なようにも思われる。
【００９７】
しかしながら、算術復号化処理は、上述のように、その処理時間に非常に大きなバラツキがある処理であり、マクロブロック単位の画素値復号化処理と同期した処理ができない。
【００９８】
このため、算術復号化処理を行う従来の画像復号化装置では、大きなバッファを設けて、１〜数画面分程度遅延させてからマクロブロック単位の復号化処理を実施することが一般に行われている。
【００９９】
つまり、従来の画像復号化装置の構成を利用して、実施の形態１の画像復号化装置１００を実現する場合、従来の画像復号化装置が備える当該バッファを、第一メモリ１０９として使用することで、新たなメモリを追加することなく実現することが可能である。
【０１００】
また、参照範囲の特定（図２のＳ１２）および、参照範囲を含むデータの参照画素バッファ１１２へのコピー（図２のＳ１３）は、算術復号化処理に伴う遅延期間に行うことができる。
【０１０１】
つまり、算術復号化処理に伴い必然的に発生する遅延期間を利用して、効率よく、参照範囲の特定等の処理が行われる。そのため、これら処理のために復号化処理全体を遅延させることがない。
【０１０２】
なお、本実施の形態では第一メモリ１０９および第二メモリ１０８は、物理的に２つのメモリである。しかしながら、第一メモリ１０９および第二メモリ１０８が同一のメモリに含まれてもよい。つまり第一メモリ１０９および第二メモリ１０８を物理的に１つのメモリで実現してもよい。
【０１０３】
また、本実施の形態では、参照範囲特定部１１０は、復号化対象のピクチャに含まれる全てのマクロブロックそれぞれの動きベクトルを抽出し、これらから参照範囲を特定するとした。
【０１０４】
これにより、これら全てのマクロブロックそれぞれについての動き補償処理において、必要な参照画素データは、それぞれの動き補償処理の際には、参照画素バッファ１１２に記憶されていることになる。
【０１０５】
しかしながら、参照範囲特定部１１０は、復号化対象のピクチャに含まれる一部のマクロブロックについての動きベクトルのみを考慮して参照範囲を特定してもよい。
【０１０６】
例えば、復号化対象のピクチャに含まれる全てのマクロブロックそれぞれの動きベクトルのうち、極端に大きな１以上の動きベクトルを無視し、他の動きベクトルから参照範囲を特定してもよい。
【０１０７】
また例えば、単に、全ての動きベクトルのうちの所定の数の動きベクトルを無視し、他の動きベクトルから参照範囲を特定してもよい。
【０１０８】
これらの場合、無視された動きベクトルに対応するマクロブロックに対する動き補償の際に、参照画素バッファ１１２に、参照画素データが存在しないことも考えられる。そのため、直接、第二メモリ１０８から参照画素データを読み出す必要が生じることになる。
【０１０９】
しかし、このような処理を実行した場合であっても、第二メモリ１０８からのデータ読み出しにおけるランダムな位置からのデータ読み出し回数は、従来よりも減少する。そのため、従来よりもオーバーヘッドの発生は抑制される。
【０１１０】
また、極端に大きな動きベクトルを無視することで、参照範囲の大きさを抑制することができる。そのため、例えば、参照画素バッファ１１２の記憶容量を、全ての動きベクトルを考慮する場合よりも、小さくすることができる。
【０１１１】
（実施の形態２）
図５は、本発明の実施の形態２に係る画像復号化装置３００の主要な構成を示すブロック図である。
【０１１２】
画像復号化装置３００は、Ｈ．２６４に準拠した伝送システム符号化(以下、「システム符号化」という。）により符号化されたデータを含むトランスポートストリーム（以下、「ＴＳ」という。）を受信し、復号化する装置である。
【０１１３】
図５に示すように、本発明の実施の形態２に係る画像復号化装置３００は、復号化部１３０、入力部１０１、出力部１０７、第二メモリ１０８、および第一メモリ１０９を備える。
【０１１４】
また、復号化部１３０は、ＴＳ分離部３０２、第一可変長復号化部３０３、第二可変長復号化部３０４、画素値復号化部１０４、動きベクトル検出部１０５、動き補償部１０６、参照範囲特定部１１０、参照画素読み出し制御部１１１、および参照画素バッファ１１２を有する。
【０１１５】
なお、ＴＳ分離部３０２は、本発明の画像復号化装置におけるシステム復号化部の一例であり、第二可変長復号化部３０４は、本発明の画像復号化装置における可変長復号化部の一例である。
【０１１６】
図５に示すように、画像復号化装置３００は、図１に示す本発明の実施の形態１に係る画像復号化装置１００が具備する各構成要素（ブロック）の内、算術符号復号化部１０２が、ＴＳ分離部３０２および第一可変長復号化部３０３に置き換えられ、２値データ復号化部１０３が、第二可変長復号化部３０４に置き換えられた構成となっている。
【０１１７】
また、これら以外の各構成要素は、画像復号化装置１００が具備する各構成要素とほぼ同様の処理を行う構成要素である。
【０１１８】
そのため、図１に示す各構成要素とほぼ同様の処理を行う構成要素については同じ符号を付し、ここでは一部の説明を省略する。
【０１１９】
次に、以上のように構成された画像復号化装置３００の動作について説明する。
【０１２０】
入力部１０１に入力されたＴＳにシステム符号化された画像データは、まず、ＴＳ分離部３０２で画像データと音声データとに分離される。
【０１２１】
また、ＴＳ分離部３０２は、この分離により得られた画像データをシステム復号化データに変換し、システム復号化データは第一メモリ１０９に記憶される。
【０１２２】
ここで、通常ＴＳ等のシステム符号データに対するシステム復号化処理はその処理時間に大きなムラが発生するため、マクロブロック単位で処理する画素値の復号化処理と同期して処理することができない。
【０１２３】
このため、十分なマクロブロック数分のシステム復号化データが、一旦メモリ（本実施の形態では第一メモリ１０９）に記憶される。さらに、その後マクロブロック単位の復号化処理に同期して当該メモリからシステム復号化データが読み出されて処理される。
【０１２４】
次に、参照範囲特定部１１０は、ＴＳ分離部３０２により生成されたシステム復号化データから、複数のマクロブロックについての動き関連情報を取得する。
【０１２５】
具体的には、ＴＳ分離部３０２により生成されたシステム復号化データは、第一メモリ１０９に記憶されるのと平行して、第一可変長復号化部３０３で可変長復号化処理がなされ、処理後のデータが参照範囲特定部１１０に入力される。
【０１２６】
参照範囲特定部１１０では、第一可変長復号化部３０３から受け取ったデータから、複数のマクロブロックについての動きベクトルおよび動きベクトルに関連する情報を含む動き関連情報が検出される。
【０１２７】
参照範囲特定部１１０はさらに、動き関連情報を用いて、動き補償の対象のマクロブロックを基準とする参照範囲を特定する。
【０１２８】
なお、この参照範囲の特定処理は、実施の形態１と同様である。例えば、参照範囲特定部１１０は、図４に示すように、複数の動きベクトルが指し示す位置の参照画素を網羅する範囲を、動き補償の対象の１つのマクロブロックを基準とする参照範囲として特定する。
【０１２９】
また、参照画素読み出し制御部１１１は、この参照範囲を含む参照画素領域のデータを、第二メモリ１０８から参照画素バッファ１１２にコピーする。
【０１３０】
次に、第一メモリ１０９に記憶されたシステム復号化データは、第二可変長復号化部３０４にマクロブロック単位で読み出されて、可変長符号の復号化が実施される。
【０１３１】
ここで復号化されたデータに対して、動きベクトル検出部１０５は、このマクロブロックに対する動きベクトルを検出して、参照画素バッファ１１２から動き補償に用いる参照画素を読み出す。
【０１３２】
動き補償部１０６は、参照画素バッファ１１２から読み出した参照画素データを用いた動き補償により、補間画素データを生成する。
【０１３３】
画素値復号化部１０４では、２値データ復号化部１０３から得られるデータに含まれる残差画素データを逆量子化、逆直交変換して差分画素値に変換し、動き補償部１０６で生成される動き補償の補間画素と加算して画素値を復号化し、第二メモリ１０８に書き込む。
【０１３４】
第二メモリ１０８に記憶された復号化済みの画素データは、ＴＶ等の、画像復号化装置１００に接続された機器に同期して出力部１０７から出力される。
【０１３５】
なお、上記一連の処理において特定された参照範囲は、実施の形態１と同じく、当該復号化の対象のピクチャに含まれるマクロブロックについてのみ共通して用いられる。そのため、次のピクチャを復号化する際には、当該次のピクチャについて、参照範囲の特定を含む一連の処理が実行される。
【０１３６】
また、ＴＳ分離部３０２から得られる音声データは、図示しない音声復号化部により復号化され、例えば出力部１０７からＴＶ等の画像復号化装置１００に出力される。
【０１３７】
また、第一可変長復号化部３０３は、参照範囲特定部１１０による動きベクトル等の情報の検出が可能なように可変長復号化処理を行えばよく、第二可変長復号化部３０４と同等の機能を有する必要はない。
【０１３８】
以上のように、実施の形態２の画像復号化装置３００は、ＴＳ復号等のシステム復号化と平行して複数のマクロブロックに対する動きベクトルを事前に取得して、動き補償に必要な参照画素範囲を決定する。さらに決定した範囲を含み、かつ、連続する画素データである参照画素領域データを第二メモリ１０８から参照画素バッファ１１２にコピーしておく。
【０１３９】
従って、第二メモリ１０８を外部ＤＲＡＭとして実現した場合であっても、ランダムな位置からのデータの読み出しに伴うオーバーヘッドは抑制され、かつ、消費電力量も抑制される。
【０１４０】
ここで、上記処理を実現するためには、マクロブロック単位の画素値の復号化処理に先立って、複数のマクロブロックに対する動きベクトルを取得するために、システム復号化データを一旦第一メモリ１０９に記憶する必要がある。
【０１４１】
つまり、従来の画像復号化装置と比較すると、実施の形態２の画像復号化装置３００は、事事前の動きベクトル検出のための遅延が発生し、その遅延を吸収するために、従来の構成に加えて第一メモリ１０９が必要なようにも思われる。
【０１４２】
しかしながら、システム復号化処理はその処理時間に非常に大きなバラツキがある処理であり、マクロブロック単位の画素値復号化処理と同期した処理ができない。
【０１４３】
このため、システム復号化を行う従来の画像復号化装置では、大きなバッファを設けて、１〜数画面分程度遅延させてからマクロブロック単位の復号化処理を実施することが一般に行われている。
【０１４４】
つまり、従来の画像復号化装置の構成を利用して、実施の形態２の画像復号化装置３００を実現する場合、従来の画像復号化装置が備える当該バッファを、第一メモリ１０９として使用することで、新たなメモリを追加することなく実現することが可能である。
【０１４５】
また、参照範囲の特定および、参照範囲を含むデータの参照画素バッファ１１２へのコピーは、システム復号化処理に伴う遅延期間に行うことができる。
【０１４６】
つまり、システム復号化処理に伴い必然的に発生する遅延期間を利用して、参照範囲の特定等の処理が行われる。
【０１４７】
このように、実施の形態２の画像復号化装置３００は、形態１の画像復号化装置１００と同じく、他の処理が行われている期間を利用して、参照範囲の特定等の処理を行うため、これら処理のために復号化処理全体を遅延させることがない。
【０１４８】
なお、実施の形態２においても、第一メモリ１０９および第二メモリ１０８は、物理的に２つのメモリであるとした。しかしながら、第一メモリ１０９および第二メモリ１０８が同一のメモリに含まれてもよい。つまり第一メモリ１０９および第二メモリ１０８を物理的に１つのメモリで実現してもよい。
【０１４９】
また、実施の形態２における参照範囲特定部１１０は、実施の形態１における参照範囲特定部１１０と同じく、復号化対象のピクチャに含まれる一部のマクロブロックについての動きベクトルのみを考慮して参照範囲を特定してもよい。
【０１５０】
（実施の形態１および２についての補足事項）
本発明の実施の形態１および２においては、Ｈ．２６４を例にとって説明した。しかしながら、本発明は、ＭＰＥＧ２等動き補償を用いる全ての画像符号化に対応する復号化処理に適用可能である。
【０１５１】
また、本発明は、本発明の実施の形態１または２における各部などの構成要素を備える画像復号化装置として提供することができるばかりでなく、この画像復号化装置が具備する各構成要素の処理を各ステップとする画像復号化方法、およびその画像復号化方法をコンピュータに実行させる画像復号化プログラムとして提供することも可能である。
【０１５２】
そして、その画像復号化プログラムは、ＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ  Ｄｉｓｃ―Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）などの記録媒体やインターネットなどの通信ネットワークを介して流通させることができる。
【０１５３】
また、実施の形態１の画像復号化装置１００および実施の形態２の画像復号化装置３００のそれぞれの構成の一部または全部を、１つまたは複数の集積回路で実現することもできる。
【０１５４】
図６は、実施の形態１の画像復号化装置１００における集積回路化の一例を示す図である。
【０１５５】
図６に示すＬＳＩ１４０は、画像復号化装置１００が備える複数の機能ブロックを含む集積回路の一例である。
【０１５６】
なお、これら複数の機能ブロックは１つのＬＳＩではなく、複数のＬＳＩに分散して含まれてもよい。
【０１５７】
また、実施の形態２の画像復号化装置３００においても、それらが有する機能ブロックの一部または全部を集積回路化することができる。
【０１５８】
また、集積回路化の手法はＬＳＩに限るものではなく、専用回路または汎用プロセッサで実現してもよい。ＬＳＩ製造後に、プログラムすることが可能なＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）または、ＬＳＩ内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサを利用してもよい。
【０１５９】
さらには、半導体技術の進歩または派生する別技術によりＬＳＩなどに置き換わる集積回路の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。
【０１６０】
また、実施の形態１および２に記載の複数の技術内容をそれぞれ組み合わせてもよい。
【０１６１】
例えば、実施の形態２の画像復号化装置３００が、実施の形態１における算術符号復号化部１０２等を備えてもよい。これにより、ＴＳが算術符号化データを含む場合であっても、適切に復号化処理を行うことができる。
【産業上の利用可能性】
【０１６２】
本発明に係る画像復号化装置および画像復号化方法は、従来よりも、外部メモリアクセス量を低減して、回路コストおよび消費電力を抑制することができる。従って、本発明は、デジタルテレビ、デジタルカメラ、デジタルビデオカメラおよびデジタルビデオレコーダなどに実装される復号化装置および復号化方法として有用である。
【図面の簡単な説明】
【０１６３】
【図１】本発明の実施の形態１に係る画像復号化装置の主要な構成を示すブロック図である。
【図２】実施の形態１に係る画像復号化装置の動作の流れを示すフロー図である。
【図３】実施の形態１における、参照範囲特定部により特定される参照範囲と、参照画素バッファに取り込まれる参照画素領域の関係の一例を示す模式図である。
【図４】実施の形態１における参照範囲特定部により特定された参照範囲の一例を示す模式図である。
【図５】本発明の実施の形態２に係る画像復号化装置の主要な構成を示すブロック図である。
【図６】実施の形態１の画像復号化装置における集積回路化の一例を示す図である。
【図７】従来の画像復号化装置の構成の一例を示すブロック図である。
【符号の説明】
【０１６４】
１００、３００    画像復号化装置
１０１    入力部
１０２    算術符号復号化部
１０３    ２値データ復号化部
１０４    画素値復号化部
１０５    動きベクトル検出部
１０６    動き補償部
１０７    出力部
１０８    第二メモリ
１０９    第一メモリ
１１０    参照範囲特定部
１１１    参照画素読み出し制御部
１１２    参照画素バッファ
１２０、１３０    復号化部
１４０    ＬＳＩ
３０２    ＴＳ分離部
３０３    第一可変長復号化部
３０４    第二可変長復号化部
【図１】
2010212817.tif 000003
【図２】
2010212817.tif 000004
【図３】
2010212817.tif 000005
【図４】
2010212817.tif 000006
【図５】
2010212817.tif 000007
【図６】
2010212817.tif 000008
【図７】
2010212817.tif 000009