(57)【特許請求の範囲】
【請求項１】
複数のバンクに区分された記憶領域を有するメモリを制御する装置であって、
前記複数のバンクはそれぞれ、複数の分割バンクに分割され、
前記メモリは、同一バンクで且つ異なる分割バンクの記憶領域に対するアクセスが連続すると、遅延が生じるものであり、同一のバンクかつ同一の分割バンクへのアクセスを単位アクセスとし、
複数の単位アクセスに分けてアクセスすべき、２つ以上のバンクの記憶領域を示すアクセス情報を、外部装置から受け付ける受付手段と、
前記アクセス情報が示す、各単位アクセスの記憶領域が区分される各バンクが同一であるか異なるかに基づいて、各単位アクセスのアクセス順序を、同一バンクの記憶領域に対して連続してアクセスする頻度が低くなるように適正化して決定する適正化手段と、
前記メモリの記憶領域が、適正化手段が適正化して決定したアクセス順序に従ってアクセスされるように前記メモリを制御する制御手段とを備え、
前記外部装置は、１つ以上の転送対象機器から成り、
前記アクセス情報は、前記転送対象機器から発行される２つ以上の個別アクセス情報から成り、
前記個別アクセス情報はそれぞれ、１つ以上の単位アクセスから成り、
前記適正化手段は、
現在アクセス中、又は、先にアクセスされるべき先行個別アクセス情報において、最後にアクセスされるべき末尾バンクを特定する末尾特定手段と、
前記個別アクセス情報毎に、最初にアクセスされるべき先頭バンクを特定する先頭特定手段と、
末尾バンクと異なるバンクを示す先頭バンクに対応する個別アクセス情報が示す記憶領域のアクセスを、末尾バンクと同じバンクを示す先頭バンクに対応する個別アクセス情報が示す記憶領域のアクセスよりも優先的に選択して、前記先行個別アクセス情報が示す記憶領域のアクセスの直後の順序とする選択手段とを含むこと
を特徴とするメモリ制御装置。
【請求項２】
前記適正化手段は、
前記アクセス情報が示す、各単位アクセスの記憶領域が区分される各バンク及び各分割バンクが同一であるか異なるかに基づいて、前記各単位アクセスのアクセス順序を、同一バンクの記憶領域に対してではなく、同一バンクで且つ異なる分割バンクの記憶領域に対して連続してアクセスする頻度が低くなるように適正化して決定すること
を特徴とする請求項１に記載のメモリ制御装置。
【請求項３】
複数のバンクに区分された記憶領域を有するメモリを制御する装置であって、
前記複数のバンクはそれぞれ、複数の分割バンクに分割され、
前記メモリは、同一バンクで且つ異なる分割バンクの記憶領域に対するアクセスが連続すると、遅延が生じるものであり、同一のバンクかつ同一の分割バンクへのアクセスを単位アクセスとし、
複数の単位アクセスに分けてアクセスすべき、２つ以上のバンクの記憶領域を示すアクセス情報を、外部装置から受け付ける受付手段と、
前記アクセス情報が示す、各単位アクセスの記憶領域が区分される各バンクが同一であるか異なるかに基づいて、各単位アクセスのアクセス順序を、同一バンクの記憶領域に対して連続してアクセスする頻度が低くなるように適正化して決定する適正化手段と、
前記メモリの記憶領域が、適正化手段が適正化して決定したアクセス順序に従ってアクセスされるように前記メモリを制御する制御手段とを備え、
前記外部装置は、１つ以上の転送対象機器から成り、
前記アクセス情報は、前記転送対象機器から発行される２つ以上の個別アクセス情報から成り、
前記個別アクセス情報はそれぞれ、１つ以上の単位アクセスから成り、
前記適正化手段は、
現在アクセス中、又は、先にアクセスされるべき先行個別アクセス情報において、最後にアクセスされるべき末尾バンクと末尾分割バンクとのペアを特定する末尾特定手段と、
前記個別アクセス情報毎に、最初にアクセスされるべき先頭バンクと先頭分割バンクとのペアを特定する先頭特定手段と、
末尾バンクと異なるバンクを示す先頭バンクに対応する個別アクセス情報が示す記憶領域、及び、末尾分割バンクと同一分割バンクを示す先頭分割バンクに対応する個別アクセス情報が示す記憶領域のアクセスを、末尾バンクと同一バンクを示す先頭バンクに対応し、且つ、末尾分割バンクと異なる分割バンクを示す先頭分割バンクに対応する個別アクセス情報が示す記憶領域のアクセスよりも優先的に選択して、前記先行個別アクセス情報が示す記憶領域のアクセスの直後の順序とする選択制御手段とを含むこと
を特徴とするメモリ制御装置。
【請求項４】
前記個別アクセス情報はそれぞれ、転送待ちの時間的な限度を示す限度情報を含み、
前記選択手段は、個別アクセス情報毎に、限度情報が示す限度を越えそうであるか否かを判定し、限度を越えそうであると判定した個別アクセス情報が示す記
憶領域のアクセスを、最優先で選択すること
を特徴とする請求項１または３に記載のメモリ制御装置。
【請求項５】
前記メモリは、バンク毎に所定の１分割バンクのデータを保持する転送用アンプを備え、前記メモリの記憶領域へのアクセスは、常に転送用アンプを介して行なわれるものであり、
前記遅延は、「転送用アンプに保持されたデータを、直前のアクセス対象の１分割バンクへ転送するのに必要な時間」と、「現在のアクセス対象の１分割バンクに記憶されたデータを、転送用アンプへ転送するのに必要な時間」との合計であり、
前記限度情報は、個別アクセス情報が発行されてから転送が完了するまでに許されるサイクル数の限度を示すリミットサイクル数であり、
前記選択手段は、
個別アクセス情報毎に、現時点から転送が完了するまでに許されるサイクル数の限度を示す残りサイクル数を保持する残りサイクル数保持手段と、
個別アクセス情報が発行された時にリミットサイクル数を残りサイクル数の初期値として残りサイクル数保持手段に保持させる初期値設定手段と、
残りサイクル数保持手段が保持する残りサイクル数を、１サイクル毎に１づつ減算する減算手段と、
個別アクセス情報毎に、「（実行中のアクセスが完了するまでのサイクル数）＋（優先的に選択された個別アクセス情報のアクセスに必要なサイクル数）＋（転送用アンプに保持されたデータを、所定の１分割バンクへ転送するのに必要なサイクル数）＋（所定の１分割バンクに記憶されたデータを、転送用アンプへ転送するのに必要なサイクル数）＋（自身のアクセスに必要なサイクル数）＝完了予定サイクル数」を実行中のアクセスが完了するまでに計算する計算手段と、
「前記完了予定サイクル数＞前記残りサイクル数」の場合に、対応する個別アクセス情報が限度を越えそうであると判定する判定手段とを含むこと
を特徴とする請求項４に記載のメモリ制御装置。
【請求項６】
前記メモリは、バンク毎に所定の１分割バンクのデータを保持する転送用アンプを備え、前記メモリの記憶領域へのアクセスは、常に転送用
アンプを介して行なわれるものであり、
前記遅延は、「転送用アンプに保持されたデータを、直前のアクセス対象の１分割バンクへ転送するのに必要な時間」と、「現在のアクセス対象の１分割バンクに記憶されたデータを、転送用アンプへ転送するのに必要な時間」との合計であり、
前記限度情報は、個別アクセス情報が発行されてから転送が完了するまでに許されるサイクル数の限度を示すリミットサイクル数であり、
前記選択手段は、
個別アクセス情報毎に、その個別アクセス情報が発行された時から１サイクル毎に待機サイクル数をカウントするカウント手段と、
個別アクセス情報毎に、「（実行中のアクセスが完了するまでのサイクル数）＋（優先的に選択された個別アクセス情報のアクセスに必要なサイクル数）＋（転送用アンプに保持されたデータを、所定の１分割バンクへ転送するのに必要なサイクル数）＋（所定の１分割バンクに記憶されたデータを、転送用アンプへ転送するのに必要なサイクル数）＋（自身のアクセスに必要なサイクル数）＝完了予定サイクル数」を実行中のアクセスが完了するまでに計算する計算手段と、
「（前記待機サイクル数）＋前記完了予定サイクル数＞前記リミットサイクル数」の場合に、対応する個別アクセス情報が限度を越えそうであると判定する判定手段とを含むこと
を特徴とする請求項４に記載のメモリ制御装置。
【請求項７】
複数のバンクに区分された記憶領域を有するメモリを制御する装置であって、
前記複数のバンクはそれぞれ、複数の分割バンクに分割され、
前記メモリは、同一バンクで且つ異なる分割バンクの記憶領域に対するアクセスが連続すると、遅延が生じるものであり、同一のバンクかつ同一の分割バンクへのアクセスを単位アクセスとし、
複数の単位アクセスに分けてアクセスすべき、２つ以上のバンクの記憶領域を示すアクセス情報を、外部装置から受け付ける受付手段と、
前記アクセス情報が示す、各単位アクセスの記憶領域が区分される各バンクが同一であるか異なるかに基づいて、各単位アクセスのアクセス順序を、同一バンクの記憶領域に対して連続してアクセスする頻度が低くなるように適正化して決定する適正化手段と、
前記メモリの記憶領域が、適正化手段が適正化して決定したアクセス順序に従ってアクセスされるように前記メモリを制御する制御手段とを備え、
前記外部装置は、符合化された画像データを復号するビデオデコード装置、又は、画像データを符合化するビデオエンコード装置であり、生成された画像データは前記メモリに一時的に記憶され、前記メモリに記憶された画像データは、その表示状態において連続する一部が、新たな画像データを生成する為に読み出され、
前記生成された画像データは、それぞれが単一分割バンクの記憶領域のみから成る前記メモリの単位領域に分散されて、表示状態において連続する所定の順番で記憶され、
記憶順序において隣接する単位領域は、異なるバンク、又は、同一分割バンク
から成り、
前記アクセス情報は、表示状態と記憶順序とにおいて隣接する単位領域に跨り、且つ、表示状態において隣接し記憶順序においては隣接しない単位領域に跨る記憶領域を示し、新たな画像データを生成する為に、前記ビデオデコード装置、又は、前記ビデオエンコード装置から発行され、
前記適正化手段は、
前記アクセス情報が示す記憶領域を、それぞれが単一分割バンクの記憶領域であり記憶領域が連続している単一分割バンク領域に分割する分割手段と、
表示状態において隣接し記憶順序においては隣接しない単位領域の境界を示す非隣接境界を検出する非隣接境界検出手段と、
前記非隣接境界を挟む単位領域が、同一バンクから成るか異なるバンクから成るかによって、前記単一分割バンク領域のアクセス順序を決定する相対順序決定手段とを含むこと
を特徴とするメモリ制御装置。
【請求項８】
前記相対順序決定手段は、
前記非隣接境界以後の前記単一分割バンク領域のアクセス順序を、前記非隣接境界を挟む単位領域が、同一バンクから成る場合には前記非隣接境界以前と同じにし、異なるバンクから成る場合にはその逆にすること
を特徴とする請求項７に記載のメモリ制御装置。
【請求項９】
前記相対順序決定手段の代わりに、
前記生成された画像データを表示状態において連続する所定の順番で記憶した場合に、前記非隣接境界を挟む単位領域が同一バンクから成る場合には、異なるバンクから成るように、前記画像データの論理アドレスと前記メモリの物理アドレスとを相互に変換するアドレス変換手段と、
前記非隣接境界以後の前記単一分割バンク領域のアクセス順序を、前記非隣接境界以前と逆にする順序逆転手段とを含むこと
を特徴とする請求項７に記載のメモリ制御装置。
【請求項１０】
前記適正化手段は、さらに、
前記メモリに記憶される画像データにおいて、記憶順序と表示状態とが連続する画素数を、画面サイズとして設定する画面サイズ設定手段と、
前記単位領域の形状を設定するコンフィグレーション設定手段と、
前記画面サイズと前記形状とに基づいて、前記生成された画像データを表示状態において連続する所定の順番で記憶した場合に、前記非隣接境界を挟む単位領域が、同一バンクから成るか異なるバンクから成るかを判断するバンク判断手段を含むこと
を特徴とする請求項７〜９の何れか１項に記載のメモリ制御装置。
【請求項１１】
前記適正化手段は、さらに、
表示状態と記憶順序とにおいて隣接する単位領域の境界を示す隣接境界を検出する隣接境界検出手段と、
前記アクセス情報が示す記憶領域を、前記隣接境界で分割した際の各記憶領域の大きさを比較する比較手段と、
前記非隣接境界以前の前記単一分割バンク領域のアクセス順序を、比較手段の比較において小さいと判断された記憶領域に属する単一分割バンク領域から先に読み出す順序とする初期順序決定手段とを含むこと
を特徴とする請求項７〜１０の何れか１項に記載のメモリ制御装置。
【請求項１２】
コンピュータを請求項１〜１１の何れか１項に記載のメモリ制御装置として機能させるためのプログラムを記録したコンピュータ読み取り可能な記憶媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、メモリを制御するメモリ制御装置に関し、特に、動作クロックに同期してデータ転送を行なうシンクロナス・ダイナミックＲＡＭ（以下「ＳＤＲＡＭ」と言う）に代表される、アクセスの順序により遅延が生じるメモリを用いる際に、アクセスの順序を適正化する技術に関する。
【０００２】
【従来の技術】
近年、パーソナルコンピュータ等の爆発的な普及にともない、データを記憶する記憶媒体が広く利用されている。
このような記憶媒体の１つとして、ＳＤＲＡＭが存在する。
ＳＤＲＡＭは、動作クロックに同期して連続的にデータを転送するバースト転送を指定でき、読み書きの最少単位である所定のビット数（以下「ワード長」と言う）を、予め指定した回数（以下「バースト長」と言う）分、連続的に転送することができるので、使い勝手が大変よい。
【０００３】
図２１は、一般的なＳＤＲＡＭの記憶領域を示す図である。
一般にＳＤＲＡＭの記憶領域は、各ページで構成されるバンク毎に区分されており、図２１に示すＳＤＲＡＭは、それぞれページ０〜（ｎ−１）のｎページで構成されるバンク０、及び、バンク１の２つに区分され、各ページは、それぞれカラム０〜（ｍ−１）のｍカラムで構成される。ここで、「ｎ」及び「ｍ」は１以上の整数とする。読み書きはカラム単位で行なわれるので、ワード長は１カラムのビット数と等しい。例えば、１カラムは８ビットであり、ｍは５１２、ｎは２０４８である。
【０００４】
図２２は、一般的なＳＤＲＡＭの状態遷移図である。
一般にＳＤＲＡＭは、バンク毎に「センス・アンプ」を備え、図２２からも解るように、カラムに記憶されたデータを読み出す際や、カラムにデータを書き込む際には、読み出す又は書き込むべきカラムを含むページのデータを、そのページが属するバンクのセンス・アンプに予め転送（アクティブ）した後で、そのセンス・アンプから読み出し（リード）又は書き込み（ライト）を行う（以下、「読み出し、及び、書き込み」を、単に「アクセス」と言う）。
【０００５】
ただし、連続して同一バンクの同一ページに含まれるカラムにアクセスする場合は、既に対応するページがセンス・アンプに転送されているので、改めて転送する必要はない。
また、ページＡに含まれるカラムＡをアクセスした後で、ページＡと同一バンクに属するページＢに含まれるカラムＢをアクセスする場合には、予めページＡに対応するデータが保持されたセンス・アンプの内容を、一旦ページＡに転送（プリチャージ）した後で、ページＢのデータをセンス・アンプに転送（アクティブ）する必要がある。
【０００６】
従って、同一バンクでかつ異なるページに含まれるカラムを連続してアクセスする場合には、プリチャージとアクティブとが必須となる為、実質的な転送レートが低下する。
しかしながら、ＳＤＲＡＭの記憶領域は複数のバンクに区分されているので、連続してアクセスするバンクを異なるバンクにし、それぞれのバンクにおいて他のバンクをアクセスしている間にプリチャージとアクティブとを行なうことにより、実質的な転送レートの低下を回避することができる。
【０００７】
ＳＤＲＡＭに関しては、例えば、「ＮＥＣデータシート、ＭＯＳ集積回路μＰＤ４５１６４２１、４５１６８２１、４５１１６１６１（資料番号：Ｍ１０４２９ＪＪ２Ｖ０ＤＳ００、発行年月：Ａｕｇｕｓｔ  １９９５、ＮＥＣ）」や、「特開平６−７６５６７号公報：半導体記憶装置および同期型半導体記憶装置」に詳細な記載がある。
【０００８】
図２３は、上記のようなＳＤＲＡＭを制御する従来のメモリシステムの構成を示す図である。
図２３に示す従来のメモリシステムは、転送対象ユニット２３１〜２３３、アービター２３４、ＳＤＲＡＭ制御部２３５、及び、ＳＤＲＡＭ２３６で構成される。
【０００９】
転送対象ユニット２３１〜２３３はそれぞれ、ＳＤＲＡＭ２３６とデータ転送を行なう要求が生じた場合には転送要求信号をアービター２３４に出力し、アービター２３４から転送許可信号を返された場合には転送情報をＳＤＲＡＭ制御部２３５に出力する。
アービター２３４は、何れかの転送対象ユニットから転送要求信号を入手した場合は、転送要求信号を出力した転送対象ユニットに返す。また、複数の転送対象ユニットから転送要求信号を入手している場合には、それらの中の最も優先度の高いものを選択し、転送許可信号を、選択した転送要求信号を出力した転送対象ユニットに返し、選択しなかった残りの転送要求信号についても同様に処理する。
【００１０】
ＳＤＲＡＭ制御部２３５は、転送対象ユニットからの転送情報に基づいて、クロック（ＣＬＫ）、ロー・アドレス・ストローブ（ＲＡＳ）、カラム・アドレス・ストローブ（ＣＡＳ）、ライト・イネーブル（ＷＥ）、及び、アクセスアドレスなどの制御コマンドを生成してＳＤＲＡＭ２３６に出力し、転送情報を出力した転送対象ユニットとＳＤＲＡＭ２３６とのデータ転送を実現する。
【００１１】
ＳＤＲＡＭ２３６は、上記で説明した一般的なＳＤＲＡＭと同様な特徴を持ち、ＳＤＲＡＭ制御部２３５から入手した制御コマンドにより制御される。
【００１２】
【発明が解決しようとする課題】
しかしながら、上記従来のメモリシステムでは、ＳＤＲＡＭを効率良く制御できない場合が発生する。
図２４は、各転送対象ユニットが要求するデータ転送によりアクセスされるカラムが含まれるページの番号と、そのページが属するバンクの番号とを、アクセスされる順にカラム単位で示す図である。図２４に示すように、各データ転送の優先度は上のほうが下よりも高いものとし、転送対象ユニット２３１はバンク０のページ０とバンク１のページ０とを８カラムずつ交互に計４回アクセスするデータ転送を要求し、転送対象ユニット２３２はバンク１のページ１を８カラムずつ計２回アクセスするデータ転送を要求し、転送対象ユニット２３３はバンク０のページ１を８カラムだけアクセスするデータ転送を要求するものとする。
【００１３】
図２５は、図２４に示すような各データ転送が、各転送対象ユニットから同時に要求された場合の転送順序を、動作クロック単位で示す図である。
図２５において、ＣＡＳレーテンシは３、バースト長は８とする。
ここでＣＡＳレーテンシとは、リード・コマンド入力からデータ・リードまでのレーテンシ（クロック数）を示し、バースト長とは、リード・サイクル又はライト・サイクルで出力又は入力されるワード数を示す。
【００１４】
ここではＣＡＳレーテンシが３のなので、プリチャージ・コマンドの入力から１クロック後までのリード・データが有効であり、また、同一バンクに対するプリチャージ・コマンドとアクティブ・コマンドとの間隔、及び、アクティブ・コマンドとリード・コマンドとの間隔は、共に３クロック以上必要であるものとする。
【００１５】
図２５に示すように、優先度に従って転送対象ユニット２３１、転送対象ユニット２３２、転送対象ユニット２３３の順序でデータ転送を行なうが、ここでは、転送対象ユニット２３１の最後に転送されるカラムがバンク１のページ０に含まれ、転送対象ユニット２３２の最初に転送されるカラムがバンク１のページ１に含まれるので、同一バンクでかつ異なるページに含まれるカラムを連続してアクセスすることになり、他のバンクをアクセスしている間にプリチャージとアクティブとを行なうことができず、その分だけオーバーヘッドが発生し実質的な転送レートが低下する。
【００１６】
また、符合化された画像データを復号するビデオデコード装置が復号した復号画像データを一時記憶するメモリとして、又は、画像データを符号化するビデオエンコード装置が符号化した符号化画像データを一時記憶するメモリとして、上記のようなＳＤＲＡＭを使用する場合には、その復号又は符号化に際して複数のバンクに跨った復号画像データ又は符号化画像データが読み出されるが、従来のようにアドレス順に読み出すと、同一バンクでかつ異なるページに含まれるカラムを連続してアクセスする場合が多く生じることがあり、上記と同様の問題を有する。
【００１７】
そこで、本発明は、極力転送レートを低下させないように、各転送対象機器に対する転送の順序を適正化するメモリ制御装置及びそのプログラムを記録したコンピュータ読み取り可能な記憶媒体を提供することを第１の目的とする。
また、本発明は、ビデオデコード装置、及び、ビデオエンコード装置において、極力転送レートを低下させないように、画像データの読み出し順序を適正化するメモリ制御装置及びそのプログラムを記録したコンピュータ読み取り可能な記憶媒体を提供することを第２の目的とする。
【００１８】
【課題を解決するための手段】
第１及び第２の目的を達成するために、本発明は、複数のバンクに区分された記憶領域を有するメモリを制御する装置であって、
前記複数のバンクはそれぞれ、複数の分割バンクに分割され、前記メモリは、同一バンクで且つ異なる分割バンクの記憶領域に対するアクセスが連続すると、遅延が生じるものであり、同一のバンクかつ同一の分割バンクへのアクセスを単位アクセスとし、複数の単位アクセスに分けてアクセスすべき、２つ以上のバンクの記憶領域を示すアクセス情報を、外部装置から受け付ける受付手段と、
前記アクセス情報が示す、各単位アクセスの記憶領域が区分される各バンクが同一であるか異なるかに基づいて、各単位アクセスのアクセス順序を、同一バンクの記憶領域に対して連続してアクセスする頻度が低くなるように適正化して決定する適正化手段と、
前記メモリの記憶領域が、適正化手段が適正化して決定したアクセス順序に従ってアクセスされるように前記メモリを制御する制御手段とを備え、
前記外部装置は、１つ以上の転送対象機器から成り、
前記アクセス情報は、前記転送対象機器から発行される２つ以上の個別アクセス情報から成り、
前記個別アクセス情報はそれぞれ、１つ以上の単位アクセスから成り、
前記適正化手段は、
現在アクセス中、又は、先にアクセスされるべき先行個別アクセス情報において、最後にアクセスされるべき末尾バンクを特定する末尾特定手段と、
前記個別アクセス情報毎に、最初にアクセスされるべき先頭バンクを特定する先頭特定手段と、
末尾バンクと異なるバンクを示す先頭バンクに対応する個別アクセス情報が示す記憶領域のアクセスを、末尾バンクと同じバンクを示す先頭バンクに対応する個別アクセス情報が示す記憶領域のアクセスよりも優先的に選択して、前記先行個別アクセス情報が示す記憶領域のアクセスの直後の順序とする選択手段とを含むこと
を特徴としている。
【００１９】
また、上記目的を達成するために、本発明は、複数のバンクに区分された記憶領域を有するメモリを制御する装置であって、
前記複数のバンクはそれぞれ、複数の分割バンクに分割され、
前記メモリは、同一バンクで且つ異なる分割バンクの記憶領域に対するアクセスが連続すると、遅延が生じるものであり、同一のバンクかつ同一の分割バンクへのアクセスを単位アクセスとし、
複数の単位アクセスに分けてアクセスすべき、２つ以上のバンクの記憶領域を示すアクセス情報を、外部装置から受け付ける受付手段と、
前記アクセス情報が示す、各単位アクセスの記憶領域が区分される各バンクが同一であるか異なるかに基づいて、各単位アクセスのアクセス順序を、同一バンクの記憶領域に対して連続してアクセスする頻度が低くなるように適正化して決定する適正化手段と、
前記メモリの記憶領域が、適正化手段が適正化して決定したアクセス順序に従ってアクセスされるように前記メモリを制御する制御手段とを備え、
前記外部装置は、１つ以上の転送対象機器から成り、
前記アクセス情報は、前記転送対象機器から発行される２つ以上の個別アクセス情報から成り、
前記個別アクセス情報はそれぞれ、１つ以上の単位アクセスから成り、
前記適正化手段は、
現在アクセス中、又は、先にアクセスされるべき先行個別アクセス情報において、最後にアクセスされるべき末尾バンクと末尾分割バンクとのペアを特定する末尾特定手段と、
前記個別アクセス情報毎に、最初にアクセスされるべき先頭バンクと先頭分割バンクとのペアを特定する先頭特定手段と、
末尾バンクと異なるバンクを示す先頭バンクに対応する個別アクセス情報が示す記憶領域、及び、末尾分割バンクと同一分割バンクを示す先頭分割バンクに対応する個別アクセス情報が示す記憶領域のアクセスを、末尾バンクと同一バンクを示す先頭バンクに対応し、且つ、末尾分割バンクと異なる分割バンクを示す先頭分割バンクに対応する個別アクセス情報が示す記憶領域のアクセスよりも優先的に選択して、前記先行個別アクセス情報が示す記憶領域のアクセスの直後の順序とする選択制御手段とを含むこと
を特徴とする。
【００２０】
また、上記目的を達成するために、本発明は、複数のバンクに区分された記憶領域を有するメモリを制御する装置であって、
前記複数のバンクはそれぞれ、複数の分割バンクに分割され、
前記メモリは、同一バンクで且つ異なる分割バンクの記憶領域に対するアクセスが連続すると、遅延が生じるものであり、同一のバンクかつ同一の分割バンクへのアクセスを単位アクセスとし、
複数の単位アクセスに分けてアクセスすべき、２つ以上のバンクの記憶領域を示すアクセス情報を、外部装置から受け付ける受付手段と、
前記アクセス情報が示す、各単位アクセスの記憶領域が区分される各バンクが同一であるか異なるかに基づいて、各単位アクセスのアクセス順序を、同一バンクの記憶領域に対して連続してアクセスする頻度が低くなるように適正化して決定する適正化手段と、
前記メモリの記憶領域が、適正化手段が適正化して決定したアクセス順序に従ってアクセスされるように前記メモリを制御する制御手段とを備え、
前記外部装置は、符合化された画像データを復号するビデオデコード装置、又は、画像データを符合化するビデオエンコード装置であり、生成された画像データは前記メモリに一時的に記憶され、前記メモリに記憶された画像データは、その表示状態において連続する一部が、新たな画像データを生成する為に読み出され、
前記生成された画像データは、それぞれが単一分割バンクの記憶領域のみから成る前記メモリの単位領域に分散されて、表示状態において連続する所定の順番で記憶され、
記憶順序において隣接する単位領域は、異なるバンク、又は、同一分割バンクから成り、
前記アクセス情報は、表示状態と記憶順序とにおいて隣接する単位領域に跨り、且つ、表示状態において隣接し記憶順序においては隣接しない単位領域に跨る記憶領域を示し、新たな画像データを生成する為に、前記ビデオデコード装置、又は、前記ビデオエンコード装置から発行され、
前記適正化手段は、
前記アクセス情報が示す記憶領域を、それぞれが単一分割バンクの記憶領域であり記憶領域が連続している単一分割バンク領域に分割する分割手段と、
表示状態において隣接し記憶順序においては隣接しない単位領域の境界を示す非隣接境界を検出する非隣接境界検出手段と、
前記非隣接境界を挟む単位領域が、同一バンクから成るか異なるバンクから成るかによって、前記単一分割バンク領域のアクセス順序を決定する相対順序決定手段とを含むことを特徴とする。
【００２１】
ここで、第２の目的を達成するために、本発明に係るメモリ制御装置は、前記相対順序決定手段の代わりに、前記生成された画像データを表示状態において連続する所定の順番で記憶した場合に前記非隣接境界を挟む単位領域が同一バンクから成る場合には異なるバンクから成るように前記画像データの論理アドレスと前記メモリの物理アドレスとを相互に変換するアドレス変換手段と、前記非隣接境界以後の前記単一分割バンク領域のアクセス順序を前記非隣接境界以前と逆にする順序逆転手段とを含むことを特徴とすることもできる。
【００２２】
【発明の実施の形態】
以下、本発明の各実施の形態について、図面を用いて説明する。
（実施の形態１）
＜構成＞
図１は、上記のようなＳＤＲＡＭを制御する実施の形態１のメモリシステムの構成を示す図である。
【００２３】
図１に示す実施の形態１のメモリシステムは、転送対象ユニット１１〜１３、アービター１０、ＳＤＲＡＭ制御部２３５、及び、ＳＤＲＡＭ２３６で構成される。
ここで、図２３に示す従来のメモリシステムと同じ機能を持つ各構成要素には、同一番号を付し、その説明を省略する。
【００２４】
アービター１０は、各転送対象ユニットがＳＤＲＡＭ２３６とデータ転送中であるか否かを常に監視しており、何れかの転送対象ユニットから転送要求情報を入手した場合は、全転送対象ユニットのデータ転送の終了に合わせて転送許可信号を、転送要求情報を出力した転送対象ユニットに返す。また、複数の転送対象ユニットから転送要求情報を入手している場合には、それらの中から１つを選択し、全転送対象ユニットのデータ転送の終了に合わせて転送許可信号を、ここで選択した転送要求情報を出力した転送対象ユニットに返し、選択しなかった残りの転送要求情報についても同様に処理する。ここでの選択方法については後で詳細に説明する。
【００２５】
転送対象ユニット１１〜１３はそれぞれ、ＳＤＲＡＭ２３６とデータ転送を行なう要求が生じた場合には転送要求情報をアービター１０に出力し、アービター１０から転送許可信号を返された場合には転送情報をＳＤＲＡＭ制御部２３５に出力する。
図２は、アービター１０の詳細な構成を示す図である。
【００２６】
図２に示すアービター１０は、転送要求情報受付部１０１、転送要求情報保持部１０２、末尾特定部１０３、先頭特定部１０４、及び、選択部１０５を備える。
転送要求情報受付部１０１は、転送対象ユニット１１〜１３がそれぞれ発行する転送要求情報を受け付ける。ここで、転送要求情報はアクセスすべき記憶領域を示す記憶領域情報と、転送待ちの時間的な限度を示す限度情報を含む。例えば、記憶領域情報は、ＳＤＲＡＭ２３６の物理アドレス、ＳＤＲＡＭ２３６のバンクナンバー、又は、ＳＤＲＡＭ２３６のバンクナンバーとページナンバーとのペアであり、限度情報は、転送要求情報が発行されてから転送が完了するまでに許されるサイクル数の限度を示すリミットサイクル数である。
【００２７】
転送要求情報保持部１０２は、転送要求情報受付部１０１が受け付けた各転送要求情報を、対応する転送が許可されるまで保持する。
末尾特定部１０３は、現在アクセス中、又は、優先的にアクセスされるべき先行転送要求情報において、最後にアクセスされるべき末尾バンク、又は、最後にアクセスされるべき末尾バンクと末尾ページとのペアを特定する。
【００２８】
先頭特定部１０４は、転送要求情報毎に、最初にアクセスされるべき先頭バンク、又は、最初にアクセスされるべき先頭バンクと先頭ページとのペアを特定する。
選択部１０５は、末尾バンクと異なるバンクを示す先頭バンクに対応する転送要求情報が示す記憶領域のアクセスを、末尾バンクと同じバンクを示す先頭バンクに対応する転送要求情報が示す記憶領域のアクセスよりも優先的に選択するか、又は、末尾バンクと異なるバンクを示す先頭バンクに対応する転送要求情報が示す記憶領域、及び、末尾バンクと同一バンクを示す先頭バンクに対応し、且つ、末尾ページと同一ページを示す先頭ページに対応する転送要求情報が示す記憶領域のアクセスを、末尾バンクと同一バンクを示す先頭バンクに対応し、且つ、末尾ページと異なるページを示す先頭ページに対応する転送要求情報が示す記憶領域のアクセスよりも優先的に選択して、先行転送要求情報が示す記憶領域のアクセスの直後の順序とする。
【００２９】
また、選択部１０５は、転送要求情報毎に限度情報が示す限度を越えそうであるか否かを判定し、限度を越えそうであると判定した転送要求情報が示す記憶領域のアクセスを最優先で選択する。
図３は、選択部１０５の構成の一例を示す図である。
例えば、選択部１０５は、図３に示す様に、残りサイクル数保持部１０５ａ、初期値設定部１０５ｂ、減算部１０５ｃ、計算部１０５ｄ、及び、判定部１０５ｅを含む構成とすることができる。
【００３０】
残りサイクル数保持部１０５ａは、転送要求情報毎に、現時点から転送が完了するまでに許されるサイクル数の限度を示す残りサイクル数を保持する。
初期値設定部１０５ｂは、転送要求情報が発行された時にリミットサイクル数を残りサイクル数の初期値として残りサイクル数保持部１０５ａに保持させる。
減算部１０５ｃは、残りサイクル数保持部１０５ａが保持する残りサイクル数を、１サイクル毎に１づつ減算する。
【００３１】
計算部１０５ｄは、転送要求情報毎に、「（実行中のアクセスが完了するまでのサイクル数）＋（優先的に選択された転送要求情報のアクセスに必要なサイクル数）＋（転送用アンプに保持されたデータを、所定の１ページへ転送するのに必要なサイクル数）＋（所定の１ページに記憶されたデータを、転送用アンプへ転送するのに必要なサイクル数）＋（自身のアクセスに必要なサイクル数）＝完了予定サイクル数」を実行中のアクセスが完了するまでに計算する。
【００３２】
判定部１０５ｅは「前記完了予定サイクル数＞前記残りサイクル数」の場合に、対応する転送要求情報が限度を越えそうであると判定する。
図４は、選択部１０５の構成の別の一例を示す図である。
例えば、選択部１０５は、図４に示す様に、カウント部１０５ｆ、計算部１０５ｇ、及び、判定部１０５ｈを含む構成とすることもできる。
【００３３】
カウント部１０５ｆは、転送要求情報毎に、その転送要求情報が発行された時から１サイクル毎に待機サイクル数をカウントする。
計算部１０５ｇは、転送要求情報毎に、「（前記待機サイクル数）＋（実行中のアクセスが完了するまでのサイクル数）＋（優先的に選択された転送要求情報のアクセスに必要なサイクル数）＋（転送用アンプに保持されたデータを、所定の１ページへ転送するのに必要なサイクル数）＋（所定の１ページに記憶されたデータを、転送用アンプへ転送するのに必要なサイクル数）＋（自身のアクセスに必要なサイクル数）＝完了予定サイクル数」を実行中のアクセスが完了するまでに計算する。
【００３４】
判定部１０５ｈは「前記完了予定サイクル数＞前記リミットサイクル数」の場合に、対応する個別アクセス情報が限度を越えそうであると判定する。
＜動作＞
図５は、本発明の実施の形態１に係るアクセスの実行順序を適正化する方法のフローチャートを示す図である。
【００３５】
図６は、本発明の実施の形態１に係るメモリシステムにおいて、図２４に示すような各データ転送が、各転送対象ユニットから同時に要求された場合の転送順序を、動作クロック単位で示す図である。
図６においても、ＣＡＳレーテンシは３、バースト長は８とする。
ここでも図２５と同様にＣＡＳレーテンシが３のなので、プリチャージ・コマンドの入力から１クロック後までのリード・データが有効であり、また、同一バンクに対するプリチャージ・コマンドとアクティブ・コマンドとの間隔、及び、アクティブ・コマンドとリード・コマンドとの間隔は、共に３クロック以上必要であるものとする。
【００３６】
以下、図５に示したフローチャートを説明する。
なお、常時、各転送対象ユニットから各データ転送に対応する転送要求情報が発行され、転送要求情報受付部１０１が発行された各転送要求情報を常に受け付け、転送要求情報保持部１０２が各転送要求情報を対応する転送が許可されるまで保持する。また、初期値設定部１０５ｂが各リミットサイクル数を残りサイクル数の初期値として残りサイクル数保持部１０５ａに保持させ、減算部１０５ｃが残りサイクル数を１サイクル毎に１づつ減算する。ここでは、各転送対象ユニットから同時に、図２４に示すような各データ転送に対応する転送要求情報が発行されるものとする。詳しくは、転送対象ユニット１１からアクセスすべき順序に並んだバンクナンバーとページナンバーとのペア「バンク０のペ−ジ０、バンク１のペ−ジ０、バンク０のペ−ジ０、バンク１のペ−ジ０」と、リミットサイクル数「１００」とを含む転送要求情報が発行され、転送対象ユニット１２からアクセスすべきバンクナンバーとページナンバーとのペアの並び「バンク１のペ−ジ１」と、リミットサイクル数「１００」とを含む転送要求情報が発行され、転送対象ユニット１３からアクセスすべきバンクナンバーとページナンバーとのペアの並び「バンク０のペ−ジ１」と、リミットサイクル数「１００」とを含む転送要求情報が発行されるものとする。
【００３７】
（１）アービター１０が、転送要求情報保持部１０２に保持された転送要求情報が有るか否かを判断する。Ｎｏの場合はＹｅｓになるまで待つ（ステップＳ１０１）。ここでは、転送要求情報保持部１０２に３個の転送要求情報が保持されるので、Ｙｅｓと判断する。
（２）アービター１０が、転送要求情報保持部１０２に保持された転送要求情報が２つ以上か否かを判断する。（ステップＳ１０２）。ここでは、転送要求情報保持部１０２に３個の転送要求情報が保持されているので、Ｙｅｓと判断する。
【００３８】
（３）ステップＳ１０２でＹｅｓと判断された場合は、選択部１０５が、最も優先順位が高い転送対象ユニットが発行した転送要求情報を優先的に一旦選択する（ステップＳ１０３）。ここでは、転送対象ユニット１１が発行した転送要求情報を一旦選択する。
（４）計算部１０５ｄが、転送要求情報毎に、「（実行中のアクセスが完了するまでのサイクル数）＋（優先的に一旦選択された転送要求情報のアクセスに必要なサイクル数）＋（転送用アンプに保持されたデータを、所定の１ページへ転送するのに必要なサイクル数）＋（所定の１ページに記憶されたデータを、転送用アンプへ転送するのに必要なサイクル数）＋（自身のアクセスに必要なサイクル数）＝完了予定サイクル数」を計算し、判定部１０５ｅが「完了予定サイクル数＞残りサイクル数」の場合には、対応する転送要求情報が限度を越えそうであると判定して、ステップＳ１０２で一旦選択した転送要求情報よりも最優先で選択する（ステップＳ１０４）。ここでは、転送対象ユニット１２が発行した転送要求情報について「完了予定サイクル数＝０＋３２＋３＋３＋１６＝５４」と、また、転送対象ユニット１３が発行した転送要求情報について「完了予定サイクル数＝０＋３２＋３＋３＋８＝４６」と計算し、両方共、「完了予定サイクル数＞残りサイクル数」ではないので限度を越えそうでないと判定し最優先で選択しない。
【００３９】
ここで、仮に転送対象ユニット１２が発行した転送要求情報が含むリミットサイクル数が「５４未満」であったり、転送対象ユニット１３が発行した転送要求情報が含むリミットサイクル数が「４６未満」であった場合には、それぞれの転送要求情報が示す記憶領域のアクセスを最優先で選択する。
（５）アービター１０が、ここで最終的に選択した転送要求情報に対応する転送対象ユニットに転送許可信号を返し、転送要求情報保持部１０２から対応する転送要求情報を削除する。（ステップＳ１０５）。ここでは、転送対象ユニット１１に転送許可信号を返す。
【００４０】
（６）末尾特定部１０３が、現在アクセス中、又は、優先的にアクセスされるべき転送要求情報において、最後にアクセスされるべき末尾バンク、又は、最後にアクセスされるべき末尾バンクと末尾ページとのペアを特定する（ステップＳ１０６）。ここでは、選択された転送対象ユニット１１が発行した転送要求情報において、最後にアクセスされるべき「末尾バンク１と末尾ページ０」を特定するものとする。
【００４１】
（７）一方、転送許可信号を受け取った転送対象ユニットは、ＳＤＲＡＭ制御部２３５を介してＳＤＲＡＭ２３６との間でデータ転送を行なう（ステップＳ１０７）。ここでは、転送対象ユニット１１が、ＳＤＲＡＭ２３６との間でデータ転送を行なう。
（８）実行中のデータ転送が完了する直前に、アービター１０が、転送要求情報保持部１０２に保持された転送要求情報が有るか否かを判断する。Ｎｏの場合はステップＳ１０１へ戻る（ステップＳ１０８）。ここでは、転送要求情報保持部１０２に２個の転送要求情報が保持されているので、Ｙｅｓと判断する。
【００４２】
（９）ステップＳ１０８でＹｅｓと判断されたの場合は、実行中のデータ転送が完了する直前に、アービター１０が、転送要求情報保持部１０２に保持された転送要求情報が２つ以上か否かを判断する（ステップＳ１０９）。ここでは、転送要求情報保持部１０２に２個の転送要求情報が保持されているので、Ｙｅｓと判断する。
【００４３】
（１０）ステップＳ１０９でＹｅｓと判断されたの場合は、先頭特定部１０４が、転送要求情報毎に、最初にアクセスされるべき先頭バンク、又は、最初にアクセスされるべき先頭バンクと先頭ページとのペアを特定する（ステップＳ１１０）。ここでは、転送対象ユニット１２が発行した転送要求情報においては「先頭バンク１と先頭ページ１」と、転送対象ユニット１３が発行した転送要求情報においては「先頭バンク０と先頭ページ１」と特定するものとする。
【００４４】
（１１）選択部１０５が、末尾バンクと異なるバンクを示す先頭バンクに対応する転送要求情報が示す記憶領域のアクセスを、末尾バンクと同じバンクを示す先頭バンクに対応する転送要求情報が示す記憶領域のアクセスよりも優先的に一旦選択するか、又は、末尾バンクと異なるバンクを示す先頭バンクに対応する転送要求情報が示す記憶領域、及び、末尾バンクと同一バンクを示す先頭バンクに対応し、且つ、末尾ページと同一ページを示す先頭ページに対応する転送要求情報が示す記憶領域のアクセスを、末尾バンクと同一バンクを示す先頭バンクに対応し、且つ、末尾ページと異なるページを示す先頭ページに対応する転送要求情報が示す記憶領域のアクセスよりも優先的に一旦選択する。このように優先的に選択する転送要求情報がない場合には、最も優先順位が高い転送対象ユニットが発行した転送要求情報を優先的に一旦選択する（ステップＳ１１１）。ここでは、「末尾バンク１」「末尾ページ０」なので、転送対象ユニット１２が発行した転送要求情報は、末尾バンク１と同一バンクを示す先頭バンク１に対応し、且つ、末尾ページ０と異なるページを示す先頭ページ１に対応し、転送対象ユニット１３が発行した転送要求情報は、末尾バンク１と異なるバンクを示す先頭バンク０に対応する。従って、転送対象ユニット１３が発行した転送要求情報を、転送対象ユニット１２が発行した転送要求情報よりも優先的に一旦選択する。
【００４５】
（１２）ステップＳ１０４へ戻り、上記（４）と同様の処理を行なう（ステップＳ１０４）。ここでは、例えば実行中のデータ転送が完了する３サイクル前（最初から３５サイクル）に計算する場合には、転送対象ユニット１２が発行した転送要求情報について「完了予定サイクル数＝３＋１６＋３＋３＋１６＝４１」と計算し、また、この時「残りサイクル数＝１００−３５＝６５」であり、「完了予定サイクル数＞残りサイクル数」ではないので限度を越えそうでないと判定し転送対象ユニット１２を最優先で選択しない。
【００４６】
（１３）上記（５）と同様の処理を行なう（ステップＳ１０５）。ここでは、転送対象ユニット１３に転送許可信号を返す。
（１４）上記（６）と同様の処理を行なう（ステップＳ１０６）。ここでは、選択された転送対象ユニット１３が発行した転送要求情報において、最後にアクセスされるべき「末尾バンク０と末尾ページ１」を特定するものとする。
【００４７】
（１５）上記（７）と同様の処理を行なう（ステップＳ１０７）。ここでは、転送対象ユニット１３が、ＳＤＲＡＭ２３６との間でデータ転送を行なう。
（１６）上記（８）と同様の処理を行なう（ステップＳ１０８）。ここでは、転送要求情報保持部１０２に１個の転送要求情報が保持されているので、Ｙｅｓと判断する。
【００４８】
（１７）上記（９）と同様の処理を行なう（ステップＳ１０９）。ここでは、転送要求情報保持部１０２に１個の転送要求情報しか保持されていないので、Ｎｏと判断する。
（１８）ステップＳ１０２、及び、ステップＳ１０９でＮｏと判断されたの場合は、転送要求情報保持部１０２に保持された１個の転送要求情報を無条件で選択する（ステップＳ１１２）。ここでは、転送対象ユニット１２が発行した転送要求情報を無条件で選択する。
【００４９】
（１９）上記（５）と同様の処理を行なう（ステップＳ１０５）。ここでは、転送対象ユニット１２に転送許可信号を返す。
（２０）上記（６）と同様の処理を行なう（ステップＳ１０６）。ここでは、選択された転送対象ユニット１２が発行した転送要求情報において、最後にアクセスされるべき「末尾バンク１と末尾ページ１」を特定するものとする。
【００５０】
（２１）上記（７）と同様の処理を行なう（ステップＳ１０７）。ここでは、転送対象ユニット１２が、ＳＤＲＡＭ２３６との間でデータ転送を行なう。
（２２）上記（８）と同様の処理を行なう（ステップＳ１０８）。ここでは、転送要求情報保持部１０２に１個の転送要求情報も保持されていないので、Ｎｏと判断する。
【００５１】
（２３）ステップＳ１０８でＮｏと判断されたの場合は、最初（ステップＳ１０１）に戻る。
以上のように、本発明の実施の形態１に係るメモリシステムは、転送要求情報保持部１０２が保持する全転送要求情報が示す複数に分けてアクセスすべき記憶領域のアクセス順序を、同一バンクの記憶領域に対して連続してアクセスする頻度が低くなるように、又は、同一バンクで且つ異なるページの記憶領域に対して連続してアクセスする頻度が低くなるように適正化し、適正化したアクセス順序に従ってメモリの記憶領域がアクセスされるように制御する。
【００５２】
ここで、転送が終了するまでに必要なサイクル数を従来と本発明とにおいて比較する。従来では図２５に示すように６９サイクル必要であったが、本発明では図６に示すように６２サイクルで済み、プリチャージによるオーバーヘッドが無くなるの分（７サイクル）だけ必要なサイクル数が少ない。
なお、ここでは、前のデータ転送が完了する直前に次のデータ転送を選択したが、前のデータ転送が完了するより前ならば、如何なるタイミングで次のデータ転送を選択してもよい。もちろん、前のデータ転送の開始前に次のデータ転送を選択してもよいので、全てのデータ転送の前に、全てのデータ転送の順序を決定してもよい。
【００５３】
また、ここでは、アクセスすべき順序に並んだバンクナンバーとページナンバーとのペアが転送要求情報に含まれることとしたが、先頭と末尾が特定できるならば、如何なる情報であってもよい。また、少なくとも先頭バンクと末尾バンクとを特定できる情報が転送要求情報に含まれていれば、同一バンクナンバーが連続しないように次のデータ転送を選択することで、同様の効果が得られる。
【００５４】
また、末尾バンクを特定できる情報が転送要求情報には含まれずＳＤＲＡＭ制御部２３５から取得するものであってもよい。
また、転送要求情報にはアクセスすべきメモリのアドレスが含まれ、アービター１０、又は、ＳＤＲＡＭ制御部２３５がそのアドレスに基づいてバンクナンバーやページナンバーを特定するものであってもよい。
【００５５】
（実施の形態２）
＜構成＞
図７は、実施の形態２に係るメモリ制御装置を用いた画像復号システム（ビデオデコード装置）の構成を示す図である。
図７に示す実施の形態２の画像復号システムは、画像復号部１、差分画像バッファ２、参照画像バッファ３、ハーフペル補間部４、加算器５、画像出力部６、メモリ制御装置７、及び、ＳＤＲＡＭ８で構成される。
【００５６】
画像復号部１は、伝送された符号化参照画像を復号し、メモリ制御装置７を介してＳＤＲＡＭ８へ転送し、また、差分画像符合を復号し、差分画像を差分画像バッファ２へ、参照画像のアドレスを参照画像バッファ３へ、補間方法をハーフペル補間部４へ出力する。
差分画像バッファ２は、復号された差分画像を一時的に格納し、加算器５の動作タイミングを調整する。
【００５７】
参照画像バッファ３は、画像復号部１によって指定された参照画像をメモリ制御装置７から読み出して一時的に格納し、必要に応じてハーフペル補間部４へ出力する。
ハーフペル補間部４は、画像復号部１によって指定された補間方法に従って、参照画像バッファ３が格納する参照画像を補間して加算器５へ出力する。なお、ここで行なう補間方法は、本発明の趣旨とは直接関係ないのでその説明を省略する。
【００５８】
加算器５は差分画像バッファ２が保持する差分画像と参照画像バッファ３が保持する参照画像とを加算して出力画像を得て、メモリ制御装置７を介してＳＤＲＡＭ８へ転送する。
画像出力部６は、画像出力タイミングに合わせて、メモリ制御装置７を介して、ＳＤＲＡＭ８から復号した画像データを読み出して出力する。
【００５９】
メモリ制御装置７は、画像復号部１からＳＤＲＡＭ８への復号後画像データの転送、ＳＤＲＡＭ８から参照画像バッファ３への参照画像の転送、加算器５からＳＤＲＡＭ８への出力画像の転送、及び、ＳＤＲＡＭ８から画像出力部６への出力画像の転送を制御する。
ＳＤＲＡＭ８は、実施の形態１のＳＤＲＡＭ２３６と同じ構成と機能を持つ。
【００６０】
加算器５で得られた各出力画像の画像データは、それぞれが単一バンクで単一ページの記憶領域のみから成るＳＤＲＡＭ８の各単位領域に、表示状態において連続する所定の順番で記憶され、また、記憶順序において隣接する単位領域は、異なるバンクから成る。
図８は、データバスのビット幅が８ビットであり１カラムが８ビット、１ページが５１２カラムの２つのバンク（バンク０とバンク１）を備えるＳＤＲＡＭ８に、１画素あたりのデータ量（例えば「輝度」を表す）が８ビットで、各単位領域が横１６画素×縦３２画素の矩形領域で、横方向の画素数が「１６×（２ｎ＋１）」の画像データを記憶する場合において、各画像データが記憶される記憶領域のバンクナンバーとページナンバーとを示す図である。ここで、「ｎ」は１以上の整数とする。
【００６１】
図９は、記憶する画像データの横方向の画素数が「１６×２ｎ」である点のみが異なる、図８と同様な図である。
図８、図９において、実線にて区切られた各矩形領域はそれぞれが単一ページの記憶領域であり、斜線の無い矩形領域はバンク０、斜線の有る矩形領域はバンク１を示している。
【００６２】
図８では、上下および左右に隣接する単一ページの矩形領域のデータは、異なるバンクに記憶されている。
図９では、左右に隣接する単一ページの矩形領域のデータは異なるバンクに記憶されているが、上下に隣接する単一ページの矩形領域のデータは同一バンクに記憶されている。
【００６３】
ここで、画像復号部１からＳＤＲＡＭ８への復号後画像データの転送、加算器５からＳＤＲＡＭ８への出力画像の転送、及び、ＳＤＲＡＭ８から画像出力部６への出力画像の転送については、従来と同様なのでその説明を省略し、ＳＤＲＡＭ８から参照画像バッファ３への参照画像の転送についてのみ以下に説明する。図１０は、図８に示すようなＳＤＲＡＭ８に記憶された画像データから読み出される参照画像の一例である。
【００６４】
図１１は、図９に示すようなＳＤＲＡＭ８に記憶された画像データから読み出される参照画像の一例である。
図１０、図１１に示す参照画像は、横９画素×縦５画素の矩形領域で表されており、その読み出し順序は、通常、表示順序の通りに行われるので、「ａ１→ａ２→ｂ１→ｂ２→ｃ１→ｃ２→ｄ１→ｄ２→ｅ１→ｅ２」となる。
【００６５】
メモリ制御装置７は、アクセス情報受付部７１、アクセス順序適正化部７２、及び、ＳＤＲＡＭ制御部７３から構成される。
アクセス情報受付部７１は、アクセス情報として読み出すべき参照画像のアドレスを参照画像バッファ３から受け付ける。
アクセス順序適正化部７２は、読み出すべき参照画像のアクセス順序を、同一バンクの記憶領域に対して連続してアクセスする頻度が低くなるように適正化する。
【００６６】
ＳＤＲＡＭ制御部７３は、画像復号部１、参照画像バッファ３、加算器５、及び、画像出力部６からの各転送要求に基づいて、制御コマンドを生成してＳＤＲＡＭ８に出力し、データ転送を実現する。特に、参照画像を読み出す場合には、ＳＤＲＡＭ８の記憶領域が、アクセス順序適正化部７２が適正化したアクセス順序に従ってアクセスされるように制御する。
【００６７】
アクセス順序適正化部７２は、領域分割部７２１、垂直ページ境界検出部７２２、相対アクセス順序決定部７２３、画面サイズ設定部７２４、コンフィグレーション設定部７２５、バンク判断部７２６、水平ページ境界検出部７２７、大小比較部７２８、及び、初期アクセス順序決定部７２９を含む。
領域分割部７２１は、読み出すべき参照画像のアドレスが示すＳＤＲＡＭ８の記憶領域を、それぞれが単一ページの記憶領域であり記憶領域が連続している単一ページ領域に分割する。図１０、１１では、それぞれ「ａ１，ａ２，ｂ１，ｂ２，ｃ１，ｃ２，ｄ１，ｄ２，ｅ１，ｅ２」の単一ページ領域に分割している。
【００６８】
垂直ページ境界検出部７２２は、表示状態において隣接し記憶順序においては隣接しない単位領域の境界を検出する。より具体的には、１つ前に転送を要求した水平方向のラインの先頭アドレスと続いて転送を要求すべき水平方向のラインの先頭アドレスとが異なる単位領域であるか否かを常に監視し、異なる単位領域であると検出した場合に垂直ページ境界を検出したとして垂直ページクロス信号をＳＤＲＡＭ制御部７３へ出力する。なお、ここでは単位領域の記憶順序を水平方向に連続させたので垂直ページ境界を検出したが、垂直方向に連続させた場合には水平ページ境界を検出する。図１０、１１では、図中に示すような垂直ページ境界を検出する。
【００６９】
相対アクセス順序決定部７２３は、垂直方向のページ境界を挟む単位領域が、同一バンクから成るか異なるバンクから成るかによって、単一ページ領域のアクセス順序を決定する。より具体的には、垂直方向のページ境界以後の単一ページ領域のアクセス順序を、垂直方向のページ境界以後を挟む単位領域が、同一バンクから成る場合には単位領域以前と同じにし、異なるバンクから成る場合にはその逆にする。
【００７０】
画面サイズ設定部７２４は、外部からの指示を受けて、ＳＤＲＡＭ８に記憶される画像データにおいて、記憶順序と表示状態とが連続する画素数を画面サイズとして設定する。ここでは、画面サイズはデコードする画像データの横方向の画素数となり、図８に示す例では「１６×（２ｎ＋１）」、図９に示す例では「１６×２ｎ」である。
【００７１】
コンフィグレーション設定部７２５は、外部からの指示を受けて、単位領域の形状を設定する。図８、９に示す例では、単位領域の形状は横１６画素×縦３２画素の矩形領域である。
バンク判断部７２６は、画面サイズと形状とに基づいて、生成された画像データを表示状態において連続する上記のような順番で記憶した場合に、垂直方向のページ境界を挟む単位領域が、同一バンクから成るか異なるバンクから成るかを判断する。図８に示す例では上下に隣接する単一ページの矩形領域のデータは異なるバンクに記憶されているので異なるバンクから成ると判断され、図９に示す例では上下に隣接する単一ページの矩形領域のデータは同一バンクに記憶されているので同一バンクから成ると判断される。
【００７２】
水平ページ境界検出部７２７は、表示状態と記憶順序とにおいて隣接する単位領域の境界を検出する。より具体的には、水平方向の各ライン内における単位領域の境界を水平ページ境界として検出する。なお、ここでは単位領域の記憶順序を水平方向に連続させたので水平ページ境界を検出したが、垂直方向に連続させた場合には垂直ページ境界を検出する。図１０、１１では、図中に示すような水平ページ境界を検出する。
【００７３】
大小比較部７２８は、参照画像を水平方向のページ境界で分割した際の各記憶領域の大きさを比較する。図１０、１１では、右側の方が左側よりも小さいと判断する。
初期アクセス順序決定部７２９は、垂直方向のページ境界以前の単一ページ領域のアクセス順序を、大小比較部７２８の比較において小さいと判断された記憶領域に属する単一ページ領域から先に読み出す順序とする。
【００７４】
図１０では、垂直ページ境界以前の各ラインのアクセス順序は右側から左側となり、垂直ページ境界以後の各ラインのアクセス順序は左側から右側となる。
従って、この場合の読み出し順序は「ａ２→ａ１→ｂ２→ｂ１→ｃ２→ｃ１→ｄ２→ｄ１→ｅ１→ｅ２」となる。
また、図１１では、垂直ページ境界以前の各ラインのアクセス順序は右側から左側となり、垂直ページ境界以後の各ラインのアクセス順序も右側から左側となる。
【００７５】
従って、この場合の読み出し順序は「ａ２→ａ１→ｂ２→ｂ１→ｃ２→ｃ１→ｄ２→ｄ１→ｅ２→ｅ１」となる。
＜動作＞
図１２は、本発明の実施の形態２に係るアクセスの実行順序を適正化する方法のフローチャートを示す図である。
【００７６】
本発明の実施の形態２に係る画像復号システムにおいて、図８のように記憶された画像データから図１０に示した参照画像を読み出す場合の読み出し順序を、図１２に示したフローチャートを用いて説明する。
（１）アクセス情報受付部７１が、アクセス情報を受け付ける（ステップＳ２０１）。ここでは、図１０に示す参照画像を読み出す旨のアクセス情報を受け付けるものとする。
【００７７】
（２）領域分割部７２１が、読み出すべき参照画像のアドレスが示すＳＤＲＡＭ８の記憶領域を単一ページ領域に分割する（ステップＳ２０２）。ここでは、図１０に示す「ａ１，ａ２，ｂ１，ｂ２，ｃ１，ｃ２，ｄ１，ｄ２，ｅ１，ｅ２」の単一ページ領域に分割する。
（３）水平ページ境界検出部７２７が、水平ページ境界を検出する（ステップＳ２０３）。ここでは、図１０に示すような水平ページ境界を検出する。
【００７８】
（４）大小比較部７２８が、参照画像を水平方向のページ境界で分割した際の各記憶領域の大きさを比較する（ステップＳ２０４）。ここでは、右側の方が左側よりも小さいと判断する。
（５）相対アクセス順序決定部７２３が垂直ページ境界以前の各ラインのアクセス順序を小さい記憶領域から先に読み出す順序に決定する（ステップＳ２０５：Ｓ２０７：Ｎｏ）。ここでは、右側が小さいので右側から先に読み出す順序に決定し、読み出し順序は「ａ２→ａ１→ｂ２→ｂ１→ｃ２→ｃ１→ｄ２→ｄ１」となる。
【００７９】
（６）ＳＤＲＡＭ制御部７３が、相対アクセス順序決定部７２３により決定された順序で、垂直ページ境界以前の各ラインがアクセスされるようにＳＤＲＡＭ８を制御する（ステップＳ２０６、Ｓ２０７：Ｎｏ）。ここでは、右側から先に読み出すようにＳＤＲＡＭ８を制御する。
（７）垂直ページ境界検出部７２２が垂直ページ境界を検出して垂直ページクロス信号をＳＤＲＡＭ制御部７３へ出力する（ステップＳ２０７：Ｙｅｓ、Ｓ２０８）。ここでは、「ａ２→ａ１→ｂ２→ｂ１→ｃ２→ｃ１→ｄ２→ｄ１」と読み出すように決定された後で図１０に示すような垂直ページ境界を検出する。
【００８０】
（８）バンク判断部７２６が、画面サイズ設定部７２４により設定された画面サイズとコンフィグレーション設定部７２５により設定された形状とに基づいて、垂直方向のページ境界を挟む単位領域が、同一バンクから成るか異なるバンクから成るかを判断する（ステップＳ２０９）。ここでは、画面サイズ「１６×（２ｎ＋１）」と、形状「横１６画素×縦３２画素の矩形領域」とに基づいて、図８に示すように異なるバンクから成ると判断する。
【００８１】
（９）垂直ページ境界を挟む単位領域が同一バンクから成る場合には、相対アクセス順序決定部７２３が垂直ページ境界以後のアクセス順序を垂直ページ境界以前のアクセス順序と同じにし、異なるバンクから成る場合には逆にする（ステップＳ２１０、Ｓ２１１）。ここでは、図８に示すように異なるバンクから成るので、アクセス順序を左側から先に読み出す順序に決定し、読み出し順序は「ｅ１→ｅ２」となる。
【００８２】
（１０）ＳＤＲＡＭ制御部７３が、相対アクセス順序決定部７２３により決定された順序で、垂直ページ境界以後の各ラインがアクセスされるようにＳＤＲＡＭ８を制御する（ステップＳ２１２）。ここでは、左側から先に読み出すようにＳＤＲＡＭ８を制御する。
従って、全ての読み出し順序は「ａ２→ａ１→ｂ２→ｂ１→ｃ２→ｃ１→ｄ２→ｄ１→ｅ１→ｅ２」となる。
【００８３】
本発明の実施の形態２に係る画像復号システムにおいて、図９のように記憶された画像データから図１１に示した参照画像を読み出す場合の読み出し順序を、図１２に示したフローチャートを用いて説明する。
（１）ステップＳ２０１では、図１１に示す参照画像を読み出す旨のアクセス情報を受け付けるものとする。
【００８４】
（２）ステップＳ２０２では、図１１に示す「ａ１，ａ２，ｂ１，ｂ２，ｃ１，ｃ２，ｄ１，ｄ２，ｅ１，ｅ２」の単一ページ領域に分割する。
（３）ステップＳ２０３では、図１１に示すような水平ページ境界を検出する。
（４）ステップＳ２０４では、右側の方が左側よりも小さいと判断する。
【００８５】
（５）ステップＳ２０５：Ｓ２０７：Ｎｏでは、右側が小さいので右側から先に読み出す順序に決定し、読み出し順序は「ａ２→ａ１→ｂ２→ｂ１→ｃ２→ｃ１→ｄ２→ｄ１」となる。
（６）ステップＳ２０６、Ｓ２０７：Ｎｏでは、右側から先に読み出すようにＳＤＲＡＭ８を制御する。
【００８６】
（７）ステップＳ２０７：Ｙｅｓ、Ｓ２０８では、「ａ２→ａ１→ｂ２→ｂ１→ｃ２→ｃ１→ｄ２→ｄ１」と読み出すように決定された後で図１１に示すような垂直ページ境界を検出する。
（８）ステップＳ２０９では、画面サイズ「１６×２ｎ」と、形状「横１６画素×縦３２画素の矩形領域」とに基づいて、図９に示すように同一バンクから成ると判断する。
【００８７】
（９）ステップＳ２１０、Ｓ２１１では、図９に示すように同一バンクから成るので、アクセス順序を右側から先に読み出す順序に決定し、読み出し順序は「ｅ２→ｅ１」となる。
（１０）ステップＳ２１２では、右側から先に読み出すようにＳＤＲＡＭ８を制御する。
【００８８】
従って、全ての読み出し順序は「ａ２→ａ１→ｂ２→ｂ１→ｃ２→ｃ１→ｄ２→ｄ１→ｅ２→ｅ１」となる。
図１３（ａ）は、本発明の実施の形態２に係る画像復号システムにおいて、図８のように記憶された画像データから図１０に示した参照画像を読み出す場合の読み出しタイミングを、動作クロック単位で示す図である。
【００８９】
図１３（ｂ）は、従来の画像復号システムにおいて、図８のように記憶された画像データから図１０に示した参照画像を、アドレス順に読み出す場合の読み出しタイミングを、動作クロック単位で示す図である。
図１４は、本発明の実施の形態２に係る画像復号システムにおいて、図９のように記憶された画像データから図１１に示した参照画像を読み出す場合の読み出しタイミングを、動作クロック単位で示す図である。
【００９０】
図１３（ａ）（ｂ）、図１４においても、ＣＡＳレーテンシは３、バースト長は８とする。
ここでも図２５と同様にＣＡＳレーテンシが３のなので、プリチャージ・コマンドの入力から１クロック後までのリード・データが有効であり、また、同一バンクに対するプリチャージ・コマンドとアクティブ・コマンドとの間隔、及び、アクティブ・コマンドとリード・コマンドとの間隔は、共に３クロック以上必要であるものとする。また、異なるバンクに対するアクティブ・コマンドの間隔も３クロック以上必要であるものとする。
【００９１】
図１３（ａ）では全ての参照画像を読み出すのに５３サイクル、図１３（ｂ）では全ての参照画像を読み出すのに５８サイクル、図１４では全ての参照画像を読み出すのに５９サイクルを必要とする。
＜変形例＞
図１５は、データバスのビット幅が８ビットであり１カラムが８ビット、１ページが１０２８カラムの２つのバンク（バンク０とバンク１）を備えるＳＤＲＡＭ８に、１画素あたりのデータ量（例えば「輝度」を表す）が８ビットで、各単位領域が横３２画素×縦３２画素の矩形領域で、横方向の画素数が「１６×（４ｎ）」の画像データを記憶する場合において、各画像データが記憶される記憶領域のバンクナンバーとページナンバーとを示す図である。ここで、「ｎ」は１以上の整数とする。
【００９２】
図１５では、図９と同じように、左右に隣接する単一ページの矩形領域のデータは異なるバンクに記憶されているが、上下に隣接する単一ページの矩形領域のデータは同一バンクに記憶されている。
従って、この場合のアクセス順序は、図９の場合と同じにする。
図１６は、記憶する画像データの横方向の画素数が「１６×（４ｎ＋１）」である点のみが図１５と異なる。
【００９３】
この場合のアクセス順序は、垂直ページクロス信号の有無に関係なく、常に右から左とする。
図１７は、記憶する画像データの横方向の画素数が「１６×（４ｎ＋２）」である点のみが図１５と異なる。
図１７では、図８と同じように、上下および左右に隣接する単一ページの矩形領域のデータは、異なるバンクに記憶されている。
【００９４】
従って、この場合のアクセス順序は、図８の場合と同じにする。
図１８は、記憶する画像データの横方向の画素数が「１６×（４ｎ＋３）」である点のみが図１５と異なる。
この場合のアクセス順序は、垂直ページクロス信号の有無に関係なく、常に左から右とする。
【００９５】
以上のように、本発明の実施の形態２に係るメモリ制御装置は、参照画像のアクセス順序を、同一バンクの記憶領域に対して連続してアクセスする頻度が低くなるように、又は、同一バンクで且つ異なるページの記憶領域に対して連続してアクセスする頻度が低くなるように適正化し、適正化したアクセス順序に従ってメモリの記憶領域がアクセスされるように制御する。
（実施の形態３）
＜構成＞
図１９は、実施の形態３に係るメモリ制御装置を用いた画像復号システムの構成を示す図である。
【００９６】
図１９に示す実施の形態３の画像復号システムは、画像復号部１、差分画像バッファ２、参照画像バッファ３、ハーフペル補間部４、加算器５、画像出力部６、メモリ制御装置９、及び、ＳＤＲＡＭ８で構成される。
これらの画像復号システムの構成要素は、実施の形態２のメモリ制御装置７がメモリ制御装置９に置き換わっただけであり、メモリ制御装置以外の構成要素は、実施の形態２と全く同じものである。
【００９７】
メモリ制御装置９は、アクセス情報受付部７１、アクセス順序適正化部９１、及び、ＳＤＲＡＭ制御部７３から構成される。
アクセス順序適正化部９１は、領域分割部７２１、垂直ページ境界検出部７２２、画面サイズ設定部７２４、コンフィグレーション設定部７２５、バンク判断部７２６、水平ページ境界検出部７２７、大小比較部７２８、初期アクセス順序決定部７２９、アドレス変換部９１１、及び、順序逆転部９１２を含む。
【００９８】
これらのアクセス順序適正化部９１の構成要素は、実施の形態２のアクセス順序適正化部７２の構成要素から相対アクセス順序決定部７２３を削除し、アドレス変換部９１１、及び、順序逆転部９１２を追加したものである。
これらの構成要素のうち、実施の形態２と同じ番号の構成要素は同様の機能を持つものとする。
【００９９】
アドレス変換部９１１は、実施の形態２のように生成された画像データを表示状態において連続する所定の順番で記憶した場合に、垂直方向のページ境界を挟む単位領域が同一バンクから成るとバンク判断部７２６が判断した場合には、異なるバンクから成るように、画像データの論理アドレスとＳＤＲＡＭ８の物理アドレスとを相互に変換する。図８に示す例では上下に隣接する単一ページの矩形領域のデータは異なるバンクに記憶されると判断されるので何もせず、図９に示す例では上下に隣接する単一ページの矩形領域のデータは同一バンクに記憶されると判断されるので画像データの論理アドレスとＳＤＲＡＭ８の物理アドレスとを相互に変換する。
【０１００】
より具体的には、図９のような場合に何もしないと、左右に隣接する単一ページの矩形領域のデータは異なるバンクに記憶されるが、上下に隣接する単一ページの矩形領域のデータは異なるバンクに記憶されないので、上下方向の１つおきに（例えば偶数列の）隣あうバンク０の記憶領域とバンク１の記憶領域とを入れ替える。
【０１０１】
順序逆転部９１２は、垂直方向のページ境界以後の単一ページ領域のアクセス順序を、垂直方向のページ境界以前と逆にする。
＜動作＞
図２０は、データバスのビット幅が８ビットであり１カラムが８ビット、１ページが５１２カラムの２つのバンク（バンク０とバンク１）を備えるＳＤＲＡＭ８に、１画素あたりのデータ量（例えば「輝度」を表す）が８ビットで、各単位領域が横１６画素×縦３２画素の矩形領域で、横方向の画素数が「１６×２ｎ」の画像データを、アドレス変換部９１１がアドレスを変換して記憶する場合において、各画像データが記憶される記憶領域のバンクナンバーとページナンバーとを示す図である。ここで、「ｎ」は１以上の整数とする。
【０１０２】
この場合、アドレス変換部９１１では、垂直方向の画素位置に応じて、以下のようなアドレス変換を行なう。なお、「ｍ」は１以上の整数とする。
ａ）６４（ｍ−１）≦垂直方向の画素位置≦｛６４（ｍ−１）＋３１｝は、アドレス変換なし。
ｂ）｛６４（ｍ−１）＋３２｝≦垂直方向の画素位置≦｛６４（ｍ−１）＋６３｝は、バンク０はバンク１に、バンク１はバンク０に変換することで、隣あうバンク０の記憶領域とバンク１の記憶領域とが入れ替わるようにアドレス変換を行なう。
【０１０３】
なお、横方向の画素数が「１６×（２ｎ＋１）」の画像データの場合は、何もしなくても画像データの表示状態において上下および左右に隣接する単一ページの矩形領域のデータがＳＤＲＡＭ８の異なるバンクに記憶されるので、アドレス変換部９１１はアドレス変換を行なわない。
従って、各画像データが記憶されるバンクナンバーの配置が、横方向の画素数が「１６×２ｎ」の画像データの場合には、「１６×（２ｎ＋１）」の画像データの場合と同じになり、読み出しタイミングも同様になる為、実施の形態２で説明したように読み出し時間が５９サイクルから５３サイクルへと短くなる。
【０１０４】
以上のように、本発明の実施の形態３に係るメモリ制御装置は、上下に隣接する単一ページの矩形領域のデータが同一バンクに記憶されないように、画像データの論理アドレスとＳＤＲＡＭ８の物理アドレスとを相互に変換し、さらに、参照画像のアクセス順序を、同一バンクの記憶領域に対して連続してアクセスする頻度が低くなるように、又は、同一バンクで且つ異なるページの記憶領域に対して連続してアクセスする頻度が低くなるように適正化し、適正化したアクセス順序に従ってメモリの記憶領域がアクセスされるように制御する。
【０１０５】
なお、実施の形態２及び実施の形態３では、画像復号システムについての例を説明したが、画像符号化システム（ビデオエンコード装置）であっても同様である。
【０１０６】
【発明の効果】
（Ａ）本発明に係るメモリ制御装置は、複数のバンクに区分された記憶領域を有するメモリを制御する装置であって、前記複数のバンクはそれぞれ複数の分割バンクに分割され、前記メモリは同一バンクで且つ異なる分割バンクの記憶領域に対するアクセスが連続すると遅延が生じるものであり、複数の単位アクセスに分けてアクセスすべき２つ以上のバンクの記憶領域を示すアクセス情報を外部装置から受け付ける受付手段と、前記アクセス情報が示す各単位アクセスの記憶領域が区分される各バンクが同一であるか異なるかに基づいて各単位アクセスのアクセス順序を同一バンクの記憶領域に対して連続してアクセスする頻度が低くなるように適正化して決定する適正化手段と、前記メモリの記憶領域が適正化手段が適正化して決定したアクセス順序に従ってアクセスされるように前記メモリを制御する制御手段とを備えることを特徴とする。
【０１０７】
これによって、同一バンクへの連続アクセスが発生する頻度を低下させることができる。
従って、プリチャージ等によるオーバーヘッドが削減され、ＳＤＲＡＭの実効転送レートが向上する。
（Ｂ）ここで（Ａ）において、前記適正化手段は、前記アクセス情報が示す各単位アクセスの記憶領域が区分される各バンク及び各分割バンクが同一であるか異なるかに基づいて各単位アクセス前記各単位アクセスのアクセス順序を同一バンクの記憶領域に対してではなく同一バンクで且つ異なる分割バンクの記憶領域に対して連続してアクセスする頻度が低くなるように適正化して決定すること
を特徴とすることもできる。
【０１０８】
これによって、同一バンクかつ異なるページへの連続アクセスが発生する頻度を低下させることができる。
（Ｃ）ここで（Ａ）において、前記外部装置は１つ以上の転送対象機器から成り、前記アクセス情報は前記転送対象機器から発行される２つ以上の個別アクセス情報から成り、前記個別アクセス情報はそれぞれ１つ以上の単位アクセスから成り、前記適正化手段は、現在アクセス中又は先にアクセスされるべき先行個別アクセス情報において最後にアクセスされるべき末尾バンクを特定する末尾特定手段と、前記個別アクセス情報毎に最初にアクセスされるべき先頭バンクを特定する先頭特定手段と、末尾バンクと異なるバンクを示す先頭バンクに対応する個別アクセス情報が示す記憶領域のアクセスを末尾バンクと同じバンクを示す先頭バンクに対応する個別アクセス情報が示す記憶領域のアクセスよりも優先的に選択して前記先行個別アクセス情報が示す記憶領域のアクセスの直後の順序とする選択手段とを含むことを特徴とすることもできる。
【０１０９】
これによって、２つ以上のアクセス情報を受け付けた場合に、先にアクセスされるべきアクセス情報において最後にアクセスされるべきバンクと、異なるバンクに対して最初にアクセスするアクセス情報を優先させることができる。
（Ｄ）ここで（Ｃ）において、前記末尾特定手段は、さらに、前記先行個別アクセス情報において最後にアクセスされるべき末尾分割バンクを特定し、前記先頭特定手段は、さらに、前記個別アクセス情報毎に最初にアクセスされるべき先頭分割バンクを特定し、前記選択手段は、末尾バンクと異なるバンクを示す先頭バンクに対応する個別アクセス情報が示す記憶領域及び末尾分割バンクと同一分割バンクを示す先頭分割バンクに対応する個別アクセス情報が示す記憶領域のアクセスを末尾バンクと同一バンクを示す先頭バンクに対応し且つ末尾分割バンクと異なる分割バンクを示す先頭分割バンクに対応する個別アクセス情報が示す記憶領域のアクセスよりも優先的に選択して前記先行個別アクセス情報が示す記憶領域のアクセスの直後の順序とすることを特徴とすることもできる。
【０１１０】
これによって、２つ以上のアクセス情報を受け付けた場合に、先アクセスされるべきアクセス情報において、最後にアクセスされるべきバンクと異なるバンク、及び、最後にアクセスされるべきバンクと同一バンクで同一ページに対して最初にアクセスするアクセス情報を優先させることができる。
（Ｅ）ここで（Ｃ）及び（Ｄ）の何れかにおいて、前記個別アクセス情報はそれぞれ転送待ちの時間的な限度を示す限度情報を含み、前記選択手段は個別アクセス情報毎に限度情報が示す限度を越えそうであるか否かを判定し限度を越えそうであると判定した個別アクセス情報が示す記憶領域のアクセスを最優先で選択することを特徴とすることもできる。
【０１１１】
これによって、アクセス情報毎に限度を越えそうであるか否かを判定し、越えそうなアクセス情報を最優先することができる。
従って、アクセス情報毎のリアルタイム性をある程度保証しつつ、プリチャージ等によるオーバーヘッドが削減され、ＳＤＲＡＭの実効転送レートが向上する。
【０１１２】
（Ｆ）ここで（Ｅ）において、前記メモリはバンク毎に所定の１分割バンクのデータを保持する転送用アンプを備え、前記メモリの記憶領域へのアクセスは常に転送用アンプを介して行なわれるものであり、前記遅延は「転送用アンプに保持されたデータを直前のアクセス対象の１分割バンクへ転送するのに必要な時間」と「現在のアクセス対象の１分割バンクに記憶されたデータを転送用アンプへ転送するのに必要な時間」との合計であり、前記限度情報は個別アクセス情報が発行されてから転送が完了するまでに許されるサイクル数の限度を示すリミットサイクル数であり、前記選択手段は、個別アクセス情報毎に現時点から転送が完了するまでに許されるサイクル数の限度を示す残りサイクル数を保持する残りサイクル数保持手段と、個別アクセス情報が発行された時にリミットサイクル数を残りサイクル数の初期値として残りサイクル数保持手段に保持させる初期値設定手段と、残りサイクル数保持手段が保持する残りサイクル数を１サイクル毎に１づつ減算する減算手段と、個別アクセス情報毎に「（実行中のアクセスが完了するまでのサイクル数）＋（優先的に選択された個別アクセス情報のアクセスに必要なサイクル数）＋（転送用アンプに保持されたデータを所定の１分割バンクへ転送するのに必要なサイクル数）＋（所定の１分割バンクに記憶されたデータを転送用アンプへ転送するのに必要なサイクル数）＋（自身のアクセスに必要なサイクル数）＝完了予定サイクル数」を実行中のアクセスが完了するまでに計算する計算手段と、「前記完了予定サイクル数＞前記残りサイクル数」の場合に対応する個別アクセス情報が限度を越えそうであると判定する判定手段とを含むことを特徴とすることもできる。
【０１１３】
これによって、アクセス情報毎に、リミットサイクル数を残りサイクル数の初期値とし１サイクル毎に１づつ減算して優先的に選択された他のアクセス情報によるアクセスに必要なサイクル数等と比較し、優先的に選択された他のアクセス情報によるアクセスの終了後に選択した場合に限度を越えないか否かを判定し、越えそうなアクセス情報を最優先することができる。
【０１１４】
従って、アクセス情報毎のリアルタイム性を、他のアクセス情報によるアクセスの終了後に選択した場合においても保証しつつ、プリチャージ等によるオーバーヘッドが削減され、ＳＤＲＡＭの実効転送レートが向上する。
（Ｇ）ここで（Ｅ）において、前記メモリはバンク毎に所定の１分割バンクのデータを保持する転送用アンプを備え、前記メモリの記憶領域へのアクセスは常に転送用アンプを介して行なわれるものであり、前記遅延は「転送用アンプに保持されたデータを直前のアクセス対象の１分割バンクへ転送するのに必要な時間」と「現在のアクセス対象の１分割バンクに記憶されたデータを転送用アンプへ転送するのに必要な時間」との合計であり、前記限度情報は個別アクセス情報が発行されてから転送が完了するまでに許されるサイクル数の限度を示すリミットサイクル数であり、前記選択手段は、個別アクセス情報毎にその個別アクセス情報が発行された時から１サイクル毎に待機サイクル数をカウントするカウント手段と、個別アクセス情報毎に「（前記待機サイクル数）＋（実行中のアクセスが完了するまでのサイクル数）＋（優先的に選択された個別アクセス情報のアクセスに必要なサイクル数）＋（転送用アンプに保持されたデータを所定の１分割バンクへ転送するのに必要なサイクル数）＋（所定の１分割バンクに記憶されたデータを転送用アンプへ転送するのに必要なサイクル数）＋（自身のアクセスに必要なサイクル数）＝完了予定サイクル数」を実行中のアクセスが完了するまでに計算する計算手段と、「前記完了予定サイクル数＞前記リミットサイクル数」の場合に対応する個別アクセス情報が限度を越えそうであると判定する判定手段とを含むことを特徴とすることもできる。
【０１１５】
これによって、アクセス情報毎に、待機サイクル数をカウントし、優先的に選択された他のアクセス情報によるアクセスの終了後であっても、限度を越えないか否かを判定し、越えそうなアクセス情報を最優先することができる。
従って、アクセス情報毎のリアルタイム性を、他のアクセス情報によるアクセスの終了後に選択した場合においても保証しつつ、プリチャージ等によるオーバーヘッドが削減され、ＳＤＲＡＭの実効転送レートが向上する。
【０１１６】
（Ｈ）ここで（Ａ）において、前記外部装置は符合化された画像データを復号するビデオデコード装置又は画像データを符合化するビデオエンコード装置であり、生成された画像データは前記メモリに一時的に記憶され、前記メモリに記憶された画像データはその表示状態において連続する一部が新たな画像データを生成する為に読み出され、前記生成された画像データはそれぞれが単一分割バンクの記憶領域のみから成る前記メモリの単位領域に分散されて表示状態において連続する所定の順番で記憶され、記憶順序において隣接する単位領域は異なるバンク又は同一分割バンクから成り、前記アクセス情報は表示状態と記憶順序とにおいて隣接する単位領域に跨り且つ表示状態において隣接し記憶順序においては隣接しない単位領域に跨る記憶領域を示し新たな画像データを生成する為に前記ビデオデコード装置又は前記ビデオエンコード装置から発行され、前記適正化手段は、前記アクセス情報が示す記憶領域をそれぞれが単一分割バンクの記憶領域であり記憶領域が連続している単一分割バンク領域に分割する分割手段と、表示状態において隣接し記憶順序においては隣接しない単位領域の境界を示す非隣接境界を検出する非隣接境界検出手段と、前記非隣接境界を挟む単位領域が同一バンクから成るか異なるバンクから成るかによって前記単一分割バンク領域のアクセス順序を決定する相対順序決定手段とを含むことを特徴とすることもできる。
【０１１７】
これによって、非隣接境界を挟む単位領域が、同一バンクから成るか異なるバンクから成るかによって、単一ページ領域のアクセス順序を適正化することができる。
（Ｉ）ここで（Ｈ）において、前記相対順序決定手段は、前記非隣接境界以後の前記単一分割バンク領域のアクセス順序を前記非隣接境界を挟む単位領域が同一バンクから成る場合には前記非隣接境界以前と同じにし異なるバンクから成る場合にはその逆にすることを特徴とすることもできる。
【０１１８】
これによって、非隣接境界以後の前記単一ページ領域のアクセス順序を、非隣接境界を挟む単位領域が同一バンクから成る場合には前記非隣接境界以前と同じにし、異なるバンクから成る場合にはその逆にすることで適正化することができる。
（Ｊ）ここで（Ｈ）において、前記相対順序決定手段の代わりに、前記生成された画像データを表示状態において連続する所定の順番で記憶した場合に前記非隣接境界を挟む単位領域が同一バンクから成る場合には異なるバンクから成るように前記画像データの論理アドレスと前記メモリの物理アドレスとを相互に変換するアドレス変換手段と、前記非隣接境界以後の前記単一分割バンク領域のアクセス順序を前記非隣接境界以前と逆にする順序逆転手段とを含むことを特徴とすることもできる。
【０１１９】
これによって、生成された画像データを表示状態において連続する順番で記憶した場合に、非隣接境界を挟む単位領域が同一バンクから成る場合には、異なるバンクから成るように、画像データの論理アドレスとメモリの物理アドレスとを相互に変換することができる。
従って、このような場合には、プリチャージ等によるオーバーヘッドがより削減され、ＳＤＲＡＭの実効転送レートが向上する。
【０１２０】
（Ｋ）ここで（Ｈ）〜（Ｊ）の何れかにおいて、前記適正化手段は、さらに、前記メモリに記憶される画像データにおいて記憶順序と表示状態とが連続する画素数を画面サイズとして設定する画面サイズ設定手段と、前記単位領域の形状を設定するコンフィグレーション設定手段と、前記画面サイズと前記形状とに基づいて前記生成された画像データを表示状態において連続する所定の順番で記憶した場合に前記非隣接境界を挟む単位領域が同一バンクから成るか異なるバンクから成るかを判断するバンク判断手段を含むことを特徴とすることもできる。
【０１２１】
これによって、画像データの画面サイズと単位領域の形状とに基づいて、生成された画像データを表示状態において連続する順番で記憶した場合に、隣接境界を挟む単位領域が同一バンクから成るか異なるバンクから成るかを判断することができる。
従って、画像データの画面サイズや単位領域の形状に応じて、プリチャージ等によるオーバーヘッドが削減され、ＳＤＲＡＭの実効転送レートが向上する。
【０１２２】
（Ｌ）ここで（Ｈ）〜（Ｋ）の何れかにおいて、前記適正化手段は、さらに、表示状態と記憶順序とにおいて隣接する単位領域の境界を示す隣接境界を検出する隣接境界検出手段と、前記アクセス情報が示す記憶領域を前記隣接境界で分割した際の各記憶領域の大きさを比較する比較手段と、前記非隣接境界以前の前記単一分割バンク領域のアクセス順序を比較手段の比較において小さいと判断された記憶領域に属する単一分割バンク領域から先に読み出す順序とする初期順序決定手段とを含むことを特徴とすることもできる。
【０１２３】
これによって、記非隣接境界以前の単一ページ領域のアクセス順序を、小さい記憶領域に属する単一ページ領域から先に読み出す順序とすることができる。
従って、プリチャージ等によるオーバーヘッドがより削減され、ＳＤＲＡＭの実効転送レートが向上する。
（Ｍ）本発明に係るコンピュータ読み取り可能な記憶媒体は、コンピュータを（Ａ）〜（Ｌ）の何れかに記載のメモリ制御装置として機能させるためのプログラムを記録することを特徴とする。
【０１２４】
これによって、それぞれ（Ａ）〜（Ｌ）と同様の効果が得られる。
【図面の簡単な説明】
【図１】ＳＤＲＡＭを制御する実施の形態１のメモリシステムの構成を示す図である。
【図２】アービター１０の詳細な構成を示す図である。
【図３】選択部１０５の構成の一例を示す図である。
【図４】選択部１０５の構成の別の一例を示す図である。
【図５】本発明の実施の形態１に係るアクセスの実行順序を適正化する方法のフローチャートを示す図である。
【図６】本発明の実施の形態１に係るメモリシステムにおいて、図２４に示すような各データ転送が、各転送対象ユニットから同時に要求された場合の転送順序を、動作クロック単位で示す図である。
【図７】実施の形態２に係るメモリ制御装置を用いた画像復号システム（ビデオデコード装置）の構成を示す図である。
【図８】各画像データが記憶される記憶領域のバンクナンバーとページナンバーとを示す図である。
【図９】記憶する画像データの横方向の画素数が「１６×２ｎ」である点のみが異なる、図８と同様な図である。
【図１０】図８に示すようなＳＤＲＡＭ８に記憶された画像データから読み出される参照画像の一例である。
【図１１】図９に示すようなＳＤＲＡＭ８に記憶された画像データから読み出される参照画像の一例である。
【図１２】本発明の実施の形態２に係るアクセスの実行順序を適正化する方法のフローチャートを示す図である。
【図１３】図１３（ａ）は、本発明の実施の形態２に係る画像復号システムにおいて、図８のように記憶された画像データから図１０に示した参照画像を読み出す場合の読み出しタイミングを、動作クロック単位で示す図である。図１３（ｂ）は、従来の画像復号システムにおいて、図８のように記憶された画像データから図１０に示した参照画像を、アドレス順に読み出す場合の読み出しタイミングを、動作クロック単位で示す図である。
【図１４】本発明の実施の形態２に係る画像復号システムにおいて、図９のように記憶された画像データから図１１に示した参照画像を読み出す場合の読み出しタイミングを、動作クロック単位で示す図である。
【図１５】各画像データが記憶される記憶領域のバンクナンバーとページナンバーとを示す図である。
【図１６】記憶する画像データの横方向の画素数が「１６×（４ｎ＋１）」である点のみが図１５と異なる図である。
【図１７】記憶する画像データの横方向の画素数が「１６×（４ｎ＋２）」である点のみが図１５と異なる図である。
【図１８】記憶する画像データの横方向の画素数が「１６×（４ｎ＋３）」である点のみが図１５と異なる図である。
【図１９】実施の形態３に係るメモリ制御装置を用いた画像復号システムの構成を示す図である。
【図２０】各画像データが記憶される記憶領域のバンクナンバーとページナンバーとを示す図である。
【図２１】一般的なＳＤＲＡＭの記憶領域を示す図である。
【図２２】一般的なＳＤＲＡＭの状態遷移図である。
【図２３】ＳＤＲＡＭを制御する従来のメモリシステムの構成を示す図である。
【図２４】各転送対象ユニットが要求するデータ転送によりアクセスされるカラムが含まれるページの番号と、そのページが属するバンクの番号とを、アクセスされる順にカラム単位で示す図である。
【図２５】図２４に示すような各データ転送が、各転送対象ユニットから同時に要求された場合の転送順序を、動作クロック単位で示す図である。
【符合の説明】
１    画像復号部
２    差分画像バッファ
３    参照画像バッファ
４    ハーフペル補間部
５    加算器
６    画像出力部
７    メモリ制御装置
８    ＳＤＲＡＭ
９    メモリ制御装置
１０    アービター
１１〜１３  転送対象ユニット
７１    アクセス情報受付部
７２    アクセス順序適正化部
７３    ＳＤＲＡＭ制御部
９１    アクセス順序適正化部
１０１    転送要求情報受付部
１０２    転送要求情報保持部
１０３    末尾特定部
１０４    アービター
１０４    先頭特定部
１０５    最終アクセスバンク保持手段
１０５    選択部
１０５ａ  サイクル数保持部
１０５ｂ  初期値設定部
１０５ｃ  減算部
１０５ｄ  計算部
１０５ｅ  判定部
１０５ｆ  カウント部
１０５ｇ  計算部
１０５ｈ  判定部
２３１〜２３３  転送対象ユニット
２３４    アービター
２３５    ＳＤＲＡＭ制御部
２３６    ＳＤＲＡＭ
７２１    領域分割部
７２２    垂直ページ境界検出部
７２３    相対アクセス順序決定部
７２４    画面サイズ設定部
７２５    コンフィグレーション設定部
７２６    バンク判断部
７２７    水平ページ境界検出部
７２８    大小比較部
７２９    初期アクセス順序決定部
９１１    アドレス変換部
９１２    順序逆転部
【図１】
0004234829.tif 000002
【図２】
0004234829.tif 000003
【図３】
0004234829.tif 000004
【図４】
0004234829.tif 000005
【図５】
0004234829.tif 000006
【図６】
0004234829.tif 000007
【図７】
0004234829.tif 000008
【図８】
0004234829.tif 000009
【図９】
0004234829.tif 000010
【図１０】
0004234829.tif 000011
【図１１】
0004234829.tif 000012
【図１２】
0004234829.tif 000013
【図１３】
0004234829.tif 000014
【図１４】
0004234829.tif 000015
【図１５】
0004234829.tif 000016
【図１６】
0004234829.tif 000017
【図１７】
0004234829.tif 000018
【図１８】
0004234829.tif 000019
【図１９】
0004234829.tif 000020
【図２０】
0004234829.tif 000021
【図２１】
0004234829.tif 000022
【図２２】
0004234829.tif 000023
【図２３】
0004234829.tif 000024
【図２４】
0004234829.tif 000025
【図２５】
0004234829.tif 000026