JP3680931B2 - Image processing apparatus and image processing method - Google Patents

Image processing apparatus and image processing method Download PDF

Info

Publication number
JP3680931B2
JP3680931B2 JP2000401134A JP2000401134A JP3680931B2 JP 3680931 B2 JP3680931 B2 JP 3680931B2 JP 2000401134 A JP2000401134 A JP 2000401134A JP 2000401134 A JP2000401134 A JP 2000401134A JP 3680931 B2 JP3680931 B2 JP 3680931B2
Authority
JP
Japan
Prior art keywords
image data
information
color
image
color information
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
JP2000401134A
Other languages
Japanese (ja)
Other versions
JP2001313834A (en
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.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox Co Ltd
Fujifilm Business Innovation Corp
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 Fuji Xerox Co Ltd, Fujifilm Business Innovation Corp filed Critical Fuji Xerox Co Ltd
Priority to JP2000401134A priority Critical patent/JP3680931B2/en
Publication of JP2001313834A publication Critical patent/JP2001313834A/en
Application granted granted Critical
Publication of JP3680931B2 publication Critical patent/JP3680931B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Image Generation (AREA)
  • Facsimile Image Signal Circuits (AREA)
  • Color Image Communication Systems (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)
  • Record Information Processing For Printing (AREA)
  • Image Processing (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、高画質、高解像度のカラー画像を、少ない画像データから展開可能な画像処理装置および画像処理方法に関するものである。
【0002】
【従来の技術】
カラープリンタにおいて美しい画像を出力するためには階調性と解像度の2つを同時に満足する必要がある。しかしながらいずれを良くするためにも多くの情報量が必要であり、必要なメモリ容量が大きくなる。例えばRGB各色8ビットの情報を有するとすると、1画素あたり24ビットの情報が必要となる。解像度が600dpiの場合、A4サイズの画像でデータ量は96Mバイトにも達する。このように多量のデータを扱うためには、そのデータを保持するためのメモリのコストが高くなるだけでなく、データ転送や処理に多大の時間を要し、描画時間が長くなってしまうという大きな問題があった。
【0003】
このような問題を解決するため、例えば特開平11−296670号公報にも記載されているように、階調性は保持しているが低解像度の画像から、補間処理によって高解像度の画像を生成する技術が用いられている。しかし、この方法はあくまで補間処理によって画素を生成しているものであり、最初から高解像度で生成した画像と同じ画質が得られるわけではない。特に文字画像においては、補間処理特有のひずみが発生してしまうなど、画質の劣化が顕著となる。
【0004】
また別の技術として、解像度を保持し、所定の大きさのブロック毎に、そのブロックに含まれる画素数よりも少ない色の情報を保持し、各画素においては保持されている色のうちのいずれに対応するかを示す値を保持することも考えられている。この方法によれば、各画素ごとに例えばフルカラーの色情報を保持しなくてよいため、データ量を削減することができる。この方法では、ブロックの大きさを大きくしないとデータ量の削減を図ることができない。しかし、ブロックの大きさを大きくしてしまうと、限られた色数だけでブロック内の画素を表現しなければならないため、色再現性が悪くなって画質が劣化するという問題があった。
【0005】
【発明が解決しようとする課題】
本発明は、上述した事情に鑑みてなされたもので、少ない情報量の画像データから高解像度、高階調性を有するカラー画像の生成を少ないメモリ量によって実現することができる画像処理装置及び画像処理方法を提供することを目的とするものである。
【0006】
【課題を解決するための手段】
本発明では、所定の解像度における複数画素を1画素に対応させたときの色情報と、その色情報の画素に対応する所定の解像度における複数画素について色情報を有する画素位置を示すタグ情報とを含む画像データから、所定の解像度のカラー画像に展開する。色情報は複数画素に1色分であるので、データ量を数分の1に削減することができる。しかしそのままでは解像度が低下してしまうため、色情報を割り当てる複数画素について、割り当てた色情報を用いる画素位置を示すタグ情報を付加しておく。これによって、例えば文字図形における形状等の情報を保持することができ、解像度を保つことができる。この場合のタグ情報は、1画素あたり1ビットでよく、データ量の増加は少ない。
【0007】
このような画像データを受け取り、タグ情報に従って対応する色情報を配すことによって、所定の解像度のカラー画像に展開することができる。受け取った画像データでは、上述のように色情報によって高階調性を保持し、またタグ情報によって解像度が保持されているため、展開されたカラー画像は、高解像度、高階調性を有しており、美しいカラー画像を出力することができる。
【0008】
なお、タグ情報によって色情報が割り当てられない画素の色については、周囲の画素の色から決定することができる。このとき、周囲の画素のうちいずれの画素の色を用いるかは、例えばタグ情報から決定したり、あるいは、周囲の画素のうちいずれの画素の色を用いるかを示す参照位置情報を画像データに含めておき、その参照位置情報に従って周囲の画素の色を割り当ててもよい。
【0009】
また、このようなタグ情報を用いた展開を行う部分とその他の展開方法を適用する部分が混在していてもよく、例えば画像データにその切り替えを行うフラグ情報を含めておくことができる。特に文字図形部分では高解像度が要求されるが、写真画像部分ではそれほどの高解像度が要求されない。このような画像のタイプによって処理を切り換えることが可能である。
【0010】
例えば描画コマンドなどを受け取って指定された画像を描画する場合がある。このような場合、高解像度が要求される文字図形においては、指定された文字図形を生成することになるが、このときに上述のような色情報とタグ情報を含む画像データを生成することができる。これによって、所定の解像度のカラー画像に展開されるまでのデータ量を削減することができる。例えば生成した文字図形の画像データをキャッシュメモリなどに登録しておき、後で再利用する場合などでも、保存するデータ量を削減し、効率を向上させることができる。
【0011】
さらに、上述のような色情報とタグ情報を含む画像データをそれぞれの描画図形毎に受け取って、これらを描画してゆくことができる。このとき、色情報とタグ情報を含む画像データのデータ形式を変更せずに、描画処理を行ってゆくことができる。あるいは、描画処理の際に、データ形式を変更せずに描画可能か否かを判定し、データ形式を変更せずに描画処理が可能であればそのまま描画処理し、そのままでは描画できない場合には所定の解像度のカラー画像に展開してから描画処理を行うことができる。このように色情報とタグ情報を含む画像データのままで全部または一部の描画処理を行うことによって、処理すべきデータ量を削減し、高速な描画処理を行うことが可能である。また、保持している画像データのデータ量を削減することができる。
【0012】
また、描画処理が色情報とタグ情報を含む画像データのままで行えない場合には、描画処理する際に、描画処理対象領域の保持している画像データ及び後続の画像データを所定の解像度のカラー画像に展開してから描画処理を行い、再び前記色情報及び前記タグ情報を含む画像データに変換して保持するように構成することができる。これによって、保持している画像データのデータ量を削減することができる。
【0013】
さらにまた、上述のような色情報及びタグ情報を含む画像データを受け取り、その画像データの色情報及びタグ情報が同一の複数の画像データについては、その個数とともに1つの画像データに変換することができる。これによってさらにデータ量を削減することが可能である。
【0014】
さらに、上述のような色情報とタグ情報を含む画像データの形式で色空間の変換処理を行うことができる。この場合、画像データ中の色情報のみに対して行えばよく、変換処理を行うデータ量を格段に減少させ、高速な処理を行うことができる。色空間変換は、例えばRGB色空間から、印刷装置などで用いられるCMYK色空間への変換などを行うことができる。
【0015】
このような同一の画像データの個数による圧縮と、色空間の変換処理を組み合わせ、色空間変換を行った後のそれぞれの色成分毎に、その色成分の色情報と同一の画像データの個数を対応付けた画像データに変換することもできる。例えば色成分毎に画像データを扱う場合などでは高速に画像データを取り扱うことができる。
【0016】
【発明の実施の形態】
図1は、本発明の画像処理装置及び画像処理方法の実施の一形態を示すブロック図である。図中、1はコマンド解析部、2は文字図形生成部、3はフォントメモリ、4は変換部、5はフォントキャッシュ、6はベクタ図形描画部、7はラスタ画像処理部、8は画像展開部である。この例では、PDL(プリント記述言語)等で記述された描画コマンドを受け取り、所定の解像度のビットマップデータからなるカラー画像を出力する場合について示している。
【0017】
コマンド解析部1は、入力された描画コマンドを受け付け、描画コマンドに従って、例えば文字図形の描画が指示された場合には文字図形生成部2に、ベクタ図形の描画が指示された場合にはベクタ図形描画部6に、写真などのラスタ画像の描画が指示された場合にはラスタ画像処理部7に、それぞれ描画コマンドによる指示を渡す。また、描画コマンドとしてはこのような描画する命令以外にも各種の設定コマンドなどがあり、これらの処理についても行う。
【0018】
文字図形生成部2は、コマンド解析部1から渡される文字図形の描画命令に従い、指定された文字図形をビットマップデータとして生成する。フォントメモリ3には各文字図形に対応したフォントが格納されており、このフォントメモリ3からフォントを取り出して、指定された文字図形のビットマップデータを生成することができる。生成するビットマップデータの解像度は、画像展開部8から出力されるカラー画像の解像度である。なお、指定された文字図形がフォントキャッシュ5に登録されている場合には、登録されている文字図形の画像データを使用するものとして変換部4に指示する。
【0019】
変換部4は、文字図形生成部2で生成された文字図形のビットマップデータを、複数画素について1色の色情報と、その色情報に対応する複数画素について、色情報に対応する画素位置を示すタグ情報とを含む画像データに変換する。これによって、ビットマップデータはまとめる画素数分の1の解像度のデータとなり、それぞれについてタグ情報が付加された画像データとなる。なお、この画像データについては後述する。変換した画像データは、その文字図形と対応付けてフォントキャッシュ5に登録しておく。また、文字図形生成部2からフォントキャッシュ5に登録されている図形データを利用する旨の指示を受けた場合には、フォントキャッシュ5内に登録されている文字図形の画像データを取り出し、変換後の画像データとして出力する。
【0020】
フォントキャッシュ5は、変換部4において変換処理された画像データを、その画像データの文字図形に対応付けて一時的に保持しておく。これによって、同じ文字図形を描画する際には、このフォントキャッシュ5に登録されている画像データを利用可能にし、文字図形のビットマップデータの生成及び画像データへの変換処理を省略して描画処理を高速化することができる。また、変換部4で変換後の画像データを保持することによって、保持するデータ量を削減することができ、登録可能な文字図形数を増加させて処理の効率化を図ることができる。
【0021】
ベクタ図形描画部6は、コマンド解析部1から渡されるベクタ図形の描画命令に従い、指定された図形の描画処理を行う。このベクタ図形描画部6で生成されるベクタ図形の描画データについても、例えば文字図形と同様に、描画データの複数画素について1色の色情報と、その色情報に対応する複数画素について、色情報に対応する画素位置を示すタグ情報とを含む画像データとすることができる。あるいは、エッジリストなどの中間言語データとして出力されてもよい。
【0022】
ラスタ画像処理部7は、コマンド解析部1から渡されるラスタ画像の描画命令に従って、ラスタ画像に対する処理を行う。通常、ラスタ画像自体は外部より送られてくるため、文字図形やベクタ図形などのように図形の生成処理は行わなくてよい。また、例えば写真などのラスタ画像では、それほどの解像度が要求されないので、入力されるラスタ画像の解像度は、例えば画像展開部8から出力されるカラー画像の解像度よりも低い解像度でよい。このラスタ画像を描画する領域については、画像展開部8に対して、タグ情報を用いた展開を行わない旨のフラグ情報を付加しておくとよい。
【0023】
画像展開部8は、変換部4から送られてくる文字図形の画像データ、ベクタ図形描画部6から送られてくるベクタ図形の画像データ、ラスタ画像処理部7から送られてくるラスタ画像から、出力解像度のカラー画像への展開処理を行う。例えば文字図形やベクタ図形の画像データが、上述のように複数画素について1色の色情報と、その色情報に対応する複数画素について、色情報に対応する画素位置を示すタグ情報とを含む画像データである場合には、タグ情報を用い、タグ情報によって指示されている画素については色情報を配置する。また、タグ情報によって指示されていない画素については、例えばそのままとしたり、あるいは周囲の画素から色を決定する。あるいは、変換部4やベクタ図形描画部6において画像データに変換する際に、タグ情報によって指示されていない画素について、周囲のいずれの画素の色とするかを示す参照位置情報を付加しておき、その参照位置情報に従って色を決定することができる。なお、ベクタ図形の描画データとしてエッジリストなどの中間言語データが渡される場合には、その中間言語データに従った塗りつぶし処理を行い、出力解像度のカラー画像を生成する。さらに、ラスタ画像については、例えば従来より行われているような、例えば補間処理などによって出力解像度のカラー画像を生成すればよい。これらの文字図形、ベクタ図形、ラスタ画像等は、1ページ中に混在することも多く、この例では画像展開部8においてこれらを合成している。しかしこれに限らず、例えば予め中間言語データとして合成しておき、その後に画像展開部8において出力解像度のカラー画像へ展開してもよい。
【0024】
なお、図1にはPDLなどの描画コマンドが入力されて出力解像度のカラー画像を出力する例を示したが、これに限らない。例えばエッジリスト形式の中間言語データが入力される構成でもよい。あるいは、例えば複数画素を1画素に対応させたときの色情報と、その色情報の画素に対応する複数画素について色情報を有する画素位置を示すタグ情報とを含む画像データが入力され、画像展開部8で出力解像度のカラー画像に展開する構成などでもよい。
【0025】
次に、上述の色情報及びタグ情報を含む画像データについて、具体例を用いながら説明する。図2は、本発明において画像データに含める情報の一例の説明図である。上述のように、カラー画像を表現するための色情報として、例えばRGB各色8ビットの情報を有するとすると、1画素あたり24ビットの情報が必要となる。解像度が600dpiの場合、A4サイズの画像でデータ量は96Mバイトにも達する。しかしながら隣接する複数画素において色情報がすべて異なるような画像はそれほど多く存在しない。例えば文字図形などにおいては、文字色と背景色が存在する程度である。このことに着目し、本発明では、複数画素について1色の色情報を割り当てる。例えば図2(A)に示すビットマップデータにおいて、図2(B)に示すように4画素毎に1色の色情報を割り当てるとすれば、データ量は1/4に減少する。例えば600dpiの画像では、色情報により構成される画像データは300dpi相当の画像データとなる。
【0026】
しかし、そのままでは解像度が低下してしまい、例えば文字図形などにおいては画質が低下する。文字図形部分などのような高画質が要求される部分における画質の低下を防止するため、本発明では、色情報を割り当てる複数画素について、割り当てた色を配置する画素をタグ情報として付加する。例えば上述のように4画素に1色の色情報を割り当てる場合、その色情報を割り当てる4画素、例えば図2(C)に示すa,b,c,dの4つの画素について、割り当てた色を用いるか否かを示すタグ情報(図2(D)参照)を付加する。例えば割り当てた色をa,b,cの画素に割り当てるのであれば、画素a,b,cに対応するタグ情報を例えば‘1’とし、画素dに対応するタグ情報を例えば‘0’にしておく。このようなタグ情報によって、描画する図形、例えば文字図形などの形状に関する情報を保持することができる。
【0027】
このようにして、4画素96ビット(=24ビット×4画素)の情報は、24ビットの色情報と4ビットのタグ情報を含む28ビットの画像データで表現することができる。例えば600dpiの文字図形画像であれば、300dpi相当の色情報と、それぞれの色情報に付加されたタグ情報によって画像データを構成することができる。このように、図2に示す例では色情報を割り当てた画像データとしては低解像度であるものの、タグ情報によって色情報に対応する複数画素についての情報を保持させ、データ量の削減を図っている。
【0028】
なお、図2に示す例では4画素毎に1つの色情報を割り当てているが、いくつの画素に対して色情報を割り当てるかは任意であり、色情報を割り当てる複数画素の領域形状も図2に示すような形状に限られるものではない。
【0029】
このような画像データから画像展開部8において出力解像度のカラー画像に展開する際には、例えば図2に示す例では、1つの色情報に対して4画素を用意し、その4画素のうち、タグ情報で示された画素、例えばタグ情報が‘1’の画素について、色情報が示す色を割り当てればよい。このような処理をすべての色情報について行うことによって、色情報を割り当てた出力解像度の1/4の解像度を有する画像データは、出力解像度のカラー画像に展開される。例えば上述の例のように、解像度300dpi相当の色情報と、その色情報に付加されたタグ情報によって、解像度600dpiのカラー画像を再現することができる。
【0030】
ここで、タグ情報によって色情報を割り当てなかった画素については、割り当てる色情報を有していない。例えば文字図形などを描画する際には、背景色は白(用紙の色)であることが多く、その場合にはこのままでも問題なくカラー画像を出力することができる。
【0031】
しかし、背景色の上に文字図形を描画した場合など、背景が着色されている場合には、上述のようにタグ情報が色情報を指示していない画素については白抜けを起こすなど、画質劣化が生じる可能性がある。このような問題を解決する一つの方法として、タグ情報によって色情報を割り当てなかった画素の色を、周囲の画素の色から決定することができる。多くの場合、1画素のみについて色が異なることはほとんどないし、そのような画素が存在していても分からない場合が多い。そのため、色情報を割り当てられなかった画素については、周囲の画素の色で代用できるものと仮定しても問題ない。
【0032】
図3は、タグ情報によって色情報が選択されない画素についての周辺画素による色決定の一例の説明図である。例えば図3(A)において、中央の4画素のうち左上のハッチングを施した画素についてタグ情報により色情報が割り当てられなかった場合、その左上の画素の色(ここでは同じハッチングを施した4画素に割り当てられた色情報)を割り当てるとよい。また、図3(B)や(C)に示すように、タグ情報によって色情報が選択されなかった画素が2画素あり、並んでいる場合には、その2画素に隣接している画素の色(ここでは同じハッチングを施した4画素に割り当てられた色情報)を割り当てるとよい。なお、2画素についてタグ情報によって色情報が選択されなかった場合として、対角線上に2画素が並ぶことがあるが、その場合には、それぞれの画素について図3(A)の例を適用すればよい。さらに、図3(D)に示す例は、タグ情報によって色情報が選択されなかった画素が3画素存在する場合を示しており、隣接する3画素のうちの中央の画素の斜め方向に存在する周辺画素の色(同様に4画素に割り当てられた色情報)を割り当てるとよい。
【0033】
これらの例は、それぞれ、タグ情報により色情報が割り当てられなかった画素について、同じ色を有していると思われる隣接する画素の色を適用するようにしたものである。しかしこの例に限らず、適用する色を決定することも可能である。例えば図3(A)に示す例において、左または上に隣接する色情報を適用してもよい。また図3(D)に示す例では、タグ情報により色情報が割り当てられなかった3画素について、左、左上、上の色情報をそれぞれ適用するといったことも可能である。
【0034】
このようにして、タグ情報によって色情報が割り当てられなかった画素について、周囲の画素の色(周囲の4画素毎の色情報)から自動的に色を決定することができる。そのため、色情報を多く持つ必要がなく、画像データのデータ量を低減することができる。
【0035】
上述のようにして、タグ情報によって色情報が割り当てられなかった画素について自動的に色を決定した場合、精度が十分でない可能性がある。色を決定する精度を向上させるため、例えば予め参照する周囲の画素を指定しておくことが考えられる。このように、タグ情報によって色情報が割り当てられなかった画素について色を決定する際に参照する周囲画素を指定する情報として、参照位置情報を画像データ中に含めることができる。図4は、参照位置情報の一例の説明図である。例えば図4(A)に示すように中央の4画素のうち右上の画素について、タグ情報によって色情報が割り当てられなかったとする。図3(A)に示した方法によれば、周囲の‘2’と示した画素の色情報を選択することになるが、例えば周囲の‘4’と示した画素の色情報を割り当てたいとする。このような場合、図4(B)に示すように、参照位置情報として‘4’を画像データに付加しておく。そして画像展開部8において展開処理を行う際に、タグ情報によって色情報が割り当てられなかった画素については、参照位置情報によって指示されている周囲の画素の色(4画素毎に割り当てられている色情報)を割り当てるようにすることができる。これによって、自動的に色を割り当てるよりも精度よく色を決定することができる。
【0036】
なお、参照する隣接位置の画素としては、図4(A)に‘0’〜‘7’で示すように8方向存在する。そのため、参照位置情報は1つの色情報(ここでは4画素)あたり3ビットが必要となる。しかし、色情報及びタグ情報と、この参照位置情報を含めても31ビットであり、4画素とも色情報を持つ場合(96ビット)に比べてデータ量は格段に少ない。
【0037】
上述の図4に示した例では、タグ情報によって色情報が割り当てられなかった画素が1画素のみの場合について示しているが、タグ情報によって色情報が割り当てられなかった画素が複数画素の場合についても、共通した参照位置情報を用いて周囲の画素の色を割り当てることができる。
【0038】
タグ情報によって色情報が割り当てられなかった複数の画素に対して、さらに精度よく色を割り当てるため、タグ情報によって色情報が割り当てられなかった各画素について、それぞれ参照位置情報を持つように画像データを構成することもできる。図5は、参照位置情報の別の例の説明図である。図5(A)における中央の4画素のうち、異なるハッチングを施した2つの画素がタグ情報によって色情報が割り当てられなかった画素であるとする。この場合、図5(B)に示すように、2つの画素に対してそれぞれ参照位置情報を対応付けておく。この例では、4画素のうち左上の画素についてはその左上の‘0’の方向に存在する色情報を割り当てることを示している。また、4画素のうち右下の画素についてはその右側の‘4’の方向に存在する色情報を割り当てることを示している。
【0039】
このようにタグ情報によって色情報が割り当てられなかった各画素に対して参照位置情報を対応付けておけば、それぞれ異なる色を割り当てるなど、最適な色を割り当てることが可能になり、精度よく色を決定することができる。
【0040】
上述のようにタグ情報によって色情報が割り当てられなかったそれぞれの画素に対して参照位置情報を付加する場合、3つの参照位置情報を付加しなければならない場合が生じる。しかしその場合でも、参照位置情報は3ビット×3=9ビットあればよく、色情報及びタグ情報とともに37ビットあればよい。さらに、タグ情報によって色情報が割り当てられない画素の位置と、参照位置情報とを対応付ける処理を簡単化するため、4画素すべてに対して参照位置情報のフィールドを設けておくこともできる。この場合でも、色情報、タグ情報、参照位置情報で40ビットあればよく、4画素とも色情報を持つ場合(96ビット)に比べてデータ量は半分以下である。
【0041】
なお、上述のように色情報とタグ情報、あるいはさらに参照位置情報を含んだ画像データは、文字図形やベクタ図形などについては解像度を落とさずにデータ量を減少させることができる。しかし写真などのラスタ画像や、背景の一様な画像などに対しては、上述のような解像度を保持する必要性はあまりない。例えば写真などのラスタ画像では、階調性が十分であり、ある程度以上の解像度があれば、解像度を変えても見た目には画質は変わらなくなる。そのため、ラスタ画像については高解像度のデータは必要なく、上述のようにタグ情報を付加しておいて展開するといった解像度を保持するための処理は不要であり、従来から行われているような補間処理などによって出力解像度に合わせる処理を行うだけでよい。
【0042】
このように、描画する対象によってタグ情報を用いた展開処理と、従来から行われている処理とを切り換えることが望ましい。そのような処理の切り替えのため、フラグ情報を有しているとよい。例えば上述のように色情報とタグ情報、あるいはさらに参照位置情報を含んだ画像データでは、その画像データのオブジェクトあるいは色情報単位でフラグ情報を付加しておくことができる。またラスタ画像についても、ラスタ画像単位、あるいはラスタ画像中の画素単位でフラグ情報を付加しておくことができる。
【0043】
画像展開部8は、このようなフラグ情報を参照し、フラグ情報がタグ情報を用いた展開を指示している場合には、上述のように色情報とタグ情報、あるいはさらに参照位置情報を含んだ画像データからの展開処理を行えばよい。また、フラグ情報がタグ情報を用いない旨を指示している場合には、例えば従来から行われている展開処理を行ったり、あるいは、解像度によってはそのまま出力することができる。
【0044】
なお、上述の図2〜図5における説明では、4画素毎に1色の色情報を割り当てる例を示した。しかし本発明はこれに限られるものではなく、2画素以上の任意の画素数ごとに1色の色情報を割り当て、その色情報を割り当てた画素数分のビットを有するタグ情報を付加すればよい。
【0045】
また、例えば文字図形や、ベクタ図形においては、黒の利用率が非常に高い。これを利用し、例えば色が黒であれば色情報として黒である旨の例えば1ビット程度の情報のみを持つように構成することも可能である。これによって、さらにデータ量を削減することが可能である。
【0046】
さらに、図1に示した例では、PDL等によって記述された描画コマンドを受け取って、出力解像度のカラー画像を出力する例を示した。しかしこれに限らず、入力は任意のデータでよい。もちろん、上述のような色情報とタグ情報、もしくはさらに参照位置情報やフラグ情報を有した画像データが直接入力されてもよく、その場合には画像展開部8が備えられていればよい。
【0047】
上述のように色情報とタグ情報を含む画像データを用いることによって、データ量を削減することができるが、このような画像データをランレングス圧縮することによってさらにデータ量を削減することも可能である。図6は、ランレングス圧縮処理の一例の説明図である。例えば図6(A)に示すような2走査ライン分の画像が描画されるとき、上述のような色情報とタグ情報で示すことによって図6(B)に示すような画像データが得られる。なお図6では着色部分をハッチングによって示している。この例ではタグ情報はいずれも、すべての位置で色情報を用いる情報が付加されることになる。
【0048】
図6(B)を参照して分かるように、同じタグ情報及び色情報の画像データが4つ連続している。この4つの画像データを、連続数を示す「4」と1つの画像データによって示すことができる。また、その後の2つの画像データについてもタグ情報及び色情報が同じである。従って連続数を示す「2」と1つの画像データで示すことができる。
【0049】
例えばハッチングを施した部分の色情報が(R,G,B)=(0xff,0x00,0x00)、ハッチングを施していない部分の色情報が(R,G,B)=(0xff,0xff,0xff)であるとし、またタグ情報を含むその他の部分の情報がT=(0x00)であるとして、画像データをTRGBで表すとき、前半の4つの画像データはいずれも(0x00ff0000)で表すことができる。なお、‘0x’は16進数を示している。また後半の2つの画像データは(0x00ffffff)で表すことができる。すなわち、図6(B)に示したタグ情報及び色情報を含む画像データは図6(C)のように示すことができる。なお、図6(C)に示すデータは16進数で示している。
【0050】
これらを、それぞれ連続数を用いてランレングス圧縮すると、図6(D)に示すように、前半の4つの画像データについては連続数として0x0004、画像データとして0x00ff0000のみとなり、16バイトのデータは6バイトのデータとなる。同様に後半の2つの画像データについては連続数として0x0002,画像データとして0x00ffffffのみとなり、8バイトのデータは6バイトのデータとなる。なお、図6(D)に示すデータについても16進のデータである。
【0051】
このようにして、色情報とタグ情報を含む画像データを、ランレングス圧縮することによってさらにデータ量を削減することができる。なお、連続数のデータ長は任意であり、図6に示した例のように2バイトデータに限られるものではない。
【0052】
上述のような色情報とタグ情報を含んだ画像データは、そのデータ形式において各種の処理を行うことが可能である。以下、いくつかの例について示す。図1にも示したように、描画コマンドを受け取って、その描画コマンドが示す図形を画像展開部8で展開する際には、文字図形生成部2及び変換部4で変換された文字図形と、ベクタ図形描画部6で処理されたベクタ図形と、ラスタ画像処理部7で処理されたラスタ画像などを1つの画像として描画してゆく処理が行われる。従来は出力解像度の画像において各文字や図形などの描画を行っていたため、大容量の描画メモリを必要としており、これを一時的に格納する際には改めて圧縮処理を行っていた。本発明では、可能であれば色情報とタグ情報を含んだ画像データのデータ形式のままで描画処理を行うことができる。これによって、描画メモリの容量を低減することができるとともに処理を高速化することができ、また、一時的に格納しておく場合でも、データ量が少ないのでそのまま格納すればよい。
【0053】
図7は、本発明の画像処理装置及び画像処理方法の実施の一形態における描画処理時の動作の一例を示すフローチャートである。S11において、例えば1バンド分や1ページ分などの所定単位の描画オブジェクトが終了したか否かを判定し、描画すべきオブジェクトが存在すればS12に進む。S12において、描画すべきオブジェクトを示す描画コマンドをコマンド解析部1が取得して解析し、描画オブジェクトに応じて、文字図形生成部2,ベクタ図形描画部6,ラスタ図形処理部7のいずれかに対して描画の指示を送る。
【0054】
描画の指示を受けた文字図形生成部2(及び変換部4),ベクタ図形描画部6,ラスタ図形処理部7は、S13において、指示に従ってオブジェクトの描画処理を行い、上述のように色情報とタグ情報を含んだ画像データとして画像展開部8に渡す。そしてS14において、画像展開部8は、変換部4,ベクタ図形描画部6,ラスタ図形処理部7から渡される画像データを1つの画像として描画してゆく。このとき、それまで描画した画像データに後続の画像データを合成してゆくことになるが、双方とも色情報とタグ情報を含んだ画像データのデータ形式のままで行うことができる。
【0055】
所定単位の描画オブジェクトに対する描画処理が終了したら、S15において、所定単位の画像データを出力する。出力の際に、例えば出力先がプリンタなどであればプリンタの解像度に応じたラスタ画像に展開して出力する。もちろん、ファイルに書き出すことも可能である。
【0056】
図7に示した描画処理の一例についてさらに説明する。図8は、描画オブジェクトの具体例を用いた描画処理の一例の説明図である。ここでは一例として、描画するベクトルを示すPath命令で指定された領域を、RGBで指定された色で塗り潰しを行う描画コマンドが入力された場合について示している。まず、コマンド解析部1は描画コマンドを解析し、上述のPath命令と塗り潰し命令である場合に、指定されたPath命令で示される領域を複数の台形に分解し、それぞれの台形毎の中間コードを生成する。この中間コードの生成は、例えば1ページ分等の単位で生成して、中間コード保持部などに格納しておくことができる。
【0057】
中間コードの生成が完了すると、ここではベクタ図形の描画であるので、ベクタ図形描画部6か中間コードを取り出し、ベクタ図形を生成する。
【0058】
例えば図8(A)に示すような台形を描画するものとする。このとき、描画する台形の開始Y座標、終了Y座標、左右の傾き情報から、各1走査ライン毎の開始X座標、終了X座標を求める。ここで、図2で例示したように2×2画素ごとに画像データを生成する場合、台形の塗りつぶし領域を2ラインごとに求めて行くものとすると、2走査ライン分の開始・終了X座標を求める。図8(A)では太線で示した間の2走査ラインについて参照するものとし、開始X座標及び終了X座標の間の塗りつぶし領域を矢線によって示している。なお、参照する2走査ラインは、画像展開部8で描画する際の走査ラインと一致させておくことが好ましい。
【0059】
そして、この情報から、2×2画素毎に形状情報を生成し、あらかじめ指定された色のRGB値と合わせて、上述のような画像データを生成する。図8(A)において太線で挟まれた2走査ラインについて生成した画像データを図8(B)に示している。なお画素位置を示すタグ情報は2×2のマス目を塗りつぶすことによって示している。このほかに参照位置情報を画像データに含めてもよい。このようにして生成された画像データが画像展開部8に送られる。
【0060】
画像展開部8では、ベクタ図形描画部6から送られてきた図8(B)に示すような画像データを受け取ると、例えば1バンド分や1ページ分の画像データに上書き描画する。なにも描画されていない領域に受け取った画像データを描画する場合には、背景部分は図8(C)に示すように白地のままであるので、この画像データを受け取った画像データで置き換えれば(上書きすれば)、それで描画処理は終了する。処理結果は図8(D)に示すようになる。
【0061】
しかし、既に描画されている図形や文字が存在する場合、その上に描画する際には形状情報及び色情報の更新が必要となる。図9は、画像データの上書き処理の一例を示すフローチャートである。S21において、変換部4やベクタ図形描画部6,ラスタ画像処理部7などから画像データを受け取り、またS22において、描画先の画像データを取得する。そしてS23において、描画する画像データと描画先の画像データの色情報を比較し、異なる場合にはS25においてS21で取得した描画する画像データを上書きし、その画像データについての処理を終える。
【0062】
また描画する画像データと描画先の画像データの色情報が同じである場合には、S24において、両者の画像データのタグ情報の論理和(あるいは論理積)を取り、新たに画像データを生成する。新たな画像データの色情報はそのままでよい。また、画像データに参照位置情報が含まれている場合には、いずれかを選択したり、あるいは両者から新たな参照位置情報を生成してもよい。そして、このようにして新たに生成した画像データを、S25において上書きして、受け取った描画する画像データに対する処理を終える。
【0063】
このような描画処理によって、既に描画されている図形に別の図形を上書きする場合でも、ある程度正常な描画結果を得ることができる。
【0064】
図10、図11は、画像データの上書き処理の具体例の説明図である。上述の図9に示した画像データの上書き処理を、具体例を用いて説明する。図10には色情報が異なる場合の具体例を示し、図11には色情報が同じ場合の具体例を示している。いずれの例も、それまでに図10(A)、図11(A)に示すような画像が描画されており、その中央部の2×2画素に対応する画像データを図10(D)、図11(D)に示している。なお、この具体例では参照位置情報も画像データに含まれているものとして、参照位置情報を矢線によって示している。また、色情報は、ハッチングを異ならせることによって色の相違を示している。
【0065】
まず、図10(A)に示すような描画途中の画像に対して、図10(B)に示すような2×2画素に対応する画像データを描画する場合を考える。描画する画像データとして、図10(E)に示すようなタグ情報、色情報、参照位置情報を含む画像データを受け取ったとする。この時、描画先の画像データ(図10(D))の色情報と描画する画像データ(図10(E))の色情報とは異なる。この場合には、図10(D)に示す画像データに図10(E)に示す画像データを上書きする。これによって画像データは図10(F)のようになり、画像としては図10(C)に示すような画像が得られたことになる。この描画結果は、図10(A)に示す画像に図10(B)に示す画像を上書きした結果と一致しており、良好に描画処理が行えたことが分かる。
【0066】
次に図11(A)に示すような描画途中の画像に対して、図11(B)に示すような2×2画素に対応する画像データを描画する場合を考える。描画する画像データとして、図11(E)に示すようなタグ情報、色情報、参照位置情報を含む画像データを受け取ったとする。この時、描画先の画像データ(図11(D))の色情報と描画する画像データ(図11(E))の色情報とは一致する。この場合には、図11(D)に示す画像データのタグ情報と図11(E)に示す画像データのタグ情報の論理和をとり、図11(F)に示す画像データを生成する。そしてこの画像データを図11(D)に示す画像データに上書きする。これによって画像としては図11(C)に示すような画像が得られたことになる。この描画結果は、図11(A)に示す画像に図11(B)に示す画像を上書きした結果と一致しており、良好に描画処理が行えたことが分かる。
【0067】
上述のようにして、色情報及びタグ情報を含む画像データのままで描画処理を行うことができる。これによって、扱うデータ量が格段に減少し、処理の高速化及び画像データを格納するメモリ量の削減を図ることができる。
【0068】
なお、描画コマンドや条件によっては、上述のように色情報及びタグ情報を含む画像データのままで描画処理を行うことが不可能な場合が存在する。例えば、ROP(Raster OPeration)処理でデスティネーション画像の色を参照するような場合には、デスティネーション画像における複数画素をまとめた1画素の情報と、描画する1画素の情報を合成することが困難である。このように描画コマンドや条件によって色情報及びタグ情報を含む画像データのままで描画処理を行うことが不可能な場合があるときの動作について説明しておく。
【0069】
図12は、本発明の画像処理装置及び画像処理方法の実施の一形態における描画処理時の動作の別の例を示すフローチャートである。S31において、例えば1バンド分や1ページ分などの所定単位の描画オブジェクトが終了したか否かを判定し、描画すべきオブジェクトが存在すればS32に進む。S32において、描画すべきオブジェクトを示す描画コマンドをコマンド解析部1が取得して解析し、描画オブジェクトに応じて、文字図形生成部2,ベクタ図形描画部6,ラスタ図形処理部7のいずれかに対して描画の指示を送る。このとき、S33において、描画コマンドや条件などに基づいて、色情報及びタグ情報を含む画像データのままで描画処理を行うことが可能か否かを判断する。
【0070】
色情報及びタグ情報を含む画像データのままで描画処理を行うことが可能である場合、描画の指示を受けた文字図形生成部2(及び変換部4),ベクタ図形描画部6,ラスタ図形処理部7は、S34において、指示に従ってオブジェクトの描画処理を行い、上述のように色情報とタグ情報を含んだ画像データとして画像展開部8に渡す。そしてS35において、画像展開部8は、変換部4,ベクタ図形描画部6,ラスタ図形処理部7から渡される画像データを1つの画像として描画してゆく。このとき、それまで描画した画像データに後続の画像データを合成してゆくことになるが、双方とも色情報とタグ情報を含んだ画像データのデータ形式のままで行うことができる。
【0071】
一方、色情報及びタグ情報を含む画像データのままで描画処理を行うことが不可能な場合には、描画の指示を受けた文字図形生成部2(及び変換部4),ベクタ図形描画部6,ラスタ図形処理部7は、S36において、指示に従ってオブジェクトの描画処理を行い、この場合には出力解像度の画像に展開して画像展開部8に渡す。画像展開部8では、S37において、描画先の描画領域内の画像データを出力解像度の画像に展開し、S38において通常の描画処理を行う。そしてS39において、色情報及びタグ情報を含む画像データに変換して描画結果として描画領域に書き込む。
【0072】
所定単位の描画オブジェクトに対する描画処理が終了したら、S40において、所定単位の画像データを出力する。出力の際に、例えば出力先がプリンタなどであればプリンタの解像度に応じたラスタ画像に展開して出力する。もちろん、ファイルに書き出すことも可能である。
【0073】
このように、描画コマンドや条件によって色情報及びタグ情報を含む画像データのままで描画処理を行うことが不可能な場合があるときには、描画領域ごとに上述のように色情報及びタグ情報を含む画像データのままで描画処理を行うことが可能か否かを判定する。そして、可能である場合には上述のようにして画像データのままで描画処理を行う。また色情報及びタグ情報を含む画像データのままで描画処理を行うことが不可能である場合には、展開された画像において通常の描画処理を行い、描画領域に対する描画が完成した後に色情報及びタグ情報を含む画像データに変換する。このように、色情報及びタグ情報を含む画像データのままで描画処理を行うことが可能であるか否かによって描画処理を動的に切り替えることによって、正確な圧縮画像生成を行う。また、出力解像度の画像への展開も描画される領域程度の範囲でよく、高速な処理が可能である。
【0074】
なお、描画処理は通常の処理を行い、処理結果については色情報及びタグ情報を含む画像データに変換して格納するといったことも考えられる。この場合でも、描画した画像データを格納しておくメモリ容量を削減することができるという利点がある。
【0075】
上述のような色情報とタグ情報を含んだ画像データを利用した処理の別の例として、色空間変換処理について説明する。色空間変換処理は、例えばRGB色空間の色情報をプリンタなどで用いるCMYK色空間の色情報へ変換するなど、異なる色空間の間の色情報の変換を行うものである。基本的には、上述のような色情報とタグ情報を含んだ画像データの場合、色情報に対してのみ色空間変換処理を行えばよい。従って、出力解像度の画像に対して色空間変換処理を行う場合に比べて数分の1の処理時間で色空間変換処理を行うことができる。
【0076】
上述の例のようにプリンタなどに出力する場合、CMYK色空間の画像としては、C,M,Y,Kのそれぞれの色成分毎の画像(プレーン)を作成する場合が多い。この場合、従来は受け取ったRGB色空間の描画データからC,M,Y,Kのそれぞれの画像を1色ずつ順に作成していた。しかし、このような処理では描画処理を4回繰り返すため時間がかかる。そのため、RGB色空間で描画処理を行い、その後にCMYK色空間への変換を行うことも考えられている。これによって描画処理は1回で済み、描画処理時間は短縮される。しかしその場合には、描画された画像全体について1画素ずつ色空間変換処理を行ってそれぞれの色成分の画像を生成しなければならない。この色空間変換処理をハードウェアで行う場合には変換時間を気にする必要はないが、タンデムと呼ばれる4色同時出力の印刷装置ではCMYKデータを同時に4色分出力する必要があり、これらの画像を転送するためのバスの性能上の問題が発生することがある。これらを避けるためにあらかじめCMYKの各色成分毎の画像に分解したデータをソフトウェアで生成することが考えられる。しかし、すべての画素をRGB色空間からCMYK色空間に変換しようとするとかなりの処理時間が必要となってしまう。
【0077】
これに対して上述のような色情報とタグ情報を含んだ画像データを利用することによって、データ量が削減されるため色空間変換処理を行っても処理時間の増大を防ぐことが可能であり、高速に処理を行うことができる。
【0078】
さらに、上述のように色情報とタグ情報を含んだ画像データをランレングス圧縮することを考えると、さらに大幅に色空間変換処理を行うデータ量を削減して高速化を図ることが可能である。ここでは色空間変換処理とランレングス圧縮処理を組み合わせて行う例を示す。
【0079】
図13は、本発明の画像処理装置及び画像処理方法の実施の一形態における色空間変換処理及びランレングス圧縮処理の動作の一例を示すフローチャートである。ここでは一例として、RGB色空間の色情報をCMYK色空間の色情報に変換し、それぞれの色成分毎の画像を生成するものとして示している。そのために、S51において、予め色空間変換後のC,M,Y,Kのそれぞれの画像を書き込むためのプレーン領域を確保しておく。
【0080】
S52において、最初の画像データを読み込み、S53において、連続数を示す変数Lenを1に初期化する。S54において次の画像データを読み込み、S55において、前に読み込んだ画像データとS54で読み込んだ次の画像データを比較する。もし、タグ情報及び色情報が一致していれば、S56において連続数を示す変数Lenに1を加えてS54へ戻り、次の画像データの読み込みを行う。このようにして画像データが一致している間、変数Lenに1が加算され、連続数が変数Lenに格納される。
【0081】
S54で読み込んだ画像データが前の画像データと異なる場合には、それまでの画像データについて色空間変換処理及びランレングス圧縮処理を行う。すなわち、S57において、前の画像データのRGB色空間における色情報をCMYK色空間の色情報に変換する。そしてS58において、変数Lenの値と、タグ情報T、それに色空間変換処理後のC成分を色情報としてC成分のプレーンに書き込む。同様に、S59において、変数Lenの値とタグ情報Tと色空間変換処理後のM成分をM成分のプレーンに書き込み、S60において、変数Lenの値とタグ情報Tと色空間変換処理後のY成分をY成分のプレーンに書き込み、S61において、変数Lenの値とタグ情報Tと色空間変換処理後のK成分をK成分のプレーンに書き込む。
【0082】
S62において1バンドや1ページなど、所定単位の処理が完了したか否かを判定し、所定単位の処理が終了していなければS53へ戻って変数Lenを1に初期化して続く同一の画像データの計数を行う。このようにして所定単位の処理が完了したら、この色変換処理及びランレングス圧縮処理を終了する。
【0083】
このように、同一の画像データが連続している場合には、そのうちの1つについてのみ色空間変換処理を行い、連続数とともに各色成分のプレーンに書き込む。そのため、色空間変換処理量は大幅に減少し、高速な処理が可能である。また、ランレングス圧縮も同時に行うので、各色成分のプレーンに書き込まれるデータ量も少なく、メモリ量を削減することができる。
【0084】
図14は、本発明の画像処理装置及び画像処理方法の実施の一形態における色空間変換処理及びランレングス圧縮処理の動作の具体例の説明図である。ここでは上述の図6に示した例を用い、色空間変換処理を含めて説明してゆく。図6(A)と同じ描画される画像を図14(A)に示している。例えばハッチングを施した部分の色情報が(R,G,B)=(0xff,0x00,0x00)、ハッチングを施していない部分の色情報が(R,G,B)=(0xff,0xff,0xff)であるとし、またタグ情報を含むその他の部分の情報がT=(0x00)であるとして、画像データをTRGBの4バイトで表すとき、図6で説明したように、図14(B)に示すような画像データとなる。
【0085】
このような画像データを順に参照してゆく。すると、(T,R,G,B)=(0x00,0xff,0x00,0x00)が4回現れた後に、異なる画像データが現れる。従って、(T,R,G,B)=(0x00,0xff,0x00,0x00)の画像データを4つ読み込み、次の画像データを読み込んだ時点でそれまでの4つの画像データに対応するランレングス圧縮された画像データを出力する。このとき、RGB色空間の色情報からCMYK色空間の色情報への色空間変換を行う。例えば、RGB色空間における色情報(R,G,B)=(0xff,0x00,0x00)に対応する変換後の色情報が(C,M,Y,K)=(0x06,0xf3,0xf8,0x00)であるとき、各色成分のプレーンに図14(C)に示すような値を書き込む。最初の2バイトは連続数であり、図13に示したフローチャートにおける変数Lenの値である。次の1バイトがタグ情報、さらにその次の1バイトが色空間変換処理後の色情報(1色成分のみ)である。例えばC色成分については、連続数「4」を示す0x0004と、タグ情報0x00と、C色成分の変換後の値である0x06からなる0x00040006がC色成分のプレーンに書き込まれる。M、Y、K成分についても同様である。なお、図14(C),(D)においては16進の値で示している。
【0086】
(T,R,G,B)=(0x00,0xff,0xff,0xff)の画像データを読み込んだ後、次の画像データも同じであるので、この時の連続数は「2」となる。ここで色空間変換処理を行う。例えば、RGB色空間における色情報(R,G,B)=(0xff,0xff,0xff)に対応する変換後の色情報が(C,M,Y,K)=(0x00,0x00,0x00,0x00)であるとき、連続数「2」を示す0x0002、タグ情報0x00とともに、各色成分の値0x00を各色成分のプレーンに書き込む。これによって各色成分のプレーンには、図14(D)に示すように、図14(C)に示したデータの後に0x00020000のデータが書き込まれる。
【0087】
このようにして、上述の具体例では6個の画像データに対して2回の色空間変換処理を行うだけでよい。従って色空間変換処理に要する時間を大幅に削減することができる。また、各色成分のプレーンに書き込まれたデータ量も、ランレングス圧縮を施すことによって12バイトを8バイトに圧縮することができる。なお、この例では連続数を表すのに2バイトを用いているが、これは任意である。例えば上述の具体例において連続数を1バイトで表せば6バイトのデータとすることもできる。これらの処理時間の短縮やデータ量の削減の効果は、例えば出力解像度に展開された画像に対して色空間変換処理やランレングス圧縮などを行う場合と比べると、さらに大幅なものであることは言うまでもない。
【0088】
【発明の効果】
以上の説明から明らかなように、本発明によれば、少ないデータ量の画像データから高解像度、高階調性を有するカラー画像の生成を行うことができるので、画像データを格納しておくメモリ量などを削減でき、低コストの画像処理装置を提供することができる。また画像データのデータ量が少ないことによって、画像データの転送や、描画処理、色空間変換処理など、各種の処理に要する時間を短縮することができ、高速に高解像度、高階調性を有するカラー画像を出力できる画像処理装置及び画像処理方法を提供することができるという効果がある。さらに、ランレングスなどの圧縮を行うことによってさらなるデータ量の削減を行うことができる。
【図面の簡単な説明】
【図1】 本発明の画像処理装置及び画像処理方法の実施の一形態を示すブロック図である。
【図2】 本発明において画像データに含める情報の一例の説明図である。
【図3】 タグ情報によって色情報が選択されない画素についての周辺画素による色決定の一例の説明図である。
【図4】 参照位置情報の一例の説明図である。
【図5】 参照位置情報の別の例の説明図である。
【図6】 ランレングス圧縮処理の一例の説明図である。
【図7】 本発明の画像処理装置及び画像処理方法の実施の一形態における描画処理時の動作の一例を示すフローチャートである。
【図8】 描画オブジェクトの具体例を用いた描画処理の一例の説明図である。
【図9】 画像データの上書き処理の一例を示すフローチャートである。
【図10】 画像データの上書き処理(異色時)の具体例の説明図である。
【図11】 画像データの上書き処理(同色時)の具体例の説明図である。
【図12】 本発明の画像処理装置及び画像処理方法の実施の一形態における描画処理時の動作の別の例を示すフローチャートである。
【図13】 本発明の画像処理装置及び画像処理方法の実施の一形態における色空間変換処理及びランレングス圧縮処理の動作の一例を示すフローチャートである。
【図14】 本発明の画像処理装置及び画像処理方法の実施の一形態における色空間変換処理及びランレングス圧縮処理の動作の具体例の説明図である。
【符号の説明】
1…コマンド解析部、2…文字図形生成部、3…フォントメモリ、4…変換部、5…フォントキャッシュ、6…ベクタ図形描画部、7…ラスタ画像処理部、8…画像展開部。
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to an image processing apparatus and an image processing method capable of developing a high-quality, high-resolution color image from a small amount of image data.
[0002]
[Prior art]
In order to output a beautiful image in a color printer, it is necessary to satisfy both gradation and resolution at the same time. However, a large amount of information is required to improve both, and the required memory capacity increases. For example, if it has 8 bits of information for each color of RGB, 24 bits of information is required per pixel. When the resolution is 600 dpi, the data amount reaches 96 Mbytes in an A4 size image. In order to handle such a large amount of data, not only the cost of the memory for holding the data increases, but also a large amount of time is required for data transfer and processing, and the drawing time becomes long. There was a problem.
[0003]
In order to solve such a problem, as described in, for example, Japanese Patent Laid-Open No. 11-296670, a high-resolution image is generated by interpolation processing from a low-resolution image that retains gradation. Technology is used. However, this method only generates pixels by interpolation processing, and does not necessarily obtain the same image quality as an image generated at high resolution from the beginning. Particularly in a character image, the deterioration of image quality becomes remarkable, for example, distortion peculiar to interpolation processing occurs.
[0004]
As another technique, the resolution is maintained, and for each block of a predetermined size, information on a color smaller than the number of pixels included in the block is retained, and each of the retained colors is retained in each pixel. It is also conceivable to hold a value indicating whether it corresponds to. According to this method, for example, it is not necessary to hold full-color color information for each pixel, so that the data amount can be reduced. In this method, the data amount cannot be reduced unless the block size is increased. However, if the size of the block is increased, pixels in the block must be expressed with only a limited number of colors, so that there is a problem that the color reproducibility deteriorates and the image quality deteriorates.
[0005]
[Problems to be solved by the invention]
The present invention has been made in view of the above-described circumstances, and an image processing apparatus and an image processing capable of realizing generation of a color image having high resolution and high gradation from a small amount of image data with a small amount of memory. It is intended to provide a method.
[0006]
[Means for Solving the Problems]
In the present invention, color information when a plurality of pixels at a predetermined resolution are associated with one pixel, and tag information indicating pixel positions having color information for the plurality of pixels at a predetermined resolution corresponding to the pixel of the color information. The image data is developed into a color image having a predetermined resolution. Since the color information is for one color for a plurality of pixels, the data amount can be reduced to a fraction. However, since the resolution is lowered as it is, tag information indicating pixel positions using the assigned color information is added to a plurality of pixels to which the color information is assigned. Thereby, for example, information such as the shape of the character graphic can be held, and the resolution can be maintained. In this case, the tag information may be 1 bit per pixel, and the increase in the data amount is small.
[0007]
By receiving such image data and arranging corresponding color information according to the tag information, it can be developed into a color image of a predetermined resolution. In the received image data, as described above, the high gradation property is retained by the color information and the resolution is retained by the tag information. Therefore, the developed color image has the high resolution and the high gradation property. A beautiful color image can be output.
[0008]
Note that the color of the pixel to which no color information is assigned by the tag information can be determined from the color of surrounding pixels. At this time, which of the surrounding pixels is used is determined from, for example, tag information, or reference position information indicating which of the surrounding pixels is used is used as image data. The color of surrounding pixels may be assigned according to the reference position information.
[0009]
Further, a part for performing development using such tag information and a part to which other development methods are applied may be mixed. For example, flag information for switching the image data may be included. In particular, high resolution is required in the character graphic portion, but not so high in the photographic image portion. Processing can be switched depending on the type of image.
[0010]
For example, a designated image may be drawn upon receiving a drawing command or the like. In such a case, a designated character graphic is generated for a character graphic that requires high resolution. At this time, image data including color information and tag information as described above may be generated. it can. As a result, it is possible to reduce the amount of data until a color image having a predetermined resolution is developed. For example, even when the generated image data of a character graphic is registered in a cache memory or the like and reused later, the amount of data to be saved can be reduced and the efficiency can be improved.
[0011]
Furthermore, the image data including the color information and the tag information as described above can be received for each drawing graphic, and these can be drawn. At this time, the drawing process can be performed without changing the data format of the image data including the color information and the tag information. Or, in the drawing process, it is determined whether or not drawing is possible without changing the data format. If the drawing process is possible without changing the data format, the drawing process is performed as it is. Drawing processing can be performed after developing into a color image of a predetermined resolution. In this way, by performing all or part of the drawing process while maintaining the image data including the color information and the tag information, it is possible to reduce the amount of data to be processed and to perform a high-speed drawing process. In addition, the data amount of the stored image data can be reduced.
[0012]
In addition, when the drawing process cannot be performed with the image data including the color information and the tag information, when the drawing process is performed, the image data held in the drawing process target area and the subsequent image data are set to a predetermined resolution. The image data can be rendered after being rendered into a color image, and converted into image data including the color information and the tag information again. Thereby, the data amount of the held image data can be reduced.
[0013]
Furthermore, image data including color information and tag information as described above is received, and a plurality of image data having the same color information and tag information of the image data can be converted into one image data together with the number of the image data. it can. This can further reduce the amount of data.
[0014]
Furthermore, color space conversion processing can be performed in the form of image data including color information and tag information as described above. In this case, it suffices to perform only the color information in the image data, and the amount of data to be converted can be greatly reduced, and high-speed processing can be performed. The color space conversion can be performed, for example, from an RGB color space to a CMYK color space used in a printing apparatus or the like.
[0015]
Combining such compression with the same number of image data and color space conversion processing, for each color component after color space conversion, the number of image data identical to the color information of that color component is set. It can also be converted into associated image data. For example, when image data is handled for each color component, the image data can be handled at high speed.
[0016]
DETAILED DESCRIPTION OF THE INVENTION
FIG. 1 is a block diagram showing an embodiment of an image processing apparatus and an image processing method according to the present invention. In the figure, 1 is a command analysis unit, 2 is a character graphic generation unit, 3 is a font memory, 4 is a conversion unit, 5 is a font cache, 6 is a vector graphic drawing unit, 7 is a raster image processing unit, and 8 is an image development unit. It is. This example shows a case where a drawing command described in PDL (print description language) or the like is received and a color image composed of bitmap data of a predetermined resolution is output.
[0017]
The command analysis unit 1 accepts an input drawing command, and in accordance with the drawing command, for example, when drawing of a character graphic is instructed, the character graphic generation unit 2 is instructed, and when drawing of a vector graphic is instructed, a vector graphic When the drawing unit 6 is instructed to draw a raster image such as a photo, the raster image processing unit 7 is given an instruction based on a drawing command. In addition to drawing commands, there are various setting commands as drawing commands, and these processes are also performed.
[0018]
The character graphic generation unit 2 generates the designated character graphic as bitmap data in accordance with the character graphic drawing command passed from the command analysis unit 1. The font memory 3 stores a font corresponding to each character graphic, and the font data can be extracted from the font memory 3 to generate bitmap data of the designated character graphic. The resolution of the generated bitmap data is the resolution of the color image output from the image development unit 8. When the designated character graphic is registered in the font cache 5, the conversion unit 4 is instructed to use the image data of the registered character graphic.
[0019]
The conversion unit 4 converts the bitmap data of the character graphic generated by the character graphic generation unit 2 into color information of one color for a plurality of pixels and pixel positions corresponding to the color information for a plurality of pixels corresponding to the color information. It converts into the image data containing the tag information to show. As a result, the bitmap data becomes data with a resolution of 1 / the number of pixels to be collected, and becomes image data with tag information added thereto. This image data will be described later. The converted image data is registered in the font cache 5 in association with the character graphic. When an instruction to use graphic data registered in the font cache 5 is received from the character graphic generation unit 2, the character graphic image data registered in the font cache 5 is extracted and converted. Output as image data.
[0020]
The font cache 5 temporarily stores the image data converted by the conversion unit 4 in association with the character graphic of the image data. As a result, when drawing the same character graphic, the image data registered in the font cache 5 can be used, and the generation of bitmap data of the character graphic and the conversion process to the image data are omitted. Can be speeded up. Further, by holding the converted image data in the conversion unit 4, the amount of data to be held can be reduced, and the number of characters and graphics that can be registered can be increased to improve the processing efficiency.
[0021]
The vector graphic drawing unit 6 performs drawing processing of a specified graphic in accordance with a vector graphic drawing command passed from the command analysis unit 1. As for the drawing data of the vector graphic generated by the vector graphic drawing unit 6, for example, similarly to the character graphic, color information of one color for a plurality of pixels of the drawing data and color information for a plurality of pixels corresponding to the color information. And image data including tag information indicating the pixel position corresponding to. Alternatively, it may be output as intermediate language data such as an edge list.
[0022]
The raster image processing unit 7 performs processing on the raster image in accordance with a raster image drawing command passed from the command analysis unit 1. Usually, since the raster image itself is sent from the outside, there is no need to perform graphic generation processing such as a character graphic or a vector graphic. For example, a raster image such as a photograph does not require so much resolution, so the resolution of the input raster image may be lower than the resolution of the color image output from the image development unit 8, for example. For the area where the raster image is drawn, flag information indicating that development using tag information is not performed may be added to the image development unit 8.
[0023]
The image expansion unit 8 includes: character graphic image data sent from the conversion unit 4, vector graphic image data sent from the vector graphic drawing unit 6, and a raster image sent from the raster image processing unit 7. Performs processing to develop a color image with an output resolution. For example, image data of a character graphic or vector graphic includes color information of one color for a plurality of pixels as described above, and tag information indicating pixel positions corresponding to the color information for a plurality of pixels corresponding to the color information as described above. In the case of data, tag information is used, and color information is arranged for the pixel indicated by the tag information. For pixels not specified by the tag information, for example, the pixels are left as they are or the colors are determined from the surrounding pixels. Alternatively, when converting to image data in the conversion unit 4 or the vector graphic drawing unit 6, reference position information indicating which of the surrounding pixels is used for pixels not specified by the tag information is added. The color can be determined according to the reference position information. In addition, when intermediate language data such as an edge list is passed as drawing data of a vector graphic, a painting process according to the intermediate language data is performed, and a color image with an output resolution is generated. Further, for a raster image, a color image having an output resolution may be generated by, for example, interpolation processing as conventionally performed. These character graphics, vector graphics, raster images, and the like are often mixed in one page, and in this example, these are synthesized by the image development unit 8. However, the present invention is not limited to this. For example, it may be preliminarily synthesized as intermediate language data, and then developed into a color image with an output resolution in the image developing unit 8.
[0024]
Although FIG. 1 shows an example in which a drawing command such as PDL is input and a color image with an output resolution is output, the present invention is not limited to this. For example, a configuration in which intermediate language data in an edge list format is input may be used. Alternatively, for example, image data including color information when a plurality of pixels are associated with one pixel and tag information indicating pixel positions having color information for the plurality of pixels corresponding to the pixel of the color information is input and image development is performed. A configuration may be used in which the unit 8 develops a color image with an output resolution.
[0025]
Next, image data including the above-described color information and tag information will be described using specific examples. FIG. 2 is an explanatory diagram of an example of information included in image data in the present invention. As described above, if color information for expressing a color image has, for example, 8-bit information for each color of RGB, 24-bit information per pixel is required. When the resolution is 600 dpi, the data amount reaches 96 Mbytes in an A4 size image. However, there are not so many images in which the color information is all different between adjacent pixels. For example, in a character graphic or the like, there are only a character color and a background color. Focusing on this, in the present invention, color information of one color is assigned to a plurality of pixels. For example, in the bitmap data shown in FIG. 2A, if one color information is assigned to every four pixels as shown in FIG. 2B, the data amount is reduced to ¼. For example, in a 600 dpi image, the image data composed of color information is image data equivalent to 300 dpi.
[0026]
However, the resolution is lowered as it is, and the image quality is lowered in, for example, a character graphic. In order to prevent a deterioration in image quality in a portion where high image quality is required, such as a character graphic portion, in the present invention, for a plurality of pixels to which color information is assigned, a pixel in which the assigned color is arranged is added as tag information. For example, when one color information is assigned to four pixels as described above, the assigned colors are assigned to four pixels to which the color information is assigned, for example, four pixels a, b, c, and d shown in FIG. Tag information (see FIG. 2D) indicating whether or not to use is added. For example, if the assigned color is assigned to the pixels a, b, and c, the tag information corresponding to the pixels a, b, and c is set to “1”, for example, and the tag information corresponding to the pixel d is set to “0”, for example. deep. With such tag information, information relating to the shape of a figure to be drawn, for example, a character figure can be held.
[0027]
In this way, information of 4 pixels and 96 bits (= 24 bits × 4 pixels) can be expressed by 28-bit image data including 24-bit color information and 4-bit tag information. For example, in the case of a 600 dpi character graphic image, the image data can be constituted by color information equivalent to 300 dpi and tag information added to each color information. As described above, in the example shown in FIG. 2, although the image data to which the color information is assigned has a low resolution, information about a plurality of pixels corresponding to the color information is held by the tag information to reduce the data amount. .
[0028]
In the example shown in FIG. 2, one color information is assigned to every four pixels. However, the number of pixels to which the color information is assigned is arbitrary, and the area shape of a plurality of pixels to which the color information is assigned is also shown in FIG. The shape is not limited to that shown in FIG.
[0029]
For example, in the example shown in FIG. 2, when four pixels are prepared for one color information in the image development unit 8 from such image data, the four pixels are prepared. A color indicated by the color information may be assigned to a pixel indicated by the tag information, for example, a pixel whose tag information is “1”. By performing such processing for all color information, image data having a resolution of 1/4 of the output resolution to which the color information is assigned is developed into a color image of the output resolution. For example, as in the above-described example, a color image having a resolution of 600 dpi can be reproduced using color information corresponding to a resolution of 300 dpi and tag information added to the color information.
[0030]
Here, the pixels for which the color information is not assigned by the tag information do not have the assigned color information. For example, when drawing a character figure or the like, the background color is often white (paper color), and in this case, a color image can be output without any problem.
[0031]
However, when the background is colored, such as when a character graphic is drawn on the background color, the image quality deteriorates, such as causing white spots for pixels whose tag information does not indicate color information as described above. May occur. As one method for solving such a problem, the color of a pixel to which no color information is assigned by tag information can be determined from the colors of surrounding pixels. In many cases, there is almost no difference in color for only one pixel, and even if such a pixel exists, it is often unknown. For this reason, it is possible to assume that pixels for which color information has not been assigned can be substituted with colors of surrounding pixels.
[0032]
FIG. 3 is an explanatory diagram of an example of color determination by peripheral pixels for pixels for which color information is not selected by tag information. For example, in FIG. 3A, when color information is not assigned by the tag information with respect to the pixel with the upper left hatching among the four central pixels, the color of the upper left pixel (here, the four pixels with the same hatching) The color information assigned to the image is preferably assigned. Further, as shown in FIGS. 3B and 3C, when there are two pixels whose color information is not selected by the tag information and they are arranged side by side, the color of the pixel adjacent to the two pixels (Here, the color information assigned to the four hatched pixels) may be assigned. As a case where color information is not selected by tag information for two pixels, two pixels may be arranged on a diagonal line. In this case, if the example of FIG. 3A is applied to each pixel. Good. Further, the example shown in FIG. 3D shows a case where there are three pixels whose color information is not selected by the tag information, and they exist in the diagonal direction of the central pixel among the three adjacent pixels. The color of the peripheral pixels (similarly color information assigned to the four pixels) may be assigned.
[0033]
In these examples, the colors of adjacent pixels that are considered to have the same color are applied to the pixels to which the color information is not assigned by the tag information. However, the present invention is not limited to this example, and a color to be applied can be determined. For example, in the example shown in FIG. 3A, color information adjacent to the left or top may be applied. In the example shown in FIG. 3D, the left, upper left, and upper color information can be applied to three pixels to which no color information is assigned by tag information.
[0034]
In this way, for pixels for which color information has not been assigned by the tag information, the color can be automatically determined from the color of the surrounding pixels (color information for every four surrounding pixels). Therefore, it is not necessary to have a lot of color information, and the amount of image data can be reduced.
[0035]
As described above, when a color is automatically determined for a pixel to which no color information is assigned by tag information, the accuracy may not be sufficient. In order to improve the accuracy of determining the color, for example, it is conceivable to designate surrounding pixels to be referred to in advance. As described above, the reference position information can be included in the image data as information for designating surrounding pixels to be referred to when determining the color for the pixels to which the color information is not assigned by the tag information. FIG. 4 is an explanatory diagram of an example of reference position information. For example, as shown in FIG. 4A, it is assumed that the color information is not assigned to the upper right pixel among the four central pixels by the tag information. According to the method shown in FIG. 3A, the color information of the pixel indicated by the surrounding '2' is selected. For example, if the color information of the pixel indicated by the surrounding '4' is to be assigned. To do. In such a case, as shown in FIG. 4B, “4” is added to the image data as reference position information. When the image development unit 8 performs the development process, for the pixels to which the color information is not assigned by the tag information, the color of the surrounding pixels indicated by the reference position information (the color assigned for every four pixels) Information) can be assigned. As a result, it is possible to determine a color with higher accuracy than automatically assigning a color.
[0036]
Note that there are eight directions of pixels at adjacent positions to be referred to as indicated by “0” to “7” in FIG. Therefore, the reference position information requires 3 bits per color information (here, 4 pixels). However, even if the color information and tag information and the reference position information are included, the number of bits is 31 bits, and the amount of data is much smaller than when four pixels have color information (96 bits).
[0037]
In the example shown in FIG. 4 described above, the case where only one pixel is not assigned color information by the tag information is shown. However, the case where the pixel information is not assigned color information by the tag information is a plurality of pixels. Also, the color of surrounding pixels can be assigned using common reference position information.
[0038]
In order to assign colors more accurately to a plurality of pixels to which color information has not been assigned by tag information, image data is stored so that each pixel to which color information has not been assigned by tag information has reference position information. It can also be configured. FIG. 5 is an explanatory diagram of another example of the reference position information. Of the four pixels at the center in FIG. 5A, two pixels that have been subjected to different hatching are pixels for which color information has not been assigned by tag information. In this case, as shown in FIG. 5B, reference position information is associated with each of the two pixels. In this example, the color information existing in the direction of “0” at the upper left is assigned to the upper left pixel among the four pixels. Also, it is shown that color information existing in the direction of “4” on the right side is assigned to the lower right pixel among the four pixels.
[0039]
In this way, by associating the reference position information with each pixel for which color information has not been assigned by the tag information, it is possible to assign an optimal color, such as assigning different colors to each other. Can be determined.
[0040]
As described above, when reference position information is added to each pixel to which color information is not assigned by tag information, there are cases where three reference position information must be added. However, even in that case, the reference position information may be 3 bits × 3 = 9 bits, and it may be 37 bits together with the color information and the tag information. Furthermore, in order to simplify the process of associating the position of the pixel to which the color information is not assigned by the tag information with the reference position information, a field of reference position information can be provided for all four pixels. Even in this case, 40 bits are sufficient for color information, tag information, and reference position information, and the data amount is less than half compared to the case where all four pixels have color information (96 bits).
[0041]
As described above, image data including color information and tag information or reference position information can reduce the amount of data without reducing the resolution of character graphics, vector graphics, and the like. However, it is not necessary to maintain the above-described resolution for raster images such as photographs or images with a uniform background. For example, in a raster image such as a photograph, the gradation is sufficient, and if the resolution is higher than a certain level, the image quality will not change visually even if the resolution is changed. Therefore, high-resolution data is not required for raster images, and processing for maintaining resolution such as development by adding tag information as described above is not necessary, and interpolation as conventionally performed is performed. It is only necessary to perform processing that matches the output resolution by processing or the like.
[0042]
In this way, it is desirable to switch between the expansion process using tag information and the process conventionally performed depending on the drawing target. It is preferable to have flag information for such processing switching. For example, in the case of image data including color information and tag information or further reference position information as described above, flag information can be added in units of object or color information of the image data. For raster images, flag information can be added in units of raster images or in units of pixels in the raster image.
[0043]
The image development unit 8 refers to such flag information, and when the flag information indicates development using tag information, includes the color information and tag information or further reference position information as described above. It is only necessary to perform development processing from the image data. Further, when the flag information indicates that tag information is not used, for example, a conventional development process can be performed, or output can be performed as it is depending on the resolution.
[0044]
In the description with reference to FIGS. 2 to 5 described above, an example in which color information of one color is assigned to every four pixels is shown. However, the present invention is not limited to this, and color information of one color may be assigned to any number of pixels of two or more pixels, and tag information having bits for the number of pixels to which the color information is assigned may be added. .
[0045]
Further, for example, the utilization rate of black is very high in character graphics and vector graphics. By utilizing this, for example, if the color is black, the color information can be configured to have only information of about 1 bit indicating that the color information is black. As a result, the data amount can be further reduced.
[0046]
Further, the example shown in FIG. 1 shows an example in which a drawing command described in PDL or the like is received and a color image with an output resolution is output. However, the present invention is not limited to this, and input may be arbitrary data. Of course, the color information and tag information as described above, or image data having further reference position information and flag information may be directly input. In this case, the image development unit 8 may be provided.
[0047]
As described above, the amount of data can be reduced by using image data including color information and tag information. However, the amount of data can be further reduced by run-length compression of such image data. is there. FIG. 6 is an explanatory diagram of an example of the run-length compression process. For example, when an image of two scanning lines as shown in FIG. 6A is drawn, image data as shown in FIG. 6B is obtained by indicating the color information and tag information as described above. In FIG. 6, the colored portion is indicated by hatching. In this example, tag information is added with information using color information at all positions.
[0048]
As can be seen with reference to FIG. 6B, four pieces of image data of the same tag information and color information are continuous. These four pieces of image data can be represented by “4” indicating the number of consecutive images and one image data. The tag information and the color information are the same for the subsequent two image data. Therefore, it can be indicated by “2” indicating the continuous number and one image data.
[0049]
For example, the color information of the hatched portion is (R, G, B) = (0xff, 0x00, 0x00), and the color information of the unhatched portion is (R, G, B) = (0xff, 0xff, 0xff) ), And when the image data is represented by TRGB on the assumption that the information of other parts including the tag information is T = (0x00), the first four image data can be represented by (0x00ff0000). . '0x' indicates a hexadecimal number. The latter two pieces of image data can be represented by (0x00ffffff). That is, the image data including the tag information and the color information shown in FIG. 6B can be shown as shown in FIG. Note that the data shown in FIG. 6C is expressed in hexadecimal.
[0050]
When these are run-length compressed using continuous numbers, as shown in FIG. 6 (D), the first four pieces of image data have only 0x0004 as the continuous number and 0x00ff0000 as the image data, and the 16-byte data is 6 It becomes byte data. Similarly, for the latter two image data, the continuous number is 0x0002, the image data is only 0x00ffffff, and the 8-byte data is 6-byte data. Note that the data shown in FIG. 6D is also hexadecimal data.
[0051]
In this way, the amount of data can be further reduced by performing run-length compression on image data including color information and tag information. The continuous data length is arbitrary, and is not limited to 2-byte data as in the example shown in FIG.
[0052]
The image data including the color information and the tag information as described above can be subjected to various processes in the data format. Some examples will be described below. As shown in FIG. 1, when a drawing command is received and a graphic indicated by the drawing command is expanded by the image expansion unit 8, the character graphic converted by the character graphic generation unit 2 and the conversion unit 4, A process of drawing the vector graphic processed by the vector graphic drawing unit 6 and the raster image processed by the raster image processing unit 7 as one image is performed. Conventionally, since each character or figure is drawn in an image with an output resolution, a large-capacity drawing memory is required, and when this is temporarily stored, compression processing is performed again. In the present invention, if possible, the drawing process can be performed with the data format of the image data including the color information and the tag information. As a result, the capacity of the drawing memory can be reduced and the processing speed can be increased, and even if it is temporarily stored, the amount of data is small, so that it can be stored as it is.
[0053]
FIG. 7 is a flowchart showing an example of the operation during the drawing process in the embodiment of the image processing apparatus and the image processing method of the present invention. In S11, for example, it is determined whether or not a predetermined unit of drawing objects such as one band or one page has been completed. If there is an object to be drawn, the process proceeds to S12. In S12, the command analysis unit 1 acquires and analyzes a drawing command indicating an object to be drawn, and depending on the drawing object, the character figure generation unit 2, the vector graphic drawing unit 6, or the raster graphic processing unit 7 A drawing instruction is sent.
[0054]
In response to the drawing instruction, the character graphic generation unit 2 (and the conversion unit 4), the vector graphic drawing unit 6, and the raster graphic processing unit 7 perform object drawing processing according to the instruction in S13, and the color information and the color information as described above. The image data including the tag information is passed to the image development unit 8. In step S14, the image development unit 8 draws the image data passed from the conversion unit 4, the vector graphic drawing unit 6, and the raster graphic processing unit 7 as one image. At this time, subsequent image data is synthesized with the image data drawn so far, but both can be performed in the data format of the image data including the color information and the tag information.
[0055]
When the drawing process on the drawing object of the predetermined unit is completed, the image data of the predetermined unit is output in S15. When outputting, for example, if the output destination is a printer or the like, the raster image is developed and output according to the resolution of the printer. Of course, it can also be written to a file.
[0056]
An example of the drawing process shown in FIG. 7 will be further described. FIG. 8 is an explanatory diagram of an example of a drawing process using a specific example of a drawing object. Here, as an example, a case is shown in which a drawing command for filling a region specified by a Path command indicating a drawing vector with a color specified by RGB is input. First, the command analysis unit 1 analyzes the drawing command, and in the case of the Path command and the fill command described above, the command analysis unit 1 decomposes the area indicated by the specified Path command into a plurality of trapezoids, and generates an intermediate code for each trapezoid. Generate. This intermediate code can be generated in units of one page, for example, and stored in an intermediate code holding unit or the like.
[0057]
When the generation of the intermediate code is completed, since the vector graphic is drawn here, the vector graphic drawing unit 6 extracts the intermediate code and generates the vector graphic.
[0058]
For example, it is assumed that a trapezoid as shown in FIG. At this time, the start X coordinate and the end X coordinate for each scanning line are obtained from the start Y coordinate, end Y coordinate, and left / right tilt information of the trapezoid to be drawn. Here, when generating image data for every 2 × 2 pixels as illustrated in FIG. 2, if the trapezoidal fill area is obtained every two lines, the start / end X coordinates for two scanning lines are obtained. Ask. In FIG. 8A, reference is made to two scanning lines between the bold lines, and the filled area between the start X coordinate and the end X coordinate is indicated by an arrow line. Note that it is preferable that the two scanning lines to be referred to coincide with the scanning lines used when drawing by the image developing unit 8.
[0059]
Then, shape information is generated for each 2 × 2 pixels from this information, and image data as described above is generated together with the RGB values of the color designated in advance. FIG. 8B shows image data generated for two scanning lines sandwiched between thick lines in FIG. Note that the tag information indicating the pixel position is shown by painting 2 × 2 cells. In addition, reference position information may be included in the image data. The image data generated in this way is sent to the image development unit 8.
[0060]
When receiving the image data as shown in FIG. 8B sent from the vector graphic drawing unit 6, the image development unit 8 draws over the image data for one band or one page, for example. When drawing the received image data in an area where nothing is drawn, the background portion remains white as shown in FIG. 8C, so if this image data is replaced with the received image data, Then, the drawing process ends. The processing result is as shown in FIG.
[0061]
However, when there are already drawn figures and characters, it is necessary to update the shape information and the color information when drawing on them. FIG. 9 is a flowchart illustrating an example of image data overwrite processing. In S21, image data is received from the conversion unit 4, the vector graphic drawing unit 6, the raster image processing unit 7, and the like. In S22, image data of a drawing destination is acquired. In step S23, the color information of the image data to be drawn is compared with the color information of the drawing destination image data. If they are different, the image data to be drawn acquired in step S21 is overwritten in step S25, and the processing for the image data ends.
[0062]
If the color information of the image data to be drawn and the image data of the drawing destination is the same, the logical sum (or logical product) of the tag information of both image data is taken in S24, and new image data is generated. . The color information of the new image data can be left as it is. When the reference position information is included in the image data, either one may be selected, or new reference position information may be generated from both. Then, the image data newly generated in this way is overwritten in S25, and the processing for the received image data to be drawn is finished.
[0063]
With such a drawing process, even when another figure is overwritten on the already drawn figure, a normal drawing result can be obtained to some extent.
[0064]
10 and 11 are explanatory diagrams of a specific example of the image data overwriting process. The image data overwriting process shown in FIG. 9 will be described using a specific example. FIG. 10 shows a specific example when the color information is different, and FIG. 11 shows a specific example when the color information is the same. In any of the examples, images as shown in FIGS. 10A and 11A have been drawn so far, and image data corresponding to 2 × 2 pixels in the center is shown in FIG. This is shown in FIG. In this specific example, it is assumed that the reference position information is also included in the image data, and the reference position information is indicated by an arrow line. Further, the color information indicates a color difference by making hatching different.
[0065]
First, consider a case where image data corresponding to 2 × 2 pixels as shown in FIG. 10B is drawn on an image in the middle of drawing as shown in FIG. Assume that image data including tag information, color information, and reference position information as shown in FIG. 10E is received as image data to be drawn. At this time, the color information of the image data of the drawing destination (FIG. 10D) is different from the color information of the image data to be drawn (FIG. 10E). In this case, the image data shown in FIG. 10E is overwritten on the image data shown in FIG. As a result, the image data becomes as shown in FIG. 10F, and an image as shown in FIG. 10C is obtained as the image. This drawing result coincides with the result of overwriting the image shown in FIG. 10B with the image shown in FIG. 10A, and it can be seen that the drawing process can be performed satisfactorily.
[0066]
Next, consider a case where image data corresponding to 2 × 2 pixels as shown in FIG. 11B is drawn on an image in the middle of drawing as shown in FIG. Assume that image data including tag information, color information, and reference position information as shown in FIG. 11E is received as image data to be drawn. At this time, the color information of the drawing destination image data (FIG. 11D) matches the color information of the image data to be drawn (FIG. 11E). In this case, the logical sum of the tag information of the image data shown in FIG. 11D and the tag information of the image data shown in FIG. 11E is taken to generate the image data shown in FIG. This image data is overwritten on the image data shown in FIG. As a result, an image as shown in FIG. 11C is obtained. This drawing result is in agreement with the result of overwriting the image shown in FIG. 11B on the image shown in FIG. 11A, and it can be seen that the drawing process can be performed satisfactorily.
[0067]
As described above, the drawing process can be performed with the image data including the color information and the tag information. As a result, the amount of data handled can be significantly reduced, and the processing speed can be increased and the amount of memory for storing image data can be reduced.
[0068]
Depending on the drawing command and conditions, there are cases where it is impossible to perform the drawing process with the image data including the color information and the tag information as described above. For example, when referring to the color of a destination image in ROP (Raster Operation) processing, it is difficult to synthesize information on one pixel obtained by combining a plurality of pixels in the destination image with information on one pixel to be drawn. It is. The operation when there is a case where it is impossible to perform the drawing process with the image data including the color information and the tag information depending on the drawing command and conditions will be described.
[0069]
FIG. 12 is a flowchart showing another example of the operation during the drawing process in the embodiment of the image processing apparatus and the image processing method of the present invention. In S31, for example, it is determined whether or not a predetermined unit of drawing objects such as one band or one page has been completed. If there is an object to be drawn, the process proceeds to S32. In S32, the command analysis unit 1 obtains and analyzes a drawing command indicating an object to be drawn, and depending on the drawing object, the character / graphic generation unit 2, the vector graphic drawing unit 6, or the raster graphic processing unit 7 A drawing instruction is sent. At this time, in S33, it is determined whether or not the drawing process can be performed with the image data including the color information and the tag information based on the drawing command and conditions.
[0070]
When it is possible to perform drawing processing with image data including color information and tag information, the character graphic generation unit 2 (and conversion unit 4), vector graphic drawing unit 6, raster graphic processing that has received a drawing instruction In step S34, the unit 7 performs an object drawing process according to the instruction, and passes the image data including the color information and the tag information to the image development unit 8 as described above. In step S35, the image development unit 8 draws the image data passed from the conversion unit 4, the vector graphic drawing unit 6, and the raster graphic processing unit 7 as one image. At this time, subsequent image data is synthesized with the image data drawn so far, but both can be performed in the data format of the image data including the color information and the tag information.
[0071]
On the other hand, when it is impossible to perform the drawing process with the image data including the color information and the tag information, the character graphic generation unit 2 (and the conversion unit 4) and the vector graphic drawing unit 6 that have received the drawing instruction. In step S36, the raster graphic processing unit 7 performs an object drawing process in accordance with the instruction. In S <b> 37, the image development unit 8 develops the image data in the drawing area of the drawing destination into an image having an output resolution, and performs normal drawing processing in S <b> 38. In step S39, the image data is converted into image data including color information and tag information and is written in the drawing area as a drawing result.
[0072]
When the drawing process on the drawing object of the predetermined unit is completed, the image data of the predetermined unit is output in S40. When outputting, for example, if the output destination is a printer or the like, the raster image is developed and output according to the resolution of the printer. Of course, it can also be written to a file.
[0073]
As described above, when there is a case where it is impossible to perform the drawing process with the image data including the color information and the tag information depending on the drawing command and conditions, the color information and the tag information are included for each drawing area as described above. It is determined whether or not the drawing process can be performed with the image data as it is. If possible, the drawing process is performed with the image data as described above. In addition, when it is impossible to perform the drawing process with the image data including the color information and the tag information, a normal drawing process is performed on the developed image, and the color information Convert to image data including tag information. In this way, an accurate compressed image is generated by dynamically switching the drawing process depending on whether or not the drawing process can be performed with the image data including the color information and the tag information. Further, the development of the output resolution image may be in the range of the area to be drawn, and high-speed processing is possible.
[0074]
The drawing process may be a normal process, and the processing result may be converted into image data including color information and tag information and stored. Even in this case, there is an advantage that the memory capacity for storing the drawn image data can be reduced.
[0075]
As another example of processing using image data including color information and tag information as described above, color space conversion processing will be described. In the color space conversion process, color information between different color spaces is converted, for example, color information in the RGB color space is converted into color information in the CMYK color space used in a printer or the like. Basically, in the case of image data including color information and tag information as described above, color space conversion processing may be performed only on color information. Therefore, it is possible to perform the color space conversion process in a processing time that is a fraction of that in the case where the color space conversion process is performed on an image having an output resolution.
[0076]
When outputting to a printer or the like as in the above example, an image (plane) for each color component of C, M, Y, and K is often created as an image in the CMYK color space. In this case, conventionally, images of C, M, Y, and K are sequentially generated one by one from the received drawing data in the RGB color space. However, such a process takes time because the drawing process is repeated four times. Therefore, it is conceivable to perform drawing processing in the RGB color space and then convert to the CMYK color space. As a result, the drawing process is completed once, and the drawing process time is shortened. However, in that case, an image of each color component must be generated by performing a color space conversion process for each pixel on the entire drawn image. When this color space conversion process is performed by hardware, there is no need to worry about the conversion time, but a four-color simultaneous output printing device called tandem needs to output CMYK data for four colors at the same time. Problems with the performance of the bus for transferring images may occur. In order to avoid these problems, it is conceivable that data decomposed into images for each color component of CMYK in advance is generated by software. However, if all the pixels are converted from the RGB color space to the CMYK color space, a considerable processing time is required.
[0077]
In contrast, by using image data including color information and tag information as described above, the amount of data can be reduced, so that it is possible to prevent an increase in processing time even if color space conversion processing is performed. , Can be processed at high speed.
[0078]
Furthermore, considering the run-length compression of image data including color information and tag information as described above, it is possible to further increase the speed by greatly reducing the amount of data for color space conversion processing. . Here, an example is shown in which color space conversion processing and run-length compression processing are combined.
[0079]
FIG. 13 is a flowchart showing an example of operations of color space conversion processing and run length compression processing in the embodiment of the image processing apparatus and the image processing method of the present invention. Here, as an example, color information in the RGB color space is converted into color information in the CMYK color space, and an image for each color component is generated. Therefore, in S51, a plane area for writing each image of C, M, Y, K after color space conversion is secured in advance.
[0080]
In S52, the first image data is read, and in S53, a variable Len indicating the number of continuations is initialized to 1. In S54, the next image data is read. In S55, the previously read image data is compared with the next image data read in S54. If the tag information and the color information match, 1 is added to the variable Len indicating the number of continuations in S56, and the process returns to S54 to read the next image data. While the image data match in this way, 1 is added to the variable Len, and the continuation number is stored in the variable Len.
[0081]
If the image data read in S54 is different from the previous image data, color space conversion processing and run length compression processing are performed on the previous image data. That is, in S57, color information in the RGB color space of the previous image data is converted into color information in the CMYK color space. In S58, the value of the variable Len, the tag information T, and the C component after the color space conversion process are written as color information in the C component plane. Similarly, in S59, the value of the variable Len, the tag information T, and the M component after the color space conversion process are written to the M component plane. In S60, the value of the variable Len, the tag information T, and the Y after the color space conversion process are written. The component is written in the Y component plane. In S61, the value of the variable Len, the tag information T, and the K component after the color space conversion process are written in the K component plane.
[0082]
In S62, it is determined whether or not a predetermined unit of processing such as one band or one page has been completed. If the predetermined unit of processing has not been completed, the process returns to S53 to initialize the variable Len to 1 and continue the same image data. Count. When the processing of a predetermined unit is completed in this way, the color conversion process and the run length compression process are finished.
[0083]
As described above, when the same image data is continuous, the color space conversion process is performed for only one of them, and the continuous number is written in the plane of each color component. Therefore, the color space conversion processing amount is greatly reduced, and high-speed processing is possible. Since run-length compression is also performed at the same time, the amount of data written to each color component plane is small, and the amount of memory can be reduced.
[0084]
FIG. 14 is an explanatory diagram of a specific example of the operations of the color space conversion process and the run length compression process in the embodiment of the image processing apparatus and the image processing method of the present invention. Here, using the example shown in FIG. 6 described above, description will be made including color space conversion processing. The same rendered image as FIG. 6A is shown in FIG. For example, the color information of the hatched portion is (R, G, B) = (0xff, 0x00, 0x00), and the color information of the unhatched portion is (R, G, B) = (0xff, 0xff, 0xff) ), And when the image data is represented by 4 bytes of TRGB assuming that the information of other parts including the tag information is T = (0x00), as described in FIG. 6, as shown in FIG. The image data is as shown.
[0085]
Such image data is sequentially referred to. Then, after (T, R, G, B) = (0x00, 0xff, 0x00, 0x00) appears four times, different image data appears. Accordingly, four pieces of image data of (T, R, G, B) = (0x00, 0xff, 0x00, 0x00) are read, and when the next image data is read, run lengths corresponding to the four pieces of image data up to that point are read. Output compressed image data. At this time, color space conversion from color information in the RGB color space to color information in the CMYK color space is performed. For example, color information after conversion corresponding to color information (R, G, B) = (0xff, 0x00, 0x00) in the RGB color space is (C, M, Y, K) = (0x06, 0xf3, 0xf8, 0x00). ), A value as shown in FIG. 14C is written in each color component plane. The first two bytes are the continuous number, which is the value of the variable Len in the flowchart shown in FIG. The next 1 byte is tag information, and the next 1 byte is color information after color space conversion processing (only one color component). For example, for the C color component, 0x00040006 including 0x0004 indicating the consecutive number “4”, tag information 0x00, and 0x06, which is the converted value of the C color component, is written to the C color component plane. The same applies to the M, Y, and K components. In FIGS. 14C and 14D, hexadecimal values are used.
[0086]
After the image data of (T, R, G, B) = (0x00, 0xff, 0xff, 0xff) is read, the next image data is also the same, so the continuous number at this time is “2”. Here, color space conversion processing is performed. For example, color information after conversion corresponding to color information (R, G, B) = (0xff, 0xff, 0xff) in the RGB color space is (C, M, Y, K) = (0x00, 0x00, 0x00, 0x00). ), The value 0x00 of each color component is written in the plane of each color component together with 0x0002 indicating the continuous number “2” and tag information 0x00. As a result, as shown in FIG. 14D, data of 0x00020000 is written after the data shown in FIG. 14C in each color component plane.
[0087]
In this way, in the above-described specific example, it is only necessary to perform two color space conversion processes for six pieces of image data. Therefore, the time required for the color space conversion process can be greatly reduced. Also, the amount of data written to each color component plane can be compressed from 12 bytes to 8 bytes by applying run length compression. In this example, 2 bytes are used to represent the continuous number, but this is arbitrary. For example, in the above specific example, if the continuous number is represented by 1 byte, it can be 6 bytes of data. These effects of reducing the processing time and reducing the amount of data are even greater than for example when color space conversion processing or run-length compression is performed on an image developed to output resolution. Needless to say.
[0088]
【The invention's effect】
As is apparent from the above description, according to the present invention, a color image having high resolution and high gradation can be generated from image data with a small amount of data, and therefore the amount of memory for storing image data Etc., and a low-cost image processing apparatus can be provided. Also, since the amount of image data is small, the time required for various processes such as image data transfer, drawing processing, and color space conversion processing can be shortened, and color with high resolution and high gradation can be achieved at high speed. There is an effect that it is possible to provide an image processing apparatus and an image processing method capable of outputting an image. Furthermore, the amount of data can be further reduced by performing compression such as run length.
[Brief description of the drawings]
FIG. 1 is a block diagram illustrating an embodiment of an image processing apparatus and an image processing method according to the present invention.
FIG. 2 is an explanatory diagram showing an example of information included in image data in the present invention.
FIG. 3 is an explanatory diagram of an example of color determination by peripheral pixels for pixels for which color information is not selected by tag information.
FIG. 4 is an explanatory diagram of an example of reference position information.
FIG. 5 is an explanatory diagram of another example of reference position information.
FIG. 6 is an explanatory diagram of an example of run length compression processing;
FIG. 7 is a flowchart showing an example of an operation at the time of a drawing process in the embodiment of the image processing apparatus and the image processing method of the present invention.
FIG. 8 is an explanatory diagram of an example of a drawing process using a specific example of a drawing object.
FIG. 9 is a flowchart illustrating an example of overwriting processing of image data.
FIG. 10 is an explanatory diagram of a specific example of image data overwrite processing (during different colors).
FIG. 11 is an explanatory diagram of a specific example of overwriting processing (at the same color) of image data.
FIG. 12 is a flowchart showing another example of the operation during the drawing process in the embodiment of the image processing apparatus and the image processing method of the present invention.
FIG. 13 is a flowchart showing an example of color space conversion processing and run-length compression processing in an embodiment of the image processing apparatus and image processing method of the present invention.
FIG. 14 is an explanatory diagram of a specific example of color space conversion processing and run-length compression processing in an embodiment of the image processing apparatus and the image processing method of the present invention;
[Explanation of symbols]
DESCRIPTION OF SYMBOLS 1 ... Command analysis part, 2 ... Character figure production | generation part, 3 ... Font memory, 4 ... Conversion part, 5 ... Font cache, 6 ... Vector figure drawing part, 7 ... Raster image processing part, 8 ... Image expansion part

