(57)【要約】【課題】圧縮に効果的な中間データを作成することで印字のための多値画像データの圧縮効率を高めた画像処理装置および画像処理方法を得ること。【解決手段】多値画像データ１０１はスクリーン処理で構成ビット数を減少させ、これにより生じる濃度データの偏在を利用してテーブル変換処理部１０６で圧縮効率のよいデータに変換する。この後、所定枚数のビットプレーンに変換して、これを１枚に直して圧縮して蓄積する。印字の際には蓄積されたデータを読み出して逆の手法で印字用のデータを得る。【選択図】図１
2008306268.tif 000002
【特許請求の範囲】
【請求項１】
各画素の濃度を多値で表わした画像データを入力して、所定の論理で前記濃度を画素単位で表わす構成ビット数を２以上の所定値に低減する前処理手段と、
この前処理手段によって構成ビット数を低減された画素ごとの濃度を表わしたビット列を、各濃度の出現頻度に予め対応付けたビット列に変換するビット列変換手段と、
このビット列変換手段によって変換された後のビット列をそれぞれのビットごとのビットプレーンに展開するビットプレーン展開手段と、
このビットプレーン展開手段で展開されたビットプレーンを圧縮する画像圧縮手段
とを具備することを特徴とする画像処理装置。
【請求項２】
前記画像圧縮手段で圧縮した画像を伸長する画像伸長手段と、
この画像伸長手段で伸長して得られたビットプレーンを入力して、前記ビット列変換手段と逆の変換を行うビット列逆変換手段と、
このビット列逆変換手段で逆変換して得られた画像データの構成ビット数を前記前処理手段の論理と逆の論理で増加させる構成ビット数増加手段と、
この構成ビット数増加手段で増加して得られた各画素の多値で表わした画像データを入力して画像の印字を行うプリント手段
とを具備することを特徴とする請求項１記載の画像処理装置。
【請求項３】
前記ビットプレーン展開手段は、ビット列を構成する各ビットプレーンを１枚のプレーンに配置する形で展開することを特徴とする請求項１記載の画像処理装置。
【請求項４】
前記画像データはカラー画像データであり、カラーの構成色ごとに前記前処理手段が前処理を行うことを特徴とする請求項１記載の画像処理装置。
【請求項５】
前記ビット列変換手段は、前記前処理手段によって構成ビット数を低減された画素の各濃度の頻度を求める頻度算出手段と、この頻度算出手段で算出した頻度の高い順に、前記ビットプレーン展開手段でそれぞれのビットプレーンに展開するときの出現が抑えられるビット列を割り振るビット列割り振り手段とを具備することを特徴とする請求項１記載の画像処理装置。
【請求項６】
前記ビット列変換手段は、前記前処理手段によって構成ビット数を低減された画素からなる画像データの種類によってビット列の変換用のテーブルを算出することを特徴とする請求項５記載の画像処理装置。
【請求項７】
各画素の濃度を多値で表わした画像データを入力して、所定の論理で前記濃度を画素単位で表わす構成ビット数を２以上の所定値に低減する前処理ステップと、
この前処理ステップで構成ビット数を低減された画素ごとの濃度を表わしたビット列を、各濃度の出現頻度に予め対応付けたビット列に変換するビット列変換ステップと、
このビット列変換ステップによって変換された後のビット列をそれぞれのビットごとのビットプレーンに展開するビットプレーン展開ステップと、
このビットプレーン展開ステップで展開されたビットプレーンを圧縮する画像圧縮ステップと、
この画像圧縮ステップで圧縮したデータをデータ蓄積メモリに蓄積する蓄積ステップと、
この蓄積ステップで蓄積したデータを読み出して伸長する画像伸長ステップと、
この画像伸長ステップで伸長して得られたビットプレーンを入力して、前記ビット列変換ステップと逆の変換を行って印字用の多値データとする印字用データ出力ステップ
とを具備することを特徴とする画像処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プリンタやデジタル複合機、カラーファクシミリ装置のようにモノクロあるいはカラーで画像の印刷を行う画像処理装置および画像処理方法に係わり、特に各画素の濃度が多値で表わされる画像データの処理を行うようにした画像処理装置および画像処理方法に関する。
【背景技術】
【０００２】
プリントや印刷技術の発展で、印刷の分野でも気軽に高品質の印字が可能になってきている。これと共に、１つ１つの画素を構成する画像データの構成ビット数が増大する傾向にある。これら画像データは画像処理装置の内部メモリに一度蓄積されてから印字に使用されるのが通常である。
【０００３】
たとえば複写機を例に採ると、そのスキャナが読み取った画像データは、複写機本体の内部メモリに一度蓄積される。そして、この内部メモリから読み出した画像データを用いてプリントが行われる。デジタル複合機の場合では、原稿をスキャナで読み取る代わりに、パーソナルコンピュータ等から外部入力された画像データを内部メモリに読み込むこともできる。そして、内部メモリから読み出した画像データを用いて画像のプリントが行われる。
【０００４】
このような画像処理装置では、プリントが高速化したり、用紙の両面に記録を行ったり、各種の画像編集を可能にするような場合には、装置が内部メモリに何枚もの画像データを蓄積する必要がある場合が多い。しかも、前記したように画像の高品質化に伴って１枚の画像を構成する画像データの量は膨大となっている。このため、内部メモリに何らの削減処理を行うことなく画像データを蓄積すると、必要なメモリ容量を確保するためには装置の価格が大幅に上昇せざるを得ない。そこで、一般にこのような画素処理装置では、画像圧縮技術を用いて内部メモリに画像データを蓄積するようにしており、印字の際にこの圧縮された画像データを伸長している。
【０００５】
内部メモリに蓄積するために行う画像データの圧縮技術は各種存在している。たとえば、２値画像データを対象としたＭＭＲ（Modified Modified Read）方式や、ＪＢＩＧ（Joint Bi-level Image experts Group）方式といった標準化された符号化技術が存在している。また、カラー画像やグレー画像といった多値画像データを対象としたＪＰＥＧ（Joint Photographic Experts Group）方式等の標準化された、あるいは独自に開発された各種の多値画像符号化技術も存在している。
【０００６】
後者の多値画像データは、２値画像データと比較すると、圧縮前の画像データの量自体が遥かに大きくなっている。このため、ＪＰＥＧ方式等の各種の符号化方式を用いて圧縮しても、圧縮によるデータ量の低減効果をそれほど期待することはできない。一般に、画質と圧縮効率はトレードオフの関係にあり、画質を高品位に維持しようとすると圧縮性能が限定されてしまい、画像データを大きく圧縮することができない。特に、パーソナルコンピュータから取り込む画像データは、デジタルカメラで撮影した人物写真や、ウェブサイトから取得した風景画のように高品位な画像品質が求められる場合が多い。このように、カラー画像など多値画像データを取り扱う画像処理装置では、必然的に大容量のメモリが必要となってしまう。
【０００７】
そこで、多値画像を重み付けされた複数のビットプレーンに分割して、それぞれを２値画像として表わし、これらの相関をとることで画像データの圧縮率を向上することが提案されている（たとえば特許文献１参照）。
【０００８】
図１２は、この第１の提案による画像処理装置の構成の要部を表わしたものである。この画像処理装置５００は、多値の画像データ５０１を入力して複数のビットプレーンに分離するビットプレーン分離器５０２を備えている。ビットプレーン分離器５０２は分離用テーブル５０３を用いて多値の画像データ５０１を複数のビットプレーン５０４に分離する。分離後のビットプレーン５０４は、圧縮前処理器５０５に入力されて、ビットプレーンを構成する同位置のビットデータを近傍位置に配列した単一のビットプレーンとしての合成プレーン５０６が作成される。合成プレーン５０６は、データ圧縮器５０７に入力されて画像圧縮が行われる。
【０００９】
図１３は、この第１の提案によるビットプレーン分離器の分離用テーブルを表わしたものである。この例では、多値の画像データ５０１が第１〜第３のビットプレーン画素値に分離される。第１〜第３のビットプレーン画素値は、１０進数で表わした「０」から「７」までの値を、２進数を構成する各ビット（各桁）に分離したものと等しくなっている。
【００１０】
図１４は、圧縮前処理器の処理内容を原理的に表わしたものである。第１のビットプレーンは、図１３に示した第１ビットプレーン画素値で構成した画像を走査して、第１ラインから順にラインごとに配置した「０」または「１」のビット列からなるビットプレーンである。同様に、第２のビットプレーンは、図１３に示した第２ビットプレーン画素値で構成した画像を走査して、第１ラインから順にラインごとに配置した「０」または「１」からなるビットプレーンであり、第３のビットプレーンは、図１３に示した第３ビットプレーン画素値で構成した画像を走査して、第１ラインから順にラインごとに配置した「０」または「１」からなるビットプレーンである。
【００１１】
圧縮前処理器５０５はこれら第１〜第３のビットプレーンから１枚の合成プレーン５０６を作成する。この際に、まず第１のビットプレーンの第１ラインのビット列が第１ラインとして一列に配置され、その下に第２のビットプレーンの第１ラインのビット列が第２ラインとして一列に配置される。その下には、第３のビットプレーンの第１ラインのビット列が第３ラインとして一列に配置される。第４ライン〜第６ラインは、第１〜第３のビットプレーンの第２ラインのビット列が順に１ラインずつ配置される。以下同様である。
【００１２】
データ圧縮器５０７は、このようにして作成された１枚の合成プレーン５０６を既存の圧縮技術を用いて圧縮する。この際に相互に隣接するラインの相関情報を用いることで、画像データの圧縮効率が高まることになる。
【００１３】
一方、本発明に関連して、ビットプレーンを圧縮する前に多値の画像データの階調ビットを削減する処理を行うという技術も存在している（たとえば特許文献２参照）。この第２の提案では、原多階調画像を単純な下位ビットの切り捨てにより表示可能な単純多階調数データに変換する第１の変換手段と、原多階調画像をディザ法により表示可能なディザ多階調数データに変換する第２の変換手段を備えている。そして、これら第１および第２の変換手段によって変換された階調数データを、第３の変換手段によってグレーコードデータに変換し、このグレーコードデータを、単純多階調データの最高位ビットプレーンから最低位ビットプレーンへ順次ビットプレーン単位で段階的に符号化することにしている。
【００１４】
図１５は、この第２の提案による階調数をグレーコードデータに変換するテーブルを表わしたものである。このグレーコードデータは、隣り合う符号間のハミング距離が「１」になっているコードである。写真のように濃度が緩やかに変化する画像では、グレーコードを用いたビットプレーンにおいて隣合う画素間の相関が強い。
【特許文献１】特開２００４−３１２７７３号公報（第００１０段落、第００１６段落〜第００１８段落、図５、図８）
【特許文献２】特開平０８−００９３６９号公報（第０００４段落、第０００６段落、図１、図４）
【発明の開示】
【発明が解決しようとする課題】
【００１５】
多値画像データは２値画像データと比べると圧縮前の画像データの量自体が大きい。また、ＪＰＥＧ方式等の各種の符号化方式で圧縮を行った場合でも、画質と圧縮効率がトレードオフの関係となり、画質を優先で考えた場合には圧縮性能が大きく制限されて画像データの圧縮効率を上げることができない。
【００１６】
このため、第１および第２の提案が行われている。しかしながら、第１の提案ではビットプレーン分離器５０２で多値の画像データを２値データに変換して、それぞれの桁の値をビットプレーンに変換する前処理を行っている。したがって、前処理後の同一ラインのビット列を隣接させても、これらは２進数の位（桁）の異なる位置のビット同士のために元々相関がない。したがって、データ圧縮器５０７による合成プレーン５０６の圧縮効果の大きさを期待することができない。
【００１７】
また、第２の提案では原多階調画像をビット切り捨てによりビット数の減少を図ったり、ディザ法によりディザ多階調数データに変換に変換した後の諧調数データをグレーコードデータに変換している。このように階調を保持したまま画像データの圧縮を行うので、既存の圧縮技術の枠内の圧縮効果しか期待することができない。
【００１８】
そこで本発明の目的は、圧縮に効果的な中間データを作成することで印字のための多値画像データの圧縮効率を高めた画像処理装置および画像処理方法を提供することにある。
【課題を解決するための手段】
【００１９】
本発明では、（イ）各画素の濃度を多値で表わした画像データを入力して、所定の論理で濃度を画素単位で表わす構成ビット数を２以上の所定値に低減する前処理手段と、（ロ）この前処理手段によって構成ビット数を低減された画素ごとの濃度を表わしたビット列を、各濃度の出現頻度に予め対応付けたビット列に変換するビット列変換手段と、（ハ）このビット列変換手段によって変換された後のビット列をそれぞれのビットごとのビットプレーンに展開するビットプレーン展開手段と、（ニ）このビットプレーン展開手段で展開されたビットプレーンを圧縮する画像圧縮手段とを画像処理装置に具備させる。
【００２０】
すなわち本発明では、各画素の濃度を多値で表わした画像データの構成ビット数を２以上の所定値に低減する前処理を行い、この前処理後の多値データにおける濃度を表わすデータの偏りを利用して、各濃度を表わすビット列をこれらの濃度の出現頻度に対応付けたビット列に変換する。そして、このような変換処理を行ったビット列を構成するビットごとのビットプレーンに展開した後に符号化することにしている。これにより、ビットプレーンに展開するときの圧縮率を考慮してビット列の変換を行うようにすることで圧縮効率を高めることができるようになる。
【００２１】
また本発明では、（イ）各画素の濃度を多値で表わした画像データを入力して、所定の論理で濃度を画素単位で表わす構成ビット数を２以上の所定値に低減する前処理ステップと、（ロ）この前処理ステップで構成ビット数を低減された画素ごとの濃度を表わしたビット列を、各濃度の出現頻度に予め対応付けたビット列に変換するビット列変換ステップと、（ハ）このビット列変換ステップによって変換された後のビット列をそれぞれのビットごとのビットプレーンに展開するビットプレーン展開ステップと、（ニ）このビットプレーン展開ステップで展開されたビットプレーンを圧縮する画像圧縮ステップと、（ホ）この画像圧縮ステップで圧縮したデータをデータ蓄積メモリに蓄積する蓄積ステップと、（へ）この蓄積ステップで蓄積したデータを読み出して伸長する画像伸長ステップと、（ト）この画像伸長ステップで伸長して得られたビットプレーンを入力して、ビット列変換ステップと逆の変換を行って印字用の多値データとする印字用データ出力ステップとを画像処理方法に具備させる。
【００２２】
すなわち本発明では、各画素の濃度を多値で表わした画像データの構成ビット数を２以上の所定値に低減する前処理を行い、この前処理後の多値データにおける濃度を表わすデータの偏りを利用して、前処理後の各濃度を表わすビット列を濃度の出現頻度に対応付けたビット列に変換する。そして、このような変換処理を行ったビット列を構成するビットごとのビットプレーンに展開した後に符号化することで、圧縮率を高めてデータ蓄積メモリに符号化後のデータを蓄積するようにしている。印字の際にはデータ蓄積メモリに蓄積したデータを読み出して伸長し、これによって得られたビットプレーンをビット列変換ステップと逆の変換を行い、これによって得られた多値の画像データを印字用の多値データとして出力することにしている。
【発明の効果】
【００２３】
以上説明したように本発明によれば、画像濃度を表わす多値データの構成ビット数を前処理で２以上の所定値に低減して、このときの各階調に対する画素の数の偏りを利用して、圧縮に効果的となるようにビット列の変換を行って、ビットプレーンに展開し符号化することにした。これにより、多値画像データを２値符号化によって効率的に圧縮することができ、メモリ量や回路規模等の削減が可能となる。また、画像データの処理速度も向上することができる。また、伸長時も、２値復号化後に圧縮時のビット割付の変換に対応した逆変換を行うことで、すばやく簡単に多値データを得ることができ、たとえばリアルタイムで印字処理が可能になる。
【発明を実施するための最良の形態】
【００２４】
以下実施例につき本発明を詳細に説明する。
【実施例１】
【００２５】
図１は、本発明の一実施例における画像圧縮伸長装置の構成を表わしたものである。本実施例の画像圧縮伸長装置１００は、多値画像データ１０１を入力するスクリーン処理部１０２を備えている。多値画像データ１０１は、図示しないスキャナが図示しない原稿を読み取った出力データであってもよいし、図示しないコンピュータの出力データであってもよい。また、この画像圧縮伸長装置１００が各種の外部メモリと接続されるコネクタを備えている場合には、このコネクタに装着されたメモリから選択された画像の出力データであってもよい。
【００２６】
スクリーン処理部１０２は、入力された多値画像データ１０１の構成ビットを減少させる前処理としてスクリーン処理を行うようになっている。スクリーン処理部１０２には、スクリーンパタンメモリ１０３が接続されており、スクリーン処理に必要なスクリーンパタン１０４が読み出されるようになっている。スクリーン処理の詳細は後に説明する。
【００２７】
スクリーン処理部１０４によって変換された多値データ１０５は、テーブル変換処理部１０６に送られるようになっている。テーブル変換処理部１０６には第１のテーブル格納メモリ１０７が接続されており、多値データ１０５の各値が第１のテーブルデータ１０８を用いて変換される。この変換についての詳細は後に説明する。
【００２８】
テーブル変換処理部１０６から出力されるテーブル変換処理後の多値データ１０９はビットプレーン変換部１１１に入力されて、１枚のビットプレーンへと展開される。展開されたビットプレーン１１２は２値圧縮部１１３に供給されるようになっている。２値圧縮部１１３は、ビットプレーン１１２を圧縮し、圧縮後の符号データ１１４をデータ蓄積メモリ１１５に格納する。
【００２９】
本実施例の画像圧縮伸長装置１００は、たとえばコピー機としての機能やスキャナあるいはプリンタとして機能を兼用するデジタル複合機の主要部を構成するようになっている。このため、データ蓄積メモリ１１５は、圧縮後の各種の画像データを、後の使用時まで圧縮された状態で保持するようになっている。
【００３０】
このデータ蓄積メモリ１１５は、２値圧縮部１１３の他に２値伸長部１１６とも接続されている。２値伸長部１１６はデータ蓄積メモリ１１５から読み出された符号データ１１７を伸長して、ビットプレーンデータに復元する。復元されたビットプレーンデータ１１８は、多値データ復元部１１９に送られて多値データに復元される。多値データ復元部１１９から出力される多値データ１２１はテーブル逆変換処理部１２２に送られる。テーブル逆変換処理部１２２には第２のテーブル格納メモリ１２３が接続されている。第２のテーブル格納メモリ１２３は、第１のテーブル格納メモリ１０７と全く逆の変換を行うための変換テーブルが格納されている。テーブル逆変換処理部１２２は、第２のテーブルデータ１２４を用いて、テーブル変換処理部１０６で行った処理とは逆のテーブル変換を行う。そして、元のスクリーン後の多値データ１２５を復元して出力することになる。この多値データ１２５は、たとえば図示しないプリンタに送出されて、印字が行われる。
【００３１】
このような本実施例の画像圧縮伸長装置１００の画像圧縮伸長処理の様子を次に具体的に説明する。スクリーン処理部１０２に入力される多値画像データ１０１は、モノクログレー多値画像やカラー画像データである。このような多値画像データ１０１を本実施例の画像圧縮伸長装置１００に入力するには、各種の手法が可能である。たとえば、図示しないパーソナルコンピュータで生成した多値画像データ１０１を、ＬＡＮ（Local Area Network）やファクシミリ等の通信モジュールを用いて入力することができる。この際に、記録紙にプリントした状態で得られた画像情報については、これを図示しないスキャナで読み取るようにすればよい。
【００３２】
また、ＬＡＮ以外にも、パーソナルコンピュータからＵＳＢ（Universal Serial Bus）やプリンタ用のパラレルポートとしてのセントロニクス（Centronics）といった標準のインタフェースや専用のインタフェースを通して画像圧縮伸長装置１００に入力することも可能である。更に、パーソナルコンピュータからＰＣＩ（Peripheral Component Interconnect）バスや、その他の独自のバスを使用して画像圧縮伸長装置１００に入力する手法もある。更にまた、パーソナルコンピュータから送られてくるプリンタ記述用の言語を解釈して、端末側のＣＰＵ（Central Processing Unit）等のデバイスでビットマップ画像に展開したものを多値画像データ１０１として画像圧縮伸長装置１００に入力するものであってもよい。
【００３３】
このような本実施例の画像圧縮伸長装置１００に入力される多値画像データ１０１の種類は特に限定されるものではない。ただし、本実施例で用いられる多値画像データ１０１は、印刷用の色空間データであることを前提としている。すなわち、モノクログレー多値画像データは、明度データでなく濃度データである必要があり、カラー画像データの場合にはＣＭＹＫ色空間のデータである必要がある。したがって、たとえばデジタルビデオ用のＹＵＶ色空間で表わされた画像データを使用する場合には、パーソナルコンピュータ側や端末側に備えられた図示しないＣＰＵやその他の変換手段を使用してＣＭＹＫ色空間に色変換しておく必要がある。もちろん、本実施例の画像圧縮伸長装置１００におけるスクリーン処理部１０２の前段に多値画像データ１０１の色空間を必要により変換する色空間変換部を備えることは自由である。
【００３４】
スクリーン処理部１０２では、入力された多値画像データ１０１に対してスクリーンパタンメモリ１０３に格納されたスクリーンパターン１０４を使用して、濃度を多値データ表わした画像データの画素ごとの構成ビット数を低減させる前処理を行う。本実施例ではこれをスクリーン処理と呼ぶことにしている。多値画像データ１０１としてＣＭＹＫのカラー画像データが入力された場合、スクリーン処理部１０２はスクリーンパタンメモリ１０３に格納されたＣ、Ｍ、Ｙ、Ｋの各色に対応したスクリーンパターン１０４を用いて、それぞれの色ごとにスクリーン処理を行うことになる。本実施例では、多値画像データ１０１として２５６階調のモノクログレー多値画像データを入力する場合を説明する。
【００３５】
図２は、本実施例のスクリーン処理部の原理的な動作を説明するためのものである。多値画像データ１０１は、たとえばそれぞれの画素の濃度を２５６段階（８ビット）で表わしたものである。この多値画像データ１０１は、図１に示したスクリーンパタンメモリ１０３に格納されたｘ方向（主走査方向）とｙ方向（副走査方向）にそれぞれ複数画素長からなるスクリーンパターン１３１を用いて、それぞれの画素ごとに８段階（３ビット）の多値データ１０５に変換される。ここで、スクリーンパターン１３１は、各画素Ｐ11〜Ｐ44ごとに８段階の多値化を行うしきい値ＴＨ11、ＴＨ12、……ＴＨ44を設定したもので、一例としては多値用ディザパターンとして構成されている。
【００３６】
スクリーン処理は、画素ごとの構成ビット数を低減させる一般的なスクリーン処理技術を使用して構わない。このように多値で画像の階調を表現しようとする擬似中間調処理では、微視的にそれぞれの画素の濃度を見てみると、スクリーン処理前の画像データ１０１と異なり、濃度そのものを直接的に表わすデータではなくなる。たとえば多値のディザ処理では、図２に示したスクリーンパターン１３１を構成する範囲の２５６階調の４×４画素枠部分の全体的な濃度を、同一範囲の８階調の４×４画素の集合で、できるだけ正確に表わすようにしたものであるからである。
【００３７】
図３は、画素ごとに階調濃度に比例した画像データを有する一定の画像領域の画像データをビットプレーンに展開する一般的な様子を表わしたものである。ここでは、２５６階調で表わした元の画像領域１４１の各画素が濃度に応じて８階調（３ビット）に変換されたものとする。変換後の最下位ビットを第１ビットとし、最上位ビットを第３ビットとする。
【００３８】
２５６階調で表わした元の画像領域１４１には、白地に比較的暗い色で「あ」という文字が描かれているものとする。このような明暗の比較的はっきりした文章等の画像の場合、先のディザ処理のような中間調を忠実に再現する手法を採用せず、８ビットのうちの下位ビットを削除するようにして濃度を単純に２５６階調の表現から８階調の表現に変更した場合、第１ビットから第３ビットまでの各ビットプレーン１４３〜１４５は、ほぼ同一の画像パターンとなる。
【００３９】
図４は、階調ビットを削減した場合における前記した画像領域の画像データをビットプレーンに展開する様子を表わしたものである。２５６階調で表わした元の画像領域１４１の画像データを本実施例のスクリーン処理部１０２（図１）によって８階調に変換する前処理を行ったものとする。すると、たとえばディザ処理で「あ」という文字部分（暗い部分）では、画素ごとに各種の値となるしきい値のほとんどの値の部分で、これらのしきい値よりも暗い側の画素であると判別される。また、白地に近い地色の部分では、これらのしきい値のほとんどの値の部分で、これらのしきい値よりも明るい側の画素であると判別される。この結果、８階調で表わした画像データの第１ビットに関するビットプレーン１５１は、２５６階調で表わした元の画像領域１４１とほぼ同一の画像パターンとなる。
【００４０】
これに対して、８階調で表わした画像データの第２ビットや第３ビットに関しては、しきい値が画素ごとに各種の値をとる関係で、文字の一部を構成する画素部分であっても、しきい値によっては暗い側の画素であると判別されないことになる。この結果、「あ」という文字部分の濃度にもよるが、第２ビットのビットプレーン１５２や第３ビットのビットプレーン１５３では文字パターンが現われず、この代わりに「０」と「１」のビットが混在したパターンが現われることになる。
【００４１】
もちろん、このように「０」と「１」のビットが混在したパターンは、圧縮を効率的に行う上で好ましいものではない。そこで、本実施例では図１に示すスクリーン処理部１０２でスクリーン処理を行った後、ビットプレーン変換部１１１で各ビットプレーンに展開する前に、テーブル変換処理部１０６でこのように点在するノイズの発生を極小化するようにしている。第１のテーブル格納メモリ１０７には、スクリーン処理後の多値データ１０５の変換処理を行うための第１のテーブルデータ１０８が格納されている。
【００４２】
図５は、第１のテーブルデータと第２のテーブルデータの一例についてこれらの関係を表わしたものである。図１に示した第１のテーブル格納メモリ１０７には、画像圧縮伸長装置１００に入力される多値画像データ１０１に対応させて幾つかの種類の第１のテーブルデータが格納されている。図５には、ユーザが選択したその中の１つを第１のテーブルデータ１０８として示している。第２のテーブルデータ１２４は、第１のテーブルデータ１０８と対を成している。すなわち第１のテーブルデータ１０８は、２値圧縮部１１３で圧縮が最適に行われるようにビットプレーン変換部１１１で各ビットプレーンに展開する多値データ１０５の変換処理を行う変換データであり、第２のテーブルデータ１２４は、元のスクリーン処理後の多値データ１２５を復元するための変換データである。
【００４３】
この変換データがどのように作成されるかを次に説明する。これは、本実施例のように第１のテーブル格納メモリ１０７に複数通りの第１のテーブルデータ１０８を用意している場合に、ユーザがこのうちのどれを選択するかの問題でもある。
【００４４】
図６は、本実施例で図４に示した文字「あ」を表わした多値画像データのヒストグラムを表わしたものである。この図で横軸は画像の濃度を「０」から「２５５」の２５６段階で表わしたものであり、縦軸は該当する画素の個数を表わしたものである。白色系統の地色部分に黒色系統の文字「あ」が描かれているので、濃度「０」と濃度「２５５」の２つの濃度に画素数のピークが存在している。また、その他の階調にも値がある程度分散しており、一番多い濃度「２５５」の画素数の約１０パーセント程度の画素数が他の幾つかの階調でも存在している。
【００４５】
図７は、スクリーン処理によって画像データの階調ビットを削減した後の多値データのヒストグラムを表わしたものである。横軸は濃度「０」から濃度「７」の８段階の階調を表わしており、縦軸はそれぞれの濃度の画素数を表わしている。この場合には、濃度「０」と濃度「７」といった階調にほとんどの画素が集中している。他の階調の画素数は、一番多い濃度「７」の画素数に対して約０.５パーセント程しか出現していない。このため、一番出現率の大きい濃度「７」の値を多値データとして「１１１（２進数）」で表わすより、「０００（２進数）」や「００１（２進数）」といった多値データとして表わすことで、ビットプレーンに展開したときに各ビットに偏りを持たせて効果的に圧縮することができる。
【００４６】
図６と図７を対比すると分かるように、画像圧縮伸長装置１００に入力されたスクリーン処理前の多値画像データ１０１（図６）に比べてスクリーン処理後の多値データ１０５（図６）では出現率が全階調のうちの幾つかに集中してくる。この結果、たとえば図７で濃度「６」は出現率が最も低く、該当する画素が零となっている。このような出現率の低い濃度に「１１１（２進数）」といった圧縮率の高くならないビット列を優先的に配置することで、たとえば図４に示した第２ビット１５２あるいは第３ビット１５３における「１」のビットの出現する回数を減少させることができる。このように図７に示したスクリーン処理後の多値の画像データにおける各濃度（階調）の出現する割合が高いほど圧縮に有利なビット列を割り当てていくことで、この例で３つのビットプレーンに変換した後のパターンを効果的に圧縮することができる。
【００４７】
図５に示した第１のテーブルデータ１０８は、紙に文字が印刷された場合のような文字モードに対して圧縮率が向上するようになっている。中間調を主体とした写真モードのように画像データの種類に応じて複数のモードを設定しておき、第１のテーブルデータ１０８をこれらの各モード用に用意しておいて、ユーザが適宜選択できるようにしておくことは圧縮率の向上に効果がある。
【００４８】
図８は、文字「あ」を表わした画像データをテーブル変換した結果としての３つのビットプレーンを表わしたものである。図４に示した第２および第３ビットに関するビットプレーン１５２、１５３と比較すると、ノイズとして現われている「１」のビットの数が減少しており、圧縮効率が向上している。
【００４９】
ところで、ビットプレーン変換部１１１では、このようにして得られた１画像当たり３枚のビットプレーン１６１〜１６３を１枚のビットプレーンに展開して、図１に示した２値圧縮部１１３で圧縮することにしている。
【００５０】
図９は、３枚のビットプレーンを１枚のビットプレーンに展開する方法を示したものである。本実施例では、この図に示したように多値データ１０９を構成するＸ×Ｙ画素分のビットプレーン１６１〜１６３を横に並べて３Ｘ×Ｙ画素分のビットプレーン１７１として、これを２値圧縮部１１３で圧縮するようにしている。並べる方向はこれと同一方向に限定されるものではなく、たとえばＸ×３Ｙとなるように並べてもよい。
【００５１】
これにより、２値圧縮部１１３は、３Ｘ画素あるいはＹ画素分の長さのラインメモリを数組用いるだけで、１つのラインにおける同一画素の連続状態を利用した圧縮や、隣接するライン同士の同一異同状態を利用した圧縮が可能になる。これらは、たとえばファクシミリ通信における２値符号化方式としてのＭＨ（Modified Huffman）、ＭＲ（modified READ：relative element address designate）、ＭＭＲ、ＪＢＩＧといった標準の２値エントロピ符号化や、独自のエントロピ符号化として使用されている。
【００５２】
ところで３枚のビットプレーン１６１〜１６３は、図９に示したように１枚のビットプレーン１７１にまとめずに、それぞれ別々に圧縮して保管することも可能である。しかしながら、このようにすると、これら３枚のビットプレーン１６１〜１６３を１組のデータとして統一して管理する必要があり、その分のデータが余計に必要となる。また、３枚のビットプレーン１６１〜１６３は一体として処理すべきものなので、個別管理するメリットがない。
【００５３】
更に、３枚のビットプレーン１６１〜１６３をこれらの面を図９に示したように横１枚にまとめずに、縦方向（垂直方向）に並べることも可能である。しかしながら、この場合には、各ビットプレーン１６１〜１６３ごとのシーケンシャル処理が必要となり、リアルタイムでの圧縮処理ができなくなる。また、縦方向に並べた場合、それぞれのビットプレーン１６１〜１６３には相関がほとんどないので、圧縮のメリットは大きくない。
【００５４】
図９に示したように１枚のビットプレーン１７１にまとめることで、画像処理に必要なメモリは最低で１ライン分だけで良く、また、圧縮時にたとえば主走査方向の画素数をそれぞれのビットプレーン１６１〜１６３の３倍に設定することでリアルタイムな圧縮処理が可能になる。
【００５５】
本実施例の２値圧縮部１１３は、通常の２値符号化用の回路を使用することができ、その回路規模も小さく、安価に構成することができる。また、２値圧縮部１１３をソフトウェアで構成する場合にも、その処理が比較的軽いので、高速処理が可能である。本実施例では、ビットプレーン変換部１１１までの回路処理の３倍の処理速度で２値圧縮部１１３を動作させることで、データ蓄積メモリ１１５への圧縮後の符号データ１１４を書き込むまでの処理を遅滞なく、かつリアルタイムで行うことが可能である。
【００５６】
このようにしてデータ蓄積メモリ１１５に蓄積された符号データ１１４は、図示しないプリンタが印刷を必要とした時点で読み出される。印刷用のデータとして図示しないＬＡＮ（Local Area Network）等のネットワークあるいは通信ケーブルで転送する場合も同様である。データ蓄積メモリ１１５から読み出された符号データ１１７は、２値伸長部１１６で多値のビットプレーンデータ１２１に伸長される。伸長時の２値復号化方式は、当然ながら２値圧縮部１１３に対応した復号化方式となる。伸長されたビットプレーンデータ１１８は、多値データ復元部１１９で多値データ１２１へと戻される。この処理は、ビットプレーン変換部１１１での処理の逆の処理となる。
【００５７】
多値データ復元部１１９で復元された最初の段階の多値データは、図９で示した３Ｘ×Ｙ画素分のビットプレーン１７１に対応するものとなっている。そこで、これをそれぞれＸ×Ｙ画素分の３枚のビットプレーンデータに切り離したものが多値データ１２１となる。このひとまとまりの多値データ１２１は、テーブル逆変換処理部１２２に入力される。テーブル逆変換処理部１２２は第２のテーブル格納メモリ１２３から送られてくる第２のテーブルデータ１２４を参照して、テーブル変換を行う。
【００５８】
図５で説明したように第１のテーブルデータ１０８と第２のテーブルデータ１２４は対の関係となっている。したがって、第１のテーブル格納メモリ１０７に複数通りの第１のテーブルデータ１０８が用意されている場合には、第２のテーブル格納メモリ１２３にも同じ数だけの第２のテーブルデータ１２４が用意されている。そして、たとえば第１のテーブルデータ１０８として文字モード用のデータが読み出された場合には、同様に第２のテーブルデータ１２４として文字モード用のデータが読み出されることになる。
【００５９】
このテーブル逆変換処理部１２２は、元のスクリーン処理後の多値データ１２５を復元する。ここではテーブル変換処理部１０６とは逆の変換が行われる。図５はこの変換の様子を表わしている。テーブル逆変換処理部１２２でテーブル逆変換処理が行われて得られた多値データ１２５は、スクリーン処理後のデータとなり出力される。出力されたデータは、必要であればＰＷＭ（Pulse Width Modulation）等の多値化のための後処理を経て、図示しないプリンタによって印刷されることになる。このように、本実施例の画像圧縮伸長装置１００では、スクリーン処理等の画像を印刷する場合の画像処理を行うため、装置から出力されるデータは、最終的には印刷目的となることを前提としている。
【００６０】
なお、実施例ではモノクログレー多値画像データの印字を行う場合を例にとって説明した。カラー画像データや多色の多値画像データの印字を行う場合についても、本発明を同様に適用することができる。
【００６１】
以上説明したように本実施例の画像圧縮伸長装置１００によれば、スクリーン処理後の多値データに対して、値の偏りを利用してビットの割付を変更するための変換を施すことで画像データの圧縮効率を向上させている。また、多値データの各ビットプレーンを横方向に並べて１つのビットプレーンにすることで、１ライン程度の少ないメモリ量と、簡易な２値符号化回路を高速で動作させることを可能にしている。
【００６２】
これにより、モノクログレー画像やカラー画像といった多値画像データを、比較的簡単な２値符号化方式を使用して、しかもリアルタイムで高い圧縮性能で効率的に圧縮および伸長することができる。また本実施例では、多値画像データに対してスクリーン処理を行うことにしているので、圧縮前のデータ量を削減することができ、比較的少ないメモリ容量で多くの多値画像データを蓄積することができる。したがって、画像圧縮伸長装置１００のコストダウンを図ることができる。また、圧縮された画像データの伸長時も圧縮時と逆の処理を行うことで、プリンタエンジンの速度に対しても遅滞無く画像を復元し出力することができる。
【００６３】
＜発明の変形可能性＞
【００６４】
図１０は、本発明の変形例における画像圧縮伸長装置の構成を表わしたものである。この変形例の画像圧縮伸長装置１００Ａで、図１に示した画像圧縮伸長装置１００と同一部分には同一の符号を付しており、これらの説明を適宜省略する。
【００６５】
この変形例の画像圧縮伸長装置１００Ａでは、これに入力された多値画像データ１０１の特性をデータ解析部２０１がスクリーン処理部１０２から出力される多値データ１０５を基に解析を行って、第１のテーブルデータ１０８Ａとこれに対応した第２のテーブルデータ１２４Ａを作成するようになっている。このうちの第１のテーブルデータ１０８Ａは、第１のテーブル格納メモリ１０７Ａに格納される。
【００６６】
また、第２のテーブルデータ１２４Ａの方はデータ蓄積メモリ１１５に供給され、２値圧縮部１１３が圧縮した符号データ１１４Ａに対応させてこれに格納されるようになっている。これは、データ蓄積メモリ１１５に時間を異にして複数の画像が符号データ１１４Ａとして蓄積される場合、どの画像の符号データ１１７Ａが読み出されるかによって第２のテーブルデータ１２４Ａが相違するので、画像に対応した第２のテーブルデータ１２４Ａが読み出されるようにするためである。
【００６７】
ところで、この変形例の画像圧縮伸長装置１００Ａでは、データ解析部２０１がスクリーン処理部１０２から出力される多値データ１０５を基に解析を行う。そこで、この解析に要する時間的な遅延とテーブル変換処理部１０６Ａに供給されるスクリーン処理後の多値データ１０５Ａの時間的なタイミング調整を行うためのテンポラリメモリ２０２が用意されている。
【００６８】
テーブル変換処理部１０６Ａは、スクリーン処理後の多値データ１０５Ａを、第１のテーブル格納メモリ１０７Ａから供給されるその画像データに対応した第１のテーブルデータ１０８Ａを用いてテーブル変換して、多値データ１０９Ａを出力する。この多値データ１０９Ａは、先の実施例で説明したようにビットプレーン変換部１１１でビットプレーンに変換され、これによって展開されたビットプレーン１１２Ａは２値圧縮部１１３で圧縮されて、符号データ１１４Ａとしてデータ蓄積メモリ１１５Ａに格納されることになる。
【００６９】
データ蓄積メモリ１１５Ａから印字される画像の符号データ１１７Ａが読み出されると、このタイミングで第２のテーブルデータ１２４Ａが第２のテーブル格納メモリ１２３Ａに供給される。したがって、テーブル逆変換処理部１２２Ａはこのとき出力される第２のテーブルデータ１２４Ａを用いて、テーブル変換処理部１０６Ａで行った処理とは逆のテーブル変換を行う。そして、元のスクリーン処理後の多値データ１２５Ａを復元して出力することになる。この多値データ１２５Ａは、たとえば図示しないプリンタに送出されて、印字が行われる。
【００７０】
図１１は、データ解析部の解析処理の概要を表わしたものである。図１０に示したこの変形例の画像圧縮伸長装置１００Ａは、図示しないがＣＰＵ（Central Processing Unit）とこのＣＰＵが実行する制御プログラムを格納した記憶媒体を備えている。そして、ＣＰＵが制御プログラムを実行することで、データ解析部２０１の解析制御等の所定の制御を行うようになっている。多値画像データ１０１が新しく画像圧縮伸長装置１００Ａに入力した場合のデータ解析部２０１の制御を図１０と共に説明する。
【００７１】
データ解析部２０１は、スクリーン処理後の多値データ１０５を１ページ分あるいは所定のデータ量（たとえば２５６ラインや１０２４ラインといったバンド単位あるいは半ページ）だけ入力すると、これに対して各階調ごとの出現頻度の統計をとる（ステップＳ３０１）。スクリーン処理でたとえば２５６段階の階調が８段階に減少する処理が行われている場合には、この８段階の階調のそれぞれについて、図７で説明したように出現頻度を計数することになる。なお、この処理が行われている間、後に説明するステップＳ３０４の処理が行われるまで、スクリーン処理後の多値データ１０５はテンポラリメモリ２０２に順次格納されていく。
【００７２】
ステップＳ３０１の統計処理が終了したら、データ解析部２０１は出現頻度の高い階調から順に、各ビットプレーンへの出現が抑えられるビット列を割り振って、これらを対応付けた変換テーブル（第１のテーブルデータ１０８Ａ）と、復元の際に使用する変換テーブル（第２のテーブルデータ１２４Ａ）を作成する（ステップＳ３０２）。そして、これらを第１のテーブルデータ１０８Ａおよび第２のテーブルデータ１２４Ａとして出力する（ステップＳ３０３）。第１のテーブルデータ１０８Ａは第１のテーブル格納メモリ１０７Ａに送られる。また、第２のテーブルデータ１２４Ａはデータ蓄積メモリ１１５Ａへ送られる。
【００７３】
以上の処理が終了すると、データ解析部２０１はテンポラリメモリ２０２に対してテーブル変換処理部１０６Ａへ一時的に格納した多値データ１０５Ａから順に多値データ１０５Ａの出力を指示する（ステップＳ３０４）。これにより、テーブル変換処理部１０６Ａは、入力される多値データ１０５Ａに対してこれに対応する第１のテーブルデータ１０８Ａを用いてテーブル変換を開始することになる。
【００７４】
テーブル逆変換処理部１２２Ａでは、多値データ復元部１１９から送られてくる多値データ１２１Ａを、第２のテーブルデータ１２４Ａを用いて逆変換を行うが、これについては詳細な説明を省略する。
【００７５】
なお、データ解析部２０１における第１のテーブルデータ１０８Ａの作成に関しては、たとえば多値データが３ビットとした場合、一番頻度が高いものを「０００（２進数）」、次に出現頻度が高いものを「００１（２進数）」、その次に高いものを「０１０（２進数）」、一番出現頻度が低いものを「０００（２進数）」というような変換テーブルを作成する。ここで、ビット数はスクリーン後のビット数に応じて変化し、また、変換テーブルでは、「０」から「０００（２進数）」への変換は固定化し、その他のデータに対して出現頻度に応じて「００１（２進数）」、「０１０（２進数）」、「１００（２進数）」、……「１１１（２進数）」といったルールでもよい。
【００７６】
このような変形例の画像圧縮伸長装置１００Ａによれば、入力される多値画像データ１０１にしたがって入力画像の特性を分析し変換テーブルをダイナミックに生成することができる。このため、どのような画像タイプが入力されても柔軟に対応することができ、先の実施例に比べ、ユーザのモード選択の技量に頼ることなく、画像データの圧縮性能を安定して向上させることができる。その代わりとして画像タイプの分析処理が入るため圧縮時には一時蓄積用のメモリが必要となる。メモリ量は分析するデータの範囲による。また、伸長時は分析された結果だけを使用するため、先の実施例と同様、リアルタイムで処理することができる。
【００７７】
なお、この変形例ではデータ解析部２０１で生成された変換テーブル用の第１のテーブルデータ１０８Ａや第２のテーブルデータ１２４Ａを符号データとは分けてメモリに格納して管理していたが、テーブルの管理方法はこれに限定するものではない。たとえば、符号データ自体にメタデータとして入れ込んでおくことも可能である。一例を挙げると、符号データの先頭に逆変換テーブルを並べ、その後に符号データをつけてメモリに蓄積するようにしてもよい。逆変換データは生のままでも圧縮をかけていても問題ない。伸長側では先頭から逆変換テーブル部分を抜き出し、第２のテーブル格納メモリ１２３Ａに設定し、残りの符号データを２値伸長部１１６で伸長することになる。これにより、符号データと別に管理するという煩わしさがなくなる。
【００７８】
また、実施例および変形例では画像圧縮伸長装置１００、１００Ａ内に画像データの圧縮を行う回路部分と伸長を行う回路部分を組み込んだが、別々の装置に格納するようにしてもよい。また、圧縮や伸長はハードウェアで行ってもよいし、ソフトウェアで実現してもよい。
【００７９】
更に、本発明の変形例では装置に入力される多値画像データに対応する第１のテーブルデータおよび第２のテーブルデータをその都度作成することで処理を自動化したが、これに限るものではない。すなわち、実施例のように各種の多値画像データに対応する第１のテーブルデータおよび第２のテーブルデータを予め複数種類作成しておき、処理の対象となる多値画像データの特性を測定して、どのタイプのテーブルデータが適するかを装置側が判別して選択作業を行うようにしてもよい。この場合、第１のテーブル格納メモリおよび第２のテーブル格納メモリには、どのタイプのテーブルデータを使用するかを示す情報が供給されることになる。
【図面の簡単な説明】
【００８０】
【図１】本発明の一実施例における画像圧縮伸長装置の構成を表わしたブロック図である。
【図２】本実施例のスクリーン処理部の原理的な動作を示した説明図である。
【図３】一定の画像領域の画像データをビットプレーンに展開する様子を表わした一般的な技術の説明図である。
【図４】本実施例で階調ビットを削減して所定の画像領域の画像データをビットプレーンに展開する様子を表わした説明図である。
【図５】本実施例で第１のテーブルデータと第２のテーブルデータの一例についてこれらの関係を表わした説明図である。
【図６】本実施例で図４に示した文字「あ」を表わした多値画像データのヒストグラムを表わした特性図である。
【図７】本実施例でスクリーン処理後の多値データのヒストグラムを表わした特性図である。
【図８】本実施例で画像データをテーブル変換した結果としての３つのビットプレーンを表わした説明図である。
【図９】本実施例で３枚のビットプレーンを１枚のビットプレーンに展開する方法を示した説明図である。
【図１０】本発明の変形例における画像圧縮伸長装置の構成を表わしたブロック図である。
【図１１】変形例におけるデータ解析部の解析処理の概要を表わした流れ図である。
【図１２】第１の提案による画像処理装置の構成の要部を表わしたブロック図である。
【図１３】第１の提案によるビットプレーン分離器の分離用テーブルを表わした説明図である。
【図１４】第１の提案による圧縮前処理器の処理内容を原理的に表わした説明図である。
【図１５】第２の提案による階調数をグレーコードデータに変換するテーブルを表わした説明図である。
【符号の説明】
【００８１】
１００、１００Ａ  画像圧縮伸長装置
１０１  （入力側の）多値画像データ
１０２  スクリーン処理部
１０３  スクリーンパターンメモリ
１０６、１０６Ａ  テーブル変換処理部
１０７、１０７Ａ  第１のテーブル格納メモリ
１０８、１０８Ａ  第１のテーブルデータ
１１１  ビットプレーン変換部
１１３  ２値圧縮部
１１５、１１５Ａ  データ蓄積メモリ
１１６  ２値伸長部
１１９  多値データ復元部
１２２、１２２Ａ  テーブル逆変換処理部
１２３、１２３Ａ  第２のテーブル格納メモリ
１２４、１２４Ａ  第２のテーブルデータ
１２５、１２５Ａ  （出力側の）多値データ
１６１〜１６３、１７１  ビットプレーン
【図１】
2008306268.tif 000003
【図２】
2008306268.tif 000004
【図３】
2008306268.tif 000005
【図４】
2008306268.tif 000006
【図５】
2008306268.tif 000007
【図６】
2008306268.tif 000008
【図７】
2008306268.tif 000009
【図８】
2008306268.tif 000010
【図９】
2008306268.tif 000011
【図１０】
2008306268.tif 000012
【図１１】
2008306268.tif 000013
【図１２】
2008306268.tif 000014
【図１３】
2008306268.tif 000015
【図１４】
2008306268.tif 000016
【図１５】
2008306268.tif 000017