JP4029711B2 - 画像形成装置 - Google Patents
画像形成装置 Download PDFInfo
- Publication number
- JP4029711B2 JP4029711B2 JP2002292965A JP2002292965A JP4029711B2 JP 4029711 B2 JP4029711 B2 JP 4029711B2 JP 2002292965 A JP2002292965 A JP 2002292965A JP 2002292965 A JP2002292965 A JP 2002292965A JP 4029711 B2 JP4029711 B2 JP 4029711B2
- Authority
- JP
- Japan
- Prior art keywords
- document
- display content
- content data
- data
- work memory
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1223—Dedicated interfaces to print systems specifically adapted to use a particular technique
- G06F3/1237—Print job management
- G06F3/1244—Job translation or job parsing, e.g. page banding
- G06F3/1246—Job translation or job parsing, e.g. page banding by handling markup languages, e.g. XSL, XML, HTML
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1202—Dedicated interfaces to print systems specifically adapted to achieve a particular effect
- G06F3/1203—Improving or facilitating administration, e.g. print management
- G06F3/1205—Improving or facilitating administration, e.g. print management resulting in increased flexibility in print job configuration, e.g. job settings, print requirements, job tickets
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1202—Dedicated interfaces to print systems specifically adapted to achieve a particular effect
- G06F3/1218—Reducing or saving of used resources, e.g. avoiding waste of consumables or improving usage of hardware resources
- G06F3/122—Reducing or saving of used resources, e.g. avoiding waste of consumables or improving usage of hardware resources with regard to computing resources, e.g. memory, CPU
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1223—Dedicated interfaces to print systems specifically adapted to use a particular technique
- G06F3/1237—Print job management
- G06F3/1242—Image or content composition onto a page
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1223—Dedicated interfaces to print systems specifically adapted to use a particular technique
- G06F3/1237—Print job management
- G06F3/125—Page layout or assigning input pages onto output media, e.g. imposition
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1278—Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
- G06F3/1285—Remote printer device, e.g. being remote from client or server
- G06F3/1287—Remote printer device, e.g. being remote from client or server via internet
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1278—Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
- G06F3/1285—Remote printer device, e.g. being remote from client or server
- G06F3/1288—Remote printer device, e.g. being remote from client or server in client-server-printer device configuration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K15/00—Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
- G06K15/02—Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers using printers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K15/00—Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
- G06K15/02—Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers using printers
- G06K15/18—Conditioning data for presenting it to the physical printing elements
- G06K15/1801—Input data handling means
- G06K15/1822—Analysing the received data before processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K15/00—Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
- G06K15/02—Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers using printers
- G06K15/18—Conditioning data for presenting it to the physical printing elements
- G06K15/1848—Generation of the printable image
- G06K15/1856—Generation of the printable image characterized by its workflow
- G06K15/1861—Generation of the printable image characterized by its workflow taking account of a limited available memory space or rasterization time
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/60—Editing figures and text; Combining figures or text
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Human Computer Interaction (AREA)
- Mathematical Physics (AREA)
- Record Information Processing For Printing (AREA)
- Information Transfer Between Computers (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
【発明の属する技術分野】
本発明は、文書を構成する各文書要素の表示内容データを当該文書内の記述又は外部から取得して出力画像を生成し画像形成する装置に関する。
【0002】
【従来の技術】
近年、HTMLやXML、XHTML−printなどのハイパーテキスト文書を印刷する機会がますます増大しており、プリンタがハイパーテキスト文書を受け入れて印刷できるようになりつつある。例えば特許文献1には、プリンタがハイパーテキスト文書や、その文書を構成する各文書要素のデータをインターネット上の各サーバから取得して印刷を行う装置が開示されている。このようにハイパーテキスト文書のデータをプリンタ自身がダウンロードして印刷する処理は、プルプリントとも呼ばれる。
【0003】
また、特許文献2には、このようなプルプリントシステムとして、プリンタがプロキシサーバに対してハイパーテキスト文書のデータの一部を要求すると、プロキシサーバが要求された部分を含むデータ全体をインターネット上から一括取得し、その中から要求された一部分をプリンタに提供するシステムが開示されている。
【0004】
ハイパーテキスト文書を印刷する場合、プリンタはその文書を先頭から順に解析していき、出力に組み込むデータのソースファイル名等の記述を検出すると、そのファイルの取得要求をインターネット上のサーバに送信する。そして、この要求に応じてサーバから送られてきたファイルをビットマップに展開して出力画像に組み込み、この出力画像を用紙等の所定媒体に印刷する。
【0005】
ここで、ハイパーテキスト文書を構成する各文書要素のデータは、インターネット上の異なる複数のサーバに蓄積されているのが一般的であり、データの取得にはある程度の時間がかかる。また、データの取得に要する時間は、サーバの応答時間等によって様々に変わるので、インターネット上に取得要求を発行した順にデータが取得できるとは限らない。このため、例えば前のページに組み込まれる要素のデータよりも後のページに組み込まれる要素のデータの方が先に取得されることもしばしばである。
【0006】
印刷では、先頭ページから順に出力していく必要があるので、後ろのページのデータが先に取得できたとしても、その時点でこれを印刷出力することはできないため、そのデータはそれより前のページのデータがすべて揃うまではプリンタ内に保持しておかなければならない。このため、従来の装置では、一般的にハイパーテキスト文書の印刷に必要なデータ全体をプリンタにダウンロードしてから印刷の処理を行っていた。このため、従来は、大きいサイズのハイパーテキスト文書を印刷するには、プリンタ内に大容量の記憶装置を設ける必要があり、コスト高を招くという問題があった。
【0007】
特許文献2には、このような問題に対する一つの解決策として、プリンタ内の処理バッファの空き容量を監視し、ダウンロードすべきデータファイルのうち空き容量に収まる一部についての取得要求をその都度発行することで、処理バッファの容量を抑える技術が開示されている。
【0008】
【特許文献1】
特開平11−134125号公報
【特許文献2】
特開2001−101091号公報
【0009】
【発明が解決しようとする課題】
特許文献2の技術では、プリンタは、処理バッファに空き容量ができる都度、データの取得要求を発行するので、そのデータを保持するサーバやインターネットの状況によっては、要求したデータがすぐに取得できない場合もあり、そのような場合には印刷処理が遅れるなどの不具合が生じる。特許文献2では、この問題に対する対策として、プリンタと同じLAN内に、インターネット上からデータを一括取得するプロキシサーバを設け、このプロキシサーバからプリンタにデータを供給する方式を提案している。この方式は1つの有効な方式ではあるが、システム構成が大がかりになるという欠点がある。
【0010】
本発明はこのような課題に鑑みなされたものであり、ハイパーテキスト文書などのように、各文書要素の表示内容データをその文書の外部から取得する必要がある文書を画像形成する装置において、小容量のワークメモリでも比較的大規模な文書を画像形成できるようにすることを目的とする。
【0011】
【課題を解決するための手段】
上記目的を達成するため、本発明は、複数の文書要素を含む文書の記述を解析し、解析の際に検出した各文書要素の表示内容データをワークメモリにロードし、該ワークメモリ上の表示内容データ群を用いて出力画像を生成し、媒体上に画像形成する画像形成装置において、前記文書の解析結果に基づき、検出した各文書要素間の構造の情報を含む文書構成情報を作成し、前記ワークメモリの空き容量の不足を検知した場合、前記ワークメモリにロードされた表示内容データのうち、前記文書構成情報に基づき選択した表示内容データを前記ワークメモリからアンロードする。
【0012】
ここで、各文書要素間の構造の情報の例には、それら文書要素群が構成する論理的な関係の情報や、出力画像におけるそれら文書要素のレイアウト上の関係の情報(出力画像における出現順序の情報もこの一種である)等を挙げることができる。
【0013】
本発明の好適な態様では、ワークメモリ上にロードした各表示内容データの出力画像への組み込み状況を監視し、出力画像への組み込みが完了して不要になった表示内容データを前記ワークメモリから削除する。
【0014】
更に好適な態様では、前記文書構成情報に記録された各文書要素の表示内容データが前記ワークメモリ上にロードされているか、アンロードされているかを管理し、前記出力画像への組み込みが完了して不要になったデータをワークメモリから表示内容データを削除した時点で、その時ワークメモリからアンロードされている表示内容データの中から、前記文書構成情報を参照して、前記出力画像に出現する順序が早いものから優先的に前記ワークメモリに再ロードする。
【0015】
【発明の実施の形態】
以下、本発明の実施の形態(以下実施形態という)について、図面に基づいて説明する。
【0016】
図1は、本発明の実施形態に係るプリンタのハードウエア構成の一例を概略的に示す図である。
【0017】
このプリンタは、CPU(中央演算処理装置)101,ROM(リード・オンリー・メモリ)102,RAM(ランダム・アクセス・メモリ)103,操作パネル104,LAN(ローカル・エリア・ネットワーク)インタフェース105,プリントエンジン106及びハードディスクドライブ(HDD)107を備えている。
【0018】
CPU101は、ROM102に格納された各種制御プログラムを実行することで本プリンタの各部を制御し、本プリンタの処理動作を実現する。この制御プログラムの中には、HTMLやXHTML−printなどの文書をページ分割して印刷するための制御動作を記述したものが含まれる。このページ分割の処理手順については、後で詳しく説明する。RAM103は、CPU101による各種プロブラムの実行時の作業メモリ領域(ワークメモリ)として利用され、例えばプリンタ受信データ(イメージデータやHTMLデータなど)やこれを展開したビットマップデータなどが格納される。操作パネル104は、プリンタに対し印刷条件を設定するためのユーザインタフェース装置であり、例えばタッチパネル式液晶ディスプレイや各種入力ボタンなどを有している。LANインタフェース105は、LAN上の装置と通信したり、LANを介してインターネット上の装置と通信したりするための通信処理を行う。プリントエンジン106は、CPU101の指示に従って印刷対象のビットマップデータを受け取り、用紙等の媒体に印刷する。ハードディスクドライブ(HDD)107は、書き換え可能な不揮発性の記憶装置であり、ユーザやサービスエンジニアが設定した各種設定データやプログラムなどが格納される他、RAM103から溢れたデータの待避領域として用いられる。
【0019】
図2は、このプリンタ202が適用されるシステムの構成例を示す図である。この例では、LAN203上にクライアントPC(パーソナルコンピュータ)201とプリンタ202とが接続されている。クライアントPC201とプリンタ202は、LAN203を介してインターネット204に接続されている。インターネット204上には、サーバ205が存在する。
【0020】
図2のシステムでは、例えばクライアントPC201や図示しないモバイル装置がプリンタ202に対してHTML文書の印刷要求と、印刷対象のHTML文書データを送信すると、これを受信したプリンタ202は、そのHTML文書データを解析し、ビットマップデータを生成して媒体に印刷する。ここで、HTML文書の中にはURL(Uniform Resource Locator)等により示されるオブジェクト(文書要素)が含まれる場合があり、このような場合プリンタ202は、そのURL等に従って、そのオブジェクトが存在するインターネット204上のサーバ205からそのオブジェクトのデータをダウンロードし、これを用いてビットマップデータを生成する。以上のように、HTML文書をそのままプリンタ202に送って印刷させる方式はダイレクトプリント方式とも呼ばれる。また、このほか、プリンタ202の操作パネル104からHTML文書のURLを直接入力したり、クライアントPC201や図示しないモバイル装置からプリンタ202に対してHTML文書のURLを送信したりして、プリンタ202に印刷指示を行うことも可能である(プルプリント)。この場合、プリンタ202は、入力されたURLに従ってインターネット204上からそのHTML文書をダウンロードし、印刷処理を行う。
【0021】
本実施形態のプリンタ202は、上記のように他のサーバに存在するデータをダウンロードし、出力画像に組み込んで印刷する際に、印刷対象の文書の構造を考慮したメモリ管理を行うことにより、ワークメモリであるRAM103の容量の節約を実現している。
【0022】
このメモリ管理機能を含めた、プリンタ202における文書データ処理機構10を図3を参照して説明する。図3の処理機構10は、ROM102やHDD107に格納されたプログラムや設定データをCPU101で実行することにより実現される。
【0023】
この処理機構10において、主制御部11は、この処理機構10の全体的な制御を行う手段である。データ取得部12は、主制御部11からのデータ取得要求に応じて、LAN20やインターネット等のネットワークを介してデータを取得する手段である。文書解析部13は、入力されるHTML文書やHTML文書を含むMIME(Multipurpose Internet Mail Extensions)文書を解析して個々の文書要素を検出し、それら文書要素群が構成する論理構造を求める。文書構成情報管理部15は、検出された文書要素や論理構造の情報に基づき、文書構成情報を作成して管理する(詳細は後述)。
【0024】
ここで、文書要素の中には、その内容のデータ(印刷結果に示される内容という意味で、表示内容データと呼ぶ)がHTML文書と共にMIME文書内にすでに含まれているものもあれば、外部参照のもの(すなわちHTML文書の当該要素の記述には、表示内容データへのリンク情報(例えばURL)が含まれる)もある。後者については、文書解析部13は、主制御部11を介して、データ取得部12にその表示内容データのダウンロードを要求する。ここで、HTML文書のデータや、HTML文書やMIME文書を先頭から順に解析していく際に検出した各文書要素の表示内容データ、この解析の進行に従って逐次作成、更新される文書構成情報等の各種データは、ワークメモリであるRAM103に格納される。なお、HTML文書を含むMIME文書内又は外部からのダウンロードにより得られる表示内容データは、HTMLやページ記述言語等の記述言語で記述されていたり、符号化やデータ圧縮が施されていたりすることも少なくない。このような場合は、表示内容データをプリントエンジン106で取扱可能なイメージデータ形式(例えばビットマップイメージ)に展開する必要がある。このような展開処理をソフトウエアベースで行う場合は、この処理のための作業領域にRAM103が利用される。
【0025】
描画部14は、RAM103に格納されている文書構成情報や各文書要素の表示内容データ(或いはそれを展開したデータ)を元に、先頭ページから順に各ページのページイメージを、RAM103とは別に設けられているページバッファ(図示省略)上に生成する。このようにして生成されたページイメージが、プリントエンジン106に渡され、用紙上に印刷される。
【0026】
メモリ管理部16は、以上の各部による処理の際のRAM103の管理を行う手段であり、文書解析部13やデータ取得部12や描画部14などの各部からのメモリ確保要求に応じてRAM103の空き領域を割り当てたり、逆に不要となったデータが記憶された領域を解放したりする処理を行う。特に本実施形態では、メモリ管理部16は、メモリ確保要求に応じられるだけの空き容量がない場合や空き容量が所定の容量以下になった場合、すでにRAM103上にロードされている表示内容データ群(これから表示内容データをロードするために確保されている領域を含む)の中のいくつかをRAM103からアンロードすることにより、RAM103の空き領域を増やしてメモリ確保要求に応える。
【0027】
ここで、「アンロード」とは、RAM103に確保されている表示用データのための領域をRAM103から「一時的に」解放する動作を言う。この際、RAM103から解放する領域や表示用データの管理情報を残し、領域にロードされた表示用データそのものは他の記憶装置に待避させた後に削除するかあるいはそのまま削除する。すなわち、アンロードされる領域の表示用データは、待避した記憶装置からの再ロードまたは装置外部からの再ダウンロードによって、原則的には、後でRAM103上に再ロードされる。これに対し、RAM103からデータを「削除する」という場合は、すでに印刷出力が済んでしまったページ内の文書要素の表示内容データ(ただし、後のページでも利用されるものは除く)のように、今後使用されないデータをRAM103から永久的に削除する動作を意味する。
【0028】
本実施形態のアンロード処理は、一般的なコンピュータにおいてキャッシュや仮想記憶の管理に用いられるLRU(Least Recently Used)アルゴリズムによるデータ削除管理とは異なり、文書構成情報を参照することで、印刷処理の進行に影響が少ないもの(例えば、後続のページに記録されるデータや比較的容量の小さなデータ等、いったん削除してから再ロードしても印刷の遅れが少なくて済むもの)を判別し、アンロードするようにしている。
【0029】
本実施形態では、RAM103からアンロードした表示内容データは、二次記憶である比較的大容量のHDD107に格納される。
【0030】
図4は、この文書データ処理機構10における、文書解析部13及び文書構成情報管理部15の処理手順を示すフローチャートである。
【0031】
例えばプルプリントの場合は、クライアントPC201や操作パネル104から印刷対象のHTML文書データのURLが入力されると、データ取得部12がそのURLに示される文書データの取得要求を、例えばHTTP1.1のGET命令の形でLAN20上に発行し、この取得要求に応じてLAN20やこれにつながるインターネット上のサーバから返信されてくる文書データを取得する(S10)。ここで、取得された文書データはRAM103に格納される。文書データを取得すると、文書構成情報管理部15に、その文書の情報を登録する(情報内容については図5,6を参照して後で説明する)(S11)。
【0032】
次に文書解析部13が、その文書データを先頭から順に解析していく(S12)。この解析では、文書のデータを順に構文解析していき、文書の最後に達していなければ(S13)、タグ検出により文書要素を見つけるまでデータ解析を進める(S14)。ここで文書要素を見つけると、この要素の情報を文書構成情報管理部15に登録するとともに、すでに登録されている文書や文書要素の情報の中で、この新たに登録した文書要素に関連するものに、この新規登録の要素の情報を反映させる(S15)。
【0033】
ここで、文書要素が、当該HTML文書内に組み込まれたテキストである場合は、HTML文書に含まれるそれらテキストが、その文書要素に対応する表示内容データと認識され、表示内容データの所在を示す情報が文書構成情報管理部15に登録される。例えば、HTML文書に組み込まれたテキストの文書要素は、文書要素を検出した際には、その表示内容データはすでにRAM103上にロードされている。
【0034】
一方、そのHTML文書において、文書要素がその実体データ(表示内容データ)へのリンク情報の形で文書要素が記述されている場合(例えば、文書に組み込むべき画像のソースのURLがIMGタグ内に記述されている場合など)は、その文書要素のデータをダウンロード等により取得する必要がある。そこで、文書解析部13は、検出した文書要素の記述中に、他の場所に存在するデータへのリンク情報(例えばIMGタグ内に記述された画像データのURL)があるかどうかを判定し(S16)、そのようなリンク情報に従ってデータの取得処理を行う(S17)。このとき、リンク情報が外部のURLである場合は、データ取得部12が、そのURLの指し示すデータをインターネット上のサーバからダウンロードする。また、リンク情報が、そのHTML文書を含むMIME文書、あるいはXHTML−print文書内にコード情報として組み込まれたイメージデータ(インライン・イメージとよばれる)を指している場合には、MIME文書あるいはXHTML−print文書の解析を進め、そのインライン・イメージのコードデータが見つかるのを待つ。
【0035】
ここで、図4は、1つの文書データ(ここでは、HTMLデータのみならず、その中で参照される画像等のデータも、1つの文書データとして扱う)を取得したときに行う一連のプロセスを示している。したがって、S17によりリンク先データの取得が要求されると、そのデータについて、図4に示すプロセスが別途開始され、取得要求元のプロセス等と並行的(コンカレント)に実行される。図4中の破線によるループはこのことを示している。データをインターネット上から取得する場合もあるので、各取得対象のデータがいつ取得できるか分からないため、このように各データを非同期的に取得する構成となっている。S17で取得要求を行ったリンク先のデータについては、そのデータの取得のためのプロセスにより、データ取得処理が行われて表示内容データが取得され、この表示内容データに関する情報が文書構成情報管理部15に登録される。
【0036】
次に図5及び図6を参照して、文書構成情報管理部15が管理する文書構成情報と、その作成手順について説明する。
【0037】
図5において、(a)は入力されるHTML文書の記述内容を概略的に示すと共に、各記述と、文書構成情報管理部15におけるデータ管理上の各項目との対応関係を示している。また、(b)は、(a)のHTML文書についての、文書構成情報管理部15におけるデータ管理構造を示している。また、図6は、文書構成情報管理部15が管理する文書構成情報の、ある時点におけるスナップショットを概念的に示したものである。
【0038】
図5(a)に示すHTML記述全体が一つの文書データを構成する。この文書データにD-001という一意的な識別情報が付与され、これに対応する管理情報(図6の(a1)参照)が作成される。この管理情報は、D-001という識別情報で検索できる形で、RAM103に格納される。なお、識別情報D-001は、ユーザやクライアントPC201から印刷対象のURL”http://xxx.yyy.jp/index.htm”がプリンタ202に入力された時に文書構成情報管理部15が付与する。そして、データ取得部12がこのURLに対応するHTML文書のデータをダウンロードすると、文書構成情報管理部15が、その文書データの管理情報を作成し、その時点で判明しているその文書データに関する情報をその管理情報に登録する。
【0039】
例えば、図6(a1)では、HTML文書D-001の管理情報として、(1)識別情報(DID:ドキュメントID)、(2)当該文書のデータ名(ファイル名)、(3)当該文書データの所在場所を示すパス(ファイル名とともに、URLから抽出できる)、(4)当該文書データのデータサイズ(ダウンロード完了時に分かる)、(5)取得時間(ダウンロードに要した時間)、(6)データ要素(当該文書内の先頭に現れる文書要素の管理情報へのポインタ)、の6つの項目からなる管理情報を作成する。HTML文書の場合、第6項目「データ要素」以外はダウンロード完了時点で判明しているので、これらの値が管理情報に登録される。
【0040】
さて、このHTML文書の本体部分(<BODY>〜</BODY>)を先頭から構文解析していくと、まずテキストデータからなる文書要素(エレメント)が検出される。このとき、文書構成情報管理部15は、この要素にE-001001という一意的な識別情報を付与し、これに対応する管理情報(図6の(b1)参照)を作成する。この管理情報は、E-001001という識別情報で検索できる形で、RAM103に格納される。
【0041】
例えば、図6(b1)では、文書要素E-001001の管理情報として、(1)識別情報(EID:エレメントID)、(2)当該文書要素の要素種(テキスト、テーブル、リスト、画像、リンク(参照情報)など)、(3)当該文書要素の描画サイズ(内容データが確定すると分かる)、(4)次要素(文書データ中で当該文書要素の次に現れる文書要素の管理情報へのポインタ)、(5)内容(当該文書要素の表示内容データへのポインタ)、の5つの項目からなる管理情報を作成する。このうち、要素種は、このテキスト文書要素E-001001を検出した時点で判明しているので、この時点で管理情報に登録される。また、テキストの場合、レイアウト条件(ページサイズやマージン量、フォントの種類やサイズ、字送りなど。CSS:Cascading Style Sheets等により更に詳細に規定される場合もある)が予め指定されていれば、テキストデータが取得できた時点で描画サイズを求めることができるので、描画サイズの値も登録することができる。
【0042】
また、この要素E-001001の内容であるテキストデータは、HTML文書D-001内に含まれており、この要素E-001001を認識(例えば終了タグを認識するなど)した段階ですでに得られているので、文書構成情報管理部15は、この内容データ(テキスト)に対してB-001001という識別情報(BID:ブロックID)を付与し、この内容データを識別情報B-001001で検索可能な形でRAM103に格納する(図6の(c1)参照)。そして、この要素E-001001の管理情報の第5項目「内容」には、この内容データへのポインタ(B-001001)が登録される(図6の(b1)の参照)。
【0043】
なお、要素E-001001の管理情報のうち、「次要素」は、文書データD-001の解析が進まないと判明しないので、空欄にしておく。
【0044】
このようにして文書データD-001から、先頭の文書要素E-001001が検出されると、文書構成情報管理部15は、当該文書データD-001の管理情報の第6項目「データ要素」に対し、この先頭要素E-001001へのポインタを登録する(図6の(a1)参照)。
【0045】
以上、文書中の先頭の要素E-001001が検出された時の処理を示した。この後更にHTML文書D-001の解析を進めていくと、次に<IMG>タグによって示される、画像を内容とする文書要素が検出される。すると、文書構成情報管理部15は、この要素に対しE-001002という一意的な識別情報を付与し、これに対応する管理情報(図6の(b2)参照)を作成する。また、この時点で、要素E-001001の次要素E-001002が判明したので、要素E-001001の管理情報にこの次要素へのポインタを登録する。
【0046】
ここで、この要素E-001002の内容は、リンク記述(この例ではURL"http://aaa.bbb.jp/image.jpg")の形で示されているので、管理情報の「要素種」には、要素内容がリンクであることを示す情報が登録され、このリンクに従ってデータ名やパスが登録される。また「描画サイズ」は、リンク先の情報が取得できるまで分からないので、この時点では「(未確定)」となっている。
【0047】
このように内容データが、外部のデータへのリンクで示される文書要素が検出されると、前述のようにリンク先データのダウンロードのためのプロセスが開始される(図4のS17)。このとき文書構成情報管理15は、ダウンロード対象のデータに対して一意的な識別情報D-002を付与して管理情報を作成し、上記プロセスにより、データがダウンロードできると、そのデータに関する情報を管理情報に登録する(図6の(a2)参照)。このように、本実施形態では、プリンタ202の外部からダウンロードするデータと、そのHTML文書の記述に含まれる文書要素とを概念上区別し、前者には識別情報DIDを与えて文書データとして扱い、後者には識別情報EIDを付与して要素として扱う。したがって、文書要素E-001002のリンクに従ってダウンロードする画像データについても、まず文書データとしての識別情報D-002が付与され、管理情報(a2)が作成される。ダウンロードが終了するまでは、「サイズ」と「取得時間」は「(未確定)」になっている。
【0048】
そして、このダウンロードするデータD-002は、画像データであるので、文書構成情報管理部15は、この画像データに対して一意な識別情報E-001003を付与して文書要素として扱い、管理情報(図6の(b3))を作成する。この要素E-001003は、「要素種」が画像であることはこの時点で分かっているが、描画サイズについては圧縮データの展開等が完了するまでは分からないため、管理情報における「描画サイズ」は「(未確定)」としている。また、「内容」についても、ダウンロードが終わるまで確定しないので、「(未取得)」としている。これらの「描画サイズ」や「内容」は、ダウンロードが終了した段階で、登録される。
【0049】
ダウンロードが終了すると、ダウンロードしたデータサイズと所要時間が確定するため、これらを識別情報D-002の「サイズ」と「取得時間」に登録する。ダウンロードされた画像データの実体はブロックID(BID)で識別可能な情報として格納される。E-001003の「内容」にはこのブロックIDが登録される。また、ダウンロードしたデータの属性情報をもとに画像のサイズを確定し、「描画サイズ」に登録する。
【0050】
なお、文書要素のリンク記述が、HTML文書の中に組み込まれたデータ(インライン・イメージなど。以下、インライン・データと呼ぶ)を指している場合も、上記と同様、そのリンク先のデータを起点とする、文書データ、文書要素データ、及びデータ実体、の階層構造の管理情報群で管理を行うことができる。この場合、文書データレベルの管理情報の「データ名」には、例えばリンク記述に示されたそのデータの識別情報を登録すればよい。ただしこの場合、ダウンロードは行う必要がないので、文書データレベルの管理情報を作成しないですますことも可能である。なお、リンク先がHTML文書の外か内かの判断は、基本的には、当該リンク先がURLの形で記述されている場合は外、MIME文書やXHTML−print文書で添付データへの参照を示す場合に用いられる「cid:」(コンテントID)の形で記述されている場合は内、と判断できる。
【0051】
さて、文書データD-001の解析に戻ると、文書要素E-001002の次に更に<IMG>タグによって示される文書要素が検出されるので、文書構成情報管理部15はこの要素を識別情報E-001004(図6の(b4))で管理すると共に、このタグ中のリンク先からダウンロードするデータを識別情報D-003で管理する。また、要素E-001002の管理情報には、この次要素E-001004へのポインタを登録する。そして、このデータD-003中の画像データを識別情報E-001005の文書要素として管理し(図6の(b5))、更にこの要素については画像データの実体がこの時点で存在するので、この実体データを識別情報B-001002で管理する(図6の(c2))。
【0052】
そして、更に文書データD-001の解析を進めると、要素E-001004の次にテキスト要素が検出されるので、この要素を識別情報E-001006で管理し、この管理情報に対し、そのテキストの実体データB-00100xへのポインタを登録する(図6の(b6))。
【0053】
以上、図5(a)に例示したHTML文書の解析と、これに従った文書構成情報の構築過程を、具体的な文書構成情報の例である図6を参照して説明した。この図6に示した各文書データ、文書要素の管理情報の集まりが、文書構成情報である。図5(b)は、図5(a)の解析に従って作成又は取得される管理情報や実体データ相互の関係を矢印で示したものであり、実線のブロックが文書データ及び文書要素の管理情報や実体データを示し、破線のブロックはHTML文書外へのリンクを示している。
【0054】
このように、図4に示す解析処理に従って文書構成情報が作成され、解析処理やダウンロード処理の進行に従ってその文書構成情報が更新されていく。本実施形態では、このような解析処理と並行して、主制御部11及び描画部14が印刷出力のための画像生成処理を実行する。この処理を図7を参照して説明する。
【0055】
この処理は、文書構成情報管理部15の内容が更新されるたびに実行される。主制御部11が、文書構成情報管理部15を参照し、未出力の文書要素を先頭から順に仮レイアウトすることで、未出力の先頭ページに含まれる文書要素群を求める(S20)。この仮レイアウトは、未出力の先頭から順番に各文書要素の描画サイズの領域を、レイアウト条件に従って仮想的に配置していく(実体的なデータをページバッファに書き込む必要はないが、この書き込みを行ってもよい)ことで行うことができる。この仮レイアウトの際に、そのページに含まれるべき文書要素の表示内容データがすべて取得済かどうかを判定する(S21)。未取得の表示内容データがある場合はそのページを描画できないため処理を終了する。描画可能な場合は、ここで、メモリ確保のための動的なアンロード処理(詳細は後述)のため、文書構成情報に登録されている文書要素の表示内容データのうちRAM103上にない表示内容データの再ロード処理を行う(S22)。ここで、そのページに含まれるべき表示内容データの中にアンロード中のものがなければ、再ロードは不要である。そして、この結果、ページ内のすべての文書要素の表示内容データがRAM103上に揃った段階で、描画部14がページバッファ上にそのページの出力画像を描画する(S23)。このページ描画が完了すると、主制御部11がプリントエンジン106に対してページバッファ上のページ画像の印刷出力を指示し、そのページ画像に組み込み済みの各表示内容データについて、メモリ解放の指示をメモリ管理部16に発行する(S24、なおメモリ解放処理の詳細については後述する)。
【0056】
ただし、文書要素のうち、HTML文書内に組み込まれたインライン・データへとリンクしているものについては、そのインライン・データが文書内の別の文書要素から参照されている可能性がある。そこで、表示内容データが文書要素から参照しているインライン・データである場合は、そのデータについてのメモリ解放指示を行わないようにすることも好適である。なお、描画した表示内容データがインライン・データであるかどうかは、文書構成情報の文書データレベル(DID)の管理情報のデータ名やパスを参照すれば判別できる。
【0057】
そして、このページ描画完了に伴い、主制御部11は、文書構成情報管理部15に対し、今回描画したページに組み込んだ各文書要素が出力済みである旨を記録させる(S25)。ここで、出力済みであることを記録する代わりに、当該文書要素の管理情報を削除してもよい。そして、主制御部11は、HTML文書の文書要素及び該文書から参照する文書要素のすべてについての描画出力が完了したかどうかを判断し(S26)、完了していなければS20に戻って未出力の文書要素の描画処理を続行する。
【0058】
以上に説明した図7の処理は、出力画像生成のプロセスにて、ページ画像の出力が終わるたびに次のページの範囲を確定していくものであったが、これはあくまで一例である。この他にも例えば、解析結果に基づいてページの分割(すなわち文書要素群を先頭ページから順に割り当てていく処理)を行う処理プロセスを出力画像生成の処理とは独立して設け、出力画像生成プロセスはこのページ分割の結果から未処理の先頭ページの文書要素群を順次把握する構成とすることもできる。
【0059】
本実施形態のプリンタ202では、以上に説明した図4の解析処理及び図7の出力画像生成処理により、HTML文書の印刷が進められていく。ここで、RAM103の容量が印刷対象の文書のサイズから見て小さい場合、この処理の進行中に、例えばデータのダウンロードや圧縮データ展開、管理情報の作成などの処理を実行する際に、メモリ不足が生じる可能性がある。本実施形態では、そのような場合、メモリ管理部16が、RAM103にロードされているデータ群の一部をアンロード(一時的削除)して、メモリ不足を解消する処理を行う。この処理の流れを、図8を参照して説明する。
【0060】
この処理において、ダウンロード等の処理からメモリ管理部16に対してメモリ確保要求が発行されると、メモリ管理部16は、要求されたサイズのメモリを、RAM103の空き領域から確保しようとする(S30)。これでメモリが確保できれば(S31の判定結果がY)、この処理は終了する。一方、S30で要求されたメモリが確保できなかった場合は(S31の判定結果がN)、メモリ管理部16は、文書構成情報管理部15を参照し、RAM103からアンロードすべき文書要素を決定し(S32)、この要素の表示内容データをRAM103からアンロードして、HDD107に格納する(S33)。
【0061】
ここで、アンロード対象とする表示内容データは、現在RAM103にロードされている表示内容データのうち、最も後のページに出現するもの(すなわち最も後のページに印刷されるもの)から順に選択する。ここで、図5(b)から分かるように、HTML文書における各文書要素の順序は文書構成情報から求めることができる。そして、HTML文書の場合、印刷(表示)出力の際の文書要素の順序は、基本的にHTML記述中でのその要素の順番と実質的に等しい。従って、RAM103上に存在する表示内容データに対応する各文書要素の順序を文書構成情報から求めれば、この順序で最も後ろの要素の表示内容データをアンロード対象として選択することができる。なおCSS等のスタイル情報でスタイルを設定する場合も、HTML記述の順序とスタイル情報から出力ページ上での順序を求めることができるので、文書構成情報とスタイル情報から出力順序を求めれば、後は同様の扱いができる。
【0062】
このようにして決定したアンロード対象の表示内容データをアンロードすると、S30に戻って、要求されたメモリサイズの確保処理を再度実行する。そして、そのサイズが確保できなければ、再度S32及びS33の処理を繰り返し、別の表示内容データをアンロードする。これを、要求されたサイズのメモリ領域が確保できるまで繰り返す。
【0063】
以上では、出力ページの連なりにおいて、現時点で最後尾に出力されるべき文書要素の表示データを1つずつアンロードしたが、文書要素の表示内容データのデータサイズが分かっていることも多いので、要求されたメモリサイズを確保するに必要な分の表示内容データをS33でまとめてアンロードしてもよい。
【0064】
図9は、このアンロード処理の様子を説明するための図である。要求に応じたメモリ確保ができないと判定した時のRAM103内のデータ内容を図9(a)に示す。このときRAM103には、3つの文書要素の管理情報310,320,330と、その各々の要素の実体データ311,321,331がロードされている(より上位の文書データレベルの管理情報は図示省略した)。文書構成情報に基づき、これらの中で文書要素330が最も後ろのページに出現すると判定されると、(b)に示すように、この要素330の実体データ331がRAM103(ワークメモリ)からアンロードされ、HDD107に格納される。このように文書要素の表示内容データをアンロードすると、その要素の管理情報に、表示内容データがアンロード中である旨の情報と、HDD107に待避した表示内容データを呼び出すための情報(例えばファイル名等のアドレス情報)を、記録する。図9(b)の例では、管理情報の「内容」欄に、表示内容データがアンロード中か否かを示すフラグが設けられ、アンロード中の場合は「待避先」欄に待避先のアドレス情報が記録される。
【0065】
以上では、組み込まれる出力ページの順序が最も後の表示内容データから優先的にアンロードした。このアンロード対象判定基準によれば、アンロードした場合の、RAM103上の表示内容データ群で連続して印刷可能なページ数の減少を最小限で抑えることができる。また、このアンロード対象判定基準によれば、表示内容データをアンロードしてから再ロードが必要になるまでの時間が長く取れるので、その間にアンロードしたデータの再ロードする機会も増えるので、アンロードによる印刷遅れ等のペナルティを極めて少なくすることができる。このように、本実施形態のアンロード対象判定基準によれば、その後の印刷出力への影響ができるだけ少ないアンロード対象を選択できる。
【0066】
なお、このアンロード対象判定基準の場合、同じページに配置される表示内容データであってもアンロード順位が異なるが、ここで更に「同一ページの表示内容データが複数ある場合は、データサイズの大きいものから順にアンロードする」という追加の基準を採用することにより、有効性の高いアンロードが可能になる。データサイズが大きい方が、アンロードしたときのメモリ解放量が大きいからである。この追加の基準を用いるには、RAM103上にある表示内容データ群について、予めページへの割り当て(ページ分割)を行っておけばよい。また、未取得の表示内容データがある場合はページ分割は暫定であるため、同一ページという範囲ではなく、データの取得状況に応じた範囲を対象としてもよい。
【0067】
以上説明したようなページ単位の出力順序判定によらず、単純にRAM103上にロードされている表示内容データの中で、出力への組み込み順序が最も後のものから優先的にアンロードするような基準でもよい。
【0068】
このようにしてアンロードした表示内容データは、そのデータを印刷出力する時点ではRAM103にロードしておく必要がある。このため、前述の図7の手順では、その表示内容データが表示されるべきページの出力時点で、再ロード処理を行っている。しかし、ページ画像の生成時点でデータの再ロードを行っていたのでは、印刷出力が遅くなる場合もある。そこで、本実施形態では、使用済みデータについてのメモリ解放を行った際に、この解放により空いたメモリ領域に対して、その時点でアンロード中の表示内容データのいくつかを再ロードすることで、ページ出力時点での再ロードをできるだけ減らすようにしている。このような「前もって」の再ロードのための処理手順を図10に示す。
【0069】
この手順では、メモリ管理部16が、出力画像生成処理等から使用済みのデータについてのメモリ解放指示を受けると、指示されたデータを記憶するRAM103の領域を解放する(S40)。そして、このようにメモリ解放を行うと、メモリ管理部16は、解放したメモリ領域に対して再ロードする表示内容データを決定する(S41)。この再ロード対象の決定は、文書構成情報管理部15の情報から現在アンロード中の文書要素群を特定し、それら文書要素群の中で配置されるページが最も早い順番のもの(或いはHTML文書中での文書要素の順番がもっとも早いもの)を再ロード対象とする。このような基準に従って再ロード対象を判定すれば、ページの出力時に当該ページ内の表示内容データがすべてRAM103上に存在する確率を高めることができる。
【0070】
ここで、上記のようにアンロードされているデータの中で最先出力のものを選ぶという基準で再ロード対象を選んでも、その再ロード対象が現在印刷出力中のページから遙かに後のページのデータであれば、仮にそのデータを再ロードしても、そのデータの属するページを印刷するまでの間にそのデータが再度アンロードされる可能性が少なからずある。このようなことは無駄である。そこで、これを避けるためには、上記基準を変形した次のような基準を用いることが好適である。すなわち、この変形した基準では、アンロードされている表示内容データの中で最先出力のものが、現在出力中のページから所定ページ数内のページに使用されるものであればそれをこの時点での再ロード対象とし、そうでなければこの時点での再ロード処理は見送る。例示した変形の基準は、再ロード対象かどうかを現在の出力からのページ数で評価したが、この代わりに、現在出力中(すなわちページバッファへ描画中)の文書要素からみた画像上での長さ(すなわち、出力中の要素の直後からアンロード中の最先の要素の直前までの、各要素の描画サイズ(ページ進行方向)の和)や、現在出力中の文書要素からアンロード中の最先の文書要素までの要素数が所定の閾値以下か否かに基づき、再ロード対象か否かを判定してもよい。あるいは現在出力中の文書要素からアンロード中の最先の文書要素までの要素のうち、描画サイズが未確定な要素数が所定の閾値以下か否かに基づくようにしてもよい。すなわち、この場合、描画サイズな未確定な要素数が所定の閾値以下であれば、アンロード中の最先の要素を再ロードし、そうでなければこの時点での再ロードを見送る。
【0071】
また、この再ロード対象の判定処理で、S40でのメモリ解放量と、各文書要素の表示内容データのデータサイズとを考慮し、最先出力予定のものから順にその解放量内に収まる表示内容データ群を、一度に再ロード対象に選択することもできる。
【0072】
このような判定処理(S41)で再ロード対象が見つからなければ(S42の判定結果がN)、この時点では再ロード処理は行わない。一方、S41で再ロード対象が見つかれば(S42の判定結果がY)、それら各対象の表示内容データの待避先(図9(b)参照)を文書構成情報管理部15から求め、各待避先から表示内容データを読み出してRAM103にロードする(S43)。このように表示内容データを再ロードした場合、その表示内容データに対応する文書要素の管理情報のアンロード・フラグをリセットして、そのデータがRAM103上にあることが管理情報から分かるようにする。
【0073】
なお、図10のメモリ解放時の再ロード処理で再ロードされなかった表示内容データは、最悪の場合でも、図7のページ出力時の再ロード(S22)でRAM103にロードされる。
【0074】
再ロードは、上述したメモリ解放時、及びページ出力にて必要となった時の他に、例えばタイマー等を用いて定期的に実行してもよい。この時の再ロード対象の選択基準も、メモリ解放時の基準と同様でよい。
【0075】
また、S41で再ロード対象が求められた場合でも、その再ロード対象の表示内容データがメモリ解放も考慮したRAM103の空き容量を越える場合が考えられる。このような場合、再ロードを見合わせるのも一つの方法である。また別の方法として、新たにアンロード処理を行ってメモリ空き容量を増やした上で、その再ロード対象をロードするという方法も可能である。ただしこの場合、再ロード対象のデータと新たにアンロードしようとするデータとの出力画像上での順序を比較し、この結果再ロード対象の方が後の場合は再ロードを行わない、等の処理とすることが望ましい。
【0076】
以上説明したように、本実施形態によれば、文書に含まれる要素間の構造を記憶し、この構造の情報に従ってRAM103上のデータ中からアンロード対象を決めるので、LRU方式等の一般的なメモリ管理と比較して、文書の構造により即したメモリ管理ができる。
【0077】
解析によって検出した各要素の表示内容データの取得を並行的に実行する場合、例えば文書の最初のページに組み込むべき要素の表示内容データの取得に時間がかかり、その後の要素のデータが続々と取得できてRAM103の空きが少なくなる場合がある。このときに最初のページの要素のデータが取得されると、これをロードするためにRAM103上の他の要素のデータをアンロードする必要が出てくる。このとき、LRUの考え方で行くと最も前に取得したデータをアンロードすることになるが、仮にこれが最初のページに組み込むべき他の要素のデータであれば、折角最初のページの要素群のデータがすべて取得できているにもかかわらず、その内の1つがアンロードされるため、これを再ロードするまで最初のページが印刷できなくなるというような不具合が考えられる。これに対し、本実施形態では、文書の要素間の構造を参照してアンロード対象を決めており、最初のページに組み込まれるべき要素をこの構造の情報に基づき求めることができるので、このような不具合は回避できる。
【0078】
特に、文書構造の情報からは、各文書要素が出力画像(ページ群)に現れる順序を求めることができ、この順序が後のものを優先的にアンロードすることで、アンロードした要素が必要となるまでに再ロードする機会を多くとることができるので、印刷出力の進行に対するペナルティの少ないメモリ管理が可能となる。
【0079】
また、本実施形態では、ページ画像の出力が完了するごとに、これにより以後不要となった文書要素のデータをRAM103上から削除するので、RAM103のメモリ領域を有効活用できる。そして、この削除により空き容量が増えたタイミングで、アンロード中の表示内容データの再ロードを実行することで、印刷処理の進行を円滑にすることができる。特に、アンロード中の表示内容データの中で、出力の順序が早いものから順に再ロード対象に選ぶことで、印刷出力進行への悪影響を少なくすることができる。
【0080】
以上では、プリンタ202がHDD107を備えており、RAM103からアンロードしたデータをHDD107に待避する構成を説明したが、プリンタの中にはHDD等の大容量二次記憶を搭載できないものも存在する。このようなプリンタに上記実施形態の手法を適用する場合、RAM103からアンロードした表示内容データは、HDD等の待避先がないため、プリンタ中からはなくなってしまう。しかしながら、この場合でも、文書構成情報管理部15は、アンロードされた文書要素の表示内容データのオリジナルの所在場所を「データ名」や「パス」と言った情報として持っているので、この場所から再度ダウンロードすることでRAM103への再ロードが可能である。したがって、上記実施形態のメモリ管理の手法は、HDD等の二次記憶がないプリンタにも適用可能である。
【0081】
二次記憶のないプリンタに適用した場合の、アンロード対象や再ロード対象の選択の基準は、上述の二次記憶付きのプリンタの場合と同様、アンロード対象は出力への出現順序が遅いものから優先的に選択し、再ロード対象は出力への出現順序の早いものから優先的に選択する、というものでよい。ここで、ページプリンタの場合、出力への出現順序はページ単位で評価すればよいが、同一ページに配されるべき表示内容データが複数ある場合のアンロードの優先順序は、文書構成情報に記録されている「取得時間」が短いものを優先して選択することが好適である。この選択基準によれば、再ロードに要する時間が短くて済むため、印刷の進行への悪影響が少ない。
【0082】
また以上の説明では、ページバッファをRAM103とは別に設けたが、構成を簡単なものとするため、RAM103の中にページバッファを設けるようにしてもよい。
【0083】
また以上の説明では、ページプリンタを例にとって説明したが、上記実施形態のメモリ管理手法の適用対象は、その基本的な考え方を見れば明らかなように、ページプリンタに限定されるものではない。例えば、ロール紙等に連続的に印刷出力していくプリンタの場合でも、印刷対象の文書の構造の情報を管理しておき、ワークメモリの容量が足りなくなった場合は、その構造情報を参照して印刷進行に影響の少ないもの(例えば出力されるのができるだけ後のもの)から優先的にアンロードすることで、印刷出力のための処理を円滑に進めることができる。
【0084】
また、以上の説明では、文書を解析して得た文書構造の情報(文書構成情報)を管理し、これを参照してアンロードや再ロードの対象を選択したが、その文書構成情報から各要素の出力順序又は各要素のレイアウト(出力ページ又は一連の出力画像上での各要素の配置関係)の情報を作成し、この出力順序又はレイアウトを参照してアンロードや再ロードの対象を選択してもよい。これら出力順序やレイアウトの情報も、文書の構造を示す情報の一種と捉えることができる。
【0085】
以上の説明では、HTML文書を処理する場合を例にとったが、実施形態の内容から明らかなように、本発明は、XMLやXHTML−printなど、出力画像に組み込むべきデータを文書外部への参照の形で記述できる文書一般を画像形成処理する装置に適用可能である。
【図面の簡単な説明】
【図1】 本発明が適用されるプリンタのハードウエア構成の一例を示すブロック図である。
【図2】 本発明が適用されるネットワーク環境の一例を示す図である。
【図3】 実施形態のプリンタにおける文書データ処理機構の概略構成を示す機能ブロック図である。
【図4】 実施形態のプリンタにおける文書解析処理の流れを示すフローチャートである。
【図5】 印刷対象文書の例と、この文書の解析により得られる構造の情報を模式的に示す図である。
【図6】 図5に例示した文書の解析により得られる文書構成情報の例を示す図である。
【図7】 実施形態のプリンタにおける出力画像生成処理の流れを示すフローチャートである。
【図8】 実施形態のプリンタにおけるメモリ確保処理の流れを示すフローチャートである。
【図9】 アンロード対象の選択の仕方を説明するための図である。
【図10】 実施形態のプリンタにおけるメモリ解放処理の流れを示すフローチャートである。
【符号の説明】
10 文書データ処理機構、11 主制御部、12 データ取得部、13 文書解析部、14 描画部、15 文書構成情報管理部、16 メモリ管理部、20 LAN、107 HDD。
Claims (4)
- 複数の文書要素を含む文書の記述を解析し、解析の際に検出した各文書要素の表示内容データをワークメモリにロードし、該ワークメモリ上の表示内容データ群を用いて出力画像を生成し、媒体上に画像形成する画像形成装置であって、
前記文書の解析結果に基づき、検出した各文書要素間の構造の情報を含む文書構成情報を作成する文書構成管理手段と、
前記ワークメモリの空き容量の不足を検知した場合、前記ワークメモリにロードされた表示内容データのうち、前記文書構成情報に基づき選択した表示内容データを前記ワークメモリからアンロードするアンロード制御手段と、
を備え、前記アンロード制御手段は、前記文書構成情報に基づき、各文書要素の表示内容データが前記出力画像に出現する順序を求め、この出現順序が遅いものから優先的にアンロードし、
前記文書構成管理手段は、前記文書構成情報として、前記ワークメモリ上にロードした各文書要素の表示内容データのサイズの情報を含む文書構成情報を作成し、
前記アンロード制御手段は、前記各文書要素が前記出力画像に出現する順序および出現位置を評価し、所定範囲内に出現する文書要素が複数ある場合は、表示内容データのサイズの大きいものから優先的にアンロードする、
ことを特徴とする画像形成装置。 - 複数の文書要素を含む文書の記述を解析し、解析の際に検出した各文書要素の表示内容データをワークメモリにロードし、該ワークメモリ上の表示内容データ群を用いて出力画像を生成し、媒体上に画像形成する画像形成装置であって、
前記文書の解析結果に基づき、検出した各文書要素間の構造の情報を含む文書構成情報を作成する文書構成管理手段と、
前記ワークメモリの空き容量の不足を検知した場合、前記ワークメモリにロードされた表示内容データのうち、前記文書構成情報に基づき選択した表示内容データを前記ワークメモリからアンロードするアンロード制御手段と、
前記ワークメモリ上にロードした各文書要素の表示内容データの取得元を示す情報を前記文書構成情報に記録する手段と、
文書要素の表示内容データを前記出力画像に組み込むときに、その表示内容データが前記ワークメモリ上に存在しない場合、前記文書構成情報に含まれる当該表示内容データの取得元からその表示内容データを再取得して前記ワークメモリに再ロードする再ロード手段と、
を備え、
前記文書構成管理手段は、前記文書構成情報に、前記ワークメモリ上にロードした各文書要素の表示内容データの取得に要した時間の情報を登録し、
前記アンロード制御手段は、前記各文書要素が前記出力画像に出現する順序および出現位置を評価し、所定範囲内に出現する文書要素が複数ある場合は、表示内容データの取得に要した時間の短いものから優先的にアンロードする、
ことを特徴とする画像形成装置。 - 前記所定範囲内に出現する文書要素とは同一のページに出現する文書要素である
ことを特徴とする請求項1または請求項2記載の画像形成装置。 - 複数の文書要素を含む文書の記述を解析し、解析の際に検出した各文書要素の表示内容データをワークメモリにロードし、該ワークメモリ上の表示内容データ群を用いて出力画像を生成し、媒体上に画像形成する画像形成装置であって、
前記文書の解析結果に基づき、検出した各文書要素間の構造の情報を含む文書構成情報を作成する文書構成管理手段と、
前記ワークメモリの空き容量の不足を検知した場合、前記ワークメモリにロードされた表示内容データのうち、前記文書構成情報に基づき選択した表示内容データを前記ワークメモリからアンロードするアンロード制御手段と、
前記ワークメモリ上にロードした各表示内容データの出力画像への組み込み状況を監視し、出力画像への組み込みが完了して不要になった表示内容データを前記ワークメモリから削除するデータ削除手段と、
前記文書構成情報に記録された各文書要素の表示内容データが前記ワークメモリ上にロードされているか、アンロードされているかを管理する手段と、
前記データ削除手段により前記ワークメモリから表示内容データを削除した時点で、前記ワークメモリからアンロードされている表示内容データの中から、前記文書構成情報を参照して、前記出力画像に出現する順序が早いものから優先的に前記ワークメモリに再ロードする再ロード手段と、
を備え、
前記再ロード手段は、前記ワークメモリからアンロードされている表示内容データの中で、前記出力画像に出現する順序が最も早いものが、前記出力画像への組み込みが完了していない表示内容データ群の先頭から所定長さ以上離れている場合は、この時点では前記ワークメモリへの再ロードを行わないことを特徴とする画像形成装置。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002292965A JP4029711B2 (ja) | 2002-10-04 | 2002-10-04 | 画像形成装置 |
US10/372,127 US7167269B2 (en) | 2002-10-04 | 2003-02-25 | Image forming device and method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002292965A JP4029711B2 (ja) | 2002-10-04 | 2002-10-04 | 画像形成装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004127132A JP2004127132A (ja) | 2004-04-22 |
JP4029711B2 true JP4029711B2 (ja) | 2008-01-09 |
Family
ID=32040715
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002292965A Expired - Fee Related JP4029711B2 (ja) | 2002-10-04 | 2002-10-04 | 画像形成装置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US7167269B2 (ja) |
JP (1) | JP4029711B2 (ja) |
Families Citing this family (30)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8194269B2 (en) * | 2005-04-11 | 2012-06-05 | Samsung Electronics Co., Ltd. | Image forming method and system using XHTML-print data |
US8102558B2 (en) * | 2002-08-05 | 2012-01-24 | Canon Kabushiki Kaisha | Image supply apparatus, control method therefor, and printing system |
US7647074B2 (en) * | 2003-06-16 | 2010-01-12 | Hewlett-Packard Development Company, L.P. | Cellular telephone with print preview system |
JP3870176B2 (ja) * | 2003-07-29 | 2007-01-17 | キヤノン株式会社 | 情報処理方法及び装置 |
US7814047B2 (en) * | 2003-08-25 | 2010-10-12 | Oracle International Corporation | Direct loading of semistructured data |
US7747580B2 (en) * | 2003-08-25 | 2010-06-29 | Oracle International Corporation | Direct loading of opaque types |
US7617249B2 (en) * | 2003-09-06 | 2009-11-10 | Oracle International Corporation | Method and system of handling document operation requests on documents having large collections with constrained memory |
US20070076255A1 (en) * | 2003-10-15 | 2007-04-05 | Dai Nipon Printing Co., Ltd | Image output apparatus, image output method, and image display method |
WO2005096162A1 (ja) * | 2004-03-18 | 2005-10-13 | Matsushita Electric Industrial Co., Ltd. | アービトレーション方法及び装置 |
KR20060013883A (ko) | 2004-08-09 | 2006-02-14 | 삼성전자주식회사 | 이미지 데이터와 텍스트 데이터를 출력하는 시스템 및 방법 |
WO2006051906A1 (ja) * | 2004-11-12 | 2006-05-18 | Justsystems Corporation | アーカイバ装置、データ取得装置、およびデータ取得方法 |
JP2007060355A (ja) * | 2005-08-25 | 2007-03-08 | Fuji Xerox Co Ltd | 画像処理装置、画像処理方法および画像処理プログラム |
US7933928B2 (en) * | 2005-12-22 | 2011-04-26 | Oracle International Corporation | Method and mechanism for loading XML documents into memory |
KR100871852B1 (ko) * | 2005-12-29 | 2008-12-03 | 삼성전자주식회사 | 고속 인쇄 방법 및 장치 |
KR100856405B1 (ko) * | 2006-04-13 | 2008-09-04 | 삼성전자주식회사 | 개인 관리 정보 출력방법 및 시스템과 이를 위한 디바이스 |
US8111419B2 (en) * | 2006-09-29 | 2012-02-07 | Brother Kogyo Kabushiki Kaisha | Rasterizing device for DL object management |
US7933935B2 (en) * | 2006-10-16 | 2011-04-26 | Oracle International Corporation | Efficient partitioning technique while managing large XML documents |
US9195661B2 (en) | 2007-06-07 | 2015-11-24 | Thomson Reuters Global Resources | Method and system for click-thru capability in electronic media |
JP4918904B2 (ja) * | 2007-10-01 | 2012-04-18 | ブラザー工業株式会社 | 印刷データ生成装置とコンピュータプログラム |
US8935620B1 (en) | 2008-03-20 | 2015-01-13 | Amazon Technologies, Inc. | Dynamic content management |
US8887085B1 (en) * | 2008-03-20 | 2014-11-11 | Amazon Technologies, Inc. | Dynamic content navigation |
US8429196B2 (en) * | 2008-06-06 | 2013-04-23 | Oracle International Corporation | Fast extraction of scalar values from binary encoded XML |
JP4916487B2 (ja) * | 2008-06-18 | 2012-04-11 | コニカミノルタビジネステクノロジーズ株式会社 | 情報処理装置及びプログラム |
JP2010194778A (ja) * | 2009-02-24 | 2010-09-09 | Konica Minolta Business Technologies Inc | 印刷装置、プログラム及び印刷装置のデータ処理方法 |
US20100228951A1 (en) * | 2009-03-05 | 2010-09-09 | Xerox Corporation | Parallel processing management framework |
JP5271192B2 (ja) * | 2009-08-05 | 2013-08-21 | キヤノン株式会社 | 記録装置及びその記録制御方法 |
JP2012014574A (ja) | 2010-07-02 | 2012-01-19 | Fujitsu Ltd | ストレージ装置、構成情報保存方法および構成情報保存プログラム |
KR101955978B1 (ko) * | 2012-05-23 | 2019-03-08 | 엘지전자 주식회사 | 영상 표시 장치 및 영상 표시 장치의 메모리 관리 방법 |
JP6171611B2 (ja) * | 2013-06-20 | 2017-08-02 | ブラザー工業株式会社 | 情報処理プログラム、情報処理装置および情報処理装置の制御方法 |
US20160154543A1 (en) * | 2014-12-02 | 2016-06-02 | Facebook, Inc. | Generating a List of Content Items |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH1074265A (ja) | 1996-08-30 | 1998-03-17 | Canon Inc | 印刷制御装置及び方法、並びに印刷制御プログラムを記憶した記憶媒体 |
JPH11134125A (ja) | 1997-10-27 | 1999-05-21 | Canon Inc | 画像形成装置、画像形成方法および記憶媒体 |
US6911986B1 (en) * | 1999-07-13 | 2005-06-28 | Thomson Licensing S.A. | Method and system for processing video incorporating multiple on screen display formats |
JP2001101091A (ja) | 1999-09-30 | 2001-04-13 | Fuji Xerox Co Ltd | 画像処理システム、画像処理装置及びプロキシサーバ装置 |
JP2001134520A (ja) * | 1999-11-08 | 2001-05-18 | Nec Corp | データ通信装置およびデータ通信システム |
-
2002
- 2002-10-04 JP JP2002292965A patent/JP4029711B2/ja not_active Expired - Fee Related
-
2003
- 2003-02-25 US US10/372,127 patent/US7167269B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2004127132A (ja) | 2004-04-22 |
US20040066529A1 (en) | 2004-04-08 |
US7167269B2 (en) | 2007-01-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4029711B2 (ja) | 画像形成装置 | |
JP3991836B2 (ja) | 画像形成装置 | |
JP5691448B2 (ja) | 印刷文書処理システム、キャッシュ装置、データ処理装置及びプログラム | |
US7969600B2 (en) | Printing of linked data in a network | |
US20080231885A1 (en) | Direct printing method using ram storage for spooled printer files | |
US8010580B2 (en) | Information browser, method of controlling same, and program | |
US7831583B2 (en) | Document retrieval system, document retrieval apparatus, document retrieval method, program, and storage medium | |
JP5648449B2 (ja) | 印刷文書処理システム、キャッシュ装置及びプログラム | |
JP5097796B2 (ja) | 画像形成装置 | |
JP3116801B2 (ja) | 画像処理装置 | |
JP2009110477A (ja) | ファイル管理装置及びファイル管理プログラム | |
JP4514872B2 (ja) | 情報取得装置および情報取得方法、ならびに情報取得プログラムを記録したコンピュータ読み取り可能な記録媒体 | |
US6552816B1 (en) | Printing system and printer | |
JP5614266B2 (ja) | 印刷文書処理システム、キャッシュ装置、データ処理装置及びプログラム | |
JP2001051820A (ja) | 画像処理装置 | |
JP2002108579A (ja) | プリンタ、プリンタの制御方法、そのためのプログラム、及び、そのプログラムを記録した記録媒体 | |
JP5244770B2 (ja) | 画像形成装置 | |
JP5298046B2 (ja) | 画像形成装置 | |
JP5169291B2 (ja) | 文書管理システム、画像形成装置およびプログラム | |
JP2004287865A (ja) | 画像形成装置及び方法 | |
JPH10171617A (ja) | 印刷制御装置および印刷制御装置のデータ処理方法およびコンピュータが読み出し可能なプログラムを格納した記憶媒体 | |
JP7087467B2 (ja) | 印刷データの管理装置、印刷システムおよびプログラム | |
JP6172515B2 (ja) | 画像形成装置、管理装置、画像形成システム及びプログラム | |
JP2005157860A (ja) | ファイル管理装置及び方法及びプログラム | |
JP2009025996A (ja) | 画像形成システム、画像形成用プログラム、および、画像形成装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050922 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070703 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070829 |
|
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: 20070925 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20071008 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101026 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111026 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121026 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121026 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131026 Year of fee payment: 6 |
|
LAPS | Cancellation because of no payment of annual fees |