JP2005151064A - 画像処理装置、及び画像処理のためのプログラム - Google Patents

画像処理装置、及び画像処理のためのプログラム Download PDF

Info

Publication number
JP2005151064A
JP2005151064A JP2003384460A JP2003384460A JP2005151064A JP 2005151064 A JP2005151064 A JP 2005151064A JP 2003384460 A JP2003384460 A JP 2003384460A JP 2003384460 A JP2003384460 A JP 2003384460A JP 2005151064 A JP2005151064 A JP 2005151064A
Authority
JP
Japan
Prior art keywords
image
graphics
image processing
processing apparatus
gradation
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.)
Pending
Application number
JP2003384460A
Other languages
English (en)
Inventor
Satoru Nakayama
悟 中山
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.)
Seiko Epson Corp
Original Assignee
Seiko Epson 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 Seiko Epson Corp filed Critical Seiko Epson Corp
Priority to JP2003384460A priority Critical patent/JP2005151064A/ja
Publication of JP2005151064A publication Critical patent/JP2005151064A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Color, Gradation (AREA)
  • Image Processing (AREA)
  • Facsimile Image Signal Circuits (AREA)

Abstract

【課題】複数のグラフィックスが重なりあった画像を印刷する場合でも、グラフィックス自体を滑らかに表現するとともにそのエッジ部分がぼやけずシャープな画像を再現して高品質の画像を形成する画像処理装置やプログラムを提供する。
【解決手段】画像展開部104において中間コードからオブジェクトの種別を判別し、さらに同色の連続する画素数を演算し、属性情報Xを生成する。X値変換部111では、この属性情報Xのうちオブジェクトの種別から処理対象の画素がグラフィックスか否かを判別する。オブジェクト画像がグラフィックスのとき、属性情報Xのうち連続する同色の画素数から連続した画素の最後の画素と、同色でないグラフィックスの最初の画素とでその階調値の差分を演算する。閾値以上のとき、異なるオブジェクトのグラフィックスのエッジ部分と判断する。このエッジ部分には解像度優先のハーフトーンテーブルを選択してハーフトーン処理を行う。
【選択図】図8

Description