Claims (30)

所定の解像度のカラー画像を出力する画像処理装置において、所定の解像度における複数画素ごとに色情報を有するとともに、前記複数画素について該複数画素内で前記色情報を有する画素位置を示すタグ情報とを含む画像データを受け取り、前記タグ情報に従って対応する色情報を配するとともに前記タグ情報により前記色情報を有することが示されていない画素位置については周囲の複数画素が有する色情報を配して前記所定の解像度のカラー画像に展開する画像展開手段を有していることを特徴とする画像処理装置。  In an image processing apparatus that outputs a color image of a predetermined resolution, tag information indicating color information for each of a plurality of pixels at a predetermined resolution and indicating the pixel position having the color information in the plurality of pixels is included in the plurality of pixels. Receiving image data, arranging corresponding color information according to the tag information and arranging the color information possessed by a plurality of surrounding pixels for pixel positions not indicated by the tag information as having the color information An image processing apparatus comprising image developing means for developing a color image having a predetermined resolution. 前記画像展開手段は、前記タグ情報により前記色情報を有することが示されていない画素位置については、それぞれの画素位置に従って周囲のいずれかの複数画素を選択し、選択された周囲の複数画素が有する色情報を配することを特徴とする請求項1に記載の画像処理装置。  For the pixel positions that are not indicated by the tag information to have the color information, the image development means selects any of the surrounding pixels according to the respective pixel positions, and the selected surrounding pixels The image processing apparatus according to claim 1, wherein color information is provided. 前記画像データは、さらに前記タグ情報により示されていない画素位置について参照する周囲の複数画素を選択する参照位置情報を含んでおり、前記画像展開手段は、前記タグ情報により前記色情報を有することが示されていない画素位置については、前記参照位置情報に従って選択される周囲の複数画素が有する色情報を配することを特徴とする請求項1に記載の画像処理装置。  The image data further includes reference position information for selecting a plurality of surrounding pixels to be referred to for pixel positions not indicated by the tag information, and the image development means has the color information by the tag information. 2. The image processing apparatus according to claim 1, wherein color information of a plurality of surrounding pixels selected according to the reference position information is arranged for pixel positions not indicated by. 前記画像データは、前記タグ情報により前記色情報を有することが示されていないそれぞれの画素位置について前記参照位置情報を有していることを特徴とする請求項3に記載の画像処理装置。  The image processing apparatus according to claim 3, wherein the image data includes the reference position information for each pixel position that is not indicated to have the color information by the tag information. 前記画像データは、さらに前記タグ情報に従った展開を行うか否かを示すフラグ情報を含んでおり、前記画像展開手段は、前記フラグ情報が前記タグ情報に従った展開を示している場合に前記タグ情報を用いた展開を行うことを特徴とする請求項1ないし請求項4のいずれか1項に記載の画像処理装置。  The image data further includes flag information indicating whether or not to perform expansion in accordance with the tag information, and the image expansion means is provided when the flag information indicates expansion in accordance with the tag information. The image processing apparatus according to claim 1, wherein development using the tag information is performed. 前記所定の解像度で文字図形を生成する文字図形生成手段と、該文字図形生成手段で生成された文字図形を該文字図形の複数画素毎に代表する1色を示す色情報と該色情報が配置される複数画素中の位置を示すタグ情報を含む画像データに変換する変換手段をさらに有し、該変換手段で変換された画像データが前記画像展開手段に入力されることを特徴とする請求項1ないし請求項5のいずれか1項に記載の画像処理装置。  Character graphic generation means for generating a character graphic at the predetermined resolution, color information indicating one color representing the character graphic generated by the character graphic generation means for each of a plurality of pixels of the character graphic, and the color information are arranged The image processing apparatus further comprises conversion means for converting into image data including tag information indicating positions in a plurality of pixels, and the image data converted by the conversion means is input to the image development means. The image processing apparatus according to any one of claims 1 to 5. 前記変換手段で変換された文字図形に対応する画像データを登録しておくキャッシュ記憶手段を有しており、前記文字図形生成手段において文字図形を生成する際に前記キャッシュ記憶手段に登録されている文字図形については前記キャッシュ記憶手段に登録されている該文字図形に対応する画像データを用いることを特徴とする請求項6に記載の画像処理装置。  It has a cache storage means for registering image data corresponding to the character graphic converted by the conversion means, and is registered in the cache storage means when the character graphic generation means generates the character graphic. The image processing apparatus according to claim 6, wherein image data corresponding to the character graphic registered in the cache storage unit is used for the character graphic. 前記画像展開手段は、少なくとも文字図形の部分に対応する画像データについて前記タグ情報を用いた展開を行うことを特徴とする請求項6または請求項7に記載の画像処理装置。  The image processing apparatus according to claim 6, wherein the image expansion unit performs expansion using the tag information for image data corresponding to at least a character graphic portion. 前記画像展開手段は、前記色情報及び前記タグ情報を含む画像データを保持するとともに保持している画像データに対してデータ形式を変更せずに後続の画像データを描画処理することを特徴とする請求項1ないし請求項8のいずれか1項に記載の画像処理装置。  The image expansion means holds the image data including the color information and the tag information and draws subsequent image data without changing the data format of the held image data. The image processing apparatus according to claim 1. 前記画像展開手段は、前記色情報及び前記タグ情報を含む画像データを保持するとともに保持している画像データに対して後続の画像データを描画処理する際に、データ形式を変更せずに描画可能か否かを判定し、該判定結果に応じてデータ形式を変更せずに描画処理を行うかあるいは前記所定の解像度のカラー画像に展開してから描画処理を行うかを切り替えて描画処理を行うことを特徴とする請求項1ないし請求項8のいずれか1項に記載の画像処理装置。  The image expansion means can hold the image data including the color information and the tag information and can draw without changing the data format when the subsequent image data is drawn with respect to the held image data. The drawing process is performed by switching whether to perform the drawing process without changing the data format according to the determination result or to perform the drawing process after developing the color image with the predetermined resolution. The image processing apparatus according to claim 1, wherein the image processing apparatus is an image processing apparatus. 前記画像展開手段は、前記色情報及び前記タグ情報を含む画像データを保持するとともに保持している画像データに対して後続の画像データを描画処理する際に、描画処理対象領域の保持している画像データ及び前記後続の画像データを前記所定の解像度のカラー画像に展開してから描画処理を行い、再び前記色情報及び前記タグ情報を含む画像データに変換して保持することを特徴とする請求項1ないし請求項8のいずれか1項に記載の画像処理装置。  The image expansion means holds image data including the color information and the tag information, and holds a drawing process target area when drawing image data subsequent to the held image data. The image data and the subsequent image data are developed into a color image having the predetermined resolution, and then drawing processing is performed, and the image data is again converted into image data including the color information and the tag information and stored. The image processing apparatus according to any one of claims 1 to 8. 前記画像展開手段は、前記色情報及び前記タグ情報を含む画像データを受け取り、該画像データの色情報及び前記タグ情報が同一の複数の画像データについては、その個数とともに1つの画像データに変換することを特徴とする請求項1ないし請求項11のいずれか1項に記載の画像処理装置。  The image expansion means receives the image data including the color information and the tag information, and converts a plurality of image data having the same color information and the tag information into one image data together with the number of the image data. The image processing apparatus according to claim 1, wherein the image processing apparatus is an image processing apparatus. 前記画像展開手段は、前記色情報及び前記タグ情報を含む画像データを受け取り、該画像データの色情報に対して所定の色空間の色情報への変換処理を行うことを特徴とする請求項1ないし請求項12のいずれか1項に記載の画像処理装置。  The image development means receives image data including the color information and the tag information, and converts the color information of the image data into color information of a predetermined color space. The image processing apparatus according to claim 12. 前記画像展開手段は、前記色情報及び前記タグ情報を含む画像データを受け取り、該画像データの色情報及び前記タグ情報が同一の複数の画像データについてはその個数を計数するとともに、当該画像データの色情報に対して所定の色空間の色情報への変換処理を行った後のそれぞれの色成分毎に該色成分の色情報と前記計数値を対応付けた画像データに変換することを特徴とする請求項1ないし請求項11のいずれか1項に記載の画像処理装置。  The image expansion means receives image data including the color information and the tag information, and counts the number of image data having the same color information and the tag information of the image data, and For each color component after the color information is converted to color information in a predetermined color space, the color information of the color component and the count value are converted into image data associated with each other. The image processing apparatus according to any one of claims 1 to 11. 前記画像展開手段は、RGB色空間の色情報を含む画像データを受け取り、CMYK色空間の色情報に変換することを特徴とする請求項13または請求項14に記載の画像処理装置。  15. The image processing apparatus according to claim 13, wherein the image development unit receives image data including color information in an RGB color space and converts the image data into color information in a CMYK color space. 入力された画像データから所定の解像度のカラー画像を生成する画像処理方法において、所定の解像度における複数画素ごとに色情報を有するとともに、前記複数画素について該複数画素内で前記色情報を有する画素位置を示すタグ情報とを含む画像データを受け取り、前記タグ情報に従って対応する色情報を配するとともに前記タグ情報により前記色情報を有することが示されていない画素位置については周囲の複数画素が有する色情報を配して前記所定の解像度のカラー画像に展開することを特徴とする画像処理方法。  In an image processing method for generating a color image of a predetermined resolution from input image data, a pixel position having color information for each of a plurality of pixels at a predetermined resolution and having the color information in the plurality of pixels Color information corresponding to the tag information, and corresponding color information according to the tag information, and for the pixel positions that are not indicated by the tag information to have the color information, the colors of the surrounding pixels An image processing method characterized in that information is arranged and developed into a color image having the predetermined resolution. 前記画像データから前記所定の解像度のカラー画像に展開する際に、前記タグ情報により前記色情報を有することが示されていない画素位置については、それぞれの画素位置に従って周囲のいずれかの複数画素を選択し、選択された周囲の画素が有する色情報を配することを特徴とする請求項16に記載の画像処理方法。  When developing from the image data to the color image of the predetermined resolution, for pixel positions that are not indicated by the tag information to have the color information, a plurality of surrounding pixels are added according to the respective pixel positions. The image processing method according to claim 16, wherein color information included in the selected peripheral pixels is arranged. 前記画像データは、さらに前記タグ情報により示されていない画素位置について参照する周囲の複数画素を選択する参照位置情報を含んでおり、前記画像データから前記所定の解像度のカラー画像に展開する際に、前記タグ情報により前記色情報を有することが示されていない画素位置については、前記参照位置情報に従って選択される周囲の複数画素が有する色情報を配することを特徴とする請求項16に記載の画像処理方法。  The image data further includes reference position information for selecting a plurality of surrounding pixels to be referred to for pixel positions not indicated by the tag information, and when developing from the image data to the color image of the predetermined resolution The pixel information that is included in a plurality of surrounding pixels selected according to the reference position information is arranged for pixel positions that are not indicated by the tag information as having the color information. Image processing method. 前記画像データは、前記タグ情報により前記色情報を有することが示されていないそれぞれの画素位置について前記参照位置情報を有しており、前記タグ情報により示されていないそれぞれの画素位置について、対応する前記参照位置情報に従って選択される周囲の画素が有する色情報を配することを特徴とする請求項18に記載の画像処理方法。  The image data includes the reference position information for each pixel position not indicated to have the color information by the tag information, and corresponds to each pixel position not indicated by the tag information. The image processing method according to claim 18, wherein color information of surrounding pixels selected according to the reference position information is arranged. 前記画像データは、さらに前記タグ情報に従った展開を行うか否かを示すフラグ情報を含んでおり、前記画像データから前記所定の解像度のカラー画像に展開する際に、前記フラグ情報が前記タグ情報に従った展開を示している場合に前記タグ情報を用いた展開を行うことを特徴とする請求項16ないし請求項19のいずれか1項に記載の画像処理方法。  The image data further includes flag information indicating whether or not to perform expansion in accordance with the tag information. When the image data is expanded into the color image of the predetermined resolution, the flag information is the tag information. The image processing method according to any one of claims 16 to 19, wherein development using the tag information is performed when development according to information is indicated. 前記所定の解像度で文字図形を生成し、生成した文字図形を該文字図形の複数画素毎に代表する1色を示す色情報と該色情報が配置される複数画素中の位置を示すタグ情報を含む画像データに変換し、変換した画像データについて前記所定の解像度のカラー画像に展開することを特徴とする請求項16ないし請求項20のいずれか1項に記載の画像処理方法。  A character graphic is generated at the predetermined resolution, color information indicating one color representing the generated character graphic for each of a plurality of pixels of the character graphic, and tag information indicating a position in the plurality of pixels where the color information is arranged. 21. The image processing method according to claim 16, wherein the image data is converted into image data, and the converted image data is developed into a color image having the predetermined resolution. 前記文字図形に対応する画像データを登録しておき、文字図形を生成するまでに登録されている文字図形については登録されている該文字図形に対応する画像データを用いることを特徴とする請求項21に記載の画像処理方法。  The image data corresponding to the character graphic is registered, and the image data corresponding to the registered character graphic is used for the character graphic registered until the character graphic is generated. 22. The image processing method according to item 21. 少なくとも文字図形の部分に対応する画像データについて前記タグ情報を用いた展開を行うことを特徴とする請求項21または請求項22に記載の画像処理方法。  23. The image processing method according to claim 21, wherein the image data corresponding to at least a character graphic portion is expanded using the tag information. 前記色情報及び前記タグ情報を含む画像データを受け取って保持するとともに、保持している画像データに対してデータ形式を変更せずに後続の画像データを描画処理することを特徴とする請求項16ないし請求項23のいずれか1項に記載の画像処理方法。  17. The image data including the color information and the tag information is received and held, and subsequent image data is rendered without changing the data format with respect to the held image data. The image processing method according to any one of claims 23 to 23. 前記色情報及び前記タグ情報を含む画像データを受け取って保持するとともに、保持している画像データに対して後続の画像データを描画処理する際に、データ形式を変更せずに描画可能か否かを判定し、該判定結果に応じてデータ形式を変更せずに描画処理を行うかあるいは前記所定の解像度のカラー画像に展開してから描画処理を行うかを切り替えて描画処理を行うことを特徴とする請求項16ないし請求項23のいずれか1項に記載の画像処理方法。  Whether image data including the color information and the tag information is received and held, and whether or not drawing can be performed without changing the data format when the subsequent image data is drawn with respect to the held image data The drawing process is performed by switching whether to perform the drawing process without changing the data format according to the determination result or to perform the drawing process after developing the color image with the predetermined resolution. The image processing method according to any one of claims 16 to 23. 前記色情報及び前記タグ情報を含む画像データを受け取って保持するとともに、保持している画像データに対して後続の画像データを描画処理する際に、描画処理対象領域の保持している画像データ及び前記後続の画像データを前記所定の解像度のカラー画像に展開してから描画処理を行い、再び前記色情報及び前記タグ情報を含む画像データに変換して保持することを特徴とする請求項16ないし請求項23のいずれか1項に記載の画像処理方法。  The image data including the color information and the tag information is received and held, and when the subsequent image data is drawn with respect to the held image data, the image data held in the drawing process target area and 17. The subsequent image data is developed into a color image of the predetermined resolution, and then rendering processing is performed, and the image data including the color information and the tag information is converted and held again. The image processing method according to any one of claims 23. 前記色情報及び前記タグ情報を含む画像データを受け取り、該画像データの色情報及び前記タグ情報が同一の複数の画像データについては、その個数とともに1つの画像データに変換することを特徴とする請求項16ないし請求項26のいずれか1項に記載の画像処理方法。  The image data including the color information and the tag information is received, and a plurality of image data having the same color information and the tag information of the image data are converted into one image data together with the number thereof. The image processing method according to any one of claims 16 to 26. 前記色情報及び前記タグ情報を含む画像データを受け取り、該画像データの色情報に対して所定の色空間の色情報への変換処理を行うことを特徴とする請求項16ないし請求項27のいずれか1項に記載の画像処理方法。  The image data including the color information and the tag information is received, and the color information of the image data is converted into color information of a predetermined color space. The image processing method according to claim 1. 前記色情報及び前記タグ情報を含む画像データを受け取り、該画像データの色情報及び前記タグ情報が同一の複数の画像データについてはその個数を計数するとともに、当該画像データの色情報に対して所定の色空間の色情報への変換処理を行った後のそれぞれの色成分毎に該色成分の色情報と前記計数値を対応付けた画像データに変換することを特徴とする請求項16ないし請求項26のいずれか1項に記載の画像処理方法。  The image data including the color information and the tag information is received, and a plurality of image data having the same color information and the tag information are counted, and predetermined for the color information of the image data. 17. The method according to claim 16, further comprising: converting the color information of the color component and the count value into corresponding image data for each color component after the conversion processing to the color information of the color space. Item 27. The image processing method according to any one of items 26. 受け取った画像データの色情報はRGB色空間の色情報を含む画像データであり、該色情報をCMYK色空間の色情報に変換することを特徴とする請求項28または請求項29に記載の画像処理方法。  30. The image according to claim 28 or 29, wherein the color information of the received image data is image data including color information in the RGB color space, and the color information is converted into color information in the CMYK color space. Processing method.
JP2000401134A 2000-02-23 2000-12-28 Image processing apparatus and image processing method Expired - Fee Related JP3680931B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2000401134A JP3680931B2 (en) 2000-02-23 2000-12-28 Image processing apparatus and image processing method

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2000-46611 2000-02-23
JP2000046611 2000-02-23
JP2000401134A JP3680931B2 (en) 2000-02-23 2000-12-28 Image processing apparatus and image processing method

