説明

画像処理装置、画像処理方法および画像処理のためのコンピュータープログラム

【課題】ラスターデータを作成する際に、ラスターデータを格納するためのメモリ容量の増加を抑制しつつ、展開のオーバーヘッドの増加を抑制する。
【解決手段】画像処理装置は、オブジェクトの描画命令を含む入力データに応じて、オブジェクトの描画結果を表すラスターデータを複数の描画バンドに分けて作成する。この画像処理装置は、ラスターデータの作成に際して、オブジェクトの描画命令に基づいて、描画バンドの基本単位である単位バンド内のラスターデータのデータ量を算出し、算出されたデータ量に基づいて、描画バンドに含まれる単位バンドの数を決定する。

【発明の詳細な説明】
【技術分野】
【0001】
この発明は、オブジェクトの描画命令を含む入力データからラスターデータを作成するラスターライズ技術に関する。
【背景技術】
【0002】
コンピューターの文書作成アプリケーションで作成された文書等をプリンターで印刷する場合、プリンタードライバーにおいて、文字、図形、写真等の種々のオブジェクトを表すデータを画素単位で階調値(色)を指定して画像を表すラスターデータに変換するラスターライズが行われる。このラスターライズは、通常、オブジェクトの内容とページ上におけるオブジェクトの配置を表すページ記述言語(PDL:Page Description Language)データに含まれる描画命令を、ラスターデータに展開することにより行われる。また、PDLデータを受け付けるプリンターでは、プリンターにおいてラスターライズが行われる。
【0003】
このようなラスターライズにおいては、展開したラスターデータを保持するためのメモリ容量を低減するため、ラスターデータを複数のバンドに分割してラスターライズを行うバンド処理が行われている(例えば、特許文献1参照)。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開平8−230249号公報
【特許文献2】特開平11−232468号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、バンド処理によりラスターライズを行う場合、バンド毎に必要なオブジェクトの描画命令(コマンドデータ)の展開が行われる。そのため、バンドへの分割数が増加すると、複数のバンドに跨るオブジェクトが増加し、同一の描画命令が複数回にわたって展開される展開のオーバーヘッドが増加する。一方、バンドの分割数を低減するためにバンド幅を拡げると、ラスターデータを保持するためのメモリ容量が増加する。
【0006】
本発明は、上述した従来の課題を解決するためになされたものであり、ラスターデータを作成する際に、ラスターデータを格納するためのメモリ容量の増加を抑制しつつ、展開のオーバーヘッドの増加を抑制する技術を提供することを目的とする。
【課題を解決するための手段】
【0007】
上記課題の少なくとも一部を解決するために、本発明は、以下の形態または適用例として実現することが可能である。
【0008】
[適用例1]
画像処理装置であって、オブジェクトの描画命令を含む入力データに基づいて、前記オブジェクトの描画の結果を表すラスターデータを複数の描画バンドに分けて作成する命令展開部と、前記描画バンドの基本単位である単位バンド内のラスターデータのデータ量を前記オブジェクトの描画命令に基づいて算出し、算出した前記データ量に基づいて決定した数の前記単位バンドを含む前記描画バンドを設定する描画バンド設定部とを備える画像処理装置。
【0009】
この適用例によれば、単位バンド内のデータ量を算出して、一度にラスターデータが作成される描画バンド中の単位バンドの数が決定される。そのため、単位バンドのデータ量が少ない場合、描画バンドのために確保するメモリ容量を増加させることなく、複数の単位バンドに対して一度にラスターデータを作成することができる。そのため、ラスターデータを格納するためのメモリ容量の増加を抑制しつつ、展開のオーバーヘッドの増加を抑制することが可能となる。
【0010】
[適用例2]
適用例1記載の画像処理装置であって、前記描画バンド設定部は、前記オブジェクトの描画命令に基づいて、前記オブジェクトの描画に用いる色数に対応した符号を用いて前記ラスターデータにおける各画素の色を符号化するための色テーブルを前記単位バンド毎に作成する色テーブル作成部と、前記オブジェクトの色数に基づいて前記データ量を算出し、前記描画バンドに含まれる前記単位バンドの数を決定するバンド幅決定部と、を備え、前記命令展開部は、前記単位バンド毎に前記色テーブルを参照して各画素の色が符号化されたラスターデータを作成する画像処理装置。
【0011】
オブジェクトの描画に用いる色数に対応した符号を用いてラスターデータにおける各画素の色を符号化することにより、ラスターデータのデータ量をより容易に低減することができる。そのため、描画バンドに含まれる単位バンドの数を増やし、展開のオーバーヘッドを低減することがより容易となる。
【0012】
[適用例3]適用例2記載の画像処理装置であって、前記色テーブル作成部は、前記単位バンド内の前記オブジェクトが所定の閾値以上の色数を表現可能な種類のラスターオブジェクトである場合には、該単位バンドについて前記符号化を行わない画像処理装置。
【0013】
所定の閾値以上の色数を表現可能な特定種類のラスターオブジェクトを含む場合、符号化のためのオーバーヘッドが発生するおそれがある。この適用例によれば、特定種類のラスターオブジェクトを含む場合に符号化を行わないようにすることにより、符号化のためのオーバーヘッドの発生を抑制することができる。
【0014】
[適用例4]
適用例1ないし3のいずれか記載の画像処理装置であって、前記命令展開部は、前記描画バンドに含まれる前記単位バンドを圧縮し、前記描画バンド設定部は、前記圧縮後の圧縮データ量を推定する画像処理装置。
【0015】
ラスターデータを単位バンド毎に圧縮することにより、ラスターデータのデータ量をより容易に低減することができる。そのため、描画バンドに含まれる単位バンドの数を増やし、展開のオーバーヘッドを低減することがより容易となる。
【0016】
[適用例5]
適用例4記載の画像処理装置であって、前記描画バンド設定部は、前記単位バンド内の前記オブジェクトがベクターオブジェクトである場合には、前記単位バンド内の前記ベクターオブジェクトの数に基づいて前記圧縮データ量を推定する画像処理装置。
【0017】
ベクターオブジェクトの圧縮後のデータ量は、ベクターオブジェクトの数におおよそ比例する。そのため、本適用例によれば、より容易に圧縮データ量を推定することが可能となる。
【0018】
[適用例6]
適用例4または5記載の画像処理装置であって、前記描画バンド設定部は、前記オブジェクトがラスターオブジェクトである場合には、前記単位バンド内において前記ラスターオブジェクトが占める領域のデータ量に基づいて前記圧縮データ量を推定する画像処理装置。
【0019】
一般に、ラスターオブジェクトは、圧縮によってそのデータ量がほとんど低減されない。そのため、ラスターオブジェクトが占める領域のデータ量を用いることにより、より適切に圧縮データ量を推定することができる。
【0020】
なお、本発明は、種々の態様で実現することが可能であり、例えば、画像処理装置とその制御方法や画像処理方法、その画像処理装置とその制御方法や画像処理方法を適用した画像印刷装置や画像印刷方法、あるいは、その画像処理装置を備える印刷システム、それらの装置、システム、および方法を実現するためのコンピュータープログラム、そのコンピュータープログラムを記録したコンピューター可読媒体、そのコンピュータープログラムを含み搬送波内に具現化されたデータ信号、等の態様で実現することができる。
【図面の簡単な説明】
【0021】
【図1】第1実施例の画像印刷システムの構成を示す概略構成図。
【図2】PDLデータからラスターデータが作成される様子を示す説明図。
【図3】描画されるオブジェクトとバンド幅との関係を示す説明図。
【図4】ラスターライズ処理の対象となるPDLデータの一例を示す説明図。
【図5】単位バンドと描画命令との対応関係を示す説明図。
【図6】単位バンド毎に決定されたビット深度と、単位バンドに対して作成される色テーブルを示す説明図。
【図7】設定される描画バンドを示す説明図。
【図8】描画バンド2に対して描画命令が展開される様子を示す説明図。
【図9】第2実施例の画像印刷システムの構成を示す概略構成図。
【図10】第2実施例においてPDLデータからラスターデータが作成される様子を示す説明図。
【図11】PDLデータの描画命令が、高解像度ラスターデータの単位バンドと低解像度ラスターデータとに対応付けられる様子を示す説明図。
【図12】描画バンド設定の変形例における画像印刷システム10bの構成を示す概略構成図。
【図13】データ量算出部による圧縮後のデータ量の推定方法を示す説明図。
【発明を実施するための形態】
【0022】
以下、本発明を実施するための形態を実施例に基づいて説明する。
A.第1実施例:
A1.画像印刷システム:
図1は、第1実施例の画像印刷システム10の構成を示す概略構成図である。この画像印刷システム10は、コンピューター100と印刷装置200とを伝送路TLを介して接続することにより構成されている。コンピューター100は、コンピューター100自身で作成されたページ記述言語(PDL:Page Description Language)データ、あるいは、コンピューター100に外部から入力されたPDLデータからラスターデータを作成する。ここで、「ラスターデータ」とは、画素単位で階調値(色)を指定して画像を表すデータのことを言う。作成されたラスターデータは、伝送路TLを介して、コンピューター100から印刷装置200に伝送される。印刷装置200は、コンピューター100から伝送されてきたラスターデータに応じて、印刷媒体上に画像を印刷する。伝送路TLとしては、USBケーブルや、有線あるいは無線のネットワークなど、種々のデータ通信路を採用することができる。
【0023】
コンピューター100は、CPU110と、RAM120と、ハードディスクドライブ(HDD)130と、伝送インターフェース140とを有している。CPU110は、HDD130あるいはROM(図示しない)に格納されているプログラムコードをRAM120に転送し、RAM120に転送されたプログラムコードを実行する。これにより、CPU110は、命令解析部510、描画バンド設定部520、命令展開部530、およびデータ送信部540としての機能を実現する。描画バンド設定部520は、色テーブル作成部522とバンド幅決定部524との機能を備えている。RAM120は、データの格納領域として、コマンドメモリ610、バンドメモリ620、色テーブルメモリ630、および命令展開部530の一時メモリとして使用される展開用メモリ640が確保されている。伝送インターフェース140は、伝送路TLとの接続インターフェースである。なお、CPU110が実現する各処理部の構成や機能と、RAM120に確保された各データ格納領域に格納されるデータの内容とについては、後述する。
【0024】
印刷装置200は、データ受信部210と、印刷データ作成部220と、プリンター制御部230と、印刷ユニット240とを有している。データ受信部210は、伝送路TLとの接続インターフェースである。印刷データ作成部220は、データ受信部210を介して伝送されてきたラスターデータに色変換やハーフトーン処理等の処理を施して、印刷ユニット240に供給する印刷データを作成する。プリンター制御部230は、印刷ユニット240を制御する。印刷ユニット240は、印刷データに応じて印刷を実行する印刷機構である。印刷機構としては、インク滴を印刷媒体に吐出して画像を形成する印刷機構や、トナーを印刷媒体上に転写・定着させて画像を形成する印刷機構等の種々の印刷機構を採用することができる。このように、印刷装置200は、コンピューター100において生成されたラスターデータに基づいて印刷を行うので、印刷装置200を「ラスターデータに基づいて印刷を行う印刷部」とも言うことができる。
【0025】
なお、画像印刷システムの構成としては、図1に示す構成に限らず、種々の構成を採用することもできる。例えば、コンピューター100の要素の一部を印刷装置200に設けるものとしてもよく、印刷装置200の要素の一部をコンピューター100に設けるものとしてもよい。具体的には、コンピューター100に印刷データを作成する印刷データ作成部220を設けることも可能である。この場合、印刷装置200の印刷ユニット240は、コンピューター100から供給される印刷データに応じて印刷を実行する。このように、印刷ユニット240は、ラスターデータに基づいて作成された印刷データに応じて印刷を行うので、印刷ユニット240を「ラスターデータに基づいて印刷を行う印刷部」とも言うことができる。
【0026】
第1実施例では、コンピューター100と印刷装置200とを別個の装置として有する画像印刷システム10の例を示しているが、コンピューター100と印刷装置200とは必ずしも別個の装置とする必要はなく、1つの装置に組み込むことも可能である。
【0027】
A2.処理の概要:
図2は、PDLデータからラスターデータが作成される様子を示す説明図である。PDLデータは、例えば、コンピューター100上で動作している文書作成アプリケーションにより作成される。また、PDLデータを、外部からコンピューター100に入力するものとしてもよい。PDLデータとしては、PostScript(アドビシステムズ社の商標)等の種々のPDLに準拠したデータを使用することができる。PDLデータは、CPU110より実現される命令解析部510、描画バンド設定部520、および命令展開部530の機能により展開(ラスターライズ)され、1ページ分のラスターデータが作成される。なお、これらの処理部510,520,530のそれぞれが機能することにより、PDLデータからラスターデータが作成される。そのため、処理部510〜530を併せて、入力されたPDLデータに応じてラスターデータを出力する画像処理装置とも呼ぶことができる。
【0028】
図2に示すように、PDLデータは、N個(Nは、1以上の整数)の描画命令と、PDLデータの最後を表す終端命令とを含むリストである。個々の描画命令は、描画すべき1つのオブジェクトを表している。描画命令は、画像の表現形式が異なる種々のオブジェクトを表すことが可能となっている。オブジェクトは、例えば、ページ上における線や輪郭の形状を指定することにより文字や図形等を表すベクターオブジェクトと、画素毎の色を指定することにより写真等を表すラスターオブジェクトに分類することができる。
【0029】
図2の例では、PDLデータはN個の描画命令が含まれており、描画命令に応じて展開が実行されることにより、ラスターデータにはN個の描画命令に対応するN個のオブジェクトが展開される。なお、図2では、図示の便宜上、描画命令4〜描画命令N−1に対応するオブジェクトの図示を省略している。
【0030】
第1実施例では、ラスターデータは、ページ上において横方向に延びる部分領域(バンド)毎に作成される。具体的には、描画命令の展開は、バンドメモリ620(図1)に対して行われる。バンド毎に作成されたラスターデータは、データ送信部540により、後述する色テーブルとともに印刷装置に送信される。
【0031】
第1実施例では、バンド毎にラスターデータが作成される。このバンドの幅を小さくすると、一度に作成されるラスターデータのサイズが小さくなり、バンドメモリ620に割り当てられるメモリ容量を小さくすることができる。その一方、ラスターデータの分割数が多くなる。複数のバンドにまたがるオブジェクトの描画命令はバンド毎に別個に展開されるため、ラスターデータの分割数が多くなると、同一の描画命令を繰り返し展開する展開のオーバーヘッドが大きくなる。これに対し、バンド幅を大きくすると、分割数が低減されて展開のオーバーヘッドは小さくなるが、一度に作成されるラスターデータのサイズが大きくなり、バンドメモリ620に割り当てられるメモリ容量が大きくなる。
【0032】
そこで、第1実施例では、描画命令に基づいて展開後の色数を求め、色数に応じてバンド幅を決定する。これにより、色数が少なく1画素あたりのビット数(ビット深度)を減らすことができる領域に対しては、ビット深度を低減することにより、バンドメモリ620に割り当てるメモリ容量の増加を抑制しつつ、バンド幅を大きくすることが可能となる。
【0033】
図3は、描画されるオブジェクトとバンド幅との関係を示す説明図である。図3の例では、写真と、多色文字と、黒文字との3つのオブジェクトが描画される。写真が展開されるバンドAでは、多くの色数を必要とするため、バンド幅は小さく設定される。これに対し、写真よりも色数が少ない多色文字が展開されるバンドBでは、バンド幅がバンドAよりも大きく設定される。そして、さらに色数が少ない黒文字が描画されるバンドCは、バンド幅がバンドBよりもさらに大きく設定される。このように、色数に応じてバンド幅を決定することにより、バンドメモリ620に割り当てるメモリ容量の増加を抑制しつつ、ラスターデータの分割数の増加に伴う展開のオーバーヘッドの増加を抑制することができる。
【0034】
A3.ラスターライズ処理:
図4は、ラスターライズ処理の対象となるPDLデータの一例を示す説明図である。図4に示すPDLデータには、N個の描画命令が含まれている。なお、図4においては、PDLデータに含まれる終端命令の図示を省略している。このPDLデータをラスターライズすることにより、1ページ分のラスターデータには、各描画命令に対応したオブジェクトが展開される。図4の例では、描画命令1〜7に対応する7つのオブジェクトOB1〜OB7がラスターデータ上に展開されている。
【0035】
第1実施例では、ページ全体を一定の幅で分割した領域を、バンドの基本単位(単位バンド)として取り扱っている。図4の例では、1ページ分のラスターデータは、M個の単位バンドに分割されている。なお、以下では、これらのM個の単位バンドのそれぞれを、#1〜#Mまでの符号を付して識別する。
【0036】
単位バンド#1,#2には、描画命令1,2に対応するオブジェクトOB1,OB2が展開される。これらのオブジェクトOB1,OB2の色には、グラデーションがかけられている。そのため、単位バンド#1,#2の色数は、2つのオブジェクトOB1,OB2と背景とを合わせて、200色となっている。単位バンド#3,#4には描画命令3,4に対応するオブジェクトOB3,OB4が展開されている。オブジェクトOB3,OB4では、個々の文字に異なる色が割り当てられている。そのため、単位バンド#3,#4の色数は、2つのオブジェクトOB3,OB4と背景とを合わせて、10色となっている。同様に、単位バンド#5,#6,#7の色数は、それぞれ、10000色、256色、および100000色となっている。
【0037】
PDLデータは、まず、命令解析部510(図1)において処理が行われる。命令解析部510は、PDLデータに含まれる描画命令を解析して各単位バンドに描画命令を対応付け、単位バンドと描画命令の対応関係についての情報をコマンドメモリ610に格納する。
【0038】
PDLデータに含まれる描画命令には、オブジェクトの描画位置と大きさに関する情報が含まれている。描画命令には、描画位置に関する情報として、例えば、オブジェクトの描画開始位置が含まれている。また、オブジェクトの大きさに関する情報としては、例えば、写真などのラスターオブジェクトの描画命令にはラスターライズ後の大きさが含まれており、文字の描画命令にはフォントサイズが含まれている。
【0039】
命令解析部510は、このように描画命令に含まれるオブジェクトの描画位置と大きさに関する情報に基づいて、各描画命令により描画されるオブジェクトのページ内における配置を取得する。そして、取得したオブジェクトの配置から、各単位バンドのラスターデータの作成に使用する描画命令を特定し、単位バンドと描画命令との対応関係についての情報をコマンドメモリ610に格納する。
【0040】
図5は、図4に示すPDLデータについて、単位バンドと描画命令との対応関係を示す説明図である。上述のように、描画命令1,2に対応するオブジェクトOB1,OB2は、単位バンド#1,#2に跨って配置される。そのため、単位バンド#1,#2は、それぞれ、2つの描画命令(描画命令1,2)に対応付けられる。また、描画命令3,4に対応するオブジェクトOB3,OB4は、単位バンド#3,#4に跨って配置される。そのため、単位バンド#3,#4は、それぞれ、2つの描画命令(描画命令3,4)に対応付けられる。同様に、単位バンド#5は描画命令5,6に、単位バンド#6は描画命令6に、単位バンド#7は描画命令7にそれぞれ対応付けられる。
【0041】
命令解析部510による単位バンドと描画命令との対応付けの後、描画バンド設定部520は、描画命令の展開を一度に行う描画バンドを設定する。なお、第1実施例では、描画バンドの基本単位を単位バンドとしている。そのため、描画バンドは、連続する単位バンドの束として設定される。
【0042】
描画バンド設定部520の色テーブル作成部522は、コマンドメモリを参照して各単位バンドに対応付けられた描画命令から、単位バンド毎に使用される色数を算出する。色数の算出は、描画命令に含まれるオブジェクトの色に関する情報が使用される。色に関する情報としては、例えば、文字の描画命令には文字色の指定情報が含まれており、図形の描画命令には図形色の指定情報が含まれている。色テーブル作成部522は、これらの色の指定情報に基づいてベクターオブジェクトに使用される色数を算出する。また、写真などのラスターオブジェクトの描画命令については、色テーブル作成部522は、描画命令に埋め込まれた画像を解析して色数が算出される。
【0043】
なお、ラスターオブジェクトがGIF形式の画像のようにインデックスカラーで各画素の色を指定している場合には、インデックスカラーで指定される色の数を当該ラスターオブジェクトの色数として使用することが可能である。また、ラスターオブジェクトがJPEGやTIFF形式の画像のように、所定の閾値以上の色数を表現可能な場合には、画像を解析することなく所定の値(例えば、65537色)以上の色数を有するものとして取り扱うことも可能である。一般に、これらの場合、画像の解析に要する処理を省略することができる点で、画像を解析して色数を算出するよりも好ましい。
【0044】
色テーブル作成部522は、単位バンド毎の色数の算出の後、各単位バンドに必要なビット深度を決定する。第1実施例では、ビット深度は次の表に従って決定される。
【表1】