本発明は、プリンタや複写機などの画像処理装置、及び画像処理を行うプログラムに関する。詳しくは、グラフィックスのエッジ部分には解像度優先スクリーンを適用した画像処理装置及び、画像処理を行うプログラムに関する。
従来から、カラープリンタ等の画像処理装置は、ホスト側から入力されたRGB画像データに対して色変換処理を行うことでYMCK(イエロー、マゼンダ、シアン、ブラック)の色データに変換し、その後ハーフトーン処理を行うことで中間階調を表現して、印刷媒体に印刷画像を再生するようになされている。
一般にかかる画像処理においては、オブジェクト画像の種類によって最適なハーフトーン処理が選択される。すなわち、文字、グラフィックス、イメージの各画像の種類によって異なるハーフトーン処理が行われる。文字からなる画像は比較的細い線で構成され自然な階調を含まない画像である。したがって細い線を表現するためには、できるだけスクリーン線数の多くして解像度を優先したハーフトーン処理を行うのが好ましい。またイメージ画像は、広範囲にわたり自然な階調の変化が含まれる画像である。したがって、解像度は悪くなるがスクリーン線数を少なくして階調度を優先した処理を行うのが好ましい。さらに、グラフィクス画像は単色で構成される場合が多くスクリーン線数を多くすると広範囲で色むらが発生するため、イメージ画像と同様に階調度を優先した処理を行うのが好ましい。
従来は、階調度を優先したハーフトーン処理と解像度を優先したハーフトーン処理の2つのテーブルを用意し、オブジェクト画像の種類によって異なるテーブルを選択するようにしている(例えば以下の特許文献1)。
特開平9−282472号公報
しかしながら、複数のグラフィックスが重なりあった画像すべてに対して階調度を優先したハーフトーン処理を行うと各グラフィックスは自然な階調でなめらかに表現されているものの、重なりあったエッジの部分はぼやけてしまう、という問題点があった。エッジの部分に対してもスクリーン線数が少なく粗い網点としたハーフトーン処理を行っているため解像度が悪くなってしまうからである。
そこで、本発明は、複数のグラフィックスが重なりあった画像を印刷する場合でも、グラフィックス自体を滑らかに表現するとともにそのエッジ部分がぼやけずにシャープな画像を再現して高品質の画像を形成する画像処理装置やプログラムを提供することを目的とするものである。
上記目的を達成するために本発明は、階調優先スクリーンと解像度優先スクリーンのいずれかを選択してハーフトーン処理を行う画像処理装置において、画像の種別がグラフィックス画像で階調優先スクリーンが適用されるとき、グラフィックス画像のエッジ部分に対しては解像度優先スクリーンを選択する制御手段を備えたことを特徴している。これにより、例えば、グラフィックスのエッジ部分がシャープな高品質の画像を印刷媒体等に形成することができる。
また、本発明は上記画像処理装置において、エッジ部分は画像の種別がグラフィックスとイメージとの境界である、ことを特徴としている。これにより、例えばグラフィックスどうしのエッジ部分のみならずグラフィックスとイメージとのエッジ部分も解像度優先スクリーンが適用されエッジ部分がシャープな高品質の画像を形成することができる。
さらに、本発明は上記画像処理装置において、制御手段はグラフィックスの階調値の差分値が閾値以上のときエッジ部分であるとして当該エッジ部分に解像度優先スクリーンを選択する、ことを特徴としている。これにより、例えば、グラフィックスが単色の場合が多いので階調値の差から異なるオブジェクトのグラフィックスを検出することができる。
さらに、本発明は上記画像処理装置において、さらに画像の種別を示す情報を含む属性値をグラフィクス画像のエッジ部分に対して解像度優先スクリーンが選択されるように変換する属性値変換手段を備え、制御手段は属性値変換手段で変換された属性値に基づいて解像度優先スクリーンを選択する、ことを特徴としている。これにより、例えば、属性値に基づいて階調優先スクリーンと解像度優先スクリーンとを選択するようになされた画像処理装置において簡易にエッジ部分に対して解像度優先スクリーンを選択することができる。
さらに、本発明は上記画像処理装置において、上記属性値変換手段は属性値に含まれる同色の連続する画素の画素数を示す情報から連続した画素の最後の画素とその次の画素との階調値の差分値が閾値以上のときに属性値を解像度優先スクリーンが選択されるように変換する、ことを特徴としている。これにより、例えば、エッジ部分を検出するため各画素ごと画素の階調値の差分値を演算する必要がなくなり処理の高速化を図ることができる。
さらに、本発明は上記画像処理装置において、上記制御手段は画像の種別が文字のとき解像度優先スクリーンを選択する、ことを特徴としている。これにより、例えば、文字の細かな線を表現した画像を印刷媒体等に形成することができ、高品質の画像を形成することができる。
さらに、本発明は上記画像処理装置において、上記制御手段は画像の種別がイメージのとき階調優先スクリーンを選択する、ことを特徴としている。これにより、例えば、自然な階調を表現した高品質の画像を印刷媒体等に形成することが可能となる。
また、上記目的を達成するために本発明は、画像の種別に応じて階調優先スクリーンと解像度優先スクリーンとを選択してハーフトーン処理を行う画像処理のためのプログラムにおいて、画像の種別がグラフィックス画像のとき階調優先スクリーンを選択し、さらにグラフィックス画像のエッジ部分に対しては解像度優先スクリーンを選択する処理を備えたプログラムであることを特徴としている。これにより、例えば、グラフィックスのエッジ部分がシャープな高品質の画像を印刷媒体等に形成するプログラムを提供することができる。
以下、図面を参照して本発明を実施するための最良の形態を説明する。図1は、本発明が適用される全体システムの構成例である。図1に示すように本システムは、ホストコンピュータ1と印刷装置2とから構成される。
ホストコンピュータ1は、CPU10と、表示部11と、HDD(Hard Disk Drive)12と、ROM13と、RAM14、及びインターフェース(I/F)15とから構成され、互いにバスを介して接続されている。CPU10はコンピュータ1内で画像処理等の各種の処理を行うためのものである。詳細は後述する。表示部11は、CPU10の制御により印刷対象の画像等を表示する。HDD12は印刷対象の画像等を格納するためのもので、CPU10の制御により印刷対象の画像が格納され適宜読み出される。ROM13は本発明が適用されるプログラムや各種処理を行うためのプログラムが格納され、CPU10により適宜読み出されて処理が実行される。RAM14は、CPU10のワーキングメモリとしての役割を果たしCPU10の実行結果等が格納される。I/F15は、CPU10の制御により印刷対象の画像を所定の伝送フォーマットに変換して外部に出力するためのものである。
このように構成されたホストコンピュータ1では、HDD12に記憶された画像をCPU10の制御により表示部11に表示させ、ユーザによるホストコンピュータ1の操作によりCPU10はROM13から画像処理のためのプログラムを読み出す。そして、CPU10でかかる処理が実行され適宜RAM14に画像処理後のデータが格納される等することでI/F15から印刷対象の画像が出力される。
次に印刷装置2について説明する。印刷装置2は、CPU20と、インターフェース(I/F)21と、ROM22と、RAM23と、印刷エンジン24、そしてコントロールパネル25とから構成され、バスを介して互いに接続されている。CPU20はROM22に格納されたプログラムを読み出して各種処理を実行するためのものである。I/F21は、ホストコンピュータ1から所定の伝送フォーマットで出力された印刷対象の画像データが入力され、印刷装置2内で処理できるデータに変換する。ROM22はCPU20が処理を実行するプログラムが格納される。RAM23はCPU20のワーキングメモリとしての役割を果たし処理後のデータ等がCPU20の制御により適宜格納される。印刷エンジン24は、後述するレーザダイオードや感光体ドラム等から構成され、印刷媒体に対して実際に画像の印刷を行う。コントロールパネル25は、印刷媒体の種別や枚数等を指定するためのものである。例えば液晶表示により指定できるようになされている。
このように構成された印刷装置2では、ホストコンピュータ1から画像データがI/F21に入力され一旦RAM23に格納される。そしてCPU20は適宜ROM22から印刷のためのプログラムを読み出して処理が実行され印刷のための駆動データを生成する。駆動データはCPU20の制御により印刷エンジン24に出力され、実際にホストコンピュータ1で生成した画像が印刷されることになる。
図2には、図1に示すシステムの機能ブロックの構成を示す。全体としてホストコンピュータ1と印刷装置2とから構成されるのは図1と同様である。図1に示すようにホストコンピュータ1は、アプリケーション部101とドライバ110とから構成される。なお、アプリケーション部101及びドライバ110は図1のCPU10、ROM13、RAM14に対応するものである。
アプリケーション部101は、文字データ、図形データ、ビットマップデータ等の印刷対象のデータを生成する。ROM13に格納されたワードプロセッサや図形ツールなどのアプリケーションプログラムをCPU10が読み出して実行することで、文字、やグラフィックス、図形などの印刷データが生成される。この印刷データは、所定の記述言語により表現されたデータである。例えば、PDL(Page Description Language)や、GDI(Graphic Device Interface)によるコマンド形式で印刷データは表現される。詳細は後述する。かかる言語で表現された印刷データはCPU10の制御により、ドライバ110に出力される。
ドライバ110は図2に示すように、コマンド解析部102と、中間コード生成部103と、画像展開部104と、バンドメモリ105と、色処理部106、及び圧縮部107とから構成される。コマンド解析部102はアプリケーション部101と接続されるとともに、中間コード生成部103に接続される。コマンド解析部102は、アプリケーション部101からGDI等の言語で記述された印刷データが入力され、そのコマンド内容を解析しその結果を中間コード生成部103に出力する。
中間コード生成部103は、コマンド解析部102から出力された情報をもとに中間コードを生成して画像展開部104に出力する。この中間コードは後述するバンドメモリ105に対してどのように画像を格納させるかの情報を示すものである。画像展開部104は、中間コード生成部103からの中間コードが入力され、このコードをもとにバンドメモリ105に対して実際にRGB階調データをメモリ105に格納、展開させる。また、画像展開部104は、中間コードからオブジェクト画像(印刷対象の画像)の種類(文字、グラフィックス、イメージ)を判別するとともに同色の連続する画素の数を演算する。そして、画像の種別と連続する同色の画素数に関する情報を含む属性情報Xを生成する。生成した属性情報Xもバンドメモリ105に展開される。詳細は後述する。
バンドメモリ105は、画像展開部104からのRGB階調データが入力されCPU10の制御によりRGB階調データが格納される。図3にバンドメモリ105の構成例を示す。RGBの各値は本実施例では8ビットで表現され(各RGBごとに0から255までの値を有する)、さらに属性情報Xも各画素ごとに格納される。またメモリ105上の各座標位置は印刷媒体上の座標位置に対応する。したがってオブジェクト画像の配置をメモリ105上で対応するように配置させることで所望の印刷画像が得られる。
色処理部106は、バンドメモリ106に接続されるとともに圧縮部107に接続される。色処理部106の構成を図4に示す。図4に示すように、色処理部106はX値変換部111と、色変換部112と、ハーフトーン処理部113とから構成される。X値変換部111は、バンドメモリ105からRGB階調データと属性情報Xが入力され、属性情報Xのうちオブジェクトの種別を示す情報からグラフィックスの画素を検出し、また属性情報Xのうち連続する同色の画素数と画素の階調値とからグラフィックスのエッジ部分を検出する。そして、属性情報Xがグラフィックスの場合で、異なるグラフィックスどうしが重なるエッジ部分を検出すると属性情報Xの値を書き換える。このX値の書き換えに関する処理については後述する。CPU10によって、属性情報Xはハーフトーン処理部113に出力され、RGB階調データは色変換部112に出力される。
色変換部112は、色変換処理部131と色補正テーブル132とから構成される。色変換処理部131は、X値変換部111から出力されたRGB階調データが入力され、テーブル132を読み出してCMYKの色データに変換する。変換されたCMYKデータはCPU10によりハーフトーン処理部113に出力される。
ハーフトーン処理部113は、実際にハーフトーン処理を行うハーフトーン処理部151と、2つのハーフトーンテーブル153A、153B、およびスイッチング部152とから構成される。ハーフトーンテーブル153Aは、階調優先のテーブル、すなわち、テーブル153Bよりも大きな網点でスクリーン線数が少ないテーブルである。一方、ハーフトーンテーブル153Bは、解像度優先のテーブル、すなわちテーブル153Aよりも小さな網点でスクリーン線数が多いテーブルである。X値変換部111からの属性情報Xによりスイッチング部152でテーブルを切替えるように構成される。例えば、属性情報Xのうち画像の種別がイメージやグラフィックを表すとき、階調優先のテーブルであるテーブル153Aを選択するように切替えられ、文字を表すときは解像度優先のテーブルであるテーブル153Bを選択するように切替えられる。なおスイッチング部152の切替えはCPU10の制御により行われる。このようにテーブル153A、153Bを切替えることにより、文字を印刷するときは細い線が欠けることなく印刷媒体に再生され、グラフィックスやイメージの場合解像度はよくないが自然な階調の変化を再現でき、高品質の印刷を行うことができる。さらに、本発明では1ページ中に複数のグラフィックスが存在して互いに重なっているとき、その重なりあったエッジの部分ではX値変換部111において画像の種類をグラフィックスから文字を表す情報に書き換えてXを出力するようにしている。そのため、かかるグラフィックス同士のエッジの部分は解像度優先テーブル153Bが選択されてハーフトーン処理を行うようにしている。したがって、グラフィックス同士のエッジの部分では解像度がよくシャープなエッジを再現した高品質の画像を形成することができるのである。ハーフトーン処理後のデータは圧縮部107に出力される。
図2に戻り、圧縮部107はハーフトーン処理後のデータを圧縮する。印刷装置2への転送効率を高めるためである。例えば、多く出現するコードに少ないビットを割り当て出現率が少ないコードに多いビットを割り当てて平均符号長を短くするハフマン符号化により行われる。もちろん、それ以外の圧縮方法でもよい。圧縮された印刷対象のデータはCPU10の制御によりI/F15から所定の伝送フォーマットにより印刷装置2に出力される。
以上のように構成されたホストコンピュータ1の実際の動作について以下説明する。アプリケーション部101によって図5(a)の画像が生成された場合で説明する。まず、図5(a)は、背後には山の風景からなるイメージが存在する。そして中央付近に矩形のグラフィックス300と円のグラフィックス301とがある。2つのグラフィックスは互いに一部で重なり合っている。さらに、円のグラフィックス301上に文字“A”がある。このような画像は、アプリケーション部101において所定のプログラムを実行させ、表示部11に表示された画像を図示しないキーボードやマウスの操作によって作成されるものとする。
作成された画像は、上述したように所定の言語により表現される。図5(b)には、図5(a)に示す画像をPDL言語で表現した例を示す。この例を説明すると、まずイメージはコマンド“image"で表現される。そして、その引数は左から順に、イメージの開始位置のx座標(X1)、y座標(Y1)、その横幅(W1)、縦幅(H1)、そして各画素のRGB階調値、となる。RGB階調データは、横幅W1、縦幅H1に含まれるすべての画素の階調データが含まれる。上述したように階調データは本実施例では256階調を有し、したがって各画素の各RGBごとに8ビットで表現している。
矩形のグラフィックス300はコマンド“Line”、円のグラフィックス301は“Circle”で表現される。まずコマンド“Line”は、その引数に開始位置のx座標(X2)、y座標(Y2)、横幅(W2)、縦幅(H2)、矩形の色を示すRGB階調値を有する。コマンド“Circle”は、中心位置のx座標(X3)、y座標(Y3)、半径(L)、円すべてを色表現するか否かを示すフラグ(FILL)、そして円の色を示すRGB階調値からなる。
また文字の場合は、コマンドが“Char”によって表現され、開始位置のx座標(X4)、y座標(Y4)、そのサイズ(SIZE)、文字の色を示すRGB値、そして文字として表現するキャラクタ(図5(a)の場合は“A”)を引数にもつ。かかるPDLによる描画コマンドはROM13に格納されたプログラムを実行することで生成されるものとする。これらの描画コマンドが、図2においてアプリケーション部101からコマンド解析部102に出力されるのである。
コマンド解析部102は、この各描画コマンドを解析して各コマンドがどのようなコマンドであるかを示す情報を出力する。例えば“image"が入力されると、オブジェクト画像はイメージであること、またその開始位置の座標と、幅等の情報を出力する。各RGB階調値も出力する。
中間コード生成部103はかかる情報から中間コードを生成する。その例を図6(a)に示す。図に示すように中間コードは各バンドごとに生成される。バンド1には、このバンドにイメージが格納されることを示す“image”、その開始位置の座標、同様に横幅“W1”、縦幅“H14”、そして各画素ごとのRGB階調値によって表現される。ここで座標は、各バンドの最も左の最も下に位置する座標を(0,0)とした位置により表現されることになる。図5(a)に示すようにこのバンド1には全体にわたり画像を表現しているため開始位置が(0,0)となっている。
バンド2の領域には、矩形のグラフィックス300とイメージが存在する。まず矩形のグラフィックス300は、その色を表現する“Color”、矩形であることを示す“Rectangle”、そして開始位置の座標、横幅、縦幅と表現される。この場合、矩形のグラフィックス300の開始位置は、バンド1と同様にバンド2の最も左の最も下の位置を(0,0)としたときの座標位置である(図6(a)にあるように“(X22、Y22)”となる)。また縦幅は、“H22”として表現される。なお、この“H22”はバンド2全体の縦幅H13と同じ値となっている。さらにこのバンド2にはイメージが全体に存在するので、“image”、その開始位置“(0,0)”、横幅“W1”、縦幅“H13”、そして各RGB値が中間コードとして表現される。
バンド3の領域には、イメージと矩形及び円のグラフィックス300、301、そして文字のオブジェクト画像が存在する。まず矩形グラフィックス300の中間コードは、バンド2で表現した矩形グラフィックス300とほぼ同様である。ただし、開始位置はバンド3内での開始位置であるため、“(X21,Y21)”となる。また、矩形グラフィックス300の色も各バンドごとに設定させる必要があるため、“Color”が付加されている。バンド2の色と同じ場合は、バンド2と同じRGB値がその引数として表される。
円のグラフィックス301は、その円の色を表現する“Color”、水平線を示す“L-set”、その個数を示す“N”、開始位置座標“(X31、Y31)”と、横幅“W31”とによって表現される。円は複数の水平線により表すことができるため、この中間コードではその個数により円を表現している。また開始位置の座標と横幅は、水平線ごとに表され、水平線のメモリ105上最も上にある1本目の水平線から表されることにとなる。
文字の中間コードは、図6(a)に示すように、“putimagecache”、“メモリ番号”、開始位置の座標、横幅、縦幅で示される。表示すべき文字はRAM14(キャッシュ)に格納されているため、文字キャッシュ描画であることを示す、“putimagecache”とその文字が格納されたキャッシュのメモリ番号を中間コードに記述することで、キャッシュに格納された文字を読み出して、バンドメモリ105に格納するようにしている。図6(a)の場合、“A”という文字がRAM14でメモリ番号“10”に格納されているときは“10”という中間コードになる。座標位置“(X41、Y41)”は、バンド3の(0,0)からの位置座標を示すことは上述の場合と同様である。
さらに、バンド3には全体にイメージが存在するので、“Image、(0,0)、W1、H12”と表現される。“H12”は、図示した例ではバンド3の縦幅と同じ値となる。バンド4にも全体にイメージが存在するので同様に表現される。
このような中間コードの生成は、例えばROM13に格納されたプログラムをCPU10が読み出して入力された描画コマンドの解析情報から上述した中間コードが生成される。そして、生成された中間コードは画像展開部104に出力される。
画像展開部104ではかかる中間コードの情報からバンドメモリ105にRGB階調データを展開、格納させる。例えば、バンド1の中間コードから座標位置(0,0)を開始位置とし横幅W1、縦幅H14のイメージをバンドメモリ105に展開させることになる。そして、各バンドごとに図6(b)に示すようにアプリケーション部101で生成された画像がバンドメモリ105に展開される。
ここで画像展開部104は、上述したように属性情報Xを生成する。この情報Xには、オブジェクトの種別に関する情報、同色の連続する画素の数に関する情報、その他の情報が含まれる。そのうち、オブジェクトの種別は以下のようにして生成する。すなわち、中間コードにおいて各オブジェクト特有のコードが存在する。例えばイメージの場合は“Image”、グラフィックスの場合は“Rectangle”や“L-set”、文字の場合は“putimagecache”、である。したがってかかる中間コードを検出することによってそのオブジェクト画像が文字か、グラフィックスか、イメージかを判別することができる。属性情報Xは本実施例では8ビット用意されているので、そのうち2ビットを利用してオブジェクトの種別を表わしている。
さらに属性情報Xには同色の連続する画素の数を示す情報も格納される。同色が連続している場合にその後の色変換やハーフトーン処理で同じ処理を繰り返すのではなく、一度行った以前の処理の値を利用することで処理の効率を上げることができる。また本発明ではこの情報をもとにグラフィックスのエッジの部分を検出するようにしている。
ここで、連続する同色の画素数は以下のようにして求めることができる。すなわち、1つのバンドに対して全てのオブジェクト画像を展開した後、バンドデータをCPU10がスキャンすることで画素数を求める。例えば図7に示す矩形のグラフィックス300と円のグラフィックス301とが重なっているときでも、バンドメモリ105に展開された各画素を左から順にスキャンし、矩形のグラフィック300と円のグラフィックス301との画素数をそれぞれ求めることになる。円と矩形のエッジの部分ではその階調値に変化があるため、階調値に変化がある前までが例えば矩形のグラフィックス300の連続する画素の数(図7に示すように任意のy座標(Yi)においては、m個)、変化後が円のグラフィックス301の画素の数(同様にしてn個)として演算することができる。
以上の演算により、属性情報Xにかかる連続する同色の画素数の情報を含めさせることができるのである。そして、この属性情報Xは図3に示すようにRGB階調値とともにバンドメモリ105に展開、格納されるのである。
バンドメモリ105に格納されたデータは、CPU10の制御により色処理部106のX値変換部111に出力される。X値変換部111では、RGB階調データと属性情報Xのうち連続する同色の画素数とから異なるグラフィックスのエッジを検出する。そして、そのエッジを検出するとその属性情報Xのうちオブジェクトの種別をグラフィックスから文字に書き換える。このように種別を書き換えることで、ハーフトーン処理において解像度優先のテーブルを選択して処理を行うことができるからである。このX値変換部111におけるX値書き換え処理の動作を示すフローチャートを図8に示す。
まず、ホストコンピュータ1のCPU10はROM13から属性情報Xの書き換え処理に関するプログラムを読み出すことで処理が開始される(ステップS10)。次いで、CPU10はバンドメモリ105からRGB階調データと属性情報Xを読み出す(ステップS11)。例えば、各画素ごとに階調データと属性情報XとをCPU10は読み出す。次いで、CPU10は読出したRGB階調データがラスタの先頭または末尾であるか否か判断する(ステップS12)。ラスタの先頭とはバンドメモリ105上最も左側に位置する画素のことで、末尾とはバンドメモリ105上で最も右側に位置する画素のことである。エッジを検出するためには、ラスタの先頭と末尾に位置する画素は必ずしも必要ないからである。ラスタの先頭または末尾でないと(本ステップS12で“NO”)、処理はステップS13に移行する。
ステップS13において、CPU10は属性情報Xのうちオブジェクトの種別情報に変化があったか否か判断する(ステップS13)。オブジェクト画像がイメージからグラフィックスに変化した場合や、グラフィックスから文字に変化した場合など、オブジェクト画像が切替わったか否かを検出するためである。オブジェクトの種別に変化がないと(本ステップで“NO”のとき)、処理はステップS14に移行する。
ステップS14においてCPU10は、オブジェクトの種別がグラフィックスか否かを検出する(ステップS14)。オブジェクトの種別に変化がなく、かつ、グラフィックスの領域の画素であることを検出して、グラフィックスどうしのエッジの部分を検出するためである。種別がグラフィックスであれば(本ステップで“YES”のとき)、処理はステップS15に移行する。
ステップS15においてCPU10は、RGB階調値の差分値が閾値を超えるか否か判断する。前画素の階調値と処理対象の画素の階調値との差分をとって、その値が閾値を超えた場合は、階調値の変化が大きい領域、すなわち同じグラフィックスでもオブジェクトの異なるグラフィックスの画素に変化したものと考えられる。したがって、差分値が閾値以上のときは2つの異なるオブジェクトのエッジの部分となる。このように前画素の階調値との差分でグラフィックス同士のエッジの部分を検出するのである。なお、差分値の演算は、属性情報Xのうち連続する同色の画素数の情報を利用する。すなわち、属性情報Xのうち同色の連続する画素数から、グラフィックス領域でどの画素まで同じ色の画素が続くのか、同じRGB階調値が続くのかをCPU10は把握することができる。そして、連続する画素の最後の画素と、同色でなくなる次の画素とを比較することでCPU10はエッジ部分を検出するのである。これにより、毎回画素を比較することに比べて計算量を減らし高速印刷を行うことができる。もちろん、毎回画素を比較することでも本発明の効果を奏することはいうまでもない。
閾値を超えたとき(ステップS15で“YES”のとき)、CPU10は、エッジ部分の領域と判断されるので属性情報Xのうちオブジェクトの種別をグラフィックスから文字に書き換える(ステップS16)。これにより、ハーフトーン処理で階調優先のテーブルから解像度優先のテーブルを選択することによりエッジ部分をシャープに印刷することができる。
次いでCPU10は、処理対象の画素が末尾の画素か否かを判断する(ステップS17)。末尾の画素とはバンドメモリ105上で最も右側の最も下に位置する画素である。CPU10がこの画素をバンドメモリ105から読み出すと(本ステップS17で“YES”のとき)、すべての画素に対する属性情報Xの書き換え処理が終了することになる(ステップS18)。また、末尾の画素でないときは(ステップS17で“NO”のとき)、処理はステップS11に移行し、すべての画素に対する処理が行われるまで上述の処理が繰り返されることになる。
一方、ステップS15でRGB階調値の前画素との差分値が閾値を超えないとき(ステップS15で“NO”のとき)、同じオブジェクト画像のグラフィックス領域であると判断できるので、属性情報Xのうちオブジェクトの種別をグラフィックスから文字に変更する(ステップS16)ことはせずに、ステップS17に移行することになる。
また、ステップS14でグラフィックスでないとき(“NO”のとき)、処理対象の画素は文字またはイメージの領域であると判断される。イメージは階調性を重視するため、そして文字は解像度を重視するため、オブジェクトの種別の変更の処理を行う必要がない。したがって、属性値の変更処理(ステップS15、S16)を行わずにステップS17に移行することになる。
さらに、ステップS13でXに変化があったとき(“YES”のとき)、すなわち属性情報Xのうちその種別に変化があったとき、処理はステップS19に移行する。そして、ステップS19で種別がX1(ここでは文字の種別を表す)に変化したのか否か判断する。イメージやグラフィックスから文字に種別が変わったときは、文字に対して解像度を優先したテーブルが選択されるので文字とのエッジの部分はシャープになるので問題はない。しかし、それ以外にオブジェクトの種別が変わったとき、すなわち、イメージからグラフィックス、グラフィックスからイメージに変わったとき、イメージ及びグラフィックス共に階調優先テーブルによりハーフトーン処理が行われるため、そのエッジの部分ではシャープな画像とならずぼやけて画像が形成される。よって、X1に変化したか否かを検出することで、イメージからグラフィックスにあるいはその逆に種別が変更されたか否かを検出するのである。文字に変更されたとき(本ステップで“YES”)のとき、種別の変更を行わずに処理はステップS17に移行する。それ以外のとき(本ステップで“NO”のとき)、処理はステップS20に移行して属性情報Xのうちオブジェクトの種別をグラフィックスから文字に変更する。その後処理はステップS17に移行して上述の処理を繰り返すことになる。
さらにステップS12でラスタの先頭または末尾であるとき(“YES”のとき)、上述の処理は必要ないのでステップS17に移行することになる。
図9にはかかるX値変換部111における変更処理を行った場合の属性情報Xが切替わった場合を模式的に示す。図9(a)は、図5(a)と同じ画像である。このうち、矩形のグラフィックス300と円のグラフィックス301とが重なりあっている領域を表したのが図9(b)及び図9(c)である。
図9(b)で1つのマスは1画素を表し、Xn(n=1、2、3)は属性情報Xのうちオブジェクトの種別を表すものである。図に示すように、X1は文字、X2はグラフィックス、X3はイメージを示す。図9(b)、(c)で太線はグラフィックス300、301のエッジの部分を示す。ここで、図9(b)、(c)上で説明の便宜のため最も上の最も左側に位置する画素の座標を(0,0)、最も上の最も右側に位置する画素の座標を(7,0)、最も左の最も下に位置する画素の座標を(0,5)と表す。
まず図9(b)の画素(1,0)から(1,3)にかけての画素は、グラフィックス300の縦線が存在する画素である。よって、イメージからグラフィクスに切替わるエッジの画素(1,0)、(1,1)等は、図8のステップS13で“YES”が選択され、さらに、イメージからグラフィックスに変化しているためステップS19で“NO”が選択され、ステップS20において種別がグラフィックスを示すX2から文字を示すX1に切替えられる(図9(c)参照)。また、(5,0)の画素はグラフィックスとイメージのエッジの部分である。ここでも次の画素(6,0)でイメージに変化しているのでステップS13で“YES”が選択され、ステップS19で“NO”が選択されて、属性情報Xのうちの種別情報がX2(グラフィックス)からX1(文字)に切替わることになる。
また画素位置(4,3)においてはグラフィックス300からグラフィックス301に切替わっている。まず、画素(1,3)においてイメージ(X3)からグラフィックス(X2)に切替わっている。グラフィックス300内はすべて同色とする。そして、属性情報Xには上述したように同色の連続する画素数が含まれているので、CPU10はこの情報を属性情報Xから読み出して画素(3,3)までの3つの画素が同色と判断できる。したがって、図8のステップS15における差分値の演算はこの3つ目の画素(3,3)と、次の画素(4,3)とが処理対象となる。なお、この2つ画素は同じグラフィックス(X2)の画素である(ステップS13で“NO”が選択され、ステップS14で“YES”が選択される)。
そして、実際に2つの画素の差分値が閾値を超えているとしたとき、この(4,3)の画素は異なるグラフィックスのエッジの部分であるとしてその種別をグラフィックスから文字に変更する(ステップS16、図9(c)参照)。(3,4)に位置する画素も全く同様である。
その後、図4に示すように色変換、そして属性情報Xのオブジェクトの種別に応じたハーフトーン処理を行い、圧縮部107にてハーフトーン処理後のCMYK階調データが圧縮されてプリンタ2に転送されるのである。
プリンタ2は、図2に示すように解凍部201と、パルス幅変調部202と、印刷エンジン24とから構成される。印刷エンジン24は、レーザダイオード241と感光体ドラム242とから構成される。ホストコンピュータ1から転送されたデータは解凍部201にて解凍され、ホストコンピュータ1での圧縮前のデータに戻されることになる。そして、パルス幅変調部202にてレーザ駆動パルス有りまたは無し等を示す駆動データを生成して、印刷エンジン24に出力する。レーザドライバ241はこの駆動データに基づいて、感光体ドラム242や図示しない転写ベルト、ローラ等を駆動させ、実際に印刷媒体にホストコンピュータ1で生成した画像が印刷されるのである。なお、印刷装置2の解凍部201とパルス幅変調部202とは図1のCPU20と、ROM22、及びRAM23に対応するものである。
以上説明してきたように本発明によれば、グラフィックスのエッジの部分は解像度優先のテーブルによりハーフトーン処理が行われたため、エッジの部分がシャープな画像となり全体として高品質の印刷を行うことができる。
上述の例では、印刷装置2としてレーザプリンタの例で説明したが、ヘッドから各色のインクを吐出させて印刷を行うインクジェットプリンタやさらにはバブルジェット(登録商標)プリンタ等のプリンタであってもよい。また、印刷装置2としてプリンタ以外にも複写機やファクシミリ、またはこれらの機能を備えた複合機であっても本発明を適用でき同様の効果を奏する。
また、ホストコンピュータ1の例として、例えばパーソナルコンピュータ、さらには携帯電話やPDA(Personal Digital Assistance)などの情報携帯端末であってもよい。このような機器がX値変換処理を含む色処理を行い、印刷装置2に転送できればよい。
また上述の例では、ホストコンピュータ1で属性情報Xの変換処理を含めた色処理を行うとして説明したが、印刷装置2側で行われても上述したものと同様の効果を奏する。
本発明が適用されるシステムの構成図である。 本発明が適用されるシステムの機能ブロックの構成図である。 バンドメモリ105の構成例を示す図である。 色処理部106の構成例を示す図である。 画像の一例とその画像を表現した描画コマンドの例である。 中間コードの例とバンドメモリに画像を展開したときの図である。 画素数を演算するときの例を示す図である。 X値変換部111で実行される処理の動作を示すフローチャートである。 画像の一例と属性情報が変更されたときの状態を示す図である。
符号の説明
1 ホストコンピュータ 2 印刷装置 10 CPU 13 ROM 14 RAM 101 アプリケーション部 103 中間コード生成部 104 画像展開部 105 バンドメモリ 106 色処理部 111 X値変換部 112 色変換部 113 ハーフトーン処理部 151 ハーフトーン処理部 153A ハーフトーンテーブル1 153B ハーフトーンテーブル2 300 矩形のグラフィックス 301 円のグラフィックス X1 オブジェクト画像の種別が文字であることを示す値 X2 オブジェクトの種別がグラフィックスであることを示す値 X3 オブジェクト画像の種別がイメージであることを示す値

