JP5257264B2 - 画像形成装置、画像データ処理方法及び制御プログラム - Google Patents
画像形成装置、画像データ処理方法及び制御プログラム Download PDFInfo
- Publication number
- JP5257264B2 JP5257264B2 JP2009147825A JP2009147825A JP5257264B2 JP 5257264 B2 JP5257264 B2 JP 5257264B2 JP 2009147825 A JP2009147825 A JP 2009147825A JP 2009147825 A JP2009147825 A JP 2009147825A JP 5257264 B2 JP5257264 B2 JP 5257264B2
- Authority
- JP
- Japan
- Prior art keywords
- information
- pixel
- graphic
- generated
- color
- 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
Links
Images
Description
本発明は、ページ記述言語(PDL)で表した入力データをプリント出力用のデータに処理する手段を有した画像形成装置(例えば、プリンタ、デジタル複写機、複合機等)に関し、より詳しくは、半透明描画処理が設定されたPDLの中間(ピクセル)データに対するアクセス効率を向上するための処理手段を有した画像形成装置、当該画像形成装置に用いる画像データ処理方法及び制御プログラムに関する。
従来から、プリンタ等の画像形成装置では、ホスト装置で作成されたページ記述言語(PDL)によって表した印刷コマンドを受取り、プリント出力用のデータとして処理し、出力に用いる。PDLとしては、PostScriptやPDF(Portable Document Format)、PCL(Printer Control Language)、XPS(XML(Extensible Markup Language)Paper Specification)等が使用され、画像形成装置は、これらのPDLで記述された印刷コマンドをそれぞれ解析するためのパーサを搭載する。
PDLの1つであるXPSでは半透明描画という従来のPDLにはない処理が新たに追加されている。半透明描画処理は、半透明で画像同士を重ね合わせる処理で、設定された処理パラメータ(半透明値)に従って処理される。具体的には、重ね合わせる各画像の半透明値を1以下として、通常、重ね合わせたときに全体が1となるように、この処理パラメータが描画オブジェクト毎に設定される。
この半透明描画処理は、PDLを解析した後に得られる中間データをもとにRGB24ビットの多値のピクセルデータに対して行われる処理である。つまり、プリント出力用のデータを得るためには、描画オブジェクト毎にピクセル単位で画像処理(ハーフトーン処理、BG/UCR等)等を施すことが必要で、これらの処理は、RGB24ビットの多値で描画した後に行うが、半透明描画処理もこれらの処理と同様に、RGB24ビットの多値の描画データに対しても行う。
この半透明描画処理は、PDLを解析した後に得られる中間データをもとにRGB24ビットの多値のピクセルデータに対して行われる処理である。つまり、プリント出力用のデータを得るためには、描画オブジェクト毎にピクセル単位で画像処理(ハーフトーン処理、BG/UCR等)等を施すことが必要で、これらの処理は、RGB24ビットの多値で描画した後に行うが、半透明描画処理もこれらの処理と同様に、RGB24ビットの多値の描画データに対しても行う。
ところで、PDLに設定されているオブジェクト情報は、中間データをもとにRGB24ビットの多値描画を行った後は、各ピクセルとのつながりがなくなってしまうため、その後行う画像処理に用いるために、中間データに記されていたオブジェクト情報を保存しておく必要がある。即ち、描画時にオブジェクト情報は、ピクセル毎に文字で描画されたものか、グラフィックスで描画されたものか、イメージで描画されたものか等を保存し、その後のカラー処理やハーフトーン処理で活用する必要がある。なお、画像処理に用いるために中間データに記されるオブジェクト情報を、各ピクセルに対し属性の決定に用いる情報プレーンの形で保存する方法は、従来から知られている(例えば、特許文献1、参照)。
上記した半透明描画処理のパラメータ(半透明値)もオブジェクト情報の1つとして同様にピクセル毎に保存しておく必要がある。また、XPSの半透明描画処理では半透明描画処理の処理方法によっては、描画先の半透明描画処理の半透明値も保存しておく必要がある。この場合、重ねるデータ(「ソースデータ」という)の半透明値と描画先(「ディスティネーション」という)の半透明値を使用して描画する(下記[発明を実施するための形態]の記載、参照)ので、これもピクセル毎に保存する必要がある。
従って、RGB24ビット多値描画に必要な情報は、色値の他に、ピクセルの属性と半透明値がピクセル毎に必要になる。よって、RGBフルカラーで処理する場合は、1ピクセルあたり、RGB24ビットのほかに、ピクセルの属性と半透明値のためのそれぞれ1バイトを加えて、全部で5バイトのデータをハンドリングしながら処理を行うことになる。
従って、RGB24ビット多値描画に必要な情報は、色値の他に、ピクセルの属性と半透明値がピクセル毎に必要になる。よって、RGBフルカラーで処理する場合は、1ピクセルあたり、RGB24ビットのほかに、ピクセルの属性と半透明値のためのそれぞれ1バイトを加えて、全部で5バイトのデータをハンドリングしながら処理を行うことになる。
上記のように、半透明描画処理が設定されたPDLの中間(ピクセル)データに対し、RGBフルカラーで多値描画処理をする場合、1ピクセルあたり5バイト必要になるため、ピクセル単位に順番に配置すると、1ピクセルは5バイト単位のアクセスになる。コンピュータのCPU(Central Processing Unit)は、現在、通常4バイト(32ビット)のレジスタで構成されるのが普通であるから、1回の読出しで1ピクセル分(5バイトのデータ)にアクセスできないので、通常は1バイトずつアクセスすることになるので5回の命令で1ピクセルのデータの読み出しが可能になる。また、64ビットレジスタで構成されるCPUでも、5バイトずつアクセスすると、必ず境界にまたがる場合が出てくるので効率の悪さは同じである。
他方、画像形成出力に際しては、Black Over Print、地紋印刷、スタンプ印刷等の特殊なカラー処理を行うために情報を付加する場合がある。しかしながら、これらの特殊な印刷のための処理もまた、RGB24ビットの多値で描画した後の処理であり、更には、カラープレーンの情報をCMYK2値に変換した後の処理である。従って、上述したピクセルの属性や半透明値の情報と同様に、RGB24ビットの情報に加えて特殊な画像処理を示す情報をも保持しておき、更には、RGB24ビットの情報をCMYK2値に変換した後も保持しておく必要があり、上述した課題が更に顕著になる。
尚、上述した更に顕著な課題は、特殊なカラー処理の場合に限らず、カラープレーンの情報をCMYK2値に階調変換した後に実行される画像処理のために情報が必要となる場合に、同様に課題となり得る。
本発明は、上記従来技術の問題に鑑みてなされたもので、その目的は、画像形成出力すべき画像の画素の情報を階調情報に変換した後の画像処理が設定されたPDLの中間データに対する多値描画処理を経て保存されたピクセルデータへのアクセス効率を向上させることにある。
尚、上述した更に顕著な課題は、特殊なカラー処理の場合に限らず、カラープレーンの情報をCMYK2値に階調変換した後に実行される画像処理のために情報が必要となる場合に、同様に課題となり得る。
本発明は、上記従来技術の問題に鑑みてなされたもので、その目的は、画像形成出力すべき画像の画素の情報を階調情報に変換した後の画像処理が設定されたPDLの中間データに対する多値描画処理を経て保存されたピクセルデータへのアクセス効率を向上させることにある。
本発明の一態様は、ページ記述言語に基づいて得られた描画命令を取得する描画命令取得部と、描画すべき図形毎に情報がまとめられた図形情報を前記取得された描画命令に基づいて生成する図形情報生成部と、前記生成された図形情報に基づいて前記図形を構成する画素の情報である画素情報を生成する画素情報生成部と、前記生成された画素情報を変換して前記画素を描画するための階調情報を生成する階調情報生成部と、前記生成された階調情報に基づいて画像形成出力を実行するための出力情報を生成する出力情報生成部とを含む画像形成装置であって、前記図形情報生成部は、前記図形の半透明描画に関する情報及び前記階調情報が生成された後の画像処理に関する情報を含む前記図形情報を前記描画命令に基づいて生成し、前記画素情報生成部は、前記図形を構成する画素の彩色情報、前記画素の属性情報及び前記画素が構成する図形の半透明描画に関する情報を、夫々の情報のために確保された記憶領域に格納し、前記記憶領域の余剰領域に前記階調情報が生成された後の画像処理に関する情報を格納することによって前記画素情報を生成することを特徴とする。
また、前記図形を構成する画素の彩色情報について予め確保された記憶領域は、1画素あたり4バイトからなる点順次形式であることが好ましい。
また、前記図形を構成する画素の彩色情報について予め確保された記憶領域は、前記画素が無彩色である場合、1画素あたり1バイトからなる点順次形式であることが好ましい。
また、前記図形を構成する画素の彩色情報が3種類の色彩によって表わされる場合、前記4バイトのうちの1バイトがパディングバイトであり、前記画素情報生成部は、前記階調情報が生成された後の画像処理に関する情報を前記パディングバイトに格納することが好ましい。
また、前記画素情報生成部は、前記画素の属性情報のために予め確保された記憶領域の余剰領域に前記階調情報が生成された後の画像処理に関する情報を格納しても良い。
また、前記画素情報生成部は、前記画素が構成する図形の半透明描画に関する情報のために予め確保された記憶領域の余剰領域に前記階調情報が生成された後の画像処理に関する情報を格納しても良い。
また、前記画素の属性情報及び前記画素が構成する図形の半透明描画に関する情報のために予め確保された記憶領域は、1画素あたり2バイトからなる点順次形式であり、前記画素情報生成部は、前記2バイトの余剰領域に前記階調情報が生成された後の画像処理に関する情報を格納しても良い。
また、前記画素情報生成部は、ページを複数に分割した夫々の範囲であるバンド毎に前記図形情報に基づいて前記画素情報を生成し、前記図形を構成する画素の彩色情報のために予め確保された記憶領域の形式として、前記バンド毎に異なる形式を用いることが可能であることが好ましい。
本発明の他の態様は、画像データ処理方法であって、描画命令取得部が、ページ記述言語に基づいて得られた描画命令を取得し、図形情報生成部が、描画すべき図形毎にまとめられた情報であって、前記図形の半透明描画に関する情報及び前記階調情報が生成された後の画像処理に関する情報を含む前記図形情報を前記取得された描画命令に基づいて生成し、画素情報生成部が、前記生成された図形情報に基づき、前記図形を構成する画素の彩色情報、前記画素の属性情報及び前記画素が構成する図形の半透明描画に関する情報を、夫々の情報のために確保された記憶領域に格納し、前記記憶領域の余剰領域に前記階調情報が生成された後の画像処理に関する情報を格納することによって前記図形を構成する画素の情報である画素情報を生成し、階調情報生成部が、前記生成された画素情報を変換して前記画素を描画するための階調情報を生成し、出力情報生成部が、前記生成された階調情報に基づいて画像形成出力を実行するための出力情報を生成することを特徴とする。
本発明の他の態様は、制御プログラムであって、ページ記述言語に基づいて得られた描画命令を取得するステップと、描画すべき図形毎にまとめられた情報であって、前記図形の半透明描画に関する情報及び前記階調情報が生成された後の画像処理に関する情報を含む前記図形情報を前記取得された描画命令に基づいて生成するステップと、前記生成された図形情報に基づき、前記図形を構成する画素の彩色情報、前記画素の属性情報及び前記画素が構成する図形の半透明描画に関する情報を、夫々の情報のために確保された記憶領域に格納し、前記記憶領域の余剰領域に前記階調情報が生成された後の画像処理に関する情報を格納することによって前記図形を構成する画素の情報である画素情報を生成するステップと、前記生成された画素情報を変換して前記画素を描画するための階調情報を生成するステップと、前記生成された階調情報に基づいて画像形成出力を実行するための出力情報を生成するステップとを画像形成装置に実行させることを特徴とする。
また、前記図形を構成する画素の彩色情報について予め確保された記憶領域は、1画素あたり4バイトからなる点順次形式であることが好ましい。
また、前記図形を構成する画素の彩色情報について予め確保された記憶領域は、前記画素が無彩色である場合、1画素あたり1バイトからなる点順次形式であることが好ましい。
また、前記図形を構成する画素の彩色情報が3種類の色彩によって表わされる場合、前記4バイトのうちの1バイトがパディングバイトであり、前記画素情報生成部は、前記階調情報が生成された後の画像処理に関する情報を前記パディングバイトに格納することが好ましい。
また、前記画素情報生成部は、前記画素の属性情報のために予め確保された記憶領域の余剰領域に前記階調情報が生成された後の画像処理に関する情報を格納しても良い。
また、前記画素情報生成部は、前記画素が構成する図形の半透明描画に関する情報のために予め確保された記憶領域の余剰領域に前記階調情報が生成された後の画像処理に関する情報を格納しても良い。
また、前記画素の属性情報及び前記画素が構成する図形の半透明描画に関する情報のために予め確保された記憶領域は、1画素あたり2バイトからなる点順次形式であり、前記画素情報生成部は、前記2バイトの余剰領域に前記階調情報が生成された後の画像処理に関する情報を格納しても良い。
また、前記画素情報生成部は、ページを複数に分割した夫々の範囲であるバンド毎に前記図形情報に基づいて前記画素情報を生成し、前記図形を構成する画素の彩色情報のために予め確保された記憶領域の形式として、前記バンド毎に異なる形式を用いることが可能であることが好ましい。
本発明の他の態様は、画像データ処理方法であって、描画命令取得部が、ページ記述言語に基づいて得られた描画命令を取得し、図形情報生成部が、描画すべき図形毎にまとめられた情報であって、前記図形の半透明描画に関する情報及び前記階調情報が生成された後の画像処理に関する情報を含む前記図形情報を前記取得された描画命令に基づいて生成し、画素情報生成部が、前記生成された図形情報に基づき、前記図形を構成する画素の彩色情報、前記画素の属性情報及び前記画素が構成する図形の半透明描画に関する情報を、夫々の情報のために確保された記憶領域に格納し、前記記憶領域の余剰領域に前記階調情報が生成された後の画像処理に関する情報を格納することによって前記図形を構成する画素の情報である画素情報を生成し、階調情報生成部が、前記生成された画素情報を変換して前記画素を描画するための階調情報を生成し、出力情報生成部が、前記生成された階調情報に基づいて画像形成出力を実行するための出力情報を生成することを特徴とする。
本発明の他の態様は、制御プログラムであって、ページ記述言語に基づいて得られた描画命令を取得するステップと、描画すべき図形毎にまとめられた情報であって、前記図形の半透明描画に関する情報及び前記階調情報が生成された後の画像処理に関する情報を含む前記図形情報を前記取得された描画命令に基づいて生成するステップと、前記生成された図形情報に基づき、前記図形を構成する画素の彩色情報、前記画素の属性情報及び前記画素が構成する図形の半透明描画に関する情報を、夫々の情報のために確保された記憶領域に格納し、前記記憶領域の余剰領域に前記階調情報が生成された後の画像処理に関する情報を格納することによって前記図形を構成する画素の情報である画素情報を生成するステップと、前記生成された画素情報を変換して前記画素を描画するための階調情報を生成するステップと、前記生成された階調情報に基づいて画像形成出力を実行するための出力情報を生成するステップとを画像形成装置に実行させることを特徴とする。
本発明によると、画像形成出力すべき画像の画素の情報を階調情報に変換した後の画像処理が設定されたPDLの中間(ピクセル)データに対する多値描画処理において、多値描画処理を経て保存されたピクセルデータへのアクセス効率の向上を図ることができる。
以下に本発明に係る画像形成装置の実施形態を添付した図面を参照して説明する。本実施形態においては、半透明描画処理及びBlack Over Print、地紋印刷及びスタンプ印刷等の特殊なカラー処理の機能を有し、描画情報の生成処理が効率化された画像形成装置について説明する。
図1は、本発明の実施形態に係る画像形成装置のハードウェア構成の概略を示す図である。同図に示すように、画像形成装置は、ホストPC(Personal computer)20から印刷コマンドを受取り、受取った印刷コマンドに従いプリンタエンジン30を動作させるために画像形成装置を構成する各部を制御するコントローラ10と、用紙に画像を印刷するプリンタエンジン30と、ユーザインターフェースとして機能する操作パネル40で構成される。なお、コントローラ10は、後述するように、ホストPC20で作成されたPDLによって表した印刷コマンドを受取り、受取った印刷コマンドをもとにプリント出力用の画像データを生成し、この画像データを用いてプリンタエンジン30を動作させる。また、操作パネル40は、画像形成装置の動作状態等の機器条件をユーザに知らせる表示部と、またユーザが画像形成装置に動作条件を指示する入力を行う入力部を持つ。
図1は、本発明の実施形態に係る画像形成装置のハードウェア構成の概略を示す図である。同図に示すように、画像形成装置は、ホストPC(Personal computer)20から印刷コマンドを受取り、受取った印刷コマンドに従いプリンタエンジン30を動作させるために画像形成装置を構成する各部を制御するコントローラ10と、用紙に画像を印刷するプリンタエンジン30と、ユーザインターフェースとして機能する操作パネル40で構成される。なお、コントローラ10は、後述するように、ホストPC20で作成されたPDLによって表した印刷コマンドを受取り、受取った印刷コマンドをもとにプリント出力用の画像データを生成し、この画像データを用いてプリンタエンジン30を動作させる。また、操作パネル40は、画像形成装置の動作状態等の機器条件をユーザに知らせる表示部と、またユーザが画像形成装置に動作条件を指示する入力を行う入力部を持つ。
コントローラ10は、CPU(Central Processing Unit)11、ROM(Read Only Memory)12、RAM(Random Access Memory)13、NV(Nonvolatile)RAM14、ネットワークインターフェース(I/F)15、エンジンI/F16、パネルI/F17の各要素よりなる。
CPU11は、ソフトウェアプログラムの命令を実行する。ROM12は、CPU11が動作するプログラムを格納するメモリである。RAM13は、コントローラソフトが作成するページメモリやCPU11によるソフトウェアの動作に必要なワークメモリとして利用されるメモリである。不揮発性のNVRAM14は、画像形成装置の印刷条件などの設定条件を保存しておくメモリである。
また、ネットワークI/F15は、ネットワーク上に接続されたホストPC20とデータのやり取りを行うためのI/Fである。エンジンI/F16は、プリンタエンジン30との間で印刷指示等のやり取りを行うためのI/Fである。パネルI/F17は、操作パネル40との間でデータの入出力を行うためのI/Fである。
CPU11は、ソフトウェアプログラムの命令を実行する。ROM12は、CPU11が動作するプログラムを格納するメモリである。RAM13は、コントローラソフトが作成するページメモリやCPU11によるソフトウェアの動作に必要なワークメモリとして利用されるメモリである。不揮発性のNVRAM14は、画像形成装置の印刷条件などの設定条件を保存しておくメモリである。
また、ネットワークI/F15は、ネットワーク上に接続されたホストPC20とデータのやり取りを行うためのI/Fである。エンジンI/F16は、プリンタエンジン30との間で印刷指示等のやり取りを行うためのI/Fである。パネルI/F17は、操作パネル40との間でデータの入出力を行うためのI/Fである。
コントローラ10は、ROM12に格納されたプログラムの一部に、受取った印刷コマンドをもとにプリント出力用の画像データを生成するためのプログラムを記録し、このプログラムをCPU11が駆動することで、後述する図2及び図3に示す機能を実現する手段を構成する。
なお、上記プログラムを記録する媒体としては、上記ROM12に限らず、HDD(Hard Disk Drive)、CD(Compact Disk)−ROM、MO(Magnet Optical Disk)、DVD(Digital Versatile Disk)等のコンピュータで読み取り可能な記録媒体を用いることができる。また、プログラムを、インターネット等のネットワーク(図示せず)に接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するようにしても良い。
なお、上記プログラムを記録する媒体としては、上記ROM12に限らず、HDD(Hard Disk Drive)、CD(Compact Disk)−ROM、MO(Magnet Optical Disk)、DVD(Digital Versatile Disk)等のコンピュータで読み取り可能な記録媒体を用いることができる。また、プログラムを、インターネット等のネットワーク(図示せず)に接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するようにしても良い。
図2は、画像形成装置(図1)のコントローラのソフトウェア構成を示すブロック図である。
コントローラ10内のソフトウェア構成は、プリンタコントロールシステム部104の制御下に、ホストPC20とデータの交換を行うネットワークI/F部102、操作パネル40の制御を行うパネルI/F部103、受け取った印刷コマンド(印刷データ)をもとにプリント出力用の画像データを生成するPDL部105、プリンタエンジン30に対し印刷指示等を行うエンジンI/F部106を有する。
コントローラ10内のソフトウェア構成は、プリンタコントロールシステム部104の制御下に、ホストPC20とデータの交換を行うネットワークI/F部102、操作パネル40の制御を行うパネルI/F部103、受け取った印刷コマンド(印刷データ)をもとにプリント出力用の画像データを生成するPDL部105、プリンタエンジン30に対し印刷指示等を行うエンジンI/F部106を有する。
図3は、描画コアモジュールを有するPDL部(図2参照)のモジュール構成を示すブロック図である。
PDL部105は、プリンタコントロールシステム部104を介して受取ったPDLで記述された印刷コマンドを解析するPDLパーサ部120とPDLパーサ部120の解析結果をもとに描画処理及びプリント出力用の画像データへの変換処理を行う描画コアモジュール110よりなる。すなわち、PDLパーサ部120が、描画命令である印刷コマンドを取得する描画命令取得部として機能する。
描画コアモジュール110は、描画モジュールI/F113、中間データ保存部114、多値描画部115、カラー変換部116、CMYK2値変換部117及びカラー特殊処理部118の各部を有する。
PDL部105は、プリンタコントロールシステム部104を介して受取ったPDLで記述された印刷コマンドを解析するPDLパーサ部120とPDLパーサ部120の解析結果をもとに描画処理及びプリント出力用の画像データへの変換処理を行う描画コアモジュール110よりなる。すなわち、PDLパーサ部120が、描画命令である印刷コマンドを取得する描画命令取得部として機能する。
描画コアモジュール110は、描画モジュールI/F113、中間データ保存部114、多値描画部115、カラー変換部116、CMYK2値変換部117及びカラー特殊処理部118の各部を有する。
描画モジュールI/F113は、PDLパーサ部120から解析結果であるテキスト、イメージ、ベクターグラフィックス、描画設定情報を受け取るためのI/Fである。
中間データ保存部114は、テキスト、イメージ、ベクターグラフィックス等の描画オブジェクトを表す描画データと、色値及び半透明描画処理(後記で詳述)の設定等の描画設定情報を保存するための機能部である。
多値描画部115は、中間形式保存部114から指定されたカラースペースでピクセルデータを描画するための機能部である。
カラー変換部116は、多値描画部115によって多値で描画されたデータからデバイスカラー(機器に依存する特性)へ変換するための機能部である。
CMYK2値変換部117は、カラー変換部116で処理されたデバイスカラーをCMYK(C:シアン,M:マゼンタ,Y:イエロー,K:ブラック)2値でハーフトーン処理を行うための機能部である。
カラー特殊処理部118は、Black Over Print、地紋印刷、スタンプ印刷等のカラー特殊処理を行う機能部である。
なお、多値描画部115のカラースペースは、ページの始めに描画カラースペースとして指定されたものに従う。RGBカラースペースが指定された場合は、RGB各色8ビットで描画される。
中間データ保存部114は、テキスト、イメージ、ベクターグラフィックス等の描画オブジェクトを表す描画データと、色値及び半透明描画処理(後記で詳述)の設定等の描画設定情報を保存するための機能部である。
多値描画部115は、中間形式保存部114から指定されたカラースペースでピクセルデータを描画するための機能部である。
カラー変換部116は、多値描画部115によって多値で描画されたデータからデバイスカラー(機器に依存する特性)へ変換するための機能部である。
CMYK2値変換部117は、カラー変換部116で処理されたデバイスカラーをCMYK(C:シアン,M:マゼンタ,Y:イエロー,K:ブラック)2値でハーフトーン処理を行うための機能部である。
カラー特殊処理部118は、Black Over Print、地紋印刷、スタンプ印刷等のカラー特殊処理を行う機能部である。
なお、多値描画部115のカラースペースは、ページの始めに描画カラースペースとして指定されたものに従う。RGBカラースペースが指定された場合は、RGB各色8ビットで描画される。
描画コアモジュール110を有するPDL部105の構成を示す図3を参照しながら、PDLによって表した印刷コマンドの処理の流れを説明する。
先ず、PDLパーサ120は、印刷コマンドのPDLを解析する。この実施形態では、PDLパーサ120は、PostScript、PDF(Portable Document Format)、PCL(Printer Control Language)、XPS(eXtensible markup language Paper Specification)等の各PDLの構文の違いをそれぞれ解析する機能を有し、解析したPDLに対応して、描画コアモジュール110の描画モジュールI/F113をコールする。
描画モジュールI/F113は、イメージ、グラフィックス、文字等の描画オブジェクトを表す描画データと、色値、ブラシ、半透明描画処理(後記で詳述)、線形状等の描画設定情報を得るためのI/Fとして、全てのPDLの描画に対応するI/Fとして機能する。
先ず、PDLパーサ120は、印刷コマンドのPDLを解析する。この実施形態では、PDLパーサ120は、PostScript、PDF(Portable Document Format)、PCL(Printer Control Language)、XPS(eXtensible markup language Paper Specification)等の各PDLの構文の違いをそれぞれ解析する機能を有し、解析したPDLに対応して、描画コアモジュール110の描画モジュールI/F113をコールする。
描画モジュールI/F113は、イメージ、グラフィックス、文字等の描画オブジェクトを表す描画データと、色値、ブラシ、半透明描画処理(後記で詳述)、線形状等の描画設定情報を得るためのI/Fとして、全てのPDLの描画に対応するI/Fとして機能する。
描画モジュールI/F113は、PostScriptを例にすると、以下のような動作で描画コマンドに対応する。
PostScriptでは、例えば、図4に示すような描画コマンドが発行される。即ち、この描画コマンドには、RGBカラースペースで(R,G,B)=(0.5,0.0,0.0)の色で、ページの左下を原点として、左下、右上座標をそれぞれ(100,100)、(200,200)で指定して矩形を描画するコマンドが記述されている。
この描画コマンドに対し、描画モジュールI/F113は、色を設定するI/Fをコールし、その後、矩形領域を設定するために座標を設定するI/Fと塗りつぶし指定するI/Fをコールすることで、描画コマンドに従い矩形を描画することができる。
PostScriptでは、例えば、図4に示すような描画コマンドが発行される。即ち、この描画コマンドには、RGBカラースペースで(R,G,B)=(0.5,0.0,0.0)の色で、ページの左下を原点として、左下、右上座標をそれぞれ(100,100)、(200,200)で指定して矩形を描画するコマンドが記述されている。
この描画コマンドに対し、描画モジュールI/F113は、色を設定するI/Fをコールし、その後、矩形領域を設定するために座標を設定するI/Fと塗りつぶし指定するI/Fをコールすることで、描画コマンドに従い矩形を描画することができる。
図5は、このとき描画モジュールI/F113が描画コマンドに応じて行う関数I/Fの設定例を示す図である。
この関数I/Fは、図5に記述するように、図4の描画コマンドに応じて関数シーケンスへの変換を行う。図5の関数シーケンスにおけるsetcolorの第1引数は、RGBカラースペースを指定し、第2から第4引数でRGB各色の色値を0.0から1.0の範囲で指定する。図5の例では、図4の描画コマンドに対応する(0.5,0.0,0.0)が記述されている。
また、図5の関数シーケンスにおけるrectangleは、矩形描画関数で左上座標と右下座標が指定される。図5の例では、図4の描画コマンドに対応する(100,100、200,200)が記述されている。
なお、他の言語も同様に描画モジュールI/F113をコールすることで、描画コマンドに応じた描画が可能である。
この関数I/Fは、図5に記述するように、図4の描画コマンドに応じて関数シーケンスへの変換を行う。図5の関数シーケンスにおけるsetcolorの第1引数は、RGBカラースペースを指定し、第2から第4引数でRGB各色の色値を0.0から1.0の範囲で指定する。図5の例では、図4の描画コマンドに対応する(0.5,0.0,0.0)が記述されている。
また、図5の関数シーケンスにおけるrectangleは、矩形描画関数で左上座標と右下座標が指定される。図5の例では、図4の描画コマンドに対応する(100,100、200,200)が記述されている。
なお、他の言語も同様に描画モジュールI/F113をコールすることで、描画コマンドに応じた描画が可能である。
描画モジュールI/F113がコールされた後、中間データ保存部114により描画モジュールI/F113を介して得られる描画データと描画設定情報は、中間データとしてメモリ上またはファイル上に保存される。
上記した描画モジュールI/F113の動作例で説明すると、setcolor関数では、RGBカラースペースと色値(0.5,0.0,0.0)が設定され、これらを描画設定情報の一つとして得る。
描画データ(イメージ、グラフィックス、文字等の描画オブジェクト)を修飾するためのデータをグラフィックス状態といい、カラースペースと色値は、グラフィックス状態としてメモリ上に保存される。グラフィックス状態には、カラースペースと色値の他に、半透明描画処理のパラメータ、Raster Operation値、線幅などがある。
グラフィックス状態は、図形、イメージ、グラフィックス、文字等の描画オブジェクトを表す描画データと関連付けて保存するときに各オブジェクトに共通なデータ構造を持つ。
上記した描画モジュールI/F113の動作例で説明すると、setcolor関数では、RGBカラースペースと色値(0.5,0.0,0.0)が設定され、これらを描画設定情報の一つとして得る。
描画データ(イメージ、グラフィックス、文字等の描画オブジェクト)を修飾するためのデータをグラフィックス状態といい、カラースペースと色値は、グラフィックス状態としてメモリ上に保存される。グラフィックス状態には、カラースペースと色値の他に、半透明描画処理のパラメータ、Raster Operation値、線幅などがある。
グラフィックス状態は、図形、イメージ、グラフィックス、文字等の描画オブジェクトを表す描画データと関連付けて保存するときに各オブジェクトに共通なデータ構造を持つ。
図6は、各種描画オブジェクトに共通する、中間データの保存に用いるデータ構造の1例を示す概念図である。なお、図6中の(A)、(B)、(C)は、3種の描画オブジェクトに対しグラフィックス状態(Gstatus)を関連付けて保存するときのデータ構造の例を示したもので、それぞれグラフィックス状態(Gstatus)を表すデータを保存するデータ部601と描画オブジェクトを表す描画データを保存するデータ部603よりなる。即ち、図6に示すよう情報は、描画すべき図形ごとに情報がまとめられた図形情報であり、描画モジュールI/F113が、図形情報生成部として機能する。
中間データのグラフィックス状態(Gstatus)を表すデータを保存するデータ部601には、描画データを修飾するためのデータとして、カラースペースと色値、線幅、半透明描画処理のパラメータ(半透明値)、Raster Operation値等の描画に共通な設定情報を保存する。図6に示す例では、固定長サイズのGstatusレコードを先頭に、次に描画オブジェクトを表す描画データのID番号がくる。
中間データのグラフィックス状態(Gstatus)を表すデータを保存するデータ部601には、描画データを修飾するためのデータとして、カラースペースと色値、線幅、半透明描画処理のパラメータ(半透明値)、Raster Operation値等の描画に共通な設定情報を保存する。図6に示す例では、固定長サイズのGstatusレコードを先頭に、次に描画オブジェクトを表す描画データのID番号がくる。
ID番号は、描画コマンド(描画オブジェクト)と対応付けられている。
図7は、ID番号と描画コマンドの対応表の1例を示すものである。同図の例では、描画コマンドとして、5種類が示されている。ID=0x00は矩形描画(Rectangle)を、ID=0x01は直線の描画(LineDraw)を、ID=0x02は直線で囲まれた領域の塗りつぶし(LineFill)を、ID=0x03はImageの描画を、ID=0x04は文字の描画を示す。
また、ID番号に続くパッディングバイトとflagの後には、描画コマンドに対応する描画関数の引数、イメージデータ、コードデータ等が保存される。
図5に示した描画モジュールI/F113がrectangle描画コマンドに応じて行う関数I/Fによるコールの例を引くと、このときに保存される中間データ、即ち、図6中の(A)のグラフィックス状態(Gstatus)には、カラースペースと色値が保存され、rectangleの座標はleft=100,top=100,right=200,bottom=200が保存される。なお、ID番号の次のバイトは、パッディングバイトで0が入る。また、flagは、描画コマンドの属性として使われる。属性の例としてRectangleコマンドをClip(描画領域を限定するコマンド)とする場合は、Clipであることを示すビットをONにする。
図7は、ID番号と描画コマンドの対応表の1例を示すものである。同図の例では、描画コマンドとして、5種類が示されている。ID=0x00は矩形描画(Rectangle)を、ID=0x01は直線の描画(LineDraw)を、ID=0x02は直線で囲まれた領域の塗りつぶし(LineFill)を、ID=0x03はImageの描画を、ID=0x04は文字の描画を示す。
また、ID番号に続くパッディングバイトとflagの後には、描画コマンドに対応する描画関数の引数、イメージデータ、コードデータ等が保存される。
図5に示した描画モジュールI/F113がrectangle描画コマンドに応じて行う関数I/Fによるコールの例を引くと、このときに保存される中間データ、即ち、図6中の(A)のグラフィックス状態(Gstatus)には、カラースペースと色値が保存され、rectangleの座標はleft=100,top=100,right=200,bottom=200が保存される。なお、ID番号の次のバイトは、パッディングバイトで0が入る。また、flagは、描画コマンドの属性として使われる。属性の例としてRectangleコマンドをClip(描画領域を限定するコマンド)とする場合は、Clipであることを示すビットをONにする。
次に、多値描画部115の動作を説明する。
多値描画部115が行う描画処理は、中間データ保存部114によって保存された中間データをもとにピクセルデータを描画する処理で、プリント出力用の画像データ処理(カラー変換、ハーフトーニング等)の前段で行われる。描画結果のピクセルデータは、点順次に、即ち、ページ画像のピクセルの並び順に、メモリに保存される。換言すると、多値描画部115が生成する情報は、描画すべき図形を構成する画素の情報、即ち画素情報であり、多値描画部115が、画素情報生成部として機能する。
具体的には、設定されたカラースペースに従って各色8ビット(多値)の色値を表すカラープレーン、各ピクセルの属性をカラープレーンに対応付けて表すピクセル属性プレーン、半透明描画処理に用いる半透明値を表すディスティネーション透過プレーンの各プレーンのピクセルデータを点順次に描画する。
更に、多値描画部115は、特殊描画処理部118によって実行されるBlack Over Print、地紋印刷、スタンプ印刷等の特殊なカラー処理の有無を示す情報を各プレーンの余剰領域に格納する。これについては、後に詳述する。
多値描画部115が行う描画処理は、中間データ保存部114によって保存された中間データをもとにピクセルデータを描画する処理で、プリント出力用の画像データ処理(カラー変換、ハーフトーニング等)の前段で行われる。描画結果のピクセルデータは、点順次に、即ち、ページ画像のピクセルの並び順に、メモリに保存される。換言すると、多値描画部115が生成する情報は、描画すべき図形を構成する画素の情報、即ち画素情報であり、多値描画部115が、画素情報生成部として機能する。
具体的には、設定されたカラースペースに従って各色8ビット(多値)の色値を表すカラープレーン、各ピクセルの属性をカラープレーンに対応付けて表すピクセル属性プレーン、半透明描画処理に用いる半透明値を表すディスティネーション透過プレーンの各プレーンのピクセルデータを点順次に描画する。
更に、多値描画部115は、特殊描画処理部118によって実行されるBlack Over Print、地紋印刷、スタンプ印刷等の特殊なカラー処理の有無を示す情報を各プレーンの余剰領域に格納する。これについては、後に詳述する。
図8(A)〜(C)は、中間データをもとに多値描画部115によって描画されるピクセルデータの各プレーンのデータ構成を示す概念図である。
図8(A)に示すカラープレーンは、ページ領域を描画するピクセルについて、点順示フォーマットで色値を保存する。同図に示す例は、カラースペースがRGB(RはRed、GはGreen、BはBlue)の場合で、RGB(各色8ビット)のピクセル色値が点順示に保存される。このカラープレーンは、同図に示すように、1ピクセル当たり4バイトを確保して実施する。なお、図8(A)中のPはパッティングバイト(パディングバイト)であり、カラースペースがRGBの場合には、Pの値は0が埋められる。なお、カラースペースがCMYKの場合4バイトを全部ピクセル色値で使用する。
図8(A)に示すカラープレーンは、ページ領域を描画するピクセルについて、点順示フォーマットで色値を保存する。同図に示す例は、カラースペースがRGB(RはRed、GはGreen、BはBlue)の場合で、RGB(各色8ビット)のピクセル色値が点順示に保存される。このカラープレーンは、同図に示すように、1ピクセル当たり4バイトを確保して実施する。なお、図8(A)中のPはパッティングバイト(パディングバイト)であり、カラースペースがRGBの場合には、Pの値は0が埋められる。なお、カラースペースがCMYKの場合4バイトを全部ピクセル色値で使用する。
図8(B)に示すピクセル属性プレーンは、上記で説明した中間データ(図6に示したデータ構造、参照)に示される描画オブジェクトを表す描画データがピクセルデータを描画するときに消失してしまうと、各描画オブジェクトの特性をプリント出力用の画像データに反映できなくなるので、ピクセルの属性として描画オブジェクトを関連付けるために作られる。
この実施形態では、各ピクセルの属性を表すデータ値(図8(B)中に「A」として示す)を8ビットで持つ。8ビットであれば各ビットで夫々の属性を表現することにより、少なくとも8種類の属性値を表現できる。属性を表すデータ値は、描画されたピクセルが文字、イメージ、グラフィックス等の描画オブジェクト種類のいずれに属するかの判断のために使用される。尚、ピクセルが属する描画オブジェクトの種類が、文字、イメージ、グラフィックスのいずれに属するかを判断するためには、いずれにも属さない場合も含めて4種類を判断することができれば良く、少なくとも2ビットで判断可能である。
図8(C)に示す半透明描画処理に用いるディスティネーション透過プレーンは、描画先(ディスティネーション)の半透明描画処理に用いる半透明値(図8(C)中に「T」として示す)を8ビットで持つ。なお、透過プレーンの使用方法については、後記で詳細に説明する。
この実施形態では、各ピクセルの属性を表すデータ値(図8(B)中に「A」として示す)を8ビットで持つ。8ビットであれば各ビットで夫々の属性を表現することにより、少なくとも8種類の属性値を表現できる。属性を表すデータ値は、描画されたピクセルが文字、イメージ、グラフィックス等の描画オブジェクト種類のいずれに属するかの判断のために使用される。尚、ピクセルが属する描画オブジェクトの種類が、文字、イメージ、グラフィックスのいずれに属するかを判断するためには、いずれにも属さない場合も含めて4種類を判断することができれば良く、少なくとも2ビットで判断可能である。
図8(C)に示す半透明描画処理に用いるディスティネーション透過プレーンは、描画先(ディスティネーション)の半透明描画処理に用いる半透明値(図8(C)中に「T」として示す)を8ビットで持つ。なお、透過プレーンの使用方法については、後記で詳細に説明する。
図8(A)〜(C)の各プレーンは、メモリが1ページ分確保できる場合には、図6に示したデータ構造で保存された中間データを保存された順番に取り出して、指定されたアドレス(座標データ)に書込むことにより作られる。図8(A)〜(C)の各プレーンは、夫々画素の彩色情報、画素の属性情報及び画素が構成する図形の半透明描画の情報について、予め確保されたメモリ上の記憶領域である。
図6に示したデータ構造では、描画コマンド(ID番号)を識別することで、ピクセル属性としての描画オブジェクトとピクセルのアドレス(座標データ)とが得られ、これらのデータに基づいて、ピクセル属性プレーンにデータを書込む。同時に、当該描画コマンドのGstatus(グラフィックス状態)からカラースペースと色値、半透明描画処理のパラメータとしての半透明値、Raster Operation値等が得られ、これらのデータに基づいて、カラープレーン、ディスティネーション透過プレーンそれぞれにデータを書込む。このとき、カラープレーン上で表す色値をindex値で表すようにする形態で実施することができる。なお、このindex値は、カラールックアップテーブルによって色値と関連付けておくことで復元できる。index値を採用することで、処理するデータ量を低減できる。
また、書き込む際に、以下に示すRaster Operation又は半透明描画処理を行う。
図6に示したデータ構造では、描画コマンド(ID番号)を識別することで、ピクセル属性としての描画オブジェクトとピクセルのアドレス(座標データ)とが得られ、これらのデータに基づいて、ピクセル属性プレーンにデータを書込む。同時に、当該描画コマンドのGstatus(グラフィックス状態)からカラースペースと色値、半透明描画処理のパラメータとしての半透明値、Raster Operation値等が得られ、これらのデータに基づいて、カラープレーン、ディスティネーション透過プレーンそれぞれにデータを書込む。このとき、カラープレーン上で表す色値をindex値で表すようにする形態で実施することができる。なお、このindex値は、カラールックアップテーブルによって色値と関連付けておくことで復元できる。index値を採用することで、処理するデータ量を低減できる。
また、書き込む際に、以下に示すRaster Operation又は半透明描画処理を行う。
ROP(Raster Operation)は、Windows(登録商標)OS(Operating System)のグラフィックスエンジンで使われる画像処理であり、同じ領域に重なる図形の色値をRGB各色毎にビット演算をする処理である。ビット演算は、OR,XOR,ANDがある。
他方、半透明描画処理は、Windows(登録商標) Vista(登録商標)でサポートされるXPSやPDFで使われる画像処理で、同じ領域に重なる色値の透過割合を0%から100%で指定することで半透明描画する処理である。
通常、ROPと半透明描画処理が同時に使われることはないが、使われていてもよい。
他方、半透明描画処理は、Windows(登録商標) Vista(登録商標)でサポートされるXPSやPDFで使われる画像処理で、同じ領域に重なる色値の透過割合を0%から100%で指定することで半透明描画する処理である。
通常、ROPと半透明描画処理が同時に使われることはないが、使われていてもよい。
ROPが行われる場合は、ディスティネーション透過プレーン(図8(C)、参照)には書込みは行わない。また、Gstatus(グラフィックス状態)から得られるRaster Operation値(ID)によって、重なる画像(ピクセル)の色値同士でOR,XOR,ANDのビット演算を実施し、演算結果をカラープレーンの当該ピクセルのRGB色値(各色8ビット)データとして書込む。
なお、Gstatus(グラフィックス状態)に保存されているROPを指定するIDは、0〜255までの256通りあり、それぞれどのようなビット演算が行うか予め定義されている。この定義に従ってRGB各色毎にソースとディスティネーションのビット演算を実施する。
また、ビット演算を実施した後に、ピクセル属性プレーンに描画したピクセルのオブジェクト情報(文字、イメージ、グラフィックス)をピクセルの属性として点順次に書込む。
なお、Gstatus(グラフィックス状態)に保存されているROPを指定するIDは、0〜255までの256通りあり、それぞれどのようなビット演算が行うか予め定義されている。この定義に従ってRGB各色毎にソースとディスティネーションのビット演算を実施する。
また、ビット演算を実施した後に、ピクセル属性プレーンに描画したピクセルのオブジェクト情報(文字、イメージ、グラフィックス)をピクセルの属性として点順次に書込む。
半透明描画処理は、次に示す処理方法で実施する。
この実施形態で採用する半透明描画処理は、大別すると、描画対象のソースデータに対してのみ処理条件を設定する場合と、ソースデータ(重ねるデータ)と描画後のディスティネーションデータ(描画先のデータ)の両方に処理条件を設定する場合がある。
前者の場合、ソースとディスティネーションそれぞれのピクセルの色値を、ソース:S、ディスティネーション:Dとし、ソースの半透明値(0から1の間をとる)を半透明値:αとすると、半透明描画処理後の色値:NewDは、下記式(1)に基づいて算出することができる。
NewD = S*α+(1−α)*D ・・・式(1)
この半透明描画後の色値を算出する処理は、RGBの各色毎に行う。また、上記のようにソースデータに対してのみ、ソースα処理条件を設定する場合、ディスティネーション透過プレーン(図8(C)、参照)は、使用しない。
この実施形態で採用する半透明描画処理は、大別すると、描画対象のソースデータに対してのみ処理条件を設定する場合と、ソースデータ(重ねるデータ)と描画後のディスティネーションデータ(描画先のデータ)の両方に処理条件を設定する場合がある。
前者の場合、ソースとディスティネーションそれぞれのピクセルの色値を、ソース:S、ディスティネーション:Dとし、ソースの半透明値(0から1の間をとる)を半透明値:αとすると、半透明描画処理後の色値:NewDは、下記式(1)に基づいて算出することができる。
NewD = S*α+(1−α)*D ・・・式(1)
この半透明描画後の色値を算出する処理は、RGBの各色毎に行う。また、上記のようにソースデータに対してのみ、ソースα処理条件を設定する場合、ディスティネーション透過プレーン(図8(C)、参照)は、使用しない。
また、ソースデータと描画後のディスティネーションデータの両方に処理条件を設定する場合、
As:ソースの半透明値
Ad:ディスティネーション半透明値
Ad’:描画後のディスティネーション半透明値
Cs:ソース色値
Cd:ディスティネーション色値
Cd’:描画後のディスティネーション色値
とすると、Ad’及びCd’は、それぞれ例えば下記式(2)及び式(3)に基づいて算出することができる。
Ad’ = (1−As)*Ad+As ・・・式(2)
Cd’ = ((1−As)*Ad*Cd+As*Cs)/Ad’ ・・・式(3)
As:ソースの半透明値
Ad:ディスティネーション半透明値
Ad’:描画後のディスティネーション半透明値
Cs:ソース色値
Cd:ディスティネーション色値
Cd’:描画後のディスティネーション色値
とすると、Ad’及びCd’は、それぞれ例えば下記式(2)及び式(3)に基づいて算出することができる。
Ad’ = (1−As)*Ad+As ・・・式(2)
Cd’ = ((1−As)*Ad*Cd+As*Cs)/Ad’ ・・・式(3)
上記式(2)に基づいて算出される描画後のディスティネーション半透明値Ad’は、ディスティネーション透過プレーン(図8(C)、参照)の該当ピクセルに描画されることになる。
ソースの半透明値Asは、Gstatus(グラフィックス状態)に設定されている。
多値描画部115が中間データの描画オブジェクトをページメモリに描画する場合、Gstatusに設定されている描画対象オブジェクトの半透明描画処理に用いる半透明値、色値を取り出して、またディスティネーションのカラープレーンに設定されている色値、同じくディスティネーション透過プレーンに設定されているディスティネーション半透明値を使用して、新たなディスティネーション色値とディスティネーション半透明値を計算して、算出値によりそれぞれの値を更新する。
なお、半透明描画処理の処理方法は、同一ページを処理する場合1つの方法に定められているので、複数の処理方法が混在することはない。
ソースの半透明値Asは、Gstatus(グラフィックス状態)に設定されている。
多値描画部115が中間データの描画オブジェクトをページメモリに描画する場合、Gstatusに設定されている描画対象オブジェクトの半透明描画処理に用いる半透明値、色値を取り出して、またディスティネーションのカラープレーンに設定されている色値、同じくディスティネーション透過プレーンに設定されているディスティネーション半透明値を使用して、新たなディスティネーション色値とディスティネーション半透明値を計算して、算出値によりそれぞれの値を更新する。
なお、半透明描画処理の処理方法は、同一ページを処理する場合1つの方法に定められているので、複数の処理方法が混在することはない。
以上の説明は、図8(A)に示すカラープレーンへRGBデータを書込む多値描画処理の場合を説明したが、CMYK各色8ビットで描画する場合は、図8(A)に示すカラープレーンにおける1ピクセル当たりパッディングバイトPを有するPRGB32ビットで表現していたものをCMYK32ビットで描画するように置き換えればよい。つまり、パッティングバイトPは設ける必要はない。なお、グレースケールの場合は1ピクセル当たり8ビットで描画することになる。
また、中間データのGstatusに半透明描画処理に用いる半透明値があるか否かを確認することにより半透明描画処理の有無を判定する手段を備え、この半透明描画処理判定手段によって半透明描画処理がないと判断された場合に、色値を表すプレーンとして、多値をCMYK2値形式の色値で表す描画処理を行うようにしてもよい。
また、中間データのGstatusに半透明描画処理に用いる半透明値があるか否かを確認することにより半透明描画処理の有無を判定する手段を備え、この半透明描画処理判定手段によって半透明描画処理がないと判断された場合に、色値を表すプレーンとして、多値をCMYK2値形式の色値で表す描画処理を行うようにしてもよい。
ここで、多値描画処理によって保存されるピクセルデータの保存方法について説明する。
この種の画像形成装置では、多値描画処理によって、色値の他に、ピクセルの属性と半透明値をピクセルデータとして生成し、これらのデータをプリント出力に用いるために保存する。このピクセルデータの保存方法は、従来技術のように、ピクセル単位に順番に配置すると、1ピクセルは5バイト単位のアクセスになってしまい、4バイト(32ビット)のレジスタで構成されるCPUにとってアクセス効率の低下を招くことは、先に述べたとおりである。
そこで、プリント出力に用いる際、保存したピクセルデータを読出す時のアクセス効率を高めることができる保存方法をこの実施形態では採用する。
この種の画像形成装置では、多値描画処理によって、色値の他に、ピクセルの属性と半透明値をピクセルデータとして生成し、これらのデータをプリント出力に用いるために保存する。このピクセルデータの保存方法は、従来技術のように、ピクセル単位に順番に配置すると、1ピクセルは5バイト単位のアクセスになってしまい、4バイト(32ビット)のレジスタで構成されるCPUにとってアクセス効率の低下を招くことは、先に述べたとおりである。
そこで、プリント出力に用いる際、保存したピクセルデータを読出す時のアクセス効率を高めることができる保存方法をこの実施形態では採用する。
ピクセルデータを保存する形態として、概念的には3種の別プレーンとする例について、図8を参照して説明した。ただ、実際の各プレーンの保存形態は、別の記憶領域を利用して保存する必要はなく、プレーンを統合して保存する方法を採ることが可能である。
この実施形態では、先ず、カラープレーンには、図8(A)に示したように、1ピクセルあたり4バイトで点順次に色値を保存するので、4バイト構成のレジスタを持つCPUからのアクセスに都合がよい。よって、カラープレーンは、図8(A)に示したフォーマットで保存する方法を採用する。
この実施形態では、先ず、カラープレーンには、図8(A)に示したように、1ピクセルあたり4バイトで点順次に色値を保存するので、4バイト構成のレジスタを持つCPUからのアクセスに都合がよい。よって、カラープレーンは、図8(A)に示したフォーマットで保存する方法を採用する。
また、ピクセル属性プレーンには、ピクセル属性としてのオブジェクト情報(文字、イメージ、グラフィックス)を保存するために必要な容量として、1ピクセルあたり1バイトを確保できればよく、ディスティネーション透過プレーンには、ディスティネーション半透明値を保存するために必要な容量として、1ピクセルあたり1バイトを確保できればよい。よって、ピクセル属性とディスティネーション透過の両プレーンをまとめて1ピクセルあたり2バイトで保存する統合プレーンを用いる方法を採用する。この方法によると、1回のアクセスで、ピクセル属性としてのオブジェクト情報とディスティネーション半透明値の2ピクセル分を取得できる。
図9は、ピクセル属性とディスティネーション透過の両プレーンを統合したフォーマットの概念図を示す。同図に示すように、統合プレーンには、ページ領域を描画するピクセルについて、点順示フォーマットでピクセル属性Aとディスティネーション半透明値Tをまとめて保存する。
図9は、ピクセル属性とディスティネーション透過の両プレーンを統合したフォーマットの概念図を示す。同図に示すように、統合プレーンには、ページ領域を描画するピクセルについて、点順示フォーマットでピクセル属性Aとディスティネーション半透明値Tをまとめて保存する。
上記のピクセルデータの保存方法をとることで、カラープレーンの4バイトと統合(ピクセル属性+ディスティネーション半透明値)プレーンの2バイトを1ピクセル分としてアクセスを行うことができる。つまり、1.5回の読出しコマンドで1ピクセルデータの読出しができるようになって、少ないコマンド数でピクセルデータの読出しができるために、処理効率を高めることができる。
なお、カラープレーンに4バイトを確保するので、CMYKの場合についても、1.5回の読出しコマンドで1ピクセルデータの読出しができることに変わりがなく、RGB,CMYKいずれも効率よくハンドリングでき、3種のプレーンに保存されたピクセルデータを、以後に行うカラー変換、ハーフトーニング等のプリント出力用の画像データの処理の効率化が図れる。
なお、カラープレーンに4バイトを確保するので、CMYKの場合についても、1.5回の読出しコマンドで1ピクセルデータの読出しができることに変わりがなく、RGB,CMYKいずれも効率よくハンドリングでき、3種のプレーンに保存されたピクセルデータを、以後に行うカラー変換、ハーフトーニング等のプリント出力用の画像データの処理の効率化が図れる。
次に、バンディング処理について説明する。
上記の説明で多値描画部115が処理に必要なメモリ容量として、1ページ分確保できるものとして説明したが、1ページ分のメモリ容量が確保できない場合には、バンディング処理という方法によって描画処理を行う。
図10は、バンディング処理におけるバンドデータとページデータとの関係を説明する概念図である。バンディング処理は、コントローラ10が1ページ分のメモリ容量が確保できない場合に、図10に示すように、ページデータを高さ方向に複数に分割し、分割したバンドデータ単位でメモリ容量を確保し(図10の例では、高さ1024のバンドメモリを確保)、処理を行うことで、ページデータの処理を可能にする方法である。
上記の説明で多値描画部115が処理に必要なメモリ容量として、1ページ分確保できるものとして説明したが、1ページ分のメモリ容量が確保できない場合には、バンディング処理という方法によって描画処理を行う。
図10は、バンディング処理におけるバンドデータとページデータとの関係を説明する概念図である。バンディング処理は、コントローラ10が1ページ分のメモリ容量が確保できない場合に、図10に示すように、ページデータを高さ方向に複数に分割し、分割したバンドデータ単位でメモリ容量を確保し(図10の例では、高さ1024のバンドメモリを確保)、処理を行うことで、ページデータの処理を可能にする方法である。
バンディング処理では、多値描画部115は、描画処理に必要な中間データを取得する際に、バンド単位でメモリにアクセスし、取得した中間データを確保したバンドメモリに保存することで描画処理を実行する。バンドメモリに保存することができた中間データ以外のバンドデータは、圧縮するか、ハードディスク(不図示)等に退避しておく。圧縮した形で処理を待つバンドデータは、描画要求があった時点で圧縮を解凍してバンドメモリ上にロードする。ハードディクス退避しておいた場合にも描画要求があった時点でメモリ上にロードする。描画が終了し、次のバンド描画要求があった時点で圧縮するか、又はハードディスクへ保存するような処理を行う。
中間データ(図6に示したデータ構造、参照)をもとにバンディング処理で描画を行う際、各描画オブジェクトの座標データから各バンドデータにクリップしてバンドメモリに描画する。
描画結果としてバンドメモリに保存するピクセルデータは、図8及び図9の例に示したフォーマットになるが、バンド毎に違うフォーマットを適用できるようにすることによりメモリ容量を節約でき、バンドメモリに保存したピクセルデータを利用する際にも無駄なアクセス操作をしなくてもすむ。例えば、バンド0がグレーデータしかない場合は、カラープレーンは、1バイト(8ビット)グレープレーンのみでよく、ピクセル属性とディスティネーション透過の統合プレーンは、変わらないのでそれぞれ1バイトずつの2バイトとなる。他方、バンド1には、カラーデータが含まれる場合は、4バイトPRGBプレーンと、ピクセル属性とディスティネーション透過の統合プレーンは、変わらず2バイトとなる。なお、各バンドで使用されている色は、中間データのGstatus(グラフィックス状態)に含まれるカラーデータを調べることにより判定することができる。
描画結果としてバンドメモリに保存するピクセルデータは、図8及び図9の例に示したフォーマットになるが、バンド毎に違うフォーマットを適用できるようにすることによりメモリ容量を節約でき、バンドメモリに保存したピクセルデータを利用する際にも無駄なアクセス操作をしなくてもすむ。例えば、バンド0がグレーデータしかない場合は、カラープレーンは、1バイト(8ビット)グレープレーンのみでよく、ピクセル属性とディスティネーション透過の統合プレーンは、変わらないのでそれぞれ1バイトずつの2バイトとなる。他方、バンド1には、カラーデータが含まれる場合は、4バイトPRGBプレーンと、ピクセル属性とディスティネーション透過の統合プレーンは、変わらず2バイトとなる。なお、各バンドで使用されている色は、中間データのGstatus(グラフィックス状態)に含まれるカラーデータを調べることにより判定することができる。
ここで、バンドデータに対する描画処理を図11に示すフロー図に基づいて説明する。
図11のフローに示すように、バンディング動作が起動されると、先ず、描画対象となるページデータのバンドデータband0〜6から予め定められた順番に従い1つのバンドデータを取得する(ステップS101)。
次に、取得したバンドデータ内の描画対象ピクセルを点順次に指定し(ステップS102)、指定されたピクセルに対する中間データのGstatus(グラフィックス状態)を取得する(ステップS103)。
次に、指定されたピクセルのGstatusに含まれる色値を調べ、色値がモノクロかカラーかを判断する(ステップS104)。
図11のフローに示すように、バンディング動作が起動されると、先ず、描画対象となるページデータのバンドデータband0〜6から予め定められた順番に従い1つのバンドデータを取得する(ステップS101)。
次に、取得したバンドデータ内の描画対象ピクセルを点順次に指定し(ステップS102)、指定されたピクセルに対する中間データのGstatus(グラフィックス状態)を取得する(ステップS103)。
次に、指定されたピクセルのGstatusに含まれる色値を調べ、色値がモノクロかカラーかを判断する(ステップS104)。
ステップS104で調べた色値から当該ピクセルがカラーであると判断された場合には(ステップS104-NO)、バンドメモリのカラープレーンに、PRGBフォーマット(4バイト)でRGB又はCMYKの色値を書込む(ステップS105)。
他方、色値から当該ピクセルがモノクロであると判断された場合には(ステップS104-YES)、バンドメモリのカラープレーンに、モノクロフォーマット(1バイト)で濃度値を書込む(ステップS106)。
なお、上記の書込みステップで書込む色値又は濃度値は、半透明描画処理が設定されている場合には、設定条件に従い半透明描画の色値を計算し、算出した色値を書込む。
次いで、バンドメモリのピクセル属性プレーンに当該ピクセルのピクセル属性としてのオブジェクト情報(文字、イメージ、グラフィックス)を書込む(ステップS107)。
さらに、半透明描画処理が設定されている場合には、当該ピクセルのディスティネーション半透明値を計算して(上記式(2)、参照)、算出値をバンドメモリのディスティネーション透過プレーンに書込み、バンドメモリのディスティネーション半透明値を更新する(ステップS108)。
他方、色値から当該ピクセルがモノクロであると判断された場合には(ステップS104-YES)、バンドメモリのカラープレーンに、モノクロフォーマット(1バイト)で濃度値を書込む(ステップS106)。
なお、上記の書込みステップで書込む色値又は濃度値は、半透明描画処理が設定されている場合には、設定条件に従い半透明描画の色値を計算し、算出した色値を書込む。
次いで、バンドメモリのピクセル属性プレーンに当該ピクセルのピクセル属性としてのオブジェクト情報(文字、イメージ、グラフィックス)を書込む(ステップS107)。
さらに、半透明描画処理が設定されている場合には、当該ピクセルのディスティネーション半透明値を計算して(上記式(2)、参照)、算出値をバンドメモリのディスティネーション透過プレーンに書込み、バンドメモリのディスティネーション半透明値を更新する(ステップS108)。
ステップS102で指定されたピクセルについてピクセルデータを描画した後、カレントバンドの全ピクセルの描画処理を完了したか否かを確認する(ステップS109)。
カレントバンドの中に描画が未処理のピクセルがあれば(ステップSl09-NO)、ステップS102に戻り、点順次に次のピクセルを指定して、上記と同様に描画処理を行う。
他方、カレントバンドの全ピクセルの描画処理を完了した場合には(ステップS109-YES)、描画処理後のバンドメモリ上のバンドデータを転送し、バンドメモリを開放して次の描画に備える(ステップS110)。なお、描画処理後のバンドデータは、例えば、ハードディスクに保存して、プリント出力用の画像データヘの処理を待つ。
次に、ステップS101で取得したバンドデータの全ピクセルデータを描画し、バンドメモリが利用できる状態になったところで、描画対象となるページデータの全バンドの描画処理を完了したか否かを確認する(ステップS111)。
描画対象となるページデータ中に描画が未処理のバンドデータがあれば(ステップS111-NO)、ステップS101に戻り、次のバンドデータを取得して、上記と同様に描画処理を行う。
他方、描画対象となるページデータの全バンドデータの描画処理を完了した場合には(ステップS111-YES)、この描画処理を終了する。
カレントバンドの中に描画が未処理のピクセルがあれば(ステップSl09-NO)、ステップS102に戻り、点順次に次のピクセルを指定して、上記と同様に描画処理を行う。
他方、カレントバンドの全ピクセルの描画処理を完了した場合には(ステップS109-YES)、描画処理後のバンドメモリ上のバンドデータを転送し、バンドメモリを開放して次の描画に備える(ステップS110)。なお、描画処理後のバンドデータは、例えば、ハードディスクに保存して、プリント出力用の画像データヘの処理を待つ。
次に、ステップS101で取得したバンドデータの全ピクセルデータを描画し、バンドメモリが利用できる状態になったところで、描画対象となるページデータの全バンドの描画処理を完了したか否かを確認する(ステップS111)。
描画対象となるページデータ中に描画が未処理のバンドデータがあれば(ステップS111-NO)、ステップS101に戻り、次のバンドデータを取得して、上記と同様に描画処理を行う。
他方、描画対象となるページデータの全バンドデータの描画処理を完了した場合には(ステップS111-YES)、この描画処理を終了する。
描画コアモジュール110の処理に戻って、多値描画処理を行った多値描画部115の後段の画像処理部について説明する。後段の画像処理部では、多値描画部115によって描画された多値ページメモリのピクセルデータをプリント出力用の画像データに変換する処理を行う。
先ず、カラー変換部116によって行う色変換処理について説明する。
色変換処理は、カラーマッチング処理、BG/UCR(Black generation及びUnder Color remova1)処理を実施し、デバイスCMYK(プリンタエンジン30で画像出力に用いる画像データ)に変換する処理が主な処理である。
先ず、カラー変換部116によって行う色変換処理について説明する。
色変換処理は、カラーマッチング処理、BG/UCR(Black generation及びUnder Color remova1)処理を実施し、デバイスCMYK(プリンタエンジン30で画像出力に用いる画像データ)に変換する処理が主な処理である。
カラー変換部116は、多値描画部115によって描画されたカラープレーン、ピクセル属性プレーン、ディスティネーション透過プレーンの各プレーンに保存されたピクセルデータを用いてカラーマッチング処理を行う。
カラーマッチングは、プリント出力しようとする画像が意図したとおりの色特性を持つ画像となるように、出力デバイス(プリンタエンジン30)に依存する特性を色変換のパラメータの調整により補正する。
本実施形態のカラー変換部116は、上記の多値描画処理で得られたPRGBカラープレーンのRGB各色8ビットのピクセルデータの入力を受け、このデータに色変換によるカラーマッチング処理を施す。カラーマッチング処理後のRGB各色8ビットのデータは、同じメモリアドレスに上書きされる。
カラーマッチングは、プリント出力しようとする画像が意図したとおりの色特性を持つ画像となるように、出力デバイス(プリンタエンジン30)に依存する特性を色変換のパラメータの調整により補正する。
本実施形態のカラー変換部116は、上記の多値描画処理で得られたPRGBカラープレーンのRGB各色8ビットのピクセルデータの入力を受け、このデータに色変換によるカラーマッチング処理を施す。カラーマッチング処理後のRGB各色8ビットのデータは、同じメモリアドレスに上書きされる。
カラーマッチング処理をする際に、上記の多値描画処理で得られたピクセル属性プレーンのピクセルデータを参照して、文字、イメージ、グラフィックスのオブジェクトの種類に応じたマッチング処理パラメータを適用することにより、適正なカラーマッチングを行い、画質を向上することができる。また、オブジェクトの種類におけると同様に、多値描画処理で得られたディスティネーション透過プレーンについても、ディスティネーション半透明値を参照して、この半透明値に応じたマッチング処理パラメータを適用することにより、適正なカラーマッチングを行い、画質を向上することができる。
さらに、多値描画処理で得られたPRGBカラープレーンのRGB各色8ビットのピクセルデータに対してBG/UCR処理を実施する。このBG/UCR処理の出力は、CMYKになる。ピクセル毎にBG/UCR変換されたデータは、元のPRGBカラープレーンとして保存されていたと同じメモリアドレスに上書きされる。なお、PRGBカラープレーンの色値は4バイトであるため、変換後も同じアドレスに保存できる。
このように、多値描画部115による多値描画処理で各プレーンに保存されたピクセルデータは、カラー変換部116におけるカラーマッチング処理及びBG/UCR処理によってカラースペース及びカラーデータが変換される。ただ、このデータ変換のために、余分なメモリ容量を必要とせず、メモリの取得を行うこともない。
このように、多値描画部115による多値描画処理で各プレーンに保存されたピクセルデータは、カラー変換部116におけるカラーマッチング処理及びBG/UCR処理によってカラースペース及びカラーデータが変換される。ただ、このデータ変換のために、余分なメモリ容量を必要とせず、メモリの取得を行うこともない。
CMYK2値変換部117は、カラー変換部116によって処理された多値のCMYKデータを2値に変換する。
CMYK2値変換部117は、カラー変換部116からのCMYK各色8ビットのカラープレーンデータとピクセル属性プレーンデータを受け取り、CMYK各色8ビットのピクセルデータに対するハーフトーン処理を実施し、2値でCMYK各色のページメモリに保存する。この処理の際、ピクセル属性プレーンデータは、描画オブジェクト毎に適用するハーフトーンパターンを変更するために用いる。
換言すると、カラー変換部116及びCMYK2値変換部117が、多値描画部115によって生成された画素情報に基づき、画素を描画するための階調情報を生成する階調情報生成部として機能する。
CMYK2値変換部117は、カラー変換部116からのCMYK各色8ビットのカラープレーンデータとピクセル属性プレーンデータを受け取り、CMYK各色8ビットのピクセルデータに対するハーフトーン処理を実施し、2値でCMYK各色のページメモリに保存する。この処理の際、ピクセル属性プレーンデータは、描画オブジェクト毎に適用するハーフトーンパターンを変更するために用いる。
換言すると、カラー変換部116及びCMYK2値変換部117が、多値描画部115によって生成された画素情報に基づき、画素を描画するための階調情報を生成する階調情報生成部として機能する。
カラー特殊処理部118は、CMYK2値変換部の出力に対して特殊なカラー処理を行う。この特殊なカラー処理とは、Black Over Printや、地紋印刷、スタンプ印刷等のカラー処理のことを指す。この特殊描画処理は、CMYKの情報に変換された後に行う必要があり、実行するタイミングとしては、CMYK2値変換処理の後となる。
換言すると、特殊なカラー処理とは、CMYK2値変換後の処理、即ち、階調情報が生成された後の画像処理であり、最終的に画像形成出力実行するための出力情報を生成する処理である。即ち、カラー特殊処理部118が出力情報生成部として機能する。このタイミングで実行するため、特殊処理を行うかどうかの情報及び実行する特殊処理の種類の情報をメモリ上に蓄積しておく必要がある。
上述したように、各バンドの描画情報は、カラープレーン、属性プレーン及びディスティネーション透過プレーンからなるフォーマットに蓄積されている。また、上述したように、1ピクセルの情報は、カラープレーンの4バイト、属性プレーン及びディスティネーション透過プレーン夫々の1バイトで合計6バイトに格納されている。ここで、上記6バイトを完全に消費しているわけではなく、カラープレーンにおけるパッティングバイトや、属性プレーン及びディスティネーション透過プレーンにおける余剰ビット等、余剰領域が存在する。
ここで、上述したように、属性プレーンにおいては、少なくとも2ビットの情報量があれば、ピクセルが属する描画オブジェクトの種類が、文字、イメージ、グラフィックスのいずれに属するかを判断することが可能であるため、属性プレーンの1バイト中、最大6ビットが余剰領域となる。本実施形態においては、この属性プレーンの1バイト中の余剰ビットに、特殊処理の有無を示す情報が割り当てられる。図12に、属性プレーンにおける1バイト中において、各ビットに割り当てられる情報の例を示す。
換言すると、特殊なカラー処理とは、CMYK2値変換後の処理、即ち、階調情報が生成された後の画像処理であり、最終的に画像形成出力実行するための出力情報を生成する処理である。即ち、カラー特殊処理部118が出力情報生成部として機能する。このタイミングで実行するため、特殊処理を行うかどうかの情報及び実行する特殊処理の種類の情報をメモリ上に蓄積しておく必要がある。
上述したように、各バンドの描画情報は、カラープレーン、属性プレーン及びディスティネーション透過プレーンからなるフォーマットに蓄積されている。また、上述したように、1ピクセルの情報は、カラープレーンの4バイト、属性プレーン及びディスティネーション透過プレーン夫々の1バイトで合計6バイトに格納されている。ここで、上記6バイトを完全に消費しているわけではなく、カラープレーンにおけるパッティングバイトや、属性プレーン及びディスティネーション透過プレーンにおける余剰ビット等、余剰領域が存在する。
ここで、上述したように、属性プレーンにおいては、少なくとも2ビットの情報量があれば、ピクセルが属する描画オブジェクトの種類が、文字、イメージ、グラフィックスのいずれに属するかを判断することが可能であるため、属性プレーンの1バイト中、最大6ビットが余剰領域となる。本実施形態においては、この属性プレーンの1バイト中の余剰ビットに、特殊処理の有無を示す情報が割り当てられる。図12に、属性プレーンにおける1バイト中において、各ビットに割り当てられる情報の例を示す。
図12に示すように、本実施形態に係る属性プレーンの各バイトにおいては、各ピクセルの属性を示す情報として2ビットが割り当てられている。そして、特殊描画処理の有無を示す情報として、Black Over PrintのOn/Off、地紋印刷のOn/Off、スタンプ印刷のOn/Off夫々に1ビットが割り当てられている。上述したように、属性プレーン等の各プレーンのデータは多値描画部115によって生成される。即ち、図12に示すような情報は、多値描画部115によって生成される。そして、カラー特殊処理部118は、図12に示すような属性プレーンの情報を参照して、特殊なカラー処理を実行するか否かを判断する。
このように、本実施形態においては、多値描画部115が、カラープレーン、属性プレーン及びディスティネーション透過プレーンとして生成するピクセルデータにおいて、その余剰領域に特殊なカラー処理の情報を格納する。これにより、メモリ領域の効率的な活用が可能となり、且つCPU11によるメモリアクセスの回数を増やすことなくBlack Over Print、地紋印刷、スタンプ印刷等の特殊なカラー処理を実行することが可能となる。即ち、画像形成出力すべき画像の画素の情報を階調情報に変換した後の画像処理が設定されたPDLの中間データに対する多値描画処理を経て保存されたピクセルデータへのアクセス効率を向上させることが可能となる。
このように、本実施形態においては、多値描画部115が、カラープレーン、属性プレーン及びディスティネーション透過プレーンとして生成するピクセルデータにおいて、その余剰領域に特殊なカラー処理の情報を格納する。これにより、メモリ領域の効率的な活用が可能となり、且つCPU11によるメモリアクセスの回数を増やすことなくBlack Over Print、地紋印刷、スタンプ印刷等の特殊なカラー処理を実行することが可能となる。即ち、画像形成出力すべき画像の画素の情報を階調情報に変換した後の画像処理が設定されたPDLの中間データに対する多値描画処理を経て保存されたピクセルデータへのアクセス効率を向上させることが可能となる。
尚、上記実施形態においては、特殊なカラー処理の例として、Black Over Print、地紋印刷及びスタンプ印刷を例として説明した。しかしながら、これは一例であり、上述したように、CMYK2値変換後の処理、即ち、階調情報が生成された後の画像処理であれば、本実施形態を適用することにより、上記と同様の効果を得ることが可能である。
また、上記実施形態においては、図12において説明したように、属性プレーンの余剰領域に特殊なカラー処理の情報を格納する場合を例として説明した。しかしながら、上述したように、カラープレーン及びディスティネーション透過プレーンにも余剰領域がある、従って、属性プレーンではなく、他のプレーンの余剰領域に特殊なカラー処理の情報を格納しても良い。図13に、カラープレーンの余剰領域に特殊なカラー処理の情報を格納する場合の例を示す。
また、上記実施形態においては、図12において説明したように、属性プレーンの余剰領域に特殊なカラー処理の情報を格納する場合を例として説明した。しかしながら、上述したように、カラープレーン及びディスティネーション透過プレーンにも余剰領域がある、従って、属性プレーンではなく、他のプレーンの余剰領域に特殊なカラー処理の情報を格納しても良い。図13に、カラープレーンの余剰領域に特殊なカラー処理の情報を格納する場合の例を示す。
図13は、多値描画部115が生成するカラープレーンが、RGBのカラースペースによって生成される場合において、パッティングバイトに含まれる情報を示す図である。本来、パッティングバイトは、カラープレーンにおける1ピクセル分のバイト数を4バイトに合わせるためのバイトであり、その情報自体は無意味である。図13の例においては、特殊なカラー処理に関する情報を、パッティングバイトに格納する。これにより、図12の場合と同様の効果を得ることが可能となる。
尚、RGBのカラースペースのデータは、カラー変換部116においてCMYKのカラースペースのデータに変換される。ここで、CMYKの4バイトのデータでカラープレーンの4バイトを上書きしてしまうと、パッティングバイトのデータも上書きされてしまうため、特殊なカラー処理の情報が失われてしまう。そこで本実施形態においては、カラー変換部116においてカラープレーンの情報を上書きするのではなく、他のメモリ領域にカラー変換後のデータを生成する。これにより、カラー変換後も特殊なカラー処理の情報を残すことができる。
図12の例の場合、特殊なカラー処理を示す情報の格納場所として属性プレーンの余剰領域を用いるため、1バイト全体を割り当てることができなかった。図13の例においては、カラープレーンのパッティングバイトを用いるため、1バイト全体を割り当てることが可能であり、より多くの特殊なカラー処理の情報を格納することができる。
この他、ディスティネーション透過プレーンの余剰領域に、特殊なカラー処理の情報を格納するようにしても良い。
尚、RGBのカラースペースのデータは、カラー変換部116においてCMYKのカラースペースのデータに変換される。ここで、CMYKの4バイトのデータでカラープレーンの4バイトを上書きしてしまうと、パッティングバイトのデータも上書きされてしまうため、特殊なカラー処理の情報が失われてしまう。そこで本実施形態においては、カラー変換部116においてカラープレーンの情報を上書きするのではなく、他のメモリ領域にカラー変換後のデータを生成する。これにより、カラー変換後も特殊なカラー処理の情報を残すことができる。
図12の例の場合、特殊なカラー処理を示す情報の格納場所として属性プレーンの余剰領域を用いるため、1バイト全体を割り当てることができなかった。図13の例においては、カラープレーンのパッティングバイトを用いるため、1バイト全体を割り当てることが可能であり、より多くの特殊なカラー処理の情報を格納することができる。
この他、ディスティネーション透過プレーンの余剰領域に、特殊なカラー処理の情報を格納するようにしても良い。
また、上記実施形態においては、図2及び図3において説明したように、カラー関連の処理は、カラー変換部116、CMYK2値変換部117及びカラー特殊処理部118、即ち、描画モジュール110内において実行される場合が例として説明されている。しかしながら、これらの処理の一部または全部を、図2に示すプリンタエンジン208において実行することも可能である。この場合、プリンタコントロールシステム部104が、エンジンI/F206にPRGB+Aの描画データを入力することにより実現可能であり、上記と同様の効果を得ることが可能である。
10・・コントローラ、11・・CPU、30・・プリンタエンジン、40・・操作パネル、104・・プリンタコントロールシステム部、105・・PDL部、110・・描画コアモジュール、113・・描画モジュールI/F、114・・中間データ保存部、115・・多値描画部、116・・カラー変換部、117・・CMYK2値変換部、118・・カラー特殊処理部、120・・PDLパーサ部。
Claims (10)
- ページ記述言語に基づいて得られた描画命令を取得する描画命令取得部と、
描画すべき図形毎に情報がまとめられた図形情報を前記取得された描画命令に基づいて生成する図形情報生成部と、
前記生成された図形情報に基づいて前記図形を構成する画素の情報である画素情報を生成する画素情報生成部と、
前記生成された画素情報を変換して前記画素を描画するための階調情報を生成する階調情報生成部と、
前記生成された階調情報に基づいて画像形成出力を実行するための出力情報を生成する出力情報生成部とを含み、
前記図形情報生成部は、前記図形の半透明描画に関する情報及び前記階調情報が生成された後の画像処理に関する情報を含む前記図形情報を前記描画命令に基づいて生成し、
前記画素情報生成部は、前記図形を構成する画素の彩色情報、前記画素の属性情報及び前記画素が構成する図形の半透明描画に関する情報を、夫々の情報のために確保された記憶領域に格納し、前記記憶領域の余剰領域に前記階調情報が生成された後の画像処理に関する情報を格納することによって前記画素情報を生成することを特徴とする画像形成装置。 - 前記図形を構成する画素の彩色情報について予め確保された記憶領域は、1画素あたり4バイトからなる点順次形式であることを特徴とする請求項1に記載の画像形成装置。
- 前記図形を構成する画素の彩色情報について予め確保された記憶領域は、前記画素が無彩色である場合、1画素あたり1バイトからなる点順次形式であることを特徴とする請求項2に記載の画像形成装置。
- 前記図形を構成する画素の彩色情報が3種類の色彩によって表わされる場合、前記4バイトのうちの1バイトがパディングバイトであり、
前記画素情報生成部は、前記階調情報が生成された後の画像処理に関する情報を前記パディングバイトに格納することを特徴とする請求項2または3に記載の画像形成装置。 - 前記画素情報生成部は、前記画素の属性情報のために予め確保された記憶領域の余剰領域に前記階調情報が生成された後の画像処理に関する情報を格納することを特徴とする請求項1乃至3いずれかに記載の画像形成装置。
- 前記画素情報生成部は、前記画素が構成する図形の半透明描画に関する情報のために予め確保された記憶領域の余剰領域に前記階調情報が生成された後の画像処理に関する情報を格納することを特徴とする請求項1乃至3いずれかに記載の画像形成装置。
- 前記画素の属性情報及び前記画素が構成する図形の半透明描画に関する情報のために予め確保された記憶領域は、1画素あたり2バイトからなる点順次形式であり、
前記画素情報生成部は、前記2バイトの余剰領域に前記階調情報が生成された後の画像処理に関する情報を格納することを特徴とする請求項1乃至3いずれかに記載の画像形成装置。 - 前記画素情報生成部は、
ページを複数に分割した夫々の範囲であるバンド毎に前記図形情報に基づいて前記画素情報を生成し、
前記図形を構成する画素の彩色情報のために予め確保された記憶領域の形式として、前記バンド毎に異なる形式を用いることが可能であることを特徴とする請求項1乃至7いずれかに記載の画像形成装置。 - 描画命令取得部が、ページ記述言語に基づいて得られた描画命令を取得し、
図形情報生成部が、描画すべき図形毎にまとめられた情報であって、前記図形の半透明描画に関する情報及び前記階調情報が生成された後の画像処理に関する情報を含む前記図形情報を前記取得された描画命令に基づいて生成し、
画素情報生成部が、前記生成された図形情報に基づき、前記図形を構成する画素の彩色情報、前記画素の属性情報及び前記画素が構成する図形の半透明描画に関する情報を、夫々の情報のために確保された記憶領域に格納し、前記記憶領域の余剰領域に前記階調情報が生成された後の画像処理に関する情報を格納することによって前記図形を構成する画素の情報である画素情報を生成し、
階調情報生成部が、前記生成された画素情報を変換して前記画素を描画するための階調情報を生成し、
出力情報生成部が、前記生成された階調情報に基づいて画像形成出力を実行するための出力情報を生成することを特徴とする画像データ処理方法。 - ページ記述言語に基づいて得られた描画命令を取得するステップと、
描画すべき図形毎にまとめられた情報であって、前記図形の半透明描画に関する情報及び前記階調情報が生成された後の画像処理に関する情報を含む前記図形情報を前記取得された描画命令に基づいて生成するステップと、
前記生成された図形情報に基づき、前記図形を構成する画素の彩色情報、前記画素の属性情報及び前記画素が構成する図形の半透明描画に関する情報を、夫々の情報のために確保された記憶領域に格納し、前記記憶領域の余剰領域に前記階調情報が生成された後の画像処理に関する情報を格納することによって前記図形を構成する画素の情報である画素情報を生成するステップと、
前記生成された画素情報を変換して前記画素を描画するための階調情報を生成するステップと、
前記生成された階調情報に基づいて画像形成出力を実行するための出力情報を生成するステップとを画像形成装置に実行させることを特徴とする制御プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009147825A JP5257264B2 (ja) | 2009-06-22 | 2009-06-22 | 画像形成装置、画像データ処理方法及び制御プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009147825A JP5257264B2 (ja) | 2009-06-22 | 2009-06-22 | 画像形成装置、画像データ処理方法及び制御プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2011000860A JP2011000860A (ja) | 2011-01-06 |
JP5257264B2 true JP5257264B2 (ja) | 2013-08-07 |
Family
ID=43559228
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009147825A Expired - Fee Related JP5257264B2 (ja) | 2009-06-22 | 2009-06-22 | 画像形成装置、画像データ処理方法及び制御プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5257264B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5840174B2 (ja) * | 2013-06-21 | 2016-01-06 | キヤノン株式会社 | 情報処理装置、その装置の制御方法、プログラム |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3687721B2 (ja) * | 1998-12-09 | 2005-08-24 | 富士ゼロックス株式会社 | 画像処理装置、画像処理方法、画像処理システム |
JP2001236191A (ja) * | 2000-02-23 | 2001-08-31 | Ricoh Co Ltd | 印刷装置及び該印刷装置を備えた画像処理装置 |
JP2001351111A (ja) * | 2000-06-08 | 2001-12-21 | Fuji Xerox Co Ltd | 画像処理装置及び描画処理装置 |
JP2004106192A (ja) * | 2002-09-13 | 2004-04-08 | Ricoh Co Ltd | 描画処理装置、情報処理装置、画像形成装置、描画処理方法およびプログラム |
JP4886609B2 (ja) * | 2007-06-08 | 2012-02-29 | キヤノン株式会社 | 印刷システムおよび画像形成装置 |
-
2009
- 2009-06-22 JP JP2009147825A patent/JP5257264B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2011000860A (ja) | 2011-01-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3902816B2 (ja) | カラー画像処理装置およびその方法 | |
US6778300B1 (en) | Black generation for color management system | |
EP1590953B1 (en) | Color conversion method and profile generation method | |
JP4217398B2 (ja) | 画像データ処理方法、画像データ処理装置、記憶媒体、及びプログラム | |
JP4065482B2 (ja) | 画像データ処理方法、装置、記憶媒体、及びプログラム | |
JP2008028679A (ja) | 色変換テーブル生成方法、色変換テーブル及び色変換テーブル生成装置 | |
US20090185205A1 (en) | Image processing apparatus, image processing method, and computer program product | |
JPH11313213A (ja) | 情報処理装置、情報処理方法及び媒体 | |
JP4973803B1 (ja) | 画像処理装置及びプログラム | |
JP2010220075A (ja) | 画像形成装置、画像データ処理方法及びプログラム | |
JP2007208531A (ja) | 多色印刷装置及びその制御方法 | |
JP5023036B2 (ja) | プロファイル生成装置、プロファイル生成プログラム、プロファイル生成方法、画像処理装置、画像処理プログラム、および画像処理方法 | |
JP5257264B2 (ja) | 画像形成装置、画像データ処理方法及び制御プログラム | |
JP4086442B2 (ja) | 色空間座標変換方法及び装置、色信号変換テーブルの生成方法及び装置、並びにメモリ媒体 | |
JP4508953B2 (ja) | 画像処理方法及び画像処理装置 | |
JP2011020276A (ja) | 画像形成装置、画像データ処理方法及び制御プログラム | |
JP4356953B2 (ja) | 画像処理システム及び画像処理装置及びその制御方法及び記憶媒体 | |
JP2010274435A (ja) | 画像形成装置、画像形成方法、プログラムおよび記録媒体 | |
JP5012871B2 (ja) | 画像処理装置、画像形成装置、及び画像処理プログラム | |
JP2010214905A (ja) | 画像形成装置、画像形成方法及びプログラム | |
JP4092544B2 (ja) | 色変換装置、色変換方法、色変換プログラム、色変換テーブル作成方法、色変換テーブル作成装置、色変換テーブル作成プログラム、色変換テーブルおよび色変換テーブルのデータを記録した媒体 | |
JP6844248B2 (ja) | 画像処理装置、および、コンピュータプログラム | |
JP4986414B2 (ja) | 画像処理方法及び画像処理装置 | |
US7675642B2 (en) | Print apparatus and print method | |
JP2011025478A (ja) | 画像形成装置、画像形成方法、プログラムおよび記録媒体 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20120319 |
|
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: 20130326 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130408 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20160502 Year of fee payment: 3 |
|
LAPS | Cancellation because of no payment of annual fees |