JPH1117976A - データポイントの格納及びアクセス方法 - Google Patents
データポイントの格納及びアクセス方法Info
- Publication number
- JPH1117976A JPH1117976A JP10152613A JP15261398A JPH1117976A JP H1117976 A JPH1117976 A JP H1117976A JP 10152613 A JP10152613 A JP 10152613A JP 15261398 A JP15261398 A JP 15261398A JP H1117976 A JPH1117976 A JP H1117976A
- Authority
- JP
- Japan
- Prior art keywords
- memory
- address
- data
- ram
- data points
- 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
Links
- 238000000034 method Methods 0.000 title claims description 11
- 230000015654 memory Effects 0.000 claims abstract description 66
- 239000007787 solid Substances 0.000 abstract 2
- 238000010586 diagram Methods 0.000 description 14
- 230000009977 dual effect Effects 0.000 description 10
- 101100325756 Arabidopsis thaliana BAM5 gene Proteins 0.000 description 6
- 101150046378 RAM1 gene Proteins 0.000 description 6
- 101100476489 Rattus norvegicus Slc20a2 gene Proteins 0.000 description 6
- 238000006243 chemical reaction Methods 0.000 description 4
- 102100031584 Cell division cycle-associated 7-like protein Human genes 0.000 description 3
- 101000777638 Homo sapiens Cell division cycle-associated 7-like protein Proteins 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- COCAUCFPFHUGAA-MGNBDDOMSA-N n-[3-[(1s,7s)-5-amino-4-thia-6-azabicyclo[5.1.0]oct-5-en-7-yl]-4-fluorophenyl]-5-chloropyridine-2-carboxamide Chemical compound C=1C=C(F)C([C@@]23N=C(SCC[C@@H]2C3)N)=CC=1NC(=O)C1=CC=C(Cl)C=N1 COCAUCFPFHUGAA-MGNBDDOMSA-N 0.000 description 2
- WPNJAUFVNXKLIM-UHFFFAOYSA-N Moxonidine Chemical compound COC1=NC(C)=NC(Cl)=C1NC1=NCCN1 WPNJAUFVNXKLIM-UHFFFAOYSA-N 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/40—Scaling of whole images or parts thereof, e.g. expanding or contracting
- G06T3/4007—Scaling of whole images or parts thereof, e.g. expanding or contracting based on interpolation, e.g. bilinear interpolation
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Image Processing (AREA)
- Color Image Communication Systems (AREA)
- Facsimile Image Signal Circuits (AREA)
- Memory System (AREA)
Abstract
(57)【要約】
【課題】 従来のものと同容量のメモリを用いて4つの
出力を並行して行うプリンタメモリ回路を提供する。 【解決手段】4つのデータポイントに並行して(同時
に)アクセスすることができるように、従来のメモリの
4分の1の大きさの4つの独立したメモリ22、23、
24及び25から成る回路で、四面体補間に必要な4つ
のデータポイントがそれぞれ常に別々のメモリ内に格納
する方法を有することを特徴とする回路。
出力を並行して行うプリンタメモリ回路を提供する。 【解決手段】4つのデータポイントに並行して(同時
に)アクセスすることができるように、従来のメモリの
4分の1の大きさの4つの独立したメモリ22、23、
24及び25から成る回路で、四面体補間に必要な4つ
のデータポイントがそれぞれ常に別々のメモリ内に格納
する方法を有することを特徴とする回路。
Description
【0001】
【発明の属する技術分野】本発明は、四面体補間によっ
てデータを1つのカラー空間から別のカラー空間に変換
するための変換要素のテーブルを格納するためのプリン
タメモリ回路及び方法に関し、更に詳細には、4つの入
力値のそれぞれが別々のメモリにロードされるように配
置された4つの独立したメモリを有する回路で、4つの
データポイントは全て並行して取り出すことができる回
路に関する。
てデータを1つのカラー空間から別のカラー空間に変換
するための変換要素のテーブルを格納するためのプリン
タメモリ回路及び方法に関し、更に詳細には、4つの入
力値のそれぞれが別々のメモリにロードされるように配
置された4つの独立したメモリを有する回路で、4つの
データポイントは全て並行して取り出すことができる回
路に関する。
【0002】
【従来の技術】印刷業においては、データを1つのカラ
ー空間から別のカラー空間へ変換することがしばしば必
要である。例えば、スキャナは多くの場合レッド、グリ
ーン及びブルー(RGB)の出力を行うが、一方でカラ
ープリンタは多くの場合シアン、イエロー、マゼンタ及
びブラック(CYMK)でプリントを行う。故にカラー
空間の変換が必要である。この例では、完全な変換は4
つの同一の計算即ち、CYM及びKのそれぞれに対して
1つの計算、を必要とする。簡単にするために、ここで
の記載はシアン出力の場合を想定する。
ー空間から別のカラー空間へ変換することがしばしば必
要である。例えば、スキャナは多くの場合レッド、グリ
ーン及びブルー(RGB)の出力を行うが、一方でカラ
ープリンタは多くの場合シアン、イエロー、マゼンタ及
びブラック(CYMK)でプリントを行う。故にカラー
空間の変換が必要である。この例では、完全な変換は4
つの同一の計算即ち、CYM及びKのそれぞれに対して
1つの計算、を必要とする。簡単にするために、ここで
の記載はシアン出力の場合を想定する。
【0003】一般に用いられる変換技術の1つに四面体
補間を使うものがある。それについては数値的な例を用
いて以下に説明される。n×n×n個のワードを蓄える
容量をもつメモリを想定する(ここでn=17であ
る)。データポイントが直交線により立方体を形成する
ように結合されるならばメモリ内には16×16×16
個の立方体が含まれ、各立方体はその角に位置する合わ
せて8つのデータポイントを有する。
補間を使うものがある。それについては数値的な例を用
いて以下に説明される。n×n×n個のワードを蓄える
容量をもつメモリを想定する(ここでn=17であ
る)。データポイントが直交線により立方体を形成する
ように結合されるならばメモリ内には16×16×16
個の立方体が含まれ、各立方体はその角に位置する合わ
せて8つのデータポイントを有する。
【0004】メモリは3つのRGB値を表す3つの数字
によってアドレスされる。例えば、どの数字も整数部分
を意味する5つの最上位ビット(msb)と小数部分を
表す3つの最下位ビット(lsb)を有してもよい。従
って、3つの整数部分は立方体を指定し、3つの小数部
分は指定された補間されるべき立方体の中のポイントを
表す。
によってアドレスされる。例えば、どの数字も整数部分
を意味する5つの最上位ビット(msb)と小数部分を
表す3つの最下位ビット(lsb)を有してもよい。従
って、3つの整数部分は立方体を指定し、3つの小数部
分は指定された補間されるべき立方体の中のポイントを
表す。
【0005】補間のアルゴリズムは四面体を決定する立
方体の4つのデータポイントから出力値(シアン)を計
算し、入力の3つの小数部分を計算する。この基本的な
プロセスは米国特許第4,275,413号”色補正の
ための線形補間装置(LinearInterpolator for Color C
orrection)”に開示されており、参照として本明細書
中に援用される。
方体の4つのデータポイントから出力値(シアン)を計
算し、入力の3つの小数部分を計算する。この基本的な
プロセスは米国特許第4,275,413号”色補正の
ための線形補間装置(LinearInterpolator for Color C
orrection)”に開示されており、参照として本明細書
中に援用される。
【0006】
【発明が解決しようとする課題】このシステムにおける
問題は、補間を行うのに必要な4つのデータポイントを
取り出すのに4つのメモリサイクルを要する点である。
代替案の一つとして、4つの独立したメモリを準備して
4つのデータポイントを並行して出力できるようにする
ことがあるが、しかしこれは4倍の数のメモリを必要と
する。同じ容量のメモリを用いて4つの出力を並行して
行う回路が改良案となろう。
問題は、補間を行うのに必要な4つのデータポイントを
取り出すのに4つのメモリサイクルを要する点である。
代替案の一つとして、4つの独立したメモリを準備して
4つのデータポイントを並行して出力できるようにする
ことがあるが、しかしこれは4倍の数のメモリを必要と
する。同じ容量のメモリを用いて4つの出力を並行して
行う回路が改良案となろう。
【0007】
【課題を解決するための手段】本発明はAからDの記号
で示される4つの別々のメモリから成る回路の発明であ
る。各メモリは上に記した一つのメモリの4分の1の容
量で、4つのデータポイントのそれぞれが常に別々のメ
モリ内にあることが保証されるように配置されたデータ
を格納する。その手順を以下に記す。ここでは上に示さ
れたような単一のデータブロックを想定する。X=Y=
Z=0のデータポイントを何らかの文字でラベル付けす
る。ここではAとする。それからX,Y,Zの各方向に
B,C,D,A,B,C,D,A……のように連続した
文字を付与する。この順序をデータテーブル全体にわた
って続ける。ここで、四面体を決定する立方体上の4つ
の点が特定されると、4つのうち1つはAとラベル付け
された位置に入り、1つはBとラベル付けされた位置に
入り、1つはCとラベル付けされた位置に入り、そして
1つはDとラベル付けされた位置に入る。Aとラベル付
けされたデータポイントは全てメモリAに入り、Bとラ
ベル付けされたデータポイントは全てメモリBに入り、
…と続けられると想定すると、4つのデータポイントは
常にそれぞれ別々のメモリの中にあって並行してアクセ
スすることが可能となる。
で示される4つの別々のメモリから成る回路の発明であ
る。各メモリは上に記した一つのメモリの4分の1の容
量で、4つのデータポイントのそれぞれが常に別々のメ
モリ内にあることが保証されるように配置されたデータ
を格納する。その手順を以下に記す。ここでは上に示さ
れたような単一のデータブロックを想定する。X=Y=
Z=0のデータポイントを何らかの文字でラベル付けす
る。ここではAとする。それからX,Y,Zの各方向に
B,C,D,A,B,C,D,A……のように連続した
文字を付与する。この順序をデータテーブル全体にわた
って続ける。ここで、四面体を決定する立方体上の4つ
の点が特定されると、4つのうち1つはAとラベル付け
された位置に入り、1つはBとラベル付けされた位置に
入り、1つはCとラベル付けされた位置に入り、そして
1つはDとラベル付けされた位置に入る。Aとラベル付
けされたデータポイントは全てメモリAに入り、Bとラ
ベル付けされたデータポイントは全てメモリBに入り、
…と続けられると想定すると、4つのデータポイントは
常にそれぞれ別々のメモリの中にあって並行してアクセ
スすることが可能となる。
【0008】残された問題は、立方体において考えられ
る6つの四面体のうち、どれを用いて8つのデータポイ
ントのうちの4つを供給するか、という点である。即
ち、補間されるべきポイントはどの四面体にあるか、と
いうことである。一つの方法としては四面体を1から6
にラベル付けし、RGB入力の小数部分(xf,yf 及びz
f)について比較を行う方法がある。例えば、xfがyfよ
りも大きくyfがzfよりも大きい場合、補間されるべきポ
イントは四面体1にあり、それによって4つのデータポ
イントが指定される。
る6つの四面体のうち、どれを用いて8つのデータポイ
ントのうちの4つを供給するか、という点である。即
ち、補間されるべきポイントはどの四面体にあるか、と
いうことである。一つの方法としては四面体を1から6
にラベル付けし、RGB入力の小数部分(xf,yf 及びz
f)について比較を行う方法がある。例えば、xfがyfよ
りも大きくyfがzfよりも大きい場合、補間されるべきポ
イントは四面体1にあり、それによって4つのデータポ
イントが指定される。
【0009】このシステムを用いると、補間の計算のた
めの4つのデータポイントは全て必要とされるメモリの
総容量を増やすことなくそれぞれ並行して与えられるこ
とができる。
めの4つのデータポイントは全て必要とされるメモリの
総容量を増やすことなくそれぞれ並行して与えられるこ
とができる。
【0010】本発明の請求項1の態様では、1つのカラ
ー空間から別のカラー空間へデータを変換するために四
面体補間に用いられる4つのデータポイントを4つの別
々のメモリに格納し、データポイントにアクセスする方
法であって、各四面体を形成する4つのポイントがそれ
ぞれ別々の1つのメモリにロードされるように、4つの
データポイントを4つのメモリにロードするステップ
と、最初のカラー空間で3つのカラー値を受信して、各
値を整数部分と小数部分とを有するアドレスに変換し、
整数部分をテーブル上の立方体の位置を定めるのに用
い、小数部分を立方体における四面体を決定するのに用
い、補間において用いられる四面体の4つの角に格納さ
れる値にアクセスすることによって、4つの値に並行し
てアクセスするステップと、を有する。
ー空間から別のカラー空間へデータを変換するために四
面体補間に用いられる4つのデータポイントを4つの別
々のメモリに格納し、データポイントにアクセスする方
法であって、各四面体を形成する4つのポイントがそれ
ぞれ別々の1つのメモリにロードされるように、4つの
データポイントを4つのメモリにロードするステップ
と、最初のカラー空間で3つのカラー値を受信して、各
値を整数部分と小数部分とを有するアドレスに変換し、
整数部分をテーブル上の立方体の位置を定めるのに用
い、小数部分を立方体における四面体を決定するのに用
い、補間において用いられる四面体の4つの角に格納さ
れる値にアクセスすることによって、4つの値に並行し
てアクセスするステップと、を有する。
【0011】
【発明の実施の形態】図1はここでの記載において番号
を付与するために用いられるシステムで、このシステム
によりメモリの立方体の8つの角が指定される。よっ
て、P000は立方体の起点であり、P100はX方向における
P000+1であり、P010はY方向におけるP0 00+1である、な
どである。
を付与するために用いられるシステムで、このシステム
によりメモリの立方体の8つの角が指定される。よっ
て、P000は立方体の起点であり、P100はX方向における
P000+1であり、P010はY方向におけるP0 00+1である、な
どである。
【0012】ここにおいて、立方体の起点をP000とする
と、考えられる次の点は、3つの最下位ビット(ls
b)において、必ず”1”を1つもたねばならない。す
なわちP100、P010及びP001である。同様に、考えられる
その次の点P110、P101及びP011は”1”を2つもち、最
終点P111は”1”を3つもつ。故に、4つの別々のメモ
リが準備され、同数の”1”をもつデータポイントは全
て同じメモリに入れられるならば、4つの値が常に別々
のメモリ内にあり、それらの値は並行して取り出すこと
が可能であることが保証される。
と、考えられる次の点は、3つの最下位ビット(ls
b)において、必ず”1”を1つもたねばならない。す
なわちP100、P010及びP001である。同様に、考えられる
その次の点P110、P101及びP011は”1”を2つもち、最
終点P111は”1”を3つもつ。故に、4つの別々のメモ
リが準備され、同数の”1”をもつデータポイントは全
て同じメモリに入れられるならば、4つの値が常に別々
のメモリ内にあり、それらの値は並行して取り出すこと
が可能であることが保証される。
【0013】これらのメモリはA,B,C,及びDとラ
ベル付けされ、データはそれぞれ最下位ビットの”1”
の数に応じて格納される。例えば、所与の立方体で”
1”をもたないデータポイントがメモリBに格納される
とすると、”1”を1つもった3つのデータポイントは
メモリCに格納され、”1”を2つもったデータポイン
トはメモリDに格納され、”1”を3つもったデータポ
イントはメモリAに格納される。このことは4つのデー
タポイントが常に別々のメモリ内にあることを保証する
であろう。
ベル付けされ、データはそれぞれ最下位ビットの”1”
の数に応じて格納される。例えば、所与の立方体で”
1”をもたないデータポイントがメモリBに格納される
とすると、”1”を1つもった3つのデータポイントは
メモリCに格納され、”1”を2つもったデータポイン
トはメモリDに格納され、”1”を3つもったデータポ
イントはメモリAに格納される。このことは4つのデー
タポイントが常に別々のメモリ内にあることを保証する
であろう。
【0014】図2は4つのメモリがどのようにデータ値
の格納に使われるかを示す線図である。この特定の例は
データテーブルの3×3×3個の立方体セクションを示
す線図であり、この図で図1の立方体は強調表示(太
線)で示されている。直交線のそれぞれの交差部はメモ
リ内のデータワードを示す。Aとラベル付けされるもの
はメモリAに格納され、Bとラベル付けされるものはメ
モリBに格納される、などである。示されたように、
A,B,C,D,A,B,C,D,A……の順序はデー
タテーブル全体にわたって左から右、下から上、前から
後ろ、の方向に進む。例えば、図1、2を合わせて考え
ると、図1の強調表示された立方体の位置P0 00はメモリ
Bに格納される。最終的な結果では16個のA値、すな
わちA000からA332はメモリAにロードされ、16個のB
値、すなわちB100からB333はメモリBにロードされ、1
6個のC値、すなわちC200からC330はメモリCにロード
され、16個のD値、すなわちD300からD331はメモリD
にロードされる。
の格納に使われるかを示す線図である。この特定の例は
データテーブルの3×3×3個の立方体セクションを示
す線図であり、この図で図1の立方体は強調表示(太
線)で示されている。直交線のそれぞれの交差部はメモ
リ内のデータワードを示す。Aとラベル付けされるもの
はメモリAに格納され、Bとラベル付けされるものはメ
モリBに格納される、などである。示されたように、
A,B,C,D,A,B,C,D,A……の順序はデー
タテーブル全体にわたって左から右、下から上、前から
後ろ、の方向に進む。例えば、図1、2を合わせて考え
ると、図1の強調表示された立方体の位置P0 00はメモリ
Bに格納される。最終的な結果では16個のA値、すな
わちA000からA332はメモリAにロードされ、16個のB
値、すなわちB100からB333はメモリBにロードされ、1
6個のC値、すなわちC200からC330はメモリCにロード
され、16個のD値、すなわちD300からD331はメモリD
にロードされる。
【0015】これらのメモリA22からメモリD25ま
での4つのメモリは図2及び図3に示されるような方法
でロードされアクセスされる。まず、64個のデータポ
イントがメモリA22からメモリD25にロードされ
る。それぞれのデータポイントはx,y,及びz座標に
よって指定される。x,y,及びzの項は合計され、そ
のモジュロ4(その合計を4で割った時の余り)が以下
のようにロードされる。合計のモジュロ4が0の場合、
メモリAが使われる。合計のモジュロ4が1の場合、メ
モリBが使われる、などである。
での4つのメモリは図2及び図3に示されるような方法
でロードされアクセスされる。まず、64個のデータポ
イントがメモリA22からメモリD25にロードされ
る。それぞれのデータポイントはx,y,及びz座標に
よって指定される。x,y,及びzの項は合計され、そ
のモジュロ4(その合計を4で割った時の余り)が以下
のようにロードされる。合計のモジュロ4が0の場合、
メモリAが使われる。合計のモジュロ4が1の場合、メ
モリBが使われる、などである。
【0016】データにアクセスするために、スキャナー
28によるRGB出力は整数部分(int)と小数部分
(f)をもったx,y及びzアドレスへのアドレスジェ
ネレータ29によってメモリアドレスにされる。3つの
整数部分とその増分値はロジック21に入力される。ロ
ジックの最初の仕事は選択された立方体の起点P000をア
ドレスすることであり、これはx,y及びzの整数部分
を結合してP000アドレスとすることにより簡単になされ
る。図1を続けて参照すると、3つの整数部分はカレン
ト(現在)の立方体の起点のメモリBにおけるアドレス
を生成するであろう。
28によるRGB出力は整数部分(int)と小数部分
(f)をもったx,y及びzアドレスへのアドレスジェ
ネレータ29によってメモリアドレスにされる。3つの
整数部分とその増分値はロジック21に入力される。ロ
ジックの最初の仕事は選択された立方体の起点P000をア
ドレスすることであり、これはx,y及びzの整数部分
を結合してP000アドレスとすることにより簡単になされ
る。図1を続けて参照すると、3つの整数部分はカレン
ト(現在)の立方体の起点のメモリBにおけるアドレス
を生成するであろう。
【0017】選択された立方体の補間プロセスに必要な
他の3つの点(残りの7つの点のうち)は図4から図9
で示されるように四面体セレクタロジック20によって
選択される。図4から図9の6つのプロセスは同一であ
り、故に四面体1についてのみ説明する。まず、3つの
入力の小数部分に関して比較が行われる。xfがyfより大
きく、yfがzfより大きいならば、補間されるべきポイン
トは四面体1にあり、使われるべき他の3つのポイント
はP100,P110及びP111である。これは図3で示される例
であり、その例においてはロジック21の出力はP111,
P000,P100,P1 10である。図3に関して、P100はP000が
X方向には増分されるがY及びZ方向には増分されない
場合に決定されるメモリアドレスである。故に、ロジッ
ク21のP100出力はxint+1, yint及びzintの結合によっ
てアドレスされる。他の2つの出力も同様に生成され
る。
他の3つの点(残りの7つの点のうち)は図4から図9
で示されるように四面体セレクタロジック20によって
選択される。図4から図9の6つのプロセスは同一であ
り、故に四面体1についてのみ説明する。まず、3つの
入力の小数部分に関して比較が行われる。xfがyfより大
きく、yfがzfより大きいならば、補間されるべきポイン
トは四面体1にあり、使われるべき他の3つのポイント
はP100,P110及びP111である。これは図3で示される例
であり、その例においてはロジック21の出力はP111,
P000,P100,P1 10である。図3に関して、P100はP000が
X方向には増分されるがY及びZ方向には増分されない
場合に決定されるメモリアドレスである。故に、ロジッ
ク21のP100出力はxint+1, yint及びzintの結合によっ
てアドレスされる。他の2つの出力も同様に生成され
る。
【0018】図3のメモリ22からメモリ25によって
出力された4つのデータポイントは図10でさらに詳細
に示される補間回路26に入力される。図4の四面体1
の例を続けて参照すると、メモリ内のデータポイントP
000及びP100から得られるデータ値は減算(DIF)ロ
ジック51で減算され、その値は乗算器(MULT)5
4でxの小数部分を乗じられ、加算器(SUM)57に
入力される。同様に、P1 00とP110との差はyに、P110と
P111との差はzに用いられる。その結果は加算器(SU
M)58においてメモリのP000から得られる値(PO)
に加えられ、この例ではシアンの最終値となる。図10
における残りのレジスタ(REG)は、タイミング用で
ある。
出力された4つのデータポイントは図10でさらに詳細
に示される補間回路26に入力される。図4の四面体1
の例を続けて参照すると、メモリ内のデータポイントP
000及びP100から得られるデータ値は減算(DIF)ロ
ジック51で減算され、その値は乗算器(MULT)5
4でxの小数部分を乗じられ、加算器(SUM)57に
入力される。同様に、P1 00とP110との差はyに、P110と
P111との差はzに用いられる。その結果は加算器(SU
M)58においてメモリのP000から得られる値(PO)
に加えられ、この例ではシアンの最終値となる。図10
における残りのレジスタ(REG)は、タイミング用で
ある。
【0019】ここで、図3のロジック21について更に
詳しく説明する。
詳しく説明する。
【0020】従来技術では、図11に示すように単一の
LUT(ルックアップテーブル)が用いられていた。数
値的な例では、512エントリのLUTで、ロジック6
0によって出力されるアドレスは逐次的で9ビット長の
ものであろう。アドレスは、x2x1x0y2y1y0z2z1z0という
一般的な形式をとるであろう。故に、アドレス000 000
000 はエントリ0としてロードされ、アドレス000 000
001 はエントリ1としてロードされる、などである。こ
の場合、4つのシーケンシャル(逐次)アドレスが用い
られなければならない。RGB入力はそれぞれ8ビット
を想定して、単一RAMアドレスロジック60に入力さ
れ、それぞれ9ビット長の4つのアドレスを生成する。
これらはLUT62を4回アドレスして1つの四面体を
指定する4つのデータ出力を生成するのに用いられる。
補間回路61において1つの補間ステップが用いられ、
最終出力(ここではシアンを想定している)を生成す
る。
LUT(ルックアップテーブル)が用いられていた。数
値的な例では、512エントリのLUTで、ロジック6
0によって出力されるアドレスは逐次的で9ビット長の
ものであろう。アドレスは、x2x1x0y2y1y0z2z1z0という
一般的な形式をとるであろう。故に、アドレス000 000
000 はエントリ0としてロードされ、アドレス000 000
001 はエントリ1としてロードされる、などである。こ
の場合、4つのシーケンシャル(逐次)アドレスが用い
られなければならない。RGB入力はそれぞれ8ビット
を想定して、単一RAMアドレスロジック60に入力さ
れ、それぞれ9ビット長の4つのアドレスを生成する。
これらはLUT62を4回アドレスして1つの四面体を
指定する4つのデータ出力を生成するのに用いられる。
補間回路61において1つの補間ステップが用いられ、
最終出力(ここではシアンを想定している)を生成す
る。
【0021】メモリは2つ又は4つの部分に分けること
もできる。図12に示すように、それぞれが典型的な1
つのテーブルの半分のサイズをもつ2つのルックアップ
テーブルを用いると、半分の時間でRAMデータの検索
を行うことができる。故に、4つのデータポイントを出
力するためには、2つのサイクルが必要である。アドレ
スロジック72に入力されたRGB入力は、それぞれが
8ビット長の4つの出力アドレスとなる。これらはロジ
ック73において生成され、そのうちの2つはRAM1
に入力され、他の2つはRAM2に入力される。2つの
メモリサイクルにおいて4つの出力が生成される。
もできる。図12に示すように、それぞれが典型的な1
つのテーブルの半分のサイズをもつ2つのルックアップ
テーブルを用いると、半分の時間でRAMデータの検索
を行うことができる。故に、4つのデータポイントを出
力するためには、2つのサイクルが必要である。アドレ
スロジック72に入力されたRGB入力は、それぞれが
8ビット長の4つの出力アドレスとなる。これらはロジ
ック73において生成され、そのうちの2つはRAM1
に入力され、他の2つはRAM2に入力される。2つの
メモリサイクルにおいて4つの出力が生成される。
【0022】バイナリアドレスx2x1x0y2y1y0z2z1z0によ
って決定される512エントリの単一RAMアドレスス
キームを用いて、図12の二重(2分割の:dual)RA
Mロジック73はr0の値を決めることによって2つのう
ちどちらのRAMを用いるかを決定する。ここにおいて
r1r0=x0+y0+z0 である。例えば、単一RAMバイナリア
ドレスが000 010 101 ならば、方程式は 0+0+1=1(r0=
1)となり、RAM1が用いられる。単一RAMアドレ
スが本来有するビット数や単一のLUTのサイズに関わ
らず、上記の方程式で定義されたものと同一のアドレス
ビットがこの二重(2分割の:dual)RAMの場合にお
いてどちらのRAMを用いるかを決定するのに必要な情
報を生み出すであろうということに注意したい。
って決定される512エントリの単一RAMアドレスス
キームを用いて、図12の二重(2分割の:dual)RA
Mロジック73はr0の値を決めることによって2つのう
ちどちらのRAMを用いるかを決定する。ここにおいて
r1r0=x0+y0+z0 である。例えば、単一RAMバイナリア
ドレスが000 010 101 ならば、方程式は 0+0+1=1(r0=
1)となり、RAM1が用いられる。単一RAMアドレ
スが本来有するビット数や単一のLUTのサイズに関わ
らず、上記の方程式で定義されたものと同一のアドレス
ビットがこの二重(2分割の:dual)RAMの場合にお
いてどちらのRAMを用いるかを決定するのに必要な情
報を生み出すであろうということに注意したい。
【0023】二重(2分割の:dual)RAMをロードす
る方法は、単一RAM(サイズに関わらず)の各アドレ
スを逐次的にトラバース(走査)し、データをロードす
るのに適切なRAMを決定するために上記の方程式を用
いることを含む。単一のLUTがトラバースされると、
カレント(現在)のアドレスロケーションにおける各エ
ントリは上記の方程式によって決定された二重(2分割
の:dual)RAMにおいて逐次格納される。
る方法は、単一RAM(サイズに関わらず)の各アドレ
スを逐次的にトラバース(走査)し、データをロードす
るのに適切なRAMを決定するために上記の方程式を用
いることを含む。単一のLUTがトラバースされると、
カレント(現在)のアドレスロケーションにおける各エ
ントリは上記の方程式によって決定された二重(2分割
の:dual)RAMにおいて逐次格納される。
【0024】256エントリの二重(2分割の:dual)
のLUT(512エントリの単一RAM構成に基づく)
の例を以下に記す。二重(2分割の:dual)RAM回路
のアドレスを生成するために、最下位ビット(z0)は切
り捨てられる。 バイナリアドレス 二重(2分割の:dual)RAMのデータ( 512エントリの単一RAMより) x2x1x0y2y1y0z2z1(z0), 000 000 00(0) RAM0 エントリ0 000 000 00(1) RAM1 エントリ1 000 000 01(0) RAM0 エントリ2 ‥‥‥‥ 111 111 11(1) RAM1 エントリ511
のLUT(512エントリの単一RAM構成に基づく)
の例を以下に記す。二重(2分割の:dual)RAM回路
のアドレスを生成するために、最下位ビット(z0)は切
り捨てられる。 バイナリアドレス 二重(2分割の:dual)RAMのデータ( 512エントリの単一RAMより) x2x1x0y2y1y0z2z1(z0), 000 000 00(0) RAM0 エントリ0 000 000 00(1) RAM1 エントリ1 000 000 01(0) RAM0 エントリ2 ‥‥‥‥ 111 111 11(1) RAM1 エントリ511
【0025】適切な二重(2分割の:dual)RAMから
のデータを検索するためには、適切なバイナリアドレス
並びに二重(2分割の:dual)RAMの選択のための方
程式から得られる結果のみが、先に挙げた例に示すよう
に四面体補間に必要な画素データをダウンロードするの
に必要である。上記のアドレス及びRAM選択スキーム
から最大限の利益を得るためには、必要な4つのアドレ
ス(ビットの切捨てを行う前のもとのアドレス)のうち
少なくとも2つのアドレスがハードウェアにおいて同時
に生成されなければならない。これは1クロックタイム
に相当するであろう。
のデータを検索するためには、適切なバイナリアドレス
並びに二重(2分割の:dual)RAMの選択のための方
程式から得られる結果のみが、先に挙げた例に示すよう
に四面体補間に必要な画素データをダウンロードするの
に必要である。上記のアドレス及びRAM選択スキーム
から最大限の利益を得るためには、必要な4つのアドレ
ス(ビットの切捨てを行う前のもとのアドレス)のうち
少なくとも2つのアドレスがハードウェアにおいて同時
に生成されなければならない。これは1クロックタイム
に相当するであろう。
【0026】図13に示すように、それぞれが典型的な
1つのテーブルの4分の1の大きさの4つのルックアッ
プテーブルを用いることにより、RAMデータの検索に
要する時間を4分の1にすることが可能である。この例
は図3に示される。故に、1つのサイクルで4つのデー
タポイントを出力する必要がある。アドレスロジック1
2に入力されたRGB入力はそれぞれが7ビット長の4
つの出力アドレスとなる。これらはロジック86の出力
であり、1つの出力が一つのメモリ内のそれぞれのRA
M回路0から3までに適用され4つの出力を並行して生
成する。
1つのテーブルの4分の1の大きさの4つのルックアッ
プテーブルを用いることにより、RAMデータの検索に
要する時間を4分の1にすることが可能である。この例
は図3に示される。故に、1つのサイクルで4つのデー
タポイントを出力する必要がある。アドレスロジック1
2に入力されたRGB入力はそれぞれが7ビット長の4
つの出力アドレスとなる。これらはロジック86の出力
であり、1つの出力が一つのメモリ内のそれぞれのRA
M回路0から3までに適用され4つの出力を並行して生
成する。
【0027】四重(4分割の:quad)RAMは、単一R
AMと同様に逐次アドレスを有しているが、四重(4分
割の:quad)RAMの場合は各アドレスのビット数は単
一RAMに比べ2ビット少ない。もう一つの違いはLU
T毎のエントリ数の違いである。例えば、512エント
リの単一LUTが用いられる場合、四重(4分割の:qu
ad)LUTでそれに相当するデータは4つのRAM回路
のそれぞれにおいて128エントリを有するであろう。
4つのLUTのそれぞれのアドレスは7ビット長であろ
う。7ビット長は、最下位ビット2桁を切り捨てた場合
に単一RAM回路の9ビットアドレスの中で最も大き
い。しかし、ビットの切捨てを行う前に、単一RAM構
造のアドレスビットはどの四重(4分割の:quad)RA
M(RAM0からRAM3)を用いるかを決定するため
に使われなければならない。この四重(4分割の:qua
d)RAMに画素データがロードされ、また画素データ
がそこから検索される。
AMと同様に逐次アドレスを有しているが、四重(4分
割の:quad)RAMの場合は各アドレスのビット数は単
一RAMに比べ2ビット少ない。もう一つの違いはLU
T毎のエントリ数の違いである。例えば、512エント
リの単一LUTが用いられる場合、四重(4分割の:qu
ad)LUTでそれに相当するデータは4つのRAM回路
のそれぞれにおいて128エントリを有するであろう。
4つのLUTのそれぞれのアドレスは7ビット長であろ
う。7ビット長は、最下位ビット2桁を切り捨てた場合
に単一RAM回路の9ビットアドレスの中で最も大き
い。しかし、ビットの切捨てを行う前に、単一RAM構
造のアドレスビットはどの四重(4分割の:quad)RA
M(RAM0からRAM3)を用いるかを決定するため
に使われなければならない。この四重(4分割の:qua
d)RAMに画素データがロードされ、また画素データ
がそこから検索される。
【0028】バイナリアドレスx2x1x0y2y1y0z2z1z0によ
って定義される512エントリの単一RAMアドレスス
キームを用いることによって、四重(4分割の:quad)
RAMの選択は方程式x1x0+y1y0+z1z0=r2r1r0 によって
決定される。そしてr1r0は用いられるRAMを決定す
る。例えば、単一RAMバイナリアドレスが000 010 10
1 だったならば、方程式は00+10+01=11 である。ここで
はr1r0=11 なので、RAM3が用いられる。
って定義される512エントリの単一RAMアドレスス
キームを用いることによって、四重(4分割の:quad)
RAMの選択は方程式x1x0+y1y0+z1z0=r2r1r0 によって
決定される。そしてr1r0は用いられるRAMを決定す
る。例えば、単一RAMバイナリアドレスが000 010 10
1 だったならば、方程式は00+10+01=11 である。ここで
はr1r0=11 なので、RAM3が用いられる。
【0029】以下に示すのは128エントリのLUT
(512エントリの単一RAM構成に基づく)の例であ
る。四重(4分割の:quad)RAMのアドレスを生成す
るために、最下位アドレスビット(Z1Z0)は切り捨てら
れる。 バイナリアドレス 四重(4分割の:quad)RAMのデータ(5 12エントリの単一RAMより) x2x1x0y2y1y0z2(z1z0), 000 000 0(00) RAM0 エントリ0 000 000 0(01) RAM1 エントリ1 000 000 0(10) RAM2 エントリ2 000 000 0(11) RAM3 エントリ3 ‥‥‥‥ 000 001 0(00) RAM1 エントリ8 000 001 0(01) RAM2 エントリ9 000 001 0(10) RAM3 エントリ10 000 001 0(11) RAM0 エントリ11 ‥‥‥‥ 111 111 1(00) RAM2 エントリ508 111 111 1(01) RAM3 エントリ509 111 111 1(10) RAM0 エントリ510 111 111 1(11) RAM1 エントリ511
(512エントリの単一RAM構成に基づく)の例であ
る。四重(4分割の:quad)RAMのアドレスを生成す
るために、最下位アドレスビット(Z1Z0)は切り捨てら
れる。 バイナリアドレス 四重(4分割の:quad)RAMのデータ(5 12エントリの単一RAMより) x2x1x0y2y1y0z2(z1z0), 000 000 0(00) RAM0 エントリ0 000 000 0(01) RAM1 エントリ1 000 000 0(10) RAM2 エントリ2 000 000 0(11) RAM3 エントリ3 ‥‥‥‥ 000 001 0(00) RAM1 エントリ8 000 001 0(01) RAM2 エントリ9 000 001 0(10) RAM3 エントリ10 000 001 0(11) RAM0 エントリ11 ‥‥‥‥ 111 111 1(00) RAM2 エントリ508 111 111 1(01) RAM3 エントリ509 111 111 1(10) RAM0 エントリ510 111 111 1(11) RAM1 エントリ511
【図1】立方体におけるデータポイントのラベル付けの
仕方を示す図である。
仕方を示す図である。
【図2】データテーブル全体を、並行してアクセスする
ための複数のより小さいメモリに分ける分け方を示す図
である。
ための複数のより小さいメモリに分ける分け方を示す図
である。
【図3】回路のブロック図である。
【図4】図3で示された四面体セレクタの更に詳細な図
である。
である。
【図5】図3で示された四面体セレクタの更に詳細な図
である。
である。
【図6】図3で示された四面体セレクタの更に詳細な図
である。
である。
【図7】図3で示された四面体セレクタの更に詳細な図
である。
である。
【図8】図3で示された四面体セレクタの更に詳細な図
である。
である。
【図9】図3で示された四面体セレクタの更に詳細な図
である。
である。
【図10】図3の補間回路の略図である。
【図11】従来技術の単一RAM回路のブロック図であ
る。
る。
【図12】二重(2分割の:dual)RAM回路のブロッ
ク図である。
ク図である。
【図13】四重(4分割の:quad)RAM回路のブロッ
ク図である。
ク図である。
22〜25 メモリA〜D R レッド G グリーン B ブルー
フロントページの続き (72)発明者 グエンドレン エル.ヘンブロック アメリカ合衆国 90277 カリフォルニア 州 レッドオンドゥー ビーチ サウス プロスペクト アベニュー 314 ナンバ ー9
Claims (1)
- 【請求項1】1つのカラー空間から別のカラー空間へデ
ータを変換するために四面体補間に用いられる4つのデ
ータポイントを4つの別々のメモリに格納し、データポ
イントにアクセスする方法であって、 A.各四面体を記述する4つのポイントのそれぞれが別
々の1つのメモリにロードされるように、4つのデータ
ポイントを4つのメモリにロードするステップを有し、 B.第1のカラー空間の3つのカラー値を受信して、 各値を整数部と小数部分とを有するアドレスに変換し、 整数部をテーブル上の立方体の位置を定めるのに用い、 小数部分を立方体における四面体を決定するのに用い、 補間において用いられる四面体の4つの角に格納される
値にアクセスすることによって、 メモリから4つの値を並行にアクセスするステップ、を
有する、 データポイントの格納及びアクセス方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US87349397A | 1997-06-12 | 1997-06-12 | |
US873493 | 1997-06-12 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH1117976A true JPH1117976A (ja) | 1999-01-22 |
Family
ID=25361744
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP10152613A Pending JPH1117976A (ja) | 1997-06-12 | 1998-06-02 | データポイントの格納及びアクセス方法 |
Country Status (2)
Country | Link |
---|---|
EP (1) | EP0896298A3 (ja) |
JP (1) | JPH1117976A (ja) |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4929978A (en) * | 1987-10-23 | 1990-05-29 | Matsushita Electric Industrial Co., Ltd. | Color correction method for color copier utilizing correction table derived from printed color samples |
JPH0313066A (ja) * | 1989-06-09 | 1991-01-22 | Matsushita Electric Ind Co Ltd | 色修正方法及びその装置 |
JP2666523B2 (ja) * | 1990-05-16 | 1997-10-22 | 松下電器産業株式会社 | 色変換装置 |
US5296923A (en) * | 1991-01-09 | 1994-03-22 | Konica Corporation | Color image reproducing device and method |
JP2903807B2 (ja) * | 1991-10-17 | 1999-06-14 | 富士ゼロックス株式会社 | 色信号変換方法および装置 |
JPH0877341A (ja) * | 1994-08-29 | 1996-03-22 | Xerox Corp | カラー画像処理装置及び方法 |
-
1998
- 1998-06-02 JP JP10152613A patent/JPH1117976A/ja active Pending
- 1998-06-09 EP EP98110565A patent/EP0896298A3/en not_active Withdrawn
Also Published As
Publication number | Publication date |
---|---|
EP0896298A3 (en) | 1999-11-17 |
EP0896298A2 (en) | 1999-02-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5321797A (en) | Apparatus and method for performing coordinate transformation employing stored values and interpolation | |
US5241373A (en) | Apparatus for correction of color signal values | |
US5943058A (en) | Texture mapping circuit for performing data interpolations | |
US7864372B2 (en) | Color conversion apparatus and color conversion method | |
US5684981A (en) | Memory organization and method for multiple variable digital data transformation | |
US5475510A (en) | Method for transforming color signals and apparatus for the method | |
US5870077A (en) | Method for tristimulus color data non-linear storage, retrieval, and interpolation | |
JP2006178546A (ja) | データ処理装置 | |
US6833839B2 (en) | Apparatus and method for multi-resolution color mapping for display devices | |
US5218647A (en) | Method to convert between 2 color space on a 32 bit μ-processor | |
JP2000505268A (ja) | n次元の色空間における補間方法 | |
JP2903808B2 (ja) | 色信号変換方法および装置 | |
CA2399732A1 (en) | Method and apparatus for quantizing a color image through a single dither matrix | |
JPH10200770A (ja) | 画像データの色補正方法 | |
JPH10117291A (ja) | 補間器入力データの経路を決める装置 | |
JPH1117976A (ja) | データポイントの格納及びアクセス方法 | |
JPH1117975A (ja) | オリジナルカラー値のロード及びアクセス方法 | |
EP0319684A2 (en) | Display system for color image quantization | |
JP6448410B2 (ja) | データ変換装置およびその制御方法、プログラム | |
JP6501561B2 (ja) | データ処理装置およびその制御方法、プログラム | |
JP3576612B2 (ja) | 色変換処理装置 | |
JPH0799586A (ja) | 色変換装置 | |
US6801212B1 (en) | Apparatus and method for color data interpolation | |
JPH09172554A (ja) | カラールックアップテーブル | |
JPH0563967A (ja) | 3次元データ変換装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 19990629 |