Claims (8)

  1. 階調優先スクリーンと解像度優先スクリーンのいずれかを選択してハーフトーン処理を行う画像処理装置において、
    画像の種別がグラフィックス画像で階調優先スクリーンが適用されるとき、前記グラフィックス画像のエッジ部分に対しては解像度優先スクリーンを選択する制御手段を備えたことを特徴とする画像処理装置。
  2. 請求項1記載の画像処理装置において、
    前記エッジ部分は、前記画像の種別がグラフィックスとイメージとの境界である、ことを特徴とする画像処理装置。
  3. 請求項1記載の画像処理装置において、
    前記制御手段は、前記グラフィックスの階調値の差分値が閾値以上のとき前記エッジ部分であるとして当該エッジ部分に前記解像度優先スクリーンを選択する、ことを特徴とする画像処理装置。
  4. 請求項1記載の画像処理装置において、
    さらに、前記画像の種別を示す情報を含む属性値を、前記グラフィクス画像のエッジ部分に対して前記解像度優先スクリーンが選択されるように変換する属性値変換手段を備え、
    前記制御手段は前記属性値変換手段で変換された前記属性値に基づいて前記解像度優先スクリーンを選択する、ことを特徴とする画像処理装置。
  5. 請求項4記載の画像処理装置において、
    前記属性値変換手段は、前記属性値に含まれる同色の連続する画素の画素数を示す情報から、連続した画素の最後の画素とその次の画素との階調値の差分値が閾値以上のときに、前記属性値を前記解像度優先スクリーンが選択されるように変換する、ことを特徴とする画像処理装置。
  6. 請求項1記載の画像処理装置において、
    前記制御手段は、前記画像の種別が文字のとき解像度優先スクリーンを選択する、ことを特徴とする画像処理装置。
  7. 請求項1記載の画像処理装置において、
    前記制御手段は、前記画像の種別がイメージのとき階調優先スクリーンを選択する、ことを特徴とする画像処理装置。
  8. 画像の種別に応じて階調優先スクリーンと解像度優先スクリーンとを選択してハーフトーン処理を行う画像処理のためのプログラムにおいて、
    前記画像の種別がグラフィックス画像のとき階調優先スクリーンを選択し、さらにグラフィックス画像のエッジ部分に対しては解像度優先スクリーンを選択する処理を備えたことを特徴とするプログラム。
