(57)【要約】【課題】  バッファの前段処理におけるミスヒットのペナルティを隠蔽し、バッファの容量を削減し、バッファ以降の処理でのリアルタイム性を保証する。【解決手段】  入力された画像データを色処理するための整数部データと、色処理された画像データを補間処理するための小数部データとを入力された画像データに基づいて生成する。そして、整数部データ及び小数部データに対してそれぞれ異なる圧縮方法を用いて圧縮し、圧縮されたデータに基づいて色処理及び補間処理を行う。【選択図】      図１
2008187514.tif 000002
【特許請求の範囲】
【請求項１】
入力された画像データを色処理及び補間処理して出力する画像処理装置であって、
入力された画像データを色処理するための整数部データと、該色処理された画像データを補間処理するための小数部データとを前記入力された画像データに基づき生成する生成手段と、
前記整数部データ及び小数部データに対してそれぞれ異なる圧縮方法を用いて圧縮する圧縮手段と、
前記圧縮手段で圧縮されたデータに基づき前記色処理及び補間処理を行う処理手段とを有することを特徴とする画像処理装置。
【請求項２】
前記整数部データを圧縮する圧縮方法は、可逆圧縮であることを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記小数部データを圧縮する圧縮方法は、非可逆圧縮であることを特徴とする請求項１に記載の画像処理装置。
【請求項４】
前記補間処理として四面体補間を用い、どの四面体に属するかを示す情報を取得し、該情報は前記整数部データに含めて圧縮されることを特徴とする請求項１に記載の画像処理装置。
【請求項５】
前記小数部データは、大きさ順に並び替えられて圧縮されることを特徴とする請求項４に記載の画像処理装置。
【請求項６】
前記圧縮手段で圧縮された整数部データに基づき、ルックアップテーブルに格納された格子点データをバッファに読み出して前記色処理を行う手段と、
前記圧縮手段で圧縮された小数部データを伸張する手段と、
前記格子点データと前記伸張された小数部データとに基づき前記補間処理を行う手段とを更に有することを特徴とする請求項１乃至５の何れか１項に記載の画像処理装置。
【請求項７】
前記整数部データを圧縮する圧縮方法は、スライド辞書を用いる方法であることを特徴とする請求項２に記載の画像処理装置。
【請求項８】
入力された画像データを色処理及び補間処理して出力する画像処理方法であって、
入力された画像データを色処理するための整数部データと、該色処理された画像データを補間処理するための小数部データとを前記入力された画像データに基づき生成する生成工程と、
前記整数部データ及び小数部データに対してそれぞれ異なる圧縮方法を用いて圧縮する圧縮工程と、
前記圧縮工程で圧縮されたデータに基づき前記色処理及び補間処理を行う処理工程とを有することを特徴とする画像処理方法。
【請求項９】
請求項８に記載の画像処理方法をコンピュータに実行させるためのプログラム。
【請求項１０】
請求項９に記載のプログラムを格納したコンピュータ読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、入力された画像データを色処理及び補間処理して出力する画像処理装置及び画像処理方法に関する。
【背景技術】
【０００２】
近年、カラー画像データを入力する入力機器としては、スキャナ、ビデオカメラなどが普及している。一方、出力機器としては、インクジェット方式、染料熱昇華型、電子写真方式などを用いた、各種カラープリンタが普及している。これらのカラー入出力機器は、それぞれ固有の色空間を有している。そのため、例えばあるスキャナで読み取ったカラー画像をそのまま別のカラープリンタに転送して印刷した場合、印刷されたカラー画像の色がスキャナで読み取ったオリジナルのカラー画像の色と一致することは殆どない。
【０００３】
このようなカラー画像に対するデバイス間での色再現性の問題を解決するために、入力デバイスの色空間を出力デバイスの色空間に変換する処理（「色処理」と称す）が必要となる。そして、入出力機器の間で色彩再現性能を高めるために、色処理機能が入出力機器に搭載されている。
【０００４】
この色処理とは、具体的には入力γ補正、輝度濃度変換、マスキング、黒生成、ＵＣＲ、出力γ補正などの一連の画像処理全体、或いはその中の一部の処理を指す。プリンタにおいては、入力デバイスのレッド、グリーン、ブルー（ＲＧＢ）３色のデジタル画像信号を同時に参照して、出力デバイスのシアン、マゼンタ、イエロー、ブラック（ＣＭＹＫ）４色のデジタル画像信号に変換する場合に用いられる。
【０００５】
色処理の実現方法は、空間から空間への対応付けを行うことで実現できる。このような変換を行う手法は多く存在するが、それらの中でも、例えば特許文献１、２に記載された三次元ルックアップテーブル（３Ｄ−ＬＵＴ）と補間による手法がよく用いられている。ＬＵＴと補間による色変換にも様々な手法が存在するが、必要なデータ量、必要な演算量、単位直方体間での出力の連続性、及びグレーラインの補間特性などから、特許文献１に開示された四面体補間が使用されることが多い。
【０００６】
しかしながら、３Ｄ−ＬＵＴ＋補間による色変換方法では、色変換の精度を向上させるために、３Ｄ−ＬＵＴの１軸当たりの格子点数（グリッド数）を増加させると、ＬＵＴの容量は３次元では３乗で増加する。また、色再現性向上のため、ＲＧＢ以外の色フィルタを追加したデジタルカメラも登場しており、この場合、上記ＬＵＴの容量はグリッド数の４乗となり、膨大なメモリ容量が必要となる。
【０００７】
一方、プリンタなどの出力機器においても、色再現性や階調性、粒状性の向上のため、多数の色材（インク）を用いるものがあり、この場合のＬＵＴ容量は色材の数に比例して増加する。
【０００８】
これを解決するために、キャッシュ機構を取り入れた手法がよく用いられる。例えば、特許文献３に記載されているように、まず各頂点に独立の小容量の高速なＳＲＡＭで構成されるキャッシュメモリを設け、これらのキャッシュメモリに共有され、時分割にてアクセスされるメモリを設ける。この共有されるメモリはＤＲＡＭ等の安価なメモリ上に構成し、ＬＵＴの全てを格納する。この構成により、高価なＳＲＡＭの総容量が減り、コストが少なくなるとともに、性能の低下を抑えられる。
【特許文献１】特開昭５３−１２３２０１号公報
【特許文献２】特開平８−２３７４９７号公報
【特許文献３】特開２００４−２７４１３１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
しかしながら、キャッシュを備えた実装では、入力データによってキャッシュのヒット率が変わるため、上記ＬＵＴを格納したＤＲＡＭ等の低速なメモリの参照回数が変動する。その結果、色変換処理の所要時間が変動するので、リアルタイム性を保証できない。
【００１０】
また、リアルタイム性を保証するために、後段に位置するプリントバッファにて、上記時間変動を吸収することが考えられるが、近年の高解像度化、ヘッドのノズル数の増大に伴い、上記プリントバッファの容量、及びメモリ帯域の増大が問題となっている。
【００１１】
本発明は、バッファの前段処理におけるミスヒットのペナルティを隠蔽し、バッファの容量を削減し、バッファ以降の処理でのリアルタイム性を保証することを目的とする。
【課題を解決するための手段】
【００１２】
本発明は、入力された画像データを色処理及び補間処理して出力する画像処理装置であって、入力された画像データを色処理するための整数部データと、該色処理された画像データを補間処理するための小数部データとを前記入力された画像データに基づき生成する生成手段と、前記整数部データ及び小数部データに対してそれぞれ異なる圧縮方法を用いて圧縮する圧縮手段と、前記圧縮手段で圧縮されたデータに基づき前記色処理及び補間処理を行う処理手段とを有することを特徴とする。
【００１３】
また、本発明は、入力された画像データを色処理及び補間処理して出力する画像処理方法であって、入力された画像データを色処理するための整数部データと、該色処理された画像データを補間処理するための小数部データとを前記入力された画像データに基づき生成する生成工程と、前記整数部データ及び小数部データに対してそれぞれ異なる圧縮方法を用いて圧縮する圧縮工程と、前記圧縮工程で圧縮されたデータに基づき前記色処理及び補間処理を行う処理工程とを有することを特徴とする。
【発明の効果】
【００１４】
本発明によれば、バッファの容量を削減し、かつ、ミスヒットのペナルティを隠蔽し、後段処理でのリアルタイム性を保証することができる。
【発明を実施するための最良の形態】
【００１５】
以下、図面を参照しながら発明を実施するための最良の形態について詳細に説明する。尚、本実施形態では、入力デバイスの色空間を出力デバイスの色空間に変換する色処理を行う画像処理装置を例に説明する。また、変換には、三次元ルックアップテーブル（３Ｄ−ＬＵＴ）と四面体補間を用いて行うものとする。
【００１６】
図１は、本実施形態における画像処理装置の構成の一例を示す図である。図１において、１１０はデータ分割部であり、入力された画像データを整数部データと小数部データとに分割する。入力された画像データが、例えば３次元のデータであれば、データ分割後の整数部データと小数部データも３次元のデータとなる。一般的に、整数部データのビット深度は、補間演算時に使用される単位立方体の個数に応じて決定される。例えば、Ｎ次元空間のある軸について単位立方体が２Ｍ−１個ある場合、その軸に対応する整数部データのビット深度はＭビットとなる。一般的に、小数部データは画像データのビット深度から整数部データのビット深度を差し引いた、残りのビット深度で表される。
【００１７】
１２０は順序判定部であり、データ分割部１１０から出力された３次元の小数部データの大小関係を判定し、順序データを出力する。ここで、順序データは単位立方体から補間演算に使用する四面体を選択するためのものであり、予め定められた３！（＝６）通りの選択パターンを示すデータである。１２５は順序変換部であり、順序判定部１２０からの順序データとデータ分割部１１０からの小数部データとに基づき小数部データの並べ替えを行い、順序付き小数部データとして出力する。
【００１８】
１３０はスライド辞書生成部であり、データ分割部１１０から出力された３次元の整数部データと順序判定部１２０から出力された順序データとに基づき辞書値と符号とを生成する。そして、辞書値は後述する格子点データセット読み出し部１４０へ送ると同時に、生成した符号を後述する符号用プリントバッファ１３５へ格納する。
【００１９】
１３１はＤＲＡＭであり、上述の辞書値に基づき格子点データセットを出力する多次元ＬＵＴを有する。１３２はＤＲＡＭコントローラであり、ＤＲＡＭ１３１へのアクセスを制御する。１３５は符号用プリントバッファであり、スライド辞書生成部１３０によって生成された符号を格納する。
【００２０】
１４０は格子点データセット読み出し部であり、ＤＲＡＭコントローラ１３２を制御し、スライド辞書生成部１３０で生成された辞書値をシステムバス経由でＤＲＡＭ１３１の多次元ＬＵＴへ順次転送し、補間演算に必要な格子点データセットを読み出す。１４５は格子点データセット用プリントバッファであり、格子点データセット読み出し部１４０によって多次元ＬＵＴから読み出された格子点データセットを格納する。
【００２１】
１５０は整数伸張部であり、符号用プリントバッファ１３５に格納された符号に基づき格子点データセット用プリントバッファ１４５から格子点データセットを読み出し、後述する同期化部１９０へ出力する。
【００２２】
１６０は非可逆圧縮部であり、順序変換部１２５から出力された順序付き小数部データを非可逆圧縮する。１６５は小数部データ用プリントバッファであり、非可逆圧縮されたデータを格納する。１７０は小数伸張部であり、非可逆圧縮された順序付き小数部データを伸張し、被圧縮伸張順序付き小数部データとして出力する。
【００２３】
１９０は同期化部であり、別のタイミングで入力された格子点データセットと補間係数を正しく対応付ける。１９５は補間演算部であり、同期化部１９０から出力される格子点データセットと補間係数とに基づき補間演算を行い、出力データを生成する。
【００２４】
尚、上述の符号用プリントバッファ１３５と小数部データ用プリントバッファ１６５はＦＩＦＯで構成されている。ＦＩＦＯの段数は小数部データ用プリントバッファ１６５の方が符号用プリントバッファ１３５より大きい。
【００２５】
また、格子点データセット用プリントバッファ１４５はランダムリードアクセス可能なＦＩＦＯである。ここで、ランダムリードアクセス可能なＦＩＦＯとは、ＦＩＦＯ内のどのインデックスに対しても読み出し可能であるが、データが消えるときは必ず先に入ったデータから順番に消えていくというものである。格子点データセット用プリントバッファ１４５の段数はスライド辞書のインデックス数と同じ値である。
【００２６】
次に、ＲＧＢやＣＭＹなどの３つの成分からなる画像データを入力データとし、新たな出力を得る３次元補間処理に本発明を適用した場合の具体的な処理内容を、図２を用いて説明する。
【００２７】
図２は、本実施形態におけるスライド辞書生成部１３０の生成処理を説明するための図である。尚、スライド辞書はインデックスの番号が０〜３までの４段の辞書であると仮定している。
【００２８】
入力された整数部データと順序データから格子点データセットを参照するための辞書値が生成され、その値が“Ａ”、“Ａ”、“Ａ”、“Ｂ”、“Ｂ”、“Ｃ”、“Ｄ”、“Ｃ”、“Ｃ”、“Ｄ”、“Ｄ”、“Ｅ”、“Ｅ”の順に生成されたと仮定する。辞書値とはスライド辞書に格納される値であり、ここではＤＲＡＭ１３１の多次元ＬＵＴを参照するための１次元のアドレスを表す。“Ａ”はスライド辞書に存在しないのでスライド辞書のインデックス［０］領域に格納される。符号のインデックス値が“０”に設定され、同時に“Ａ”が格子点データセット読み出し部１４０へ出力される。
【００２９】
次に、“Ａ”が入力されると、“Ａ”はスライド辞書のインデックス［０］領域に存在しているため、“Ａ”は出力されない。また“Ａ”は前データと同一であるため、符号の連続数が１増加する。次の“Ａ”も同様に処理される。
【００３０】
次に、“Ｂ”が入力されると、前のデータと異なるため、スライド辞書のインデックス［１］領域に“Ｂ”が格納される。符号のインデックス値は“１”に設定され、同時に、“Ｂ”が格子点データセット読み出し部１４０へ出力される。
【００３１】
上述の処理を繰り返して行い、その後“Ｅ”が入力されると、“Ｅ”はスライド辞書に存在せず、かつスライド辞書が一杯であるので、スライド辞書をスライドさせ、その後、インデックス［３］領域に“Ｅ”を格納する。ここでスライド辞書をスライドするとは、インデックス［１］領域〜インデックス［３］領域に格納されている値を、インデックス［０］領域〜インデックス［２］領域に移動させる動作のことである。スライドした目印として符号のインデックス値が“４”に設定され、同時に、“Ｅ”が格子点データセット読み出し部１４０へ出力される。次のデータ“Ｅ”は前データと同一であるため、符号の連続数が１増加する。
【００３２】
以上の処理を繰り返すことにより、図２に示す順番で辞書値“Ａ”，“Ｂ”，“Ｃ”，“Ｄ”，“Ｅ”と符号（０，２），（１，１），（２，０），（３，０），（２，１），（３，１），（４，１）が出力される。尚、符号は（［インデックス値］，［連続数］）という形式で表されている。
【００３３】
次に、スライド辞書生成部１３０で生成された符号に基づき格子点データセット用プリントバッファ１４５から格子点データセットを読み出す整数伸張部１５０の処理を、図３を用いて詳細に説明する。
【００３４】
図３は、本実施形態における整数伸張部１５０の処理を示すフローチャートである。まず、ステップＳ３０１では、符号用プリントバッファ１３５から符号を読み出す。次に、ステップＳ３０２では、符号のインデックス値が０〜３までの値かを判定し、上記条件を満たしている場合はステップＳ３０３へ処理を進める。一方、条件を満たしていない場合はステップＳ３０６へ処理を進める。
【００３５】
ステップＳ３０３では、インデックス値で指定された領域に格子点データセットが格納されているかを判定し、格納されている場合はステップＳ３０５へ処理を進める。一方、格納されていない場合はステップＳ３０４へ処理を進める。
【００３６】
ステップＳ３０４では、インデックス値で指定された領域に格子点データセットが格納されるまで待ち、格納されたならばステップＳ３０５へ処理を進める。ステップＳ３０５では、格子点データセット用プリントバッファ１４５のインデックス値で指定される領域から格子点データセットを読み出し、ステップＳ３０９へ処理を進める。
【００３７】
上述のステップＳ３０２でインデックス値が４の場合のステップＳ３０６では、格子点データセット用プリントバッファ１４５にスライドが起きたかどうかを判定し、スライドが起きた場合はステップＳ３０８へ処理を進める。一方、スライドが起きていない場合はステップＳ３０７へ処理を進め、格子点データセット用プリントバッファ１４５の領域にスライドが起きるまで待ち、起きたならばステップＳ３０８へ処理を進める。
【００３８】
ここで、スライドが起きるまで待つ理由について説明する。スライド辞書生成部１３０で連続数が小さい符号が続けて生成されると、格子点データセットを格子点データセット用プリントバッファ１４５に格納するまでにかかる時間が、整数伸張部１５０が読み出すまでの時間を超えてしまう。即ち、格子点データセット用プリントバッファ１４５に格子点データセットが格納される前に、読み出しが行われてしまうという事態が起こるので、それを避けるためである。
【００３９】
ステップＳ３０８では、インデックス［３］領域から格子点データセットを読み出す。そして、ステップＳ３０９では、読み出した格子点データセットを（連続数＋１）回出力する。
【００４０】
ここで、上述した処理を、具体的な例を用いて説明する。尚、符号用プリントバッファ１３５で生成された符号が図２に示す順で入力され、インデックス領域には４点の格子点データセットが格納されていると仮定する。即ち、インデックス［０］領域には、“Ａ０Ａ１Ａ２Ａ３”、インデックス［１］領域には“Ｂ０Ｂ１Ｂ２Ｂ３”、それ以降もスライド辞書生成部１３０で格納された値に対応した格子点データが格納されている。
【００４１】
図２示す符号（０，２）が入力されると、格子点データセット用プリントバッファ１４５のインデックス［０］領域に格子点データセットが格納されているかを判定する。ここで格納されている場合は、格子点データセット“Ａ０Ａ１Ａ２Ａ３”を読み出し、“Ａ０Ａ１Ａ２Ａ３”を３回（連続数＋１回）出力する。一方、インデックス［０］領域に格子点データセットが格納されていない場合は、格納されるまで待ってから、読み出し、出力動作を行う。
【００４２】
次に、符号（１，１）が入力されると、格子点データセット用プリントバッファ１４５のインデックス［１］領域に格子点データセットが格納されているかを判定する。ここで格納されている場合は、格子点データセット“Ｂ０Ｂ１Ｂ２Ｂ３”を読み出し、“Ｂ０Ｂ１Ｂ２Ｂ３”を２回出力する。一方、インデックス［１］領域に格子点データセットが格納されていない場合は、格納されるまで待ってから、読み出し、出力動作を行う。
【００４３】
以降の符号（２，０），（３，０），（２，１），（３，１）に対しても同様の動作を繰り返す。
【００４４】
次に、符号（４，１）が入力されると、格子点データセット用プリントバッファ１４５にスライドが起きた後かを判定する。ここでスライドが起きた後であれば、インデックス［３］領域から格子点データセット“Ｅ０Ｅ１Ｅ２Ｅ３”を読み出し、“Ｅ０Ｅ１Ｅ２Ｅ３”を２回出力する。一方、スライドが起きる前であれば、スライドが起きるまで待ってから、読み出し、出力動作を行う。
【００４５】
単位立方体中のどの四面体を選択するかの情報を辞書値に含むことで、入力された辞書値で示される四面体に応じた４個の格子点データセットのみを多次元ＬＵＴから読み出し、格子点データセット用プリントバッファ１４５へ格納することができる。
【００４６】
そのため、整数部データによって示される単位立方体の格子点である２３（＝８）個の格子点データセットを格納する従来技術より、必要なプリントバッファの容量を削減することが可能となる。
【００４７】
また、高圧縮のために小数部データに対して非可逆圧縮を行った場合、伸張後の小数部データに基づき四面体を選択する手法においては、誤った四面体を選択する恐れがある。四面体の選択ミスが発生すると、格子点セットが異なってしまうため、四面体の選択ミスは小数部の誤差に比較して補間結果への影響が大きい。
【００４８】
そこで、本実施形態では、圧縮前に予め四面体を選択しておくことにより、常に正しい四面体（格子点セット）を選択することが可能になり、補間結果への影響を小さく抑えることができる。
【００４９】
次に、格子点データセット用プリントバッファ１４５の動作を説明する。この例では、格子点データセット用プリントバッファ１４５の段数が４段のときの動作を示す。
【００５０】
まず、格子点データセット用プリントバッファ１４５内に値が格納されていないとき、書き込み動作が起こるとインデックス［０］に入力値が格納される。一方、読み出し動作が起こるとインデックス［０］に入力値が格納されるまで、読み出し動作は保留される。このとき、インデックス［０］以外の読み出し動作はエラーとなる。
【００５１】
次に、格子点データセット用プリントバッファ１４５内のインデックス［０］にのみ値が格納されているとき、書き込み動作が起こるとインデックス［１］に入力値が格納される。ここで、インデックス［０］の読み出し動作が起こるとインデックス［０］に格納された値が出力される。また、インデックス［１］の読み出し動作が起こるとインデックス［１］に入力値が格納されるまで、読み出し動作は保留される。このとき、インデックス［０］，［１］以外の読み出し動作はエラーとなる。
【００５２】
次に、格子点データセット用プリントバッファ１４５内のインデックス［０］、［１］に値が格納されているとき、書き込み動作が起こるとインデックス［２］に入力値が格納される。ここで、インデックス［０］、［１］の読み出し動作が起こると対応するインデックスに格納された値が出力される。また、インデックス［２］の読み出し動作が起こるとインデックス［２］に入力値が格納されるまで、読み出し動作は保留される。このとき、インデックス［０］，［１］，［２］以外の読み出し動作はエラーとなる。
【００５３】
次に、格子点データセット用プリントバッファ１４５内のインデックス［０］〜［２］までに値が格納されているときも同様の動作をする。
【００５４】
次に、格子点データセット用プリントバッファ１４５内のインデックス［０］〜［３］までに値が格納されているとき、書き込み動作が起こるとスライドが起こり、その後、インデックス［３］に入力値が書き込まれる。上述したように、スライドとはインデックス［３］〜［１］までに格納されていた値が、インデックス［２］〜［０］までに移動する動作のことである。
【００５５】
ここで、読み出し動作が起こると符号のインデックス値が０から３までの場合は、指定されたインデックス領域に格納された値が出力される。また、符号のインデックス値が４を指定された場合は、スライドが完了した後にインデックス［３］から読み出す。
【００５６】
次に、順序付小数部データを非可逆圧縮する非可逆圧縮部１６０の構成及び処理を説明する。尚、非可逆圧縮部１６０の構成及び処理は従来のものと同様であり、本実施形態により規定されるものではないが、例えば直行変換符号化、ベクトル量子化、差分予測符号化などを利用したものが挙げられる。
【００５７】
以下では、非可逆圧縮方法のうちベクトル量子化を利用した例を、図４を用いて詳細に説明する。ここで、ベクトル量子化とは、入力されたデータを任意の範囲で区切り、このデータ列を入力ベクトルとして量子化を行う符号化方法である。
【００５８】
図４は、非可逆圧縮部１６０の構成及び処理の一例を示す図である。図４に示すように、入力ベクトルの特徴をよく表す代表ベクトルとインデックスを対応付けたコードブック４２０を予め作成し、記憶しておく。次に、入力ベクトルと比較して最もパターンの近い代表ベクトルをコードブック４２０から選択し、その代表ベクトルのインデックスを符号として出力する。
【００５９】
図４に示す非可逆圧縮部１６０は、コードブック参照部４１０とコードブック４２０とから構成されている。また、順序付き小数部データは（ａＬ，ａＭ，ａＳ）が入力されたと仮定する。ここで、順序付き小数部データは、ａＬ＞ａＭ＞ａＳという順に並べられているものと仮定する。
【００６０】
コードブック参照部４１０は、入力ベクトル（ａＬ，ａＭ，ａＳ）に最も近い代表ベクトルをコードブック４２０から選択し、該当した代表ベクトルに対応するインデックスを非可逆圧縮データとして出力する。
【００６１】
尚、代表ベクトルを検索する方法としては公知の方法を用いる。公知の方法としては、例えば入力データと代表ベクトルとの違いを歪み量として定量化し、歪み量が最小となる代表ベクトルを選択するという手法が一般的に用いられる。
【００６２】
このように、予め大小順に並べ替えられた入力データから入力ベクトルを構成して圧縮することで、ベクトル成分の振幅の変化を抑制することができ、圧縮効率が高まる。これにより、バッファの容量を削減することが可能となる。
【００６３】
尚、本実施形態では、入力ベクトルとして順序付き小数データを用いているので、順序が変化するような代表ベクトルは不要である。このため、コードブック４２０を簡略化できるだけでなく、伸張後の順序の変化も原理的に発生しないため、効率的な圧縮が可能となる。
【００６４】
次に、非可逆圧縮データを伸張する小数伸張部１７０の構成及び処理を、図５を用いて詳細に説明する。
【００６５】
図５は、小数伸張部１７０の構成及び処理の一例を示す図である。図５に示すように、小数伸張部１７０は、コードブック参照部５１０とコードブック５２０とから構成されている。コードブック５２０に格納されている代表ベクトルは、非可逆圧縮部１６０におけるコードブック４２０の代表ベクトルを予め正規化したものであり、補間演算部１９５で使用する補間係数として使用可能である。
【００６６】
コードブック参照部５１０は、入力された非可逆圧縮データを元にコードブック５２０を参照して対応する代表ベクトルを補間係数として出力する。
【００６７】
本実施形態によれば、エンジンに依存しない空間で圧縮することでプリントバッファの容量を削減し、かつエンジンに先行してＬＵＴアクセスを行うことでミスヒットのペナルティを隠蔽し、後段処理でのリアルタイム性を保証することができる。
【００６８】
尚、本発明は複数の機器（例えば、ホストコンピュータ，インターフェース機器，リーダ，プリンタなど）から構成されるシステムに適用しても、１つの機器からなる装置（例えば、複写機，ファクシミリ装置など）に適用しても良い。
【００６９】
また、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記録媒体を、システム或いは装置に供給し、そのシステム或いは装置のコンピュータ（ＣＰＵ若しくはＭＰＵ）が記録媒体に格納されたプログラムコードを読出し実行する。これによっても、本発明の目的が達成されることは言うまでもない。
【００７０】
この場合、記録媒体から読出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記録媒体は本発明を構成することになる。
【００７１】
このプログラムコードを供給するための記録媒体として、例えばフレキシブルディスク，ハードディスク，光ディスク，光磁気ディスク，ＣＤ−ＲＯＭ，ＣＤ−Ｒ，磁気テープ，不揮発性のメモリカード，ＲＯＭなどを用いることができる。
【００７２】
また、コンピュータが読出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、次の場合も含まれることは言うまでもない。即ち、プログラムコードの指示に基づき、コンピュータ上で稼働しているＯＳ（オペレーティングシステム）などが実際の処理の一部又は全部を行い、その処理により前述した実施形態の機能が実現される場合である。
【００７３】
更に、記録媒体から読出されたプログラムコードがコンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込む。その後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部又は全部を行い、その処理により前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【図面の簡単な説明】
【００７４】
【図１】本実施形態における画像処理装置の構成の一例を示す図である。
【図２】本実施形態におけるスライド辞書生成部１３０の生成処理を説明するための図である。
【図３】本実施形態における整数伸張部１５０の処理を示すフローチャートである。
【図４】非可逆圧縮部１６０の構成及び処理の一例を示す図である。
【図５】小数伸張部１７０の構成及び処理の一例を示す図である。
【符号の説明】
【００７５】
１１０  データ分割部
１２０  順序判定部
１２５  順序変換部
１３０  スライド辞書生成部
１３１  ＤＲＡＭ
１３２  ＤＲＡＭコントローラ
１３５  符号用プリントバッファ
１４０  格子点データセット読み出し部
１４５  格子点データセット用プリントバッファ
１５０  整数伸張部
１６０  非可逆圧縮部
１６５  小数部データ用プリントバッファ
１７０  小数伸張部
１９０  同期化部
１９５  補間演算部
【図１】
2008187514.tif 000003
【図２】
2008187514.tif 000004
【図３】
2008187514.tif 000005
【図４】
2008187514.tif 000006
【図５】
2008187514.tif 000007