説明

画像処理装置及びその圧縮方法

【課題】入力画像のデータサイズを圧縮する際に処理速度の低下や画質の劣化を低減させた画像処理装置及びその圧縮方法を提供する。
【解決手段】入力画像を複数の予め定めたサイズの画像ピースに分割し、各画像ピースに含まれる色データの配置パターンを示すコードデータと各画像ピースに含まれる色数分の色データとを第1の出力データとして出力し、各画像ピース内の色数を求め色数毎の画像ピースの数をカウントする。第1の出力データが所定のデータサイズ以上である場合、前記カウントされた色数毎の画像ピースの数と、減色させるパターンの優先順位とに従って前記複数の画像ピースに対する減色させるパターンを判定し減色処理を実行した後、各画像ピース内の各画素の色データ同士を比較することにより各画像ピースに含まれる色データの配置パターンを示すコードデータと各画像ピースに含まれる色数分の色データとを決定し、第2の出力データとして出力する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像処理装置に入力される画像に対して、メモリ資源の削減や処理の高速化のためにデータサイズを圧縮して保存する技術に関する。
【背景技術】
【0002】
画像処理装置は画質や画像処理機能を向上させるために、高解像度の画像データを扱うことが求められており、高解像度の画像データを効率的に保持する画像圧縮方式が必要とされている。
【0003】
従来の画像圧縮方法には、画像を所定の大きさの領域に分割し、領域の単位で圧縮処理を切り替えて行う方法がある(例えば、特許文献1参照)。この方法によれば、圧縮処理において解像度変換部が解像度変換した画像に対して符号化を行うことで高い圧縮率を得ることができる。
【0004】
また、元画像を復元可能な擬似高解像度変換処理に関する方法もある(例えば、特許文献2参照)。この方法によれば、変換後の低解像度の画像に、各画素に対応した属性データ(画素パターン等)を付加することで解像度変換によりデータサイズを縮小しつつ高解像度の画像に復元することができる。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2008−42687号公報
【特許文献2】特開2008−238590号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
画像処理装置では、画像データを格納するメモリ資源は限られており、特に高解像度の画像データを扱う場合は、画像データのデータサイズが大きいためメモリ資源を節約する必要がある。そのため、変換後の画像データは所定のデータサイズ以下に制御できる必要がある。
【0007】
この擬似高解像度変換処理では、周辺画素の画素値が複雑なパターンの画像に対しては、属性データが大きくなる傾向があり、解像度変換後の画像データのデータサイズが元画像のデータサイズを超える場合もある。そのような場合、元画像に対して周辺画素の画素値を均一化する減色処理を実施して、属性データを縮小した再変換処理を行うことが考えられる。
【0008】
しかしながら、従来の再変換処理では、各矩形領域毎に順次減色処理を施すため、画像データのデータサイズは変換後に確定する。そのため、一度の減色処理では、最適な画像データのデータサイズを得られず、次のように処理速度の低下や画質劣化といった課題が発生する。
【0009】
第一に、減色処理の度合い(以下、減色処理レベルと呼ぶ。)が弱いと、画像データのデータサイズが十分に小さくならず、減色処理レベルを変更して再々変換処理する必要がある。
【0010】
第二に、減色処理レベルが強いと、圧縮された画像データのデータサイズが必要以上に小さくなり、画質劣化が起こる。その結果、最適な画像データのデータサイズを得るために減色処理と擬似高解像度変換処理を繰り返し実行しなければならず、全体的な処理速度が低下する。
【0011】
本発明は、入力画像のデータサイズを圧縮する際に処理速度の低下や画質の劣化を低減させた画像処理装置及びその圧縮方法を提供する。
【課題を解決するための手段】
【0012】
本発明の画像処理装置は、
入力画像を、複数の予め定めたサイズの画像ピースに分割する分割手段と、
前記分割された各画像ピース内の各画素の色データ同士を比較することにより各画像ピースに含まれる色データの配置パターンを示すコードデータと各画像ピースに含まれる色数分の色データとを決定し、当該決定されたコードデータと色データとを第1の出力データとして出力する第1の出力手段と、
前記分割された各画像ピース内の色数を求め、色数毎の画像ピースの数をカウントするカウント手段と、
前記第1の出力手段で出力される第1の出力データが所定のデータサイズ以上である場合、前記カウントされた色数毎の画像ピースの数と、減色させるパターンの優先順位とに従って、前記複数の画像ピースに対する減色させるパターンを判定する判定手段と、
前記分割された各画像ピースのうち前記判定手段で判定されたパターンに該当する画像ピースに対して減色処理を実行した後、各画像ピース内の各画素の色データ同士を比較することにより各画像ピースに含まれる色データの配置パターンを示すコードデータと各画像ピースに含まれる色数分の色データとを決定し、当該決定されたコードデータと色データとを第2の出力データとして出力する第2の出力手段と、
を有することを特徴とする。
【発明の効果】
【0013】
本発明によれば、処理速度の低下や画質の劣化を低減させて、入力画像のデータサイズを圧縮することが可能となる。
【図面の簡単な説明】
【0014】
【図1】本実施形態における画像処理装置のハードウェア構成を示すブロック図。
【図2】図1に示す解像度変換部及び符号変換部の処理を示す図。
【図3】データフォーマットの一例を示す図。
【図4】本実施形態における再圧縮処理の概要を示す図。
【図5】解像度圧縮処理における減色処理レベルを示す図。
【図6】解像度圧縮処理における再圧縮処理を示すフローチャート。
【図7】解像度圧縮処理におけるコードデータのカウント例を示す図。
【図8】解像度圧縮処理における減色処理レベル決定方法を説明する図。
【図9】減色処理レベル決定方法を示すフローチャート。
【発明を実施するための形態】
【0015】
以下、図面を参照しながら発明を実施するための形態について詳細に説明する。以下の実施形態では、入力された画像を、低解像度の画像データと、コードデータと、補間データとで構成されるデータに変換する。本実施形態では、この変換処理を解像度圧縮と呼ぶこととする。ここで低解像度の画像データは、元画像に対して予め定義された大きさの画像領域(2×2画素の矩形領域)を単位として分割されたときの代表画素(矩形領域内の所定位置の画素(例えば右下画素))の画素値で構成される。また、コードデータは、画像領域内の画素値の配置パターンを示すコードのデータである。更に、補間データは、画像領域内の代表画素以外の画素値を示すデータである。尚、画像領域(2×2画素の矩形領域)内の各画素値同士を比較することにより、当該画像領域内で同じ画素値が存在する位置(同じ色が存在する位置)を判断する。そして、当該判断結果に基づいて、各画素値が画像領域内のどの位置に存在するかを示す配置パターンを示すコードデータを使用する。
【0016】
まず、本実施形態における画像処理装置のハードウェア構成を、図1に示すブロック図を用いて説明する。図1に示すように、画像処理装置101は、外部装置接続部102、画像入力部103、画像展開部104、解像度変換部105、符号変換部106、印刷部107、CPU108、ROM109、記憶部110を備える。
【0017】
外部装置接続部102は、LANやUSB接続によって外部装置とデータのやり取りを行う。画像入力部103は、外部装置接続部102を介して受信された画像データを入力する。画像データは、ベクターデータを含み、様々な解像度のオブジェクトで構成されたデータであっても良い。
【0018】
画像展開部104は、ベクターデータを含む様々な解像度のオブジェクトで構成されたデータをビットマップ画像に展開する。解像度変換部105は、画像展開部104で展開されたビットマップ画像を所定の解像度において解像度圧縮又は伸長を行う。尚、解像度圧縮は、所定の圧縮矩形領域毎に色情報(画素値)のパターンを解析し、低解像度の画像データとコードデータと補間データとを生成する。
【0019】
符号変換部106は、解像度変換部105で生成された画像をJPEGなど所定の画像形式において符号圧縮又は伸長を行う。印刷部107は、電子写真方式やインクジェット方式のエンジンを含み、画像処理され生成された画像データの印刷を行う。
【0020】
CPU108は、ROM109、記憶部110、不図示の周辺装置と共に画像処理装置101の制御部として機能し、本装置全体を制御する。ROM109は、CPU108の制御プログラムや制御データを格納したメモリである。記憶部110は、CPU108の制御プログラムの変数や画像処理装置101の各処理用バッファを格納するためのメモリであり、RAMやHDDといった記憶媒体を有する。
【0021】
次に、外部装置から画像データの印刷を指示された際の印刷機能における画像処理を、図2を用いて説明する。画像入力部103で入力された画像データはベクター情報を含む画像であり、Display List201として記憶部109に格納される。次に、画像データは画像展開部104でRIP処理され、印刷解像度(例えば1200dpi)のビットマップ画像202に展開される。次に、展開されたビットマップ画像202は解像度変換部105で解像度圧縮され、例えば600dpiの圧縮解像度の画像データ(+コードデータ+補間データ)203に変換される。
【0022】
そして、この画像データ(+コードデータ+補間データ)203は更に符号変換部106で符号圧縮され(例えばJPEG圧縮)、符号圧縮画像(+コードデータ+補間データ)204に変換され記憶部109に格納される。このように圧縮保存された画像データは、印刷時には逆の手順により符号伸長及び解像度伸長され、印刷部107で印刷される。
【0023】
ここで、上述した解像度圧縮処理におけるデータフォーマットの一例を、図3を用いて説明する。図3は、画像データ(+コードデータ+補間データ)203に変換された解像度圧縮後のデータフォーマットの一例である。ここでは入力画像(ビットマップ画像202)を2×2画素サイズの矩形領域ごとに分割し、各矩形領域(以下、画像ピースと呼ぶ)を圧縮単位として圧縮したときの、各画像ピース内に存在する色数毎のデータフォーマットを示す。
【0024】
図3に示すように、データフォーマットは、コードデータ310、代表色(所定位置の画素(代表画素)の画素値)を示す画像データ311、代表色以外の色(代表色以外の画素値)を示す補間データ312から構成される。コードデータ310は画像ピースの色配置パターンであり、Code305のビット列として表される。また、コードデータ310から画像ピースの色数も判断可能である。ここで、画像ピースは2×2画素であるので、色配置パターンとして15パターンを表現できればよいので、Code305は4bitのビット列を用いればよい。
【0025】
画像データ311は、2×2画素の画像ピースの所定位置(ここでは右下の画素)から選択した代表画素であり、第一色305の画素値として表される。即ち、画像データ311は低解像度の画像データ(解像度圧縮前に比べて半分の解像度の画像)となる。補間データ312は、画像ピースの代表画素の画素値以外の画素値であり、画像ピース内に存在する色数に応じてそれぞれの画素値として表される。
【0026】
図3に示す画像ピース301は1色で構成される場合のデータ構成を示し、この場合、代表色以外の画素値は存在しないので、この画像ピース301の補間データは存在しない。次に、画像ピース302は画像ピース内が2色で構成される場合の配置パターンを示しており、色配置パターンは7パターンが存在する。この画像ピース302の補間データには、第2色データ307のみが含まれる。
【0027】
次に、画像ピース303は3色で構成される場合の配置パターンを示しており、色配置パターンは6パターンが存在する。この画像ピース303の補間データには、第2色データ307及び第3色データ308が含まれる。次に、画像ピース304は4色で構成される場合の配置パターンを示しており、色配置パターンは1パターンのみが存在する。この画像ピース304の補間データには、第2色データ307、第3色データ308及び第4色データ309が含まれる。
【0028】
このように、画像全体で各画像ピース内の色数が少ないほどデータサイズは小さくなり、解像度圧縮処理の圧縮率は高くなる。また、画像全体で各画像ピース内の色数が多い場合はデータサイズが大きくなり、解像度圧縮処理の圧縮率は低くなる。
【0029】
次に、圧縮後のデータサイズが所定のデータサイズ以上の場合に、解像度圧縮処理において再圧縮を行う再圧縮処理の概要を、図4を用いて説明する。入力データ401は解像度圧縮部402の入力画像であり、例えば1200dpi画像である。解像度圧縮部402は解像度圧縮処理を実行するモジュールであり、例えば図3に示すデータフォーマットに入力画像を変換する。出力データ404は解像度圧縮部402の出力画像であり、例えば図3に示すデータフォーマット形式の600dpi画像とコードデータと補間データで構成される。
【0030】
ここで上述したように、出力データ404は各画像ピースの色数が多い場合にはデータサイズが大きくなる。またコードデータ310が付加されているため、入力データ401よりデータサイズが大きくなる可能性もある。このような場合に、解像度圧縮部402が入力データ401に対して減色処理403を実施して再圧縮を行う。
【0031】
減色処理403は、入力データ401の各画像ピース内の色数を減少させる処理であり、例えば画像ピース内で画素値が近い複数の画素を選択し、画素値を平均化して同一色に変換する処理である。減色処理403により各画像ピースで補間データ312が小さくなり、再圧縮処理での圧縮率を高めることができる。
【0032】
図5に、解像度圧縮処理における減色処理レベルを示す。上述の減色処理403は減色する色数によって減色の強さ(以下、減色処理レベルと呼ぶ)が変化する。例えば、解像度圧縮前の画像ピースが画像ピース501のように4色であったと想定する。そのうちの2画素の画素値を平均化することで画像ピース502のように3色化する場合、減色数は1であり減色処理レベル1とする。また、画像ピース内の3画素の画素値を平均化することで画像ピース503のように2色化する場合、減色数は2であり減色処理レベル2とする。また全4画素の画素値を平均化することで画像ピース504のように1色化する場合、減色数は3であり減色処理レベル3とする。
【0033】
また、減色処理403は画素値の近い複数の画素を選択する際に、所定の閾値を設けることでも減色の強さを変化させることができる。以下の説明では減色処理レベルを減色数によって規定するが、前記閾値を含め複数パラメタで減色レベルを規定しても良い。
【0034】
図6に、解像度圧縮処理における再圧縮処理のフローチャートを示す。まずS601において、再圧縮処理か否かを判断する。ここでは、減色処理レベルの設定有無により判断し、初回圧縮処理の場合はS602へ処理を進め、減色処理は行わずに解像度圧縮処理を実行する。
【0035】
解像度圧縮処理は、画像データを予め定めたサイズ(2×2画素サイズ)のブロック(即ち画像ピース)毎に分割し、各画像ピース内の各画素の色データ(画素値)同士を比較する。そして、画像ピースに含まれる色データの配置パターンを示す情報(コードデータ)と、当該画像ピースに含まれる色数分の色データ情報(画素値情報)とを決定する。そして、当該決定された配置パターンを示すコードデータと色数分の色データ情報とを出力する処理である。即ち、各画像ピース内で、各画素の色データ同士を比較することにより、当該画像ピース内の色数と各色の配置が分かる。従って、前記比較結果に基づいて当該画像ピースに含まれる色データの配置パターンと、色数分の色データ情報とを決定することができる。出力された色データ情報の内、各画像ピースにおける予め決められた位置の画素に対応する第1の色データ情報(例えば各画像ピースにおける右下の画素の色データ情報)と、それ以外の色データ情報(第2〜4の色データ情報)とに分けてメモリ領域に格納する。即ち、各画像ピースから得られる配置パターン情報と第1の色データ情報とそれ以外の色データ情報とを、それぞれ異なるメモリ領域にまとめて格納することを特徴としている。各画像ピース内には同色の画素が存在する場合が多いので、メモリ領域に格納されたデータは、元画像のデータよりもデータサイズが小さい圧縮データとなる場合が多い。また、第1の色データ情報は、各画像ピースの予め決められた位置の画素の画素値であるので、連続メモリ領域に格納されている第1の色データ情報は、元画像を単純間引き処理して生成される低解像度画像に等しい。従って、解像度圧縮後のデータから、低解像度画像データも容易に抽出することができる。また、各各画像ピースの第1の色データ情報からなる低解像度画像データを連続メモリ領域に置くことで、符号化データのままでの処理を容易化し、復号化することなく低解像度画像に対する画素処理も可能となる。
【0036】
S602の処理で出力されるデータ(コードデータと第1の色データ情報(低解像度画像)と第2〜4の色データ情報(補間データ))に関して、S605において、その出力データサイズが所定のデータサイズ以上か否かを判定する。判定の結果、その出力データサイズが所定のデータサイズ以上であればS601に戻り、再圧縮を行う。また、その出力データサイズが所定のデータサイズ以上でなければ、この再圧縮処理を終了する。
【0037】
一方、上述のS601において、再圧縮処理と判断された場合はS603へ処理を進め、減色処理レベルを設定及び記憶する。ここで、再圧縮処理が2回目以降である場合は、前回の減色処理レベルを参照し、より大きい値を設定する。そして、S604において、S603で設定された減色処理レベルに従って、入力データに減色処理を実施し、減色後の画像データに対してS602と同様の解像度圧縮処理を実行する。次のS605では、上述したように、その出力データサイズが所定のデータサイズ以上かを判定し、その出力データサイズが所定のデータサイズ以上であれば更に再圧縮を行うためにS601へ戻り、そうでなければ、この処理を終了する。
【0038】
即ち、S603で設定した減色処理レベルが適切な値になっていなければ、出力データサイズが所定のデータサイズより小さくならない。
【0039】
従って、減色処理を実施して再圧縮を行っても、出力データサイズが十分に小さくならず再度再圧縮が必要になってしまうと、パフォーマンスが著しく低下してしまう。
【0040】
また、必要以上の減色処理を実施すると、出力データサイズは小さくなったとしても、必要以上に画質劣化が大きくなってしまう場合がある。
【0041】
そこで、本実施形態では、S603の減色処理レベルの設定において、出力データサイズを予め決定でき、入力データに応じて減色処理レベルを適切な値に設定するための制御方法を提示する。従って、S604の出力データサイズが入力データサイズ以下となり、再圧縮処理は1回しか行われない。また、出力データサイズが必要以上に小さくならず画質劣化を防止できる。
【0042】
ここで、解像度圧縮処理におけるコードデータのカウンタを、図7を用いて説明する。解像度圧縮の出力データ701であるコード702は、図3に示すデータフォーマットにおけるコードデータ310に相当する。
【0043】
本実施形態では、減色処理レベルの設定にコード702、即ち、コードデータ310を用いる。コードデータ310は画像ピースの色配置パターンを示し、画像ピース内の色数を特定できる。従って、入力データ全体に対して、色数毎の画像ピース数をカウントすることができ、これをコードデータカウンタと呼ぶ。また、コードデータカウンタは上述のS602の初回の解像度圧縮処理においてカウントできる。
【0044】
ここで、4色の画像ピース数をC4、3色の画像ピース数をC3、2色の画像ピース数をC2、1色の画像ピース数をC1とする。例えば、例1)の入力画像データに対するコードデータカウンタ703がC4>C3>C2>C1の関係であった場合、4色の画像ピースの割合が大きいことが分かる。また、例2)の入力画像データに対するコードデータカウンタ704が、C3>C4>C2>C1の関係であった場合、3色の画像ピースの割合が大きいことが分かる。
【0045】
このように、コードデータをカウントすることにより色数毎の画像ピース数を検知することができる。従って、設定した減色処理レベルによる解像度圧縮後の出力データサイズが算出可能となり、また色数毎に減色処理レベルを設定することで、出力データサイズを様々に調節することが可能となる。
【0046】
次に、解像度圧縮処理における減色処理レベルを決定する減色処理レベル決定方法を、図8を用いて説明する。図8に示す例では、減色処理レベルの決定要素として次の3つを設ける。即ち、画像ピース内の減色数801、画像ピースの色数変化802、グループ内優先順位803である。
【0047】
まず画像ピース内の減色数801は、画像ピースに対する減色処理で許容する最大減色数であり、従って、最大減色数1の(Gr.1)804、最大減色数2の(Gr.2)805、最大減色数3の(Gr.3)806の3つのグループが存在する。最大減色数が小さいほど、画質劣化が小さくなるので、最大減色数の小さいグループを優先して減色処理レベルを決定する。
【0048】
次に、画像ピースの色数変化802は、画像ピース内の減色数801に対する色数変化パターン(減色パターン)であり、色数毎の組み合わせで表現される。例えば、(Gr.1)804に対するパターンは次のような7通りが存在する。
・4色画像ピースを3色化
・3色画像ピースを2色化
・4色画像ピースを3色化+3色画像ピースを2色化
・2色画像ピースを1色化
・4色画像ピースを3色化+2色画像ピースを1色化
・3色画像ピースを2色化+2色画像ピースを1色化
・4色画像ピースを3色化+3色画像ピースを2色化+2色画像ピースを1色化
従って、図7に示すコードデータカウンタ及び図3に示すデータフォーマットから各色変化パターンにおける減色処理後の出力データサイズを算出することが可能である。
【0049】
例えば(Gr.1)804に対するパターンでは、4色画像ピースを3色化のみ実施するパターンを減色処理レベルと決定した場合、次のようになる。1画素の画素値が3バイトで表されると仮定すると、減色処理により縮小されるデータサイズは、3バイト×1(1ピースあたりの減色数)×C4(4色の画像ピースの個数)と算出できる。
【0050】
次に、グループ内優先順位803は、画像ピースの色数変化802に対する優先順位を表す。減色処理による画質劣化が小さいものほど、優先順位は高く設定される。また減色前の画像ピースの色数が高いものほど画質劣化が小さいと考えられる。
【0051】
従って、例えば(Gr.1)804の色数変化パターンに対する優先順位は、4色画像ピースを3色化のパターンが最も高く、上記の順となる。Gr.1の優先順位は、減色前の色数が多いほど減色で色が変化する画素数が少なくなるため、上記の順で定義している。例えば、4色画像ピースを3色化する場合は、当該画像ピース内の2画素で構成される2色を1色に減色させることになるので、2画素の色が変化する。また、3色画像ピースを2色化する場合は、当該画像ピース内の2〜3画素で構成される2色を1色に減色させることになるので、2または3画素の色が変化する。即ち、減色数が同じグループ内での優先順位は、色が変化する画素数の低い組み合わせから優先するようにしている。
【0052】
また、Gr.2においては、「4色画像ピースを2色化」するパターンが第1位であり、「4色画像ピースを2色化、且つ(Gr.1の4色画像ピース以外の優先順位)の組み合わせ」を第2位としている。この第2位は、Gr.1の優先順位を参照して、4色画像ピース以外(3色画像ピースの2色化と2色画像ピースの1色化)の優先順位を組み合わせて、更に細分化されるものとする。即ち、当該第2位のうちの1番目として「4色画像ピースを2色化、且つ、3色画像ピースを2色化」が選択され、次に、当該第2位のうちの2番目として「4色画像ピースを2色化、且つ、2色画像ピースを1色化」が選択される。更に、当該第2位のうちの3番目として「4色画像ピースを2色化、且つ、3色画像ピースを2色化且つ、2色画像ピースを1色化」が選択されることになる。
【0053】
本実施形態では、図8に示す3つの決定要素に従って、各色変化パターンの出力データサイズを算出し、出力データサイズが所定の目標とするメモリサイズ(例えば、システムで許容されるメモリサイズとしてもよいし、入力データサイズの70%としてもよい。)以下かつ画質劣化の最も小さいパターンを減色処理レベルとして決定する。
【0054】
ここで、本実施形態における減色処理レベル決定方法を、図9に示すフローチャートを用いて説明する。S901において、画像ピース内の減色数801を選択する。ここでは始め減色数が最も小さい(Gr.1)804を選択する。そして、S902において、画像ピースの色数変化のパターン802を選択する。ここでは、始めグループ内優先順位803に従って最も優先順の高いパターン(どの色数の画像ピースを減色処理させるかを示す減色パターン)を選択する。最初は4色の画像ピースを3色に減色するパターンが選択される。そして、S903において、S902で選択したパターンに従って出力データサイズを算出する。
【0055】
本実施形態では、コードデータカウンタの色数毎の画像ピース数(C4,C3,C2,C1)及び選択した色数変化パターンから縮小されるデータのサイズを算出する。そして、減色処理前の第1の出力データのサイズから差し引くことにより、減色処理後の第2の出力データのサイズを算出する。
【0056】
次に、S904において、S903で算出した出力データサイズが所定のメモリサイズ以下であるか否かを判定する。ここで、所定のメモリサイズとは、予め定めた目標とするデータサイズ(例えば解像度圧縮処理の入力データサイズの70%)であり、再圧縮の必要性判断基準に用いられる。判定の結果、所定のメモリサイズ以下であった場合はS908へ処理を進め、現在選択している色数変化パターンを減色処理レベルとして決定する。
【0057】
一方、S904において、出力データサイズが所定のメモリサイズ以下でなかった場合はS905へ処理を進め、S901で選択したグループにおいて全ての色数変化パターンを選択したか否かをチェックする。ここで、全て選択していない場合はS906へ処理を進め、グループ内優先順位803を進めた上でS902に戻る。また、全て選択した場合はS907へ処理を進め、画像ピース内の減色数を1つ増加させた上でS901に戻る。
【0058】
尚、S905からS901又はS902に戻る場合でも、色数変化パターンを順次選択し出力データサイズを算出することで、所定のメモリサイズ以下となり、S908へ帰着する。
【0059】
S908で減色処理させるパターン(減色処理レベル)として決定された色数変化パターンを用いて、再圧縮処理を行う。即ち、入力された画像データに対して、減色処理レベルとして決定されたパターンに該当する色数を有する画像ピースに関しては、対応する減色処理を行って再圧縮処理を行うようにすればよい。
【0060】
本実施形態によれば、解像度変換において再変換処理を行う際に、出力データのデータサイズを保証することで、再変換処理でのパフォーマンスの低下を確実に回避すると同時に、画質の劣化を低減させることができる。
【0061】
[他の実施形態]
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。