JP2003384460A 2003-11-14 2003-11-14 画像処理装置、及び画像処理のためのプログラム Pending JP2005151064A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003384460A JP2005151064A (ja) 2003-11-14 2003-11-14 画像処理装置、及び画像処理のためのプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003384460A JP2005151064A (ja) 2003-11-14 2003-11-14 画像処理装置、及び画像処理のためのプログラム

Publications (1)

Publication Number Publication Date
JP2005151064A true JP2005151064A (ja) 2005-06-09

Family

ID=34692844

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003384460A Pending JP2005151064A (ja) 2003-11-14 2003-11-14 画像処理装置、及び画像処理のためのプログラム

Country Status (1)

Country Link
JP (1) JP2005151064A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012183763A (ja) * 2011-03-07 2012-09-27 Seiko Epson Corp 印刷装置
CN104660840A (zh) * 2013-11-18 2015-05-27 佳能株式会社 图像处理装置及其控制方法

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012183763A (ja) * 2011-03-07 2012-09-27 Seiko Epson Corp 印刷装置
CN104660840A (zh) * 2013-11-18 2015-05-27 佳能株式会社 图像处理装置及其控制方法
JP2015099997A (ja) * 2013-11-18 2015-05-28 キヤノン株式会社 画像処理装置及びその制御方法、プログラム
US9245211B2 (en) 2013-11-18 2016-01-26 Canon Kabushiki Kaisha Image processing apparatus, method of controlling the same, and program
CN104660840B (zh) * 2013-11-18 2018-04-03 佳能株式会社 图像处理装置及其控制方法

