(57)【要約】      （修正有）【課題】クラウドプリントを効率化する。【解決手段】ホストコンピュータ２１０は、ネットワークを介して送付された出力するべきデータを画像出力装置２３０が出力できるデータ形式に変換し、圧縮方式を選択して圧縮手段２１６により圧縮した圧縮したデータを伸張手段を構成させるための回路情報データとともにネットワークを介して印刷装置２３０に出力する。印刷装置２３０は、送受信バッファ２３２によりホストコンピュータ２１０から圧縮データと回路情報データとを受信し、データ処理部２３４は回路情報データから構成した伸張手段により圧縮データを伸張し、出力制御部２３７は伸張されたデータにより画像出力する。【選択図】図２
2014026422.tif 000002
【特許請求の範囲】
【請求項１】
ホストコンピュータから圧縮データを受領して画像出力を行う情報処理システムであって、
前記ホストコンピュータは、
ネットワークを介して情報処理装置から出力するべきデータを受領する手段と、
複数の異なる圧縮方式から出力するべき前記データの性質に応答して圧縮率を基準として圧縮方式を選択する手段と、
出力するべき前記データを画像出力装置が出力できるデータ形式に変換する手段と、
前記画像出力装置が出力できるデータ形式とされた出力するべき前記データを、前記圧縮方式を選択する手段が選択した圧縮方式で圧縮する手段と、
前記圧縮方式で圧縮された圧縮データを、前記圧縮したデータを伸張するための手段を構成させる回路情報データに対応づけて前記画像出力装置に送付する手段とを備え、
前記画像出力装置は、
ネットワークを介して前記ホストコンピュータから送信された前記圧縮データを受信する手段と，
前記回路情報データを受領して前記圧縮データのための伸張手段を構成する構成可能な処理手段と、
前記処理手段が構成した前記伸張手段を使用して前記圧縮データを伸張し、前記画像出力装置が出力できるデータ形式で出力を制御する手段と
を備える、情報処理システム。
【請求項２】
圧縮方式を選択する前記手段は、選択するべき圧縮方式が要求するＣＰＵ能力に応じて符号化方法を選択する、請求項１に記載の情報処理システム。
【請求項３】
圧縮方式を選択する前記手段は、前記圧縮データを送信するために必要な時間に応じて前記圧縮方式を選択する、請求項１または２の記載の情報処理システム。
【請求項４】
圧縮方式を選択する前記手段は、印刷するべき前記データの属性に応じて前記圧縮方式を選択する、請求項１〜３のいずれか1項に記載の情報処理システム。
【請求項５】
圧縮方式を選択する前記手段は、前記画像出力装置のメモリ容量に応じて前記圧縮方式を選択する、請求項１〜４のいずれか1項に記載の情報処理システム。
【請求項６】
前記画像出力装置が出力できるデータ形式は、ラスタデータである、請求項１〜５のいずれか1項に記載の情報処理システム。
【請求項７】
ネットワークを介して送付された出力するべきデータを受領するホストコンピュータから圧縮データを受領して画像出力を行う画像出力装置であって、画像出力装置は、
ネットワークを介してホストコンピュータから送信された前記圧縮データを受信する手段と、
回路情報データを受領して前記圧縮データのための伸張手段を構成する構成可能な処理手段と、
前記処理手段が構成した前記伸張手段を使用して前記圧縮データを伸張し、前記画像出力装置が出力できるデータ形式で出力を制御する手段と
を備える、画像出力装置。
【請求項８】
情報処理装置から受領した印刷するべきデータを出力させるため、ホストコンピュータが実行するコンピュータ実行可能なプログラムであって、前記プログラムは、前記ホストコンピュータを、
ネットワークを介して情報処理装置から出力するべきデータを受領する手段、
複数の異なる圧縮方式から出力するべき前記データの性質に応答して圧縮率を基準として圧縮方式を選択する手段、
出力するべき前記データを画像出力装置が出力できるデータ形式に変換する手段、
前記画像出力装置が出力できるデータ形式とされた出力するべき前記データを、前記圧縮方式を選択する手段が選択した圧縮方式で圧縮する手段、
選択した圧縮方式で圧縮する前記手段が圧縮した圧縮データを、前記圧縮したデータを伸張するための手段を構成させる回路情報データに対応づけて前記画像出力装置に送付する手段
として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、クラウドプリント技術に関し、より詳細には、クラウドプリントを効率化する技術に関する。
【背景技術】
【０００２】
ネットワーク環境が普及している近年、ＭＦＰ／プリンタにおいてもネットワークを効率的に利用して印刷を行うことが要求される場合が多い。ネットワークを使用して印刷を行う技術として、クライアント・サーバ型技術も普及しているが近年では、ネットワークに接続されたサーバが複数の情報処理装置から印刷要求を受け付け、印刷データをネットワーク経由で目的とするＭＦＰ／プリンタといった画像出力装置に転送して印刷を行うクラウド環境への対応が求められている。このような印刷環境としては、サーバを介して携帯情報端末上の文章や画像データをユーザの希望するＭＦＰ／プリンタで効率的に印刷することを可能とする環境を挙げることができる。
【０００３】
以後、情報処理装置が遠隔的に設置されたサーバに対して印刷データ及び印刷装置を指定し、サーバが印刷のためのハードウェア資源を提供することにより印刷を実行するネットワーク・プリント環境を、クラウドプリントとして参照する。クラウドプリント環境では、情報処理装置の要求に応答してサーバが画像出力装置により出力可能なデータフォーマットに変換し、当該データフォーマットの印刷データを画像出力装置に転送して印刷する。印刷データのサイズが大きい場合、処理量にもよるが印刷データの転送がネットワークトラフィックを輻輳させ、悪影響を与えることもある。このため、クラウドプリントでは、印刷データを圧縮してＭＦＰ／プリンタといった画像出力装置に転送する処理も用いられている。
【０００４】
これまで知られている印刷データの圧縮方式は、高圧縮率が望めるデータと、そうでないデータがあることが知られており、圧縮方式に応じ、それぞれ圧縮が効率的に行えるデータや、圧縮を効率的に行なえないデータが異なる場合もある。このため、サーバでは、印刷データを最適な圧縮方式で圧縮してＭＦＰ／プリンタにデータ転送すべきである。しかしながら、ＭＦＰ／プリンタといった画像出力装置が搭載する伸張方式は、多くの場合１〜２方式程度であり、サポート外の圧縮方式は伸張できず、印刷が実行できないという問題があった。また、サーバ側の性能および圧縮方式によっては、圧縮処理に時間がかかる場合もあり、この結果として情報処理装置からの印刷依頼を受けてから印刷が完了するまで時間がかかることもあった。
【０００５】
また、サーバがビットマップなど、画像出力装置が出力可能なフォーマットであるラスタデータを作成するためのハードウェアおよびソフトウェア資源を提供して、ＭＦＰ／プリンタといった画像出力装置に印刷可能なフォーマットのデータを送付する。ラスタデータは、データ容量が大きくなりがちである。このため、サーバと、プリンタとの間のインタフェースのデータ転送速度が遅い場合もあることを考慮して、圧縮率の高い圧縮方法が採用される場合も多いしかしながら、圧縮率の高い圧縮方法は、一般的にサーバであっても圧縮するためのエンコード処理に時間がかかる。そのため、サーバと、画像出力装置が高速なインタフェースで接続されている場合でも、圧縮率の高い圧縮処理を実行してしまうため、無駄な時間を費やすことになり、結果として印刷パフォーマンスを悪くするという問題もあった。
【０００６】
ネットワークを利用して印刷を行う技術はこれまでも知られており、例えば、特開２００３−１１４７７８号公報（特許文献１）では、圧縮率の異なる複数の圧縮方法の中から、インタフェースに応じた、印刷が成功しかつ最も圧縮時間の少ない圧縮方法を自動的に選択し印刷を実行させることで、無駄な時間を費やさず印刷パフォーマンスを向上させることを可能とした印刷システムが記載されている。また、特開２００９−７０２６５号公報（特許文献２）では、主制御手段と主制御手段でないものとが連携しながらアプリケーションプログラムを効率的に実行することができる情報処理装置が記載されている。
【０００７】
特許文献１では圧縮率の異なる複数の圧縮方法（圧縮伸張方法）をサポートし、初期化時（サーバとプリンタの両方の電源が投入された時）に、サーバと、プリンタとの間のインタフェースのデータ転送速度を計測する。そして計測したデータ転送速度に基づき、サポートしている複数の圧縮方法の中から、印刷が成功しかつ最も圧縮時間の少ない（圧縮率の低い）圧縮方法を自動的に選択し、選択した圧縮方法で圧縮した画像ビットマップデータをプリンタに送信することで、プリンタに印刷を実行させている。この結果、サーバとプリンタとの間のデータ通信に関して無駄な時間を費やさず印刷パフォーマンスを最適化することが可能とされている。
【０００８】
また、特許文献２では、アプリケーションプログラムを構成するソフトウェアモジュールを実行する主制御手段を備え、ハードウェアモジュールに利用可能な拡張手段をスケジュールに従って割り当てて効率的に連携を行う点を記載する。
【０００９】
上述した従来技術は知られているものの、プリンタやＭＦＰといった印刷装置に複数の伸張方法をサポートさせる場合、ソフトウェアによる伸張においては、プリンタの印刷速度性能を達成するためには処理速度の速い処理装置（ＣＰＵ）が必要となりコストアップの要因となる。また、処理速度向上に伴うコストアップの問題を解決するために、伸張処理をハードウェア化するとＡＳＩＣとして伸張回路を実装することになるが、ハードウェア方式では、製造時に論理機能がチップにハード的に作り込まれるため、伸張方式を数多く盛り込むことは逆にコストアップの要因となると言う問題もあった。また、ハードウェア的に実装する場合には、製造後に伸張機能を変更・修正することが困難であるという問題もあった。
【００１０】
これらの問題に対応するべくあらかじめ決められたモードや画像フォーマットに対して、それらの画像処理用の回路の情報を製品に記録しておき、印刷を実行する時に回路情報をＤＲＰにロードして画像処理を実行する技術も知られている。このような構成でＤＲＰを使用する場合、モードや画像フォーマットが増えた場合は対応した回路の情報を予め製品に組み込んでおく必要があった。
【発明の概要】
【発明が解決しようとする課題】
【００１１】
本発明は、上記従来技術の問題を解決するためになされたものであり、本発明は、ホストコンピュータと画像出力装置との間で出力するべきデータのデータトランザクション効率を改善することにより、クラウドプリントの効率を改善することを目的とする。
【課題を解決するための手段】
【００１２】
本発明は、上記目的を達成するためにプリンタ側にＤＲＰ（動的に再構成可能なプロセッサ）を実装し、ホストコンピュータが、処理能力やネットワーク・トランザクションの状態を考慮して最適な圧縮方法により印刷するべきデータを圧縮する。ホストコンピュータは、圧縮されたデータと共に、また圧縮されたデータに対応づけて構成可能処理装置が伸張するための回路を構成するために使用する回路情報を付加して画像出力装置に送信する。
【００１３】
画像出力装置は、印刷するべき圧縮データを受領すると、受領した回路情報データを使用して構成可能処理装置を自動再構成することにより、圧縮データを伸張するための画像データ処理部を構成する。画像出力装置は、再構成された画像データ処理部を起動して、受領した圧縮データを伸張し、印刷を実行することができる。
【００１４】
また、本発明は、ホストコンピュータが適用した圧縮方法に柔軟に対応可能な画像出力装置及びプログラムを提供することができる。
【発明の効果】
【００１５】
本発明によれば、画像データに付与して回路情報を製品に転送するため，ホストコンピュータから送付される圧縮データの種類により画像出力が制限されることなく、またホストコンピュータの能力に応じて印刷するべきデータの送信に伴うネットワークトラフィックの輻輳に伴う問題を改善することが可能となる。
【図面の簡単な説明】
【００１６】
【図１】本実施形態の画像出力装置１００のハードウェア機能ブロック図。
【図２】本実施形態の画像出力装置を含む情報処理システム２００の機能ブロック図。
【図３】本実施形態の圧縮方式選択部２１７が使用する圧縮方式リストの実施形態を示す図。
【図４】図３に登録された圧縮方式が平均的に消費するＣＰＵ能力をプロットした概略図。
【図５】本実施形態のホストコンピュータ２１０が備える回路情報管理部２１８が管理する回路情報データの実施形態を示す図。
【図６】本実施形態のホストコンピュータ２１０が、印刷装置２３０に対して印刷を実行させる場合の、データトランザクション・シーケンスを示す図。
【図７】本実施形態のホストコンピュータ２１０が実行する処理のフローチャート。
【図８】本実施形態の印刷装置２３０が実行する処理のフローチャート。
【発明を実施するための形態】
【００１７】
以下、本発明につき実施形態を使用して詳細に説明するが、本発明は、後述する実施形態に限定されるものではない。図１は、本実施形態の画像出力装置１００のハードウェア機能ブロック図である。本実施形態の画像出力装置１００は、特定の実施形態では、プリンタまたはＭＦＰといった印刷装置として実装することができ、その機能としては印刷の他、コピー、ファクシミリ、ＡＤＦ、ネットワークアクセス、ストレージ機能などを提供することが可能とされている。
【００１８】
画像出力装置１００は、システムバス１１０により各ハードウェアモジュールが相互接続されて、各種の処理を可能とする機能手段を画像出力装置１００上に実現させている。画像出力装置１００は、ＣＰＵ１０１と、ＲＯＭ１０２と、ＲＡＭ１０３を含んで構成されている。ＣＰＵ１０１は、画像出力装置１００の全体の機能を制御し、ＲＯＭ１０２、ＲＡＭ１０３などの機能手段を使用してオペレーティング・システム（ＯＳ）やアプリケーションの実行を可能としている。
【００１９】
ＲＯＭ１０２は、画像出力装置１００が固有に使用するミドルウェアやファームウェアといったプログラムまたは各種設定データなどを格納し、ＣＰＵ１０１によるセンサ、モータ、クラッチ、ヒータなどの電装品の入出力制御を可能とさせている。ＲＡＭ１０３は、ＣＰＵ１０１の処理を可能とする実行空間の他、画像展開を可能とするＲＡＭＤＡＣの機能を提供しており、ＣＰＵ１０１の実行により、本実施形態の機能を提供する各機能手段をプログラムの実行による構成を可能とさせている。
【００２０】
さらに画像出力装置１００は、外部インタフェース（Ｉ／Ｆ）１０６と、ＮＶＲＡＭ１０７と、入出力Ｉ／Ｏ１０８とを含んで構成されている。外部インタフェース１０６は、外部接続されたハードディスク装置、フラッシュメモリ、ＥＥＰＲＯＭ、ＥＰＲＯＭなどの記憶装置を接続するためのＡＴＡ、ＳＡＴＡ、ＵＳＢ、ＩＥＥＥ１３９４などの規格のインタフェースの他、イーサネット（登録商標）などを介して外部通信を可能とするネットワークインタフェースを含む一群のインタフェースのセットである。
【００２１】
外部Ｉ／Ｆ１０６は、それぞれ画像出力装置１００と、外部との接続およびデータ通信を制御する。ＮＶＲＡＭ１０７は、操作パネルＩ／Ｏ１０４、操作パネル１０５などの入出力装置を制御するための出力設定や環境設定など条件設定などを登録する持続性記憶装置である。また、入出力Ｉ／Ｏ１０８は、画像出力装置１００の内部機能の相互接続を可能とする一群のインタフェースのセットとして実装することができ、ＣＰＵ１０１の処理により生成された結果を、機械系に渡し、印刷などの機械系処理を実行させる。
【００２２】
さらに本実施形態の画像出力装置１００は、画像データの伸張機能を提供する構成可能処理装置１０９を含む。構成可能処理装置１０９は、具体的な実装形態としては、ダイナミック・リコンフィギャラブル・プロセッサ（Dynamically Reconfigurable Processor(DRP)）であるものとして示す。なお、構成可能処理装置１０９としてはＤＲＰの他にもＦＰＧＡなどとして参照される半導体チップを使用することができる。構成可能処理装置１０９は、Ｃ言語やハードウェア記述言語（ＨＤＬ）、専用コンパイラなどを使用して作成された回路情報データを使用し、構成可能処理装置１０９がそのメモリ領域に回路情報データを取得すると、リセット動作または自動動作により、回路構成を、回路情報データに従って動的または受動的に構成を変更することができる。
【００２３】
なお、用語「動的」とは、構成可能処理装置１０９が、回路情報データを取得すると直ちに設定を行い、構成変更を実行することを意味する。また、用語「受動的」とは、構成可能処理装置１０９が回路情報データを取得すると、その使用に際して構成可能処理装置１０９をリセットし、構成可能処理装置の構成変更を実行することを意味する。本実施形態の構成可能処理装置１０９は、動作させたまま任意の論理回路を実現できる動的構成変更が可能な種類のＤＲＰとして実装することが好ましい。
【００２４】
図２は、本実施形態の画像出力装置を含む情報処理システム２００の機能ブロック図を示す。なお、図２の実施形態では、画像出力装置１００が印刷装置２３０として実装されるものとして説明する。図２に示す情報処理システム２００は、ホストコンピュータ２１０と、印刷装置２３０とを含むクライアント−サーバ型の構成とすることもできるし、ホストコンピュータ２１０をウェブサーバとし、印刷装置２３０をウェブサーバからのデータを受領するウェブクライアントとして構成する、いわゆるクラウドシステムとして構成することができる。
【００２５】
詳細に各構成要素を説明すると、ホストコンピュータ２１０は、ＣＰＵ、ＲＡＭ、ＲＯＭ、ハードディスク装置などを含む情報処理装置から構成することができ、Ｗｉｎｄｏｗｓ（登録商標）、ＵＮＩＸ（登録商標）、ＬＩＮＵＸ（登録商標）などのＯＳの制御の下で、アプリケーション２１１およびＧＤＩ２１２を介してプリンタドライバ２１３に対して、アプリケーション２１１が作成した出力するべきデータを送付する。プリンタドライバ２１３は、出力するべきデータをＲＡＷデータとして生成する出力データ生成部２１４と、印刷装置２３０に対して印刷の開始や印刷設定を指令するためのＰＪＬ(Printer Job Language)などとして実装できる印刷制御指令生成部２１５とを含んでいる。
【００２６】
プリンタドライバ２１３は、アプリケーション２１１からＧＤＩ２１２などのＡＰＩ(Application Program Interface)を介してデータを受領すると、プリントプロセッサ（図示せず）やプリントスプーラなどを呼び出して、印刷データをラスタデータ（以下、ＲＡＷデータとして参照する。）に変換する。生成したＲＡＷデータは、データ圧縮部２１６に送付されて、印刷データの特性に応じた最適の圧縮率を提供できる圧縮方式による圧縮が行われる。圧縮データは、ポートモニタなどの出力先制御部２１９の制御下、Ｉ／Ｆ２２０を介してネットワークを経由して印刷装置２３０に送付される。なお、圧縮したＲＡＷデータを送付する場合、ホストコンピュータ２１０は、公開鍵方式、鍵共有方式、ハッシュ関数によるハッシュ化など適切な方式によって、暗号化することができる。
【００２７】
また、ホストコンピュータ２１０は、圧縮方式選択部２１７と、回路情報管理部２１８を含んで構成されている。圧縮方式選択部２１７は、印刷するべきデータのＲＡＷデータを圧縮する場合の圧縮方式を選択する。本実施形態では、圧縮方式選択部２１７は、圧縮方式のために要求されるＣＰＵ能力、圧縮方式の圧縮率、およびＲＡＷデータのサイズを考慮して圧縮方式を決定する。圧縮率およびＲＡＷデータのサイズは、結局のところ、データ送信に要する時間および送付先の印刷装置２３０のメモリ容量を考慮することに関係し、小さなＲＡＷデータでは低い圧縮率の圧縮方式を選ぶことができ、また大きなＲＡＷデータでは、高い圧縮率の圧縮方式を使用して、送信時間を最適化させるように選択することができる。圧縮方式を選択する場合にＣＰＵ能力および圧縮率のどちらを優先するかについては、ホストコンピュータ２１０の管理者またはオペレータにより、ホストコンピュータ２１０の能力、ネットワーク通信帯域、および印刷装置２３０のメモリ環境などを考慮して設定できる。
【００２８】
また、回路情報管理部２１８は、圧縮方式に対応する伸張方式の回路構成を構成可能処理装置１０９に構成させるための回路情報データを圧縮方式に対応づけて管理する。回路情報データは、構成可能処理装置１０９のオブジェクト・データまたは機械語データとして予め実装することもできるし、回路を構成させるためのＣ言語オブジェクトやＨＤＬそのものとして実装し、要求に応じて専用コンパイラなどによって適切なオブジェクト・コードに変換する処理を採用することができる。ホストコンピュータ２１０は、ＲＡＷデータの圧縮が終了すると、印刷制御指令、回路情報データ、および出力するべきデータを圧縮して作成したＲＡＷデータを、印刷装置２３０に送付し、印刷装置２３０による画像出力を実行させている。
【００２９】
印刷装置２３０は、説明する実施形態では、レーザビームを使用して印刷を実行する電子写真方式のプリンタとすることができる。他の実施形態では、ファクシミリ、プリンタ、コピーなどの複合的機能を提供可能な複合機（ＭＦＰ）とすることもできるし、印刷方式としてはインクジェット方式、感熱方式を採用する画像出力装置とすることもできる。
【００３０】
印刷装置２３０は、図１に示したハードウェア構成を採用する画像出力装置の1実施形態である。印刷装置２３０は、インタフェース（Ｉ／Ｆ）２３１を介してホストコンピュータ２１０との間でデータ送受信を行う。印刷装置２３０は、送受信バッファ２３２と、指令解析部２３３と、印刷制御処理部２３６とを含んで構成されている。送受信バッファ２３２は、ホストコンピュータ２１０との間で通信されるデータを一時的に保管し、データの送受信の同期化やデータの保全を行っている。また、指令解析部２３３は、印刷データの印刷実行を制御するための出力制御指令を解釈し印刷制御処理部２３６に対して、印刷条件などを設定する。
【００３１】
また、印刷装置２３０は、画像データ処理部２３４と、出力制御部２３７と、伸張した画像データを格納するビデオ出力バッファ２３５とを含んで構成されている。画像データ処理部２３４は、構成可能処理装置１０９が処理対象の圧縮データに随伴する回路情報データを使用して、その構成を適合的に再構成することにより実装される。画像データ処理部２３４は、圧縮されたＲＡＷデータを伸張し、印刷装置２３０が出力できるデータ形式を回復させ、データ同期化などのために一度ビデオ出力バッファ２３５にビデオ信号として格納する。
【００３２】
出力制御部２３７は、復号されたＲＡＷデータから作成され、ビデオ出力バッファ２３５に一旦バッファされたビデオ信号を印刷制御処理部２３６の制御に基づいて読み出して、メカ制御部２３８に送付している。メカ制御部２３８は、出力制御部２３７から受け取ったビデオ信号を記録紙に永久可視画像として形成するための機械手段を制御する処理を実行し、ＣＰＵ１０１がＲＯＭ１０２などに格納された設定データなどを使用して印刷速度や用紙サイズなどに適合した印刷を実行させている。
【００３３】
指令解析部２３３は、各印刷制御コマンド体系や印刷ジョブ制御言語に準じた制御プログラムにより構成されており、指令解析部２３３で解析されたコマンドの内、ビットマップデータ、ラスタデータ、ＲＡＷデータなどの画像データに関するコマンドは、画像データ処理部２３４に渡され、画像データ処理部２３４の処理のために利用される。一方、指令解析部２３３は、給紙選択やリセット命令などの描画以外のコマンドを、印刷制御処理部２３６渡し、印刷制御を可能としている。
【００３４】
また、画像データ処理部２３４では、指令解析部２３３から転送されてきた画像データに関するデータから指令部分を削除する。指令部分が削除されたデータが、圧縮データであれば、画像データ処理部２３４は、圧縮データの伸張処理を行い、伸張後のＲＡＷデータをビデオ出力バッファ２３５に格納する。画像データ受信処理と、メカ制御部２３８へのビデオ信号の出力は、ＦＩＦＯバッファなどを使用したバンディング制御によって、制御することもできるし、ビデオ出力バッファ２３５のメモリ容量が充分確保できる場合には、ページ単位でビデオ出力バッファ２３５を確保してもよい。なお、印刷装置２３０の操作パネル２４０は、印刷装置２３０の各種状態を設定し、また表示する機能を有する。
【００３５】
図３は、本実施形態の圧縮方式選択部２１７が使用する圧縮方式リストの実施形態を示す。圧縮方式リスト３００は、カラー画像を圧縮する場合の圧縮方式リストであり、圧縮方式リスト３１０は、モノクロ画像を圧縮する場合の圧縮方式リストを示す。各圧縮方式リスト３００，３１０は、圧縮するべきデータのフォーマットと、圧縮方式と、当該データのフォーマットを同一の行内の圧縮方式で圧縮した場合の圧縮率（相対値）とを対応づけて登録する。例えば圧縮方式リスト３００で、ＴＩＦＦフォーマットのカラー画像をＪＰＥＧ方式により圧縮すると、最も高い圧縮率を得ることができるが、ＴＩＦＦフォーマットのカラー画像をＰＡＣＫ  ＢＩＴＳ圧縮方式で圧縮した場合には、逆に最も低い圧縮率を与えることが示されている。モノクロ画像についても同様であり、ＴＩＦＦフォーマットのモノクロ画像に関してはＧ４ＦＡＸＭＭＭＲの圧縮方式を使用することが最高の圧縮率を与えることが示されている。
【００３６】
ホストコンピュータ２１０の設定において、ＣＰＵ能力の使用コスト（すなわち圧縮処理のために割かなければならないＣＰＵ性能）を考慮しない設定やデータサイズを最小化させる設定とされている場合、図３に示した圧縮方式リスト３００，３１０で上から順に圧縮方式を選択することで、圧縮方式選択部２１７は、圧縮方式を決定する。また、ＣＰＵ能力をできるだけ消費しない設定とされている場合には、図３に示す圧縮方式リスト３００，３１０にエントリされた圧縮方式の中からＣＰＵ能力を最も消費しない圧縮方式を選択することができる。なお、図3に示した圧縮方式は、単なる例示であり、いかなる圧縮方式でも本実施形態では使用することができる。
【００３７】
本実施形態で圧縮方式選択部２１７が使用する圧縮方式選択方法の実施形態を、図４を使用して説明する。図４は、図３に登録された圧縮方式が平均的に消費するＣＰＵ能力をプロットした概略図である。一般に、圧縮率の高い圧縮方式は、ＤＣＴ、ウェーブレット変換、フーリエ変換などの高度な処理を伴うことが多いので、ＣＰＵ使用度(コスト）は高くなる傾向にある。
【００３８】
ホストコンピュータ２１０の設定において、ＣＰＵコストをできるだけ低下させる最も高い圧縮率の圧縮方式を選択するように設定されている場合、図４の円内の、圧縮方式４０１が選択される。また、ＣＰＵコストよりも圧縮率を優先させる場合には、圧縮方式４０２が選択される。また、ＣＰＵコストと、圧縮率については圧縮方式の選択に際して重み付けを行うことができ、重み付けのために使用するパラメータ設定に応じて、図４の円内の圧縮方式４０１〜４０３のいずれかを選択することを可能とする実施形態とすることができる。
【００３９】
図４に説明した圧縮方式の選択方法では、ＣＰＵコストおよび圧縮率の考慮の際に重み付けのパラメータを変更することによって圧縮処理とホストコンピュータ２１０の他の処理との間の能力のバランス化を達成することができる。
【００４０】
さらに、図４を使用してＲＡＷデータのデータサイズに関係して圧縮方式を選択する実施形態を説明する。送信するべきＲＡＷデータのサイズが大きな場合、通信時間を短縮し、またネットワーク・トランザクションの輻輳を防止する目的からは、転送データのサイズを縮小するために、高い圧縮率の圧縮方式を使用することが好ましい。ただし、送信するべきＲＡＷデータが小サイズの場合、圧縮率を変えても通信時間に対して大きな影響は無いので、ＲＡＷデータのサイズに対してネットワーク帯域幅などを考慮して一定の基準値を設け、圧縮方式を選択することが好ましい。
【００４１】
例えばサイズの大きなＲＡＷデータに関しては、ＣＰＵコストを考慮せず、許容される限り圧縮効率の高い圧縮方式４０２を常時割り当て、またサイズの小さなＲＡＷデータに対しては、主としてＣＰＵコストの低さに基づいて、例えば、圧縮方式４０４を採用する形態とすることができる。なお、ＲＡＷデータのサイズの基準は、使用しているネットワークの帯域幅および同時に処理するべきデータ通信の数などを考慮して適宜設定することができる。図４に示した実施形態によれば、出力するべきデータがカラーであろうとモノクロであろうと、ＣＰＵコスト、ネットワーク帯域幅に応じて最適な圧縮方式を選択することが可能となる
【００４２】
図５は、本実施形態のホストコンピュータ２１０が備える回路情報管理部２１８が管理する回路情報データの実施形態を示す。回路情報管理部２１８は、構成可能処理装置１０９の種類またはデータを送付する可能性のある印刷装置２３０の機種・性能別に、圧縮方式と、回路情報データとを対応づけたテーブル５１０〜５１３という形式で、回路情報データを管理することができる。特定の構成可能処理装置１０９または印刷装置２３０についての回路情報データは、圧縮方式５０１と、それに対応する回路情報５０２とが対応づけて登録されている。なお、回路情報データは、図５に示すように、予め作成して登録しておくこともできるが、新たな圧縮方式が指定されるごとに専用コンパイラがＣ言語やＨＤＬなどを使用してコンパイルを実行して回路情報データを作成し、テーブル５１０〜５１３に登録し、自動学習させることができる。
【００４３】
ホストコンピュータ２１０は、印刷データを選択した圧縮方式で圧縮した後、送付先の印刷装置２３０の識別情報、すなわちネットワークアドレスを参照して、テーブル５１０〜５１３を特定し、圧縮した圧縮方式をカラム５０１から取得し、それに対応する回路情報データ_N（Ｎは、正の整数である。）を特定し、圧縮したＲＡＷデータと共に、送信データとしてバッファリングする。バッファリングした後、例えばソケット（）クラスなど使用してターゲットの印刷装置２３０にデータを送付する。
【００４４】
図６は、本実施形態のホストコンピュータ２１０が、印刷装置２３０に対して印刷を実行させる場合の、データトランザクション・シーケンスを示す。ホストコンピュータ２１０は、印刷データを圧縮した後、送信バッファに格納した当該印刷データに関する印刷制御指令であるＰＪＬ６０１を印刷装置２３０に対して送付する。その後、送信バッファに格納した回路情報データ６０２を印刷装置２３０に対して送付する。さらにその後、ホストコンピュータ２１０は、圧縮したＲＡＷデータ６０３を印刷装置２３０に送付する。
【００４５】
図６に示したデータトランザクションは、ＰＪＬ６０１、回路情報データ６０２、および圧縮したＲＡＷデータ６０３をそれぞれ別の送信パケットにカプセル化して印刷装置２３０に送付するものとして説明した。他の実施形態では、ＰＪＬ６０１、回路情報データ６０２、圧縮したＲＡＷデータ６０３を単一のＴＣＰ／ＩＰパケットにカプセル化して印刷装置２３０に送付することもできる。ただし、図６で説明したようにＰＪＬ６０１、回路情報データ６０２、圧縮したＲＡＷデータ６０３を分割して送信することによって、データトランザクションの期間と、印刷装置２３０の設定処理期間とを並列実行させることができるので、よりプラウドプリントの効率を改善することができる。
【００４６】
図７は、本実施形態のホストコンピュータ２１０が実行する処理のフローチャートを示す。図５の処理は、ステップＳ７００から開始し、ステップＳ７０１で情報処理装置からの印刷指令および印刷データを受領する。なお、ホストコンピュータ２１０にアクセスする情報処理装置としては、パーソナルコンピュータ、ＰＤＡ（Personal Data Assistant)、スマートフォン、タブレットＰＣその他携行性の高い情報処理装置を挙げることができ、例えばワードプロセッサ・アプリケーション、ブラウザ・アプリケーション、ファクシミリ・アプリケーション、画像処理アプリケーションなど各種のアプリケーションを実行可能な情報処理装置とすることができる。
【００４７】
ステップＳ７０２では、受領した印刷データからＰＪＬなどの印刷制御指令およびＲＡＷデータを作成し、その際に使用した印刷制御指令を送信バッファに格納する。ステップＳ７０３では、データ送信のための最適な圧縮方式を決定し、決定した圧縮方式でＲＡＷデータを圧縮し、圧縮したＲＡＷデータを送信バッファに格納する。その後、ステップＳ７０４では、印刷制御指令を印刷装置２３０に送付する。ステップＳ７０５では、圧縮方式に対応する回路情報データを抽出し、ステップＳ７０６で回路情報データを印刷装置に送信する。ステップＳ７０７では、圧縮したＲＡＷデータを印刷装置に送付して印刷を実行させ、処理をステップＳ７０８で終了させる。
【００４８】
なお、ステップＳ７０４〜Ｓ７０６で段階的に印刷のためのデータを送付する理由は、情報転送の期間を、印刷装置２３０の設定と並列的に実行させることにより、設定の効率化を行うためである。なお、印刷装置２３０の性能やデータ転送速度によっては、印刷装置２３０が印刷のために使用する全データを一括して転送することもできる。
【００４９】
図８は、本実施形態の印刷装置２３０が実行する処理のフローチャートを示す。図６の処理は、ステップＳ８００から開始し、ステップＳ８０１では、ホストコンピュータから印刷制御指令を受領し、指令解析部２３３に送付する。ステップＳ８０１では、圧縮されたＲＡＷデータを受領して、画像データ処理部２３４に送付し、後続する回路情報データの受領を待機する。ステップＳ８０２では、ホストコンピュータ２１０から回路情報データを受領して、構成可能処理装置１０９の構成設定を実行する。
【００５０】
なお、印刷装置２３０は、この目的のため、構成可能処理装置１０９の回路情報データを受領すると、Ｓ８０３で構成可能処理装置１０９のメモリ領域に格納して構成可能処理装置１０９の可変回路を提供するゲート構成を変更し、目的とする圧縮方式での伸張が可能な状態とする。なお、構成可能処理装置１０９の再構成は、回路情報データを格納するメモリ領域に格納されていない新たな回路情報データが送付されたことを検出して動的再構成を開始させることができる。
【００５１】
その後ステップＳ８０４でホストコンピュータ２１０から圧縮されたＲＡＷデータを受領し、自動再構成によりＲＡＷデータの伸張が可能となった画像データ処理部２３４を起動してステップＳ８０５において印刷制御指令に従って伸張処理を実行し、ビデオ出力バッファ２３５、出力制御部２３７を使用してメカ制御部２３８に伸張されたＲＡＷデータを送付し、画像形成を実行し、その後、ステップＳ８０６で処理を終了する。
【００５２】
以上の通り、本発明によれば、印刷を実行させるプリンタやＭＦＰと言った画像出力装置の対応できる圧縮方式に関わらず、情報処理装置からの要求に応じた画像出力装置に対して圧縮したデータを送付して印刷を可能としながら、ネットワーク帯域を有効に利用することを可能とする情報処理システム、情報処理方法およびプログラムを提供できる。
【００５３】
本発明の上記機能は、オブジェクト・コード、ＨＤＬ、Ｃ、Ｃ＋＋、Ｊａｖａ（登録商標）、Ｊａｖａ（登録商標）Ｂｅａｎｓ、Ｊａｖａ（登録商標）Ａｐｐｌｅｔ、Ｊａｖａ（登録商標）Ｓｃｒｉｐｔ、Ｐｅｒｌ、Ｒｕｂｙなどのブログラミング言語などで記述された装置実行可能なプログラムにより実現でき、装置可読な記録媒体に格納して頒布することができる。
【００５４】
これまで本発明を実施形態をもって説明してきたが、本発明は実施形態に限定されるものではなく、他の実施形態、追加、変更、削除など、当業者が想到することができる範囲内で変更することができ、いずれの態様においても本発明の作用・効果を奏する限り、本発明の範囲に含まれるものである。
【符号の説明】
【００５５】
１００  画像出力装置
１０１  ＣＰＵ
１０２  ＲＯＭ
１０３  ＲＡＭ
１０４  操作パネルＩ／Ｆ
１０５  操作パネル
１０６  外部インタフェース
１０７  ＮＶＲＡＭ
１０８  入出力Ｉ／Ｏ
１０９  構成可能処理装置
１１０  システムバス
２００  情報処理システム
２１０  ホストコンピュータ
２１１  アプリケーション
２１２  ＧＤＩ
２１３  プリンタドライバ
２１４  出力データ生成部
２１５  印刷制御指令生成部
２１６  データ圧縮部
２１７  圧縮方式選択部
２１８  回路情報管理部
２１９  出力先制御部
２２０  Ｉ／Ｆ
２３０  印刷装置
２３１  インタフェース
２３２  送受信バッファ
２３３  指令解析部
２３４  画像データ処理部
２３５  ビデオ出力バッファ
２３６  印刷制御処理部
２３７  出力制御部
２３８  メカ制御部
２４０  操作パネル
【先行技術文献】
【特許文献】
【００５６】
【特許文献１】特開２００３−１１４７７８号公報
【特許文献２】特開２００９−７０２６５号公報
【図１】
2014026422.tif 000003
【図２】
2014026422.tif 000004
【図３】
2014026422.tif 000005
【図４】
2014026422.tif 000006
【図５】
2014026422.tif 000007
【図６】
2014026422.tif 000008
【図７】
2014026422.tif 000009
【図８】
2014026422.tif 000010