JP2019111677A - 画像処理装置、画像処理装置の制御方法、画像形成装置およびプログラム - Google Patents
画像処理装置、画像処理装置の制御方法、画像形成装置およびプログラム Download PDFInfo
- Publication number
- JP2019111677A JP2019111677A JP2017245128A JP2017245128A JP2019111677A JP 2019111677 A JP2019111677 A JP 2019111677A JP 2017245128 A JP2017245128 A JP 2017245128A JP 2017245128 A JP2017245128 A JP 2017245128A JP 2019111677 A JP2019111677 A JP 2019111677A
- Authority
- JP
- Japan
- Prior art keywords
- attribute
- data
- image processing
- rendering
- generated
- 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
Links
Images
Landscapes
- Record Information Processing For Printing (AREA)
Abstract
【課題】PDLデータを解釈してレンダリング処理を実行する画像処理において、中間データのデータ量と、レンダリング処理の処理負荷とを軽減する。【解決手段】本発明の画像処理装置は、PDLデータを解釈してレンダリング処理に用いられる中間データを生成する画像処理装置であって、入力されたPDLデータを解釈して前記レンダリング処理が実行された場合に生成されるラスタ画像データのデフォルト属性を決定する決定手段と、前記決定されたデフォルト属性とは異なる属性を有する画素について、前記異なる属性に上書きすることを指示する属性マスク命令を生成する命令生成手段と、前記決定されたデフォルト属性を示す属性情報と、前記生成された属性マスク命令とを含む中間データを生成する中間データ生成手段と、を有することを特徴とする。【選択図】図2
Description
本発明はPDLデータを解釈してレンダリング処理を実行する画像処理技術に関する。
PDL(ページ記述言語:Page Description Language)対応型のプリンタが普及している。PDL対応型のプリンタは、入力されたPDLデータを解釈してレンダリング処理を実行する画像処理機能を搭載する。
PDL対応型のプリンタは、レンダリング処理で生成されたラスタ画像データに対してさらに所定の画像処理を実行する。この画像処理の例として、テキストの輪郭を強調するエッジ強調や、グラフィック領域におけるトナー載り量調整などが挙げられる。PDL対応型のプリンタは、オブジェクトの種類に応じて画像処理を切り替えるために、レンダリング処理において、RGB画像データと属性データとからなるRGBA(Aは属性値)の4チャンネルのラスタ画像データを生成する技術が提案されている。
また、PDL対応型のプリンタの中には、フラットニング機能を搭載する機種も提案されている。ここで、フラットニングとは、中間データを生成する段階でレンダリング処理を先行的に実行する技術をいう。このようなフラットニング技術は、例えば、オブジェクト同士の重なりが多く、オブジェクトの座標情報や重なり情報が複雑化する場合に、特に有効な技術である。
ところで、中間データのデータ量を軽減するために、フラットニング処理で生成されたラスタ画像データを圧縮した場合、RGBAの4チャンネルのラスタ画像データから属性値Aが失われてしまうという課題があった。この課題に対して、特許文献1に開示される画像処理装置は、圧縮されたRGB画像データと、属性値Aを合成することを指示する画像合成命令とを含む中間データを生成する。レンダリングエンジンは、圧縮されたRGB画像データを伸長するとともに、画像合成命令を解釈(デコード)して伸長されたRGB画像データに属性値を合成し、RGBAの4チャンネルのラスタ画像データを出力する。
しかしながら、特許文献1における画像処理技術では依然として、中間データのデータ量と、レンダリング処理の処理負荷とが増加してしまうという課題があった。
すなわち、特許文献1の画像処理装置は、オブジェクトが存在する画素ごとに画像合成命令を生成していたため、中間データのデータ量が増加してしまっていた。さらに、レンダリングエンジンは、オブジェクトが存在する画素ごとに画像合成命令を解釈して属性値を合成していたため、レンダリング処理の処理負荷が増加してしまっていた。
本発明は上記課題に鑑みなされたものであり、PDLデータを解釈してレンダリング処理を実行する画像処理において、中間データのデータ量と、レンダリング処理の処理負荷とを軽減することを目的とする。
本発明の画像処理装置は、PDLデータを解釈してレンダリング処理に用いられる中間データを生成する画像処理装置であって、入力されたPDLデータを解釈して前記レンダリング処理が実行された場合に生成されるラスタ画像データのデフォルト属性を決定する決定手段と、前記決定されたデフォルト属性とは異なる属性を有する画素について、前記異なる属性に上書きすることを指示する属性マスク命令を生成する命令生成手段と、前記決定されたデフォルト属性を示す属性情報と、前記生成された属性マスク命令とを含む中間データを生成する中間データ生成手段と、を有することを特徴とする。
本発明によれば、PDLデータを解釈してレンダリング処理を実行する画像処理において、中間データのデータ量と、レンダリング処理の処理負荷とを軽減することができる。
[実施形態1]
以下、本発明を実施するための形態について図面を参照して説明する。ただし、この実施形態に記載されている構成はあくまで例示であり、本発明の範囲を必ずしもそれらに限定する趣旨のものではない。
以下、本発明を実施するための形態について図面を参照して説明する。ただし、この実施形態に記載されている構成はあくまで例示であり、本発明の範囲を必ずしもそれらに限定する趣旨のものではない。
図1は本実施形態における画像形成装置の構成例を示す図である。画像形成装置100は、CPU101と、RAM102と、ROM103と、入出力インターフェース(以下インターフェースは「I/F」と記す)104と、画像処理部105と、印刷データ生成部106と、印刷部107とを備える。これら構成はインターコネクト108を介して相互に接続されている。CPU101は、ROM103に格納された制御プログラムを読み出して実行することにより、画像形成装置100の動作を統括的に制御する。RAM102は、読み書き可能なメモリであり、各種データの一次記憶領域として用いられる。入出力I/F104は、不図示のPCなどの外部装置から送出される、PDLで記述されたPDLデータを受信してRAM102に格納する。画像処理部105は、RAM102に格納されたPDLデータを解釈してラスタ画像データを生成する。印刷データ生成部106は、画像処理部105で生成されたラスタ画像データを印刷に適した印刷データに変換する。印刷部107は、インクジェットや電子写真方式などのプリンタエンジンを備え、印刷データ生成部106で生成された印刷データに対して印刷処理を実行する。印刷処理の結果、用紙などの記録媒体に画像が形成される。
図2は本実施形態における画像形成装置100の機能構成例を示すブロック図である。図2における各ブロックの機能は、CPU101がROM103に格納されたプログラムコードをRAM102に読み出して実行することにより実現される。あるいはまた、図2におけるブロックの一部または全部の機能をASICや電子回路等のハードウェアで実現してもよい。これは図2以降のブロック図についても同様である。
画像処理部105は、PDL解釈部200と、中間データ生成部210と、レンダリング部220とを備える。さらに、中間データ生成部210は、レンダリング情報生成部211と、フラットニング判定部212と、フラットニング部213と、画像圧縮部214と、描画命令生成部216とを含む。このうち、画像圧縮部214はデフォルト属性決定部215を含み、描画命令生成部216は属性マスク命令生成部217と、画像合成命令生成部218とを含む。
PDL解釈部200は、PCなどの外部装置から受信したPDLデータを解釈する。中間データ生成部210は、PDLデータの解釈結果に基づいて中間データを生成する。フラットニング判定部212は、着目領域がフラットニング処理の対象領域であるか否かを判定する。フラットニング部213は、着目領域に対するフラットニング処理を実行する。画像圧縮部214は、フラットニング処理で生成されたラスタ画像データを圧縮する。デフォルト属性決定部215は、属性のカウント結果に基づいてデフォルト属性を決定する。属性マスク命令生成部217は属性マスク命令を生成する。画像合成命令生成部218は画像合成命令を生成する。レンダリング情報生成部211は、レンダリング処理で用いられるレンダリング情報を生成する。レンダリング部220は、中間データ生成部210で生成された中間データに対してレンダリング処理を実行してラスタ画像データを生成する。
図3は本実施形態において、PDLデータから印刷データを生成する画像処理の手順例を示すフローチャートである。図3のフローチャートにおける各ステップは、CPU101がROM103に格納されたプログラムコードをRAM102に読み出して実行することにより実現される。あるいはまた、図3におけるステップの一部または全部をASICや電子回路等のハードウェアで実現してもよい。以下の各記号Sは、フローチャートにおけるステップであることを意味する。これらは図3以降のフローチャートについても同様である。
S100において、PDL解釈部200は、PCなどの外部装置から受信したPDLデータを解釈する。PDLデータには、テキスト、グラフィックおよびイメージなどの描画を指示する画像形成命令が含まれており、中間データ生成部210はこれらのような画像形成命令を解釈することができる。以下の説明において、PDLデータに含まれる画像形成命令に従って形成される像を「オブジェクト」と記す。
図6は本実施形態における画像データの遷移例を示す模式図である。以下、図6の模式図を参照してPDLデータの具体例について説明する。PDLデータ601には、PDLデータの内容の具体例が示されている。PDLデータ601には、あるページ領域をXY座標で表したとき、座標(x,y)=(30,10)の位置にテキストオブジェクト604の描画を指示する画像形成命令が含まれる。同様に、PDLデータ601には、(x,y)=(0,20)の位置にイメージオブジェクト603の描画を指示する画像形成命令が含まれる。この他、PDLデータ601には、オブジェクトの拡大、縮小および回転などの描画条件(AFFINE)、色に関する描画条件ならびに背景の描画に関する描画条件などが含まれる。上述の通り、PDLデータ601に含まれるイメージオブジェクト603と、テキストオブジェクト604とには、それぞれ座標が対応付けられている。中間データ生成部210は、このようなオブジェクトの座標を参照することにより、オブジェクト同士の重なりを認識することができる。
再び図3のフローチャートに戻り、S200において、中間データ生成部210は、S100におけるPDLデータの解釈結果に基づいて中間データを生成する。中間データ生成処理の詳細は後述する。
S300において、レンダリング部220は、S200で生成された中間データに対してレンダリング処理を実行してラスタ画像データを生成する。レンダリング処理の詳細は後述する。
S400において、印刷データ生成部106は、S300で生成されたラスタ画像データを印刷に適した印刷データに変換する。生成された印刷データは印刷部107に送出される。その後、印刷部107は、印刷データに従って用紙などの記録媒体に画像を印刷する。S400が終了すると、本フローチャートを終了する。
図4は本実施形態における中間データの生成手順例を示すフローチャートである。本実施形態の中間データ生成手順では、主に、フラットニング処理(S202〜S203)と、デフォルト属性決定処理(S204〜S207)と、描画命令生成処理(S208〜S212)との3種類の処理が行われる。
まず、フラットニング処理について説明する。
S201において着目領域が選択される。着目領域は、例えばライン単位、タイル(ページを所定の大きさで分割した矩形領域)単位およびページ単位などで選択され得る。また、オブジェクトが存在する領域が着目領域として選択されてもよい。
S201において着目領域が選択される。着目領域は、例えばライン単位、タイル(ページを所定の大きさで分割した矩形領域)単位およびページ単位などで選択され得る。また、オブジェクトが存在する領域が着目領域として選択されてもよい。
S202において、フラットニング判定部212は、着目領域がフラットニング処理の対象領域であるか否かを判定する。ここで、フラットニング処理とは、中間データを生成する段階でレンダリング処理を先行的に行う処理をいう。フラットニング処理は、例えば以下のようなユースケースで行われる。
1つ目は、生成される中間データのデータ量が所定の閾値以上となってしまう場合である。すなわち、PDLデータに含まれるオブジェクト同士の重なりが多くなると、オブジェクトごとの座標情報や重なり情報が増加してしまうため、上記のような場合が発生し得る。ラスタ画像データを先行的に生成することにより、圧縮したラスタ画像データを中間データに含めることができる。そうすると、後段のレンダリング処理において、レンダリング部220は圧縮したラスタ画像データを伸長するだけで済むようになり、中間データのデータ量を抑制することができる。
2つ目は、生成される中間データに、レンダリング部220が解釈することができない特殊な描画命令が含まれる場合である。すなわち、レンダリング部(レンダリングエンジン)220が電子回路などのハードウェアで実装されていると、レンダリング部220は予め定められた種類以外の、特殊な描画命令を解釈することができない場合がある。ラスタ画像データを先行的に生成することにより、後段のレンダリング処理において、レンダリング部220は圧縮したラスタ画像データを伸長するだけで済むようになり、このような特殊な描画命令を解釈する必要がなくなる。
本実施形態において、着目領域がフラットニング処理の対象領域であるか否かの判定は、中間データを生成した場合に中間データのデータ量が所定の閾値以上となるか否かに基づいて行われる。ここで、図7を参照して本実施形態におけるオブジェクトの具体例について説明する。図7には、オブジェクトと、オブジェクトそれぞれに予め対応付けられている属性値とが示されている。属性値は2ビットの情報で示され、テキストオブジェクトには「01」、グラフィックオブジェクトには「10」、イメージオブジェクトには「11」がそれぞれ対応付けられている。なお、グラフィックオブジェクトは、画像形成命令に含まれるエッジ情報と塗り情報(いずれも不図示)とに従って描画されるオブジェクトであり、イメージオブジェクトは、画像形成命令に従って描画される写真画像などを表すオブジェクトである。また、これらオブジェクトが存在しない領域については、レンダリング処理において、当該領域が背景であることを示す属性値「00」が対応付けられる。なお、レンダリング処理で画素ごとに対応付けられた属性値は、後段の印刷データ生成処理で参照される。例えば、テキストオブジェクトを示す属性値「01」を有する画素領域に対して、エッジを強調する画像処理を実行することにより、テキストの輪郭を強調することができる。
本実施形態において、フラットニング判定部212は、中間データのデータ量が所定の閾値以上となる場合に、着目領域がフラットニング処理の対象領域であると判定する。なお、S202の判定は上記実施形態に限定されず、中間データに特殊な描画命令が含まれるか否かに基づいて行われてもよい。この場合、この特殊な描画命令を有するオブジェクトを含む領域が、フラットニング処理の対象領域となる。また、本実施形態では、テキスト、グラフィックおよびイメージオブジェクトが具体例として示されたが、オブジェクトは上記に限定されない。属性が異なるオブジェクトが重なっている場合、所定の合成アルゴリズムに基づいて出力属性値が決定される。つまり、ラスタ画像データにおける画素ごとの属性値は、レンダリング処理(フラットニング処理)で決定される。
着目領域がフラットニング処理の対象領域である場合(S202:YES)はS203に移行する。着目領域がフラットニング処理の対象領域ではない場合(S202:NO)はS214に移行する。
S203において、フラットニング部213は、着目領域に対するフラットニング処理を実行する。すなわち、着目領域に対してレンダリング処理が施されてラスタ画像データが生成される。フラットニング部213によって生成されるラスタ画像データは、後述のレンダリング部220によって生成されるラスタ画像データと略同一である。図6には、ラスタ画像データが模式的に示されている。本実施形態におけるラスタ画像データは、(x,y)=(0,0)〜(i,j)の領域で画素を有し、RGB8ビットの画素値を有する画像データ622と、2ビットの属性値を有する属性データ623とを含む。つまり、フラットニング処理で生成されるラスタ画像データは、RGBA(Aは属性値)の4チャンネルのラスタ画像データであると言える。なお、ラスタ画像データはRGBの色成分ではなくCMYKなどの色成分の画素値を有してもよい。
次いで、デフォルト属性決定処理について説明する。
S204において、フラットニング処理で生成されたラスタ画像データにおける着目画素が選択される。なお、着目画素を選択する手法は走査以外であってもよく、例えば、ラスタ画像データから未処理の画素がランダムに選択されてもよい。
S204において、フラットニング処理で生成されたラスタ画像データにおける着目画素が選択される。なお、着目画素を選択する手法は走査以外であってもよく、例えば、ラスタ画像データから未処理の画素がランダムに選択されてもよい。
S205において、画像圧縮部214は、着目画素の属性をカウントする。具体的には、着目画素の属性値を特定して当該属性値に対応する属性がカウントアップされる。
S206において、画像圧縮部214は、全ての画素について処理が完了したか否かを判定する。全ての画素について処理が完了した場合(S206:YES)はS207に移行する。全ての画素について処理が完了していない場合(S206:NO)はS204に戻り、未処理の画素のなかから着目画素が選択され、S204〜S206の処理が繰り返される。
S207において、デフォルト属性決定部215は、属性のカウント結果に基づいてデフォルト属性を決定する。このとき、デフォルト属性決定部215は、最も多くカウントされた属性を基準としてデフォルト属性を決定する。なお、例えばタイルごとにフラットニング処理が実行される場合、タイルごとにデフォルト属性が決定されてもよいし、決定された複数のデフォルト属性のなかからページ全体に対応するデフォルト属性が選択されてもよい。一般的に、ある画像データに適用される圧縮手法を決定する場合、画像データを走査して検出された全画素値(全属性値)に基づいて圧縮手法が決定される。つまり、画像データを圧縮する際に、画像データの全画素が走査されることになる。本実施形態では、圧縮手法を決定するために行われる走査において、デフォルト属性を決定するために必要な属性値の取得も行われる。そのため、走査処理を重複して行う必要が無いため処理負荷を軽減することができる。
次いで、描画命令生成処理について説明する。
S208において、フラットニング処理で生成されたラスタ画像データにおける着目画素が選択される。
S208において、フラットニング処理で生成されたラスタ画像データにおける着目画素が選択される。
S209において、属性マスク命令生成部217は、着目画素の属性がデフォルト属性であるか否かを判定する。着目画素の属性がデフォルト属性である場合(S209:YES)はS210をスキップしてS211に移行する。着目画素の属性がデフォルト属性ではない場合(S209:NO)はS210に移行する。
S210において、属性マスク命令生成部217は属性マスク命令を生成する。属性マスク命令は、レンダリング部220が解釈可能な描画命令であり、レンダリング部220に対してデフォルト属性値を所望の属性値に上書きすることを指示する。
S211において、画像合成命令生成部218は画像合成命令を生成する。画像合成命令は、レンダリング部220が解釈可能な描画命令であり、レンダリング部220に対して圧縮された画像データを伸長することや、オブジェクトの重なりが発生している場合に画素データを合成することなどを指示する。
S212において、全ての画素について処理が完了したか否かが判定される。全ての画素について処理が完了した場合(S212:YES)はS213に移行する。全ての画素について処理が完了していない場合(S212:NO)はS208に戻り、未処理の画素のなかから着目画素が選択され、S208〜S212の処理が繰り返される。
S213において、画像圧縮部214は、フラットニング処理で生成されたラスタ画像データを圧縮する。このとき、画像圧縮部214は、フラットニング処理で生成された画像データを走査して検出したRGB画素値に基づいて圧縮手法を決定する。例えば、画像データが自然画などの低コントラストの画像を表す場合はLossy圧縮が選択され、画像データがグラフィックなどの高コントラストの画像を表す場合はLossless圧縮が選択される。このとき、フラットニング処理で生成されたラスタ画像データが圧縮されると、圧縮前のラスタ画像データが画素ごとに有している属性値が失われてしまう。
S214において、描画命令生成部216は、描画命令生成処理で生成された描画命令を出力する。出力された描画命令はレンダリング情報に追加されてRAM102に書き込まれる。
一方、着目領域がフラットニング処理の対象領域ではない場合(S202:NO)、描画命令生成部216は、PDLデータに含まれていた、オブジェクトの描画を指示する描画命令や、背景の描画に関する描画条件などを出力する。オブジェクトの座標情報などと同様に、これらもレンダリング情報に追加されてRAM102に書き込まれる。
S215において、全ての領域について処理が完了したか否かが判定される。全ての領域について処理が完了した場合(S215:YES)はS216に移行する。全ての領域について処理が完了していない場合(S215:NO)はS201に戻り、未処理の領域のなかから着目領域が選択され、S201〜S215の処理が繰り返される。
S216において、中間データ生成部210は、S201〜S215で生成されたレンダリング情報を中間データに格納する。S216が終了すると、再び図3のフローチャートに戻る。
以下、図6の模式図を参照して中間データの具体例について説明する。中間データ611には、S211で生成された画像合成命令612と、S207で決定されたデフォルト属性を示す属性情報613と、S210で生成された属性マスク命令614とが含まれている。
画像合成命令612は、レンダリング部220に対して、(x,y)=(0,0)〜(i,j)に圧縮された画像データを伸長することを指示する。
属性情報613は、レンダリング部220によって参照される情報であり、(x,y)=(0,0)〜(i,j)の画素はイメージ属性を有することを示す。後述のレンダリング処理において、レンダリング部220は、属性情報613を参照することで、伸長された画像データの画素ごとにイメージ属性を示す属性値(11)を対応付けることができる。
属性マスク命令614は、レンダリング部220に対して、(x,y)=(0,0)〜(x1,y1)を背景属性に、(30,10)〜(x2,y2)をテキスト属性に、(x3,y3)〜(i,j)を背景属性に上書きすることを指示する。
図6において、画像合成命令612と属性情報613とを囲む1点鎖線は、画像合成命令612と属性情報613とが、フラットニング処理で生成された画像データと属性データとに基づいてそれぞれ生成されていることを表している。また、属性情報613と属性マスク命令614とを囲む点線は、属性情報613と属性マスク命令614とが画素ごとに対応関係を有していることを表している。また、画像合成命令612と属性マスク命令614とは階層的に示されている。階層は、レンダリング処理が実行される順番を表しており、本実施形態では、下側階層の画像合成命令612が先に、上側階層の属性マスク命令614が後に実行される。
図5は本実施形態におけるレンダリング処理例を示すフローチャートである。以下、図5のフローチャートを参照して本実施形態のレンダリング処理の詳細について説明する。
S301において処理対象の階層が選択される。本実施形態では、図6に示される通り、画像合成命令612が含まれる階層が先に、属性マスク命令614が含まれる階層が後に選択される。なお、レンダリング処理の対象となる階層は3階層以上であってもよい。
S302において着目領域が選択される。レンダリング処理の対象となる領域は、主走査方向に順番に選択されるのが一般的であるが、実施形態はこれに限定されず任意の順番で選択されてもよい。また、レンダリング処理の対象となる領域は画素単位であっても、複数の画素からなる領域単位であってもよい。
S303において、レンダリング部220は、中間データの記述に基づいて着目領域に対応する画像合成命令が存在するか否かを判定する。画像合成命令が存在する場合(S303:YES)はS304に移行する。画像合成命令が存在しない場合(S303:NO)はS305に移行する。
S304において、レンダリング部220は、画像合成命令に従って画素値を生成する。具体的には、中間データを生成する段階で圧縮されていた画像データが伸長されて、着目領域における画素の画素値として出力される。このとき、レンダリング部220は、中間データに含まれる属性情報に従って、デフォルト属性を、着目領域における全ての画素に対応付ける。中間データに含まれる属性情報を読み込み、着目領域における全ての画素に対応付ける処理は、画像合成命令を解釈(デコード)して画素値を生成する処理と比較して、定型的な処理であると言える。このような対応付け処理を実行する処理部を回路などのハードウェアで実装することにより、レンダリング処理をより高速化することができる。また、S304において、フラットニング処理が行われていない領域に対してレンダリング処理を実行する場合、従来手法と同様にレンダリング処理が行われる。例えば、最下層の領域をレンダリングして得られた暫定画素値を、その上位階層の領域をレンダリングして得られた画素値と合成することにより、出力画素値を決定する、などの処理が行われる。
一方、着目領域に対応する画像形成命令が存在しない場合(S303:NO)、S305において、レンダリング部220は、中間データの記述に基づいて着目領域に対応する属性マスク命令が存在するか否かを判定する。属性マスク命令が存在する場合(S305:YES)はS306に移行する。属性マスク命令が存在しない場合(S305:NO)はS307に移行する。
S306において、レンダリング部220は、S305で読み出した属性マスク命令に従って、着目領域に対応付けられているデフォルト属性を、デフォルト属性とは異なる属性に上書きする。
一方、着目領域に対応する属性マスク命令が存在しない場合(S305:NO)、S307において、S304で説明した従来手法と同様のレンダリング処理が実行される。
S308において、レンダリング部220は、全ての領域について処理が完了したか否かを判定する。全ての領域について処理が完了していない場合(S308:NO)はS302に戻り、未処理の領域のなかから着目領域が選択され、S302〜S308の処理が繰り返される。全ての領域について処理が完了した場合(S308:YES)はS309に移行する。
S309において、レンダリング部220は、全ての階層について処理が完了したか否かを判定する。全ての階層について処理が完了していない場合(S309:NO)はS301に戻り、未処理の階層のなかから処理対象となる階層が選択され、S301〜S309の処理が繰り返される。全ての階層について処理が完了した場合(S309:YES)は再び図3のフローチャートに戻る。
ここで、図6の模式図を参照して、レンダリング処理で生成されたラスタ画像データの具体例について説明する。ラスタ画像データ621には、レンダリング処理で生成されたラスタ画像データの内容の具体例が示されている。このラスタ画像データ621には、フラットニング処理で生成されたラスタ画像データと同様に、RGB8ビットの画素値を有する画像データ622と、2ビットの属性値を有する属性データ623とが含まれる。
図8は本実施形態における画像処理手法の効果を示す図である。
図8(a)では、従来の画像処理手法において生成される画像合成命令801を模式的に示した図である。画像合成命令801は、レンダリング部220に対して属性値を合成することを指示する描画命令である。上述の通り、フラットニング処理で生成されたラスタ画像データが圧縮された場合、画素ごとの属性値が失われてしまう。従来の画像処理手法では、喪失した属性値を補完するために、レンダリング部220は画素位置(x,y)=(0,0)〜(i,j)それぞれに対して、画像合成命令801で指定されている属性値を合成する。図8(a)では、ラスタ画像データにおける画素位置と、画素位置それぞれに対して合成される属性値との対応関係が示されている。
図8(a)では、従来の画像処理手法において生成される画像合成命令801を模式的に示した図である。画像合成命令801は、レンダリング部220に対して属性値を合成することを指示する描画命令である。上述の通り、フラットニング処理で生成されたラスタ画像データが圧縮された場合、画素ごとの属性値が失われてしまう。従来の画像処理手法では、喪失した属性値を補完するために、レンダリング部220は画素位置(x,y)=(0,0)〜(i,j)それぞれに対して、画像合成命令801で指定されている属性値を合成する。図8(a)では、ラスタ画像データにおける画素位置と、画素位置それぞれに対して合成される属性値との対応関係が示されている。
図8(b)では、本実施形態の画像処理手法において生成される属性情報613と、属性マスク命令614とを模式的に示した図である。本実施形態のレンダリング部220は、描画命令を解釈することなく、属性情報613が示すデフォルト属性を、画素位置(x,y)=(0,0)〜(i,j)に対応付ける。次いで、レンダリング部220は、画素位置(x,y)=(0,0)のように、非デフォルト属性を有する画素位置についてのみ、属性マスク命令614を解釈して属性値を上書きする。図8(b)の属性マスク命令614では、非デフォルト属性を有する画素位置と、画素位置それぞれに対して上書きされる属性値との対応関係が示されている。図8(a)(b)に示される通り、イメージ属性値の合成を指示する画像合成命令を生成する必要がないため、中間データのデータ量と、レンダリング処理の処理負荷を軽減することができる。
このように、本実施形態の画像処理手法では、フラットニング処理で生成されたラスタ画像データのデフォルト属性と、非デフォルト属性を有する画素について属性マスク命令とが生成される。そのため、本実施形態の画像処理手法によれば、中間データのデータ量と、レンダリング処理の処理負荷とを軽減することができる。
[実施形態2]
実施形態1では、中間データを生成する段階でフラットニング処理が行われる例について説明した。しかしながら、PDLデータの種別によっては、予め属性が付与されたオブジェクトを含む場合がある。本実施形態では、オブジェクトが有する属性に基づいてデフォルト属性を決定する例について説明する。なお、本実施形態の説明において、実施形態1と同一の構成については、同一符号を付し、重複する内容については説明を簡略化または省略する。
実施形態1では、中間データを生成する段階でフラットニング処理が行われる例について説明した。しかしながら、PDLデータの種別によっては、予め属性が付与されたオブジェクトを含む場合がある。本実施形態では、オブジェクトが有する属性に基づいてデフォルト属性を決定する例について説明する。なお、本実施形態の説明において、実施形態1と同一の構成については、同一符号を付し、重複する内容については説明を簡略化または省略する。
図9は本実施形態における画像形成装置100の機能構成例を示すブロック図である。実施形態1の機能構成と異なり、本実施形態の画像形成装置100は、フラットニング判定部212と、フラットニング部213と、画像圧縮部214とに代えて、属性判定部901と、デフォルト属性決定部902とを備える。属性判定部901は、着目領域に属性を有するオブジェクトが含まれているか否かを判定する。デフォルト属性決定部902は、画素位置に対応付けられた属性のカウント結果に基づいてデフォルト属性を決定する。
図10は本実施形態における中間データ生成手順例を示すフローチャートである。
まず、属性判定処理について説明する。
S1001において、属性判定部901は、着目領域には属性を有するオブジェクトが含まれているか否かを判定する。着目領域に属性を有するオブジェクトが含まれている場合(S1001:YES)はS1002に移行する。着目領域に属性を有するオブジェクトが含まれていない場合(S1001:NO)はS214に移行する。
まず、属性判定処理について説明する。
S1001において、属性判定部901は、着目領域には属性を有するオブジェクトが含まれているか否かを判定する。着目領域に属性を有するオブジェクトが含まれている場合(S1001:YES)はS1002に移行する。着目領域に属性を有するオブジェクトが含まれていない場合(S1001:NO)はS214に移行する。
S1002において、画素位置ごとに属性が対応付けられる。属性判定部901は、オブジェクトの座標からどの画素位置にどの属性が対応付けられるかを認識することができる。また、同じ画素位置に複数のオブジェクトが存在する場合、オブジェクトの階層などの所定の優先順位に従って、当該画素位置に対応付けられる属性が決定される。
次いで、デフォルト属性決定処理について説明する。
S1003において、属性値を読み出す対象となる着目画素位置が選択される。
S1003において、属性値を読み出す対象となる着目画素位置が選択される。
S1004において、デフォルト属性決定部902は、着目画素位置の属性をカウントする。具体的には、着目画素位置の属性値を特定して当該属性値に対応する属性がカウントアップされる。
S1005において、デフォルト属性決定部902は、全ての画素位置について処理が完了したか否かを判定する。全ての画素位置について処理が完了した場合(S1005:YES)はS1006に移行する。全ての画素位置について処理が完了していない場合(S1005:NO)はS1003に戻り、未処理の画素位置のなかから着目画素位置が選択され、S1003〜S1005の処理が繰り返される。
S1006において、デフォルト属性決定部902は、属性のカウント結果に基づいてデフォルト属性を決定する。このとき、デフォルト属性決定部902は、最も多くカウントされた属性を基準としてデフォルト属性を決定する。
次いで、描画命令生成処理について説明する。
S1007において、属性値を読み出す対象となる着目画素位置が選択される。
S1007において、属性値を読み出す対象となる着目画素位置が選択される。
S1008において、属性マスク命令生成部217は、着目画素位置の属性がデフォルト属性であるか否かを判定する。着目画素位置の属性がデフォルト属性である場合(S1008:YES)はS1009をスキップしてS1010に移行する。着目画素位置の属性がデフォルト属性ではない場合(S1008:NO)はS1009に移行する。
S1009において、属性マスク命令生成部217は属性マスク命令を生成する。属性マスク命令は、レンダリング部220が解釈可能な描画命令であり、レンダリング部220に対してデフォルト属性値を所望の属性値に上書きすることを指示する。
S1010において、画像合成命令生成部218は画像合成命令を生成する。画像合成命令は、レンダリング部220が解釈可能な描画命令であり、レンダリング部220に対して画素データを合成することを指示する。
S1011において、全ての画素位置について処理が完了したか否かが判定される。全ての画素位置について処理が完了した場合(S1011:YES)、実施形態1で行われていた画像データの圧縮処理(S213)は行われずにS214に移行する。全ての画素位置について処理が完了していない場合(S1011:NO)はS1007に戻り、未処理の画素位置のなかから着目画素位置が選択され、S1007〜S1011の処理が繰り返される。S214以降の手順は実施形態1と同様である。
以上説明した通り、本実施形態の画像処理手法では、入力されたPDLデータに予め属性が付与されているオブジェクトが含まれている場合であっても、オブジェクトが有する属性に基づいてデフォルト属性を決定することができる。そのため、実施形態1と同様に、中間データのデータ量と、レンダリング処理の処理負荷とを軽減することができる。
(その他の実施例)
上述の実施形態において、属性は、画像処理部105に入力されたPDLデータに含まれるオブジェクトの種類である例について説明した。しかしながら、属性はオブジェクトの種類に限定されず、例えば、レンダリング処理が実行された場合に生成されるラスタ画像データが表す画像の透過度であってもよい。画像データに透過度を合成するために必要な中間データのデータ量と、レンダリング処理の処理負荷とを軽減することができる。
上述の実施形態において、属性は、画像処理部105に入力されたPDLデータに含まれるオブジェクトの種類である例について説明した。しかしながら、属性はオブジェクトの種類に限定されず、例えば、レンダリング処理が実行された場合に生成されるラスタ画像データが表す画像の透過度であってもよい。画像データに透過度を合成するために必要な中間データのデータ量と、レンダリング処理の処理負荷とを軽減することができる。
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
100・・画像形成装置
101・・CPU
105・・画像処理部
106・・印刷データ生成部
107・・印刷部
210・・中間データ生成部
215・・デフォルト属性決定部
217・・属性マスク命令生成部
220・・レンダリング部
101・・CPU
105・・画像処理部
106・・印刷データ生成部
107・・印刷部
210・・中間データ生成部
215・・デフォルト属性決定部
217・・属性マスク命令生成部
220・・レンダリング部
Claims (15)
- PDLデータを解釈してレンダリング処理に用いられる中間データを生成する画像処理装置であって、
入力されたPDLデータを解釈して前記レンダリング処理が実行された場合に生成されるラスタ画像データのデフォルト属性を決定する決定手段と、
前記決定されたデフォルト属性とは異なる属性を有する画素について、前記異なる属性に上書きすることを指示する属性マスク命令を生成する命令生成手段と、
前記決定されたデフォルト属性を示す属性情報と、前記生成された属性マスク命令とを含む中間データを生成する中間データ生成手段と、を有する
ことを特徴とする画像処理装置。 - 前記生成された中間データに対して前記レンダリング処理を実行するレンダリング手段をさらに有し、
前記レンダリング手段は、着目画素に対応する前記属性マスク命令が存在する場合、当該属性マスク命令に従って、前記着目画素に対応付けられている前記デフォルト属性を前記異なる属性に上書きする
ことを特徴とする請求項1に記載の画像処理装置。 - 前記レンダリング手段は、前記生成された中間データに含まれる前記属性情報に従って、前記属性情報が示すデフォルト属性を、前記レンダリング処理で生成されるラスタ画像データにおける画素に対応付けることを特徴とする請求項2に記載の画像処理装置。
- 前記入力されたPDLデータを解釈して前記レンダリング処理を先行的に行うフラットニング手段をさらに有することを特徴とする請求項1から3のいずれか1項に記載の画像処理装置。
- 前記中間データ生成手段は、前記フラットニング手段によって生成されたラスタ画像データをさらに含む中間データを生成することを特徴とする請求項4に記載の画像処理装置。
- 前記生成されたラスタ画像データに対して圧縮処理を実行する圧縮手段をさらに有することを特徴とする請求項5に記載の画像処理装置。
- 前記決定手段は、前記生成されたラスタ画像データの画素を走査して検出された画素ごとの属性に基づいて前記デフォルト属性を決定し、
前記圧縮手段は、前記生成されたラスタ画像データの画素を走査して検出された画素ごとの画素値に基づいて前記圧縮処理に適用される圧縮手法を決定し、
前記デフォルト属性の決定と、前記圧縮手法の決定とは、同一の前記走査で実行されることを特徴とする請求項6に記載の画像処理装置。 - 前記決定手段は、予め定められている属性を前記デフォルト属性に決定することを特徴とする請求項1から7のいずれか1項に記載の画像処理装置。
- 前記決定手段は、前記入力されたPDLデータにおける着目領域に属性を有するオブジェクトが含まれる場合、前記オブジェクトが有する属性に基づいて、前記着目領域に対して前記レンダリング処理が実行された場合に生成されるラスタ画像データのデフォルト属性を決定することを特徴とする請求項1から3のいずれか1項に記載の画像処理装置。
- 前記決定手段は、前記生成されるラスタ画像データにおいて最も多く検出される属性を前記デフォルト属性に決定することを特徴とする請求項1から9のいずれか1項に記載の画像処理装置。
- 前記属性は、前記入力されたPDLデータに含まれるオブジェクトの種類であることを特徴とする請求項1から10のいずれか1項に記載の画像処理装置。
- 前記属性は、前記生成されるラスタ画像データが表す画像の透過度であることを特徴とする請求項1から10のいずれか1項に記載の画像処理装置。
- PDLデータを解釈してレンダリング処理に用いられる中間データを生成する画像処理装置の制御方法であって、
入力されたPDLデータを解釈して前記レンダリング処理が実行された場合に生成されるラスタ画像データのデフォルト属性を決定する決定ステップと、
前記決定されたデフォルト属性とは異なる属性を有する画素について、前記異なる属性に上書きすることを指示する属性マスク命令を生成する命令生成ステップと、
前記決定されたデフォルト属性を示す属性情報と、前記生成された属性マスク命令とを含む中間データを生成する中間データ生成ステップと、を有する
ことを特徴とする制御方法。 - 請求項1から請求項12のいずれか1項に記載の画像処理装置によって生成されたラスタ画像データに対して印刷処理を実行する印刷手段を有する画像形成装置。
- コンピュータを、請求項1から請求項12のいずれか1項に記載の画像処理装置の各手段として機能させるためのプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017245128A JP2019111677A (ja) | 2017-12-21 | 2017-12-21 | 画像処理装置、画像処理装置の制御方法、画像形成装置およびプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017245128A JP2019111677A (ja) | 2017-12-21 | 2017-12-21 | 画像処理装置、画像処理装置の制御方法、画像形成装置およびプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2019111677A true JP2019111677A (ja) | 2019-07-11 |
Family
ID=67222050
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017245128A Pending JP2019111677A (ja) | 2017-12-21 | 2017-12-21 | 画像処理装置、画像処理装置の制御方法、画像形成装置およびプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2019111677A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020004397A1 (ja) | 2018-06-25 | 2020-01-02 | 三ツ星ベルト株式会社 | プーリ構造体、滑り軸受、及び、滑り軸受の製造方法 |
-
2017
- 2017-12-21 JP JP2017245128A patent/JP2019111677A/ja active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020004397A1 (ja) | 2018-06-25 | 2020-01-02 | 三ツ星ベルト株式会社 | プーリ構造体、滑り軸受、及び、滑り軸受の製造方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5132517B2 (ja) | 画像処理装置および画像処理方法 | |
JP5558767B2 (ja) | 画像処理装置及びその処理方法 | |
JP4766657B2 (ja) | 画像処理装置及びその制御方法、プログラム | |
JP4436454B2 (ja) | 画像処理装置、画像処理方法、そのプログラム及び記憶媒体 | |
JP5137759B2 (ja) | 画像処理装置 | |
US20070279705A1 (en) | Image processing apparatus and control method thereof, and program | |
US20110216086A1 (en) | Apparatus for generating raster images, raster image generating method, and storage medium | |
JP5031668B2 (ja) | 印刷装置、その制御方法、プログラム | |
JP2009296584A (ja) | 画像処理装置及び画像処理方法 | |
JP5893379B2 (ja) | 画像圧縮装置、画像圧縮方法、コンピュータプログラム | |
KR20140077831A (ko) | 화상형성장치 및 화상형성방법 | |
JP2004334852A (ja) | ピクセルタイプによる画像処理 | |
JP4208901B2 (ja) | 情報処理装置、画像処理装置、それらの装置の制御方法、プログラム、及びコンピュータ可読の記憶媒体 | |
JP4469330B2 (ja) | 画像処理装置、画像処理方法、画像処理プログラム、記録媒体及び画像形成装置 | |
JP2019111677A (ja) | 画像処理装置、画像処理装置の制御方法、画像形成装置およびプログラム | |
JP2008042345A (ja) | 画像処理方法、画像処理装置 | |
JP3346051B2 (ja) | 画像処理装置 | |
JP4936524B2 (ja) | 画像処理システムおよび画像処理方法 | |
US20110235927A1 (en) | Image processing apparatus and method | |
JP2004128881A (ja) | 画像圧縮装置、画像伸長装置及びそれらの方法、プログラム | |
JP2004334533A (ja) | 画像処理装置および画像処理方法 | |
JP2004128880A (ja) | 画像圧縮装置、画像伸長装置及びそれらの方法、プログラム | |
JP2001169120A (ja) | 画像処理装置及びその方法、及び画像処理システム | |
JP2007122621A (ja) | 情報処理装置、情報処理方法 | |
JP2006222940A (ja) | 画像処理装置 |