Publications (2)

Publication Number Publication Date
JP2001313834A JP2001313834A (en) 2001-11-09
JP3680931B2 true JP3680931B2 (en) 2005-08-10

Family

ID=26585938

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000401134A Expired - Fee Related JP3680931B2 (en) 2000-02-23 2000-12-28 Image processing apparatus and image processing method

Country Status (1)

Country Link
JP (1) JP3680931B2 (en)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007088684A (en) * 2005-09-21 2007-04-05 Fuji Xerox Co Ltd Encoder, decoder, encoding method, decoding method and program
JP4822960B2 (en) * 2006-07-07 2011-11-24 キヤノン株式会社 Image processing apparatus and image processing method
US8134742B2 (en) 2006-07-07 2012-03-13 Canon Kabushiki Kaisha Output device and method for outputting density data corresponding to a color material to a printing unit
JP2008205636A (en) * 2007-02-16 2008-09-04 Canon Inc Image processing device, image processing method of image processing device, and program
JP5173873B2 (en) 2008-11-20 2013-04-03 キヤノン株式会社 Image coding apparatus and control method thereof
JP2010130463A (en) 2008-11-28 2010-06-10 Oki Data Corp Print data generation apparatus, printing device, and print data processing system
JP5116650B2 (en) * 2008-12-10 2013-01-09 キヤノン株式会社 Image coding apparatus and control method thereof
JP2010211559A (en) * 2009-03-11 2010-09-24 Seiko Epson Corp Image processor, image processing method, and computer program for image processing
JP5771976B2 (en) * 2010-12-20 2015-09-02 セイコーエプソン株式会社 Image processing apparatus, image processing method, and program thereof
JP7109529B2 (en) * 2020-12-28 2022-07-29 日本プリンタエンジニアリング株式会社 PRINTING DEVICE, PRINT DATA CREATION METHOD, AND PROGRAM

