(57)【特許請求の範囲】
【請求項１】
半導体メモリに読み出しアクセスもしくは書き込みアクセスするメモリコントローラであって、
読み出しアクセスおよび書き込みアクセスの少なくともいずれかに必要なサイクル数をアクセスコストとして複数のメモリマップ毎に計算するアクセスコスト計算部と、
前記メモリマップの中からアクセスコストが最も低いメモリマップを選択するメモリマップ選択部と、
前記メモリマップ選択部が選択したメモリマップに基づいて、アクセスアドレスを変換するパラメータ変換部と、
変換されたアクセスアドレスに基づいて前記半導体メモリにアクセスするための制御信号を生成するアクセス制御部と、
を備え、
前記半導体メモリは、１画面を表示するためのフレーム毎に画像データを保持し、
前記アクセスコスト計算部は、処理対象のフレームをアクセスするときのアクセスコストを、前記複数のメモリマップ毎に計算し、
前記メモリマップ選択部は、処理対象のフレームより先に処理が行われるフレームに対して前記アクセスコスト計算部が計算したアクセスコストに基づいて、処理対象のフレームのアクセスに使用する前記メモリマップのいずれかを選択すること
を特徴とするメモリコントローラ。
【請求項２】
半導体メモリに読み出しアクセスもしくは書き込みアクセスするメモリコントローラであって、
読み出しアクセスおよび書き込みアクセスの少なくともいずれかに必要なサイクル数をアクセスコストとして複数のメモリマップ毎に計算するアクセスコスト計算部と、
前記メモリマップの中からアクセスコストが最も低いメモリマップを選択するメモリマップ選択部と、
前記メモリマップ選択部が選択したメモリマップに基づいて、アクセスアドレスを変換するパラメータ変換部と、
変換されたアクセスアドレスに基づいて前記半導体メモリにアクセスするための制御信号を生成するアクセス制御部と、
を備え、
前記半導体メモリは、１画面を表示するためのフレーム毎に画像データを保持し、
前記アクセスコスト計算部は、処理対象のフレームより後に処理が行われる前記半導体メモリへのアクセスに関するアクセスパターン情報を受け、前記アクセスパターン情報に基づいて読み出しアクセスおよび書き込みアクセスの少なくともいずれかに必要なサイクル数をアクセスコストとして前記メモリマップ毎に計算し、
前記メモリマップ選択部は、前記アクセスコスト計算部が計算したアクセスコストに基づいて、対応する処理対象のフレームのアクセスに使用する前記メモリマップのいずれかを選択すること
を特徴とするメモリコントローラ。
【請求項３】
請求項２記載のメモリコントローラにおいて、
縮小画像における動きベクトルに基づいて前記アクセスパターン情報を生成する前処理部を備えていることを特徴とするメモリコントローラ。
【請求項４】
請求項３記載のメモリコントローラにおいて、
前記前処理部は、前記動きベクトルとマクロブロックタイプに基づいて前記アクセスパターン情報を生成することを特徴とするメモリコントローラ。
【請求項５】
請求項１ないし請求項４のいずれか１項記載のメモリコントローラにおいて、
前記アクセスコスト計算部は、前記複数のメモリマップに対して、前記各フレームを複数に分割したブロック毎に前記アクセスコストを計算するとともに、前記フレーム毎に前記アクセスコストを累積し、
前記メモリマップ選択部は、前記アクセスコストの累積値が最も小さいメモリブロックを選択すること
を特徴とするメモリコントローラ。
【請求項６】
請求項１ないし請求項５のいずれか１項記載のメモリコントローラと、
画像データを符号化する符号処理回路と
を備えていることを特徴とする画像処理システム。
【請求項７】
請求項１ないし請求項５のいずれか１項記載のメモリコントローラと、
圧縮符号化された画像データを復号する復号処理回路と
を備えていることを特徴とする画像処理システム。
【請求項８】
半導体メモリに読み出しアクセスもしくは書き込みアクセスするためのメモリアクセスの制御方法であって、
前記半導体メモリに、１画面を表示するためのフレーム毎に画像データを保持し、
処理対象のフレームをアクセスする読み出しアクセスおよび書き込みアクセスの少なくともいずれかに必要なサイクル数をアクセスコストとして複数のメモリマップ毎に計算し、
前記メモリマップの中からアクセスコストが最も低いメモリマップを選択するために、処理対象のフレームより先に処理が行われるフレームに対して計算した前記アクセスコストに基づいて、処理対象のフレームのアクセスに使用する前記メモリマップのいずれかを選択し、
選択したメモリマップに基づいて、アクセスアドレスを変換し、
変換されたアクセスアドレスに基づいて前記半導体メモリにアクセスするための制御信号を生成すること
を特徴とするメモリアクセスの制御方法。
【請求項９】
半導体メモリに読み出しアクセスもしくは書き込みアクセスするためのメモリアクセスの制御方法であって、
前記半導体メモリに、１画面を表示するためのフレーム毎に画像データを保持し、
処理対象のフレームより後に処理が行われる前記半導体メモリへのアクセスに関するアクセスパターン情報を受け、前記アクセスパターン情報に基づいて読み出しアクセスおよび書き込みアクセスの少なくともいずれかに必要なサイクル数をアクセスコストとして複数のメモリマップ毎に計算し、
計算したアクセスコストに基づいて、対応する処理対象のフレームのアクセスに使用する前記メモリマップの中からアクセスコストが最も低いメモリマップを選択し、
選択したメモリマップに基づいて、アクセスアドレスを変換し、
変換されたアクセスアドレスに基づいて前記半導体メモリにアクセスするための制御信号を生成すること
を特徴とするメモリアクセスの制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、メモリコントローラ、画像処理システムおよびメモリアクセスの制御方法に関する。
【背景技術】
【０００２】
動画像データは、情報量が膨大であるためそのまま扱うことは現実的でない。例えば、動画像データは、Ｈ．２６４やＭＰＥＧ−２（Moving Picture Experts Group-2）などの国際標準規格にしたがって圧縮符号化され、ビットストリームとして扱われる。この種の圧縮符号化では、フレームを構成するマクロブロック毎に動きベクトルが検出され、動きベクトルと前のフレームの画像データである参照画像とから予測画像が生成される。そして、予測画像と圧縮処理対象画像との差分である差分画像データが生成され、圧縮符号化される。圧縮符号化は、マクロブロック単位で行われる。圧縮符号化する前の差分画像データは、再構成画像を生成するために、予測画像データが加算される。参照画像や再構成画像は、フレームデータとしてフレームメモリ等の半導体メモリに保持される。
【０００３】
例えば、動きベクトルの検出では、参照画像が半導体メモリから読み出される。再構成画像は、マクロブロック毎に半導体メモリに書き込まれる。このため、符号化処理における半導体メモリのアクセス頻度は高い。復号処理においても同様に、半導体メモリのアクセス頻度は高い。
【０００４】
半導体メモリへのアクセス頻度を減らすために、符号化処理部内にバッファメモリを設け、バッファメモリに保持されていない画素データのみを半導体メモリから読み出す手法が提案されている（例えば、特許文献１−２参照。）。また、動き量の検出を複数階層の画像データを用いて動き量を検出することにより、動き量の検出精度を向上する手法が提案されている（例えば、特許文献３参照。）。半導体記憶装置において、複数の行のメモリセルを同時に選択することで、アクセス効率を向上する手法が提案されている（例えば、特許文献４参照。）さらに、画像データを縮小した縮小画像の動きベクトルを用いて、元の画像の動きベクトルを検出する手法が提案されている（例えば、特許文献５参照。）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００８−２７１２９２号公報
【特許文献２】特開２００６−３４０１３９号公報
【特許文献３】特開平７−２２２１６９号公報
【特許文献４】特開２００１−３１２８８５号公報
【特許文献５】特開２００４−１９３９０６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
フレームメモリとして使用されるＤＲＡＭ等の半導体メモリは、ロウアドレスにより選択される複数のページを有している。各ページは、コラムアドレスにより選択される複数の記憶領域を有している。半導体メモリは、予め割り当てられたメモリマップにしたがってアクセスされる。一般に、半導体メモリのメモリマップは、各フレーム画像を表示するときに使用される、いわゆる水平アクセス時にアクセス効率がよくなるように割り当てられている。しかし、このメモリマップは、符号化処理および復号処理において使用される、いわゆる矩形アクセス時にアクセス効率がよくなるわけではない。
【０００７】
例えば、動きベクトルの検出に使用する矩形形状の参照画像が、１つのページ内に保持されているとき、アクセス効率は高くなる。一方、参照画像が複数のページにまたがって保持されているとき、アクセス効率は低くなる。参照画像が１つのページ内に保持されていても、参照画像の記憶領域がコラムアドレスの境界に沿っていない場合、アクセス効率は低くなる。
【０００８】
本発明の目的は、画像データを読み書きする半導体メモリのアクセス効率を向上することにある。
【課題を解決するための手段】
【０００９】
本発明の一形態における半導体メモリに読み出しアクセスもしくは書き込みアクセスするメモリコントローラは、読み出しアクセスおよび書き込みアクセスの少なくともいずれかに必要なサイクル数をアクセスコストとして複数のメモリマップ毎に計算するアクセスコスト計算部と、メモリマップの中からアクセスコストが最も低いメモリマップを選択するメモリマップ選択部と、メモリマップ選択部が選択したメモリマップに基づいて、アクセスアドレスを変換するパラメータ変換部と、変換されたアクセスアドレスに基づいて半導体メモリにアクセスするための制御信号を生成するアクセス制御部とを有している。
【発明の効果】
【００１０】
アクセスコストの低いメモリマップを用いて半導体メモリにアクセスすることで、半導体メモリのアクセス効率を向上できる。
【図面の簡単な説明】
【００１１】
【図１】一実施形態におけるメモリコントローラの例を示している。
【図２】別の実施形態における画像処理システムの例を示している。
【図３】図２に示したＤＲＡＭの内部構成の例を示している。
【図４】図３に示したＤＲＡＭの水平アクセスの例を示している。
【図５】図３に示したＤＲＡＭの矩形アクセスの例を示している。
【図６】図３に示したＤＲＡＭの矩形アクセスの別の例を示している。
【図７】図３に示したＤＲＡＭの矩形アクセスの別の例を示している。
【図８】図２に示したメモリマップ選択部により選択されるメモリマップの例を示している。
【図９】図２に示したメモリマップ選択部により選択されるメモリマップの別の例を示している。
【図１０】図２に示したメモリマップ選択部により選択されるメモリマップの別の例を示している。
【図１１】図２に示したメモリマップ選択部により選択されるメモリマップの別の例を示している。
【図１２】図２に示した動画像処理部内の符号化処理回路の例を示している。
【図１３】図２に示した動画像処理部内の復号処理回路の例を示している。
【図１４】図２に示した画像処理システムによる動画像の撮影、再生動作の例を示している。
【図１５】図２に示した画像処理システムによる動画像の撮影、再生動作の別の例を示している。
【図１６】図２に示した画像処理システムによる動画像の撮影、再生動作の別の例を示している。
【図１７】図１２に示した符号化処理回路による動きベクトルの検出の例を示している。
【図１８】図１３に示した復号処理回路の動作の例を示している。
【図１９】図２に示した画像処理システムの動作の例を示している。
【図２０】図２に示したメモリマップ保存メモリの状態変化の例を示している。
【図２１】図２に示した画像処理システムの動作タイミングの例を示している。
【図２２】別の実施形態における画像処理システムの例を示している。
【図２３】図２２に示した動画像処理部の動作の例を示している。
【図２４】図２２に示した画像処理システムの動作の例を示している。
【図２５】図２２に示した画像処理システムの動作タイミングの例を示している。
【図２６】画像処理システムの別の例を示している。
【図２７】画像処理システムの別の例を示している。
【発明を実施するための形態】
【００１２】
以下、図面を用いて本発明の実施形態を説明する。但し、本発明の技術的範囲はこれらの実施形態に限定されず、特許請求の範囲に記載された事項とその均等物まで及ぶものである。
【００１３】
図１は、一実施形態におけるメモリコントローラの例を示している。例えば、メモリコントローラは、ＤＲＡＭ等の半導体メモリに読み出しアクセスもしくは書き込みアクセスするために、アクセスコスト計算部、メモリマップ選択部、パラメータ変換部およびアクセス制御部を有している。アクセスコスト計算部は、ＤＲＡＭにアクセスするために必要なアクセス情報を受ける。アクセス情報は、メモリコントローラに供給されるアクセス要求ＡＲＥＱに含まれる。アクセスコスト計算部は、読み出しアクセスおよび書き込みアクセスの少なくともいずれかに必要なサイクル数をアクセスコストとして複数のメモリマップＭＡＰ（この例では、ＭＡＰ１−３）毎に計算する。アクセスコスト計算部は、メモリマップＭＡＰ毎に求めたアクセスコストＡＣＳＴを出力する。
【００１４】
メモリマップ選択部は、メモリマップＭＡＰ１−３の中からアクセスコストが最も低いメモリマップＭＡＰを選択する。パラメータ変換部は、メモリマップ選択部が選択したメモリマップＭＡＰに基づいて、アクセスアドレスを変換し、アクセスパラメータＡＰＲＭの一部として出力する。アクセスアドレスは、メモリコントローラに供給されるアクセス要求ＡＲＥＱに含まれる。例えば、パラメータ変換部は、過去のフレームに対して計算されたアクセスコストに基づいて選択されたメモリマップＭＡＰを使用して、現在のフレームデータをアクセスするためにアクセスアドレスを変換する。あるいは、パラメータ変換部は、将来発生するフレームに対して予め計算されたアクセスコストに基づいて選択されたメモリマップＭＡＰを使用して、対応するフレームデータをアクセスするためにアクセスアドレスを変換する。
【００１５】
アクセス制御部は、変換されたアクセスアドレスに基づいてＤＲＡＭにアクセスするための制御信号ＣＮＴを生成する。制御信号ＣＮＴは、コマンドＣＯＭ、バンクアドレスＢＡ、ロウアドレスＲＡ、コラムアドレスＣＡなどのＤＲＡＭにアクセス動作（リード動作またはライト動作）を実行させるための情報を含む。ＤＲＡＭは、リードアクセスされるとき、リードデータをデータ端子ＤＱから出力する。ＤＲＡＭは、ライトアクセスされるとき、ライトデータをデータ端子ＤＱで受ける。
【００１６】
以上より、ライトデータは、最もアクセス効率が高いメモリマップを用いてＤＲＡＭに書き込むことができる。リードデータも、最もアクセス効率が高いメモリマップを用いてＤＲＡＭから読み出すことができる。このように、アクセスコストの低いメモリマップを用いてＤＲＡＭにアクセスすることで、ＤＲＡＭのアクセス効率を向上できる。
【００１７】
図２は、別の実施形態における画像処理システムＳＹＳの例を示している。上述した実施形態で説明した要素と同一の要素については、同一の符号を付し、これ等については、詳細な説明を省略する。例えば、図２に示した画像処理システムＳＹＳは、デジタルビデオカメラの一部を示している。なお、画像処理システムＳＹＳは、画像データの符号化機能および画像データの復号機能の少なくともいずれかを実現するために、携帯電話、デジタルスチルカメラ、ビデオレコーダ、ビデオプレーヤなどに適用されてもよい。ここで、画像データは、１フレーム（１画面）を表示するためのデータ、または１フレーム内に含まれる複数のマクロブロックのデータを示す。動画像は、複数フレームの画像データを順次に再生することで生成される。
【００１８】
画像処理システムＳＹＳは、例えば、メモリコントローラ１００、動画像処理部２００、カメラモジュール３００、ＤＲＡＭ４００および蓄積部５００を有する。メモリコントローラ１００は、調停部１０、アクセスコスト計算部１２、アクセスコスト保存メモリ１４、メモリマップ選択部１６、メモリマップ保存メモリ１８、パラメータ変換部２０、アクセス制御部２２、入力切替部２４、出力切替部２８および書き込みバッファ２６を有する。
【００１９】
動画像処理部２００は、符号化処理回路２１０および復号処理回路２４０を有する。符号化処理回路２１０は、カメラモジュール３００で撮影されＤＲＡＭ４００に保持されている画像データを、マクロブロック単位でＤＲＡＭ４００のデータ端子ＤＱからリードデータＲＤＤ０として読み出す。符号化処理回路２１０は、Ｈ．２６４やＭＰＥＧ−２（Moving Picture Experts Group-2）などの圧縮符号化規格にしたがって圧縮符号化処理を行い、ビットストリームを生成する。符号化処理回路２１０は、１マクロブロックの圧縮符号化が完了したら、次のマクロブロックの画像データをＤＲＡＭ４００から読み出し、圧縮符号化を行う。以降、符号化処理回路２１０は、フレームに含まれるすべてのマクロブロックに対して圧縮符号化を行う。生成されたビットストリームは、ライトデータＷＲＤ０として入力切替部２４を介してＤＲＡＭ４００に書き込まれる。なお、ビットストリームは、蓄積部５００に書き込まれてもよい。入力切替部２４は、調停部１０が調停信号ＡＲＢＳ０を出力しているときに、ライトデータＷＲＤ０を選択し、書き込みバッファ２６に出力する。入力切替部２４は、調停部１０が調停信号ＡＲＢＳ１を出力しているときに、ライトデータＷＲＤ１を選択し、書き込みバッファ２６に出力する。
【００２０】
動画像処理部２００は、１マクロブロックの圧縮符号化処理毎に、メモリコントローラ１００に複数のアクセス要求ＡＲＥＱ０を出力する。例えば、圧縮符号化対象フレームのマクロブロックの読み出しのためのリードアクセスが行われ、図１２に示す動き補償部２２６、動き検出部２２８が使用する参照画像のリードアクセスが行われる。また、デブロッキングフィルタ部２２２が出力する再構成画像のライトアクセスが行われる。動画像処理部２００は、１フレームの画像データの処理を開始するときに、メモリコントローラ１００にフレーム同期信号ＳＹＳＣを出力する。
【００２１】
カメラモジュール３００は、動画像を撮影する撮像素子を含む。カメラモジュール３００は、撮影した動画像のデータＷＲＤ１をＤＲＡＭ４００に書き込むために入力切替部２４に出力する。また、カメラモジュール３００は、ＤＲＡＭ４００内の画像データＲＤＤ１を出力切替部２８を介して受け、液晶ディスプレイＬＣＤ等の表示デバイスに表示する。蓄積部５００は、ＤＶＤメディアやブルーレイメディアなどの記録ディスクと、ディスクドライブ装置を含む。あるいは、蓄積部５００は、ハードディスクドライブ装置またはフラッシュメモリである。復号処理回路２４０は、ＤＲＡＭ４００あるいは蓄積部５００内のビットストリームを復号し、画像データを生成する。
【００２２】
メモリコントローラ１００は、動画像処理部２００およびカメラモジュール３００からのアクセス要求ＡＲＥＱ０−１に応じてＤＲＡＭ４００にアクセスするためのアクセス制御信号ＣＮＴを生成する。アクセス要求ＡＲＥＱ０は、リードライト種別ＲＷ０、アクセス座標ＸＹ０、アクセスサイズＳＩＺＥ０（横方向サイズＸＳＩＺＥおよび縦方向サイズＹＳＩＺＥ）、アクセスフレーム番号ＦＮＯ０を含む。アクセス要求ＡＲＥＱ１は、リードライト種別ＲＷ１、アクセス座標ＸＹ１、アクセスサイズＳＩＺＥ１（横方向サイズＸＳＩＺＥおよび縦方向サイズＹＳＩＺＥ）、アクセスフレーム番号ＦＮＯ１を含む。
【００２３】
アクセス要求ＡＲＥＱ０を受けた調停部１０は、アクセス要求ＡＲＥＱ０の受け付けを示す調停信号ＡＲＢＳ０を動画像処理部２００に出力する。但し、調停部１０は、カメラモジュール３００からのアクセス要求ＡＲＥＱ１に応答する処理を実施しているとき、調停信号ＡＲＢＳ０の出力を、アクセス要求ＡＲＥＱ１に応答する処理が完了するまで保留する。同様に、アクセス要求ＡＲＥＱ１を受けた調停部１０は、アクセス要求ＡＲＥＱ１の受け付けを示す調停信号ＡＲＢＳ１をカメラモジュール３００に出力する。但し、調停部１０は、動画像処理部２００からのアクセス要求ＡＲＥＱ０に応答する処理を実施しているとき、調停信号ＡＲＢＳ１の出力を、アクセス要求ＡＲＥＱ０に応答する処理が完了するまで保留する。調停部１０は、アクセス要求ＡＲＥＱ０またはＡＲＥＱ１に含まれる情報をアクセスパラメータＡＰＲＭ０としてアクセスコスト計算部１２およびパラメータ変換部２０に出力する。
【００２４】
パラメータ変換部２０は、アクセスパラメータＡＰＲＭ０に含まれるアクセスフレーム番号ＦＮＯ（ＦＮＯ０またはＦＮＯ１）に対応するメモリマップを示すマップ情報ＭＩＮＦをメモリマップ保存メモリ１８から読み出す。パラメータ変換部２０は、アクセスパラメータＡＰＲＭ０に含まれるアクセス座標ＸＹ（ＸＹ０またはＸＹ１）を、読み出したマップ情報ＭＩＮＦに対応するアクセス座標ＸＹ’に変換する。パラメータ変換部２０は、変換したアクセス座標ＸＹ’をアクセスサイズＳＩＺＥ（ＳＩＺＥ０またはＳＩＺＥ１）およびアクセスフレーム番号ＦＮＯとともにアクセスパラメータＡＰＲＭ１としてアクセス制御部２２に出力する。これにより、ＤＲＡＭ４００は、動画像処理部２００およびカメラモジュール３００から出力されるアクセス座標ＸＹではなく、パラメータ変換部２０により変換されたアクセス座標ＸＹ’を用いてアクセスされる。
【００２５】
アクセス制御部２２は、パラメータ変換部２０からのアクセス座標ＸＹ’、リードライト種別ＲＷ（ＲＷ０またはＲＷ１）、アクセスサイズＳＩＺＥ０（またはＳＩＺＥ１）およびアクセスフレーム番号ＦＮＯ０（またはＦＮＯ１）基づいて、アクセス制御信号ＣＮＴをＤＲＡＭ４００に出力する。制御信号ＣＮＴは、コマンドＣＯＭ、バンクアドレスＢＡ、ロウアドレスＲＡ、コラムアドレスＣＡなどのＤＲＡＭ４００にアクセス動作（ライト動作またはリード動作）を実行させるための情報を含む。
【００２６】
アクセスパラメータＡＲＲＭ１に含まれるリードライト種別ＲＷがリード動作を示す場合、ＤＲＡＭ４００内のアクセスフレーム番号ＦＮＯに対応する領域から画像データが読み出される。例えば、画像データは、矩形アクセスによりアクセス座標ＸＹ’とアクセスサイズＳＩＺＥ０（またはＳＩＺＥ１）で指定される矩形領域が読み出され、あるいは、水平アクセスによりフレーム単位で読み出される。読み出された画像データは、リードデータＲＤＤとして出力切替部２８に供給される。出力切替部２８は、アクセス要求ＡＲＥＱ０に対応してリードデータＲＤＤ０を動画像処理部２００に出力し、アクセス要求ＡＲＥＱ１に対応してリードデータＲＤＤ１をカメラモジュール３００に出力する。
【００２７】
一方、アクセスパラメータＡＲＲＭ１に含まれるリードライト種別ＲＷがライト動作を示す場合、書き込みバッファ２６は、入力切替部２４を介して受けるライトデータＷＲＤ（ＷＲＤ０またはＷＲＤ１）を一時保存する。書き込みバッファ２６は、保存している書き込みデータＷＲＤを複数の書き込みアクセス毎に生成される制御信号ＣＮＴに同期して、ライトデータＷＲＤとしてＤＲＡＭ４００のデータ端子ＤＱに出力する。ライトデータＷＲＤは、次に読み出されるまでにＤＲＡＭ４００に書き込まれていればよい。このため、書き込みバッファ２６によりＤＲＡＭ４００への書き込みアクセス頻度を下げることで、アクセス効率が向上する。
【００２８】
一般に、ＤＲＡＭ４００等の画像メモリを使用する画像処理システムでは、フレームメモリとしても動作する画像メモリの転送レートは、画面表示動作に必要な表示装置への書き込みレートよりも速く設定される。これにより、水平アクセスにより画像メモリから読み出された画像データを画面に表示している間に、矩形アクセスにより新しいフレームデータを読み書きできる。したがって、フレームデータの作成とフレームデータの出力とをとぎれることなく行うことができる。このように、実際の画像処理システムでは水平アクセスと矩形アクセスとは混在する。
【００２９】
アクセスコスト計算部１２は、アクセス要求ＡＲＥＱのパラメータに含まれる矩形アクセス領域のアクセス座標ＸＹとアクセスサイズＳＩＺＥを受ける。アクセスコスト計算部１２は、予め設定されている複数のメモリマップＭＡＰｊ（例えば、ｊ＝１、２、３、４；図８から図１１に示すＭＡＰ１−４）をそれぞれ用いて、ＤＲＡＭ４００にアクセスしたときのアクセスコストを計算する。具体的には、アクセスコスト計算部１２は、１フレームを符号化処理、または、復号処理するために必要なデータをＤＲＡＭ４００から読み出すときに必要なアクセスコスト、および書き込むときに必要なアクセスコストの合計値Ｎｊ（ｊ＝１、２、３、４）を、メモリマップＭＡＰ１−４毎に計算する。
【００３０】
特に限定されないが、アクセスコストは、ＤＲＡＭ４００のアクセスに必要なクロックサイクル数である。例えば、アクセスコストは、アクティブコマンドの回数やリード／ライトコマンドの回数に基づいて計算してもよい。アクセスコスト計算部１２は、メモリマップＭＡＰ１−４毎に計算したアクセスコストの合計値Ｎ１−４を、フレーム番号ＦＮＯに対応させてアクセスコスト保存メモリ１４に書き込む。アクセスコスト計算部１２の具体的な動作の例は、図１９から図２１で説明する。
【００３１】
メモリマップ選択部１６は、フレーム番号ＦＮＯ０に対応してアクセスコスト保存メモリ１４に保持されているアクセスコストの合計値Ｎ１−４を読み出す。メモリマップ選択部１６は、合計値Ｎ１−４に基づいて最小のアクセスコストが得られるメモリマップＭＡＰ（ＭＡＰ１−４のいずれか）を示すマップ情報ＭＩＮＦを、次に処理を行うフレームのメモリマップＭＡＰとして、メモリマップ保存メモリ１８に書き込む。
【００３２】
なお、この実施形態では、アクセスコスト計算部１２は、処理対象のフレームのアクセスパラメータＡＰＲＭ０に基づいてアクセスコストを計算する。このため、求められたアクセスコストに基づいて選択されたメモリマップＭＡＰは、処理対象のフレームのアクセスには使用されない。選択されたメモリマップＭＡＰは、将来の処理対象のフレームのアクセスに使用される。換言すれば、アクセスコスト計算部１２は、過去の処理フレームに対してアクセスコストを計算する。そのために、メモリマップ選択部１６は、選択したメモリマップＭＡＰを将来の処理対象のフレーム番号に対応させてメモリマップ保存メモリ１８に書き込む。
【００３３】
図３は、図２に示したＤＲＡＭ４００の内部構成の例を示している。例えば、ＤＲＡＭ４００は、クロックに同期して動作するＳＤＲＡＭであり、半導体基板上に集積回路が形成された大容量且つ高速の半導体メモリである。ＤＲＡＭ４００は、システムＬＳＩ等に搭載されるマクロ（ＩＰ）として設計されてもよく、パッケージに封入された半導体メモリ装置として設計されてもよい。ＤＲＡＭ４００は、複数のバンクＢＫ（図３では４つのバンクＢＫ０−３）を有している。各バンクＢＫ０−３は、複数のブロックＢＬＫを有し、各ブロックＢＬＫは複数のワード線ＷＬとビット線ＢＬとその交差位置に配置されたメモリセルＭＣとを有する。メモリセルＭＣは、ワード線ＷＬにゲートが接続されたＭＯＳトランジスタと、ＭＯＳトランジスタに接続されたキャパシタとを有する。
【００３４】
図３の例では、４つのバンクＢＫ０−３はバンクアドレスＢＡ（ＢＡ０−ＢＡ３）に対応付けられる。ワード線ＷＬはロウアドレスＲＡ（ＲＡ０−ＲＡ７）に対応付けられ、ビット線ＢＬはコラムアドレスＣＡ（ＣＡ０−ＣＡ１２７）に対応付けられる。バンクアドレスＢＡによりバンクＢＫ０−３のいずれかが選択される。ロウアドレスＲＡにより、選択されたバンクＢＫ内のワード線ＷＬのいずれかが選択される。コラムアドレスＣＡにより、選択されたバンクＢＫ内のビット線が選択される。
【００３５】
バンクアドレスＢＡ、ロウアドレスＲＡ、コラムアドレスＣＡにより、１回のリードコマンドまたは１回のライトコマンドにより、４バイトＢＹ０−３のデータがアクセスされる。１バイトは８ビットであるので、１回のアクセスで４バイト、つまり４×８＝３２ビットのデータが、ＤＲＡＭ４００のデータ入出力端子ＤＱに関連付けられて、読み出され、あるいは書き込まれる。すなわち、この例では、ＤＲＡＭ４００のデータ端子ＤＱは３２ビットである。
【００３６】
図２に示した画像処理システムＳＹＳにおける表示画像データは、フレーム毎にＤＲＡＭ４００内に記憶される。表示画像データは、各画素の輝度信号Ｙと色差信号Ｃｂ、Ｃｒや、各画素のＲＧＢ階調信号などのデータで構成され、各信号は例えば８ビット（１バイト）のデータを含む。このように、１画素の情報量が１バイト（８ビット）のとき、一度のアクセスで４画素のデータを入力または出力できる。これにより、ＤＲＡＭ４００に対する帯域幅を大きくすることができる。ここで、帯域幅は、単位時間に読み出し、もしくは書き込みできる画素数を意味する
図３に示すメモリマップでは、バンクアドレスＢＡとロウアドレスＲＡにより特定されるページ領域ＰＡＧＥが行列状に配置される。そして、１つのページ領域ＰＡＧＥは、コラムアドレスＣＡ０−１２７で特定される１２８個のメモリ単位領域を有する。各メモリ単位領域は４バイトＢＹ０−３のデータを記憶する。この４バイトＢＹ０−３のデータが、ＤＲＡＭ４００の３２ビットのデータ入出力端子ＤＱ０−７、ＤＱ８−１５、ＤＱ１６−２３、ＤＱ２４−３１を経由して入力または出力される。各バイトの８ビットデータは画素の信号データに対応する。
【００３７】
図３に示したメモリマップは、複数のバンクＢＫを有するＤＲＡＭ４００などの画像メモリを高速動作させるのに適している。ＤＲＡＭ４００は、バンクアドレスＢＡとロウアドレスＲＡとともに与えられるアクティブコマンドＡＣＴに応答して、選択されたバンクＢＫ内の選択されたワード線ＷＬを駆動する。そして、ＤＲＡＭ４００は、メモリセルＭＣ内のデータをビット線ＢＬ上に読み出し、ビット線ＢＬに対応付けられたセンスアンプを活性化してビット線電位を増幅するアクティブ動作を行う。その後、コラムアドレスＣＡと共に与えられるリードコマンドに応答して、選択されたビット線ＢＬからデータを読み出すリード動作を行う。あるいは、ＤＲＡＭは、アクティブ動作後に、コラムアドレスＣＡとライトデータと共に与えられるライトコマンドに応答して、選択されたビット線ＢＬにライトデータを書き込むライト動作を行う。リード動作またはライト動作の後にプリチャージコマンドによるプリチャージ動作が行われ、再度、アクティブ動作、リード動作またはライト動作が行われる。このように、ＤＲＡＭ４００では、各バンクが独立してアクティブ動作、リード動作、ライト動作を行うことができる。
【００３８】
図３のメモリマップによれば、上下左右に隣接するページ領域ＰＡＧＥには異なるバンクアドレスＢＡ０−３が対応付けられる。すなわち、メモリマップの奇数行にはバンクアドレスＢＡ０−１が交互に配置され、偶数行にはバンクアドレスＢＡ２−３が交互に配置される。さらに、メモリマップのラスタ方向（行方向；図の横方向）に、ロウアドレスＲＡ０−７が２つずつ繰り返しながらインクリメントされる。メモリマップの各行は、４つのロウアドレスＲＡ０−３、ＲＡ４−７で折り返されている。
【００３９】
このようにフレーム画像上のページ領域ＰＡＧＥは、ＤＲＡＭ４００上において、同一バンクＢＫのページ領域ＰＧＡＥがロウ方向とコラム方向のいずれにも隣接しないように割り当てられる。このようなメモリマッピングを採用することで、水平アクセスでは、２つのバンクＢＫで同時にアクティブ動作とリード動作またはライト動作とを実行させながらアクセスすることができ、アクセス効率を高めることができる。ここで、水平アクセスは、ＤＲＡＭ４００等の画像メモリへの代表的なアクセスであり、ページ領域ＰＡＧＥを行方向に移動して選択するアクセスである。また、垂直方向にアクセスする場合も同様にアクセス効率を高めることができる。なお、図３から図７に示すメモリマップは、ＤＲＡＭ４００の動作を分かりやすく説明するための一例であり、実施形態の動作を説明する図８−１１に示すメモリマップとは異なる。
【００４０】
図４は、図３に示したＤＲＡＭ４００の水平アクセスの例を示している。水平アクセスは、映像のフレーム画像の入力時および出力時に多く発生するアクセスであり、画像を左上から右下に向けて水平方向（図４の横方向）にアクセスするラスタスキャンに相当する。水平アクセスでは、水平方向にスキャンされるので、隣接するバンクを同時にアクティブさせながら効率的にメモリアクセスを行うことができる。
【００４１】
例えば、図４に黒い太枠で示したメモリ領域のアクセスは、いずれもコラムアドレスＣＡで選択されるメモリ単位領域（４バイト領域）の境界を越えるアクセスである。前述したとおり、バンクアドレスＢＡとロウアドレスＲＡで特定されるページ領域ＰＡＧＥ内は、コラムアドレスＣＡ０−１２７で選択される複数のメモリ単位領域に区分され、１つのコラムアドレスＣＡにより４バイトＢＹ０−３のデータが同時にアクセスされる。そのため、水平アクセスでは比較的無駄なくアクセスが行われる。
【００４２】
具体的には、黒い太枠で示したメモリ領域をアクセスする場合、まず、メモリコントローラ１００は、ページ領域ＢＡ２／ＲＡ５を指定するアクティブコマンドＡＣＴを発行する。次に、メモリコントローラ１００は、４つのリードコマンドＲＤをコラムアドレスＣＡ０−３とともに発行する。そして、コラムアドレスＣＡ０−３にそれぞれ対応する４バイトデータＢＹ０−３が連続して入力または出力される。この場合、黒い太枠で示したメモリ領域は、コラムアドレスＣＡ０のバイトＢＹ２−３からコラムアドレスＣＡ３のバイトＢＹ０−１までを含む。このため、コラムアドレスＣＡ０に対応する４バイトの入出力データＤＱのうち、バイトＢＹ０−１のデータは必要ない。コラムアドレスＣＡ３に対応する４バイトの入出力データＤＱのうち、バイトＢＹ２−３のデータも必要ない。よって、有効出力データは、１２バイト／１６バイトである。
【００４３】
図５は、図３に示したＤＲＡＭ４００の矩形アクセスの例を示している。矩形アクセスは、ＭＰＥＧ２やＨ．２６４などの画像の符号化処理と復号処理で多く発生するアクセスで、任意の縦横比の矩形領域内を左上から右下に向けてアクセスする動作に相当する。矩形領域は、ＭＰＥＧ２やＨ．２６４の動きベクトル検出対象のマクロブロック領域や参照領域などに対応する。
【００４４】
例えば、図５に黒い太枠で示した矩形領域は、いずれもコラムアドレスＣＡで選択されるメモリ単位領域（４バイト領域）の境界に沿っている。黒い太枠で示したメモリ領域をアクセスする場合、まず、メモリコントローラ１００は、ページ領域ＢＡ２／ＲＡ５を指定するアクティブコマンドＡＣＴを発行する。次に、メモリコントローラ１００は、４つのリードコマンドＲＤをコラムアドレスＣＡ６、７、１０、１１とともに発行する。そして、コラムアドレスＣＡ６、７、１０、１１にそれぞれ対応する４バイトデータＢＹ０−３が連続して入力または出力される。図５では、アクセスした領域のデータが全て入力または出力されるため、有効出力データは、１６バイト／１６バイトである。
【００４５】
このように、矩形アクセスでは、アクセスされる矩形領域の位置を、単一のバンクＢＫを越えないように設定し、更にバンクＢＫ内のページ領域ＰＡＧＥを超えないようにすることで、効率的なメモリアクセスを行うことができる。これは、バンクアドレスＢＡとロウアドレスＲＡとを指定する１回のアクティブ動作で矩形領域内のデータをアクセスできるためである。
【００４６】
図６は、図３に示したＤＲＡＭ４００の矩形アクセスの別の例を示している。例えば、図６に黒い太枠で示した矩形領域のアクセスは、いずれもコラムアドレスＣＡで選択されるメモリ単位領域（４バイト領域）の境界を越えるアクセスである。黒い太枠で示したメモリ領域をアクセスする場合、まず、メモリコントローラ１００は、ページ領域ＢＡ２／ＲＡ５を指定するアクティブコマンドＡＣＴを発行する。次に、メモリコントローラ１００は、６つのリードコマンドＲＤをコラムアドレスＣＡ０、１、４、５、８、９とともに発行する。そして、コラムアドレスＣＡ０、１、４、５、８、９にそれぞれ対応する４バイトデータＢＹ０−３が連続して入力または出力される。
【００４７】
しかし、黒い太枠で示した矩形領域は、コラムアドレスＣＡで選択されるメモリ単位領域（４バイト領域）の境界と一致せず、且つ４バイト領域の境界を越えている。このため、各４バイトデータＢＹ０−３のうちの半分は必要のないデータである。つまり、有効出力データは、１２バイト／２４バイトである。図６は、１つのページ領域ＰＡＧＥを矩形アクセスするときのワーストケースを示している。
【００４８】
このように、同じバイト数のデータであっても、矩形アクセスと水平アクセスでは、アクセス効率が異なる場合がある。具体的には、図６の矩形アクセスでは、６回のリードコマンドＲＤにより２４バイトのデータを入力または出力する必要がある。これに対して、図４の水平アクセスでは、４回のリードコマンドＲＤにより１６バイトのデータを入力または出力すれば良い。したがって、１つのコラムアドレスＣＡで選択される４バイト領域（メモリ単位領域）の境界を越える矩形領域のアクセスでは、実効的な帯域幅が低下する。
【００４９】
図７は、図５に示したＤＲＡＭの矩形アクセスの別の例を示している。矩形アクセスは、任意の矩形領域に対するアクセスであるため、矩形領域が隣接するページ領域ＰＡＧＥの境界を越える場合がある。例えば、図７に黒い太枠で示した矩形領域のアクセスでは、矩形領域は４つの隣接するページ領域ＢＡ３／ＲＡ２、ＢＡ２／ＲＡ３、ＢＡ１／ＲＡ６、ＢＡ０／ＲＡ７にまたがる１６バイト領域である。
【００５０】
黒い太枠で示したメモリ領域をアクセスする場合、まず、メモリコントローラ１００は、ページ領域ＢＡ３／ＲＡ２、ＢＡ２／ＲＡ３、ＢＡ１／ＲＡ６、ＢＡ０／ＲＡ７についての４回のアクティブコマンドＡＣＴを発行する。次に、メモリコントローラ１００は、コラムアドレスＣＡ１２７（ＢＡ３）、ＣＡ１２４（ＢＡ２）、ＣＡ３（ＢＡ１）、ＣＡ０（ＢＡ０）についての４回のリードコマンドＲＤを発行する。そして、コラムアドレスＣＡ１２７、１２４、３、０にそれぞれ対応する４バイトデータＢＹ０−３が連続して入力または出力される。このように、アクセスする矩形領域が隣接するページ領域ＰＡＧＥを含む場合、異なるバンクＢＫをアクティブ動作させるために、複数回のアクティブコマンドＡＣＴを発行しなければならない。よって、単位時間当たりにアクセスできるデータ量が減り、実効的な帯域幅が狭くなる。
【００５１】
なお、図７に黒い太枠で示した矩形領域が、コラムアドレスＣＡで選択されるメモリ単位領域（４バイト領域）の途中で区画される場合、図６に示したように、４バイトデータＢＹ０−３の少なくともいずれかは不要なデータになる。この場合、より一層、実効的な帯域の低下を招く。このように、バンクＢＫをまたぐ矩形アクセスや、矩形領域がデータの入出力単位であるメモリ単位領域をまたぐ矩形アクセスは、画像メモリのアクセス効率の低下を招く。この実施形態では、現状の矩形アクセスを分析し、その後の矩形アクセスにおいて、アクセス効率が低下しないようなメモリマップを選択し、選択したメモリマップにしたがって画像データをＤＲＡＭ４００に書き込む。これにより、画像処理システムＳＹＳにおけるＤＲＡＭ４００のアクセス効率を向上できる。
【００５２】
図８は、図２に示したメモリマップ選択部１６により選択されるメモリマップの例を示している。図中に太枠で示すメモリマップＭＡＰ１は、１画面を表示するための１フレームの画素データを保持する領域を示し、かつ各画素に割り当てられるアドレスとの関係を示している。図８に示すメモリマップＭＡＰ１では、例えば、バンクアドレスＢＡ２およびロウアドレスＲＡ４９５で指定されるページＰＡＧＥには、フレームのｘ座標が０から６３、ｙ座標が１０７２から１０８７までの画素データが保持される。さらに、このページＰＡＧＥのコラムアドレスＣＡ２４０で指定される領域には、ｘ座標が０から３、ｙ座標が１０８７で指定される４バイトＢＹ０−３の画素データが保持される。図８中の小さい斜線枠は、アクセス座標ＸＹ０（（Ｘ、Ｙ）＝（６２、１６））、アクセスサイズＳＩＺＥ（（ＸＳＩＺＥ、ＹＳＩＺＥ）＝（８、２））のアクセス領域の例を示す。この場合、左右に隣接するページＰＡＧＥをまたぐアクセスとなる。
【００５３】
図９は、図２に示したメモリマップ選択部１６により選択されるメモリマップの別の例を示している。図中に太枠で示すメモリマップＭＡＰ２は、１フレームの画素データを保持する領域を示し、かつ各画素に割り当てられるアドレスとの関係を示している。図９に示すメモリマップＭＡＰ２は、メモリマップＭＡＰ１と比較して、各画素の格納位置がｘ方向に＋３２ずれたマッピングとなっている。フレームＦＬの左端の画素を保持するページ領域ＰＡＧＥは、ｘ座標が０から３１までの３２列分の画素データを右側半分のコラムであるＣＡｎ（ｎ＝１６ｍ＋８、１６ｍ＋９、１６ｍ＋１０、・・・、１６ｍ＋１５。ただしｍ＝０、１、２、・・・、１５）を使用して保持する。残りの左側半分のコラムでは画素データを保持せず空き領域とする。同様に、フレームの右端の画素を保持するページ領域ＰＡＧＥは、ｘ座標が１８８８から１９１９までの３２列分の画素データを左側半分のコラムであるＣＡｎ（ｎ＝１６ｍ、１６ｍ＋１、１６ｍ＋２、・・・、１６ｍ＋７。ただしｍ＝０、１、２、・・・、１５）を使用して保持する。残りの右側半分のコラムでは画素データを保持せず空き領域とする。図９中の小さい斜線枠は、アクセス座標ＸＹ０（（Ｘ、Ｙ）＝（６２、１６））、アクセスサイズＳＩＺＥ（（ＸＳＩＺＥ、ＹＳＩＺＥ）＝（８、２））のアクセス領域の例を示す。この場合、１つのページＰＡＧＥ内でアクセスが完了する。
【００５４】
図１０は、図２に示したメモリマップ選択部１６により選択されるメモリマップの別の例を示している。図中に太枠で示すメモリマップＭＡＰ３は、１フレームの画素データを保持する領域を示し、かつ各画素に割り当てられるアドレスとの関係を示している。図１０に示すメモリマップＭＡＰ３は、メモリマップＭＡＰ１と比較して、各画素の格納位置がｙ方向に＋８ずれたマッピングとなっている。フレームＦＬの上端の画素を保持するページ領域ＰＡＧＥは、ｙ座標が０から７までの８行分の画素データを下側半分のコラムであるＣＡｎ（ｎ＝１２８、１２９、１３０、・・・、２５５）を使用して保持する。残りの上側半分のコラムでは画素データを保持せず空き領域とする。同様に、フレームの下端の画素を保持するページは、ｙ座標が１０８０から１０８７までの８行分の画素データを上側半分のコラムであるＣＡｎ（ｎ＝０、１、２、・・・、１２７）を使用して保持する。残りの下側半分のコラムでは画素データを保持せず空き領域とする。
【００５５】
図１１は、図２に示したメモリマップ選択部１６により選択されるメモリマップの別の例を示している。図中に太枠で示すメモリマップＭＡＰ４は、１フレームの画素データを保持する領域を示し、かつ各画素に割り当てられるアドレスとの関係を示している。図１１に示すメモリマップＭＡＰ４では、バンクアドレスＢＡ２、ロウアドレスＲＡ４８０で指定されるページＰＡＧＥには、フレームのｘ座標が０から３１、ｙ座標が１０５６から１０８７までの画素データが保持される。さらに、このページＰＡＧＥのコラムアドレスＣＡ２４８で指定される領域にはｘ座標が０から３、ｙ座標が１０８７で指定される４バイトＢＹ０−３の画素データが保持される。
【００５６】
図１２は、図２に示した動画像処理部２００内の符号化処理回路２１０の例を示している。符号化処理回路２１０は、誤差画像生成部２１２、直交変換・量子化部２１４、エントロピー符号化部２１６、逆量子化・逆直交変換部２１８、再構成画像生成部２２０、デブロッキングフィルタ部２２２、画面内予測部２２４、動き補償部２２６、動き検出部２２８および切替部２３０を有している。この例では、符号化処理回路２１０は、Ｈ．２６４での動画像符号化処理を行うが、ＭＰＥＧ−２等での動画像符号化処理を行ってもよい。符号化処理回路２１０は、圧縮処理対象画像を例えば、水平方向１６画素、垂直方向１６画素からなるマクロブロックごとに、動き検出、動き補償、画面内予測、誤差画像生成、直交変換・量子化、逆量子化・逆直交変換、再構成画像生成、デブロッキング用のフィルタリング、エントロピー符号化を行い、画像データを圧縮符号化したビットストリームを生成する。
【００５７】
動き検出部２２８は、符号化処理が完了しているフレームの画像データを参照画像として用いて、処理対象のマクロブロック（現画像）が参照画像内のどの位置に対応するかを検出し動きベクトルとして算出する。動き補償部２２６は、対象のマクロブロック（現画像）に対応する参照画像内のマクロブロックと動きベクトルとから画面間（フレーム間）での予測画像を生成する。
【００５８】
画面内予測部２２４は、処理対象のマクロブロックを含むフレームにおいて、すでに符号化処理が完了している隣接するマクロブロックの画像データを用いて、処理対象のマクロブロックの画面内での予測画像を生成する。なお、Ｈ．２６４／ＡＶＣによる圧縮符号化では、各マクロブロックの予測画像の生成方式として、画面内予測方式と画面間予測方式のいずれかが選択できる。切替部２３０は、動き補償部２２６が動作するときに画面間の予測画像を選択し、画面内予測部２２４が動作するときに画面内の予測画像を選択する。切替部２３０は、選択した予測画像を誤差画像生成部２１２および再構成画像生成部２２０に出力する。
【００５９】
誤差画像生成部２１２は、処理対象のマクロブロック（原画像）と予測画像の差分をとり、誤差画像を生成する。直交変換・量子化部２１４は、誤差画像を直交変換した後に量子化処理を行い、量子化された変換係数を求める。エントロピー符号化部２１６は、情報量が圧縮された画像情報であるビットストリームを生成するために、量子化された変換係数を符号化処理する。
【００６０】
逆量子化・逆直交変換部２１８は、量子化された変換係数を逆量子化して、逆直交変換し、誤差画像を復元する。再構成画像生成部２２０は、復元された誤差画像と誤差画像計算部２１２で用いた予測画像とから、再構成画像を生成する。デブロッキングフィルタ部２２２は、直交変換・量子化部２１４と逆量子化・逆直交変換部２１８での処理によって再構成画像に生じたブロック歪みを減少させる処理を行う。ブロック歪みが減少された再構成画像は、対象フレームの画像データとしてフレームメモリ（ＤＲＡＭ４００）に書き込まれる。なお、実際には、参照画像のＤＲＡＭ４００からの読み出しおよび再構成画像のＤＲＡＭ４００への書き込みは、メモリコントローラ１００を介して行われる。
【００６１】
保存された画像データは、次のフレームの符号化処理に参照画像として使用される。特に限定されないが、ＤＲＡＭ４００は、フレームメモリとしても機能する。すなわち、ＤＲＡＭ４００は、所定数のフレーム（例えば、１５フレーム）の画像データを保持するフレーム画像領域を有する。フレーム画像領域は、図２に示したアクセスコスト計算部１２により、アクセス効率の高いメモリマップを選択するために、フレーム毎にアクセスコストが計算される。
【００６２】
図１３は、図２に示した動画像処理部２００内の復号処理回路２４０の例を示している。復号処理回路２４０は、エントロピー復号部２４２、逆量子化・逆直交変換部２４４、再構成画像生成部２４６、デブロッキングフィルタ部２４８、動き補償部２５０、画面内予測部２５２および切替部２５４を有している。動画像の復号処理は、符号化処理と同様にマクロブロック単位で行われる。１つのマクロブロックの復号では、エントロピー復号、逆量子化・逆直交変換、誤差画像生成、動き補償、画面内予測、デブロッキング用のフィルタリングを行い、ビットストリームから再構成画像が生成される。
【００６３】
動き補償部２５０は、エントロピー復号部２４２により伸張復号された動き予測情報（動きベクトル）とマクロブロックタイプを受ける。動き補償部２５０は、動きベクトルで指定される座標をアクセス座標とし、マクロブロックタイプで指定されるブロックサイズをアクセスサイズとするアクセス要求をフレームメモリ（ＤＲＡＭ４００）に発行し、処理対象のマクロブロックの予測画像を生成するために必要な参照画像をフレームメモリから受ける。そして、動き補償部２５０は、受け取った参照画像から画面間の予測画像を生成する。
【００６４】
画面内予測部２５２は、エントロピー復号部２４２により伸張復号された画面内予測情報を受ける。画面内予測部２５２は、処理対象のマクロブロックを含むフレームにおいて、すでに復号処理が完了している隣接するマクロブロックの画像データを受け取る。そして、画面内予測部２５２は、画面内予測情報と受け取った画像データから画面内の予測画像を生成する。
【００６５】
切替部２５４は、処理対象のマクロブロックの符号化処理が画面内予測方式と画面間予測方式のいずれによって行われたかの情報をエントロピー復号部２４２から受ける。これ等情報は、ビットストリームに含まれる。画面内予測方式で符号化されているとき、切替部２５４は、画面内予測部２５２からの画面内の予測画像を選択する。画面間予測方式で符号化されているとき、切替部２５４は、動き補償部２５０からの画面間の予測画像を選択する。切替部２５４は、選択した予測画像を再構成画像生成部２４６に出力する。
【００６６】
エントロピー復号部２４２は、情報量が圧縮された画像情報であるビットストリームを復号処理し、量子化された変換係数を生成する。逆量子化・逆直交変換部２４４、再構成画像生成部２４６およびデブロッキングフィルタ部２４８の動作は、図１２に示した逆量子化・逆直交変換部２１８、再構成画像生成部２２０およびデブロッキングフィルタ部２２２の動作と同じである。デブロッキングフィルタ処理がなされた再構成画像は、フレームメモリ（ＤＲＡＭ４００）に書き込まれる。再構成画像は、以降のフレームの復号処理において画面間の予測画像を生成するための参照画像として読み出される。なお、実際には、ＤＲＡＭ４００へのアクセス要求は、図２に示したメモリコントローラ１００を介して行われる。参照画像のＤＲＡＭ４００からの読み出しおよび再構成画像のＤＲＡＭ４００への書き込みも、メモリコントローラ１００を介して行われる。
【００６７】
図１４は、図２に示した画像処理システムＳＹＳによる動画像の撮影、再生動作の例を示している。黒い太枠は、各フレームＦＬ（ＦＬｔ、ＦＬｔ＋１など）において、Ｈ．２６４やＭＰＥＧ２などの動画像の処理に必要な時間を示している。例えば、３０フレーム／秒毎の動画像を処理対象としている場合では、各フレームＦＬは１／３０秒（ほぼ０．０３３秒）で処理を完了しなければならない。動画の撮影時、カメラモジュールは、１／３０秒毎にシャッターＳＨＴを駆動する。
【００６８】
この例では、撮影時の符号化処理は、処理に必要なメモリアクセスの実効的な帯域が十分確保されているおり、すべてのフレームが１／３０秒以内に完了している。符号化された画像データ（ビットストリーム）は、例えば、蓄積メディアＳＭに書き込まれる。画像データを蓄積メディアＳＭから読み出し、動画を再生するときの復号処理も、１／３０秒以内に完了している。このため、動画を表示装置に表示する表示処理において、全てのフレームが順次に再生される。
【００６９】
図１５は、図２に示した画像処理システムＳＹＳによる動画像の撮影、再生動作の別の例を示している。この例では、撮影時の符号化処理において、フレームＦＬｔ＋１で実効的な帯域が不足する。帯域不足から、符号化処理は１／３０秒で完了しない。このため、フレームＦＬｔ＋１の処理は、本来はフレームＦＬｔ＋２の処理が行われているべき時間に継続して行われる。この場合、フレームＦＬｔ＋２の符号化処理はスキップされる。符号化され、フレームＦＬｔ＋２が欠落した画像データ（ビットストリーム）は、例えば、蓄積メディアＳＭに書き込まれる。
【００７０】
動画を再生するための復号処理では、フレームＦＬｔ＋２の画像データが蓄積メディアＳＭ内に存在しない。このため、復号処理では、本来フレームＦＬｔ＋２を復号処理する時間には何も処理を行わない。動画を表示装置に表示する表示処理では、フレームＦＬ＋１が２回再生される。表示再生時間は、フレームＦＬｔ＋１のみ本来の１／３０秒から２／３０秒となり、視聴していて違和感が生ずる画像となる。
【００７１】
図１６は、図２に示した画像処理システムＳＹＳによる動画像の撮影、再生動作の別の例を示している。この例では、動画を再生するための復号処理において、フレームＦＬｔ＋１で実効的な帯域が不足する。帯域不足から、復号処理は１／３０秒で完了しない。このため、フレームＦＬｔ＋１の処理は、本来はフレームＦＬｔ＋２の処理が行われているべき時間に継続して行われる。この場合、フレームＦＬｔ＋２以降の復号処理は、順次に遅れる。
【００７２】
動画を表示装置に表示する表示処理では、フレームＦＬｔの表示が完了したときに、フレームＦＬ＋１の復号処理が完了していない。このため、フレームＦＬｔが２回再生される。この結果、図１５と同様に、表示再生時間は、フレームＦＬｔのみ本来の１／３０秒から２／３０秒となり、視聴していて違和感が生ずる画像となる。
【００７３】
図１７は、図１２に示した符号化処理回路２１０による動きベクトルの検出の例を示している。動画像の符号化処理において、フレームメモリ（ＤＲＡＭ４００）との間で最も帯域が必要となるのは動き検出である。動きベクトルの検出では、先ず、参照フレーム中に参照領域を設定する。参照フレームは、既に符号化処理が完了しているフレームの中から自由に設定できる。次に、参照領域の中で処理対象マクロブロックと最も類似している矩形領域を検出する。処理対象マクロブロックの左上の画素から見た検出した矩形領域の左上画素の相対座標が動きベクトルとなる。類似度判定をするために参照領域の画像データが必要となるため、フレームメモリに格納されている参照フレームへの読み出しアクセスが発生する。
【００７４】
例えば、フレームメモリのアクセス頻度を下げるために、参照領域は、フレームメモリから動き検出部２２８内に設けられる参照領域用のメモリに取り込まれた後、処理対象のマクロブロックとの類似度を判定の計算のために参照される。図１７に示した処理は、処理対象フレームＦＬｔ内の全てのマクロブロックについて順次に行われる。
【００７５】
例えば、Ｈ．２６４のＬｅｖｅｌ４．０では、動き検出で出力するベクトルとしてｘ方向は−２０４８から＋２０４７．７５まで、ｙ方向は−５１２から＋５１１．７５まで符号化可能である。符号化処理した画像の画質の点からは、上述の範囲のすべての座標で類似度を判定し、もっとも類似度の高い座標を算出するのが望ましい。しかし、動き検出処理の演算量、フレームメモリから参照領域をリードするために必要な帯域の点から、フレームメモリからリードする参照領域を制限し、制限した領域の中でもっとも類似した座標を算出する方法が一般的である。
【００７６】
図１８は、図１３に示した復号処理回路２４０の動作の例を示している。図１８は、エントロピー復号部２４２で復元された動きベクトルと参照領域のリードアクセスとの関係を示している。参照領域のリードアクセスのサイズは（１６画素、１６画素）、アクセス座標は動きベクトルが指し示す点（ＭＶｘ、ＭＶｙ）となる。ここで、参照領域のメモリマップとメモリアクセスの関係が、図５に示したように同一のページＰＡＧＥ内となるときに効率的にアクセスできる。参照領域のメモリマップとメモリアクセスの関係が、図６や図７に示したように、ページＰＡＧＥの境界やバンクＢＫの境界をまたぐ場合は、非効率的なアクセスとなる。
【００７７】
図１９は、図２に示した画像処理システムＳＹＳの動作の例を示している。この例は、カメラモジュール３００により撮影された動画のＨ．２６４等による符号化処理を示している。時間Ｔ１−Ｔ４は、各フレームの処理時間を示している。
【００７８】
例えば、カメラモジュール３００は、１フレームの処理時間Ｔ１の間に、フレームＦＬｔ＋ｓ（ｓは２以上の整数）の画像データ（原画像）をメモリコントローラ１００を介してＤＲＡＭ４００に書き込む。処理時間Ｔ１の間に、動画像処理部２００は、フレームＦＬｔ＋１のマクロブロックを、符号化するためにＤＲＡＭ４００から読み出す。また、動画像処理部２００は、動きベクトルを検出するために、１つ前のフレームＦＬｔの参照画像をＤＲＡＭ４００から読み出す。そして、動画像処理部２００は、デブロッキングフィルタ部２２２が生成した再構成画像をフレームＦＬｔ＋１の対応するマクロブロックの再構成画像としてＤＲＡＭ４００に書き込む。
【００７９】
ここで、フレームＦＬｔの画像データは、予め指定されたメモリマップＭＡＰ（例えば、ＭＡＰ１）を用いてカメラモジュールがＤＲＡＭ４００に書き込んでいる。一方、アクセスコスト計算部１２は、フレームＦＬｔがメモリマップＭＡＰ１、ＭＡＰ２、ＭＡＰ３、ＭＡＰ４のそれぞれで保持されていたと仮定した場合のリードサイクル数Ｎｊ（ｊ＝０、１、２、３）を計算し、アクセスコスト保存メモリ１４に書き込む。
【００８０】
メモリマップ選択部１６は、Ｎｊ（ｊ＝０、１、２、３）の値の中で最も小さい値を持つものを判定し、そのメモリマップＭＡＰ（この例では、ＭＡＰ３）を示すマップ情報ＭＩＮＦを、将来のフレームＦＬｔ＋２がアクセスされるときのメモリマップＭＡＰとしてメモリマップ保存メモリ１８に書き込む。パラメータ変換部２０は、アクセスするフレームに対応してメモリマップ保存メモリ１８で指定されるメモリマップＭＡＰに基づいてアクセス要求ＡＲＥＱに含まれるアクセス座標ＸＹを、実際にＤＲＡＭ４００にアクセスするためのアクセス座標ＸＹ’に変換する。
【００８１】
処理時間Ｔ２では、フレームＦＬｔ＋２のマクロブロックが符号化される。ＦＬｔ＋２の原画像データは、あらかじめ指定されたメモリマップＭＡＰ（例えば、ＭＡＰ１）を用いてカメラモジュールがＤＲＡＭ４００に書き込んでいるため、このメモリマップＭＡＰを用いて読み出す。符号化処理後の再構成画像の書き込みは、予め計算されたアクセスコストが最も小さいメモリマップＭＡＰ３を用いて行われる。そして、上述と同様に、参照画像として読み出されるフレームＦＬｔ＋１について、最もアクセスコストが低いメモリマップＭＡＰ（この例では、ＭＡＰ１）が求められる。メモリマップ選択部１６は、メモリマップＭＡＰ１を示すマップ情報ＭＩＮＦを、処理時間Ｔ３でフレームＦＬｔ＋３の再構成画像が書き込みアクセスされるとき、および処理時間Ｔ４で参照画像として読み出しアクセスされるときのメモリマップＭＡＰとしてメモリマップ保存メモリ１８に書き込む。これにより、処理時間Ｔ３では、フレームＦＬｔ＋２およびＦＬｔ＋３を、最もアクセスコストの小さいメモリマップＭＡＰでアクセスできる。以降のフレーム処理でも同様に、最もアクセスコストの小さいメモリマップＭＡＰでアクセスできる。
【００８２】
なお、アクセスコスト計算部１２は、読み出しアクセスのコストだけでなく、書き込みアクセスのコストを計算してもよい。具体的には、アクセスコスト計算部１２は、再構成画像を書き込むフレームＦＬについて、アクセスコストを計算し、アクセスコスト保存メモリ１４に書き込んでもよい。すなわち、処理時間Ｔ１において、フレームＦＬｔ＋１の再構成画像書き込みのためのアクセスコストを計算してもよい。この場合、メモリマップ選択部１６は、処理時間Ｔ２において、フレームＦＬｔ＋１の読み出しアクセスのアクセスコストと書き込みアクセスのアクセスコストの平均値が最も小さいメモリマップＭＡＰを選択する。選択されたメモリマップＭＡＰは、フレームＦＬｔ＋３をアクセスするときのメモリマップとして使用される。あるいは、アクセスコスト計算部１２は、書き込みアクセスのコストのみを計算してもよい。
【００８３】
図８および図９に示したメモリマップＭＡＰ１−２の斜線枠のアクセスでは、アクセスに必要なサイクル数は次のようになる。図８では、メモリコントローラ１００がＢＡ＝２、ＲＡ＝０のアクティブコマンドおよびＢＡ＝３、ＲＡ＝０をＤＲＡＭ４００に出力してから、最後のコラムアドレスＣＡへのアクセスが完了するまでのｎ１サイクルである。図９では、メモリコントローラ１００がＢＡ＝３、ＲＡ＝０のアクティブコマンドをＤＲＡＭ４００に出力してから、最後のコラムアドレスＣＡへのアクセスが完了するまでのｎ２サイクルである。
【００８４】
アクセスコスト計算部１２は、メモリマップＭＡＰ１〜２でのアクセスサイクル数ｎ１〜２を計算する。同様に、アクセスコスト計算部１２は、メモリマップＭＡＰ３〜４でのアクセスサイクル数ｎ３〜ｎ４を計算する。算出された各メモリマップＭＡＰ１〜４でのアクセスサイクル数ｎ１〜ｎ４は、１フレームＦＬの処理で発生したすべてのアクセス要求に対して累積加算される。動画像処理部２００が１フレームＦＬの処理を行う間に調停部１０にｍ回のアクセス要求を送信し、ｉ番目のアクセス要求をメモリマップＭＡＰ１〜４に対して行った場合のアクセスサイクル数をそれぞれｎ１（ｉ）、ｎ２（ｉ）、ｎ３（ｉ）、ｎ４（ｉ）とする。メモリマップＭＡＰｊでの１フレームの処理で発生したすべてのアクセス要求に必要なサイクル数の合計値ＮｊはＮｊ＝ｎｊ（１）＋ｎｊ（２）＋・・・＋ｎｊ（ｍ）となる。ただし、ｊ＝１、２、３、４である。
【００８５】
なお、図１３に示した復号処理回路２４０による復号処理においても、上述と同様に、将来アクセスされるフレームＦＬについて、アクセスコストが最も小さいメモリマップＭＡＰを指定できる。復号処理時の画像処理システムＳＹＳの動作は、カメラモジュール３００の処理がないことと、マクロブロック読み出しがないことを除き、図１９と同じである。例えば、フレームＦＬｔ＋１のビットストリームを復号するとき、１つ前のフレームＦＬｔの参照画像をＤＲＡＭ４００から読み出す。そして、復号されたフレームＦＬｔ＋１の再構成画像がマクロブロック単位でＤＲＡＭ４００に書き込まれる。アクセスコスト計算部１２およびメモリマップ選択部１６の動作は、符号化処理時と同じである。
【００８６】
図２０は、図２に示したメモリマップ保存メモリ１８の状態変化の例を示している。最初の状態において、動画像処理部２００がフレームＦＬｔ＋１を処理している間、フレームＦＬｔのリードアクセスとフレームＦＬｔ＋１へのライトアクセスが発生する。このため、メモリマップ保存メモリ１８には、フレームＦＬｔとフレームＦＬｔ＋１の２フレーム分のメモリマップＭＡＰ１、４を示す情報が保存されている。フレームＦＬｔ＋１の処理が完了すると、それ以降の処理でフレームＦＬｔへのアクセスが発生しないので、メモリマップ選択部１６はフレームＦＬｔのメモリマップが保存されている領域に、フレームＦＬｔ＋２のメモリマップＭＡＰ３を示す情報を上書きする。
【００８７】
上記手順によると、フレームＦＬｔ＋２のメモリマップＭＡＰ３は、フレームＦＬｔ＋１で発生するフレームＦＬｔのリードアクセスに必要なサイクルが最小となるように選択される。このため、動画像処理部２００がフレームＦＬｔ＋２を処理する際に発生するメモリアクセスのサイクル数が最小になるメモリマップを選択することを保証できない。しかし、動画像の処理においては、時間的に近いフレーム間では画像の特徴の相関が高いことが期待できる。したがって、処理の過程で発生するメモリアクセスも非常に似ていることが期待できる。すなわち、フレームＦＬｔ＋１の処理で発生するメモリアクセスの特徴は、フレームＦＬｔ＋２の処理で発生するメモリアクセスの特徴およびフレームＦＬｔ＋３の処理で発生するメモリアクセスの特徴と類似する。このため、本実施形態においてアクセスサイクル数削減の効果は損なわれない。
【００８８】
図２１は、図２に示した画像処理システムＳＹＳの動作タイミングの例を示している。図２１では、動画の撮影時の符号化処理時の動作を示している。各フレームの処理を始める前に、動画像処理部２００は、アクセスコスト計算部１２内に保持されているアクセスコストをリセットするために、同期信号ＳＹＮＣを出力する（ＲＥＳＥＴ）。カメラモジュール３００は、１フレームの処理期間に、撮影した１フレーム分の画像データを、メモリコントローラを介してｍ回に分けてＤＲＡＭ４００へ書き込む（ＷＲ１−ＷＲｍ）。動画像処理部２００は、撮影された画像からストリームデータを生成するために、マクロブロックの符号化処理を行う（ＣＯＤＥ１−ＣＯＤＥｐ）。
【００８９】
調停部１０は、カメラモジュール３００からのアクセスと動画像処理部２００からのアクセスを調停する。アクセスコスト計算部１２は、パラメータ変換部２０からのアクセスパラメータＡＰＲＭ０に応じて、メモリマップＭＡＰ１−４を使用したときのアクセスコストをマクロブロック毎に求め、アクセスコストを累積加算する（ＣＡＬＣ）。パラメータ変換部２０は、アクセスパラメータＡＰＲＭ０に含まれるアクセスフレーム番号ＦＬに基づいて、対応するメモリマップＭＡＰの種類をメモリマップ保存メモリ１８から読み出す。パラメータ変換部２０は、アクセスパラメータＡＰＲＭ０を、読み出したメモリマップＭＡＰの種類に応じてアクセスパラメータＡＰＲＭ１に変換し（ＰＣＮＶ）、アクセス制御部２２に出力する。
【００９０】
次のフレームの処理の最初では、アクセスコスト計算部１２は、同期信号ＳＹＮＣに応答して、前のフレームのアクセスコストをメモリマップＭＡＰ毎にアクセスコスト保存メモリ１４に出力する（ＣＯＳＴ）。メモリマップ選択部１６は、アクセスコスト保存メモリ１４に書き込まれたアクセスコストのうち、最小のコストを示すメモリマップＭＡＰを示すマップ情報ＭＩＮＦを選択する。メモリマップ選択部１６は、選択したマップ情報ＭＩＮＦをメモリマップ保存部１８に書き込む。これにより、ＤＲＡＭ４００のアクセス効率を向上できる。
【００９１】
なお、符号化処理において、すべてのフレームで同一のメモリマップを使用する従来では、メモリアクセスに必要なサイクル数は、すべてのマクロブロックが参照領域としてアライメントがずれた位置を要求した場合に最大（Ｃｗｏｒｓｔ０）となる。ここで、”アライメントのずれ”は、アクセス領域がメモリ単位領域（４バイト領域）の境界をまたぐ場合、またはアクセス領域がページ領域ＰＡＧＥの境界をまたぐ場合を意味する。
【００９２】
一方、２種類のメモリマップＭＡＰ１−２を切り替えて使用する場合、メモリマップＭＡＰ１においてすべてのマクロブロックでアライメントがずれている場合、メモリマップＭＡＰ２を選択することで回避される。メモリマップＭＡＰ２においてすべてのマクロブロックでアライメントがずれている場合、メモリマップＭＡＰ１を選択することで回避される。このため、メモリマップＭＡＰ１−２の両方において、半分のマクロブロックで要求する参照領域のアライメントがずれた場合に、アクセスサイクル数が最大となる。
【００９３】
したがって、２種類のメモリマップＭＡＰ１−２を使用する場合、メモリアクセスの最悪のサイクル数は（Ｃｗｏｒｓｔ１＋Ｃｂｅｓｔ２）／２、もしくは、（Ｃｂｅｓｔ１＋Ｃｗｏｒｓｔ２）／２となる。ここで、Ｃｗｏｒｓｔ１は、メモリマップＭＡＰ１での最悪のアクセスサイクル数である。Ｃｗｏｒｓｔ２は、メモリマップＭＡＰ２での最悪のアクセスサイクル数である。Ｃｂｅｓｔ１は、メモリマップＭＡＰ１でアライメントが合っている場合のアクセスサイクル数である。Ｃｂｅｓｔ２は、メモリマップＭＡＰ２でアライメントが合っている場合のアクセスサイクル数である。例えば、Ｃｂｅｓｔ２がＣｗｏｒｓｔ１の半分であり、仮にＣｂｅｓｔ２＝５０サイクル、Ｃｗｏｒｓｔ１＝１００サイクルとする。このとき、メモリアクセスの最悪のサイクル数（（Ｃｗｏｒｓｔ１＋Ｃｂｅｓｔ２）／２）は、７５サイクルになる。すなわち、本実施形態の適用により、アクセスサイクル数を２５％削減することができる。４つのメモリマップＭＡＰ１−４を選択的に使用することで、アクセスサイクル数をさらに削減できる。
【００９４】
以上、この実施形態においても、上述した実施形態と同様の効果を得ることができる。さらに、動画像を構成する各フレームに対応してメモリマップＭＡＰ１−４毎にアクセスコストを計算することで、フレーム単位に最適なアクセス効率を得ることができる。さらに、マクロブロック毎にアクセスコストを計算し、累積加算することで、細かいブロック毎に符号化処理または復号処理が行われる場合にも、アクセス効率の高いメモリマップＭＡＰを平均的に求めることができる。
【００９５】
フレーム間での相関が高い動画像の符号化処理または復号処理において、計算したアクセスコストを、将来発生するフレームのメモリマップの選択に使用することで、ＤＲＡＭ４００のアクセス効率を向上できる。これにより、画像処理システムＳＹＳの性能を向上できる。具体的には、アクセス効率を向上することで、符号化処理時間および復号処理時間を短縮でき、図１５および図１６に示した不具合を防止できる。あるいは、アクセス効率を向上することで、低速の画像メモリを採用できる。この結果、消費電力を削減でき、かつシステムコストを削減できる。
【００９６】
このように、アクセスサイズやアクセス座標が適応的に変更される画像処理において、アクセス効率を高め、アクセスサイクル数を最小限にすることができる。特に、ＭＰＥＧやＨ．２６４の符号化処理、復号処理のように、矩形アクセスが多く発生する装置に適用すると有用である。また、上述したように、最悪の条件下でも必ず２５％のアクセスサイクル数の削減を保証できる。
【００９７】
図２２は、別の実施形態における画像処理システムＳＹＳの例を示している。上述した実施形態で説明した要素と同一の要素については、同一の符号を付し、これ等については、詳細な説明を省略する。この実施形態の画像処理システムＳＹＳは、図２のメモリコントローラ１００の代わりにメモリコントローラ１００Ａを有している。メモリコントローラ１００Ａは、図２のアクセスコスト計算部１２の代わりにアクセスコスト計算部１２Ａを有している。さらに、画像処理システムＳＹＳは、前処理部６００を有している。画像処理システムＳＹＳのその他の構成は、図２と同じである。
【００９８】
前処理部６００は、動画像処理部２００による符号化処理に先立って、カメラモジュール３００で撮影された原画像および参照画像を、ローパスフィルタによる高周波成分の除去と、サブサンプリングによって、もしくはローパスフィルタを用いずサブサンプリングのみによって縮小画像をそれぞれ生成する。ここで、原画像は、ある時刻に撮影された画像であり、参照画像は、ある時刻より前に撮影された画像の一部である。例えば、横１９２０画素、縦１０８８画素からなる符号化対象画像を縦１／４、横１／４の縮小率で縮小する場合、縮小画像は、横４８０画素、縦２７２画素である。縮小画像において、マクロブロックを構成する画素数は、横４画素、縦４画素となる。縮小画像の縮小率は、縦横１／４以外でもよい。
【００９９】
前処理部６００は、縮小した原画像と縮小した参照画像の間で動き検出を行い、縮小動きベクトルを求める。この例では、元々の画像の解像度に対して、縮小率をｘ方向１／４、ｙ方向１／４とする。このため、縮小画像での動きベクトル検出により、元々の画像での動き検出処理の対象となる参照領域をｘ方向７画素（縮小動きベクトルのｘ成分を中心とした±３の範囲）、ｙ方向７画素（縮小動きベクトルのｙ成分を中心とした±３の範囲）まで限定することができる。このように動きベクトルの検出を階層的に行うことにより、広い参照領域で動きベクトルを探索しつつも、演算量と帯域の大幅な削減が可能となる。なお、縮小画像のマクロブロックの動き検出処理は、扱う画素数が異なることを除き、図１７と同じである。
【０１００】
さらに、前処理部６００は、検出した縮小動きベクトルに基づいて、動画像処理部２００での将来のフレーム処理において発生するアクセスパラメータＡＰＲＭ０に対応するアクセスパターン情報ＡＰＩＮＦを生成し、アクセスコスト計算部１２Ａに出力する。アクセスパターン情報ＡＰＩＮＦは、アクセスパラメータＡＰＲＭ０と同様に、リードライト種別ＲＷ１、アクセス座標ＸＹ１、アクセスサイズＳＩＺＥ１、アクセスフレーム番号ＦＮＯ１を含む。
【０１０１】
アクセスコスト計算部１２Ａは、入力されたアクセスパターン情報ＡＰＩＮＦに基づいて、メモリマップＭＡＰ１−４でのアクセスサイクル数を計算し、その合計値Ｎ１−４をアクセスコスト保存メモリ１４に書き込む。メモリマップ選択部１６およびメモリマップ保存部１８の動作は、図２と同じである。
【０１０２】
この後、動画像処理部２００は、縮小動きベクトルが既に求められたフレームＦＬの画像データを符号化するために、処理対象のマクロブロックおよび対応する参照画像をＤＲＡＭ４００から読み出す。具体的には、動画像処理部２００は、ＤＲＡＭ４００からマクロブロックおよび参照画像を読み出すために、アクセス要求ＡＲＥＱ０をメモリコントローラ１００に出力する。調停部１０は、アクセス要求ＡＲＥＱ０をアクセスパラメータＡＰＲＭ０として出力する。
【０１０３】
パラメータ変換部２０は、アクセスパラメータＡＰＲＭ０に含まれるアクセスフレーム番号ＦＮＯ０に対応するメモリマップＭＡＰを示すマップ情報ＭＩＮＦをメモリマップ保存メモリ１８から読み出す。パラメータ変換部２０は、アクセスパラメータＡＰＲＭ０に含まれるアクセス座標ＸＹ０を、読み出したマップ情報ＭＩＮＦに対応するアクセス座標ＸＹ’に変換する。アクセス制御部２２は、変換されたアクセス座標ＸＹ’に基づいて、ＤＲＡＭ４００にアクセスする。そして、動画像処理部２００は、処理対象のマクロブロックの動きベクトルを求める。ここで、動きベクトルの検出は、図２３に示すように、縮小画像を用いて算出した縮小動きベクトルに対応する座標の周辺にのみ限定して行う。
【０１０４】
図２３は、図２２に示した動画像処理部２００の動作の例を示している。例えば、符号化処理部２１０は、縮小画像での縮小動きベクトルの検出結果に基づいて、参照領域をＤＲＡＭ４００から読み出し、実際の動きベクトルを検出する。この例では、縮小動きベクトルに対応する擬似動きベクトルは、縮小動きベクトルを４倍することで生成される。図２２に示した画像処理システムＳＹＳでは、動画像処理部２００が動きベクトルを検出する前に、前処理部６００により縮小動きベクトルが検出される。このため、処理対象のマクロブロックの動きベクトルを求めるために必要な参照領域のサイズは、図１７に比べて大幅に小さい。
【０１０５】
図２３に示した動き検出では、擬似動きベクトルに対応する参照画像（図の破線枠）を中心とし、ｘ方向で−３から＋３まで、ｙ方向で−３から＋３までの画像データが必要である。このため、参照領域をＤＲＡＭ４００から読み出すために、アクセスサイズＳＩＺＥ（２２、２２）、アクセス座標ＸＹ（ＭＶｘ−３、ＭＶｙ−３）のメモリアクセスが必要となる。ここで、座標（ＭＶｘ、ＭＶｙ）は、擬似動きベクトルが指し示す点である。参照領域のメモリマップと上記メモリアクセスの関係が、図５に示すように同一のページＰＡＧＥ内になるとき、効率的にアクセスできる。参照画像のメモリマップと上記メモリアクセスの関係が、図６や図７に示すように、ページＰＡＧＥの境界やバンクＢＫの境界をまたぐ場合は、非効率的なアクセスとなる。
【０１０６】
図２４は、図２２に示したシステムＳＹＳの動作の例を示している。この例は、カメラモジュール３００により撮影された動画のＨ．２６４等による符号化処理を示している。時間Ｔ１−Ｔ４は、各フレームの処理時間を示している。カメラモジュール３００、動画像処理部２００およびメモリマップ選択部１６の動作については、図１９と同じであるため、詳細な説明は省略する。
【０１０７】
この例では、前処理部６００は、検出した縮小動きベクトルに基づいて、将来、符号化処理を行うときに発生するメモリアクセスのパターンを解析する。アクセスコスト計算部１２Ａは、解析されたアクセスパターンに基づいて、メモリマップＭＡＰ１−４毎に、将来生成されるフレームのデータの読み出しに必要なアクセスサイクル数を計算し、アクセスコスト保存メモリ１４に書き込む。アクセスコスト保存メモリ１４の動作は、図１９と同じである。
【０１０８】
この後、動画像処理部２００は、符号化処理を行うとき、アクセス要求ＡＲＥＱ０（ライトアクセス要求とリードアクセス要求）を調停部１０に供給する。調停部１０は、これ等アクセス要求ＡＲＥＱ０をアクセスパラメータＡＰＲＭ０としてパラメータ変換部２０に出力する。パラメータ変換部２０は、アクセスコストの最も低いメモリマップＭＡＰを用いて、アクセスパラメータＡＰＲＭ０をアクセスパラメータＡＰＲＭ１に変換する。そして、アクセス制御部２２は、変換されたアクセスパラメータＡＰＲＭ１を用いて、ＤＲＡＭ４００にアクセスする。
【０１０９】
アクセスパターン解析は、符号化処理されるフレームより２フレーム以上先のフレームに対して行う。例えば、動画像処理部２００がフレームＦＬｔ＋１のマクロブロックを読み出し符号化処理している処理時間Ｔ１では、前処理部６００はフレームＦＬｔ＋３の縮小動きベクトル検出を行い、アクセスパターン情報ＡＰＩＮＦをアクセスコスト計算部１２Ａへ通知する。アクセスコスト計算部１２Ａは、将来、フレームＦＬｔ＋３を符号化処理する際に発生するフレームＦＬｔ＋２へのリードアクセスのサイクル数を計算し、アクセスコスト保存メモリ１４に書き込む。メモリマップ選択部１６は、アクセスコスト保存メモリ１４に保存されているフレームＦＬｔ＋２のリードアクセスのサイクル数の合計値をＭＡＰ１−４のそれぞれに対して計算し、サイクル数が最小となるメモリマップＭＡＰをメモリマップ保存メモリ１８に書き込む。処理時間Ｔ２では、動画像処理部２００においてフレームＦＬｔ＋２が符号化処理され、フレームＦＬｔ＋２の再構成画像がＤＲＡＭ４００に書き込まれるが、処理時間Ｔ１においてメモリマップ選択部１６がメモリマップ保存メモリ１８に書き込んだメモリマップＭＡＰを用いて書き込まれる。処理時間Ｔ３ではフレームＦＬｔ＋３の符号化処理において、フレームＦＬｔ＋２を参照画像として読み出すが、フレームＦＬｔ＋２の再構成画像は処理時間Ｔ３で発生する読み出しアクセスのサイクル数が最小となるメモリマップＭＡＰで書き込まれているため、アクセスに必要なサイクル数が削減されることになる。
【０１１０】
なお、アクセスコスト計算部１２Ａは、読み出しアクセスのコストだけでなく、書き込みアクセスのコストを計算してもよい。具体的には、アクセスコスト計算部１２Ａは、再構成画像を書き込むフレームＦＬについて、アクセスコストを計算し、アクセスコスト保存メモリ１４に書き込んでもよい。すなわち、処理時間Ｔ１において、処理時間Ｔ２で発生するフレームＦＬｔ＋２の再構成画像を書き込むアクセスコストを計算してもよい。この場合、メモリマップ選択部１６は、処理時間Ｔ２におけるフレームＦＬｔ＋２の再構成画像の書き込みアクセスのアクセスコストと処理時間Ｔ３におけるフレームＦＬｔ＋２の参照画像の読み出しアクセスのアクセスコストの平均値が最も小さいメモリマップＭＡＰを選択する。選択されたメモリマップＭＡＰは、処理時間Ｔ２において、フレームＦＬｔ＋２の再構成画像を書き込みアクセスするときのメモリマップとして使用される。再構成画像の書き込みはマクロブロック単位で行われるので、アクセスサイズＳＩＺＥは（１６，１６）、アクセス座標ＸＹは（１６ｍ，１６ｎ）となる。ただし、（ｍ＝０，１，２，３，・・・、ｎ＝０，１，２，３，・・・）である。
【０１１１】
図２５は、図２２に示した画像処理システムＳＹＳの動作タイミングの例を示している。カメラモジュール３００および動画像処理部２００の動作は図２１と同様であるので、説明を省略する。
【０１１２】
前処理部６００は、１マクロブロックごとに縮小動きベクトルの検出を行う（ＤＥＴＶ）。縮小動きベクトルの検出で得られた擬似動きベクトルから、アクセスパターン情報ＡＰＩＮＦを計算し、アクセスコスト計算部１２Ａへ出力する。具体的には、参照領域の読み出しであるため、リードライト種別ＲＷ１はリードアクセスである。図２３に示したように、アクセス座標ＸＹ１は、検出された縮小動きベクトルを（ＭＶｘ、ＭＶｙ）とすると、（ＭＶｘ−３、ＭＶｙ−３）である。アクセスサイズＳＩＺＥ１は（２２、２２）、アクセスフレーム番号ＦＮＯ１は、”（縮小動きベクトルの検出対象のフレーム番号）−１”である。例えば、縮小動きベクトルの検出の処理対象フレームがフレームＦＬｔの場合、アクセスフレーム番号ＦＮＯ１は”ｔ−１”となる。アクセスコスト計算部１２Ａは、前処理部６００から入力されるアクセスパターン情報ＡＰＩＮＦを用いてアクセスコストを計算することを除き、アクセスコスト計算部１２と同様に動作する。
【０１１３】
この実施形態では、フレームＦＬｔの再構成画像の書き込みで使用されるメモリマップＭＡＰを直接にフレームＦＬｔに対して発生するメモリアクセスの情報を用いて判定、選択しているため、上述した実施形態よりも、より正確にアクセスサイクル数が最小となるメモリマップＭＡＰを選択することができる。具体的には、Ｈ．２６４等による符号化処理において、前処理として縮小画像での縮小動きベクトルを検出し、縮小動きベクトルに基づいてアクセスパターン情報ＡＰＩＮＦを生成する。フレームの符号化処理で発生する参照領域のリードアクセスのアクセスサイズとアクセス座標は、縮小画像での動きベクトルによって正確に知ることができるので、各フレームの符号化処理において発生するリードアクセスのサイクル数を正確に見積もることができる。
【０１１４】
Ｈ．２６４等による復号処理に適用した場合も、符号化処理と同様に図２５に示すタイミングでメモリマップが選択される。Ｈ．２６４等の復号処理では、図１３を用いて説明した各処理の内、エントロピー復号部２４２で行っている処理を前処理部６００で行う処理とする。エントロピー復号部２４２はストリームデータをエントロピー復号し、アクセスパターン情報ＡＰＩＮＦとして動きベクトルとマクロブロックタイプを生成する。フレームの復号処理で発生する参照画像のリードアクセスのアクセスサイズＳＩＺＥ１とアクセス座標ＸＹ１は、動きベクトルとマクロブロックタイプによって正確に知ることができる。このため、各フレームの復号処理において発生するリードアクセスのサイクル数を正確に見積もることができる。例えば、動画像処理部２００がフレームＦＬｔ＋１の復号処理を行っている処理時間Ｔ１では、前処理部６００はフレームＦＬｔ＋３のエントロピー復号処理を行い、アクセスパターン情報ＡＰＩＮＦをアクセスコスト計算部１２Ａへ通知する。アクセスコスト計算部１２Ａは、将来、フレームＦＬｔ＋３を復号処理する際に発生するフレームＦＬｔ＋２へのリードアクセスのサイクル数を計算し、アクセスコスト保存メモリ１４に書き込む。メモリマップ選択部１６は、アクセスコスト保存メモリ１４に保存されているフレームＦＬｔ＋２のリードアクセスのサイクル数の合計値をＭＡＰ１−４のそれぞれに対して計算し、サイクル数が最小となるメモリマップＭＡＰをメモリマップ保存メモリ１８に書き込む。処理時間Ｔ２では、動画像処理部２００においてフレームＦＬｔ＋２が復号処理され、フレームＦＬｔ＋２の再構成画像がＤＲＡＭ４００に書き込まれるが、処理時間Ｔ１においてメモリマップ選択部１６がメモリマップ保存メモリ１８に書き込んだメモリマップＭＡＰを用いて書き込まれる。処理時間Ｔ３ではフレームＦＬｔ＋３の復号処理において、フレームＦＬｔ＋２を参照画像として読み出すが、フレームＦＬｔ＋２の再構成画像は処理時間Ｔ３で発生する読み出しアクセスのサイクル数が最小となるメモリマップＭＡＰで書き込まれているため、アクセスに必要なサイクル数が削減されることになる。
【０１１５】
以上、この実施形態においても、上述した実施形態と同様の効果を得ることができる。さらに、縮小画像を用いて符号化処理を行う画像処理システムにおいて、ＤＲＡＭ４００のアクセス効率を向上でき、画像処理システムの性能を向上できる。
【０１１６】
なお、上述した実施形態は、メモリコントローラ１００がＤＲＡＭ４００をアクセスする例について述べた。しかし、例えば、メモリコントローラ１００は、ＳＲＡＭ、擬似ＳＲＡＭ、フラッシュメモリおよび強誘電体メモリ等の他の半導体メモリをアクセスしてもよい。
【０１１７】
上述した実施形態は、画像データを符号化または復号する扱う画像処理システムについて述べた。しかし、上述した実施形態により符号化されるデータおよび復号されるデータは、ブロック単位で時系列に扱われるデータであれば、画像データでなくてもよい。
【０１１８】
図１２に示した符号化処理回路２１０は、メモリマップ選択部１６が選択したメモリマップＭＡＰの種類を示すマップ情報ＭＩＮＦをビットストリーム中に書き込むメモリマップ種類書き込み部を有していてもよい。この場合、図１３に示した復号処理回路２４０は、ビットストリーム中に書き込まれたメモリマップＭＡＰの種類を示すマップ情報ＭＩＮＦを読み出すメモリマップ種類読み込み部を有していてもよい。このとき、メモリマップ保存メモリ１８は、メモリマップ種類読み込み部が読み出したメモリマップＭＡＰの種類を保存する。パラメータ変換部２０は、メモリマップ保存メモリ１８に保存されているメモリマップＭＡＰに基づいてアクセスアドレスを変換する。
【０１１９】
上述した実施形態は、図２６および図２７に示す画像処理システムに適用されてもよい。図２６および図２７に示すメモリコントローラは、図２に示したメモリコントローラ１００または図２２に示したメモリコントローラ１００Ａの機能を有している。
【０１２０】
図２６はデジタル画像データを圧縮符号化し、記録・保存するデジタルビデオカメラを示している。カメラで撮影されたデジタルの入力画像データはメモリコントローラを介してＤＲＡＭに蓄積される。符号化処理部ではメモリコントローラを介してＤＲＡＭに蓄積されたデジタル画像データを読み出し、ＭＰＥＧ−２やＨ．２６４などの国際標準規格に従って符号化処理を行い、デジタル画像データの圧縮データとしてビットストリームを生成する。生成されたビットストリームは、ＳＤカード、ハードディスクドライブ、ＤＶＤ−Ｒなど、蓄積メディアに書き込み、保存される。符号化処理の過程で発生し、後続の画像データの符号化処理で参照する必要がある再構成画像はメモリコントローラを介してＤＲＡＭに対して書き込まれ、後続の画像データの符号化処理時にと読み出される。
【０１２１】
図２７は圧縮符号化されたビットストリームを伸張復号し、デジタル画像データを再生・表示するデジタル画像データ再生装置を示している。ＳＤカード、ハードディスクドライブ、ＤＶＤなど、蓄積メディアに書き込み、保存されているビットストリームが復号処理部に入力される。復号処理部では、ＭＰＥＧ−２やＨ．２６４など、ビットストリームが符号化された規格に従って復号処理を行い、デジタル画像データである再構成画像を復元、生成する。生成された再構成画像はメモリコントローラを介してＤＲＡＭに蓄積される。ＤＲＡＭに格納されている復元済みの再構成画像は、後続のビットストリームの復元処理に必要なため、メモリコントローラを介して復号処理部から読み出される。また、再生表示のためディスプレイ、テレビモニタなどの表示装置もメモリコントローラを介してＤＲＡＭから再構成画像を読み出す。
【０１２２】
以上の実施形態において説明した発明を整理して、付記として開示する。
（付記１）
半導体メモリに読み出しアクセスもしくは書き込みアクセスするメモリコントローラであって、
読み出しアクセスおよび書き込みアクセスの少なくともいずれかに必要なサイクル数をアクセスコストとして複数のメモリマップ毎に計算するアクセスコスト計算部と、
前記メモリマップの中からアクセスコストが最も低いメモリマップを選択するメモリマップ選択部と、
前記メモリマップ選択部が選択したメモリマップに基づいて、アクセスアドレスを変換するパラメータ変換部と、
変換されたアクセスアドレスに基づいて前記半導体メモリにアクセスするための制御信号を生成するアクセス制御部と、
を備えていることを特徴とするメモリコントローラ。
（付記２）
付記１記載のメモリコントローラにおいて、
前記半導体メモリは、１画面を表示するためのフレーム毎に画像データを保持し、
前記アクセスコスト計算部は、処理対象のフレームをアクセスするときのアクセスコストを、前記複数のメモリマップ毎に計算し、
前記メモリマップ選択部は、処理対象のフレームより先に処理が行われるフレームに対して前記アクセスコスト計算部が計算したアクセスコストに基づいて、処理対象のフレームのアクセスに使用する前記メモリマップのいずれかを選択すること
を特徴とするメモリコントローラ。
（付記３）
付記１記載のメモリコントローラにおいて、
前記半導体メモリは、１画面を表示するためのフレーム毎に画像データを保持し、
前記アクセスコスト計算部は、処理対象のフレームより後に処理が行われるフレームの前記半導体メモリへのアクセスに関するアクセスパターン情報を受け、前記アクセスパターン情報に基づいて読み出しアクセスおよび書き込みアクセスの少なくともいずれかに必要なサイクル数をアクセスコストとして前記メモリマップ毎に計算し、
前記メモリマップ選択部は、前記アクセスコスト計算部が計算したアクセスコストに基づいて、対応する処理対象のフレームのアクセスに使用する前記メモリマップのいずれかを選択すること
を特徴とするメモリコントローラ。
（付記４）
付記３記載のメモリコントローラにおいて、
縮小画像における動きベクトルに基づいて前記アクセスパターン情報を生成する前処理部を備えていることを特徴とするメモリコントローラ。
（付記５）
付記３または付記４記載のメモリコントローラにおいて、
前記前処理部は、前記動きベクトルとマクロブロックタイプに基づいて前記アクセスパターン情報を生成することを特徴とするメモリコントローラ。
（付記６）
付記２ないし付記５のいずれか１項記載のメモリコントローラにおいて、
前記アクセスコスト計算部は、前記フレームにそれぞれ対応して、前記メモリマップ毎に前記アクセスコストを計算し、
前記メモリマップ選択部は、前記フレーム毎に前記メモリマップの中からアクセスコストが最も低いメモリマップを選択すること
を特徴とするメモリコントローラ。
（付記７）
付記２ないし付記６のいずれか１項記載のメモリコントローラにおいて、
前記アクセスコスト計算部は、前記複数のメモリマップに対して、前記各フレームを複数に分割したブロック毎に前記アクセスコストを計算するとともに、前記フレーム毎に前記アクセスコストを累積し、
前記メモリマップ選択部は、前記アクセスコストの累積値が最も小さいメモリブロックを選択すること
を特徴とするメモリコントローラ。
（付記８）
付記１ないし付記７のいずれか１項記載のメモリコントローラにおいて、
書き込みアクセス時の書き込みデータを一時保存する書き込みバッファを有し、複数の書き込みアクセスごとに前記半導体メモリに書き込みアクセスを行うこと
を特徴とするメモリコントローラ。
（付記９）
付記２ないし付記８のいずれか１項記載のメモリコントローラと、
画像データを符号化する符号化処理回路と
を備えていることを特徴とする画像処理システム。
（付記１０）
付記９記載の画像処理システムにおいて、
前記符号化処理回路は、前記メモリマップ選択部が選択したメモリマップの種類をビットストリーム中に書き込むメモリマップ種類書き込み部を備えていることを特徴とする画像処理システム。
（付記１１）
付記１０記載の画像処理システムにおいて、
圧縮符号化された画像データを復号する復号処理回路を備え、
前記復号処理回路は、前記ビットストリーム中に書き込まれたメモリマップの種類を読み出すメモリマップ種類読み込み部を備え、
前記メモリコントローラは、メモリマップ種類読み込み部が読み出したメモリマップの種類を保存するメモリマップ保存メモリを備え、
前記パラメータ変換部は、メモリマップ保存メモリに保存されているメモリマップに基づいてアクセスアドレスを変換すること
を特徴とする画像処理システム。
（付記１２）
付記２ないし付記８のいずれか１項記載のメモリコントローラと、
圧縮符号化された画像データを復号する復号処理回路と
を備えていることを特徴とする画像処理システム。
（付記１３）
半導体メモリに読み出しアクセスもしくは書き込みアクセスするためのメモリアクセスの制御方法であって、
読み出しアクセスおよび書き込みアクセスの少なくともいずれかに必要なサイクル数をアクセスコストとして複数のメモリマップ毎に計算し、
前記メモリマップの中からアクセスコストが最も低いメモリマップを選択し、
選択したメモリマップに基づいて、アクセスアドレスを変換し、
変換されたアクセスアドレスに基づいて前記半導体メモリにアクセスするための制御信号を生成すること
を特徴とするメモリアクセスの制御方法。
【０１２３】
以上の詳細な説明により、実施形態の特徴点および利点は明らかになるであろう。これは、特許請求の範囲がその精神および権利範囲を逸脱しない範囲で前述のような実施形態の特徴点および利点にまで及ぶことを意図するものである。また、当該技術分野において通常の知識を有する者であれば、あらゆる改良および変更に容易に想到できるはずであり、発明性を有する実施形態の範囲を前述したものに限定する意図はなく、実施形態に開示された範囲に含まれる適当な改良物および均等物に拠ることも可能である。
【符号の説明】
【０１２４】
１０‥調停部；１２‥アクセスコスト計算部；１４‥アクセスコスト保存メモリ；１６‥メモリマップ選択部；１８‥メモリマップ保存メモリ；２０‥パラメータ変換部；２２‥アクセス制御部；２４‥入力切替部；２６‥出力切替部；２６‥書き込みバッファ；１００‥メモリコントローラ；２００‥動画像処理部；２１０‥符号化処理回路；２１２‥誤差画像生成部；２１４‥直交変換・量子化部；２１６‥エントロピー符号化部；２１８‥逆量子化・逆直交変換部；２２０‥再構成画像生成部；２２２‥デブロッキングフィルタ部；２２４‥画面内予測部；２２６‥動き補償部；２２８‥動き検出部；２３０‥切替部；２４０‥復号処理回路；２４２‥エントロピー復号部；２４４‥逆量子化・逆直交変換部；２４６‥再構成画像生成部；２４８‥デブロッキングフィルタ部；２５０‥動き補償部；２５２‥画面内予測部；２５４‥切替部；３００‥カメラモジュール；４００‥ＤＲＡＭ；５００‥蓄積部
【図１】
0005556082.tif 000002
【図２】
0005556082.tif 000003
【図３】
0005556082.tif 000004
【図４】
0005556082.tif 000005
【図５】
0005556082.tif 000006
【図６】
0005556082.tif 000007
【図７】
0005556082.tif 000008
【図８】
0005556082.tif 000009
【図９】
0005556082.tif 000010
【図１０】
0005556082.tif 000011
【図１１】
0005556082.tif 000012
【図１２】
0005556082.tif 000013
【図１３】
0005556082.tif 000014
【図１４】
0005556082.tif 000015
【図１５】
0005556082.tif 000016
【図１６】
0005556082.tif 000017
【図１７】
0005556082.tif 000018
【図１８】
0005556082.tif 000019
【図１９】
0005556082.tif 000020
【図２０】
0005556082.tif 000021
【図２１】
0005556082.tif 000022
【図２２】
0005556082.tif 000023
【図２３】
0005556082.tif 000024
【図２４】
0005556082.tif 000025
【図２５】
0005556082.tif 000026
【図２６】
0005556082.tif 000027
【図２７】
0005556082.tif 000028