(57)【特許請求の範囲】
【請求項１】
カラー画素値のフルビットで表現される色数をもつフルカラー空間のカラー画像データを圧縮して転送するカラー画像転送処理装置に於いて、
前記カラー画像データの画素を、行毎に走査しながら異なるカラー画素値の数として色数Ａを計数する色数計数部と、
所定エントリ数分の代表色の格納領域を有し、前記色数Ａをカウントアップする毎に前記エントリに該フルカラー画素値を代表色として順番に格納して減色パレットを生成するパレット生成部と、
前記色数Ａが減色パレットのエントリ数ｎを越えた場合、１つ前の行の末尾までの転送画素数Ｎを計数し、転送画素数Ｎのフルカラー形式による転送データ量とパレット形式による転送データ量を比較し、転送データ量の少ない方の形式によるデータ転送を指示する転送形式判定部と、
前記パレット形式のデータ転送指示を受けた際に、前記カラー画素を減色パレットのエントリ番号Ｅに変換した中間調コードと前記減色パレットの代表色を含むパレット形式データを生成して転送させ、前記フルカラー形式のデータ転送指示を受けた際には、前記カラー画素をそのまま含むフルカラー形式データを生成して転送させるデータ転送部と、
を備えたこと特徴とするカラー画像転送処理装置。
【請求項２】
請求項１記載のカラー画像転送処理装置に於いて、前記転送形式判定部は、前記転送画素数Ｎが所定の判定閾値Ｂ以上であればパレット形式のデータ転送を指示し、前記画素数が前記判定閾値Ｂ未満であった場合は前記フルカラー形式の転送データ転送を指示することを特徴とするカラー画像転送処理装置。
【請求項３】
請求項１記載のカラー画像転送処理装置に於いて、前記転送形式判定部は、前記フルカラー空間のカラー画素値が３つの色成分値で構成され、前記減色パレットのエントリ数をｎとした場合、前記フルカラー形式の転送データ量と前記パレット形式のデータ量が等しくなる転送画素数Ｎ0 を
（Ｎ0 ×３）＝（ｎ×３）＋Ｎ0
から求め、該転送画素数Ｎ0 に所定のマージンαを加算して前記判定閾値Ｂを求めたことを特徴とするカラー画像転送処理装置。
【請求項４】
請求項３記載のカラー画像転送処理装置に於いて、前記転送形式判定部は、前記減色パレットのエントリ数ｎを２５６エントリとした場合、前記判定閾値Ｂとして、
Ｂ＝３８４＋α
を使用することを特徴とするカラー画像転送処理装置。
【請求項５】
請求項３記載のカラー画像転送処理装置に於いて、前記転送形式判定部は、前記減色パレットのエントリ数ｎを１２８エントリとした場合、前記判定閾値Ｂとして、
Ｂ＝１９２＋α
を使用することを特徴とするカラー画像転送処理装置。
【請求項６】
請求項３記載のカラー画像転送処理装置に於いて、前記転送形式判定部は、前記減色パレットのエントリ数ｎを６４エントリとした場合、前記判定閾値Ｂとして、
Ｂ＝９６＋α
を使用することを特徴とするカラー画像転送処理装置。
【請求項７】
請求項３記載のカラー画像転送処理装置に於いて、前記転送形式判定部は、前記減色パレットのエントリ数ｎを３２エントリとした場合、前記判定閾値Ｂとして、
Ｂ＝４８＋α
を使用することを特徴とするカラー画像転送処理装置。
【請求項８】
請求項１記載のカラー画像転送処理装置に於いて、前記データ転送部は、前記転送データに前記パレット形式かフルカラー形式かを示す識別情報を付加して転送することを特徴とするカラー画像転送処理装置。
【請求項９】
請求項１記載のカラー画像転送処理装置に於いて、前記転送形式判定部は、パレット形式の転送データ量がフルカラー形式の転送データ量より多い場合、色画素のビット数の最下位ビットから１ビットずつ減らして上位ビット数を制限しながら、前記パレット形式の転送データ量がフルカラー形式の転送データ量より少なくなるまで、前記色数計数部による色数Ａの計数と前記パレット生成部による減色パレットの生成を行ってパレット形式のデータ転送を行わせることを特徴とするカラー画像転送処理装置。
【請求項１０】
請求項９記載のカラー画像転送処理装置に於いて、前記転送形式判定部は、前記フルカラー空間のカラー画素の３つのカラー成分値が各々ｎビットで前記減色パレットのエントリがｎビットの場合、各カラー成分値の最下位ビットから１ビットずつ減らし上位ビット数を（ｎ−１），（ｎ−２），（ｎ−３）・・・（ｎ−ｉ）に制限しながら、前記パレット形式のデータ量が前記フルカラー形式のデータ量より十分少なくなるまで、前記色数計数部による色数Ａの計数と前記パレット生成部による減色パレットの生成を行ってパレット形式のデータ転送を行わせることを特徴とするカラー画像転送処理装置。
【請求項１１】
請求項１０記載のカラー画像転送処理装置に於いて、前記転送形式判定部は、前記フルカラー空間のカラー画素の３つのカラー成分値が各々８ビットで前記減色パレットのエントリが８ビットの場合、各カラー成分値を最下位ビットから１ビットずつ減らして上位７ビット、６ビット、５ビットとしながら、前記パレット形式のデータ量が前記フルカラー形式のデータ量より十分少なくなるまで、前記色数計数部による色数Ａの計数と前記パレット生成部による減色パレットの生成を行ってパレット形式のデータ転送を行わせることを特徴とするカラー画像転送処理装置。
【請求項１２】
請求項１０又は１１記載のカラー画像転送処理装置に於いて、前記パレット生成部は、下位ビットの削減により同一エントリに複数の代表色候補が存在する場合、中央の色を代表色とすることを特徴とするカラー画像転送処理装置。
【請求項１３】
請求項１０又は１１記載のカラー画像転送処理装置に於いて、前記パレット生成部は、下位ビットの削減により同一エントリに複数の代表色候補が存在する場合、平均した色を代表色とすることを特徴とするカラー画像転送処理装置。
【請求項１４】
請求項１記載のカラー画像処理装置に於いて、前記転送形式判定部は、前記カラー画像を分割した複数の表示領域の位置に応じてカラー画素のビット数を最下位ビットから１ビットずつ減らした上位ビット数に制限しながら、前記色数計数部による色数Ａの計数と前記パレット生成部による減色パレットの生成を行ってパレット形式又はフルカラー形式のデータ転送を行わせることを特徴とするカラー画像転送処理装置。
【請求項１５】
請求項１４記載のカラー画像処理装置に於いて、前記画素ビット制限部は、表示領域のセンタ領域で上位ビット数を多くし、サイド領域で上位ビット数を少なくすることを特徴とするカラー画像転送処理装置。
【請求項１６】
カラー画素値のフルビットで表現される色数をもつフルカラー空間のカラー画像データを圧縮して転送するカラー画像転送処理方法に於いて、
前記カラー画像データの画素を、行毎に走査しながら異なるカラー画素値の数として色数Ａを計数する色数計数過程と、
所定エントリ数の代表色の格納領域を有し、前記色数Ａをカウントアップする毎に前記エントリに該フルカラー画素値を代表色として順番に格納して減色パレットを生成するパレット生成過程と、
前記色数Ａが減色パレットのエントリ数ｎを越えた場合、１つ前の行の末尾までの転送画素数Ｎを計数し、転送画素数Ｎのフルカラー形式による転送データ量とパレット形式による転送データ量を比較し、転送データ量の少ない方の形式によるデータ転送を指示する転送形式判定過程と、
前記パレット形式のデータ転送指示を受けた際に、前記カラー画素を減色パレットのエントリ番号に変換した中間調コードと前記減色パレットの代表色を含むパレット形式データを生成して転送させ、前記フルカラー形式のデータ転送指示を受けた際には、前記フルカラー画素をそのまま含むフルカラー形式データを生成して転送させるデータ転送過程と、を備えたことを特徴とするカラー画像転送処理方法。
【請求項１７】
請求項１６記載のカラー画像転送処理方法に於いて、前記転送形式判定過程は、パレット形式の転送データ量がフルカラー形式の転送データ量より多い場合、色画素のビット数の最下位ビットから１ビットずつ減らして上位ビット数を制限しながら、前記パレット形式の転送データ量がフルカラー形式の転送データ量より少なくなるまで、前記色数計数過程による色数Ａの計数と前記パレット生成過程による減色パレットの生成を行ってパレット形式のデータ転送を行わせることを特徴とするカラー画像転送処理方法。
【請求項１８】
請求項１６記載のカラー画像処理方法に於いて、前記転送形式判定過程は、前記カラー画像を分割した複数の表示領域の位置に応じて、カラー画素のビット数を最下位ビットから１ビットずつ減らした上位ビット数に制限しながら、前記色数計数過程による色数Ａの計数と前記パレット生成過程による減色パレットの生成を行ってパレット形式又はフルカラー形式のデータ転送を行わせることを特徴とするカラー画像転送処理方法。
【請求項１９】
カラー画素値のフルビットで表現される色数をもつフルカラー空間のカラー画像データを圧縮して転送するカラー画像転送処理装置と該転送データからカラー画像データを復元するカラー画像復元処理装置を備えたカラー画像転送システムに於いて、
前記カラー画像転送処理装置は、
前記カラー画像データの画素を、行毎に走査しながら異なるカラー画素値の数として色数Ａを計数する色数計数部と、
所定エントリ数の代表色の格納領域を有し、前記色数Ａをカウントアップする毎に前記エントリに該フルカラー画素値を代表色として順番に格納して減色パレットを生成するパレット生成部と、
前記色数Ａが減色パレットのエントリ数を越えた場合、１つ前の行の末尾までの転送画素数Ｎを計数し、転送画素数Ｎのフルカラー形式による転送データ量とパレット形式による転送データ量を比較し、転送データ量の少ない方の形式によるデータ転送を指示する転送形式判定部と、
前記パレット形式のデータ転送指示を受けた際に、前記フルカラー画素を減色パレットのエントリ番号に変換した中間調コードと前記減色パレットの代表色を含むパレット形式データを生成して転送させ、前記フルカラー形式のデータ転送指示を受けた際には、前記フルカラー画素をそのまま含むフルカラー形式データを生成して転送させるデータ転送部と、
を備え、
前記カラー画像復元処理装置は、
前記カラー画像転送処理装置から転送されたカラー画像データがフルカラー形式かパレット形式かを判定する受信データ判別部と、
前記受信データ判定部がフルカラー形式を判定した際に、前記受信データからフルカラーの画像データを復元するフルカラー形式データ復元部と、
前記受信データ判定部がパレット形式を判定した際に、前記受信データから前記減色パレットを復元し、該復元パレットを受信した中間調コードのエントリ番号で参照してパレット代表色を用いたフルカラー画像データを復元するパレット形式データ復元部と、
を備えたことを特徴とするカラー画像転送処理装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、コンピュータで扱っているフルカラー空間のカラー画像データを減色パレットにより圧縮してプリンタ等の機器に転送するカラー画像転送処理装置及び方法に関し、特に、カラー画像データの分割領域毎に減色パレットを用いた減色処理により圧縮して転送するカラー画像転送処理装置及び方法に関する。
【０００２】
【従来の技術】
従来、コンピュータ上で処理するカラー画像にあっては、例えばＲＧＢ表示系を例にとるとＲ・Ｇ・Ｂの各色成分の８ビットで表現し、ＲＧＢの組合せにより（２５６）×（２５６）×（２５６）＝１６，７７７，２１６色のフルカラー空間のカラー画像データを扱っている。
【０００３】
しかし、このフルカラー画像データをそのままプリンタ等の外部装置に転送した場合には、１画素が３バイトであることから画素数の３倍に比例してデータ量が増加し、プリンタ側のバッファ容量が増加すると共にデータ転送に時間がかかる問題がある。
そこで、フルカラーの３バイト画素データを減色パレットと呼ばれるＬＵＴ  （ルック・アップ・テーブル）を使用して１バイトの中間調データに変換して転送するパレット転送方式（減色処理方式）が採用されている。
【０００４】
図４１はパレット転送方式の概略である。図４１（Ａ）は転送対象とするフルカラー空間のカラー画素数Ｎのカラー画像データ３００であり、ｉ行ｊ番列で位置が指定されるＮ個の画素で構成される。ここでＲＧＢ空間を例にとると、１つのカラー画素は３バイトのＲＧＢの各画素データで構成される。
図４１（Ｂ）は図４１（Ａ）のカラー画像データ３００の転送に使用される減色パレット３０２であり、カラー画像の中から同時に表現できる色数を例えばｎ＝２５６色の代表色に限定している。即ち、減色パレット３０２は、エントリ番号００１〜２５６で示される２５６エントリをもち、各エントリに３バイトのＲＧＢ画素データを代表色として格納している。
【０００５】
２５６色の代表色の決め方は、ＲＧＢフルカラー空間を予め定めたエントリ数で決まる２５６空間に分割して決める固定分割方法と、ＲＧＢフルカラー空間に画素を分布させてから２５６空間に分割する可変分割方法の２つがある。
固定分割方法は、図４２のように、ＲＧＢ空間３０６を予め２５６空間に分割しておく。この空間分割は、具体的には、Ｒ・Ｇ・Ｂ  のカラー成分の各８ビットデータの上位ビットの組合せで決める。例えばＲ・Ｇ成分の上位３ビットを使用してＲ軸とＧ軸を８分割し、またＢ成分の上位２ビットを使用してＢ軸を４分割すると、８×８×４＝２５６個の空間に分割できる。
【０００６】
このように２５６空間に分割できたならば、各分割空間に対する図４１（Ａ）のＲＧＢカラー画素の分布を考えて代表色候補とし、各分割空間に存在するＲＧＢ代表色候補の平均値を求め、これを代表色として図４１（Ｂ）のように減色パレット３０２に登録する。ＲＧＢカラー画素がどの分割空間に属するかは、Ｒ・Ｇ成分の上位３ビットとＢ成分の上位２ビットから、図４１（Ｂ）の減色パレットのエントリを生成することで決まる。即ち、任意のＲＧＢカラー画素の８ビットエントリは、
ビットｂ７〜ｂ５＝Ｒ成分の上位３ビット
ビットｂ４〜ｂ２＝Ｇ成分の上位３ビット
ビットｂ２〜ｂ０＝Ｂ成分の上位２ビット
で作られ、これをデシマル表現すれば図４１（Ｂ）のエントリ番号となる。
【０００７】
このため図４１（Ａ）のフルカラーの３バイトＲＧＢ画素データから、Ｒ・Ｇ成分の上位３ビットとＢ成分の上位２ビットにより図４１（Ｃ）の８ビットエントリ番号で表現される中間調コード３０４に変換し、転送する。同時に図４１  （Ｂ）の減色パレットの２５６エントリ分の代表色もパレット代表色として転送され、転送先で減色パレットの復元を可能とする。
【０００８】
転送先にあっては、受信した代表色から図４１（Ｂ）のような減色パレット３０２を復元し、同時に受信した図４１（Ｃ）の中間調コードとしてのエントリ番号により減色パレット３０２を参照して代表色のＲＧＢカラー画素データを復元する。このためフルカラーの３バイトＲＧＢデータをＮ画素転送した場合のデータ量が（３×Ｎ）バイトであったのに対し、パレット転送によれば、エントリを示す中間調データは３分の１のＮバイトで済み、これにパレット代表色２５６色の３バイトＲＧＢデータのデータ量（２５６×３）＝７６８バイトを加えても、十分にデータ量を低減することができる。
【０００９】
一方、減色パレットの代表色を決める可変分割法は、図４１（Ａ）のＮ個のカラー画素の図４２のＲＧＢ空間３０６における分布を考え、画素の分布数が等しくなるように色空間を２等分していく。分割数がエントリ数２５６となった時点で分割を終了し、各分割空間に存在するＲＧＢカラー画素の平均値を求め、これを代表色として減色パレットに登録する。
【００１０】
この可変分割法による代表色の決定は、転送するカラー画像データの内容によって、各分割空間のサイズがダイナミックに変化し、より原色に近い代表色が復元できる点で望ましいが、代表色を決める際の空間分割に処理時間がかかる。
このようなカラー画像データ全体を対象に１つの減色パレットを作成して中間調データに変換して転送する場合には、原カラー画像と減色パレットの代表色との差が比較的大きくなり、中間調データによりパレットを参照して得た代表色による復元カラー画像の再現性があまりよくない場合がある。
【００１１】
そこで図４３のようにカラー画像データ３００を行方向で複数の領域＃１〜＃６に分割し、分割領域＃１〜＃６毎に減色パレットを作成し、その代表色とエントリ番号で表現される中間調コードに変換して転送することで、転送先でのカラー画像の再現性を高めている。
【００１２】
【発明が解決しようとする課題】
このような領域分割によるパレット転送方式にあっては、画像データ全体で代表色を選定する場合に比べ、領域毎の色の偏りを表現することができ、色の再現性は向上する。
しかし、領域毎に代表色を選定して減色パレットを作成しているため、同じ色であっても領域毎に代表色が異なり、領域の境界の前後で同じ色が使用されていたとしても、中間調コードから代表色によるカラー画像を復元した場合、領域境界で色ずれを起こす問題がある。
【００１３】
本発明は、このような従来の問題点に鑑みてなされたもので、カラー画像の分割領域毎にカラー画素を減色パレットのエントリ番号の中間調コードに変換して代表色と共に転送して復元した際の境界部分での色ずれを低減するようにしたカラー画像転送処理装置及び方法を提供することを目的とする。
【００１４】
【課題を解決するための手段】
図１は本発明の原理説明図である。まず本発明は、カラー画素値のフルビットで表現される色数をもつフルカラー空間のカラー画像データを、減色パレットのエントリ番号で表現される中間調データに変換し、パレット代表色と共にカラー画像復元処理装置１２に転送するカラー画像転送処理装置１０を対象とする。
（フルカラー形式とパレット形式の切替）
このようなカラー画像転送処理装置１０につき本発明にあっては、図１（Ａ）のように、色数計数部１６、パレット生成部１８、転送形式判定部２０、フルカラー形式データ生成部２２とパレット形式データ生成部２４を含むデータ転送部２６で構成される。色数計数部１６は、図１（Ｂ）のように、カラー画像データの画素を、行毎に走査しながら異なるカラー画素値の数として色数Ａを計数する。パレット生成部１８は、所定エントリ数ｎの代表色の格納領域を有し、色数計数部１６で色数Ａをカウントアップする毎にエントリにフルカラー画素値を代表色として順番に格納して減色パレットを生成する。
【００１５】
転送形式判定部２０は、色数計数部１６で計数している色数Ａが所定の減色パレットのエントリ数ｎを越えた場合、１つ前の行の末尾の画素４６までの転送画素数Ｎを計数し、転送画素数Ｎのフルカラー形式による転送データ量とパレット形式によるデータ転送量を比較し、転送データ量の少ない方の形式によるデータ転送を指示する。
【００１６】
データ転送部２６は、パレット形式のデータ転送指示を受けた際に、フルカラー画素を減色パレットのエントリ番号に変換した中間調コードと減色パレットの代表色を含むパレット形式データを生成して転送させ、フルカラー形式の転送指示を受けた場合には、フルカラー画素をそのまま含むフルカラー形式データを生成して転送させる。
【００１７】
このようなカラー画像の転送処理によれば、減色パレットを生成してカラー画素をそのエントリ番号に変換して代表色と共に転送するパレット形式のデータ転送にあっては、転送対象となった領域に使用している異なるカラー画素値はそのままパレット代表色として転送され、転送先での色の再現性が極めて高い。そのため、領域境界での色ずれはほとんど起きない。
【００１８】
またデータの領域分割を、パレットエントリ数に対応した色数が計数される比較的狭い領域に分け、フルカラー形式の転送データ量より少ない場合にパレット形式のデータ転送を選択しているため、カラー画像全体としてはフルカラー形式に比べ、転送データ量を低減することができる。
転送形式判定部２０は、１回の転送画素数Ｎが所定の判定閾値Ｂ以上であればパレット形式のデータ転送を指示し、転送画素数Ｎが判定閾値Ｂ未満であった場合はフルカラー形式のデータ転送を指示する。この転送画素数Ｎの判定閾値Ｂは次のようにして定める。まず、カラー画素値が３つの色成分値で構成され、減色パレットのエントリ数をｎとした場合、フルカラー形式の転送データ量Ｄ１が
Ｄ１＝（３×Ｎ）
で与えられる。またパレット形式の転送データ量Ｄ２は、
Ｄ２＝（ｎ×３）＋Ｎ
で与えられる。そこで、両者の転送データ量が等しくなるＤ１＝Ｄ２のときの転送画素数Ｎ０  を
（Ｎ０  ×３）＝（ｎ×３）＋Ｎ０
から求め、転送画素数Ｎ０  に所定のマージンαを加算して判定閾値Ｂを求める。具体的には次のようになる。
【００１９】
２５６エントリ：判定閾値Ｂ＝３８４＋α
１２８エントリ：判定閾値Ｂ＝１９２＋α
６４エントリ：判定閾値Ｂ＝  ９６＋α
３２エントリ：判定閾値Ｂ＝  ４８＋α
データ転送部２６は、転送データにパレット形式かフルカラー形式かを示す識別情報を付加して転送する。これにより転送先でデータ形式がパレット形式かフルカラー形式か識別でき、各形式に対応したカラー画像の復元が適切にできる。
【００２０】
転送形式判定部２０は、パレット形式のデータ転送量がフルカラー形式の転送データ量より多い場合、色画素のビット数を最下位ビットから１ビットずつ減らして上位ビット数に制限しながら、パレット形式の転送データ量がフルカラー形式の転送データ量より少なくなるまで、色数計数部１６による色数Ａの計数とパレット生成部１８による減色パレットの生成を行ってパレット形式のデータ転送を行わせる。
【００２１】
例えばフルカラー画素の３つのカラー成分値の各々が減色パレットのエントリ数と同じｎビットの場合、パレット形式のデータ量がフルカラー形式のデータ量より十分少なくなるまで、各カラー成分値の最下位ビットから１ビットずつ減らし上位ビット数を（ｎ−１）、（ｎ−２）、（ｎ−３）・・・（ｎ−ｉ）に制限しながら、色数計数部１６による色数Ａの計数とパレット生成部１８による減色パレットの生成を行ってパレット形式のデータ転送を行わせる。
【００２２】
具体的には、フルカラー画素の３つのカラー成分値の各々が減色パレットのエントリと同じ８ビットの場合、パレット形式のデータ量がフルカラー形式のデータ量より十分少なくなるまで、各カラー成分値を最下位ビットから１ビットずつ減らして上位７ビット、上位６ビット、上位５ビットとしながら、色数計数部１６による色数Ａの計数とパレット生成部１８による減色パレットの生成を行ってパレット形式のデータ転送を行わせる。
【００２３】
このようにフルカラー形式の転送データ量の方が少ない場合には、色数の計数とパレット作成に使用するカラー画素を上位７ビット、上位６ビット、上位５ビットと順次制限することで、パレット形式による転送データ量を下げ、パレット形式によるデータ転送を可能な限り行う。
このカラー画素の上位ビットを順次制限する転送処理において、パレット生成部１８は、下位ビットの削減により残りの上位ビットが一致する複数の代表色候補が存在する場合、中央の色を代表色とするか、又は、平均した色を代表色とする。
【００２４】
更に、転送形式判定部２０は、カラー画像を分割した複数の表示領域の位置に応じて、色画素のビット数を最下位ビットから１ビットずつ減らした上位ビット数に制限しながら、色数計数部１６による色数Ａの計数とパレット生成部１８による減色パレットの生成を行ってパレット形式又はフルカラー形式のデータ転送を行わせる。例えば表示領域のセンタ領域で上位ビット数を多くし、サイド領域で上位ビット数を少なくする。
【００２５】
このため色の変化が集中する傾向にあるセンタ領域では、色数の計数に使用する上位ビット数が多いため、２５６色の色数を計数するまでの画素数が少なく、パレット代表色も原色により近くなり、色の再現性が高いために境界付近での色ずれを低減できる。
これに対し色変化が通常少ないサイド領域では、色数の計数に使用する上位ビット数が少ないため、２５６色を計数するまでの画素数が多くなり、色の再現性は下がるが転送データ量を低減できる。
また本発明は、カラー画像データを圧縮して転送するカラー画像転送処理方法を提供するものであり、次の過程を備える。
【００２６】
カラー画像データの画素を、行毎に走査しながら異なるカラー画素値の数として色数Ａを計数する色数計数過程；
所定エントリ数ｎの代表色の格納領域を有し、色数Ａをカウントアップする毎にエントリにフルカラー画素値を代表色として順番に格納して減色パレットを生成するパレット生成過程；
色数Ａが減色パレットのエントリ数を越えた場合、１つ前の行の末尾までの転送画素数Ｎを計数し、転送画素数Ｎのフルカラー形式による転送データ量とパレット形式によるデータ転送量を比較し、転送データ量の少ない方の形式によるデータ転送を指示する転送形式判定過程；
パレット形式のデータ転送指示を受けた際に、カラー画素を減色パレットのエントリ番号に変換した中間調コードと減色パレットの代表色を含むパレット形式データを生成して転送させ、フルカラー形式のデータ転送指示を受けた際には、前記フルカラー画素をそのまま含むフルカラー形式データを生成して転送させるデータ転送過程；
このカラー画像転送処理方法の詳細は、基本的には装置の場合と同じである。
（カラー画像転送システム）
更に、本発明は、カラー画像データを転送するカラー画像転送処理装置と転送データからカラー画像データを復元するカラー画像復元処理装置を備えたカラー画像転送システムを提供する。
【００２７】
この場合、カラー画像転送処理装置は、カラー画像データの画素を、行毎に走査しながら異なるフルカラー画素値の数として色数Ａを計数する色数計数部、所定エントリ数の代表色の格納領域を有し、色数Ａをカウントアップする毎にエントリにカラー画素値を代表色として順番に格納して減色パレットを生成するパレット生成部、色数Ａが減色パレットのエントリ数を越えた場合、１つ前の行の末尾までの転送画素数Ｎを計数し、転送画素数Ｎのフルカラー形式による転送データ量とパレット形式によるデータ転送量を比較し、転送データ量の少ない方の形式によるデータ転送を指示する転送形式判定部、及びパレット形式のデータ転送指示を受けた際に、カラー画素を減色パレットのエントリ番号に変換した中間調コードと減色パレットの代表色を含むパレット形式データを生成して転送させ、フルカラー形式のデータ転送指示を受けた際には、前記フルカラー画素をそのまま含むフルカラー形式データを生成して転送させるデータ転送部を備える。
【００２８】
またカラー復元装置は、カラー画像転送処理装置から転送されたカラーデータがフルカラー形式かパレット形式かを判定する受信データ判別部、受信データ判別部がフルカラー形式を判定した際に受信データからフルカラーの画像データを復元するフルカラー形式データ復元部、及び受信データ判定部がパレット形式を判定した際に、受信データから減色パレットを復元し、復元パレットを受信した中間長コードのエントリー番号で参照してパレット代表色を用いたフルカラー画像データを復元するパレット形式データ復元部を備える。
【００４６】
【００４７】
【発明の実施の形態】
＜目    次＞
１．カラー印刷装置
２．パレット形式とフルカラー形式の切替転送
３．減色パレットの領域幅制御
４．境界距離に応じた重み付けによる減色処理
５．誤差分散による減色処理
６．減色処理の領域分割
１．カラー印刷装置
図２は本発明のカラー画像転送処理装置が適用されるパーソナルコンピュータとカラー印刷装置のブロック図である。カラー印刷装置は、エンジン部１６０とコントローラ部１６２で構成される。エンジン部１６０には、搬送ベルトユニット１１１、静電記録ユニット１２４−１〜１２４−４等の印刷機構部の制御動作を行うメカニカルコントローラ１６４が設けられている。
【００４８】
メカニカルコントローラ１６４に対しては、エンジン部１６０に設けている各種センサ（図示せず）の処理を行うセンサ処理用ＭＰＵ１６６が設けられる。メカニカルコントローラ１６４は、エンジン部コネクタ１７０を介してコントローラ１６２側と接続される。なお、エンジン部１６０に設けた印刷機構は、無端ベルト１１２とＹ，Ｍ，Ｃ，Ｋの各静電記録ユニットに設けているＬＥＤアレイ１３６−１，１３６−２，１３６−３，１３６−４を取り出している。
【００４９】
図３は図２のカラー印刷装置の内部構造である。装置本体１１０の内部には記録媒体例えば記録用紙を搬送させるための搬送ベルトユニット１１１が設けられ、搬送ベルトユニット１１１には可撓性の誘電体材料、例えば適当な合成樹脂材料から作られた無端ベルト１１２を回動自在に備える。無端ベルト１１２は４つのローラ１２２−１，１２２−２，１２２−３，１２２−４の回りに掛け渡される。搬送ベルトユニット１１１は装置本体１１０に対し着脱自在に装着されている。
【００５０】
ローラ１２２−１は駆動ローラとして機能し、駆動ローラ１２２−１は駆動機構（図示せず）により無端ベルト１１２を矢印で示す反時計回りに一定速度で走行駆動する。また駆動ローラ１２２−１は、無端ベルト１１２から電荷を除去するＡＣ除去ローラとしても機能する。ローラ１２２−２は従動ローラとして機能し、従動ローラ１２２−２は無端ベルト１１２に電荷を与える帯電ローラとしても機能する。
【００５１】
ローラ１２２−３，１２２−４は共にガイドローラとして機能し、駆動ローラ１２２−１及び従動ローラ１２２−２に近接して配置される。従動ローラ１２２−２と駆動ローラ１２２−１の間の無端ベルト１１２の上側走行部は、記録紙の移動経路を形成する。記録紙はホッパ１１４に蓄積されており、ピックアップローラ１１６によりホッパ１１４の最上部の記録紙から１枚ずつ繰り出され、記録紙ガイド通路１１８を通って一対の記録紙送りローラ１２０により無端ベルト１１２の従動ローラ１２２−２側からベルト側の記録紙移動経路に導入され、記録紙移動経路を通過した記録紙は駆動ローラ１２２−１から排出される。
【００５２】
無端ベルト１１２は従動ローラ１２２−２により帯電されるため、記録紙が従動ローラ１２２−２側から記録紙移動経路に導入されたとき無端ベルト１１２に静電的に吸着され、移動中の記録紙の位置ずれが防止される。一方、排出側の駆動ローラ１２２−１は除電ローラとして機能するため、無端ベルト１１２は駆動ローラ１２２−１に接する部分において電荷が除去される。このため記録紙は駆動ローラ１２２−１を通過する際に電荷が除去され、ベルト下部に巻き込まれることなく無端ベルト１１２から容易に剥離されて排出される。
【００５３】
装置本体１１０内にはＹ，Ｍ，Ｃ，Ｋの４台の静電記録ユニット１２４−１，１２４−２，１２４−３，１２４−４が設けられ、無端ベルト１１２の従動ローラ１２２−２と駆動ローラ１２２−１との間に規定されるベルト上側の記録紙移動経路に沿って、上流から下流側に向かってＹ，Ｍ，Ｃ，Ｋの順番に直列に配置されたタンデム構造を有する。
【００５４】
静電記録ユニット１２４−１〜１２４−４は、現像剤としてイエロートナー成分（Ｙ）、マゼンタトナー成分（Ｍ）、シアントナー成分（Ｃ）、及びブラックトナー成分（Ｂ）を使用する点が相違し、それ以外の構造は同じである。
このため静電記録ユニット１２４−１〜１２４−４は、無端ベルト１１２の上側の記録紙移動経路に沿って移動する記録紙上にイエロートナー像、マゼンタトナー像、シアントナー像及びブラックトナー像を順次重ねて転写記録し、フルカラーのトナー像を形成する。
【００５５】
図４は図３の静電記録ユニット１２４−１〜１２４−４の１つを取り出している。静電記録ユニット１２４は感光ドラム１３２を備え、記録動作時に感光ドラム１３２は時計回りに回転駆動される。感光ドラム１３２の上方には例えばコロナ帯電器あるいはスコロトロン帯電器等として構成された前帯電器１３４が配置され、前帯電器１３４により感光ドラム１３２の回転表面は一様な電荷で帯電される。
【００５６】
感光ドラム１３２の帯電領域には光学書込ユニットとして機能するＬＥＤアレイ１３６が配置され、ＬＥＤアレイ１３６のスキャニングで出射された光によって静電潜像が書き込まれる。即ち、ＬＥＤアレイ１３６の主走査方向に配列された発光素子は、コンピュータやワードプロセッサ等から印刷情報として提供される画像データから展開したカラー画素データ（ドットデータ）の階調値に基づいて駆動され、このため静電潜像はドットイメージとして書き込まれる。
【００５７】
感光ドラム１３２に書き込まれた静電潜像は、感光ドラム１３２の上方に配置されている現像器１４０により所定の色トナーによる帯電トナー像として静電的に現像される。感光ドラム１３２の帯電トナー像は、下方に位置した導電性転写ローラ１４２によって記録紙に静電的に転写される。
即ち静電性転写ローラ１４２は、無端ベルト１１２を介して感光ドラム１３２との間に微小な隙間を介して配置され、無端ベルト１１２により搬送される記録紙に帯電トナー像とは逆極性の電荷を与え、これにより感光ドラム１３２上の帯電トナー像は記録紙上に静電的に転写される。
【００５８】
転写プロセスを経て感光ドラム１３２の表面には、記録紙に転写されずに残った残留トナーが付着している。この残留トナーは感光ドラム１３２に対し、記録紙移動経路の下流側に設けられたトナー清浄器１４３により除去される。除去された残留トナーはスクリューコンベア１３８により現像器１４０に戻され、再度現像トナーとして使用される。
【００５９】
再び図２を参照するに、記録紙は無端ベルト１１２の従動ローラ１２２−２から駆動ローラ１２２−１の間の記録紙移動経路を通過する際に、静電記録ユニット１２４−１〜１２４−４によってＹ，Ｍ，Ｃ，Ｋの４色のトナー像の重ね合せによる転写を受けてフルカラー像が形成され、駆動ローラ１２２−１側からヒートローラ型熱定着装置１２６に向かって送り出され、フルカラー像の記録用紙に対する熱定着が行われる。熱定着が済んだ記録用紙は、ガイドローラを通過して装置本体の上部に設けられたスタッカ１２８に配置されて集積される。
【００６０】
また静電記録ユニット１２４−１〜１２４−４にトナーを補給したり保守を行いたい場合には、例えば静電記録ユニット１２４−３のように、上方に引き上げることで容易に外すことができる。
再び図２を参照するに、コントローラ部１６２にはコントローラ用ＭＰＵ１７２が設けられる。コントローラ用ＭＰＵ１７２に対しては、本発明によるカラー画像転送処理の転送先となるプリンタＩＦ処理部１２が設けられ、コントロール部コネクタ１７６を介して上位装置としての例えばパーソナルコンピュータ１９２と接続される。
【００６１】
パーソナルコンピュータ１９２は、任意のアプリケーションプログラム１９４から提供されるカラー画像データをカラー印刷装置に転送する本発明のカラー画像転送処理装置として機能するドライバ１０を備える。このドライバ１０はパソコン部コネクタ１９８を介して印刷装置側のコントローラ部１６２に設けているプリンタＩＦ処理部１２に接続される。
【００６２】
ここでパーソナルコンピュータ１９２のアプリケーションプログラム１９４上でのカラー画像データは例えばＲＧＢデータであり、これに対しカラー印刷装置側でのカラー画像データはＹＭＣＫデータとなる。このため印刷装置側のＩＦ処理部１２には、ドライバから転送されたＲＧＢデータを印刷用のＹＭＣＫデータに変換するカラー変換機能が設けられる。
【００６３】
またドライバ１０は、カラー画像の３バイトＲＧＢ画素データを、減色パレットのエントリ番号で表現される１バイトの中間調コードに変換してパレット代表色（３バイトＲＧＢ画素データ）と共にプリンタＩＦ処理部１２に転送し、プリンタＩＦ処理部１２でエントリ番号の中間調コードを減色パレットの参照により、パレット代表色で表現されるカラー画像データを復元させている。
【００６４】
コントローラ部１６２のコントロール用ＭＰＵ１７２には、パーソナルコンピュータ１９２から転送されたＲＧＢ各画像データのカラー変換で得られたＹ，Ｍ，Ｃ，Ｋの各画像データを画素データ（ドットデータ）に展開して格納する画像メモリ１８２−１，１８２−２，１８２−３，１８２−４が設けられる。
コントローラＭＰＵ１７２は、画像メモリ１８２−１〜１８２−４にＹＭＣＫの各カラー画素データを展開する際に、アドレス指定を行うためアドレス指定部１８４を備える。
２．パレット形式とフルカラー形式の切替転送
図５は本発明のカラー画像転送処理装置の機能ブロック図であり、図２のパーソナルコンピュータ１９２に設けているドライバ１０を例にとっており、カラー印刷装置のコントローラ部１６２に設けているＩＦ処理部１２を転送先となるカラー画像復元処理装置としている。
【００６５】
本発明のカラー画像転送処理装置である転送元のドライバ１０には、フルカラー画像データ格納部１４、色数計数部１６、パレット生成部１８、転送形式判定部２０、フルカラー形式データ作成部２２、パレット形式データ作成部２４、更にデータ転送部２６が設けられている。
また転送先のカラー画像復元処理装置となるプリンタＩＦ処理部１２には、受信データ格納部２８、受信データ判定処理部３０、パレット復元部３２、フルカラー形式データ復元部３４、パレット形式データ復元部３６、復元カラー画像データ格納部３８、及びＲＧＢ／ＹＭＣＫ変換部４０が設けられている。
【００６６】
転送元となるドライバ１０のフルカラー画像データ格納部１４には、図２のパーソナルコンピュータ１９２に設けているアプリケーションプログラム１９４により作成された例えばコンピュータグラフィックスなどによるフルカラー画像データが格納されている。このフルカラー画像データは例えばＲＧＢ表示系を例にとると、ＲＧＢの各色成分データを組み合わせた２４ビットデータ、即ち８ビットを１バイトとすると３バイトデータで構成されている。
【００６７】
この３バイトのＲＧＢ画素データで構成されたフルカラー画像データにつき、ドライバ１０は減色パレットのエントリ番号でなる中間調コードに変換して、減色パレットに登録している３バイトＲＧＢの代表色と共にプリンタＩＦ処理部１２に転送して復元させる。
ドライバ１０に設けた色数計数部１６は、フルカラー画像データを転送する際に、このとき使用している減色パレットのエントリ数Ｅに対応する色数Ａを計数し、このエントリ数Ｅに一致する色数Ａのフルカラー画像データの範囲を１つの領域としてデータ転送を行う。
【００６８】
図６は色数計数部１６によるフルカラー画像データを対象とした色数の計数処理である。記録紙に対するプリント印字イメージとして示されたフルカラー画像データ４２は、黒丸で示すカラー画素のように、行番号ｉと行方向の画素番号ｊで指定される二次元配置をもってメモリ上に格納されている。このようなフルカラー画像データ４２について、色数計数部１６は、まず右上隅のカラー画素から行方向に走査し、行の最後に行ったら次の行の先頭に戻る走査を繰り返しながらＲＧＢ画素データの値の相違から色数Ａを計数する。
【００６９】
色数計数部１６により計数された色数Ａは転送形式判定部２０に与えられている。転送形式判定部２０には、転送側で使用する減色パレットのエントリ数ｎが例えばエントリ数ｎ＝２５６エントリとして予め設定されている。そして転送形式判定部２０は、色数計数部１６により計数される色数Ａをエントリ数ｎ＝２５６と比較し、色数Ａがエントリ数ｎと同じ２５６色に例えば４行目のカラー画素４４で達したとすると、１行前の末尾のカラー画素４６までの領域を１回のデータ転送の領域とし、その中のカラー画素の数Ｎを計数する。尚、以下の説明でエントリ番号はＥで示され、エンリト数がｎの場合の最大エントリ番号はＥｎとなる。
【００７０】
このようにして２５６色の計数結果に基づいて１回のデータ転送領域に含まれるカラー画素の数Ｎが検出できたならば、転送画素数Ｎをフルカラー形式でデータ転送するときの転送データ量Ｄ１とパレット形式でデータ転送するときの転送データ量Ｄ２の大小関係を比較し、転送データ量の少ない方のデータ形式を選択する。
【００７１】
ここでパレット生成部１８による減色パレットの生成を説明する。パレット生成部１８は、色数計数部１６により図６のようにカラー画素の行方向の走査でＲＧＢの各カラー画素成分のいずれかが相違したときの色数Ａのカウントアップに伴い、カウントアップ対象となった３バイトＲＧＢ画素データをそのとき空状態となっている最初のエントリ番号Ｅｉ（但し、ｉ＝１〜ｎ）で示される領域に代表色として格納する。
【００７２】
このような色数Ａの計数に伴うパレット生成部１８による代表色の登録により、転送形式判定部２０で２５６色の色数Ａの計数が判定されたとき、図７のような８ビットエントリの減色パレット４８、即ち８ビットエントリ番号Ｅｎとしてデシマル表現でＥ＝０〜２５５に、異なる３バイトＲＧＢ画素データを代表色として順番に格納したＬＵＴが作成される。
【００７３】
転送形式判定部２０にあっては、色数Ａが２５６色に達したとき、図６のＮ画素の転送領域について、フルカラー画素データをそのまま転送するフルカラー形式の転送データ量Ｄ１と、図７の８ビットエントリの減色パレットのエントリ番号で表現される中間調コードに変換し、同時に２５６エントリ分の代表色を転送して転送先で復元させるパレット形式の転送データ量Ｄ２を算出して比較する。ここで図６から明らかなように３バイトＲＧＢデータがＮ画素あることから、フルカラー形式の転送データ量Ｄ１は
Ｄ１＝（３×Ｎ）バイト                        ・・・（１）
となる。一方、図７の８ビットエントリの減色パレット４８を使用して復元するパレット形式の転送データ量Ｄ２は、２５６エントリのエントリ数をｎとすると
Ｄ２＝｛（ｎ×３）＋Ｎ｝                      ・・・（２）
具体的には、図７の減色パレット４８にあってはｎ＝２５６エントリであることから、パレット形式の転送データ量Ｄ２は
Ｄ２＝（７６８＋Ｎ）バイト                    ・・・（３）
となる。
【００７４】
図８は（１）式のフルカラー形式の転送データ量Ｄ１と（２）式で与えられるパレット形式の転送データ量Ｄ２について、横軸に転送する画素数Ｎをとり、縦軸に転送データ量Ｄをとったときのグラフである。フルカラー形式の転送データ量Ｄ１は、直線６４で与えられるように、画素数Ｎの３倍に比例して増加する直線となる。
【００７５】
これに対し例えばエントリ数Ｅ＝２５６エントリとした（３）式のパレット形式の転送データ量Ｄ２については、直線６６に従った転送画素数Ｎに対するデータ量の増加となる。即ち直線６６は、画素数Ｎ＝０のときの初期値が図７の８ビットエントリの減色パレット４８の３バイトＲＧＢ画素データでなる代表色２５６個に相当する７６８バイトであり、画素数Ｎの増加に対し１対１に比例して転送データ量が増加する特性となる。
【００７６】
その結果、フルカラー形式の直線６４と２５６エントリのパレット形式の直線６６は点Ｐ１で交差し、このときの画素数Ｎ０  は（１）式のＤ１と（３）式のＤ２を等しいとすると、
Ｎ０  ×３＝７６８＋Ｎ０
で与えられる。これを解くと、点Ｐ１を与える画素数Ｎ０  は
Ｎ０  ＝３８４
となる。この結果、フルカラー形式と２５６エントリのパレット形式の転送データ量は、画素数ＮがＮ０  ＝３８４個未満であればフルカラー形式の方が転送データ量が少なく、これに対し画素数がＮ０  ＝３８４個を越えると２５６エントリパレット形式の方が転送データ量が少なくなる。
【００７７】
図５の転送形式判定部２０にあっては、図８のフルカラー形式の直線６４と２５６エントリパレット形式の直線６６の交点Ｐ１を与える画素数Ｎ０  ＝３８４を基準に、図６の色数Ａの計数結果に基づいて得られた領域の画素数ＮがＮ０  ＝３８４個より多ければ、転送データ量の少ない２５６エントリのパレット形式を指定し、一方、画素数ＮがＮ０  ＝３８４個より少なければ、転送データ量が少なくなるフルカラー形式を指定する。
【００７８】
実際には、フルカラー形式と２５６エントリパレット形式で転送データ量の大小関係が入れ替わる点Ｐ１の画素数Ｎ０  ＝３８４個に対し、データ転送においてデータ形式を示す識別情報に割り当てるバイト数を含むマージンαを加えた値をフルカラー形式とパレット形式を判別するための判定閾値とする。ここでフルカラー形式とパレット形式を判定する判定閾値をＢとすると、
Ｂ＝Ｎ０  ＋α
とする。実際の装置ではマージンαはα＝１０バイト程度でよく、Ｂ＝３９４個となる。
【００７９】
図９は図５のドライバ１０に設けているフルカラー形式データ作成部２２とパレット形式データ作成部２４のそれぞれで作成される転送データのデータフォーマットである。図９（Ａ）はフルカラー形式転送データ５０であり、先頭の例えば１０バイトの領域にフルカラー形式であることを示すフルカラー識別情報５２を格納しており、その後に転送画素数Ｎ×３バイト分のフルカラー画素データ５４が格納されている。
【００８０】
図９（Ｂ）はパレット形式転送データ５６であり、先頭１０バイトのパレット識別情報５８に続いて３バイトＲＧＢ画素データを図７の８ビットエントリの減色パレットのエントリ番号で表現される中間調コード、即ち（Ｎ画素×１バイト）分のエントリ番号を格納する。続いてパレット代表色データ６２として図７の２５６エントリ分の３バイトＲＧＢ画素データとなる代表色、即ち（２５６エントリ×３バイト）分の代表色を格納する。
【００８１】
また図９（Ｂ）のパレット形式転送データ５６に格納するエントリ番号の生成は、図７の８ビットエントリの減色パレット４８を作成した後に、図６に示すＮ個の３バイトＲＧＢ画素データを順次読み出して、パレット中の一致する代表色を検出し、一致した代表色のエントリ番号に変換する。
以上の説明は、図５のパレット生成部１８で生成する減色パレットとして図７のエントリ数２５６の８ビットエントリをもつ減色パレット４８を例にとるものであったが、本発明で使用する減色パレットのエントリ数は、例えば図１０のように最大エントリ数２５６の減色パレット４８に対し、それより少ない図１０のエントリ数１２８となる７ビットエントリの減色パレット７４、図１１のエントリ数６４となる６ビットエントリの減色パレット７６、または図１２のエントリ数３２となる５ビットエントリの減色パレット７８といったサイズの小さなパレットを使用することもできる。
【００８２】
また、各減色パレットを使用したパレット形式でデータ転送する場合とフルカラー形式でデータ転送する場合の転送データ量の大小関係の境界となる両者のデータ量が一致する画素数は、図１３のように、２５６エントリの場合の３８４画素に対し、１２８エントリでは１９２画素、６４エントリでは９６画素、３２エントリでは４８画素となる。更にパレット形式とフルカラー形式を判定するための判定閾値Ｂは、マージンα＝１０バイトとすると、２５６エントリの３９０画素に対し、１２８エントリでは２０２画素、６４エントリでは１０６画素、３２エントリでは５８画素となる。
【００８３】
図８にあっては、図１０に示したエントリ数１２８，６４，３２の減色パレットを使用した場合のパレット形式における画素数Ｎに対するデータ転送量の関係を、それぞれ破線で示している。即ち１２８エントリのパレット形式は破線の直線６８のようになり、６４エントリパレット形式では破線の直線７０のようになり、３２エントリのパレット形式では破線の直線７２のようになる。
【００８４】
そして１２８エントリ，６４エントリ，３２エントリの直線６８，７０，７２とフルカラー形式の直線６４の交点Ｐ２，Ｐ３，Ｐ４を与える画素数は、図１３の表からも明らかなように１９２画素、９６画素、４８画素と変化する。このような減色パレットのエントリ数の変化は、図６のように、１回の転送対象となるカラー画像データ４２の画素数Ｎの領域がエントリ数の増加に応じて少くなるだけであり、色の再現性そのものは変わらない。
【００８５】
図１４は図５のドライバ１０となる本発明のカラー画像転送処理装置における転送処理のフローチャートである。まずステップＳ１で、図６のようにフルカラー画像データの画素を行方向に走査し、異なるＲＧＢ画素データをもつ画素数、即ち色数Ａを色数計数部１６で計数する。ステップＳ１で計数された色数Ａは、ステップＳ２で、そのとき使用する減色パレットのエントリ数２５６エントリに１を加えた値２５７と比較されている。
【００８６】
色数Ａの計数値が２５６色となるまではステップＳ２からステップＳ３に進み、図７に示した８ビットエントリの減色パレットにエントリ番号０〜２５５の順番に色数Ａをカウントしたときの３バイトＲＧＢ画素データを代表色として登録し、これによって８ビットエントリの減色パレット４８を生成する。色数Ａが２５６色を１つ越えるとステップＳ２からステップＳ４に進み、図６のように、前の行の末尾の画素４６までの画素数Ｎを転送画素数としてカウントする。
【００８７】
続いてステップＳ５で、転送する画素数Ｎが図１０のように２５６エントリについて予め求められている判定閾値Ｂ＝３９４以上か否か判定する。ここで画素数Ｎが図８のようにフルカラー形式とパレット形式の大小関係の境界となる画素数Ｎ０  ＝３８４個にマージンα＝１０個を加えたＢ＝３９４個より多かった場合には、直線６６で与えられる２５６エントリのパレット形式の方が直線６４で与えられるフルカラー形式より転送データ量が少ないことから、ステップＳ６に進み、パレット形式を指定して図９（Ｂ）のパレット形式転送データ５６のフォーマットに従ったデータ転送を行う。
【００８８】
これに対し転送する画素数Ｎが判定閾値Ｂ＝３９４未満であった場合には、図８のフルカラー形式の直線６４による点Ｐ１の左側となって、２５６エントリパレット形式の直線６６による転送データ量より少なくなることから、ステップＳ７に進み、図９（Ａ）のフルカラー形式転送データ５０のフォーマットに従ったフルカラー形式でのデータ転送を行う。
【００８９】
ステップＳ６のパレット形式でのデータ転送またはステップＳ７でのフルカラー形式でのデータ転送が済んだならば、ステップＳ８に進み、全画素の転送終了の有無をチェックし、転送終了でなければ、再びステップＳ１に戻って次の領域についての処理を行う。即ち図６の場合にあっては、４行目の最後の画素４６までのデータ転送が済んでいることから、次の処理にあっては、５行目の先頭の画素から同様な処理を繰り返す。
【００９０】
一方、図５の転送先となるプリンタＩＦ処理部１２にあっては、ドライバ１０より領域ごとにデータ転送を受けると、受信データ格納部２８に１領域分の転送データを格納した後、受信データ判定処理部３０で図９（Ａ）の先頭領域の識別情報をチェックし、フルカラー識別情報５２であればフルカラー形式と判定し、パレット識別情報５８であればパレット形式であると判定する。
【００９１】
フルカラー形式と判定した場合にはフルカラー形式データ復元部３４を起動し、受信データ格納部２８に格納されている図９（Ａ）のフルカラー形式の転送データのフルカラー識別情報５２に続くフルカラー画素データ５４を取り出して復元カラー画像データ格納部３８に展開する。
一方、パレット形式を判定した場合にはパレット復元部３２を起動し、図９  （Ｂ）のパレット形式転送データ５６の中からパレットデータ６２を取り出し、パレット形式データ復元部３６に図７のような８ビットエントリの減色パレット４８を復元する。続いて図９（Ｂ）のパレット識別情報５８に続くエントリ番号６０をＮ画素分、順次読み出して、復元した図７の８ビットエントリ減色パレット４８を参照することで、対応する３バイトＲＧＢ画素データの代表色に変換して、復元カラー画像データ格納部３８に展開する。
【００９２】
復元カラー画像データ格納部３８に全ての転送データが展開されるとＲＧＢ／ＹＭＣＫ変換部４０を起動し、復元したＲＧＢ画素データをＹＭＣＫ印刷用画素データに変換し、図４のＹＭＣＫ用の各画像メモリ１８２−１〜１８２−４に展開する。そして、コントローラ用ＭＰＵ１７２が印刷指示を受けた際に、画像メモリ１８２−１〜１８２−４よりＹＭＣＫの各印刷用画像データを読み出して、エンジン部１６０の静電記録ユニットのＹ，Ｍ，Ｃ，Ｋ用のＬＥＤアレイ１３６−１〜１３６−４に供給し、感光ドラムに対する光学的な潜像形成によりカラートナーを定着し、ベルト上に転写して定着することでカラー印刷を行う。
【００９３】
このような図１４の転送処理に従ったフルカラー形式とパレット形式を切り替えたカラー画像データの転送処理によれば、原画像におけるフルカラー画素データはそのまま代表色として転送されることとなり、領域に分けて転送する際の境界部分についても転送元と転送先での色ずれがないことから色の再現性がよく、境界部分での色ずれはほとんど起きない。
【００９４】
一方、同じ色が連続する場合にはパレット形式によるデータ転送による圧縮効果が得られ、フルカラー形式に比べ転送データ量を十分に低減することができる。即ち、色の再現性を損うことなく、同時に転送データ量を低減することができる。
図１５は図５のドライバ１０側に設けた本発明のカラー画像転送処理装置における転送処理の他の実施形態であり、図１４の転送処理でフルカラー形式のデータ転送が判定された場合、直ちにフルカラー形式のデータ転送を行わず、ＲＧＢの８ビット色成分について上位ビット数を７ビット、６ビット，５ビットというように制限しながら、色数の計数と減色パレットの生成を行い、可能な限りパレット形式でのデータ転送を行って転送データ量を低減するようにしたことを特徴とする。
【００９５】
図１６は図１５の転送処理における処理モードであり、モード１にあっては、ステップＳ１の色数Ａのカウント及びステップＳ３における減色パレットの作成に使用するＲＧＢ各色成分の使用ビットは８ビットの全ビットであり、これは図１４の転送処理そのものである。このモード１の転送処理でフルカラー形式のデータ転送が選択されなかった場合には、モード２に切り替える。
【００９６】
モード２はＲＧＢ各色成分の８ビットについて、最下位の１ビットを除く上位７ビットにより色数Ａの計数と減色パレットの生成を行う。このモード２でもフルカラー形式のデータ転送が選択されなかった場合には、モード３で下位２ビットを除く上位６ビットとし、それでもフルカラー形式で転送できない場合は、モード４で下位３ビットを除く上位５ビットとして処理する。
【００９７】
図１５について転送処理を説明すると、まずモード１の８ビット全ビットを有効とした転送処理は図１４のステップＳ１〜Ｓ５と同じである。このときステップＳ５で転送画素数Ｎが図１０の２５６エントリの場合の判定閾値Ｂ＝３９４未満で、フルカラー形式に対しパレット形式の転送データ量の方が多い場合には、ステップＳ６で最小上位ビット数か否かチェックし、最小上位ビット数となっていなければステップＳ７で、ＲＧＢ成分の現在の最下位ビットを除く上位ビットを有効化する。即ち、図１６のモード２に切り替える。
【００９８】
そしてステップＳ１に戻り、モード２の上位７ビットの各ＲＧＢ成分についてステップＳ１の色数ＡのカウントとステップＳ３の減色パレットの登録を行う。そしてステップＳ２で色数Ａが２５７に達すると、ステップＳ４に進み、転送対象とする画素数Ｎをカウントし、ステップＳ５で画素数Ｎを再度判定閾値Ｂ＝３９４と比較する。
【００９９】
このモード２にあっては、色数ＡをカウントするＲＧＢ８ビット画素を上位７ビットに制限しているため、色数Ａ＝２５６が計数されるまでの画素数が、全８ビットを有効としたモード１に比べ増加する。その結果、ステップＳ５で上位７ビットによる色数の計数で求めた転送画素数Ｎは判定閾値Ｂ＝３９４を上回り、ステップＳ８に進んでパレット形式でのデータ転送が行われる。
【０１００】
一方、上位７ビットとするモード２にあっても、フルカラー形式のデータ転送となった場合には、図１３のモード３による上位６ビットとし、それでもフルカラー形式のデータ転送となった場合にはモード４の上位５ビットとし、この最終上位ビット数でもフルカラー形式の方が転送データ長が少なければ、その場合はステップＳ９に進み、フルカラー形式でデータ転送を行う。
【０１０１】
このパレット形式でのデータ転送のために色数及び減色パレットの作成に使用するＲＧＢ各成分を上位８ビット、７ビット、６ビット、５ビットと減らす転送処理にあっては、ビット数が減ってくると減色パレットの同一エントリに複数のＲＧＢ画素データが存在する。そこで同一エントリに複数のＲＧＢ画素データが存在する場合には、例えば中央の色を代表色として登録する。また複数の色の平均を求めて代表色としてもよい。
【０１０２】
図１７は図５のドライバ１０側に設けた本発明のカラー画像転送処理装置の他の実施形態を示した転送処理のフローチャートであり、この転送処理にあっては、色数の計数及び減色パレットの生成に使用するＲＧＢ各成分の上位ビット数を、フルカラー画像データの位置に応じて制限するようにしたことを特徴とする。例えば図１８のように、フルカラー画像データ４２について、上下端に位置するサイドサイドバンド８０，８８、次の中間バンド８２，８６、及び中央に位置するセンタバンド８４に分け、センタバンド８４から外側のサイドバンド８０，８８に向けて上位ビット数を変化させる。
【０１０３】
即ちセンタバンド８４にあっては、ＲＧＢ各成分の上位７ビットの相違で色数をカウントし、次の中間バンド８２，８６についてはＲＧＢ各成分の上位６ビットの相違で色数をカウントし、サイドバンド８０，８８にあってはＲＧＢ各成分の上位５ビットの相違で色数をカウントする。通常、フルカラー画像データ４２にあっては、センタバンド８４付近に色の変化が集中して色数が多く、サイドバンド８０，８８に向かうほど色の変化が低下して色数が少ないことから、センタバンド８４で最も色の再現性を高め、パレット形式のデータ転送における領域境界での色ずれを少なくする。
【０１０４】
図１７のフローチャートについて画像領域に応じた色画素の上位ビットの設定による処理を説明すると、次のようになる。まずステップＳ１で画像の領域を判定する。例えば、サイド、中間、センタの３領域の判定となる。領域がサイドであれば、ステップＳ２でＲＧＢ各成分の上位５ビットの相違について色数Ａのカウントを行い、ステップＳ５で色数Ａが２５６色を越えるまで、ステップＳ６の原色パレットに対する代表色の登録を行う。
【０１０５】
この場合の代表色の登録についても、上位５ビットに制限したことで同一エントリに複数のＲＧＢ画素データが代表色候補として存在することから、図１５の処理と同様に、複数候補の中の中央の色または平均の色を代表色とする。色数Ａが２５７に達すると、ステップＳ７で転送する画素数Ｎをカウントし、ステップＳ８で画素数Ｎを２５６エントリの判定閾値Ｂ＝３８４と比較し、判定閾値Ｂ以上であれば、ステップＳ９でパレット形式でのデータ転送を行い、閾値Ｂ未満であればステップＳ１０でフルカラー形式でのデータ転送を行う。
【０１０６】
続いてステップＳ１１で全画素の転送終了をチェックし、転送終了でなければステップＳ１に戻り、画像領域を判定し、サイドバンドであればステップＳ２で上位５ビット、中間バンドであればステップＳ３で上位の６ビット、センタバンドであればステップＳ４で上位７ビットについて、色数の計数と減色パレットに対する代表色の登録を行う。
３．減色パレットの領域幅制御
図１９は本発明によるカラー画像転送処理装置の第２実施形態であり、この実施形態にあっては、減色処理の対象とするカラー画像の領域幅を実際の色変化に基づいてダイナミックに設定するようにしたことを特徴とする。
【０１０７】
図１９において、ドライバ１０は図４に示したパーソナルコンピュータ１９２側に設けられたカラー画像転送処理装置として機能し、フルカラー画像を減色パレットを用いた減色処理によりデータ転送し、図４のプリンタ側に設けているプリンタＩＦ処理部１２に転送して復元させている。
ドライバ１０には画像データ格納部１４、第１境界設定部８０、色変化検出部８２、第２境界設定部８４、パレット作成部８６、コード変換部８８、データ転送部２６が設けられる。またプリンタＩＦ処理部１２側には受信データ格納部２８、パレット復元部３２、コード復元部９０、復元カラー画像データ格納部３８、及びＲＧＢ／ＹＭＣＫ変換部４０が設けられる。
【０１０８】
図１９のドライバ１０に設けた第１境界設定部８０、色変化検出部８２及び第２境界設定部８４にあっては、画像データ格納部１４に格納している転送対象となるフルカラー画素値を用いたカラー画像について、減色処理によるデータ転送のための境界を色変化基づきダイナミックに検出している。
図２０は図１９のドライバ１０におけるカラー画像に対する境界設定の説明図である。カラー画像データ４２には、例えばプリンタイメージに対応して行列方向にフルカラー表現のためのＲＧＢ画素データが黒丸で示すように格納されている。このカラー画像データ４２に対し図１９の第１境界設定部８０にあっては、予め定めた第１境界９２を固定的に行方向に設定している。この第１境界９２の設定により、カラー画像データ４２は上側の領域＃１と下側の領域＃２に分割されている。
【０１０９】
図１９の実施形態にあっては、固定的に設定された第１境界９２による領域＃１，＃２について減色パレットを用いた減色処理によるデータ転送を行わず、領域＃１，＃２のそれぞれについて、各領域の先頭行から境界方向（行方向）に直交する方向を検索方向９６−１，９６−２として色変化検出部８２により色の変化を検出する。例えば図２０の上側の領域＃１を例にとると、各行ごとに左端となる行先頭の色画素を基準に、後続する色画素との色差を検出する。
【０１１０】
図２１は図１９の色変化検出部８２による各行の左端の先頭画素を基準とした色差の検出結果であり、Ｌ＊ａ＊ｂ＊表色系を例にとっている。ここで図１９の画素データ格納部１４の色画素はＲＧＢ表示系であり、一方、プリンタ側にあってはＹＭＣＫ表色系であり、この実施形態にあってはＲＧＢ画素データからＹＭＣＫ画素データへの変換をプリンタＩＦ処理部１２に設けたＲＧＢ／ＹＭＣＫ変換部４０で行っている。一般にＲＧＢ表色系からＹＭＣＫ表色系に変換する際には、一度、Ｌ＊ａ＊ｂ＊表色系に変換していることから、図２１にあっては、Ｌ＊ａ＊ｂ＊画素値の色差を例にとっている。
【０１１１】
この色差画像データ９８において４行目の色差は全て零となっており、４行目には同じ色の画素が並んでいることが分かる。図１９の色変化検出部８２にあっては、図２１の色差画像データ９８について色差が全て零となっている色変化のない行を検出し、ここに図２０のように新たに第２境界９４を設定する。即ち図２０のカラー画像データ４２の中の色の変化のない部分を見つけて、第２境界設定部８４により第２境界９４を設定する。
【０１１２】
そして新たに設定した第２境界９４で分割された上と下の領域＃１，＃２の各領域ごとに、減色パレット処理を用いたデータ転送を行う。また図１９の第２境界設定部８４にあっては、図２１の４行目のように色差が全て零となる色変化のない行が見つからなかった場合には、最も色変化の激しいところを第２境界９４に設定して、第２境界で分割された各領域ごとについて減色パレットを用いた転送データ処理を行う。
【０１１３】
図２２は図１９の色変化検出部８２による第１境界９２を基準とした新たな第２境界の設定処理の他の実施形態である。この実施形態にあっては、第１境界設定部８０で固定的に設定した第１境界９２に対し、両側に位置する領域＃１，＃２に対し検索方向９７−１，９７−２に示すように、第１境界９２を起点に境界から離れる方向に行単位の色変化の検索を行い、図２１．４行目の色差が全部零となる色変化のない領域を見つけて第２境界９４−１，９４−２を新たに設定する。
【０１１４】
このような第１境界９２を中心とした両側の領域への検索方向９７−１，９７−２の設定による第２境界９４−１，９４−２の設定によれば、第１境界９２を含む境界部分に新たな領域＃３が形成される。その結果、当初、領域＃１，＃２の２領域であったものが、新たな第２境界９４−１，９４−２の設定で新たに第１境界９２を含む領域＃３が作り出される。
【０１１５】
そして領域＃１，＃２，＃３のそれぞれについてパレット作成部８６で減色パレットを生成しながら、コード変換部８８で各領域のＲＧＢ画素データを減色パレットのエントリ番号に変換する減色処理を行って、プリンタＩＦ処理部１２側にデータ転送する。
図２３は図１９のドライバ１０に設けたパレット作成部８６による減色パレットの作成処理の具体例である。この実施形態にあっては、減色パレットとして図７の２５６エントリとしており、２５６エントリ減色パレットはＲパレット２００−１，Ｇパレット２００−２及びＢパレット２００−３で構成されている。
【０１１６】
Ｒ，Ｇ，Ｂパレット２００−１〜２００−３は、Ｒデータの上位３ビットエントリ、Ｇデータの上位３ビットエントリ、及びＢデータの上位２ビットエントリの合計８ビットエントリをもっており、これらのエントリに対し各パレットの左側に示すＲ画素値、Ｇ画素値、Ｂ画素値の対応関係をもつ。
このＲ，Ｇ，Ｂパレット２００−１〜２００−３にあっては、Ｒ，Ｇパレット２００−１，２００−２については上位３ビットエントリで決まる８領域のＲ画素値及びＧ画素値に対する範囲を破線のように固定的に予め設定しており、同様にＢデータの上位２ビットで決まるＢパレット２００−３の４領域についてもＢ画素値の対応関係を破線のように固定的に決めている。
【０１１７】
図１９のドライバ１０に設けたコード変換部８８にあっては、画像データ格納部１４よりＲＧＢ画素データを１つずつ読み出し、そのＲデータの上位３ビット、Ｇデータの上位３ビット、及びＢデータの上位２ビットを組み合わせた８ビットデータを、減色パレットのエントリ番号としてデータ転送部２６のバッファに格納する。
同時にＲ画素値、Ｇ画素値及びＢ画素値を図２３のＲ，Ｇ，Ｂパレット２００−１〜２００−３の対応する８または４つの領域にパレット代表値の候補として格納する。このような処理を１つの領域の全ＲＧＢ画素について終了すると、図２３のＲ，Ｇ，Ｂパレット２００−１〜２００−３の各領域には複数の代表値候補が格納されている。
【０１１８】
そこでＲ，Ｇ，Ｂパレット２００−１〜２００−３の各領域に候補として格納されている複数の代表値候補の平均値から代表画素値を決める。例えば図２３のＲパレット２００−１のＲ画素値０〜６３に対応した３ビットエントリ０００の領域については、代表Ｒ画素値＝２８が平均計算で求められ格納されている。
このようにして残り全てのＲ，Ｇ，Ｂパレット２００−１〜２００−３の各領域について代表画素値を求めると、例えば図示のような代表画素値となる。そして図１９のデータ転送部２６にあっては、コード変換部８８でＲＧＢ画素データから変換されたエントリ番号とパレット作成部８６で図２３のように作成された代表画素値を、プリンタＩＦ処理部１２側にデータ転送することになる。
【０１１９】
図１９の転送先となるプリトタＩＦ処理部１２にあっては、受信データ格納部２８より受信データを領域ごとに取り出し、パレット復元部３２で受信した減色パレットの代表色から図２３のような減色パレットを復元し、コード変換部８８で対応する領域のエントリ番号を読み出して減色パレットテーブルの代表色でなる色画素に変換して、復元カラー画像データ格納部３８に格納する。
【０１２０】
例えばエントリ番号が「１０１００１０１」であれば、まず下位２ビット「０１」によるＢパレット２００−３の参照でＢ画素値＝４１に変換し、次の下位３ビット「００１」によるＧパレット２００−２の参照でＧ画素値＝６４に変換し、更に上位３ビット「１０１」によるＲパレット２００−１の参照でＲ画素値＝２０５に変換する。
【０１２１】
図２４は図１９のドライバ１０側のカラー画像転送処理のフローチャートである。まずステップＳ１で、図２０のようにカラー画像データ４２について固定的に決めている第１境界９２を設定して複数領域に分割する。続いてステップＳ２で領域ごとに色変化を行単位に検出し、例えば図２１のような色差画像データ９８を得る。
【０１２２】
続いてステップＳ３で、検出された色差番号画像データ９８について例えば行方向の色差が全て零となる色変化のない行があるか否かチェックする。色変化のない行が検出できればステップＳ５に進み、そこに新たな第２境界９４を図２０のように設定する。一方、色変化のない行がなかった場合にはステップＳ４に進み、色変化の最も激しい行を検索し、ここにステップＳ５で新たなライン境界を設定する。
【０１２３】
このような処理をステップＳ６で全領域について行ったことが判別されると、ステップＳ７で領域ごとの減色処理によるデータ転送を行う。即ち、ステップＳ７で現在処理中の領域内のフルカラー画素値、例えばＲＧＢ画素値を図２３の２５６エントリの減色パレットに対応してＲデータの上位３ビット、Ｇデータの上位３ビット、及びＢデータの下位２ビットの組み合せでなる８ビットの減色パレットのエントリ番号に変換し、転送用のバッファに格納する。
【０１２４】
同時にステップＳ８で減色パレットの対応するエントリにエントリ番号へ変換したフルカラー画素値を代表色の候補として格納する。ステップＳ７，Ｓ８の処理が同一行の全画素について終了したことがステップＳ９で判別されると、ステップＳ１０に進み、各エントリごとに格納した複数の代表色の候補に基づき、そのエントリの代表色を決定する。
【０１２５】
この代表色の決定は、代表色候補の平均値あるいは中央値などとする。各エントリの代表色の決定がステップＳ１１で全領域について終了したことが判別されると、ステップＳ１２に進み、各領域ごとにフルカラー画素値から変換されたエントリ番号と減色パレットの決定済みの代表色を転送先の装置にデータ転送する。
【０１２６】
このようにカラー画像データの色の変化のない部分に境界を設定して減色パレットを用いた減色処理によるデータ転送を行うことで、固定的に決めている第１境界による分割領域の中に色の変化のない領域が存在する場合には、その部分に境界が設定されて、より細かい領域に分けられることとなり、これによって最初に設定した第１境界の部分での減色処理によりデータ転送したカラー画像を再現した際の色ずれを抑え、境界を目立たなくすることができる。
【０１２７】
図２５は減色処理における境界幅制御の他の実施形態であり、この実施形態にあっては減色処理されたデータの受信復元の際に領域幅を制御するようにしたことを特徴とする。
図２５において、カラー画像転送処理装置となるドライバ１０側は、画像データ格納部１４、境界設定部２０２、パレット作成部８６、コード変換部８８、転送バッファ２５、データ転送部２６で構成されており、境界設定部２０２は図２０に示した固定的な第１境界９２の設定を行うだけである。
【０１２８】
一方、カラー画像復元処理装置として機能するプリンタＩＦ処理部１２にあっては、受信データ格納部２８、境界領域検索部２０４、パレット作成部２０６、コード復元部９０、復元カラー画像データ格納部３８、及びＲＧＢ／ＹＭＣＫ変換部４０を設けている。境界領域検索部２０４は、例えば図２６のような受信された減色処理によるエントリ番号画像データ２０８を対象に、分割領域の境界を含む新たな領域を生成し、境界を含む新たに生成した領域について減色パレットを生成して、エントリ番号をパレット代表色で表現されるフルカラー画素値に変換する。
【０１２９】
即ちエントリ番号画像データ２０８にあっては、転送元により指定された受信境界９２の上下の領域＃１，＃２に分かれてエントリ番号及び減色パレットの全エントリ分のＲＧＢ画素値が受信されている。そこで図２５のプリンタＩＦ処理部１２に設けている境界領域検索部２０４にあっては、固定設定されている受信境界９２を中心に上側の領域＃１について受信境界９２から離れる方向に行単位に色変化を検出する。
【０１３０】
この色変化の検出も、図１９のドライバ１０側に設けている色変化検出部８２の場合と同様、各行の左端のエントリ番号画素を基準に行方向に後続する各エントリ番号画素との差を色差として検出し、図２１のエントリ番号画像データ９８に相当するエントリ番号の差で表現される色差データを生成する。このような色変化を示す色差データについて、行方向で色差が全て零となる色変化のない位置を検出し、図２６のように、色変化のない位置を開始位置２１０とする。
【０１３１】
一方、受信境界９２の下側の領域＃２についても、受信境界９２から離れる方向に行単位の色変化を検出し、同じく行方向の色差が零となる位置を終了位置２１２とする。これによって受信境界９２の前後を開始位置２１０及び終了位置２１２とする新たな境界＃３が設定される。このように受信境界９２を含む領域＃３が新たに設定できたならば、図２５のパレット作成部２０６により領域＃１，＃２及び新たな領域＃３のそれぞれについて減色パレットを復元する。
【０１３２】
図２７は図２５のパレット作成部２０６によるパレット作成処理である。エントリ番号画像データ２０８にあっては、図２６のように受信境界９２を含む新たな領域＃３が設定されており、その両側の残った領域が受信された領域＃１及び領域＃２となっている。領域＃１，＃２については、受信データから直ちにパレット２１４−１，２１４−２が復元され、各領域＃１，＃２のエントリ番号をパレット２１４−１，２１４−２の参照によりパレット代表色でなるＲＧＢ画素データとして復元できる。
【０１３３】
これに対し受信境界９２を含む受信側で新たに生成した領域＃３については、受信データから復元した減色パレット２１４−１，２１４−２に基づいて減色パレット２１４−３を作成し、新たに作成した減色パレット２１４−３を用いて領域＃３のエントリ番号をパレット代表色でなるＲＧＢ画素データに変換する。
図２８は図２７の新たに生成した領域＃３の変換に使用する減色パレット２１４−３の作成処理の具体例である。まず減色パレット２１４−１，２１４−２にあっては、受信データからエントリ番号の変換に使用する代表色が直ちに復元できる。なお、減色パレット２１４−１，２１４−２は図２３に示した構造をもっている。この受信復元された減色パレット２１４−１，２１４−２の平均計算により新たに生成した領域＃３の減色パレット２１４−３を作成する。
【０１３４】
具体的には、減色パレット２１４−１，２１４−２のＲＧＢの各パレットにおける同じエントリの代表色を加算して２で割った値を、新たに生成した減色パレット２１４−３の代表色としている。例えば減色パレット２１４−１，２１４−２のＲパレット（Ｒデータ）におけるＲ画素値２４０〜２５５に対応したＲデータ上位３ビットエントリ「１１１」にあっては、減色パレット２１４−１がＲ１＝２４７、減色パレット２１４−２がＲ２＝２４５であることから、減色パレット２１４−３の値として
Ｒ３＝（Ｒ１＋Ｒ２）／２＝（２４７＋２４５）／２＝２４６
として求めている。以下同様にして、残りのエントリについても平均値を算出して、減色パレット２１４−３のＲＧＢについての各エントリの代表値を登録する。
【０１３５】
図２８にあっては、代表色を求めるＲＧＢの領域を固定的に定めた減色パレットを例にとっているが、実祭に色空間に受信したパレットの代表色を展開し、再度２５６空間に分割して減色パレットの代表色を決めるようにしてもよい。
図２９は受信データから得られた減色パレット２１４−１，２１４−２をＹＭＣ表色系に変換している。ここでＲＧＢ表色系に対し、ＹＭＣ表色系は
Ｙ＝１−Ｂ
Ｍ＝１−Ｇ
Ｃ＝１−Ｒ
となり、受信されたＲＧＢ減色パレットの代表色から簡単に図２８のＹＭＣ表色系の減色パレットテーブル２１４−１，２１４−２を得ることができる。
【０１３６】
このような図２９のＲＧＢからＹＭＣに変換された減色パレット２１４−１，２１４−２の各代表色をＬ＊ａ＊ｂ＊画素に変換して、図３０のＬ＊ａ＊ｂ＊色空間２２０に展開する。このＬ＊ａ＊ｂ＊色空間には、図２９（Ａ），（Ｂ）に示した２つの減色パレット２１４−１，２１４−２の５１２個の代表色の色が存在している。そこで、まず上の白から２５６番目の点と２５７番目の点を結ぶ線分の中点をとる水平な面で２つの色空間２２２−１，２２２−２に分ける。
【０１３７】
このとき点が重なっていれば重なった分だけその点に重みを与える。このように１つの空間での点の数が同じとなるように、続いて空間２２４−１〜２２４−４に分け、最終的に２５６空間に分割する。２５６空間に分割すると、各分割空間には２つの画素の点が存在することになる。そこで各空間に存在する２つの画素の値から次のいずれかにより代表色を求める。
【０１３８】
▲１▼２つの点を結ぶ線分の中点を代表色とする。
▲２▼２つの点の画素値の比率を計算して、２点を結ぶ線分を、計算した比率の逆の比で分割した点を代表点として代表色を決める。
▲３▼空間の重心を代表点として代表色を決める。
▲４▼▲２▼で得られた代表点と▲３▼で得られた代表点を結ぶ線分の中点を代表点として代表色を決める。
【０１３９】
▲５▼▲１▼より得られた代表点と▲３▼より得られた代表点を結ぶ線分の中点を代表点として代表色を決める。
もちろん図３０にあっては、Ｌ＊ａ＊ｂ＊色空間での分割により新たに生成した減色パレット２１４−３の代表色を決めていることから、新たに生成した減色パレット２１４−３についても、図２８と同様、ＹＭＣ表色系の画素値に戻す。
【０１４０】
図３１は図２５のカラー画像復元処理装置として機能するプリンタＩＦ処理部１２における受信復元処理のフローチャートである。まずステップＳ１で、受信データから受信データ格納部２８の受信バッファ等にエントリ番号で表現された画素データを展開し、ステップＳ２で、境界領域検索部２０４によって図２６に示したように受信境界９２を起点に離れる方向にエントリ番号で表現された画素の色変化を行単位に検出する。
【０１４１】
そしてステップＳ３で、色変化のない行があれば、例えば受信境界９２の上側の領域＃１にあっては開始位置２１０とし、下側の領域＃２にあっては終了位置２１２として、ステップＳ５で受信境界９２を含む境界領域＃３を新たに設定する。続いてステップＳ６で、受信された減色パレットを使用して新たに設定した境界領域＃３のエントリ番号の変換に使用する減色パレットを新たに生成する。そしてステップＳ７で、受信パレット及び新たに生成した減色パレットを使用して各領域ごとにエントリ番号画素データをＲＧＢ画素データに変換する。
【０１４２】
このような受信された画素データの境界について新たに領域を設定して減色パレットを生成してカラー画像を復元することで、境界部分における色の急激な変化が抑えられて滑らかな変化となるスムージング処理が行われ、画像データを領域に分けて減色処理によりデータ転送していても、境界部分での色ずれを十分に抑えることができる。
４．境界距離に応じた重み付けによる減色処理
図３２は本発明のカラー画像転送処理装置の第３実施形態であり、この第３実施形態にあっては、カラー画像を複数分割した各領域の減色処理について、境界からの距離に応じた重み付けによって減色パレットの代表色を決定するようにしたことを特徴とする。
【０１４３】
図３２において、カラー画像転送処理装置として機能するパーソナルコンピュータのドライバ１０にはフルカラー画像データ格納部１４が設けられ、フルカラー画像データ格納部１４に対しては領域分割部２３０、重み設定部２３２及び代表色決定部２３４が設けられており、これらに基づいてパレット作成部８６で領域ごとの減色パレットを作成している。
【０１４４】
コード変換部８８はフルカラー画像データ格納部１４の各領域ごとに、ＲＧＢ画素値を減色パレットのエントリ番号で表現された中間調コードに変換する。コード変換部８８で変換された中間調コード及び減色パレット作成部８６で作成された減色パレットの代表色は、転送バッファ２５に領域単位に格納された後、データ転送部２６によりカラー画像復元処理装置として機能するプリンタＩＦ処理部１２に送られる。
【０１４５】
プリンタＩＦ処理部１２には受信データ格納部２８、パレット復元部３２、エントリ番号で表現された中間調コードをＲＧＢ画素値に戻すコード復元部９０、復元カラー画像データ格納部３８、及びＲＧＢ／ＹＭＣＫ変換部４０が設けられている。
図３３は図３２のドライバ１０側に設けた重み設定部２３２による重み設定の説明図である。図３３においてカラー画像データ４２は、プリンタ側の印刷イメージに対応した行列配置をもってカラー画像を格納しており、このカラー画像４２は図３２の領域分割部２３０により例えば境界線２３６，２３８により領域＃１，＃２，＃３の３領域に分割されている。
【０１４６】
重み設定部２３２にあっては、領域＃１，＃２，＃３の各々についてその境界からの距離に応じた重み設定を行う。図３３は中央の領域＃２に対する重み設定を例にとっており、領域＃２の右側に取り出して示すように、境界２３６，２３８から中央に向かうにつれて、境界位置で重みｗ＝０．５であったものを段階的に０．４，０．３，０．２というように中央に向かうにつれて重み値を小さくしている。
【０１４７】
このような境界２３６，２３８からの距離に応じた重みｗは、パレット作成部８６で減色パレットの各エントリの代表色を代表色決定部２３４で決める際に使用される。即ち、ドライバ１０にあっては、フルカラー画像データ格納部１４について、図３２のように、領域分割部２３０で分割された領域＃１，＃２，＃３ごとにＲＧＢ画素値を行方向に順次読み出して、コード変換部８８で減色パレットのエントリ番号で表現された中間調コードに変換している。コード変換部８８で変換された中間調コードは転送バッファ２５に格納される。
【０１４８】
このＲＧＢ画素値の中間調コードへの変換と同時にパレット作成部８６で、２５６エントリの中の対応するエントリに対するＲＧＢ画素値の代表色候補としての登録を行っている。即ち減色パレットは図２３に示したように、Ｒパレット２００−１，Ｇパレット２００−２，Ｂパレット２００−３で構成されている。
【０１４９】
カラー画像データ格納部１４より読み出されたＲデータの上位３ビットで指定されるＲパレット２００−１の領域には、Ｒ画素値が代表色候補として登録され、またＧ画素値の上位３ビットで指定されるＧパレット２００−２の領域には、Ｇ画素値が代表色候補として登録され、更にＢ画素値の上位２ビットで指定されるＢパレット２００−３の領域には、Ｂ画素値が代表色候補としてそれぞれ登録される。
【０１５０】
このような減色パレット、具体的には図２３のＲ，Ｇ，Ｂパレット２００−１〜２００−３に対する各Ｒ，Ｇ，Ｂ画素値の代表色候補としての登録において、重み設定部２３２は図３３のようにして境界２３６，２３８からの距離に応じて設定した重みｗを代表色選択のためのパラメータとしてＲＧＢ画素値と組み合わせて登録する。
【０１５１】
減色パレットに対する現在処理中の領域の全画素の代表色候補としての登録が済むと、代表色決定部２３４は減色パレットの各領域ごとに代表色の決定を行う。この代表色の決定において、同一領域に複数の代表色候補が格納されていた場合には、各代表色候補に付加されている図３３に示す境界からの重みｗをチェックし、最も大きな重み値ｗ＝０．５をもつ候補を代表色候補として選択する。
【０１５２】
もし最大の重み値ｗ＝０．５をもつ候補が１つであれば、この候補をその領域の代表色に決定する。また最大重み値ｗ＝０．５をもつ代表色候補が複数存在した場合には、複数の候補の画素値の平均値を算出して代表色とする。この場合、平均値の代わりに中央に位置する候補を代表色として選定するようにしてもよい。
【０１５３】
このような減色パレットにおける代表色の決定は、図２３のように、Ｒ，Ｇパレット２００−１，２００−２についてはそれぞれ７領域に分けて各領域に代表色候補が格納されていることから、それぞれについて代表色を決定する。またＢパレット２００−３にあっては、４領域に分けて代表色候補が格納されていることから、同様にして各領域について代表色を決定することになる。
【０１５４】
図３４は図３２のドライバ１０側で行われる転送処理のフローチャートである。まずステップＳ１で、現在処理対象となっているカラー画像データの領域の１行分のＲＧＢデータを読み込み、ステップＳ２で重み設定部２３２により、その行のＲＧＢデータの境界からの距離に応じ重みｗを設定する。続いてステップＳ３で、現在処理中の行の１画素のＲＧＢデータを取り出し、ステップＳ４でＲデータに重みｗを付加してＲパレットの対応領域に代表色候補として分類して登録する。
【０１５５】
続いてステップＳ５で、Ｇデータについて同様に重みｗを付加して、Ｇパレットの対応領域に代表色候補として分類して登録する。更にステップＳ６で、Ｂデータに重みｗを付加してＢパレットの対応領域に代表色候補として分類して登録する。
以上のステップＳ３〜Ｓ６の処理を、ステップＳ７で１行画素全てについて行うと、ステップＳ８で最終行か否かチェックし、最終行までステップＳ１からの処理を繰り返す。現在処理対象となっている領域の最終行の処理が終了すると、ステップＳ９でＲＧＢパレットの各領域ごとに格納している代表色候補を対象に、その重みによりＲＧＢ代表色を決定する。
【０１５６】
図３５は図３４のステップＳ９の代表色の決定処理のフローチャートである。まずステップＳ１で、処理対象となるＲＧＢパレットの中の特定の色パレット例えばＲパレットを指定し、続いてステップＳ２で、指定した色パレットの代表色決定領域を指定するエントリビットを初期値「０００」にセットする。続いてステップＳ３で指定エントリの代表色候補を取り出す。ステップＳ４で候補が１つであれば、ステップＳ８に進み、その候補を代表色に決定する。
【０１５７】
候補が２以上であった場合にはステップＳ５に進み、複数候補の中から最大重み値をもつ候補を選択する。最大重み値をもつ候補がステップＳ６で１つであれば、ステップＳ８に進んで、その候補を代表色とする。最大重み値をもつ候補が複数存在した場合にはステップＳ７に進み、例えば複数候補の平均計算を行い、その計算値をステップＳ８で代表色とする。
【０１５８】
このようなステップＳ３〜Ｓ８の１つのパレットエントリにおける代表色の決定処理が済むと、ステップＳ９で全エントリについて終了したか否かチェックし、終了していなければステップＳ１０でエントリビットを１つインクリメントし、次のパレットエントリについてステップＳ３〜Ｓ９の代表色の決定処理を繰り返す。
【０１５９】
ステップＳ９で全エントリが終了すると、ステップＳ１１に進み、ＲＧＢパレットの全てについて処理を終了したか否かチェックし、終了していなければステップＳ１２で次の色パレット例えばＧパレットを指定して、ステップＳ２よりＧパレットについて代表色の決定処理を繰り返す。ＲＧＢパレットの全パレットについて処理が終了すると、一連の処理を終了してメインルーチンにリターンする。
【０１６０】
このような境界からの距離に応じた重み値を用いた代表色の決定処理により、減色パレットの各エントリの代表色としては、図３３の例えば領域＃２を例にとると、重みｗがｗ＝０．５と最大となる境界２３６，２３８に近い方の代表色候補が最終的にパレット代表色として選択されることとなる。
この結果、境界２３６，２３８付近での色の再現性が向上し、図３２でプリンタＩＦ処理部１２に中間調データ及び減色パレットの代表色データを転送後に復元した復元カラー画像において、領域の境界部分での色ずれを抑えて、原画に従った自然な色の変化とすることができる。
５．誤差分散による減色処理
図３６は本発明のカラー画像転送処理装置の第４実施形態であり、この第４実施形態にあっては、原カラー画像のフルカラー画素値と減色パレットの代表色との誤差を検出してフルカラー画素値を修正することにより、パレット代表色に近付けた後にエントリ番号で表現される中間調コードに変換する減色処理を行うようにしたことを特徴とする。
【０１６１】
図３６において、カラー画像転送処理装置としてのドライバ１０にはフルカラー画像データ格納部１４が設けられ、フルカラー画像データ格納部１４に対しては通常の減色処理と同様、コード変換部８８、パレット作成部８６、転送バッファ２５及びデータ転送部２６が設けられている。これに加え図３６の第４実施形態にあっては、フルカラー画像データ格納部１４に対しカラー画像修正部２４０を新たに設けている。
【０１６２】
カラー画像修正部２４０は、減色処理に使用する減色パレットの代表色が決定された段階で、対応するフルカラー画像データ格納部１４のカラー画像の領域の各フルカラー画素値と減色パレットの対応する代表色との誤差を検出し、この誤差を後続する周囲のフルカラー画素値に分配してフルカラー画素値をパレット代表色に近付けるように修正する。
【０１６３】
図３７はカラー画像修正部２４０による修正処理の具体例である。カラー画像４２は、フルカラー画素例えばＲＧＢ画素データをプリンタイメージに対応して行単位に配列し、減色処理のため複数領域に分割しており、図３７にあっては先頭の領域＃１を表わしている。
このような分割された領域＃１については、１行目の先頭からＲＧＢデータを順次取り出して減色パレットのエントリに代表色候補として登録し、全画素の登録終了後に各エントリごとに代表色を決めることで、領域＃１に最適な減色パレットが作り出される。領域＃１に最適な減色パレットが作成できたならば、領域＃１の画素を先頭から読み出しながら、作成した減色パレットの対応するエントリの代表色との誤差を検出する。
【０１６４】
図３７は領域＃１の４行目の先頭から５番目の画素を処理対象とする注目画素２４２とした場合である。この注目画素２４２のＲＧＢデータと注目画素２４２のＲＧＢデータから作成されるエントリ番号で参照した減色パレットの代表色との誤差を検出する。例えば注目画素２４２のＲＧＢ画素データを（ＩＲ，ＩＧ，ＩＢ）とし、これに対応する減色パレットの代表色を（ＣＲ，ＣＧ，ＣＢ）とすると、両者の誤差ΔＲ，ΔＧ，ΔＢは、
ΔＲ＝ＩＲ−ＣＲ
ΔＧ＝ＩＧ−ＣＧ
ΔＢ＝ＩＢ−ＣＢ
として算出される。
【０１６５】
このような注目画素２４２と対応するパレット代表色との誤差（ΔＲ，ΔＧ，ΔＢ）は、注目画素２４２に対し設定したテンプレート２４１で決まる配分比率に応じて周辺の画素に配分され、対応する周辺の画素のＲＧＢデータが修正される。テンプレート２４１は下側に取り出して示すように縦×横＝２×３の６マスで構成され、注目画素２４２を上列中央にセットしている。
【０１６６】
注目画素２４２に続く同一行の画素位置に配分比７／１６を設定し、次の行の斜め左下となる画素位置に配分比（３／１６）を設定し、注目画素２４２と同じ位置となる次の行に配分比（５／１６）を設定し、その隣りの画素位置に配分比（１／１６）を設定している。この配分比（７／１６）〜（１／１６）は、注目画素２４２からの距離が近いほど大きな配分比が設定され、遠くなるほど小さい配分比が設定されていることが分かる。
【０１６７】
このため注目画素２４２について対応するパレット代表色との誤差（ΔＲ，ΔＧ，ΔＢ）は、テンプレート２４１で与えられる配分比（７／１６）、（３／１６）、（５／１６）、（１／１６）の各々の乗算により、それぞれの位置のＲＧＢデータに対する配分値が算出され、この配分値を各位置のＲＧＢデータの値に加算することで修正する。
【０１６８】
テンプレート２４１の配分比率に従った誤差の配分による修正で、注目画素２４２の周囲に存在する後続画素のＲＧＢデータは注目画素２４２に対応する減色パレットの代表色に近付けられるように修正を受けることになる。このような注目画素２４２に対するテンプレート２４１の設定による修正は、領域＃１の１行目の左端の先頭の画素から領域＃２の７行目の右隅の最終画素に至るまで順次行われる。
【０１６９】
また領域＃１と領域＃２の境界２４５の手前の行の画素については、領域＃２の先頭の行の画素に領域＃１のＲＧＢデータとパレット代表色との誤差が配分されて修正され、領域＃１と領域＃２で異なったパレット代表色をもつ減色パレットを使用していても、この修正により結果として領域＃２の境界２４５付近の代表色については領域＃１の減色パレットの代表色に近付けるような修正が掛かることになる。
【０１７０】
図３８は図３６のドライバ１０側に設けたカラー画像修正部２４０の具体的な機能ブロックである。図３８において、ＲＧＢレジスタ２４４には例えば図３７の対象画素２４２のＲ，Ｇ，Ｂの各値が格納される。エントリレジスタ２４６は、ＲＧＢレジスタ２４４に格納している各Ｒ，Ｇ，Ｂの画素値につき、Ｒデータは上位３ビット、Ｇデータは上位３ビット、Ｂデータは上位２ビットを取り出し、合計８ビットの減色パレットのエントリ番号を生成する。
【０１７１】
この誤差検出値による修正時には既に領域＃１の減色パレット２４８は作成済みであることから、エントリレジスタ２４６の値により減色パレット２４８を参照し、対応する代表値Ｒ，Ｇ，Ｂを読み出し、それぞれ代表色レジスタ２５０に読み出す。代表色レジスタ２５０に読み出された代表値Ｒ，Ｇ，Ｂのそれぞれは、減算器２５２−１，２５２−２，２５２−３の一方に入力される。
【０１７２】
減算器２５２−１，２５２−２，２５２−３の他方には、説明の都合上、分離して示すＲＧＢレジスタ２４４に格納されている注目画素２４２のＲ，Ｇ，Ｂの各値が入力され、両者の減算により誤差ΔＲ，ΔＧ，ΔＢを求める。誤差ΔＲ，ΔＧ，ΔＢは誤差レジスタ２５４に格納した後、誤差ラインバッファ２５６に出力している。誤差ラインバッファ２５６に格納された誤差ΔＲ，ΔＧ，ΔＢは、フルカラー画素修正部２５８において、図３７テンプレート２４１に基づく周辺画素の選択と検出誤差の配分比率に基づき、周辺画素の修正演算を行う。
【０１７３】
この図３８のようなカラー画像修正部２４０による修正処理がフルカラー画像データ格納部１４における例えば図３７の領域＃１の全画素について終了したならば、図３６のコード変換部８８により修正が済んだ領域＃１のフルカラー画素即ちＲＧＢ画素データについて、Ｒ成分値の上位３ビット、Ｇ成分値の上位３ビット、及びＢ成分値の上位２ビットを、図３８のエントリレジスタ２４６と同じ機能により取り出して減色パレット２４８のエントリ番号で表現される中間調コードに変換して転送バッファ２５に格納する。
【０１７４】
またパレット作成部８６で作成された領域＃１の減色パレット２４８の２５６個の代表色についても、転送バッファ２５に格納する。転送バッファ２５に１領域分の中間調コード及び減色パレットの代表色データが準備できたならば、データ転送部２６を起動してカラー画像復元処理装置として機能するプリンタＩＦ処理部１２に対しデータ転送を行う。
【０１７５】
ドライバ１０からの転送データはプリンタＩＦ処理部１２の受信データ格納部２８に格納され、パレット復元部３２で受信データから減色パレットを復元し、復元した減色パレットをコード復元部９０にセットして、受信データ格納部からの受信したエントリ番号の入力により減色パレットの代表色を読み出し、復元カラー画像データ格納部３８に代表色で表現されるカラー画像データを格納する。
【０１７６】
この復元カラー画像データは、ドライバ１０側におけるカラー画像修正処理により元のカラー画像が減色パレットの代表色に近付ける修正を受けているため、修正済みのカラー画像と復元されたカラー画像との間の色の再現性が極めてよく、領域の境界部分で色ずれがほとんど起きず、また色の変化も自然なものとできる。
【０１７７】
図３９は図３６のドライバ１０側における転送処理のフローチャートである。まずステップＳ１でカラー画像の分割した特定領域の減色パレットを作成する。減色パレットとして例えば図３７の領域＃１の全画素を読み出して減色パレットの対応するエントリに代表色候補として登録した後に、各エントリについて代表色を平均計算等により決めている。
【０１７８】
また他の減色パレットの作成法として、予め代表色の異なる複数種類の減色パレットを準備しておき、その中から処理対象とする領域に最適な減色パレットを選択してカラー画像修正処理及びその後の中間調コードへの変換を行うようにしてもよい。複数の減色パレットの中から最適減色パレットを選択する方法としては、領域のフルカラー画素値と対応する減色パレットの代表色との差を求め、この差が最小値となる減色パレットを最適減色パレットとして選択すればよい。
【０１７９】
ステップＳ１で減色パレットが作成できたならば、ステップＳ２で最初のフルカラー画素を読み込み、ステップＳ３で、読み込んだフルカラー画素から減色パレットのエントリ番号を生成し、減色パレットの参照により代表色を求める。続いてステップＳ４でフルカラー画素とパレット代表色との誤差を算出し、ステップＳ５で、算出した誤差に図３７のテンプレート２４１の各配分画素ごとの配分比を乗じて、対応する周辺のフルカラー画素に配分する。
【０１８０】
そしてステップＳ６で、周辺のフルカラー画素に算出された配分誤差を加算してフルカラー画素を修正する。このようなステップＳ２〜Ｓ６の修正処理を、ステップＳ７で現在処理対象となっている領域の全画素について終了するまで、ステップＳ８で次の画素を指定しながら処理を繰り返す。
現在処理対象となっている領域について全画素の処理が終了すると、ステップＳ９で全領域の終了か否かチェックし、全領域を終了していなければ、ステップＳ１０で次の領域を指定して、ステップＳ１からの処理を繰り返す。ステップＳ９で全領域の処理が終了すると、ステップＳ１１で各領域ごとに修正済みのカラー画像のフルカラー画素値を減色パレットのエントリ番号で表現される中間調コードに変換し、各領域の対応する減色パレットの代表色と共にデータ転送を行う。
【０１８１】
尚、図３９の処理にあっては、ステップＳ９で全領域の処理を終了した後にステップＳ１１でデータ転送を開始しているが、各領域ごとに処理を終了した際にデータ転送してもよい。
６．減色処理の領域分割
本発明が対象とするカラー画像転送処理装置にあっては、プリンタイメージに対応して行単位に配列したカラー画像について、領域分割を行方向の所定範囲で行うようにしているが、この領域分割を最適化することにより、領域ごとに減色パレットによる減色処理を行って復元した場合の色の再現性を向上し、境界部分での色ずれを低減することができる。
【０１８２】
図４０（Ａ）〜（Ｇ）はカラー画像の幾何学分割の実施形態である。即ち図４０（Ａ）は短冊分割であり、行方向に境界を設定して複数領域に分割している。図４０（Ｂ）は矩形分割であり、カラー画像を行方向及び行方向に直交する方向にマトリクス状に分割している。図４０（Ｃ）は三角分割であり、複数の三角形に分割している。
【０１８３】
図４０（Ｄ）は多角形分割であり、例えば六角形を例にとっており、複数の六角形に分割している。図４０（Ｅ）は円分割であり、複数の円形に分割しており、この場合には円の重なりを認める。図４０（Ｆ）は楕円分割であり、複数の楕円に分割しており、この場合にも楕円の重なりを認める。図４０（Ｇ）はランダム分割であり、図４０（Ａ）〜（Ｆ）のいずれかの分割を組み合わせた分割であり、重なりを認めている。
【０１８４】
この図４０（Ａ）〜（Ｇ）に示すいずれかの幾何学分割をカラー画像の内容に応じて選択することで、より適切な減色処理による復元が可能となる。
このような幾何学分割以外に統計分割やオブジェクト分割がある。統計分割は自然画像などの統計的な性質によりカラー画像を分割する形状を決定するものであり、分割形状は対象画像によって任意の形状をもつが、重なりはもたない。この統計分割の中には色差境界分割と明度境界分割の２つがある。色差境界分割は色差がある領域を取り出して分割した領域とする。
【０１８５】
具体的には、黄金分割色差探索法や対象別探索法により領域分割ができる。また明度境界分割にあっては、明度の高，中，低を判定し、この明度によって領域を分けることで例えば明度中の部分の領域の色の再現性を重視する。この明度境界分割法にあっても、具体的には黄金分割の明度探索や対象別の明度探索が適用できる。
【０１８６】
更にオブジェクト分割にあっては、自然画像の被写体と画風をパラメータとして得ることにより、分割する形状を選択する。この場合にも例えば黄金分割が適用され、黄金分割を反映する位置を指定することで分割形状を決める。また被写体分割にあっては、円形、ポートレート、集合写真などの画風により分割形状を決定する。
【０１８７】
尚、上記の実施形態は、パーソナルコンピュータで作成したカラー画像をカラー印刷装置に転送して印刷する場合を例にとっているが、カラー画像を扱う任意の装置間のデータ転送に適用できる。またほんはついめいは上記の実施形態に限定されず、本発明の目的を損わない範囲で適宜に変形したものを含む。また本発明は実施形態に示した数値による限定は受けない。
【０１８８】
【発明の効果】
以上説明したように本発明によれば、次の効果が得られる。
（フルカラー形式とパレット形式の切替転送）
本発明のカラー画像転送処理装置及び方法は、カラー画像の色数が減色パレットのエントリ数を越えたときの１つ前の行の末尾までの転送画素数を計数し、フルカラー形式とパレット形式の内の転送データ量の少ない方の形式により転送することで、パレット形式のデータ転送にあっては、転送対象となった領域に使用している異なるカラー画素値はそのままパレット代表色として転送され、転送先での色の再現性が極めて高く、境界部分で色ずれが起きない。
【０１８９】
またカラー画像を比較的狭い領域に分け、フルカラー形式とパレット形式の内の転送データ量の少ない方で転送しており、フルカラー形式のみの場合に比べ、転送データ量を低減できる。
（領域境界の検索設定）
本発明のカラー画像転送処理装置及び方法は、カラー画像について色の変化のない行を検索して境界をダイナミックに設定することで、カラー画像は同一色が並ぶことで色の変化のない行を開始位置とし次の色の変化のない行を終了位置とする複数領域に分割され、この境界付近の色が減色パレットの代表色として優先的に選択されることとなり、境界部分での色の再現性が向上し、復元したカラー画像で境界部分が目立たなくできる。
（受信側での境界領域の生成）
本発明のカラー画像復元処理装置及び方法は、受信側において受信境界を含む新たな領域を設定し、この境界領域につき受信した両側の領域の減色パレットから代表色を決めた新たな減色パレットを作って中間調コードを代表色に変換することで、境界部分で色が滑らかに変化するスムージングが行われ、境界部分の色の変化を自然にできる。
（境界からの距離に応じた重付け）
本発明のカラー画像転送処理装置及び方法は、境界からの距離に応じた重みに基づいて減色パレットの代表色を決定するため、減色パレットには領域の境界部分の色が優先的に登録され、境界部分での再現性が高くなり、復元画像における領域境界での色ずれが低減され、不自然さがなくなる。
【０１９０】
（パレット代表色との誤差分散）
本発明のカラー画像転送処理装置及び方法は、減色パレットの代表色と原色画素との誤差を検出し、後続する周辺の画素に配分して原色画素を修正することで、原カラー画像の色が減色パレットの代表色に近づけられ、その結果、減色パレットによる色の再現性が向上し、境界部分での色ずれを防止して自然な色変化となるカラー画像が復元できる。
【０１９１】
（領域の分割形状）
本発明のカラー画像転送処理装置は、カラー画像を、幾何分割、統計分割、若しくはオブジェクト分割等に従って分割し、各領域毎に各カラー画素値を減色パレットのエントリ番号で表現される中間調コードに変換し、またパレット作成部で各領域毎に、エントリ毎の代表色を決定して減色パレットを作成し、各領域毎の中間調コードと減色パレットの代表色を転送することで、カラー画像の領域分割を最適化し復元画像の境界部分の色ずれをなくして自然な色の変化とできる。
【図面の簡単な説明】
【図１】本発明の原理説明図
【図２】本発明が適用されるパーソナルコンピュータとカラー印刷装置のブロック図
【図３】本発明が適用されるカラー印刷装置の内部構造図
【図４】図３の静電記録ユニットの断面図
【図５】フルカラー形式とパレット形式の転送切替を行う本発明のカラー画像転送装置の第１実施形態の機能ブロック図
【図６】フルカラー形式とパレット形式の転送切替のための色数の検出処理の説明図
【図７】図５で生成する８ビットエントリの減色パレットの説明図
【図８】図５にフルカラー形式とパレット形式の転送画素数に対する転送データ量の特性図
【図９】図５のフルカラー形式とパレット形式の転送データのフォーマット説明図
【図１０】７ビットエントリの減色パレットの説明図
【図１１】６ビットエントリの減色パレットの説明図
【図１２】５ビットエントリの減色パレットの説明図
【図１３】図５で使用する減色パレットのエントリ数の転送データ形式の判定閾値の対応説明図
【図１４】図５の転送処理のフローチャート
【図１５】カラー画素の上位ビット数を順次制限してパレット転送形式を選択させる転送処理のフローチャート
【図１６】図１５の上位ビット数の制限とモードの対応説明図
【図１７】カラー画像位置に応じてカラー画素の上位ビット数を制限する転送処理のフローチャート
【図１８】カラー画像の位置に対するカラー画素の上位ビット数の設定説明図
【図１９】領域分割の境界を色変化に基づいて設定する本発明のカラー画像転送装置の第２実施形態の機能ブロック図
【図２０】図１９の第２実施形態による境界設定の説明図
【図２１】図１９の実施形態による行単位の色差の検出結果の説明図
【図２２】図１９の実施形態による他の色変化検索方向の説明図
【図２３】図１９の実施形態におけるパレット作成処理の説明図
【図２４】図１９の実施形態による転送処理のフローチャート
【図２５】受信側で境界部分に領域を設定して境界部分の色変化をスムージングする本発明のカラー画像復元処理装置の機能ブロック図
【図２６】図２５の復元処理における境界部分に対する領域設定の説明図
【図２７】図２６の境界領域の減色パレットの作成処理の説明図
【図２８】２つの受信パレットの平均計算により境界パレットの代表色を決定する具体例の説明図
【図２９】ＹＭＣ空間に変換した２つの受信パレットの説明図
【図３０】図２９の２つの受信パレットをＬ＊ａ＊ｂ＊空間に変換してパレット代表色を決定する色空間の分割の説明図
【図３１】図２５の受信側で境界部分に領域を設定して境界部分の色変化をスムージングする復元処理のフローチャート
【図３２】境界からの距離に応じた重み付けによりパレット代表色を決定する本発明のカラー画像転送装置の第３実施形態の機能ブロック図
【図３３】図３２の境界からの距離に応じた重み設定の説明図
【図３４】図３２のカラー画像転送処理のフローチャート
【図３５】図３２の重み値を用いたパレット代表色の決定処理のフローチャート
【図３６】パレット代表色との誤差を周辺の画素に配分してフルカラー画素値を修正する本発明のカラー画像転送装置の第４実施形態の機能ブロック図
【図３７】パレット代表色の誤差配分の説明図
【図３８】図３７のカラー画像データ修正部の具体的な機能ブロック図
【図３９】図３６の実施形態によるカラー画像の誤差配分による修正を伴なう転送処理のフローチャート
【図４０】本発明による領域分割の説明図
【図４１】従来の減色パレットを用いた減色処理の説明図
【図４２】減色パレットの代表色を決めるＲＧＢ色空間の分割説明図
【図４３】カラー画像を複数領域に分割して行う減色処理の説明図
【符号の説明】
１０：ドライバ（転送元）
１２：プリンタＩＦ処理部（転送先）
１４：フルカラー画像データ格納部
１６：色数計数部
１８：パレット生成部
２０：転送形式判定部
２２：フルカラー形式データ作成部
２４：パレット形式データ作成部
２６：データ転送部
２８：転送データ受信部
３０：受信データ判定処理部
３２：パレット復元部
３４：フルカラー形式データ復元部
３６：パレット形式データ復元部
３８：転送カラー画像データ格納部
４０：ＲＧＢ／ＹＭＣＫ変換部
４２：フルカラー画像データ
５０：フルカラー形式転送データ
５２：フルカラー識別情報
５４：フルカラーデータ（ＲＧＢ画素データ）
５６：パレット形式転送データ
５８：パレット識別情報
６０：エントリ番号
６２：パレットデータ（代表ＲＧＢ画素データ）
８０：第１境界設定部
８２：色変化検出部
８４：第２境界設定部
８６：パレット作成部
８８：コード変換部
９０：コード復元部
９２：第１境界
９４：第２境界
９６−１，９６−２，９７−１，９７−２：検索方向
９８：エントリ番号画像データ
１１０：装置本体
１１１：搬送ベルトユニット
１１２：無端ベルト
１１４：ホッパ
１１６：ピックアップローラ
１１８：記録紙ガイド通路
１２０：記録紙送りローラ
１２２−１〜１２２−４：ローラ
１２４−１〜１２４−４：静電記録ユニット
１２６：ヒートローラ型定着装置
１２８：スタッカ
１３２：感光ドラム
１３４：前帯電器
１３６：ＬＥＤアレイ
１３８：スクリューコンベア
１４０：現像器
１４２：導電性転写ローラ
１４４：現像剤保持容器
１４８：パドルローラ
１６０：エンジン部
１６２：コントローラ部
１６４：メカニカルコントローラ
１６６：センサ処理用ＭＰＵ
１７０：エンジン部コネクタ
１７２：コントローラ用ＭＰＵ
１７６，１８０：コントローラ部コネクタ
１７８：インタフェース処理部
１８２−１〜１８２−４：画像メモリ
１８４：アドレス指定部
１９２：パーソナルコンピュータ
１９４：アプリケーションプログラム
１９８：パソコン部コネクタ
２００−１：Ｒパレット
２００−２：Ｇパレット
２００−３：Ｂパレット
２０２：境界設定部
２０４：境界領域検索部
２０６：パレット作成部
２０８：エントリ番号画像データ（中間調コード画像データ）
２１０：開始位置
２１２：終了位置
２１４−１〜２１４−３：減色パレット
２１６：復元カラー画像データ
２２０：Ｌ＊ａ＊ｂ＊空間
２３０：領域分割部
２３２：重み設定部
２３４：代表色決定部
２４０：カラー画像修正部
２４１：テンプレート
２４２：注目画素
２４４：ＲＧＢレジスタ
２４６：エントリレジスタ
２４８：減色パレット
２５０：代表色レジスタ
２５２−１〜２５２−４：減算器
２５４：差分レジスタ
２５６：誤差ラインバッファ
２５８：フルカラー画素修正部
【図１】
0003598737.tif 000002
【図２】
0003598737.tif 000003
【図３】
0003598737.tif 000004
【図４】
0003598737.tif 000005
【図５】
0003598737.tif 000006
【図６】
0003598737.tif 000007
【図７】
0003598737.tif 000008
【図８】
0003598737.tif 000009
【図９】
0003598737.tif 000010
【図１０】
0003598737.tif 000011
【図１１】
0003598737.tif 000012
【図１２】
0003598737.tif 000013
【図１３】
0003598737.tif 000014
【図１４】
0003598737.tif 000015
【図１５】
0003598737.tif 000016
【図１６】
0003598737.tif 000017
【図１７】
0003598737.tif 000018
【図１８】
0003598737.tif 000019
【図１９】
0003598737.tif 000020
【図２０】
0003598737.tif 000021
【図２１】
0003598737.tif 000022
【図２２】
0003598737.tif 000023
【図２３】
0003598737.tif 000024
【図２４】
0003598737.tif 000025
【図２５】
0003598737.tif 000026
【図２６】
0003598737.tif 000027
【図２７】
0003598737.tif 000028
【図２８】
0003598737.tif 000029
【図２９】
0003598737.tif 000030
【図３０】
0003598737.tif 000031
【図３１】
0003598737.tif 000032
【図３２】
0003598737.tif 000033
【図３３】
0003598737.tif 000034
【図３４】
0003598737.tif 000035
【図３５】
0003598737.tif 000036
【図３６】
0003598737.tif 000037
【図３７】
0003598737.tif 000038
【図３８】
0003598737.tif 000039
【図３９】
0003598737.tif 000040
【図４０】
0003598737.tif 000041
【図４１】
0003598737.tif 000042
【図４２】
0003598737.tif 000043
【図４３】
0003598737.tif 000044