(57)【要約】【課題】  複数の表現方法が許されるページ記述言語を印刷処理に応用するにあたり、印刷処理速度の低下を回避するとともに、当該ページ記述言語を処理する処理プログラムのサイズの抑制を図ることを目的とする。【解決手段】  印刷手段において処理されるページ記述データを出力する手段（３０４）を有する情報処理装置であって、同じ画像を異なる表現方法で表現可能なページ記述言語を用いて記述したページ記述データを取得する手段（３０１）と、前記取得されたページ記述データを解析し、所定の表現方法を用いて記述されているか否かを判断する手段（３０２）と、所定の表現方法を用いて記述されていないと判断された場合に、前記取得されたページ記述データを、該所定の表現方法に変換する手段（３０３）とを備える。【選択図】  図２
2007080182.tif 000002
【特許請求の範囲】
【請求項１】
ページ記述言語で記述されたページ記述データに基づいて印刷を行う印刷手段に対して、該ページ記述データを出力する出力手段を有する情報処理装置であって、
異なる表現方法で記述することが可能なページ記述言語を用いて記述されたページ記述データを取得する取得手段と、
前記取得手段により取得されたページ記述データを解析し、所定の表現方法を用いて記述されているか否かを判断する判断手段と、
前記判断手段による判断の結果、所定の表現方法を用いて記述されていないと判断された場合に、前記取得手段により取得されたページ記述データを、該所定の表現方法に変換する変換手段と
を備えることを特徴とする情報処理装置。
【請求項２】
前記出力手段は、
前記印刷手段に対して印刷命令がなされた場合に、該印刷命令に対応する全てのページ記述データが前記変換手段において変換された後、前記印刷手段に対して該変換後のページ記述データを出力することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記変換手段において変換された前記ページ記述データを記憶する記憶手段を更に備えることを特徴とする請求項１に記載の情報処理装置。
【請求項４】
前記所定の表現方法とは、表現可能な範囲が広く、データ量が小さい表現方法であることを特徴とする請求項１に記載の情報処理装置。
【請求項５】
ページ記述言語で記述されたページ記述データに基づいて印刷を行う印刷手段に対して、該ページ記述データを出力する出力工程を有する情報処理方法であって、
異なる表現方法で記述することが可能なページ記述言語を用いて記述されたページ記述データを取得する取得工程と、
前記取得工程により取得されたページ記述データを解析し、所定の表現方法を用いて記述されているか否かを判断する判断工程と、
前記判断工程による判断の結果、所定の表現方法を用いて記述されていないと判断された場合に、前記取得工程により取得されたページ記述データを、該所定の表現方法に変換する変換工程と
を備えることを特徴とする情報処理方法。
【請求項６】
前記出力工程は、
前記印刷手段に対して印刷命令がなされた場合に、該印刷命令に対応する全てのページ記述データが前記変換工程において変換された後、前記印刷手段に対して該変換後のページ記述データを出力することを特徴とする請求項５に記載の情報処理方法。
【請求項７】
前記変換工程において変換された前記ページ記述データを記憶する記憶工程を更に備えることを特徴とする請求項５に記載の情報処理方法。
【請求項８】
前記所定の表現方法とは、表現可能な範囲が広く、データ量が小さい表現方法であることを特徴とする請求項５に記載の情報処理方法。
【請求項９】
請求項５乃至８のいずれか１項に記載の情報処理方法をコンピュータによって実現させるための制御プログラム。
【請求項１０】
請求項５乃至８のいずれか１項に記載の情報処理方法をコンピュータによって実現させるための制御プログラムを格納した記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ページ記述言語で表現されたページ記述データを処理するための情報処理技術に関するものである。
【背景技術】
【０００２】
従来より、ＰＣ等において処理されたデータを受信し、高品質に印刷出力することが可能なレーザプリンタ等の印刷装置が知られている。当該印刷装置には、一般に、ページ記述言語解析装置（ページ記述データ処理プログラムが動作する装置）が搭載され、ＰＣより受信したページ記述データに対してラスタライズ処理を行うことで、印刷出力するための描画データを生成する（例えば、特許文献１参照）。
【０００３】
代表的なページ記述言語としては、アドビシステムズ社のＰｏｓｔＳｃｒｉｐｔが挙げられる。ＰｏｓｔＳｃｒｉｐｔでは、座標や色、コマンドを指定することによって、任意の塗りつぶし図形や文字などを自由に表現することができる。
【０００４】
ＰｏｓｔＳｃｒｉｐｔのようなページ記述言語の場合、座標や色、描画コマンドの指定方法は一意に定められている。これは、ＰＣ等から送信されたページ記述データを、印刷装置にて確実に処理できるようにするためである。
【０００５】
また、ページ記述データの仕様の変更、追加に対応するため、ＰｏｓｔＳｃｒｉｐｔの場合、ページ記述データの先頭にＰｏｓｔＳｃｒｉｐｔのバージョンが記述されている。これにより、ページ記述データを受信した印刷装置において、当該受信したページ記述データを処理できるかどうかが判別される。
【０００６】
一方、最近、Ｗｏｒｌｄ  Ｗｉｄｅ  Ｗｅｂ  Ｃｏｎｓｏｒｔｉｕｍ（Ｗ３Ｃ）によって、Ｓｃａｌａｂｌｅ  Ｖｅｃｔｏｒ  Ｇｒａｐｈｉｃｓ（ＳＶＧ）の仕様が策定され、印刷時のページ記述言語に応用しようという機運が高まりつつある。
【０００７】
ＳＶＧは、ＸＭＬをベースとしたベクターグラフィックスの言語であり、ＰｏｓｔＳｃｒｉｐｔなどと同様に、座標や色、描画コマンドを指定することによって、任意の塗りつぶし図形や文字などを自由に表現することが可能である。一方で、ＰｏｓｔＳｃｒｉｐｔなどのページ記述言語とは異なり、座標や色、描画コマンドの表現方法が一意に定められておらず、例えば、同じ色を表現するのに複数の表現方法が存在するという特徴がある。
【０００８】
具体的には、塗りつぶし図形の色の指定を赤にしたいときは、“＃ＦＦ００００”、“＃Ｆ００”、“＃ｆｆ００００”、“＃ｆ００”などと表現することができる。また、“ｒｅｄ”、“ｒｇｂ（２５５，０，０）”、“ｒｇｂ（１００％，１００％，１００％）”などと表現することも可能である。ただし、どの表現方法を用いたとしても印刷装置において印刷した場合の印刷結果には全く影響を及ぼさない。このため、ＰＣにおいてページ記述データを生成するにあたっては、任意の表現方法を選択することができる。
【特許文献１】特開２００１−３８９７０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
しかしながら、ページ記述データを受信して処理する印刷装置にとっては、ＳＶＧのように複数の表現方法が許されるページ記述言語によりページ記述データが記述されていた場合、当該複数の表現方法に対応しなければならないこととなる。
【００１０】
この結果、ページ記述データ処理プログラムでは、条件分岐が大量に発生することとなり印刷処理速度の低下を招くと共に、プログラムサイズが増大し、メモリ容量が不足するといった問題が生じている。
【００１１】
本発明は上記課題に鑑みてなされたものであり、複数の表現方法が許されるページ記述言語を印刷処理に応用するにあたり、印刷処理速度の低下を回避するとともに、当該ページ記述言語を処理する処理プログラムのサイズの抑制を図ることを目的とする。
【課題を解決するための手段】
【００１２】
上記の目的を達成するために本発明に係る情報処理装置は以下のような構成を備える。即ち、
ページ記述言語で記述されたページ記述データに基づいて印刷を行う印刷手段に対して、該ページ記述データを出力する出力手段を有する情報処理装置であって、
異なる表現方法で記述することが可能なページ記述言語を用いて記述されたページ記述データを取得する取得手段と、
前記取得手段により取得されたページ記述データを解析し、所定の表現方法を用いて記述されているか否かを判断する判断手段と、
前記判断手段による判断の結果、所定の表現方法を用いて記述されていないと判断された場合に、前記取得手段により取得されたページ記述データを、該所定の表現方法に変換する変換手段とを備える。
【発明の効果】
【００１３】
本発明によれば、複数の表現方法が許されるページ記述言語を印刷処理に応用するにあたり、印刷処理速度の低下を回避するとともに、当該ページ記述言語を処理する処理プログラムのサイズの抑制を図ることが可能となる。
【発明を実施するための最良の形態】
【００１４】
以下、必要に応じて添付図面を参照しながら本発明の各実施形態を詳細に説明する。
【００１５】
＜印刷処理システムの構成＞
図１は、本発明の一実施形態にかかる情報処理装置とプリンタとが通信可能に接続された印刷処理システムの構成を示す図である。
【００１６】
図１において、情報処理装置１０１とプリンタ１０２とは所定の通信方式で接続されている。通信方式については、ＵＳＢ、ＩＥＥＥ１３９４、ＩＥＥＥ１２８４、有線ＬＡＮ、無線ＬＡＮなど、いずれの方式でもよく、本実施形態では特に限定しない。
【００１７】
なお、本実施形態では情報処理装置１０１上にあるＸＭＬ形式のページ記述言語によって記述されたページ記述データを、情報処理装置１０１上で変換処理した後、プリンタ１０２に送信し、印刷出力する場合について説明する。
【００１８】
＜情報処理装置の構成＞
図２は、本発明の一実施形態にかかる情報処理装置１０１の構成を示すブロック図である。
【００１９】
図２において、ＣＰＵ２０１はシステム制御部であり、情報処理装置１０１全体を制御する。ＲＯＭ２０２はＣＰＵ２０１にて処理される制御プログラムや各種固定データが格納されている。ＲＡＭ２０３は、ＳＲＡＭ、ＤＲＡＭなどによって構成され、プログラム制御変数、各種ワークバッファ等を格納する。
【００２０】
また、通信制御部２０４は通信インタフェース２０５を介してデータ通信を行う場合の制御処理を行う。ここで、通信インタフェース２０５としてはＩＥＥＥ１２８４インタフェース、ＩＥＥＥ１３９４インタフェース、有線ＬＡＮインタフェース、無線ＬＡＮインタフェースなどを用いることができる。ページ記述データ変換部２０６は、ＲＡＭ２０３に格納されたページ記述データを変換し、再びＲＡＭ２０３に格納する処理を行う。ページ記述データ変換部２０６についての詳細は後述する。
【００２１】
＜ページ記述データ変換部２０６＞
図３は、本発明の一実施形態にかかる情報処理装置１０１のページ記述データ変換部２０６の機能構成を示す図である。
【００２２】
ページ記述データ変換部２０６は、予め情報処理装置１０１内において生成されＲＡＭ２０３に格納されたページ記述データ３１０をプリンタ１０２に送信するに際して、前処理を施すユニットである。なお、ここでは、ページ記述データ変換部２０６は情報処理装置１０１内で動作するものと仮定して説明するが、別の情報処理装置内で動作するように構成してもよい。また、図３の例では、ページ記述データ変換部２０６を１つのユニットとして構成した場合について説明したが、特にこれに限られない。例えば、ページ記述データ変換部２０６の機能を、ＲＯＭ２０２に格納された制御プログラムの一機能として実現するようにしてもよい。
【００２３】
ページ記述データ変換部２０６は、ページ記述データ３１０を取得するページ記述データ取得部３０１、ページ記述データ取得部３０１で取得したページ記述データ３１０を解釈し、属性情報を取得するページ記述データ解釈部３０２を備える。また、ページ記述データ解釈部３０２で取得した属性情報を変換し、置換してページ記述データ３１１を生成するページ記述データ変換部３０３を備える。さらに、ページ記述データ変換部３０３で生成されたページ記述データ３１１をＲＡＭ２０３に格納するために出力するページ記述データ出力部３０４を備える。
【００２４】
＜ページ記述データ変換部２０６における処理の流れ＞
次に、ページ記述データ変換部２０６における処理の流れについて説明する。なお、ここでは、ページ記述言語がＳＶＧであるページ記述データについて説明する。
【００２５】
図６は、ページ記述言語としてＳＶＧを使用した場合であって、ページ記述データ変換部２０６において変換される前のページ記述データの記述内容の一部を示したものである。図６のページ記述データ６００は、それぞれ大きさが同じで、格子状にレイアウトされた６つの赤い矩形を示している（６０１〜６０７）。
【００２６】
ここで、ページ記述データ変換部２０６における実際の処理の流れを図４のフローチャートに沿って説明する。ステップＳ４０１では、生成されたページ記述データ３１０（変換前のページ記述データ）が格納されたＲＡＭ２０３のバッファ領域が空でないかをチェックする。
【００２７】
空でないと判断された場合には、ステップＳ４０２にて、ＲＡＭ２０３に格納されているページ記述データ３１０を取得する。次に、ステップＳ４０３にて、当該取得したページ記述データ３１０を、要素の情報と、各属性の情報と、値の情報とにそれぞれ分解し、相互に関連付けを行う。
【００２８】
図６のページ記述データ６００の例でいうと、１行目（６０１）からｒｅｃｔ要素という情報を分解する。さらに、当該要素のｘ属性の値が“１０”、ｙ属性の値が“１０”、ｗｉｄｔｈ属性の値が“５０”、ｈｅｉｇｈｔ属性の値が“４０”、ｆｉｌｌ属性の値が“＃ｆｆ００００”という情報を分解する。そして、要素の情報と属性の情報とを関連付ける。
【００２９】
ステップＳ４０４では、ステップＳ４０３にて解釈したすべての要素についてステップＳ４０５〜ステップＳ４０９の処理を行うよう制御する。さらにステップＳ４０５では、各要素に含まれるすべての属性についてステップＳ４０６〜ステップＳ４０８の処理を行うよう制御する。
【００３０】
ステップＳ４０６では、まず、要素の情報と属性の情報とから、属性の値の指定に際して複数の表現方法があるか否かをチェックする。もし、当該属性の値が単一の表現方法でしか記述されない場合には、ステップＳ４０９に進み、当該属性の値に関する変換処理は行われない。
【００３１】
一方、複数の表現方法が存在する場合には、ステップＳ４０７に進み、属性の値として指定されている表現方法が変換処理されるべき表現方法であるかどうかをチェックする。もし変換処理する必要のない表現方法で記述されていた場合には、その属性の値についての変換処理は行われない。
【００３２】
一方、変換処理すべき表現方法の属性の値であると判定された場合は、ステップＳ４０８に進み、属性の値の表現方法について変換処理を行う。
【００３３】
ここで、ステップＳ４０６〜ステップＳ４０８の一連の変換処理について、さらに詳細に説明する。
【００３４】
図５は要素の名前がｒｅｃｔ、属性の名前がｆｉｌｌであった場合の属性の値の表現方式の変換処理の流れを示すフローチャートである（ステップＳ４０６〜４０８についての処理を重複して詳細に示したものである）。
【００３５】
ｒｅｃｔ要素のｆｉｌｌ属性はＳＶＧの仕様に従うと、例えば、ｓＲＧＢ空間で赤成分２５５、緑成分０、青成分０という色を記述するとき、“＃ｆｆ００００”、“＃ＦＦ００００”、“＃ｆ００”、“＃Ｆ００”という表現方法により記述できる。また、“ｒｇｂ（２５５，０，０）”、“ｒｇｂ（１００％，０％，０％）”、“ｒｅｄ”という表現方法によっても記述できる。
【００３６】
表現方法を単一にするためには、この中から１つの表現方法を選択しさえすればよい。しかしながら、本実施の形態におけるプリンタ１０２が２４ビットのｓＲＧＢ空間で処理されることが前提となっている場合、ｓＲＧＢ空間のすべてを表現できる属性の値（表現可能なレンジが大きい属性の値）に変換することが求められる。
【００３７】
このような理由から、“ｒｅｄ”というように色の名前で指定する表現方法や、“＃Ｆ００”と“＃ｆ００”といった表現方法はその条件を満たさないため、単一の表現方法としては不適切である。
【００３８】
さらに、実際にプリンタ１０２がラスタライズ処理を行うときに計算コストがかからない（データ量が小さくなる）ようにすることが重要である。このため、“ｒｇｂ（２５５，０，０）”や“ｒｇｂ（１００％，０％，０％）”といった表現方法は不適切である。
【００３９】
そこで、残る“＃ｆｆ００００”と“＃ＦＦ００００”の何れかの表現方法に統一することとなる。なお、計算コスト上両者はあまり差はないことから、ここでは“＃ｆｆ００００”という表現方法（ここでは便宜上“＃ｒｒｇｇｂｂ”形式と呼ぶことにする）に変換することにする。
【００４０】
ステップＳ５０１では属性の値を取得し、ステップＳ５０２では属性の値の表現方法が変換可能なものかどうかをチェックする。具体的には、下記（Ａ）〜（Ｃ）のいずれかにあてはまるかをチェックする。
（Ａ）属性の値が‘＃'から始まり、'０'〜'９'の数字と‘ａ'〜‘ｆ'、または‘０'〜‘９'の数字と‘Ａ'〜‘Ｆ'のアルファベットの組み合わせで、かつ‘＃'を除いて６文字か３文字である。
（Ｂ）属性の値が“ｒｇｂ（”から始まり、カンマ区切りで数字が３つ並び最後の文字が‘）'である、または数字の末尾に‘％'がついた文字列がカンマ区切りで３つ並び、最後の文字が‘）'である。
（Ｃ）属性の値が‘ａ'〜‘ｚ'のアルファベットだけの組み合わせによる文字列である。
【００４１】
これらのいずれにもあてはまらない場合は、属性の値を変換できる表現方法ではないので、変換処理を行わずに処理を終了する。処理を終了する例としては、属性の値がＵＲＩ参照形式で指定された場合や、“ｎｏｎｅ”や“ｃｕｒｒｅｎｔＣｏｌｏｒ”で指定された場合などが挙げられる。これらは、要素名と属性名だけからでは変換すべき値か否かを判断できないからである。
【００４２】
ステップＳ５０２において属性の値の表現方法が変換可能であると判定された場合には、ステップＳ５０３に進み、以降、それぞれの属性の値について変換処理を行う。
【００４３】
はじめに、ステップＳ５０３では、属性の値が‘＃'から始まっているかどうかを判別し、‘＃'から始まっていれば、ステップＳ５０４に進み、そのあとに続く文字数をカウントし、その結果により処理を分岐する。‘＃'に続く文字数が６文字であった場合には、ステップＳ５０５に進み、さらに‘Ａ'〜‘Ｆ'のアルファベットを含んでいるかどうかを判断する。
【００４４】
ステップＳ５０５において‘Ａ'〜‘Ｆ'のアルファベットを含むと判断された場合は、ステップＳ５０６に進む。ステップＳ５０６に進むケースとは、図６の例では、“＃ＦＦ０００”の場合である（６０２参照）。したがって、ステップＳ５０６では、アルファベットを大文字から小文字に変換する処理を行う。一方、ステップＳ５０５において‘Ａ'〜‘Ｆ'のアルファベットを含まないと判断された場合は、処理を終了する。ステップＳ５０５において‘Ａ'〜‘Ｆ'のアルファベットを含まないと判断されるケースとは、図６の例では、“＃ｆｆ００００”（６０１参照）のように、変換処理が不要なケースである。
【００４５】
ステップＳ５０４において、‘＃'に続く文字数が３文字であった場合には、ステップＳ５０７に進む。ステップＳ５０７に進むケースとは、図６の例では、“＃ｆ００”の場合、または“＃Ｆ００”の場合である（６０３、６０４参照）。したがって、ステップＳ５０７では、“＃ｒｒｇｇｂｂ”へ変換する処理を行う。
【００４６】
具体的には、大文字のアルファベットを含んでいる場合は小文字アルファベットに変換した後、“＃ｒｇｂ”という表現方法を“＃ｒｒｇｇｂｂ”という表現方法に変換する処理を行う。
【００４７】
一方、ステップＳ５０３において、属性の値が‘＃'から始まっていないと判断された場合には、ステップＳ５０８に進み、“ｒｇｂ（”で始まっているかどうかをチェックする。“ｒｇｂ（”で始まっている場合は、ステップＳ５１３に進む。ステップＳ５１３に進むケースとは、図６の例では、“ｒｇｂ（２５５，０，０）”の場合、または“ｒｇｂ（１００％，０％，０％）”の場合である（６０５、６０６参照）。したがって、ステップＳ５１３では、これらを“＃ｒｒｇｇｂｂ”へ変換する処理を行う。
【００４８】
具体的には、“ｒｇｂ（２５５，０，０）”と指定された場合にあっては、ＲＧＢの各成分の値を２桁の１６進数で表記し、１桁だった場合は０を埋め、かならず２文字にする。さらにアルファベットによる表記は小文字を使用し、それらを繋げた文字列を生成し、先頭に‘＃'を追加した文字列へと変換する。この結果、“ｒｇｂ（２５５，０，０）”は“＃ｆｆ００００”という文字列に変換される。
【００４９】
また、“ｒｇｂ（１００％，０％，０％）”と指定された場合にあっては、ＲＧＢの各成分の文字列を数値部分を数値化し、２．５５を掛け合わせて整数化し、それをさらに２桁の１６進数で表記し、１桁だった場合は０を埋め、かならず２文字にする。さらにアルファベットによる表記は小文字を使用し、それらを繋げた文字列を生成し、先頭に‘＃'を追加した文字列へと変換する。この結果、“ｒｇｂ（１００％，０％，０％）”は“＃ｆｆ００００”という文字列に変換される。
【００５０】
一方、ステップＳ５０８において、“ｒｇｂ（”で始まっていないと判断された場合、つまり属性の値が‘ａ'〜‘ｚ'のアルファベットの組み合わせから構成されていると判断された場合には、ステップＳ５０９に進む。ステップＳ５０９では、定義されている色の名称か否かを判定する。
【００５１】
判定にあたっては、定義されている色の名前とその色のＲＧＢ各成分の値とを予め表として制御プログラム内に保持しておき、当該色の名前を照合させることにより行う。
【００５２】
ステップＳ５０９における判定の結果、定義されている色の名前であると判定された場合には、ステップＳ５１０に進み、ＲＧＢ成分の値を取得する。さらに、ステップＳ５１１に進み、取得したＲＧＢ成分の値を用いて変換処理を行う。ステップＳ５１１に進むケースとは、図６の例では、“ｒｅｄ”の場合である（６０７参照）。したがって、ステップＳ５１１では、これを“＃ｒｒｇｇｂｂ”へ変換する処理を行う。
【００５３】
具体的には、ＲＧＢ各成分の値を２桁の１６進数で表記し、１桁だった場合は０を埋め、かならず２文字にし、アルファベットによる表記は小文字を使用する。最後にそれらを繋げた文字列を生成し、先頭に‘＃'を追加した文字列へと変換する。なお“ｒｅｄ”という色の名前はＲＧＢ各成分を２５５，０，０とすることがあらかじめ定義されているので、ステップＳ５１１の処理の結果、“ｒｅｄ”は“＃ｆｆ００００”に変換される。
【００５４】
一方、ステップＳ５０９における判定の結果、定義されている色の名前でないと判定された場合には、ステップＳ５１２に進み、エラー処理を行う。
【００５５】
以上の処理の結果、図６に示すページ記述データ６００は、図７に示すページ記述データに変換される（７０１〜７０７）。
【００５６】
なお、ここでは、ｒｅｃｔのｆｉｌｌ属性を例として説明したが、他の要素のｆｉｌｌ属性でも同様の処理を適用できる。また、ｆｉｌｌ属性以外にも、ｓｔｒｏｋｅ属性やｃｏｌｏｒ属性などにも全く同じ処理を適用できる。
【００５７】
また、ここでは色の指定方法について説明しているが、他に図形の幾何変換を行うｔｒａｎｓｆｏｒｍ属性などについても同様の処理を行うことができる。例えばｔｒａｎｓｆｏｒｍ属性では、原点を中心に１０度回転させるには“ｒｏｔａｔｅ（１０）”、原点中心に２倍拡大するには“ｓｃａｌｅ（２）”と指定する。しかし、同じ要素に対して複数の幾何変換コマンドを並べて、“ｓｃａｌｅ（２）  ｒｏｔａｔｅ（１０）”のように記述することが可能である。各幾何変換コマンドは一般形である“ｍａｔｒｉｘ（ａ，ｂ，ｃ，ｄ，ｅ，ｆ）”という表現方法に直すことができ、さらに連続した幾何変換は１つの幾何変換にまとめることができる。
【００５８】
そのため、ｔｒａｎｓｆｏｒｍ属性の属性値は必ずｍａｔｒｉｘコマンド１つに置き換えることが可能であり、前述のｆｉｌｌ属性と同様に変換処理を行うことによってプリンタ１０２の処理負荷を低減させることができる。さらに、プリンタ１０２に搭載するページ記述データ処理プログラムのサイズを小さくすることが可能である。
【００５９】
１つの要素についてのすべての属性の値についてステップＳ４０６〜ステップＳ４０８の処理を行った場合には、その情報をＲＡＭ２０３に出力する（ステップＳ４０９）。以上の処理を、すべての要素について行う（ステップＳ４１０）。
【００６０】
ＲＡＭ２０３に出力された変換済みのページ記述データは、通信インタフェース２０５を通じてプリンタ１０２に送信される（ステップＳ４１１）。そして、バッファが空になるまで、ステップＳ４０２〜ステップＳ４１１の処理を繰り返す（ステップＳ４１２）。
【００６１】
以上の説明から明らかなように、ページ記述データ変換部２０６を上記のような構成にすることで、ページ記述データ３１０を変換する際に、ページ記述データ３１０をすべて読み込む必要がなくなり、データの先頭から順に要素毎に処理すればよいこととなる。これにより、逐次処理としての実装が可能である。
【００６２】
また、プリンタ１０２では、ページ記述データを受信し、ラスタライズ処理を行うにあたり、既に、ページ記述データの属性の値がプリンタ１０２に最も負荷のかからない表現方法に変換されているため、印刷処理速度が向上する。
【００６３】
さらに、ページ記述データ変換部２０６により必ずページ記述データを処理することが保証される印刷システムにおいては、プリンタ１０２に搭載されるページ記述データ処理プログラムのうち、ページ記述データを解釈する部分を少なくすることが可能となる。具体的には、条件分岐の数を減らすことが可能となり、処理プログラムのサイズを小さくすることが可能となる。この結果、印刷処理速度が向上する。
【００６４】
さらに、ステップＳ４１１において、ＲＡＭ２０３に出力したページ記述データを集積することで、ページ記述データ変換部２０６に入力されたページ記述データと同じ印刷画像を得ることが可能なページ記述データとなる。つまり、一部の属性の値が他の表現方法に変換されたページ記述データを取得することができる。したがって、当該ページ記述データを保存しておけば、次回の印刷時にはページ記述データ変換部２０６を使用しなくても、高速に印刷処理することが可能となる。
【００６５】
＜他の実施形態＞
上記実施形態では情報処理装置１０１上にあるＸＭＬ形式のページ記述言語によって記述されたページ記述データを、情報処理装置１０１上で変換処理した後、プリンタ１０２に送信し、印刷出力する場合について説明したが本発明は特にこれに限られない。
【００６６】
例えば、情報処理装置１０１上のページ記述データをプリンタ１０２に送信し、プリンタ１０２内において変換処理した後、印刷手段により印刷処理を行うようにしてもよい。この場合、上述のページ記述データ変換部２０６がプリンタ１０２内に組み込まれることとなる。なお、上記実施形態と同様に、ページ記述変換部２０６の機能を、プリンタ１０２内のＲＯＭに格納された制御プログラムの一機能として実現するようにしてもよい。この場合、本発明の情報処理装置には、プリンタ内に組み込まれたページ記述データ変換部や、プリンタ内の制御プログラムの一機能として実現されるページ記述データ変換機能も含まれるものとする。
【００６７】
なお、本発明は、複数の機器（例えばホストコンピュータ、インタフェイス機器、リーダ、プリンタなど）から構成されるシステムに適用しても、一つの機器からなる装置（例えば、複写機、ファクシミリ装置など）に適用してもよい。
【００６８】
また、本発明の目的は、前述した実施形態の機能（ページ記述データ変換機能）を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給するよう構成することによっても達成されることはいうまでもない。この場合、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読出し実行することにより、上記機能（ページ記述データ変換機能）が実現されることとなる。なお、この場合、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【００６９】
プログラムコードを供給するための記憶媒体としては、例えば、フロッピ（登録商標）ディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、磁気テープ、不揮発性のメモリカード、ＲＯＭなどを用いることができる。
【００７０】
また、コンピュータが読出したプログラムコードを実行することにより、前述した実施形態の機能が実現される場合に限られない。例えば、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているＯＳ（オペレーティングシステム）などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００７１】
さらに、記憶媒体から読出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、前述した実施形態の機能が実現される場合も含まれる。つまり、プログラムコードがメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって実現される場合も含まれる。
【図面の簡単な説明】
【００７２】
【図１】本発明の一実施形態にかかる情報処理装置とプリンタとが通信可能に接続された印刷処理システムの構成を示す図である。
【図２】本発明の一実施形態にかかる情報処理装置１０１の構成を示すブロック図である。
【図３】本発明の一実施形態にかかる情報処理装置１０１が備えるページ記述データ変換部２０６の機能構成を示す図である。
【図４】本発明の一実施形態にかかる情報処理装置１０１のページ記述データ変換部２０６における処理の流れを示す図である。
【図５】本発明の一実施形態にかかる情報処理装置１０１のページ記述データ変換部２０６における処理の流れを示す図である。
【図６】ページ記述言語としてＳＶＧを使用した場合の、ページ記述データ変換部２０６での変換前のページ記述データの記述内容の一部を示した図である。
【図７】ページ記述言語としてＳＶＧを使用した場合の、ページ記述データ変換部２０６での変換後のページ記述データの記述内容の一部を示した図である。
【図１】
2007080182.tif 000003
【図２】
2007080182.tif 000004
【図３】
2007080182.tif 000005
【図４】
2007080182.tif 000006
【図５】
2007080182.tif 000007
【図６】
2007080182.tif 000008
【図７】
2007080182.tif 000009