(57)【要約】【課題】ラスターデータを作成する際に、ラスターデータを格納するためのメモリ容量の増加を抑制しつつ、展開のオーバーヘッドの増加を抑制する。【解決手段】画像処理装置は、オブジェクトの描画命令を含む入力データに応じて、オブジェクトの描画結果を表すラスターデータを複数の描画バンドに分けて作成する。この画像処理装置は、ラスターデータの作成に際して、オブジェクトの描画命令に基づいて、描画バンドの基本単位である単位バンド内のラスターデータのデータ量を算出し、算出されたデータ量に基づいて、描画バンドに含まれる単位バンドの数を決定する。【選択図】図８
2010211558.tif 000002
【特許請求の範囲】
【請求項１】
画像処理装置であって、
オブジェクトの描画命令を含む入力データに基づいて、前記オブジェクトの描画の結果を表すラスターデータを複数の描画バンドに分けて作成する命令展開部と、
前記描画バンドの基本単位である単位バンド内のラスターデータのデータ量を前記オブジェクトの描画命令に基づいて算出し、算出した前記データ量に基づいて決定した数の前記単位バンドを含む前記描画バンドを設定する描画バンド設定部と
を備える画像処理装置。
【請求項２】
請求項１記載の画像処理装置であって、
前記描画バンド設定部は、
前記オブジェクトの描画命令に基づいて、前記オブジェクトの描画に用いる色数に対応した符号を用いて前記ラスターデータにおける各画素の色を符号化するための色テーブルを前記単位バンド毎に作成する色テーブル作成部と、
前記オブジェクトの色数に基づいて前記データ量を算出し、前記描画バンドに含まれる前記単位バンドの数を決定するバンド幅決定部と、
を備え、
前記命令展開部は、前記単位バンド毎に前記色テーブルを参照して各画素の色が符号化されたラスターデータを作成する
画像処理装置。
【請求項３】
請求項２記載の画像処理装置であって、
前記色テーブル作成部は、前記単位バンド内の前記オブジェクトが所定の閾値以上の色数を表現可能な種類のラスターオブジェクトである場合には、該単位バンドについて前記符号化を行わない
画像処理装置。
【請求項４】
請求項１ないし３のいずれか記載の画像処理装置であって、
前記命令展開部は、前記描画バンドに含まれる前記単位バンドを圧縮し、
前記描画バンド設定部は、前記圧縮後の圧縮データ量を推定する
画像処理装置。
【請求項５】
請求項４記載の画像処理装置であって、
前記描画バンド設定部は、前記単位バンド内の前記オブジェクトがベクターオブジェクトである場合には、前記単位バンド内の前記ベクターオブジェクトの数に基づいて前記圧縮データ量を推定する
画像処理装置。
【請求項６】
請求項４または５記載の画像処理装置であって、
前記描画バンド設定部は、前記オブジェクトがラスターオブジェクトである場合には、前記単位バンド内において前記ラスターオブジェクトが占める領域のデータ量に基づいて前記圧縮データ量を推定する
画像処理装置。
【請求項７】
印刷システムであって、
請求項１ないし６のいずれか記載の画像処理装置と、
前記画像処理装置により作成されたラスターデータに基づいて印刷を行う印刷部と
を備える印刷システム。
【請求項８】
オブジェクトの描画命令を含む入力データに基づいて、前記オブジェクトの描画の結果を表すラスターデータを複数の描画バンドに分けて作成する画像処理方法であって、
前記描画バンドの基本単位である単位バンド内のラスターデータのデータ量を、前記オブジェクトの描画命令に基づいて算出し、
算出した前記データ量に基づいて、前記描画バンドに含まれる前記単位バンドの数を決定し、
決定した数の前記単位バンドを含む前記描画バンドの前記ラスターデータを作成する
画像処理方法。
【請求項９】
オブジェクトの描画命令を含む入力データに基づいて、前記オブジェクトの描画の結果を表すラスターデータを複数の描画バンドに分けて作成する画像処理のためのコンピュータープログラムであって、
前記描画バンドの基本単位である単位バンド内のラスターデータのデータ量を、前記オブジェクトの描画命令に基づいて算出する機能と、
算出した前記データ量に基づいて、前記描画バンドに含まれる前記単位バンドの数を決定する機能と、
決定した数の前記単位バンドを含む前記描画バンドの前記ラスターデータを作成する機能と、
をコンピューターに実現させるコンピュータープログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、オブジェクトの描画命令を含む入力データからラスターデータを作成するラスターライズ技術に関する。
【背景技術】
【０００２】
コンピューターの文書作成アプリケーションで作成された文書等をプリンターで印刷する場合、プリンタードライバーにおいて、文字、図形、写真等の種々のオブジェクトを表すデータを画素単位で階調値（色）を指定して画像を表すラスターデータに変換するラスターライズが行われる。このラスターライズは、通常、オブジェクトの内容とページ上におけるオブジェクトの配置を表すページ記述言語（ＰＤＬ：Page Description Language）データに含まれる描画命令を、ラスターデータに展開することにより行われる。また、ＰＤＬデータを受け付けるプリンターでは、プリンターにおいてラスターライズが行われる。
【０００３】
このようなラスターライズにおいては、展開したラスターデータを保持するためのメモリ容量を低減するため、ラスターデータを複数のバンドに分割してラスターライズを行うバンド処理が行われている（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平８−２３０２４９号公報
【特許文献２】特開平１１−２３２４６８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、バンド処理によりラスターライズを行う場合、バンド毎に必要なオブジェクトの描画命令（コマンドデータ）の展開が行われる。そのため、バンドへの分割数が増加すると、複数のバンドに跨るオブジェクトが増加し、同一の描画命令が複数回にわたって展開される展開のオーバーヘッドが増加する。一方、バンドの分割数を低減するためにバンド幅を拡げると、ラスターデータを保持するためのメモリ容量が増加する。
【０００６】
本発明は、上述した従来の課題を解決するためになされたものであり、ラスターデータを作成する際に、ラスターデータを格納するためのメモリ容量の増加を抑制しつつ、展開のオーバーヘッドの増加を抑制する技術を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記課題の少なくとも一部を解決するために、本発明は、以下の形態または適用例として実現することが可能である。
【０００８】
［適用例１］
画像処理装置であって、オブジェクトの描画命令を含む入力データに基づいて、前記オブジェクトの描画の結果を表すラスターデータを複数の描画バンドに分けて作成する命令展開部と、前記描画バンドの基本単位である単位バンド内のラスターデータのデータ量を前記オブジェクトの描画命令に基づいて算出し、算出した前記データ量に基づいて決定した数の前記単位バンドを含む前記描画バンドを設定する描画バンド設定部とを備える画像処理装置。
【０００９】
この適用例によれば、単位バンド内のデータ量を算出して、一度にラスターデータが作成される描画バンド中の単位バンドの数が決定される。そのため、単位バンドのデータ量が少ない場合、描画バンドのために確保するメモリ容量を増加させることなく、複数の単位バンドに対して一度にラスターデータを作成することができる。そのため、ラスターデータを格納するためのメモリ容量の増加を抑制しつつ、展開のオーバーヘッドの増加を抑制することが可能となる。
【００１０】
［適用例２］
適用例１記載の画像処理装置であって、前記描画バンド設定部は、前記オブジェクトの描画命令に基づいて、前記オブジェクトの描画に用いる色数に対応した符号を用いて前記ラスターデータにおける各画素の色を符号化するための色テーブルを前記単位バンド毎に作成する色テーブル作成部と、前記オブジェクトの色数に基づいて前記データ量を算出し、前記描画バンドに含まれる前記単位バンドの数を決定するバンド幅決定部と、を備え、前記命令展開部は、前記単位バンド毎に前記色テーブルを参照して各画素の色が符号化されたラスターデータを作成する画像処理装置。
【００１１】
オブジェクトの描画に用いる色数に対応した符号を用いてラスターデータにおける各画素の色を符号化することにより、ラスターデータのデータ量をより容易に低減することができる。そのため、描画バンドに含まれる単位バンドの数を増やし、展開のオーバーヘッドを低減することがより容易となる。
【００１２】
［適用例３］適用例２記載の画像処理装置であって、前記色テーブル作成部は、前記単位バンド内の前記オブジェクトが所定の閾値以上の色数を表現可能な種類のラスターオブジェクトである場合には、該単位バンドについて前記符号化を行わない画像処理装置。
【００１３】
所定の閾値以上の色数を表現可能な特定種類のラスターオブジェクトを含む場合、符号化のためのオーバーヘッドが発生するおそれがある。この適用例によれば、特定種類のラスターオブジェクトを含む場合に符号化を行わないようにすることにより、符号化のためのオーバーヘッドの発生を抑制することができる。
【００１４】
［適用例４］
適用例１ないし３のいずれか記載の画像処理装置であって、前記命令展開部は、前記描画バンドに含まれる前記単位バンドを圧縮し、前記描画バンド設定部は、前記圧縮後の圧縮データ量を推定する画像処理装置。
【００１５】
ラスターデータを単位バンド毎に圧縮することにより、ラスターデータのデータ量をより容易に低減することができる。そのため、描画バンドに含まれる単位バンドの数を増やし、展開のオーバーヘッドを低減することがより容易となる。
【００１６】
［適用例５］
適用例４記載の画像処理装置であって、前記描画バンド設定部は、前記単位バンド内の前記オブジェクトがベクターオブジェクトである場合には、前記単位バンド内の前記ベクターオブジェクトの数に基づいて前記圧縮データ量を推定する画像処理装置。
【００１７】
ベクターオブジェクトの圧縮後のデータ量は、ベクターオブジェクトの数におおよそ比例する。そのため、本適用例によれば、より容易に圧縮データ量を推定することが可能となる。
【００１８】
［適用例６］
適用例４または５記載の画像処理装置であって、前記描画バンド設定部は、前記オブジェクトがラスターオブジェクトである場合には、前記単位バンド内において前記ラスターオブジェクトが占める領域のデータ量に基づいて前記圧縮データ量を推定する画像処理装置。
【００１９】
一般に、ラスターオブジェクトは、圧縮によってそのデータ量がほとんど低減されない。そのため、ラスターオブジェクトが占める領域のデータ量を用いることにより、より適切に圧縮データ量を推定することができる。
【００２０】
なお、本発明は、種々の態様で実現することが可能であり、例えば、画像処理装置とその制御方法や画像処理方法、その画像処理装置とその制御方法や画像処理方法を適用した画像印刷装置や画像印刷方法、あるいは、その画像処理装置を備える印刷システム、それらの装置、システム、および方法を実現するためのコンピュータープログラム、そのコンピュータープログラムを記録したコンピューター可読媒体、そのコンピュータープログラムを含み搬送波内に具現化されたデータ信号、等の態様で実現することができる。
【図面の簡単な説明】
【００２１】
【図１】第１実施例の画像印刷システムの構成を示す概略構成図。
【図２】ＰＤＬデータからラスターデータが作成される様子を示す説明図。
【図３】描画されるオブジェクトとバンド幅との関係を示す説明図。
【図４】ラスターライズ処理の対象となるＰＤＬデータの一例を示す説明図。
【図５】単位バンドと描画命令との対応関係を示す説明図。
【図６】単位バンド毎に決定されたビット深度と、単位バンドに対して作成される色テーブルを示す説明図。
【図７】設定される描画バンドを示す説明図。
【図８】描画バンド２に対して描画命令が展開される様子を示す説明図。
【図９】第２実施例の画像印刷システムの構成を示す概略構成図。
【図１０】第２実施例においてＰＤＬデータからラスターデータが作成される様子を示す説明図。
【図１１】ＰＤＬデータの描画命令が、高解像度ラスターデータの単位バンドと低解像度ラスターデータとに対応付けられる様子を示す説明図。
【図１２】描画バンド設定の変形例における画像印刷システム１０ｂの構成を示す概略構成図。
【図１３】データ量算出部による圧縮後のデータ量の推定方法を示す説明図。
【発明を実施するための形態】
【００２２】
以下、本発明を実施するための形態を実施例に基づいて説明する。
Ａ．第１実施例：
Ａ１．画像印刷システム：
図１は、第１実施例の画像印刷システム１０の構成を示す概略構成図である。この画像印刷システム１０は、コンピューター１００と印刷装置２００とを伝送路ＴＬを介して接続することにより構成されている。コンピューター１００は、コンピューター１００自身で作成されたページ記述言語（ＰＤＬ：Page Description Language）データ、あるいは、コンピューター１００に外部から入力されたＰＤＬデータからラスターデータを作成する。ここで、「ラスターデータ」とは、画素単位で階調値（色）を指定して画像を表すデータのことを言う。作成されたラスターデータは、伝送路ＴＬを介して、コンピューター１００から印刷装置２００に伝送される。印刷装置２００は、コンピューター１００から伝送されてきたラスターデータに応じて、印刷媒体上に画像を印刷する。伝送路ＴＬとしては、ＵＳＢケーブルや、有線あるいは無線のネットワークなど、種々のデータ通信路を採用することができる。
【００２３】
コンピューター１００は、ＣＰＵ１１０と、ＲＡＭ１２０と、ハードディスクドライブ（ＨＤＤ）１３０と、伝送インターフェース１４０とを有している。ＣＰＵ１１０は、ＨＤＤ１３０あるいはＲＯＭ（図示しない）に格納されているプログラムコードをＲＡＭ１２０に転送し、ＲＡＭ１２０に転送されたプログラムコードを実行する。これにより、ＣＰＵ１１０は、命令解析部５１０、描画バンド設定部５２０、命令展開部５３０、およびデータ送信部５４０としての機能を実現する。描画バンド設定部５２０は、色テーブル作成部５２２とバンド幅決定部５２４との機能を備えている。ＲＡＭ１２０は、データの格納領域として、コマンドメモリ６１０、バンドメモリ６２０、色テーブルメモリ６３０、および命令展開部５３０の一時メモリとして使用される展開用メモリ６４０が確保されている。伝送インターフェース１４０は、伝送路ＴＬとの接続インターフェースである。なお、ＣＰＵ１１０が実現する各処理部の構成や機能と、ＲＡＭ１２０に確保された各データ格納領域に格納されるデータの内容とについては、後述する。
【００２４】
印刷装置２００は、データ受信部２１０と、印刷データ作成部２２０と、プリンター制御部２３０と、印刷ユニット２４０とを有している。データ受信部２１０は、伝送路ＴＬとの接続インターフェースである。印刷データ作成部２２０は、データ受信部２１０を介して伝送されてきたラスターデータに色変換やハーフトーン処理等の処理を施して、印刷ユニット２４０に供給する印刷データを作成する。プリンター制御部２３０は、印刷ユニット２４０を制御する。印刷ユニット２４０は、印刷データに応じて印刷を実行する印刷機構である。印刷機構としては、インク滴を印刷媒体に吐出して画像を形成する印刷機構や、トナーを印刷媒体上に転写・定着させて画像を形成する印刷機構等の種々の印刷機構を採用することができる。このように、印刷装置２００は、コンピューター１００において生成されたラスターデータに基づいて印刷を行うので、印刷装置２００を「ラスターデータに基づいて印刷を行う印刷部」とも言うことができる。
【００２５】
なお、画像印刷システムの構成としては、図１に示す構成に限らず、種々の構成を採用することもできる。例えば、コンピューター１００の要素の一部を印刷装置２００に設けるものとしてもよく、印刷装置２００の要素の一部をコンピューター１００に設けるものとしてもよい。具体的には、コンピューター１００に印刷データを作成する印刷データ作成部２２０を設けることも可能である。この場合、印刷装置２００の印刷ユニット２４０は、コンピューター１００から供給される印刷データに応じて印刷を実行する。このように、印刷ユニット２４０は、ラスターデータに基づいて作成された印刷データに応じて印刷を行うので、印刷ユニット２４０を「ラスターデータに基づいて印刷を行う印刷部」とも言うことができる。
【００２６】
第１実施例では、コンピューター１００と印刷装置２００とを別個の装置として有する画像印刷システム１０の例を示しているが、コンピューター１００と印刷装置２００とは必ずしも別個の装置とする必要はなく、１つの装置に組み込むことも可能である。
【００２７】
Ａ２．処理の概要：
図２は、ＰＤＬデータからラスターデータが作成される様子を示す説明図である。ＰＤＬデータは、例えば、コンピューター１００上で動作している文書作成アプリケーションにより作成される。また、ＰＤＬデータを、外部からコンピューター１００に入力するものとしてもよい。ＰＤＬデータとしては、ＰｏｓｔＳｃｒｉｐｔ（アドビシステムズ社の商標）等の種々のＰＤＬに準拠したデータを使用することができる。ＰＤＬデータは、ＣＰＵ１１０より実現される命令解析部５１０、描画バンド設定部５２０、および命令展開部５３０の機能により展開（ラスターライズ）され、１ページ分のラスターデータが作成される。なお、これらの処理部５１０，５２０，５３０のそれぞれが機能することにより、ＰＤＬデータからラスターデータが作成される。そのため、処理部５１０〜５３０を併せて、入力されたＰＤＬデータに応じてラスターデータを出力する画像処理装置とも呼ぶことができる。
【００２８】
図２に示すように、ＰＤＬデータは、Ｎ個（Ｎは、１以上の整数）の描画命令と、ＰＤＬデータの最後を表す終端命令とを含むリストである。個々の描画命令は、描画すべき１つのオブジェクトを表している。描画命令は、画像の表現形式が異なる種々のオブジェクトを表すことが可能となっている。オブジェクトは、例えば、ページ上における線や輪郭の形状を指定することにより文字や図形等を表すベクターオブジェクトと、画素毎の色を指定することにより写真等を表すラスターオブジェクトに分類することができる。
【００２９】
図２の例では、ＰＤＬデータはＮ個の描画命令が含まれており、描画命令に応じて展開が実行されることにより、ラスターデータにはＮ個の描画命令に対応するＮ個のオブジェクトが展開される。なお、図２では、図示の便宜上、描画命令４〜描画命令Ｎ−１に対応するオブジェクトの図示を省略している。
【００３０】
第１実施例では、ラスターデータは、ページ上において横方向に延びる部分領域（バンド）毎に作成される。具体的には、描画命令の展開は、バンドメモリ６２０（図１）に対して行われる。バンド毎に作成されたラスターデータは、データ送信部５４０により、後述する色テーブルとともに印刷装置に送信される。
【００３１】
第１実施例では、バンド毎にラスターデータが作成される。このバンドの幅を小さくすると、一度に作成されるラスターデータのサイズが小さくなり、バンドメモリ６２０に割り当てられるメモリ容量を小さくすることができる。その一方、ラスターデータの分割数が多くなる。複数のバンドにまたがるオブジェクトの描画命令はバンド毎に別個に展開されるため、ラスターデータの分割数が多くなると、同一の描画命令を繰り返し展開する展開のオーバーヘッドが大きくなる。これに対し、バンド幅を大きくすると、分割数が低減されて展開のオーバーヘッドは小さくなるが、一度に作成されるラスターデータのサイズが大きくなり、バンドメモリ６２０に割り当てられるメモリ容量が大きくなる。
【００３２】
そこで、第１実施例では、描画命令に基づいて展開後の色数を求め、色数に応じてバンド幅を決定する。これにより、色数が少なく１画素あたりのビット数（ビット深度）を減らすことができる領域に対しては、ビット深度を低減することにより、バンドメモリ６２０に割り当てるメモリ容量の増加を抑制しつつ、バンド幅を大きくすることが可能となる。
【００３３】
図３は、描画されるオブジェクトとバンド幅との関係を示す説明図である。図３の例では、写真と、多色文字と、黒文字との３つのオブジェクトが描画される。写真が展開されるバンドＡでは、多くの色数を必要とするため、バンド幅は小さく設定される。これに対し、写真よりも色数が少ない多色文字が展開されるバンドＢでは、バンド幅がバンドＡよりも大きく設定される。そして、さらに色数が少ない黒文字が描画されるバンドＣは、バンド幅がバンドＢよりもさらに大きく設定される。このように、色数に応じてバンド幅を決定することにより、バンドメモリ６２０に割り当てるメモリ容量の増加を抑制しつつ、ラスターデータの分割数の増加に伴う展開のオーバーヘッドの増加を抑制することができる。
【００３４】
Ａ３．ラスターライズ処理：
図４は、ラスターライズ処理の対象となるＰＤＬデータの一例を示す説明図である。図４に示すＰＤＬデータには、Ｎ個の描画命令が含まれている。なお、図４においては、ＰＤＬデータに含まれる終端命令の図示を省略している。このＰＤＬデータをラスターライズすることにより、１ページ分のラスターデータには、各描画命令に対応したオブジェクトが展開される。図４の例では、描画命令１〜７に対応する７つのオブジェクトＯＢ１〜ＯＢ７がラスターデータ上に展開されている。
【００３５】
第１実施例では、ページ全体を一定の幅で分割した領域を、バンドの基本単位（単位バンド）として取り扱っている。図４の例では、１ページ分のラスターデータは、Ｍ個の単位バンドに分割されている。なお、以下では、これらのＭ個の単位バンドのそれぞれを、＃１〜＃Ｍまでの符号を付して識別する。
【００３６】
単位バンド＃１，＃２には、描画命令１，２に対応するオブジェクトＯＢ１，ＯＢ２が展開される。これらのオブジェクトＯＢ１，ＯＢ２の色には、グラデーションがかけられている。そのため、単位バンド＃１，＃２の色数は、２つのオブジェクトＯＢ１，ＯＢ２と背景とを合わせて、２００色となっている。単位バンド＃３，＃４には描画命令３，４に対応するオブジェクトＯＢ３，ＯＢ４が展開されている。オブジェクトＯＢ３，ＯＢ４では、個々の文字に異なる色が割り当てられている。そのため、単位バンド＃３，＃４の色数は、２つのオブジェクトＯＢ３，ＯＢ４と背景とを合わせて、１０色となっている。同様に、単位バンド＃５，＃６，＃７の色数は、それぞれ、１００００色、２５６色、および１０００００色となっている。
【００３７】
ＰＤＬデータは、まず、命令解析部５１０（図１）において処理が行われる。命令解析部５１０は、ＰＤＬデータに含まれる描画命令を解析して各単位バンドに描画命令を対応付け、単位バンドと描画命令の対応関係についての情報をコマンドメモリ６１０に格納する。
【００３８】
ＰＤＬデータに含まれる描画命令には、オブジェクトの描画位置と大きさに関する情報が含まれている。描画命令には、描画位置に関する情報として、例えば、オブジェクトの描画開始位置が含まれている。また、オブジェクトの大きさに関する情報としては、例えば、写真などのラスターオブジェクトの描画命令にはラスターライズ後の大きさが含まれており、文字の描画命令にはフォントサイズが含まれている。
【００３９】
命令解析部５１０は、このように描画命令に含まれるオブジェクトの描画位置と大きさに関する情報に基づいて、各描画命令により描画されるオブジェクトのページ内における配置を取得する。そして、取得したオブジェクトの配置から、各単位バンドのラスターデータの作成に使用する描画命令を特定し、単位バンドと描画命令との対応関係についての情報をコマンドメモリ６１０に格納する。
【００４０】
図５は、図４に示すＰＤＬデータについて、単位バンドと描画命令との対応関係を示す説明図である。上述のように、描画命令１，２に対応するオブジェクトＯＢ１，ＯＢ２は、単位バンド＃１，＃２に跨って配置される。そのため、単位バンド＃１，＃２は、それぞれ、２つの描画命令（描画命令１，２）に対応付けられる。また、描画命令３，４に対応するオブジェクトＯＢ３，ＯＢ４は、単位バンド＃３，＃４に跨って配置される。そのため、単位バンド＃３，＃４は、それぞれ、２つの描画命令（描画命令３，４）に対応付けられる。同様に、単位バンド＃５は描画命令５，６に、単位バンド＃６は描画命令６に、単位バンド＃７は描画命令７にそれぞれ対応付けられる。
【００４１】
命令解析部５１０による単位バンドと描画命令との対応付けの後、描画バンド設定部５２０は、描画命令の展開を一度に行う描画バンドを設定する。なお、第１実施例では、描画バンドの基本単位を単位バンドとしている。そのため、描画バンドは、連続する単位バンドの束として設定される。
【００４２】
描画バンド設定部５２０の色テーブル作成部５２２は、コマンドメモリを参照して各単位バンドに対応付けられた描画命令から、単位バンド毎に使用される色数を算出する。色数の算出は、描画命令に含まれるオブジェクトの色に関する情報が使用される。色に関する情報としては、例えば、文字の描画命令には文字色の指定情報が含まれており、図形の描画命令には図形色の指定情報が含まれている。色テーブル作成部５２２は、これらの色の指定情報に基づいてベクターオブジェクトに使用される色数を算出する。また、写真などのラスターオブジェクトの描画命令については、色テーブル作成部５２２は、描画命令に埋め込まれた画像を解析して色数が算出される。
【００４３】
なお、ラスターオブジェクトがＧＩＦ形式の画像のようにインデックスカラーで各画素の色を指定している場合には、インデックスカラーで指定される色の数を当該ラスターオブジェクトの色数として使用することが可能である。また、ラスターオブジェクトがＪＰＥＧやＴＩＦＦ形式の画像のように、所定の閾値以上の色数を表現可能な場合には、画像を解析することなく所定の値（例えば、６５５３７色）以上の色数を有するものとして取り扱うことも可能である。一般に、これらの場合、画像の解析に要する処理を省略することができる点で、画像を解析して色数を算出するよりも好ましい。
【００４４】
色テーブル作成部５２２は、単位バンド毎の色数の算出の後、各単位バンドに必要なビット深度を決定する。第１実施例では、ビット深度は次の表に従って決定される。
【表１】
2010211558.tif 000003
【００４５】
色テーブル作成部５２２は、次に、単位バンド毎に色テーブルを作成し、色テーブルメモリ６３０に格納する。図６は、図４に示すＰＤＬデータについて、単位バンド毎に決定されたビット深度と、単位バンド＃５，＃６に対して作成される色テーブルを示す説明図である。
【００４６】
単位バンド＃１，＃２に使用されている色数は、図４に示すように、２００色である。そのため、単位バンド＃１，＃２のビット深度は、８ビットに設定される。同様に、単位バンド＃３，＃４のビット深度は４ビットに、単位バンド＃５のビット深度は１６ビットに、単位バンド＃６のビット深度は８ビットに、単位バンド＃７のビット深度は２４ビットに設定される。図６に示すように、単位バンド＃５の色テーブルは、１６進数で４桁の符号と、各符号に対応付けられた色、すなわち、赤（Ｒ）・緑（Ｇ）・青（Ｂ）の階調値として表される。また、単位バンド＃６の色テーブルは、１６進数で２桁の符号と各符号に対応付けられたＲＧＢの階調値として表される。なお、色テーブルメモリ６３０には、図６に示す色テーブルの他、各単位バンドのビット深度が合わせて格納される。
【００４７】
色テーブル作成部５２２（図１）による色テーブル作成の後、バンド幅決定部５２４は、描画バンドの幅、すなわち描画バンドに含まれる単位バンドの数を決定する。後述するように、ラスターライズされた各単位バンドの画素の色は、色テーブルメモリ６３０に格納された色テーブルの符号を用いて符号化される。そのため、ある単位バンドをラスターライズした際のデータ量は、ビット深度を用いて算出される。そこで、バンド幅決定部５２４は、上から順に各単位バンドのビット深度を参照することにより、描画バンドに含まれる単位バンドのデータ量の和がバンドメモリ６２０の容量を超えない範囲でまとめられる単位バンドの最大数（すなわち、バンド幅）を決定する。描画バンド設定部５２０は、このように決定されたバンド幅（単位バンドの数）に基づいて上から順に単位バンドをまとめ、描画バンドを設定する。
【００４８】
図７は、図４に示すＰＤＬデータについて設定される描画バンドを示す説明図である。第１実施例では、バンドメモリ６２０は、ビット深度が２４ビットの単位バンドを格納しうるように確保されている。そのため、ビット深度の和が２４ビット以下となるように単位バンドがまとめられ、描画バンドが設定される。図７の例では、描画バンド１には４つの単位バンド＃１〜＃４が含まれ、描画バンド２には２つの単位バンド＃５，＃６が含まれている。
【００４９】
描画バンド設定部５２０により描画バンドが設定された後、命令展開部５３０は、描画バンド毎に描画命令の展開を行う。図８は、描画バンド２に対して描画命令が展開される様子を示す説明図である。命令展開部５３０は、まず、図８に示すように、描画バンド設定部５２０により設定された描画バンドと単位バンドとの対応関係に基づいて、描画バンド２に対応する２つの単位バンド＃５，＃６を特定する。次に、コマンドメモリ６１０に格納された単位バンドと描画命令との対応関係に基づいて、単位バンド＃５，＃６のラスターライズに使用する描画命令５，６を特定する。そして、単位バンド＃５，＃６に対して描画命令５，６を展開して、バンドメモリ６２０に単位バンド＃５のラスターデータと単位バンド＃６のラスターデータを格納する。この際、命令展開部５３０は、色テーブルメモリ６３０に格納された単位バンド＃５，＃６のそれぞれの色テーブルを参照して、ラスターデータの各画素の色を符号化する。なお、ビット深度が２４ビットに設定される場合、ラスターデータの各画素はそのままＲＧＢの階調値を表すことができるので、符号化を行わない。具体的には、ＪＰＥＧやＴＩＦＦ形式等の画像のように、所定の閾値以上の色数が表現可能なラスターオブジェクトが含まれる場合には、ビット深度が２４ビットに設定されるので、符号化は行われない。
【００５０】
描画バンド毎に作成されたラスターデータは、各描画バンドに含まれる単位バンドの色テーブルとともに、データ送信部５４０により印刷装置２００に送信され、印刷装置２００において印刷が行われる。
【００５１】
このように、第１実施例では、単位バンドの色数に基づいてビット深度を決定し、ビット深度に基づいてより多くの単位バンドを含むように描画バンドを設定する。そのため、バンドメモリ６２０に割り当てるメモリ容量の増加を抑制するとともに、１ページ分のラスターデータの分割数の増加に伴う展開のオーバーヘッドを低減することができる。また、ラスターデータにおいて各画素の色を符号化することにより、コンピューター１００から印刷装置２００に送信されるデータ量を低減することが可能となる。
【００５２】
Ｂ．第２実施例：
図９は、第２実施例の画像印刷システム１０ａの構成を示す概略構成図である。第２実施例の画像印刷システム１０ａは、第１実施例の画像印刷システム１０とコンピューター１００ａの構成が異なっている。具体的には、ＣＰＵ１１０により実現される処理部として、低解像度ラスターデータ作成部５５０が設けられている点と、描画バンド設定部５２０と命令展開部５３０とが高解像度ラスターデータ作成部５６０に含まれる点、命令解析部５１０が機能が異なる命令解析部５１０ａに置き換えられている点、および、ＲＡＭ１２０に低解像度ページメモリ６５０が確保されている点と、バンドメモリ６２０が高解像度バンドメモリ６２０ａに置き換えられている点で、第１実施例と異なっている。他の点は、第１実施例と同様である。
【００５３】
図１０は、第２実施例においてＰＤＬデータからラスターデータが作成される様子を示す説明図である。図１０の上側の図は、第１実施例におけるラスターデータの作成を示しており、図２と同様の図である。第２実施例では、図１０の下側に示すように、ＰＤＬデータから高解像度ラスターデータと低解像度ラスターデータとが作成される。
【００５４】
高解像度ラスターデータは、高解像度化によりジャギーが抑制されることにより高精細化することが可能なオブジェクトに対して作成される。一方、低解像度ラスターデータは、高解像度化しても画質の向上の効果がわかりにくいオブジェクトに対して作成される。具体的には、高解像度ラスターデータは、文字や図形などのベクターオブジェクトに対して作成され、低解像度ラスターデータは、写真やイラストなどのラスターオブジェクトに対して作成される。作成された高解像度ラスターデータと低解像度ラスターデータとは、印刷装置２００（図９）の印刷データ作成部２２０において合成され、すべてのオブジェクトを含む画像が印刷ユニット２４０により印刷される。
【００５５】
第２実施例の命令解析部５１０ａ（図９）は、ＰＤＬデータに含まれる描画命令を解析し、個々の描画命令を、高解像度ラスターデータの単位バンドと、低解像度ラスターデータとに対応付ける。上述のように、高解像度ラスターデータはベクターオブジェクトに対して作成され、低解像度ラスターデータはラスターオブジェクトに対して作成される。そのため、命令解析部５１０ａは、ベクターオブジェクトを表す描画命令を高解像度ラスターデータの単位バンドに対応付け、ラスターオブジェクトを表す描画命令を低解像度ラスターデータに対応付ける。
【００５６】
図１１は、図１０に示すＰＤＬデータの描画命令が、高解像度ラスターデータの単位バンドと低解像度ラスターデータとに対応付けられる様子を示す説明図である。図１０に示すように、描画命令１，３は、いずれもベクターオブジェクトである文字を表わしている。そのため、描画命令１，３は、高解像度ラスターデータの単位バンドに対応付けられる。なお、描画命令の単位バンドへの対応付けは、第１実施例と同様であるので、ここではその説明を省略する。一方、描画命令２，４は、それぞれ写真とイラストとを表している。写真とイラストとは、いずれもラスターオブジェクトであるため、これらを表す描画命令２，４は、低解像度ラスターデータに対応付けられる。
【００５７】
低解像度ラスターデータ作成部５５０（図９）の命令展開部５５２は、単一のページを表す低解像度ラスターデータ上に描画命令２，４を展開する。描画命令２，４が展開された低解像度ラスターデータは、低解像度ページメモリ６５０に格納される。
【００５８】
一方、第１実施例と同様に、高解像度ラスターデータ作成部５６０の描画バンド設定部５２０は、各単位バンドに対応付けられた描画命令から色数を算出し描画バンドを設定する。命令展開部５３０は、描画バンド毎に画素の色が符号化されたラスターデータを作成し、作成したラスターデータを高解像度バンドメモリ６２０ａに格納する。
【００５９】
データ送信部５４０は、描画バンド毎に、高解像度バンドメモリに格納された高解像度ラスターデータと色テーブルメモリ６３０に格納されている色テーブルを印刷装置２００に送信する。データ送信部５４０は、また、低解像度ページメモリ６５０に格納された低解像度ラスターデータのうち、描画バンドに対応する領域のラスターデータを印刷装置２００に送信する。印刷装置２００では、このようにして送信されたラスターデータから印刷データが作成され、ＰＤＬデータで表される画像の印刷が行われる。なお、第２実施例では、低解像度ラスターデータを描画バンドに対応する領域毎に送信しているが、低解像度ラスターデータの全体を、高解像度ラスターデータの送信に先立って印刷装置２００に送信するものとしてもよい。この結果、印刷データ作成部２２０は、データ受信部２１０を介して伝送されてきた低解像度ラスターデータおよび高解像度ラスターデータから順次に色変換やハーフトーン処理等の処理を施すことができる。よって、低解像度ラスターデータの送信に先立って高解像度ラスターデータの送信を行った場合に比べて、印刷装置２００での処理を高速化することができる。
【００６０】
このように、第２実施例によれば、高解像度化による画質の向上を図ることができるベクターオブジェクトに対しては、描画バンド毎にラスターデータを作成する。そして、ラスターデータの作成に当たっては、描画命令から算出した色数に基づいて描画バンドを設定し、画素の色が符号化されたラスターデータを作成する。これにより、高解像度化によりラスターデータの画素数が増加した状態においても、高解像度バンドメモリ６２０ａとして確保するメモリ容量の増大を抑制しつつ、展開のオーバーヘッドを低減することができる。
【００６１】
また、一般的に、文字や図形などのベクターオブジェクトに使用される色数は、写真やイラストなどのラスターオブジェクトに使用される色数よりも少ない。そのため、描画バンドに含まれる単位バンドの数をより多くできるので、展開のオーバーヘッドをより有効に低減できる。さらに、高解像度ラスターデータの画素の色を符号化することにより、コンピューター１００ａから印刷装置２００に送信されるデータ量をより容易に抑制することが可能となる。
【００６２】
Ｃ．描画バンド設定の変形例：
図１２は、描画バンド設定の変形例における画像印刷システム１０ｂの構成を示す概略構成図である。この変形例の画像印刷システム１０ｂは、コンピューター１００ｂの構成が異なっている点で、第１実施例と異なっている。具体的には、描画バンド設定部５２０の色テーブル作成部５２２に換えてデータ量算出部５２２ｂが描画バンド設定部５２０ｂに設けられている点と、命令展開部５３０が機能が異なる命令展開部５３０ｂに置き換えられている点とで、第１実施例と異なっている。他の点は、第１実施例と同様である。
【００６３】
描画バンド設定の変形例では、命令展開部５３０ｂは、単位バンド毎に描画命令を展開したラスターデータにランレングス圧縮を施し、ランレングス圧縮が施されたラスターデータをバンドメモリに格納する。そこで、データ量算出部５２２ｂは、ＰＤＬデータに含まれる描画命令に基づいて、単位バンド毎にランレングス圧縮後のデータ量を推定する。バンド幅決定部５２４は、第１実施例と同様に、推定された圧縮後のデータ量の和がバンドメモリ６２０のメモリ容量を超えないようにバンド幅を決定する。
【００６４】
図１３は、データ量算出部５２２ｂによる圧縮後のデータ量の推定方法を示す説明図である。図１３では、矢印で示す単位バンド（推定対象バンド）について圧縮後のデータ量を推定している。
【００６５】
図１３（ａ）に示すように、推定対象バンドに、ベクターオブジェクトである文字とベクター図形（例えば、罫線）のみが含まれている場合、ラスターデータの画素の色が切り替わる回数は、推定対象バンドに含まれる文字の数や罫線等のベクター図形の数、すなわち、ベクターオブジェクトの数におおよそ比例する。そこで、図１３（ａ）のように推定対象バンドにベクターオブジェクトのみが含まれている場合には、データ量算出部５２２ｂは、推定対象バンドに含まれるベクターオブジェクトの数に基づいて圧縮後のデータ量を推定する。
【００６６】
図１３（ｂ）に示すように、推定対象バンドにラスターオブジェクトであるラスター画像のみが含まれている場合、ラスター画像の領域のデータ量は、ランレングス圧縮を施してもデータ量はほとんど低減できない。一方、ラスター画像の領域外の余白領域には、他のオブジェクトが存在していないため、余白領域のデータ量はランレングス圧縮によりほぼゼロとすることができる。そこで、図１３（ｂ）に示すように、推定対象バンドにラスターオブジェクトのみが含まれている場合には、データ量算出部５２２ｂは、推定対象バンドの中でラスターオブジェクトが占める領域のデータ量（＝ラスタ画像のビット深度×当該領域の画素数：以下、「ラスター領域データ量」とも呼ぶ）基づいて圧縮後のデータ量を推定する。
【００６７】
さらに、図１３（ｃ）に示すように、推定対象バンドに文字やベクター図形と、ラスター画像との双方が含まれている場合、ラスター画像の領域外の余白領域のデータ量は、図１３（ａ）の場合と同様に、余白領域中のベクターオブジェクトの数に基づいて推定することができる。また、ラスターオブジェクトが占める領域のデータ量は、図１３（ｂ）の場合と同様に、ラスター領域データ量により推定することができる。そこで、図１３（ｃ）のように、推定対象バンドにベクターオブジェクトとラスターオブジェクトとが含まれている場合には、推定対象バンドの圧縮後のデータ量は、余白領域中のベクターオブジェクトの数に基づいて算出されるデータ量と、ラスター領域データ量との和として推定することができる。
【００６８】
このように、ランレングス圧縮後のデータ量を推定し、推定された圧縮後のデータ量に基づいてバンド幅を決定することによっても、バンドメモリ６２０に割り当てるメモリ容量の増加を抑制するとともに、描画命令の展開のオーバーヘッドを低減することができる。また、ラスターデータにランレングス圧縮を施すことにより、コンピューター１００ｂから印刷装置２００に送信されるデータ量を低減することが可能である。
【００６９】
なお、この変形例では、命令展開部５３０ｂは、単位バンド毎に描画命令を展開したラスターデータにランレングス圧縮を施しているが、ラスターデータの圧縮方法は必ずしもランレングス圧縮に限定されない。例えば、ラスターデータをハフマン符号化などの種々の方法により圧縮することも可能である。但し、圧縮後のデータ量の推定がより容易である点で、ラスターデータをランレングス圧縮するのがより好ましい。
【００７０】
この変形例では、第１実施例と異なりラスターデータにおける色の符号化を行っていないが、ラスターデータにおける色の符号化とラスターデータのランレングス圧縮とを併せて行うものとしてもよい。このように、色の符号化とランレングス圧縮とを併せて行うことにより、ラスターデータのデータ量をさらに低減し、描画バンド幅をより大きくすることができるので、描画命令展開のオーバーヘッドをさらに低減することが可能となる。
【符号の説明】
【００７１】
１０，１０ａ，１０ｂ…画像印刷システム
１００，１００ａ，１００ｂ…コンピューター
１１０…ＣＰＵ
１２０…ＲＡＭ
１３０…ＨＤＤ
１４０…伝送インターフェース
２００…印刷装置
２１０…データ受信部
２２０…印刷データ作成部
２３０…プリンター制御部
２４０…印刷ユニット
５１０，５１０ａ…命令解析部
５２０，５２０ｂ…描画バンド設定部
５２２…色テーブル作成部
５２２ｂ…データ量算出部
５２４…バンド幅決定部
５３０，５３０ｂ…命令展開部
５４０…データ送信部
５５０…低解像度ラスターデータ作成部
５５２…命令展開部
５６０…高解像度ラスターデータ作成部
６１０…コマンドメモリ
６２０…バンドメモリ
６２０ａ…高解像度バンドメモリ
６３０…色テーブルメモリ
６４０…展開用メモリ
６５０…低解像度ページメモリ
ＴＬ…伝送路
【図１】
2010211558.tif 000004
【図２】
2010211558.tif 000005
【図３】
2010211558.tif 000006
【図４】
2010211558.tif 000007
【図５】
2010211558.tif 000008
【図６】
2010211558.tif 000009
【図７】
2010211558.tif 000010
【図８】
2010211558.tif 000011
【図９】
2010211558.tif 000012
【図１０】
2010211558.tif 000013
【図１１】
2010211558.tif 000014
【図１２】
2010211558.tif 000015
【図１３】
2010211558.tif 000016