JP4735008B2 - データ格納装置、データ格納制御装置、データ格納制御方法及びデータ格納制御プログラム - Google Patents

データ格納装置、データ格納制御装置、データ格納制御方法及びデータ格納制御プログラム Download PDF

Info

Publication number
JP4735008B2
JP4735008B2 JP2005106642A JP2005106642A JP4735008B2 JP 4735008 B2 JP4735008 B2 JP 4735008B2 JP 2005106642 A JP2005106642 A JP 2005106642A JP 2005106642 A JP2005106642 A JP 2005106642A JP 4735008 B2 JP4735008 B2 JP 4735008B2
Authority
JP
Japan
Prior art keywords
data
bank
read
memory
access pattern
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2005106642A
Other languages
English (en)
Other versions
JP2005332369A (ja
Inventor
直己 武田
哲二郎 近藤
健治 高橋
浩 佐藤
勉 市川
弘樹 鉄川
正樹 半田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Corp filed Critical Sony Corp
Priority to JP2005106642A priority Critical patent/JP4735008B2/ja
Publication of JP2005332369A publication Critical patent/JP2005332369A/ja
Application granted granted Critical
Publication of JP4735008B2 publication Critical patent/JP4735008B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、複数のメモリバンクからなるメモリに全データを格納して、所望の複数データの同時読み出しを行うデータ格納装置、データ格納制御装置、データ格納制御方法及びデータ格納制御プログラムに関する。
半導体メモリは、図19に示すように、ワード線WLとビット線BLを指定してメモリセルMCをアクセスする構造となっており、活性化された1ワード線とビット線の交差する位置にあるメモリセルMCに格納されたデータが読み出される。
このような構造の半導体メモリでは、同じビット線を複数のワード線のデータが共有しているので、図20のように、複数のワード線WL1,WL2を指定するとビット線に出てきたデータが壊れてしまうため、異なるワード線のデータには同時アクセスできない。
一方、独立したメモリバンクからは同時にデータを読み出すことが可能であり、図21に示すように、メモリをn個のメモリバンクBK0〜BKn−1に分け、それぞれのメモリバンクに異なるアドレスを指定することで複数のワード線のデータに同時アクセスすることができるが、メモリバンク内の異なるワード線のデータには同時アクセスできない。すなわち、同時に読み出すことが出来るのは各メモリバンクから同一ワード線上に格納されたデータであり、同一メモリバンクにおける異なるワード線上に格納されたデータは同時読み出し不可能である。
ここで、メモリバンクとは、複数のワード線と複数のビット線からなるメモリにおいて選択されるワード・アドレスが単一であるメモリ単位をいう。
また、従来より、入力データに含まれる特定のデータ配列を認識することにより、例えば画像データのパターン認識等の処理が行われている。
また、従来より、入力データに含まれる特定のデータ配列を認識することにより、例えば画像データのパターン認識や動き検出等の処理が行われている。
例えば、数ライン画像データを蓄積でき画素単位で出力できるバッファメモリと、数ビット幅データを処理可のプロセッサエレメントの複数を含み複数プロセッサエレメントで同時並行してデータ処理ができるデータ処理器と、マッチング参照データと制御データを格納する制御情報メモリとを備え、データ処理器の各プロセッサエレメントが、バッファメモリが出力した画像データの中の、自己に宛てられた注目画素中心のマトリクスの画像データ群を、閾値を用いて2値化して該プロセッサエレメントが処理可能なシリアル配列のビット幅に区切った対象データに変換し、同形式で制御情報メモリにあった参照データと合致か判定することが行われている(例えば、特許文献1参照)。
また、動画像の処理の分野において、動き、すなわち、時間的に異なる画像中の物体の動き方向と大きさ(または速さ)が用いられており、例えば画像の高能率符号化における動き補償フレーム間符号化や、フレーム間時間領域フィルタによるテレビジョン雑音低減装置における動きによるパラメータ制御等に動きが用いられる。動きを求める動き検出方法としては、ブロックマッチング法が知られている。
本件出願人は、画像信号中の動きを検出する動き検出方法において、(a)1画面全体または1画面を複数に分割した比較的大きなブロック毎に、マッチング法によって積算値テーブルを生成し、上記積算値テーブルを用いて、上記1画面全体または1画面を複数に分割した比較的大きなブロック毎に、1または複数の候補ベクトルを抽出するステップと、(b)上記候補ベクトルのみを対象としてマッチングを行い、1画素または比較的小さいブロック毎に動きベクトルを検出するステップとからなる2ステップの動き検出方法を先に提案している。この2ステップの動き検出方法では、画像の動き検出を2ステップ方式の代表点マッチングにより行う代表点マッチング、ベクトル割り当ての2ステップの過程において、いずれも画像内における任意の複数の画素データを同時に読み出す必要がある。(例えば、特許文献2参照)
特開2003−203236号公報 特開2001−61152号公報
ところで、例えば、図22の(A)に示すように、ある画像に対して、同時アクセスしたい画素が4画素のパターンの場合、図22の(B)に示すように所望の複数画素を別バンクに格納するための必要最低限のバンク数は4となる。ここで、縦(h画素)×横(w画素)のサーチエリアSRがあり、その中で任意のアクセスしたいn個の候補がある場合、その種類は、(h×w)(n)個ある。このひとつひとつをアクセスパターンと言っている。アクセスパターンとしては、サーチエリア内の任意のアクセス候補の数の組み合わせが可能である。図22の例であれは16×8通りの組み合わせの内の一つの例を示したものである。
ただし、スキャン順にアクセスしたいパターンが移動していくのに対応するためには、初期配置においてアクセス画素以外の格納方法にも工夫が必要となる。
例えば、図23に示すように、アクセス候補間の画素を1 画素毎に別バンクに格納したり、図24に示すように、アクセス候補間の画素を同じバンクに格納する必要がある。
アクセス候補間の画素を同じバンクに格納すると、図24の(A),(B),(C)に示すように、スキャン順にパターンが移動しても、ある一定の区間は同時にアクセスが可能となる。
しかし、図26に示すように、アクセスパターンの移動がアクセス画素間を超えると、同時に同じバンクの画素にアクセスすることになってしまう。
このデータを同時アクセスするためには、他のバンクに格納するか、同じワード線に格納するかのどちらかである。パターンによっては、格納する場所を上手く選べば同時アクセスできる場合があるが、どのようなパターンでも同時アクセスできるようにするためには、1 バンクが1 ワード線だけで構成されるぐらい細かくバンク分割する必要がある。しかし、細かく分割するほどバンク数は多くなり、バンク数が多くなると、次のような問題点が発生する。
すなわち、 それぞれのバンクに異なるアドレスを指定するのでアドレスバスが膨大になる。
また、 デコーダやセレクタがバンクの数だけ必要なのでチップ面積が大きくなる。
また、 同時に複数のバンクが動作するため消費電力が多くなる。
さらに、1 ワード線のデータ数を増やすと、ワード線が長くなり、1 ワード線のデータにアクセスするときに時間がかかる。
このように、半導体メモリでは、1バンクにつき1ワード線のみ構成するとデータの同時読み出しは可能であるが、格納すべきデータ量が膨大になるとハードウエアに負担がかかり、現実的でない。
そこで、従来の技術ではデータを読み出し、一時的に記憶するバッファやキャッシュを設け、所望の複数データを複数回に時間的に分割し、バッファやキャッシュに一時記憶し、読み出していた。
しかしながら、所望の複数データの数が増え、かつ、データの入出力が高速になると、データの読み出し処理が時間的に遅れてしまう。また、これを解決するために、一時記憶するバッファやキャッシュを増やすことがなされているが、その領域が大きくなるとハードウエアに負担が生じる。
そこで、本発明の目的は、上述の如き従来の問題点に鑑み、ハードウエアに負担を生じることなく、複数のメモリバンクからなるメモリに全データを格納して、所望の複数データの同時読み出しを行うことのできるデータ格納装置、データ格納制御装置、データ格納制御方法及びデータ格納制御プログラムを提供することにある。
本発明の更に他の目的、本発明によって得られる具体的な利点は、以下に説明される実施の形態の説明から一層明らかにされる。
本発明に係るデータ格納装置は、複数のメモリバンクからなるメモリと、データを上記メモリを構成する複数のメモリバンクに振り分けて格納する際に、同時に読み出そうとする所望の複数データを示すアクセスパターンに基づいて、上記アクセスパターンを構成するアクセス候補間のデータを同じバンクに格納することにより初期配置するデータ格納処理部と、上記複数のメモリバンクからなるメモリ上に初期配置されたデータに対し、画素のデータを各バンクからそれぞれ読み出すデータ読み出し格納処理部とを備え、上記データ読み出し格納処理部は、バンクから画素のデータを読み出し、上記アクセスパターンの候補の各位置に基づいて決まる範囲のうち、上記アクセスパターンの移動方向に基づいて決まる一の隣接する範囲の画素のデータが格納されているバンクに読み出した上記画素のデータを格納することを特徴とする。
また、本発明に係るデータ格納制御装置は、メモリを構成する複数のメモリバンクにデータを振り分けて格納する際に、同時に読み出そうとする所望の複数データを示すアクセスパターンに基づいて、上記アクセスパターンを構成するアクセス候補間のデータを同じバンクに格納することにより初期配置するデータ格納処理部と、上記複数のメモリバンクからなるメモリ上に初期配置されたデータに対し、画素のデータを各バンクからそれぞれ読み出すデータ読み出し格納処理部とを備え、上記データ読み出し格納処理部は、バンクから画素のデータを読み出し、上記アクセスパターンの候補の各位置に基づいて決まる範囲のうち、上記アクセスパターンの移動方向に基づいて決まる一の隣接する範囲の画素のデータが格納されているバンクに読み出した上記画素のデータを格納することを特徴とする。
また、本発明に係るデータ格納制御方法は、メモリを構成する複数のメモリバンクにデータを振り分けて格納する際に、同時に読み出そうとする所望の複数データを示すアクセスパターンに基づいて、上記アクセスパターンを構成するアクセス候補間のデータを同じバンクに格納することにより初期配置し、上記複数のメモリバンクからなるメモリ上に初期配置されたデータに対し、バンクから画素のデータを読み出し、上記アクセスパターンの候補の各位置に基づいて決まる範囲のうち、上記アクセスパターンの移動方向に基づいて決まる一の隣接する範囲の画素のデータが格納されているバンクに読み出した上記画素のデータを格納することを特徴とする。
さらに、本発明に係るデータ格納制御プログラムは、 複数のメモリバンクからなるメモリに全データを格納して、所望の複数データの同時読み出しを行うデータ格納制御をコンピュータにより実行するためのデータ格納制御プログラムであって、メモリを構成する複数のメモリバンクにデータを振り分けて格納する際に、同時に読み出そうとする所望の複数データを示すアクセスパターンに基づいて、上記アクセスパターンを構成するアクセス候補間のデータを同じバンクに格納することにより初期配置し、上記複数のメモリバンクからなるメモリ上に初期配置されたデータに対し、バンクから画素のデータを読み出し、上記アクセスパターンの候補の各位置に基づいて決まる範囲のうち、上記アクセスパターンの移動方向に基づいて決まる一の隣接する範囲の画素のデータが格納されているバンクに読み出した上記画素のデータを格納することを特徴とする。
本発明によれば、必要最低限のバンク数で実現して、アドレスバス、セレクタ、デコーダ、消費電力の大きさなどを最小に抑え、全データにおいて所望の複数画素を同時アクセスすることができる。
以下、本発明の実施の形態について、図面を参照して詳細に説明する。なお、本発明は以下の例に限定されるものではなく、本発明の要旨を逸脱しない範囲で、任意に変更可能であることは言うまでもない。
本発明は、例えば図1に示すような構成のデータ格納装置100により実施される。
このデータ格納装置100は、複数のメモリバンクからなるメモリ10と、上記メモリ10への画像データ等のデータDAの書き込みを行うデータ格納制御部20と、上記メモリ10からのデータの読み出しを行うとともに画素の再書き込みの制御を行うデータ読み出し格納制御部30からなる。格納する入力データが上記メモリ10及びデータ格納制御部20に供給され、複数データの同時読み出しを示すアクセスパターンAPが上記データ格納制御部20供給され、動作制御用の制御信号CSが上記メモリ10、データ格納制御部20及びデータ読み出し格納制御部30に供給されるようになっている。
上記データ格納制御部20は、図2に示すように供給されたデータDAを計数するカウンタ21と、このカウンタ21の計数出力とアクセスパターンAPとの一致判定を行う一致判定部22と、この一致判定部22の判定出力に応じてフラグを生成するフラグ生成部23と、上記カウンタ21の出力をうけてインクリメントされるバンクアドレスカウンタ24と、このバンクアドレスカウンタ24の出力をうけてインクリメントされるビット線アドレスカウンタ25と、このビット線アドレスカウンタ25の出力をうけてインクリメントされるワード線アドレスカウンタ26と、これらのカウンタ24,25,26の出力に基づいて書き込みアドレスWAを生成するアドレス生成部27、そして書き込みアドレスWAをうけてメモリ10への書き込みを制御する格納制御処理部28からなる。上記フラグ生成部23の出力が上記バンクアドレスカウンタ24、ビット線アドレスカウンタ25及びワード線アドレスカウンタ26に与えられるようになっている。そして、格納制御処理部28によって書き込みアドレスWAが示すメモリ10のアドレスに、図示しない遅延器によって所定の時間遅延されたデータDAが格納される。
また、データ読み出し格納制御部30は、例えば4つのメモリバンク(BK0〜BK2)からなる場合には、図3に示すように、データ読み出し用のビット線アドレスカウンタ31−0〜31−3、ワード線アドレスカウンタ32−0〜32−3、データ格納用のビット線アドレスカウンタ33−0〜33−3、ワード線アドレスカウンタ34−0〜34−3、読み出しアドレスを生成する読み出しアドレス生成部35−0〜35−3、書き込みアドレスを生成する書き込みアドレス生成部36−0〜36−3、読み出し制御処理を行う読み出し制御処理部37−0〜37−3と書き込み制御処理を行う書き込み制御処理部38−0〜38−3とが用意されている。
例えばメモリから読み出された各メモリバンクの最終読み出しアドレスが、各ビット線アドレスカウンタ31−0〜31−3に入力され、各ワード線アドレスカウンタ32−0〜32−3は読み出しに応じて適宜インクリメントされる。読み出しアドレス生成部35−0〜35−3は、各バンクアドレス、ビット線アドレスカウンタ31−0〜31−3、ワード線アドレスカウンタ32−0〜32−3に基づき、それぞれ読み出しアドレスRAを生成し、読み出し制御処理部37−0〜37−3はその読み出しアドレスに対応するデータをメモリ10から読み出す。
書き込み側も同様に、例えばメモリから読み出された各メモリバンクの最終書き込みアドレスが、各ビット線アドレスカウンタ33−0〜33−3に入力され、各ワード線アドレスカウンタ34−0〜34−3は書き込みに応じて適宜インクリメントされる。書き込みアドレス生成部36−0〜36−3は、各バンクアドレス、ビット線アドレスカウンタ33−0〜33−3、ワード線アドレスカウンタ34−0〜34−3に基づき、それぞれ書き込みアドレスWAを生成し、書き込み制御処理部38−0〜38−3は他のメモリバンク(例えば1つ後ろのメモリバンク)から読み出されたデータをその書き込みアドレスが示すメモリ10の所定の位置に書き込む。
尚、ここでは、メモリから最終読み出しアドレスおよび最終書き込みアドレスを読み出したが、これに限定されるものではなく、データ読み出し格納制御部30内に記憶しておき、そこから読み出すようにしても良い。
また、ここでは読み出し用のビット線およびワード線アドレスカウンタを各メモリバンク毎に設けたが、各メモリバンクを読み出す際に、そのビット線およびワード線アドレスカウンタが示すカウント値は同じであるため、これらは適宜共有させてもよい。
また、ここでは、1つ後ろのメモリバンクから読み出された値を、当該メモリバンクに書き込むようにしたが、もしBK0で読み出されたデータが再度必要になる場合には、BK0で読み出されたデータをBK3に書き込むように設定にしても構わない。
このような構成のデータ格納装置100における画像データの各バンクへの初期配置について説明する。
図4のように、ある一枚の画像に対して、複数同時アクセスしたい画素に対応するパターン(アクセスパターンAP)があり、それを左上からラスタスキャンする場合を例とする。ここでは、4バンク(バンクアドレスBK0〜3)のメモリ10を用いて、4画素を同時アクセスする例について説明する。複数同時アクセスしたい画素に対応するアクセスパターンは、この図4に示す例に限定されるものではない。すなわち、上述の如く縦(h画素)×横(w画素)のサーチエリアSRがあり、その中で任意のアクセスしたいn個の候補がある場合、その種類は、(h×w)(n)個ある。このひとつひとつをアクセスパターンと言う。アクセスパターンとしては、サーチエリア内の任意のアクセス候補の数の組み合わせが可能である。図4の例であれは16×8通りの組み合わせの内の一つの例を示したものである。
ここで、同時アクセスしたい画素数をアクセス候補数といい、アクセスパターンを構成する候補の数に等しい。この例では、4つの候補からアクセスパターンが形成されているため、アクセス候補数は4となっている。
そして、このデータ格納装置100では、画像データが入力された際に、上記データ格納制御部20により初期配置処理を行い、アクセスパターンと一致した場合は、その時点のビット線アドレスカウンタ25の値とワード線アドレスカウンタ26の値をそのバンクの書き込みビット線アドレスと書き込みワード線アドレスとして格納し、バンクアドレスカウンタ24をインクリメントしてそのバンクアドレスに画素を格納する。また、アクセスパターンと一致しない場合は、現在のバンクアドレスにビット線アドレスカウンタ25をインクリメントしたビットアドレス位置に格納し、ビット線アドレスが終了すれば、ビット線アドレスカウンタ25を0に戻し、ワード線アドレスカウンタ26をインクリメントすることによって、例えば図5の(A),(B)に示すように、アクセス候補間の画素を同じバンクBKに格納する。上記画像の左上から1画素ずつバンクBKに格納するときに、上記データ格納制御部20は、アクセスパターンと一致する毎にバンクアドレスをインクリメントさせて、バンク1(BK1)の次はバンク2(BK2)、その次はバンク3(BK3)とバンクを変えて、アクセス候補間の画素を同じバンクに格納する。ここでは、データの初期配置における2次元配列状態を図5の(A)に示し、また、各メモリバンク0〜3(BK)における1次元配列状態を図5の(B)に示している。なお、図5の(A)における数字は、格納先バンクのビット線アドレスを表している。
すなわち、アクセス開始位置にアクセスパターンがセットされた状況において、アクセスパターン対する画像データの一致/不一致を見ている。
このデータ格納装置100において、上記データ格納制御部20は、例えばマイクロプロセッサにて構成され、図示しないプロラムメモリに格納されたデータ格納制御プログラムに従って、図6のフローチャートに示す手順で初期配置処理を行う。
すなわち、上記データ格納制御部20は、初期配置処理を開始すると、先ず、バンクアドレスカウンタ24、ビット線アドレスカウンタ25及びワード線アドレスカウンタ26の値を全て「0」に初期設定する(ステップS1)。
そして、格納すべき1画素分の画像データが入力されると(ステップS2)、一致判定部22によりアクセス箇所であるか否かを判定し(ステップS3)、その判定結果がNOである場合には、現在のバンクアドレスカウンタ24、ビット線アドレスカウンタ25及びワード線アドレスカウンタ26の値で示される書き込みアドレスで上記メモリ10にその画素の画像データを格納して(ステップS6)、全データが入力されたか否かを判定する(ステップS7)。
上記ステップS7における判定結果がNOである場合には、ビット線アドレスカウンタ25をインクリメントして(ステップS8)、ビット線アドレスカウンタ25の値がビット線長さより大きくなったか否かを判定する(ステップS9)。
上記ステップS9における判定結果がNOである場合には、上記ステップS2に戻って次の1画素分の画像データについて格納処理を行う。また、このステップS9における判定結果がYESである場合には、上記ビット線アドレスカウンタ25の値を「0」にリセットするとともにワード線アドレスカウンタ26をインクリメントして(ステップS10)から、上記ステップS2に戻って次の1画素分の画像データについて格納処理を行う。
そして、上記ステップS3における判定結果がYESである場合、すなわちアクセス位置の場合には、ワード線アドレスカウンタ26とビット線アドレスカウンタ25の値を、そのバンクアドレスのワード線アドレスとビット線アドレスとして格納して(ステップS4)から、バンクアドレスカウンタ24をインクリメントするとともに、ワード線アドレスカウンタ26とビット線アドレスカウンタ25の値を「0」にリセットして(ステップS5)、上記ステップS6に進んで上記バンクアドレスカウンタ24、ワード線アドレスカウンタ25及びビット線アドレスカウンタ26の値を「0」の値で示される書き込みアドレスで上記メモリ10にその画素の画像データを格納する。
上記ステップS1からステップS10の処理を繰り返すことにより、全データの格納処理を行い、上記ステップS7における判定結果がYESになると初期配置処理を終了する。
次に、所望アクセスパターンの画素のアクセスの仕方とデータの再格納について説明する。
このデータ格納装置100では、以上のようにしてメモリ10上に初期配置した各画素の画像データは、アクセス候補間の画素を同じバンクに格納してあるので、スキャン順にアクセスパターンが移動しても、ある一定の区間は同時にアクセスできるのであるが図7の(A)に示すように、アクセスパターンの移動がアクセス画素間を超えると、同時に同じバンクの画素にアクセスすることになってしまうので、図7の(B)に示すように、アクセスした画素の画像データの再格納位置を工夫することによって、アクセスパターンの移動に対応できるようにしている。
このデータ格納装置100では、以上のようにしてメモリ10上に初期配置した各画素の画像データをアクセスする際に、図8に示すように、あるバンクアドレスから画素の画像データを読み出し、図9に示すように、そのバンクアドレス−1のバンクアドレスの書き込みワード線アドレス、書き込みビット線アドレスに+1した位置に格納するにより、図10〜図13に示すように、アクセスパターンがスキャン順に移動しても同時にアクセスできるようにしている。
すなわち、メモリ10上に初期配置した各画素の画像データから、図10の(A),(B)に示すように、あるバンクアドレスから画素の画像データを読み出し、図11の(A),(B)に示すように、そのバンクアドレス−1のバンクアドレスの書き込みワード線アドレス、書き込みビット線アドレスに+1した位置に格納する。サーチエリアが移動するにつれて、各バンクから読み出すことには変わりないが、アクセス候補最終画素が存在する次のバンクは次々と入れ替わっていくようになることにより、パターンがスキャン順に移動しても同時アクセスを実現することができる。サーチエリアを横方向に+1移動させた場合のアクセスの仕方とデータの再格納の様子を図12の(A),(B)及び図13の(A),(B)に示してある。
なお、図10〜図13において、(A)はデータの2次元配列状態を示し、また、(B)は各メモリバンク0〜3における1次元配列状態を示している。また、図10〜図13の(A)における数字は、格納先バンクのビット線アドレスを表している。
このデータ格納装置100におけるデータ読み出し格納制御部30は、ビット線アドレスカウンタ31−0〜31−3、ワード線アドレスカウンタ32−0〜32−3をインクリメントしながら、そのワード線アドレス、ビット線アドレス上の画素をバンク数だけ読み出せば、所望の画素が読み出すことができる。用意されているワード線アドレス、ビット線アドレスが終了すれば、それぞれ0に戻す。
このように、バンク番号が一番最初の場合は最後のバンクに書き込む。あるいは後段の処理に必要であれば後段の処理の際に使用するメモリに書き込む。いずれにせよ、この画素はこの処理においては今後必要とされない。
このデータ格納装置100において、上記データ読み出し格納制御部30は、例えばマイクロプロセッサにて構成され、図示しないプロラムメモリに格納されたデータ格納制御プログラムに従って、図14のフローチャートに示す手順でアクセス処理を行う。
すなわち、上記データ読み出し格納制御部30は、初期設定として、アクセス処理を開始すると、先ず、読み出し用のビット線アドレスカウンタ31−0〜31−3(以下、読み出しビット線アドレスカウンタ31と称する)及びワード線アドレスカウンタ32−0〜32−3(以下、読み出しワード線アドレスカウンタ32と称する)の値を全て「0」に初期設定する(ステップS21)。
そして、各メモリバンクの現在のビット線アドレスカウンタ31及びワード線アドレスカウンタ32の値で示される読み出しアドレスでメモリ10からアクセスパターンAPを構成する画素分の画像データを読み出す(ステップS22)。各メモリバンクのバンクアドレスの書き込みワード線アドレスと書き込みビット線アドレスを、例えばメモリ10から、読み出す(ステップS23)。各メモリバンクから読み出した画素を、それぞれ読み出されたメモリバンクの1つ前のバンクアドレスの書き込みワード線アドレスと書き込みビット線アドレスに格納するとともに、書き込みワード線アドレスと書き込みビット線アドレスを格納する(ステップS24)。
次に、読み出された画素数に基づき1画面全てスキャンしたか否かを判定する(ステップS25)。
このステップS25における判定結果がNOである場合には、S26へ進み、各メモリバンクから次に読み出す際に必要となるバンクアドレスの読み出しワード線アドレスとビット線アドレス及び各メモリバンクに書き込む際に必要となるバンクアドレスの書き込みワード線アドレスとビット線アドレスを計算し、例えばメモリ10に格納する。そして、S22からの処理を繰り返し、判定結果がYESである場合には、読み出し書き込み処理を終了する。
ここで、上記ステップS26におけるワード線アドレスとビット線アドレスの計算を、図15のフローチャートを用いて説明する。
S31で、S24で各メモリバンクの最後に書き込まれた書き込みビット線アドレスが、ビット線アドレスカウンタ33によりインクリメントされる。
S32で、ビット線アドレスカウンタ33の値がビット線長さより大きくなったか否かが判定される。
このステップS32における判定結果がYESである場合には、上記ビット線アドレスカウンタ33の値を「0」にリセットされ、S24で各メモリバンクの最後に書き込まれた書き込みワード線アドレスがワード線アドレスカウンタ34によりインクリメントされる(ステップS33)。S34で、ワード線アドレスカウンタ34の値がワード線長さより大きくなったか否かを判定される。
このステップS34における判定結果がYESである場合には、上記ワード線アドレスカウンタ34の値を「0」にリセットして(ステップS35)、処理を終了する。
また、上記ステップS32,S34における判定結果がNOである場合には処理を終了する。
なお、上記ステップS26における読み出し用のワード線アドレスとビット線アドレスの計算も、同様に行われる。その際、書き込み用のアドレス計算で用いられた書き込みビット線アドレスカウンタ33(33−0〜33−3)、書き込みワード線アドレスカウンタ34(34−0〜34−3)は、それぞれ読み出しビット線アドレスカウンタ31、読み出しワード線アドレスカウンタ32と読みかえるものとする。
また、書き込み用のアドレス計算では、S31でS24で各メモリバンクに最後に書き込まれた書き込みビット線アドレス、S33ではS23で読み出した各メモリバンクに最後に書き込まれた書き込みワード線アドレスが用いられたが、読み出し用のアドレス計算では、S31でS22で各メモリバンクから最後に読み出した読み出しビット線アドレス、S33でS22で各メモリバンクから最後に読み出した読み出しワード線アドレス用いられるものと読み替える。
なお、上述の実施の形態では、アクセスパターンの候補間の領域をラスタ方向にスキャンした場合に、メモリバンクBK3のデータはメモリバンクBK2に書込み、メモリバンクBK2のデータはメモリバンクBK1に書込み、メモリバンクBK1のデータはメモリバンクBK0に書き込むようになっているが、このメモリバンクアドレスはこれに限られるものでなく、メモリバンクBK3のデータをメモリバンクBK0に、メモリバンクBK0のデータをメモリバンクBK2に、メモリバンクBK2のデータをメモリバンクBK1に書き込むようなあるパターンに従って読み込み・書込みを行う構造としてもよい。またスキャンする方向もラスタ方向に限られるものではなく、ラスタ方向と逆、縦方向、斜め方向等であっても構わない。
また、上述の実施の形態では、データ読出し格納処理部が、ワード線アドレスとビット線アドレスをインクリメントしながら、そのワード線アドレス、ビット線アドレス上の画素のデータをバンク数だけ読み出したが、本願発明はこれに限られるものではなく、あるパターンにしたがって読み出すのであれば良い。したがって上記ワード線アドレス、上記ビット線アドレスをデクリメント、また予め決めた所定のパターンに基づきワード線アドレス、ビット線アドレスの画素を読み出しても良い。
ここで、上述の実施の形態では、読み出した画素データは、一つ前のバンクの既に書き込まれている領域の後ろに格納されていたが、その代わりに一つ前のバンクの既に読み出されている領域に上書きしていっても良い。つまり一つ前のバンクの先頭から上書きしていってもよい。その際は、書き込まれている領域の後ろに格納していたときと同様に、上書きしたアドレスに続くアドレスに順に上書きしていく必要がある。そして前述の通り、書き込むのは一つ前のバンクには限られない。
すなわち、上述の如くメモリ10上に初期配置した各画素の画像データから、図10の(A),(B)に示すように、あるバンクアドレスから画素の画像データを読み出し、図16の(A),(B)に示すように、そのバンクアドレス−1のバンクアドレスの書き込みワード線アドレス、書き込みビット線アドレスに格納する。サーチエリアが移動するにつれて、各バンクから読み出すことには変わりないが、アクセスされた画素が書き込まれるバンクは次々と入れ替わっていくようになることにより、パターンがスキャン順に移動しても同時アクセスを実現することができる。サーチエリアを横方向に+1移動させた場合のアクセスの仕方とデータの再格納の様子を図17の(A),(B)及び図18の(A),(B)に示す。
なお、図16〜図18において、(A)はデータの2次元配列状態を示し、また、(B)は各メモリバンク1〜3における1次元配列状態を示している。また、図16〜図18の(A)における数字は、格納先バンクのビット線アドレスを表している。
本発明によれば、必要最低限のバンク数で実現して、アドレスバス、セレクタ、デコーダ、消費電力の大きさなどを最小に抑え、全データにおいて所望の複数画素を同時アクセスすることができる。
本発明を実施するデータ格納装置の構成を示すブロック図である。 上記データ格納装置のデータ格納制御部の構成を示すブロック図である。 上記データ格納装置のデータ読み出し格納制御部の構成を示すブロック図である。 ある一枚の画像に対して、複数同時アクセスしたい画素に対応するアクセスパターンの一例を模式的に示す図である。 上記データ格納装置におけるデータの初期配置状態を模式的に示す図である。 上記データ格納制御部により実行される初期配置処理の手順を示すフローチャートである。 上記データ格納装置において、アクセスパターンの移動に対応するように再格納することにより、複数画素の画像データを同時に読み出し可能にした状態を模式的に示す図である。 上記データ格納装置において、アクセスパターンの移動に対応するように再格納することにより、複数画素の画像データを同時に読み出し可能にした状態を模式的に示す図である。 上記データ格納装置におけるワード線及びビット線への格納とアクセスの仕方を模式的に示す図である。 上記データ格納装置においてアクセスしたデータのワード線及びビット線への再格納の仕方を模式的に示す図である。 上記データ格納装置において複数画素の画像データを同時に読み出す動作を模式的に示す図である。 読み出した複数画素の画像データを一つ前のバンクの既に書き込まれている領域の後ろに再格納する動作を模式的に示す図である。 上記データ格納装置においてサーチエリアが初期位置から横方向に+1移動した場合の複数画素の画像データを同時に読み出す動作を模式的に示す図である。 サーチエリアが初期位置から横方向に+1移動した場合の読み出した複数画素の画像データを再格納する動作を模式的に示す図である。 上記データ読み出し格納制御部により実行されるアクセス処理の手順を示すフローチャートである。 上記アクセス処理におけるワード線アドレスとビット線アドレスの計算処理の手順を示すフローチャートである。 上記データ格納装置において読み出した複数画素の画像データを一つ前のバンクの既に読み出されている領域に上書きすることにより再格納する動作を模式的に示す図である。 上記データ格納装置においてサーチエリアが初期位置から横方向に+1移動した場合の複数画素の画像データを同時に読み出す動作を模式的に示す図である。 サーチエリアが初期位置から横方向に+1移動した場合の読み出した複数画素の画像データを再格納する動作を模式的に示す図である。 一般的な半導体メモリの構造を模式的に示す図である。 上記半導体メモリにおいて、同時アクセスできない状態を模式的に示す図である。 複数メモリバンクのメモリ構成を示す図である。 ある画像に対して、同時アクセスしたい4画素のパターン、及び、その4画素を別バンクに格納した状態を模式的に示す図である。 ある画像に対して、同時アクセスしたい4画素のパターン、及び、その4画素を別バンクに格納した状態を模式的に示す図である。 アクセス候補間の画素を1 画素毎に別バンクに格納した状態を模式的に示す図である。 アクセス候補間の画素を同じバンクに格納した状態を模式的に示す図である。 アクセス候補間の画素を同じバンクに格納することにより、スキャン順にパターンが移動しても、ある一定の区間は同時にアクセスが可能となることを模式的に示した図である。 アクセス候補間の画素を同じバンクに格納することにより、スキャン順にパターンが移動しても、ある一定の区間は同時にアクセスが可能となることを模式的に示した図である。 アクセス候補間の画素を同じバンクに格納することにより、スキャン順にパターンが移動しても、ある一定の区間は同時にアクセスが可能となることを模式的に示した図である。 アクセスパターンの移動がアクセス画素間を超えると、同時に同じバンクの画素にアクセスすることになってしまうことを模式的に示した図である。
符号の説明
10 メモリ、20 データ格納制御部、21,31 カウンタ、22 一致判定部、23 フラグ生成部、24,32 バンクアドレスカウンタ、25,33ビット線アドレスカウンタ、26,34ワード線アドレスカウンタ、27,35 アドレス生成部、30 データ読み出し格納制御部、40 アドレス生成部、100 データ格納装置

Claims (9)

  1. 複数のメモリバンクからなるメモリと、
    データを上記メモリを構成する複数のメモリバンクに振り分けて格納する際に、同時に読み出そうとする所望の複数データを示すアクセスパターンに基づいて、上記アクセスパターンを構成するアクセス候補間のデータを同じバンクに格納することにより初期配置するデータ格納処理部と、
    上記複数のメモリバンクからなるメモリ上に初期配置されたデータに対し、画素のデータを各バンクからそれぞれ読み出すデータ読み出し格納処理部とを備え、
    上記データ読み出し格納処理部は、バンクから画素のデータを読み出し、上記アクセスパターンの候補の各位置に基づいて決まる範囲のうち、上記アクセスパターンの移動方向に基づいて決まる一の隣接する範囲の画素のデータが格納されているバンクに読み出した上記画素のデータを格納することを特徴とするデータ格納装置。
  2. 上記データ読み出し格納処理部は、ワード線アドレスとビット線アドレスをインクリメントしながら、そのワード線アドレス、ビット線アドレス上の画素のデータをバンク数だけ読み出すことを特徴とする請求項1に記載のデータ格納装置。
  3. 上記アクセスパターンの候補の各位置に基づいて決まる範囲とは、上記アクセスパターンを構成する候補のうち、上記アクセスパターンの移動する方向に一の候補からその次の候補までの間のことであることを特徴とする請求項1に記載のデータ格納装置。
  4. 上記一の隣接する範囲の画素のデータは、上記アクセスパターンの移動方向と反対の方向に隣接する範囲の画素のデータであることを特徴とする請求項1に記載のデータ格納装置。
  5. 上記データ格納処理部は、全データを上記メモリを構成する複数のメモリバンクに振り分けて格納する際に、同時に読み出そうとする所望の複数データを示すアクセスパターンに基づいて、格納しようとしているデータが上記アクセスパターンに対応する位置のデータであるか否かを判定し、
    アクセスパターンと一致した場合は、その時点のビット線アドレスとワード線アドレスの値をそのバンクの書き込みビット線アドレスと書き込みワード線アドレスとして格納し、バンクアドレスをインクリメントしてそのバンクアドレスにその画素のデータを格納し、
    また、アクセスパターンと一致しない場合は、現在のバンクアドレスにビット線アドレスをインクリメントした位置に格納することによって、上記全データを複数のメモリバンクからなるメモリ上に初期配置することを特徴とする請求項1記載のデータ格納装置。
  6. 上記データ読み出し格納処理部は、バンクから読み出した画素のデータを当該バンクのデータが既に読み出された領域に上書きして格納することを特徴とする請求項1記載のデータ格納装置。
  7. メモリを構成する複数のメモリバンクにデータを振り分けて格納する際に、同時に読み出そうとする所望の複数データを示すアクセスパターンに基づいて、上記アクセスパターンを構成するアクセス候補間のデータを同じバンクに格納することにより初期配置するデータ格納処理部と、
    上記複数のメモリバンクからなるメモリ上に初期配置されたデータに対し、画素のデータを各バンクからそれぞれ読み出すデータ読み出し格納処理部とを備え、
    上記データ読み出し格納処理部は、バンクから画素のデータを読み出し、上記アクセスパターンの候補の各位置に基づいて決まる範囲のうち、上記アクセスパターンの移動方向に基づいて決まる一の隣接する範囲の画素のデータが格納されているバンクに読み出した上記画素のデータを格納することを特徴とするデータ格納制御装置。
  8. メモリを構成する複数のメモリバンクにデータを振り分けて格納する際に、同時に読み出そうとする所望の複数データを示すアクセスパターンに基づいて、上記アクセスパターンを構成するアクセス候補間のデータを同じバンクに格納することにより初期配置し、
    上記複数のメモリバンクからなるメモリ上に初期配置されたデータに対し、バンクから画素のデータを読み出し、上記アクセスパターンの候補の各位置に基づいて決まる範囲のうち、上記アクセスパターンの移動方向に基づいて決まる一の隣接する範囲の画素のデータが格納されているバンクに読み出した上記画素のデータを格納することを特徴とするデータ格納制御方法。
  9. 複数のメモリバンクからなるメモリに全データを格納して、所望の複数データの同時読み出しを行うデータ格納制御をコンピュータにより実行するためのデータ格納制御プログラムであって、
    メモリを構成する複数のメモリバンクにデータを振り分けて格納する際に、同時に読み出そうとする所望の複数データを示すアクセスパターンに基づいて、上記アクセスパターンを構成するアクセス候補間のデータを同じバンクに格納することにより初期配置し、
    上記複数のメモリバンクからなるメモリ上に初期配置されたデータに対し、バンクから画素のデータを読み出し、上記アクセスパターンの候補の各位置に基づいて決まる範囲のうち、上記アクセスパターンの移動方向に基づいて決まる一の隣接する範囲の画素のデータが格納されているバンクに読み出した上記画素のデータを格納することを特徴とするデータ格納制御プログラム。
JP2005106642A 2004-04-19 2005-04-01 データ格納装置、データ格納制御装置、データ格納制御方法及びデータ格納制御プログラム Expired - Fee Related JP4735008B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005106642A JP4735008B2 (ja) 2004-04-19 2005-04-01 データ格納装置、データ格納制御装置、データ格納制御方法及びデータ格納制御プログラム

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2004123466 2004-04-19
JP2004123466 2004-04-19
JP2005106642A JP4735008B2 (ja) 2004-04-19 2005-04-01 データ格納装置、データ格納制御装置、データ格納制御方法及びデータ格納制御プログラム

Publications (2)

Publication Number Publication Date
JP2005332369A JP2005332369A (ja) 2005-12-02
JP4735008B2 true JP4735008B2 (ja) 2011-07-27

Family

ID=35486961

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005106642A Expired - Fee Related JP4735008B2 (ja) 2004-04-19 2005-04-01 データ格納装置、データ格納制御装置、データ格納制御方法及びデータ格納制御プログラム

Country Status (1)

Country Link
JP (1) JP4735008B2 (ja)

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08275181A (ja) * 1995-01-30 1996-10-18 Hitachi Ltd 動画像データの復号装置
JP4224876B2 (ja) * 1998-09-11 2009-02-18 ソニー株式会社 記憶装置、並びに書き込み方法および読み出し方法
JP2001086447A (ja) * 1999-09-17 2001-03-30 Sanyo Electric Co Ltd 画像処理装置
JP3644381B2 (ja) * 2000-12-18 2005-04-27 村田機械株式会社 Sdramのランダムアクセス方法
JP2002259208A (ja) * 2000-12-28 2002-09-13 Canon Inc メモリ制御装置及び方法
US6944731B2 (en) * 2001-12-19 2005-09-13 Agere Systems Inc. Dynamic random access memory system with bank conflict avoidance feature
JP4487568B2 (ja) * 2004-01-05 2010-06-23 ソニー株式会社 データ格納装置、データ格納制御装置、データ格納制御方法及びデータ格納制御プログラム
JP4534488B2 (ja) * 2004-01-05 2010-09-01 ソニー株式会社 データ格納装置、データ格納制御装置、データ格納制御方法及びデータ格納制御プログラム
JP4687108B2 (ja) * 2004-01-05 2011-05-25 ソニー株式会社 データ格納装置、データ格納制御装置、データ格納制御方法及びデータ格納制御プログラム
JP4506256B2 (ja) * 2004-04-19 2010-07-21 ソニー株式会社 データ格納装置、データ格納制御装置、データ格納制御方法及びデータ格納制御プログラム

Also Published As

Publication number Publication date
JP2005332369A (ja) 2005-12-02

Similar Documents

Publication Publication Date Title
KR100817057B1 (ko) 동일한 픽셀 데이터 그룹에 포함되는 픽셀 데이터들을메모리의 동일한 뱅크 어드레스로 매핑하는 매핑 방법 및비디오 시스템
KR101117145B1 (ko) 데이터 저장 장치, 데이터 저장 제어 장치 및, 데이터 저장 제어 방법
WO2022206556A1 (zh) 图像数据的矩阵运算方法、装置、设备及存储介质
US20090204780A1 (en) Data storage unit, data storage controlling apparatus and method, and data storage controlling program
KR100283413B1 (ko) 텍스처 매핑시스템
JP4586627B2 (ja) データアクセス装置、データアクセス方法、プログラムおよび記録媒体
EP1575298B1 (en) Data storage apparatus, data storage control apparatus, data storage control method, and data storage control program
US6560686B1 (en) Memory device with variable bank partition architecture
US6992673B2 (en) Memory access device, semiconductor device, memory access method, computer program and recording medium
US8937624B2 (en) Method and apparatus for translating memory access address
JP4735008B2 (ja) データ格納装置、データ格納制御装置、データ格納制御方法及びデータ格納制御プログラム
JP4487568B2 (ja) データ格納装置、データ格納制御装置、データ格納制御方法及びデータ格納制御プログラム
JP4506256B2 (ja) データ格納装置、データ格納制御装置、データ格納制御方法及びデータ格納制御プログラム
JP4534488B2 (ja) データ格納装置、データ格納制御装置、データ格納制御方法及びデータ格納制御プログラム
JP4687108B2 (ja) データ格納装置、データ格納制御装置、データ格納制御方法及びデータ格納制御プログラム
JP7234000B2 (ja) 2次元画像をアフィン変換するための画像データ処理装置
KR950033862A (ko) Ram과의 인터페이스 방법 및 장치
JP4655220B2 (ja) 設計装置および方法、並びにデータ格納装置
JP2633251B2 (ja) 画像メモリ素子
JP4635687B2 (ja) データアクセス装置、データアクセス方法、プログラムおよび記録媒体
JP4701620B2 (ja) データ格納装置、データ格納制御装置、データ格納制御方法及びデータ格納制御プログラム
JP2007299211A (ja) メモリ制御装置
JPH07118006B2 (ja) 画像処理装置
JPH0337774A (ja) 画像回転回路
JPH01124076A (ja) 画像処理記録装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080222

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110322

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110329

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110411

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140513

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees