(57)【特許請求の範囲】
【請求項１】
所定の解像度のカラー画像を出力する画像処理装置において、所定の解像度における複数画素ごとに色情報を有するとともに、前記複数画素について該複数画素内で前記色情報を有する画素位置を示すタグ情報とを含む画像データを受け取り、前記タグ情報に従って対応する色情報を配するとともに前記タグ情報により前記色情報を有することが示されていない画素位置については周囲の複数画素が有する色情報を配して前記所定の解像度のカラー画像に展開する画像展開手段を有していることを特徴とする画像処理装置。
【請求項２】
前記画像展開手段は、前記タグ情報により前記色情報を有することが示されていない画素位置については、それぞれの画素位置に従って周囲のいずれかの複数画素を選択し、選択された周囲の複数画素が有する色情報を配することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記画像データは、さらに前記タグ情報により示されていない画素位置について参照する周囲の複数画素を選択する参照位置情報を含んでおり、前記画像展開手段は、前記タグ情報により前記色情報を有することが示されていない画素位置については、前記参照位置情報に従って選択される周囲の複数画素が有する色情報を配することを特徴とする請求項１に記載の画像処理装置。
【請求項４】
前記画像データは、前記タグ情報により前記色情報を有することが示されていないそれぞれの画素位置について前記参照位置情報を有していることを特徴とする請求項３に記載の画像処理装置。
【請求項５】
前記画像データは、さらに前記タグ情報に従った展開を行うか否かを示すフラグ情報を含んでおり、前記画像展開手段は、前記フラグ情報が前記タグ情報に従った展開を示している場合に前記タグ情報を用いた展開を行うことを特徴とする請求項１ないし請求項４のいずれか１項に記載の画像処理装置。
【請求項６】
前記所定の解像度で文字図形を生成する文字図形生成手段と、該文字図形生成手段で生成された文字図形を該文字図形の複数画素毎に代表する１色を示す色情報と該色情報が配置される複数画素中の位置を示すタグ情報を含む画像データに変換する変換手段をさらに有し、該変換手段で変換された画像データが前記画像展開手段に入力されることを特徴とする請求項１ないし請求項５のいずれか１項に記載の画像処理装置。
【請求項７】
前記変換手段で変換された文字図形に対応する画像データを登録しておくキャッシュ記憶手段を有しており、前記文字図形生成手段において文字図形を生成する際に前記キャッシュ記憶手段に登録されている文字図形については前記キャッシュ記憶手段に登録されている該文字図形に対応する画像データを用いることを特徴とする請求項６に記載の画像処理装置。
【請求項８】
前記画像展開手段は、少なくとも文字図形の部分に対応する画像データについて前記タグ情報を用いた展開を行うことを特徴とする請求項６または請求項７に記載の画像処理装置。
【請求項９】
前記画像展開手段は、前記色情報及び前記タグ情報を含む画像データを保持するとともに保持している画像データに対してデータ形式を変更せずに後続の画像データを描画処理することを特徴とする請求項１ないし請求項８のいずれか１項に記載の画像処理装置。
【請求項１０】
前記画像展開手段は、前記色情報及び前記タグ情報を含む画像データを保持するとともに保持している画像データに対して後続の画像データを描画処理する際に、データ形式を変更せずに描画可能か否かを判定し、該判定結果に応じてデータ形式を変更せずに描画処理を行うかあるいは前記所定の解像度のカラー画像に展開してから描画処理を行うかを切り替えて描画処理を行うことを特徴とする請求項１ないし請求項８のいずれか１項に記載の画像処理装置。
【請求項１１】
前記画像展開手段は、前記色情報及び前記タグ情報を含む画像データを保持するとともに保持している画像データに対して後続の画像データを描画処理する際に、描画処理対象領域の保持している画像データ及び前記後続の画像データを前記所定の解像度のカラー画像に展開してから描画処理を行い、再び前記色情報及び前記タグ情報を含む画像データに変換して保持することを特徴とする請求項１ないし請求項８のいずれか１項に記載の画像処理装置。
【請求項１２】
前記画像展開手段は、前記色情報及び前記タグ情報を含む画像データを受け取り、該画像データの色情報及び前記タグ情報が同一の複数の画像データについては、その個数とともに１つの画像データに変換することを特徴とする請求項１ないし請求項１１のいずれか１項に記載の画像処理装置。
【請求項１３】
前記画像展開手段は、前記色情報及び前記タグ情報を含む画像データを受け取り、該画像データの色情報に対して所定の色空間の色情報への変換処理を行うことを特徴とする請求項１ないし請求項１２のいずれか１項に記載の画像処理装置。
【請求項１４】
前記画像展開手段は、前記色情報及び前記タグ情報を含む画像データを受け取り、該画像データの色情報及び前記タグ情報が同一の複数の画像データについてはその個数を計数するとともに、当該画像データの色情報に対して所定の色空間の色情報への変換処理を行った後のそれぞれの色成分毎に該色成分の色情報と前記計数値を対応付けた画像データに変換することを特徴とする請求項１ないし請求項１１のいずれか１項に記載の画像処理装置。
【請求項１５】
前記画像展開手段は、ＲＧＢ色空間の色情報を含む画像データを受け取り、ＣＭＹＫ色空間の色情報に変換することを特徴とする請求項１３または請求項１４に記載の画像処理装置。
【請求項１６】
入力された画像データから所定の解像度のカラー画像を生成する画像処理方法において、所定の解像度における複数画素ごとに色情報を有するとともに、前記複数画素について該複数画素内で前記色情報を有する画素位置を示すタグ情報とを含む画像データを受け取り、前記タグ情報に従って対応する色情報を配するとともに前記タグ情報により前記色情報を有することが示されていない画素位置については周囲の複数画素が有する色情報を配して前記所定の解像度のカラー画像に展開することを特徴とする画像処理方法。
【請求項１７】
前記画像データから前記所定の解像度のカラー画像に展開する際に、前記タグ情報により前記色情報を有することが示されていない画素位置については、それぞれの画素位置に従って周囲のいずれかの複数画素を選択し、選択された周囲の画素が有する色情報を配することを特徴とする請求項１６に記載の画像処理方法。
【請求項１８】
前記画像データは、さらに前記タグ情報により示されていない画素位置について参照する周囲の複数画素を選択する参照位置情報を含んでおり、前記画像データから前記所定の解像度のカラー画像に展開する際に、前記タグ情報により前記色情報を有することが示されていない画素位置については、前記参照位置情報に従って選択される周囲の複数画素が有する色情報を配することを特徴とする請求項１６に記載の画像処理方法。
【請求項１９】
前記画像データは、前記タグ情報により前記色情報を有することが示されていないそれぞれの画素位置について前記参照位置情報を有しており、前記タグ情報により示されていないそれぞれの画素位置について、対応する前記参照位置情報に従って選択される周囲の画素が有する色情報を配することを特徴とする請求項１８に記載の画像処理方法。
【請求項２０】
前記画像データは、さらに前記タグ情報に従った展開を行うか否かを示すフラグ情報を含んでおり、前記画像データから前記所定の解像度のカラー画像に展開する際に、前記フラグ情報が前記タグ情報に従った展開を示している場合に前記タグ情報を用いた展開を行うことを特徴とする請求項１６ないし請求項１９のいずれか１項に記載の画像処理方法。
【請求項２１】
前記所定の解像度で文字図形を生成し、生成した文字図形を該文字図形の複数画素毎に代表する１色を示す色情報と該色情報が配置される複数画素中の位置を示すタグ情報を含む画像データに変換し、変換した画像データについて前記所定の解像度のカラー画像に展開することを特徴とする請求項１６ないし請求項２０のいずれか１項に記載の画像処理方法。
【請求項２２】
前記文字図形に対応する画像データを登録しておき、文字図形を生成するまでに登録されている文字図形については登録されている該文字図形に対応する画像データを用いることを特徴とする請求項２１に記載の画像処理方法。
【請求項２３】
少なくとも文字図形の部分に対応する画像データについて前記タグ情報を用いた展開を行うことを特徴とする請求項２１または請求項２２に記載の画像処理方法。
【請求項２４】
前記色情報及び前記タグ情報を含む画像データを受け取って保持するとともに、保持している画像データに対してデータ形式を変更せずに後続の画像データを描画処理することを特徴とする請求項１６ないし請求項２３のいずれか１項に記載の画像処理方法。
【請求項２５】
前記色情報及び前記タグ情報を含む画像データを受け取って保持するとともに、保持している画像データに対して後続の画像データを描画処理する際に、データ形式を変更せずに描画可能か否かを判定し、該判定結果に応じてデータ形式を変更せずに描画処理を行うかあるいは前記所定の解像度のカラー画像に展開してから描画処理を行うかを切り替えて描画処理を行うことを特徴とする請求項１６ないし請求項２３のいずれか１項に記載の画像処理方法。
【請求項２６】
前記色情報及び前記タグ情報を含む画像データを受け取って保持するとともに、保持している画像データに対して後続の画像データを描画処理する際に、描画処理対象領域の保持している画像データ及び前記後続の画像データを前記所定の解像度のカラー画像に展開してから描画処理を行い、再び前記色情報及び前記タグ情報を含む画像データに変換して保持することを特徴とする請求項１６ないし請求項２３のいずれか１項に記載の画像処理方法。
【請求項２７】
前記色情報及び前記タグ情報を含む画像データを受け取り、該画像データの色情報及び前記タグ情報が同一の複数の画像データについては、その個数とともに１つの画像データに変換することを特徴とする請求項１６ないし請求項２６のいずれか１項に記載の画像処理方法。
【請求項２８】
前記色情報及び前記タグ情報を含む画像データを受け取り、該画像データの色情報に対して所定の色空間の色情報への変換処理を行うことを特徴とする請求項１６ないし請求項２７のいずれか１項に記載の画像処理方法。
【請求項２９】
前記色情報及び前記タグ情報を含む画像データを受け取り、該画像データの色情報及び前記タグ情報が同一の複数の画像データについてはその個数を計数するとともに、当該画像データの色情報に対して所定の色空間の色情報への変換処理を行った後のそれぞれの色成分毎に該色成分の色情報と前記計数値を対応付けた画像データに変換することを特徴とする請求項１６ないし請求項２６のいずれか１項に記載の画像処理方法。
【請求項３０】
受け取った画像データの色情報はＲＧＢ色空間の色情報を含む画像データであり、該色情報をＣＭＹＫ色空間の色情報に変換することを特徴とする請求項２８または請求項２９に記載の画像処理方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、高画質、高解像度のカラー画像を、少ない画像データから展開可能な画像処理装置および画像処理方法に関するものである。
【０００２】
【従来の技術】
カラープリンタにおいて美しい画像を出力するためには階調性と解像度の２つを同時に満足する必要がある。しかしながらいずれを良くするためにも多くの情報量が必要であり、必要なメモリ容量が大きくなる。例えばＲＧＢ各色８ビットの情報を有するとすると、１画素あたり２４ビットの情報が必要となる。解像度が６００ｄｐｉの場合、Ａ４サイズの画像でデータ量は９６Ｍバイトにも達する。このように多量のデータを扱うためには、そのデータを保持するためのメモリのコストが高くなるだけでなく、データ転送や処理に多大の時間を要し、描画時間が長くなってしまうという大きな問題があった。
【０００３】
このような問題を解決するため、例えば特開平１１−２９６６７０号公報にも記載されているように、階調性は保持しているが低解像度の画像から、補間処理によって高解像度の画像を生成する技術が用いられている。しかし、この方法はあくまで補間処理によって画素を生成しているものであり、最初から高解像度で生成した画像と同じ画質が得られるわけではない。特に文字画像においては、補間処理特有のひずみが発生してしまうなど、画質の劣化が顕著となる。
【０００４】
また別の技術として、解像度を保持し、所定の大きさのブロック毎に、そのブロックに含まれる画素数よりも少ない色の情報を保持し、各画素においては保持されている色のうちのいずれに対応するかを示す値を保持することも考えられている。この方法によれば、各画素ごとに例えばフルカラーの色情報を保持しなくてよいため、データ量を削減することができる。この方法では、ブロックの大きさを大きくしないとデータ量の削減を図ることができない。しかし、ブロックの大きさを大きくしてしまうと、限られた色数だけでブロック内の画素を表現しなければならないため、色再現性が悪くなって画質が劣化するという問題があった。
【０００５】
【発明が解決しようとする課題】
本発明は、上述した事情に鑑みてなされたもので、少ない情報量の画像データから高解像度、高階調性を有するカラー画像の生成を少ないメモリ量によって実現することができる画像処理装置及び画像処理方法を提供することを目的とするものである。
【０００６】
【課題を解決するための手段】
本発明では、所定の解像度における複数画素を１画素に対応させたときの色情報と、その色情報の画素に対応する所定の解像度における複数画素について色情報を有する画素位置を示すタグ情報とを含む画像データから、所定の解像度のカラー画像に展開する。色情報は複数画素に１色分であるので、データ量を数分の１に削減することができる。しかしそのままでは解像度が低下してしまうため、色情報を割り当てる複数画素について、割り当てた色情報を用いる画素位置を示すタグ情報を付加しておく。これによって、例えば文字図形における形状等の情報を保持することができ、解像度を保つことができる。この場合のタグ情報は、１画素あたり１ビットでよく、データ量の増加は少ない。
【０００７】
このような画像データを受け取り、タグ情報に従って対応する色情報を配すことによって、所定の解像度のカラー画像に展開することができる。受け取った画像データでは、上述のように色情報によって高階調性を保持し、またタグ情報によって解像度が保持されているため、展開されたカラー画像は、高解像度、高階調性を有しており、美しいカラー画像を出力することができる。
【０００８】
なお、タグ情報によって色情報が割り当てられない画素の色については、周囲の画素の色から決定することができる。このとき、周囲の画素のうちいずれの画素の色を用いるかは、例えばタグ情報から決定したり、あるいは、周囲の画素のうちいずれの画素の色を用いるかを示す参照位置情報を画像データに含めておき、その参照位置情報に従って周囲の画素の色を割り当ててもよい。
【０００９】
また、このようなタグ情報を用いた展開を行う部分とその他の展開方法を適用する部分が混在していてもよく、例えば画像データにその切り替えを行うフラグ情報を含めておくことができる。特に文字図形部分では高解像度が要求されるが、写真画像部分ではそれほどの高解像度が要求されない。このような画像のタイプによって処理を切り換えることが可能である。
【００１０】
例えば描画コマンドなどを受け取って指定された画像を描画する場合がある。このような場合、高解像度が要求される文字図形においては、指定された文字図形を生成することになるが、このときに上述のような色情報とタグ情報を含む画像データを生成することができる。これによって、所定の解像度のカラー画像に展開されるまでのデータ量を削減することができる。例えば生成した文字図形の画像データをキャッシュメモリなどに登録しておき、後で再利用する場合などでも、保存するデータ量を削減し、効率を向上させることができる。
【００１１】
さらに、上述のような色情報とタグ情報を含む画像データをそれぞれの描画図形毎に受け取って、これらを描画してゆくことができる。このとき、色情報とタグ情報を含む画像データのデータ形式を変更せずに、描画処理を行ってゆくことができる。あるいは、描画処理の際に、データ形式を変更せずに描画可能か否かを判定し、データ形式を変更せずに描画処理が可能であればそのまま描画処理し、そのままでは描画できない場合には所定の解像度のカラー画像に展開してから描画処理を行うことができる。このように色情報とタグ情報を含む画像データのままで全部または一部の描画処理を行うことによって、処理すべきデータ量を削減し、高速な描画処理を行うことが可能である。また、保持している画像データのデータ量を削減することができる。
【００１２】
また、描画処理が色情報とタグ情報を含む画像データのままで行えない場合には、描画処理する際に、描画処理対象領域の保持している画像データ及び後続の画像データを所定の解像度のカラー画像に展開してから描画処理を行い、再び前記色情報及び前記タグ情報を含む画像データに変換して保持するように構成することができる。これによって、保持している画像データのデータ量を削減することができる。
【００１３】
さらにまた、上述のような色情報及びタグ情報を含む画像データを受け取り、その画像データの色情報及びタグ情報が同一の複数の画像データについては、その個数とともに１つの画像データに変換することができる。これによってさらにデータ量を削減することが可能である。
【００１４】
さらに、上述のような色情報とタグ情報を含む画像データの形式で色空間の変換処理を行うことができる。この場合、画像データ中の色情報のみに対して行えばよく、変換処理を行うデータ量を格段に減少させ、高速な処理を行うことができる。色空間変換は、例えばＲＧＢ色空間から、印刷装置などで用いられるＣＭＹＫ色空間への変換などを行うことができる。
【００１５】
このような同一の画像データの個数による圧縮と、色空間の変換処理を組み合わせ、色空間変換を行った後のそれぞれの色成分毎に、その色成分の色情報と同一の画像データの個数を対応付けた画像データに変換することもできる。例えば色成分毎に画像データを扱う場合などでは高速に画像データを取り扱うことができる。
【００１６】
【発明の実施の形態】
図１は、本発明の画像処理装置及び画像処理方法の実施の一形態を示すブロック図である。図中、１はコマンド解析部、２は文字図形生成部、３はフォントメモリ、４は変換部、５はフォントキャッシュ、６はベクタ図形描画部、７はラスタ画像処理部、８は画像展開部である。この例では、ＰＤＬ（プリント記述言語）等で記述された描画コマンドを受け取り、所定の解像度のビットマップデータからなるカラー画像を出力する場合について示している。
【００１７】
コマンド解析部１は、入力された描画コマンドを受け付け、描画コマンドに従って、例えば文字図形の描画が指示された場合には文字図形生成部２に、ベクタ図形の描画が指示された場合にはベクタ図形描画部６に、写真などのラスタ画像の描画が指示された場合にはラスタ画像処理部７に、それぞれ描画コマンドによる指示を渡す。また、描画コマンドとしてはこのような描画する命令以外にも各種の設定コマンドなどがあり、これらの処理についても行う。
【００１８】
文字図形生成部２は、コマンド解析部１から渡される文字図形の描画命令に従い、指定された文字図形をビットマップデータとして生成する。フォントメモリ３には各文字図形に対応したフォントが格納されており、このフォントメモリ３からフォントを取り出して、指定された文字図形のビットマップデータを生成することができる。生成するビットマップデータの解像度は、画像展開部８から出力されるカラー画像の解像度である。なお、指定された文字図形がフォントキャッシュ５に登録されている場合には、登録されている文字図形の画像データを使用するものとして変換部４に指示する。
【００１９】
変換部４は、文字図形生成部２で生成された文字図形のビットマップデータを、複数画素について１色の色情報と、その色情報に対応する複数画素について、色情報に対応する画素位置を示すタグ情報とを含む画像データに変換する。これによって、ビットマップデータはまとめる画素数分の１の解像度のデータとなり、それぞれについてタグ情報が付加された画像データとなる。なお、この画像データについては後述する。変換した画像データは、その文字図形と対応付けてフォントキャッシュ５に登録しておく。また、文字図形生成部２からフォントキャッシュ５に登録されている図形データを利用する旨の指示を受けた場合には、フォントキャッシュ５内に登録されている文字図形の画像データを取り出し、変換後の画像データとして出力する。
【００２０】
フォントキャッシュ５は、変換部４において変換処理された画像データを、その画像データの文字図形に対応付けて一時的に保持しておく。これによって、同じ文字図形を描画する際には、このフォントキャッシュ５に登録されている画像データを利用可能にし、文字図形のビットマップデータの生成及び画像データへの変換処理を省略して描画処理を高速化することができる。また、変換部４で変換後の画像データを保持することによって、保持するデータ量を削減することができ、登録可能な文字図形数を増加させて処理の効率化を図ることができる。
【００２１】
ベクタ図形描画部６は、コマンド解析部１から渡されるベクタ図形の描画命令に従い、指定された図形の描画処理を行う。このベクタ図形描画部６で生成されるベクタ図形の描画データについても、例えば文字図形と同様に、描画データの複数画素について１色の色情報と、その色情報に対応する複数画素について、色情報に対応する画素位置を示すタグ情報とを含む画像データとすることができる。あるいは、エッジリストなどの中間言語データとして出力されてもよい。
【００２２】
ラスタ画像処理部７は、コマンド解析部１から渡されるラスタ画像の描画命令に従って、ラスタ画像に対する処理を行う。通常、ラスタ画像自体は外部より送られてくるため、文字図形やベクタ図形などのように図形の生成処理は行わなくてよい。また、例えば写真などのラスタ画像では、それほどの解像度が要求されないので、入力されるラスタ画像の解像度は、例えば画像展開部８から出力されるカラー画像の解像度よりも低い解像度でよい。このラスタ画像を描画する領域については、画像展開部８に対して、タグ情報を用いた展開を行わない旨のフラグ情報を付加しておくとよい。
【００２３】
画像展開部８は、変換部４から送られてくる文字図形の画像データ、ベクタ図形描画部６から送られてくるベクタ図形の画像データ、ラスタ画像処理部７から送られてくるラスタ画像から、出力解像度のカラー画像への展開処理を行う。例えば文字図形やベクタ図形の画像データが、上述のように複数画素について１色の色情報と、その色情報に対応する複数画素について、色情報に対応する画素位置を示すタグ情報とを含む画像データである場合には、タグ情報を用い、タグ情報によって指示されている画素については色情報を配置する。また、タグ情報によって指示されていない画素については、例えばそのままとしたり、あるいは周囲の画素から色を決定する。あるいは、変換部４やベクタ図形描画部６において画像データに変換する際に、タグ情報によって指示されていない画素について、周囲のいずれの画素の色とするかを示す参照位置情報を付加しておき、その参照位置情報に従って色を決定することができる。なお、ベクタ図形の描画データとしてエッジリストなどの中間言語データが渡される場合には、その中間言語データに従った塗りつぶし処理を行い、出力解像度のカラー画像を生成する。さらに、ラスタ画像については、例えば従来より行われているような、例えば補間処理などによって出力解像度のカラー画像を生成すればよい。これらの文字図形、ベクタ図形、ラスタ画像等は、１ページ中に混在することも多く、この例では画像展開部８においてこれらを合成している。しかしこれに限らず、例えば予め中間言語データとして合成しておき、その後に画像展開部８において出力解像度のカラー画像へ展開してもよい。
【００２４】
なお、図１にはＰＤＬなどの描画コマンドが入力されて出力解像度のカラー画像を出力する例を示したが、これに限らない。例えばエッジリスト形式の中間言語データが入力される構成でもよい。あるいは、例えば複数画素を１画素に対応させたときの色情報と、その色情報の画素に対応する複数画素について色情報を有する画素位置を示すタグ情報とを含む画像データが入力され、画像展開部８で出力解像度のカラー画像に展開する構成などでもよい。
【００２５】
次に、上述の色情報及びタグ情報を含む画像データについて、具体例を用いながら説明する。図２は、本発明において画像データに含める情報の一例の説明図である。上述のように、カラー画像を表現するための色情報として、例えばＲＧＢ各色８ビットの情報を有するとすると、１画素あたり２４ビットの情報が必要となる。解像度が６００ｄｐｉの場合、Ａ４サイズの画像でデータ量は９６Ｍバイトにも達する。しかしながら隣接する複数画素において色情報がすべて異なるような画像はそれほど多く存在しない。例えば文字図形などにおいては、文字色と背景色が存在する程度である。このことに着目し、本発明では、複数画素について１色の色情報を割り当てる。例えば図２（Ａ）に示すビットマップデータにおいて、図２（Ｂ）に示すように４画素毎に１色の色情報を割り当てるとすれば、データ量は１／４に減少する。例えば６００ｄｐｉの画像では、色情報により構成される画像データは３００ｄｐｉ相当の画像データとなる。
【００２６】
しかし、そのままでは解像度が低下してしまい、例えば文字図形などにおいては画質が低下する。文字図形部分などのような高画質が要求される部分における画質の低下を防止するため、本発明では、色情報を割り当てる複数画素について、割り当てた色を配置する画素をタグ情報として付加する。例えば上述のように４画素に１色の色情報を割り当てる場合、その色情報を割り当てる４画素、例えば図２（Ｃ）に示すａ，ｂ，ｃ，ｄの４つの画素について、割り当てた色を用いるか否かを示すタグ情報（図２（Ｄ）参照）を付加する。例えば割り当てた色をａ，ｂ，ｃの画素に割り当てるのであれば、画素ａ，ｂ，ｃに対応するタグ情報を例えば‘１’とし、画素ｄに対応するタグ情報を例えば‘０’にしておく。このようなタグ情報によって、描画する図形、例えば文字図形などの形状に関する情報を保持することができる。
【００２７】
このようにして、４画素９６ビット（＝２４ビット×４画素）の情報は、２４ビットの色情報と４ビットのタグ情報を含む２８ビットの画像データで表現することができる。例えば６００ｄｐｉの文字図形画像であれば、３００ｄｐｉ相当の色情報と、それぞれの色情報に付加されたタグ情報によって画像データを構成することができる。このように、図２に示す例では色情報を割り当てた画像データとしては低解像度であるものの、タグ情報によって色情報に対応する複数画素についての情報を保持させ、データ量の削減を図っている。
【００２８】
なお、図２に示す例では４画素毎に１つの色情報を割り当てているが、いくつの画素に対して色情報を割り当てるかは任意であり、色情報を割り当てる複数画素の領域形状も図２に示すような形状に限られるものではない。
【００２９】
このような画像データから画像展開部８において出力解像度のカラー画像に展開する際には、例えば図２に示す例では、１つの色情報に対して４画素を用意し、その４画素のうち、タグ情報で示された画素、例えばタグ情報が‘１’の画素について、色情報が示す色を割り当てればよい。このような処理をすべての色情報について行うことによって、色情報を割り当てた出力解像度の１／４の解像度を有する画像データは、出力解像度のカラー画像に展開される。例えば上述の例のように、解像度３００ｄｐｉ相当の色情報と、その色情報に付加されたタグ情報によって、解像度６００ｄｐｉのカラー画像を再現することができる。
【００３０】
ここで、タグ情報によって色情報を割り当てなかった画素については、割り当てる色情報を有していない。例えば文字図形などを描画する際には、背景色は白（用紙の色）であることが多く、その場合にはこのままでも問題なくカラー画像を出力することができる。
【００３１】
しかし、背景色の上に文字図形を描画した場合など、背景が着色されている場合には、上述のようにタグ情報が色情報を指示していない画素については白抜けを起こすなど、画質劣化が生じる可能性がある。このような問題を解決する一つの方法として、タグ情報によって色情報を割り当てなかった画素の色を、周囲の画素の色から決定することができる。多くの場合、１画素のみについて色が異なることはほとんどないし、そのような画素が存在していても分からない場合が多い。そのため、色情報を割り当てられなかった画素については、周囲の画素の色で代用できるものと仮定しても問題ない。
【００３２】
図３は、タグ情報によって色情報が選択されない画素についての周辺画素による色決定の一例の説明図である。例えば図３（Ａ）において、中央の４画素のうち左上のハッチングを施した画素についてタグ情報により色情報が割り当てられなかった場合、その左上の画素の色（ここでは同じハッチングを施した４画素に割り当てられた色情報）を割り当てるとよい。また、図３（Ｂ）や（Ｃ）に示すように、タグ情報によって色情報が選択されなかった画素が２画素あり、並んでいる場合には、その２画素に隣接している画素の色（ここでは同じハッチングを施した４画素に割り当てられた色情報）を割り当てるとよい。なお、２画素についてタグ情報によって色情報が選択されなかった場合として、対角線上に２画素が並ぶことがあるが、その場合には、それぞれの画素について図３（Ａ）の例を適用すればよい。さらに、図３（Ｄ）に示す例は、タグ情報によって色情報が選択されなかった画素が３画素存在する場合を示しており、隣接する３画素のうちの中央の画素の斜め方向に存在する周辺画素の色（同様に４画素に割り当てられた色情報）を割り当てるとよい。
【００３３】
これらの例は、それぞれ、タグ情報により色情報が割り当てられなかった画素について、同じ色を有していると思われる隣接する画素の色を適用するようにしたものである。しかしこの例に限らず、適用する色を決定することも可能である。例えば図３（Ａ）に示す例において、左または上に隣接する色情報を適用してもよい。また図３（Ｄ）に示す例では、タグ情報により色情報が割り当てられなかった３画素について、左、左上、上の色情報をそれぞれ適用するといったことも可能である。
【００３４】
このようにして、タグ情報によって色情報が割り当てられなかった画素について、周囲の画素の色（周囲の４画素毎の色情報）から自動的に色を決定することができる。そのため、色情報を多く持つ必要がなく、画像データのデータ量を低減することができる。
【００３５】
上述のようにして、タグ情報によって色情報が割り当てられなかった画素について自動的に色を決定した場合、精度が十分でない可能性がある。色を決定する精度を向上させるため、例えば予め参照する周囲の画素を指定しておくことが考えられる。このように、タグ情報によって色情報が割り当てられなかった画素について色を決定する際に参照する周囲画素を指定する情報として、参照位置情報を画像データ中に含めることができる。図４は、参照位置情報の一例の説明図である。例えば図４（Ａ）に示すように中央の４画素のうち右上の画素について、タグ情報によって色情報が割り当てられなかったとする。図３（Ａ）に示した方法によれば、周囲の‘２’と示した画素の色情報を選択することになるが、例えば周囲の‘４’と示した画素の色情報を割り当てたいとする。このような場合、図４（Ｂ）に示すように、参照位置情報として‘４’を画像データに付加しておく。そして画像展開部８において展開処理を行う際に、タグ情報によって色情報が割り当てられなかった画素については、参照位置情報によって指示されている周囲の画素の色（４画素毎に割り当てられている色情報）を割り当てるようにすることができる。これによって、自動的に色を割り当てるよりも精度よく色を決定することができる。
【００３６】
なお、参照する隣接位置の画素としては、図４（Ａ）に‘０’〜‘７’で示すように８方向存在する。そのため、参照位置情報は１つの色情報（ここでは４画素）あたり３ビットが必要となる。しかし、色情報及びタグ情報と、この参照位置情報を含めても３１ビットであり、４画素とも色情報を持つ場合（９６ビット）に比べてデータ量は格段に少ない。
【００３７】
上述の図４に示した例では、タグ情報によって色情報が割り当てられなかった画素が１画素のみの場合について示しているが、タグ情報によって色情報が割り当てられなかった画素が複数画素の場合についても、共通した参照位置情報を用いて周囲の画素の色を割り当てることができる。
【００３８】
タグ情報によって色情報が割り当てられなかった複数の画素に対して、さらに精度よく色を割り当てるため、タグ情報によって色情報が割り当てられなかった各画素について、それぞれ参照位置情報を持つように画像データを構成することもできる。図５は、参照位置情報の別の例の説明図である。図５（Ａ）における中央の４画素のうち、異なるハッチングを施した２つの画素がタグ情報によって色情報が割り当てられなかった画素であるとする。この場合、図５（Ｂ）に示すように、２つの画素に対してそれぞれ参照位置情報を対応付けておく。この例では、４画素のうち左上の画素についてはその左上の‘０’の方向に存在する色情報を割り当てることを示している。また、４画素のうち右下の画素についてはその右側の‘４’の方向に存在する色情報を割り当てることを示している。
【００３９】
このようにタグ情報によって色情報が割り当てられなかった各画素に対して参照位置情報を対応付けておけば、それぞれ異なる色を割り当てるなど、最適な色を割り当てることが可能になり、精度よく色を決定することができる。
【００４０】
上述のようにタグ情報によって色情報が割り当てられなかったそれぞれの画素に対して参照位置情報を付加する場合、３つの参照位置情報を付加しなければならない場合が生じる。しかしその場合でも、参照位置情報は３ビット×３＝９ビットあればよく、色情報及びタグ情報とともに３７ビットあればよい。さらに、タグ情報によって色情報が割り当てられない画素の位置と、参照位置情報とを対応付ける処理を簡単化するため、４画素すべてに対して参照位置情報のフィールドを設けておくこともできる。この場合でも、色情報、タグ情報、参照位置情報で４０ビットあればよく、４画素とも色情報を持つ場合（９６ビット）に比べてデータ量は半分以下である。
【００４１】
なお、上述のように色情報とタグ情報、あるいはさらに参照位置情報を含んだ画像データは、文字図形やベクタ図形などについては解像度を落とさずにデータ量を減少させることができる。しかし写真などのラスタ画像や、背景の一様な画像などに対しては、上述のような解像度を保持する必要性はあまりない。例えば写真などのラスタ画像では、階調性が十分であり、ある程度以上の解像度があれば、解像度を変えても見た目には画質は変わらなくなる。そのため、ラスタ画像については高解像度のデータは必要なく、上述のようにタグ情報を付加しておいて展開するといった解像度を保持するための処理は不要であり、従来から行われているような補間処理などによって出力解像度に合わせる処理を行うだけでよい。
【００４２】
このように、描画する対象によってタグ情報を用いた展開処理と、従来から行われている処理とを切り換えることが望ましい。そのような処理の切り替えのため、フラグ情報を有しているとよい。例えば上述のように色情報とタグ情報、あるいはさらに参照位置情報を含んだ画像データでは、その画像データのオブジェクトあるいは色情報単位でフラグ情報を付加しておくことができる。またラスタ画像についても、ラスタ画像単位、あるいはラスタ画像中の画素単位でフラグ情報を付加しておくことができる。
【００４３】
画像展開部８は、このようなフラグ情報を参照し、フラグ情報がタグ情報を用いた展開を指示している場合には、上述のように色情報とタグ情報、あるいはさらに参照位置情報を含んだ画像データからの展開処理を行えばよい。また、フラグ情報がタグ情報を用いない旨を指示している場合には、例えば従来から行われている展開処理を行ったり、あるいは、解像度によってはそのまま出力することができる。
【００４４】
なお、上述の図２〜図５における説明では、４画素毎に１色の色情報を割り当てる例を示した。しかし本発明はこれに限られるものではなく、２画素以上の任意の画素数ごとに１色の色情報を割り当て、その色情報を割り当てた画素数分のビットを有するタグ情報を付加すればよい。
【００４５】
また、例えば文字図形や、ベクタ図形においては、黒の利用率が非常に高い。これを利用し、例えば色が黒であれば色情報として黒である旨の例えば１ビット程度の情報のみを持つように構成することも可能である。これによって、さらにデータ量を削減することが可能である。
【００４６】
さらに、図１に示した例では、ＰＤＬ等によって記述された描画コマンドを受け取って、出力解像度のカラー画像を出力する例を示した。しかしこれに限らず、入力は任意のデータでよい。もちろん、上述のような色情報とタグ情報、もしくはさらに参照位置情報やフラグ情報を有した画像データが直接入力されてもよく、その場合には画像展開部８が備えられていればよい。
【００４７】
上述のように色情報とタグ情報を含む画像データを用いることによって、データ量を削減することができるが、このような画像データをランレングス圧縮することによってさらにデータ量を削減することも可能である。図６は、ランレングス圧縮処理の一例の説明図である。例えば図６（Ａ）に示すような２走査ライン分の画像が描画されるとき、上述のような色情報とタグ情報で示すことによって図６（Ｂ）に示すような画像データが得られる。なお図６では着色部分をハッチングによって示している。この例ではタグ情報はいずれも、すべての位置で色情報を用いる情報が付加されることになる。
【００４８】
図６（Ｂ）を参照して分かるように、同じタグ情報及び色情報の画像データが４つ連続している。この４つの画像データを、連続数を示す「４」と１つの画像データによって示すことができる。また、その後の２つの画像データについてもタグ情報及び色情報が同じである。従って連続数を示す「２」と１つの画像データで示すことができる。
【００４９】
例えばハッチングを施した部分の色情報が（Ｒ，Ｇ，Ｂ）＝（０ｘｆｆ，０ｘ００，０ｘ００）、ハッチングを施していない部分の色情報が（Ｒ，Ｇ，Ｂ）＝（０ｘｆｆ，０ｘｆｆ，０ｘｆｆ）であるとし、またタグ情報を含むその他の部分の情報がＴ＝（０ｘ００）であるとして、画像データをＴＲＧＢで表すとき、前半の４つの画像データはいずれも（０ｘ００ｆｆ００００）で表すことができる。なお、‘０ｘ’は１６進数を示している。また後半の２つの画像データは（０ｘ００ｆｆｆｆｆｆ）で表すことができる。すなわち、図６（Ｂ）に示したタグ情報及び色情報を含む画像データは図６（Ｃ）のように示すことができる。なお、図６（Ｃ）に示すデータは１６進数で示している。
【００５０】
これらを、それぞれ連続数を用いてランレングス圧縮すると、図６（Ｄ）に示すように、前半の４つの画像データについては連続数として０ｘ０００４、画像データとして０ｘ００ｆｆ００００のみとなり、１６バイトのデータは６バイトのデータとなる。同様に後半の２つの画像データについては連続数として０ｘ０００２，画像データとして０ｘ００ｆｆｆｆｆｆのみとなり、８バイトのデータは６バイトのデータとなる。なお、図６（Ｄ）に示すデータについても１６進のデータである。
【００５１】
このようにして、色情報とタグ情報を含む画像データを、ランレングス圧縮することによってさらにデータ量を削減することができる。なお、連続数のデータ長は任意であり、図６に示した例のように２バイトデータに限られるものではない。
【００５２】
上述のような色情報とタグ情報を含んだ画像データは、そのデータ形式において各種の処理を行うことが可能である。以下、いくつかの例について示す。図１にも示したように、描画コマンドを受け取って、その描画コマンドが示す図形を画像展開部８で展開する際には、文字図形生成部２及び変換部４で変換された文字図形と、ベクタ図形描画部６で処理されたベクタ図形と、ラスタ画像処理部７で処理されたラスタ画像などを１つの画像として描画してゆく処理が行われる。従来は出力解像度の画像において各文字や図形などの描画を行っていたため、大容量の描画メモリを必要としており、これを一時的に格納する際には改めて圧縮処理を行っていた。本発明では、可能であれば色情報とタグ情報を含んだ画像データのデータ形式のままで描画処理を行うことができる。これによって、描画メモリの容量を低減することができるとともに処理を高速化することができ、また、一時的に格納しておく場合でも、データ量が少ないのでそのまま格納すればよい。
【００５３】
図７は、本発明の画像処理装置及び画像処理方法の実施の一形態における描画処理時の動作の一例を示すフローチャートである。Ｓ１１において、例えば１バンド分や１ページ分などの所定単位の描画オブジェクトが終了したか否かを判定し、描画すべきオブジェクトが存在すればＳ１２に進む。Ｓ１２において、描画すべきオブジェクトを示す描画コマンドをコマンド解析部１が取得して解析し、描画オブジェクトに応じて、文字図形生成部２，ベクタ図形描画部６，ラスタ図形処理部７のいずれかに対して描画の指示を送る。
【００５４】
描画の指示を受けた文字図形生成部２（及び変換部４），ベクタ図形描画部６，ラスタ図形処理部７は、Ｓ１３において、指示に従ってオブジェクトの描画処理を行い、上述のように色情報とタグ情報を含んだ画像データとして画像展開部８に渡す。そしてＳ１４において、画像展開部８は、変換部４，ベクタ図形描画部６，ラスタ図形処理部７から渡される画像データを１つの画像として描画してゆく。このとき、それまで描画した画像データに後続の画像データを合成してゆくことになるが、双方とも色情報とタグ情報を含んだ画像データのデータ形式のままで行うことができる。
【００５５】
所定単位の描画オブジェクトに対する描画処理が終了したら、Ｓ１５において、所定単位の画像データを出力する。出力の際に、例えば出力先がプリンタなどであればプリンタの解像度に応じたラスタ画像に展開して出力する。もちろん、ファイルに書き出すことも可能である。
【００５６】
図７に示した描画処理の一例についてさらに説明する。図８は、描画オブジェクトの具体例を用いた描画処理の一例の説明図である。ここでは一例として、描画するベクトルを示すＰａｔｈ命令で指定された領域を、ＲＧＢで指定された色で塗り潰しを行う描画コマンドが入力された場合について示している。まず、コマンド解析部１は描画コマンドを解析し、上述のＰａｔｈ命令と塗り潰し命令である場合に、指定されたＰａｔｈ命令で示される領域を複数の台形に分解し、それぞれの台形毎の中間コードを生成する。この中間コードの生成は、例えば１ページ分等の単位で生成して、中間コード保持部などに格納しておくことができる。
【００５７】
中間コードの生成が完了すると、ここではベクタ図形の描画であるので、ベクタ図形描画部６か中間コードを取り出し、ベクタ図形を生成する。
【００５８】
例えば図８（Ａ）に示すような台形を描画するものとする。このとき、描画する台形の開始Ｙ座標、終了Ｙ座標、左右の傾き情報から、各１走査ライン毎の開始Ｘ座標、終了Ｘ座標を求める。ここで、図２で例示したように２×２画素ごとに画像データを生成する場合、台形の塗りつぶし領域を２ラインごとに求めて行くものとすると、２走査ライン分の開始・終了Ｘ座標を求める。図８（Ａ）では太線で示した間の２走査ラインについて参照するものとし、開始Ｘ座標及び終了Ｘ座標の間の塗りつぶし領域を矢線によって示している。なお、参照する２走査ラインは、画像展開部８で描画する際の走査ラインと一致させておくことが好ましい。
【００５９】
そして、この情報から、２×２画素毎に形状情報を生成し、あらかじめ指定された色のＲＧＢ値と合わせて、上述のような画像データを生成する。図８（Ａ）において太線で挟まれた２走査ラインについて生成した画像データを図８（Ｂ）に示している。なお画素位置を示すタグ情報は２×２のマス目を塗りつぶすことによって示している。このほかに参照位置情報を画像データに含めてもよい。このようにして生成された画像データが画像展開部８に送られる。
【００６０】
画像展開部８では、ベクタ図形描画部６から送られてきた図８（Ｂ）に示すような画像データを受け取ると、例えば１バンド分や１ページ分の画像データに上書き描画する。なにも描画されていない領域に受け取った画像データを描画する場合には、背景部分は図８（Ｃ）に示すように白地のままであるので、この画像データを受け取った画像データで置き換えれば（上書きすれば）、それで描画処理は終了する。処理結果は図８（Ｄ）に示すようになる。
【００６１】
しかし、既に描画されている図形や文字が存在する場合、その上に描画する際には形状情報及び色情報の更新が必要となる。図９は、画像データの上書き処理の一例を示すフローチャートである。Ｓ２１において、変換部４やベクタ図形描画部６，ラスタ画像処理部７などから画像データを受け取り、またＳ２２において、描画先の画像データを取得する。そしてＳ２３において、描画する画像データと描画先の画像データの色情報を比較し、異なる場合にはＳ２５においてＳ２１で取得した描画する画像データを上書きし、その画像データについての処理を終える。
【００６２】
また描画する画像データと描画先の画像データの色情報が同じである場合には、Ｓ２４において、両者の画像データのタグ情報の論理和（あるいは論理積）を取り、新たに画像データを生成する。新たな画像データの色情報はそのままでよい。また、画像データに参照位置情報が含まれている場合には、いずれかを選択したり、あるいは両者から新たな参照位置情報を生成してもよい。そして、このようにして新たに生成した画像データを、Ｓ２５において上書きして、受け取った描画する画像データに対する処理を終える。
【００６３】
このような描画処理によって、既に描画されている図形に別の図形を上書きする場合でも、ある程度正常な描画結果を得ることができる。
【００６４】
図１０、図１１は、画像データの上書き処理の具体例の説明図である。上述の図９に示した画像データの上書き処理を、具体例を用いて説明する。図１０には色情報が異なる場合の具体例を示し、図１１には色情報が同じ場合の具体例を示している。いずれの例も、それまでに図１０（Ａ）、図１１（Ａ）に示すような画像が描画されており、その中央部の２×２画素に対応する画像データを図１０（Ｄ）、図１１（Ｄ）に示している。なお、この具体例では参照位置情報も画像データに含まれているものとして、参照位置情報を矢線によって示している。また、色情報は、ハッチングを異ならせることによって色の相違を示している。
【００６５】
まず、図１０（Ａ）に示すような描画途中の画像に対して、図１０（Ｂ）に示すような２×２画素に対応する画像データを描画する場合を考える。描画する画像データとして、図１０（Ｅ）に示すようなタグ情報、色情報、参照位置情報を含む画像データを受け取ったとする。この時、描画先の画像データ（図１０（Ｄ））の色情報と描画する画像データ（図１０（Ｅ））の色情報とは異なる。この場合には、図１０（Ｄ）に示す画像データに図１０（Ｅ）に示す画像データを上書きする。これによって画像データは図１０（Ｆ）のようになり、画像としては図１０（Ｃ）に示すような画像が得られたことになる。この描画結果は、図１０（Ａ）に示す画像に図１０（Ｂ）に示す画像を上書きした結果と一致しており、良好に描画処理が行えたことが分かる。
【００６６】
次に図１１（Ａ）に示すような描画途中の画像に対して、図１１（Ｂ）に示すような２×２画素に対応する画像データを描画する場合を考える。描画する画像データとして、図１１（Ｅ）に示すようなタグ情報、色情報、参照位置情報を含む画像データを受け取ったとする。この時、描画先の画像データ（図１１（Ｄ））の色情報と描画する画像データ（図１１（Ｅ））の色情報とは一致する。この場合には、図１１（Ｄ）に示す画像データのタグ情報と図１１（Ｅ）に示す画像データのタグ情報の論理和をとり、図１１（Ｆ）に示す画像データを生成する。そしてこの画像データを図１１（Ｄ）に示す画像データに上書きする。これによって画像としては図１１（Ｃ）に示すような画像が得られたことになる。この描画結果は、図１１（Ａ）に示す画像に図１１（Ｂ）に示す画像を上書きした結果と一致しており、良好に描画処理が行えたことが分かる。
【００６７】
上述のようにして、色情報及びタグ情報を含む画像データのままで描画処理を行うことができる。これによって、扱うデータ量が格段に減少し、処理の高速化及び画像データを格納するメモリ量の削減を図ることができる。
【００６８】
なお、描画コマンドや条件によっては、上述のように色情報及びタグ情報を含む画像データのままで描画処理を行うことが不可能な場合が存在する。例えば、ＲＯＰ（Ｒａｓｔｅｒ  ＯＰｅｒａｔｉｏｎ）処理でデスティネーション画像の色を参照するような場合には、デスティネーション画像における複数画素をまとめた１画素の情報と、描画する１画素の情報を合成することが困難である。このように描画コマンドや条件によって色情報及びタグ情報を含む画像データのままで描画処理を行うことが不可能な場合があるときの動作について説明しておく。
【００６９】
図１２は、本発明の画像処理装置及び画像処理方法の実施の一形態における描画処理時の動作の別の例を示すフローチャートである。Ｓ３１において、例えば１バンド分や１ページ分などの所定単位の描画オブジェクトが終了したか否かを判定し、描画すべきオブジェクトが存在すればＳ３２に進む。Ｓ３２において、描画すべきオブジェクトを示す描画コマンドをコマンド解析部１が取得して解析し、描画オブジェクトに応じて、文字図形生成部２，ベクタ図形描画部６，ラスタ図形処理部７のいずれかに対して描画の指示を送る。このとき、Ｓ３３において、描画コマンドや条件などに基づいて、色情報及びタグ情報を含む画像データのままで描画処理を行うことが可能か否かを判断する。
【００７０】
色情報及びタグ情報を含む画像データのままで描画処理を行うことが可能である場合、描画の指示を受けた文字図形生成部２（及び変換部４），ベクタ図形描画部６，ラスタ図形処理部７は、Ｓ３４において、指示に従ってオブジェクトの描画処理を行い、上述のように色情報とタグ情報を含んだ画像データとして画像展開部８に渡す。そしてＳ３５において、画像展開部８は、変換部４，ベクタ図形描画部６，ラスタ図形処理部７から渡される画像データを１つの画像として描画してゆく。このとき、それまで描画した画像データに後続の画像データを合成してゆくことになるが、双方とも色情報とタグ情報を含んだ画像データのデータ形式のままで行うことができる。
【００７１】
一方、色情報及びタグ情報を含む画像データのままで描画処理を行うことが不可能な場合には、描画の指示を受けた文字図形生成部２（及び変換部４），ベクタ図形描画部６，ラスタ図形処理部７は、Ｓ３６において、指示に従ってオブジェクトの描画処理を行い、この場合には出力解像度の画像に展開して画像展開部８に渡す。画像展開部８では、Ｓ３７において、描画先の描画領域内の画像データを出力解像度の画像に展開し、Ｓ３８において通常の描画処理を行う。そしてＳ３９において、色情報及びタグ情報を含む画像データに変換して描画結果として描画領域に書き込む。
【００７２】
所定単位の描画オブジェクトに対する描画処理が終了したら、Ｓ４０において、所定単位の画像データを出力する。出力の際に、例えば出力先がプリンタなどであればプリンタの解像度に応じたラスタ画像に展開して出力する。もちろん、ファイルに書き出すことも可能である。
【００７３】
このように、描画コマンドや条件によって色情報及びタグ情報を含む画像データのままで描画処理を行うことが不可能な場合があるときには、描画領域ごとに上述のように色情報及びタグ情報を含む画像データのままで描画処理を行うことが可能か否かを判定する。そして、可能である場合には上述のようにして画像データのままで描画処理を行う。また色情報及びタグ情報を含む画像データのままで描画処理を行うことが不可能である場合には、展開された画像において通常の描画処理を行い、描画領域に対する描画が完成した後に色情報及びタグ情報を含む画像データに変換する。このように、色情報及びタグ情報を含む画像データのままで描画処理を行うことが可能であるか否かによって描画処理を動的に切り替えることによって、正確な圧縮画像生成を行う。また、出力解像度の画像への展開も描画される領域程度の範囲でよく、高速な処理が可能である。
【００７４】
なお、描画処理は通常の処理を行い、処理結果については色情報及びタグ情報を含む画像データに変換して格納するといったことも考えられる。この場合でも、描画した画像データを格納しておくメモリ容量を削減することができるという利点がある。
【００７５】
上述のような色情報とタグ情報を含んだ画像データを利用した処理の別の例として、色空間変換処理について説明する。色空間変換処理は、例えばＲＧＢ色空間の色情報をプリンタなどで用いるＣＭＹＫ色空間の色情報へ変換するなど、異なる色空間の間の色情報の変換を行うものである。基本的には、上述のような色情報とタグ情報を含んだ画像データの場合、色情報に対してのみ色空間変換処理を行えばよい。従って、出力解像度の画像に対して色空間変換処理を行う場合に比べて数分の１の処理時間で色空間変換処理を行うことができる。
【００７６】
上述の例のようにプリンタなどに出力する場合、ＣＭＹＫ色空間の画像としては、Ｃ，Ｍ，Ｙ，Ｋのそれぞれの色成分毎の画像（プレーン）を作成する場合が多い。この場合、従来は受け取ったＲＧＢ色空間の描画データからＣ，Ｍ，Ｙ，Ｋのそれぞれの画像を１色ずつ順に作成していた。しかし、このような処理では描画処理を４回繰り返すため時間がかかる。そのため、ＲＧＢ色空間で描画処理を行い、その後にＣＭＹＫ色空間への変換を行うことも考えられている。これによって描画処理は１回で済み、描画処理時間は短縮される。しかしその場合には、描画された画像全体について１画素ずつ色空間変換処理を行ってそれぞれの色成分の画像を生成しなければならない。この色空間変換処理をハードウェアで行う場合には変換時間を気にする必要はないが、タンデムと呼ばれる４色同時出力の印刷装置ではＣＭＹＫデータを同時に４色分出力する必要があり、これらの画像を転送するためのバスの性能上の問題が発生することがある。これらを避けるためにあらかじめＣＭＹＫの各色成分毎の画像に分解したデータをソフトウェアで生成することが考えられる。しかし、すべての画素をＲＧＢ色空間からＣＭＹＫ色空間に変換しようとするとかなりの処理時間が必要となってしまう。
【００７７】
これに対して上述のような色情報とタグ情報を含んだ画像データを利用することによって、データ量が削減されるため色空間変換処理を行っても処理時間の増大を防ぐことが可能であり、高速に処理を行うことができる。
【００７８】
さらに、上述のように色情報とタグ情報を含んだ画像データをランレングス圧縮することを考えると、さらに大幅に色空間変換処理を行うデータ量を削減して高速化を図ることが可能である。ここでは色空間変換処理とランレングス圧縮処理を組み合わせて行う例を示す。
【００７９】
図１３は、本発明の画像処理装置及び画像処理方法の実施の一形態における色空間変換処理及びランレングス圧縮処理の動作の一例を示すフローチャートである。ここでは一例として、ＲＧＢ色空間の色情報をＣＭＹＫ色空間の色情報に変換し、それぞれの色成分毎の画像を生成するものとして示している。そのために、Ｓ５１において、予め色空間変換後のＣ，Ｍ，Ｙ，Ｋのそれぞれの画像を書き込むためのプレーン領域を確保しておく。
【００８０】
Ｓ５２において、最初の画像データを読み込み、Ｓ５３において、連続数を示す変数Ｌｅｎを１に初期化する。Ｓ５４において次の画像データを読み込み、Ｓ５５において、前に読み込んだ画像データとＳ５４で読み込んだ次の画像データを比較する。もし、タグ情報及び色情報が一致していれば、Ｓ５６において連続数を示す変数Ｌｅｎに１を加えてＳ５４へ戻り、次の画像データの読み込みを行う。このようにして画像データが一致している間、変数Ｌｅｎに１が加算され、連続数が変数Ｌｅｎに格納される。
【００８１】
Ｓ５４で読み込んだ画像データが前の画像データと異なる場合には、それまでの画像データについて色空間変換処理及びランレングス圧縮処理を行う。すなわち、Ｓ５７において、前の画像データのＲＧＢ色空間における色情報をＣＭＹＫ色空間の色情報に変換する。そしてＳ５８において、変数Ｌｅｎの値と、タグ情報Ｔ、それに色空間変換処理後のＣ成分を色情報としてＣ成分のプレーンに書き込む。同様に、Ｓ５９において、変数Ｌｅｎの値とタグ情報Ｔと色空間変換処理後のＭ成分をＭ成分のプレーンに書き込み、Ｓ６０において、変数Ｌｅｎの値とタグ情報Ｔと色空間変換処理後のＹ成分をＹ成分のプレーンに書き込み、Ｓ６１において、変数Ｌｅｎの値とタグ情報Ｔと色空間変換処理後のＫ成分をＫ成分のプレーンに書き込む。
【００８２】
Ｓ６２において１バンドや１ページなど、所定単位の処理が完了したか否かを判定し、所定単位の処理が終了していなければＳ５３へ戻って変数Ｌｅｎを１に初期化して続く同一の画像データの計数を行う。このようにして所定単位の処理が完了したら、この色変換処理及びランレングス圧縮処理を終了する。
【００８３】
このように、同一の画像データが連続している場合には、そのうちの１つについてのみ色空間変換処理を行い、連続数とともに各色成分のプレーンに書き込む。そのため、色空間変換処理量は大幅に減少し、高速な処理が可能である。また、ランレングス圧縮も同時に行うので、各色成分のプレーンに書き込まれるデータ量も少なく、メモリ量を削減することができる。
【００８４】
図１４は、本発明の画像処理装置及び画像処理方法の実施の一形態における色空間変換処理及びランレングス圧縮処理の動作の具体例の説明図である。ここでは上述の図６に示した例を用い、色空間変換処理を含めて説明してゆく。図６（Ａ）と同じ描画される画像を図１４（Ａ）に示している。例えばハッチングを施した部分の色情報が（Ｒ，Ｇ，Ｂ）＝（０ｘｆｆ，０ｘ００，０ｘ００）、ハッチングを施していない部分の色情報が（Ｒ，Ｇ，Ｂ）＝（０ｘｆｆ，０ｘｆｆ，０ｘｆｆ）であるとし、またタグ情報を含むその他の部分の情報がＴ＝（０ｘ００）であるとして、画像データをＴＲＧＢの４バイトで表すとき、図６で説明したように、図１４（Ｂ）に示すような画像データとなる。
【００８５】
このような画像データを順に参照してゆく。すると、（Ｔ，Ｒ，Ｇ，Ｂ）＝（０ｘ００，０ｘｆｆ，０ｘ００，０ｘ００）が４回現れた後に、異なる画像データが現れる。従って、（Ｔ，Ｒ，Ｇ，Ｂ）＝（０ｘ００，０ｘｆｆ，０ｘ００，０ｘ００）の画像データを４つ読み込み、次の画像データを読み込んだ時点でそれまでの４つの画像データに対応するランレングス圧縮された画像データを出力する。このとき、ＲＧＢ色空間の色情報からＣＭＹＫ色空間の色情報への色空間変換を行う。例えば、ＲＧＢ色空間における色情報（Ｒ，Ｇ，Ｂ）＝（０ｘｆｆ，０ｘ００，０ｘ００）に対応する変換後の色情報が（Ｃ，Ｍ，Ｙ，Ｋ）＝（０ｘ０６，０ｘｆ３，０ｘｆ８，０ｘ００）であるとき、各色成分のプレーンに図１４（Ｃ）に示すような値を書き込む。最初の２バイトは連続数であり、図１３に示したフローチャートにおける変数Ｌｅｎの値である。次の１バイトがタグ情報、さらにその次の１バイトが色空間変換処理後の色情報（１色成分のみ）である。例えばＣ色成分については、連続数「４」を示す０ｘ０００４と、タグ情報０ｘ００と、Ｃ色成分の変換後の値である０ｘ０６からなる０ｘ０００４０００６がＣ色成分のプレーンに書き込まれる。Ｍ、Ｙ、Ｋ成分についても同様である。なお、図１４（Ｃ），（Ｄ）においては１６進の値で示している。
【００８６】
（Ｔ，Ｒ，Ｇ，Ｂ）＝（０ｘ００，０ｘｆｆ，０ｘｆｆ，０ｘｆｆ）の画像データを読み込んだ後、次の画像データも同じであるので、この時の連続数は「２」となる。ここで色空間変換処理を行う。例えば、ＲＧＢ色空間における色情報（Ｒ，Ｇ，Ｂ）＝（０ｘｆｆ，０ｘｆｆ，０ｘｆｆ）に対応する変換後の色情報が（Ｃ，Ｍ，Ｙ，Ｋ）＝（０ｘ００，０ｘ００，０ｘ００，０ｘ００）であるとき、連続数「２」を示す０ｘ０００２、タグ情報０ｘ００とともに、各色成分の値０ｘ００を各色成分のプレーンに書き込む。これによって各色成分のプレーンには、図１４（Ｄ）に示すように、図１４（Ｃ）に示したデータの後に０ｘ０００２００００のデータが書き込まれる。
【００８７】
このようにして、上述の具体例では６個の画像データに対して２回の色空間変換処理を行うだけでよい。従って色空間変換処理に要する時間を大幅に削減することができる。また、各色成分のプレーンに書き込まれたデータ量も、ランレングス圧縮を施すことによって１２バイトを８バイトに圧縮することができる。なお、この例では連続数を表すのに２バイトを用いているが、これは任意である。例えば上述の具体例において連続数を１バイトで表せば６バイトのデータとすることもできる。これらの処理時間の短縮やデータ量の削減の効果は、例えば出力解像度に展開された画像に対して色空間変換処理やランレングス圧縮などを行う場合と比べると、さらに大幅なものであることは言うまでもない。
【００８８】
【発明の効果】
以上の説明から明らかなように、本発明によれば、少ないデータ量の画像データから高解像度、高階調性を有するカラー画像の生成を行うことができるので、画像データを格納しておくメモリ量などを削減でき、低コストの画像処理装置を提供することができる。また画像データのデータ量が少ないことによって、画像データの転送や、描画処理、色空間変換処理など、各種の処理に要する時間を短縮することができ、高速に高解像度、高階調性を有するカラー画像を出力できる画像処理装置及び画像処理方法を提供することができるという効果がある。さらに、ランレングスなどの圧縮を行うことによってさらなるデータ量の削減を行うことができる。
【図面の簡単な説明】
【図１】  本発明の画像処理装置及び画像処理方法の実施の一形態を示すブロック図である。
【図２】  本発明において画像データに含める情報の一例の説明図である。
【図３】  タグ情報によって色情報が選択されない画素についての周辺画素による色決定の一例の説明図である。
【図４】  参照位置情報の一例の説明図である。
【図５】  参照位置情報の別の例の説明図である。
【図６】  ランレングス圧縮処理の一例の説明図である。
【図７】  本発明の画像処理装置及び画像処理方法の実施の一形態における描画処理時の動作の一例を示すフローチャートである。
【図８】  描画オブジェクトの具体例を用いた描画処理の一例の説明図である。
【図９】  画像データの上書き処理の一例を示すフローチャートである。
【図１０】  画像データの上書き処理（異色時）の具体例の説明図である。
【図１１】  画像データの上書き処理（同色時）の具体例の説明図である。
【図１２】  本発明の画像処理装置及び画像処理方法の実施の一形態における描画処理時の動作の別の例を示すフローチャートである。
【図１３】  本発明の画像処理装置及び画像処理方法の実施の一形態における色空間変換処理及びランレングス圧縮処理の動作の一例を示すフローチャートである。
【図１４】  本発明の画像処理装置及び画像処理方法の実施の一形態における色空間変換処理及びランレングス圧縮処理の動作の具体例の説明図である。
【符号の説明】
１…コマンド解析部、２…文字図形生成部、３…フォントメモリ、４…変換部、５…フォントキャッシュ、６…ベクタ図形描画部、７…ラスタ画像処理部、８…画像展開部。
【図１】
0003680931.tif 000002
【図２】
0003680931.tif 000003
【図３】
0003680931.tif 000004
【図４】
0003680931.tif 000005
【図５】
0003680931.tif 000006
【図６】
0003680931.tif 000007
【図７】
0003680931.tif 000008
【図８】
0003680931.tif 000009
【図９】
0003680931.tif 000010
【図１０】
0003680931.tif 000011
【図１１】
0003680931.tif 000012
【図１２】
0003680931.tif 000013
【図１３】
0003680931.tif 000014
【図１４】
0003680931.tif 000015