JP2007087372A - メモリ装置、およびメモリ制御方法 - Google Patents

メモリ装置、およびメモリ制御方法 Download PDF

Info

Publication number
JP2007087372A
JP2007087372A JP2006203742A JP2006203742A JP2007087372A JP 2007087372 A JP2007087372 A JP 2007087372A JP 2006203742 A JP2006203742 A JP 2006203742A JP 2006203742 A JP2006203742 A JP 2006203742A JP 2007087372 A JP2007087372 A JP 2007087372A
Authority
JP
Japan
Prior art keywords
address
memory
data
lut
unit
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.)
Pending
Application number
JP2006203742A
Other languages
English (en)
Other versions
JP2007087372A5 (ja
Inventor
Fumitada Nagashima
史忠 長島
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2006203742A priority Critical patent/JP2007087372A/ja
Publication of JP2007087372A publication Critical patent/JP2007087372A/ja
Publication of JP2007087372A5 publication Critical patent/JP2007087372A5/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Abstract

【課題】 メモリからデータを効率的に読出すための技術を提供すること。
【解決手段】 第1および第2メモリを有するメモリ装置LUTアドレス生成部103は、入力データに対応するアドレスを生成し、キャッシュ制御部104は、キャッシュ部11第2のメモリに記憶されているデータに対応するアドレスと、前記LUTアドレス生成部103により生成されたアドレスとを比較する。また、メモリ装置キャッシュ制御部104は、前記生成されたアドレスに対応するデータを、第2のメモリキャッシュ部11から読出す。しまた、キャッシュ制御部104は、アドレスの比較結果に応じて、比較するアドレスのビット数を決定する。なお、メモリ装置は、生成されたアドレスに対応するデータが前記第2のメモリキャッシュ部11に記憶されていない場合、対応するデータを、第1のメモリ102から読出す。
【選択図】 図1

Description

本発明は、メモリ装置、およびメモリ制御方法に関するものである。
近年、入力デバイスとしては、スキャナ、ビデオカメラなどが普及している。一方、出力デバイスとしては、インクジェット、染料熱昇華型あるいは電子写真などの方式を用いた、各種カラープリンタが普及している。これらのカラー入出力デバイスは、それぞれ固有の色空間(デバイス色空間)を有している。入力デバイスで読み取ったデータを出力デバイスにて印刷(表示)するには、入力デバイスの色空間を出力デバイスの色空間に変換する処理(“色空間変換”と呼ぶ)が必要となる。
例えば、スキャナで読み取ったRGB画像データを印刷する場合、先ず、スキャナのRGB色空間から標準RGB色空間(例えばAdobe Systems社提唱のAdobeRGB)に変換する。その後、プリンタの色材(インクまたはトナー)の色空間であるシアン、マゼンタ、イエローおよびブラックで構成されるCMYK色空間への変換が行われる。
また、同じRGB色空間においても、例えばスキャナおよびモニタのRGB色空間など、それら色空間特性(色再現範囲)が異なる場合は色変換が行われる。具体的には、スキャナで読み込んだ画像をモニタに表示する際に、カラーマッチングのために、スキャナRGB色空間からモニタRGB色空間への変換が必要になる。
こうした色変換処理の手法の一構成として、3次元ルックアップテーブル(3D-LUT)と補間演算を組み合わせた色変換手法がある。その補間演算手法として、特許文献1や特許文献2等に開示された四面体補間が補間演算方法として知られている。

しかしながら、上記3D-LUT+補間による色変換方法では、色変換の精度を向上させるために3D-LUTの1軸当たりの格子点数(以下「グリッド数」と記す)を増加させると、LUTの容量は3次元では3乗で増加する。また、色再現性向上の為にRGB以外の色フィルタを追加したデジタルカメラも登場しており、この場合、上記LUTの容量はグリッド数の4乗となり、膨大なメモリ容量が必要となる。
一方、プリンタ等の出力装置においても、色再現性や階調性、粒状性の改善の為、多数の色材(インク)を用いるものがあり、この場合のLUT容量は色材の数に比例して増加する。
そこで、上記LUTのコスト削減の為、LUTを階層化し、低コストではあるものの低速度のストレージ(メモリ)にLUTの全データを格納し、演算に必要な部分のみを高速なキャッシュにロードする色変換方法が検討されている。
しかしながら、このようなキャッシュ機構では、入力データの性質によって、効率が悪い場合があった。例えば、プリンタにおいては入力データとして、文字・線画、写真、グラフィックス等性質の異なるオブジェクトを取り扱う。しかし、文字・線画においては使用される色数はかなり少なく、色の連続性も少ないが、タグのエントリ数が十分にないと、ヒット率が悪く効率が悪い。一方、写真、CG等においては緩やかなグラデーション部が多く、画素間の相関性が高いが、タグのエントリ数が多いと、キャッシュのフィル効率が悪く、データ変換効率が悪い。
特開昭53-123201号公報 特開2000-22973号公報
本発明は、メモリからデータを効率的に読出すことを目的とする。
本発明は、メモリ装置であって、第1のメモリ手段、第2のメモリ手段、入力データに対応するアドレスを生成する生成手段、前記第2のメモリ手段に記憶されているデータに対応するアドレスと、前記生成手段により生成されたアドレスとを比較する比較手段、前記生成手段により生成されたアドレスに対応するデータを、前記第2のメモリ手段から読出す読出し手段、前記比較手段の比較結果に応じて、前記比較手段が比較するアドレスのビット数を決定する決定手段を有し、前記読出し手段は、前記生成手段により生成されたアドレスに対応するデータが前記第2のメモリ手段に記憶されていない場合、対応するデータを、前記第1のメモリ手段から読出すメモリ装置を提供することを目的とする。
また、本発明は、第1および第2メモリを有するメモリ装置におけるメモリ制御方法であって、入力データに対応するアドレスを生成し、前記第2のメモリに記憶されているデータに対応するアドレスと、前記生成されたアドレスとを比較し、前記生成されたアドレスに対応するデータを、前記第2のメモリから読出し、前記比較結果に応じて、前記比較するアドレスのビット数を決定する方法であって、前記読出しステップでは、前記生成されたアドレスに対応するデータが前記第2のメモリに記憶されていない場合、対応するデータを、前記第1のメモリから読出す方法を提供することを目的とする。
また、本発明は、以下の実施形態の説明から明らかになるであろう。
本発明の構成により、メモリからデータを効率的に読出すことができ、処理パフォーマンスを向上させることができる。
以下添付図面を参照して、本発明を好適な実施形態に従って詳細に説明する。
本実施形態に係るデータ処理装置(メモリ装置)は、LUT(ルックアップテーブル)を保持している。そして更に本実施形態に係るデータ処理装置(メモリ装置)は、LUTが保持するデータ(LUTデータ)のうち、入力データに対応するLUTデータを読み出し、読み出したLUTデータについて所定の変換処理(補間処理)を施して外部に出力する。
図1は、本実施形態に係るデータ処理装置(メモリ装置)のハードウェア構成を示すブロック図である。
メモリ102には、LUT199のデータが格納されている。以降では、LUT199に登録されたデータを「LUTデータ」と呼称する。
LUTアドレス生成部103は、外部から入力されたデータ(Input_data)に基づいて、後述するLUTアドレスを生成する。通常、LUTアドレスは、入力されたデータ(Input_data)における各入力軸(例えば、RGB)の上位ビットにて生成される。生成したLUTアドレスは後段のキャッシュ制御部104に送出する。
キャッシュ制御部104は、LUTアドレス生成部103から受けたLUTアドレスで特定されるメモリ102(LUT199)内のアドレスに保持されているデータが、既に、キャッシュ制御部104自身が有するキャッシュメモリ(キャッシュ部11内のデータメモリ4)内に格納されているか否かを判断する。そして格納されていると判断した場合には、格納しているこのデータを後段の補間部105に送出する。
一方、格納されていないと判断した場合には、キャッシュ制御部104は、メモリアドレス生成部101に要求し、入力データに応じてメモリアドレス生成部101にて生成された、メモリ102内のアドレスに保持されているデータを読み出して、後段の補間部105に送出する。キャッシュ制御部104の詳細な動作については後述する。
通常、メモリ102のアドレスはLUTアドレスにメモリ102のベースアドレスを加算することにより簡単に求まる。しかし、17グリッドのLUTのように各軸の格子点数が2のべき乗でない場合は、無駄なメモリ空間を無くすため、メモリアドレスの生成に複雑な演算が必要な場合もある。
補間部105は、キャッシュ制御部104から送出されたデータを、入力データInput_dataの各軸の下位ビットより加重平均し、変換されたデータを得る。
ヒット率判定部106は、キャッシュのヒット率を判定する。ヒット率(ヒット情報)は、キャッシュのタグアドレスとラインアドレスのビット幅の割り当てを変更する為に用いられる。
次に、キャッシュ制御部104について説明する。
図2は、キャッシュ制御部104のハードウェア構成を示すブロック図である。同図に示す如く、キャッシュ制御部104は、キャッシュ部11と制御部12とで構成されている。また、キャッシュ部11は、ビット分割部1、タグメモリ2、比較部3、データメモリ4、マスク部5により構成されている。
先ず、キャッシュ部11について説明する。キャッシュ部11は、ここではダイレクトマッピング方式のキャッシュとして動作する。
ビット分割部1には上述の通り、上記LUTアドレス生成部103により生成されたLUTアドレスが入力される。図2に示す如く、このLUTアドレス(address)は15ビットで表現されるものとする。ビット分割部1は、この15ビットのLUTアドレスを上位アドレス[14:a]と下位アドレス[a−1:0]とに分割する。
図3に示す如く、LUTアドレス[14:0]は上位アドレス[14:a]と下位アドレス[a−1:0]とで構成され、下位アドレス[a−1:0]はタグアドレスとラインアドレスとで構成されている。従って、ビット分割部1は、LUTアドレスを上位アドレス部分と、下位アドレス部分(タグアドレスとラインアドレス)とに分割する。図3は、LUTアドレスの構成例を示す図である。なお、タグアドレスのビット数は、可変である。
通常、アドレスの連続性(データのフィル効率)を考慮し、LUTアドレスの下位アドレスがデータメモリ4のエントリ(アドレス)にマッピングされ、このLUTアドレスの上位アドレス[14:a]がタグメモリ2に格納される。
タグメモリ2は、データメモリ4に格納されているデータに対応するLUTアドレスの上位アドレス[14:a]が格納されている。後述するように、タグメモリ2は、ビット分割部1から受けた上位アドレスを保持する。データメモリ4は、ビット分割部1から受けた下位アドレスと、ビット分割部1に入力されたLUTアドレスで特定されるLUT199内のLUTデータとのセットを保持する。
ここで、タグメモリ2のアドレスのビット幅(タグアドレスが取りうる最大ビット幅)を(a−b)ビット、データメモリ4のアドレスのビット幅をaビットとする。
比較部3は、タグメモリ2から読出された、データメモリ4に記憶されているデータに対応するLUTアドレスの上位アドレス[14:a]と、今回ビット分割部1を介して入力されたLUTアドレスの上位アドレス[14:a]とを比較する。そして、タグメモリ2に蓄積されているLUTアドレスの上位アドレスと、今回ビット分割部1を介して入力されたLUTアドレスの上位アドレスとが一致するか否かを判断する。
その結果、一致すれば、比較部3は、キャッシュにヒットしたと判定し、その旨をヒット率判定部106に通知する。この場合、ヒット率判定部106はヒット率を上げる。そして、データメモリ4が保持するデータのうち、今回ビット分割部1を介して入力されたLUTアドレスの下位アドレス[a−1:0]と対応して格納されているLUTデータをデータメモリ4から読み出す。そして、比較部3は、読み出したこのLUTデータを補間部105に出力すると共に、この判定結果を制御部12に出力する。
一方、比較部3は、一致しなければ、その旨をヒット率判定部106に通知する。この場合、ヒット率判定部106はヒット率を下げる。また、一致しない旨は制御部12にも通知する。制御部12は、この通知を受けると、LUT199が保持するLUTデータのうち、今回のLUTアドレスで特定されるLUTデータをLUT199から読み出す(それをメモリアドレス生成部101に要求する)。そして、読み出したLUTデータ(Fill data)をデータメモリ4に格納すると共に、補間部105に出力する。
なお、読み出したLUTデータをデータメモリ4に格納する際には、今回ビット分割部1に入力されたLUTアドレスの下位アドレス[a−1:0]と対応してデータメモリ4に格納すると共に、マスク部5の出力に対応してこのLUTアドレスの上位アドレス[14:a]をタグメモリ2に格納する。すなわち、タグメモリ2は、データメモリ4に記憶されているデータに対応するアドレスの上位アドレス[14:a]を、当該上位アドレスに続く下位アドレス(タグアドレス)に対応して記憶する。
なお、通常はタグメモリ2に格納されているアドレスが正しいかどうかを示すダーティビットもタグメモリ2に格納されている。例えば、タグメモリ2から読み出したデータ(上位アドレス)とLUTアドレスの上位アドレスとの比較のみでキャッシュのヒットを判定した場合を考える。その場合、データメモリ4に何も格納されていなくとも、タグメモリ2から読み出したデータがたまたま入力されたLUTアドレスと一致してしまうと、比較部3でキャッシュにヒットしたと判定され、無関係なデータが出力されてしまう。
これを防止するため、タグメモリ2にダーティビット(または有効ビット)を設ける。そして、初期化時にダーティビットをセット(有効ビットをリセット)し、正しいデータがデータメモリ4に格納された時に、このアドレスのダーティビットをリセット(有効ビットをセット)するようにする。このダーティビット(有効ビット)をモニタすることで、タグメモリ2に格納されているアドレスが正しいかどうかを判定するのである。なお、現実には存在しない(使用しない)アドレスがある場合は、そのアドレスを初期化時にタグメモリ2に格納することでも、上記誤動作は防止できる。
なお、上記ダーティビット(有効ビット)は、タグの初期化を省略するため、タグとは別のメモリ(またはレジスタ)に構成しても良い。この場合、キャッシュの初期化はダーティビット(有効ビット)の初期化のみでよい。
また、キャッシュのフィル効率を上げるため、通常は所定単位(「ライン」と呼ぶ)でキャッシュのフィルが行われる。このようにフィルを行う場合は、タグメモリ2のエントリ数が削減される(所定単位が16ならb=4となり下位4ビットがタグメモリ2のアドレス入力から削除される)。すなわち、この場合、下位4ビットを除いたアドレスが一致するデータは、全て、データメモリ4に記憶されている。
次に、キャッシュのヒット率に応じて、LUTアドレスの下位アドレスを構成するタグアドレスとラインアドレスのそれぞれのビット幅を制御する為のヒット率判定部106、及びキャッシュ制御部104の動作について説明する。本実施形態では、プレスキャンなしの場合について説明する。
キャッシュ制御部104の動作開始時には、タグアドレスのビット幅を最小の構成にする。つまり、図3に示すように、タグアドレスのビット幅が最小の構成の場合には、タグアドレスのビット幅を(a−c)ビット、ラインアドレスのビット幅をcビットとする。
マスク部5は、ビット分割部1から受けた下位アドレス[a−1:0]のうち、タグメモリ2のアドレスのビット幅である(a−b)の下位(c−b)ビットを0にマスクする。つまり、図4に示すように、タグメモリ2のアドレスは、タグアドレス以外は0になる。このことから、タグメモリ2は図5に示されているように、タグメモリ2のdとeというような部分的な(飛び飛びの)アドレスに上位アドレスを格納する。図4は、マスク部5によるマスク処理を説明する図である。図5は、タグメモリ2のメモリマップを示す図である。マスク部5は、LUTアドレスのうちの、タグメモリのアドレス(第1の所定ビット位置から第2の所定ビット位置までの範囲[a−1:b])において、比較するアドレス(タグアドレス)以外をマスクする。
ヒット率判定部106は、キャッシュのヒット率を監視しており、ヒット率が下がることで平均サイクル数が所定値以下になった場合、その旨をキャッシュ制御部104の制御部12に通知し、タグアドレスのビット幅を増加させる。例えば、キャッシュのフィルにかかるサイクル数をF、ヒット率をH、平均サイクル数の閾値をThとすると
F×(1−H)+1×H≦Th (式1)
を満たさない場合、タグアドレスのビット幅を増やす。例えば、平均サイクル数を4以下に設定したい場合、Th=4となり、このときのキャッシュのフィルにかかるサイクル数Fを50とすると上記(式1)は
H≧(50−4)/(50−1)=0.938775・・
となり、ヒット率が約93.9%以上必要なことが分かる。なお、上記ヒット率の算出にはダーティビットがセットされているアドレスは含まないものとする。これは、初期状態ではキャッシュにデータが格納されていないため、ダーティビットがセットされているアドレスもカウントしてしまうとヒット率が低くなってしまうためである。また、本実施例では、局所的な変動要因の切換タイミングを考慮し、ある程度の画素数の変換が終わった後、所定画素数単位でビット幅の切換の判定を行う。
ここで、ヒット率が上記(式1)を満たさなかった場合には、図6に示すように、タグアドレスのビット幅を(a−c+1)ビット、ラインアドレスのビット幅を(c−1)ビットにする。図6は、タグアドレスのビット幅を変更した後のLUTアドレスの構成例を示す図である。
つまり、マスク部5は、タグメモリ2のアドレスのビット幅である(a−b)ビットの下位(c−b−1)ビットを0にマスクする。このことから、タグアドレスは1ビット増えるので、タグメモリ2に格納できるアドレス(エントリ)が増えて、図7に示すように、f、gというアドレスに上位アドレスを格納することができる。図7は、タグアドレスのビット幅を変更した後のLUTアドレスに対するタグメモリ2のメモリマップを示す図である。
ただし、1ビット増やした時のf、gのタグアドレス(エントリ)に対応するデータは無効である。従って、増やしたビットが1であるタグアドレス(エントリ)のダーティビットをセットする必要がある。もしくは、増やしたビット以外のアドレスが一致するアドレスで、増やしたビットが0であるタグアドレス(エントリ)に格納されている上位アドレスを、増やしたビットが1であるタグアドレス(エントリ)にコピーして、増やしたビットが1となるタグアドレス(エントリ)のダーティビットをリセットする必要がある。なお、初期状態ではダーティビットがセットされているので、そのままでも誤動作はしない。例えば、図7の例では、dに格納されているデータをf、eに格納されているデータをgにコピーして、f、gのダーティビットをリセットする。
このようにして、ヒット率が上記(式1)を満たすまで、タグアドレスのビット幅を増やしていく。ただし、図8に示すように、タグアドレスの入力ビット幅が(a−b)ビット、ラインアドレスのビット幅がbビットになったら、タグアドレスのビット幅が最大の構成になる。従って、このような場合には、上記(式1)が満たされなくても、タグアドレス、ラインアドレスの割り当ては変更しない。
このようにして、ヒット率が設定した閾値を超えるまで、タグアドレスのビット幅を増やし続け、ラインアドレスのビット幅を減らし続ける。このような操作を行うことにより、キャッシュのリフィル効率を含めたデータ変換処理全体の改善することができる。
なお、先述のように、キャッシュのリフィル単位は、ライン単位である。すなわち、キャッシュがミスヒットした場合、上位アドレス[14:a]とタグアドレスが共通するデータを、メモリ102(LUT199)から読出し、タグアドレスとラインアドレスに対応させて、データメモリ4に格納する。
図9は、LUTアドレス生成部103により1つのLUTアドレスを生成した際に、キャッシュ制御部104、及びヒット率判定部106が行う処理のフローチャートである。
先ず、LUTアドレス生成部103は、入力データに対応するLUTアドレス[14:0]を生成する(ステップS901)。次に、ビット分割部1は、LUTアドレス生成部103により生成されたLUTアドレスを上位アドレス[14:a]と下位アドレス[a−1:0]とに分割する(ステップS902)。
マスク部5は、ビット分割部1から出力されたLUTアドレスの下位アドレス[a−1:b]の下位所定ビット数分(タグアドレス以外のビット)をマスクし出力する。タグメモリ2は、マスク部5の出力により指定されるアドレスのデータを出力する。比較部3は、今回ビット分割部1を介して入力されたLUTアドレスの上位アドレス[14:a]とタグメモリ2から出力されたデータが一致するか否かをチェックする(ステップS903)。
すなわち、比較部3は、データメモリ4に記憶されているデータに対応するアドレスと、LUTアドレス生成部103により生成されたアドレスとを比較する。ここで、タグメモリ2からは、入力されたタグアドレスに記憶されている上位アドレスが読出されるので、比較部3は、結果的には、LUTアドレスのうち、上位アドレスとタグアドレスが一致するデータが、データメモリ4に記憶されているか、判断している。
その結果、一致しなければ、比較部3は、キャッシュにヒットしていないと判定し、処理をステップS904に進める。そして、制御部12は、LUT199が保持するLUTデータのうち、今回メモリアドレス生成部101により生成されたメモリアドレスで特定されるLUTデータをLUT199から読み出す(それをメモリアドレス生成部101に要求する)。そして、読み出したLUTデータをデータメモリ4に格納する。
なお、読み出したLUTデータをデータメモリ4に格納する際には、今回ビット分割部1から入力されたLUTアドレスの下位アドレス[a−1:0]と対応させてデータメモリ4に格納する。それと共に、マスク部5の出力と対応させて、このLUTアドレスの上位アドレス[14:a]をタグメモリ2に格納する。そして、LUT199から読み出したLUTデータを補間部105に出力する(ステップS905)。前記比較部3は、LUTアドレスに対応するデータがデータメモリ4に記憶されていない場合、対応するデータを、メモリ102(LUT199)から読出し、補間部105に出力する。
一方、比較部3は、一致すれば、キャッシュにヒットしたと判定し、処理をステップS906に進める。そして、データメモリ4が保持するデータのうち、今回新たにビット分割部1を介して入力されたLUTアドレスの下位アドレス[a−1:0]に対応して格納されているLUTデータを読み出し、読み出したこのLUTデータを補間部105に出力する。すなわち、比較部3は、LUTアドレスに対応するデータを、データメモリ4から読出し、補間部105に出力する。
なお、一致するものがある/ないの何れの場合にも、その旨はヒット率判定部106に通知され、ヒット率判定部106は、ヒット率を求める。
次に、ヒット率判定部106は、キャッシュのヒット率を取得する(ステップS907)。そして、ヒット率が所定値以下になった場合、制御部12は、タグアドレスのビット幅を増加させることで、タグアドレスとラインアドレスのビット幅を決定する(ステップS909)。すなわち、制御部12は、比較部3の比較結果に応じて、比較部3が比較するアドレスのビット数を決定する。なお、比較部3が比較するのは、上位アドレス[14:a]とタグアドレスの両方について、比較を行う。
ここで決定したビット幅は、マスク部5にも通知され、タグアドレスにおいてマスク部分を決定する際にも用いられる。
以上、プレスキャンを行わないものとして説明した。プレスキャン有り(または同一画像の変換)の場合は、プレスキャン時にタグアドレスのビット幅、ラインアドレスのビット幅を決定する。そして、タグアドレスとラインアドレスのビット幅を確定した後、本スキャンの処理を行う。
なお、本実施形態では、タグが最小エントリ数の時のラインに格納されるデータは、LUT空間上で連続するデータが格納されるようになっていることが望ましい。また、データメモリ4の容量は一定なので、データメモリ4のアドレス入力は上記タグアドレスのビット幅が変動しても変わらない。
従って、タグメモリ2へ格納されるLUTアドレスの上位アドレスのビット幅も変わらない。
なお、マスクされているタグメモリアドレスの上位ビットの変化の頻度が所定値以下となった場合は、タグアドレスのビット幅を減らすようにしても良い。なお、減らしたビットが1となるタグアドレスに格納されているLUTアドレスの上位アドレスと、減らしたビットが0となるタグアドレスに格納されているLUTアドレスの上位アドレスとが異なる場合、次の処理が必要となる。即ち、減らしたビットが0となるタグアドレスのダーティビットをセットする必要がある。
なお、ここで説明したキャッシュ構成に拠らず、公知のキャッシュ構成(例えば2ウエイ・セット・アソシアティブ方式等)を用いても上記実施形態が成立することは自明である。
以上、本発明を好ましい実施形態に基づいて説明したが、本発明は、上記実施形態に限定されるものではなく、クレームの範囲内において、種々の変形が可能である。
本発明の第1の実施形態に係るデータ処理装置のハードウェア構成を示すブロック図である。 キャッシュ制御部104のハードウェア構成を示すブロック図である。 LUTアドレスの構成例を示す図である。 マスク部5によるマスク処理を説明する図である。 タグメモリ2のメモリマップを示す図である。 タグアドレスのビット幅を変更した後のLUTアドレスの構成例を示す図である。 タグアドレスのビット幅を変更した後のLUTアドレスに対するタグメモリ2のメモリマップを示す図である。 タグアドレスのビット幅変更処理の終了条件を説明する図である。 LUTアドレス生成部103により1つのLUTアドレスを生成した際に、キャッシュ制御部104、及びヒット率判定部106が行う処理のフローチャートである。

Claims (12)

  1. メモリ装置であって、
    第1のメモリ手段と、
    第2のメモリ手段と、
    入力データに対応するアドレスを生成する生成手段と、
    前記第2のメモリ手段に記憶されているデータに対応するアドレスと、前記生成手段により生成されたアドレスとを比較する比較手段と、
    前記生成手段により生成されたアドレスに対応するデータを、前記第2のメモリ手段から読み出す読み出し手段と、
    前記比較手段による比較結果に応じて、前記比較手段が比較するアドレスのビット数を決定する決定手段とを備え、
    前記読み出し手段は、前記生成手段により生成されたアドレスに対応するデータが前記第2のメモリ手段に記憶されていない場合、対応するデータを前記第1のメモリ手段から読み出すことを特徴とするメモリ装置。
  2. 前記比較手段は、前記第2のメモリ手段に記憶されているデータに対応するアドレスと、前記生成手段により生成されたアドレスの上位アドレスとを比較することを特徴とする請求項1に記載のメモリ装置。
  3. 前記比較手段は、前記第2のメモリ手段に記憶されているデータに対応するアドレスの上位アドレスを、当該上位アドレスに続く下位アドレスに対応して記憶する第3の記憶手段を有することを特徴とする請求項1に記載のメモリ装置。
  4. 前記比較手段は、前記生成手段により生成されたアドレスのうちの、第1の所定ビット位置から第2の所定ビット位置までの範囲において、比較するアドレス以外をマスクするマスク手段を有することを特徴とする請求項3に記載のメモリ装置。
  5. 前記決定手段は、前記比較手段による比較結果の比率に応じて、前記比較手段が比較するアドレスのビット数を決定することを特徴とする請求項1に記載のメモリ装置。
  6. 前記決定手段は、前記比較手段が比較するアドレスの下位ビット数を決定することを特徴とする請求項1に記載のメモリ装置。
  7. 第1および第2メモリを有するメモリ装置のメモリ制御方法であって、
    入力データに対応するアドレスを生成する生成工程と、
    前記第2のメモリに記憶されているデータに対応するアドレスと、前記生成されたアドレスとを比較する比較工程と、
    前記生成されたアドレスに対応するデータを、前記第2のメモリから読み出す読み出し工程と、
    前記比較結果に応じて、前記比較するアドレスのビット数を決定する決定工程とを備え、
    前記読み出し工程では、前記生成されたアドレスに対応するデータが前記第2のメモリに記憶されていない場合、対応するデータを前記第1のメモリから読み出すことを特徴とするメモリ装置のメモリ制御方法。
  8. 前記比較工程では、前記第2のメモリに記憶されているデータに対応するアドレスと、前記生成されたアドレスの上位アドレスとを比較することを特徴とする請求項7に記載のメモリ制御方法。
  9. 前記比較工程では、前記第2のメモリに記憶されているデータに対応するアドレスの上位アドレスを、当該上位アドレスに続く下位アドレスに対応して第3のメモリに記憶する工程を備えることを特徴とする請求項7に記載のメモリ制御方法。
  10. 前記比較工程では、前記生成されたアドレスのうちの、第1の所定ビット位置から第2の所定ビット位置までの範囲において、比較するアドレス以外をマスクするマスク工程を備えることを特徴とする請求項9に記載のメモリ制御方法。
  11. 前記決定工程では、前記比較結果の比率に応じて、前記比較するアドレスのビット数を決定することを特徴とする請求項7に記載のメモリ制御方法。
  12. 前記決定工程では、前記比較するアドレスの下位ビット数を決定することを特徴とする請求項7に記載のメモリ制御方法。
JP2006203742A 2005-08-23 2006-07-26 メモリ装置、およびメモリ制御方法 Pending JP2007087372A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006203742A JP2007087372A (ja) 2005-08-23 2006-07-26 メモリ装置、およびメモリ制御方法

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2005241557 2005-08-23
JP2006203742A JP2007087372A (ja) 2005-08-23 2006-07-26 メモリ装置、およびメモリ制御方法

Publications (2)

Publication Number Publication Date
JP2007087372A true JP2007087372A (ja) 2007-04-05
JP2007087372A5 JP2007087372A5 (ja) 2009-10-22

Family

ID=37974261

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006203742A Pending JP2007087372A (ja) 2005-08-23 2006-07-26 メモリ装置、およびメモリ制御方法

Country Status (1)

Country Link
JP (1) JP2007087372A (ja)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0512127A (ja) * 1991-06-28 1993-01-22 Nippon Steel Corp キヤツシユメモリ制御装置
JPH0540694A (ja) * 1991-08-02 1993-02-19 Mitsubishi Electric Corp キヤツシユメモリ装置
JPH07319771A (ja) * 1994-05-27 1995-12-08 Fujitsu Ltd ディスク制御装置
JP2001216193A (ja) * 2000-01-31 2001-08-10 Nec Corp キャッシュ機構およびキャッシュ機構の動作制御方法
JP2002163150A (ja) * 2000-11-28 2002-06-07 Toshiba Corp プロセッサ
WO2004061675A1 (en) * 2002-12-17 2004-07-22 International Business Machines Corporation Selectively changeable line width memory

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0512127A (ja) * 1991-06-28 1993-01-22 Nippon Steel Corp キヤツシユメモリ制御装置
JPH0540694A (ja) * 1991-08-02 1993-02-19 Mitsubishi Electric Corp キヤツシユメモリ装置
JPH07319771A (ja) * 1994-05-27 1995-12-08 Fujitsu Ltd ディスク制御装置
JP2001216193A (ja) * 2000-01-31 2001-08-10 Nec Corp キャッシュ機構およびキャッシュ機構の動作制御方法
JP2002163150A (ja) * 2000-11-28 2002-06-07 Toshiba Corp プロセッサ
WO2004061675A1 (en) * 2002-12-17 2004-07-22 International Business Machines Corporation Selectively changeable line width memory

Similar Documents

Publication Publication Date Title
JP2500837B2 (ja) 画素値量子化方法
US7616210B2 (en) Memory apparatus and memory control method
US5563985A (en) Image processing method to reduce marking material coverage in printing processes
JP2007158968A (ja) 情報処理装置及び情報処理方法
JP3962642B2 (ja) 画像処理装置およびその方法
JP2007049710A (ja) 色を変換する方法及び色を変換するシステム
JP2007049711A (ja) 色を変換する方法及び色を変換するシステム
US6081340A (en) Image processing method to reduce marking material coverage with non-linear specifications
US5835238A (en) Phantom level edge enhanced error diffusion
JPH11187264A (ja) 画像処理方法および装置
US20020122207A1 (en) Fast Interpolation of large color lookup tables
JP2000188684A (ja) 画像処理装置
JP2006279395A (ja) 画像処理装置及び画像処理方法
JP5854066B2 (ja) 色処理装置、画像形成装置およびプログラム
JP2004230672A (ja) 画像処理方法
US20080013785A1 (en) Method and device for processing image
JP6729743B2 (ja) カラーマネージメントマッピングを実行するシステム
US20070047035A1 (en) Normalization method, and multi-dimensional interpolation method and apparatus
JP6635158B2 (ja) 色強制パラメータ変換を実行する機構
JP2007087372A (ja) メモリ装置、およびメモリ制御方法
JP2008113364A (ja) 画像処理回路、プログラム、画像処理方法及び画像処理装置
JP2007312033A (ja) 画像処理装置及び画像処理方法
US20070052982A1 (en) Color image forming apparatus and image forming method
JP2004096751A (ja) 色空間変換
JP2008123060A (ja) データ変換装置及びその制御方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090723

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090903

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120127

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120203

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120329

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20120608