(57)【特許請求の範囲】
【請求項１】
画像データを所定の圧縮形式により圧縮する圧縮手段と、前記圧縮手段により得られる圧縮画像データの一部を省略すると共に、前記圧縮画像データを予め設定されたブロックサイズに分割し、二次圧縮してデータ省略・二次圧縮画像データを生成するデータ省略・二次圧縮手段とを有する上位装置と、
前記上位装置から得られる前記データ省略・二次圧縮画像データから前記圧縮画像データに復元するデータ復元手段と、前記データ復元手段により復元された圧縮画像データを前記ブロックサイズ単位で所定の方向に回転させる画像回転手段と、前記画像回転手段により回転させた前記圧縮画像データを前記ブロックサイズ単位で蓄積するブロック蓄積手段と、前記ブロック蓄積手段により蓄積された圧縮画像データを予め設定された条件に基づいて伸長するデータ伸長手段とを有する制御装置とからなり、
前記データ省略・二次圧縮手段は、前記圧縮手段により圧縮された連続する２つの圧縮画像データ内の同一位置にあるデータ列を比較し、その比較結果に基づいて差異の有無を示すデータを生成し、生成された前記データが差異有りを示すデータである場合には、所定のデータのみを、前記差異有りを示すデータの後に付加することを特徴とする画像処理装置。
【請求項２】
画像データの圧縮及び伸長を行う画像処理装置において、
前記画像データを所定の圧縮形式により圧縮する圧縮手段と、
前記圧縮手段により得られる圧縮画像データの一部を省略すると共に、前記圧縮画像データを予め設定されたブロックサイズに分割し、二次圧縮してデータ省略・二次圧縮画像データを生成するデータ省略・二次圧縮手段と、
前記データ省略・二次圧縮画像データから前記圧縮画像データに復元するデータ復元手段と、
前記データ復元手段により復元された圧縮画像データを前記ブロックサイズ単位で所定の方向に回転させる画像回転手段と、
前記画像回転手段により回転させた前記圧縮画像データを前記ブロックサイズ単位で蓄積するブロック蓄積手段と、
前記ブロック蓄積手段により蓄積された圧縮画像データを予め設定された条件に基づいて伸長するデータ伸長手段とを有し、
前記データ省略・二次圧縮手段は、前記圧縮手段により圧縮された連続する２つの圧縮画像データ内の同一位置にあるデータ列を比較し、その比較結果に基づいて差異の有無を示すデータを生成し、生成された前記データが差異有りを示すデータである場合には、所定のデータのみを、前記差異有りを示すデータの後に付加することを特徴とする画像処理装置。
【請求項３】
前記データ省略・二次圧縮手段は、
予め設定される前記画像回転手段における前記ブロックサイズで分割された圧縮画像データの回転方向及び前記データ伸長手段における前記圧縮画像データの伸長順に対応させて、前記データ省略・二次圧縮画像データのアドレス情報を含むページ情報を生成することを特徴とする請求項１又は２に記載の画像処理装置。
【請求項４】
前記画像回転手段は、
前記ページ情報により、前記圧縮画像データの各ブロックの回転方向を決定することを特徴とする請求項３に記載の画像処理装置。
【請求項５】
前記データ復元手段は、
前記データ省略・二次圧縮手段により省略されたデータの一部である前記圧縮画像データにおける色情報及び色選択情報が、それぞれ、省略される前のバイト長になるように、前記色情報に対しては任意の色データを前記省略されたデータに付加し、前記色選択情報に対しては、付加するデータが予め蓄積されている場合には前記データの各ビットの前に０を付加し、前記データが予め蓄積されていない場合には全ビットを０として、バイト長を調整することを特徴とする請求項１乃至４の何れか１項に記載の画像処理装置。
【請求項６】
前記データ省略・二次圧縮手段は、前記データ省略・二次圧縮画像データを生成する際、前記ブロックサイズ毎の色情報数をヘッダとして付加し、
前記データ復元手段は、前記ヘッダから得られる前記色情報数に基づき、
前記色情報数が２色の場合には、前記色情報に２色分の任意の色情報を付加すると共に前記色選択情報の各ビットの前に０を付加し、
前記色情報数が１色の場合には、前記色情報に３色分の任意の色情報を付加すると共に前記色選択情報の全ビットを０とすることを特徴とする請求項１乃至５の何れか１項に記載の画像処理装置。
【請求項７】
前記画像データが複数色からなる場合に、前記データ復元手段又は前記画像回転手段を複数有することを特徴とする請求項１乃至６の何れか１項に記載の画像処理装置。
【請求項８】
請求項１乃至７の何れかに記載の画像処理装置における画像データの圧縮及び伸長を行うための画像処理方法において、
前記圧縮手段により、前記画像データを所定の圧縮形式により圧縮する圧縮ステップと、
前記データ省略・二次圧縮手段により、前記前記圧縮ステップで得られる圧縮画像データの一部を省略すると共に、前記圧縮画像データを予め設定されたブロックサイズに分割し、二次圧縮してデータ省略・二次圧縮画像データを生成するデータ省略・二次圧縮ステップと、
前記データ復元手段により、前記データ省略・二次圧縮画像データから前記圧縮画像データに復元するデータ復元ステップと、
前記画像回転手段により、前記データ復元ステップで復元された圧縮画像データを前記ブロックサイズ単位で所定の方向に回転させる画像回転ステップと、
前記ブロック蓄積手段により、前記画像回転ステップで回転させた前記圧縮画像データを前記ブロックサイズ単位で蓄積するブロック蓄積ステップと、
前記データ伸長手段により、前記ブロック蓄積ステップで蓄積された圧縮画像データを予め設定された条件に基づいて伸長するデータ伸長ステップとを有し、
前記データ省略・二次圧縮ステップは、前記圧縮ステップで圧縮された連続する２つの圧縮画像データ内の同一位置にあるデータ列を比較し、その比較結果に基づいて差異の有無を示すデータを生成し、生成された前記データが差異有りを示すデータである場合には、所定のデータのみを、前記差異有りを示すデータの後に付加することを特徴とする画像処理方法。
【請求項９】
前記データ省略・二次圧縮ステップは、
予め設定される前記画像回転ステップにおける前記ブロックサイズで分割された圧縮画像データの回転方向及び前記データ伸長ステップにおける前記圧縮画像データの伸長順に対応させて、前記データ省略・二次圧縮画像データのアドレス情報を含むページ情報を生成することを特徴とする請求項８に記載の画像処理方法。
【請求項１０】
前記画像回転ステップは、
前記ページ情報により、前記圧縮画像データの各ブロックの回転方向を決定することを特徴とする請求項９に記載の画像処理方法。
【請求項１１】
前記データ復元ステップは、
前記データ省略・二次圧縮ステップにより省略されたデータの一部である前記圧縮画像データにおける色情報及び色選択情報が、それぞれ、省略される前のバイト長になるように、前記色情報に対しては任意の色データを前記省略されたデータに付加し、前記色選択情報に対しては、付加するデータが予め蓄積されている場合には前記データの各ビットの前に０を付加し、前記データが予め蓄積されていない場合には全ビットを０として、バイト長を調整することを特徴とする請求項８乃至１０の何れか１項に記載の画像処理方法。
【請求項１２】
前記データ省略・二次圧縮ステップは、前記データ省略・二次圧縮画像データを生成する際、前記ブロックサイズ毎の色情報数をヘッダとして付加し、
前記データ復元ステップは、前記ヘッダから得られる前記色情報数に基づき、
前記色情報数が２色の場合には、前記色情報に２色分の任意の色情報を付加すると共に前記色選択情報の各ビットの前に０を付加し、
前記色情報数が１色の場合には、前記色情報に３色分の任意の色情報を付加すると共に前記色選択情報の全ビットを０とすることを特徴とする請求項８乃至１１の何れか１項に記載の画像処理方法。
【請求項１３】
画像データの圧縮及び伸長を行うための画像処理プログラムにおいて、
前記コンピュータを、
前記画像データを所定の圧縮形式により圧縮する圧縮手段、
前記圧縮手段により得られる圧縮画像データの一部を省略すると共に、前記圧縮画像データを予め設定されたブロックサイズに分割し、二次圧縮してデータ省略・二次圧縮画像データを生成するデータ省略・二次圧縮手段、
前記データ省略・二次圧縮画像データから前記圧縮画像データに復元するデータ復元手段、
前記データ復元手段により復元された圧縮画像データを前記ブロックサイズ単位で所定の方向に回転させる画像回転手段、
前記画像回転手段により回転させた前記圧縮画像データを前記ブロックサイズ単位で蓄積するブロック蓄積手段、及び、
前記ブロック蓄積手段により蓄積された圧縮画像データを予め設定された条件に基づいて伸長するデータ伸長手段として機能させ、
前記データ省略・二次圧縮手段は、前記圧縮手段により圧縮された連続する２つの圧縮画像データ内の同一位置にあるデータ列を比較し、その比較結果に基づいて差異の有無を示すデータを生成し、生成された前記データが差異有りを示すデータである場合には、所定のデータのみを、前記差異有りを示すデータの後に付加することを特徴とする画像処理プログラム。
【請求項１４】
前記データ省略・二次圧縮手段は、
予め設定される前記画像回転手段における前記ブロックサイズで分割された圧縮画像データの回転方向及び前記データ伸長手段における前記圧縮画像データの伸長順に対応させて、前記データ省略・二次圧縮画像データのアドレス情報を含むページ情報を生成することを特徴とする請求項１３に記載の画像処理プログラム。
【請求項１５】
前記画像回転手段は、
前記ページ情報により、前記圧縮画像データの各ブロックの回転方向を決定することを特徴とする請求項１４に記載の画像処理プログラム。
【請求項１６】
前記データ復元手段は、
前記データ省略・二次圧縮手段により省略されたデータの一部である前記圧縮画像データにおける色情報及び色選択情報が、それぞれ、省略される前のバイト長になるように、前記色情報に対しては任意の色データを前記省略されたデータに付加し、前記色選択情報に対しては、付加するデータが予め蓄積されている場合には前記データの各ビットの前に０を付加し、前記データが予め蓄積されていない場合には全ビットを０として、バイト長を調整することを特徴とする請求項１３乃至１５の何れか１項に記載の画像処理プログラム。
【請求項１７】
前記データ省略・二次圧縮手段は、前記データ省略・二次圧縮画像データを生成する際、前記ブロックサイズ毎の色情報数をヘッダとして付加し、
前記データ復元手段は、前記ヘッダから得られる前記色情報数に基づき、
前記色情報数が２色の場合には、前記色情報に２色分の任意の色情報を付加すると共に前記色選択情報の各ビットの前に０を付加し、
前記色情報数が１色の場合には、前記色情報に３色分の任意の色情報を付加すると共に前記色選択情報の全ビットを０とすることを特徴とする請求項１３乃至１６の何れか１項に記載の画像処理プログラム。
【請求項１８】
請求項１３乃至請求項１７の何れか１項に記載の画像処理プログラムが記録されたコンピュータに読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、画像処理方法、画像処理プログラム、及び該プログラムが記録された記録媒体に係り、特に、少ない記憶領域での画像処理を実現するための画像処理装置、画像処理方法、画像処理プログラム、及び該プログラムが記録された記録媒体に関する。
【背景技術】
【０００２】
従来より、コンピュータやスキャナ等の上位装置から送られてきた画像データに適切な画像処理を施して画像出力装置に出力する画像処理装置が存在する（例えば、特許文献１参照。）。ここで、従来の画像処理装置について図を用いて説明する。図１は、従来の画像処理装置の一例を示すブロック構成図である。なお、図１では、従来の画像処理装置の一例として、プリンタシステムを用いている。また、以下の説明では画像処理に用いられる画像データの一例としてビットマップ画像データを用いる。
【０００３】
図１に示すプリンタシステム１００は、上位装置としてのコンピュータ１０１と、制御装置としてのプリンタコントローラ１０２と、画像出力装置としてのプリンタエンジン１０３とを有するよう構成されている。
【０００４】
コンピュータ１０１は、画像データ入力手段１１１と、データ圧縮手段１１２と、送信メモリ１１３とを有するよう構成されている。画像データ入力手段１１１は、コンピュータ１０１が有するメモリ（図示せず）上に存在する画像データや、電話回線やＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）ケーブル等の通信ネットワーク（有線でも無線でもよい）等により接続された他の装置に蓄積された画像データ等から、ビットマップ画像データを入力する。また、画像データ入力手段１１１は、入力したビットマップ画像データをデータ圧縮手段１１２に出力する。
【０００５】
データ圧縮手段１１２は、入力した画像データをプリンタドライバ等で実現可能な画像形式に圧縮し、送信メモリ１１３に出力する。送信メモリ１１３は、圧縮された画像を蓄積し、予め設定されたデータ量や時間等の所定のタイミングでプリンタコントローラ１０２に出力する。
【０００６】
プリンタコントローラ１０２は、受信メモリ１２１と、データ伸長手段１２２と、フレームメモリ１２３と、画像処理手段１２４と、ラインメモリ１２５とを有するよう構成されている。プリンタコントローラ１０２は、コンピュータ１０１から圧縮された画像データを受け取り、これを受信メモリ１２１に蓄積する。
【０００７】
データ伸長手段１２２は、受信メモリ１２１から画像データを受け取りビットマップ画像データに伸長し、伸長したビットマップ画像データをフレームメモリ１２３に出力する。フレームメモリ１２３は、ビットマップ画像データを１画面（フレーム）分蓄積し、蓄積したビットマップ画像データを画像処理手段１２４に出力する。画像処理手段１２４は、入力したビットマップ画像データに色補正や、色変換、ディザ処理、エッジ処理等の必要な画像処理を施し、ラインメモリ１２５に出力する。ラインメモリ１２５は、ＦＩＦＯ（Ｆｉｒｓｔ−Ｉｎ  Ｆｉｒｓｔ−Ｏｕｔ）等の方式を用いて画像データをプリンタエンジン１０３に出力する。プリンタエンジン１０３は、プリンタコントローラ１０２から受け取った画像データから印写画像を生成し出力する。
【０００８】
なお、図１に示すプリンタシステム１００における処理内容は、単色画像を生成する場合のものであり、カラー画像を生成する場合、例えばカラープリンタであればＣＭＹＫ（シアン（Ｃ）、マゼンタ（Ｍ）、イエロー（Ｙ）、ブラック（Ｋ））の４色分の画像生成を行う必要がある。これを実現するため、通常は上述したプロセスを４回繰り返す必要がある。なお、この場合、カラー画像生成は単色の場合の４分の１の速度となる。
【０００９】
ここで、カラーでも速度の落ちない、高速なカラープリンタを実現する方法として、タンデム方式のプリンタエンジンがある。この方式は、４つの画像生成部を備えＣＭＹＫの４色同時に画像生成を行うプリンタである。この方式であれば、単色又は複色カラーのどちらの場合も、同じ速度で生成画像を出力することが可能になる。
【００１０】
ここで、図１に示すプリンタコントローラ１０２をタンデム方式（タンデムエンジン）に対応させた例について図を用いて説明する。図２は、タンデム方式に対応させたプリンタコントローラの一例を示すブロック構成図である。図２に示すプリンタコントローラ２０２は、圧縮された画像データをコンピュータ１０１から受け取り、受信メモリ２２１に蓄積し、データ伸長手段２２２により伸長したビットマップ画像データをフレームメモリ２２３に蓄積する。また、プリンタコントローラ２０２は、フレームメモリ２２３に蓄積したビットマップ画像データを画像処理手段２２４−１〜２２４−４により各色毎に色補正、色変換、ディザ処理、エッジ処理等の画像処理を施し、各画像処理手段２２４−１〜２２４−４に対応するラインメモリ２２５−１〜２２５−４を通して、プリンタエンジン１０３に出力する。なお、ラインメモリ２２５−１〜２２５−４は、各色によって容量が違うのが一般的である。
【００１１】
また、図３は、タンデム方式のプリンタエンジンの内部概略構成の一例を示す図である。図３に示すタンデムプリンタ３０１は、露光装置３１１と、感光ドラム３１２と、現像器３１３と、中間転写体３１４とを有するよう構成されている。タンデムプリンタ３０１は、ＣＭＹＫのような印刷各色を、それぞれの色に対応する露光装置３１１−１〜３１１−４により、それぞれの感光ドラム３１２−１〜３１２−４上を露光して静電的な潜像を形成し、現像器３１３−１〜３１３−４により現像して、各感光ドラム３１２上にそれぞれの印刷色の単色像を形成する。また、それらを中間転写体３１４上に重ね、記録媒体３１５上に転写してカラー画像を得る。
【特許文献１】特開平１１−２２７２６３号公報
【発明の開示】
【発明が解決しようとする課題】
【００１２】
ところで、上述した図３に示すように、タンデム方式を用いたプリンタの場合、ＣＭＹＫ各色の感光ドラム間の間隔によって、露光装置３１１−１〜３１１−４を動作させるタイミングが変わってくるため、後から動作させる色ほどラインメモリは大きな容量が必要となる。したがって、上述したようにタンデム方式を用いて、印刷速度の高速性を保つためには、ハードウェアリソースも、メモリ容量も４倍程度必要となってしまう。そのため、構成される装置のコストも高価なものとなってしまう。
【００１３】
本発明は、上述した問題に鑑みなされたものであり、少ない記憶領域での画像処理を実現するための画像処理装置、画像処理方法、画像処理プログラム、及び該プログラムが記録された記録媒体を提供することを目的とする。
【課題を解決するための手段】
【００１４】
上記課題を解決するために、本件発明は、以下の特徴を有する課題を解決するための手段を採用している。
【００１５】
請求項１に記載された発明は、画像データを所定の圧縮形式により圧縮する圧縮手段と、前記圧縮手段により得られる圧縮画像データの一部を省略すると共に、前記圧縮画像データを予め設定されたブロックサイズに分割し、二次圧縮してデータ省略・二次圧縮画像データを生成するデータ省略・二次圧縮手段とを有する上位装置と、前記上位装置から得られる前記データ省略・二次圧縮画像データから前記圧縮画像データに復元するデータ復元手段と、前記データ復元手段により復元された圧縮画像データを前記ブロックサイズ単位で所定の方向に回転させる画像回転手段と、前記画像回転手段により回転させた前記圧縮画像データを前記ブロックサイズ単位で蓄積するブロック蓄積手段と、前記ブロック蓄積手段により蓄積された圧縮画像データを予め設定された条件に基づいて伸長するデータ伸長手段とを有する制御装置とからなり、前記データ省略・二次圧縮手段は、前記圧縮手段により圧縮された連続する２つの圧縮画像データ内の同一位置にあるデータ列を比較し、その比較結果に基づいて差異の有無を示すデータを生成し、生成された前記データが差異有りを示すデータである場合には、所定のデータのみを、前記差異有りを示すデータの後に付加することを特徴とする。
【００１６】
また、請求項２に記載された発明は、画像データの圧縮及び伸長を行う画像処理装置において、前記画像データを所定の圧縮形式により圧縮する圧縮手段と、前記圧縮手段により得られる圧縮画像データの一部を省略すると共に、前記圧縮画像データを予め設定されたブロックサイズに分割し、二次圧縮してデータ省略・二次圧縮画像データを生成するデータ省略・二次圧縮手段と、前記データ省略・二次圧縮画像データから前記圧縮画像データに復元するデータ復元手段と、前記データ復元手段により復元された圧縮画像データを前記ブロックサイズ単位で所定の方向に回転させる画像回転手段と、前記画像回転手段により回転させた前記圧縮画像データを前記ブロックサイズ単位で蓄積するブロック蓄積手段と、前記ブロック蓄積手段により蓄積された圧縮画像データを予め設定された条件に基づいて伸長するデータ伸長手段とを有し、前記データ省略・二次圧縮手段は、前記圧縮手段により圧縮された連続する２つの圧縮画像データ内の同一位置にあるデータ列を比較し、その比較結果に基づいて差異の有無を示すデータを生成し、生成された前記データが差異有りを示すデータである場合には、所定のデータのみを、前記差異有りを示すデータの後に付加することを特徴とする。
【００１７】
また、請求項３に記載された発明は、前記データ省略・二次圧縮手段は、予め設定される前記画像回転手段における前記ブロックサイズで分割された圧縮画像データの回転方向及び前記データ伸長手段における前記圧縮画像データの伸長順に対応させて、前記データ省略・二次圧縮画像データのアドレス情報を含むページ情報を生成することを特徴とする。
【００１８】
また、請求項４に記載された発明は、前記画像回転手段は、前記ページ情報により、前記圧縮画像データの各ブロックの回転方向を決定することを特徴とする。
【００１９】
また、請求項５に記載された発明は、前記データ復元手段は、前記データ省略・二次圧縮手段により省略されたデータの一部である前記圧縮画像データにおける色情報及び色選択情報が、それぞれ、省略される前のバイト長になるように、前記色情報に対しては任意の色データを前記省略されたデータに付加し、前記色選択情報に対しては、付加するデータが予め蓄積されている場合には前記データの各ビットの前に０を付加し、前記データが予め蓄積されていない場合には全ビットを０として、バイト長を調整することを特徴とする。
【００２０】
また、請求項６に記載された発明は、前記データ省略・二次圧縮手段は、前記データ省略・二次圧縮画像データを生成する際、前記ブロックサイズ毎の色情報数をヘッダとして付加し、前記データ復元手段は、前記ヘッダから得られる前記色情報数に基づき、前記色情報数が２色の場合には、前記色情報に２色分の任意の色情報を付加すると共に前記色選択情報の各ビットの前に０を付加し、前記色情報数が１色の場合には、前記色情報に３色分の任意の色情報を付加すると共に前記色選択情報の全ビットを０とすることを特徴とする。
【００２１】
また、請求項７に記載された発明は、前記画像データが複数色からなる場合に、前記データ復元手段又は前記画像回転手段を複数有することを特徴とする。
【００２２】
また、請求項８に記載された発明は、請求項１乃至７の何れかに記載の画像処理装置における画像データの圧縮及び伸長を行うための画像処理方法において、前記圧縮手段により、前記画像データを所定の圧縮形式により圧縮する圧縮ステップと、前記データ省略・二次圧縮手段により、前記前記圧縮ステップで得られる圧縮画像データの一部を省略すると共に、前記圧縮画像データを予め設定されたブロックサイズに分割し、二次圧縮してデータ省略・二次圧縮画像データを生成するデータ省略・二次圧縮ステップと、前記データ復元手段により、前記データ省略・二次圧縮画像データから前記圧縮画像データに復元するデータ復元ステップと、前記画像回転手段により、前記データ復元ステップで復元された圧縮画像データを前記ブロックサイズ単位で所定の方向に回転させる画像回転ステップと、前記ブロック蓄積手段により、前記画像回転ステップで回転させた前記圧縮画像データを前記ブロックサイズ単位で蓄積するブロック蓄積ステップと、前記データ伸長手段により、前記ブロック蓄積ステップで蓄積された圧縮画像データを予め設定された条件に基づいて伸長するデータ伸長ステップとを有し、前記データ省略・二次圧縮ステップは、前記圧縮ステップで圧縮された連続する２つの圧縮画像データ内の同一位置にあるデータ列を比較し、その比較結果に基づいて差異の有無を示すデータを生成し、生成された前記データが差異有りを示すデータである場合には、所定のデータのみを、前記差異有りを示すデータの後に付加することを特徴とする。
【００２３】
また、請求項９に記載された発明は、前記データ省略・二次圧縮ステップは、予め設定される前記画像回転ステップにおける前記ブロックサイズで分割された圧縮画像データの回転方向及び前記データ伸長ステップにおける前記圧縮画像データの伸長順に対応させて、前記データ省略・二次圧縮画像データのアドレス情報を含むページ情報を生成することを特徴とする。
【００２４】
また、請求項１０に記載された発明は、前記画像回転ステップは、前記ページ情報により、前記圧縮画像データの各ブロックの回転方向を決定することを特徴とする。
【００２５】
また、請求項１１に記載された発明は、前記データ復元ステップは、前記データ省略・二次圧縮ステップにより省略されたデータの一部である前記圧縮画像データにおける色情報及び色選択情報が、それぞれ、省略される前のバイト長になるように、前記色情報に対しては任意の色データを前記省略されたデータに付加し、前記色選択情報に対しては、付加するデータが予め蓄積されている場合には前記データの各ビットの前に０を付加し、前記データが予め蓄積されていない場合には全ビットを０として、バイト長を調整することを特徴とする。
【００２６】
また、請求項１２に記載された発明は、前記データ省略・二次圧縮ステップは、前記データ省略・二次圧縮画像データを生成する際、前記ブロックサイズ毎の色情報数をヘッダとして付加し、前記データ復元ステップは、前記ヘッダから得られる前記色情報数に基づき、前記色情報数が２色の場合には、前記色情報に２色分の任意の色情報を付加すると共に前記色選択情報の各ビットの前に０を付加し、前記色情報数が１色の場合には、前記色情報に３色分の任意の色情報を付加すると共に前記色選択情報の全ビットを０とすることを特徴とする。
【００２７】
また、請求項１３に記載された発明は、画像データの圧縮及び伸長を行うための画像処理プログラムにおいて、前記コンピュータを、前記画像データを所定の圧縮形式により圧縮する圧縮手段、前記圧縮手段により得られる圧縮画像データの一部を省略すると共に、前記圧縮画像データを予め設定されたブロックサイズに分割し、二次圧縮してデータ省略・二次圧縮画像データを生成するデータ省略・二次圧縮手段、前記データ省略・二次圧縮画像データから前記圧縮画像データに復元するデータ復元手段、前記データ復元手段により復元された圧縮画像データを前記ブロックサイズ単位で所定の方向に回転させる画像回転手段、前記画像回転手段により回転させた前記圧縮画像データを前記ブロックサイズ単位で蓄積するブロック蓄積手段、及び、前記ブロック蓄積手段により蓄積された圧縮画像データを予め設定された条件に基づいて伸長するデータ伸長手段として機能させ、前記データ省略・二次圧縮手段は、前記圧縮手段により圧縮された連続する２つの圧縮画像データ内の同一位置にあるデータ列を比較し、その比較結果に基づいて差異の有無を示すデータを生成し、生成された前記データが差異有りを示すデータである場合には、所定のデータのみを、前記差異有りを示すデータの後に付加することを特徴とする。
【００２８】
また、請求項１４に記載された発明は、前記データ省略・二次圧縮手段は、予め設定される前記画像回転手段における前記ブロックサイズで分割された圧縮画像データの回転方向及び前記データ伸長手段における前記圧縮画像データの伸長順に対応させて、前記データ省略・二次圧縮画像データのアドレス情報を含むページ情報を生成することを特徴とする。
【００２９】
また、請求項１５に記載された発明は、前記画像回転手段は、前記ページ情報により、前記圧縮画像データの各ブロックの回転方向を決定することを特徴とする。
また、請求項１６に記載された発明は、前記データ復元手段は、前記データ省略・二次圧縮手段により省略されたデータの一部である前記圧縮画像データにおける色情報及び色選択情報が、それぞれ、省略される前のバイト長になるように、前記色情報に対しては任意の色データを前記省略されたデータに付加し、前記色選択情報に対しては、付加するデータが予め蓄積されている場合には前記データの各ビットの前に０を付加し、前記データが予め蓄積されていない場合には全ビットを０として、バイト長を調整することを特徴とする。
また、請求項１７に記載された発明は、前記データ省略・二次圧縮手段は、前記データ省略・二次圧縮画像データを生成する際、前記ブロックサイズ毎の色情報数をヘッダとして付加し、前記データ復元手段は、前記ヘッダから得られる前記色情報数に基づき、前記色情報数が２色の場合には、前記色情報に２色分の任意の色情報を付加すると共に前記色選択情報の各ビットの前に０を付加し、前記色情報数が１色の場合には、前記色情報に３色分の任意の色情報を付加すると共に前記色選択情報の全ビットを０とすることを特徴とする。
また、請求項１８に記載された発明は、請求項１３乃至請求項１７の何れか１項に記載の画像処理プログラムが記録されたコンピュータに読み取り可能な記録媒体である。
【発明の効果】
【００３０】
本発明によれば、少ない記憶領域での画像処理を実現することができる。これにより、装置構成におけるメモリ容量を削減することができる。
【発明を実施するための最良の形態】
【００３１】
＜本発明の概要＞
本発明では、データ量を削減のため一部が省略した圧縮画像データを生成する。また、圧縮画像データを伸長せずにそのまま回転させる画像回転手段、回転後の圧縮画像データを伸長するデータ伸長手段等を有する。
【００３２】
つまり、画像処理装置を安価に実現するためには、データ量を如何にして低減させるかが重要な課題である。また、汎用的なデータ圧縮はもちろん、画像データの特徴を考慮して、復元可能なデータの一部を省略したり、圧縮された状態で画像を編集（拡大縮小、切り貼り、及び回転等）することも重要である。
【００３３】
ここで、本実施形態では、圧縮方式として、ＢＴＣ（Ｂｌｏｃｋ  Ｔｒｕｎｃａｔｉｏｎ  Ｃｏｒｄｉｎｇ）圧縮技術を用い、ＢＴＣ圧縮の特徴を踏まえた上で、様々なデータ削減、データ編集の方法を付加する。ここで、ＢＴＣ圧縮とは、画像データにおいて隣接するドットは色合いが似ていることを利用した圧縮方式であり、複数の色情報と、各ドットがどの代表色に代表されているかを表す色選択情報とからなる。
【００３４】
図４は、ＢＴＣデータフォーマットの一例を示す図である。図４に示すＢＴＣフォーマット４００は、３００ｄｐｉ、４×４ドットを４色の代表色で記述する例である。データフォーマット前方の１２バイトは、代表色４色のＲＧＢ（レッド（Ｒ）、グリーン（Ｇ）、ブルー（Ｂ））のそれぞれの値（各８ビット）を示した色情報４０１である。また、データフォーマット後方の色選択情報４０２は、４×４の全１６ドットがそれぞれどの代表色に代表されているかを表す情報であり、例えば１色目であれば“００”、２色目であれば“０１”、３色目であれば“１０”、４色目であれば“１１”の２ビットで表わされる。
【００３５】
ここで、代表色４色の決定手法について図を用いて説明する。図５は、４×４の１６ドットの代表色４色の決定手法を説明するための一例の図である。まず、図５（ａ）に示すように、ＲＧＢ空間に３００ｄｐｉ、４×４ドットの全１６ドットの階調値をプロットする。次に、図５（ｂ）に示すように、ＲＧＢのそれぞれ１６ドットの最大階調と最小階調を検出し、階調差の一番大きな色の階調平均値で色空間を２つに分ける。更に、図５（ｃ）に示すように、分割された両色空間について、再び同様に最大階調差の色を各空間に所属するドットの平均値で２つに分ける。色空間が４つに分割できたら、それぞれの空間に所属するドットのＲＧＢ平均値を取って、それらが各空間での代表値Ｃ１（Ｒ１，Ｇ１，Ｂ１），Ｃ２（Ｒ２，Ｇ２，Ｂ２），Ｃ３（Ｒ３，Ｇ３，Ｂ３），Ｃ４（Ｒ４，Ｇ４，Ｂ４）となる。
【００３６】
ここで、ＢＴＣ圧縮では、例えばＲＧＢ→ＣＭＹの色変換や、色補正のような画像処理を行う場合、上述した図４に示すデータフォーマットのうち、前半部の色情報４０１のみにデータ処理を行えばよい。また、画像データの拡大縮小や回転といった画像編集を行う場合には、図４に示すデータフォーマットのうち、後半部の色選択情報４０２のみを並べ替えることにより実現できる。つまり、ＢＴＣ圧縮によりデータ量が低減され、メモリ容量も低減できるだけでなく、画像処理と画像編集が同時に行えて、データ処理速度を高速化することもできる。
【００３７】
また、上述したＢＴＣ圧縮では、一例として４色に近似する方法を紹介したが、色空間分割を１度だけにして、２色で近似する方法もある。この場合、画質としてはやや劣るものの、データ量は半分になり、更に、効果が期待できる。
【００３８】
なお、ＢＴＣ圧縮の圧縮・伸長方法は、例えば、上述した特許文献１（特開平１１−２２７２６３号公報）や特公平６−７６８８号公報等に示されている手法を用いることができる。なお、特許文献１では、ＢＴＣ圧縮における代表近似色数が、例えば４色と固定されている。ところが、パソコンの表計算ソフトやワープロソフト等で作成される、いわゆる一般的なビジネス文書においては、自然画と比較して使用されている色数が少ないことが多い。つまり、上述した圧縮方法で４色の代表色に近似した場合でも、実際には１色や２色しか必要のない場合が多い。更に、ブロック（上述した圧縮例では４×４のブロック）の前後においても使用される色が同じである場合も多い。
【００３９】
そこで、本発明では、同じページ内の画像データであっても、自然画は４色の代表色のＢＴＣデータで、それ以外の部分には２色又は１色のＢＴＣデータでデータ作成を行うこととする。更に、前後のブロックでは、前ブロックとデータ比較して、同じ値のデータ（色情報、色選択情報等）の場合にはデータを省略することによって、データ量を低減している。
【００４０】
また、上述したデータ圧縮及びデータ省略を行った圧縮画像データに対し、ＪＢＩＧ（Ｊｏｉｎｔ  Ｂｉ−ｌｅｖｅｌ  Ｉｍａｇｅ  ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ）やＭＨ（Ｍｏｄｉｆｉｅｄ  Ｈｕｆｆｍａｎ）といった一般的な圧縮技術を用いて二次圧縮を行うこともデータ量の削減には有効である。この場合、プリンタコントローラは、受信した二次圧縮データを一度受信メモリに蓄積し、その二次圧縮データを順次伸長してＢＴＣ圧縮データをフレームメモリに書き込む。
【００４１】
ここで、ページ回転が必要な場合、通常は１面分のＢＴＣ圧縮データ全てをフレームメモリ上に展開し、読み出し位置を変化させることによってページ回転を実現する。ところが、上述した方法では、最低フレームメモリをＢＴＣ圧縮データで１面分取らなければならず、あまり効率的ではない。
【００４２】
そこで、本発明では、ＢＴＣブロックを予め設定されるブロックサイズからなる複数（ｍ×ｎ）のブロックで大ブロックを形成し、この大ブロック単位でデータ圧縮、データ省略することによって、圧縮データのままページ回転が実現できるようにする。ここで、上述の本発明における大ブロック方式について図を用いて説明する。
【００４３】
図６は、大ブロック方式を説明するための一例の図である。図６に示す画像データ６０１は、複数の大ブロック（Ａ〜ＡＶ）から構成されている。また、１個の大ブロック６０２は、複数のＢＴＣブロックが配列されることにより構成されている。なお、図６では、８×８個のＢＴＣブロックからなる大ブロックが構成されているが、本発明においてはこれに限定されるものではない。しかしながら、大ブロックサイズが小さくなると、メモリアクセスのバースト効率が落ち、また大ブロックサイズが大きくなると、展開後のフレームメモリの容量が増える。したがって、大ブロックの範囲は、４×４〜３２×３２個のＢＴＣブロックであることが好ましい。
【００４４】
また、上述した１個のＢＴＣブロックは、複数のドットから構成されている。図６では４×４ドットの例を示しているが、本発明においてはこれに限定されるものではない。
【００４５】
また、本実施形態では、ＢＴＣデータを大ブロック単位で一纏めにし、上述したＪＢＩＧやＭＨといった一般的な圧縮（二次圧縮）を行う。プリンタコントローラが上述した大ブロック単位のＢＴＣ二次圧縮データを受信した場合、データが大ブロック順で受信メモリに蓄積されているため、二次圧縮の伸長順を変更することにより全ての二次圧縮データを伸長することなく画像（ページ）の回転を実現することができる。
【００４６】
この際、プリンタコントローラは、大ブロック単位の二次圧縮データがメモリ上のどこに存在しているかを知る必要があるため、プリンタドライバから各大ブロックのアドレス情報を示したページリストを受け取る必要がある。なお、その分、コンピュータからプリンタに受け渡されるデータ量は増加する方向にあるが、全体のデータ削減量と比較すれば微々たるものである。
【００４７】
＜本発明の実施形態＞
次に、上述した本発明の内容を実現すべく本発明における画像処理装置、画像処理方法、画像処理プログラム、及び該プログラムが記録された記録媒体を好適に実施した形態について、図面を用いて説明する。図７は、本発明における画像処理装置の一例を示すブロック構成図である。なお、図７では、画像処理装置の一例としてカラープリンタを用いているが、本発明における画像処理装置はこれに限定されるものではない。
【００４８】
図７に示す画像処理装置７００は、上位装置としてのコンピュータ７０１と、制御装置としてのプリンタコントローラ７０２と、画像出力装置としてのプリンタエンジン７０３とを有するよう構成されている。なお、本発明においては、コンピュータ７０１及びプリンタコントローラ７０２における機能構成を有するものを画像処理装置とするが、図７に示すようにコンピュータ７０１及びプリンタコントローラ７０２が別体であってもよく、また一体であってもよい。また、以下の説明では画像処理に用いられる画像データの一例としてビットマップ画像データを用いるが、本発明においてはこれに限定されるものではない。
【００４９】
＜コンピュータ７０１＞
コンピュータ７０１は、画像データ入力手段７１１と、データ圧縮手段７１２と、データ省略・二次圧縮手段７１３と、送信メモリ７１４とを有するよう構成されている。画像データ入力手段７１１は、コンピュータ７０１が有するメモリ（図示せず）上に存在する画像データや通信ネットワーク等により接続された他の装置に蓄積された画像データ等から、ビットマップ画像データを入力する。また、画像データ入力手段７１１は、入力したビットマップ画像データをデータ圧縮手段７１２に出力する。
【００５０】
データ圧縮手段７１２は、プリンタドライバ等で実現可能な圧縮形式等を用いて画像データを圧縮する。なお、本実施形態では上述したようにＢＴＣ圧縮を用いる。次に、データ圧縮手段７１２は、圧縮したＢＴＣ圧縮画像データをデータ省略・二次圧縮手段７１３に出力する。
【００５１】
データ省略・二次圧縮手段７１３は、入力したＢＴＣ圧縮画像データを大ブロック単位（本実施形態では、８×８ＢＴＣブロック）で上述したＪＢＩＧやＭＨ等によるデータの圧縮（二次圧縮）を行う。なお、その際に大ブロック内の各ＢＴＣブロックで使用されている代表色数を確認し、全てのＢＴＣブロックで２色のみしか使用されていない場合は、使用していない２色の色情報を削除する。これにより、同時に色選択情報も１ドットあたり１ビットで済むため、代表色４色の場合に比べてデータ量を半分に削減することができる。
【００５２】
更に、データ省略・二次圧縮手段７１３は、大ブロック内の各ＢＴＣブロックで使用されている代表色数が１色のみの場合（例えば、余白部分や、ベタ図形等の場合）、色選択情報は必要なく、色情報１色分のみ出力すればよいため、更にデータの削減を実現することができる。また、最終的な色情報数は、大ブロックデータのヘッダとして付加される。
【００５３】
次に、データ省略・二次圧縮手段７１３は、更なるデータ削減を行うため、直前に処理したＢＴＣデータと新たに入力したＢＴＣデータとのデータ比較を行う。具体的には、データ省略・二次圧縮手段７１３は、ＲＧＢの各色情報と色選択情報とを１バイト単位で比較する。そして、値が異なっているバイトを「１」、値が同じバイトを「０」として、ＢＴＣデータのバイト数分のビット数からなるヘッダ（差異ヘッダ）を作成する。また、この差異ヘッダの後ろには、比較により値が異なっていたバイトのデータのみを残して、残りのバイトは削除する。
【００５４】
ここで、上述の内容について図を用いて説明する。図８は、差異ヘッダのデータ構成の一例を示す図である。なお、図８は、一例として、８バイトからなる連続する２つのＢＴＣデータ（ＢＴＣ１，ＢＴＣ２）を用いて差異ヘッダを構成する例を示している。
【００５５】
図８に示すように、ＢＴＣ１とＢＴＣ２の同一のバイト位置（０〜７）でバイト単位の比較を行い、その値の比較から上述したように「１」、「０」からなるビットを生成する。そして、ＢＴＣ１及びＢＴＣ２のデータを比較した結果、図８に示すように、「１０００１００１」という８ビットが得られ、この８ビットを１６進数表記（０ｘ）することで、「８９」が得られる。更に、ＢＴＣ２省略データとして、差異ヘッダ１バイトの後にＢＴＣ１とＢＴＣ２とのバイト単位の比較において値の異なったバイトのみをデータとして付加する。このようにして、データの省略を実現することができる。なお、本データ削除方法は上述した一般のビジネス文書等の色数の少ない画像処理では特に大きな効果がある。
【００５６】
また、データ省略・二次圧縮手段７１３は、得られたデータ省略・二次圧縮画像データを送信メモリ７１４に蓄積する。送信メモリ７１４は、図示していないデータ転送手段等を通して、データ省略・二次圧縮画像データをプリンタコントローラ７０２に送信する。
【００５７】
なお、上述の二次圧縮については、予め設定されたブロックサイズ（大ブロック）単位で行っている。また、可変長圧縮であるため、データを受け取るプリンタコントローラ７０２では各大ブロックがどのアドレスから始まるのかを認識することができない。
【００５８】
そこで、データ省略・二次圧縮手段７１３は、送信メモリ７１４にデータ省略・二次圧縮画像データを蓄積する際、予め設定される画像回転手段７２３における回転方向及びデータ伸長手段７２５におけるデータの伸長順に基づいて、データ省略・二次圧縮画像データのアドレス情報を含むページリスト（ページ情報）を生成して、送信メモリ７１４に蓄積する。つまり、データの回転方向を考慮して、大ブロックの伸長順に二次圧縮データのアドレスを記載したページリストを生成し、データ省略・二次圧縮画像データ及びページリストをプリンタコントローラ７０２に送信する。これにより、プリンタコントローラ７０２は、各大ブロックがどのアドレスから始まるのかを容易に認識することができる。
【００５９】
なお、ページリストには、アドレス情報だけでなく、その該当ページに関する情報、例えば、二次圧縮を行った際の圧縮形式、データ容量、処理日時、画像データの内容を示す情報等を含んでいてもよい。
【００６０】
＜プリンタコントローラ７０２＞
次に、プリンタコントローラ７０２について説明する。なお、以下にプリンタコントローラ７０２において、大ブロック方式により画像回転を行う部分を説明するにあたり、一例として図９に示す元画像データを用い、時計回り方向に９０度回転させる処理について説明する。なお、図９に示す元画像データは、所定のブロックサイズからなる大ブロック（Ａ〜ＡＶ）を有し、各大ブロックには、８×８のＢＴＣブロック（例えば、大ブロックＡ（９０１）の場合、Ａ１〜Ａ６４）を有している。また、各ＢＴＣブロックは、４×４ドットから構成されている。
【００６１】
プリンタコントローラ７０２は、受信メモリ７２１と、データ復元手段７２２と、画像回転手段７２３と、大ブロックバッファ（ブロック蓄積手段）７２４と、データ伸長手段７２５と、画像処理手段７２６と、ラインメモリ７２７とを有するよう構成されている。
【００６２】
なお、図７に示すプリンタコントローラ７０２では、ラインメモリ７２７のメモリ容量を節約するため、一例としてデータ復元手段７２２、画像回転手段７２３、大ブロックバッファ７２４、及びデータ伸長手段７２５を２つ有し、画像処理手段７２６を４つ有している。また、データ復元手段７２２、画像回転手段７２３、大ブロックバッファ７２４、データ伸長手段７２５では、複数色からなる画像データのうち、少なくとも１色の画像データに対して画像処理を行う。
【００６３】
以下の説明では、一例としてＣＭＹＫの４色からなる画像データのうち、データ復元手段７２２−１、画像回転手段７２３−１、大ブロックバッファ７２４−１、データ伸長手段７２５−１においては、シアン（Ｃ）、マゼンタ（Ｍ）に対する画像処理を行い、データ復元手段７２２−２、画像回転手段７２３−２、大ブロックバッファ７２４−２、データ伸長手段７２５−２においては、イエロー（Ｙ）、ブラック（Ｋ）に対する画像処理を行う。なお、この構成等からなるラインメモリ７２７の節約手法についての説明は後述する。
【００６４】
受信メモリ７２１上には、図９に示す大ブロックＡ（９０１）から大ブロックＡＶ（９０４）までの画像データがデータ省略及び二次圧縮された画像データが蓄積されている。
【００６５】
ここで、上述したコンピュータ７０１によりデータ省略・二次圧縮画像データと共に送信されたページリストには、「時計回りに９０度回転させる」という情報を基に、各大ブロックのアドレス情報が大ブロックＡＯ（９０３）から大ブロックＡ（９０１）の方向に向かって、最終の大ブロックＨ（９０２）まで記載されている。
【００６６】
プリンタコントローラ７０２の中のデータ復元手段７２２−１，７２２−２は、そのページリストを参照し、大ブロックＡＯ（９０３）から大ブロックＡ（９０１）方向に向かって順々に大ブロックＨ（９０２）まで二次圧縮を伸長する。更に、データ復元手段７２２−１，７２２−２は、大ブロックのヘッダと、各ＢＴＣデータの差異ヘッダとを確認しデータの復元を行う。
【００６７】
ここで、差異ヘッダは、上述したようにバイト単位で直前のＢＴＣデータと相違があるか否かを示している。つまり、データを比較して相違がないバイトは直前に処理したデータと同じ値を採用し、相違のあるバイトは後のバイトに付加されている値を用いてデータ列を形成する。したがって、上述した図８により説明したデータ省略手順と逆手順により、省略データからＢＴＣデータ列を形成する。
【００６８】
また、大ブロックヘッダには、その大ブロック内の各ＢＴＣデータに色情報が何色分含まれているかが蓄積されている。大ブロック内のＢＴＣデータで使用されている色情報が２色又は１色の場合には、データ復元手段７２２−１，７２２−２が省略された色情報と色選択情報を付加し、後段の画像処理手段７２６−１〜７２６−４で４色代表のＢＴＣデータとして扱うことができるようにデータの復元を行う。
【００６９】
また、色情報はＢＴＣデータ毎に異なる場合があるため、復元されるＢＴＣデータのデータ長を調整する必要がある。その場合には、例えば「０」や予め設定された値を挿入することによりデータ長を調整する。ここで、上述した内容について図を用いて説明する。
【００７０】
図１０は、復元されるＢＴＣデータの一例を示す図である。ここで、図１０（ａ）は、ＢＴＣフォーマットの一例を示し、図１０（ｂ）は、色選択フォーマットの一例を示す。
【００７１】
図１０（ａ）に示すＢＴＣフォーマット１００１のように、省略されたデータを復元する際、例えば２色分の任意の色情報（任意色）を付加した上、色選択情報も図１０（ｂ）に示す色選択情報フォーマット１００２のように、既に色情報として蓄積されている各ビット（Ａ１〜Ａ８，Ｂ１〜Ｂ８）の前に「０」ビットを付加することにより復元されるＢＴＣデータのデータ長を調整することができる。つまり、色選択情報は、各ビットの前に「０」を挿入することにより代表色２色のＢＴＣデータを４色に拡張することができる。
【００７２】
更に、色情報が１色の場合には、例えば図１１に示すＢＴＣフォーマットのように、ＲＧＢに対して３色分の任意色を付加し、更に色選択情報は最初の１色目を選択すればよいので、全てのビットを「０」で埋めればよい。つまり、色選択情報は、「０」を挿入することにより、復元されるＢＴＣデータのデータ長を調整することができる。これにより、代表色１色のＢＴＣデータを４色に拡張することができる。
【００７３】
次に、データ復元手段７２２で復元された大ブロック１列分の代表色４色のＢＴＣデータは、画像回転手段７２３−１，７２３−２で圧縮画像データの回転処理を行い、それぞれの大ブロックバッファ７２４−１，７２４−２に展開される。
【００７４】
＜画像回転手段７２３−１，７２３−２＞
ここで、画像回転手段７２３−１，７２３−２の機能について具体的に説明する。画像回転手段７２３−１，７２３−２は、ページリストに示されている各大ブロックの読み出し順のアドレス情報によりデータ復元手段７２２−１，７２２−２にて復元された画像データを所定の方向に回転させると、図１２に示すような回転途中の第１の画像データに示す状態になる。なお、図１２では、大ブロックの一部を省略しているが、省略部分も記載された大ブロックと同様の回転処理が行われている。図１２に示す状態は、大ブロックの並べ替えを行っただけであり、ページ回転は不完全であるため、更に各大ブロック内で回転させる必要がある。
【００７５】
そこで、画像回転手段７２３−１，７２３−２は、次に大ブロック内での各ＢＴＣデータの並べ替えを行う。ここで、図１２における大ブロックＡ（１２０１）に注目して、大ブロック内のＢＴＣブロック並べ替えについて説明する。ＢＴＣ圧縮は固定長の圧縮のため、データ復元手段７２２−１，７２２−２で二次圧縮伸長、差異ヘッダによる復元、省略された色情報の追加を行った後、大ブロック内の全てのＢＴＣデータの開始アドレスは既知となる。
【００７６】
つまり、大ブロックＡ（１２０１）の各ＢＴＣデータ１２０２、１２０３、１２０４、１２０５等の並べ替えは既知となった開始アドレスにより容易に実現できる。上述の処理を画像データ全体でこれを実現した結果が図１３である。図１３は、回転途中の第２の画像データの一例を示す図である。なお、図１３では、大ブロックの一部を省略しているが、省略部分も記載された大ブロックと同様の回転処理が行われている。図１３に示すようにＢＴＣブロック１２０２は１３０２へ、１２０３は１３０３へ、１２０４は１３０４へ、１２０５は１３０５へ並べ替えられたことがわかる。
【００７７】
次に、画像回転手段７２３−１，７２３−２は、更に各ＢＴＣブロック内の回転も行う。これは上述したように、ＢＴＣデータフォーマット内の色選択情報を並べ替えることにより容易に実現できる。最終的に並べ替えの終了した画像データは、図１４に示す状態となる。
【００７８】
図１４は、最終データ形態の一例を示す図である。なお、図１４では、大ブロックの一部を省略しているが、省略部分も記載された大ブロックと同様の回転処理が行われている。図１４に示すＢＴＣデータは、ＤＲＡＭ（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）等で実現できる大ブロックバッファ７２４−１，７２４−２に蓄積されるが、大ブロックバッファ７２４−１，７２４−２は従来のような１面分確保する必要はなく、大ブロック２ブロック（２色分）×用紙幅分の容量を有していればよい。これは、すでに画像回転処理が終了しているからである。以上により、ＢＴＣ圧縮、大ブロック化、色情報省略、差異ヘッダ省略の一連の処理によってデータ量と必要なメモリ容量とを大幅に節約（従来よりも削除）することができる。
【００７９】
また、大ブロックバッファ７２４−１，７２４−２に蓄積されたＢＴＣデータは必要に応じて呼び出され、データ伸長手段７２５−１，７２５−２でビットマップ画像データに伸長される。また、データ伸長手段７２５−１，７２５−２により伸長されたビットマップデータは、画像処理手段７２６−１〜７２６−４でＲＧＢ→ＣＭＹ色変換や、墨入れ・墨抜き処理（ＵＣＲ（Ｕｎｄｅｒ  Ｃｏｌｏｒ  Ｒｅｍｏｖａｌ）／ＢＧ（Ｂｌａｃｋ  Ｇｅｎｅｒａｔｉｏｎ））、レジストレーションずれ補正（レジずれ補正）、ディザ処理、エッジ処理等を行って、最終的に得られた画像データをラインメモリ７２７−１〜４に蓄積した後、プリンタエンジン７０３に送信される。
【００８０】
プリンタエンジン７０３は、画像データを受信し、その信号に従って用紙上に画像を形成し出力する。
【００８１】
＜ラインメモリ７２７の節約手法＞
ここで、上述したラインメモリ７２７の節約手法について説明する。一般にＢＴＣ圧縮技術の特長として、伸長を行った際、ＲＧＢの多値データが同時に得られる。つまり、ＢＴＣ圧縮技術は、複数色を同時処理するタンデム方式のカラープリンタに向いているといえる。しかしながら、実際のタンデム方式のカラープリンタは、上述した図３に示すような方式になっている。ＣＭＹＫのような印刷色の各色を、露光装置３１１−１〜３１１−４により、それぞれの感光ドラム３１２−１〜３１２−４上を露光して静電的な潜像を形成し、現像器３１３−１〜３１３−４により現像され、各感光ドラム上にそれぞれの印刷色の単色像が形成され、それらを中間転写体３１４上に重ね、記録媒体３１５上に転写してカラー画像が生成される。
【００８２】
このとき、図３に示すプリンタエンジンの例では、まずシアン（Ｃ）が中間転写体３１４に画像を形成し、その後、マゼンタ（Ｍ）、イエロー（Ｙ）、ブラック（Ｋ）と続く。つまり、実際にＣＭＹＫの各色が処理されるのには時間差があり、各色の印刷データが同時生成されるＢＴＣ圧縮技術では、その差分をラインメモリで吸収する必要がある。このため、図３の例ではシアン（Ｃ）からブラック（Ｋ）へと移動するに連れて、容量の大きなラインメモリが必要となる。例えば、各色間の感光ドラムの距離が５ｃｍ、１ドットの画像データが４ビット、Ａ４用紙向けのプリンタの場合、各色のラインメモリは、マゼンタ（Ｍ）で約３ＭＢ、イエロー（Ｙ）で約６ＭＢ、ブラック（Ｋ）で約９ＭＢ、余分に容量が必要となる。
【００８３】
そこで、本実施形態のプリンタコントローラ７０２では、ラインメモリ７２７を節約するため、上述した図７に示すようにデータ復元手段７２２、画像回転手段７２３、大ブロックバッファ７２４、及びデータ伸長手段７２５を２つ有し、画像処理手段７２６を４つ有している。また、データ復元手段７２２、画像回転手段７２３、大ブロックバッファ７２４、データ伸長手段７２５では、複数色からなる画像データのうち、少なくとも１色の画像データに対して画像処理を行う。
【００８４】
つまり、例えばデータ復元手段７２２−１、画像回転手段７２３−１、大ブロックバッファ７２４−１、データ伸長手段７２５−１でシアン（Ｃ）及びマゼンタ（Ｍ）のデータ処理を行い、更に画像処理手段７２６−１、ラインメモリ７２７−１でシアン（Ｃ）、画像処理手段７２６−２、ラインメモリ７２７−２でマゼンタ（Ｍ）のデータ処理を行う。
【００８５】
また、データ復元手段７２２−２、画像回転手段７２３−２、大ブロックバッファ７２４−２、データ伸長手段７２５−２でイエロー（Ｙ）及びブラック（Ｋ）のデータ処理を行い、更に画像処理手段７２６−３、ラインメモリ７２７−３でイエロー（Ｙ）、画像処理手段７２６−４，ラインメモリ７２７−４でブラック（Ｋ）のデータ処理を行う。以上の仕組みによれば、ラインメモリは、マゼンタとブラックでそれぞれ３ＭＢ余分に持つだけでよく、容量を三分の一に節約することができる。
【００８６】
上述したように本実施形態により、メモリ容量を節約した安価なプリンタコントローラを実現することができる。
【００８７】
ここで、本発明における画像処理装置は、上述した専用の装置構成等を用いて本発明における画像処理を行うこともできるが、各構成における画像処理をコンピュータに実行させることができる実行プログラムを生成し、例えば、汎用のパーソナルコンピュータやサーバ等にそのプログラムをインストールすることにより、本発明に係る画像処理を容易に実現することができる。なお、実行プログラムにより、上述したコンピュータ７０１及びプリンタコントローラ７０２で行った画像処理を実行することができる。
【００８８】
＜ハードウェア構成＞
ここで、本発明における画像処理が実行可能なコンピュータのハードウェア構成例について図を用いて説明する。図１５は、本発明における画像処理が実現可能なハードウェア構成の一例を示す図である。
【００８９】
図１５におけるコンピュータ本体には、入力装置１５０１と、出力装置１５０２と、ドライブ装置１５０３と、補助記憶装置１５０４と、メモリ装置１５０５と、各種制御を行うＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１５０６と、ネットワーク接続装置１５０７とを有するよう構成されており、これらはシステムバスＢで相互に接続されている。
【００９０】
入力装置１５０１は、ユーザが操作するキーボード及びマウス等のポインティングデバイスを有しており、ユーザからのプログラムの実行指示や画像データの入力指示等、各種操作信号を入力する。出力装置１５０２は、本発明における処理を行うためのコンピュータ本体を操作するのに必要な各種ウィンドウやデータ等を表示するディスプレイ（モニタ）を有し、ＣＰＵ１５０６が有する制御プログラムにより実行経過や結果等を表示することができる。
【００９１】
ここで、本発明において、コンピュータ本体にインストールされる実行プログラムは、例えば、ＣＤ−ＲＯＭ等の記録媒体１５０８等により提供される。プログラムを記録した記録媒体１５０８は、ドライブ装置１５０３にセット可能であり、記録媒体１５０８に含まれる実行プログラムが、記録媒体１５０８からドライブ装置１５０３を介して補助記憶装置１５０４にインストールされる。
【００９２】
また、ドライブ装置１５０３は、本発明に係る実行プログラムを記録媒体１５０８に記録することができる。これにより、その記録媒体１５０８を用いて、他の複数のコンピュータに容易にインストールすることができ、容易に画像処理を実現することができる。
【００９３】
補助記憶装置１５０４は、ハードディスク等のストレージ手段であり、本発明における実行プログラムや画像処理で用いられる画像データ、コンピュータに設けられた制御プログラム等を蓄積し必要に応じて入出力を行うことができる。
【００９４】
メモリ装置１５０５は、プログラム実行時のデータの蓄積を行う。このメモリ装置１５０５は、上述した大ブロックバッファ及びラインメモリ等となるものである。
【００９５】
ＣＰＵ１５０６は、ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）等の制御プログラム、及びメモリ装置１５０５により読み出され蓄積されている実行プログラムに基づいて、各種演算や各ハードウェア構成部とのデータの入出力等、コンピュータ全体の処理を制御して、画像処理における各処理を実現することができる。また、プログラムの実行中に必要な各種情報等は、補助記憶装置１５０４から取得することができ、また蓄積することもできる。
【００９６】
ネットワーク接続装置１５０７は、通信ネットワーク等と接続することにより、実行プログラムを通信ネットワークに接続されている他の端末等から取得したり、プログラムを実行することで得られた実行結果又は本発明における実行プログラムを他の端末等に提供することができる。
【００９７】
上述したようなハードウェア構成により、特別な装置構成を必要とせず、低コストで画像処理を実現することができる。また、プログラムをインストールすることにより、容易に画像処理を実現することができる。これにより、少ない記憶領域での画像処理を実現することができ、装置構成におけるメモリ容量を削減することができる。
【００９８】
＜画像処理手順＞
次に、本発明における実行プログラム（画像処理プログラム）を用いた画像処理手順についてフローチャートを用いて説明する。なお、以下に説明する画像処理プログラムは、上述したコンピュータ７０１における処理（圧縮処理）と、プリンタコントローラ７０２における処理（伸長処理）とを分けて説明する。
【００９９】
＜画像処理手順（圧縮処理）＞
図１６は、本発明における画像処理手順（圧縮処理）の一例を示すフローチャートである。まず、画像データを入力し（Ｓ０１）、画像データの圧縮を行う（Ｓ０２）。ここで、画像データは、特に限定されるものではないが、ビットマップ画像データ等を用いることができる。また、データ圧縮手法は、上述したようにＢＴＣ圧縮を用いる。
【０１００】
次に、ＢＴＣ圧縮された画像データを用いて、データ省略・二次圧縮を行う（Ｓ０３）。具体的には、上述したように連続する２つのＢＴＣフォーマットデータを１バイト単位で比較し、その比較結果に基づいて差異ヘッダを生成する。また、差異ヘッダに差異のあったバイトのみを付加してデータを省略し、データ量を削減する。また、二次圧縮としては、ＪＢＩＧやＭＨ等の圧縮技術を用いた圧縮を行う。これにより、更にデータ量を削減することができる。
【０１０１】
次に、Ｓ０３の処理により得られるデータ省略・二次圧縮画像データに対応させてデータの回転処理で行われる回転方向を考慮して、大ブロックの伸長順に圧縮画像データのアドレスを含むページリスト（ページ情報）を生成する（Ｓ０４）。
【０１０２】
また、Ｓ０３の処理により得られたデータ省略・二次圧縮画像データ及びＳ０４の処理により得られたページリストをメモリ等に蓄積し（Ｓ０５）、予め設定されたデータ量や時間等の所定のタイミングに基づいてデータ省略・二次圧縮画像データ及びページリストをプリンタコントローラに送信する（Ｓ０６）。
【０１０３】
＜画像処理手順（伸長処理）＞
次に、画像復元処理手順についてフローチャートを用いて説明する。図１７は、本発明における画像処理手順（伸長処理）の一例を示すフローチャートである。
【０１０４】
まず、上述のＳ０６の処理により送信されたデータ省略・二次圧縮画像データ及びページリストを受信し（Ｓ１１）、受信したデータ省略・二次圧縮画像データ及びページリストをメモリ等に蓄積する（Ｓ１２）。次に、Ｓ１２の処理により蓄積されたデータ省略・二次圧縮画像データを読み出し、データの復元を行う（Ｓ１３）。ここで、画像データの復元は、上述したように、ページリストを参照し画像データの二次圧縮を伸長し、更に大ブロックのヘッダ及び各ＢＴＣデータの上述した差異ヘッダから省略データの復元を行う。つまり、上述した図８に示すデータ省略手順と逆手順により、省略データからＢＴＣデータ列を形成する。また、大ブロックヘッダには、その大ブロック内の各ＢＴＣデータに色情報が何色分含まれているかが蓄積されている。大ブロック内のＢＴＣデータで使用されている色情報が２色又は１色の場合には、省略された色情報と色選択情報を付加し、後段の画像処理手段で４色代表のＢＴＣデータとして扱うことができるようにデータ復元を行う。
【０１０５】
次に、ページリストを参照し上述したように圧縮画像データの回転を行う（Ｓ１４）。また、Ｓ１４の処理により回転がなされた圧縮画像データを大ブロックバッファに蓄積する（Ｓ１５）。このとき、大ブロックバッファは、上述した画像データがＢＴＣ圧縮されており、更に圧縮画像データを回転させているためデータ量が減少したものとなり、メモリ容量も小さいものとなる。
【０１０６】
次に、Ｓ１５の処理により大ブロックバッファに蓄積された圧縮画像データをビットマップ画像データに伸長し（Ｓ１６)、ＲＧＢ→ＣＭＹ色変換や、墨入れ・墨抜き処理（ＵＣＲ／ＢＧ）、レジストレーションずれ補正（レジずれ補正）、ディザ処理、エッジ処理等の画像処理を行い（Ｓ１７）、最終的に得られた画像データをラインメモリに蓄積する（Ｓ１８）。最後に、ラインメモリに蓄積された画像データを画像出力装置としてのプリンタエンジンに出力する（Ｓ１９）。
【０１０７】
上述したように、画像処理プログラムによれば、少ない記憶領域での画像処理を実現することができ、装置構成におけるメモリ容量を削減することができる。また、プログラムをインストールすることにより、容易に画像処理を実現することができる。
【０１０８】
上述したように本発明によれば、少ない記憶領域での画像処理を実現することができる。これにより、装置構成におけるメモリ容量を削減することができる。具体的には、本発明によりハードウェアリソース及びメモリ容量を従来よりも削減でき、安価なプリンタコントローラを実現することができる。
【０１０９】
また本発明では、２つの圧縮画像データ間の類似性を用いてデータ省略を行うため、高精度に送信画像データ量を低減でき、メモリ容量を節約することができる。また、本発明では、圧縮画像データを伸長することなく、ハードウェアで画像の回転ができるので、メモリ容量を節約することができる。また、本発明では、圧縮画像データから複数色の印刷データを同時生成できるため、回路規模を節約することができる。
【０１１０】
なお、本発明は、圧縮された画像データを伸長して画像出力装置に出力する画像処理装置、例えばカラープリンタ等をコントロールするコントローラ（制御装置）に適した発明であるが、画像や映像に関する処理を行う他のコントローラへの適用も容易に実現でき、同様の効果を得ることが期待できる。
【０１１１】
以上本発明の好ましい実施形態について詳述したが、本発明は係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形、変更が可能である。
【図面の簡単な説明】
【０１１２】
【図１】従来の画像処理装置の一例を示すブロック構成図である。
【図２】タンデム方式に対応させたプリンタコントローラの一例を示すブロック構成図である。
【図３】タンデム方式のプリンタエンジンの内部概略構成の一例を示す図である。
【図４】ＢＴＣデータフォーマットの一例を示す図である。
【図５】４×４の１６ドットの代表色４色の決定手法を説明するための一例の図である。
【図６】大ブロック方式を説明するための一例の図である。
【図７】本発明における画像処理装置の一例を示すブロック構成図である。
【図８】差異ヘッダのデータ構成の一例を示す図である。
【図９】元画像データの一例を示す図である。
【図１０】復元されるＢＴＣデータの一例を示す図である。
【図１１】色情報が１色の場合のＢＴＣフォーマットの一例を示す図である。
【図１２】回転途中の第１の画像データの一例を示す図である。
【図１３】回転途中の第２の画像データの一例を示す図である。
【図１４】最終的に並べ替えの終了した画像データの一例を示す図である。
【図１５】本発明における画像処理が実現可能なハードウェア構成の一例を示す図である。
【図１６】本発明における画像処理手順（圧縮処理）の一例を示すフローチャートである。
【図１７】本発明における画像処理手順（伸長処理）の一例を示すフローチャートである。
【符号の説明】
【０１１３】
１００  カラープリンタシステム
１０１，７０１  コンピュータ
１０２，２０２，７０２  プリンタコントローラ
１０３，７０３  プリンタエンジン
１１１，７１１  画像データ入力手段
１１２，７１２  データ圧縮手段
１１３，７１４  送信メモリ
１２１，７２１  受信メモリ
１２２，２２２，７２５  データ伸長手段
１２３，２２３  フレームメモリ
１２４，２２４，７２６  画像処理手段
１２５，２２５，７２７  ラインメモリ
３０１  タンデムプリンタ
３１１  露光装置
３１２  感光ドラム
３１３  現像器
３１４  中間転写体
３１５  記録媒体
４００  ＢＴＣフォーマット
４０１  色情報
４０２  色選択情報
６０１  画像データ
６０２，９０１〜９０４，１２０１〜１２０５，１３０１〜１３０５  大ブロック
７１３  データ省略・二次圧縮手段
７２２  データ復元手段
７２３  画像回転手段
７２４  大ブロックバッファ
１００１  ＢＴＣフォーマット
１００２  色選択情報フォーマット
１５０１  入力装置
１５０２  出力装置
１５０３  ドライブ装置
１５０４  補助記憶装置
１５０５  メモリ装置
１５０６  ＣＰＵ
１５０７  ネットワーク接続装置
１５０８  記録媒体
【図１】
0004681975.tif 000002
【図２】
0004681975.tif 000003
【図３】
0004681975.tif 000004
【図４】
0004681975.tif 000005
【図５】
0004681975.tif 000006
【図６】
0004681975.tif 000007
【図７】
0004681975.tif 000008
【図８】
0004681975.tif 000009
【図９】
0004681975.tif 000010
【図１０】
0004681975.tif 000011
【図１１】
0004681975.tif 000012
【図１２】
0004681975.tif 000013
【図１３】
0004681975.tif 000014
【図１４】
0004681975.tif 000015
【図１５】
0004681975.tif 000016
【図１６】
0004681975.tif 000017
【図１７】
0004681975.tif 000018