【0045】
色テーブル作成部522は、次に、単位バンド毎に色テーブルを作成し、色テーブルメモリ630に格納する。図6は、図4に示すPDLデータについて、単位バンド毎に決定されたビット深度と、単位バンド#5,#6に対して作成される色テーブルを示す説明図である。
【0046】
単位バンド#1,#2に使用されている色数は、図4に示すように、200色である。そのため、単位バンド#1,#2のビット深度は、8ビットに設定される。同様に、単位バンド#3,#4のビット深度は4ビットに、単位バンド#5のビット深度は16ビットに、単位バンド#6のビット深度は8ビットに、単位バンド#7のビット深度は24ビットに設定される。図6に示すように、単位バンド#5の色テーブルは、16進数で4桁の符号と、各符号に対応付けられた色、すなわち、赤(R)・緑(G)・青(B)の階調値として表される。また、単位バンド#6の色テーブルは、16進数で2桁の符号と各符号に対応付けられたRGBの階調値として表される。なお、色テーブルメモリ630には、図6に示す色テーブルの他、各単位バンドのビット深度が合わせて格納される。
【0047】
色テーブル作成部522(図1)による色テーブル作成の後、バンド幅決定部524は、描画バンドの幅、すなわち描画バンドに含まれる単位バンドの数を決定する。後述するように、ラスターライズされた各単位バンドの画素の色は、色テーブルメモリ630に格納された色テーブルの符号を用いて符号化される。そのため、ある単位バンドをラスターライズした際のデータ量は、ビット深度を用いて算出される。そこで、バンド幅決定部524は、上から順に各単位バンドのビット深度を参照することにより、描画バンドに含まれる単位バンドのデータ量の和がバンドメモリ620の容量を超えない範囲でまとめられる単位バンドの最大数(すなわち、バンド幅)を決定する。描画バンド設定部520は、このように決定されたバンド幅(単位バンドの数)に基づいて上から順に単位バンドをまとめ、描画バンドを設定する。
【0048】
図7は、図4に示すPDLデータについて設定される描画バンドを示す説明図である。第1実施例では、バンドメモリ620は、ビット深度が24ビットの単位バンドを格納しうるように確保されている。そのため、ビット深度の和が24ビット以下となるように単位バンドがまとめられ、描画バンドが設定される。図7の例では、描画バンド1には4つの単位バンド#1〜#4が含まれ、描画バンド2には2つの単位バンド#5,#6が含まれている。
【0049】
描画バンド設定部520により描画バンドが設定された後、命令展開部530は、描画バンド毎に描画命令の展開を行う。図8は、描画バンド2に対して描画命令が展開される様子を示す説明図である。命令展開部530は、まず、図8に示すように、描画バンド設定部520により設定された描画バンドと単位バンドとの対応関係に基づいて、描画バンド2に対応する2つの単位バンド#5,#6を特定する。次に、コマンドメモリ610に格納された単位バンドと描画命令との対応関係に基づいて、単位バンド#5,#6のラスターライズに使用する描画命令5,6を特定する。そして、単位バンド#5,#6に対して描画命令5,6を展開して、バンドメモリ620に単位バンド#5のラスターデータと単位バンド#6のラスターデータを格納する。この際、命令展開部530は、色テーブルメモリ630に格納された単位バンド#5,#6のそれぞれの色テーブルを参照して、ラスターデータの各画素の色を符号化する。なお、ビット深度が24ビットに設定される場合、ラスターデータの各画素はそのままRGBの階調値を表すことができるので、符号化を行わない。具体的には、JPEGやTIFF形式等の画像のように、所定の閾値以上の色数が表現可能なラスターオブジェクトが含まれる場合には、ビット深度が24ビットに設定されるので、符号化は行われない。
【0050】
描画バンド毎に作成されたラスターデータは、各描画バンドに含まれる単位バンドの色テーブルとともに、データ送信部540により印刷装置200に送信され、印刷装置200において印刷が行われる。
【0051】
このように、第1実施例では、単位バンドの色数に基づいてビット深度を決定し、ビット深度に基づいてより多くの単位バンドを含むように描画バンドを設定する。そのため、バンドメモリ620に割り当てるメモリ容量の増加を抑制するとともに、1ページ分のラスターデータの分割数の増加に伴う展開のオーバーヘッドを低減することができる。また、ラスターデータにおいて各画素の色を符号化することにより、コンピューター100から印刷装置200に送信されるデータ量を低減することが可能となる。
【0052】
B.第2実施例:
図9は、第2実施例の画像印刷システム10aの構成を示す概略構成図である。第2実施例の画像印刷システム10aは、第1実施例の画像印刷システム10とコンピューター100aの構成が異なっている。具体的には、CPU110により実現される処理部として、低解像度ラスターデータ作成部550が設けられている点と、描画バンド設定部520と命令展開部530とが高解像度ラスターデータ作成部560に含まれる点、命令解析部510が機能が異なる命令解析部510aに置き換えられている点、および、RAM120に低解像度ページメモリ650が確保されている点と、バンドメモリ620が高解像度バンドメモリ620aに置き換えられている点で、第1実施例と異なっている。他の点は、第1実施例と同様である。
【0053】
図10は、第2実施例においてPDLデータからラスターデータが作成される様子を示す説明図である。図10の上側の図は、第1実施例におけるラスターデータの作成を示しており、図2と同様の図である。第2実施例では、図10の下側に示すように、PDLデータから高解像度ラスターデータと低解像度ラスターデータとが作成される。
【0054】
高解像度ラスターデータは、高解像度化によりジャギーが抑制されることにより高精細化することが可能なオブジェクトに対して作成される。一方、低解像度ラスターデータは、高解像度化しても画質の向上の効果がわかりにくいオブジェクトに対して作成される。具体的には、高解像度ラスターデータは、文字や図形などのベクターオブジェクトに対して作成され、低解像度ラスターデータは、写真やイラストなどのラスターオブジェクトに対して作成される。作成された高解像度ラスターデータと低解像度ラスターデータとは、印刷装置200(図9)の印刷データ作成部220において合成され、すべてのオブジェクトを含む画像が印刷ユニット240により印刷される。
【0055】
第2実施例の命令解析部510a(図9)は、PDLデータに含まれる描画命令を解析し、個々の描画命令を、高解像度ラスターデータの単位バンドと、低解像度ラスターデータとに対応付ける。上述のように、高解像度ラスターデータはベクターオブジェクトに対して作成され、低解像度ラスターデータはラスターオブジェクトに対して作成される。そのため、命令解析部510aは、ベクターオブジェクトを表す描画命令を高解像度ラスターデータの単位バンドに対応付け、ラスターオブジェクトを表す描画命令を低解像度ラスターデータに対応付ける。
【0056】
図11は、図10に示すPDLデータの描画命令が、高解像度ラスターデータの単位バンドと低解像度ラスターデータとに対応付けられる様子を示す説明図である。図10に示すように、描画命令1,3は、いずれもベクターオブジェクトである文字を表わしている。そのため、描画命令1,3は、高解像度ラスターデータの単位バンドに対応付けられる。なお、描画命令の単位バンドへの対応付けは、第1実施例と同様であるので、ここではその説明を省略する。一方、描画命令2,4は、それぞれ写真とイラストとを表している。写真とイラストとは、いずれもラスターオブジェクトであるため、これらを表す描画命令2,4は、低解像度ラスターデータに対応付けられる。
【0057】
低解像度ラスターデータ作成部550(図9)の命令展開部552は、単一のページを表す低解像度ラスターデータ上に描画命令2,4を展開する。描画命令2,4が展開された低解像度ラスターデータは、低解像度ページメモリ650に格納される。
【0058】
一方、第1実施例と同様に、高解像度ラスターデータ作成部560の描画バンド設定部520は、各単位バンドに対応付けられた描画命令から色数を算出し描画バンドを設定する。命令展開部530は、描画バンド毎に画素の色が符号化されたラスターデータを作成し、作成したラスターデータを高解像度バンドメモリ620aに格納する。
【0059】
データ送信部540は、描画バンド毎に、高解像度バンドメモリに格納された高解像度ラスターデータと色テーブルメモリ630に格納されている色テーブルを印刷装置200に送信する。データ送信部540は、また、低解像度ページメモリ650に格納された低解像度ラスターデータのうち、描画バンドに対応する領域のラスターデータを印刷装置200に送信する。印刷装置200では、このようにして送信されたラスターデータから印刷データが作成され、PDLデータで表される画像の印刷が行われる。なお、第2実施例では、低解像度ラスターデータを描画バンドに対応する領域毎に送信しているが、低解像度ラスターデータの全体を、高解像度ラスターデータの送信に先立って印刷装置200に送信するものとしてもよい。この結果、印刷データ作成部220は、データ受信部210を介して伝送されてきた低解像度ラスターデータおよび高解像度ラスターデータから順次に色変換やハーフトーン処理等の処理を施すことができる。よって、低解像度ラスターデータの送信に先立って高解像度ラスターデータの送信を行った場合に比べて、印刷装置200での処理を高速化することができる。
【0060】
このように、第2実施例によれば、高解像度化による画質の向上を図ることができるベクターオブジェクトに対しては、描画バンド毎にラスターデータを作成する。そして、ラスターデータの作成に当たっては、描画命令から算出した色数に基づいて描画バンドを設定し、画素の色が符号化されたラスターデータを作成する。これにより、高解像度化によりラスターデータの画素数が増加した状態においても、高解像度バンドメモリ620aとして確保するメモリ容量の増大を抑制しつつ、展開のオーバーヘッドを低減することができる。
【0061】
また、一般的に、文字や図形などのベクターオブジェクトに使用される色数は、写真やイラストなどのラスターオブジェクトに使用される色数よりも少ない。そのため、描画バンドに含まれる単位バンドの数をより多くできるので、展開のオーバーヘッドをより有効に低減できる。さらに、高解像度ラスターデータの画素の色を符号化することにより、コンピューター100aから印刷装置200に送信されるデータ量をより容易に抑制することが可能となる。
【0062】
C.描画バンド設定の変形例:
図12は、描画バンド設定の変形例における画像印刷システム10bの構成を示す概略構成図である。この変形例の画像印刷システム10bは、コンピューター100bの構成が異なっている点で、第1実施例と異なっている。具体的には、描画バンド設定部520の色テーブル作成部522に換えてデータ量算出部522bが描画バンド設定部520bに設けられている点と、命令展開部530が機能が異なる命令展開部530bに置き換えられている点とで、第1実施例と異なっている。他の点は、第1実施例と同様である。
【0063】
描画バンド設定の変形例では、命令展開部530bは、単位バンド毎に描画命令を展開したラスターデータにランレングス圧縮を施し、ランレングス圧縮が施されたラスターデータをバンドメモリに格納する。そこで、データ量算出部522bは、PDLデータに含まれる描画命令に基づいて、単位バンド毎にランレングス圧縮後のデータ量を推定する。バンド幅決定部524は、第1実施例と同様に、推定された圧縮後のデータ量の和がバンドメモリ620のメモリ容量を超えないようにバンド幅を決定する。
【0064】
図13は、データ量算出部522bによる圧縮後のデータ量の推定方法を示す説明図である。図13では、矢印で示す単位バンド(推定対象バンド)について圧縮後のデータ量を推定している。
【0065】
図13(a)に示すように、推定対象バンドに、ベクターオブジェクトである文字とベクター図形(例えば、罫線)のみが含まれている場合、ラスターデータの画素の色が切り替わる回数は、推定対象バンドに含まれる文字の数や罫線等のベクター図形の数、すなわち、ベクターオブジェクトの数におおよそ比例する。そこで、図13(a)のように推定対象バンドにベクターオブジェクトのみが含まれている場合には、データ量算出部522bは、推定対象バンドに含まれるベクターオブジェクトの数に基づいて圧縮後のデータ量を推定する。
【0066】
図13(b)に示すように、推定対象バンドにラスターオブジェクトであるラスター画像のみが含まれている場合、ラスター画像の領域のデータ量は、ランレングス圧縮を施してもデータ量はほとんど低減できない。一方、ラスター画像の領域外の余白領域には、他のオブジェクトが存在していないため、余白領域のデータ量はランレングス圧縮によりほぼゼロとすることができる。そこで、図13(b)に示すように、推定対象バンドにラスターオブジェクトのみが含まれている場合には、データ量算出部522bは、推定対象バンドの中でラスターオブジェクトが占める領域のデータ量(=ラスタ画像のビット深度×当該領域の画素数:以下、「ラスター領域データ量」とも呼ぶ)基づいて圧縮後のデータ量を推定する。
【0067】
さらに、図13(c)に示すように、推定対象バンドに文字やベクター図形と、ラスター画像との双方が含まれている場合、ラスター画像の領域外の余白領域のデータ量は、図13(a)の場合と同様に、余白領域中のベクターオブジェクトの数に基づいて推定することができる。また、ラスターオブジェクトが占める領域のデータ量は、図13(b)の場合と同様に、ラスター領域データ量により推定することができる。そこで、図13(c)のように、推定対象バンドにベクターオブジェクトとラスターオブジェクトとが含まれている場合には、推定対象バンドの圧縮後のデータ量は、余白領域中のベクターオブジェクトの数に基づいて算出されるデータ量と、ラスター領域データ量との和として推定することができる。
【0068】
このように、ランレングス圧縮後のデータ量を推定し、推定された圧縮後のデータ量に基づいてバンド幅を決定することによっても、バンドメモリ620に割り当てるメモリ容量の増加を抑制するとともに、描画命令の展開のオーバーヘッドを低減することができる。また、ラスターデータにランレングス圧縮を施すことにより、コンピューター100bから印刷装置200に送信されるデータ量を低減することが可能である。
【0069】
なお、この変形例では、命令展開部530bは、単位バンド毎に描画命令を展開したラスターデータにランレングス圧縮を施しているが、ラスターデータの圧縮方法は必ずしもランレングス圧縮に限定されない。例えば、ラスターデータをハフマン符号化などの種々の方法により圧縮することも可能である。但し、圧縮後のデータ量の推定がより容易である点で、ラスターデータをランレングス圧縮するのがより好ましい。
【0070】
この変形例では、第1実施例と異なりラスターデータにおける色の符号化を行っていないが、ラスターデータにおける色の符号化とラスターデータのランレングス圧縮とを併せて行うものとしてもよい。このように、色の符号化とランレングス圧縮とを併せて行うことにより、ラスターデータのデータ量をさらに低減し、描画バンド幅をより大きくすることができるので、描画命令展開のオーバーヘッドをさらに低減することが可能となる。
【符号の説明】
【0071】
10,10a,10b…画像印刷システム
100,100a,100b…コンピューター
110…CPU
120…RAM
130…HDD
140…伝送インターフェース
200…印刷装置
210…データ受信部
220…印刷データ作成部
230…プリンター制御部
240…印刷ユニット
510,510a…命令解析部
520,520b…描画バンド設定部
522…色テーブル作成部
522b…データ量算出部
524…バンド幅決定部
530,530b…命令展開部
540…データ送信部
550…低解像度ラスターデータ作成部
552…命令展開部
560…高解像度ラスターデータ作成部
610…コマンドメモリ
620…バンドメモリ
620a…高解像度バンドメモリ
630…色テーブルメモリ
640…展開用メモリ
650…低解像度ページメモリ
TL…伝送路

