(57)【要約】【課題】  ＤＲＡＭ等を利用して動画の圧縮符号化データの復号化処理を行う場合に、プリチャージサイクルの発生頻度を抑える。【解決手段】  ライトアクセス制御部５２およびリードアクセス制御部５４は、アドレス変換処理を行う機能を有する。アドレス変換処理では、アクセス要求により指定された画像データの論理アドレスを画像メモリ１１における当該画像データの記憶エリアを特定するメモリアドレスに変換する際、画面を所定の画素サイズの複数のブロックに分割した各ブロックについて、同一ブロック内の各画素の画像データの各論理アドレスを、ロウアドレスが同一であり、かつ、カラムアドレスが異なった複数のメモリアドレスに各々変換する変換ルールに従い、論理アドレスのメモリアドレスへの変換を行う。【選択図】図１
2008299438.tif 000002
【特許請求の範囲】
【請求項１】
メモリにおける画像データの書き込みまたは読み出しの制御を行うメモリ制御装置において、
メモリに対する画像データの書き込みまたは前記メモリからの画像データの読み出しを要求する情報であって、書き込み対象または読み出し対象である画像データの論理アドレスを含むアクセス要求を受信するアクセス要求受信手段と、
前記アクセス要求により指定された画像データの論理アドレスを前記メモリにおける当該画像データの記憶エリアを特定するメモリアドレスに変換して前記メモリに供給する手段であって、画面を所定の画素サイズの複数のブロックに分割した各ブロックについて、同一ブロック内の各画素の画像データの各論理アドレスを、ロウアドレスが同一であり、かつ、カラムアドレスが異なった複数のメモリアドレスに各々変換する変換ルールに従い、前記論理アドレスのメモリアドレスへの変換を行うアドレス変換手段と
を具備することを特徴とするメモリ制御装置。
【請求項２】
前記アクセス要求受信手段が前記複数のブロックにおける２以上のブロックに跨る領域内の画像データの論理アドレスを指定するアクセス要求を受け取った場合、当該領域内の画素を同一のブロックに属する画素のグループに分割し、各グループを順次選択して、グループ内の画素の画像データの論理アドレスのメモリアドレスへの変換およびメモリアドレスの前記メモリへの供給を前記アドレス変換手段に行わせるアクセス順序制御手段を具備することを特徴とする請求項１に記載のメモリ制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、メモリへのデータの書き込みまたはメモリからのデータの読み出しの制御を行うメモリ制御装置に係り、特にメモリを利用して動画の圧縮符号化データの復号化を行うデコーダ等に好適なメモリ制御装置に関する。
【背景技術】
【０００２】
ＭＰＥＧ（Moving Picture Expert Group）などの動画圧縮データの復号化を行うデコーダは、復号結果である画像データを画像メモリに格納し、この画像メモリへのアクセスを行いつつ復号化処理を実行する。そして、ＤＲＡＭ（Dynamic Random Access Memory）は、安価で大容量のものを容易に構成することができるため、この復号化処理のための画像メモリとして用いられることが多い。この画像メモリを利用した復号化処理において、デコーダは、画面を分割したブロックなどの連続領域単位で、復号化された画像データの画像メモリへの書き込みや画像メモリ内の画像データの参照を連続的に行う。従って、復号化処理の効率を高めるためには、特に連続領域内の画像データについての連続的なアクセスを高速化することが望まれる。
【特許文献１】特開２００３−１８６７４０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
ところで、動画を再生する装置の中には、復号化により得られた画像データを画像メモリからフレームメモリに転送し、表示装置の垂直走査期間内に、このフレームメモリに記憶された一画面分の各画素の画像データをラスタスキャン順に読み出して表示装置に表示させる構成のものが多い。ここで、ラスタスキャン順とは、画面において、水平走査線上に並んだ画素の左端から右端に向けての水平走査と、走査対象である水平走査線を画面上方から画面下方に１本ずつシフトさせる垂直走査とを交互に繰り返した場合における画面内の各画素の走査順序をいう（以下、この明細書において同じ）。この種の動画再生装置では、ラスタスキャンに合わせた画像データの読み出し処理を容易に行うため、画像データをフレームメモリに記憶させる際のメモリアドレスとして、画面内の各画素にラスタスキャン順に割り当てられた論理アドレスを使用するものが一般的である。そして、この種の動画再生装置では、画像メモリからフレームメモリへの画像データの転送を容易にするため、画像メモリに画像データを記憶させる際にも、メモリアドレスとして、論理アドレスを用いるのが一般的である。しかし、動画の圧縮符号化データの復号化処理では、画面を分割したブロック単位で画像メモリへ画像データを連続的に書き込む処理や、あるサイズの矩形領域単位で画像メモリから画像データを連続的に読み出す処理が頻繁に発生する。これらの連続的な画像メモリへのアクセスにおいて、メモリアドレスとして論理アドレスを用いると、アクセスに用いる一連のメモリアドレスにおいてロウアドレスの変化する箇所が多数発生し、これによりプリチャージサイクルが発生し、画像データの効率的な書き込みや読み出しが妨げられるという問題があった。
【０００４】
この発明は、以上説明した事情に鑑みてなされたものであり、ＤＲＡＭ等のメモリを利用して動画の圧縮符号化データの復号化処理を行う場合にプリチャージサイクルの発生頻度を抑えて、効率的にメモリへのアクセスを行うことを可能にするメモリ制御装置を提供することを目的としている。
【課題を解決するための手段】
【０００５】
この発明は、メモリにおける画像データの書き込みまたは読み出しの制御を行うメモリ制御装置において、メモリに対する画像データの書き込みまたは前記メモリからの画像データの読み出しを要求する情報であって、書き込み対象または読み出し対象である画像データの論理アドレスを含むアクセス要求を受信するアクセス要求受信手段と、前記アクセス要求により指定された画像データの論理アドレスを前記メモリにおける当該画像データの記憶エリアを特定するメモリアドレスに変換して前記メモリに供給する手段であって、画面を所定の画素サイズの複数のブロックに分割した各ブロックについて、同一ブロック内の各画素の画像データの各論理アドレスを、ロウアドレスが同一であり、かつ、カラムアドレスが異なった複数のメモリアドレスに各々変換する変換ルールに従い、前記論理アドレスのメモリアドレスへの変換を行うアドレス変換手段とを具備することを特徴とするメモリ制御装置を提供する。
かかる発明によれば、同一ブロック内の複数の画素の画像データをメモリに書き込む場合またはメモリから読み出す場合に、プリチャージサイクルを発生させることなく、複数の画素の画像データの連続書き込みまたは連続読み出しを行うことができる。
なお、ＤＲＡＭのプリチャージサイクルの発生への対策を図った技術的手段としては、いわゆるバンクインタリーブ技術により、プリチャージサイクルを隠蔽し、見掛け上の画像メモリのアクセス時間の短縮化を図る技術がある（例えば特許文献１参照）。
しかし、本発明は、このようなバンクインタリーブ技術によりプリチャージサイクルの隠蔽を図るものではなく、連続アクセスの途中において論理アドレスをプリチャージサイクルを発生させない一連のメモリアドレスに変換することにより、ブロック内の画像データへの連続アクセスの効率化を図るものであり、この点において特許文献１に開示の技術とは根本的に異なる。
【発明を実施するための最良の形態】
【０００６】
以下、図面を参照し、この発明の実施の形態を説明する。
図１はこの発明の一実施形態であるメモリ制御装置５を備えた画像処理装置の構成を示すブロック図である。この画像処理装置は、例えばパチンコなどのゲーム機における画像処理を行う装置である。図示のように、画像処理装置は、ホストＣＰＵ１と、圧縮動画ＲＯＭ２と、復号化部３と、描画部４と、メモリ制御装置５と、フレームメモリ６と、ＤＭＡＣ（Direct Memory Access Controller）７と、これらを相互に接続するバス８とを有している。また、画像処理装置は、メモリ制御装置５を介してバス８に接続された画像メモリ１１と、液晶表示パネルなどにより構成された表示部１２と、所定時間長のフレーム周期毎にフレームメモリ６に記憶された画像データを表示部１２に表示させる表示制御部１３とを有する。
【０００７】
ホストＣＰＵ１は、この画像処理装置全体の制御中枢であり、ゲームの進行過程において発生する各種のイベントに応じて、各種の動画や静止画の画像データを発生させ、表示部１２に表示させるための制御を行う。
【０００８】
圧縮動画ＲＯＭ２には、各種のイベンドに応じて再生する各種の動画シーンの圧縮符号化データが記憶されている。これらの圧縮符号化データは、動画シーンを構成する一連のフレームの画像データに対し、動き補償を伴った圧縮符号化処理を施すことにより得られたデータである。以下、この圧縮符号化処理の概略を説明する。なお、符号化対象である１つの画像フレームは、Ｙ、Ｕ、Ｖの３つのプレーンからなり、圧縮符号化処理は、これらの３つのプレーンを対象として行われる。しかし、いずれのプレーンについても、符号化処理の内容に本質的な違いはないので、以下では、Ｙプレーンに関する処理のみについて述べる。後述する復号化処理に関しても同様である。この明細書では、Ｙプレーンの画像データの処理のみについて説明し、Ｕ、Ｖの各プレーンについては説明を省略する。
【０００９】
まず、圧縮符号化処理では、１つの動画シーンを構成する複数の画像フレームの中からフレーム内符号化処理の対象となる１または複数のキーフレームが選択され、キーフレーム以外の画像フレームは、フレーム間符号化処理の対象であるインターフレームとされる。
【００１０】
フレーム内符号化処理では、キーフレームが１６×１６画素の矩形のブロックに分割され、ブロック単位で、ブロック内の１６×１６画素の画像データにＤＣＴ（Discrete Cosine Transform；離散コサイン変換）等の直交変換が施され、周波数領域の表現形式で画像を表現した圧縮符号化データ（以下、便宜上、キーフレームデータという。）とされる。
【００１１】
一方、フレーム間符号化処理では、インターフレームが１６×１６画素の矩形のブロックに分割され、ブロック単位で、動き予測およびフレーム間差分符号化処理が行われる。さらに詳述すると、動き予測では、圧縮符号化対象のインターフレームの直前のフレーム（キーフレームまたはインターフレーム）が参照フレームとされ、圧縮符号化対象のインターフレームを構成する１６×１６画素のブロック毎に、当該ブロックに最も類似した画像を持った１６×１６画素の矩形領域（以下、便宜上、参照ブロックという）が求められ、画面内における当該ブロックと参照ブロックとの間の相対的な移動ベクトルである動きベクトルが求められる。
【００１２】
また、フレーム間差分符号化処理では、圧縮符号化対象のインターフレームを構成するブロック毎に、当該ブロックとその参照ブロックとの差分画像が求められ、この差分画像に対して、ＤＣＴ等の直交変換が施され、周波数領域の表現形式で差分画像を表現した圧縮符号化データとされる。そして、各ブロックについて得られた動きベクトルと周波数表現の圧縮符号化データとによりインターフレームの圧縮符号化データ（以下、便宜上、インターフレームデータという。）が構成される。
【００１３】
圧縮動画ＲＯＭ２に記憶された圧縮符号化データは、以上のようにして得られたキーフレームデータとインターフレームデータとからなる時系列データである。
【００１４】
復号化部３は、ホストＣＰＵ１からの指示に従い、圧縮動画ＲＯＭ２から動画の圧縮符号化データを読み出し、その復号化を行う装置である。画像メモリ１１は、復号結果である画像データを記憶するためのメモリであり、メモリ制御装置５を介してバス８に接続されている。
【００１５】
本実施形態における画像メモリ１１は、ＳＤＲＡＭ（Synchronous Dynamic Random
Access Memory）であり、いわゆるページモードでのブロック転送が可能な構成となっている。すなわち、本実施形態では、ロウアドレスが同一であり、かつ、カラムアドレスが異なっている複数のメモリアドレスを対象として画像メモリ１１に対するデータ書き込みや画像メモリ１１からのデータ読み出しを行う場合には、ロウアドレスを画像メモリ１１の内部のラッチに保持させて、カラムアドレスのみを切り換え、プリチャージサイクルを発生させることなく、一連のデータの連続書き込みや連続読み出しを行うことが可能である。
【００１６】
復号化部３は、ブロック単位で、動画の圧縮符号化データの復号化を行い、復号化により得られた画像データをメモリ制御装置５を介して画像メモリ１１に格納する。また、復号化部３は、インターフレームデータの復号化処理を行う場合には、復号化対象フレームの直前のフレームを参照フレームとし、画像メモリ１１に記憶された参照フレームの画像データを参照する。
【００１７】
さらに詳述すると、復号化対象フレームのあるブロックの復号化を行う場合、その復号化対象ブロックに対応付けられた動きベクトルを用いて、その復号化対象ブロックが圧縮符号化された際に用いられた参照フレーム内の参照ブロックを求め、この参照ブロックを上下左右方向に各１画素ずつ拡張した１８×１８画素の参照矩形領域を求める。そして、参照フレームにおける参照矩形領域内の画素の画像データを画像メモリ１１からメモリ制御装置５を介して読み出し、復号化処理に用いるのである。
【００１８】
ここで、１６×１６画素の参照ブロックではなく、それより大きい１８×１８画素の参照矩形領域の画像データを参照するのは、本実施形態における復号化部３は、復号化処理の際に、１８×１８画素の参照矩形領域の画像データにフィルタ処理を施して、ブロック境界付近における画質の改善された１６×１６画素の参照ブロックの画像データを生成し、これを用いて復号化対象ブロックの画像データを生成するからである。
【００１９】
以上説明した復号化処理の実行過程における復号化部３および画像メモリ１１間の画像データの転送は、バス８を介したＤＭＡ（Direct Memory Access）転送により行われる。ＤＭＡＣ７は、その際のＤＭＡ転送の制御を行う。
【００２０】
描画部４は、ホストＣＰＵ１から与えられる指示に従い、画像メモリ１１内の復号化済みの画像データ（動画）をメモリ制御装置５を介して読み出し、この画像データをフレームメモリ６内の表示対象の画像データに反映させる描画処理を行う。この描画処理は、画像メモリ１１から読み出した画像データ（動画）の拡大、縮小、回転等の処理や、この処理を経た画像データ（動画）と背景画像とのブレンディングなどの処理を含む。
【００２１】
メモリ制御装置５は、バス８に出力された画像データを画像メモリ１１に書き込む際の書き込み制御および画像メモリ１１から画像データを読み出してバス８に出力する際の読み出し制御を行う装置である。本実施形態の特徴は、このメモリ制御装置５の構成および機能にある。
【００２２】
図２に示すように、本実施形態におけるメモリ制御装置５は、アクセス要求受信部５１と、ライトアクセス制御部５２と、ライトバッファ５３と、リードアクセス制御部５４と、リードバッファ５５とを有する。
【００２３】
上述した通り、復号化部３が画像メモリ１１を利用して復号化処理を行う過程において、ＤＭＡＣ７は、復号化部３および画像メモリ１１間の画像データのＤＭＡ転送の制御を行う。その際に、ＤＭＡＣ７は、画像メモリ１１に対する画像データの書き込みまたは画像メモリ１１からの画像データの読み出しを要求するアクセス要求をアクセス要求受信部５１に与える。このアクセス要求は、ＤＭＡ転送の対象である画像データの帰属先であるフレームおよびそのフレーム内における画像データの所在位置を示す情報を含む。アクセス要求受信部５１は、画像データの書き込みを要求するアクセス要求を受信した場合には、そのアクセス要求をライトアクセス制御部５２へ、画像データの読み出しを要求するアクセス要求を受信した場合には、そのアクセス要求をリードアクセス制御部５４へ供給する。
【００２４】
ライトアクセス制御部５２は、アクセス要求受信部５１を介して与えられるアクセス要求（画像データの書き込み要求）に従って、バス８に出力された画像データをライトバッファ５３に一旦書き込み、このライトバッファ５３に記憶された画像データを画像メモリ１１に書き込む制御を行う。また、リードアクセス制御部５４は、アクセス要求受信部５１を介して与えられるアクセス要求（画像データの読み出し要求）に従って、画像メモリ１１から画像データを読み出してリードバッファ５５に一旦書き込み、このリードバッファ５５に記憶された画像データをバス８に出力させる制御を行う。
【００２５】
本実施形態において、復号化部３や描画部４等のバス８に接続された各装置は、画像データを特定するアドレスとして、論理アドレスＡＤＲＳを使用する。この論理アドレスＡＤＲＳは、次式に示すように、画面アドレスＢＡＳＥと、画面内画素アドレスＡＤＲＳ０との和により与えられる。
ＡＤＲＳ＝ＢＡＳＥ＋ＡＤＲＳ０          ……（１）
【００２６】
ここで、画面アドレスＢＡＳＥは、画面を特定するアドレスであり、より具体的には、図３（ａ）に示すように、その画面の最も左上に位置する画素の論理アドレスを示している。また、画面内画素アドレスＡＤＲＳ０は、１つの画面内において通用する各画素の相対的な論理アドレスである。図３（ａ）に示すように、ある画素の画面内画素アドレスＡＤＲＳ０は、その画面の最も左上の画素からラスタスキャン順に画素を数えていった場合において、画面の最も左上の画素から何画素だけ後にその画素があるかを示す。
【００２７】
そして、復号化部３や描画部４等のバス８に接続された各装置は、画像データをバス８を介して他の装置（例えばフレームメモリ６）に転送するときには、その画像データを特定する論理アドレスＡＤＲＳをバス８に出力し、他の装置からバス８を介して画像データを受け取るときには、その画像データを特定する論理アドレスＡＤＲＳをバス８に出力する。
【００２８】
一方、本実施形において、画面を構成する各画素の画像データを記憶させる画像メモリ１１内の各記憶エリアのメモリアドレスａｄｒｓ（ロウアドレス＋カラムアドレス）は、次のように決定されている。すなわち、本実施形態では、画面を１６×１６画素の複数のブロックに分割した各ブロックについて、１ブロック分の全画素の画像データの画像メモリ１１への連続的な書き込みまたは１ブロック分の全画素の画像データの画像メモリ１１からの連続的な読み出しを行う場合に、プリチャージサイクルを発生させることなく連続書き込みまたは連続読み出しを行うことができるように、画面内の各画素の画像データを記憶する画像メモリ１１内の記憶エリアのメモリアドレスａｄｒｓが決定されている。より具体的には、本実施形態では、図３（ｂ）に示すように、１つのブロック内の各画素の画像データは、画像メモリ１１内の記憶エリアのうち、ロウアドレスが同一であり、かつ、カラムアドレスが連続した１６×１６個のメモリアドレスａｄｒｓに対応した各記憶エリアに記憶される。
【００２９】
このように本実施形態では、同じ画素の画像データを特定するアドレスであっても、バス８に接続された装置間でその画像データを特定するのに用いる論理アドレスＡＤＲＳと、その画像データを記憶する画像メモリ１１の記憶エリアのメモリアドレスａｄｒｓとでは、一般的に値が異なる。そこで、本実施形態では、画像データの書き込みまたは読み出しが行われる際に、その対象である画像データの論理アドレスＡＤＲＳをメモリアドレスａｄｒｓに変換して画像メモリ１１に供給するアドレス変換処理を実行する機能がライトアクセス制御部５２およびリードアクセス制御部５４に設けられている。
【００３０】
このライトアクセス制御部５２およびリードアクセス制御部５４におけるアドレス変換処理では、画面を１６×１６画素の複数のブロックに分割した各ブロックについて、同一ブロック内の各画素の画像データの各論理アドレスＡＤＲＳを、プリチャージサイクルを発生させることなく画像メモリ１１への連続アクセスを行うことが可能な複数のメモリアドレスａｄｒｓに各々変換する変換ルールに従い、論理アドレスＡＤＲＳのメモリアドレスａｄｒｓへの変換を行う。より具体的には、この変換ルールでは、同一ブロック内の各画素の論理アドレスＡＤＲＳをロウアドレスが同一であり、カラムアドレスが連続した複数のメモリアドレスａｄｒｓに各々変換する。従って、同一ブロック内の複数画素を対象として画像データの画像メモリ１１への書き込みまたは画像メモリ１１からの画像データの読み出しの際には、ライトアクセス制御部５２またはリードアクセス制御部５４が実行するアドレス変換処理により、それらの画素の論理アドレスＡＤＲＳがプリチャージサイクルを発生させない複数のメモリアドレスａｄｒｓに変換されて画像メモリ１１に供給される。従って、効率的な画像メモリ１１のアクセスが実現される。
【００３１】
また、本実施形態において、リードアクセス制御部５４には、アドレス変換処理を実行する機能の他に、アクセス順序制御処理を実行する機能が設けられている。以下、このアクセス順序制御処理の概略について説明する。
【００３２】
まず、復号化部３がインターフレームデータの復号化処理を行う場合には、画像メモリ１１に記憶された参照フレームの画像データのうち、１８×１８画素の参照矩形領域の画像データを読み出す。ここで、復号対象フレームと参照フレームとの間には一般的に動きがあり、参照フレーム内の参照矩形領域は、復号対象フレームにおける１６×１６画素の復号対象ブロックの移動前の画像の領域である。また、参照矩形領域のサイズは１８×１８画素であり、ブロックのサイズよりも大きい。このため、参照矩形領域は、画面を１６×１６画素のブロックに区切るブロック境界を跨ぐこととなる。
【００３３】
このように参照矩形領域がブロック境界を跨いでいる状態において、参照矩形領域内の各画素をラスタスキャン順に選択して、その画素の論理アドレスＡＤＲＳをメモリアドレスａｄｒｓに変換して画像メモリ１１に供給したとすると、アドレス変換の対象である画素がブロック境界を跨ぐ度に、変換後のメモリアドレスａｄｒｓのロウアドレスが変化し、プリチャージサイルスが発生する。そこで、本実施形態において、リードアクセス制御部５４は、アドレス変換処理とともにアクセス順序制御処理を実行する。このアクセス順序制御処理は、複数のブロックに跨る参照矩形領域内の画像データを対象とした画像メモリ１１へのアクセス要求が発生した場合、当該参照矩形領域内の画素を同一のブロックに属する画素のグループに分割し、各グループを順次選択して、グループ内の画素の画像データの論理アドレスＡＤＲＳをアドレス変換処理に引き渡す処理である。ここで、アドレス変換処理は、アクセス順序制御処理から引き渡された同一グループに属する各画素の論理アドレスＡＤＲＳを、プリチャージサイクルを発生させないメモリアドレスａｄｒｓに各々変換する。従って、参照矩形領域内の各画素をラスタスキャン順に選択してアドレス変換を行う場合に比べて、プリチャージサイクルの発生頻度を減らすことができる。
【００３４】
次に、図４（ａ）、（ｂ）および（ｃ）は、ライトアクセス制御部５２およびリードアクセス制御部５４が行うアドレス変換処理の内容を示す図である。また、図５は、復号化部３がインターフレームデータの復号化処理を行っている場合における復号化部３および画像メモリ１１間の画像データの転送態様を例示する図である。以下、これらの図を参照し、本実施形態の動作を説明する。
【００３５】
ホストＣＰＵ１は、動画の圧縮符号化データの復号化処理を復号化部３に実行させる際、その圧縮符号化データの圧縮動画ＲＯＭ２における記憶エリアを復号化部３に通知する。また、その際にホストＣＰＵ１は、復号化処理により得られた画像データを取り扱う復号化部３やメモリ制御装置５等の各装置に対し、現在の復号化対象フレーム、現在の復号化対象フレームの復号化処理において参照する参照フレーム、参照フレームとしての役割を終え、描画部４によってフレームメモリ６に転送されるのを待つ描画待ちフレーム等の各フレームについて、各々を特定する論理アドレスＡＤＲＳの初期値である画面アドレスＢＡＳＥを通知する。また、ホストＣＰＵ１は、復号化対象フレーム、参照フレーム、描画待ちフレーム等の各フレームについて、画像メモリ１１内においてそのフレームの画像データを記憶するのに用いる一連の記憶エリアのうち先頭の記憶エリアのメモリアドレスである格納開始アドレスｂａｓｅをメモリ制御装置５に通知する。さらにホストＣＰＵ１は、各フレームの水平方向の画面サイズを画素数により表した値Ｓｔｒｉｄｅをメモリ制御装置５に通知する。
【００３６】
復号化部３は、１６×１６画素のブロック単位で、キーフレームデータまたはインターフレームデータの復号化処理を行い、１６×１６画素の画像データを生成する。そして、１ブロック分の画像データが得られる都度、ＤＭＡＣ７に画像メモリ１１へのＤＭＡ転送指令を送る。このＤＭＡ転送指令は、転送対象である画像データの論理アドレスＡＤＲＳ、具体的には復号化対象フレームの画面アドレスＢＡＳＥと、転送対象である１ブロック分の画像データのうち代表的なもの（例えばブロックの最も左上の画素）の画面内画素アドレスＡＤＲＳ０を含むとともに、転送対象である画像データのブロックサイズ（この例の場合、１６画素）を含む。
【００３７】
ＤＭＡＣ７は、ＤＭＡ転送指令を受け取ると、そのＤＭＡ転送指令をアクセス要求としてメモリ制御装置５のアクセス要求受信部５１に与える。メモリ制御装置５のライトアクセス制御部５２は、アクセス要求受信部５１が受信したアクセス要求に含まれる情報に基づき、転送対象である１ブロック分の画素の画像データの論理アドレスＡＤＲＳを全て求め、それらの各論理アドレスＡＤＲＳをメモリアドレスａｄｒｓに変換するアドレス変換処理を実行する。一方、ＤＭＡＣ７は、メモリ制御装置５を介した復号化部３から画像メモリ１１への画像データのＤＭＡ転送を開始させる。このＤＭＡ転送は、画像データの画像メモリ１１への書き込みに歩調を合わせて、１画素ずつ行われる。さらに詳述すると、ライトアクセス制御部５２は、ライトバッファ５３に空きが発生する度に、ＤＭＡＣ７にデータ要求を送る。ＤＭＡＣ７は、このデータ要求に応じて、１画素分の画像データを復号化部３からバス８に出力させる。ライトアクセス制御部５２は、この画像データをライトバッファ５３に書き込む。そして、ライトバッファ５３から画像データを取り出して画像メモリ１１に与えるとともに、この画像データのアドレス変換後のメモリアドレスａｄｒｓを画像メモリ１１に与え、画像データを画像メモリ１１に書き込む。このようにしてライトバッファ５３に空きが生じると、ライトアクセス制御部５２は、上述のようにデータ要求をＤＭＡＣ７に送るのである（以上、図５参照）。
【００３８】
ライトアクセス制御部５２が実行するアドレス変換処理の内容は次の通りである。まず、アドレス変換処理では、論理アドレスＡＤＲＳにおける画面内画素アドレスＡＤＲＳ０と、水平方向の画面サイズＳｔｒｉｄｅを用いて、次式の演算を行い、画面内ブロックアドレスＹを求める。
Ｙ＝Ｉｎｔ［ＡＤＲＳ０／（Ｓｔｒｉｄｅ・１６）］・１６    ……（２）
【００３９】
上記式（２）において、Ｉｎｔ［］は、［］内の数値の整数部を選択する演算子である。そして、Ｉｎｔ［ＡＤＲＳ０／（Ｓｔｒｉｄｅ・１６）］は、画面内において、１６×１６画素のブロックを水平方向に並べたストライドが、画面内画素アドレスＡＤＲＳ０により指定される画素の上方に何本あるかを示している。従って、画面内ブロックアドレスＹは、図４（ａ）に示すように、画面内画素アドレスＡＤＲＳ０により指定される画素の上方にある０、１または複数本のストライドの垂直方向の画素数を示す値となる。そして、この画面内ブロックアドレスＹは、図４（ｃ）に示すように、画面を１６×１６画素のブロックに区切った場合において、画面内画素アドレスＡＤＲＳ０により指定される画素が属するブロックの上端の画素の垂直方向の位置を画素数により表した値となる。
【００４０】
次にアドレス変換処理では、次式に従い、値ＡＤＲＳ１を求める。
ＡＤＲＳ１＝ＡＤＲＳ０−Ｙ・Ｓｔｒｉｄｅ                ……（３）
【００４１】
上記式（３）において、Ｙ・Ｓｔｒｉｄｅは、画面内画素アドレスＡＤＲＳ０により指定される画素の上方にある０、１または複数本のストライドの全画素数を示す。従って、値ＡＤＲＳ１は、図４（ａ）に示すように、この０、１または複数本のストライドの直下の水平走査線上における最も左端の画素から画面内画素アドレスＡＤＲＳ０により指定される画素までの画素数を示す値となる。
【００４２】
次にアドレス変換処理では、次式に従い、ブロック内画素アドレスｙを求める。
ｙ＝Ｉｎｔ［ＡＤＲＳ１／Ｓｔｒｉｄｅ］                  ……（４）
このブロック内画素アドレスｙは、図４（ａ）に示すように、画面内画素アドレスＡＤＲＳ０により指定される画素の上方にある０、１または複数本のストライドの直下の水平走査線から画面内画素アドレスＡＤＲＳ０により指定される画素が属する水平走査線の直前の水平走査線までの各水平走査線の本数を示す値となる。そして、このブロック内画素アドレスｙは、図４（ｃ）に示すように、画面を１６×１６画素のブロックに区切った場合において、画面内画素アドレスＡＤＲＳ０により指定される画素のブロック内における垂直方向の位置を画素数により表した値となる。
【００４３】
次にアドレス変換処理では、次式に従い、値ＡＤＲＳ２を求める。
ＡＤＲＳ２＝ＡＤＲＳ１−ｙ・Ｓｔｒｉｄｅ                ……（５）
【００４４】
上記式（５）において、ｙ・Ｓｔｒｉｄｅは、０、１または複数本のストライドの直下の水平走査線から画面内画素アドレスＡＤＲＳ０により指定される画素が属する水平走査線の直前の水平走査線までの各水平走査線上にある画素の総数である。従って、上記式（５）における値ＡＤＲＳ２は、画面内画素アドレスＡＤＲＳ０により指定される画素が、その画素が属する水平走査線上において、左端から何画素目にあるかを示す値となる。
【００４５】
次にアドレス変換処理では、次式に従い、画面内ブロックアドレスＸを求める。
Ｘ＝Ｉｎｔ［ＡＤＲＳ２／１６］・１６                    ……（６）
【００４６】
上記式（６）において、Ｉｎｔ［ＡＤＲＳ２／１６］は、画面内において、画面内画素アドレスＡＤＲＳ０により指定される画素の左側に１６×１６画素のブロックが何個並んでいるかを示す値となる。従って、上記式（６）における画面内ブロックアドレスＸは、図４（ｃ）に示すように、画面を１６×１６画素のブロックに区切った場合において、画面内画素アドレスＡＤＲＳ０により指定される画素が属するブロックの左端の画素の水平方向の位置を画素数により表した値となる。
【００４７】
次にアドレス変換処理では、次式に従い、値ｘを求める。
ｘ＝ＡＤＲＳ２−Ｘ                                    ……（７）
【００４８】
上記式（７）において、既に述べたように、値ＡＤＲＳ２は、画面内画素アドレスＡＤＲＳ０により指定される画素が、その画素が属する水平走査線上において、左端から何画素目にあるかを示している。従って、上記式（７）における値ｘは、図４（ｃ）に示すように、画面を１６×１６画素のブロックに区切った場合において、画面内画素アドレスＡＤＲＳ０により指定される画素がブロック内における水平方向の位置を画素数により表した値となる。
【００４９】
そして、アドレス変換処理では、以上のようにして算出された値Ｙ、Ｘ、ｙおよびｘを用いて、次式（８）の演算を行い、画面内相対メモリアドレスａｄｒｓ０を求める。この画面内相対メモリアドレスａｄｒｓ０は、画面内の画素のメモリアドレスａｄｒｓを、その画面の格納開始アドレスｂａｓｅを基準とする相対アドレスとして表したものである。そして、アドレス変換処理では、この画面内相対メモリアドレスａｄｒｓ０とホストＣＰＵ１から通知された格納開始アドレスｂａｓｅとを用いて、次式（９）の演算を行い、論理アドレスＡＤＲＳ＝ＢＡＳＥ＋ＡＤＲＳ０により指定された画像データを記憶する画像メモリ１１内の記憶エリアのメモリアドレスａｄｒｓを算出する。
ａｄｒｓ０＝Ｙ・Ｓｔｒｉｄｅ＋Ｘ・１６＋ｙ・１６＋ｘ  ……（８）
ａｄｒｓ＝ｂａｓｅ＋ａｄｒｓ０                        ……（９）
【００５０】
本実施形態におけるアドレス変換処理では、上記式（８）および（９）におけるｂａｓｅ＋Ｙ・Ｓｔｒｉｄｅ＋Ｘ・１６をメモリアドレスのロウアドレスとし、ｙ・１６＋ｘをメモリアドレスのカラムアドレスとする。そして、アドレス変換処理では、処理により得られたカラムアドレスは全て画像メモリ１１に出力するが、ロウアドレスについては、前回得られたロウアドレスと異なるロウアドレスが得られた場合に限って画像メモリ１１に出力する。
【００５１】
ここで、ロウアドレスを決定するＹおよびＸは、図４（ｃ）に示すように、論理アドレスＡＤＲＳ＝ＢＡＳＥ＋ＡＤＲＳ０により指定される画素が属するブロックの画面内における垂直方向の位置および水平方向の位置を各々画素数により表した値となる。従って、同一ブロック内の画素であれば、それらの画素の論理アドレスＡＤＲＳから算出されるロウアドレスｂａｓｅ＋Ｙ・Ｓｔｒｉｄｅ＋Ｘ・１６は同一の値となる。一方、ｙおよびｘは、ブロック内の画素の垂直方向の位置および水平方向の位置を各々画素数により表した値であるから、同一ブロック内においてラスタスキャン順に並んだ各画素の論理アドレスＡＤＲＳから算出されるカラムアドレスｙ・１６＋ｘは連続した値となる。
【００５２】
本実施形態において、復号化部３から画像メモリ１１への画像データのＤＭＡ転送がブロック単位で行われる際、ライトアクセス制御部５２は、以上説明したアドレス変換処理をそのブロック内の画素の論理アドレスに施し、ロウアドレスが同一であり、カラムアドレスが連続した複数のメモリアドレスａｄｒｓを発生する。そして、発生した一連のメモリアドレスａｄｒｓを画像メモリ１１に順次供給するとともに、これに同期させて、ブロック内の各画素の画像データをライトバッファ５３を介して画像メモリ１１に順次供給する（図５参照）。従って、プリチャージサイクルを発生させることなく、１ブロック分の画素の画像データを画像メモリ１１に書き込むことができる。
【００５３】
次に、復号化部３がインターフレームデータの復号化処理を実行する過程において、画像メモリ１１に記憶された参照フレームの画像データのうち参照矩形領域の画像データを参照する場合における画像データの転送動作について説明する。
【００５４】
まず、復号化部３は、参照矩形領域の画像データを画像メモリ１１から復号化部３にＤＭＡ転送させるためのＤＭＡ転送指令をＤＭＡＣ７に送る。このＤＭＡ転送指令は、転送対象である画像データの論理アドレスＡＤＲＳ、具体的には参照フレームの画面アドレスＢＡＳＥと、転送対象である参照矩形領域内の画像データのうち代表的なもの（例えば参照矩形領域の最も左上の画素）の画面内画素アドレスＡＤＲＳ０を含むとともに、転送対象である画像データのブロックサイズ（この例の場合、１８画素）を含む。
【００５５】
ＤＭＡＣ７は、ＤＭＡ転送指令を受け取ると、そのＤＭＡ転送指令をアクセス要求としてメモリ制御装置５のアクセス要求受信部５１に与える。そして、ＤＭＡＣ７は、以下説明するリードアクセス制御部５４の処理により、参照矩形領域内の全ての画素の画像データが画像メモリ１１から読み出されてリードバッファ５５内に蓄積されるのを待つ。
【００５６】
まず、リードアクセス制御部５４は、アクセス順序制御処理を実行する。このアクセス順序制御処理では、アクセス要求受信部５１が受信したアクセス要求に含まれる情報に基づき、転送対象である画像データが属する参照矩形領域を求め、この参照矩形領域内の画素を同一のブロックに属する画素のグループに分割する。図５に示す例では、参照矩形領域が４つのグループＳ１、Ｓ２、Ｓ３およびＳ４に分割されている。そして、アクセス順序制御処理では、各グループＳ１、Ｓ２、Ｓ３およびＳ４を順次選択する。そして、１つのグループを選択すると、そのグループ内の各画素の論理アドレスＡＤＲＳを求め、それらの論理アドレスＡＤＲＳをラスタスキャン順（すなわち、論理アドレス順）にアドレス変換処理に引き渡す。
【００５７】
アドレス変換処理では、アクセス順序制御処理から引き渡された論理アドレスＡＤＲＳのメモリアドレスａｄｒｓへの変換およびメモリアドレスａｄｒｓの画像メモリ１１を行い、画像メモリ１１から画像データを読み出してリードバッファ５５内に蓄積させる。この場合のアドレス変換処理の内容は、既に図４を参照して説明した通りである。
【００５８】
図５には、グループＳ１、Ｓ２、Ｓ３、Ｓ４の順に、グループの選択、選択したグループ内の画素についての論理アドレスからメモリアドレスへのアドレス変換およびメモリアドレスを用いた画像データの読み出しが行われ、各グループに対応した画像データがリードバッファ５５内に蓄積される様子が例示されている。
【００５９】
このようにして参照矩形領域内の全画素の画像データがリードバッファ５５内に蓄積されると、リードアクセス制御部５４は、蓄積完了の報告をＤＭＡＣ７に送る。これによりＤＭＡＣ７は、リードバッファ５５内の参照矩形領域内の画素の画像データを例えば論理アドレス順（参照矩形領域内におけるラスタスキャン順）に復号化部３にＤＭＡ転送する。この参照矩形領域内の画素の画像データを受け取った復号化部３は、これを用いてインターフレームデータの復号化処理に実行するのである。
【００６０】
以上の処理において、グループＳ１、Ｓ２、Ｓ３、Ｓ４の各々に着目すると、１つのグループ内の各画素は、同一のブロック内に属するので、同グループに属する各画素の論理アドレスＡＤＲＳはプリチャージサイクルを発生させないメモリアドレスａｄｒｓに各々変換される。従って、参照矩形領域内の各画素をラスタスキャン順に選択してアドレス変換を行う場合に比べて、プリチャージサイクルの発生頻度を減らすことができる。
【００６１】
以上説明した例では、参照矩形領域は、４つのグループに分割されたが、本実施形態において参照矩形領域は、１８×１８画素のサイズを有するため、図６に例示するように、最大９個のグループＳＡ１、ＳＡ２、ＳＡ３、ＳＡ４、ＳＡ５、ＳＡ６、ＳＡ７、ＳＡ８およびＳＡ９に分割される可能性がある。図６において、“Ａ５ＢＦ”等の１６進データは、参照矩形領域内の１８×１８の各画素の論理アドレスＡＤＲＳのうちの画面内画素アドレスＡＤＲＳ０を示している。図６に示すように、同一水平走査線上に並んだ連続した画素の画面内画素アドレスＡＤＲＳ０は、連続した値となっているが、水平走査線が異なる画素間では、画面内画素アドレスＡＤＲＳ０は不連続になっている。
【００６２】
図６に示す例において、アクセス順序制御処理では、まず、グループＳＡ１を選択し、同グループに属する１個の画素の論理アドレスＡＤＲＳをアドレス変換処理に引き渡す。次にグループＳＡ２を選択し、水平方向に並んだ１６個の画素の論理アドレスＡＤＲＳをアドレス変換処理に引き渡す。次にグループＳＡ３を選択し、同グループに属する１個の画素の論理アドレスＡＤＲＳをアドレス変換処理に引き渡す。次にグループＳＡ４を選択し、垂直方向に並んだ１６個の画素の論理アドレスＡＤＲＳをアドレス変換処理に引き渡す。次にグループＳＡ５を選択し、同グループ内の１６×１６個の画素をラスタスキャン順に選択し、選択した論理アドレスＡＤＲＳをアドレス変換処理に引き渡す。次にグループＳＡ６を選択し、垂直方向に並んだ１６個の画素の論理アドレスＡＤＲＳをアドレス変換処理に引き渡す。次にグループＳＡ７を選択し、同グループに属する１個の画素の論理アドレスＡＤＲＳをアドレス変換処理に引き渡す。次にグループＳＡ８を選択し、水平方向に並んだ１６個の画素の論理アドレスＡＤＲＳをアドレス変換処理に引き渡す。次にグループＳＡ９を選択し、同グループに属する１個の画素の論理アドレスＡＤＲＳをアドレス変換処理に引き渡す。
【００６３】
アドレス変換処理では、このようにしてアクセス順序制御処理から引き渡される論理アドレスＡＤＲＳをメモリアドレスａｄｒｓに変換する。図７には、このアドレス変換処理における変換前の論理アドレスＡＤＲＳにおける画面内画素アドレスＡＤＲＳ０と、変換後のメモリアドレスａｄｒｓにおける画面内相対メモリアドレスａｄｒｓ０とが、変換順に示されている。この図７に示す例において、画面内相対メモリアドレスａｄｒｓ０は、４バイトのアドレスであり、上位２バイトがロウアドレスの下位バイト、下位２バイトがカラムアドレスとなっている。図７に示すように、各グループの変換後のメモリアドレスａｄｒｓは、同一グループ内では、同一ロウアドレスを有し、かつ、カラムアドレスは連続したアドレスとなる。従って、同一グループについては、ロウアドレスが変化しないので、プリチャージサイクルを発生させることなく、各画素の画像データを連続的に画像メモリ１１から読み出すことができる。
【００６４】
以上、この発明の一実施形態について説明したが、この発明にはこれ以外にも他の実施形態が考えられる。例えば次の通りである。
（１）上記実施形態では、画像メモリ１１としてＳＤＲＡＭを用いたが、画像メモリ１１はＳＤＲＡＭ以外のＤＲＡＭであってもよい。
（２）上記実施形態では、１６×１６画素のブロック単位で、画像メモリ１１に対する連続アクセスを行ったが、複数ブロックからなるマクロブロック単位で、画像メモリ１１に対する連続アクセスを行ってもよい。その場合に、マクロブロック単位で、同一マクロブロック内の画素の画像データの論理アドレスＡＤＲＳが同じロウアドレスのメモリアドレスａｄｒｓに変換されるようにアドレス変換処理を行ってもよい。
【図面の簡単な説明】
【００６５】
【図１】この発明の一実施形態であるメモリ制御装置５を備えた画像処理装置の構成を示すブロック図である。
【図２】同実施形態におけるメモリ制御装置５の構成を示すブロック図である。
【図３】同実施形態における画像データの論理アドレスＡＤＲＳとメモリアドレスａｄｒｓを説明する図である。
【図４】同実施形態におけるアドレス変換処理の内容を示す図である。
【図５】同実施形態において復号化部３がインターフレームデータの復号化処理を行っている場合における復号化部３および画像メモリ１１間の画像データの転送態様を例示する図である。
【図６】同実施形態におけるアクセス順序制御処理の実行例を示す図である。
【図７】同実施形態におけるアドレス変換処理の実行例を示す図である。
【符号の説明】
【００６６】
５……メモリ制御装置、１１……画像メモリ、７……ＤＭＡＣ、５１……アクセス要求受信部、５２……ライトアクセス制御部、５３……ライトバッファ、５４……リードアクセス制御部、５５……リードバッファ。
【図１】
2008299438.tif 000003
【図２】
2008299438.tif 000004
【図３】
2008299438.tif 000005
【図４】
2008299438.tif 000006
【図５】
2008299438.tif 000007
【図６】
2008299438.tif 000008
【図７】
2008299438.tif 000009