(57)【要約】【課題】  ＬＵＴ変換を高速且つ低価格に実現できる変換装置、及びこの変換装置を備える画像形成装置を提供することを目的とすること。【解決手段】  各値とその値に対する変換値との対応を記述したテーブルを記憶するＬＵＴ記憶部３６１と、入力データ列からのデータを所定数記憶する入力データ記憶部３２と、入力データ記憶部３２のデータのうちで、入力データ記憶部３２の先頭のデータと同じ値を有するものを判別するデータ判別部３３と、前記先頭のデータに対する変換値をＬＵＴ記憶部３６１から読み出すデータ変換部３６と、データ判別部３３により同じ値を有すると判別されたデータに対する変換値に、データ変換部３６により読み出された変換値を設定する変換データ設定部３７と、前記先頭のデータから連続して既に変換値の設定されているデータを取り除くように入力データ記憶部３２内でデータをシフトする入力データ制御部３１とを変換装置１に備える。【選択図】  図２
2006139666.tif 000002
【特許請求の範囲】
【請求項１】
各値とその値に対する変換値との対応を記述したテーブルを記憶する変換テーブル記憶手段と、
入力データ列のデータをその列の順に予め定められた数だけ記憶する入力データ記憶手段と、
前記入力データ記憶手段が記憶するデータのうちで、前記入力データ記憶手段の先頭に記憶されているデータと同じ値を有するものを判別する判別手段と、
前記先頭のデータに対する変換値を前記変換テーブル記憶手段から読み出す変換手段と、
前記判別手段により同じ値を有すると判別されたデータに対する変換値として、前記変換手段により読み出された変換値を設定する設定手段と、
前記先頭のデータから連続して既に変換値の設定されているデータを取り除くように入力データ記憶手段内でデータをシフトするシフト手段と
を備える変換装置。
【請求項２】
前記変換手段は、前記入力データ記憶手段の先頭の２つのデータごとに変換値を前記記憶手段から読み出す請求項１に記載の変換装置。
【請求項３】
前記入力データは、画像データの画素値である請求項１又は２に記載の変換装置。
【請求項４】
前記変換テーブル記憶手段は、画像のγ変換の変換テーブルを記憶する請求項３に記載の変換装置。
【請求項５】
請求項１〜４のいずれかに記載の変換装置を備える画像形成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＬＵＴによりデータを変換する変換装置、及びこの変換装置を備える画像形成装置に関する。
【背景技術】
【０００２】
データの変換をハードウェアで行うにあたってその都度演算を行うことは回路が複雑になり時間もかかるので、入力データとその変換値とを対応付けたテーブル（以下、ＬＵＴ（Look Up Table）という。）をＳＲＡＭ（Static Random Access Memory）等に記憶して用いられることが多い。このＬＵＴは様々な分野で使用されている。また、ＬＵＴを用いる以外の方法として、マルチプロセッサを用いて並列に各データの変換を行い高速化を図ったものがある（下記特許文献１）。
【０００３】
チップ単価を低くするためには、ＬＵＴのサイズを小さくする必要があるので、１ポートＳＲＡＭを用いることが望ましい。また、パフォーマンスを必要とする場合には、同じ内容のＬＵＴを複数備えたり、分割して同時にリードできる構成にしたりされる。
【特許文献１】特開２００３−１１０８５３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、１ポートＳＲＡＭを用いた場合には、１サイクルに１入力しか変換できないため高速に変換ができないという問題がある。また、同じ内容のＬＵＴを複数備える場合には、チップサイズが大きくなるため高価になるという問題がある。更に、分割して同時にリードできる構成にする場合には、分割の仕方が難しく、更に同一の入力値に対しては、常に１入力／サイクルのパフォーマンスしかでないという問題がある。また、画像処理においては、ある画素の近傍には同一の値が多い。
【０００５】
本発明は、上記問題点に鑑みて成されたもので、特にある値の近傍に同一の値が多い場合にＬＵＴ変換を高速且つ低価格に実現できる変換装置、及びこの変換装置を備える画像形成装置を提供することを目的とする。
【課題を解決するための手段】
【０００６】
請求項１に係る変換装置は、各値とその値に対する変換値との対応を記述したテーブルを記憶する変換テーブル記憶手段と、入力データ列のデータをその列の順に予め定められた数だけ記憶する入力データ記憶手段と、前記入力データ記憶手段が記憶するデータのうちで、前記入力データ記憶手段の先頭に記憶されているデータと同じ値を有するものを判別する判別手段と、前記先頭のデータに対する変換値を前記変換テーブル記憶手段から読み出す変換手段と、前記判別手段により同じ値を有すると判別されたデータに対する変換値として、前記変換手段により読み出された変換値を設定する設定手段と、前記先頭のデータから連続して既に変換値の設定されているデータを取り除くように入力データ記憶手段内でデータをシフトするシフト手段とを備えるものである。
【０００７】
この構成によれば、入力データ記憶手段により記憶されているデータのうちで、この入力データ記憶手段の先頭に記憶されているデータと同じ値を有するものが判別手段により判別される。そして、この先頭のデータに対する変換値が変換手段により変換テーブル記憶手段から読み出され、判別手段により同じ値を有すると判別されたデータに対する変換値に、この変換値が設定手段により設定される。そしてその後、前記先頭のデータから連続して既に変換値の設定されているデータが除かれ、残りのデータがシフト手段により入力データ記憶手段内でシフトされる。
【０００８】
したがって、入力データに同じデータが多く含まれる場合には、入力データ記憶手段の大きさの範囲内でそれらのデータが一時に変換され、既に変換されたデータの変換は以後スキップされるので、データ変換を高速に行うことができる。また、変換速度を上げるために変換テーブル記憶手段（例えば１ポートＳＲＡＭ）を高価なもの（例えば複数ポートＳＲＡＭ）にする必要がないので、低価格に高速変換を実現することができる。また、入力データ記憶手段を大きなものにすることにより、変換テーブル記憶手段を変えずに変換速度を上げることができるため、容易且つ安価に性能（速度）を調整することができる。
【０００９】
請求項２に係る変換装置は、請求項１に記載の変換装置であって、前記変換手段は、前記入力データ記憶手段の先頭の２つのデータごとに変換値を前記記憶手段から読み出すものである。
【００１０】
この構成によれば、データ２つごとに変換が行われるので、更に高速にデータ変換を行うことができる。
【００１１】
請求項３に係る変換装置は、請求項１又は２に記載の変換装置であって、前記入力データは、画像データの画素値であるものである。
【００１２】
この構成によれば、変換装置は、画像データの画像値を入力とし変換するので、請求項１又は２の作用を奏する画像変換装置を提供することができる。
【００１３】
請求項４に係る変換装置は、請求項３に記載の変換装置であって、前記変換テーブル記憶手段は、画像のγ変換の変換テーブルを記憶するものである。
【００１４】
この構成によれば、請求項３の作用を奏するγ変換装置を提供することができる。
【００１５】
請求項５に係る画像形成装置は、請求項１〜４のいずれかに記載の変換装置を備えるものである。
【００１６】
この構成によれば、請求項１〜４のいずれかの作用を奏する画像形成装置を提供することができる。
【発明の効果】
【００１７】
請求項１に記載の発明によれば、入力データに同じデータが多く含まれる場合には、入力データ記憶手段の大きさの範囲内でそれらのデータが一時に変換され、既に変換されたデータの変換は以後スキップされるので、データ変換を高速に行うことができる。また、変換速度を上げるために変換テーブル記憶手段（例えば１ポートＳＲＡＭ（Static Random Access Memory））を高価なもの（例えば複数ポートＳＲＡＭ）にする必要がないので、低価格に高速変換を実現することができる。また、入力データ記憶手段を大きなものにすることにより、変換テーブル記憶手段を変えずに変換速度を上げることができるため、容易且つ安価に性能（速度）を調整することができる。
【００１８】
請求項２に記載の発明によれば、データ２つごとに変換が行われるので、更に高速にデータ変換を行うことができる。
【００１９】
請求項３に記載の発明によれば、変換装置は、画像データの画像値を入力とし変換するので、請求項１又は２の効果を奏する画像変換装置を提供することができる。
【００２０】
請求項４に記載の発明によれば、請求項３の効果を奏するγ変換装置を提供することができる。
【００２１】
請求項５に記載の発明によれば、請求項１〜４のいずれかの効果を奏する画像形成装置を提供することができる。
【発明を実施するための最良の形態】
【００２２】
以下、本発明に係る実施形態を図面に基づいて説明する。図１は、本発明の一実施形態に係るデータ変換装置の全体構成を概略的に示すブロック図である。データ変換装置１は、例えば複写機等の画像形成装置に備えられ、画像データのγ変換を行うものである。データ変換装置１は、入力バスＩ／Ｆ（Interface）２、ＬＵＴ（Look Up Table）変換部３、及び出力バスＩ／Ｆ４を備える。本実施形態において、入力バス及び出力バスは共に３２ビットのバス幅を有する。
【００２３】
入力バスＩ／Ｆ２は、変換元のデータのシーケンスである入力データ列（例えば画像データの各画素を示すアドレス）のデータを先頭から順に３２ビットずつ入力バス（図示省略）を通して受信し（ここで、例えばアドレスサイズを８ビットとする。）、ＬＵＴ変換部３に渡すためのＩ／Ｆである。ＬＵＴ変換部３は、入力バスＩ／Ｆ２を通して受信した変換元のデータを、ＬＵＴに基づいて変換し、出力バスＩ／Ｆ４に送信するものである。出力バスＩ／Ｆ４は、ＬＵＴ変換部３により変換されたデータをＬＵＴ変換部３から受け取り、出力バス（図示省略）に出力するものである。
【００２４】
図２は、ＬＵＴ変換部３の機構構成を示すブロック図である。ＬＵＴ変換部３は、入力データ制御部３１、入力データ記憶部３２、データ判別部３３、判別結果記憶部３４、変換対象識別フラグ部３５、データ変換部３６、変換データ設定部３７、及び変換終了識別フラグ部３８を備える。また、データ変換部３６は、ＬＵＴ記憶部３６１を備え、変換データ設定部３７は、変換結果記憶部３７１を備える。
【００２５】
入力データ記憶部３２は、入力バスＩ／Ｆ２から入力されたデータ（アドレス）を記憶するもので、例えば８ビットデータ８個分（計６４ビット）の記憶領域を備える。
【００２６】
データ判別部３３は、入力データ記憶部３２に格納されているデータ（８ビットデータを１つのデータとする。）の先頭データと他のデータとを比較して、先頭データと同じ値を有するデータを判別するものである。例えば、先頭データと他の全てのデータとを比較回路により各々比較し、先頭データと同じ値のデータに対しては１、先頭データと異なる値のデータには０を出力する。
【００２７】
判別結果記憶部３４は、データ判別部３３により判別された結果を格納するものである。判別結果記憶部３４は、例えば、入力データ記憶部３２の各データに対応する１ビットデータ領域を８つ備え、先頭データと同じ値のデータに対応する領域には１を格納し、そうでない領域には０を格納する。
【００２８】
変換対象識別フラグ部３５は、既に変換されたデータをスキップし、次に変換対象となるデータを識別するための情報を記憶するものである。変換対象識別フラグ部３５は、例えば、入力データ記憶部３２の各データに対応する１ビットデータ領域を８つ備え、既に変換の行われたデータに対応する領域には１を格納し、そうでない領域には０を格納する。変換対象識別フラグ部３５は、判別結果記憶部３４に新たな結果が書き込まれたときに、変換対象識別フラグ部３５に既に格納されている変換対象識別フラグと、判別結果記憶部３４の判別結果の対応する各ビット（領域）とのビット毎の論理和（ＯＲ）をとり、その結果を変換対象識別フラグ部３５に書き込む。また、変換対象識別フラグ部３５は、変換データ設定部３７で、変換データが変換結果記憶部３７１に設定される毎に、先頭のビットから連続して１が格納されている領域（ビット）数分、入力データ記憶部３２と連動してデータを先頭方向にシフトする。これにより、入力データ記憶部３２の先頭データには、まだ変換が終了していない最初のデータが次の変換対象として位置されることとなる。
【００２９】
入力データ制御部３１は、変換データが変換結果記憶部３７１に設定される毎に、変換対象識別フラグ部３５及び入力データ記憶部３２のデータをシフトする制御を行うと共に、入力データ記憶部３２にデータがなくなった場合には、入力バスＩ／Ｆからデータを入力データ記憶部３２に入力する。
【００３０】
ＬＵＴ記憶部３６１は、ＬＵＴを記憶するもので、例えばＳＲＡＭ（Static Random Access Memory）である。ＬＵＴ記憶部３６１は、例えばγ変換用のＬＵＴを記憶する。データ変換部３６は、ＬＵＴ記憶部３６１のＬＵＴに基づき、入力された例えば１つのデータを変換しこれを出力するものである（１ポートＬＵＴの場合）。
【００３１】
変換結果記憶部３７１は、入力データ記憶部３２に入力された８つのデータ（アドレス）の変換結果のデータ（すなわち８つ）を記憶するものである。変換データ設定部３７は、データ変換部３６から出力された変換データを変換結果記憶部３７１に書き込むものである。変換データ設定部３７は、変換終了識別フラグ部３８の最初の０の位置に判別結果記憶部３４のデータの先頭がくるように位置させた場合の、この判別結果記憶部３４のデータが１の位置と同じ位置にある変換結果記憶部３７１の領域に、データ変換部３６から出力された変換データを書き込む。変換データ設定部３７は、変換終了識別フラグ部３８に全て１が格納された場合には、変換結果記憶部３７１の内容を出力バスＩ／Ｆに送信すると共に、入力データ制御部３１にその旨を送信する。
【００３２】
変換終了識別フラグ部３８は、変換結果記憶部３７１の変換済みデータが格納されている位置（領域）を識別するための情報を記憶するものである。変換終了識別フラグ部３８は、変換終了識別フラグ部３８の最初の０の位置に判別結果記憶部３４のデータの先頭がくるように位置させた場合の、この判別結果記憶部３４のデータが１の位置と同じ位置にある当該変換終了識別フラグ部３８の領域に、データ変換が終了したことを識別するために１を書き込む。
【００３３】
次ぎに、ＬＵＴ変換部３の処理の流れを説明する。図３は、ＬＵＴ変換部３の処理の流れを示すフローチャートである。変換対象識別フラグ部３５には、初期値として０が書き込まれていることとする。
【００３４】
ステップＳ１では、入力データ制御部３１は、入力データ列にまだデータがあるか否かをチェックし、もうデータがない場合には（ステップＳ１でＮＯ）、処理を終了する。まだデータがある場合には（ステップＳ１でＹＥＳ）、ステップＳ２へ進む。ステップＳ２では、入力データ制御部３１は、次の８つのデータ（アドレス）（例えば画素値を示すアドレス）を入力データ記憶部３２に書き込む。ここで、例えばこの８つのデータは２回に分けて（すなわち、３２ビットずつ）入力データ記憶部３２に書き込まれる。
【００３５】
ステップＳ３では、データ変換部３６は、入力データ記憶部３２の先頭のデータを取り込む。ステップＳ４では、データ判別部３３は、入力データ記憶部３２の記憶するデータを取り込む。ステップＳ５では、データ判別部３３は、取り込んだデータに対しその先頭のデータと同じ値を有するデータを判別する演算（比較演算）を行い、判別結果を判別結果記憶部３４に書き込む。ここで、例えば先頭データと同じ値のデータに対応する領域には１が書き込まれ、同じ値でないデータに対応する領域には０が書き込まれる。
【００３６】
ステップＳ６では、変換対象識別フラグ部３５は、判別結果記憶部３４及び変換対象識別フラグ部３５の対応する各ビットに対しビット毎の論理和をとり、その結果を変換対象識別フラグ部３５に書き込む。ステップＳ７では、データ変換部３６は、データ変換部３６に入力されている変換元データに対する変換データをＬＵＴ記憶部３６１から読み出し、変換データ設定部３７に出力する。そして、変換データ設定部３７は、変換終了識別フラグ部３８の最初の０の位置に判別結果記憶部３４のデータの先頭がくるように位置させた場合の、この判別結果記憶部３４のデータが１の位置と同じ位置にある変換結果記憶部３７１の領域に、データ変換部３６から出力された変換データを書き込む。ステップＳ８では、変換終了識別フラグ部３８は、変換結果記憶部３７１の変換済みデータが格納されている位置（領域）を識別するための情報を記憶するものである。変換終了識別フラグ部３８は、変換終了識別フラグ部３８の最初の０の位置に判別結果記憶部３４のデータの先頭がくるように位置させた場合の、この判別結果記憶部３４のデータが１の位置と同じ位置にある当該変換終了識別フラグ部３８の領域に、データ変換が終了したことを識別するために１を書き込む。
【００３７】
ステップＳ９では、入力データ制御部３１は、変換対象識別フラグ部３５の０の位置が最初にくるまで、入力データ記憶部３２と変換対象識別フラグ部３５を連動してシフトさせる。ステップＳ１０では、変換終了識別フラグ部３８は、自身の保持するビットが全て１か否かをチェックし、全て１でない場合には（ステップＳ１０でＮＯ）、ステップＳ３へ戻りステップＳ３からの処理を繰り返す。ステップＳ１０の分岐において、変換終了識別フラグ部３８のビットが全て１である場合には（ステップＳ１０でＹＥＳ）、ステップＳ１１へ進む。ステップＳ１１では、変換終了識別フラグ部３８は、ビットが全て１である旨を変換データ設定部３７に送信し、変換データ設定部３７は、変換結果記憶部３７１の内容を出力バスＩ／Ｆに出力する。ステップＳ１１が終了した場合には、ステップＳ１に戻りステップＳ１からの処理を繰り返す。
【００３８】
このフローチャートにおいて、ステップＳ６からステップＳ５までが１サイクルで行われる。すなわち、１つ前の入力データに対するステップＳ６からステップＳ１０（又はステップＳ１１）までの処理と、次の入力データに対するステップＳ１（又はステップＳ３）からステップＳ５までの処理が１サイクルで行われる。この１サイクル中の処理はこのフローチャートに示すように全てシーケンシャルに行われる必要はなく、並列に行えるものは並列に行って良い。
【００３９】
次に、ＬＵＴ変換部３の処理の流れを具体例を用いて説明する。図４は、入力データ記憶部３２、判別結果記憶部３４、変換対象識別フラグ部３５、変換結果記憶部３７１、及び変換終了識別フラグ部３８の記憶内容の変化を、特定の例について示したシーケンス図である。図４において、入力データは入力データ記憶部３２の記憶内容、判別結果は判別結果記憶部３４の記憶内容、変換対象識別フラグは変換対象識別フラグ部３５の記憶内容、変換結果は変換結果記憶部３７１の記憶内容、変換終了識別フラグは変換終了識別フラグ部３８の記憶内容を表すものである。斜体数字は初期値を表す。また、ａ〜ｈは、変換元データを表し、ａ’〜ｈ’は、ａ〜ｈにそれぞれ対応した変換（済み）データを表す。ここで、（ａ＝ｂ＝ｃ＝ｆ＝ｇ）≠（ｄ＝ｅ）≠ｈとする。したがって、（ａ’＝ｂ’＝ｃ’＝ｆ’＝ｇ’）≠（ｄ’＝ｅ’）≠ｈ’である。
【００４０】
状態Ｓｔ１は、図３のフローチャートのステップＳ１〜Ｓ５を行った後の状態で、入力データ記憶部３２に８つのデータ（ａ〜ｈ）が書き込まれ（ステップＳ２）、判別結果が判別結果記憶部３４に書き込まれた（ステップＳ５）状況を示している。参照判別結果は、変換結果を書き込む変換結果記憶部３７１内の位置と、変換終了識別フラグを立てる変換終了識別フラグ部３８内の位置とが分かりやすいように、有効ビットの最初の０の位置に判別結果の先頭がくるように（ステップＳ７）判別結果を表示した仮想情報である。
【００４１】
状態Ｓｔ２は、図３のフローチャートのステップＳ６〜Ｓ７を行った後の状態で、判別結果と変換対象識別フラグとのビット毎の論理和の結果値で変換対象識別フラグが更新され（ステップＳ６）、参照判別結果に１が立っている位置と同じ位置にある変換結果記憶部３７１の領域に変換データが書き込まれ（ａ’＝ｂ’＝ｃ’＝ｆ’＝ｇ’）、これと同じ位置にある変換終了識別フラグ部３８の領域に１が書き込まれた（ステップＳ７）状況を示している。
【００４２】
状態Ｓｔ３は、図３のフローチャートのステップＳ８〜（ステップＳ９でＮＯ〜）Ｓ５を行った後の状態で、変換対象識別フラグの最初の０が先頭にくるまで、入力データ及び変換対象識別フラグが連動してシフトされ（ステップＳ８）、判別結果が判別結果記憶部３４に書き込まれた（ステップＳ５）状況を示している。状態Ｓｔ２へのステップ及び状態Ｓｔ３へのステップ、すなわち、図３のフローチャートのステップＳ６からステップＳ５までは１サイクルで行われる。
【００４３】
状態Ｓｔ４及び状態Ｓｔ５は、状態Ｓｔ２及び状態Ｓｔ３と同様である。状態Ｓｔ６は、判別結果と変換対象フラグとのビット毎の論理和の結果値で変換対象識別フラグが更新され（ステップＳ６）、参照比較結果の１が立っている位置と同じ位置にある変換結果記憶部３７１の領域に変換データが書き込まれ、これと同じ位置にある変換終了識別フラグ部３８の領域に１が書き込まれた（ステップＳ７）状況を示している。
【００４４】
これで、有効ビットは全て１であるので、ステップＳ９の分岐においてＹＥＳとなりステップＳ１０に進み、変換バッファの内容が出力バスに出力される。その後、入力データがまだある場合にはステップＳ１からの処理（すなわち、状態Ｓｔ１〜Ｓｔ６）が繰り返される。この例においては、４サイクルで８つのデータを変換できた。１ポートＬＵＴを用いて１データずつ変換する場合には、９サイクルを要する。
【００４５】
このように本実施形態においては、入力データ記憶部に入力されたデータのうち、同じ値を有するデータは一時に変換するので、１ポートＬＵＴを用いた場合でも、高速にデータ変換を行うことができる。したがって、安価且つ高速にデータ変換を行うことができる。
【００４６】
なお、本発明は、上記実施形態のものに限定されるものではなく、以下に述べる態様を採用することができる。本実施形態においては、１ポートＬＵＴを用いたが、複数ポートを備えるＬＵＴ（すなわち、複数データを並列に変換可能なＬＵＴ）を用いてもよい。この場合には、ＬＵＴが高価になるとともに、データ判別部３３（すなわち、比較器）及び判別結果記憶部３４が複数必要となるので、より高価となるが、より高速な変換装置を提供することができる。
【００４７】
本実施形態においては、８つのデータを記憶可能な入力データ記憶部３２を用いたが、より多い（又は少ない）データを記憶可能な入力データ記憶部３２（これに伴い、データ判別部３３，判別結果記憶部３４，変換対象識別フラグ部３５，変換記憶部３７１，変換終了識別フラグ部３８の記憶データ数も入力データ記憶部３２と同数に変更する必要がある。）を用いても良い。このようにすると簡単な構成の変更で変換装置の変換速度を変更することができる。
【図面の簡単な説明】
【００４８】
【図１】本発明の一実施形態における変換装置の機能構成を示すブロック図である。
【図２】本発明の一実施形態におけるＬＵＴ変換部の機能構成を示すブロック図である。
【図３】本発明の一実施形態における変換装置の処理の流れを示すフローチャートである。
【図４】本発明の一実施形態における変換装置の具体的な例に対する状態の流れを示すシーケンス図である。
【符号の説明】
【００４９】
１  変換装置
３１  入力データ制御部（シフト手段）
３２  入力データ記憶部（入力データ記憶手段）
３３  データ判別部（判別手段）
３６  データ変換部（変換手段）
３６１  ＬＵＴ記憶部（変換テーブル記憶手段）
３７  変換データ設定部（設定手段）
【図１】
2006139666.tif 000003
【図２】
2006139666.tif 000004
【図３】
2006139666.tif 000005
【図４】
2006139666.tif 000006