Also Published As

Publication number Publication date
JP2001313834A (en) 2001-11-09

Similar Documents

Publication Publication Date Title
US5329616A (en) Compressed image stores for high resolution computer graphics
US5225911A (en) Means for combining data of different frequencies for a raster output device
JPH0352071B2 (en)
JP3680931B2 (en) Image processing apparatus and image processing method
JPH11313213A (en) Information processing system, information processing method and medium
JP2830690B2 (en) Image processing device
US7139099B2 (en) Image processing device and image processing method
JP4046857B2 (en) Image processing apparatus and method, and recording medium
JPH1188700A (en) Coding method of color image signal, and decoding method and color image processor thereof
JPH11252366A (en) Printer controller, printer and printing system
US7443544B2 (en) Accelerating color conversion using a temporary palette cache
JP3285930B2 (en) Image processing device
JP3362674B2 (en) Image processing apparatus and image processing method
JP2001219601A (en) Print controller and data processing method thereof
JP3550979B2 (en) Image processing device
JP3346051B2 (en) Image processing device
JP5538996B2 (en) Image processing apparatus, image processing method, program, and storage medium
EP0497599A2 (en) Image processing apparatus
JPH07135575A (en) Color picture information output device
JP3581381B2 (en) Image processing method and image processing apparatus
JP3497864B2 (en) Signal processing device
JP2000238338A (en) Image processing device
JP2006103045A (en) Image forming apparatus
JPH01229382A (en) Picture processing system
JP2005094565A (en) Image processor and image forming apparatus

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20050107

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050119

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050322

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: 20050427

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050510

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20090527

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20100527

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20110527

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20110527

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20120527

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20130527

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20140527

Year of fee payment: 9

LAPS Cancellation because of no payment of annual fees