【特許請求の範囲】
【請求項1】
画像処理装置であって、
オブジェクトの描画命令を含む入力データに基づいて、前記オブジェクトの描画の結果を表すラスターデータを複数の描画バンドに分けて作成する命令展開部と、
前記描画バンドの基本単位である単位バンド内のラスターデータのデータ量を前記オブジェクトの描画命令に基づいて算出し、算出した前記データ量に基づいて決定した数の前記単位バンドを含む前記描画バンドを設定する描画バンド設定部と
を備える画像処理装置。
【請求項2】
請求項1記載の画像処理装置であって、
前記描画バンド設定部は、
前記オブジェクトの描画命令に基づいて、前記オブジェクトの描画に用いる色数に対応した符号を用いて前記ラスターデータにおける各画素の色を符号化するための色テーブルを前記単位バンド毎に作成する色テーブル作成部と、
前記オブジェクトの色数に基づいて前記データ量を算出し、前記描画バンドに含まれる前記単位バンドの数を決定するバンド幅決定部と、
を備え、
前記命令展開部は、前記単位バンド毎に前記色テーブルを参照して各画素の色が符号化されたラスターデータを作成する
画像処理装置。
【請求項3】
請求項2記載の画像処理装置であって、
前記色テーブル作成部は、前記単位バンド内の前記オブジェクトが所定の閾値以上の色数を表現可能な種類のラスターオブジェクトである場合には、該単位バンドについて前記符号化を行わない
画像処理装置。
【請求項4】
請求項1ないし3のいずれか記載の画像処理装置であって、
前記命令展開部は、前記描画バンドに含まれる前記単位バンドを圧縮し、
前記描画バンド設定部は、前記圧縮後の圧縮データ量を推定する
画像処理装置。
【請求項5】
請求項4記載の画像処理装置であって、
前記描画バンド設定部は、前記単位バンド内の前記オブジェクトがベクターオブジェクトである場合には、前記単位バンド内の前記ベクターオブジェクトの数に基づいて前記圧縮データ量を推定する
画像処理装置。
【請求項6】
請求項4または5記載の画像処理装置であって、
前記描画バンド設定部は、前記オブジェクトがラスターオブジェクトである場合には、前記単位バンド内において前記ラスターオブジェクトが占める領域のデータ量に基づいて前記圧縮データ量を推定する
画像処理装置。
【請求項7】
印刷システムであって、
請求項1ないし6のいずれか記載の画像処理装置と、
前記画像処理装置により作成されたラスターデータに基づいて印刷を行う印刷部と
を備える印刷システム。
【請求項8】
オブジェクトの描画命令を含む入力データに基づいて、前記オブジェクトの描画の結果を表すラスターデータを複数の描画バンドに分けて作成する画像処理方法であって、
前記描画バンドの基本単位である単位バンド内のラスターデータのデータ量を、前記オブジェクトの描画命令に基づいて算出し、
算出した前記データ量に基づいて、前記描画バンドに含まれる前記単位バンドの数を決定し、
決定した数の前記単位バンドを含む前記描画バンドの前記ラスターデータを作成する
画像処理方法。
【請求項9】
オブジェクトの描画命令を含む入力データに基づいて、前記オブジェクトの描画の結果を表すラスターデータを複数の描画バンドに分けて作成する画像処理のためのコンピュータープログラムであって、
前記描画バンドの基本単位である単位バンド内のラスターデータのデータ量を、前記オブジェクトの描画命令に基づいて算出する機能と、
算出した前記データ量に基づいて、前記描画バンドに含まれる前記単位バンドの数を決定する機能と、
決定した数の前記単位バンドを含む前記描画バンドの前記ラスターデータを作成する機能と、
をコンピューターに実現させるコンピュータープログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate


【公開番号】特開2010−211558(P2010−211558A)
【公開日】平成22年9月24日(2010.9.24)
【国際特許分類】
【出願番号】特願2009−57460(P2009−57460)
【出願日】平成21年3月11日(2009.3.11)
【出願人】(000002369)セイコーエプソン株式会社 (51,324)
【Fターム(参考)】