(57)【要約】【課題】  受信した複数の圧縮受信ファイル順次解凍処理することにより、メモリ消費量の低減を図った画像処理装置を提供する。【解決手段】  複数の圧縮ファイルが存在するアーカイブファイルを受信する受信部４と、アーカイブファイルを保存する記憶部１１と、記憶部１１に保存されたアーカイブファイル中の各圧縮ファイルを解凍する解凍部１５と、解凍部１５により、部分的に解凍された各圧縮ファイルの情報に基づき、解凍データのメモリ領域を割り当てるメモリ管理部１６とを備える。解凍部１５は、メモリ管理部１６の管理情報に従って複数の圧縮ファイルを順次解凍する。【選択図】    図１
2010009191.tif 000002
【特許請求の範囲】
【請求項１】
複数の圧縮ファイルが存在するアーカイブファイルを受信する受信部と、
前記アーカイブファイルを保存する記憶部と、
前記記憶部に保存された前記アーカイブファイル中の各圧縮ファイルを解凍する解凍部と、
前記解凍部により、部分的に解凍された各前記圧縮ファイルの情報に基づき、解凍データのメモリ領域を割り当てるメモリ管理部とを備え、
前記解凍部は、前記メモリ管理部の管理情報に従って前記複数の圧縮ファイルを順次解凍することを特徴とする画像処理装置。
【請求項２】
前記記憶部として高速の記憶装置と低速の記憶装置を備え、前記解凍データの内、使用頻度が高いものは前記高速の記憶装置に保存し、使用頻度の低いものは前記低速の記憶装置に保存することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記解凍データの内、不用となったものはメモリ上から削除することを特徴とする請求項１または請求項２に記載の画像処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、圧縮されたデータを受信し、該受信データを解凍処理して画像出力する画像処理装置に関するものである。
【背景技術】
【０００２】
外部端末等から送られるデータを受信して画像出力する装置として、例えば、特許文献１が知られている。
特許文献１の情報出力装置は、ワークステーション端末から転送された電子メールを受けて印刷出力するものであって、ファイル解凍部およびスプールメモリを備え、受信したファイルが圧縮ファイルから成る場合は、上記ファイル解凍部において、受信した圧縮ファイルの解凍処理が行われ、復元されたファイルとして一旦、上記スプールメモリに保存された後、ビットマップデータに変換され、該ビットマップデータが画像形成部（プリンタ装置）に出力されるように構成されている。
しかしながら、情報出力装置において、受信した全ての圧縮ファイルを一度に解凍すると、そのデータ保存用として大容量のメモリが必要であって、このことが、情報出力装置にとっては大きな負担となっていた。
【特許文献１】特開平１１−１６１４５７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
本発明は、上記実情に鑑み成されたもので、受信した複数の圧縮受信ファイル順次解凍処理することにより、メモリ消費量の低減を図った画像処理装置を提供することを目的としている。
【課題を解決するための手段】
【０００４】
すなわち、本発明は、複数の圧縮ファイルが存在するアーカイブファイルを受信する受信部と、上記アーカイブファイルを保存する記憶部と、上記記憶部に保存された上記アーカイブファイル中の各圧縮ファイルを解凍する解凍部と、上記解凍部により、部分的に解凍された各圧縮ファイルの情報に基づき、解凍データのメモリ領域を割り当てるメモリ管理部とを備え、上記解凍部は、上記メモリ管理部の管理情報に従って上記複数の圧縮ファイルを順次解凍することを特徴としている。
【発明の効果】
【０００５】
本発明によれば、アーカイブファイルに存在する複数の圧縮ファイルを、ファイル単位で部分的に解凍しながら逐次処理するようにしたので、全ての圧縮ファイルを一度に解凍する場合に比べ、データ保存のためのメモリ消費量を低減することができる。
【発明を実施するための最良の形態】
【０００６】
以下、図面に基づいて本発明の画像処理装置の実施形態を説明する。
図１は実施例１による画像処理装置のブロック構成図、図２は画像処理装置におけるデータ受信動作を示すフローチャート、図３は受信データの事前解析動作を示すフローチャート、図４は受信データの解析動作を示すフローチャート、図５は受信した圧縮ファイルの構成を示す図、図６は解凍したファイルのマークアップ、図７はページ毎のファイル名リスト、図８は１ページ目のファイル情報によるリソースリスト、図９は２ページ目のファイル情報によるリソースリスト、図１０はリソースリストのファイル削除リスト、図１１は実施例２による画像処理装置のブロック構成図である。
【実施例１】
【０００７】
図１中、符号３は画像処理装置としてのプリンタであり、上位装置であるホストＰＣ１に接続されている。本実施例において、ホストＰＣ１はプリンタ３に送信データ２としてＸＰＳ文書形式の印刷データを送信する。
上記プリンタ３は、ホストＰＣより送信される印刷データを受信する受信バッファ４（受信部）と、受信バッファ４が受信した印刷データからページ記述言語を判断する言語判断部５と、印刷データからＸＰＳ（ＸＭＬ  Ｐａｐｅｒ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ）言語を解析するＸＰＳ言語解析部６と、ＸＰＳ言語解析部６で解析されたＸＰＳ言語を中間コード化する編集処理部７と、中間コードを印刷イメージに展開する展開処理部８と、印刷イメージを印刷する印刷部９とから成る。
【０００８】
また、ＸＰＳ言語解析部６には、受信バッファ４が受信した印刷データを記憶装置１１（記憶部）へ受信データ１２として保持する受信データ保存部１０と、ＸＰＳ言語解析部６からの要求に応じて上記記憶装置１１から受信データ１２を読み出すと共に、その情報をＸＰＳ言語解析部６へ渡す受信データ読み出し部１４に接続されており、また、受信データ読み出し部１４は、記憶装置１１に保存されている受信データ１２を解凍するデータ解凍部１５（解凍部）と、データ解凍部１５で解凍した部分解凍データ１３を管理するメモリ管理部１６とを備える。
【０００９】
以下、プリンタ３が上位ホストＰＣ１よりＸＰＳ言語形式の印刷データを受信した場合の動作を、図２に基づき、図１を参照して説明する。
図２において、ホストＰＣ１から印刷データが送信されると、印刷データはプリンタ３の受信バッファ４に書き込まれる。言語判断部５は、受信バッファ４から印刷データを取得してデータ解析し、印刷データがＸＰＳ言語データであると判定すると、印刷データが保存される受信バッファ４のアドレスをＸＰＳ言語解析部６へ渡す（Ｓ１０１）。
ＸＰＳ言語解析部６は、このアドレスを基に受信バッファ４から印刷データを読み出し取得すると共に、受信データ保存部１０を介して記憶装置１１に受信データ１２として保存する（Ｓ１０２）。尚、この受信データ１２は、ＺＩＰアーカイブされており、ＺＩＰアーカイブ中には、図５に示すように、複数のディレクトリと複数のファイルが存在している。
【００１０】
次に、ＸＰＳ言語解析部６は、受信データ読み出し部１４に受信データ１２の事前解析を要求する（Ｓ１０３）。以下に、受信データ読み出し部１４による受信データ１２の事前解析動作を、図３に基づき、図５〜９を参照して説明する。
【００１１】
図３において、先ず、ＸＰＳ言語解析部６より解析の要求があると、データ解凍部１５は、受信データ１２から、図５中のファイル「＿ｒｅｌｓ／．ｒｅｌｓ」２５を部分的に解凍し、ＸＰＳ言語解析部６は、このファイル情報の解析を行う（Ｓ２０１）。解凍したファイルのデータの内容は、図６の／＿ｒｅｌｓ／．ｒｅｌｓのマークアップ５２のようにＸＭＬ文書で記載されており、その記載内容から、次に解析すべきファイルを特定する。
すなわち、ＸＰＳのマークアップの規則より、／＿ｒｅｌｓ／．ｒｅｌｓのマークアップ５２の３行目の＜ＲｅｌａｔｉｏｎｓｈｉｐＴａｒｇｅｔ＝”／ＦｉｘｅｄＤｏｃｕｍｅｎｔＳｅｑｕｅｎｃｅ．ｆｄｓｅｑ”Ｉｄ＝”ＲＯ”Ｔｙｐｅ＝ｈｔｔｐ：／／ｓｃｈｅｍａｓ．ｍｉｃｒｏｓｏｆｔ．ｃｏｍ／ｘｐｓ／２００５／０６／ｆｉｘｅｄｒｅｐｒｅｓｅｎｔａｔｉｏｎ”／＞という記述から、次に解析するファイルは、「／ＦｉｘｅｄＤｏｃｕｍｅｎｔＳｅｑｕｅｎｃｅ．ｆｄｓｅｑ」であると特定する。
メモリ管理部１６は、解析が終わった時点で部分的に解凍した「＿ｒｅｌｓ／．ｒｅｌｓ」を削除する。
【００１２】
次に、データ解凍部１５は、受信データ１２から、図５のファイル「／ＦｉｘｅｄＤｏｃｕｍｅｎｔＳｅｑｕｅｎｃｅ．ｆｄｓｅｑ」２３を部分的に解凍し、ＸＰＳ言語解析部６は、そのファイル情報を解析する（Ｓ２０２）。
解凍により得られた図６のＦｉｘｅｄＤｏｃｕｍｅｎｔＳｅｑｕｅｎｃｅ．ｆｄｓｅｑのマークアップ５３の内容から次に解析すべきファイルを特定する。すなわち、ＦｉｘｅｄＤｏｃｕｍｅｎｔＳｅｑｕｅｎｃｅ．ｆｄｓｅｑのマークアップ５３の３行目の＜ＤｏｃｕｍｅｎｔＲｅｆｅｒｅｎｃｅ  Ｓｏｕｒｃｅ＝”／Ｄｏｃｕｍｅｎｔｓ／１／ＦｉｘｅｄＤｏｃｕｍｅｎｔ．ｆｄｏｃ”／＞の記述から、次に解析するファイルは、「／Ｄｏｃｕｍｅｎｔｓ／１／ＦｉｘｅｄＤｏｃｕｍｅｎｔ．ｆｄｏｃ」であると特定する。
メモリ管理部１６は、解析が終わった時点で部分的に解凍した「／ＦｉｘｅｄＤｏｃｕｍｅｎｔＳｅｑｕｅｎｃｅ．ｆｄｓｅｑ」を削除する。
【００１３】
次に、データ解凍部１５は、受信データ１２から、図５のファイル「Ｄｏｃｕｍｅｎｔｓ／１／ＦｉｘｅｄＤｏｃｕｍｅｎｔ．ｆｄｏｃ」３１を部分的に解凍し、ＸＰＳ言語解析部６は、そのファイル情報を解析する（Ｓ２０３）。
解凍により得られた図６の／Ｄｏｃｕｍｅｎｔｓ／１／ＦｉｘｅｄＤｏｃｕｍｅｎｔ．ｆｄｏｃのマークアップ５４の内容から次に解析すべきファイルを特定する。すなわち、／Ｄｏｃｕｍｅｎｔｓ／１／ＦｉｘｅｄＤｏｃｕｍｅｎｔ．ｆｄｏｃのマークアップ５４の３行目の＜ＰａｇｅＣｏｎｔｅｎｔ  Ｓｏｕｒｃｅ＝“／Ｄｏｃｕｍｅｎｔｓ／１／Ｐａｇｅｓ／１．ｆｐａｇｅ”／＞の記述から、次に解析するファイルは、「／Ｄｏｃｕｍｅｎｔｓ／１／Ｐａｇｅｓ／１．ｆｐａｇｅ」であると特定し、図７のページ毎のファイル名リスト５７に「／Ｄｏｃｕｍｅｎｔｓ／１／Ｐａｇｅｓ／１．ｆｐａｇｅ」を登録する。
また、／Ｄｏｃｕｍｅｎｔｓ／１／ＦｉｘｅｄＤｏｃｕｍｅｎｔ．ｆｄｏｃのマークアップ５４の４行目の＜ＰａｇｅＣｏｎｔｅｎｔ  Ｓｏｕｒｃｅ＝“／Ｄｏｃｕｍｅｎｔｓ／１／Ｐａｇｅｓ／２．ｆｐａｇｅ”／＞の記述から、その次に解析すべきファイルは、「／Ｄｏｃｕｍｅｎｔｓ／１／Ｐａｇｅｓ／２．ｆｐａｇｅ」であると特定し、図７のページ毎のファイル名リスト５７に「／Ｄｏｃｕｍｅｎｔｓ／１／Ｐａｇｅｓ／２．ｆｐａｇｅ」を登録する。
メモリ管理部１６は、解析が終わった時点で部分的に解凍した「／Ｄｏｃｕｍｅｎｔｓ／１／ＦｉｘｅｄＤｏｃｕｍｅｎｔ．ｆｄｏｃ」を削除する。
【００１４】
次に、データ解凍部１５は、図７のページ毎のファイル名リスト５７より、１ページ目のファイル情報を取得し、受信データ１２から、図５のファイル「／Ｄｏｃｕｍｅｎｔｓ／１／Ｐａｇｅｓ／１．ｆｐａｇｅ」３６を部分的に解凍し、ＸＰＳ言語解析部６は、そのファイル情報を解析する（Ｓ２０４）。
解凍により得られた図６の／Ｄｏｃｕｍｅｎｔｓ／１／Ｐａｇｅｓ／１．ｆｐａｇｅのマークアップ５５の内容からフォントデータとイメージデータに関する記述を解析する。すなわち、ＸＰＳのマークアップの規則では、フォントデータを特定するには、ＦｏｎｔＵｒｉ属性の値を参照し、イメージデータはＩｍａｇｅＳｏｕｒｃｅ属性の値を参照すれば良いから、／Ｄｏｃｕｍｅｎｔｓ／１／Ｐａｇｅｓ／１．ｆｐａｇｅのマークアップ５５を解析することにより、「／Ｄｏｃｕｍｅｎｔｓ／１／Ｒｅｓｏｕｒｃｅｓ／Ｆｏｎｔｓ／９２ＦＢＡ０３９−５２５７−４４２Ｅ−ＢＦＤ８−９ＥＦ５Ｆ４Ｃ８７ＤＤ３．ｏｄｔｔｆ」が２回、「／Ｄｏｃｕｍｅｎｔｓ／１／Ｒｅｓｏｕｒｃｅｓ／Ｆｏｎｔｓ／７ＤＥ７ＡＥＦＦ−Ｆ２３２−４２２Ｅ−ＢＡ０ＯＣ−７９Ａ０８８Ｅ６Ｆ０Ｅ９．ｏｄｔｔｆ」が１回使用されることが判明する。解析結果を、図８のリソースリスト５８のように登録する。
メモリ管理部１６は、解析が終わった時点で部分的に解凍した「／Ｄｏｃｕｍｅｎｔｓ／１／Ｐａｇｅｓ／１．ｆｐａｇｅ」を削除する。
【００１５】
次に、データ解凍部１５は、図７のページ毎のファイル名リスト５７より２ページ目のファイル情報を取得し、受信データ１２から、図５のファイル「／Ｄｏｃｕｍｅｎｔｓ／１／Ｐａｇｅｓ／２．ｆｐａｇｅ」３７を部分的に解凍し、ＸＰＳ言語解析部６は、そのファイル情報を解析する（Ｓ２０５）。
解凍により得られた／Ｄｏｃｕｍｅｎｔｓ／１／Ｐａｇｅｓ／２．ｆｐａｇｅのマークアップ５６の内容からフォントデータと、イメージデータに関する記述を解析する。
すなわち、／Ｄｏｃｕｍｅｎｔｓ／１／Ｐａｇｅｓ／２．ｆｐａｇｅのマークアップ５６を解析することにより「／Ｄｏｃｕｍｅｎｔｓ／１／Ｒｅｓｏｕｒｃｅｓ／Ｆｏｎｔｓ／９２ＦＢＡ０３９−５２５７−４４２Ｅ−ＢＦＤ８−９ＥＦ５Ｆ４Ｃ８７ＤＤ３．ｏｄｔｔｆ」が５回、「／Ｄｏｃｕｍｅｎｔｓ／１／Ｒｅｓｏｕｒｃｅｓ／Ｉｍａｇｅｓ／１．ＪＰＧ」が１回使用されることが判明する。解析結果を、図９のリソース５９のように登録する。
メモリ管理部１６は、解析が終わった時点で部分的に解凍した「／Ｄｏｃｕｍｅｎｔｓ／１／Ｐａｇｅｓ／２．ｆｐａｇｅ」を削除する。
【００１６】
また、図７のページ毎のファイル名リスト５７からページ名が取得できなくなった時点で、図１０に示すファイル削除リスト６０を作成する。このファイル削除リスト６０は、図９のリソースリスト５９で、どのページでどのリソースが必要無くなるかを判断する際に使用されるものである。
これで、事前解析動作は終了する。
【００１７】
次に、ＸＰＳ言語解析部６は、受信データ１２の解析を行う（Ｓ１０４）。以下に、ＸＰＳ言語解析部６による受信データ１２の解析動作（Ｓ１０４）を、図４に基づき、図５〜９を参照して説明する。
【００１８】
図４において、先ず、ＸＰＳ言語解析部６は、図５中のファイル「［Ｃｏｎｔｅｎｔ＿Ｔｙｐｅｓ］．ｘｍｌ」２２を解析するため、受信データ読み出し部１４に「［Ｃｏｎｔｅｎｔ＿Ｔｙｐｅｓ］．ｘｍｌの読み出しを要求する。
データ解凍部１５は、受信データ１２から「［Ｃｏｎｔｅｎｔ＿Ｔｙｐｅｓ］．ｘｍｌ」を部分的に解凍し、ＸＰＳ言語解析部６は、そのファイル情報より、「［Ｃｏｎｔｅｎｔ＿Ｔｙｐｅｓ］．ｘｍｌ」２２の解析を行い、ファイル別の拡張子の情報などを取得する（Ｓ３０１）。
メモリ管理部１６は、解析が終わった時点で、部分解凍した「［Ｃｏｎｔｅｎｔ＿Ｔｙｐｅｓ］．ｘｍｌ」を削除する。
【００１９】
次に、ＸＰＳ言語解析部６は、図５のファイル「＿ｒｅｌｓ／．ｒｅｌｓ」２５を解析するために、受信データ読み出し部１４に「＿ｒｅｌｓ／．ｒｅｌｓ」の読み出しを要求する。データ解凍部１５は、受信データ１２から「＿ｒｅｌｓ／．ｒｅｌｓ」を部分的に解凍し、ＸＰＳ言語解析部６は、そのファイル情報の解析を行う（Ｓ３０２）。解析方法は、図２のＳ２０１と同様であるので説明は省略する。
メモリ管理部１６は、解析が終わった時点で、部分解凍した「＿ｒｅｌｓ／．ｒｅｌｓ」を削除する。
【００２０】
次に、解析すべきファイルは「／ＦｉｘｅｄＤｏｃｕｍｅｎｔＳｅｑｕｅｎｃｅ．ｆｄｓｅｑ」であるので、ＸＰＳの仕様からそのファイルの関連ファイルとなる「／＿ｒｅｌｓ／ＦｉｘｅｄＤｏｃｕｍｅｎｔＳｅｑｕｅｎｃｅ．ｆｄｓｅｑ．ｒｅｌｓ」が存在するかを確認し、実施例１では、図５にこのファイルが存在するため、その解析を行う。
ＸＰＳ言語解析部６は、受信データ読み出し部１４に「／＿ｒｅｌｓ／ＦｉｘｅｄＤｏｃｕｍｅｎｔＳｅｑｕｅｎｃｅ．ｆｄｓｅｑ．ｒｅｌｓ」の読み出しを要求する。データ解凍部１５は、受信データ１２から、「／＿ｒｅｌｓ／ＦｉｘｅｄＤｏｃｕｍｅｎｔＳｅｑｕｅｎｃｅ．ｆｄｓｅｑ．ｒｅｌｓ」を部分的に解凍し、ＸＰＳ言語解析部６は、そのファイル情報により、ファイル「／＿ｒｅｌｓ／ＦｉｘｅｄＤｏｃｕｍｅｎｔＳｅｑｕｅｎｃｅ．ｆｄｓｅｑ．ｒｅｌｓ」２６の解析を行う（Ｓ３０３）。
メモリ管理部１６は、解析が終わった時点で、分解凍した「／＿ｒｅｌｓ／ＦｉｘｅｄＤｏｃｕｍｅｎｔＳｅｑｕｅｎｃｅ．ｆｄｓｅｑ．ｒｅｌｓ」を削除する。
【００２１】
次に、ＸＰＳ言語解析部６は、図５のファイル「／ＦｉｘｅｄＤｏｃｕｍｅｎｔＳｅｑｕｅｎｃｅ．ｆｄｓｅｑ」２３を解析するため、受信データ読み出し部１４に、「／ＦｉｘｅｄＤｏｃｕｍｅｎｔＳｅｑｕｅｎｃｅ．ｆｄｓｅｑ」の読み出しを要求する。データ解凍部１５は、受信データ１２から「／ＦｉｘｅｄＤｏｃｕｍｅｎｔＳｅｑｕｅｎｃｅ．ｆｄｓｅｑ」を部分的に解凍し、ＸＰＳ言語解析部６は、そのファイル情報よりファイル「／ＦｉｘｅｄＤｏｃｕｍｅｎｔＳｅｑｕｅｎｃｅ．ｆｄｓｅｑ」２３の解析を行う（Ｓ３０４）。解析方法は、図２のＳ２０２と同様であるため、説明は省略する。
メモリ管理部１６は、解析が終わった時点で部分解凍した「／ＦｉｘｅｄＤｏｃｕｍｅｎｔＳｅｑｕｅｎｃｅ．ｆｄｓｅｑ」を削除する。
【００２２】
次に、解析するファイルは「／Ｄｏｃｕｍｅｎｔｓ／１／ＦｉｘｅｄＤｏｃｕｍｅｎｔ．ｆｄｏｃ」であるので、ＸＰＳの仕様からそのファイルの関連ファイルとなる「／Ｄｏｃｕｍｅｎｔｓ／１／＿ｒｅｌｓ／ＦｉｘｅｄＤｏｃｕｍｅｎｔ．ｆｄｏｃ．ｒｅｌｓ」が存在するかを確認する。実施例１では、ファイルが存在しないため、ＸＰＳ言語解析部６は、図５のファイル「／Ｄｏｃｕｍｅｎｔｓ／１／ＦｉｘｅｄＤｏｃｕｍｅｎｔ．ｆｄｏｃ」３１を解析するために、受信データ読み出し部１４に、「／Ｄｏｃｕｍｅｎｔｓ／１／ＦｉｘｅｄＤｏｃｕｍｅｎｔ．ｆｄｏｃ」の読み出しを要求する。
データ解凍部１５は、受信データ１２から、「／Ｄｏｃｕｍｅｎｔ／１／ＦｉｘｅｄＤｏｃｕｍｅｎｔ．ｆｄｏｃ」を部分的に解凍し、ＸＰＳ言語解析部６は、そのファイル情報より、ファイル「／Ｄｏｃｕｍｅｎｔ／１／ＦｉｘｅｄＤｏｃｕｍｅｎｔ．ｆｄｏｃ」３１の解析を行い（Ｓ３０５）、次以降のファイルを図７のページ毎のファイル名リスト５７に登録する。解析方法は図２のＳ２０３と同様であるため説明は省略する。
「メモリ管理部１６は、解析が終わった時点で、部分解凍した「／Ｄｏｃｕｍｅｎｔ／１／ＦｉｘｅｄＤｏｃｕｍｅｎｔ．ｆｄｏｃ」を削除する。
【００２３】
次に、ＸＰＳ言語解析部６は、図７のページ毎のファイル名リスト５７から１ページ目のファイル名を取得する。１ページ目のファイル名は「／Ｄｏｃｕｍｅｎｔｓ／１／Ｐａｇｅｓ／１．ｆｐａｇｅ」であるので、ＸＰＳの仕様から関連ファイルとなる「／Ｄｏｃｕｍｅｎｔｓ／１／Ｐａｇｅｓ／＿ｒｅｌｓ／１．ｆｐａｇｅ．ｒｅｌｓ」が存在するかを確認し、実施例１では、このファイルが存在するため、ＸＰＳ言語解析部６は、図５のファイル「／Ｄｏｃｕｍｅｎｔｓ／１／Ｐａｇｅｓ／＿ｒｅｌｓ／１．ｆｐａｇｅ．ｒｅｌｓ」３９を解析するため、受信データ読み出し部１４に、「／Ｄｏｃｕｍｅｎｔｓ／１／Ｐａｇｅｓ／＿ｒｅｌｓ／１．ｆｐａｇｅ．ｒｅｌｓ」の読み出しを要求する。データ解凍部１５は、受信データ１２から、「／Ｄｏｃｕｍｅｎｔｓ／１／Ｐａｇｅｓ／＿ｒｅｌｓ／１．ｆｐａｇｅ．ｒｅｌｓ」を部分的に解凍し、ＸＰＳ言語解析部６は、そのファイル情報により、ファイル「／Ｄｏｃｕｍｅｎｔｓ／１／Ｐａｇｅｓ／＿ｒｅｌｓ／１．ｆｐａｇｅ．ｒｅｌｓ」３９の解析を行う（Ｓ３０６）。
メモリ管理部１６は、解析が終わった時点で、部分解凍した「／Ｄｏｃｕｍｅｎｔｓ／１／Ｐａｇｅｓ／＿ｒｅｌｓ／１．ｆｐａｇｅ．ｒｅｌｓ」を削除する。
【００２４】
次に、ＸＰＳ言語解析部６は、図５のファイル「／Ｄｏｃｕｍｅｎｔｓ／１／Ｐａｇｅｓ／１．ｆｐａｇｅ」３６を解析するために、受信データ読み出し部１４に、「／Ｄｏｃｕｍｅｎｔｓ／１／Ｐａｇｅｓ／１．ｆｐａｇｅ」の読み出しを要求する。データ解凍部１５は、受信データ１２から、「／Ｄｏｃｕｍｅｎｔｓ／１／Ｐａｇｅｓ／１．ｆｐａｇｅ」を部分的に解凍し、ＸＰＳ言語解析部６は、そのファイル情報よりファイル「／Ｄｏｃｕｍｅｎｔｓ／１／Ｐａｇｅｓ／１．ｆｐａｇｅ」３６解析を行う（Ｓ３０７）。
【００２５】
ここで、解凍により得られた図６の／Ｄｏｃｕｍｅｎｔｓ／１／Ｐａｇｅｓ／１．ｆｐａｇｅのマークアップ５５の解析について説明する。
１行目はページに関する記述であり、Ｗｉｄｔｈ属性、Ｈｅｉｇｔｈ属性からページの大きさを決定する。また、２行目、３行目はフォントに関する記述である。ＦｏｎｔＵｒｉ属性から使用するフォントは「／Ｄｏｃｕｍｅｎｔｓ／１／Ｒｅｓｏｕｒｃｅｓ／Ｆｏｎｔｓ／９２ＦＢＡ０３９−５２５７−４４２Ｅ−ＢＦＤ８−９ＥＦ５Ｆ４Ｃ８７ＤＤ３．ｏｄｔｔｆ」であり、その他の属性からフォントの大きさや描画位置を取得することができる。
【００２６】
これらの情報から、印刷を行うための中間コードを作成する（Ｓ１０５）。中間コードを作成する過程で一度フォントを部分解凍し、メモリ管理部１６が記憶装置１１上に部分解凍データ１３として配置する。メモリ管理部１６は、フォント「９２ＦＢＡ０３９−５２５７−４４２Ｅ−ＢＦＤ８−９ＥＦ５Ｆ４Ｃ８７ＤＤ３．ｏｄｔｔｆ」の使用が終わっても、その時点では解凍したフォントは削除しない。
【００２７】
また、４行目、５行目にもフォントに関する記述があり、ＦｏｎｔＵｒｉ属性から使用するフォントは「／Ｄｏｃｕｍｅｎｔｓ／１／Ｒｅｓｏｕｒｃｅｓ／Ｆｏｎｔｓ／７ＤＥ７ＡＥＦＦ−Ｆ２３２−４２２Ｅ−ＢＡ０Ｃ−７９Ａ０８８Ｅ６Ｆ０Ｅ９．ｏｄｔｔｆ」であり、その他の属性からフォントの大きさや描画位置を取得することができる。
これらの情報から印刷を行うための中間コードを作成する（Ｓ１０５）。中間コードを作成する過程で一度フォントを部分解凍し、メモリ管理部１６が記憶装置１１上に部分解凍データ１３として配置するが、この場合も、メモリ管理部１６は、フォント「７ＤＥ７ＡＥＦＦ−Ｆ２３２−４２２Ｅ−ＢＡ０Ｃ−７９Ａ０８８Ｅ６Ｆ０Ｅ９．ｏｄｔｔｆ」の使用が終わった時点で解凍したフォントは削除しない。
【００２８】
さらに、６行目、７行目にもフォントに関する記述があり、ＦｏｎｔＵｒｉ属性から使用するフォントは「／Ｄｏｃｕｍｅｎｔｓ／１／Ｒｅｓｏｕｒｃｅｓ／Ｆｏｎｔｓ／９２ＦＢＡ０３９−５２５７−４４２Ｅ−ＢＦＤ８−９ＥＦ５Ｆ４Ｃ８７ＤＤ３．ｏｄｔｔｆ」であり、その他の属性からフォントの大きさや描画位置を取得することができる。
これらの情報から印刷を行うための中間コードを作成する（Ｓ１０５）。この際、メモリ管理部１６は、フォント「９２ＦＢＡ０３９−５２５７−４４２Ｅ−ＢＦＤ８−９ＥＦ５Ｆ４Ｃ８７ＤＤ３．ｏｄｔｔｆ」は、既に部分解凍済みであると判断して解凍済みのデータを使用する。
メモリ管理部１６は、解析が終わった時点で、部分解凍した「／Ｄｏｃｕｍｅｎｔｓ／１／Ｐａｇｅｓ／１．ｆｐａｇｅ」を削除する。
【００２９】
メモリ管理部１６は、１ページ目の処理が終了した時点で、ファイル削除リスト６０から１ページ目の削除対象リソースを取得する。取得したファイル「７ＤＥ７ＡＥＦＦ−Ｆ２３２−４２２Ｅ−ＢＡ０Ｃ−７９Ａ０８８Ｅ６Ｆ０Ｅ９．ｏｄｔｔｆ」は、ファイル削除リスト６０の内容から、次ページ以降は使用されないと判断し、このリソースを削除する。
また、ファイル「９２ＦＢＡ０３９−５２５７−４４２Ｅ−ＢＦＤ８−９ＥＦ５Ｆ４Ｃ８７ＤＤ３．ｏｄｔｔｆ」は、ファイル削除リスト６０の１ページ目の削除対象リソースに存在しないことから、次ページ以降も使用されると判断し、リソースの削除は行わない。
【００３０】
次にＸＰＳ言語解析部６は、図７のページ毎のファイル名リスト５７から、２ページ目のファイル名を取得する。２ページ目のファイル名は「／Ｄｏｃｕｍｅｎｔｓ／１／Ｐａｇｅｓ／２．ｆｐａｇｅ」であるので、ＸＰＳの仕様から関連ファイルとなる「／Ｄｏｃｕｍｅｎｔｓ／１／Ｐａｇｅｓ／＿ｒｅｌｓ  ／２．ｆｐａｇｅ．ｒｅｌｓ」が存在するかを確認する。
実施例１ではファイルが存在するので、ＸＰＳ言語解析部６は、図５の「／Ｄｏｃｕｍｅｎｔｓ／１／Ｐａｇｅｓ／＿ｒｅｌｓ／２．ｆｐａｇｅ．ｒｅｌｓ」４０を解析するため、受信データ読み出し部１４に、「／Ｄｏｃｕｍｅｎｔｓ／１／Ｐａｇｅｓ／＿ｒｅｌｓ／２．ｆｐａｇｅ．ｒｅｌｓ」の読み出しを要求する。データ解凍部１５は、受信データ１２から、「／Ｄｏｃｕｍｅｎｔｓ／１／Ｐａｇｅｓ／＿ｒｅｌｓ／２．ｆｐａｇｅ．ｒｅｌｓ」を部分的に解凍し、ＸＰＳ言語解析部６は、ファイル情報によりファイルＤｏｃｕｍｅｎｔｓ／１／Ｐａｇｅｓ／＿ｒｅｌｓ／２．ｆｐａｇｅ．ｒｅｌｓ」４０の解析を行う（Ｓ３０８）。
メモリ管理部１６は、解析が終わった時点で部分解凍した「／Ｄｏｃｕｍｅｎｔｓ／１／Ｐａｇｅｓ／＿ｒｅｌｓ／２．ｆｐａｇｅ．ｒｅｌｓ」を削除する。
【００３１】
次に、ＸＰＳ言語解析部６は、図５のファイル「／Ｄｏｃｕｍｅｎｔｓ／１／Ｐａｇｅｓ／２．ｆｐａｇｅ」３７を解析するために、受信データ読みとり部１４に、「／Ｄｏｃｕｍｅｎｔｓ／１／Ｐａｇｅｓ／２．ｆｐａｇｅ」の読み出しを要求する。データ解凍部１５は、受信データ１２から、「／Ｄｏｃｕｍｅｎｔｓ／１／Ｐａｇｅｓ／２．ｆｐａｇｅ」を部分的に解凍し、ＸＰＳ言語解析部６は、そのファイル情報より「／Ｄｏｃｕｍｅｎｔｓ／１／Ｐａｇｅｓ／２．ｆｐａｇｅ」３７の解析を行う（Ｓ３０９）。
【００３２】
ここで、図６の／Ｄｏｃｕｍｅｎｔｓ／１／Ｐａｇｅｓ／２．ｆｐａｇｅのマークアップ５６の解析について説明する。
１行目はページに関する記述であり、Ｗｉｄｔｈ属性、Ｈｅｉｇｔｈ属性からページの大きさを決定する。また、２〜８行目、１５〜１８行目はフォントに関する記述であり、１ページ目と同様の処理を行う。メモリ管理部１６は、フォントは１ページ目の処理で解凍済みであると判断し、解凍済みフォントを使用する。
９〜１４行目は、イメージに関するマークアップで、位置情報やイメージデータである「１．ＪＰＧ」を使用して、図形を塗りつぶすという描画に関する内容が記述されている。これらの情報から印刷を行うための中間コードを作成する（Ｓ１０５）。中間コードを作成する過程で、一度イメージデータを部分解凍し、記憶装置１１上に部分解凍データ１３として配置するが、メモリ管理部１６は、イメージデータの使用が終わっても、その時点では削除しない。
メモリ管理部１６は、解析が終わった時点で、部分解凍した「／Ｄｏｃｕｍｅｎｔｓ／１／Ｐａｇｅｓ／２．ｆｐａｇｅ」を削除する。
【００３３】
メモリ管理部１６は、２ページ目の処理が終了した時点で、ファイル削除リスト６０から２ページ目の削除対象リソースを取得する。取得したファイル「９２ＦＢＡ０３９−５２５７−４４２Ｅ−ＢＦＤ８−９ＥＦ５Ｆ４Ｃ８７ＤＤ３．ｏｄｔｔｆ」、「１．ＪＰＧ」は、次ページ以降は使用されないと判断し、これらリソースを順次削除する。
【００３４】
以上のように、Ｓ１０４において、ＸＰＳ言語解析部６は、ＸＰＳファイルを逐次解析し、編集処理部７にページの編集を指示する。編集処理部７は、既述したように、その都度ページを構成する中間コードを生成し、１ページ分の編集が終了した時点で、展開処理部８にページの展開を指示する（Ｓ１０５）。
展開処理部８は、中間コードを読み込んで印刷イメージへと展開し、印刷イメージの生成が終了した時点で印刷部９に印刷イメージを渡し（Ｓ１０６）、印刷部９は、印刷イメージに基づいて印刷を行う（Ｓ１０７）。
【００３５】
以上、実施例１によれば、アーカイブファイルに存在する複数の圧縮ファイルを、ファイル単位で部分的に解凍しながら逐次処理するようにしたので、全ての圧縮ファイルを一度に解凍する場合に比べ、データ保存のためのメモリ消費量を低減することができ、画像処理装置の負担を軽減できる。
また、印刷に不要なファイルは解凍せず、印刷に必要なファイルのみを逐次解凍して処理するので、メモリ効率の向上が図れる。
また、リソースリストにより、次ページ以降で使用されるリソースを管理するので、同じファイルをその都度解凍することを回避でき、処理速度の向上が図れる。
【実施例２】
【００３６】
以下、本発明の実施例２を説明する。
実施例２では、図１１に示すように、実施例１の構成に加えて、記憶装置１１より高速の記憶装置１７を新たに設けた構成としている。実施例２では、例えば、記憶装置１１としてＨＤＤ（ハードディスク）を用い、記憶装置１７としてＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）を用いている。
【００３７】
また、プリンタ３が上位ホストＰＣ１よりＸＰＳ言語形式の印刷データを受信した場合の動作については、実施例１と同様であるが、実施例２では、記憶装置１１より高速の記憶装置１７を設けた構成としている点で、以下の動作が実施例１と相違している。
【００３８】
すなわち、図４のフローチャートＳ３０７における、／Ｄｏｃｕｍｅｎｔｓ／１／Ｐａｇｅｓ／１．ｆｐａｇｅのマークアップ５５の２行目、３行目の解析で、部分解凍したフォント「９２ＦＢＡ０３９−５２５７−４４２Ｅ−ＢＦＤ８−９ＥＦ５Ｆ４Ｃ８７ＤＤ３．ｏｄｔｔｆ」を記憶装置に配置する際、メモリ管理部１６は、リソースリスト５９を参照し、このフォントは、１、２ページ目で複数回使用されることから使用頻度が高いと判断し、フォント「９２ＦＢＡ０３９−５２５７−４４２Ｅ−ＢＦＤ８−９ＥＦ５Ｆ４Ｃ８７ＤＤ３．ｏｄｔｔｆ」を高速の記憶装置（ＲＡＭ）１７に部分解凍データ１８として配置するようにしている。
また、４行目、５行目の解析では、部分解凍したフォント「７ＤＥ７ＡＥＦＦ−Ｆ２３２−４２２Ｅ−ＢＡ０Ｃ−７９Ａ０８８Ｅ６Ｆ０Ｅ９．ｏｄｔｔｆ」を記憶装置に配置する際、メモリ管理部１６は、リソースリスト５９を参照し、このフォントは、１ページ目でのみ使用されることから使用頻度が低いと判断し、フォント「７ＤＥ７ＡＥＦＦ−Ｆ２３２−４２２Ｅ−ＢＡ０Ｃ−７９Ａ０８８Ｅ６Ｆ０Ｅ９．ｏｄｔｔｆ」を低速の記憶装置１１（ＨＤＤ）に部分解凍データ１３として配置するようにしている。
【００３９】
また、図４のフローチャートＳ３０９における、／Ｄｏｃｕｍｅｎｔｓ／１／Ｐａｇｅｓ／２．ｆｐａｇｅのマークアップ５６の解析で、部分解凍したイメージデータ「１．ＪＰＧ」を記憶装置上に配置する際、メモリ管理部１６は、リソースリスト５９を参照し、このイメージデータは２ページ目でのみ使用されることから、使用頻度が低いと判断し、イメージデータ「１．ＪＰＧ」を記憶装置（ＨＤＤ）１１に部分解凍データ１３として展開するようにしている。
【００４０】
以上、実施例２によれば、使用頻度の高いデータはＲＡＭのような高速な記憶装置１７に配置し、使用頻度の低いデータはＨＤＤ等の低速の記憶装置１１に配置するようにしたので、記憶装置にＨＤＤのみを使用する場合に比べ、処理速度の向上が図れると共に、ＲＡＭのみを使用する場合に比べ、メモリ効率の向上が図れる。
【産業上の利用可能性】
【００４１】
以上、本実施例では、画像処理装置としてプリンタを例示したが、プリンタ記述言語を処理可能な複写機、複合機、ファクシミリ機等にも適用可能である。
【図面の簡単な説明】
【００４２】
【図１】本発明の実施例１による画像処理装置のブロック構成図である。
【図２】画像処理装置におけるデータ受信動作を示すフローチャートである。
【図３】受信データの事前解析動作を示すフローチャートである。
【図４】受信データの解析動作を示すフローチャートである。
【図５】受信した圧縮ファイルの構成を示す図である。
【図６】解凍したファイルのマークアップである。
【図７】ページ毎のファイル名リストである。
【図８】１ページ目のファイル情報によるリソースリストである。
【図９】２ページ目のファイル情報によるリソースリストである。
【図１０】リソースリストのファイル削除リストである。
【図１１】本発明の実施例２による画像処理装置のブロック構成図である。
【符号の説明】
【００４３】
１  受信バッファ（受信部）
３  プリンタ（画像処理装置）
１１、１７  記憶装置（記憶部）
１５  データ解凍部（解凍部）
１６  メモリ管理部
【図１】
2010009191.tif 000003
【図２】
2010009191.tif 000004
【図３】
2010009191.tif 000005
【図４】
2010009191.tif 000006
【図５】
2010009191.tif 000007
【図６】
2010009191.tif 000008
【図７】
2010009191.tif 000009
【図８】
2010009191.tif 000010
【図９】
2010009191.tif 000011
【図１０】
2010009191.tif 000012
【図１１】
2010009191.tif 000013