(57)【要約】【課題】  時間のかかる外部メモリへのアクセスを高速化し、内部キャッシュを用い、６つの４面体に対応でき、ヒット率を向上させるデータ変換を提供する。【解決手段】  データ保存として記憶装置（メモリ等）、メモリへアクセスする為のアドレス生成手段（及び又は詳細アドレス演算手段）、メモリから出たデータを保存する為の一次記憶手段（キャッシュ）、メモリアクセス用アドレスと一次記憶手段に入っているデータのアドレスが一致するかを判定する為の判定手段を搭載する。【選択図】  図６
2006173747.tif 000002
【特許請求の範囲】
【請求項１】
ルックアップテーブルを用いてデータ変換を行うデータ変換装置において、
変換されるべき入力データに基づいて、変換後のデータ数に合わせた前記ルックアップテーブルに対応すべきアドレスデータを生成する生成手段と、
該生成手段によって生成されるアドレスデータに基づいて、アドレスデータに対応するルックアップテーブルのデータを取得する手段と、
前記取得したデータを保管する手段を具えたことを特徴とする
データ変換装置及び又は画像形成装置及び又はテーブルデータ格納方法。
【請求項２】
ルックアップテーブルを用いてデータ変換を行うデータ変換装置において、
変換されるべき入力データに基づいて、変換後のデータ数に合わせた前記ルックアップテーブルに対応すべきアドレスデータを生成する生成手段と、
該生成手段によって生成されるアドレスデータに基づいて、アドレスデータに対応するルックアップテーブルのデータを取得する手段と、
前記取得したデータを保管する手段と、
前記取得保存手段により保存されているルックアップテーブルのデータの中から、必要なデータを選択する為の、詳細アドレス演算手段を具えたことを特徴とする
データ変換装置及び又は画像形成装置及び又はテーブルデータ格納方法。
【請求項３】
ルックアップテーブルを用いてデータ変換を行うデータ変換装置において、
変換されるべき入力データと変換後のデータ数に基づいて、前記ルックアップテーブルに対応すべきアドレスデータを生成する生成手段と、
該生成手段によって生成されるアドレスデータに基づいて、アドレスデータに対応するルックアップテーブルのデータを取得する手段と、
前記取得したデータを保管する手段と、
前記取得保存手段により保存されているルックアップテーブルのデータと、前記生成手段により求められたアドレスデータとが一致しているかを判定する手段と、
前記判定手段により一致した場合は、保管データを使う手段を具えたことを特徴とする
データ変換装置及び又は画像形成装置及び又はテーブルデータ格納方法。
【請求項４】
ルックアップテーブルを用いた補間演算によりデータ変換を行うデータ変換装置において、
変換されるべき入力データの一部と変換後のデータ数に基づいて、前記ルックアップテーブルに対応すべきアドレスデータを生成するアドレス生成手段と、
該生成手段によって生成されるアドレスデータに基づいて、アドレスデータに対応するルックアップテーブルのデータを取得する手段と、
前記取得したデータを保管する手段と、
前記保管手段より、入力データの一部に基づいて、データを取得する手段と、
当該データと補間演算係数との組合せに基づいて補間演算を行う補間演算手段と、
を具えたことを特徴とする
データ変換装置及び又は画像形成装置及び又はテーブルデータ格納方法。
【請求項５】
前記変換後の複数データをルックアップテーブルにまとめて保存することにより、ルックアップテーブルから１回で出力することを特徴とする請求項１及び又は２及び又は３及び又は４のいずれかに記載の
データ変換装置及び又は画像形成装置及び又はテーブルデータ格納方法。
【請求項６】
前記保管手段より、入力データの一部に基づいて、データを取得する手段は、１つの取得手段により統合されることを特徴とする請求項４に記載の
データ変換装置及び又は画像形成装置及び又はテーブルデータ格納方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数（多次元）信号を、別の信号に変換するデータ変換装置及び又は画像形成装置及び又はテーブルデータ格納方法に関するものである。
【背景技術】
【０００２】
従来、デジタル化された画像信号の非線形変換（ガンマ変換やlog変換）は、LUTを用いて行われることが多い。これは、上記のような非線形変換を演算回路で求めようとすると、その演算回路が大変複雑になり、回路規模が大きくなるからである。このような変換は、１つの画像信号を別の性質のもう１つの画像信号に変換するものであるため、そこで使用されるLUTは１次元LUTと呼ばれる。
【０００３】
色変換処理は、入力デバイスによって得られる３色（一般的には、R(赤)、G（緑）、B（青）の３色）の画像信号を出力デバイス側の３色あるいはそれ以上の画像信号に変換するものであり、この変換に用いられるLUTは３次元LUTと称される。
【０００４】
ところが、上記入力デバイス３色の画像信号を、前期出力デバイスの複数色中の１色に変換する処理を、上記３次元LUTを用いて行おうとすると、１色の画像信号が8ビットからなる場合、入力24ビット、出力8ビットに対応したLUTが必要となる。
【０００５】
また、補間演算処理として、LUTから読み出すデータ（以下、格子点データという）を、いくつ用いるか、またどのような関係の格子点データを用いるかによって、種々の方法があるが、一般的な方法として、3つの色信号の上位ビット信号で特定される8つの格子点を、立方体の8頂点とするとき、この立方体を3つの平面で分割して得られる６つの4面体の１つを用いて補間が行われるものがある。この方法では、出力色数毎に存在するLUTの格子点データをアクセスする為の、LUTアドレスを夫々生成し、色毎に得られた格子点データ（8頂点、つまり立方体分）を得ている。
【０００６】
また、実際に補間演算に使用する4面体１つ分のデータのみを得ることで、内部キャッシュを小さくするという方法がとられている。
【特許文献１】特開平04-299664号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、上記従来技術では、出力色数毎に存在するLUTへのアドレスを生成し、夫々アクセスしデータを得る必要があり、データを得るまでに時間がかかるとい問題や、実際の補間に用いる４四面体１つ分のデータである4頂点を選択し、計算を行うことから、内部キャッシュとして持つデータが少なく、次のデータでその４頂点をそのまま持ちいれる確率（ヒット率）は低くなる。（つまり、入力データが少しずれただけで、その4面体の範囲ではなくなる。）
また、ヒットしなかった場合、メモリより出力色数毎に存在するLUTの格子点データを夫々得ることが必要になることで、更に処理スピードを低下してしまうという問題があった。
【０００８】
本発明は、出力色数のLUTデータをまとめてメモリに保存することにより、LUTアクセスのアドレス生成が１回で済み、また一度にデータを得ることができる事で、上記従来技術のシングル転送が複数回必要だったものから、バースト転送等のデータ効率が高い転送方法でデータを得ることが可能となり、簡単にすばやくデータを得ることが可能となる。
【０００９】
また、格子点データを一次キャッシュに保存することで、実際に必要な４面体のデータを内部で高速に演算できる。又、格子点データを一度に持つことで、ヒット率が飛躍的に向上できる。
【００１０】
このように、本発明は、時間のかかる外部メモリへのアクセスを高速化し、内部キャッシュを用い、6つの４面体に対応でき、ヒット率を向上させるシステムである。
【課題を解決するための手段】
【００１１】
上記目的を達成するために、本発明のルックアップテーブルを用いてデータ変換を行うデータ変換装置において、変換されるべき入力データに基づいて、変換後のデータ数に合わせた前記ルックアップテーブルに対応すべきアドレスデータを生成する生成手段と、該生成手段によって生成されるアドレスデータに基づいて、アドレスデータに対応するルックアップテーブルのデータを取得する手段と、前記取得したデータを保管する手段を具えたことを特徴とする。
【発明の効果】
【００１２】
本発明によれば、本発明は、ルックアップテーブル（以下、LUTという）を用いた演算処理により、複数（多次元）信号を、別の信号に変換するデータ変換装置に関し、特に例えばR（赤）、G（緑）、B（青）等の多次画像処理信号をY（イエロー）、M(マゼンダ)、C（シアン）、K（黒）等夫々１つの色信号に変換するデータ変換装置に関するものである。
【００１３】
デジタル化された画像信号の非線形変換（ガンマ変換やlog変換）は、LUTを用いて行われることが多い。これは、上記のような非線形変換を演算回路で求めようとすると、その演算回路が大変複雑になり、回路規模が大きくなるからである。このような変換は、１つの画像信号を別の性質のもう１つの画像信号に変換するものであるため、そこで使用されるLUTは１次元LUTと呼ばれる。
【００１４】
色変換処理は、入力デバイスによって得られる３色（一般的には、R(赤)、G（緑）、B（青）の３色）の画像信号を出力デバイス側の３色あるいは４色夫々の画像信号に変換するものであり、この変換に用いられるLUTは３次元LUTと称される。
【００１５】
ところが、上記入力デバイス３色の画像信号を、前期出力デバイスの複数色中の１色に変換する処理を、上記３次元LUTを用いて行おうとすると、１色の画像信号が8ビットからなる場合、入力24ビット、出力8ビットに対応したLUTが必要となる。
【００１６】
また、補間演算処理として、LUTから読み出すデータ（以下、格子点データという）を、いくつ用いるか、またどのような関係の格子点データを用いるかによって、種々の方法があるが、一般的な方法として、3つの色信号の上位ビット信号で特定される8つの格子点を、立方体の8頂点とするとき、この立方体を3つの平面で分割して得られる６つの4面体の１つを用いて補間が行われるものがある。この方法では、出力色数毎に存在するLUTの格子点データをアクセスする為の、LUTアドレスを夫々生成し、色毎に得られた格子点データ（8頂点、つまり立方体分）を得ている。
【００１７】
また、実際に補間演算に使用する4面体１つ分のデータのみを得ることで、内部キャッシュを小さくするという方法が取られている。
【００１８】
しかしながら、上記従来技術では、出力色数毎に存在するLUTへのアドレスを生成し、夫々アクセスしデータを得る必要があり、データを得るまでに時間がかかるとい問題や、実際の補間に用いる４面体1つ分のデータである４頂点を選択し、計算を行うことから、内部キャッシュとして持つデータが少なく、次のデータでその４頂点をそのまま持ちいれる確率（ヒット率）は低くなる。（つまり、入力データが少しずれただけで、その4面体の範囲ではなくなる。）
また、ヒットしなかった場合、メモリより出力色数毎に存在するLUTの格子点データを夫々得ることが必要になることで、更に処理スピードを低下してしまうという問題があった。
【００１９】
本発明は、出力色数のLUTデータをまとめてメモリに保存することにより、LUTアクセスのアドレス生成が１回で済み、また一度にデータを得ることができる事で、上記従来技術のシングル転送が複数回必要だったものから、バースト転送等のデータ効率が高い転送方法でデータを得ることが可能となり、簡単にすばやくデータを得ることが可能となる。
【００２０】
また、格子点データを一次キャッシュに保存することで、実際に必要な４面体のデータを内部で高速に選択できる。又、格子点データを一度に持つことから、ヒット率が飛躍的に向上できる。
【００２１】
このように、本発明は、時間のかかる外部メモリへのアクセスを高速化し、内部キャッシュを用い、6つの４面体に対応でき、ヒット率を向上等の効果が得られる。
【発明を実施するための最良の形態】
【００２２】
本発明のデータ変換装置、画像形成装置およびテーブルデータ格納方法の実施の形態について、図面を参照しながら説明する。
【００２３】
［実施例］
図1に、本発明の構成図を示す。
【００２４】
図１には、本発明に必要なものを示した。(1-1)に入っているメモリへアクセスする為に、（１−２）のアドレス生成手段を用い、アドレスを作る。(1-2)で生成したアドレスにある、メモリのデータを一次記憶手段(1-4)に保存する。これによって、その後(1-4)に保存されているデータを使って処理が可能となる。また、(1-3)に判定手段を示している。この判定手段とは、すでに記憶されているキャッシュ内データと、これから取得しようとしているデータが一致するかを判定し、すでにキャッシュに記憶されているものと一致する場合は、メモリアクセスを行うことなく、保存されているデータを用いることで、次の処理へと移ることができ、効率的に処理することが可能となる。
【００２５】
図１’には、本発明を実際に使用する際の構成図例を示す。
【００２６】
入力データがアドレス生成手段(1’-1)へ入る。この入力データを用いて、メモリ(1’-3)のほしいデータをアクセスする為の、アドレスを作ることが可能となる。メモリから得たデータは一時記憶手段(1’-5)に保存する。
【００２７】
(1’-4)の判断手段を用いることにより、すでにキャッシュに入っているデータを検知でき、これから得たいものであった場合、メモリアクセスをしない等と設定することで、無駄な処理を削減することも可能となる。また、メモリから得たデータの中から、実際に使う部分を詳細アドレス演算手段（1’-2）を用いて、メモリからデータを取得する待ち時間で、演算することができ、メモリからデータを得た後すぐに必要なデータを選択でき、処理(1’-6)を行うことが可能となる。また、ここで述べた詳細アドレス演算は入力データの一部を用いて得られるものであり、出力色数毎に求める必要はなく、一度（一色分）の生成で全ての色データへの詳細アドレスを生成することができる。
【００２８】
また、メモリが外部であった場合、メモリへのアクセスは遅く、内部であるキャッシュアクセスは高速であることから、本発明のように、内部にキャッシュ機能を持ち、判定手段で外部アクセスを少なくすることで、高速処理を可能にできる。
【００２９】
実施例についてはフローチャートを用いて説明する。
【００３０】
図2に本発明の概略フローチャートを示す。
【００３１】
入力データがくる(2-1)と、入力データよりルックアップテーブル（以下、LUT）のアドレス生成を行う(2-2)。このアドレスが、すでにキャッシュに保存されているデータと一致するかの判断(2-3)を行い、一致しなかった場合は、LUTから必要なデータを読み取り(2-4)、キャッシュへ保存する(2-5)。(2-3)でキャッシュデータと一致した場合は、LUTへのアクセスをする必要がない。そして、入力データより、詳細アドレス演算(2-6)を行い、実際に演算に必要な４面体の４頂点データを選択する(2-7)。
【００３２】
この動作により、演算に必要なデータ４点が出力データ分揃うことになる。
【００３３】
図3〜5において、従来方法の説明を行う。
【００３４】
図3に入力データから１色データを得るまでの概略図を示し、説明する。
【００３５】
入力データがRGBの３色で、立方体の境界を16単位とした場合を想定し説明する。
【００３６】
入力RGBデータによって、１つの立方体を取り出す。
【００３７】
例えば、入力R=G=B=0〜15だった場合、一番左手前の立方体が選ばれる。
【００３８】
この立方体の8頂点データを使い色変換を行うことが可能となる。
【００３９】
また、出力色数毎にこの大きな立方体集合が存在し、夫々の色毎に、１つの小さな立方体を選択するという作業を行う必要がある。
【００４０】
また、図4は図３と同様に、メモリ空間のイメージで書いたものである。
【００４１】
つまり、図3，3’の場合も、出力色数毎の空間にアクセスする為の、アドレス生成が必要となり、また夫々の空間から、必要なデータを選び出すという作業が必要となる。
【００４２】
更に、図4に示すように、図3，3’で説明した１つの立方体を選択した後、実際に必要な4頂点を選択し、データを送信する必要がある。
【００４３】
次に、図5に図3，3’，4で説明した場合からLUTのメモリ容量を削減した従来例を示し、説明する。
【００４４】
(5-1)では、図4の(4-1)に示した立方体集合とは違い、ピンク色の立方体毎にデータを持つという方法である。この方法で、赤●の選択部分の立方体データを得たい場合、(5-2)に示すように、選択した部分のデータを得るためには、周辺の４つの立方体を選択(5-3)し、そこから、実際にいる4頂点データを夫々の立方体(5-3)より受け取らなければならない(5-4)。
【００４５】
このように、ピンク色の立方体のデータがほしい場合には、１回のアクセスですむが、それ以外の部分のデータを得たい場合には、例に示したように4回であったり、最悪は、８回になる場合もある。
【００４６】
次に、図6〜本発明の説明図を示す。
【００４７】
図6に、本発明のデータ保存方法として、入力が3つで、出力色数が4色、１頂点データが8ビットの場合を例にあげ説明する。ここで、入力データはRGBとし、出力色は、YMCKとする。
【００４８】
出力色がYMCKの４色であった場合、一度にデータを得る為に、このYMCKデータをパックし保存する(6-1)。LUTの１つの領域(立方体)のデータは8頂点(6-2)であり、１頂点のデータが8ビットとすると、１領域（立方体）データは、8頂点×8ビットとなり、64ビット(6-3)である。そして、同様にその他の色を考えると、１領域の総色データは、(8頂点×8ビット)×色数であり、本説明の4色であった場合、総色データは、64ビット×4色となる。この総色データ（以下、YMCKパックという）は(6-4)にしめすように、パックされる。このYMCKパックを入力データ３色から得られるアドレス空間（メモリ）(6-5)へ保存する。この方法により、入力データから得たアドレスによって、出力色数分の色データを一度に得ることが可能となる。
【００４９】
図７に、本発明における該当立方体選択方法として、図6で説明した入力が３色で出力が４色であった場合の、YMCKパックを実際に取り出すまでの説明を行う。
【００５０】
メモリ空間にYMCKがパックされた状態で保存されている(7-1)。入力データより、この空間へアクセスする為のアドレスを生成し、１つの領域（YMCKパック）を取ってくる。このデータは、(7-2)のようにY,M,C,Kとパックされており、夫々を一度に得ることができる(7-3)。このYのデータは、(7-4)に示すように立方体8頂点のデータが入っており、実際に使うデータをその後、選択し、処理へと移ることが可能となる。
【００５１】
このように本発明の説明を行ってきた。ここで説明に用いたYMCKパックは64ビット×4色であり、メモリアクセスを今まで、一色ずつシングルアクセスしていたものが、バーストでとることができる、アクセスの高速化が可能となる。また、立方体をキャッシュに保存し、実際に使う頂点をその中から選択することで、入力画像の多少の変化でも、キャッシュ内のデータをそのまま使える。つまりキャッシュないデータを使う可能性が増える（ヒット率が上がる）といえる。外部のアクセスは一般的には時間がかかり、内部キャッシュアクセスは高速であることから、高速処理を可能にすることが可能となる。
【００５２】
図8に、本発明における詳細アドレス演算手段として、図７で説明した入力が３色で出力が４色であった場合の、YMCKパックを実際に取り出した後の、詳細アドレス演算手段についての説明を行う。
【００５３】
メモリ空間にYMCKがパックされた状態で保存されている(8-1)。このメモリ空間は、格子点単位を１６（つまり、R＝0〜15が１BLOCK目、R=16〜31を２BLOCK目となる）として、３次元空間にデータを保存したと過程する。
【００５４】
（１）入力データがR=18,G=3,B=1とした場合、実際に使うBLOCKは、（8-1）のメモリ空間より、R方向に２個目、G方向１個目、B方向に１個目の○でかこったBLOCKであることがわかる。（２）このBLOCKのYMCK Packデータを取得する(8-2)。その後、（３）実際に演算に用いる４面体の４頂点を得る為に、入力データ又は入力データの一部より、詳細アドレス演算を行う。
【００５５】
この演算は、立方体の[0]で示した基準点とその対角線の他、２頂点を演算により選択するものである。入力データより、RGB夫々が、どの点に近いかを演算することで、入力データが、どの４面体に属するかで判定する。この例では、赤の○で囲った（５）（１）が選択されることなる。
【００５６】
図６，図７，図８で本発明の説明として、出力デバイスの色数によって、１つにまとめる例をあげ、説明を行ったが、出力デバイスの色数によって、一番効率的なパック方法をとることも可能である。例えば、６色であった場合、一番効率的な方法として、４つと２つに分ける方法が考えられる。この分け方にすると、64ビット×４と、64ビット×２となり、バスの転送方法によっては、64ビットごとに送るよりも高速になる場合が多い。
【００５７】
このように、出力色数によって、最適と思われる構成に変更してもかまわない。
【００５８】
また、入力データ数が増えた場合においても、出力とどうように、アドレス生成部が複数存在してもかまわないし、効率的にメモリをわけてもかまわない。
【００５９】
また、詳細演算方法については、図８で一例を出したが、これ以外の方法で行ってもかまわない。
【図面の簡単な説明】
【００６０】
【図１】図1は本発明の概略構成図、図1’は本発明の構成例
【図２】本発明による概略フローチャート
【図３】図３は入力データから１色データを得るまでの概略図、図3’は入力データから１色データを得るまでの概略図（メモリイメージ）
【図４】4頂点選択方法(3入力の場合)の概略説明図（１）
【図５】4頂点選択方法(3入力の場合)の概略説明図（２）
【図６】本発明のデータ保存方法概略説明図(3入力の場合)
【図７】本発明における該当立方体選択方法(3入力の場合)の概略説明図
【図８】本発明における詳細アドレス演算の概略説明図
【符号の説明】
【００６１】
1-1  メモリ
１−２  アドレス生成手段を
１−３  判定手段
1-４  一次記憶手段
【図１】
2006173747.tif 000003
【図２】
2006173747.tif 000004
【図３】
2006173747.tif 000005
【図４】
2006173747.tif 000006
【図５】
2006173747.tif 000007
【図６】
2006173747.tif 000008
【図７】
2006173747.tif 000009
【図８】
2006173747.tif 000010