(57)【要約】      （修正有）【課題】マークアップ言語で記述されたコンテンツデータに基づいて印刷用のデータを生成し印刷する印刷装置において、処理速度の向上を低コストで実現する。【解決手段】ネットワークコントローラとプリンタコントローラとを備える印刷装置であって、前記ネットワークよりコンテンツデータを受信可能であって、前記ネットワークコントローラにおいて実現されるインターフェイス部と、前記インターフェイス部により受信された前記コンテンツデータに基づいて、前記プリントエンジンにて処理可能な描画データを生成する生成部（パース処理部、レイアウト処理部、レンダリング処理部、バンディング処理部）と、前記生成部を、前記ネットワークコントローラにて実現するか（モード１）、プリンタコントローラにて実現するか（モード２）を切り替える切替手段とを備える。【選択図】図１４
2006305840.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークとの通信を行なう第１の制御部と、描画データに基づいて印刷を行なうプリントエンジンを制御する第２の制御部とを備える印刷装置であって、
前記ネットワークよりコンテンツデータを受信可能であって、前記第１の制御部において実現される受信手段と、
前記受信手段により受信された前記コンテンツデータに基づいて、前記プリントエンジンにより印刷される前記描画データを生成する生成手段と、
前記生成手段を、前記第１の制御部にて実現するか、第２の制御部にて実現するかを切り替える切替手段と
を備えることを特徴とする印刷装置。
【請求項２】
前記受信手段により受信された前記コンテンツデータに含まれる画像データを、前記第１の制御部が有する記憶装置に格納する格納手段を更に備え、
前記生成手段は、前記格納手段に格納された画像データを用いて前記描画データの生成を行なうことを特徴とする請求項１に記載の印刷装置。
【請求項３】
前記受信手段は、
前記ネットワークよりコンテンツデータを受信するインターフェイス手段と、
前記受信したコンテンツデータをＭＩＭＥデコードするＭＩＭＥデコード手段と
を更に備えることを特徴とする請求項１に記載の印刷装置。
【請求項４】
前記生成手段は、
前記受信手段により受信された前記コンテンツデータを解析する解析手段と、
前記解析手段で解析された解析結果に基づいて前記コンテンツデータをページ単位に配置する配置手段と、
前記配置手段においてページ単位に配置された前記コンテンツデータを、描画データに変換する変換手段と、
前記変換手段において変換された描画データを複数のバンドに分割する分割手段と
を備えることを特徴とする請求項１に記載の印刷装置。
【請求項５】
前記コンテンツデータは、ＸＨＴＭＬの印刷仕様に準拠したマークアップ言語で記述されていることを特徴とする請求項１に記載の印刷装置。
【請求項６】
前記受信手段が、有線ＬＡＮと無線ＬＡＮの双方を同時動作させた場合に、前記生成手段は前記第１の制御部にて実現されることを特徴とする請求項１に記載の印刷装置。
【請求項７】
ネットワークとの通信を行なう第１の制御部と、描画データに基づいて印刷を行なうプリントエンジンを制御する第２の制御部とを備える印刷装置における印刷方法であって、
前記ネットワークよりコンテンツデータを受信可能であって、前記第１の制御部において実現される受信工程と、
前記受信工程により受信された前記コンテンツデータに基づいて、前記プリントエンジンにより印刷される前記描画データを生成する生成工程と、
前記生成工程を、前記第１の制御部にて実現するか、第２の制御部にて実現するかを切り替える切替工程と
を備えることを特徴とする印刷方法。
【請求項８】
請求項７に記載の印刷方法をコンピュータによって実現させるための制御プログラムを格納した記憶媒体。
【請求項９】
請求項７に記載の印刷方法をコンピュータによって実現させるための制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、デジタルテータ放送や、インターネットを始めとするデータ通信において配信されるコンテンツデータを印刷する印刷技術に関するものある。
【背景技術】
【０００２】
ＸＭＬやＨＴＭＬ等のマークアップ言語で記述されたコンテンツデータを解釈し印刷するにあたっては、従来より比較的大規模な資源を駆使できるパーソナルコンピュータ等を使ったシステムが用いられてきた。
【０００３】
一方、昨今では、デジタルテレビ、携帯電話、デジタルカメラ等のいわゆる組込み機器でも、マークアップ言語で記述されたコンテンツデータを取り扱うことが多くなってきた。これに対して、このような組込み機器の場合、ハードウェア資源に限りがあるため、汎用のプリンタを使ってコンテンツデータを印刷するためには、コンテンツデータを印刷用のデータに変換する際の各種処理を必要最小限に抑えることが必要となってくる。
【０００４】
このため、最近では、このようなニーズに応えるべくコンテンツデータのイメージ展開処理等、各種処理機能を備えた印刷装置が提供されるようになってきている。
【特許文献１】特開平１１−１３４１２５号公報
【特許文献１】特開２００３−２３７１８６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、コンテンツデータを印刷用のデータに変換する際の各種処理はその処理負荷が高く、現行の印刷装置をそのまま流用して実現しようとしても、コンテンツデータの処理を行なうだけで印刷出力の十倍以上の時間がかかってしまい、ユーザの満足する実用的な動作速度には成り得ないという問題がある。
【０００６】
これに対して、コンテンツデータの処理時間の短縮を図るべく、演算処理能力の高いＣＰＵや大容量の内蔵メモリを印刷装置に実装することも考えられるが、この場合、印刷装置のコストアップが避けられないという問題がある。
【０００７】
本発明はこのような課題に鑑みてなされたものであり、マークアップ言語で記述されたコンテンツデータに基づいて印刷用のデータを生成し印刷する印刷装置において、処理速度の向上を低コストで実現することを目的とする。
【課題を解決するための手段】
【０００８】
上記の目的を達成するために本発明に係る印刷装置以下のような構成を備える。即ち、
ネットワークとの通信を行なう第１の制御部と、描画データに基づいて印刷を行なうプリントエンジンを制御する第２の制御部とを備える印刷装置であって、
前記ネットワークよりコンテンツデータを受信可能であって、前記第１の制御部において実現される受信手段と、
前記受信手段により受信された前記コンテンツデータに基づいて、前記プリントエンジンにより印刷される前記描画データを生成する生成手段と、
前記生成手段を、前記第１の制御部にて実現するか、第２の制御部にて実現するかを切り替える切替手段とを備える。
【発明の効果】
【０００９】
本発明によれば、マークアップ言語で記述されたコンテンツデータに基づいて印刷用のデータを生成し印刷する印刷装置において、処理速度の向上を低コストで実現することが可能となる。
【発明を実施するための最良の形態】
【００１０】
以下、本発明の各実施形態を図面に基づき説明する。
【００１１】
［第１の実施形態］
＜印刷装置の接続構成＞
図１は、本発明の第１の実施形態にかかる印刷装置（ネットワークプリンタ１０４）のホームネットワーク環境での接続構成例を示した図である。ホスト装置１０６として動作する機器としては、デジタル放送用ＴＶ（ＤＴＶ）１０１、セットトップボックス（ＳＴＢ）１０２、パーソナルコンピュータ（ＰＣ）１０３等があり、印刷装置１０７として動作するネットワークプリンタ１０４とはイーサネット（登録商標）１１０を介してお互いに通信可能な状況となっている。
【００１２】
また、このイーサネット（登録商標）１１０に繋がった各機器はブロードバンドルータ１０５を介してインターネット１０８への接続が可能であり、ＷＷＷサーバ１０９上のコンテンツデータを任意にブラウジングすることができる。
【００１３】
上記ホームネットワーク環境のもと、例えば、ＤＴＶ１０１にて表示されたコンテンツデータをネットワークプリンタ１０４にて印刷するなど、該ホームネットワークはコンテンツデータの印刷処理システムとして機能させることができる。
【００１４】
なお、以下では、本発明の第１の実施形態にかかるネットワークプリンタ１０４の特徴を明確にすべく、逐次従来の印刷処理システムの構成ならびに、該従来の印刷処理システムを構成するネットワークプリンタが備えるネットワーク制御部、プリンタ制御部の構成を挙げ、両者を対比しながら、本実施形態にかかるネットワークプリンタ１０４についての特徴を説明することとする。
【００１５】
＜従来の印刷処理システムの構成＞
図２は、コンテンツデータの印刷を行なう従来の印刷処理システムの構成を示す図である。ホスト装置としては比較的大規模な資源を駆使できるＰＣ等を使用せずに、ＤＴＶ１０１をもちいることとし、また、ＤＴＶ１０１とネットワークプリンタ２０８とは１対１で接続するものとする。さらに、一般的なホスト装置側でのプリンタドライバを用いた印刷用のデータの生成は行なわれず、ホスト装置側ではコンテンツデータをＸＨＴＭＬ形式で生成して、そのコンテンツデータをネットワークプリンタ２０８で解釈し印刷を行なうものとする。
【００１６】
具体的には、ＤＴＶ１０１からはイーサネット（登録商標）を経由してＸＨＴＭＬ準拠のコンテンツデータ２０４がネットワークプリンタ２０８に送られ、ネットワークプリンタ２０８内部では入力されたコンテンツデータ２０４を解釈して印刷用の描画データ２０６を生成するネットワーク制御部２０１と、前記印刷用の描画データ２０６に基づき印刷媒体２０３上に画像を出力（２０７）するプリンタ制御部２０２とによって、印刷媒体２０３上に当該コンテンツデータ２０４に対応する画像が印刷されることとなる。
【００１７】
＜従来の印刷処理システムにおけるネットワーク制御部２０１の構成＞
図３は、従来のネットワーク制御部２０１のソフトウエア処理の概略を示す図であり、以下にネットワーク制御部２０１を構成する各機能モジュールについて説明する。
【００１８】
インターフェイス部３０１は、ＤＴＶ１０１から送られてきたコンテンツデータ２０４を取り込みパース制御部３０２に引き渡す機能モジュールであるが、プリントエンジンから用紙切れ、インク切れなどの印刷状況を取得し、ステータス情報２０５としてＤＶＴ１０１に通知する機能も持ち合わせている。
【００１９】
パース制御部３０２は、ＸＨＴＭＬ系言語で記述されたコンテンツデータ２０４の構文を解析する機能モジュールである。コンテンツデータ２０４は「個別のファイル形式」またはパッケージングされた「一括モジュール形式」として入力される。
【００２０】
レイアウト制御部３０３は、パース制御部３０２で解析された構文情報を、印刷オブジェクトの配置情報データとして作成する機能モジュールである。
【００２１】
フォント制御部３０４は、コンテンツデータ２０４によって指定されたフォントデータを作成管理する機能モジュールであるが、レイアウト制御部３０３における配置情報データの生成時にフォント情報（Ｆｏｎｔ  Ｉｎｆｏ．）を取得する場合にも呼び出される。
【００２２】
レンダリング制御部３０５は、印刷オブジェクトにおける画像データ（例えばＪＰＥＧ形式データ）をＲＧＢビットマップデータにデコードしたり、サイズ調整のため解像度変換を行なったり、レイアウト処理による配置情報データに基づいて描画処理を行ない、その結果としてカラー画像の各色成分画素を多値データで構成した印刷用の描画データ２０６を出力する機能モジュールである。
【００２３】
バンディング制御部３０６は、描画領域を複数バンドに分割することで、プリンタ制御部２０２に対して単一バンド内での描画処理を分割して行なわせる機能モジュールである。
【００２４】
＜従来の印刷処理システムにおけるプリンタ制御部２０２の構成＞
図４は、従来のプリンタ制御部２０２のソフトウエア処理の概略を示す図であり、以下にプリンタ制御部２０２を構成する各機能モジュールについて説明する。
【００２５】
プリンタ制御実行部４０１は、ネットワークプリンタ２０８の主制御を司る機能モジュールで、画像処理部４０２や出力制御部４０３の動作を管理したり、印刷実行状況を監視してネットワークプリンタ２０８のステータス情報としてネットワーク制御部２０１に出力を行なっている。
【００２６】
画像処理部４０２は、入力された印刷用の描画データ２０６をプリンタエンジン４０４への出力形式に合わせて多値ＲＧＢから２値ＹＭＣＫに画像変換を行なう機能モジュールで、この変換処理とプリンタエンジン４０４への出力は前記バンディング制御部３０６によってメモリ空間を最適に利用するものである。一方、十分なメモリが実装されている場合は１ページ分が展開可能な領域を確保しても構わない。
【００２７】
出力制御部４０３は、画像処理部４０２から出力されるＹＭＣＫ変換された描画データを、プリンタエンジン４０４に実装されたインクジェット用ヘッドの駆動パターンに合わせて各色データを順次出力する機能モジュールである。
【００２８】
プリンタエンジン４０４は、印刷用の描画データに合わせてインクを吐出するヘッドと、ヘッドが装着されたキャリア部を走査するキャリッジ機構と、メディアの搬送に用いるペーパーフィード機構で構成されたプリンタ可動部とを備える。
【００２９】
＜本実施形態にかかる印刷装置におけるネットワーク制御部の構成＞
図５は、本発明の第１の実施形態にかかるネットワークプリンタ１０４のネットワーク制御部（５００）のハードウェア構成を示したブロック図である。同図において、５０１は主制御を司るＣＰＵ、５０２は受信したコンテンツデータを一時取り込むためのバッファメモリやワークメモリとして使用するＤＲＡＭ、５０５はイーサネット（登録商標）１１０に接続されたホスト装置１０６との通信を行なうネットワーク・インターフェイス・コントローラ（ＮＩＣ）、５０３は実行プログラムが書き込まれたプログラムＲＯＭ、５０４はフォントデータの書き込まれたフォントＲＯＭ、５０６はプリンタ制御部６００との通信に用いられるシリアルＩＯ（ＳＩＯ）であり、各ブロック（５０１〜５０６）は、内部バスによって接続された構成となっている。
【００３０】
＜本実施形態にかかる印刷装置におけるプリンタ制御部の構成＞
図６は、本発明の第１の実施形態にかかるネットワークプリンタ１０４のプリンタ制御部（６００）のハードウェア構成を示したブロック図である。同図において、６０１は主制御を司るＰ−ＣＰＵ、６０２は受信した描画データを一時取り込むためのバッファメモリやワークメモリとして使用するＰ−ＤＲＡＭ、６０３は実行プログラムが書き込まれたＰ−ＲＯＭ、６０４はシリアルＩＯで接続されたネットワーク制御部５００と通信を行なうＰ−ＳＩＯであり、各ブロック（６０１〜６０４）は、内部バスによってプリンタエンジンコントローラ部６０５と接続されている。
【００３１】
さらに該プリンタエンジンコントローラ部６０５には、印刷機構部であるインクジェットヘッド６０７を駆動するヘッドドライバ６０６、キャリッジモータ６０９を駆動するモータドライバ６０８、ペーパーフィードモータ６１１を駆動するモータドライバ６１０が接続されている。
【００３２】
なお、本実施形態にかかるネットワークプリンタ１０４では、図５、図６に示したネットワーク制御部５００、プリンタ制御部６００のハードウェア構成のもと、図３、図４に示す従来の機能と同様の機能（インターフェイス部、パース制御部、レイアウト制御部、フォント制御部、レンダリング制御部、バンディング制御部、プリンタ制御実行部、画像処理部、出力制御部、プリンタエンジンの各機能）が実現されるものとする。
【００３３】
＜コンテンツデータの構成＞
図７Ａ、図７Ｂは、インターフェイス部が入力として取り扱うコンテンツデータの構成を表す図である。本実施形態では図７Ａのように各々が独立したファイルとして存在する「個別ファイル形式」、または図７Ｂのように複数ファイルを１つのファイルとしてエンコーディングした「一括モジュール形式」の２つの形式を採ることができ、これらをホスト装置１０６からの指示内容に従って使い分けることが可能である。
【００３４】
ここで「Ｄｏｃｕｍｅｎｔ」とは印刷する主たる内容を含む「本文」を示し、「Ｓｔｙｌｅｓ」とは配置や形に関する「修飾表現」、「Ｉｍａｇｅｓ」とは「画像データ」をそれぞれ表し、コンテンツデータは単一の「Ｄｏｃｕｍｅｎｔ」に対して「Ｓｔｙｌｅｓ」と「Ｉｍａｇｅｓ」については任意のファイル数で構成される。
【００３５】
ここで、デジタル放送用ＴＶ１０１などのホスト装置１０６が、データ放送経由で受信したコンテンツデータをネットワークプリンタ１０４に直接送信する方式を「ＰｒｉｎｔＦｉｌｅ方式」と呼ぶ。このときのコンテンツデータは「一括モジュール形式」と同等の構造になっており、ｍｕｌｔｉｐａｒｔ／ｍｉｘｅｄのＭＩＭＥエンコーディングされた単一のファイル形態としてパッケージ化されている。なお、このようにホスト装置１０６から当該コンテンツデータが一方的に送られてくる印刷処理システムのことを、ＰＵＳＨ型プリントシステムとも呼ぶ。
【００３６】
一方、デジタル放送用ＴＶ１０１などのホスト装置１０６が、データ放送経由で指示されたコンテンツデータの載置場所（ＵＲＩ）をネットワークプリンタ１０４に送信して印刷を行なう方式を「ＰｒｉｎｔＵＲＩ方式」と呼ぶ。この方式により送信されるコンテンツデータは「個別ファイル形式」と同等の構造になっており、インターネット上のＷＷＷサーバの任意ＵＲＩに保管されたコンテンツデータをネットワークプリンタが直接読み取って印刷を行なう。なお、このような印刷処理システムは、ＰＵＬＬ型プリントシステムとも呼ばれている。
【００３７】
図８Ａは、「一括モジュール形式」のコンテンツデータをＭＩＭＥデコードする様子を示した説明図である。ＭＩＭＥデコード処理では「ＰｒｉｎｔＦｉｌｅ方式」のＭＩＭＥパートとして存在するＤｏｃｕｍｅｎｔ、Ｓｔｙｌｅｓ、Ｉｍａｇｅｓの各ブロックを個々のファイルへ分割し、一般的な「個別ファイル形式」に変換を行なうことができる。この時、コンテンツ種別（Ｃｏｎｔｅｎｔ−Ｔｙｐｅ）には、Ｄｏｃｕｍｅｎｔ用としてａｐｐｌｉｃａｔｉｏｎ／ｘｈｔｍｌ＋ｘｍｌ、ｔｅｘｔ／ｈｔｍｌなどを、Ｓｔｙｌｅｓ用としてｔｅｘｔ／ｃｓｓ、Ｉｍａｇｅｓ用としてｉｍａｇｅ／ｊｐｅｇ、ｉｍａｇｅ／ｐｎｇ、ｉｍａｇｅ／ｇｉｆをそれぞれ指定できる。
【００３８】
図８Ｂに示すように文字符号化（Ｃｏｎｔｅｎｔ−Ｅｎｃｏｄｉｎｇ）に際しては、ｎｏｎｅ、ｑｕｏｔｅｄ−ｐｒｉｎｔａｂｌｅ、ｂａｓｅ６４を指定でき、ｎｏｎｅが指定された場合にはデコードを行なわず、ｑｕｏｔｅｄ−ｐｒｉｎｔａｂｌｅが指定された場合には＝ｘｘと１６進数表記された制御コードあるいは日本語文字などの非ＡＳＣＩＩ文字をデコードし、ｂａｓｅ６４が指定された場合には、６４個の文字を組合せて４文字で表記されたコードを３文字の文字コードにデコードする。
【００３９】
以上のように、「一括モジュール形式」のコンテンツデータの場合は初めに前処理であるＭＩＭＥデコード処理を行なうことで、その後は「個別ファイル形式」での処理と同様の処理が実行されることとなる。
【００４０】
続いて、図３に示した各機能モジュールについてのソフトウエア処理の動作説明を行なう。
【００４１】
＜パース処理の流れ＞
図９は、パース処理の動作フローを示した図であり、同図を用いてコンテンツデータの構文解析を行なうためのフローを順を追って説明する。
【００４２】
ステップＳ９０１でコンテンツデータが「一括モジュール形式」であればパッケージ化したモジュールを分離し、ステップＳ９０２では分離されたコンテンツデータを読み込む。ステップＳ９０３ではコンテンツデータのＤｏｃｕｍｅｎｔを読み込んでエンコード方式の判定を行ない、ステップＳ９０４ではＤｏｃｕｍｅｎｔの文字コード変換処理を行なう。また、ステップＳ９０５では構文内のタグを解析することで「テキスト列」を「タグ構造体」に変換し、ステップＳ９０６では抽出した「タグ構造体」から＜ｈｔｍｌ＞をルートとする要素情報を構築する。更にステップＳ９０７では外部スタイルシートを取り込み、ステップＳ９０８ではスタイルシートの展開を行なう。
【００４３】
＜レイアウト処理の流れ＞
図１０は、レイアウト処理の動作フローを示した図ある。ステップＳ１００１ではレイアウト情報を管理する。なお、フォントファイルからのフォント情報の取得や、フォントメトリック情報、グリフ情報の計算はフォント処理に行なわせ、レイアウト処理はフォント処理の計算結果のみを入手する。次にステップＳ１００２ではページ情報リストの構築を行ない、ステップＳ１００３では改ページ情報の制御を、ステップＳ１００４ではタグ要素の配列順の操作をそれぞれ行なう。ステップＳ１００５では単位を変換し、ステップＳ１００６では要素の位置を仮配置し、ステップＳ１００７では要素を絶対位置と相対位置に配置する。さらに、ステップＳ１００８ではテキスト行ＢＯＸを配置し、ステップＳ１００９では画像データを配置し、ステップＳ１０１０ではテーブルを配置する。
【００４４】
＜レンダリング処理の流れ＞
図１１は、レンダリング処理の動作フローを示した図である。ステップＳ１１０１では＜ｏｂｊｅｃｔ＞のｄａｔａで指定された画像データのファイルを読み込み、ｔｙｐｅで指定された種類別（ｉｍａｇｅ／ｊｐｅｇ、ｉｍａｇｅ／ｐｎｇ、ｉｍａｇｅ／ｇｉｆ）に、ＲＧＢのビットマップデータへ変換する。
【００４５】
ステップＳ１１０２ではフォントメトリック情報・フォントグリフ情報から１文字ずつの配置情報データを計算し、レンダリング時に、当該配置情報データに基づいて１文字ずつ指定された座標へ指定された形状や色でビットマップデータを作成する。ステップＳ１１０３では作成されたビットマップデータを印刷形式（描画データ）に変換し、ステップＳ１１０４では、ページ毎に作成された「ページ内ツリー」と、ビットマップに展開された画像データと、同じくビットマップに展開された１文字ずつの文字リソースとを使用して、出力イメージをページ単位に作成し、ステップＳ１１０５で生成されたページ単位の出力イメージをプリンタエンジンが受け取れる形式に変換し、ステップＳ１１０６でプリンタ制御部６００に受け渡して印刷処理を開始する。
【００４６】
＜従来のネットワークプリンタ２０８全体の処理の流れ（ＰｒｉｎｔＦｉｌｅ方式）＞
図１２は、「一括モジュール形式」の「ＰｒｉｎｔＦｉｌｅ方式」を用いた従来のネットワークプリンタ２０８の動作フローの配分を示した図で、図中の２０１、２０２で示した矢印の部分が、個々の制御部において実行する機能モジュールの配分を示している。すなわち、ネットワーク制御部２０１側ではインターフェイス部３０１（ステップＳ１２０１）で取り込まれた「一括モジュール形式」のコンテンツデータを、ＭＩＭＥデコード（ステップＳ１２０２）で分割し、パース処理（ステップＳ１２０３）で構文解析を行なって、レイアウト処理（ステップＳ１２０４）で配置情報を抽出し、レンダリング処理（ステップＳ１２０５）とバンディング処理（ステップＳ１２０６）によって印刷用の描画データを作成する。
【００４７】
このように従来のネットワークプリンタ２０８では、当該印刷用の描画データをプリンタ制御部２０２側に出力することで印刷処理を実行していたが、それが故にネットワーク制御部２０１側での負荷が必要以上に大きくなってしまっていた。このためコンテンツデータの処理時間の短縮を図るべく演算処理能力の高いＣＰＵや容量の大きなメモリをネットワーク制御部２０１側に組み込まなければならなかった。
【００４８】
これに対して本実施形態にかかるネットワークプリンタ１０４では、ネットワーク制御部５００の動作状況に応じて実行する機能モジュールの配分を切り替えることを特徴としている。そして配分の条件としてはネットワーク制御部５００で無線ＬＡＮ機能を動作させた場合にデータ暗号化等の処理にＣＰＵのパフォーマンスを割かれてしまうことに鑑みて、そのような場合にプリンタ制御部６００でＸＨＴＭＬの構文解析やレイアウト処理までを実行させることとしている。この結果、全体の印刷スループットを改善させることが可能となっている。以下に詳細を説明する。
【００４９】
図１３は、本発明の第１の実施形態にかかる「ＰｒｉｎｔＦｉｌｅ方式」を用いたネットワークプリンタ１０４の動作フローの配分を示した図で、ネットワーク制御部５００の実行状況に応じて実行する機能モジュールの配分を切り替える様子を示している。
【００５０】
本実施形態にかかるネットワークプリンタ１０４は、ネットワーク制御部５００が有線ＬＡＮと無線ＬＡＮの双方の機能を持っており、ユーザが任意に設定の切り替えが可能である。
【００５１】
ここで、モード１とはネットワーク制御部５００の有線ＬＡＮと無線ＬＡＮの双方を同時動作させるモードである。
【００５２】
この場合、無線ＬＡＮにおけるＷＰＡ等を使用した暗号化処理にネットワーク制御部５００のＣＰＵ負荷がとられてしまうので、ネットワークプリンタ１０４では、コンテンツデータを取り込むインターフェイス処理とＭＩＭＥデコード処理までの機能モジュールだけをネットワーク制御部５００に担当させ、プリンタ制御部６００には個別ファイル形式のコンテンツデータを出力し、パース処理以降の機能モジュールを全て任せるようにしている。この結果、ネットワークプリンタ１０４の実際の動作スピードは低下するものの前段のデータ処理を効率よく実行させることが可能となり、ネットワークプリンタ全体の印刷スループットが向上する。
【００５３】
一方、モード２とはネットワーク制御部５００で有線ＬＡＮだけ動作させるモードである。この場合、有線ＬＡＮの制御はＮＩＣ５０５を使用することでハードウエア処理によってほぼ完了してしまうので、ネットワーク制御部５００のＣＰＵはコンテンツデータ処理に対して十分活用できる。このため、ネットワークプリンタ１０４ではコンテンツデータを取り込むインターフェイス処理から最終段のバンディング処理までの機能モジュールをネットワーク制御部５００に担当させ、印刷用の描画データを出力するまでの処理を行なわせることで、プリンタ制御部６００はプリンタエンジンを動かすことに専念することが可能となる。すなわち、モード２は従来の機能モジュール配分と同等なものとなる。
【００５４】
＜ネットワークプリンタ１０４全体の処理の流れ（ＰｒｉｎｔＵＲＩ方式）＞
図１４は、本実施形態における「ＰｒｉｎｔＵＲＩ方式」を用いたネットワークプリンタ１０４の動作フローの配分を示した図であり、ネットワーク制御部５００の実行状況に応じて実行する機能モジュールの配分を切り替える様子を示している。本実施形態にかかるネットワークプリンタ１０４はコンテンツデータとして「一括モジュール形式」の「ＰｒｉｎｔＦｉｌｅ方式」を用いたものに限定されず、「個別ファイル形式」の「ＰｒｉｎｔＵＲＩ方式」を用いたコンテンツデータの場合であっても同様に処理することが可能である。
【００５５】
モード１、モード２での配分方式は前述した図１３の例と同様ではあるが、「ＰｒｉｎｔＵＲＩ方式」であることからＭＩＭＥデコードを行なう必要が無く、代わってＵＲＩで指定された場所に対してコンテンツデータを読み出す操作が行なわれる。ちなみに、指定されたＵＲＩはインターネット１０８上のＷＷＷサーバ１０９に限定されるものではなく、ホスト装置１０６内部のデータ領域を指定しても、或いはネットワークプリンタ１０４自身のデータ領域を指定しても構わず、自由度の高い制御が可能である。
【００５６】
「ＰｒｉｎｔＵＲＩ方式」では、初めにパース処理の際に必要となる「ＸＨＴＭＬ」と「ＣＳＳ」のファイルだけを読み出す必要があるが、その他の画像データである「ＪＰＧ」「ＰＮＧ」「ＧＩＦ」などのファイルは必要に応じてその都度ＵＲＩにアクセスして読み出せば良い。このため、ネットワークプリンタ１０４側に全てのコンテンツデータを貯めこむ必要は無く、「ＰｒｉｎｔＦｉｌｅ方式」よりメモリ消費量を少なくしたデータ処理が可能となるというメリットがある。一方、データを読み出すたびにインターネットにアクセスすることになるので、アクセスの為のハンドシェイク処理やネットワーク上のトラフィック状況によって動作が遅くなるというデメリットもある。
【００５７】
以上の説明から明らかなように、ネットワーク制御部とプリンタ制御部とで構成された印刷装置を用いてマークアップ言語で記述されたコンテンツデータから印刷用の描画データを作成して印刷処理をするにあたり、ネットワーク制御部の機能要素や動作状況に応じて、機能モジュールの処理分担をネットワーク制御部とプリンタ制御部の間で任意に配分することで、コンテンツデータ処理負担を軽減しかつ効率的な処理を行なうことが可能となる。
【００５８】
なお、上記説明では、選択されたモードに応じて機能モジュールの処理分担を切り換えることとしたが、本発明は特にこれに限られず、例えば、双方の制御部の動作状況に応じて機能モジュールの配分を動的に切り替えるようにしてもよい。具体的には、プリンタ制御部６００の動作状況やネットワーク制御部５００の動作状況をリアルタイムでモニターする手段を追加し、当該モニター手段によって機能モジュールの配分を動的に切り替えることとなる。
【００５９】
［第２の実施形態］
プリンタ制御部で印刷用の描画データを生成するにあたり、プリンタエンジンの印刷速度が十分に速い場合には、いかにプリンタエンジンを休み無く動作させるよう印刷用の描画データの生成を行なうかがポイントとなる。
【００６０】
そこで、本実施形態にかかるネットワークプリンタでは、コンテンツデータに含まれる画像データをネットワーク制御部のメモリ上に一時保持しておき、プリンタ制御部でコンテンツデータ保存に使用するメモリ容量を節約することで、レンダリング処理を行なう際の１バンドの容量を大きくし、隣接するバンドにまたがる画像データの重複したデータ処理を軽減することとした。これにより、印刷用の描画データを生成する処理効率を高めることが可能となる。以下に詳細を説明する。
【００６１】
図１５は、本発明の第２の実施形態にかかる「ＰｒｉｎｔＦｉｌｅ方式」を用いたネットワークプリンタ１０４の動作フローを示した図であり、コンテンツデータをＭＩＭＥデコードによって分離した画像データのみをネットワーク制御部上のメモリで一時保持している状態を示している。
【００６２】
上記第１の実施形態（図１３）ではＭＩＭＥデコードされたコンテンツデータは、ＸＨＴＭＬやＣＳＳファイルと一緒に画像データもパース制御部へ送られ、そのままプリンタ制御部６００の内部メモリに一時保存され、レンダリング処理が行なわれるまで保存されたままの状態となっていたところ、本実施形態では図１５に示したように、ＭＩＭＥデコードした後の画像データをネットワーク制御部５００の内部メモリに一時保存しておくことにより、プリンタ制御部６００に画像データが送られないこととなり、その結果、プリンタ制御部のメモリ消費量を減らすことができ、かつレンダリング処理部からの読み出しリクエストがあった場合には必要に応じて指定された画像データを提供することが可能となる。
【００６３】
図１６は、本発明の第２の実施形態にかかる「ＰｒｉｎｔＵＲＩ方式」を用いたネットワークプリンタの動作フローを示した図である。同図に示すようにホスト装置からＵＲＩで指定したコンテンツデータの印刷指示が送信されると、ＸＨＴＭＬ、ＣＳＳファイルが読み出されてパース処理部、レイアウト処理部、バンディング処理部と進み、次のレンダリング処理部で画像データが初めて読み出された時に、ネットワーク制御部のメモリに、当該読み出された画像データを一時保存しておく。後に同じ画像データの読み出し要求がきた際には、メモリ上に一時保持された画像データをレンダリング処理部に送るようにすることで、インターフェイス部を経由してＵＲＩに対して再アクセスする回数を減らし、かつ処理待ち時間を節約することが可能となる。
【００６４】
図１７は、レンダリング処理部が１バンド分の印刷用の描画データを生成する際に、どの画像データを読み出すかを示した例である。上記第１の実施形態では、インターフェイス部を経由して１バンドの領域にかかる画像データをバンドが変わる度に新たに読み出していたので、インターネットへのアクセス回数が無駄に増えていたところ、本実施形態では複数バンドにまたがった画像データを処理するにあたり、初めに読み出した画像データをネットワーク制御部のメモリに一時保存しておくため、次回からメモリ上の画像データを必要な領域だけを読み出せばよく、次のバンド領域で画像データを処理する際に再度同じ画像データが読み出された場合でも、無駄な読み出し処理の繰り返しが不要となる。
【００６５】
具体例を挙げて説明する。レンダリング処理部がＢａｎｄ１のデータ処理をする際に読み出された画像データ「ＪＰＧ１」は、次のＢａｎｄ２でも再度読み出される。その際、ネットワーク制御部で一時保管しておいた「ＪＰＧ１」のデータをそのままプリンタ制御部に送ることで、無駄な外部アクセス処理を省略することが可能となる。一方、「ＧＩＦ１」はＢａｎｄ１の領域にしか含まれてないので、この画像データを次のＢａｎｄ２の処理まで一時保存する必要がない。すなわち、紙面の上側バンド領域から順番にレンダリング処理がなされていくので、「ＧＩＦ１」「ＧＩＦ２」は一度きりで保存する必要はなく、「ＪＰＧ１」「ＪＰＧ２」は次のバンド領域の処理が終わるまで保持し、その後メモリを開放することとなる。
【００６６】
このように、本実施形態によればプリンタ制御部で画像データを保存する必要がなくなるので、印刷処理に用いるメモリ領域を最大限に利用して、処理効率を向上させることが可能となる。
【００６７】
［第３の実施形態］
さらに、プリンタ制御部で実行されるレンダリング処理のうち、画像データに関するデータ変換処理をネットワーク制御部で事前に行なっておき、その結果となるビットマップ（ＢＭＰ）データを中間データとして一時保存しておくことで、プリンタ制御部での処理負荷を更に低減させることができる。
【００６８】
つまり、上記第１の実施形態では、プリンタ制御部でのレンダリング処理において１バンド分の印刷用の描画データを生成するに際して、１バンドの領域にかかる画像データは毎回新たに読み出され、データ変換処理が必要であれば圧縮データの解凍や、解像度変換、回転処理などを行なってビットマップ（ＢＭＰ）ファイルを生成していたのに対して、本実施形態にかかるネットワークプリンタでは、複数バンドにまたがった画像データを処理するに際して、画像データを読み出して変換処理したＢＭＰファイルを「中間データ」として一時保存しておくよう構成されている。
【００６９】
これにより、変換したデータの必要な領域だけを読み出すことが可能となるので、次のバンドで再度同じ画像データを読み出された場合でも、無駄なデータ変換処理の繰り返しが不要となる。以下、本実施形態の詳細を説明する。
【００７０】
図１８は、本発明の第３の実施形態における「ＰｒｉｎｔＦｉｌｅ方式」を用いたネットワークプリンタの動作フローを示した図である。上記第２の実施形態で示す図１５との差異は、図１５の場合、メモリに保存されていたのが画像データそのものであったのに対して、本実施形態の場合は、その画像データをデータ変換処理した後の中間データであるＢＭＰファイルとなっている点である。このＢＭＰファイルはレンダリング処理部において印刷用の描画データを生成する際にそのまま利用できる形態となっているので、プリンタ制御部の処理負荷を軽減させることが可能となる。
【００７１】
図１９は、本発明の第３の実施形態における「ＰｒｉｎｔＵＲＩ方式」を用いたネットワークプリンタの動作フローを示す図である。上記第２の実施形態で示した図１６との差異は、図１６の場合、メモリに保存されていたのが画像データそのものであったのに対して、本実施形態の場合、その画像データをデータ変換処理した後の中間データであるＢＭＰファイルとなっている点である。このＢＭＰファイルはレンダリング処理部において印刷用の描画データを生成する際にそのまま利用できる形態となっているので、プリンタ制御部の処理負荷を軽減させることが可能となる。
【００７２】
動作フローを順に追って説明する。ホスト装置からＵＲＩで示されたＷＷＷサーバ上のＸＨＴＭＬ／ＣＳＳファイルをインターフェイス部が読み出し、読み出したＸＨＴＭＬ／ＣＳＳファイルに対して、パース処理部での構文解析、レイアウト処理部での配置処理、バンディング処理部でのバンド単位のデータ管理を行なって、最終的にレンダリング処理部によって画像データ（ＪＰＧ／ＰＮＧ／ＧＩＦ）を中間データのＢＭＰファイルの形で取り込み、１バンド分の印刷用の描画データを生成する。
【００７３】
図２０は、バンド単位でのデータ管理を説明した図で、レンダリング処理部がＢａｎｄ１のデータを処理する際に読み出された中間データ「ＢＭＰ２」は、次のＢａｎｄ２でも再度読み出される。その際、ネットワーク制御部で一時保管しておいた「ＢＭＰ２」のデータをそのままプリンタ制御部のレンダリング処理に送ることで、無駄な外部アクセス処理を省略することが可能となる。一方、「ＢＭＰ１」はＢａｎｄ１の領域にしか含まれてないので、この中間データを次のＢａｎｄ２のために一時保存する必要がない。すなわち、紙面の上側バンド領域から順番にレンダリング処理がなされていくので、「ＢＭＰ１」「ＢＭＰ４」は一度読み出されたら保存する必要はなく、「ＢＭＰ２」「ＢＭＰ３」は次のバンド領域の処理が終わるまで保持し、その後メモリを開放することとなる。
【００７４】
このように、画像データを変換する際に必要となる圧縮解凍や回転・解像度変換などのデータ変換処理をネットワーク制御部で分担処理することで、プリンタ制御部のレンダリング処理の効率を向上させることが可能である。
【００７５】
［他の実施形態］
なお、本発明は、複数の機器（例えばホストコンピュータ、インターフェイス機器、リーダ、プリンタなど）から構成されるシステムに適用しても、一つの機器からなる装置（例えば、複写機、ファクシミリ装置など）に適用してもよい。
【００７６】
また、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読出し実行することによっても、達成されることは言うまでもない。
【００７７】
この場合、記憶媒体から読出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【００７８】
プログラムコードを供給するための記憶媒体としては、例えば、フロッピ（登録商標）ディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、磁気テープ、不揮発性のメモリカード、ＲＯＭなどを用いることができる。
【００７９】
また、コンピュータが読出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているＯＳ（オペレーティングシステム）などが実際の処理の一部または全部を行ない、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００８０】
さらに、記憶媒体から読出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行ない、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【図面の簡単な説明】
【００８１】
【図１】本発明の実施形態にかかるホームネットワーク環境での接続構成例を示した図である。
【図２】従来の印刷処理システムの構成を示した図である。
【図３】従来のネットワーク制御部のソフトウエア処理の概略を示す図である。
【図４】従来のプリンタ制御部のソフトウエア処理の概略を示す図である。
【図５】本発明の第１の実施形態にかかるネットワークプリンタのネットワーク制御部内部のハードウェア構成を示すブロック図である。
【図６】本発明の第１の実施形態にかかるネットワークプリンタのプリンタ制御部内部のハードウェア構成を示すブロック図である。
【図７】ネットワーク制御部が入力として取り扱うコンテンツデータの構成を表す図である。
【図８】「ＰｒｉｎｔＦｉｌｅ方式」のコンテンツデータをＭＩＭＥデコードする様子ならびにＤｏｃｕｍｅｎｔの読み込み処理を表した図である。
【図９】パース処理の動作フローを示した図である。
【図１０】レイアウト処理の動作フローを示した図である。
【図１１】レンダリング処理の動作フローを示した図である。
【図１２】従来の「ＰｒｉｎｔＦｉｌｅ方式」を用いたネットワークプリンタの動作フローを示した図である。
【図１３】本発明の第１の実施形態にかかる「ＰｒｉｎｔＦｉｌｅ方式」を用いたネットワークプリンタの動作フローを示した図である。
【図１４】本発明の第１の実施形態にかかる「ＰｒｉｎｔＵＲＩ方式」を用いたネットワークプリンタの動作フローを示した図である。
【図１５】本発明の第２の実施形態にかかる「ＰｒｉｎｔＦｉｌｅ方式」を用いたネットワークプリンタの動作フローを示した図である。
【図１６】本発明の第２の実施形態にかかる「ＰｒｉｎｔＵＲＩ方式」を用いたネットワークプリンタの動作フローを示した図である。
【図１７】レンダリング処理部が１バンド分の印刷用の描画データを生成する際の動作フローを説明する図である。
【図１８】本発明の第３の実施形態にかかる「ＰｒｉｎｔＦｉｌｅ方式」を用いたネットワークプリンタの動作フローを示した図である。
【図１９】本発明の第３の実施形態にかかる「ＰｒｉｎｔＵＲＩ方式」を用いたネットワークプリンタの動作フローを示した図である。
【図２０】レンダリング処理部が１バンド分の印刷用の描画データを生成する際の動作フローを説明する図である。
【符号の説明】
【００８２】
１０１  デジタル放送用ＴＶ（ＤＴＶ）
１０２  セットトップボックス（ＳＴＢ）
１０３  パーソナルコンピュータ（ＰＣ）
１０４  ネットワークプリンタ
１０５  ブロードバンドルータ
１０６  ホスト装置
１０７  印刷装置
１０８  インターネット
１０９  ＷＷＷサーバ
１１０  イーサネット（登録商標）
２０１  ネットワーク制御部
２０２  プリンタ制御部
２０３  印刷媒体
２０４  コンテンツデータ
２０５  ステータス情報
２０６  印刷用の描画データ
２０７  出力
２０８  ネットワークプリンタ
３０１  インターフェース部
３０２  パース制御部
３０３  レイアウト制御部
３０４  フォント制御部
３０５  レンダリング制御部
３０６  バンディング制御部
４０１  プリンタ制御実行部
４０２  画像処理部
４０３  出力制御部
４０４  プリンタエンジン
５００  ネットワーク制御部
５０１  ＣＰＵ
５０２  ＤＲＡＭ
５０３  プログラムＲＯＭ
５０４  フォントＲＯＭ
５０５  ＮＩＣ
５０６  シリアルＩＯ（ＳＩＯ）
５０７  シリアルＩ／Ｆ
６００  プリンタ制御部
６０１  Ｐ−ＣＰＵ
６０２  Ｐ−ＤＲＡＭ
６０３  Ｐ−ＲＯＭ
６０４  Ｐ−ＳＩＯ
６０５  プリンタエンジンコントローラ部
６０６  ヘッドドライバ
６０７  インクジェットヘッド
６０８  モータドライバ
６０９  キャリッジモータ
６１０  モータドライバ
６１１  ペーパーフィードモータ
【図１】
2006305840.tif 000003
【図２】
2006305840.tif 000004
【図３】
2006305840.tif 000005
【図４】
2006305840.tif 000006
【図５】
2006305840.tif 000007
【図６】
2006305840.tif 000008
【図７】
2006305840.tif 000009
【図８】
2006305840.tif 000010
【図９】
2006305840.tif 000011
【図１０】
2006305840.tif 000012
【図１１】
2006305840.tif 000013
【図１２】
2006305840.tif 000014
【図１３】
2006305840.tif 000015
【図１４】
2006305840.tif 000016
【図１５】
2006305840.tif 000017
【図１６】
2006305840.tif 000018
【図１７】
2006305840.tif 000019
【図１８】
2006305840.tif 000020
【図１９】
2006305840.tif 000021
【図２０】
2006305840.tif 000022