説明

情報処理装置、方法及びプログラム

【課題】少量のメモリしかない情報処理装置においても、ページ記述データを正常に処理し、ページ記述データが表す画像を描画できるようにする。
【解決手段】ページ記述データをストリーム受信する際に、内部データメモリがいっぱいになったら(ステップS605)、印字領域の下側に位置するオブジェクトの内部データを削除して(ステップS607)受信を継続する(ステップS602)。ストリーム受信終了後、印字可能領域を印字した後(ステップS611)で再度同じデータのストリーム受信を行い(ステップS614)、未印字の領域を印字する。以後、処理を繰り返しすべての領域の印字を行う。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、構造化文書を処理して画像データを生成する情報処理装置等に関する。
【背景技術】
【0002】
従来、ページ記述言語を用いて表示又は印刷を行う装置がある。ページ記述言語には様々な形式があるが、一般にページ記述言語は図形や文字の描画命令の連続で構成されている。
【0003】
また構造化文書をページ記述言語として用いる場合もある。この種のページ記述言語としては、SVG(Scalable Vector Graphics)やHTML(Hyper Text Markup Language)、XML(Extensible Markup Language)等がある。
【0004】
例えば、ページ記述言語を用いた印刷システムの場合、ホスト側からページ記述言語で記述されたデータを印刷装置に送り、印刷装置でページ記述言語を解析して画像データに変換し、印刷を行っている。ページ記述言語の送受の際には、データを少量ずつ送受信するストリーミングという方法が用いられることもある。
【0005】
ページ記述言語の解析には相応の計算量と相応のメモリ(記憶領域)を必要とする。計算量の低減やメモリ使用量の低減は製品コストの削減につながるため、従来、印刷装置でのページ記述言語の処理を軽減する方法が検討されてきた。例えば、印刷装置での処理時間を削減する方法として、あらかじめ図形の重なりを判定し、他の図形によって隠れる図形は削除する方法が知られている(例えば、特許文献1を参照のこと)。
また、ストリーミングを用いる場合には、ページ記述言語を少量ずつ処理することにより、印刷装置でのメモリ使用量を低減することが可能である。
【0006】
【特許文献1】特開2004−054763号公報
【発明の開示】
【発明が解決しようとする課題】
【0007】
しかしながら、ページ記述言語を用いる場合、すべてのデータを受信し終わるか、1ページ分のデータを受信し終わるまで、正確な描画ができないケースがある。そのようなページ記述言語を用いた場合には、1ページ分のページ記述データをメモリに保持できない印刷装置では、正常に印刷処理を行うことができなかった。印刷装置に限らず、表示装置等他の情報処理装置においても、十分なメモリがない場合には、正常な描画処理を行うことができない場合があった。
【0008】
例えば、図3に示したSVGデータはA4サイズ1ページ分のグラフィックスを表している。図3のSVGには、円、楕円、矩形、直線、多角形(三角形)、文字列の各要素が含まれており、これを描画した場合には図4のようになる。図3のSVGにおいて、円を表すcircle要素はSVGデータの末尾近くに存在する。このcircle要素には、円を描画する座標位置が記述されており、図4に示したとおりA4サイズの領域の上端近くに円が描画される。
【0009】
一般に印刷装置においては用紙の上端から印字を行うので、図3に示したSVGの描画結果の印字を開始するためには、印刷装置がcircle要素を解釈している必要がある。図3のSVGがストリーミングにより少量ずつホストコンピュータから送られて来る場合、もしこのcircle要素を受信するまでに印刷装置のメモリがいっぱいになってしまったら、circle要素を受信できない。この場合には、正常に描画が開始できないという問題が起こり得る。
【0010】
図3に示したSVGは説明のためにごく簡単な内容であるが、実際のグラフィックスの印刷においては、数メガバイトにおよぶ大きなSVGデータが使用されることがあるため、十分なメモリがない印刷装置においては前述した問題があった。
【0011】
そこで、本発明は、少量のメモリしかない情報処理装置においても、ページ記述データを正常に処理し、ページ記述データが表す画像を描画できる情報処理装置を提供することを目的とする。
【課題を解決するための手段】
【0012】
本発明の情報処理装置は、ホストシステムから受信した構造化文書の図形要素を逐次処理する情報処理装置であって、前記構造化文書の各図形要素を内部データに変換する変換手段と、前記内部データを記憶領域に格納するための格納手段と、受信した各図形要素の描画位置を計算するための計算手段と、前記記憶領域に格納された各図形要素の内部データを削除するための削除手段と、前記格納手段が前記記憶領域に図形要素の内部データを格納しようとした際に、前記記憶領域の残量が前記図形要素のデータ量よりも少ない場合には、前記削除手段が前記記憶領域に格納された各図形要素の内部データのうち前記描画位置が最も下側にある図形要素の内部データを削除するように制御する制御手段とを有することを特徴とする。
また、本発明の情報処理方法は、ホストシステムから受信した構造化文書の図形要素を逐次処理する情報処理方法であって、前記構造化文書の各図形要素を内部データに変換する変換工程と、前記内部データを記憶領域に格納するための格納工程と、受信した各図形要素の描画位置を計算するための計算工程と、前記記憶領域に格納された図形要素の内部データを削除するための削除工程と、前記格納工程で前記記憶領域に図形要素の内部データを格納しようとした際に、前記記憶領域の残量が前記図形要素のデータ量よりも少ない場合には、前記削除工程で前記記憶領域に格納された各図形要素の内部データのうち前記描画位置が最も下側にある図形要素の内部データを削除するように制御する制御工程とを有することを特徴とする。
また、本発明のプログラムは、上記に記載の方法の各工程をコンピュータに実行させるためのプログラムである。
【発明の効果】
【0013】
本発明によれば、少量のメモリ消費で正常にページ記述データを処理し、描画を行うことが可能になる。例えば1ページ分のページ記述データをメモリ内に保持することができない印刷装置においても、送信側でページ記述データの加工や分割、変換を行うことなく、正常にページ記述データの印刷を行うことが可能となる。
【発明を実施するための最良の形態】
【0014】
以下、図面を参照して本発明に係る情報処理装置の実施形態を説明する。本実施形態はホストシステムから受信した構造化文書の図形要素を逐次処理する情報処理装置に本発明を適用したものである。また、本実施形態においては、本発明に係る情報処理装置としてプリンタ装置を例に説明する。以下、本実施形態のプリンタ装置の構成について、図1のブロック図を参照して説明する。
【0015】
図1において、CPU101はシステム制御部であり装置全体を制御する。ROM102は、CPUの制御プログラムや各種固定データを格納する読取専用のメモリである。RAM103は、SRAM、DRAM等で構成された書換え可能なメモリであり、プログラム制御変数等を一時記憶するためのものである。各種ワークバッファ、受信データを格納する受信バッファ、オブジェクトデータ、画像メモリ等もRAM103に含まれる。
【0016】
印字部104は、ページ記述言語を解析して作成した画像データを印字するためのものである。表示部105は、LCD、LED等を用いてオペレータに表示通知するためのものである。操作部106は、ハードキー等で構成され、オペレータが各種入力操作を行うためのものである。通信制御部107は、外部装置との通信を制御するためのものであり、LAN回線108に接続されている。システムバス109は、101〜107の各ユニットを通信可能に接続するバスである。
【0017】
図2は、本発明の実施形態に係るプリンタ装置を含むシステムの概要を示した構成図である。同図において、コンピュータ装置201とプリンタ装置203はLAN202に接続され、互いに通信が可能となっている。
【0018】
コンピュータ装置201はページ記述データを作成することが可能であり、コンピュータ装置201で作成されたページ記述データはLAN202を経由してプリンタ装置203へ送信される。プリンタ装置203では受信したページ記述データを解析して画像データに変換し印字を行う。
【0019】
本実施形態では、ページ記述データとしてSVGで記述されたデータを用いる。SVGはXML形式のベクトルグラフィックスであり、テキストベースのデータフォーマットである。
【0020】
また、本実施形態では、コンピュータ装置201とプリンタ装置203との間のデータの送受信にはストリーミングが用いられる。すなわち、SVGデータは、小さなサイズのデータに分割され、少量ずつ送受信される。プリンタ装置203では少量ずつ受信したSVGデータの断片を順次処理することが可能である。
【0021】
図3は、本実施形態で用いるSVGデータの一例である。図3に示したSVGはデータサイズは小さいが、これは説明を簡単にするためのものであり、より大きいデータサイズのSVGに対しても本発明は適用され得る。同図に示したとおり、SVGにおいては、オブジェクトの種類や座標値等のプロパティ値が文字列で記述されている。
【0022】
図4は、図3に示したSVGの図形要素をもとに生成した画像データを表した図である。図3及び図4に示したSVGは白黒の画像データであるが、SVGではカラーも使用可能であり、本発明はカラーデータに対しても当然適用可能である。
【0023】
図4に示した画像データをプリンタ装置203が印刷する際は、同図に示した画像の左上から描画を開始し、横軸(X軸)が主走査方向、縦軸(Y軸)が副走査方向となる。
【0024】
図5は、RAM103の内部構成を示した模式図である。同図に示したとおり、RAM103は複数の領域から構成される。ワークバッファ領域501は、プログラム変数等を格納するメモリ領域である。受信バッファ領域502は、送信されてきたSVGのテキストデータを一時格納するメモリ領域である。オブジェクトデータ領域503は、SVGを内部データに変換したデータを格納するためのメモリ領域である。前述のとおりSVGはテキストデータであり、座標値等はすべて文字列で表現される。内部データはこれらの文字列を数値に変換するなど、データ量を圧縮し、より処理しやすい形式に変換したものである。画像メモリ領域504は、オブジェクトデータ領域503に格納した内部データから生成した画像データを格納するメモリ領域である。オブジェクトデータ領域503には、各オブジェクトの描画位置、即ち上端Y座標と下端Y座標の値を格納したテーブルも記憶される。この上端Y座標と下端Y座標の値は、オブジェクトの存在領域(描画範囲)を判断するために用いられる。
【0025】
本実施形態においては画像メモリ領域504に格納された画像データが、印字部104によって処理され、記録紙に印刷される。図6は本実施形態のプリンタ装置203における処理の流れを示すフローチャートである。同図は、プリンタ装置203がコンピュータ装置201からストリームデータとして受信されてくるSVGの受信開始直後から、印字部104で印字するまでの処理の流れを示している。
【0026】
同図に示したとおり、プリンタ装置203はまず、起点Y座標を表す変数Y1に0をセットし、終点Y座標を表す変数Y2に印刷するグラフィックスの高さをセットする(ステップS601)。この描画の開始地点Y座標Y1と終点Y座標Y2は印刷可能な範囲を示すものであり、グラフィックスの左上を原点とした座標系の座標値である。
【0027】
プリンタ装置203は、コンピュータ装置201からSVGデータを送受信する前に、プロトコルによってSVGの印刷サイズをコンピュータ装置201から取得している。ステップS601の処理の際には、変数Y2格納するグラフィックスの高さの値として、プロトコルによって取得した印刷サイズの高さを使用する。
【0028】
次にステップS602で、プリンタ装置203はSVGのストリームデータを受信する。ここでは、数バイト〜数十バイト程度のSVGデータの一部を受信する。受信したストリームデータは、受信バッファ領域502に順次格納される。
【0029】
続いてステップS603で、プリンタ装置203は、オブジェクトを受信したか否かを判断する。すなわち、受信バッファ領域502に格納したSVGの一部が少なくとも一つのオブジェクトとなっているかを判断する。ここでオブジェクトとは、図形、テキスト、画像、フォント等を示すデータであり、例えば図3で示したSVGではpolygon要素やrect要素、text要素、line要素等がそれぞれ一つのオブジェクトである。ステップS603でオブジェクトを受信していないと判断されれば、さらにSVGデータを取得するためステップS602の処理へ戻る。ステップS603でオブジェクトを受信したと判断されれば、そのオブジェクトは座標Y1からY2の間に少なくとも一部が存在するか否かを判断する(ステップS604)。
【0030】
前述のとおり、起点Y座標Y1と終点Y座標Y2は印刷可能な範囲を示すものであるから、あるオブジェクトがY1からY2の間にまったく存在しないのであれば、そのオブジェクトは印刷する必要がない。
逆に、オブジェクトの一部がY1からY2の間に一部でも存在すれば、そのオブジェクトは印刷する必要がある。ステップS604は、受信したオブジェクトが印刷範囲に含まれるかを判断するためのものである。
【0031】
ここで、オブジェクトがY1からY2の間に存在するか否か判断するために、SVGデータの座標値が使用される。例えば図3に示したSVGのrect要素は矩形を表すものであるが、この矩形はrect要素の属性値yと属性値heightの値から存在範囲のY座標の上端と下端を判断(計算)することができるため、その値を用いてステップS604の処理を行う。
【0032】
ステップS604でオブジェクトがY1からY2の間に一部も存在しないと判断されれば、そのオブジェクトは印刷が不要であるから次のストリームデータを受信するためにステップS602の処理に戻る。ステップS604においてオブジェクトがY1からY2の間に少なくとも一部が存在すると判断されれば、そのオブジェクトの内部データを格納するためのメモリ領域であるオブジェクトデータ領域503が十分にあるか否かを判断する(ステップS605)。
【0033】
ここで、十分にあるか否かというのは、受信したオブジェクトを内部データに変換したデータを格納するための領域がオブジェクトデータ領域503に残っているかという判断である。すなわち、オブジェクトデータ領域503の残量が、受信したオブジェクトを内部データに変換したデータのサイズより大きいか否かを判断することになる。ステップS605でオブジェクトデータ領域503が十分にあると判断されれば、受信したオブジェクトの上端Y座標と下端Y座標の値をそのオブジェクトと関連付けたテーブルに格納する(ステップS608)。このテーブルもオブジェクトデータ領域503に記憶される。ステップS608に続いて、受信したオブジェクトを内部データに変換したものをオブジェクトデータ領域503に格納する(ステップS609)。
【0034】
ステップS609の処理の後には、コンピュータ装置201から送られてくるSVGのストリームデータはまだあるか否かを判断し(ステップS610)、ストリームデータがまだあると判断されればステップS602の処理に戻る。
【0035】
一方、ステップS605において、オブジェクトデータ領域503が十分にはないと判断されれば、オブジェクトデータ領域503に格納されているテーブルを参照して上端Y座標の値が最も大きいオブジェクトを判断する。そして、そのオブジェクトの内部データをオブジェクトデータ領域503から削除する(ステップS606)。この処理により、オブジェクトデータ領域503のメモリが一部解放される。上端Y座標の値が最も大きいオブジェクトが複数存在する場合には、それらのオブジェクトの内部データをすべて削除する。
【0036】
ステップS606の処理の後には、終点Y座標を表す変数Y2に、削除したオブジェクトの上端Y座標の値をセットする(ステップS607、本発明でいう削除位置情報格納手段の処理に対応する)。オブジェクトデータ領域から内部データを削除したことによりそのオブジェクトは描画することができないため、終点Y座標は削除したオブジェクトの上端Y座標となる。
【0037】
ステップS607の処理の後は、再度メモリ領域のオブジェクトデータ領域503は十分にあるか否かを判断し(ステップS605)、以降の処理を繰り返す。
【0038】
また、ステップS610で、SVGのストリームデータはもうない、すなわちストリームデータの受信は終了したと判断されれば、起点Y座標Y1から終点Y座標Y2の範囲を画像データに変換し、画像メモリ領域504に格納する。印字部104は、これに呼応して画像メモリ領域504に格納された画像データの印字を開始する(ステップS611)。
【0039】
ステップS611の処理の後は、終点Y座標Y2はグラフィックスの高さと一致するか否かを判断する(ステップS612)。これはすなわち、印字が必要な全オブジェクトが画像データに変換され画像メモリ領域504に一時格納されたか否かを意味する。もしステップS607の処理を行っていれば、Y2の値がグラフィックスの高さと一致しなくなる。
【0040】
なお、本フローチャートではS611の印字処理の終了後にステップS612の処理を行っているかのように記述している。しかし、本実施形態では画像データが画像メモリ領域504に格納され印字部104が印字を開始した時点でステップS612の処理を行うことが可能である。印字部104の印字が終了すれば、画像メモリ領域504に格納された画像データは破棄される。
【0041】
ステップS612において、終点Y座標Y2はグラフィックスの高さと一致すると判断されれば、印字が必要なオブジェクトはすべて処理したことになるから、図6のフローチャートの処理を終了する。また、ステップS612において、終点Y座標Y2はグラフィックスの高さと一致しないと判断されれば、起点Y座標を表す変数Y1に現在のY2の値をセットし、終点Y座標Y2に改めてグラフィックスの高さの値をセットする(ステップS613)。
【0042】
そして、オブジェクトデータ領域503に格納されたオブジェクトの内部データをすべて破棄し、コンピュータ装置201にSVGデータの再送信を要求する(ステップS614)。これは、一度送られたSVGデータをすべて再度送信するよう要求するものである。
【0043】
なお本実施形態では、コンピュータ装置201はプロトコルによって再送信要求があればデータを再送信する機能を持っている。ステップS614でコンピュータ装置201に再送信要求を出した後は、プロトコルの処理を経て、再度ストリームデータの受信を開始する(ステップS602)。以降は同様の処理を繰り返し、最終的には印字が必要な全オブジェクトの印刷が行われフローチャートの処理を終了する。
【0044】
なお、図6のフローチャートでは、ステップS601において、起点Y座標Y1に0をセットし終点Y座標Y2にグラフィックスの高さをセットしているが、終点Y座標Y2にバンドの高さをセットするようにしても良い。その場合には、ステップS613において、印字しようとするバンドの起点Y座標と終点Y座標の値をセットすることになる。
【0045】
以上説明したように、図6のフローチャートに示した処理によって、オブジェクトデータ領域503が小さい場合であってもプリンタ装置203はページ記述データを正常に印刷することが可能となる。
【0046】
図7は、図3に示したSVGをコンピュータ装置201からプリンタ装置203にストリーム形式で送信する場合の、オブジェクトの送信順序を示した模式図である。同図に示したとおり、コンピュータ装置201は図3のSVGを上から順に送るため、プリンタ装置203はpolygon要素、rect要素、text要素、line要素、circle要素、ellipse要素の順にオブジェクトを受信することになる。
【0047】
図8は、図3に示したSVGをプリンタ装置203が処理する場合の実際の動作例を示したフロー図である。プリンタ装置203は図6に示したフローチャートの処理を行うものであるが、図3に示したSVGを図6のフローチャートに従って処理すると図8のようになる。なお、図8では変数に値を格納するといった細かい処理は省略してある。
【0048】
図8の処理においては、プリンタ装置203のオブジェクトデータ領域503には、オブジェクトデータは4つまでしか格納できないことを前提としている。オブジェクトデータ領域503に格納するオブジェクトデータは、各オブジェクトデータのサイズにもよるため、単純にオブジェクトの個数で表されるものではない。また、実際にはオブジェクトデータのメモリ領域がオブジェクト4個分しかないという状況は考えにくいが、ここでは同様に説明のわかりやすさのためにそのような前提にしている。本発明は、より大きなメモリサイズの装置にも当然適用可能である。
【0049】
図8に示したとおり、プリンタ装置203は、ステップS801においてコンピュータ装置201からSVGの一部であるpolygon要素のテキストデータを受信し受信バッファ領域502に一時格納する。そして、テキストデータを内部データに変換した上でオブジェクトデータ領域503に格納する。内部データに変換した時点で受信バッファ領域502はクリアする。
【0050】
次に、同様にrect要素、text要素、line要素を順次受信し受信バッファ領域502に一時格納して、内部データに変換した上でオブジェクトデータ領域503に格納する(ステップS802、S803、S804)。
【0051】
続いて、circle要素を受信して受信バッファ領域502に格納する(S805)。ここで、オブジェクトデータ領域503にはすでに4個のオブジェクトのデータがあり空き領域がない。このため、既にオブジェクトデータ領域503に格納されているオブジェクトのうちオブジェクトの上端が最も下側にあるpolygon要素の内部データをオブジェクトデータ領域503から削除する(ステップS806)。そして、受信バッファ領域502に一時格納されているcircle要素のテキストデータを内部データに変換した上でオブジェクトデータ領域503に格納する(ステップS807)。
【0052】
更に、ellipse要素を受信する(ステップS808)が、同様にオブジェクトデータ領域503には空き領域がないため、オブジェクトの上端が最も下側にあるtext要素の内部データをオブジェクトデータ領域503から削除する(ステップS809)。そして、ellipse要素の内部データをオブジェクトデータ領域503に格納する(ステップS810)。
【0053】
ここまでで、オブジェクトのストリームデータを一通り処理し終えたので、オブジェクトデータ領域503に格納された内部データを解析し、text要素の上端位置より上側部分を画像データに変換する。生成された画像データは画像メモリ領域504に格納され、印字部104が印刷する(ステップS811)。画像データに変換された後は、オブジェクトデータ領域503にあるオブジェクトの内部データは不要であるから削除する。
【0054】
そして、ステップS811ではグラフィックスの一部しか印刷されないため、コンピュータ装置201にSVGの再送信を要求する(ステップS812)。コンピュータ装置201は、プリンタ装置203からの再送信要求を受けて、SVGのストリームデータを再送信する。続いてプリンタ装置203は、再度polygon要素を受信し、polygon要素は印刷領域に含まれるので、内部データに変換した上でオブジェクトデータ領域503に格納する(ステップS813)。このときpolygon要素が印刷領域に含まれるか否かの判断には、図6のフローチャートに示した起点Y座標Y1と終点Y座標Y2が用いられる。
【0055】
次に、polygon要素の次にrect要素を受信するが、rect要素は印刷領域に一切含まれないため、オブジェクトデータ領域503に格納しない(ステップS814)。一方、続いて受信するtext要素、line要素はともに印刷領域に含まれるため、内部データに変換した上でオブジェクトデータ領域503に格納する(ステップS815、S816)。
【0056】
次に、circle要素は印刷領域に一切含まれないため、オブジェクトデータ領域503に格納しない(ステップS817)。次に、ellipse要素は印刷領域に含まれるため、内部データに変換した上でオブジェクトデータ領域503に格納する(ステップS818)。
【0057】
ここまでで2度目のオブジェクトストリームの処理を終えたので、オブジェクトデータ領域503に格納された内部データを解析し、text要素の上端位置から下側の部分を画像データに変換する。生成された画像データは画像メモリ領域504に格納され、印字部104によって印刷される(ステップS819)。
【0058】
この時点でグラフィックスの全オブジェクトが印刷されたため、図8のフローチャートに示した処理を終了する。
【0059】
図8のフロー図に示したように、本実施形態のプリンタ装置203においては、図3のSVGのストリームデータを2回受信することにより、すべてのオブジェクトを印刷することが可能となる。ここではストリームデータの受信は2回行っているが、すべてのオブジェクトを印刷するために3回以上受信を繰り返しても良い。
【0060】
なお、本実施形態では、プリンタ装置203を例に説明をしたが、本発明はプリンタ装置に限らず、ディスプレイ装置、画像データベース装置等の情報処理装置にも適用され得る。
【0061】
また、本発明の目的は前述した実施例の機能を実現するソフトウエアのプログラムコードを記録した記録媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることは言うまでもない。この場合、記録媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することとなり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【0062】
プログラムコードを供給するための記録媒体としては、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、CD−R、磁気テープ、不揮発性のメモリカード、ROM、DVDなどを用いることができる。
【0063】
また、コンピュータが読み出したプログラムコードを実行することにより、コンピュータ上で稼動しているOS等が実際の処理の一部または全部を行い、その処理によって前述した実施例の機能が実現される場合も含まれる。
【0064】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリ(記憶領域)に書きこまれるものでもよい。
【図面の簡単な説明】
【0065】
【図1】本発明の実施形態によるプリンタ装置の構成を示すブロック図である。
【図2】本発明の実施形態によるプリンタ装置を含むシステムの構成を示す模式図である。
【図3】本発明の実施形態によるプリンタ装置で処理されるSVGデータの記述例を示す図である。
【図4】図3に示したSVGを解析して生成した画像データを表した図である。
【図5】本発明の実施形態によるプリンタ装置のRAMの内部構成を示した模式図である。
【図6】本発明の実施形態によるプリンタ装置における処理の流れを示したフローチャートである。
【図7】図3に示したSVGをコンピュータ装置から本発明の実施形態によるプリンタ装置にストリーム形式で送信する場合の、オブジェクトの送信順序を示した模式図である。
【図8】図3に示したSVGをプリンタ装置3が処理する場合の実際の動作例を示したフローチャートである。
【符号の説明】
【0066】
101 CPU
102 ROM
103 RAM
104 印字部
105 表示部
106 操作部
107 通信制御部
108 LAN回線
109 システムバス
203 プリンタ装置

