説明

画像データ処理装置

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、処理装置と、画像記憶装置と、両者の間に置かれた画像キャッシュ制御装置とを備えた画像データ処理装置に関し、特に、画像キャッシュ制御装置が備えているキャッシュバッファのヒット率を高めることにより、リード,ライト処理を高速に行えるようにした画像データ処理装置に関する。
【0002】
【従来の技術】従来から、リード,ライト処理を高速化するため、処理装置と画像記憶装置との間にキャッシュバッファを備えた画像キャッシュ制御装置を配置するようにした画像データ処理装置が知られている。
【0003】ところで、画像記憶装置に2次元画面イメージを格納する場合、従来は、一般に、第1水平走査線上のi個の画素データを画像記憶装置の0番地〜(i−1)番地に格納し、第2水平走査線上のi個の画素データを画像記憶装置のi番地〜(2i−1)番地に格納するというように、画像記憶装置の連続したアドレスに第1水平走査線から最後の水平走査線までの画素データを順番に格納するようにしている。
【0004】このため、処理装置と画像記憶装置との間に画像キャッシュ制御装置を配置した従来の画像データ処理装置では、連続した所定本数分の水平走査線のデータを単位データとして、画像記憶装置からキャッシュバッファへのデータのロード及びキャッシュバッファから画像記憶装置への書き戻しを行っていた。つまり、キャッシュバッファには、連続した所定本数分の水平走査線のデータを単位にして画像記憶装置に格納されているデータの写しが格納されることになる。
【0005】
【発明が解決しようとする課題】ところで、画像データ処理装置に於いては、処理装置から画像記憶装置へのリード,ライト操作は、画像描画処理の特性上、2次元画面イメージ上の特定の複数の部分2次元領域に集中する傾向がある。つまり、画像描画処理に於いては、2次元画像イメージ上の特定の複数の部分2次元領域に対してリードモディファイライト操作が頻繁に行われるので、上記部分2次元領域に対してリード,ライト操作が頻繁に行われることになる。
【0006】今、例えば、図6に示す2次元画面イメージ中の図形61,62に対してリードモディファイライト操作が行われる場合を考えてみる。上述した従来の技術は、連続した所定本数分の水平走査線のデータを単位データにしてキャッシュバッファに写しを格納するようにしているので、図形61,62の画素データを含む単位データの数はかなり多くなる。従って、キャッシュバッファに、図形61,62の画素データを含む単位データの写しを全て格納しておくことは難しい。このため、図形61,62に対するリードモディファイライト操作が頻繁に行われると、ミスヒットが頻繁に発生する可能性が高くなる。つまり、連続した所定本数分の水平走査線のデータを単位データとしている従来の技術では、ミスヒットが頻繁に発生しやすく、ミスヒットが発生すると、画像記憶装置からキャッシュバッファへのデータのロードや、キャッシュバッファから画像記憶装置への書き戻しを行わなければならないので、リード,ライト処理が遅くなるという問題があった。
【0007】そこで、本発明の目的は、キャッシュバッファのヒット率を高めることによりリード,ライト処理を高速に行えるようにした画像データ処理装置を提供することにある。
【0008】
【課題を解決するための手段】本発明は上記目的を達成するため、処理装置と、画像記憶装置と、前記処理装置と前記画像記憶装置との間に置かれる画像キャッシュ制御装置とを備えた画像データ処理装置に於いて、前記画像記憶装置は、2次元画面イメージを縦方向及び横方向に分割した時に構成される複数の矩形領域毎の矩形データ格納領域であって、対応する矩形領域中に存在する画素の画素データをその先頭部分から順に格納する矩形データ格納領域を有し、前記画像キャッシュ制御装置は、前記複数の矩形データ格納領域の内の、一部の矩形データ格納領域に格納されているデータの写しが格納されるキャッシュバッファと、前記処理装置が出力した、前記2次元画面イメージ上の或る画素を示すアドレスに基づいて、前記或る画素に対応する画素データが格納されている矩形データ格納領域を示す領域アドレス及び前記或る画素に対応する画素データが矩形データ格納領域中のどの位置に存在するかを示す領域内アドレスを算出する領域アドレス算出部と、前記処理装置が出力したアドレスによって示される画素の画素データが前記キャッシュバッファに存在する場合は、前記領域アドレス算出部で算出された領域アドレス及び領域内アドレスに基づいて前記キャッシュバッファをアクセスし、前記処理装置が出力したアドレスによって示される画素の画素データが前記キャッシュバッファに存在しない場合は、必要に応じて前記キャッシュバッファに格納されている写しを前記画像記憶装置に書き戻した後、前記領域アドレス算出部で算出された領域アドレスによって示される前記画像記憶装置中の矩形データ格納領域に格納されているデータを前記キャッシュバッファへロードする制御部とを備えている。
【0009】この構成に於いては、画像記憶装置は、2次元画面イメージを縦方向及び横方向に分割した時に構成される複数の矩形領域毎の矩形データ格納領域であって、対応する矩形領域中に存在する画素の画素データをその先頭部分から順に格納する矩形データ格納領域を有している。
【0010】処理装置が2次元画面イメージ上の或る画素をアクセスするためにアドレスを出力すると、画像キャッシュ制御装置では、領域アドレス算出部が、上記或る画素に対応する画素データが格納されている矩形データ格納領域を示す領域アドレス及び上記或る画素に対応する画素データが矩形データ格納領域中のどの位置に存在するかを示す領域内アドレスを算出する。そして、制御部は、処理装置から出力されたアドレスによって示される画素データがキャッシュバッファ上に存在する場合は、領域アドレス算出部で算出された領域アドレス及び領域内アドレスに基づいてキャッシュバッファをアクセスする。これに対して、上記アドレスによって示される画素がキャッシュバッファ上に存在しない場合は、必要に応じてキャッシュバッファに格納されているデータの写しの書き戻しを行った後、領域アドレス算出部で算出された領域アドレスによって示される前記画像記憶装置の矩形データ格納領域に格納されているデータをキャッシュバッファへロードする。
【0011】
【発明の実施の形態】次に本発明の実施の形態について図面を参照して詳細に説明する。
【0012】図1は本発明の実施例のブロック図であり、処理装置1と、画像キャッシュ制御装置2と、画像記憶装置3とから構成されている。処理装置1と画像キャッシュ制御装置2とは、アドレスバス11,データバス12及びリードライト信号線13により接続され、画像キャッシュ制御装置2と画像記憶装置3とは、アドレスバス32,データバス33及びリードライト信号線34により接続されている。
【0013】画像記憶装置3は、1画面分の2次元画面イメージを格納するものであり、図2に示すように、サイズが等しいm個の矩形データ格納領域#1〜#mを有している。各矩形データ格納領域#1〜#mには、2次元画面イメージを図3に示すように縦,横方向に分割した時に構成されるサイズが等しいm個の矩形領域k1〜kmについてのデータがそれぞれ格納される。各矩形領域k1〜kmには、図3に示すように、n個の画素p1〜pnが存在する。従って、画像記憶装置3の矩形データ格納領域#1〜#mには、それぞれ矩形領域k1〜km中に存在するn個の画素データp1〜pnについての画素データDp1〜Dpnが、その領域の先頭部分から順に格納される。
【0014】画像キャッシュ制御装置2は、領域アドレス算出部21と、領域アドレスレジスタ22と、領域内アドレスレジスタ23と、j個のタグ記憶部24−1〜24−jと、j個の比較部25−1〜25−jと、制御部26と、キャッシュバッファ27とを備えている。
【0015】領域アドレス算出部21は、処理装置1がアドレスバス11に出力した、2次元画像イメージ上の或る画素を示すアドレスに基づいて、上記或る画素に対応する画素データが格納されている矩形データ格納領域を示す領域アドレス及び上記画素データが矩形データ格納領域中のどの位置に存在するかを示す領域内アドレスを算出して領域アドレスレジスタ22,領域内アドレスレジスタ23に格納する機能を有する。
【0016】キャッシュバッファ27は、j個のセットを有する。1つのセットには、1つの矩形データ格納領域に格納されているデータ(矩形領域データ)の写しが格納される。
【0017】タグ記憶部24−1には、図4に示すように、キャッシュバッファ27が備えている第1セットに格納されている矩形領域データの写しが、矩形データ格納領域#1〜#mの内のどの領域の写しなのかを示す領域アドレスと、第1セットの有効,無効を示す状態フラグとが格納される。他のタグ記憶部24−2〜24−jは、それぞれキャッシュバッファ27の第2セット〜第jセットに対応するものであり、タグ記憶部24−1と同様の情報を格納している。
【0018】比較部25−1〜25−jは、それぞれタグ記憶部24−1〜24−jに格納されている領域アドレスと領域アドレスレジスタ22に格納されている領域アドレスとを比較すると共に、タグ記憶部24−1〜24−jに格納されている状態フラグを調べ、領域アドレスが一致し、且つ状態フラグが有効になっている場合のみ、その出力信号を“1”とする。つまり、比較部25−1〜25−jは、それぞれキャッシュバッファ27の第1〜第jセットに処理装置1がアクセスしようとしている画素の画素データを含む、有効な矩形領域データが格納されている場合のみ、その出力信号を“1”とする。
【0019】制御部26は、処理装置1がアクセスしようとする画素の画素データを含む矩形領域データがキャッシュバッファ27に存在する場合には、キャッシュバッファ27をアクセスし、存在しない場合には、必要に応じてキャッシュバッファ27に格納されている矩形領域データの写しを画像記憶装置3に書き戻した後、画像記憶装置3に格納されている上記画素データを含む矩形領域データをキャッシュバッファ27にロードする。
【0020】次に本実施例の動作を説明する。
【0021】先ず、リード時の動作を説明する。処理装置1は2次元画面イメージ上の或る画素の画素データをリードしようとする場合、アドレスバス11にアドレスを出力すると共にリードライト信号線13にリード信号を出力する。ここで、処理装置1は、第1水平走査線上のi個の画素のアドレスを0〜(i−1)番地,第2水平走査線上のi個の画素のアドレスをi〜(2i−1)番地とする一次元的なアドレスによってリード対象とする画素を指定するものである。
【0022】処理装置1からアドレスが出力されると、領域アドレス算出部21は、そのアドレスによって示される画素の画素データが格納されている矩形データ格納領域を示す領域アドレスを算出して領域アドレスレジスタ22格納する共に、上記画素データが矩形データ格納領域中のどの位置に存在するかを示す領域内アドレスを算出して領域内アドレスレジスタ23に格納する。
【0023】ここで、領域アドレス,領域内アドレスの算出方法は、種々の方法を採用することができる。例えば、処理装置1が出力する全てのアドレスに対して、そのアドレスに対応する領域アドレス,領域内アドレスを登録した図5に示すようなテーブルを用意しておき、処理装置1からアドレスが出力された時、上記テーブルを参照して領域アドレス,領域内アドレスを求めるというような方法を採用しても良いし、計算によって領域アドレス,領域内アドレスを求めるというような方法を採用しても良い。
【0024】領域アドレスレジスタ22に領域アドレスが格納されると、比較部25−1〜25−jは、それぞれタグ記憶部24−1〜24−jに格納されている領域アドレスと領域アドレスレジスタ22に格納されている領域アドレスとを比較すると共に、タグ記憶部24−1〜24−jに格納されている状態フラグが有効になっているか否かを調べる。そして、領域アドレスが一致し、且つ状態フラグが有効になっている場合のみ、その出力信号を“1”とする。
【0025】今、例えば、処理装置1がリードしようとする画素の画素データを含む矩形領域データの写しが、キャッシュバッファ27の第1セットに格納され、且つ第1セットが有効であるか否かを示す状態フラグが有効になっていたとすると、比較部25−1の出力信号のみが“1”となる。
【0026】制御部26は、比較部25−1の出力信号が“1”となると、キャッシュセレクト信号28−1〜28−jの内の、第1セットを選択するキャッシュセレクト信号28−1のみを“1”とする。これと同時に、制御部26は、領域内アドレスレジスタ23に格納されている領域内アドレスをアドレスバス29を介してキャッシュバッファ27に供給すると共に、リード信号をリードライト信号線31を介してキャッシュバッファ27に供給する。これにより、キャッシュバッファ27からデータバス30に、処理装置1がリードしようとしている画素データが出力され、制御部26は、データバス30に出力された画素データをデータバス12を介して処理装置1に送る。
【0027】これに対して、処理装置1がリードしようとしている画素の画素データを含む矩形領域データを格納した、状態フラグが有効になっているセットが、キャッシュバッファ27中に存在しない場合には、比較部25−1〜25−jの出力信号は全て“0”となる。
【0028】制御部26は、比較部25−1〜25−jの出力信号が全て“0”である場合は、先ず、タグ記憶部24−1〜24−jの状態フラグを参照し、キャッシュバッファ27の第1セット〜第jセットの中で無効になっているものを探す。
【0029】そして、無効になっているセットを探し出せた場合は、その内の1つを選択して以下の処理を行う。
【0030】先ず、制御部26は、画像記憶装置3にアドレスバス32を介して領域アドレスレジスタ22にセットされている領域アドレスによって示される矩形データ格納領域中の全てのアドレスを順次供給すると共に、リードライト信号線34を介してリード信号を供給する。
【0031】これにより、画像記憶装置3からデータバス33に、上記領域アドレスによって示される矩形データ格納領域中のデータが出力される。
【0032】その後、制御部26は、選択したキャッシュバッファ27のセット(例えば、第jセットとする)に対応するキャッシュセレクト信号28−jを“1”にする。これと同時に、制御部26は、データバス30に画像記憶装置3から出力された矩形領域データを出力すると共に、リードライト信号線31にライト信号を出力する。
【0033】これにより、キャッシュバッファ27の第jセットに画像記憶装置3から出力された矩形領域データの写しがロードされる。また、キャッシュセレクト信号28−jが“1”の時に、タグ記憶部24−jに、領域アドレスレジスタ22に格納されている領域アドレスがセットされる。
【0034】その後、制御部26は、タグ記憶部24−jの状態フラグを有効を示すものに変更し、更に、前述したと同様にしてキャッシュバッファ27から処理装置1がリードしようとしている画素データを読み出し、処理装置1に供給する。
【0035】また、無効になっているセットを探し出せなかった場合は、制御部26は、その内部に設けられている図示を省略したLRU(Least RecentryUsed)回路により、キャッシュバッファ27中の最もアクセス時期の古いセットを探し出す。今、例えば、第jセットが探し出されたとすると、制御部26は、第jセットに格納されている矩形領域データの写しを画像記憶装置3に書き戻すと共に、上記探し出した比較部25−jに格納されている状態フラグを無効にすることにより、キャッシュバッファ27上に空きセットを作る。
【0036】その後、制御部26は、前述したと同様の処理を行い、処理装置1がリードしようとする画素の画素データを含む矩形領域データをキャッシュバッファ27の第jセットにロードすると共に、タグ記憶部24−jに、領域アドレスレジスタ22に格納されている領域アドレスをセットし、更に、キャッシュバッファ27から処理装置1がリードしようとしている画素データを読み出し、処理装置1に供給する。
【0037】次にライト時の動作について説明する。処理装置1は2次元画面イメージ上の或る画素の画素データを画像記憶装置3にライトしようとする場合、アドレスバス11にアドレスを、データバス12にライトする画素データを、リードライト信号線13にライト信号を出力する。
【0038】処理装置1からアドレスが出力されると、領域アドレス算出部21は、前述したと同様にして領域アドレス,領域内アドレスを算出し、それらを領域アドレスレジスタ22,領域内アドレスレジスタ23に格納する。
【0039】領域アドレスレジスタ22に領域アドレスが格納されると、比較部25−1〜25−jは、前述したと同様の処理を行う。
【0040】今、例えば、処理装置1がライトしようとする画素の画素データを含む矩形領域データの写しが、キャッシュバッファ27の第1セットに格納され、且つその写しが有効であるか否かを示す状態フラグが有効になっていたとすると、比較部25−1の出力信号のみが“1”となる。
【0041】制御部26は、比較部25−1の出力信号が“1”となると、キャッシュセレクト信号28−1〜28−jの内の、第1セットを選択するキャッシュセレクト信号28−1のみを“1”とする。これと同時に、制御部26は、アドレスバス29,データバス30,リードライト信号線31を介してキャッシュバッファ27へ、領域内アドレスレジスタ23に格納されている領域内アドレス,処理装置1が出力した画素データ,ライト信号を供給する。これにより、キャッシュバッファ27の第1セットの、領域内アドレスによって示される位置に画素データがライトされる。
【0042】これに対して、処理装置1がライトしようとしている画素データを含む矩形領域データを格納した、状態フラグが有効になっているセットがキャッシュバッファ27中に存在しない場合には、比較部25−1〜25−jの出力信号は全て“0”となる。
【0043】制御部26は、比較部25−1〜25−jの出力信号が全て“0”である場合は、先ず、タグ記憶部24−1〜24−jの状態フラグを参照し、キャッシュバッファ27の第1セット〜第jセットの中で無効になっているものを探す。
【0044】そして、無効になっているセットを探し出せた場合は、リード時と同様にその内の1つを選択し(例えば、キャッシュバッファ27中の第jセットを選択したとする)、選択した第jセットに、領域アドレスレジスタ22にセットされている領域アドレスによって示される、画像記憶装置3中の矩形データ格納領域に格納されている矩形領域データをロードすると共に、タグ記憶部24−jに領域アドレスレジスタ22に格納されている領域アドレスをセットし、更に、タグ記憶部24−j中の状態フラグを有効を示すものに変更する。
【0045】その後、制御部26は、前述したと同様の処理を行い、キャッシュバッファ27の第jセットに画素データを書き込む。
【0046】また、無効になっているセットを探し出せなかった場合は、制御部26は、リード時と同様にしてキャッシュバッファ27中に空きセットを作り、そのセット(例えば、第jセット)へ、領域アドレスレジスタ22中の領域アドレスによって示される矩形データ格納領域中の矩形領域データをロードする。その後、前述したと同様にしてキャッシュバッファ27の第jセットの、領域内アドレスレジスタ23にセットされている領域内アドレスによって示される位置に画素データをライトする。
【0047】今、例えば、図6に示す2次元画面イメージ中の図形61,62に対してリードモディファイライト操作を行う場合を考えてみる。本実施例では、2次元画面イメージを縦方向及び横方向に分割した時に構成される矩形領域に格納される矩形領域データを単位データにして、キャッシュバッファに写しを格納するようにしているので、図形61,62の画素データを含む単位データの数は、従来の技術に比較して少なくなる。このため、図形61,62の画素データを含む全ての矩形領域データを格納しておける可能性が従来の技術よりも高くなるので、ミスヒットの発生する危険性を従来よりも少なくすることが可能になり、この結果、リード,ライト処理を高速に行うことが可能になる。
【0048】
【発明の効果】以上説明したように、本発明によれば、キャッシュバッファのヒット率を高めることができるので、リード,ライト処理を従来の技術に比較して高速に行うことができる。その理由は、2次元画面イメージを縦方向及び横方向に分割した時に構成される矩形領域を単位にしてキャッシュバッファにデータを格納できるようにしたからである。
【図面の簡単な説明】
【図1】本発明の実施例のブロック図である。
【図2】画像記憶装置3の構成例を示した図である。
【図3】矩形領域を説明するための図である。
【図4】タグ記憶部24−1の内容例を示した図である。
【図5】領域アドレス算出部21が使用するテーブルの一例を示した図である。
【図6】従来の技術の問題点を説明するための図である。
【符号の説明】
1…処理装置
11…アドレスバス
12…データバス
13…リードライト信号線
2…画像キャッシュ制御装置
21…領域アドレス算出部
22…領域アドレスレジスタ
23…領域内アドレスレジスタ
24−1〜24−j…タグ記憶部
25−1〜25−j…比較部
26…制御部
27…キャッシュバッファ
28−1〜28−j…キャッシュセレクト信号
29…アドレスバス
30…データバス
31…リードライト信号線
32…アドレスバス
33…データバス
34…リードライト信号線
3…画像記憶装置

