JP4978598B2 - 画像処理方法、画像処理装置、および画像処理プログラム - Google Patents

画像処理方法、画像処理装置、および画像処理プログラム Download PDF

Info

Publication number
JP4978598B2
JP4978598B2 JP2008238314A JP2008238314A JP4978598B2 JP 4978598 B2 JP4978598 B2 JP 4978598B2 JP 2008238314 A JP2008238314 A JP 2008238314A JP 2008238314 A JP2008238314 A JP 2008238314A JP 4978598 B2 JP4978598 B2 JP 4978598B2
Authority
JP
Japan
Prior art keywords
block
color
regions
data
divided
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2008238314A
Other languages
English (en)
Other versions
JP2010074406A (ja
Inventor
敏嗣 山本
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Konica Minolta Business Technologies Inc
Original Assignee
Konica Minolta Business Technologies Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Konica Minolta Business Technologies Inc filed Critical Konica Minolta Business Technologies Inc
Priority to JP2008238314A priority Critical patent/JP4978598B2/ja
Priority to US12/560,742 priority patent/US8306321B2/en
Publication of JP2010074406A publication Critical patent/JP2010074406A/ja
Application granted granted Critical
Publication of JP4978598B2 publication Critical patent/JP4978598B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/46Colour picture communication systems
    • H04N1/64Systems for the transmission or the storage of the colour picture signal; Details therefor, e.g. coding or decoding means therefor
    • H04N1/642Adapting to different types of images, e.g. characters, graphs, black and white image portions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/46Colour picture communication systems
    • H04N1/64Systems for the transmission or the storage of the colour picture signal; Details therefor, e.g. coding or decoding means therefor
    • H04N1/644Systems for the transmission or the storage of the colour picture signal; Details therefor, e.g. coding or decoding means therefor using a reduced set of representative colours, e.g. each representing a particular range in a colour space

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Image Processing (AREA)
  • Color Image Communication Systems (AREA)
  • Facsimile Image Signal Circuits (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)

Description

この発明は画像処理方法、画像処理装置、および画像処理プログラムに関し、特に、画像データを圧縮する画像処理方法、画像処理装置、および画像処理プログラムに関する。
BTC(Block Truncation Coding)圧縮方法で画像データを圧縮する際のブロックサイズと代表色数とで、圧縮サイズと画質とのバランスが決まる。
特開2008−92551号公報
圧縮データに対して回転処理などの編集処理を施す場合、圧縮後の画像データのデータサイズがデータ転送の効率がよい32バイト境界を越えると、処理速度が著しく低下するという問題がある。本願発明者らは、特開2008−92251号公報(特許文献1)において画像処理で利用する画像処理情報を画像に付与する画像処理技術を開示しているが、この技術を用いると、圧縮後の画像データのデータサイズが32バイト境界を越えるため、データ転送の効率が低下してしまうという問題があった。
しかしながら、圧縮データのデータサイズを抑えるために圧縮時に代表色数を減らすと、半透明画像(文書処理ソフトウェアなどで画像中のオブジェクトを半透明に設定することが可能であるが、そのような半透明に設定されたオブジェクトを含む画像をいう)など高周波成分を含む画像での画像性能が保てなくなる。また、階調性を減らすと画質が劣化する。
本発明はこのような問題に鑑みてなされたものであって、画質を維持して効率的なデータ転送が可能なデータサイズに画像データを圧縮することのできる画像処理方法、画像処理装置、および画像処理プログラムを提供することを目的とする。
上記目的を達成するために、本発明のある局面に従うと、画像処理方法は、画像処理装置において、入力された画像データを処理する方法であって、入力された画像データのうちの所定サイズのブロックを、複数の領域に分割するステップと、分割された領域ごとに、当該領域の代表色を算出するステップと、ブロックを、代表色を示すカラーパレットとブロックの各画素が属する領域とを含んだ出力データで表現して出力するステップとを備え、領域に分割するステップでは、入力された画像データのブロックごとに、当該ブロックが色数を優先するブロックであるか、階調性を優先するブロックであるかに応じて分割する領域数を決定し、決定された領域数に分割する。
好ましくは、領域に分割するステップでは、当該ブロックの色値の分散が大きな方向に当該ブロック内の画素を分割することで2領域に分割する。
本発明の他の局面に従うと、画像処理方法は画像処理装置において入力された画像データを処理する方法であって、入力された画像データのうちの所定サイズのブロックを、複数の領域に分割するステップと、分割された領域ごとに、当該領域の代表色を算出するステップと、ブロックを、代表色を示すカラーパレットとブロックの各画素が属する領域とを含んだ出力データで表現して出力するステップとを備え、領域に分割するステップでは、入力された画像データに対して、ブロックごとに、所定数の領域に分割する第1のモードと、第1のモードの領域数よりも多い領域数に分割する第2のモードとの少なくとも2種類のモードから1のモードを選択して用いてブロックごとに分割する領域数を決定し、決定された領域数に分割し、出力データで表現して出力するステップでは、第2のモードの各代表色を、第1のモードの各代表色よりも少ないデータ量で表現した出力データを出力する。より好ましくは、領域に分割するステップでは、当該ブロックの色値を色空間座標に展開し、色値を色空間座標軸に正射影して得られる分散の大きさに基づいて上述の少なくとも2種類のモードから1のモードを選択する。
好ましくは、出力データで表現して出力するステップでは、ブロックを、32の倍数で表わされる数値のデータサイズの出力データで表現して出力する。
本発明の他の局面に従うと、画像処理方法は画像処理装置において入力された画像データを処理する方法であって、入力された画像データのうちの所定サイズのブロックを、複数の領域に分割するステップと、分割された領域ごとに、当該領域の代表色を算出するステップと、ブロックを、代表色を示すカラーパレットとブロックの各画素が属する領域とを含んだ出力データで表現して出力するステップとを備え、領域に分割するステップでは、入力された画像データのブロックごとに分割する領域数を決定し、決定された領域数に分割し、出力データで表現して出力するステップでは、代表色を、代表色を表現した値と、当該色の表現の下位ビットを削除した上で上位ビットを下位に追加して得られる値との差が最小となる、上記下位ビットを削除した値で表現した出力データを出力する。
好ましくは、出力データで表現して出力するステップでは、ブロックを、カラーパレットと、ブロックの各画素が属する領域と、領域ごとに行なわれる所定の画像処理で利用する画像処理情報とを含んだ出力データで表現して出力する。より好ましくは、画像処理情報は、色変換処理に関する情報を含む。
本発明の他の局面に従うと、画像処理装置は、入力された画像データのうちの所定サイズのブロックを、複数の領域に分割する分割手段と、入力された画像データのブロックごとに、当該ブロックが色数を優先するブロックであるか、階調性を優先するブロックであるかに応じて分割手段で分割する領域数を決定する決定手段と、分割された領域ごとに、当該領域の代表色を算出する算出手段と、ブロックを、代表色を示すカラーパレットとブロックの各画素が属する領域とを含んだ出力データで表現して出力する出力手段とを備える。
本発明の他の局面に従うと、画像処理装置は、入力された画像データのうちの所定サイズのブロックを、複数の領域に分割する分割手段と、入力された画像データのブロックごとに、所定数の領域に分割する第1のモードと、第1のモードの領域数よりも多い領域数に分割する第2のモードとの少なくとも2種類のモードから1のモードを選択して用いてブロックごとに分割手段で分割する領域数を決定する決定手段と、分割された領域ごとに、当該領域の代表色を算出する算出手段と、ブロックを、代表色を示すカラーパレットとブロックの各画素が属する領域とを含んだ出力データで表現して出力する出力手段とを備え、出力手段は、第2のモードの各代表色を、第1のモードの各代表色よりも少ないデータ量で表現した出力データを出力する。
本発明の他の局面に従うと、画像処理装置は、入力された画像データのうちの所定サイズのブロックを、複数の領域に分割する分割手段と、入力された画像データのブロックごとに分割手段で分割する領域数を決定する決定手段と、分割された領域ごとに、当該領域の代表色を算出する算出手段と、ブロックを、代表色を示すカラーパレットとブロックの各画素が属する領域とを含んだ出力データで表現して出力する出力手段とを備え、出力手段は、代表色を、代表色を表現した値と、当該色の表現の下位ビットを削除した上で上位ビットを下位に追加して得られる値との差が最小となる、下位ビットを削除した値で表現した出力データを出力する。
本発明のさらに他の局面に従うと、画像処理プログラムはコンピュータに入力された画像データの処理を実行させるためのプログラムであって、入力された画像データのうちの所定サイズのブロックを、複数の領域に分割するステップと、分割された領域ごとに、当該領域の代表色を算出するステップと、ブロックを、代表色を示すカラーパレットとブロックの各画素が属する領域とを含んだ出力データで表現して出力するステップとを実行させ、領域に分割するステップでは、入力された画像データのブロックごとに、当該ブロックが色数を優先するブロックであるか、階調性を優先するブロックであるかに応じて分割する領域数を決定し、決定された領域数に分割する。
本発明のさらに他の局面に従うと、画像処理プログラムはコンピュータに入力された画像データの処理を実行させるためのプログラムであって、入力された画像データのうちの所定サイズのブロックを、複数の領域に分割するステップと、分割された領域ごとに、当該領域の代表色を算出するステップと、ブロックを、代表色を示すカラーパレットとブロックの各画素が属する領域とを含んだ出力データで表現して出力するステップとを実行させ、領域に分割するステップでは、入力された画像データのブロックごとに、所定数の領域に分割する第1のモードと、第1のモードの領域数よりも多い領域数に分割する第2のモードとの少なくとも2種類のモードから1のモードを選択して用いてブロックごとに分割する領域数を決定し、決定された領域数に分割し、出力データで表現して出力するステップでは、第2のモードの各代表色を、第1のモードの各代表色よりも少ないデータ量で表現した出力データを出力する。
本発明のさらに他の局面に従うと、画像処理プログラムはコンピュータに入力された画像データの処理を実行させるためのプログラムであって、入力された画像データのうちの所定サイズのブロックを、複数の領域に分割するステップと、分割された領域ごとに、当該領域の代表色を算出するステップと、ブロックを、代表色を示すカラーパレットとブロックの各画素が属する領域とを含んだ出力データで表現して出力するステップとを実行させ、領域に分割するステップでは、入力された画像データのブロックごとに分割する領域数を決定し、決定された領域数に分割し、出力データで表現して出力するステップでは、代表色を、代表色を表現した値と、当該色の表現の下位ビットを削除した上で上位ビットを下位に追加して得られる値との差が最小となる、下位ビットを削除した値で表現した出力データを出力する。
本発明により、入力された画像データを、画質を保ちつつ、データ転送に適した圧縮率で圧縮することができる。
以下に、図面を参照しつつ、本発明の実施の形態について説明する。以下の説明では、同一の部品および構成要素には同一の符号を付してある。それらの名称および機能も同じである。
図1は、本実施の形態にかかる画像処理システム(以下、システムと略する)1の構成の具体例を示すブロック図である。図1を参照して、システム1は、パーソナルコンピュータ(以下、PCと略する)2と、PC2に接続されたプリンタ3とを含んで構成される。
PC2は、マウスやキーボードなどで構成される入力部21と、液晶ディスプレイなどで構成される表示部22と、印刷データなどのデータをプリンタ3に送るためのインタフェース(I/F)部23と、ハードディスクなどで構成される記憶部24と、CPU(Central Processing Unit)やメモリなどを含んで構成されて装置全体を制御するための制御部25とを含んで構成される。記憶部24は、文字や画像等を入力・編集してプリンタ3に出力させることが可能な、ワードプロセッサ機能を備えるソフトウェアなどのアプリケーションAPを記憶する。
プリンタ3としては、たとえばページプリンタなどが該当する。プリンタ3は、PC2と通信を行なうためのインタフェース(I/F)部31と、PC2から受信した印刷データに関する色処理を行なう色処理部4と、色処理部4で処理されたデータを用紙(紙媒体)に印字するためのプリンタエンジン32とを含んで構成される。
色処理部4は、PC2から送られる印刷データとしてのRGB(Red,Green,Blue)階調画像データをCMYK(Cyan,Magenta,Yellow,Black)階調画像データに変換する色変換部41と、色変換部41で生成されたCMYK階調画像データに対してハーフトーン処理(スクリーン処理)を施すディザ処理部43と、画像データを一時的に保存するメモリ45と、色変換部41での色変換処理に用いられるルックアップテーブル(LUT)を記憶するルックアップテーブル(LUT)部42と、ディザ処理部43でのディザ処理に用いられるルックアップテーブル(LUT)を記憶するルックアップテーブル(LUT)部44とを含む。
色変換部41は、画像の種類(文字、チャートや写真画像など)を示すタグビット情報に基づき、ルックアップテーブル(LUT)部42に保持される、色変換処理を行なうための複数の変換テーブル(色変換テーブル)であるルックアップテーブル(LUT)から適切な1つの色変換テーブルを選択し、この選択された色変換テーブルに基づき、RGBカラー画像をCMYKカラー画像に色変換する色変換処理を行なう。
ディザ処理部43は、画像に付与されたタグビット情報に基づき、ルックアップテーブル(LUT)部44に保持される、ディザ処理を行うための複数の変換テーブル(ディザ処理テーブル)であるルックアップテーブル(LUT)から適切なディザ処理テーブルを選択して、ディザ処理を行なう。
色処理部4は、PC2からプリンタ3に入力された1ページ分のカラー画像データを複数のブロック(領域)に分割し、各分割ブロックに対応した画像(以下、ブロック画像)を順次抽出するとともに、ブロック画像の画素数より少ない色数にブロック画像を減色し、画像を圧縮する処理が行なわれる。
[第1の実施の形態]
<圧縮原理>
第1の実施の形態にかかる色処理部4での圧縮の原理について、具体的に1ブロックを8画素×8画素=64画素として説明する。色処理部4では、圧縮(減色)処理として、4色モードの圧縮(減色)処理(以下、4色モード処理)と3色モードの圧縮(減色)処理(以下、3色モード処理)とをブロックごとに切替えて行なうものとする。第1の実施の形態にかかる4色モード処理について、図2を用いて説明する。
まず、色処理部4は、画像から8画素×8画素を1ブロックとして切り出す。図2を参照して、PC2から送られブロックに分割された画像Gaの印刷データは、画像Gaの各画素の色情報(カラーデータ)と、数字「00」、「01」で図示されている、各画素に付与されたタグビット情報とを有している。1ブロックの中には64画素あり、たとえばRGBデータの場合では、色に関するデータ量は、8bit×3色×64画素=1536bitとなる。また、後述するタグビットが1画素に対し2bit付加されていることから、タグビットに関するデータ量が、2bit×64画素=128bitとなる。その結果、合計1664bitのデータ量となる。なお、図2に示す画像Gaでは、タグビット情報を画像と一体として図示しているが、実際には、図3に示されるように、タグビット情報は画像と別データとして管理されている。図3の左上が分割された入力画像のCMYKデータを表わし、左下がタグビットデータを表わしている。また、図3の右上が圧縮後のCMYKデータを表わし、圧縮後の左下がタグビットデータを表わしている。
画像Gaは、タグビット情報が「01」の画素で構成される「文字」部Crと、タグビット情報が「00」の画素で構成される「チャート」部Ctとに分けられる。ここで、「文字」部Crは、単色(たとえば黒色)が付与されており、「チャート」部Ctは、グラデーションの色付けが施されているものとする。
以上の画像Gaに対して色処理部4で4色に減色する圧縮処理を施す場合、つまり4色モード処理を行なう場合、この4色にかかる各色を画像の各画素にインデックス番号(「00」、「01」、「10」、「11」)を付与して割り付けた画像Gbを生成する。具体的には、画像Gaから4つの代表色(たとえば文字部Crの1色、チャート部Ctの3色)を決定し、この4色が付与された画像Gbを作成する。この圧縮処理の際には、減色された4色それぞれの色情報を記述したカラーパレットが作成されることとなる。
ここで、色処理部4では、各画素に付与された色(情報)とタグビット情報との関連性が強い点に着目し、カラーパレットにタグビット情報を追加することとする。すなわち、減色された4色にかかる各色の色情報と、各色ごとに行なわれる色変換処理等で利用するタグビット情報(画像処理情報)とが組み合わされたカラーパレット(複合情報テーブル)を色処理部4で作成する。このようなカラーパレットにより、タグビット情報のハンドリング性を向上できることとなる。
なお、圧縮処理によって付与する色とオブジェクトとが1対1に対応しない場合、つまり同じ色が付与された画素群が複数のオブジェクト(たとえば「文字」および「チャート」)を含む場合には、画素数の多いオブジェクトに統一するようにしてもよく、また色ごとの分割を抑えつつオブジェクトごとに分割することで全体の分割数を所定の数(たとえば4つ)とするようにしてもよい。処理対象の画像データがRGBデータの場合、以上の圧縮処理によって、1ブロック分の画像データは、画素ごとに属する領域を示す情報(0〜3領域を表わす符号)を表わしたインデックスとして2bit×64画素=128bit、各領域の色情報として8bit×3色×4領域=96bit、各領域に付加されるタグビットとして2bit×4領域=8bit、計232bit、つまりデータ転送の単位である256bit以下に圧縮される。
処理対象の画像データがCMYKデータの圧縮の場合、4色に減色すると、データ量は、インデックス(2bit×64画素)+色情報(8bit×4色×4領域)+タグビット(2bit×4領域)=264bitとなり、データ転送の単位である256bitを8bitオーバーする。そこで、色処理部4は、階調性を必要とする領域では3色に減色する3色モード処理を実行し、4色目の情報を格納する記憶領域を使わない代わりに当該記憶領域に3領域分のタグビットを格納する。これにより、データ量は、インデックス(2bit×64画素)+色情報(8bit×4色×3領域)+タグビット(2bit×3領域)=230bitとなる。一方、解像度を必要とする領域では、4色に減色する4色モード処理を実行し、CMYKのうちのいずれか1色、好ましくは、人が最も認識し難い色であるY(黄色)の色値のデータ量を2bit削る代わりに、その分の記憶領域に4領域分のタグビットを格納する。これにより、データ量は、インデックス(2bit×64画素)+色情報(CMK分(8bit×3色)+Y(6bit×1色)×4領域)+タグビット(2bit×4領域)=256bitとなる。
<減色アルゴリズムの概要>
次に、減色アルゴリズムの概要について説明する。色処理部4は圧縮処理において、分割されたブロック内の色を3色または4色に減色して代表させる。その際、色処理部4は、1ブロック内の色が3色以下であって画素ごとに色が正しく分離されている場合には、各画素の色を変化させず、1ブロック内の色が4色であって画素ごとに色が正しく分離されている場合には、Yのデータ量を6bitに減じる。1ブロック内に5色以上あるときには、近い色をグループ化し、当該グループ内の色を代表する色を選択する。代表色を選択する際には、色の遠近だけでなく、当該グループに含まれる画素数も考慮される。
以上の減色アルゴリズムを、処理対象の画像データがCMYKデータである場合を例にして図4を用いて具体的に説明する。図4は、CMYKデータにおける1ブロック内の色の色空間での分布を表わしている。色処理部4は、分布している色を4つにグループ分け、それぞれのグループに属する色を平均化して代表色とする。
グループ分けは以下のステップ1〜5の手順で行なわれる。
ステップ1:座標軸に沿った4方向+タグ軸方向の計5方向の各々の方向にどれだけ色が変化しているかを求める。最も変化の大きい(最大レンジ)方向を検索する。このとき、領域に含まれる画素数と色とを考慮に入れて変化量を補正する。
ステップ2:最大レンジ方向に領域を2分割する(1回目の分割のみ、ヒストグラムを用いて分割する)。
ステップ3:領域が2つになったので、それぞれの領域でそれぞれ5方向について色変化量を算出し、最大レンジ方向を求める。
ステップ4:最大レンジ方向に領域を2分割する。これで3領域になる(2回目以降の分割では、レンジ中央で分割する)。
ステップ5:領域が3つになったので、それぞれの領域でそれぞれ5方向について色変化量を算出し、最大レンジ方向を求める。最大レンジが十分に小さければこれ以上の領域分割はやめ(3色モード)、そうでなければさらに分割を行ない(4色モード)、分割を終了する。
以上の手順で分割が完了すると、色処理部4は、それぞれの領域に含まれる色の平均(タグは多数決)をとって代表色とする。圧縮は、ここで求めた代表色と、各々の画素がどのグループに属していたかとを記録することで行なう。
なお、以上の説明では、説明上色空間をCMYK空間としているが、色空間の1つの具体例として、簡易均等色空間(L,r_g,b,k)とタグの色空間とで減色を行なうようにしてもよい。
図5は、第1の実施の形態にかかる、色処理部4で行なわれる圧縮処理の流れの具体例を示すフローチャートである。図5を参照して、ステップS1で色処理部4は、所定サイズのブロックに分割されたPC2から入力されたCMYKデータのカラー画像データに対して領域分割処理を実行し、ステップS2で当該ブロックに対する圧縮処理である領域平均化処理の色モードを3色モードおよび4色モードのうちから選択する。ステップS2で3色モードが選択された場合には、色処理部4はステップS3で領域平均化処理である3色モード処理を実行する。ステップS2で4色モードが選択された場合には、色処理部4はステップS4で領域平均化処理である4色モード処理を実行する。そして、ステップS5で色処理部4は、ステップS3で3色モード処理で圧縮された画像データ、またはステップS4で4色モード処理で圧縮された画像データを、256ビット長のデータフォーマットで出力する。
<減色処理アルゴリズムの詳細−領域分割処理>
図6は、ステップS1での領域分割処理の流れの具体例を示すフローチャートである。ステップS1で色処理部4は、CMYKデータの色値を簡易均等色空間(L,r_g,b,k)に、タグビットをタグ用画素値Tに変換する処理および領域分割処理を行なう。詳しくは図6を参照して、1ブロック分、すなわち8画素×8画素=64画素分の、各8bitのCMYKデータの色値と、各2bitのタグビット情報とが入力されると、ステップS101で色処理部4は、後述する重み付けを適切に行なうため、CMYKデータの色値をRGBの色空間ではなくL値、r_g値、およびb値で構成される3次元の色空間に展開する。ここで、L値は(概ね)明度、r_g値は赤緑度、b値は黄青度である。次に、ステップS103で色処理部4は1回目の領域分割処理を実行し、64画素の領域を2つの領域に分割する。さらに、ステップS105で色処理部4は2回目の領域分割処理を実行し、ステップS103で分割されて得られた2領域のうちの一方の領域を分割し、当該ブロックを3領域に分割する。
具体的には、ステップS101では、始めに、インクやトナーの特性を考慮して、以下の式(1)を用いて、CMYKデータの色値をr,g,b値に変換する。式(1)は逆UCR変換に相当する:
r=(255-c)*(255+inUCRp-k)/256、
g=(255-m)*(255+inUCRp-k)/256、
b=(255-y)*(255+inUCRp-k)/256 …式(1)、
ただし、式(1)内の係数inUCRpはk値が100%のときでも、c,m,y値が変化すれば色調が変わることに考慮した係数であり、inUCRp=30とする。
次に、色処理部4は、式(2)にてr,g,b値を3次元空間(L,r_g,b)に変換する:
L=(r+g)*Weight_Li/2 //明るさに対応、
r_g=(r+255+inUCRp-g)*Weight_r_gi/2 //赤緑度に対応、
b=b*Weight_bi //黄青度に対応 …式(2)、
ただし、式(2)内の係数Weight_Li、Weight_r_gi、Weight_biは、各々、明るさ、赤緑度、黄青度に対応する重み付け係数であり、Weight_Li=4、Weight_r_gi=3、Weight_bi=2とする。
画像データがCMYKデータである場合は、実際の色調とここで用いた定義との差のため、実際には色が変化しているにもかかわらず、ここで用いる3次元量が変化しない場合がある。このとき色分けが適切に行なわれない不具合を回避するため、以下の式(3)に示されるk信号も含めた4次元空間にて領域分割を行なう。ただし、すでにr,g,b値にk要素が含まれているため、ウェイトを下げている:
k=k*Weight_Wki …式(3)、
ただし、式(3)内の係数は黒の重み付け係数であり、Weight_Wki=2とする。
次に、色処理部4は、ハイライト部分での明るさ変化は、暗い部分の変化より目立つという経験則を反映して、以下の式(4)を用いて、ハイライト部分での明度を強調する補正を行なう:
L=L+(L-(Lmax-highlightRange))*(L-(Lmax-highlightRange))/highlightRange …式(4)、
ただし、式(4)内の係数LmaxはL値の最大値であり、Lmax=(255+inUCRp)*Weight_Liとし、さらにhighlightRange=32*Weight_Liとする。なお、ここで補正を行なう範囲は、Lmax≧L>Lmax-highlightRangeの範囲のみとする。
一方、色処理部4は、タグビット情報については、図7に示される要領でタグ内容に応じて色値の情報に対応する値colorVを与え、他の色と同様に重み付けを行なう。すなわち、2bitのタグビット入力データ値「11」で表わされる写真については、colorV=0を与え、タグビット入力データ値「10」で表わされるチャートについては、colorV=200を与え、タグビット入力データ値「01」で表わされる文字については、colorV=390を与える。なお、タグビット入力データ値「00」で表わされる未使用タグについては、値colorVを与えない。そして、色処理部4は、以下の式(5)を用いて、値colorVが与えられたタグビットをタグ用画素値Tに変換する:
タグ用画素値T=colorV*Weight_Tag …式(5)、
ただし、式(5)内の係数Weight_Tagはタグの重み付け係数であり、Weight_Tag=3とする。
以上が色処理部4のステップS101での処理である。次に、ステップS103での1回目の領域分割処理について図8に示す。図8を参照して、ステップS201で色処理部4は、64画素の領域において、L,r_g,b,k値、およびタグ用画素値Tの各チャンネルの最小値、最大値を検出する。次に、ステップS203で色処理部4は、ステップS201で検出されたL,r_g,b,k値、およびタグ用画素値Tの最小値、最大値から、以下の式(6)を用いてそれぞれの変化幅(レンジ)range[ ]を算出する。なお、式(6)は、分割されやすくするため重みを考慮して変化幅を算出する式である:
range[0]=(inMax[1]-inMin[1])*(nGaso+15) //Lの変化幅(レンジ)、
range[1]=(inMax[0]-inMin[0])*(nGaso+15) //r_gの変化幅(レンジ)、
range[2]=(inMax[2]-inMin[2])*(nGaso+15) //bの変化幅(レンジ)、
range[3]=(inMax[3]-inMin[3])*(nGaso+15) //kの変化幅(レンジ)、
range[4]=(inMax[4]-inMin[4])*(nGaso+15) //タグ用画素値Tの変化幅(レンジ) …式(6)、
ただし、値nGasoは分割対象の色領域に含まれる画素数とする。
そしてステップS205で色処理部4は、ステップS203で算出されたレンジを比較し、最大レンジとなるチャンネル(値に対応した軸)を検出する。1回目の分割では64画素すべてが1つの領域にあると考え、この領域内の色の分布の広がりが大きい方向、つまりL,r_g,b,k値、およびタグ用画素値Tのうちの変化の大きい方向を分割する。式(6)に表わされる重みにより、画素数が多いほど、b値よりr_g値、r_g値よりL値方向に、より分割されやすくなる。なお、変化幅が同値の場合は、range番号の小さい方を優先するようにしてもよい。
次に、ステップS207で色処理部4は、ステップS205で検出された最大レンジとなるチャンネルの領域分割しきい値を算出する。領域分割しきい値は、たとえば、レンジの中央値(最大値と最小値との平均)とすることができる。そして、ステップS209で色処理部4は、ステップS205で検出された最大レンジのチャンネルに対して、ステップS207で算出されたしきい値を用いて領域の分割を行なう。色処理部4は、ステップS209で分割された各領域(領域0、領域1)のL,r_g,b,k値、およびタグ用画素値Tに、たとえば、領域0を「00」、領域1を「01」とする領域情報を画素ごとに付加し、出力する。
以上の、ステップS103での1回目の領域分割処理が実行されることで、図3の右上に示された入力画像のCMYKデータは、図9に示されるように2領域に分割される。
ステップS105では、図8に示された処理とほぼ同様の処理が行なわれて、2回目の領域分割が行なわれる。ステップS105では、図8のステップS203で色処理部4はステップS103と同様にして変化幅を算出して最大レンジを検出するが、変化幅が同値の場合、ステップS203では、領域とrange番号とを考慮して最大レンジを決定する。すなわち、領域番号が小さく、かつrange番号の小さい方を優先して最大レンジを決定する。
また、ステップS207で色処理部4は、ステップS205で検出された最大レンジとなるチャンネルの中央値((最大値+最小値)/2)を、当該チャンネルの領域分割しきい値として算出する。
以上の、ステップS105での2回目の領域分割処理が実行されることで、図9に示された1回目の領域分割後のCMYKデータは、図10に示されるように3領域に分割される。
<減色処理アルゴリズムの詳細−モード選択>
図11は、ステップS2でのモード選択の具体的な流れを示すフローチャートである。図11を参照して、ステップS301で色処理部4は、ステップS1のステップS105で3領域に分割された各領域について、L,r_g,b,k値、およびタグ用画素値Tのそれぞれの最小値、最大値から変化幅(レンジ)を算出し、これらのレンジを比較して最大レンジを検出する。ここでの算出方法も上記ステップS103と同様の方法が挙げられるが、変化幅が同値の場合、ステップS301では、ステップS203と同様に、領域とrange番号とを考慮して最大レンジを決定する。すなわち、領域番号が小さく、かつrange番号の小さい方を優先して最大レンジを決定する。
そして、ステップS303で色処理部4は、ステップS301で検出された最大レンジと、しきい値としての3色モードと4色モードとの色差MODE3MAXRANGEとを比較し、最大レンジがしきい値MODE3MAXRANGEより大きいか否かを判定する。ここでの判定は、以下の式(7)を用いて最大レンジの算出で付加した重み付けを打ち消した上で行なう:
最大レンジ>MODE3MAXRANGE*colorDifFactor …式(7)、
ただし、式(7)内の係数colorDifFactorは、最大レンジの算出で付加した重み付けを打ち消すための係数であり、colorDifFactor=(nGaso+15)*3とし、さらに、しきい値MODE3MAXRANGE=10とする。
上記判定の結果、最大レンジがしきい値MODE3MAXRANGEより大きい場合には圧縮処理の色モードとして4色モードが選択され、しきい値MODE3MAXRANGEより小さい場合には3色モードが選択される。
<減色処理アルゴリズムの詳細−3色モード処理>
図12は、ステップS3での3色モード処理の具体的な流れを示すフローチャートである。3色モード処理では、領域の分割は2回で終了し、CMYKデータおよびタグビットデータの3領域の代表値を算出し出力する。詳しくは図12を参照して、ステップS401で色処理部4は、ステップS1で3領域に分割されたCMYKデータについて、これ以上領域分割を行なうことなく、各領域の代表値を算出する。ここでは、代表値として、領域ごとに色値の平均値が算出される。ステップS401の処理により、図10に示された3領域に分割された1ブロック分のCMYKデータは図13に示されるように各領域の色値が平均化され、1ブロック分である64画素分の色情報(8bit×4色×64画素=8192bit)が、3領域分の色情報(8bit×4色×3領域=96bit)に圧縮されることになる。
ステップS401で色処理部4は、たとえば以下の式(8)を用いて、領域0〜領域2の3領域について代表値を算出する:
Cの代表値=((Cの値の合計)+(画素数)/2)/(画素数)、
Mの代表値=((Mの値の合計)+(画素数)/2)/(画素数)、
Yの代表値=((Yの値の合計)+(画素数)/2)/(画素数)、
Kの代表値=((Kの値の合計)+(画素数)/2)/(画素数) …式(8)、
ただし、式(8)における(画素数)/2は、平均の際、四捨五入の精度を上げるための計算である。
また、ステップS403で色処理部4は、ステップS1で3領域に分割された各領域について、タグビットを置き換えて、各領域の代表とするタグビットを決定する。詳しくは、各領域において、写真タグ、テキストタグ、およびチャートタグに該当する画素数を数え、多数決にて領域ごとの代表タグを決定する。図3の左側に示された入力画像がステップS1で図10に示されるように3領域に分割されると、図14の左側に示されるように、各領域に複数の種類のタグが存在することになる。この場合、各領域のタグの種類ごとに画素数をカウントして、領域0には写真タグが最も多く、領域1にはテキストタグが最も多く、領域2にはチャートタグが最も多いことを検出して、各領域内のすべてのタグビットを最も画素数の多いタグビットで置き換え、図14の右側に示されるようなタグビット情報に変換する。なお、図画素数が同数の場合の優先順位は、テキストタグ、チャートタグ、および写真タグの順とするものとする。
<減色処理アルゴリズムの詳細−4色モード処理>
図15は、ステップS4での4色モード処理の具体的な流れを示すフローチャートである。4色モード処理では、さらに3回目の領域分割を行ない、その後CMYKデータおよびタグビットデータの4領域の代表値を算出し出力する。ただし、CMYKデータの代表値のうちのY値のみ6ビット化を行なう。詳しくは図15を参照して、ステップS501で色処理部4は、ステップS1で3領域に分割された当該ブロックをさらに分割して4領域とする、3回目の領域分割処理を行なう。ステップS501での処理は、上記ステップS105での2回目の領域分割処理と同じ処理である。これにより、図10に示された3領域に分割された1ブロック分のCMYKデータは、図16に示されるように4領域に分割される。そして、ステップS503で色処理部4は、上記ステップS401と同様にして、ステップS501で4領域に分割された各領域について代表値を算出する。これにより、図16に示された4領域に分割された1ブロック分のCMYKデータは図17に示されるように各領域の色値が平均化され、1ブロック分である64画素分のCMYK色値のデータ(8bit×4色×64画素=8192bit)が、4領域分のデータ(8bit×4色×4領域=128bit)に圧縮されることになる。
また、ステップS507で色処理部4は、上記ステップS403と同様にして、ステップS501で4領域に分割された各領域について、タグビットを置き換えて、各領域のタグビットを決定する。図3の左側に示された入力画像がステップS501で図16に示されるように4領域に分割されると、図18の左側に示されるように、各領域に複数の種類のタグが存在することになる。この場合、各領域のタグの種類ごとに画素数をカウントして、領域0には写真タグが最も多く、領域1にはテキストタグが最も多く、領域2,3にはチャートタグが最も多いことを検出して、各領域内のすべてのタグビットを最も画素数の多いタグビットで置き換え、図18の右側に示されるようなタグビット情報に変換する。なお、図画素数が同数の場合の優先順位は、テキストタグ、チャートタグ、および写真タグの順とするものとする。
しかしながら、以上の処理では、1ブロック分の画像データは、各領域のインデックスとして2bit×64画素=128bit、4領域分の色情報として4色×8bit×4領域=128bit、および各領域に付加されるタグビットとして2bit×4領域=8bitの計264bitとなり、データ転送の単位である256bitをオーバーすることになる。そこで、次に、ステップS505で色処理部4は、各領域の色情報のうちのY値のみ6bit化データに変換する。6bit化データとは、0〜63までの6ビットのデータを指す。
図19はステップS505での処理の流れの具体例を示すフローチャートであり、図20,図21は、ステップS505での処理に含まれる各処理を説明するための図である。図19を参照して、ステップS601で色処理部4は、図20に示されるように、6ビットデータの上位2ビットと同じものを下位2ビットに付加することにより、すべての6bit化データを8bitデータに変換する。図21において、すべての6bit化データについて8bit化された値が太枠で示されている。図21に示されるすべての6bit化データについての8bitデータは、ステップS601で算出されるものであってもよいし、予めテーブルとして色処理部4に記憶されていてもよい。なお、括弧内の値は、8bitデータを10進法で表わした値を示している。
ステップS603で色処理部4は、図21に示されるように、ステップS601で8bitデータに変換した6bit化データとステップS503で算出されたYの代表値との差をとり、その絶対値が最小となる6bit化データを出力する。ステップS603では、図21の太枠で示されている、すべての6bit化データについて8bit化された値とYの代表値との差を算出し、その絶対値が最小となる6bit化データを出力する。たとえば、Yの代表値が8bitデータで「00111110」で表わされる「62」である場合、8bit化された値との差の絶対値の最も小さい6bit化データである「001111」が出力される(図21中の例1)。また、Yの代表値が8bitデータで「11000001」で表わされる「193」である場合、8bit化された値との差の絶対値の最も小さい6bit化データである「110000」が出力される(図21中の例2)。
なお、6ビット化の方法はこの例に示された方法に限定されず、他の方法であってもよい。最も簡単な他の方法としては、ステップS503で算出されたYの代表値を8bitデータで表現した値の下位2bitを削除する方法であってもよい。また、Yの代表値となり得る8bitデータで表現されたすべての値について、最も誤差の小さい6bit化データを予めテーブル形式で記憶しておき、そのテーブルを利用して6ビット化する方法であってもよい。
以上の処理を行なうことで、4領域分の色情報が8bit×3色×4領域+6bit×1色×4領域=120bitとなって、1ブロック分の画像データは、計256bitに圧縮される。すなわち、データ転送の単位である256bit内のデータ量まで圧縮される。
<減色処理アルゴリズムの詳細−256ビット長データフォーマット>
図22および図23は、ステップS5で出力される256ビット長のデータフォーマットの具体例を示す図であって、図22はステップS3で3色モード処理後のデータのデータフォーマットの具体例を示し、図23はステップS4で4色モード処理後のデータフォーマットの具体例を示している。
図22を参照して、入力された画像データに対してステップS3で3色モード処理がなされた場合、出力データフォーマットの最上位32bitには、色モードを識別する識別情報(2bit)と、各領域のタグビット(2bit×3領域)とが格納され、以下24bitは空きビットとなる。続く32bitずつには各領域の色情報(8bit×4色)が格納され、残りの128bitにはインデックス(2bit×64画素)が格納される。
図23を参照して、入力された画像データに対してステップS4で4色モード処理がなされた場合、出力データフォーマットの最上位から32bitずつには、各領域の情報として、タグビット(2bit)および色情報(8bit×3色+6bit×1色)がこの順で格納され、残りの128bitにはインデックス(2bit×64画素)が格納される。
以上のように、いずれの色モードで圧縮処理がなされた場合であっても圧縮後の画像データのデータ量は256bitとなってデータ転送の単位である256bit内となるが、上述のように、ステップS4で4色モード処理がなされている場合には、各領域の色値の代表値のうちのY値が6bit化されている。従って、転送されたデータを復元する際には、6bit化データを8bit化する必要がある。そのため、転送されたデータを復元する際には、当該データが3色モード処理で圧縮されたデータであるのか4色モード処理で圧縮されたデータであるのかが判別可能である必要がある。図23に示されたように、4色モード処理で圧縮されたデータの場合、最上位の2bitには領域0のタグビットが格納されている。ここで、タグビットの種類はたとえばテキストタグ「01」、チャートタグ「10」、および写真タグ「11」などの3種類であるものとする。そこで、2bitデータの空き情報である「00」を3色モード処理で圧縮されたデータの識別情報として、図22に示されたように最上位の2bitに格納するものとする。これによって、当該データを復元する場合、最上位の2bitを操作した段階で、いずれかのタグを示す2bitの情報である「01」,「10」,「11」が格納されている場合には当該データが4色モード処理で圧縮されたデータと判別され、その他の2bitの情報である「00」が格納されている場合には当該データが3色モード処理で圧縮されたデータと判別される。
[第2の実施の形態]
第2の実施の形態では、よりデータサイズを圧縮するために、色情報をRGBデータとして圧縮処理を行なう。また、データ転送の単位として128bitを設定する。
<圧縮原理>
第2の実施の形態にかかる色処理部4での圧縮の原理について、具体的に1ブロックを5画素×5画素=25画素として説明する。第2の実施の形態においても、色処理部4は、圧縮(減色)処理として、4色モード処理と3色モード処理とをブロックごとに切替えて行なうものとする。第2の実施の形態にかかる4色モード処理では後述するように1色を19または20bitで表現するように削減する。なお、第2の実施の形態にかかる圧縮処理では、圧縮処理後のデータにタグデータの付加は行なわない。また、簡易均等色空間(L,r_g,b)への変換も行なわない。
<減色アルゴリズムの概要>
図24は、第2の実施の形態にかかる、色処理部4で行なわれる圧縮処理の流れの具体例を示すフローチャートである。図24を参照して、ステップS11で色処理部4は、所定サイズのブロックに分割されたPC2から入力されたRGBデータのカラー画像データに対して領域分割処理を実行し、ステップS12で当該ブロックに対する圧縮処理である領域平均化処理の色モードを3色モードおよび4色モードのうちから選択する。ステップS12で3色モードが選択された場合には、色処理部4はステップS13で領域平均化処理である3色モード処理を実行する。ステップS12で4色モードが選択された場合には、色処理部4はステップS14で領域平均化処理である4色モード処理を実行する。そして、ステップS15で色処理部4は、ステップS13で3色モード処理で圧縮された画像データ、またはステップS14で4色モード処理で圧縮された画像データを、128ビット長のデータフォーマットで出力する。
<減色処理アルゴリズムの詳細−領域分割処理>
ステップS11で色処理部4は、上に説明されたステップS105での処理と同様の画像データのレンジの中央を分割する領域分割処理を、1ブロック分のRGBデータに対して2回行なう。ただし、ステップS11では、1回目、2回目の領域分割共、処理するチャンネルはRGBの3チャンネルであり、以下の式(9)を用いて各チャンネルのレンジ(変化幅)を算出する:
range[0]=(inMax[0]-inMin[0]) //Rの変化幅(レンジ)、
range[1]=(inMax[1]-inMin[1]) //G変化幅(レンジ)、
range[2]=(inMax[2]-inMin[2]) //Bの変化幅(レンジ) …式(9)。
<減色処理アルゴリズムの詳細−モード選択>
ステップS12で色処理部4は、上に図11を用いて説明されたステップS2と同様の処理でモード選択を行なう。すなわち、ステップS12で色処理部4は、上記ステップS11で3領域に分割された各領域のRGB各値の、それぞれの最小値、最大値から変化幅(レンジ)を算出し、これらのレンジを比較して最大レンジを検出する。そして、最大レンジがしきい値としての3色モードと4色モードとの色差MODE3MAXRANGEより大きいか否かを判定する。しきい値MODE3MAXRANGEとしては第1の実施の形態と同様に、10が用いられ得る。判定の結果、最大レンジがしきい値MODE3MAXRANGEより大きい場合には圧縮処理の色モードとして4色モードが選択され、しきい値MODE3MAXRANGEより小さい場合には3色モードが選択される。
<減色処理アルゴリズムの詳細−3色モード処理>
ステップS12で3色モードが選択された場合、ステップS13で色処理部4は、ステップS11で3領域に分割されたRGBデータについて、これ以上領域分割を行なうことなく、各領域の代表値を算出して出力する。ここでは、代表値として、領域ごとに色値の平均値が算出される。ステップS13の処理により、1ブロック分のRGBデータは、1ブロック分である64画素分の色情報(8bit×3色×25画素=600bit)が、3領域分の色情報(8bit×3色×3領域=72bit)に圧縮されることになる。
<減色処理アルゴリズムの詳細−4色モード処理>
ステップS12で4色モードが選択された場合、ステップS14で色処理部4は、ステップS11で3領域に分割された当該ブロックをさらに分割して4領域とする、3回目の領域分割処理を行ない、各領域について領域ごとに色値の平均値を算出することで代表値を算出する。なお、ステップS14では、各8bitである色値を、必要に応じて7ビット化または6ビット化する。各領域の代表値について、R値、G値、およびB値のうちいずれの色値を7ビット化,6ビット化するかについては、予め出力フォーマットとして記憶しておくものとする。なお、7ビット化は、8bitで表現される色値の最下位ビットを省略する処理で実現される。復元するときは、最下位ビットを追加する。また、6ビット化は、第1の実施の形態においてY値を6ビット化する処理と同様の方法で実現される。
<減色処理アルゴリズムの詳細−128ビット長データフォーマット>
図25および図26は、ステップS15で出力される128ビット長のデータフォーマットの具体例を示す図であって、図25はステップS13で3色モード処理後のデータのデータフォーマットの具体例を示し、図26はステップS14で4色モード処理後のデータフォーマットの具体例を示している。
図25を参照して、入力された画像データに対してステップS13で3色モード処理がなされた場合、出力データフォーマットの最上位1bitには色モードを識別する識別情報(1bit)が格納されて、以下6bitは空きビットとなり、続く24bitずつには各領域の色情報(8bit×3色)が格納され、残りの50bitにはインデックス(2bit×25画素)が格納される。
図26を参照して、入力された画像データに対してステップS14で4色モード処理がなされた場合、出力データフォーマットの最上位1bitには同様に色モードを識別する識別情報(1bit)が格納されて、続く20bitまたは19bitずつには、各領域の色情報が格納され、残りの50bitにはインデックス(2bit×25画素)が格納される。図26の例では領域0の色情報はR値およびG値が各7bit、B値が6bitの計20bitで表わされ、領域1〜3の色情報はR値およびB値が各6bit、G値が7bitの計19bitで表わされている。
以上の処理が行なわれることにより、3色モード処理がなされた場合、1ブロック分の画像データは122bitに圧縮され、転送に適した128bit長のフォーマットで出力される。また、4色モード処理がなされた場合、1ブロック分の画像データは128bitに圧縮され、出力される。
さらに、上述の圧縮処理コンピュータに実行させるプログラムを提供することもできる。このようなプログラムは、コンピュータに付属するフレキシブルディスク、CD−ROM(Compact Disk-Read Only Memory)、ROM(Read Only Memory)、RAM(Random Access Memory)およびメモリカードなどのコンピュータ読取り可能な記録媒体にて記録させて、プログラム製品として提供することもできる。あるいは、コンピュータに内蔵するハードディスクなどの記録媒体にて記録させて、プログラムを提供することもできる。また、ネットワークを介したダウンロードによって、プログラムを提供することもできる。
なお、本発明にかかるプログラムは、コンピュータのオペレーティングシステム(OS)の一部として提供されるプログラムモジュールのうち、必要なモジュールを所定の配列で所定のタイミングで呼出して処理を実行させるものであってもよい。その場合、プログラム自体には上記モジュールが含まれずOSと協働して処理が実行される。このようなモジュールを含まないプログラムも、本発明にかかるプログラムに含まれ得る。
また、本発明にかかるプログラムは他のプログラムの一部に組込まれて提供されるものであってもよい。その場合にも、プログラム自体には上記他のプログラムに含まれるモジュールが含まれず、他のプログラムと協働して処理が実行される。このような他のプログラムに組込まれたプログラムも、本発明にかかるプログラムに含まれ得る。
提供されるプログラム製品は、ハードディスクなどのプログラム格納部にインストールされて実行される。なお、プログラム製品は、プログラム自体と、プログラムが記録された記録媒体とを含む。
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
実施の形態にかかる画像処理システムの構成の具体例を示すブロック図である。 第1の実施の形態にかかる4色モード処理を説明する図である。 第1の実施の形態にかかる4色モード処理を説明する図である。 第1の実施の形態での減色アルゴリズムを説明する図である。 第1の実施の形態にかかる、画像処理システムの色処理部で行なわれる圧縮処理の流れの具体例を示すフローチャートである。 図5の処理の内の、領域分割処理の流れの具体例を示すフローチャートである。 タグビット情報の重み付けの際に付与する値の具体例を示す図である。 領域分割処理内での1回目の領域分割処理の流れの具体例を示すフローチャートである。 図3の右上の入力画像の、1回目の領域分割処理後を示す図である。 図3の右上の入力画像の、2回目の領域分割処理後を示す図である。 図5の処理の内の、モード選択の具体的な流れを示すフローチャートである。 図5の処理の内の、3色モード処理の具体的な流れを示すフローチャートである。 図10の画像の、3色モード処理後を示す図である。 タグビットに関する処理を説明する図である。 図5の処理の内の、4色モード処理の具体的な流れを示すフローチャートである。 図3の右上の入力画像の、3回目の領域分割処理後を示す図である。 図16の画像の、4色モード処理後を示す図である。 タグビットに関する処理を説明する図である。 4色モード処理の内の、Y値を6bit化データに変換する処理の具体的な流れを示すフローチャートである。 図19の処理に含まれる処理を説明するための図である。 図19の処理に含まれる処理を説明するための図である。 第1の実施の形態にかかる圧縮処理の、3色モード処理後のデータの256ビット長のデータフォーマットの具体例を示す図である。 第1の実施の形態にかかる圧縮処理の、4色モード処理後のデータの256ビット長のデータフォーマットの具体例を示す図である。 第2の実施の形態にかかる、画像処理システムの色処理部で行なわれる圧縮処理の流れの具体例を示すフローチャートである。 第2の実施の形態にかかる圧縮処理の、3色モード処理後のデータの128ビット長のデータフォーマットの具体例を示す図である。 第2の実施の形態にかかる圧縮処理の、4色モード処理後のデータの128ビット長のデータフォーマットの具体例を示す図である。
符号の説明
1 システム、2 PC、3 プリンタ、4 色処理部、21 入力部、22 表示部、23,31 I/F部、24 記憶部、25 制御部、32 プリンタエンジン、41 色変換部、42,44 LUT部、43 ディザ処理部、45 メモリ。

Claims (14)

  1. 画像処理装置において、入力された画像データを処理する方法であって、
    前記入力された画像データのうちの所定サイズのブロックを、複数の領域に分割するステップと、
    前記分割された領域ごとに、当該領域の代表色を算出するステップと、
    前記ブロックを、前記代表色を示すカラーパレットと前記ブロックの各画素が属する領域とを含んだ出力データで表現して出力するステップとを備え、
    前記領域に分割するステップでは、前記入力された画像データのブロックごとに、当該ブロックが色数を優先するブロックであるか、階調性を優先するブロックであるかに応じて分割する領域数を決定し、決定された領域数に分割する、画像処理方法。
  2. 画像処理装置において、入力された画像データを処理する方法であって、
    前記入力された画像データのうちの所定サイズのブロックを、複数の領域に分割するステップと、
    前記分割された領域ごとに、当該領域の代表色を算出するステップと、
    前記ブロックを、前記代表色を示すカラーパレットと前記ブロックの各画素が属する領域とを含んだ出力データで表現して出力するステップとを備え、
    前記領域に分割するステップでは、前記入力された画像データのブロックごとに分割する領域数を決定し、決定された領域数に分割し、
    前記出力データで表現して出力するステップでは、前記代表色を、前記代表色を表現した値と、当該色の表現の下位ビットを削除した上で上位ビットを下位に追加して得られる値との差が最小となる、前記下位ビットを削除した値で表現した前記出力データを出力する、画像処理方法。
  3. 前記領域に分割するステップでは、当該ブロックの色値の分散が大きな方向に当該ブロック内の画素を分割することで2領域に分割する、請求項1または2に記載の画像処理方法。
  4. 画像処理装置において、入力された画像データを処理する方法であって、
    前記入力された画像データのうちの所定サイズのブロックを、複数の領域に分割するステップと、
    前記分割された領域ごとに、当該領域の代表色を算出するステップと、
    前記ブロックを、前記代表色を示すカラーパレットと前記ブロックの各画素が属する領域とを含んだ出力データで表現して出力するステップとを備え、
    前記領域に分割するステップでは、前記入力された画像データに対して、前記ブロックごとに、所定数の領域に分割する第1のモードと、前記第1のモードの領域数よりも多い領域数に分割する第2のモードとの少なくとも2種類のモードから1のモードを選択して用いてブロックごとに分割する領域数を決定し、決定された領域数に分割し、
    前記出力データで表現して出力するステップでは、前記第2のモードの各代表色を、前記第1のモードの各代表色よりも少ないデータ量で表現した前記出力データを出力する、画像処理方法。
  5. 前記領域に分割するステップでは、当該ブロックの色値を色空間座標に展開し、前記色値を前記色空間座標軸に正射影して得られる分散の大きさに基づいて前記少なくとも2種類のモードから1のモードを選択する、請求項4に記載の画像処理方法。
  6. 前記出力データで表現して出力するステップでは、前記ブロックを、32の倍数で表わされる数値のデータサイズの前記出力データで表現して出力する、請求項1〜5のいずれかに記載の画像処理方法。
  7. 前記出力データで表現して出力するステップでは、前記ブロックを、前記カラーパレットと、前記ブロックの各画素が属する領域と、前記領域ごとに行なわれる所定の画像処理で利用する画像処理情報とを含んだ前記出力データで表現して出力する、請求項1〜のいずれかに記載の画像処理方法。
  8. 前記画像処理情報は、色変換処理に関する情報を含む、請求項に記載の画像処理方法。
  9. 入力された画像データのうちの所定サイズのブロックを、複数の領域に分割する分割手段と、
    前記入力された画像データのブロックごとに、当該ブロックが色数を優先するブロックであるか、階調性を優先するブロックであるかに応じて前記分割手段で分割する領域数を決定する決定手段と、
    前記分割された領域ごとに、当該領域の代表色を算出する算出手段と、
    前記ブロックを、前記代表色を示すカラーパレットと前記ブロックの各画素が属する領域とを含んだ出力データで表現して出力する出力手段とを備える、画像処理装置。
  10. 入力された画像データのうちの所定サイズのブロックを、複数の領域に分割する分割手段と、
    前記入力された画像データのブロックごとに、所定数の領域に分割する第1のモードと、前記第1のモードの領域数よりも多い領域数に分割する第2のモードとの少なくとも2種類のモードから1のモードを選択して用いてブロックごとに前記分割手段で分割する領域数を決定する決定手段と、
    前記分割された領域ごとに、当該領域の代表色を算出する算出手段と、
    前記ブロックを、前記代表色を示すカラーパレットと前記ブロックの各画素が属する領域とを含んだ出力データで表現して出力する出力手段とを備え
    前記出力手段は、前記第2のモードの各代表色を、前記第1のモードの各代表色よりも少ないデータ量で表現した前記出力データを出力する、画像処理装置。
  11. 入力された画像データのうちの所定サイズのブロックを、複数の領域に分割する分割手段と、
    前記入力された画像データのブロックごとに前記分割手段で分割する領域数を決定する決定手段と、
    前記分割された領域ごとに、当該領域の代表色を算出する算出手段と、
    前記ブロックを、前記代表色を示すカラーパレットと前記ブロックの各画素が属する領域とを含んだ出力データで表現して出力する出力手段とを備え、
    前記出力手段は、前記代表色を、前記代表色を表現した値と、当該色の表現の下位ビットを削除した上で上位ビットを下位に追加して得られる値との差が最小となる、前記下位ビットを削除した値で表現した前記出力データを出力する、画像処理装置。
  12. コンピュータに入力された画像データの処理を実行させるためのプログラムであって、
    前記入力された画像データのうちの所定サイズのブロックを、複数の領域に分割するステップと、
    前記分割された領域ごとに、当該領域の代表色を算出するステップと、
    前記ブロックを、前記代表色を示すカラーパレットと前記ブロックの各画素が属する領域とを含んだ出力データで表現して出力するステップとを実行させ、
    前記領域に分割するステップでは、前記入力された画像データのブロックごとに、当該ブロックが色数を優先するブロックであるか、階調性を優先するブロックであるかに応じて分割する領域数を決定し、決定された領域数に分割する、画像処理プログラム。
  13. コンピュータに入力された画像データの処理を実行させるためのプログラムであって、
    前記入力された画像データのうちの所定サイズのブロックを、複数の領域に分割するステップと、
    前記分割された領域ごとに、当該領域の代表色を算出するステップと、
    前記ブロックを、前記代表色を示すカラーパレットと前記ブロックの各画素が属する領域とを含んだ出力データで表現して出力するステップとを実行させ、
    前記領域に分割するステップでは、前記入力された画像データのブロックごとに、所定数の領域に分割する第1のモードと、前記第1のモードの領域数よりも多い領域数に分割する第2のモードとの少なくとも2種類のモードから1のモードを選択して用いてブロックごとに分割する領域数を決定し、決定された領域数に分割し、
    前記出力データで表現して出力するステップでは、前記第2のモードの各代表色を、前記第1のモードの各代表色よりも少ないデータ量で表現した前記出力データを出力する、画像処理プログラム。
  14. コンピュータに入力された画像データの処理を実行させるためのプログラムであって、
    前記入力された画像データのうちの所定サイズのブロックを、複数の領域に分割するステップと、
    前記分割された領域ごとに、当該領域の代表色を算出するステップと、
    前記ブロックを、前記代表色を示すカラーパレットと前記ブロックの各画素が属する領域とを含んだ出力データで表現して出力するステップとを実行させ、
    前記領域に分割するステップでは、前記入力された画像データのブロックごとに分割する領域数を決定し、決定された領域数に分割し、
    前記出力データで表現して出力するステップでは、前記代表色を、前記代表色を表現した値と、当該色の表現の下位ビットを削除した上で上位ビットを下位に追加して得られる値との差が最小となる、前記下位ビットを削除した値で表現した前記出力データを出力する、画像処理プログラム。
JP2008238314A 2008-09-17 2008-09-17 画像処理方法、画像処理装置、および画像処理プログラム Expired - Fee Related JP4978598B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2008238314A JP4978598B2 (ja) 2008-09-17 2008-09-17 画像処理方法、画像処理装置、および画像処理プログラム
US12/560,742 US8306321B2 (en) 2008-09-17 2009-09-16 Image processing method of compressing image data to be suitable for data transmission

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008238314A JP4978598B2 (ja) 2008-09-17 2008-09-17 画像処理方法、画像処理装置、および画像処理プログラム

Publications (2)

Publication Number Publication Date
JP2010074406A JP2010074406A (ja) 2010-04-02
JP4978598B2 true JP4978598B2 (ja) 2012-07-18

Family

ID=42007268

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008238314A Expired - Fee Related JP4978598B2 (ja) 2008-09-17 2008-09-17 画像処理方法、画像処理装置、および画像処理プログラム

Country Status (2)

Country Link
US (1) US8306321B2 (ja)
JP (1) JP4978598B2 (ja)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5457853B2 (ja) * 2010-01-20 2014-04-02 キヤノン株式会社 画像符号化装置、画像符号化方法、プログラム及び記憶媒体
JP5393574B2 (ja) * 2010-04-08 2014-01-22 キヤノン株式会社 画像処理装置、画像処理方法、及びプログラム
JP5595151B2 (ja) 2010-07-13 2014-09-24 キヤノン株式会社 画像処理装置、画像処理装置における圧縮方法、および、プログラム
JP5643574B2 (ja) * 2010-08-26 2014-12-17 キヤノン株式会社 画像処理装置及び画像処理方法
EP3334161B1 (en) * 2010-09-13 2019-08-21 Sony Interactive Entertainment Inc. Image processing device, image processing method, and data structure of moving image file
JP2013183240A (ja) * 2012-02-29 2013-09-12 Brother Ind Ltd 画像処理装置および画像処理プログラム
JP5811928B2 (ja) * 2012-03-30 2015-11-11 コニカミノルタ株式会社 画像処理装置及び画像形成装置
JP5983210B2 (ja) * 2012-09-07 2016-08-31 コニカミノルタ株式会社 画像圧縮処理方法および装置、並びに画像形成装置
US9613394B2 (en) * 2013-08-28 2017-04-04 Intel Corporation Lossy color compression using adaptive quantization
US10045029B2 (en) * 2014-05-06 2018-08-07 Intel Corporation Clustering and encoding for color compression
US9734597B2 (en) * 2015-12-18 2017-08-15 Intel Corporation Interpolated minimum-maximum compression/decompression for efficient processing of graphics data at computing devices
US10269326B2 (en) 2015-12-19 2019-04-23 Intel Corporation Method and apparatus for color buffer compression
US10306104B2 (en) * 2017-10-31 2019-05-28 Kyocera Document Solutions Inc. Image processing method and image processing apparatus that ensure efficient memory use, and recording medium therefor
CN116132686A (zh) * 2023-01-10 2023-05-16 阿里巴巴(中国)有限公司 图像处理方法及计算设备

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3117091B2 (ja) * 1990-08-23 2000-12-11 富士ゼロックス株式会社 画像符号化装置
JP3674965B2 (ja) * 1994-10-18 2005-07-27 富士通株式会社 カラー画像圧縮方法
JP2001338284A (ja) * 2000-05-25 2001-12-07 Matsushita Electric Ind Co Ltd 画像処理方法、画像処理装置及び画像処理システム
US7162077B2 (en) * 2001-10-19 2007-01-09 Sharp Laboratories Of America, Inc. Palette-based image compression method, system and data file
JP4411411B2 (ja) * 2004-03-18 2010-02-10 独立行政法人産業技術総合研究所 データ圧縮装置およびデータ圧縮方法
GB0504570D0 (en) * 2005-03-04 2005-04-13 Falanx Microsystems As Method of and apparatus for encoding data
JP4978348B2 (ja) * 2006-09-08 2012-07-18 コニカミノルタビジネステクノロジーズ株式会社 画像処理システムおよび画像処理方法

Also Published As

Publication number Publication date
JP2010074406A (ja) 2010-04-02
US20100067790A1 (en) 2010-03-18
US8306321B2 (en) 2012-11-06

Similar Documents

Publication Publication Date Title
JP4978598B2 (ja) 画像処理方法、画像処理装置、および画像処理プログラム
JP3249693B2 (ja) 画像処理装置
US6084689A (en) Method and apparatus for saturation compensation in total ink limited output
JP4594185B2 (ja) 色処理方法およびその装置
JP4632438B2 (ja) 色処理方法、並びに、ルックアップテーブルを作成する色処理装置およびその方法
US8638474B2 (en) Image processing apparatus and color conversion table generating method
US20100238467A1 (en) Image processing apparatus, image processing method, and computer program product
JP2017055204A (ja) 画像処理装置及び画像形成装置
JP5777497B2 (ja) 色処理装置およびその方法
JP5882763B2 (ja) 画像処理装置およびプロファイル作成方法
JP3931886B2 (ja) デバイスリンクプロファイルの作成方法および装置並びに画像処理装置
US20040008381A1 (en) System and method for converting color data to gray data
JP4471021B2 (ja) カラー印刷制御装置、カラー印刷制御方法、およびカラー印刷制御プログラム
JP2009010651A (ja) 画像処理方法、画像処理装置、画像データ圧縮装置、およびコンピュータプログラム
US6574004B1 (en) System and method for converting color data to gray data
US20070211267A1 (en) System and method for extracting grayscale data within a prescribed tolerance
JP4367853B2 (ja) 画像処理装置および色変換方法
US7515300B2 (en) Image processing apparatus and image processing method
JP4533277B2 (ja) 画像処理装置、画像処理方法およびテーブル作成方法
US8320669B2 (en) Image processing method, image processing apparatus, image data compression device, and computer program
US20070279715A1 (en) Color conversion definition creating apparatus, and color conversion definition creating program storage medium
JP2000022975A (ja) データ変換装置および方法
JP2009159284A (ja) 色データ変換装置、色データ変換方法および色データ変換プログラム
JP2002262115A (ja) 画像処理装置、色変換定義生成装置、画像処理方法、色変換定義生成方法、記憶媒体
JP2003323609A (ja) 色変換処理方法、色変換処理装置および記録媒体

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110307

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120126

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120207

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120220

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120321

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120403

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150427

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees