(57)【要約】【課題】画像データをより適正に圧縮する。【解決手段】ブロック毎に、ブロックがカラーである場合にはＹＣｂＣｒ表色系におけるＹｃ１，Ｙｃ２，Ｃｂ，Ｃｒのユニットを作成すると共に作成したＹｃ１，Ｙｃ２，Ｃｂ，Ｃｒのユニットとカラー用のテーブル群とを用いて圧縮処理を行ない（Ｓ１３０〜Ｓ２４０）、ブロックがモノクロである場合にはブロックを４分割してＹｍ１〜Ｙｍ４のユニットを作成すると共に作成したＹｍ１〜Ｙｍ４のユニットとモノクロ用のテーブル群とを用いて圧縮処理を行なう（Ｓ２５０〜Ｓ３５０）。【選択図】図２
2011097265.tif 000002
【特許請求の範囲】
【請求項１】
画像データを複数のブロックに分割して該ブロック毎に圧縮する画像処理方法であって、
（ａ）前記複数のブロックのうち圧縮する前記ブロックを順に取得し、
（ｂ）前記取得したブロックがカラーであるかモノクロであるかを判定し、
（ｃ）前記取得したブロックがカラーであると判定した場合には、所定の表色系の各色成分に応じて所定数のユニットを作成すると共に該作成した所定数のユニットとカラー用のテーブルとを用いて圧縮処理を行ない、前記取得したブロックがモノクロであると判定した場合には、前記取得したブロックの分割を伴って前記所定の表色系の１つの色成分について前記所定数のユニットを作成すると共に該作成した所定数のユニットとモノクロ用のテーブルとを用いて前記圧縮処理を行なう、
画像処理方法。
【請求項２】
請求項１記載の画像処理方法であって、
前記ステップ（ｃ）は、前記取得したブロックがカラーであると判定した場合には、解像度を落として前記所定数のユニットを作成し、前記取得したブロックがモノクロであると判定した場合には、解像度を保持して前記所定数のユニットを作成するステップである、
画像処理方法。
【請求項３】
請求項１または２記載の画像処理方法であって、
前記ステップ（ｃ）は、前記取得したブロックがカラーであると判定した場合には、前記所定の表色系の各色成分に応じて４つのユニットを作成し、前記取得したブロックがモノクロであると判定した場合には、前記取得したブロックの縦方向の中心および横方向の中心での分割を伴って前記所定の表色系の１つの色成分について４つのユニットを作成するステップである、
画像処理方法。
【請求項４】
請求項１または２記載の画像処理方法であって、
前記ステップ（ｃ）は、前記取得したブロックがカラーであると判定した場合には、前記所定の表色系の各色成分に応じて４つのユニットを作成し、前記取得したブロックがモノクロであると判定した場合には、前記取得したブロックの一方の半分と他方の半分とでの異なる方法による分割を伴って前記所定の表色系の１つの色成分について４つのユニットを作成するステップである、
画像処理方法。
【請求項５】
請求項４記載の画像処理方法であって、
前記ステップ（ｃ）は、前記取得したブロックがモノクロであると判定した場合には、前記取得したブロックの上半分については中心で左右に分割して第１および第２のユニットとし、前記取得したブロックの下半分については奇数番目の列の画素を組み合わせて第３のユニットとすると共に偶数番目の列の画素を組み合わせて第４のユニットとするステップである、
画像処理方法。
【請求項６】
請求項１ないし５のいずれか１つの請求項に記載の画像処理方法であって、
前記ステップ（ｃ）は、前記取得したブロックがカラーであると判定した場合には、ＹＣｂＣｒ表色系のＹ成分についての２つのユニットとＣｂ成分についての１つのユニットとＣｒ成分についての１つのユニットとを作成し、前記取得したブロックがモノクロであると判定した場合には、前記取得したブロックの分割を伴ってＹ成分についての４つのユニットを作成するステップである、
画像処理方法。
【請求項７】
請求項１ないし６のいずれか１つの請求項に記載の画像処理方法であって、
前記ステップ（ｃ）は、前記取得したブロックがカラーであると判定した場合において前回の前記取得したブロックもカラーであると判定した場合、および、前記取得したブロックがモノクロであると判定した場合において前回の前記取得したブロックもモノクロであると判定した場合には、前記カラー用のテーブルと前記モノクロ用のテーブルとの間でテーブルの切り替えを行なわないステップである、
画像処理方法。
【請求項８】
請求項１ないし７のいずれか１つの請求項に記載の画像処理方法であって、
前記ステップ（ｂ）は、ＲＧＢ表色系で表わされる前記取得したブロックのＲ，Ｇ，Ｂの値を調べることによって前記取得したブロックがカラーであるかモノクロであるかを判定するステップである、
画像処理方法。
【請求項９】
請求項１ないし７のいずれか１つの請求項に記載の画像処理方法であって、
前記ステップ（ｂ）は、前記取得したブロックに対して所定の黒分離処理を行なってから該取得したブロックがカラーであるかモノクロであるかを判定するステップである、
画像処理方法。
【請求項１０】
請求項１ないし９のいずれか１つの請求項に記載の画像処理方法の各ステップをコンピューターに実現させるためのプログラム。
【請求項１１】
画像データを複数のブロックに分割して該ブロック毎に圧縮する画像処理方法であって、
前記複数のブロックのうち圧縮する前記ブロックを順に取得する取得手段と、
前記取得したブロックがカラーであるかモノクロであるかを判定する判定手段と、
前記取得したブロックがカラーであると判定した場合には、所定の表色系の各色成分に応じて所定数のユニットを作成すると共に該作成した所定数のユニットとカラー用のテーブルとを用いて圧縮処理を行ない、前記取得したブロックがモノクロであると判定した場合には、前記取得したブロックの分割を伴って前記所定の表色系の１つの色成分について前記所定数のユニットを作成すると共に該作成した所定数のユニットとモノクロ用のテーブルとを用いて前記圧縮処理を行なう圧縮手段と、
を備える画像処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理方法およびプログラム、画像処理装置に関する。
【背景技術】
【０００２】
従来、画像データを圧縮する技術として、画像データをＪＰＥＧ（Ｊｏｉｎｔ Ｐｈｏｔｏｇｒａｐｈｉｃ Ｅｘｐｅｒｔｓ Ｇｒｏｕｐ）圧縮方式によって圧縮するものが提案されている（例えば、非特許文献１参照）。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】JPEG JFIF、［online］、［平成２１年９月２８日検索］、インターネット< URL：http://www.w3.org/Graphics/JPEG/ >
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、黒文字などのモノクロの部分とカラーの部分とを含む画像データをこうした圧縮方式で圧縮する場合、画像データ全体をカラーの部分とみなして解像度を低下させて圧縮すると、比較的高い圧縮率で画像データを圧縮することができるものの、黒文字などのモノクロの部分もカラーの部分と同様に解像度が低下してしまう。
【０００５】
本発明の画像処理方法およびプログラム、画像処理装置は、画像データをより適正に圧縮することを主目的とする。
【０００６】
本発明の画像処理方法およびプログラム、画像処理装置は、上述の主目的を達成するために以下の手段を採った。
【課題を解決するための手段】
【０００７】
本発明の画像処理方法は、
画像データを複数のブロックに分割して該ブロック毎に圧縮する画像処理方法であって、
（ａ）前記複数のブロックのうち圧縮する前記ブロックを順に取得し、
（ｂ）前記取得したブロックがカラーであるかモノクロであるかを判定し、
（ｃ）前記取得したブロックがカラーであると判定した場合には、所定の表色系の各色成分に応じて所定数のユニットを作成すると共に該作成した所定数のユニットとカラー用のテーブルとを用いて圧縮処理を行ない、前記取得したブロックがモノクロであると判定した場合には、前記取得したブロックの分割を伴って前記所定の表色系の１つの色成分について前記所定数のユニットを作成すると共に該作成した所定数のユニットとモノクロ用のテーブルとを用いて前記圧縮処理を行なう、
ことを要旨とする。
【０００８】
この本発明の画像処理方法では、画像データを複数のブロックに分割してブロック毎に圧縮するものにおいて、複数のブロックのうち圧縮するブロックを順に取得し、取得したブロックがカラーであるかモノクロであるかを判定し、取得したブロックがカラーであると判定した場合には、所定の表色系の各色成分に応じて所定数のユニットを作成すると共に作成した所定数のユニットとカラー用のテーブルとを用いて圧縮処理を行ない、取得したブロックがモノクロであると判定した場合には、取得したブロックの分割を伴って所定の表色系の１つの色成分について所定数のユニットを作成すると共に作成した所定数のユニットとモノクロ用のテーブルとを用いて圧縮処理を行なう。これにより、ブロックがカラーであるかモノクロであるかに応じてより適正に圧縮処理を行なうことができ、画像データをより適正に圧縮することができる。しかも、圧縮処理を行なうときの画素数（例えば、縦８画素×横８画素）がカラーのブロックとモノクロのブロックとで同一の場合を考えると、カラーのブロックについてはモノクロのブロックよりも解像度を落として圧縮処理を行なうことになるため圧縮率を高くすることができ、モノクロのブロックについてはカラーのブロックよりも高解像度で圧縮処理を行なうことができる。なお、このように画像データを圧縮してよいのは、人間の視覚特性から考えて、黒文字などモノクロのブロックについては比較的高解像度が要求されることが多い一方、カラーのブロックについてはそれほどの高解像度が要求されることが少ない、という理由に基づく。
【０００９】
こうした本発明の画像処理方法において、前記ステップ（ｃ）は、前記取得したブロックがカラーであると判定した場合には、解像度を落として前記所定数のユニットを作成し、前記取得したブロックがモノクロであると判定した場合には、解像度を保持して前記所定数のユニットを作成するステップである、ものとすることもできる。こうすれば、カラーのブロックとモノクロのブロックとを含む画像データを圧縮する場合、モノクロ部分の解像度を保持しつつ画像データを圧縮することができる。
【００１０】
また、本発明の画像処理方法において、前記ステップ（ｃ）は、前記取得したブロックがカラーであると判定した場合には、前記所定の表色系の各色成分に応じて４つのユニットを作成し、前記取得したブロックがモノクロであると判定した場合には、前記取得したブロックの縦方向の中心および横方向の中心での分割を伴って前記所定の表色系の１つの色成分について４つのユニットを作成するステップである、ものとすることもできし、前記ステップ（ｃ）は、前記取得したブロックがカラーであると判定した場合には、前記所定の表色系の各色成分に応じて４つのユニットを作成し、前記取得したブロックがモノクロであると判定した場合には、前記取得したブロックの一方の半分と他方の半分とでの異なる方法による分割を伴って前記所定の表色系の１つの色成分について４つのユニットを作成するステップである、ものとすることもできる。後者の場合、前記ステップ（ｃ）は、前記取得したブロックがモノクロであると判定した場合には、前記取得したブロックの上半分については中心で左右に分割して第１および第２のユニットとし、前記取得したブロックの下半分については奇数番目の列の画素を組み合わせて第３のユニットとすると共に偶数番目の列の画素を組み合わせて第４のユニットとするステップである、ものとすることもできる。
【００１１】
さらに、本発明の画像処理方法において、前記ステップ（ｃ）は、前記取得したブロックがカラーであると判定した場合には、ＹＣｂＣｒ表色系のＹ成分についての２つのユニットとＣｂ成分についての１つのユニットとＣｒ成分についての１つのユニットとを作成し、前記取得したブロックがモノクロであると判定した場合には、前記取得したブロックの分割を伴ってＹ成分についての４つのユニットを作成するステップである、ものとすることもできる。
【００１２】
あるいは、本発明の画像処理方法において、前記ステップ（ｃ）は、前記取得したブロックがカラーであると判定した場合において前回の前記取得したブロックもカラーであると判定した場合、および、前記取得したブロックがモノクロであると判定した場合において前回の前記取得したブロックもモノクロであると判定した場合には、前記カラー用のテーブルと前記モノクロ用のテーブルとの間でテーブルの切り替えを行なわないステップである、ものとすることもできる。
【００１３】
加えて、本発明の画像処理方法において、前記ステップ（ｂ）は、ＲＧＢ表色系で表わされる前記取得したブロックのＲ，Ｇ，Ｂの値を調べることによって前記取得したブロックがカラーであるかモノクロであるかを判定するステップである、ものとすることもできるし、前記ステップ（ｂ）は、前記取得したブロックに対して所定の黒分離処理を行なってから該取得したブロックがカラーであるかモノクロであるかを判定するステップである、ものとすることもできる。
【００１４】
本発明のプログラムは、上述した画像処理方法の各ステップをコンピューターに実現させるためのものである。このプログラムは、コンピューターが読み取り可能な記録媒体（例えばハードディスク、ＲＯＭ、ＦＤ、ＣＤ、ＤＶＤなど）に記録されていてもよいし、伝送媒体（インターネットやＬＡＮなどの通信網）を介してあるコンピューターから別のコンピューターへ配信されてもよいし、その他どのような形で授受されてもよい。このプログラムを１つのコンピューターに実行させるか又は複数のコンピューターに各ステップを分担して実行させれば、本発明の画像処理方法の各ステップが実行されるため、本発明の画像処理方法と同様の作用効果が得られる。
【００１５】
本発明の画像処理装置は、
画像データを複数のブロックに分割して該ブロック毎に圧縮する画像処理方法であって、
前記複数のブロックのうち圧縮する前記ブロックを順に取得する取得手段と、
前記取得したブロックがカラーであるかモノクロであるかを判定する判定手段と、
前記取得したブロックがカラーであると判定した場合には、所定の表色系の各色成分に応じて所定数のユニットを作成すると共に該作成した所定数のユニットとカラー用のテーブルとを用いて圧縮処理を行ない、前記取得したブロックがモノクロであると判定した場合には、前記取得したブロックの分割を伴って前記所定の表色系の１つの色成分について前記所定数のユニットを作成すると共に該作成した所定数のユニットとモノクロ用のテーブルとを用いて前記圧縮処理を行なう圧縮手段と、
を備えることを要旨とする。
【００１６】
この本発明の画像処理装置では、画像データを複数のブロックに分割してブロック毎に圧縮するものにおいて、複数のブロックのうち圧縮するブロックを順に取得し、取得したブロックがカラーであるかモノクロであるかを判定し、取得したブロックがカラーであると判定した場合には、所定の表色系の各色成分に応じて所定数のユニットを作成すると共に作成した所定数のユニットとカラー用のテーブルとを用いて圧縮処理を行ない、取得したブロックがモノクロであると判定した場合には、取得したブロックの分割を伴って所定の表色系の１つの色成分について所定数のユニットを作成すると共に作成した所定数のユニットとモノクロ用のテーブルとを用いて圧縮処理を行なう。これにより、ブロックがカラーであるかモノクロであるかに応じてより適正に圧縮処理を行なうことができ、画像データをより適正に圧縮することができる。しかも、圧縮処理を行なうときの画素数（例えば、縦８画素×横８画素）がカラーのブロックとモノクロのブロックとで同一の場合を考えると、カラーのブロックについてはモノクロのブロックよりも解像度を落として圧縮処理を行なうことになるため圧縮率を高くすることができ、モノクロのブロックについてはカラーのブロックよりも高解像度で圧縮処理を行なうことができる。
【図面の簡単な説明】
【００１７】
【図１】コンピューター２０の構成の概略を示す構成図。
【図２】画像圧縮処理ルーチンの一例を示すフローチャート。
【図３】Ｙｃ１，Ｙｃ２，Ｃｂ，Ｃｒのユニットを作成する様子を示す説明図。
【図４】Ｙｃ１，Ｙｃ２用の量子化テーブルの一例を示す説明図。
【図５】Ｃｂ，Ｃｒ用の量子化テーブルの一例を示す説明図。
【図６】Ｙｃ１，Ｙｃ２用のＡＣハフマンテーブルの一例を示す説明図。
【図７】Ｃｂ，Ｃｒ用のＡＣハフマンテーブルの一例を示す説明図。
【図８】Ｙｃ１，Ｙｃ２用のＤＣハフマンテーブルの一例を示す説明図。
【図９】Ｃｂ，Ｃｒ用のＤＣハフマンテーブルの一例を示す説明図。
【図１０】Ｙｍ１〜Ｙｍ４のユニットを作成する様子を示す説明図。
【図１１】Ｙｃ１，Ｙｃ２，Ｃｂ，Ｃｒのユニットを作成する様子を示す説明図。
【図１２】Ｙｍ１〜Ｙｍ４のユニットを作成する様子を示す説明図。
【図１３】印刷ヘッド１２０の構成の一例を示す構成図。
【発明を実施するための形態】
【００１８】
次に、本発明の実施の形態を図面を用いて説明する。図１は、本発明の一実施形態である画像処理装置としてのコンピューター２０の構成の概略を示す構成図である。本実施形態のコンピューター２０は、中央演算処理装置としてのＣＰＵや処理プログラムを記憶するＲＯＭ，データを一時的に記憶するＲＡＭ，グラフィックプロセッサー（ＧＰＵ），ハードディスク（ＨＤＤ），などを備える汎用のコンピューターとして構成されており、ディスプレイ２２やキーボード２４，マウス２６などに入出力処理回路を介して接続されている。本実施形態では、コンピューター２０に、画像データをＪＰＥＧ（Ｊｏｉｎｔ Ｐｈｏｔｏｇｒａｐｈｉｃ Ｅｘｐｅｒｔｓ Ｇｒｏｕｐ）圧縮方式により圧縮する画像処理用プログラム３０がインストールされており、ハードウェアとソフトウエアとが一体となって機能することにより、コンピューター２０が画像処理装置として機能する。
【００１９】
次に、こうして構成された本実施形態のコンピューター２０の動作について説明する。図２は、コンピューター２０により実行される画像圧縮処理ルーチンの一例を示すフローチャートである。このルーチンは、ユーザーによるキーボード２４やマウス２６の操作により、選択された画像データをＪＰＥＧ圧縮方式によって圧縮するよう指示されたときに実行される。本実施形態では、選択される画像データは、ＲＧＢ表色系で表わされているものとした。なお、画像データは、コンピューター２０に記憶されているものが選択されるものとしてもよいし、外部の記憶媒体（例えば、デジタルカメラや携帯電話，ＣＤ／ＤＶＤ装置など）に記憶されているものやスキャナーで読み取られたもの，ウェブサイトなどで公開されているものなどのうちコンピューター２０が取得可能なものが選択されるものとしてもよい。
【００２０】
画像圧縮処理ルーチンが実行されると、コンピューター２０は、画像データを縦１６画素×横１６画素からなるブロック単位に分割する（ステップＳ１００）。なお、この処理では、例えば、画像データの左上端から順に右方向，下方向にブロック単位に分割していく場合、画像データの右端部や下端部を含むブロックでは、空白画素を含むことがある。
【００２１】
こうして画像データを分割すると、分割したブロックのうち未だステップＳ１２０以降の処理を行なっていない未処理のブロックの１つを対象ブロックとして設定し（ステップＳ１１０）、設定した対象ブロックがカラーであるかモノクロであるかを判定する（ステップＳ１２０）。ここで、対象ブロックの設定は、本実施形態では、左から右の順序を上から下の順序よりも優先して設定するものとした。また、対象ブロックがカラーであるかモノクロであるかの判定は、本実施形態では、対象ブロック内の各画素について、ＲＧＢ表色系におけるＲ，Ｇ，Ｂの値を比較し、全ての画素についてＲ＝Ｇ＝Ｂとなるときには対象ブロックはモノクロであると判定し、それ以外のときには対象ブロックはカラーであると判定するものとした。
【００２２】
対象ブロックがカラーであると判定された場合には、前回の対象ブロックがカラーであるかモノクロであるかを判定し（ステップＳ１３０）、前回の対象ブロックがモノクロであると判定された場合には、後述の量子化やＡＣハフマン，ＤＣハフマンで用いる量子化テーブル，ＡＣハフマンテーブル，ＤＣハフマンテーブル（以下、まとめてテーブル群という）をモノクロ用からカラー用に切り替え（ステップＳ１４０）、前回の対象ブロックがカラーであると判定された場合には、テーブル群が既にカラー用になっているため、この切り替えは行なわない。カラー用やモノクロ用のテーブル群については後述する。なお、前回の対象ブロックがないとき即ち今回の対象ブロックが初回であるときには、カラー用のテーブル群を設定する。
【００２３】
次に、対象ブロックの表色系をＲＧＢ表色系からＹＣｂＣｒ表色系に変換してからＹｃ１，Ｙｃ２，Ｃｂ，Ｃｒのユニットを作成する（ステップＳ１５０，Ｓ１６０）。ここで、Ｙ成分は輝度を示し、Ｃｂ成分は青成分と輝度との差を示し、Ｃｒ成分は赤成分と輝度との差を示す。また、Ｙｃ１，Ｙｃ２や後述のＹｍ１〜Ｙｍ４は、Ｙ成分についてのユニットを示す。図３は、対象ブロック（縦１６画素×横１６画素）について、表色系を変換してからＹｃ１，Ｙｃ２，Ｃｂ，Ｃｒのユニットを作成する様子の一例を示す説明図である。ここでは、表色系を変換した直後（Ｙｃ１，Ｙｃ２，Ｃｂ，Ｃｒのユニットを作成する前）の解像度を縦６００ｄｐｉ×横６００ｄｐｉとし、そのときの各画素の座標を［上からの位置，左からの位置］として説明する。図３の例では、Ｙｃ１のユニットとしては、対象ブロックの左半分（［ｉ，ｊ］、ｉは１〜１６、ｊは１〜８）について縦２画素（［２ｋ−１，ｊ］と［２ｋ，ｊ］、ｋは１〜８、ｊは１〜８）ずつをそれぞれ１画素に置き換えて縦８画素×横８画素にすると共に置き換え前の縦２画素のＹの値の平均を置き換え後の画素のＹの値とすることにより、解像度が縦３００ｄｐｉ×横６００ｄｐｉのユニットを作成するものとした。また、Ｙｃ２のユニットとしては、対象ブロックの右半分（［ｉ，ｊ］、ｉは１〜１６、ｊは９〜１６）について、Ｙｃ１と同様に、縦２画素ずつをそれぞれ１画素に置き換えて縦８画素×横８画素にすると共に置き換え前の縦２画素のＹの値の平均を置き換え後の画素のＹの値とすることにより、解像度が縦３００ｄｐｉ×横６００ｄｐｉのユニットを作成するものとした。さらに、Ｃｂ，Ｃｒのユニットとしては、対象ブロックの縦２画素×横２画素（［２ｋ−１，２ｍ−１］と［２ｋ−１，２ｍ］と［２ｋ，２ｍ−１］と［２ｋ，２ｍ］、ｋは１〜８、ｍは１〜８）ずつをそれぞれ１画素に置き換えて縦８画素×横８画素にすると共に置き換え前の縦２画素×横２画素のＣｂ，Ｃｒの値の平均を置き換え後のＣｂ，Ｃｒの値とすることにより、解像度が縦３００ｄｐｉ×横３００ｄｐｉのユニットを作成するものとした。
【００２４】
こうしてＹｃ１，Ｙｃ２，Ｃｂ，Ｃｒのユニットを作成すると、作成したＹｃ１，Ｙｃ２，Ｃｂ，Ｃｒのユニットのうち未だ後述の離散コサイン変換（ＤＣＴ）や量子化，ＡＣハフマン圧縮，ＤＣハフマン圧縮（以下、まとめて圧縮処理と称することがある）を行なっていない未処理のユニットの１つを対象ユニットとして設定し（ステップＳ１７０）、カラー用のテーブル群から対象ユニットに対応する量子化テーブル，ＡＣハフマンテーブル，ＤＣハフマンテーブルをそれぞれ対象量子化テーブル，対象ＡＣハフマンテーブル，対象ＤＣハフマンテーブルとして設定する（ステップＳ１８０）。本実施形態では、カラー用のテーブル群として量子化テーブル，ＡＣハフマンテーブル，ＤＣハフマンテーブルをそれぞれＹｃ１，Ｙｃ２用とＣｂ，Ｃｒ用との２枚ずつ備えるものとし、対象ユニットがＹｃ１，Ｙｃ２であるかＣｂ，Ｃｒであるかに応じて対象量子化テーブル，対象ＡＣハフマンテーブル，対象ＤＣハフマンテーブルを設定するものとした。Ｙｃ１，Ｙｃ２用の量子化テーブルの一例を図４に示し、Ｃｂ，Ｃｒ用の量子化テーブルの一例を図５に示し、Ｙｃ１，Ｙｃ２用のＡＣハフマンテーブルの一例を図６に示し、Ｃｂ，Ｃｒ用のＡＣハフマンテーブルの一例を図７に示し、Ｙｃ１，Ｙｃ２用のＤＣハフマンテーブルの一例を図８に示し、Ｃｂ，Ｃｒ用のＤＣハフマンテーブルの一例を図９に示す。
【００２５】
続いて、設定した対象ユニットについて、成分値を離散コサイン変換（ＤＣＴ）によりＤＣＴ係数に変換し（ステップＳ１９０）、変換したＤＣＴ係数に対して対象量子化テーブルを用いて量子化を行なう（ステップＳ２００）。ここで、一般に、量子化されたＤＣＴ係数のうち左上端の値については直流（ＤＣ）成分であることからＤＣ係数と呼ばれ、それ以外（６３個）の値については交流（ＡＣ）成分であることからＡＣ係数と呼ばれる。そして、ＡＣ係数に対して対象ＡＣハフマンテーブルを用いてＡＣハフマン圧縮を行なうと共に（ステップＳ２１０）、対象ＤＣハフマンテーブルを用いてＤＣハフマン圧縮を行なう（ステップＳ２３０）。本実施形態では、ＤＣハフマン圧縮を行なう際に、Ｃｂ，Ｃｒのユニットについては、今回の対象ブロックのＤＣ係数と前回以前のカラーの対象ブロックのＤＣ係数との差分（以下、ＤＣ差分）を計算可能なとき（今回の対象ブロックが最初のブロックでないとき）にはそのＤＣ差分を計算してからＤＣハフマン圧縮を行ない、Ｙｃ１，Ｙｃ２や後述のＹｍ１〜Ｙｍ４のユニットについては、Ｙｃ１，Ｙｃ２，Ｙｍ１〜Ｙｍ４のユニットのうち今回のユニット（例えばＹｃ２）のＤＣ係数と前回のユニット（例えばＹｃ１）のＤＣ係数との差分をＤＣ差分として計算可能なとき（今回のユニットが最初のユニットでないとき）にはＤＣ差分を計算してからＤＣハフマン圧縮を行なうものとした。なお、ＤＣ差分は、これに限られず、例えば、Ｙｃ１，Ｙｃ２，Ｙｍ１〜Ｙｍ４のユニットのうち同一名称（例えば、Ｙｃ１）のユニットの今回のＤＣ係数と前回のＤＣ係数との差分をＤＣ差分とするなど、所定の規則性をもって計算されるものであれば如何なるものとしてもよい。また、圧縮処理（離散コサイン変換や量子化，ＡＣハフマン圧縮，ＤＣハフマン圧縮）は、周知の処理であるため、これ以上の説明は省略する。
【００２６】
そして、Ｙｃ１，Ｙｃ２，Ｃｂ，Ｃｒのユニットのうち未処理のユニットがあるか否かを判定し（ステップＳ２４０）、未処理のユニットがあると判定された場合にはステップＳ１７０に戻ってステップＳ１７０〜Ｓ２４０の処理を行ない、未処理のユニットがないと判定された場合には未処理のブロックがあるか否かを判定し（ステップＳ３７０）、未処理のブロックがあると判定された場合にはステップＳ１１０に戻り、未処理のブロックがないと判定された場合には、全てのブロックについての圧縮処理によって作成された圧縮データをディスプレイ２２に表示したりハードディスクに記憶させたりするなど出力して（ステップＳ３８０）、本ルーチンを終了する。
【００２７】
ステップＳ１２０で対象ブロックがモノクロであると判定された場合には、前回の対象ブロックがカラーであるかモノクロであるかを判定し（ステップＳ２５０）、前回の対象ブロックがカラーであると判定された場合には、テーブル群をカラー用からモノクロ用に切り替え（ステップＳ２６０）、前回の対象ブロックがカラーであると判定された場合には、テーブル群が既にモノクロ用になっているため、この切り替えは行なわない。なお、前回の対象ブロックがないとき即ち今回の対象ブロックが初回であるときには、モノクロ用のテーブル群を設定する。
【００２８】
そして、いま、対象ブロックがモノクロである場合を考えているから、ＲＧＢ表色系におけるＲ，Ｇ，Ｂの値が全て等しいと共にこれらの値がＹＣｂＣｒ表色系におけるＹの値にも等しいとみなし、Ｒの値（Ｇの値やＢの値でもよい）をＹの値としてＹｍ１〜Ｙｍ４のユニットを作成する（ステップＳ２７０，Ｓ２８０）。図１０は、対象ブロック（縦１６画素×横１６画素）について、表色系の変換を伴ってＹｍ１〜Ｙｍ４のユニットを作成する様子の一例を示す説明図である。図１０の例では、対象ブロックを縦方向および横方向に中心で分割する、即ち、左上の領域（［ｉ，ｊ］、ｉは１〜８、ｊは１〜８），右上の領域（［ｉ，ｊ］、ｉは１〜８、ｊは９〜１６），左下の領域（［ｉ，ｊ］、ｉは９〜１６、ｊは１〜８），右下の領域（［ｉ，ｊ］、ｉは９〜１６、ｊは９〜１６）に４分割してそれぞれＹｍ１，Ｙｍ２，Ｙｍ３，Ｙｍ４のユニットとして設定するものとした。この場合、対象ブロックを４つの領域に分割してＹｍ１〜Ｙｍ４のユニットを作成するため、Ｙｍ１〜Ｙｍ４のユニットは、ＲＧＢ表色系における解像度が保持されることになる。したがって、ＲＧＢ表色系における解像度が縦６００ｄｐｉ×横６００ｄｐｉである場合には、Ｙｍ１〜Ｙｍ４のユニットのそれぞれの解像度も縦６００ｄｐｉ×横６００ｄｐｉとなる。
【００２９】
こうしてＹｍ１〜Ｙｍ４のユニットを作成すると、作成したＹｍ１〜Ｙｍ４のユニットのうち未処理のユニットの１つを対象ユニットとして設定し（ステップＳ２９０）、モノクロ用のテーブル群から対象ユニットに対応する量子化テーブル，ＡＣハフマンテーブル，ＤＣハフマンテーブルをそれぞれ対象量子化テーブル，対象ＡＣハフマンテーブル，対象ＤＣハフマンテーブルとして設定し（ステップＳ３００）、これらの対象量子化テーブル，対象ＡＣハフマンテーブル，対象ＤＣハフマンテーブルを用いて、前述したステップＳ１９０〜Ｓ２３０の処理と同様に、離散コサイン変換や量子化，ＡＣハフマン圧縮，ＤＣハフマン圧縮を行なう（ステップＳ３１０〜Ｓ３５０）。本実施形態では、モノクロ用のテーブル群として量子化テーブル，ＡＣハフマンテーブル，ＤＣハフマンテーブルを１枚ずつ備えるものとし、対象ユニットがＹｍ１〜Ｙｍ４のいずれであるかに拘わらず同一の対象量子化テーブル，対象ＡＣハフマンテーブル，対象ＤＣハフマンテーブルを設定するものとした。また、本実施形態では、モノクロ用のテーブル群として、前述のＹｃ１，Ｙｃ２用のテーブル群を用いるものとした。このように、対象ブロックがモノクロである場合には、カラーのブロックに比して高い解像度で（ＲＧＢ表色系における解像度を保持して）Ｙｍ１〜Ｙｍ４のユニットを作成して圧縮処理を行なうから、カラーの対象ブロックに比して高解像度で圧縮することができる。一方、対象ブロックがカラーである場合には、モノクロのブロックに比して低い解像度でＹｃ１，Ｙｃ２，Ｃｂ，Ｃｒのユニットを作成して圧縮処理を行なうから、モノクロのブロックに比して高圧縮率で圧縮することができる。これらより、ブロックがカラーであるかモノクロであるかに応じてより適正に圧縮処理を行なうことができ、画像データをより適正に圧縮することができる。なお、このように、モノクロのブロックについてカラーのブロックよりも高解像度でユニットを作成して圧縮処理を行なうのは、人間の視覚特性から考えて、カラーのブロックについてはそれほどの高解像度が要求されることが少ないが、黒文字などモノクロのブロックについては比較的高解像度が要求されることが多い、という理由に基づく。
【００３０】
そして、Ｙｍ１〜Ｙｍ４のユニットのうち未処理のユニットがあるか否かを判定し（ステップＳ３６０）、未処理のユニットがあると判定された場合にはステップＳ２９０に戻ってステップＳ２９０〜Ｓ３６０の処理を行ない、未処理のユニットがないと判定された場合には未処理のブロックがあるか否かを判定し（ステップＳ３７０）、未処理のブロックがあると判定された場合にはステップＳ１１０に戻り、未処理のブロックがないと判定された場合には、全てのブロックについての圧縮処理によって作成された圧縮データをディスプレイ２２に表示したりハードディスクに記憶させたりするなど出力して（ステップＳ３８０）、本ルーチンを終了する。
【００３１】
ここで、本実施形態の構成要素と本発明の構成要素との対応関係を明らかにする。本実施形態の画像圧縮処理ルーチンのステップＳ１１０の処理が本発明のステップ（ａ）の処理に相当し、ステップＳ１２０の処理がステップ（ｂ）の処理に相当し、ステップＳ１３０〜Ｓ３６０の処理がステップ（ｃ）の処理に相当する。また、本実施形態の画像処理装置としてのコンピューター２０が本発明の取得手段，判定手段，圧縮手段に相当する。なお、本実施形態では、コンピューター２０の動作を説明することにより、本発明のプログラムの一例も明らかにしている。
【００３２】
以上詳述した本実施形態のコンピューター２０によれば、ブロック毎に、ブロックがカラーである場合にはＹＣｂＣｒ表色系におけるＹｃ１，Ｙｃ２，Ｃｂ，Ｃｒのユニットを作成すると共に作成したＹｃ１，Ｙｃ２，Ｃｂ，Ｃｒのユニットとカラー用のテーブル群とを用いて圧縮処理を行ない、ブロックがモノクロである場合にはブロックを４分割してＹｍ１〜Ｙｍ４のユニットを作成すると共に作成したＹｍ１〜Ｙｍ４のユニットとモノクロ用のテーブル群とを用いて圧縮処理を行なうから、ブロックがカラーであるかモノクロであるかに応じてより適正に圧縮処理を行なうことができ、画像データをより適正に圧縮することができる。しかも、ＲＧＢ表色系のブロックの画像データがカラーである場合には解像度を落としてＹｃ１，Ｙｃ２，Ｃｂ，Ｃｒのユニットを作成して圧縮処理を行ない、ブロックの画像データがモノクロである場合には解像度を保持してＹｍ１〜Ｙｍ４のユニットを作成して圧縮処理を行なうから、モノクロ部分の解像度を保持しつつ画像データを圧縮することができる。
【００３３】
なお、本発明は上述した実施形態に何ら限定されることはなく、本発明の技術的範囲に属する限り種々の態様で実施し得ることはいうまでもない。
【００３４】
上述した実施形態では、縦１６画素×横１６画素を１つのブロックとしたが、これに限られず、例えば、縦８画素×横８画素や、縦３２画素×横３２画素などを１つのブロックとするものとしてもよい。
【００３５】
上述した実施形態では、対象ブロック内の各画素について、ＲＧＢ表色系におけるＲ，Ｇ，Ｂの値とを比較し、全ての画素についてＲ＝Ｇ＝Ｂとなるときには対象ブロックがモノクロであると判定し、それ以外のときには対象ブロックがカラーであると判定するものとしたが、これに限られず、例えば、対象ブロックが黒文字のブロックであるか否かを判定して黒文字のブロックであると判定された場合には彩度成分を抑制し非黒文字のブロックであると判定された場合には彩度成分を増加させる黒分離処理を行なってから、対象ブロックがカラーであるかモノクロであるかを判定するものなどとしてもよい。
【００３６】
上述した実施形態では、対象ブロックがカラーである場合、Ｙ成分についてのＹｃ１，Ｙｃ２のユニットＹｃ１，Ｙｃ２とＣｂ成分についてのＣｂのユニットとＣｒ成分についてのＣｒのユニットとを作成するものとしたが、これに限られず、例えば、Ｙ成分についての１つのユニットとＣｂ成分についての１つのユニットとＣｒ成分についての１つのユニットと他の成分（例えば、透明度など）についての１つのユニットとを作成するものとしてもよい。
【００３７】
上述した実施形態では、対象ブロックがカラーである場合にはＹｃ１，Ｙｃ２，Ｃｂ，Ｃｒの４つのユニットを作成し、対象ブロックがモノクロである場合にはＹｍ１〜Ｙｍ４の４つのユニットを作成するものとしたが、ユニット数は４つに限られず、３つ以下または５つ以上としてもよい。
【００３８】
上述した実施形態では、対象ブロックがカラーである場合、ＲＧＢ表色系からＹＣｂＣｒ表色系に変換してからＹｃ１，Ｙｃ２，Ｃｂ，Ｃｒのユニットを作成して圧縮処理を行なうものとしたが、これに限られず、他の表色系、例えば、ＣＭＹＫ表色系などを用いるものとしてもよい。
【００３９】
上述した実施形態では、対象ブロックがモノクロである場合、モノクロ用のテーブル群として、カラー用のテーブル群のうちのＹｃ１，Ｙｃ２用のテーブル群を用いる（兼用する）ものとしたが、Ｙｃ１，Ｙｃ２用のテーブル群とは異なるモノクロ用のテーブル群（例えば、Ｙｃ１，Ｙｃ２用のテーブル群に比して高周波数成分が残りやすいテーブル群など）を用いるものとしてもよい。
【００４０】
上述した実施形態では、対象ブロックがカラーである場合、対象ブロックの左半分（［ｉ，ｊ］、ｉは１〜１６、ｊは１〜８）について縦２画素（［２ｋ−１，ｊ］と［２ｋ，ｊ］、ｋは１〜８）ずつをそれぞれ１画素に置き換えて縦８画素×横８画素にすると共に置き換え前の縦２画素のＹの値の平均を置き換え後の画素のＹの値とすることによってＹｃ１のユニットを作成し、対象ブロックの右半分（［ｉ，ｊ］、ｉは１〜１６、ｊは９〜１６）についてＹｃ１と同様に縦２画素ずつをそれぞれ１画素に置き換えて縦８画素×横８画素にすると共に置き換え前の縦２画素のＹの値の平均を置き換え後の画素のＹの値とすることによってＹｃ２のユニットを作成するものとしたが、これに限られず、例えば、図１１に例示するように、縦２画素×横２画素（［２ｋ−１，２ｍ−１］と［２ｋ−１，２ｍ］と［２ｋ，２ｍ−１］と［２ｋ，２ｍ］、ｋは１〜８、ｍは１〜８）ずつをそれぞれ１画素に置き換えて縦８画素×横８画素にすると共に置き換え前の縦２画素×横２画素のＹの値（図中、Ｙ［ａ］，Ｙ［ｂ］，Ｙ［ｃ］，Ｙ［ｄ］）に対する重み付けを次式（１）により行なって置き換え後の画素のＹの値を設定することによってＹｃ１のユニットを作成し、縦２画素×横２画素ずつをそれぞれ１画素に置き換えて縦８画素×横８画素にすると共に置き換え前の縦２画素×横２画素のＹの値に対する重み付けを式（２）により行なって置き換え後の画素のＹの値とすることによってＹｃ２のユニットを作成するものとしてもよい。
【００４１】
Y=(Y[a]+Y[b]/2+Y[c]/2)/2              (1)
Y=(Y[d]+Y[b]/2+Y[c]/2)/2              (2)
【００４２】
上述した実施形態では、対象ブロックがモノクロである場合、対象ブロックを左上の領域（［ｉ，ｊ］、ｉは１〜８、ｊは１〜８），右上の領域（［ｉ，ｊ］、ｉは１〜８、ｊは９〜１６），左下の領域（［ｉ，ｊ］、ｉは９〜１６、ｊは１〜８），右下の領域（［ｉ，ｊ］、ｉは９〜１６、ｊは９〜１６）に４分割してそれぞれＹｍ１，Ｙｍ２，Ｙｍ３，Ｙｍ４のユニットとして設定するものとしたが、これに限られず、例えば、図１２に例示するように、対象ブロックの上半分については本実施形態と同様に左上の領域，右上の領域に分割してそれぞれＹｍ１，Ｙｍ２のユニットとして設定する共に対象ブロックの下半分については左から奇数番目の列の画素を組み合わせたもの，偶数番目の列の画素を組み合わせたものをそれぞれＹｍ３，Ｙｍ４のユニットとして設定するものとしたり、対象ブロックの上半分については左から奇数番目の列の画素を組み合わせたもの，偶数番目の列の画素を組み合わせたものをそれぞれＹｍ１，Ｙｍ２のユニットとして設定すると共に対象ブロックの下半分については本実施形態と同様に左下の領域，右下の領域をそれぞれＹｍ３，Ｙｍ４のユニットとして設定するものとしたり、対象ブロックの上半分の左から奇数番目の列の画素を組み合わせたもの，上半分の左から偶数番目の列の画素を組み合わせたもの，下半分の左から奇数番目の列の画素を組み合わせたもの，下半分の左から偶数番目の列の画素を組み合わせたものをそれぞれＹｍ１，Ｙｍ２，Ｙｍ３，Ｙｍ４のユニットとして設定するものとしたり、対象ブロックの左半分については本実施形態と同様に左上の領域，左下の領域に分割してそれぞれＹｍ１，Ｙｍ３のユニットとして設定する共に対象ブロックの右半分については上から奇数番目の行の画素を組み合わせたもの，偶数番目の行の画素を組み合わせたものをそれぞれＹｍ２，Ｙｍ４のユニットとして設定するものとしたり、対象ブロックの左半分については上から奇数番目の行の画素を組み合わせたもの，偶数番目の行の画素を組み合わせたものをそれぞれＹｍ１，Ｙｍ３のユニットとして設定すると共に対象ブロックの右半分については本実施形態と同様に右上の領域，右下の領域に分割してそれぞれＹｍ２，Ｙｍ４のユニットとして設定するものとしたり、対象ブロックの左半分の上から奇数番目の行の画素を組み合わせたもの，左半分の上から偶数番目の行の画素を組み合わせたもの，右半分の上から奇数番目の行の画素を組み合わせたもの，右半分の上から偶数番目の行の画素を組み合わせたものをそれぞれＹｍ１，Ｙｍ３，Ｙｍ２，Ｙｍ４のユニットとして設定するものとしたり、してもよい。
【００４３】
上述した実施形態では、対象ブロックがカラーである場合にはＹｃ１，Ｙｃ２，Ｃｂ，Ｃｒのユニットについて１つずつ対象ユニットに設定して離散コサイン変換や離散化，ＡＣハフマン圧縮，ＤＣハフマン圧縮を行ない、対象ブロックがモノクロである場合にはＹｍ１〜Ｙｍ４のユニットについて１つずつ対象ユニットに設定して離散コサイン変換や離散化，ＡＣハフマン圧縮，ＤＣハフマン圧縮を行なうものとしたが、対象ブロックがカラーである場合にはＹｃ１，Ｙｃ２，Ｃｂ，Ｃｒのユニットについて並列に離散コサイン変換や離散化，ＡＣハフマン圧縮，ＤＣハフマン圧縮を行ない、対象ブロックがモノクロである場合にはＹｍ１〜Ｙｍ４のユニットについて並列に離散コサイン変換や離散化，ＡＣハフマン圧縮，ＤＣハフマン圧縮を行なうものとしてもよい。こうすれば、ブロック毎の圧縮処理をより迅速に行なうことができる。
【００４４】
上述した実施形態では、画像データを圧縮する際には、離散コサイン変換や量子化，ＡＣハフマン圧縮，ＤＣハフマン圧縮を行なうものとしたが、ＡＣハフマン圧縮やＤＣハフマン圧縮に限られず、算術圧縮などエントロピー圧縮を行なうものであればよい。
【００４５】
上述した実施形態では、画像データを圧縮して圧縮データを作成する際の処理について説明したが、圧縮データを解凍する際には、複数のブロックの各々についてカラーであるかモノクロであるかの情報が必要となる。このため、例えば、圧縮データを作成する際にブロックがカラーとモノクロとの間で切り替わる毎にリスタートマーカーを配置して圧縮データを作成し、圧縮データを解凍する際にはリスタートマーカー毎にカラーとモノクロとを切り替えて解凍するものとしたり、圧縮データを作成する際にブロック毎にそのブロックがカラーであるかモノクロであるかを示す種別情報を組み込んで圧縮データを作成し、圧縮データを解凍する際にはその種別情報によってブロック毎にカラーまたはモノクロであると判定して解凍（展開）するものとしたり、するものとしてもよい。また、圧縮データを作成する際に圧縮データとは別に種別情報を作成しておき、圧縮データを解凍する際には圧縮データとは別に作成した種別情報によってカラーまたはモノクロであると判定して解凍するものとするものとしてもよい。なお、圧縮データの解凍（展開）は、画像データを圧縮する際と逆の処理、即ち、ハフマン復号，逆量子化，逆離散コサイン変換をこの順で行なえばよい。
【００４６】
上述した実施形態では、画像データのうちカラーのブロックを低解像度且つ高圧縮率で圧縮すると共にモノクロのブロックを高解像度且つ低圧縮率で圧縮して圧縮データを作成するものとしたが、圧縮データを、ブラック（Ｋ）以外の各色（例えば、シアン（Ｃ），マゼンタ（Ｍ），イエロー（Ｙ）など）よりもブラック（Ｋ）を高解像度で印刷可能なインクジェットプリンターによって展開かつ表色系をＣＭＹＫ表色系に変換して印刷する場合、実施形態と同様に圧縮データを作成することにより、印刷画質により適した画質で印刷を行なうことができる。こうしたインクジェットプリンターが備える印刷ヘッド１２０の構成の一例を図１３に示す。図１３の印刷ヘッド１２０では、ＣＭＹの各色のインクを個別に吐出可能なノズル１２４Ｃ，１２４Ｍ，１２４Ｙが記録紙の搬送方向に沿って配置されたノズル列１２２Ｃ，１２２Ｍ，１２２Ｙと、Ｋのインクを吐出可能なノズル１２４Ｋが記録紙の搬送方向に沿って配置されたノズル列１２２Ｋ１，１２２Ｋ２と、が形成されており、ノズル列１２２Ｃ，１２２Ｍ，１２２Ｙについてはそのピッチが長さＬ（例えば、１／３００インチなど）となるよう形成され、ノズル列１２２Ｋ１，１２２Ｋ２についてはノズル列１２２Ｋ１とノズル列１２２Ｋ２とが記録紙の搬送方向に沿って千鳥（ジグザグ）となるよう配置されて記録紙の搬送方向のピッチが長さＬの半分（例えば、１／６００インチなど）となるよう形成されることにより、ＫについてＣＭＹよりも高解像度での印刷を可能にしている。実施形態と同様に作成した圧縮データを、こうした印刷ヘッド１２０を備えるインクジェットプリンターで印刷することにより、より適正な画質での印刷を可能にすることができる。
【００４７】
上述した実施形態では、本発明を汎用のコンピューターに適用するものとして説明したが、画像データを圧縮するものであれば如何なるものとしてもよく、例えば、プリンターやスキャナー，デジタルカメラ，ＦＡＸ，画像処理機能付きの携帯電話などに適用するものとしてもよい。
【産業上の利用可能性】
【００４８】
本発明は、画像処理装置の製造産業などに利用可能である。
【符号の説明】
【００４９】
２０  コンピューター、２２  ディスプレイ、２４  キーボード、２６  マウス、３０  画像処理用プログラム、１２０  印刷ヘッド、１２２Ｃ，１２２Ｍ，１２２Ｙ，１２２Ｋ１，１２２Ｋ２  ノズル列、１２４Ｃ，１２４Ｍ，１２４Ｙ，１２４Ｋ  ノズル。
【図１】
2011097265.tif 000003
【図２】
2011097265.tif 000004
【図３】
2011097265.tif 000005
【図４】
2011097265.tif 000006
【図５】
2011097265.tif 000007
【図６】
2011097265.tif 000008
【図７】
2011097265.tif 000009
【図８】
2011097265.tif 000010
【図９】
2011097265.tif 000011
【図１０】
2011097265.tif 000012
【図１１】
2011097265.tif 000013
【図１２】
2011097265.tif 000014
【図１３】
2011097265.tif 000015