【特許請求の範囲】
【請求項1】 処理装置と、画像記憶装置と、前記処理装置と前記画像記憶装置との間に置かれる画像キャッシュ制御装置とを備えた画像データ処理装置に於いて、前記画像記憶装置は、2次元画面イメージを縦方向及び横方向に分割した時に構成される複数の矩形領域毎の矩形データ格納領域であって、対応する矩形領域中に存在する画素の画素データをその先頭部分から順に格納する矩形データ格納領域を有し、前記画像キャッシュ制御装置は、前記複数の矩形データ格納領域の内の、一部の矩形データ格納領域に格納されているデータの写しが格納されるキャッシュバッファと、前記処理装置が出力した、前記2次元画面イメージ上の或る画素を示すアドレスに基づいて、前記或る画素に対応する画素データが格納されている矩形データ格納領域を示す領域アドレス及び前記或る画素に対応する画素データが矩形データ格納領域中のどの位置に存在するかを示す領域内アドレスを算出する領域アドレス算出部と、前記処理装置が出力したアドレスによって示される画素の画素データが前記キャッシュバッファに存在する場合は、前記領域アドレス算出部で算出された領域アドレス及び領域内アドレスに基づいて前記キャッシュバッファをアクセスし、前記処理装置が出力したアドレスによって示される画素の画素データが前記キャッシュバッファに存在しない場合は、必要に応じて前記キャッシュバッファに格納されている写しを前記画像記憶装置に書き戻した後、前記領域アドレス算出部で算出された領域アドレスによって示される前記画像記憶装置中の矩形データ格納領域に格納されているデータを前記キャッシュバッファへロードする制御部とを備えたことを特徴とする画像データ処理装置。
【請求項2】 前記キャッシュバッファに写しが格納されている矩形データ格納領域の領域アドレスを管理するタグ記憶部と、前記領域アドレス算出手段で算出された領域アドレスと前記タグ記憶部で管理されている領域アドレスとを比較する比較部とを備え、且つ、前記制御部は、前記比較部の比較結果に基づいて前記処理装置が出力したアドレスによって示される画素の画素データが前記キャッシュバッファに存在するか否かを判断する構成を備えたことを特徴とする請求項1記載の画像データ処理装置。
【請求項3】 前記領域アドレス算出部は、前記処理装置が出力する全てのアドレスに対して、そのアドレスに対応する領域アドレス,領域内アドレスが登録されたテーブルを有し、前記処理装置がアドレスを出力した時、前記テーブルを参照して領域アドレス,領域内アドレスを求める構成を備えたことを特徴とする請求項2記載の画像データ処理装置。

【図3】
image rotate


【図4】
image rotate


【図5】
image rotate


【図6】
image rotate


【図1】
image rotate


【図2】
image rotate


【特許番号】特許第3060988号(P3060988)
【登録日】平成12年4月28日(2000.4.28)
【発行日】平成12年7月10日(2000.7.10)
【国際特許分類】
【出願番号】特願平9−83352
【出願日】平成9年3月17日(1997.3.17)
【公開番号】特開平10−261076
【公開日】平成10年9月29日(1998.9.29)
【審査請求日】平成9年3月17日(1997.3.17)
【出願人】(000004237)日本電気株式会社 (19,353)
【参考文献】
【文献】特開 平6−59975(JP,A)
【文献】特開 平5−53909(JP,A)
【文献】特開 平4−153753(JP,A)