【特許請求の範囲】
【請求項1】
入力画像を、複数の予め定めたサイズの画像ピースに分割する分割手段と、
前記分割された各画像ピース内の各画素の色データ同士を比較することにより各画像ピースに含まれる色データの配置パターンを示すコードデータと各画像ピースに含まれる色数分の色データとを決定し、当該決定されたコードデータと色データとを第1の出力データとして出力する第1の出力手段と、
前記分割された各画像ピース内の色数を求め、色数毎の画像ピースの数をカウントするカウント手段と、
前記第1の出力手段で出力される第1の出力データが所定のデータサイズ以上である場合、前記カウントされた色数毎の画像ピースの数と、減色させるパターンの優先順位とに従って、前記複数の画像ピースに対する減色させるパターンを判定する判定手段と、
前記分割された各画像ピースのうち前記判定手段で判定されたパターンに該当する画像ピースに対して減色処理を実行した後、各画像ピース内の各画素の色データ同士を比較することにより各画像ピースに含まれる色データの配置パターンを示すコードデータと各画像ピースに含まれる色数分の色データとを決定し、当該決定されたコードデータと色データとを第2の出力データとして出力する第2の出力手段と、
を有することを特徴とする画像処理装置。
【請求項2】
前記カウント手段において、前記色数は、前記第1の出力手段で出力されるコードデータに基づき特定することを特徴とする請求項1に記載の画像処理装置。
【請求項3】
前記減色処理は、前記画像ピース内の複数の画素を平均化することにより、当該画像ピース内の色数を減らすことを特徴とする請求項1又は2に記載の画像処理装置。
【請求項4】
前記優先順位は、画質劣化が小さいものから順に設定されることを特徴とする請求項1乃至3の何れか1項に記載の画像処理装置。
【請求項5】
前記判定手段は、前記カウントされた色数毎の画像ピースの数と前記優先順位とに基づいて、前記優先順位の順に、各パターンの減色処理を実行した場合の出力データのデータサイズを求めていき、当該データサイズが前記所定のデータサイズより小さくなったときのパターンを前記減色させるパターンとして判定することを特徴とする請求項1乃至4の何れか1項に記載の画像処理装置。
【請求項6】
入力画像のデータサイズを圧縮する画像処理装置の圧縮方法であって、
分割手段が、入力画像を、複数の予め定めたサイズの画像ピースに分割する分割工程と、
第1の出力手段が、前記分割された各画像ピース内の各画素の色データ同士を比較することにより各画像ピースに含まれる色データの配置パターンを示すコードデータと各画像ピースに含まれる色数分の色データとを決定し、当該決定されたコードデータと色データとを第1の出力データとして出力する第1の出力工程と、
カウント手段が、前記分割された各画像ピース内の色数を求め、色数毎の画像ピースの数をカウントするカウント工程と、
判定手段が、前記第1の出力工程で出力される第1の出力データが所定のデータサイズ以上である場合に、前記カウントされた色数毎の画像ピースの数と、減色させるパターンの優先順位とに従って、前記複数の画像ピースに対する減色させるパターンを判定する判定工程と、
第2の出力手段が、前記分割された各画像ピースのうち前記判定工程で判定されたパターンに該当する画像ピースに対して減色処理を実行した後、各画像ピース内の各画素の色データ同士を比較することにより各画像ピースに含まれる色データの配置パターンを示すコードデータと各画像ピースに含まれる色数分の色データとを決定し、当該決定されたコードデータと色データとを第2の出力データとして出力する第2の出力工程と、
を有することを特徴とする画像処理装置の圧縮方法。
【請求項7】
請求項6に記載の画像処理装置の圧縮方法をコンピュータに実行させるためのプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate


【公開番号】特開2012−19357(P2012−19357A)
【公開日】平成24年1月26日(2012.1.26)
【国際特許分類】
【出願番号】特願2010−155254(P2010−155254)
【出願日】平成22年7月7日(2010.7.7)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】