JP2007158968A - 情報処理装置及び情報処理方法 - Google Patents
情報処理装置及び情報処理方法 Download PDFInfo
- Publication number
- JP2007158968A JP2007158968A JP2005353986A JP2005353986A JP2007158968A JP 2007158968 A JP2007158968 A JP 2007158968A JP 2005353986 A JP2005353986 A JP 2005353986A JP 2005353986 A JP2005353986 A JP 2005353986A JP 2007158968 A JP2007158968 A JP 2007158968A
- Authority
- JP
- Japan
- Prior art keywords
- address
- cache
- lut
- information processing
- bit
- 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.)
- Withdrawn
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0893—Caches characterised by their organisation or structure
- G06F12/0895—Caches characterised by their organisation or structure of parts of caches, e.g. directory or tag array
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Facsimile Image Signal Circuits (AREA)
- Image Processing (AREA)
- Color Image Communication Systems (AREA)
Abstract
【課題】 キャッシュ機構を用いた色空間変換において、ヒット率を維持しつつ、キャッシュ容量を小さくすることで、色空間変換のコストパフォーマンスの向上を図る。
【解決手段】 入力されるデータの色空間を変換する情報処理装置であって、LUTを保持するメモリと、メモリに保持されたLUTに含まれるデータの一部を、キャッシュ値としてキャッシュメモリと、キャッシュメモリに保持されたデータにアクセスするためのアドレスを、順次生成するLUTアドレス生成部301と、生成されたアドレスの特性を検出するビット順決定部303と、キャッシュメモリに一時保持されたキャッシュ値のヒット率が所定値未満となった場合に、LUTアドレス生成部301において生成されたアドレスを構成する各ビットの並び順序を、アドレスの特性に応じて変更するビット順変換部304と、を備える。
【選択図】 図3
【解決手段】 入力されるデータの色空間を変換する情報処理装置であって、LUTを保持するメモリと、メモリに保持されたLUTに含まれるデータの一部を、キャッシュ値としてキャッシュメモリと、キャッシュメモリに保持されたデータにアクセスするためのアドレスを、順次生成するLUTアドレス生成部301と、生成されたアドレスの特性を検出するビット順決定部303と、キャッシュメモリに一時保持されたキャッシュ値のヒット率が所定値未満となった場合に、LUTアドレス生成部301において生成されたアドレスを構成する各ビットの並び順序を、アドレスの特性に応じて変更するビット順変換部304と、を備える。
【選択図】 図3
Description
本発明は、画像データの色空間変換におけるデータ処理技術に関するものである。
近年、入力機器として、スキャナ、デジタルカメラ、ビデオカメラなどのカラー入力機器が普及している。一方、出力機器として、インクジェット方式、染料熱昇華型あるいは電子写真方式のカラープリンタ等の各種カラー出力機器が普及している。これらのカラー入出力機器は、それぞれ固有の色空間(デバイス色空間)を有しており、入力機器で読み取ったデータを出力機器にて印刷するには、入力機器の色空間を出力機器の色空間に変換する処理(“色空間変換”と呼ぶ)が必要となる。
例えば、スキャナで読み取ったRGB画像データを印刷する場合、まず、スキャナのRGB色空間から標準RGB色空間(例えばAdobeRGB)に変換する。その後、プリンタの色材(インクまたはトナー)の色空間であるシアン、マゼンタ、イエローおよびブラックで構成されるCMYK色空間への変換が行われる。
また、同じRGB色空間においても、例えばスキャナのRGB色空間とモニタのRGB色空間とでは、色空間特性(色再現範囲)が異なっており、その場合にも色空間変換が行われる。具体的には、スキャナで読み込んだ画像をモニタに表示する際に、カラーマッチングのために、スキャナRGB色空間からモニタRGB色空間への変換が必要になる。
こうした色空間変換の手法として、三次元ルックアップテーブル(3D−LUT)と補間演算とを組み合わせた手法がある。更に、その補間演算手法として、演算量及び隣接する直方体間での色の連続性、グレー軸の再現特性の良好さから、特開昭53−123201号公報や特開2000−22973号公報などに開示された四面体補間が優れた手法として知られている。
しかしながら、上述のようにLUTと補間演算とを組み合わせる色空間変換手法の場合、色変換の精度を向上させるため、LUTの1軸当たりの格子点数(以下「グリッド数」と記す)を増加させると、LUTの容量は3次元では3乗で増加することとなる。また、色再現性向上の為、RGB以外の色フィルタを追加したデジタルカメラも登場してきており、この場合、上記LUTの容量はグリッド数の4乗となり、膨大なメモリ容量が必要となる。
また、カラープリンタ等の出力機器においても、色再現性や階調性、粒状性の向上の為、多数の色材(インク)を用いるものがあり、この場合、LUTの容量は色材の数に比例して増加することとなる。
このため、これまでLUTのコストを削減するための種々の提案がなされてきた。例えば、LUTを階層化し、LUTの全格子点データを低コストだが低速度のストレージ(メモリ)に格納する一方、演算に必要な部分のみ高速なキャッシュにロードして、コストパフォーマンスを満足する色空間変換手法が提案されている。
特開昭53−123201号公報
特開2000−22973号公報
しかしながら、上記キャッシュ機構では、キャッシュのヒット率が全体のパフォーマンスを決定しており、あらゆる入力データに対しても、所定の時間内に処理を終了させるためには、キャッシュ容量を大きめに確保しておく必要があった。このためコストパフォーマンスが十分でないという問題があった。
本発明は、上記課題に鑑みてなされたものであり、ヒット率を維持しつつ、キャッシュ容量を小さくすることで、色空間変換におけるコストパフォーマンスの向上を図る。
上記の目的を達成するために本発明に係る情報処理装置は以下のような構成を備える。即ち、
入力されるデータの色空間を変換する情報処理装置であって、
色空間変換に用いられるLUTを保持する保持手段と、
前記保持手段に保持されたLUTに含まれるデータの一部を、キャッシュ値として一時保持するキャッシュ保持手段と、
前記キャッシュ保持手段に保持されたデータにアクセスするためのアドレスを、前記入力されるデータに対応して、順次生成するアドレス生成手段と、
前記アドレス生成手段において生成されたアドレスの特性を検出する検出手段と、
前記キャッシュ保持手段に一時保持されたキャッシュ値のヒット率が予め定められた値未満となった場合に、前記アドレス生成手段において生成されたアドレスを構成する各ビットの並び順序を、前記アドレスの特性に応じて変更する変更手段と、を備え、
前記ヒット率が予め定められた値未満となった後は、前記変更手段により変更されたアドレスにて前記キャッシュ保持手段に保持されたデータにアクセスすることで、前記入力されるデータの色空間を変換することを特徴とする。
入力されるデータの色空間を変換する情報処理装置であって、
色空間変換に用いられるLUTを保持する保持手段と、
前記保持手段に保持されたLUTに含まれるデータの一部を、キャッシュ値として一時保持するキャッシュ保持手段と、
前記キャッシュ保持手段に保持されたデータにアクセスするためのアドレスを、前記入力されるデータに対応して、順次生成するアドレス生成手段と、
前記アドレス生成手段において生成されたアドレスの特性を検出する検出手段と、
前記キャッシュ保持手段に一時保持されたキャッシュ値のヒット率が予め定められた値未満となった場合に、前記アドレス生成手段において生成されたアドレスを構成する各ビットの並び順序を、前記アドレスの特性に応じて変更する変更手段と、を備え、
前記ヒット率が予め定められた値未満となった後は、前記変更手段により変更されたアドレスにて前記キャッシュ保持手段に保持されたデータにアクセスすることで、前記入力されるデータの色空間を変換することを特徴とする。
本発明によれば、ヒット率を維持しつつ、キャッシュ容量を小さくさせることが可能となり、色空間変換におけるコストパフォーマンスが向上する。
以下、必要に応じて添付図面を参照しながら本発明の各実施形態を詳細に説明する。
[第1の実施形態]
1.情報処理装置のハードウェア構成
図1は、本発明の第1の実施形態にかかる情報処理装置のハードウェア構成を示す図である。
1.情報処理装置のハードウェア構成
図1は、本発明の第1の実施形態にかかる情報処理装置のハードウェア構成を示す図である。
図1において、101はメモリ(ROM)、102はCPU、103はメモリ(RAM)、104は入力装置、105は出力装置、106は外部記憶装置、107はバスである。本実施形態にかかる情報処理機能を実現するための制御プログラムやその制御プログラムで用いるデータは、ROM101に記憶される。これらの制御プログラムやデータは、CPU102の制御のもと、バス107を通じて適宜メモリ103に取り込まれ、CPU102によって実行される。なお、CPU102には、キャッシュメモリ109が備えられており、後述する色空間変換の処理速度の高速化を実現している。
入力装置104は、各種情報を入力するための装置である。なお、各種情報には、ユーザの指示を入力するためのキーボードやマウス等からの入力信号のほか、スキャナ、デジタルカメラ、ビデオカメラ等のカラー入力機器からの画像データ(入力データ)が含まれるものとする。
また、出力装置105は、色空間変換された画像データ(出力データ)を出力するための装置であり、出力装置105を介して出力される出力先としては、カラープリンタやモニタ等のカラー出力機器が含まれるものとする。
2.情報処理装置の機能構成
図1に示す情報処理装置において、108に示す各部により実現される情報処理機能についての機能ブロックを図2に示す。同機能ブロックにより実現される情報処理機能としては、色空間変換機能と、LUTアドレス変換機能とがあり、それぞれの機能を実現するための各機能ブロックの動作について以下に説明する。
図1に示す情報処理装置において、108に示す各部により実現される情報処理機能についての機能ブロックを図2に示す。同機能ブロックにより実現される情報処理機能としては、色空間変換機能と、LUTアドレス変換機能とがあり、それぞれの機能を実現するための各機能ブロックの動作について以下に説明する。
図2において、201はメモリアドレス生成部であり、色空間変換の際、メモリ202にアクセスするためのアドレス(メモリアドレス)を生成する。なお、メモリ202へのアクセスは、キャッシュ部204に所望の格子点データが格納されていない場合において、キャッシュ部204からのリクエスト信号を受信した場合に実行される。
202はメモリ部(図1のRAM103に対応)であり、LUTの全格子点データが格納されている。
203はLUTアドレス変換部であり、色空間変換の際、入力データに基づいて、キャッシュ部204にアクセスするためのアドレス(LUTアドレス)を生成する。また、LUTアドレス変換処理(後述)の際、キャッシュ部204に出力されるdirty制御信号を生成する。
204はキャッシュ部(図1のキャッシュメモリ109に対応)であり、色空間変換の際、LUTアドレスの上位ビット(アドレスのタグ)と、下位ビット(インデックス)とに基づいて、対応するキャッシュデータ(格子点データ)を選択する。
具体的には、アドレスタグとキャッシュのタグとを比較し、すでにキャッシュ部204内に格子点データが格納されているか否かを判断する。つまり、キャッシュ部204内に格子点データが格納されているか否かは、LUTアドレスの上位ビット(アドレスのタグ)と一致するキャッシュのタグの有無により判断する。キャッシュ部204内に格子点データが格納されていると判断した場合には、キャッシュ部204に格納されている格子点データを出力する。
一方、キャッシュ部204内に格子点データが格納されていないと判断した場合には、メモリアドレス生成部201にて生成されるメモリアドレスにてメモリ部202をアクセスするよう、メモリアドレス生成部201に対して、リクエスト信号を出力する。
また、リクエスト信号に対応してメモリ部202より出力された格子点データを読み取り、アドレスタグと共にキャッシュ部204内にキャッシュデータとして格納する。この場合、キャッシュ部204からは、メモリ部202より読み取った格子点データが出力される。
なお、通常、メモリ部202のアドレスはLUTアドレスにメモリ部204のベースアドレスを加算することによりメモリアドレス生成部201にて簡単に求まる。しかし、17グリッドのLUTのように各入力軸の格子点数が2のべき乗でない場合は、無駄なメモリ空間を無くすべく、メモリアドレスの生成に複雑な演算が必要となる場合もある。
205は補間部であり、色空間変換の際、上記キャッシュ部204より出力された格子点データを各入力軸の下位ビットより加重平均し、変換されたデータを出力データとして出力する。
206はヒット率判定部であり、色空間変換の際、キャッシュ部204におけるヒット率を算出する。算出されたヒット率は、LUTアドレス変換部203にてビット並びを変更するLUTアドレス変換処理を行う際に参照される。
3.LUTアドレス変換部203の機能構成
図2の機能ブロックに含まれるLUTアドレス変換部203の詳細な機能構成について図3を用いて説明する。
図2の機能ブロックに含まれるLUTアドレス変換部203の詳細な機能構成について図3を用いて説明する。
上記LUTアドレス変換部203は、LUTアドレス生成部301、LUTアドレス比較部302、ビット順決定部303、ビット順変換部304とを備える。また、ビット順決定部303は、更にビット毎の変化頻度カウンタ311とアドレス変換信号生成部312とを備える。
LUTアドレス生成部301は、色空間変換の際に、入力データに基づいてLUTアドレスを生成する。
ビット順変換部304は、後述するビット順決定部303よりアドレス変換信号を受信した場合に、LUTアドレス生成部301にて生成されたLUTアドレスのビット順序を変換したうえで、LUTアドレスを出力する。一方、アドレス変換信号を受信しなかった場合には、LUTアドレス生成部301にて生成されたLUTアドレスを出力する。なお、本実施形態では、LUTアドレスはビット順変換部301より15ビット単位で順次出力されるよう制御されているものとする。
また、ビット順変換部304では、アドレス変換信号を受信した際に、後述する変化頻度カウンタ311をリセットすべく、変化頻度カウンタ311に対して初期化信号を出力する。更に、キャッシュ部204に対してキャッシュのタグを無効化すべくdirty制御信号を出力する。
LUTアドレス比較部302は、今回ビット順変換部304より出力されたLUTアドレス(15ビット)と、前回ビット順変換部304より出力されたLUTアドレス(15ビット)とをビット単位で比較する。なお、前回ビット順変換部304より出力されたLUTアドレスは、LUTアドレス比較部302内のアドレス格納レジスタに格納されているものとする。ビット単位での比較の結果、LUTアドレスが一致していたビットについては、‘0’を出力し、一致していなかったビットについては、‘1’を出力する。
ビット順決定部303は、ビット毎の変化頻度カウンタ311を備え、LUTアドレス比較部302より出力されたビット毎の比較結果(‘0’または‘1’)をカウントする。これにより、LUTアドレス生成部301において生成されるLUTアドレスの特性(変化頻度の大きいビット)を検出することができる。カウント結果は、ビット順決定部303内のアドレス変換信号生成部312に入力される。
アドレス変換信号生成部312は、ヒット率判定部206において算出されたヒット率を監視し、所定のヒット率未満になったと判定された場合に、変化頻度カウンタ311のカウント結果をソートする。そして、カウント数が大きい上位の所定数ビット(当該数は、上記インデックスのビット数に依存する)を選択し、当該ビット位置を示すビット番号をアドレス変換信号として出力する。
4.情報処理装置における処理の流れ
4.1 色空間変換処理の流れ
本実施形態にかかる情報処理装置における色空間変換の流れについて図4を用いて説明する。
4.1 色空間変換処理の流れ
本実施形態にかかる情報処理装置における色空間変換の流れについて図4を用いて説明する。
ステップS401では、入力装置104を介して色空間変換の対象となる入力データが入力される。ステップS402では、LUTアドレス生成部301にて、当該入力データに基づいてLUTアドレスが生成される。
ステップS403では、当該LUTアドレスに基づいて、キャッシュ部140がアクセスされ、キャッシュ部204より、対応する格子点データが取得される。
ステップS404では、15ビットのLUTアドレスについてキャッシュ部204から対応する格子点データを取得することができたか否かを判定する。ステップS404において、キャッシュ部204から対応する格子点データを取得することができたと判定された場合には、ステップS406に進む。
一方、ステップS404において、キャッシュ部204から対応する格子点データを取得することができなかったと判定された場合には、ステップS405に進む。ステップS405では、LUTアドレスに対応する格子点データをメモリ部202から取得すべく、メモリアドレス生成部201にリクエスト信号を送信する。リクエスト信号を受信したメモリアドレス生成部201では、取得することができなかった格子点データが格納されたメモリアドレスを生成し、メモリ部202にアクセスする。なお、上述のようにメモリ部202のアドレスは、LUTアドレスにメモリ部204のベースアドレスを加算することにより求まる。
メモリ部202では、当該メモリアドレスに格納された格子点データをキャッシュ部204に送信する。これにより、キャッシュ部204では、ステップS403にて取得できなかった格子点データをメモリ部202より取得することができるとともに、当該格子点データをキャッシュデータとしてキャッシュ部204に格納することができる。
ステップS406では、キャッシュ部204にて取得された格子点データを補間部205に送信する。補間部205では、所定の補間演算を実行する。
ステップS407では、補間演算がなされた格子点データを出力データとして出力する。更にステップS408では、ヒット率を算出する。上述のように本実施形態では、LUTアドレスがキャッシュ部204に入力され、キャッシュ部204内に対応する格子点データがない場合には、リクエスト信号が出力される。したがって、ヒット率判定部206では、当該リクエスト信号を監視することで、ヒット率を算出することができる。
ステップS409では、LUTアドレス変換処理を行う。なお、LUTアドレス変換処理の詳細は、以下に説明する。
4.2 LUTアドレス変換処理の流れ
本実施形態にかかる情報処理装置におけるLUTアドレス変換処理(ステップS409)の流れについて図5を用いて説明する。
本実施形態にかかる情報処理装置におけるLUTアドレス変換処理(ステップS409)の流れについて図5を用いて説明する。
ステップS501では、今回生成された15ビット分のLUTアドレスと、前回生成された15ビット分のLUTアドレスとをLUTアドレス比較部302にてビット単位で比較する。比較処理が終わると、今回生成された15ビット分のLUTアドレスは、アドレス格納レジスタに格納され、次回LUTアドレス15ビット分が生成された際、前回のLUTアドレス15ビット分として、比較処理に用いられる。
ステップS502では、比較処理の結果、対応するビットが一致していた場合には、当該ビットについて、‘0’を変化頻度カウンタ311に入力する。一方、比較処理の結果、対応するビットが一致していなかった場合には、当該ビットについて、‘1’を変化頻度カウンタ311に入力する。これにより、対応するビットが一致していなかった場合には、変化頻度カウンタ311の対応するビットがインクリメントされることとなる。
ステップS504では、今回の15ビット分のLUTアドレスについての色空間変換がなされた時点でのヒット率(図4のステップS408において算出)を参照する。ヒット率が所定値以上あった場合には、LUTアドレス変換処理を終了する。
一方、ヒット率が所定値未満であると判定された場合には、ステップS505に進み、アドレス変換信号生成部312にて、変化頻度カウンタのカウント数の大きい上位ビットのビット番号をアドレス変換信号として出力する。
アドレス変換信号生成部312より出力されたアドレス変換信号は、ビット順変換部304に入力される。ステップS506では、ビット順変換部304にて、次回、色空間変換を行う15ビット分のLUTアドレスについてビット順序を入れ替える。具体的には、アドレス変換信号が示すビット位置のビット(変化頻度の大きいビット)にてインデックスを生成し、残りのビットにてタグを生成する。つまり、アドレス変換信号が示すビット位置のビットは、下位ビットに、残りのビットは上位ビットへと入れ替えられる。なお、このとき、タグとインデックスの振り分けが重要であり、タグの中あるいはインデックスの中でのビット順序は任意でかまわない。
更に、ステップS507では、ビット順変換部304より変化頻度カウンタ311に対して初期化信号が出力され、変化頻度カウンタ311では、当該初期化信号を受けて、変化頻度カウンタを初期化する。
更に、ステップS508では、ビット順変換部304よりキャッシュ部204に対してdirty制御信号を出力する。dirty制御信号を受信したキャッシュ部204では、キャッシュ内のタグを無効化する。これは、LUTアドレスが変換されてしまったため、タグメモリに格納されている上位アドレスと対応しなくなるためである。
以上のように、本実施形態に係る情報処理装置では、ヒット率が所定値未満であると判定された場合に、変化頻度カウンタのカウント数の大きいビット位置のビットが、LUTアドレスの下位ビットにくるようにビット順序を入れ替える。
これにより、ヒット率の向上を図ることができる。これは、そもそもキャッシュ部がタグとインデックスとの階層的な構成となっており、LUTアドレスのタグ(上位ビット)に該当するキャッシュ部のタグが存在しなかった場合に、キャッシュデータがないものと判断するという特性に基づくものである。
つまり、キャッシュ部204からみた場合、LUTアドレスは、変化頻度の高いビットが下位ビット(LUTのインデックス)に、変化頻度の低いビットが上位ビット(LUTのタグ)に入れ替えられることとなる。この結果、LUTアドレスのタグに一致するキャッシュのタグが存在する確率が上がり、ヒット率が向上することとなる。
5.実施例
以下、本実施形態にかかる情報処理装置におけるLUTアドレス変換処理の実施例について説明する。実施例として、ビット順変換部304より出力されたLUTアドレスA1(15ビット)を下記のように定義する。
以下、本実施形態にかかる情報処理装置におけるLUTアドレス変換処理の実施例について説明する。実施例として、ビット順変換部304より出力されたLUTアドレスA1(15ビット)を下記のように定義する。
LUTアドレスA1=[b14,b13,b12,b11,b10,b9,b8,b7,b6,b5,b4,b3,b2,b1,b0]
なお、‘[]’の番号は1ビットを表し、‘,’は左端をMSBとし、右端をLSBとしたビット連結を表す。また、b14,b13,・・b7をLUTアドレスのタグ、b6,b5・・・b0をLUTアドレスのインデックスとする。
なお、‘[]’の番号は1ビットを表し、‘,’は左端をMSBとし、右端をLSBとしたビット連結を表す。また、b14,b13,・・b7をLUTアドレスのタグ、b6,b5・・・b0をLUTアドレスのインデックスとする。
図6にビット順変換部204より出力されたLUTアドレスと、アドレス格納レジスタで格納されているLUTアドレスのタイミングチャートを示す。図6の時間n+1において、アドレス格納レジスタに格納されているLUTアドレスA0(1サイクル前にビット順変換部204から出力されたLUTアドレス)を下記のように定義する。
LUTアドレスA0=[r0,r1,r2,r3,r4,R5、R6、R7、R8、R9、r10、r11,r12,r13,r14]
したがって時間n+1においては、LUTアドレス比較部202では、b0とr0、b1とr1、b2とr2、・・・、b14とr14が比較される。
したがって時間n+1においては、LUTアドレス比較部202では、b0とr0、b1とr1、b2とr2、・・・、b14とr14が比較される。
ビット毎に比較した結果が一致した場合は、ビット毎に‘0’が、また一致しなかった場合は‘1’が出力される。なお、LUTアドレスA1(ビット順変換部204から出力されたLUTアドレス)は、次のサイクルでアドレス格納レジスタに書き込まれる。そして、また上述と同じように、LUTアドレスA1と、ビット順変換部204から出力されたLUTアドレスA2とがビット毎に比較され、比較結果の出力が繰り返される。
ここで、LUTアドレスの各ビットに対応する15のビット毎の変化頻度カウンタ211(カウント数:c0,c1,c2・・・c14)のカウント数が下記のようになっているものとする。
変化頻度カウンタのカウント数:c6>c14>c3>c4>c11>c13>c12>c0>c2>c5>c8>c9>c7>c10>c1
また、インデックスのビット数が7ビットであるとする。その場合、アドレス変換信号生成部302では、カウント数が大きい上位の7ビット(c6,c14,c3,c4,c11,c13,c12)を選択し、そのビット位置を示すビット番号を図7のようにアドレス変換信号として出力する。
また、インデックスのビット数が7ビットであるとする。その場合、アドレス変換信号生成部302では、カウント数が大きい上位の7ビット(c6,c14,c3,c4,c11,c13,c12)を選択し、そのビット位置を示すビット番号を図7のようにアドレス変換信号として出力する。
ビット順変換部204では、図7のアドレス変換信号から、図8のようにLUTアドレスのインデックスとなるビット位置を生成し、そのビット位置に対応するLUTアドレスのビットをLUTアドレスのインデックスにする。また、その他のビット位置に対応するLUTアドレスのビットをLUTアドレスのタグに変更することで、ビット順変換部204で新しく生成したLUTアドレスは、下記のようになる。
変換後のLUTアドレスA1=[b1,b2,b0,b5,b10,b9,b8,b7,b6,b11,b4,b3,b13,b14,b12]
以上の説明から明らかなように、本実施形態にかかる情報処理装置では、ヒット率が所定値未満になった場合、LUTアドレスを入力データの特性に応じて変換した後、キャッシュ部にアクセスする。このため、キャッシュ部を効率的に使用でき、少ないキャッシュメモリで所定の時間内に処理を終了させるために必要なヒット率を確保することが可能となる。つまり、ヒット率を維持しつつ、キャッシュ容量を小さくさせることが可能となり、色空間変換におけるコストパフォーマンスが向上する。
以上の説明から明らかなように、本実施形態にかかる情報処理装置では、ヒット率が所定値未満になった場合、LUTアドレスを入力データの特性に応じて変換した後、キャッシュ部にアクセスする。このため、キャッシュ部を効率的に使用でき、少ないキャッシュメモリで所定の時間内に処理を終了させるために必要なヒット率を確保することが可能となる。つまり、ヒット率を維持しつつ、キャッシュ容量を小さくさせることが可能となり、色空間変換におけるコストパフォーマンスが向上する。
[第2の実施形態]
上記第1の実施形態では、LUTアドレスの全ビット(例えば、15ビット)からアドレス変換信号を生成することとしたが、本発明は特にこれに限られない。
上記第1の実施形態では、LUTアドレスの全ビット(例えば、15ビット)からアドレス変換信号を生成することとしたが、本発明は特にこれに限られない。
例えば、上記第1の実施形態では、キャッシュのフィル効率を上げるために、所定単位(「ライン」と呼ぶ)でキャッシュのフィルを行ったが、この場合、キャッシュのタグを格納しているタグメモリのエントリ数は削減されることとなる。例えば、所定単位が16なら、b=4となり下位4ビットがタグメモリ2のアドレス入力から削除される(以下、これをバーストビットと呼ぶ)。
そこで、バーストビットを除いたLUTアドレスをLUTアドレス比較部202に入力するようにしてもよい。つまり、バーストビットを除いたLUTアドレスのビット幅を持つアドレス格納レジスタと、バーストビットを除いたLUTアドレスとを比較し、当該ビット数と同じビット数の変化頻度カウンタ211に基づいて、アドレス変換信号を生成するようにしてもよい。この場合も、上記第1の実施形態と同様の効果が期待できる。
具体的には、例えば、LUTアドレスが15ビットで、バーストビットが4ビットであるならば、11ビットのLUTアドレスをLUTアドレス比較部202に入力する。そして、11ビットのアドレス格納レジスタと、11ビットの変化頻度カウンタ211とを用いてアドレス変換信号を生成することで同様の効果が期待できる。これにより、キャッシュのフィルデータはバースト転送できるので、LUTアドレス変換を行った場合でもフィル効率は殆ど変わらない。
[第3の実施形態]
上記第1及び第2の実施形態では、プレスキャン無しの場合の処理について説明したが、本発明はこれに限られない。プレスキャン有り(または同一画像の変換)の場合は、プレスキャンの開始時から終了時までのビット毎の変化頻度カウンタ211の値によって、本スキャンのLUTアドレスの生成方法が決定されることとなる。そのため、LUTアドレス生成部801が出力するLUTアドレスは、プレスキャン終了時のみ生成されるので、ビット順変換部204は、dirty制御信号を出力しない。
上記第1及び第2の実施形態では、プレスキャン無しの場合の処理について説明したが、本発明はこれに限られない。プレスキャン有り(または同一画像の変換)の場合は、プレスキャンの開始時から終了時までのビット毎の変化頻度カウンタ211の値によって、本スキャンのLUTアドレスの生成方法が決定されることとなる。そのため、LUTアドレス生成部801が出力するLUTアドレスは、プレスキャン終了時のみ生成されるので、ビット順変換部204は、dirty制御信号を出力しない。
また、プレスキャン時は上記ビット毎の変化頻度カウンタ211とヒット率判定部106のみが動作すればよいので、キャッシュをフィルする必要がない。そのため、高速に処理できるという効果がある。
[他の実施形態]
なお、本発明は、複数の機器(例えばホストコンピュータ、インタフェイス機器、リーダ、プリンタなど)から構成されるシステムに適用しても、一つの機器からなる装置(例えば、複写機、ファクシミリ装置など)に適用してもよい。
なお、本発明は、複数の機器(例えばホストコンピュータ、インタフェイス機器、リーダ、プリンタなど)から構成されるシステムに適用しても、一つの機器からなる装置(例えば、複写機、ファクシミリ装置など)に適用してもよい。
また、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給するよう構成することによっても達成されることはいうまでもない。この場合、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記憶媒体に格納されたプログラムコードを読出し実行することにより、上記機能が実現されることとなる。なお、この場合、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
プログラムコードを供給するための記憶媒体としては、例えば、フロッピ(登録商標)ディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、CD−R、磁気テープ、不揮発性のメモリカード、ROMなどを用いることができる。
また、コンピュータが読出したプログラムコードを実行することにより、前述した実施形態の機能が実現される場合に限られない。例えば、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているOS(オペレーティングシステム)などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
さらに、記憶媒体から読出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、前述した実施形態の機能が実現される場合も含まれる。つまり、プログラムコードがメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって実現される場合も含まれる。
Claims (7)
- 入力されるデータの色空間を変換する情報処理装置であって、
色空間変換に用いられるLUTを保持する保持手段と、
前記保持手段に保持されたLUTに含まれるデータの一部を、キャッシュ値として一時保持するキャッシュ保持手段と、
前記キャッシュ保持手段に保持されたデータにアクセスするためのアドレスを、前記入力されるデータに対応して、順次生成するアドレス生成手段と、
前記アドレス生成手段において生成されたアドレスの特性を検出する検出手段と、
前記キャッシュ保持手段に一時保持されたキャッシュ値のヒット率が予め定められた値未満となった場合に、前記アドレス生成手段において生成されたアドレスを構成する各ビットの並び順序を、前記アドレスの特性に応じて変更する変更手段と、を備え、
前記ヒット率が予め定められた値未満となった後は、前記変更手段により変更されたアドレスにて前記キャッシュ保持手段に保持されたデータにアクセスすることで、前記入力されるデータの色空間を変換することを特徴とする情報処理装置。 - 前記アドレスの特性とは、アドレス生成手段において順次生成されたアドレスのうち、連続する2つのアドレス間の各ビットを比較することによりカウントされるビットごとの変化頻度であることを特徴とする請求項1に記載の情報処理装置。
- 前記変更手段は、前記ビットごとの変化頻度に応じて、前記キャッシュ値のタグとインデックスの割り当てを変更するように前記アドレスを構成する各ビットの並び順序を変更することを特徴とする請求項2に記載の情報処理装置。
- 前記変更手段において前記アドレスを構成する各ビットの並び順序が変更された場合に、前記カウントされた変化頻度を初期化し、前記キャッシュ値のタグを無効化することを特徴とする請求項3に記載の情報処理装置。
- 入力されるデータの色空間を変換する情報処理装置における情報処理方法であって、
色空間変換に用いられるLUTを保持する保持工程と、
前記保持工程に保持されたLUTに含まれるデータの一部を、キャッシュ値として一時保持するキャッシュ保持工程と、
前記キャッシュ保持工程に保持されたデータにアクセスするためのアドレスを、前記入力されるデータに対応して、順次生成するアドレス生成工程と、
前記アドレス生成工程において生成されたアドレスの特性を検出する検出工程と、
前記キャッシュ保持工程に一時保持されたキャッシュ値のヒット率が予め定められた値未満となった場合に、前記アドレス生成工程において生成されたアドレスを構成する各ビットの並び順序を、前記アドレスの特性に応じて変更する変更工程と、を備え、
前記ヒット率が予め定められた値未満となった後は、前記変更工程により変更されたアドレスにて前記キャッシュ保持工程に保持されたデータにアクセスすることで、前記入力されるデータの色空間を変換することを特徴とする情報処理方法。 - 請求項5に記載の情報処理方法をコンピュータによって実現させるための制御プログラムを格納した記憶媒体。
- 請求項5に記載の情報処理方法をコンピュータによって実現させるための制御プログラム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005353986A JP2007158968A (ja) | 2005-12-07 | 2005-12-07 | 情報処理装置及び情報処理方法 |
US11/565,856 US7952589B2 (en) | 2005-12-07 | 2006-12-01 | Data processing apparatus and method thereof |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005353986A JP2007158968A (ja) | 2005-12-07 | 2005-12-07 | 情報処理装置及び情報処理方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2007158968A true JP2007158968A (ja) | 2007-06-21 |
Family
ID=38134615
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005353986A Withdrawn JP2007158968A (ja) | 2005-12-07 | 2005-12-07 | 情報処理装置及び情報処理方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US7952589B2 (ja) |
JP (1) | JP2007158968A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009025954A (ja) * | 2007-07-18 | 2009-02-05 | Fuji Xerox Co Ltd | データ処理装置及びデータ処理プログラム |
JP2015080009A (ja) * | 2013-10-15 | 2015-04-23 | 高田 周一 | データ変換装置 |
Families Citing this family (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5159115B2 (ja) | 2007-01-30 | 2013-03-06 | キヤノン株式会社 | 画像処理装置及び画像処理方法 |
US8238624B2 (en) * | 2007-01-30 | 2012-08-07 | International Business Machines Corporation | Hybrid medical image processing |
JP2008211310A (ja) * | 2007-02-23 | 2008-09-11 | Seiko Epson Corp | 画像処理装置および画像表示装置 |
JP4360410B2 (ja) * | 2007-03-16 | 2009-11-11 | セイコーエプソン株式会社 | 画像処理回路、表示装置及び印刷装置 |
US8462369B2 (en) * | 2007-04-23 | 2013-06-11 | International Business Machines Corporation | Hybrid image processing system for a single field of view having a plurality of inspection threads |
US8326092B2 (en) | 2007-04-23 | 2012-12-04 | International Business Machines Corporation | Heterogeneous image processing system |
US8331737B2 (en) * | 2007-04-23 | 2012-12-11 | International Business Machines Corporation | Heterogeneous image processing system |
JP2009094947A (ja) * | 2007-10-11 | 2009-04-30 | Sanyo Electric Co Ltd | 補正演算回路 |
US8675219B2 (en) * | 2007-10-24 | 2014-03-18 | International Business Machines Corporation | High bandwidth image processing with run time library function offload via task distribution to special purpose engines |
US20090132582A1 (en) * | 2007-11-15 | 2009-05-21 | Kim Moon J | Processor-server hybrid system for processing data |
US9135073B2 (en) | 2007-11-15 | 2015-09-15 | International Business Machines Corporation | Server-processor hybrid system for processing data |
US9332074B2 (en) * | 2007-12-06 | 2016-05-03 | International Business Machines Corporation | Memory to memory communication and storage for hybrid systems |
US8229251B2 (en) | 2008-02-08 | 2012-07-24 | International Business Machines Corporation | Pre-processing optimization of an image processing system |
US8379963B2 (en) * | 2008-03-28 | 2013-02-19 | International Business Machines Corporation | Visual inspection system |
JP2012003618A (ja) * | 2010-06-18 | 2012-01-05 | Sony Corp | 情報処理システム、情報処理方法、情報処理装置 |
US8949530B2 (en) * | 2011-08-02 | 2015-02-03 | International Business Machines Corporation | Dynamic index selection in a hardware cache |
US9602739B1 (en) * | 2016-10-23 | 2017-03-21 | Visual Supply Company | Lookup table interpolation in a film emulation camera system |
CN110309082A (zh) * | 2019-04-23 | 2019-10-08 | 深圳市全智芯科技有限公司 | 数据存储方法、存储系统及微控制器 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5816180B2 (ja) | 1977-04-01 | 1983-03-30 | 大日本スクリ−ン製造株式会社 | メモリ装置における信号補間方法 |
US5623627A (en) * | 1993-12-09 | 1997-04-22 | Advanced Micro Devices, Inc. | Computer memory architecture including a replacement cache |
JP3912903B2 (ja) | 1998-07-02 | 2007-05-09 | キヤノン株式会社 | データ変換方法およびその装置 |
US6825848B1 (en) * | 1999-09-17 | 2004-11-30 | S3 Graphics Co., Ltd. | Synchronized two-level graphics processing cache |
US6397297B1 (en) * | 1999-12-30 | 2002-05-28 | Intel Corp. | Dual cache with multiple interconnection operation modes |
US20040078544A1 (en) * | 2002-10-18 | 2004-04-22 | Silicon Integrated Systems Corporation | Memory address remapping method |
JP4724413B2 (ja) | 2004-11-26 | 2011-07-13 | キヤノン株式会社 | データ分類方法 |
-
2005
- 2005-12-07 JP JP2005353986A patent/JP2007158968A/ja not_active Withdrawn
-
2006
- 2006-12-01 US US11/565,856 patent/US7952589B2/en not_active Expired - Fee Related
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009025954A (ja) * | 2007-07-18 | 2009-02-05 | Fuji Xerox Co Ltd | データ処理装置及びデータ処理プログラム |
JP2015080009A (ja) * | 2013-10-15 | 2015-04-23 | 高田 周一 | データ変換装置 |
Also Published As
Publication number | Publication date |
---|---|
US7952589B2 (en) | 2011-05-31 |
US20070126744A1 (en) | 2007-06-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7952589B2 (en) | Data processing apparatus and method thereof | |
US6766051B2 (en) | Adaptive tree-base lookup for non-separably divided color tables | |
US7616210B2 (en) | Memory apparatus and memory control method | |
US6707938B2 (en) | Principal axis look-up for color correction | |
US5649071A (en) | Image processing method to reduce marking material coverage in sequential color printing processes | |
JP2008048432A (ja) | 画像プロセッサ | |
US6968397B1 (en) | Information processing method and apparatus | |
US20020126312A1 (en) | Accelerating color conversion using a temporary palette cache | |
US5450532A (en) | Cache memory system for a color ink jet printer | |
US6990232B2 (en) | Image processing apparatus, control method thereof, and image processing method | |
EP1025541B1 (en) | Interleaved-to-planar data conversion | |
JP3931461B2 (ja) | 色変換装置 | |
US6490675B1 (en) | Converter and conversion method | |
JPH1117967A (ja) | 画像処理装置及びその方法 | |
JP6501561B2 (ja) | データ処理装置およびその制御方法、プログラム | |
JP2007087372A (ja) | メモリ装置、およびメモリ制御方法 | |
US8175381B2 (en) | Image processing method and apparatus | |
JP2004112270A (ja) | 色変換テーブル作成方法および色変換テーブル作成装置並びにプログラム | |
JP2010103912A (ja) | 多次元データ変換装置 | |
JP4483133B2 (ja) | 色変換テーブル作成方法、色変換テーブル作成プログラム、色変換テーブル作成装置、色変換方法、色変換プログラムおよび色変換装置 | |
JP2003244452A (ja) | 画像処理装置 | |
JP2007067956A (ja) | 多次元補間装置および多次元補間方法 | |
JP2007316951A (ja) | データ変換装置及びデータ変換方法 | |
JP2021056894A (ja) | 画像処理装置 | |
JP2006165649A (ja) | 多次元データ変換装置及び方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Application deemed to be withdrawn because no request for examination was validly filed |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20090303 |