Similar Documents

Publication Publication Date Title
JP4574457B2 (ja) 画像処理装置およびその方法
JP6824052B2 (ja) 画像処理装置、その制御方法、及びプログラム
US10592766B2 (en) Image processing apparatus and medium storing program executable by image processing apparatus
JPH111029A (ja) カラープリントシステム,カラープリンタ,及びコンピュータが実行可能なプログラムを格納したコンピュータが読取可能な記録媒体
JP5863001B2 (ja) 画像処理装置、画像形成装置およびプログラム
JP2008077160A (ja) 画像処理装置、画像処理方法、画像形成装置、コンピュータが実行するためのプログラム、およびそのプログラムを格納した記録媒体
EP2429173B1 (en) Image forming apparatus, printing control terminal apparatus, and image forming method thereof
JP6464695B2 (ja) 画像処理装置、および、コンピュータプログラム
JP5020998B2 (ja) 画像処理装置、及び画像処理方法
JP7077451B2 (ja) 画像形成装置および画像形成装置の制御方法、ならびにプログラム
JP2012199669A (ja) 画像処理装置、画像処理方法、画像処理プログラムおよび印刷装置
JP2005151064A (ja) 画像処理装置、及び画像処理のためのプログラム
JP4514168B2 (ja) 画像処理システム及び画像処理方法
JP5428516B2 (ja) 画像処理装置及びプログラム
JP4428028B2 (ja) 画像処理装置、及び画像処理のためのプログラム
JP4492090B2 (ja) 画像形成装置および画像形成方法
JP2006254199A (ja) 画像処理装置
JP7005796B2 (ja) 画像形成装置、その制御方法、及びプログラム
JP4217332B2 (ja) 画像処理装置及びその方法、コンピュータ可読メモリ
JP2007081886A (ja) 描画処理装置
JP2013008247A (ja) 画像処理装置、画像処理方法、およびプログラム
JP2016200999A (ja) 印刷指示装置、印刷システム及びプログラム
JP2023008251A (ja) 画像処理装置と画像処理方法並びにプログラム
JP2005197993A (ja) 画像形成装置、画像形成方法、及びプログラム
JP2019197327A (ja) 画像処理装置、画像処理方法、及びプログラム