(57)【要約】【課題】  メモリ構成の帯域幅を効率的に用いる。【解決手段】  １本のデータバスを複数の同型メモリユニットから構成される並列構成に接続するメモリインターフェースが提供される。このメモリインターフェースは、連続するデータアイテムのシーケンス内のデータアイテムのサブシーケンスを１回のメモリアクセス周期で読み出し／格納できる。サブシーケンスの幅はデータバスの幅に対応する。サブシーケンス内の各データアイテムは、複数の同型メモリユニットのうちの異なる１つから読み出し／格納され、メモリインターフェースは、特定のデータアイテムのサブシーケンスに対するアクセス要求に従って、複数の同型メモリユニットの各々に対する個々のアクセスを制御する。【選択図】  図８
2005251196.tif 000002
【特許請求の範囲】
【請求項１】
１本のデータバスを複数の同型メモリユニットから構成される並列構成に接続し、連続するデータアイテムのシーケンス内のデータアイテムのサブシーケンスを読み出し／格納するためのメモリインターフェースであって、当該データアイテムのサブシーケンスは１回のメモリアクセス周期で読み出し／格納され、当該サブシーケンスの幅はデータバスの幅に対応し、
前記サブシーケンス内の各データアイテムは、前記複数の同型メモリユニットのうちの異なる１つから読み出し／格納され、
前記メモリインターフェースは、特定のデータアイテムのサブシーケンスに対するアクセス要求に従って、前記複数の同型メモリユニットの各々に対する個々のアクセスを制御する、メモリインターフェース。
【請求項２】
データアイテムのサブシーケンスに対するアクセス要求を受信し、当該アクセス要求に応じて前記複数の同型メモリユニットに対する個別アドレスを算出するコントローラを備える、請求項１に記載のメモリインターフェース。
【請求項３】
データアイテムのサブシーケンスに対するアクセス要求は、当該データアイテムのサブシーケンス内の少なくとも１つのデータアイテムの格納位置を特定する、請求項１または２に記載のメモリインターフェース。
【請求項４】
前記格納位置は、アドレスおよび前記複数の同型メモリユニットのうちの特定のメモリユニットの指定によって特定される、請求項３に記載のメモリインターフェース。
【請求項５】
データアイテムのサブシーケンスに対するアクセス要求は、当該データアイテムのサブシーケンスのうちの少なくとも１つのデータアイテムについて、データアイテムのシーケンス内での位置を特定する、請求項１または２に記載のメモリインターフェース。
【請求項６】
データアイテムのシーケンス内のデータアイテムは、前記複数の同型メモリユニットから構成される並列構成に周期的に格納され、連続するデータアイテムの各々を連続するメモリユニットに同じアドレスを用いて格納し、前記複数の同型メモリユニットの全てにおいて、当該アドレスでアクセス可能な格納位置を占有した後、当該アドレスが増加する、請求項１〜５のいずれかに記載のメモリインターフェース。
【請求項７】
前記個別アドレスは、１つのアドレスまたは隣接する２つのアドレスのいずれかのみを含む、請求項２〜６のいずれかに記載のメモリインターフェース。
【請求項８】
前記コントローラは、前記アクセス要求に応じて、隣接する２つのアドレスを算出するアドレス算出手段を備える、請求項７に記載のメモリインターフェース。
【請求項９】
前記コントローラは、前記複数の同型メモリユニットの各々について、前記算出された２つのアドレスのうちの１つを個別アドレスとして選択する選択手段をさらに備える、請求項８に記載のメモリインターフェース。
【請求項１０】
前記複数の同型メモリユニットから読み出されたデータアイテムのサブシーケンス内のデータアイテムをソートし、当該読み出されたデータアイテムの順序をシーケンス内のデータアイテムの順序に合わせるソート手段をさらに備える、請求項１〜９のいずれかに記載のメモリインターフェース。
【請求項１１】
前記複数の同型メモリユニット内に格納されるべきデータアイテムのサブシーケンス内のデータアイテムをソートし、格納されるべきデータアイテムの順序を所定の格納順序にするソート手段をさらに備える、請求項１〜１０のいずれかに記載のメモリインターフェース。
【請求項１２】
前記ソート手段は、データアイテムのサブシーケンスのうちの少なくとも１つのデータアイテムの格納位置を示す前記アドレス算出手段からの制御信号に従って、データアイテムの交換方法を決定する、請求項１０または１１に記載のメモリインターフェース。
【請求項１３】
前記複数の同型メモリユニットの各々において、同じアドレスにそれぞれのデータアイテムを格納する書き込みコントローラをさらに備える、請求項１〜１２のいずれかに記載のメモリインターフェース。
【請求項１４】
前記データアイテムの各々、および前記複数の同型メモリユニットの各々は１０ビットの幅を有する、請求項１〜１３のいずれかに記載のメモリインターフェース。
【請求項１５】
サブシーケンスは５個のデータアイテムを含む、請求項１〜１４のいずれかに記載のメモリインターフェース。
【請求項１６】
前記データバスは５０ビットの幅を有する、請求項１〜１５のいずれかに記載のメモリインターフェース。
【請求項１７】
連続するデータアイテムからなるシーケンス内の所定数の隣接するデータアイテムへのアクセスを必要とするデータ処理を行うデータ処理システムであって、
前記隣接するデータアイテムにデータ処理を行う処理手段と、
前記処理手段に接続された１本のデータバスと、
前記データバスを複数の同型メモリユニットに接続する請求項１〜１６のいずれかに記載のメモリインターフェースと、
を備えるデータ処理システム。
【請求項１８】
前記処理手段は、所定数の隣接するデータアイテムを並列に処理し、前記メモリインターフェースを介して１回のメモリアクセス周期でアクセスされるデータアイテムのサブシーケンス内のデータアイテムの数は、並列に処理されているデータアイテムの所定数に対応する、請求項１７に記載のデータ処理システム。
【請求項１９】
前記処理手段は、前記所定数の隣接するデータアイテムの供給を受けるデジタルフィルタを備える、請求項１８に記載のデータ処理システム。
【請求項２０】
前記処理手段は多くのパイプライン処理段を備える、請求項１７〜１９のいずれかに記載のデータ処理システム。
【請求項２１】
前記処理手段は画像プロセッサを備える、請求項１７〜２０のいずれかに記載のデータ処理システム。
【請求項２２】
前記画像プロセッサは、フレームレート変換、フレームレートアップコンバージョン、および動き補償アップコンバージョンから選択される画質改善アルゴリズムのうちの少なくとも１つを行う、請求項２１に記載のデータ処理システム。
【請求項２３】
１本のデータバスを介して複数の同型メモリユニットから構成される並列構成にアクセスすることにより連続するデータアイテムのシーケンス内のデータアイテムのサブシーケンスを読み出し／格納するメモリアクセス方法であって、当該サブシーケンスの幅は当該データバスの幅に対応し、
前記メモリアクセス方法は、１回のメモリアクセス周期で特定のデータアイテムのサブシーケンスを読み出し／格納するステップであって、当該サブシーケンスの各データアイテムは、前記複数の同型メモリユニットのうちの異なる１つから読み出し／格納される、ステップを包含し、
前記読み出し／格納ステップは、前記データアイテムのサブシーケンスに対するアクセス要求に従って、前記複数の同型メモリユニットの各々に対する個々のアクセスを制御するステップを包含する、メモリアクセス方法。
【請求項２４】
前記読み出し／格納ステップは、データアイテムのサブシーケンスに対するアクセス要求を受信し、当該アクセス要求に従って前記複数の同型メモリユニットに対する個別アドレスを算出するステップを包含する、請求項２３に記載のメモリアクセス方法。
【請求項２５】
データアイテムのサブシーケンスに対するアクセス要求は、当該データアイテムのサブシーケンス内の少なくとも１つのデータアイテムの格納位置を特定する、請求項２３または２４に記載のメモリアクセス方法。
【請求項２６】
前記格納位置は、アドレスおよび前記複数の同型メモリユニットのうちの特定のメモリユニットの指定によって特定される、請求項２５に記載のメモリアクセス方法。
【請求項２７】
データアイテムのサブシーケンスに対するアクセス要求は、当該データアイテムのサブシーケンスのうちの少なくとも１つのデータアイテムについて、データアイテムのシーケンス内での位置を特定する、請求項２３または２４に記載のメモリアクセス方法。
【請求項２８】
データアイテムのシーケンス内のデータアイテムは、前記複数の同型メモリユニットから構成される並列構成に周期的に格納され、連続するデータアイテムの各々を連続するメモリユニットに同じアドレスを用いて格納し、前記複数の同型メモリユニットの全てにおいて、当該アドレスでアクセス可能な格納位置を占有した後、当該アドレスが増加する、請求項２３〜２７のいずれかに記載のメモリアクセス方法。
【請求項２９】
前記個別アドレスは、１つのアドレスまたは隣接する２つのアドレスのいずれかのみを含む、請求項２４〜２８のいずれかに記載のメモリアクセス方法。
【請求項３０】
前記読み出し／格納ステップは、前記アクセス要求に応じて、隣接する２つのアドレスを算出するステップをさらに包含する、請求項２９に記載のメモリアクセス方法。
【請求項３１】
前記読み出し／格納ステップは、複数の同型メモリユニットの各々について、前記算出された２つのアドレスのうちの１つを個別アドレスとして選択するステップをさらに包含する、請求項３０に記載のメモリアクセス方法。
【請求項３２】
前記読み出し／格納ステップは、複数の同型メモリユニットから読み出されたデータアイテムのサブシーケンス内のデータアイテムをソートし、当該読み出されたデータアイテムの順序をシーケンス内のデータアイテムの順序に合わせるステップをさらに包含する、請求項２３〜３１のいずれかに記載のメモリアクセス方法。
【請求項３３】
前記読み出し／格納ステップは、前記複数の同型メモリユニット内に格納されるべきデータアイテムのサブシーケンス内のデータアイテムをソートし、格納されるべきデータアイテムの順序を所定の格納順序にするステップをさらに包含する、請求項２３〜３２のいずれかに記載のメモリアクセス方法。
【請求項３４】
前記ソートステップは、データアイテムのサブシーケンスのうちの少なくとも１つのデータアイテムの格納位置に従って、当該データアイテムの交換方法を決定するステップを包含する、請求項３２または３３に記載のメモリアクセス方法。
【請求項３５】
書き込みアクセスは、前記複数の同型メモリユニットの同じアドレスへの共通アクセスとして実行される、請求項２３〜３４のいずれかに記載のメモリアクセス方法。
【請求項３６】
前記データアイテムの各々、および前記複数の同型メモリユニットの各々は１０ビットの幅を有する、請求項２３〜３５のいずれかに記載のメモリアクセス方法。
【請求項３７】
サブシーケンスは５個のデータアイテムを含む、請求項２３〜３６のいずれかに記載のメモリアクセス方法。
【請求項３８】
前記データバスは５０ビットの幅を有する、請求項２３〜３７のいずれかに記載のメモリアクセス方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、高速信号処理用途に対応するために、複数のメモリユニットへの並列アクセスを可能にする広帯域幅メモリ構成に関する。詳細には、本発明は、連続するデータアイテムのシーケンス内のデータアイテムのサブシーケンスを読み出し／格納するための、単一のデータバスを複数の同型メモリユニットの並列構成に接続するメモリインターフェースに関する。
【背景技術】
【０００２】
信号処理の分野では、デジタルデータの利用がますます一般的になり、それゆえ、現在ではデジタル信号処理が広く用いられている。デジタル信号プロセッサの基本構成を図１に模式的に示す。デジタル信号処理システム１００は、入力段１１０で入力データ１０１を受け取る。この入力データは、デジタル信号処理システムの内部データバス１９０を介して、マイクロプロセッサ１５０またはメモリユニット１７０に転送される。マイクロプロセッサは、入力データに信号処理を行い、加えて、後に参照するためにメモリユニット１７０内にデータを格納することがある。処理されたデータは出力段１２０に転送され、さらなる処理または表示等のために出力される。
【０００３】
通信デバイスや消費者エンターテイメントデバイスにデジタル信号処理を使用するために、相当量の格納データに広帯域幅でアクセスすることを必要とする、より複雑な信号処理方法が開発されている。また、デジタル信号処理は、データ処理性能を高めるために、データの並列処理にますます依存するようになっている。
【０００４】
特に、画像処理用途は、広いメモリアクセス帯域幅を提供するデジタル信号処理システムから恩恵を受けている。典型的な用途としては、画像符号化／復号化、例えば、ＭＰＥＧまたはＨ．２６Ｘ圧縮標準に準拠した映像符号化、および最新のテレビの画質改善技術等の画像処理がある。このような画質改善技術には、フレームレート変換、アップコンバージョン、ならびに逆インターレース変換およびフレームレート変換に用いられる動き補償技術が含まれる。
【０００５】
上記用途の実現の大半に共通する特徴は、隣接するデータアイテムの長いシーケンス内の所定数の隣接するデータアイテムにアクセスする必要があることである。例えば、上記の画像／映像処理の場合について考えた場合、これらの隣接するデータアイテムはデジタル画像における隣接するピクセルに対応する。
【０００６】
データアイテムのシーケンス内の隣接するデータアイテムをアクセスする方法を図４に示す。データアイテム…，Ｄ２，Ｄ３，Ｄ４…は、連結されて、データのシーケンス４００となる。特定の時点において、処理手段４１０は、データシーケンス４００内の任意に選択したサブシーケンス（Ｄ６〜Ｄ１０またはＤ９〜Ｄ１３）にアクセスし、それらを処理するか、またはそれらのデータを各処理動作における参照データとして用いる。
【０００７】
デジタルデータ処理のための処理手段の典型的な段は、所定数のデータアイテムが並列に供給される有限インパルス応答フィルタ（ＦＩＲフィルタ）である。しかしながら、隣接するデータアイテムへの並列アクセスは、フィルタ処理だけでなく、他の種々の信号処理用途においても用いられる。
【０００８】
以下、図２ａ、図２ｂ、および図３を参照して、隣接するデータのサブシーケンスへのランダムアクセスを利用する信号処理用途を簡潔に説明する。
【０００９】
図２ａは、送信する映像データの時間的冗長性を低減するために、映像符号化において通常用いられる動き推定技術の概略を示す。図２ａに示す特定の動き推定技術は、ブロックマッチング技術である。現在の映像画像Ｐ１は、所定サイズの複数のマクロブロックに分割される。各ブロック２０は、最もマッチするブロックを見つけるために、前の映像画像Ｐ０から選択された候補ブロック３０や３１と比較される。ある特定のブロックマッチング技術では、前の画像Ｐ０において、マクロブロック２０と同サイズで、かつ所定の検索範囲内にあるいずれのブロックも候補ブロックとなる。異なる候補ブロックは、ピクセル間隔またはサブピクセル間隔で選択される。
【００１０】
ブロック２０と最もマッチする候補ブロック３０が選ばれ、最もマッチしたブロック３０と映像画像Ｐ１の画像ブロック２０とのずれを示す動きベクトル４０が決定される。前の画像Ｐ０および動きベクトルに基づいて、デコーダは予測映像画像を作る。予測画像と実際の画像との差を示す情報のみが符号化されデコーダに与えられる。
【００１１】
動き推定には他にも多くのアプローチがあり、例えば、画像データを周波数領域に変換することなどがあげられる。しかしながら、これらの方法のそれぞれは、前の映像画像の隣接するデータ部分へのアクセスを含む。詳細には、ブロックマッチング技術は、映像画像のデータ範囲内では候補ブロックを形成する隣接するデータ部分にランダムにアクセスできる映像データへのアクセスを利用する。最もマッチするブロックのデータへのアクセスに関する、あらゆる動き推定技術の動き推定結果を利用する映像符号化にも同様のことが言える。
【００１２】
動き推定技術の他の用途には、フレームレート変換技術がある。フレームレート変換の基本原理を図３に示す。時刻ｔ０およびｔ１にそれぞれ表示される入力画像Ｐ１０およびＰ１１の画像データから、ｔ０およびｔ１とは異なる時刻ｔ’に表示される中間画像Ｐ’が算出される。単純な補間技術では、前の画像Ｐ１０の画像データが繰り返されるだけである。しかしながら、このような処理は動きジッタ等の不自然さを生じる。
【００１３】
より高度なアプローチでは、入力画像Ｐ１０およびＰ１１の隣接するピクセルに対応する値に対して補間を行うことにより、中間画像Ｐ’の各ピクセルのデータが算出される。通常、補間処理にはデジタルフィルタが用いられる。このアプローチには、画像Ｐ１０およびＰ１１の隣接する画像データへのランダムアクセスが必要となる。補間された画像にも、まだ、動きスミア等の不自然さが残る。より満足できる結果は、動き推定および動き補償を用いることによって得られる。
【００１４】
図３を参照すると、画像Ｐ１０内の位置３０１から画像Ｐ１１内の位置３０２へのオブジェクトの移動は、適切な動き推定技術による動きベクトル３３０の結果である。動きベクトル３３０は、画像Ｐ’の画像エリア３２０を、移動するオブジェクトが対応する時刻ｔ’に位置する画像エリアとして示す。画像エリア３２０の画像データを算出するために、画像Ｐ１０のエリア３０１および画像Ｐ１１の画像エリア３０２の画像データについて補間処理が行われる。
【００１５】
つまり、動き推定処理および動き補償による中間画像の生成は、隣接する画像データへのランダムアクセスを利用する。
【００１６】
上述の並列データアクセス方法を用いた他の用途は、ＭＰＥＧ標準に従って符号化された映像ストリームを復号化できる映像復号化ユニットに関する。そのような映像復号化ユニットの概略を以下で説明する。
【００１７】
図２ｂは、基本的なＭＰＥＧデコーダの模式的なブロック図を示す。符号化された映像ストリーム２０１には、対応する復号化ユニット２１０において逆可変長符号化が行われる。この工程では、復号化されたデータは、さらに画像データと画像の予測に用いられる動きベクトルデータ２０２とに分割される。この画像データはさらに、変換ユニット２２０において逆離散コサイン変換され、ユニット２３０において逆量子化される。結果として、参照フレーム（Ｉフレーム）の画像データ、または予測フレーム（Ｐフレーム／Ｂフレーム）のための予測エラーデータ２０３が得られる。画像合成ユニット２６０において、予測画像は予測エラーデータと合成され、出力画像２０６が得られる。出力画像２０６はフレームメモリ２５０にも格納され、以降のフレームの予測のための参照フレームとして用いられる。動き補償ユニット２４０は、参照画像２０５および動きベクトルデータ２０２から予測画像２０４を生成する。動きベクトルデータは、予測画像２０４のマクロブロック毎に、参照画像２０５の対応画像部分を特定する。
【００１８】
詳細には、予測画像の生成には、フレームメモリ２５０に格納された参照画像の隣接する画像データ部分への高速ランダムアクセスが必要である。画像データの一部へのアクセスを所定時間内に完了できない場合、復号化処理は一時的に中断する。
【００１９】
このような問題を回避し、画像データのデータ部分への高速で確実なアクセスを保証するために、特許文献１は、改善されたメモリアクセス方法を開示している。図２ｂと同様の映像伸張システムにおいて、フレームメモリは、メモリの連続する行に各水平画像ラインのピクセルデータを格納する。このデータ量のために、少なくとも２つのメモリ行が、１本の水平ラインの画像データを格納するために必要とされる。水平画像ラインのデータは、マクロブロックの幅に対応する１６データバイト間隔でランダムアクセスされる。
【００２０】
広いメモリアクセス帯域幅を達成するために、これらのデータ部分は、ページモードを用いてメモリ行から読み出される。このページモードによれば、メモリデバイスの行が、メモリアクセスの最初に選択され、その後、データ部分の全体が読み出されるまで、列アドレスのみが増加する。メモリは１６ビットの幅を有するため、常に２データバイトが一度に読み出される。
【００２１】
データ部分が２つの異なるメモリ行に格納されたデータを含む場合、アクセス遅延が起こり得る。このデータ部分は、行アドレスを増加させる必要があるので、ページモードで連続して読み出すことができない。このいわゆるページ区切り問題により、１本の水平ラインのデータ部分へのメモリアクセスが遅れ、復号化処理は一時的に中断する。
【００２２】
この問題を回避するために、水平ラインが区切られたメモリ行の終端部分には、重複データが格納される。重複データは次のメモリ行の開始部分からコピーされる。重複データのバイト数は、一度にアクセスされるデータバイト数に対応する。これにより、ページモードにおいて、１本の水平ライン内のランダムに選択されたデータ部分を常に確実に連続してアクセスすることできる。
【００２３】
また、デジタル信号処理用途においてメモリアクセス帯域幅を広げるために、１つのメモリアドレスを用いてより多くのデータアイテムにアクセスできるように、メモリ構成のメモリ幅をさらに広げるアプローチがある。さらに、メモリ構成に接続されるデータバスの幅を、メモリ幅と一致するように広げることもある。そのようなメモリ構成を図５および図６に示す。
【００２４】
図５のメモリ構成は、連結されたデータの５つのアイテム（Ｄ０〜Ｄ４、Ｄ５〜Ｄ９等）を１つのメモリアドレス「ａ」に格納することを可能にするメモリ幅を有するメモリユニット５００を示す。アドレスは、アドレスバス５１０によって特定され、アクセスされたデータアイテムはデータバス５２０上を送信される。例えば、アドレスａが１の場合、データアイテムＤ５〜Ｄ９が同時にアクセスされ、データバス５２０上を送信される。
【００２５】
３２または６４ビットのように非常に広い幅を有するメモリ構成は、通常、単一のメモリユニットではなく、複数の同型メモリユニットの並列構成により形成される。そのような構成を図６に示す。この同型メモリユニット６０１、６０２、６０３、６０４、および６０５は、同じアドレス「ａ」を全てのメモリユニットに与える共通のアドレスバス６１０によりアドレッシングされる。選択されたアドレスに従って、メモリユニット６０１〜６０５の各々から出力されたデータアイテムは、各アドレス周期でアクセスされ、データバス６２０上を送信される。このデータバスは、１回の周期でアクセスされる全てのデータアイテムを同時に送信する幅を有する。例えば、アドレスａが２の場合、データアイテムＤ１０〜Ｄ１４が同時にアクセスされ、データバス６２０上を送信される。
【特許文献１】英国特許出願公開第２３６８６９５号明細書
【発明の開示】
【発明が解決しようとする課題】
【００２６】
しかしながら、上述の重複データを格納するメモリアクセス方法には、重複データを格納しなければならないため、メモリが効率的に利用されていないという欠点がある。さらに、参照画像データを格納するときに、重複手順のための付加的な処理リソースが必要である。
【００２７】
このメモリアクセス方法では、メモリアドレスへのアクセスが常に２データバイトになるように、１６ビットの幅を有するメモリが用いられる。それゆえ、１データバイト間隔でランダムにデータ部分にアクセスすることができない。その結果、アドレスの２番目のバイトから始まるデータ部分にアクセスすると、アクセス周期の数が増加し、読み出されたバイトの最初および最後のデータバイトを破棄しなければならない。
【００２８】
また、図５および図６に示すメモリ構成はともに、データ部分をランダムにアクセスできる間隔がさらに広がるという欠点を有する。それゆえ、データ部分を１つのデータアイテム間隔でランダムアクセスすることができない。
【００２９】
詳細には、このようなメモリ構成は、隣接するデータアイテムのシーケンス内のデータアイテムのサブシーケンスへのランダムアクセスを利用する信号処理用途の要件を満たさない。例えば、図５および図６のメモリ構成において、データアイテムＤ６〜Ｄ１０へのアクセスが要求されたとき、アドレスａが１およびアドレスａが２に格納された全てのデータアイテムに対して、２つの個別のアクセスを実行する必要がある。必要とされないデータアイテムＤ５およびＤ１１〜Ｄ１４は破棄される。よって、要求されたデータアイテムＤ６〜Ｄ１０はデータバスの幅に一致するが、２つのアクセス動作を実行しなければならない。
【００３０】
一般に、データ部分を１つのデータアイテムの間隔でランダムアクセスできない場合、メモリアクセスの帯域幅は効率的に用いられるとは言えない。
【００３１】
そこで、本発明は、メモリ構成の帯域幅を効率的に用いるメモリアクセス方法に対する改善されたアプローチを提供することを目的とする。
【課題を解決するための手段】
【００３２】
本発明の最初の局面では、１本のデータバスを複数の同型メモリユニットから構成される並列構成に接続するメモリインターフェースが提供される。本メモリインターフェースは、連続するデータアイテムのシーケンス内のデータアイテムのサブシーケンスを１回のメモリアクセス周期で読み出し／格納することが可能であり、ここで、サブシーケンスの幅はデータバスの幅に対応する。サブシーケンス内の各データアイテムは、複数の同型メモリユニットのうちの異なる１つから読み出し／格納され、メモリインターフェースは、特定のデータアイテムのサブシーケンスに対するアクセス要求に従って、複数の同型メモリユニットの各々に対する個々のアクセスを制御する。
【００３３】
本発明の他の局面では、１本のデータバスを介して複数の同型メモリユニットから構成される並列構成にアクセスすることにより連続するデータアイテムのシーケンス内のデータアイテムのサブシーケンスを読み出し／格納するメモリアクセス方法が提供される。サブシーケンスの幅はデータバスの幅に対応する。本アクセス方法は、複数の同型メモリユニットのうちの異なる１つのサブシーケンスの各データアイテムを読み出し／格納することによって、１回のメモリアクセス周期で特定のデータアイテムのサブシーケンスを読み出し／格納するステップを包含する。上記読み出し／格納ステップは、データアイテムのサブシーケンスに対するアクセス要求に従って、複数の同型メモリユニットの各々に対する個々のアクセスを制御するステップを包含する。
【００３４】
アクセス要求に応じて、複数の同型メモリユニットの各々は、要求されたサブシーケンスのデータアイテムのみが読み出し／格納されるように、個々にアクセスされる。
【００３５】
格納されたデータアイテムのシーケンス内のいずれのサブシーケンスも１回のメモリアクセス周期でランダムにアクセスされ得ることが本発明に固有の利点である。よって、メモリ構成のメモリアドレス帯域幅が最大効率で利用される。さらに、異なるメモリユニットの異なるアドレスに格納されたデータアイテムに同じアクセス周期内に個々にアクセスできるので、冗長データを格納する必要がなくなる。
【００３６】
本発明のメモリアクセス方法は、複数の隣接するデータアイテムへの並列アクセスを必要とするデジタル信号処理用途に特に適している。本発明によって、データアイテムは、１つのデータアイテムの間隔でランダムアクセスを実行できるように並列にアクセスされる。それゆえ、デジタル信号処理用途において、隣接するデータアイテムのサブシーケンスへの効率的な並列ランダムアクセスという利点が得られる。
【００３７】
好ましくは、コントローラがデータアイテムのサブシーケンスに対するアクセス要求を受け取り、そのアクセス要求に応じて、複数の同型メモリユニット対する個別アドレスを算出する。これに応じて、メモリインターフェースは、各アクセス要求に従って、複数のメモリユニットに対する個々の制御を効率的に実行する。
【００３８】
本発明のさらなる局面では、データアイテムのサブシーケンスに対するアクセス要求は、データアイテムのサブシーケンス内の少なくとも１つのデータアイテムの格納位置を特定する。そのような情報を複数のデータアイテムのうちの１つの格納位置としてアクセス要求に含むことにより、隣接するデータアイテムに対する個別アドレスを容易に算出できる。さらに、各アクセス要求で転送されるデータ量は少ない。
【００３９】
好ましくは、データアイテムの格納位置は、アドレスおよび複数の同型メモリユニットのうちの特定のメモリユニットの指定によって特定される。この情報は明確に格納位置を特定する。
【００４０】
本発明の他の局面では、データアイテムのサブシーケンスに対するアクセス要求は、データアイテムのサブシーケンスのうちの少なくとも１つのデータアイテムについて、データアイテムのシーケンス内での位置を特定する。シーケンス内での位置を特定することによって、データアイテムの実際の格納位置を効率的に決定できる。さらに、アクセス要求で送信されるデータ量が最小化される。
【００４１】
好ましくは、データアイテムのシーケンス内のデータアイテムは、複数の同型メモリユニットから構成される並列構成に周期的に格納される。連続するデータアイテムの各々は、連続するメモリユニットの同じアドレスに格納される。このアドレスは、特定のアドレスでアクセス可能な全ての格納位置が複数の同型メモリユニットにおいて全て占められた後に増加する。この格納方法によると、データアイテムのサブシーケンス内の隣接するデータアイテムは全て異なるメモリユニットに格納される。
【００４２】
本発明のさらなる局面では、個別アドレスは、１つのアドレスまたは隣接する２つのアドレスのいずれかのみを含む。よって、個々のアクセスアドレスを算出する計算の手間が最低限に抑えられる。
【００４３】
好ましくは、コントローラのアドレス算出段は、アクセス要求に応じて、隣接する２つのアドレスを算出する。
【００４４】
本発明の好適な局面では、コントローラは、複数の同型メモリユニットの各々について、算出された２つのアドレスのうちの１つを個別アドレスとして選択する選択手段をさらに備える。よって、複数のメモリユニットの各々に個別アドレスを与えることができる非常に効率的なコントローラを提供できる。
【００４５】
本発明の他の好適な局面では、複数の同型メモリユニットから読み出されたデータアイテムは、複数の同型メモリユニットから読み出されたデータアイテムのサブシーケンス内のデータアイテムの順序がデータアイテムのシーケンス内のデータアイテムの順序と一致するようにソートされる。この特徴により、データアイテムのサブシーケンスの各々が常に正しい順番で提供されるので、信号プロセッサの処理負荷が低減される。
【００４６】
本発明の他の局面では、複数の同型メモリユニット内に格納されるべきデータアイテムのサブシーケンス内のデータアイテムは、格納されるべきデータアイテムの順序が所定の格納順序になるようにソートされる。よって、元々の順序でデータアイテムをメモリユニットに与えることができ、メモリ内のデータアイテムの格納順序は、処理手段にとって完全に透過的なままである。
【００４７】
好ましくは、データアイテムをソートする交換方法は、データアイテムのサブシーケンス内の少なくとも１つのデータアイテムの格納位置に従って決定される。
【００４８】
本発明のメモリインターフェースは、好ましくは、書き込みアクセスが複数の同型メモリユニットの同じアドレスへの共通アクセスとして実行されるように構成される。多くの用途において、データの書き込み時に、１つのデータアイテムの間隔でランダムアクセスする能力がほとんど必要ないほど、メモリに格納されるべきデータは連続して入力される。よって、メモリインターフェースのコントローラの処理負荷を低減できる。
【００４９】
好ましくは、データアイテムの各々、および複数の同型メモリユニットの各々は１０ビットの幅を有する。
【００５０】
さらに、サブシーケンスが５個のデータアイテムを含むことが好ましい。
【００５１】
他の好適な局面では、データバスは５０ビットの幅を有する。
【００５２】
他の好適な局面では、本発明は、連続するデータアイテムからなるシーケンス内の所定数の隣接するデータアイテムへのアクセスを必要とするデータ処理を行うデータ処理システムを提供する。このデータ処理システムは、隣接するデータアイテムにデータ処理を行う処理手段と、処理手段に接続された１本のデータバスと、上述した本発明の局面によるメモリインターフェースとを備える。このメモリインターフェースは、データバス、および複数の同型のメモリユニットに接続される。従って、データ処理システムは、複数のメモリユニットへの並列アクセスを広帯域幅、かつ任意のデータ間隔で行うことができる。特に、隣接するデータアイテムに対するアクセス要求を最大効率で行うことができる。
【００５３】
好ましくは、処理手段は、所定数の隣接するデータアイテムを並列に処理するように構成される。メモリインターフェースを介して１回のメモリアクセス周期でアクセスされたデータアイテムのサブシーケンス内のデータアイテムの数は、並列に処理されているデータアイテムの数に対応する。よって、メモリの各アクセス周期において、処理手段は、並列に処理されるべき一組のデータの全てを与えられる。この特徴により、メモリインターフェースから供給されたデータを直接さらなる処理に用いるので、特にデータ処理を効率化できる。
【００５４】
本発明の好適な局面では、処理手段は所定数の隣接するデータアイテムを供給されるデジタルフィルタを備える。従って、このデジタルフィルタが、隣接するデータアイテムのサブシーケンスを高速に（すなわち、各メモリアクセス周期毎に１つのサブシーケンス）処理できる。
【００５５】
本発明のさらなる局面では、処理手段は多くのパイプライン処理段を備える。メモリインターフェースから所定数のデータアイテムを得るために必要なアクセス周期の数は常に一定であるため、パイプライン処理が非常に効率的かつ確実であるように、処理段における予期しない遅延を確実に回避することができる。
【００５６】
他の好適な局面では、処理手段は画像プロセッサを備える。多くの画像処理用途は、隣接する複数のデータアイテムのサブシーケンスへのランダムアクセスを必要とするため、特に、本発明のメモリインターフェースは画像プロセッサと共に用いることに適している。
【００５７】
好ましくは、画像プロセッサは、フレームレート変換、フレームレートアップコンバージョン、および動き補償アップコンバージョンから選択される画質改善アルゴリズムのうちの少なくとも１つを行う。
【発明の効果】
【００５８】
本発明のメモリインターフェースおよびデータ処理システムによれば、格納されたデータアイテムのシーケンス内のいずれのサブシーケンスも１回のメモリアクセス周期でランダムにアクセスできる。その結果、メモリ構成のメモリアドレス帯域幅は、最大効率で利用される。さらに、異なるメモリユニットの異なるアドレスに格納されたデータアイテムを同じアクセス周期内に個々にアクセスできるので、冗長データを格納する必要がない。
【発明を実施するための最良の形態】
【００５９】
図７を参照すると、本発明によるメモリ構成７００は、並列に配置された複数の同型メモリユニット７０１、７０２、７０３、７０４、および７０５から構成される。複数の同型メモリユニットで構成されるメモリ構成７００の各メモリユニットは、複数の同型メモリユニット７０１〜７０５の各々に対して個々にアクセスできるように、それぞれ個別のアドレスポートＡ１〜Ａ５および個別のデータポートを備える。
【００６０】
本例では、この並列構成は５つの同型メモリユニットを備える。しかしながら、以下の説明から明らかとなるように、並列に配置されたメモリユニットの数は、この値に限定されず、それぞれの信号処理用途に応じて選択できる。
【００６１】
これらのメモリユニットは、隣接するデータアイテムが異なるメモリユニットに格納されるように、連続するデータアイテムのシーケンス内のデータアイテムＤ０，Ｄ１，…を格納する。各メモリユニット７０１〜７０５の幅は、データアイテムＤ０，Ｄ１，…等の各々の所定の幅に対応するように選択される。各メモリアクセス周期では、ランダムに選択されたデータアイテムを、各メモリユニット７０１〜７０５から読み出すか、または、これに格納することができる。個々にアクセスされたデータアイテムは、複数のメモリユニットからなるメモリ構成７００の全体の幅に対応する幅を有するデータバス７２０に送信される。
【００６２】
メモリユニット７０１〜７０５の並列構成は、各メモリアクセス周期において、連続するデータアイテムＤ０，Ｄ１，…のシーケンス内のＤ６〜Ｄ１０等の隣接するデータアイテムのサブシーケンスがアクセスされるのと同様の方法でアクセスされる。サブシーケンス内のデータアイテムの数はメモリユニットの数に対応する。サブシーケンス内の各データアイテムは、複数の同型メモリユニット７０１〜７０５のうちの異なる１つにおいて読み出し／格納される。
【００６３】
図７はさらに、連続するデータアイテムのシーケンスの例示的な格納方法を示す。図７によれば、連続するデータアイテムのシーケンスは周期的に格納される。各アドレスには、データアイテムＤ０〜Ｄ４、Ｄ５〜Ｄ９、Ｄ１０〜Ｄ１４等が、続けてメモリユニット７０１〜７０５に格納される。ある特定のアドレスでアクセス可能な各メモリユニット７０１〜７０５内の格納位置がふさがると、アドレスを増やし、さらなるデータアイテムはメモリユニットの並列構成に続けて格納される。
【００６４】
結果として、データアイテムＤ０，Ｄ１等からなるシーケンスは、メモリユニット７０１〜７０５に周期的に格納され、隣接するデータアイテムは、隣接した異なるメモリユニットに格納される。特に、連続するデータアイテムのシーケンス内からランダムに選択されたサブシーケンスは、複数のメモリユニットの各々に個々にアクセスすることによって、１回のメモリアクセス周期で読み出し／格納される。例えば、データアイテムのサブシーケンスＤ６〜Ｄ１０は、それぞれ、アドレスポートＡ２、Ａ３、Ａ４、およびＡ５に対してはアドレス１、アドレスポートＡ１に対してはアドレス２を用いることにより、メモリユニット７０１〜７０５の個々のアドレスでアクセスされる。
【００６５】
データアイテムＤ０，Ｄ１，…等のシーケンス内のデータアイテムの周期的な格納方法により、隣接するデータアイテムは異なるメモリユニットに格納され、連続するデータアイテムのシーケンス内のランダムに選択されたサブシーケンスの各々は複数のメモリユニットの各々からのデータアイテムを含むことが保証される。
【００６６】
このような複数の個別にアクセス可能なメモリユニットから構成される並列構成を用いたシステム構成を図８に示す。デジタル信号処理システム８００のシステム構成は、連続するデータアイテムのシーケンス内のデータアイテムのサブシーケンスに基づいて信号処理を行う処理手段８２０を用いる。データアイテムのシーケンスは、メモリユニット７０１〜７０ｎに格納される。メモリユニット７０１〜７０ｎは、図７を参照して説明した周期的格納方法に従ってデータアイテムを格納するように構成される。コントローラ８１０は、データバス８５０と複数のメモリユニット７０１〜７０ｎを接続するメモリインターフェースを形成する。データバス８５０を介して、データアイテムはコントローラ８１０と処理手段８２０との間を送信される。
【００６７】
コントローラ８１０は、データアイテムのサブシーケンスのアクセス要求８３１を受信すると、複数の同型メモリユニット７０１〜７０ｎの各々を個々にアクセスし、アクセスされたサブシーケンスの各データアイテムをデータバス８５０を介して送信する。
【００６８】
図８に示す例示的な構成では、書き込まれるデータおよび書き込みアクセス要求（書き込みアドレス等）は、読み出しアクセス要求とは異なるソースから送出される。しかしながら、１つの処理デバイスが読み出しアクセス要求および書き込みアクセス要求の両方を送出し、それぞれのデータを受信／送信することも可能である。
【００６９】
コントローラ８１０は、読み出しアクセス要求に応じて、複数のメモリユニットに含まれる各メモリユニット７０１〜７０ｎに対する個別のアクセスアドレスを決定する。図７に示すデータアイテムのシーケンス内のデータアイテムの周期的格納方法により、データアイテムのサブシーケンスの各々は、１つのアドレスまたは隣接する２つのアドレスを用いてアクセスできる。例えば、サブシーケンスＤ５〜Ｄ９は、アドレス１でアクセスできる。一方、強調表示されたサブシーケンスＤ６〜Ｄ１０は、隣接する２つの異なるアドレス、すなわち、メモリユニット７０２〜７０５に対してはアドレス１で、メモリユニット７０１に対してはアドレス２でアクセスできる。
【００７０】
複数のメモリユニットの各々を個々にアクセスするために必要なこれらのアドレスは、少なくともデータアイテムのサブシーケンス内のデータアイテムのうちの１つの格納位置が分かれば、周期的格納方法に従って容易に決定できる。いずれのデータアイテムの格納位置も、メモリアドレスおよびデータアイテムを格納するメモリユニットの特定によって明確に識別される。サブシーケンス内の１つのデータアイテムの格納位置に関する情報から、サブシーケンス内の他の全てのデータアイテムのアドレスを算出し、それぞれのメモリユニットを特定できる。
【００７１】
説明を簡単にするために、複数の同型メモリユニット７０１〜７０ｎから構成される並列構成のメモリユニットは、増分指数「１」〜「ｎ」によって連続的に番号付けがなされているものとする。
【００７２】
ある特定のデータアイテムの格納位置、すなわち、メモリアドレスおよびメモリユニットが知られている場合、連続するデータアイテムは、メモリユニット７０１〜７０ｎから構成される並列構成において最大の指数を有する最後のメモリユニット７０ｎに達するまでは、同じアドレスで指数が増加する順にメモリユニットに格納される。次いで、アドレスを１だけ増やし、次のデータアイテムを、メモリユニットから構成される並列構成において最小の指数を有する第１のメモリユニット７０１に格納する。一方、前のデータアイテムは、複数のメモリユニットから構成される並列構成の第１のメモリユニット７０１に達するまで、同じアドレスにおいて指数が減少する順にメモリユニットに格納される。さらに前のデータアイテムは、１だけ少ないアドレスにおいて最後のメモリユニット７０ｎに格納される。
【００７３】
あるいは、個々のアクセスアドレスは、サブシーケンスの少なくとも１つのデータアイテムのシーケンス位置に関する情報から算出できる。いずれのデータアイテムのシーケンス位置も、連続するデータアイテムのシーケンス内の位置を特定する。
【００７４】
データアイテムの格納位置をそのシーケンス位置から決定するために、例えば、格納位置は、周期的格納方法に従って、シーケンスの最初のデータアイテムの最初の格納位置から、特定されたシーケンス位置に達するまで増加していく。除算によってメモリ位置を算出することも可能であり、その場合、シーケンス位置をメモリユニットの数で割ることによってメモリアドレスを決定し、その除算の余りがメモリユニットの指数を示す。もちろん、シーケンスの最初のデータアイテムの初期位置を考慮する必要がある。
【００７５】
このように、データアイテムのサブシーケンス内のデータアイテムの格納位置は、そのシーケンス番号から決定できる。サブシーケンス内のさらなるデータアイテムのメモリアドレスを含む格納位置は、上述した方法と同じ方法で決定できる。
【００７６】
複数の同型メモリユニットから構成される並列構成の各メモリユニットを個々にアクセスできるメモリインターフェースを設けることにより、連続するデータアイテムのシーケンス内のデータアイテムのサブシーケンスを、１つのデータアイテム間隔でランダムにアクセスできる。それゆえ、従来の並列メモリアクセス方法の典型的な欠点である、信号処理に不要なデータアイテムの送信を完全に避けることができる。よって、本発明のメモリインターフェースにより、利用可能なメモリ帯域幅を最大効率で利用することができる。
【００７７】
さらに、複数のメモリユニットから構成される並列構成の幅に対応する長さを有する、ランダムに選択されたデータアイテムのサブシーケンスは、１回のメモリアクセス周期毎にアクセスできる。データアイテムのサブシーケンスを並列に送信するために１回のメモリアクセス周期しか利用しないため、ページモードでメモリにアドレシッングする必要がない。
【００７８】
特に、従来の隣接データに対するメモリアクセス方法において生じるページ区切りの問題は、本発明に従って連続するデータアイテムのサブシーケンスにアクセスする場合には生じない。その結果、本発明のメモリインターフェースは、従来のページモードアクセス方法で用いられるような冗長データの格納を必要としない。
【００７９】
図１０は、コントローラ８１０等のメモリインターフェースコントローラによって行われる本発明によるメモリアクセス方法を示す。第１のステップｓ１００において、アクセス要求を受信する。このアクセス要求に基づいて、次のステップｓ２００において、複数の同型メモリユニットの各々に個々にアクセスする。このアクセスにより、ステップｓ３００において、複数の同型メモリユニットに対して、１回のメモリアクセス周期で連続するデータアイテムのサブシーケンスを読み出しまたは格納することが可能になる。
【００８０】
次に、図８を再度参照して、デジタル信号処理システム８００のシステム構成のさらなる詳細、用途の例、およびオプションについて説明する。
【００８１】
デジタル信号処理システム８００は、所定数の隣接するデータアイテムに並列にアクセスする複数の信号処理用途に利用できる。好ましくは、データバス８５０のバス幅は、各処理工程で必要な数のデータアイテムを同時にデータバス上を送信できるように構成される。さらに、メモリユニットの数は、並列にアクセスされるべきデータアイテムの数に対応する。このような構成によって、高速な処理速度を達成する非常に効率的なメモリアクセスを提供できる。
【００８２】
所定数の隣接するデータアイテムに並列処理を行うデジタル信号プロセッサ８２０の典型的な例としては、有限インパルス応答フィルタ（ＦＩＲフィルタ）等のデジタルフィルタがある。このようなフィルタには、通常、それぞれのフィルタタブに並列に所定数の入力データアイテムが供給される。このフィルタ段は、全ての入力データアイテムを反映した処理データを出力する。
【００８３】
処理手段８２０はさらに、１組の連続するパイプライン処理段として実装できる。本発明のメモリインターフェースによる広いメモリアクセス帯域幅により、メモリアクセスによる処理遅延は処理段の各々においては非常に小さい。
【００８４】
さらに、任意に選択された隣接するデータアイテムのサブシーケンスの各々に最大効率で並列にアクセスできるので、所定数のデータアイテムにアクセスするために必要なメモリアドレス周期の数を確実に決定できる。特に、データアイテムのサブシーケンス内のデータアイテムが複数のメモリユニットにおいて同じアドレスに格納されているか、あるいは、異なる個別のアドレスに格納されているかに関わらず、アクセス周期の数には差が生じない。特に後者の場合、図６に示したような従来のアプローチでは、データアイテムの１つのサブシーケンスを読み出すために２回のメモリアクセス周期を必要とするため、アクセス時間を確実に予想することができない。
【００８５】
本発明のメモリインターフェースが効果的に用いられる特定の用途としては、背景技術において説明した映像符号化および復号化技術ならびに画質改善技術等の画像および映像処理を行う画像処理手段がある。詳細には、格納された画像情報を信号処理中に参照する用途、例えば、映像符号化および復号化、フレームレート変換、フレームレートアップコンバージョン、動き補償アップコンバージョン、または動き補償付き逆インターレース変換の各々では、格納された画像データ内の隣接するデータアイテムのサブシーケンスへの広帯域幅ランダムアクセスにより、画像処理システムの性能が向上する。
【００８６】
次に、図９を参照して、本発明のメモリインターフェースを構成するコントローラ８１０をさらに詳細に説明する。
【００８７】
本発明のメモリインターフェースの例示的な構成では、コントローラ８１０は、アクセス要求８３１を受信し、アクセス要求８３１に従ってメモリユニットの各々への個々のアクセスを制御するための種々の制御信号を生成するアドレス算出手段９３０を備える。受信されたアクセス要求８３１は、アクセスされるべく要求されたサブシーケンスのデータアイテムのうちの少なくとも１つのメモリ位置を特定する。あるいは、アクセス要求は、データアイテムのサブシーケンス内の１つのデータアイテムのシーケンス位置を特定してもよい。この情報から、アドレス算出手段９３０は、サブシーケンスの全てのデータアイテムをアクセスできる隣接する２つのメモリアドレスを決定する。
【００８８】
図７に示すサブシーケンスＤ６〜Ｄ１０の例を参照すると、サブシーケンスＤ６〜Ｄ１０内の最初のデータアイテムＤ６のメモリ位置のアドレスに関する第１のアドレス（図９のｒｅａｄ＿ａｄｄｒ＿１）が決定され、第１のアドレスを１だけ増やすことによって第２のアドレスｒｅａｄ＿ａｄｄｒ＿２が得られる。複数のメモリユニットの各々に個別のアクセスアドレス９１１、９１２、９１３を与えるために、これら２つのアドレスのうちのいずれかが、アドレス算出手段９３０からの対応するアドレス選択信号に応じて、アドレス選択手段９６１、９６２、および９６３によって選択される。アドレス選択信号（ｍｕｘ＿ｃｔｒｌ＿１、ｍｕｘ＿ｃｔｒｌ＿２、ｍｕｘ＿ｃｔｒｌ＿３）は、サブシーケンス内のデータアイテムＤ６〜Ｄ１０の各々の格納位置に応じて決定される。アドレス選択手段９６１、９６２、および９６３は、算出された２つのアドレスのうちの１つを選択信号に従って選択するためにマルチプレクサとして実装される。
【００８９】
読み出し／書き込み選択手段９７１、９７２、および９７３というさらなる段は、読み出しアドレス信号または書き込みアドレス信号を複数のメモリユニットに与えるかどうかを制御する。これらの選択手段は、同様にマルチプレクサとして実装される。これらは、読み出し／書き込み信号ｒ／ｗに従い、メモリ制御手段９４０によって制御される。このメモリ制御手段は、読み出しアクセスおよび書き込みアクセスの切り替えを制御し、書き込みアドレスを個別に与えるために設けられる。さらに、メモリユニットのアクセス周期は、メモリ制御手段９４０によって、対応するメモリイネーブル信号ｅｎ１、ｅｎ２、ｅｎ３を用いて制御される。
【００９０】
図９に示す例示的な構成では、複数の同型メモリユニットの各々への個々のアクセスとして、読み出しアクセスのみが行われる。書き込みアクセスは、メモリ制御手段９４０の制御下で、複数の同型のメモリユニットの同じアドレスへの共通アクセスとして実行される。この例示的な構成は、ランダムに選択されたサブシーケンスに対して主に読み出しアクセスが実行される用途のために最適化されている。メモリに書き込まれるデータは、共通して同じメモリアドレスに書き込まれる。図９に示す構成によれば、書き込みアクセス要求は、書き込みアドレスを特定することだけを必要とする相当に単純な構造を有する。読み出しアクセス要求に対してのみ、サブシーケンスのデータアイテムのメモリ位置またはシーケンス位置を特定する必要がある。
【００９１】
しかしながら、上記の記載から、読み出しアクセスと同様に、データのサブシーケンスをメモリユニットの並列構成内の隣接するメモリ位置にランダムに格納できるように書き込みアクセスを実行できることは明らかである。この場合、アドレス算出手段９３０は、読み出しアクセスおよび書き込みアクセスに関するアクセス要求を受信し、これに応じて、読み出し要求または書き込み要求毎に隣接する２つのメモリアドレスを算出する。上述した方法と同様に、アドレス選択手段９６１、９６２、および９６３は、読み出しアクセスまたは書き込みアクセスの両方について制御される。さらに、この場合、読み出しアクセスまたは書き込みアクセスの各々に対するアドレスは、１つのソース、すなわち、アドレス算出手段９３０から提供されるので、読み出し／書き込み選択手段９７１、９７２、および９７３を設ける必要がない。
【００９２】
さらに、本発明のメモリインターフェースは、例示的な構成で示したような３または５等の所定数のメモリユニットにアクセスするものに限定されないことに留意されたい。すでに上述たように、好ましくは、メモリインターフェースは、複数のメモリユニットから構成される並列構成内のメモリユニットの数が処理手段によって並列にアクセスされるデータアイテム数に対応するように構成される。
【００９３】
例えば、５つの同型メモリユニットから構成される並列構成を、本発明のメモリインターフェースを介してデータバスに接続してもよい。各メモリユニットが１０ビットの幅を有する場合、１回のアクセス周期で１０ビットのデータアイテム５つにアクセスできる。よって、データバスは５０ビットの幅を有する。
【００９４】
別の構成では、１４４ビット幅のデータバスを介して、８ビットのデータアイテムを１８個含むサブシーケンスにアクセスするために、それぞれが８ビットの幅を有する１８個のメモリユニットが利用される。
【００９５】
コントローラ８１０はさらに、複数のメモリユニットから読み出されたデータアイテムを、データアイテムのシーケンス内での順序と同じ順序にするデータソート手段９５０を備える。特に、サブシーケンスＤ６〜Ｄ１０のように、サブシーケンス内のデータアイテムが異なるメモリアドレスから読み出される場合、メモリデータポートに与えられるデータアイテムの順序はシーケンス内での順序とは異なる。
【００９６】
データソート手段９５０は、メモリユニットから出力され、データ線９２１、９２２、９２３上にあるデータアイテムを受信し、ソートされたデータをデータバス８５０に出力する。これらのデータアイテムは、サブシーケンスの最初のデータアイテムがデータバス８５０の最下位ビットで出力され、サブシーケンスの最後のデータアイテムがデータバス８５０の最上位ビットを占めるように、昇順にソートされる。もちろん、信号処理用途の要件に応じて、逆の順番も実現できる。
【００９７】
データバス８５０上にデータアイテムのサブシーケンスを出力する前に、データ線９２１、９２２、および９２３上のデータアイテムをどのように交換するかを決定するデータソート方法は、アドレス算出手段９３０によって制御される。例えば、アドレス算出手段９３０は、どのメモリユニットがサブシーケンスの最初のデータアイテムを出力するかを特定し、データソート手段９５０にそれぞれの制御信号ｓｏｒｔ＿ｃｔｒｌを出力する。次いで、このデータアイテムはデータバス８５０のＬＳＢ位置に移動し、これに応じて、連続するデータアイテムはより上位のビットに配置される。
【００９８】
上記の例では、読み出されたデータアイテムのみがデータソート処理を受ける。書き込まれるデータは異なるソースから直接与えられ、ソートされることなくメモリユニットに格納される。しかしながら、異なるメモリユニットに個々にアクセスすることによって書き込みアクセスが実行される場合、書き込まれるデータもソート処理を受けることが好ましい。
【００９９】
その場合、データバス８５０上の最下位ビットで送信されるサブシーケンスの最初のデータアイテムは、データソート手段９５０によって交換され、最初のデータアイテムが格納されるべきメモリユニットに接続された対応するデータ線を介して送信される。残りのデータアイテムは、周期的格納法に従って、それぞれのさらなるデータ信号線上を送信され、連続するメモリ位置を占有する。書き込みアクセスが個々のメモリアドレスに対して行われ、それに応じて書き込まれるデータがソートされるこの構成では、データアイテムの格納されたシーケンス内のサブシーケンスが更新される可能性がある。詳細には、任意のサブシーケンスが更新のためにアクセスされる可能性がある。
【０１００】
例えば、データアイテムＤ６は、あるサブシーケンスの最初のデータアイテムとして識別され、その格納位置はアクセス要求で送信される。従って、データアイテムＤ６のメモリアドレス（アドレス１）、およびその次のアドレス（アドレス２）は、アドレス算出手段９３０によって第１および第２のアドレス（ｒｅａｄ＿ａｄｄｒ＿１およびｒｅａｄ＿ａｄｄｒ＿２）として決定される。Ｄ６が第２のメモリユニット７０２に格納されているという情報に従って、第１のアドレス（ｒｅａｄ＿ａｄｄｒ＿１）が、メモリユニット７０２、および後続のメモリユニット７０３〜７０５のために選択される。次のデータアイテムＤ１０については、第２のアドレス（ｒｅａｄ＿ａｄｄｒ＿２）が選択され、第１のメモリユニット７０１への折り返しが起こる。
【０１０１】
これらのデータアイテムを出力する場合、データソート手段９５０は、サブシーケンス内の最初のデータアイテムＤ６をデータバス８５０の最下位ビットに置き、それに応じて、サブシーケンスＤ６〜Ｄ１０が最終的にデータバス８５０を介して出力されるように連続するデータアイテムを配置する。
【０１０２】
図７に示すようなデータアイテムの周期的格納法により、メモリインターフェースを非常に効率的に実装することが可能となる。隣接する２つのアドレスを決定し、その隣接する２つのアドレスのうちの適切な１つを選択することによって個々のアクセスアドレスを上記のように生成することは、単純な制御論理で容易に実現できる。
【０１０３】
以上をまとめると、１本のデータバスを複数の同型メモリユニットから構成される並列構成に接続するメモリインターフェースが提供される。このメモリインターフェースは、連続するデータアイテムのシーケンス内のデータアイテムのサブシーケンスを１回のメモリアクセス周期で読み出し／格納することができる（ここで、サブシーケンスの幅はデータバスの幅に対応する）。サブシーケンス内の各データアイテムは、複数の同型メモリユニットのうちの異なる１つから読み出し／格納され、メモリインターフェースは、特定のデータアイテムのサブシーケンスに対するアクセス要求に従って、複数の同型のメモリユニットの各々に対する個々のアクセスを制御する。
【０１０４】
アクセス要求に従って、複数の同型メモリユニットの各々は、要求されたサブシーケンス内のデータアイテムのみを読み出し／格納するように、個々にアクセスされる。
【０１０５】
本発明に固有の利点は、格納されたデータアイテムのシーケンス内のいずれのサブシーケンスも１回のメモリアクセス周期でランダムにアクセスできることである。その結果、メモリ構成のメモリアドレス帯域幅は、最大効率で利用される。さらに、異なるメモリユニットの異なるアドレスに格納されたデータアイテムを同じアクセス周期内に個々にアクセスできるので、冗長データを格納する必要がない。
【産業上の利用可能性】
【０１０６】
本発明のメモリインターフェースおよびデータ処理システムは、メモリ構成の帯域幅を効率的に使用するので、各種のデジタル信号処理システムなどに利用することができる。
【図面の簡単な説明】
【０１０７】
【図１】デジタル信号処理システムの基本構成の模式図
【図２ａ】ブロックマッチングを用いた動き推定の原理を示す図
【図２ｂ】映像デコーダの模式的ブロック図
【図３】動き補償フレームレート変換技術を示す図
【図４】処理手段が所定数の隣接するデータアイテムに任意の間隔で並列にアクセスするデータアクセス方法を示す図
【図５】所定数のデータアイテムを並列に格納する１つのメモリユニットを示す図
【図６】１本のアドレスバスおよび１本のデータバスを介して並列にアクセスされる複数のメモリユニットから構成される並列構成を示す図
【図７】複数の同型メモリユニットが個々にアクセスされる、本発明によるメモリ構成を示す図
【図８】本発明による１台のプロセッサと複数の同型メモリユニットとのメモリインターフェースのブロック図
【図９】本発明によるメモリインターフェースのコントローラのブロック図
【図１０】本発明のメモリインターフェース内で実行されるメモリアクセス方法を示すフローチャート
【符号の説明】
【０１０８】
７００…メモリ構成
７０１〜７０５、７０ｎ…メモリユニット
７２０…データバス
８００…デジタル信号処理システム
８１０…コントローラ
８２０…処理手段
８３１…アクセス要求
８５０…データバス
９１１〜９１３…アクセスアドレス
９２１〜９２３…データ線
９３０…アドレス算出手段
９４０…メモリ制御手段
９５０…データソート手段
９６１〜９６３…アドレス選択手段
９７１〜９７３…読み出し／書き込み選択手段
【図１】
2005251196.tif 000003
【図２ａ】
2005251196.tif 000004
【図２ｂ】
2005251196.tif 000005
【図３】
2005251196.tif 000006
【図４】
2005251196.tif 000007
【図５】
2005251196.tif 000008
【図６】
2005251196.tif 000009
【図７】
2005251196.tif 000010
【図８】
2005251196.tif 000011
【図９】
2005251196.tif 000012
【図１０】
2005251196.tif 000013