【特許請求の範囲】
【請求項1】
ホストシステムから受信した構造化文書の図形要素を逐次処理する情報処理装置であって、
前記構造化文書の各図形要素を内部データに変換する変換手段と、
前記内部データを記憶領域に格納するための格納手段と、
受信した各図形要素の描画位置を計算するための計算手段と、
前記記憶領域に格納された各図形要素の内部データを削除するための削除手段と、
前記格納手段が前記記憶領域に図形要素の内部データを格納しようとした際に、前記記憶領域の残量が前記図形要素のデータ量よりも少ない場合には、前記削除手段が前記記憶領域に格納された各図形要素の内部データのうち前記描画位置が最も下側にある図形要素の内部データを削除するように制御する制御手段とを有することを特徴とする情報処理装置。
【請求項2】
前記削除手段が削除した図形要素の描画位置を格納する削除位置情報格納手段を有し、
前記格納手段は、受信した図形要素の描画位置が前記削除位置情報格納手段に格納された描画位置よりも下側にある場合には、前記図形要素の内部データを前記記憶領域に格納しないことを特徴とする請求項1に記載の情報処理装置。
【請求項3】
前記描画位置とは、図形要素の描画範囲の上端位置であることを特徴とする請求項2に記載の情報処理装置。
【請求項4】
前記下側とは、構造化文書をもとに生成した画像データを描画する際の主走査方向をX軸、副走査方向をY軸、描画の開始地点を原点としたとき、Y座標の値が大きくなる側であることを特徴とする請求項2に記載の情報処理装置。
【請求項5】
前記構造化文書はXML形式で記述された文書であることを特徴とする請求項1に記載の情報処理装置。
【請求項6】
ホストシステムから受信した構造化文書の図形要素を逐次処理する情報処理方法であって、
前記構造化文書の各図形要素を内部データに変換する変換工程と、
前記内部データを記憶領域に格納するための格納工程と、
受信した各図形要素の描画位置を計算するための計算工程と、
前記記憶領域に格納された図形要素の内部データを削除するための削除工程と、
前記格納工程で前記記憶領域に図形要素の内部データを格納しようとした際に、前記記憶領域の残量が前記図形要素のデータ量よりも少ない場合には、前記削除工程で前記記憶領域に格納された各図形要素の内部データのうち前記描画位置が最も下側にある図形要素の内部データを削除するように制御する制御工程とを有することを特徴とする情報処理方法。
【請求項7】
請求項6に記載の方法の各工程をコンピュータに実行させるためのプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate


【公開番号】特開2009−137042(P2009−137042A)
【公開日】平成21年6月25日(2009.6.25)
【国際特許分類】
【出願番号】特願2007−312816(P2007−312816)
【出願日】平成19年12月3日(2007.12.3)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】