(57)【特許請求の範囲】
【請求項１】
ストリームが入力される動画像復号処理部と、外部メモリに格納されるデータを一時記憶するキャッシュメモリと、キャッシュ制御部と、復号対象画像解析部と、前記動画像復号処理部からの要求に応じて要求アドレスを出力するアドレス制御部と、タグメモリを有するタグ比較制御部と、リードコマンド制御部と、キャッシュライン制御部とを備え、
前記復号対象画像解析部は、前記ストリームから前記動画像復号処理部による復号対象画像の特徴量を抽出し、
前記キャッシュライン制御部は、前記特徴量に基づいて、前記リードコマンド制御部に対して前記外部メモリから前記キャッシュメモリへのリードサイズを指定し、
前記タグ比較制御部は、前記要求アドレスと前記タグメモリに保持されるタグデータとを比較してキャッシュヒットかキャッシュミスかの判定を行い、
キャッシュヒットの場合、前記キャッシュ制御部は、前記要求アドレスに対応するデータを前記キャッシュメモリから読み出して前記動画像復号処理部に供給し、
キャッシュミスの場合、前記キャッシュ制御部は、前記リードコマンド制御部によって指定されるリードサイズのデータを、前記外部メモリから読み出して前記キャッシュメモリに書き込み、
前記復号対象画像解析部は、前記復号対象画像における１ピクチャ内の全てのマクロブロックに占めるイントラマクロブロックの割合を前記特徴量として抽出し、
前記キャッシュライン制御部は、
前記イントラマクロブロックの割合が高い程、前記リードサイズを小さくし、
前記イントラマクロブロックの割合が低い程、前記リードサイズを大きくする、
画像処理装置。
【請求項２】
請求項１において、前記動画像復号処理部は、可変長符号処理部と、前記可変長符号処理部の復号結果に対して復号処理を行なう画像信号処理部とを備え、
前記可変長符号処理部と前記画像信号処理部とは、１ピクチャ単位でパイプライン動作し、
前記復号対象画像解析部は、前記可変長符号処理部の復号結果から前記特徴量を抽出し、
前記アドレス制御部は、前記画像信号処理部からの要求に応じて前記要求アドレスを出力する、
画像処理装置。
【請求項３】
ストリームが入力される動画像復号処理部と、外部メモリに格納されるデータを一時記憶するキャッシュメモリと、キャッシュ制御部と、復号対象画像解析部と、前記動画像復号処理部からの要求に応じて要求アドレスを出力するアドレス制御部と、タグメモリを有するタグ比較制御部と、リードコマンド制御部と、キャッシュライン制御部と、前記ストリームに対応する符号化情報が入力される符号化情報処理部とを備え、
前記復号対象画像解析部は、前記符号化情報処理部を介して供給される前記符号化情報から、特徴量を抽出し、
前記キャッシュライン制御部は、前記特徴量に基づいて、前記リードコマンド制御部に対して前記外部メモリから前記キャッシュメモリへのリードサイズを指定し、
前記タグ比較制御部は、前記要求アドレスと前記タグメモリに保持されるタグデータとを比較してキャッシュヒットかキャッシュミスかの判定を行い、
キャッシュヒットの場合、前記キャッシュ制御部は、前記要求アドレスに対応するデータを前記キャッシュメモリから読み出して前記動画像復号処理部に供給し、
キャッシュミスの場合、前記キャッシュ制御部は、前記リードコマンド制御部によって指定されるリードサイズのデータを、前記外部メモリから読み出して前記キャッシュメモリに書き込み、
前記復号対象画像解析部は、復号対象画像における１ピクチャ内の全てのマクロブロックに占めるイントラマクロブロックの割合を前記特徴量として抽出し、
前記キャッシュライン制御部は、
前記イントラマクロブロックの割合が高い程、前記リードサイズを小さくし、
前記イントラマクロブロックの割合が低い程、前記リードサイズを大きくする、
画像処理装置。
【請求項４】
請求項３において、前記画像処理装置は、動画像符号化器をさらに備え、
前記動画像符号化器は、動画像に対する符号化処理を行なって生成されるストリームを前記動画像復号処理部に供給し、前記符号化処理における符号化情報を前記符号化情報処理部に供給する、
画像処理装置。
【請求項５】
動画像復号処理部とキャッシュメモリとキャッシュ構成制御部とを備え、外部メモリを接続可能な半導体装置であって、
前記キャッシュ構成制御部は、復号対象画像解析部とキャッシュ構成変更制御部とキャッシュ制御部とを含み、
前記動画像復号処理部は、前記外部メモリからストリームを読み込み、読み込んだストリームに対して復号処理を行ない、前記復号処理によって生成される復号画像を前記外部メモリに書き込み、
前記復号対象画像解析部は、前記ストリームから前記動画像復号処理部による復号対象画像の特徴量を抽出し、
前記キャッシュ構成変更制御部は、前記特徴量に基づいて、前記キャッシュ制御部に対して前記キャッシュメモリのキャッシュミス時のリードサイズを指定し、
前記復号対象画像解析部は、前記復号対象画像における１ピクチャ内の全てのマクロブロックに占めるイントラマクロブロックの割合を前記特徴量として抽出し、
前記キャッシュ構成変更制御部は、
前記イントラマクロブロックの割合が高い程、前記リードサイズを小さくし、
前記イントラマクロブロックの割合が低い程、前記リードサイズを大きくする、
半導体装置。
【請求項６】
請求項５において、前記動画像復号処理部は、可変長符号処理部と、画像信号処理部とを備え、
前記可変長符号処理部と前記画像信号処理部とは、１ピクチャ単位でパイプライン動作し、
前記復号対象画像解析部は、前記可変長符号処理部の復号結果から前記特徴量を抽出し、
前記画像信号処理部は、前記可変長符号処理部の復号結果に対して復号処理を行なう、
半導体装置。
【請求項７】
動画像復号処理部とキャッシュメモリとキャッシュ構成制御部とを備え、外部メモリを接続可能な半導体装置であって、
前記キャッシュ構成制御部は、復号対象画像解析部とキャッシュ構成変更制御部とキャッシュ制御部とを含み、
前記動画像復号処理部は、前記外部メモリからストリームを読み込み、読み込んだストリームに対して復号処理を行ない、前記復号処理によって生成される復号画像を前記外部メモリに書き込み、
前記半導体装置は、前記ストリームに対応する符号化情報が入力される符号化情報処理部をさらに備え、
前記復号対象画像解析部は、前記符号化情報処理部を介して供給される前記符号化情報から、特徴量を抽出し、
前記キャッシュ構成変更制御部は、前記特徴量に基づいて、前記キャッシュ制御部に対して前記キャッシュメモリのキャッシュミス時のリードサイズを指定し、
前記復号対象画像解析部は、復号対象画像における１ピクチャ内の全てのマクロブロックに占めるイントラマクロブロックの割合を前記特徴量として抽出し、
前記キャッシュ構成変更制御部は、
前記イントラマクロブロックの割合が高い程、前記リードサイズを小さくし、
前記イントラマクロブロックの割合が低い程、前記リードサイズを大きくする、
半導体装置。
【請求項８】
請求項７において、前記半導体装置は、動画像を符号化して前記ストリームと前記符号化情報とを生成する動画像符号化器をさらに備える、
半導体装置。
【請求項９】
ストリームが入力される動画像復号処理部と、外部メモリに格納されるデータを一時記憶するキャッシュメモリとを備え、
前記動画像復号処理部が前記ストリームを復号する対象の画像から特徴量を抽出し、前記特徴量に基づいて前記外部メモリから前記キャッシュメモリへのキャッシュフィルのリードサイズを変更し、
前記動画像復号処理部が前記ストリームを復号する対象の画像における１ピクチャ内の全てのマクロブロックに占めるイントラマクロブロックの割合を前記特徴量として抽出し、
前記イントラマクロブロックの割合が高い程、前記リードサイズを小さくし、
前記イントラマクロブロックの割合が低い程、前記リードサイズを大きくする、
画像処理装置。
【請求項１０】
請求項９において、前記動画像復号処理部は、１ピクチャ単位でパイプライン動作する、可変長符号処理部と画像信号処理部とを備え、
前記画像処理装置は、前記可変長符号処理部の復号結果から前記特徴量を抽出し、
前記画像信号処理部は、前記可変長符号処理部の復号結果に対して復号処理を行なう、
画像処理装置。
【請求項１１】
ストリームが入力される動画像復号処理部と、外部メモリに格納されるデータを一時記憶するキャッシュメモリとを備える画像処理装置であって、
前記画像処理装置には、前記ストリームに対応する符号化情報が供給され、
前記画像処理装置は、
供給された前記符号化情報から、前記動画像復号処理部が前記ストリームを復号する対象の画像における１ピクチャ内の全てのマクロブロックに占めるイントラマクロブロックの割合を特徴量として抽出し、
前記特徴量に基づいて、前記外部メモリから前記キャッシュメモリへのキャッシュフィルのリードサイズを変更し、
前記イントラマクロブロックの割合が高い程、前記リードサイズを小さくし、
前記イントラマクロブロックの割合が低い程、前記リードサイズを大きくする、
画像処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置および半導体装置に関し、特にリファレンス画像を一時的に保持するキャッシュメモリを備える動画像復号処理に好適に利用できるものである。
【背景技術】
【０００２】
動画像を扱うシステムは、４Ｋやスーパーハイビジョンなどの大画面化が進んでいる。これら大量の信号を扱う動画像復号装置は、復号したピクチャ（プログレッシブスキャンの場合のフレーム、インターレーススキャンの場合のフィールドなどの画面を指す）の画像データを保持するために、大容量のメモリを備える。動画像の復号処理における動き予測、動き補償などの処理では、復号対象のピクチャの前または後ろのピクチャの画像データを、リファレンス画像として参照するために、メモリアクセスのために高いバンド幅が必要となるが、それに伴い、消費電力や高性能化するためのコストが大きくなる。そのため、バンド幅を削減する技術が必要とされており、今後さらに高解像度化される動画像の復号処理を行う上で、キャッシュメモリ等を用いたバンド幅を削減する技術が重要である。
【０００３】
特許文献１には、汎用プロセッサ上のソフトウェアで実行されるＭＰＥＧ（Motion Picture Element Group）ビデオ伸長処理に含まれる動き補償処理において、データキャッシュミスを軽減する技術が開示されている。あるマクロブロックの動き補償処理で動きベクトルが指す参照領域の右側に隣接する領域のアドレスをデータキャッシュコントローラに与えてプリロード命令を発行し、この領域のデータを主記憶からデータキャッシュへプリロードする。ここで、マクロブロックとは復号処理の対象である、複数の画素からなる単位領域（例えば１６画素×１６画素の領域）であり、１ピクチャには複数のマクロブロックが行方向と列方向の２次元に配列されている。復号処理は、ピクチャの左上のマクロブロックから順次右のマクロブロックを対象として実行され、さらに順次下の行のマクロブロックを左から右へ順に復号対象として実行される。あるマクロブロックの動き補償処理で動きベクトルが指す参照領域の右側に隣接する領域は、次に復号処理が実行されるマクロブロックの動き補償処理でも動きベクトルが指す参照領域となっている確率が高いため、その領域の画像データをプリロードしておくことにより、データキャッシュミスを軽減することができるとされる。
【０００４】
特許文献２には、画像データを記憶するキャッシュメモリにおいて、キャッシュヒット率を向上させる技術が開示されている。インターレース画像のトップフィールドとボトムフィールドのデータが、各キャッシュライン内で混在しないように構成する。フィールド構造のインターレース画像の場合、トップフィールドとボトムフィールドに対する復号化処理は別々に実行されるため、キャッシュライン内に二つのフィールドデータが混在していると、どちらか片方のフィールドデータだけが必要な場合でも、キャッシュ内には両方のフィールドデータが読み込まれることになり、キャッシュ効率を低下させてしまう。各キャッシュライン内には、トップフィールドとボトムフィールドのいずれか一方だけが記憶されているので、キャッシュ効率は低下しないとされる。また、動画像符号化の標準規格の１つであるＨ．２６４におけるＭＢＡＦＦ（MacroBlock-Adaptive Frame/Field）等、処理単位の画素領域の変更に応じて、キャッシュのウェイ数とそのエントリ数が変更される。画像データへのアクセス粒度が高い場合にはウェイ数を減らして画像の広い範囲のデータをキャッシュ内にとどめ、アクセス粒度が低い場合には、ウェイ数を増加させて画像の狭い範囲のデータを入れ替えることにより、キャッシュメモリを効率的に利用して、キャッシュヒット率の向上を図っている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平１１―２１５５０９号公報
【特許文献２】特開２０１０−１４６２０５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
特許文献１及び２について本発明者が検討した結果、以下のような新たな課題があることがわかった。
【０００７】
特許文献１に開示される技術によれば、順次復号処理の対象とされるマクロブロックが、同じ方向且つ同じ大きさの動きベクトルによる動き補償処理を実行すれば、データキャッシュミスを軽減するという効果は最大化される。しかしながら、発明者が検討した結果、復号対象のストリームの特性によっては、データキャッシュメモリにプリロードしたデータが参照されない場合があることがわかった。ストリームは１ピクチャごとにインターマクロブロックとイントラマクロブロックを含む場合がある。インターマクロブロックは、ストリームに含まれる動きベクトルが指すリファレンス画像を参照する、動き補償を伴う復号処理が行われるマクロブロックである。一方、イントラマクロブロックは、動き補償を伴わず、復号対象のピクチャ内の復号済み画像データを参照して復号処理が行われるマクロブロックである。ストリームを生成する符号化処理では、マクロブロック毎に、動き補償を行ってインター予測を行うか、動き補償を行わずイントラ予測を行うかを、適応的に切替えることにより、符号化効率の向上を図る場合がある。このような場合には、ストリームは１ピクチャごとにインターマクロブロックとイントラマクロブロックを含むこととなる。復号対象のマクロブロックがインターマクロブロックであって、その動きベクトルが参照する参照領域の画像データをデータキャッシュメモリに読み込んだ後に、上記のように必ずその右側に隣接する領域のアドレスをデータキャッシュコントローラに与えてプリロードを行っても、次に復号対象とされるマクロブロックが必ずしもそのプリロードされた画像データを参照するとは限らない。次に復号対象とされるマクロブロックがイントラマクロブロックの場合には、そもそも動き補償が行われないのでそもそも参照領域を必要とせず、データキャッシュメモリはアクセスされないので、プリロードされた画像データは無駄になる可能性が高い。また、次に復号対象とされるマクロブロックがインターマクロブロックであっても、動きベクトルの方向または大きさが前のマクロブロックの動きベクトルと大きく異なる場合には、前のマクロブロックの参照領域とは異なる領域が参照され、プリロードされた画像データが無駄になる可能性が高いことがわかった。
【０００８】
特許文献２に開示される技術を採用しても、インターレース処理時のトップ、ボトムもしくは処理単位の画素領域の変更等、ピクチャ単位の固定的な情報を基にして、キャッシュ構成（ウェイ数とエントリ数）を変更するに過ぎないため、ピクチャごとに変化するストリームの特徴の変動には対応できず、キャッシュ効率の向上にはならない。例えばイントラマクロブロックが多いフレームの場合、キャッシュフィルによってキャッシュメモリに読み込まれたデータが使用されない、再利用性の低下が発生し、キャッシュフィルが無駄なデータリードを多く発生させることとなることがわかった。
【０００９】
以上のように、ストリームの特徴によらず一律にプリロードを実行すると、プリロードしたデータが参照されない場合があり、その分、データキャッシュメモリへキャッシュフィルするためデータリードによりバスの帯域を無駄に使うことになることがわかった。この不要なデータリードにより消費電力の増加を招く。また、特許文献１に示される汎用プロセッサのように、バスが他の機能モジュールと共用される場合には、上記不要なデータリードが、他のモジュールのための帯域を圧迫するため、システム全体としての性能劣化を招く恐れがあることがわかった。また、特許文献２に開示されるように、ピクチャ単位の固定的な情報を基にして、キャッシュ構成（ウェイ数とエントリ数）を変更しても、ピクチャごとに変化するストリームの特徴の変動には対応できず、キャッシュ効率の向上には不十分であることがわかった。
【００１０】
このような課題を解決するための手段を以下に説明するが、その他の課題と新規な特徴は、本明細書の記述及び添付図面から明らかになるであろう。
【課題を解決するための手段】
【００１１】
一実施の形態によれば、下記の通りである。
【００１２】
すなわち、ストリームが入力される動画像復号処理部と、外部メモリに接続されるキャッシュメモリとを備える画像処理装置において、動画像復号処理部が入力されたストリームから復号する対象の画像の特徴量を抽出し、その特徴量に基づいて外部メモリからキャッシュメモリへのキャッシュフィルのリードサイズを変更する。
【発明の効果】
【００１３】
前記一実施の形態によって得られる効果を簡単に説明すれば下記のとおりである。
【００１４】
すなわち、動画像復号処理部が外部メモリに格納されるリファレンス画像を、キャッシュメモリを介して読み込むときに、キャッシュメモリへの不必要なキャッシュフィルを低減することができ、キャッシュメモリの使用効率を向上することができる。
【図面の簡単な説明】
【００１５】
【図１】図１は、実施形態１の動画像復号装置の構成例を表すブロック図である。
【図２】図２は、イントラマクロブロックの割合が低い場合のキャッシュメモリの構成例を表す説明図である。
【図３】図３は、イントラマクロブロックの割合が高い場合のキャッシュメモリの構成例を表す説明図である。
【図４】図４は、アドレス制御部におけるアドレス変換処理の説明図である。
【図５】図５は、実施形態２の動画像復号装置の構成例を表すブロック図である。
【図６】図６は、実施形態２のアドレス制御部におけるアドレス変換処理の説明図である。
【図７】図７は、動きベクトル分散算出処理の一例を示す説明図である。
【図８】図８は、実施形態３の動画像復号装置の構成例を表すブロック図である。
【図９】図９は、実施形態４の動画像処理装置の構成例を表すブロック図である。
【図１０】図１０は、実施形態５の動画像復号装置の構成例を表すブロック図である。
【図１１】図１１は、動画像復号装置を搭載するＬＳＩ（Large Scale Integration circuit）の構成例を表すブロック図である。
【発明を実施するための形態】
【００１６】
実施の形態について詳述する。
【００１７】
〔実施形態１〕＜イントラマクロブロックの割合に基づくキャッシュ構成の変更＞
図１は、実施形態１の動画像復号装置の構成例を表すブロック図である。動画像復号装置１は、動画像復号処理部４、キャッシュメモリ２、キャッシュ制御部３、アドレス制御部５、タグ比較制御部６、リードコマンド制御部７、キャッシュライン制御部８、及び、イントラマクロブロック割合算出部１１を含んで構成される。動画像復号処理部４は、ストリーム９１を読込み、これに対して動画像の復号処理を行なう。図示される、機能ブロックの間を接続する矢印は、単数または複数の配線によって実装される信号の流れを示しており、複数の配線を示すバス表記は採用していない。この点は本願における他のブロック図についても同様である。
【００１８】
特に制限されないが、例えば、動画像はＨ．２６４などの標準に則って符号化されており、ストリーム９１は符号化処理によって生成されたバイナリコードと、その符号化処理に用いられた符号化情報９２とを含む。動画像は、時系列のピクチャ（プログレッシブスキャンの場合のフレーム、インターレーススキャンの場合のフィールドなどの画面を指す）で構成される。各ピクチャは行方向と列方向の２次元に配列された複数のマクロブロックで構成される。マクロブロックとは、符号化処理及び復号処理の単位であって、例えば１６画素×１６画素の領域からなる。動画像の符号化処理には、イントラ予測とインター予測が用いられる。イントラ予測とは、符号化対象のマクロブロックが配置されているのと同じピクチャ内の画像データを参照する予測符号化であり、インター予測とは、符号化対象のマクロブロックが配置されているのとは異なるピクチャの画像データを参照する予測符号化である。イントラ予測を用いるかインター予測を用いるかの選択は、マクロブロック毎に行われ、どちらが用いられたかを示す情報９３は、ストリーム９１内の符号化情報９２に含まれる。インター予測を用いた場合には、符号化処理において動きベクトル（ＭＶ：Motion Vector）が求められ、求められた動きベクトルの情報（ＭＶ情報）９４も、合せて符号化情報９２に含まれる。動画像の符号化処理には、さらに量子化処理や可変長符号化処理が含まれてもよく、このとき、符号化情報９２には、量子化パラメータや可変長符号の符号長情報などが含まれる。
【００１９】
動画像復号処理部４は、読み込んだストリーム９１に対して復号処理を行ない、復号された画像を外部メモリ６０（不図示）に出力する。復号対象のマクロブロックが、インター予測を使って符号化されたマクロブロック（インターマクロブロックと呼ぶ）であるときには、動画像復号処理部４は、既に復号され出力された画像の一部を、その復号処理においてリファレンス画像９５として外部メモリ６０からキャッシュメモリ２に読み込んで参照する。参照すべきリファレンス画像９５が格納されているアドレスは、動画像復号処理部４からアドレス制御部５を介して要求アドレスとしてタグ比較制御部６に供給されている。タグ比較制御部６はタグメモリ（不図示）を含み、要求アドレスとタグメモリに保持されているタグデータの比較を行って、キャッシュヒットかキャッシュミスかの判定を行う。判定結果はリードコマンド制御部７とキャッシュ制御部３に供給される。キャッシュヒットの場合、キャッシュ制御部３は、要求アドレスに対応するデータをキャッシュメモリ２から読み出して動画像復号処理部４に供給する。キャッシュミスの場合、キャッシュ制御部３は、リードコマンド制御部７によって指定されるリードサイズのデータを、キャッシュメモリ２にキャッシュフィルする。
【００２０】
イントラマクロブロック割合算出部１１には、動画像復号処理部４から、イントラ／インターマクロブロック情報９３が供給される。イントラ／インターマクロブロック情報９３は、入力されたストリーム９１内の符号化情報９２に含まれ、そのマクロブロックの符号化処理において、イントラ予測とインター予測のうちどちらが用いられたかを示す情報である。イントラマクロブロック割合算出部１１は、イントラマクロブロック割合９７を算出してキャッシュライン制御部８に供給する。キャッシュライン制御部８は、イントラマクロブロック割合９７に基づいて、アドレス制御部５におけるアドレス制御、タグ比較制御部６におけるタグメモリの構成とタグサイズ、エントリサイズの制御、及び、リードコマンド制御部７とキャッシュ制御部３におけるラインサイズとキャッシュフィルの際のリードサイズを制御する。
【００２１】
実施形態１の動画像復号装置１の動作について説明する。動画像復号処理部４は、入力されたストリーム９１に対する復号処理の過程で得られたイントラ／インターマクロブロック情報９３を、イントラマクロブロック割合算出部１１に出力する。イントラマクロブロック割合算出部１１は、イントラ／インターマクロブロック情報９３に基づいて、１ピクチャ内の全てのマクロブロックに占めるイントラマクロブロックの割合９７を算出する。キャッシュライン制御部８は、イントラマクロブロック割合算出部１１から供給される、イントラマクロブロックの割合９７に応じて、インター予測時に参照する、リファレンス画像を格納するキャッシュメモリ２のキャッシュラインサイズとエントリ数を変更する。
【００２２】
図２と図３は、キャッシュメモリの構成例を表す説明図であり、図２はイントラマクロブロックの割合９７が低い場合の例、図３は高い場合の例である。それぞれ、４個のＳＲＡＭ（Static Random Access Memory）であるＳＲＡＭ０〜ＳＲＡＭ４を用いてキャッシュメモリ２を構成する例である。イントラマクロブロックの割合９７が低い場合には、図２に示されるように、ＳＲＡＭ０〜ＳＲＡＭ４を並列にアクセスすることができるように構成して、キャッシュラインサイズを大きく、エントリ数を少なくする。一方、イントラマクロブロックの割合９７が高い場合には、図３に示されるように、ＳＲＡＭ０〜ＳＲＡＭ４を個別にアクセスすることができるように構成して、キャッシュラインサイズを小さく、エントリ数を多くする。
【００２３】
アドレス制御部５は、キャッシュライン制御部８から指定されるキャッシュラインサイズとエントリ数に応じて、動画像復号処理部４から要求されるリファレンス画像のアドレスを変換する。動画像復号処理部４は、例えば、参照するリファレンス画像が格納されるアドレスを指定したリードコマンドを発行する。
【００２４】
図４は、アドレス制御部５におけるアドレス変換処理の説明図である。
【００２５】
アドレス制御部５は、イントラブロックの割合が少ない場合、上段に示されるように、動画像復号処理部４から入力されるリファレンス画像リードコマンドのアドレスを、上位ビットから、フレームアドレス４０１と、エントリアドレス４０２と、ワードアドレス４０３とに分割する。フレームアドレス４０１は、タグとの比較で用いられる。エントリアドレス４０２は、キャッシュメモリ２中のキャッシュラインの選択に用いられる。ワードアドレス４０３は、キャッシュライン中のデータの選択に用いられる。
【００２６】
イントラマクロブロックの割合が多い場合、下段に示されるように、アドレス制御部５でのリードアドレスの分割を、４０４、４０５、４０６のように変更する。イントラマクロブロックの割合が少ない場合に比べ、ワードアドレス４０６を狭く、エントリアドレス４０５を広くする。
【００２７】
タグ比較制御部６は、図１には図示が省略されているがタグメモリを含んで構成され、アドレス制御部５からリファレンス画像リードコマンドによってリードを要求される要求アドレスと、タグメモリに保持されるタグデータとを比較してキャッシュヒットかキャッシュミスかの判定を行う。このとき、タグ比較制御部６は、キャッシュライン制御部８から指示されるエントリ数に応じて、タグメモリの構成を切り替えるとともに、アドレス制御部５から入力されるフレームアドレス４０１、４０３と、エントリアドレス４０２、４０４で選択したタグとの比較を行い、キャッシュにヒットしたかミスしたかを判定する。
【００２８】
タグ比較制御部６でキャッシュミスと判定された場合、リードコマンド制御部７は、キャッシュライン制御部８から指定されるキャッシュラインサイズに従いキャッシュメモリ２にリードするデータサイズを決定し、リードコマンドを生成する。
【００２９】
キャッシュ制御部３は、キャッシュライン制御部８から指定されるエントリ数に応じてキャッシュの構成を図２、図３のように制御し、タグ比較制御部６から出力されたエントリアドレスとワードアドレスが示すデータをキャッシュメモリから読み出し、動画像復号処理部４に転送する。
【００３０】
キャッシュミスの場合、リードコマンド制御部７で生成されたリードコマンドを外部メモリに発行し、リファレンス画像９５のリード処理を行う。
【００３１】
以上のように、イントラマクロブロックの割合９７が高い場合は、キャッシュラインサイズを小さくすることにより、キャッシュミス時にリードする参照されない不要なリファレンス画像のデータ転送量を少なくでき、消費電力を削減し、システム性能を向上することができる。一方、イントラマクロブロックの割合９７が少ない場合は、キャッシュラインサイズを大きくすることにより、将来参照される確率が高く、再利用率の高いリファレンス画像９５を予めキャッシュ２にプリロードすることができ、キャッシュメモリの使用効率を向上することができる。
【００３２】
イントラ予測を行うマクロブロックが占める割合が高いピクチャでは、動画像復号処理部がリファレンス画像にアクセスする頻度が低いため、キャッシュメモリのラインサイズを小さくすることにより、後続のマクロブロックを対象とする復号処理でキャッシュミスとなる可能性が高い、不必要なキャッシュフィルを抑制することができる。また、このとき、キャッシュメモリは、多くのエントリをキャッシュすることができるように構成されるので、ピクチャ全体でのヒット率は向上する。一方、イントラ予測を行うマクロブロックが占める割合が低いピクチャでは、動画像復号処理部がリファレンス画像にアクセスする頻度が高いため、キャッシュメモリのラインサイズを大きくすることにより、後続のマクロブロックを対象とする復号処理でキャッシュメモリのヒット率を向上することができる。
【００３３】
ここで、本実施形態１では、イントラマクロブロック割合９７をピクチャごとに算出し、それに伴ってピクチャごとにキャッシュメモリ２とタグメモリを含むタグ比較制御部６の構成を変更することによって、キャッシュの構成を変更する例を示したが、制御の単位はピクチャ単位に限られない。例えば、複数のピクチャに渡ってイントラマクロブロックの割合を抽出し、その大きさが著しく変化する場合に、キャッシュの構成を変更するように構成することができる。これにより、キャッシュの構成が変更される頻度が低減され、センシティブな反応を抑えることができる。一方、１ピクチャを複数の領域に分割して、その領域毎にイントラマクロブロックの割合を抽出し、その領域毎にキャッシュの構成を変更するように構成することができる。これにより、キャッシュの構成が復号対象の画像の領域毎の特徴に応じてきめ細かく適応的に変更され、キャッシュメモリの使用効率をより向上することができる。例えば、固定された背景内を物体がランダムに動いているような画像を復号する場合には、背景はピクチャ間の相関が高いために、インター予測が採用され、物体が動く領域にはピクチャ間の相関は低いためにイントラ予測が採用される傾向にあると思われる。このような場合に、領域毎にキャッシュの構成が最適化されるため、イントラ予測が多く採用されると思われる、物体が動く領域では、キャッシュのラインサイズは小さくされ、不必要なキャッシュフィルの発生が抑えられ、一方、インター予測が多く採用されると思われる、背景領域では、キャッシュのラインサイズは大きくされ、ヒット率の向上が期待される。
【００３４】
本実施形態１では図２と図３を引用して、キャッシュメモリ２を４個のＳＲＡＭによって構成する例を示したが、これは一例に過ぎず、ＳＲＡＭの個数を含めキャッシュメモリ２の構成、及びタグ比較制御部６の構成は、任意である。
【００３５】
〔実施形態２〕＜動きベクトル（ＭＶ）のばらつきに基づくキャッシュ構成の変更＞
図５は、実施形態２の動画像復号装置の構成例を表すブロック図である。動画像復号装置１は、図１に示した実施形態１の動画像復号装置と同様に、動画像復号処理部４、キャッシュメモリ２、キャッシュ制御部３、アドレス制御部５、タグ比較制御部６、リードコマンド制御部７、及び、キャッシュライン制御部８を含む一方、イントラマクロブロック割合算出部１１に代えてＭＶ分散算出部１２を含んで構成される。ＭＶ分散算出部１２の「ＭＶ」は、動きベクトル（Motion Vector）の略であり、符号化に際してインター予測が採用されたマクロブロックに対応する符号化情報の一つ（ＭＶ情報９４）である。
【００３６】
ＭＶ分散算出部１２には、動画像復号処理部４から、ＭＶ情報９４が供給される。ＭＶ情報９４は、入力されたストリーム９１内の符号化情報９２に含まれ、そのマクロブロックの符号化処理においてインター予測が用いられたときにその動きベクトル（ＭＶ）を示す情報である。ＭＶ分散算出部１２は、動きベクトルのばらつき（ＭＶばらつき）９８を算出してキャッシュライン制御部８に供給する。キャッシュライン制御部８は、ＭＶばらつき９８に基づいて、アドレス制御部５におけるアドレス制御、タグ比較制御部６におけるタグメモリの構成とタグサイズ、エントリサイズの制御、及び、リードコマンド制御部７とキャッシュ制御部３におけるラインサイズとキャッシュフィルの際のリードサイズを制御する。ＭＶ分散算出部１２以外の構成と動作は、実施形態１の動画像復号装置と同様であるので、詳細な説明を省略する。
【００３７】
実施形態２の動画像復号装置１の動作について説明する。動画像復号処理部４は、入力されたストリーム９１に対する復号処理の過程で得られたＭＶ情報９４を、ＭＶ分散算出部１２に出力する。ＭＶ分散算出部１２は、入力されたＭＶ情報９４に基づいて、１ピクチャ内のＭＶばらつき９８を算出する。キャッシュライン制御部８は、ＭＶ分散算出部１２から供給される、ＭＶばらつき９８に応じて、画面間予測時に参照する、リファレンス画像を格納するキャッシュのキャッシュラインサイズとエントリ数を変更する。キャッシュメモリ２は、図２及び図３を引用して説明した実施形態１のキャッシュメモリ２と同様に構成され、動作することができる。
【００３８】
図６は、実施形態２のアドレス制御部におけるアドレス変換処理の説明図である。
【００３９】
アドレス制御部５は、ＭＶのばらつきが小さい場合、上段に示されるように、動画像復号処理部４から入力されるリファレンス画像リードコマンドのアドレスを、上位ビットから、フレームアドレス６０１と、エントリアドレス６０２と、ワードアドレス６０３とに分割する。フレームアドレス６０１は、タグとの比較で用いられる。エントリアドレス６０２は、キャッシュメモリ２中のキャッシュラインの選択に用いられる。ワードアドレス６０３は、キャッシュライン中のデータの選択に用いられる。
【００４０】
ＭＶのばらつきが大きい場合、下段に示されるように、アドレス制御部５でのリードアドレスの分割を、６０４、６０５、６０６のように変更する。イントラマクロブロックの割合が少ない場合に比べ、ワードアドレス６０６を狭く、エントリアドレス６０５を広くする。
【００４１】
タグ比較制御部６、リードコマンド制御部７、及び、キャッシュ制御部３は、キャッシュライン制御部８から指示されるキャッシュラインサイズとエントリ数に応じて、実施形態１と同様に動作する。
【００４２】
ＭＶのばらつき９８が大きい場合は、キャッシュラインサイズを小さくすることにより、キャッシュミス時にリードする参照されない不要なリファレンス画像９５のデータ転送量を少なくでき、消費電力を削減し、システム性能を向上することができる。一方、ＭＶのばらつき９８が小さい場合は、キャッシュラインサイズを大きくすることにより、将来参照される確率が高く、再利用率の高いリファレンス画像９５を予めキャッシュメモリ２にプリロードすることができるので、キャッシュメモリの使用効率を向上することができる。
【００４３】
このような効果が得られる原理について補足する。
【００４４】
極端な状態ではあるが、ピクチャ内の全てのマクロブロックが、同じ方向且つ同じ大きさの動きベクトルを用いて動き予測を行う場合を仮定すると、あるマクロブロックの復号でのリファレンス画像のリード時にキャッシュミスが発生したときには、当該リファレンス画像に隣接するリファレンス画像も合わせてキャッシュフィルしておくのが効率的である。後続のマクロブロックでも同じ方向且つ同じ大きさの動きベクトルを用いて動き予測が行われるので、アクセスされるリファレンス画像も、先の復号処理でアクセスされたリファレンス画像に後続するから、前記キャッシュフィルによって予めキャッシュメモリ内に読み込まれ、キャッシュヒットするからである。このように動きベクトルが同じ方向且つ同じ大きさではなくても、そのばらつきが小さければ、後続のマクロブロックの復号処理でアクセスされるリファレンス画像は、その時点で実行されている復号処理でアクセスされるリファレンス画像の近傍に存在することになるので、キャッシュフィルのリードサイズを大きくすることによってヒット率が向上する可能性が高い。逆にそのばらつきが大きければ、後続のマクロブロックの復号処理でアクセスされるリファレンス画像は、その時点で実行されている復号処理でアクセスされるリファレンス画像の近傍に存在する確率は低いので、キャッシュフィルのリードサイズを大きくするとキャッシュミスする確率が高く、不必要なキャッシュフィルとなる。そのため、リードサイズを小さくして、不必要なキャッシュフィルを抑制する。
【００４５】
ここで、本実施形態２では、ＭＶのばらつき９８をピクチャごとに算出し、それに伴ってピクチャごとにキャッシュメモリ２とタグメモリを含むタグ比較制御部６の構成を変更することによって、キャッシュの構成を変更する例を示したが、制御の単位はピクチャ単位に限られない。例えば、複数のピクチャに渡ってＭＶのばらつきを抽出し、その大きさが著しく変化する場合に、キャッシュの構成を変更するように構成することができる。これにより、キャッシュの構成が変更される頻度が低減される。一方、１ピクチャを複数の領域に分割して、その領域毎にＭＶのばらつきを抽出し、その領域毎にキャッシュの構成を変更するように構成することができる。これにより、キャッシュの構成が復号対象の画像の特徴に応じてきめ細かく適応的に変更され、キャッシュメモリの使用効率をより向上することができる。例えば、固定された背景をカメラがパン（カメラを横に振る）し、その中で物体がランダムに動いているような画像を復号する場合には、パンされている背景でのＭＶは方向と大きさが概ね等しいために、ＭＶのばらつきはほとんど生じないのに対して、物体が動く領域ではＭＶのばらつきが大きい。このような場合に、領域毎にキャッシュの構成が最適化されると、ＭＶのばらつきが大きい、物体が動く領域では、キャッシュのラインサイズは小さくされることにより、不必要なキャッシュフィルの発生が抑えられ、一方、ＭＶのばらつきが小さい背景領域では、キャッシュのラインサイズは大きくされることにより、ヒット率の向上が期待される。
【００４６】
さらに、本実施形態２と上述の実施形態１を組合せた実施の形態も好適である。即ち、１ピクチャごと、または、複数のピクチャごと、あるいは、１ピクチャ内の領域毎に、イントラマクロブロックの割合を算出し、その割合が低い場合、即ちインターマクロブロックの割合が高い場合に、さらにＭＶのばらつきを参照して、キャッシュの構成を制御することができる。これにより、よりきめ細かく復号画像の特徴に適するキャッシュの構成を採ることができ、キャッシュメモリの使用効率をさらに向上することができる。
【００４７】
図７は、動きベクトル分散算出処理の一例を示す説明図である。本実施形態２のＭＶ分散算出部１２におけるＭＶばらつき９８を算出するためのアルゴリズムは、種々採用可能であるが、ここではその一例について説明する。
【００４８】
ＭＶは方向と大きさを持つ２次元のベクトルであり、図７にはＭＶが指し示す領域が示される。ＭＶ分散算出部１２では、ＭＶが指し示すリファレンス画像内の領域を、９０１から９０８の８領域に分ける。９０３、９０７、９０６及び９０２は、所定値以下の大きさのＭＶによって示される、それぞれ第１象限、第２象限、第３象限及び第４象限の領域であり、９０４、９０８、９０５及び９０１は、上記所定値より大きい大きさのＭＶによって示される、それぞれ第１象限、第２象限、第３象限及び第４象限の領域である。領域ごとにその領域を指し示すＭＶの数をカウントし、そのカウント値と、ピクチャ内の総ＭＶ数からばらつきを導出する。例えば、総ＭＶ数の１／４を閾値として、８領域すべてのＭＶ数がその値を超えない場合に、ＭＶのばらつきが大きいと判定する。
【００４９】
これにより、動きベクトルのばらつきを、乗算などの複雑な演算を用いることなく、容易に算出することができる。
【００５０】
〔実施形態３〕＜可変長符号化処理の結果から現ピクチャの特徴量を抽出＞
図８は、実施形態３の動画像復号装置の構成例を表すブロック図である。動画像復号装置１は、動画像復号処理部４、キャッシュメモリ２、復号情報処理部３０、及び、キャッシュ構成制御部２０を含んで構成される。キャッシュ構成制御部２０は、実施形態１のイントラマクロブロック割合算出部１１、または、実施形態２のＭＶばらつき算出部１２、或いは、他の復号画像解析手段を含んで、さらに、キャッシュライン制御部８、アドレス制御部５、タグ比較制御部６、リードコマンド制御部７、及び、キャッシュ制御部３により構成される。動画像復号処理部４は、可変長符号の復号処理を行う可変長符号処理部４１と、可変長符号の復号結果から、画像信号の復号処理を行う画像信号処理部４２とを含んで構成される。復号情報処理部３０は、可変長符号処理部４１による可変長符号の復号処理結果から、イントラマクロブロックの情報９３、もしくはＭＶ情報９４等の符号化情報９２を抽出し、キャッシュ構成制御部２０に出力する。
【００５１】
実施形態３の動画像復号装置１の動作について説明する。可変長符号処理部４１は、入力されるストリーム９１に対して、１ピクチャ単位で可変長符号の復号処理を実行する。画像信号処理部４２は、可変長符号処理部４１から出力された可変長符号復号データに対して信号処理を行い画像に復号する。この復号処理は、可変長符号処理部４１に対して１ピクチャ遅れて処理される。即ち、可変長符号処理部４１と画像信号処理部４２は、１ピクチャをステップとするパイプラインで構成されている。
【００５２】
一方、復号情報処理部３０は、可変長符号処理部４１が処理しているピクチャと同じピクチャのイントラマクロブロック情報９３もしくはＭＶ情報９４等の符号化情報９２を、キャッシュ構成制御部２０に出力する。このため、キャッシュ構成制御部２０は、画像信号処理部４２が、次に処理するピクチャの情報を受け取ることができることになる。これにより、画像信号処理部４２が、次のピクチャを処理する時点では、同じピクチャのイントラマクロブロック情報９３もしくはＭＶ情報９４等の符号化情報９２を使って、キャッシュ構成制御部２０がキャッシュの構成を適切に変更することができる。このようなパイプライン構成によって、画像信号処理の処理対象のピクチャと、その時点でのキャッシュの構成を指定するために使用したイントラマクロブロック情報９３やＭＶ情報９４などの符号化情報９２を与えたピクチャとを、同じピクチャに揃えることができるため、キャッシュの構成がそのピクチャにより適切に適合される。
【００５３】
これにより、画像信号処理部が処理を行なっているピクチャそのもののから抽出された特徴量に基づいて、ラインサイズとエントリサイズなどのキャッシュメモリの構成が動的制御されるので、キャッシュメモリの使用効率をより向上することができる。可変長符号処理部と画像信号処理部とに分けずに一体で復号処理を行う場合には、１ピクチャの復号処理を完了したときに、そのピクチャの特徴量が抽出されるので、抽出された特徴量に基づいてキャッシュメモリの構成が変更されるのは、最も早い場合でも次のピクチャの復号処理が実行される時点となる。これに対して、可変長符号処理部と画像信号処理部とを１ピクチャ単位のパイプライン構成とし、可変長符号処理の結果から特徴量を抽出すれば、次のパイプラインステージで実行される画像信号処理では、その時点での復号対象のピクチャ自体の特徴量に基づいて、キャッシュメモリの構成を指定することができるため、より適切な制御が可能となる。
【００５４】
〔実施形態４〕＜ストリームと並行に入力される符号化情報から現ピクチャの特徴量を抽出＞
図９は、実施形態４の動画像処理装置の構成例を表すブロック図である。動画像復号装置１は、動画像復号処理部４、キャッシュメモリ２、符号化情報処理部３１、及び、キャッシュ構成制御部２０を含んで構成される。キャッシュ構成制御部２０は、実施形態１のイントラマクロブロック割合算出部１１、または、実施形態２のＭＶばらつき算出部１２、或いは、他の復号画像解析手段を含み、さらに、キャッシュライン制御部８、アドレス制御部５、タグ比較制御部６、リードコマンド制御部７、及び、キャッシュ制御部３により構成される。動画像復号装置１には、例えば外付けされ、或いは内蔵された動画像符号化器７０から、ストリーム９１に加え、それに対応する符号化情報９２が並列に入力される。ここで、符号化情報９２とは、動画像符号化器７０が原画像に対して符号化処理を行なった際の情報であり、実施形態１において説明したように、イントラ／インターマクロブロック情報９３、ＭＶ情報９４、さらには、量子化パラメータや可変長符号の符号長情報などが含まれる。通常、符号化情報９２は、ストリーム９１に含まれるが、本実施形態では、これとは並列に、動画像復号装置１内の符号化情報処理部３１に供給される。即ち、ストリーム９１が動画像復号処理部４に入力され、対応する符号化情報９２が符号化情報処理部３１に並列に入力される。
【００５５】
実施形態４の動画像復号装置１の動作について説明する。
【００５６】
動画像符号化器７０は、動画像復号装置１内の動画像復号処理部４にストリーム９１を供給し、これと並列に、そのストリーム９１の符号化処理によって生成された符号化情報９２を、符号化情報処理部３１に供給する。符号化情報処理部３１は供給された符号化情報９２から、キャッシュ構成制御部２０が必要とする情報、例えばイントラ／インターマクロブロック情報９３或いはＭＶ情報９４を抽出して供給する。キャッシュ構成制御部２０は、例えば実施形態１で説明したのと同様に、イントラマクロブロック割合算出部１１を含んで構成され、供給されるイントラ／インターマクロブロック情報９３を分析して、イントラマクロブロック割合９７を算出し、これに基づいてキャッシュの構成を変更する。または、キャッシュ構成制御部２０は、例えば実施形態２で説明したのと同様に、ＭＶ分散算出部１２を含んで構成され、供給されるＭＶ情報９４を分析して、ＭＶばらつき９８を算出し、これに基づいてキャッシュの構成を変更する。ストリーム９１が供給される動画像復号処理部４の動作は、実施形態１と実施形態２の動画像復号処理部４の動作と同様である。
【００５７】
これにより、動画像復号処理部４が、復号処理の対象としているピクチャと同じピクチャの符号化情報を使って、キャッシュ構成制御部２０がキャッシュの構成を適切に変更することができる。即ち、動画像復号処理部における復号処理と、復号対象画像解析部における特徴量の抽出処理とを独立させることができるので、復号対象のピクチャそのもののから抽出された特徴量に基づいて、キャッシュメモリの構成が動的制御されるので、キャッシュメモリの使用効率をより向上することができる。
【００５８】
〔実施形態５〕＜その他の実施形態＞
以上、実施形態１〜４を示して種々の実施の形態について説明したが、その要旨を逸脱しない範囲において種々変更可能である。
【００５９】
図１０は、実施形態５の動画像復号装置の構成例を表すブロック図である。動画像復号装置１は、ストリーム９１が入力される動画像復号処理部４と、外部メモリ６０に格納されるデータを一時記憶するキャッシュメモリ２とを備え、動画像復号処理部４がストリーム９１を復号する対象の画像から特徴量９６を抽出し、抽出した特徴量９６に基づいて外部メモリ６０からキャッシュメモリ２へのキャッシュフィルのリードサイズを変更する。図１０には、符号化情報９２が入力され特徴量９６を出力する復号対象画像解析部１０と、特徴量９６に基づいてキャッシュメモリ２のリードサイズを変更するキャッシュ構成変更制御部９と、キャッシュ制御部３とを含むキャッシュ構成制御部２０が搭載された動画像復号装置１が示される。動画像復号処理部４がキャッシュ制御部３に対してリファレンス画像を要求すると、キャッシュ制御部３はキャッシュヒットかキャッシュミスかの判定を行い、キャッシュミスが発生したときには、キャッシュ構成変更制御部９によって指定されるリードサイズで、キャッシュメモリ２へのキャッシュフィルを行う。
【００６０】
これにより、動画像復号処理部が外部メモリに格納されるリファレンス画像を、キャッシュメモリを介して読み込むときに、キャッシュメモリへの不必要なキャッシュフィルを低減することができ、キャッシュメモリの使用効率を向上することができる。復号対象の画像から抽出される特徴量に基づいて、キャッシュフィルされるリファレンス画像の量が適正化され、キャッシュミスを低減することができる。
【００６１】
あるマクロブロックの復号でのリファレンス画像のリード時にキャッシュミスが発生したときに、当該リファレンス画像を読み込むキャッシュフィルにおいて、前記特徴量に基づいてキャッシュフィルのサイズが適正化される。特徴量が、次に復号処理の対象となるマクロブロックが参照するリファレンス画像が、当該リファレンス画像と隣接している可能性が高いことを示す場合には、キャッシュフィルのサイズを大きくすることによって、以降のマクロブロックを対象とする復号処理でのキャッシュメモリのヒット率を向上することができる。逆に特徴量が、次に復号処理の対象となるマクロブロックが参照するリファレンス画像が、当該リファレンス画像と隣接している可能性が低いことを示す場合には、キャッシュフィルのサイズを小さくすることによって、後続のマクロブロックを対象とする復号処理でキャッシュミスとなる可能性が高い、不必要なキャッシュフィルを抑制することができる。
【００６２】
実施形態１は、特徴量９６として１ピクチャ内の全てのマクロブロックに占めるイントラマクロブロックの割合９７を採用した実施の形態である。復号対象画像解析部１０の一例としてイントラマクロブロック割合算出部１１を備え、イントラマクロブロック割合算出部１１は、符号化情報９２の一例であるイントラ／インターマクロブロック情報９３から、イントラマクロブロックの割合９７を抽出する。キャッシュ構成変更制御部９は、イントラマクロブロックの割合９７が高い程、キャッシュメモリ２へのリードサイズを小さくし、イントラマクロブロックの割合９７が低い程、リードサイズを大きくする。なお、キャッシュ構成変更制御部９は、図１では、キャッシュライン制御部９と、アドレス制御部５と、タグ比較制御部６と、リードコマンド制御部７とによって構成されている。
【００６３】
イントラ予測を行うマクロブロックが占める割合が高いピクチャでは、動画像復号処理部がリファレンス画像にアクセスする頻度が低いため、キャッシュメモリのラインサイズを小さくすることにより、後続のマクロブロックを対象とする復号処理でキャッシュミスとなる可能性が高い、不必要なキャッシュフィルを抑制することができる。また、このとき、キャッシュメモリは、多くのエントリをキャッシュすることができるように構成されるので、ピクチャ全体でのヒット率は向上する。一方、イントラ予測を行うマクロブロックが占める割合が低いピクチャでは、動画像復号処理部がリファレンス画像にアクセスする頻度が高いため、キャッシュメモリのラインサイズを大きくすることにより、後続のマクロブロックを対象とする復号処理でキャッシュメモリのヒット率を向上することができる。
【００６４】
実施形態２は、特徴量９６として動きベクトルのばらつき（ＭＶばらつき）９８を採用した実施の形態である。復号対象画像解析部１０の一例としてＭＶ分散算出部１２を備え、ＭＶ分散算出部１２は、符号化情報９２の一例であるＭＶ情報９４から、ＭＶばらつき９８を抽出する。キャッシュ構成変更制御部９は、ＭＶばらつき９８が大きい程、キャッシュメモリ２へのリードサイズを小さくし、ＭＶばらつき９８が小さい程、リードサイズを大きくする。なお、キャッシュ構成変更制御部９は、図５では、キャッシュライン制御部９と、アドレス制御部５と、タグ比較制御部６と、リードコマンド制御部７とによって構成されている。
【００６５】
動きベクトルのばらつきが小さいピクチャでは、キャッシュフィルの際のリードサイズを大きくすることにより、後続のマクロブロックを対象とする復号処理でキャッシュメモリのヒット率を向上することができる。一方、動きベクトルのばらつきが大きいピクチャでは、キャッシュフィルの際のリードサイズを小さくすることにより、後続のマクロブロックを対象とする復号処理でキャッシュミスとなる可能性が高い、不必要なキャッシュフィルを抑制することができる。
【００６６】
このとき、ＭＶ分散算出部１２の一構成例は、例えば図７を引用して上述したように、復号対象画像に対応するリファレンス画像を、復号対象のマクロブロックを中心とした方向と距離に基づいて複数の領域に分割し、各領域を示す動きベクトルの数をカウントすることによって頻度分布を計測し、その頻度分布に基づいて特徴量９６としてのＭＶばらつき９８を抽出する。
【００６７】
これにより、動きベクトルのばらつきを、乗算などの複雑な演算を用いることなく、容易に算出することができる。
【００６８】
実施形態３は、動画像復号処理部４に、１ピクチャ単位でパイプライン動作する、可変長符号処理部４１と画像信号処理部４２とを備える例である。復号対象画像解析部１０は、可変長符号処理部４１の復号結果から特徴量９６を抽出し、画像信号処理部４１は可変長符号処理部４２の復号結果に対して復号処理を行なう。
【００６９】
これにより、動画像復号処理部における復号処理と、復号対象画像解析部における特徴量の抽出処理とを独立させることができるので、復号対象のピクチャそのもののから抽出された特徴量に基づいて、キャッシュメモリの構成が動的制御されるので、キャッシュメモリの使用効率をより向上することができる。
【００７０】
このとき、実施形態１と同様に、復号対象画像解析部１０をイントラマクロブロック割合算出部１１とし、特徴量９６としてイントラマクロブロックの割合９７を使用しても良いし、実施形態２と同様に、復号対象画像解析部１０をＭＶ分散算出部１２とし、特徴量９６としてＭＶばらつき９８を使用しても良く、或いは、他の特徴量を使用しても良い。
【００７１】
実施形態４は、符号化情報９２が動画像復号処理部４からではなく、別途備える動画像符号化器７０から、ストリーム９１と並列に供給される例である。復号対象画像解析部１０は、動画像符号化器７０によって供給される符号化情報９２から特徴量９６を抽出する。
【００７２】
これにより、上述の実施形態３の場合と同様に、動画像復号処理部における復号処理と、復号対象画像解析部における特徴量の抽出処理とを独立させることができるので、復号対象のピクチャそのもののから抽出された特徴量に基づいて、キャッシュメモリの構成が動的制御されるので、キャッシュメモリの使用効率をより向上することができる。
【００７３】
このとき、実施形態１と同様に、復号対象画像解析部１０をイントラマクロブロック割合算出部１１とし、特徴量９６としてイントラマクロブロックの割合９７を使用しても良いし、実施形態２と同様に、復号対象画像解析部１０をＭＶ分散算出部１２とし、特徴量９６としてＭＶばらつき９８を使用しても良く、或いは、他の特徴量を使用しても良い。
【００７４】
ここで、特徴量９６は必ずしも１ピクチャ単位で規定されるパラメータである必要はない。例えば、１ピクチャのみから抽出されるパラメータに代えて、複数のピクチャの累積によるパラメータとすることができる。復号処理の対象ピクチャの１ピクチャ前のピクチャの特徴量に基づいて、当該復号処理におけるリファレンス画像の参照におけるキャッシュ構成を変更する代わりに、そのピクチャまで累積した情報を用いてキャッシュの構成を変更する。これにより、ピクチャ単位で極端に傾向が変わる場合に、センシティブな反応を抑えることができる。また、復号対象となっている現ピクチャの特徴量の予測値として好適な値となる。
【００７５】
一方、特徴量９６は、１ピクチャ内の分割された各領域で規定され、それに応じてキャッシュ構成を変更することができるように構成しても良い。
【００７６】
図１１は、動画像復号装置を搭載するＬＳＩの構成例を表すブロック図である。ＬＳＩ５０は、動画像復号装置１、バス５１、メモリインターフェース５２、ＣＰＵ５３、ＤＭＡＣ５４、ＲＯＭ／ＲＡＭ５５、画像インターフェース５６、動画像入力処理部５７、及び端子５８、５９を備える。特に制限されないが、ＬＳＩ５０は、例えば、公知のＣＭＯＳ（Complementary Metal-Oxide-Semiconductor field effect transistor）半導体の製造技術を用いて、シリコンなどの単一半導体基板上に形成される。バス５１は各機能モジュールを互いに接続する。ＣＰＵ５３はCentral Processing Unitの略であり、ＲＯＭ／ＲＡＭ５５から供給されるプログラムを実行することにより、ＬＳＩ５０全体を制御する。ＤＭＡＣ５４はDirect Memory Access Controllerの略であり、ＣＰＵ５３によって予め所定のパラメータを設定されることにより、ＣＰＵ５３によるプログラム実行のバックグラウンドで実行されるデータ転送を行う。ＲＯＭ／ＲＡＭ５５はRead Only Memory/Random Access Memoryの略であり、ＲＯＭにはＣＰＵ５３に供給するプログラムコード、定数パラメータ等が保持され、ＲＡＭはワークメモリとして使用される。画像インターフェース５６は、外部から端子５９を介して入力される、画像データを動画像入力処理部５７に伝送するインターフェースである。ＬＳＩ５０の端子５８には外部メモリ６０が接続可能であり、接続された外部メモリ６０には、メモリインターフェース５２を介してアクセスすることができる。動画像復号装置１は、復号対象画像解析部１０とキャッシュ構成変更制御部９とキャッシュ制御部３とを含むキャッシュ構成制御部２０と、動画像復号処理部４と、キャッシュメモリ２とを備える。動画像復号装置１は、図１０を引用して上述した通り、種々の構成例を採り得る。
【００７７】
ストリーム９１は、例えば端子５９から入力される画像データから、画像インターフェース５６、動画像入力処理部５７によって生成され、メモリインターフェース５２を介して外部メモリ６０に格納されており、動画像復号装置１内の動画像復号処理部４には、改めて外部メモリ６０から読み出されて供給される。ストリーム９１の外部メモリ６０からの読み出しは、例えば、動画像復号処理部４からの要求に応じて、ＤＭＡＣ５４がＣＰＵ５３によるプログラム処理のバックグラウンドで実行する。動画像復号処理部４における復号処理の結果、生成される復号画像は、バス５１、メモリインターフェース５２を介して外部メモリ６０に書き込まれ、後続のピクチャの復号処理においてリファレンス画像９５として参照される。動画像復号処理部４によるキャッシュメモリ２へのリファレンス画像９５の要求、及びキャッシュミス発生時の外部メモリ６０からキャッシュメモリ２への読み込み（キャッシュフィル）は、図１０を引用して上述した通りである。
【００７８】
動画像復号処理部４が外部メモリ６０に格納されるリファレンス画像９５を、キャッシュメモリ２を介して読み込むときに、キャッシュメモリ２への不必要なキャッシュフィルを低減することができ、キャッシュメモリ２の使用効率を向上することができるので、バス５１のトラフィックが軽減される。このため、ＣＰＵ５３によるプログラム実行の性能が、実効的に向上する。
【００７９】
ここで示したＬＳＩ５０の構成は、単なる一例であって、種々変更可能である。例えば、画像インターフェース５６と動画像入力処理部５７に代えて、ストリーム９１をパケットに含む通信インターフェースを備えることができる。バス５１は階層化されていても良く、複数のＣＰＵを備えていてもよい。また、動画像符号化器を同一チップ内に混載しても良い。
【００８０】
以上本発明者によってなされた発明を実施形態に基づいて具体的に説明したが、本発明はそれに限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能であることは言うまでもない。
【００８１】
例えば、各機能ブロックの名称は、その機能ブロックが有する機能を表すように命名されているが、その分割・統合は任意である。
【符号の説明】
【００８２】
１  動画像復号装置
２  キャッシュメモリ
３  キャッシュ制御部
４  動画像復号処理部
５  アドレス制御部
６  タグ比較制御部
７  リードコマンド制御部
８  キャッシュライン制御部
９  キャッシュ構成変更制御部
１０  復号対象画像解析部
１１  イントラマクロブロック割合算出部
１２  動きベクトル（ＭＶ）分散算出部
２０  キャッシュ構成制御部
３０  復号情報処理部
３１  符号化情報処理部
４１  可変長符号処理部
４２  画像信号処理部
５０  ＬＳＩ
５１  バス
５２  メモリインターフェース
５３  ＣＰＵ
５４  ＤＭＡＣ
５５  ＲＯＭ／ＲＡＭ
５６  画像インターフェース
５７  動画像入力処理部
５８、５９  端子
６０  外部メモリ
７０  動画像符号化器
９１  ストリーム
９２  符号化情報
９３  イントラ／インターマクロブロック情報
９４  ＭＶ情報
９５  リファレンス画像
９６  特徴量
９７  イントラマクロブロック割合
９８  ＭＶのばらつき
４０１、４０４、６０１、６０４  フレームアドレス
４０２、４０５、６０２、６０５  エントリアドレス
４０３、４０６、６０３、６０６  ワードアドレス
９０１〜９０８  ＭＶの指し示す領域
【図１】
0006438777.tif 000002
【図２】
0006438777.tif 000003
【図３】
0006438777.tif 000004
【図４】
0006438777.tif 000005
【図５】
0006438777.tif 000006
【図６】
0006438777.tif 000007
【図７】
0006438777.tif 000008
【図８】
0006438777.tif 000009
【図９】
0006438777.tif 000010
【図１０】
0006438777.tif 000011
【図１１】
0006438777.tif 000012