(57)【要約】【課題】  構造化文書中の各要素ブロックを１つのバンドに含めるようにバンド幅を好適に調整して、描画時にオブジェクトの外部参照回数を低減し描画効率を高めることができる画像処理装置及び画像処理方法並びにプログラムを提供する。【解決手段】  複数の要素ブロックを有する構造化文書のページを複数のバンドに分割する際に、当該構造化文書のページをスキャンすることにより、スキャンされたライン上の外部参照すべきオブジェクトが配置される要素ブロック数をそれぞれ検出し、検出された要素ブロック数が減少するラインを構造化文書の分割ラインとして設定する。【選択図】  図５
2006243807.tif 000002
【特許請求の範囲】
【請求項１】
複数の要素ブロックを有する構造化文書のページを複数のバンドに分割する画像処理装置であって、
前記構造化文書のページをスキャンすることにより、スキャンされたライン上の外部参照すべきオブジェクトが配置される要素ブロック数をそれぞれ検出する検出手段と、
前記検出手段によって検出された前記要素ブロック数が減少するラインを前記構造化文書の分割ラインとして設定する設定手段と
を備えることを特徴とする画像処理装置。
【請求項２】
前記バンドの最大高さを入力する第１の入力手段をさらに備え、
前記設定手段が、前記複数のバンドのそれぞれが前記最大高さ以下となることを条件として、前記要素ブロック数が減少するラインを前記分割ラインとして設定することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記バンドに含まれるオブジェクトデータが描画されて印刷される印刷装置が保有するメモリの容量に基づいて前記バンドの最大高さを決定する第１の決定手段をさらに備えることを特徴とする請求項２に記載の画像処理装置。
【請求項４】
前記バンドの最小高さを入力する第２の入力手段をさらに備え、
前記設定手段が、前記複数のバンドのそれぞれが前記最小高さ以上となることを条件として、前記要素ブロック数が減少するラインを前記分割ラインとして設定することを特徴とする請求項１から３までのいずれか１項に記載の画像処理装置。
【請求項５】
前記バンドに含まれるオブジェクトデータが描画されて印刷される印刷装置における印刷バンド高さに基づいて前記バンドの最小高さを決定する第２の決定手段をさらに備えることを特徴とする請求項４に記載の画像処理装置。
【請求項６】
前記検出手段が、前記ページの先端から水平方向のラインと交差する前記要素ブロック数を検出することを特徴とする請求項１から５までのいずれか１項に記載の画像処理装置。
【請求項７】
前記検出手段が、前記ページの後端から水平方向のラインと交差する前記要素ブロック数を検出することを特徴とする請求項１から５までのいずれか１項に記載の画像処理装置。
【請求項８】
前記検出手段が、前記構造化文書のページを１ラインずつスキャンして、該構造化文書に含まれる各要素ブロックの開始ライン及び終了ラインとを区切りとして得られる複数のゾーンと、それぞれのゾーン中に含まれる外部装置が保持するデータを参照するオブジェクトデータの有無、及びそれぞれのゾーン中に含まれる要素ブロック数とを検出してテーブルを予め作成しておき、該テーブルを参照してそれぞれのライン上の要素ブロック数を検出することを特徴とする請求項１から７までのいずれか１項に記載の画像処理装置。
【請求項９】
前記設定手段によって設定された前記分割ラインに基づいて分割された前記複数のバンド中に外部装置が保持するデータを参照するオブジェクトデータが存在する場合に、該オブジェクトデータの全てが１つのバンド内に含まれるように、バンドの分割を調整する調整手段をさらに備えることを特徴とする請求項１から８までのいずれか１項に記載の画像処理装置。
【請求項１０】
前記検出手段が、前記構造化文書の上端及び下端から１ラインずつスキャンして、それぞれのライン上の要素ブロック数を検出し、
前記設定手段が、前記要素ブロック数が減少するラインを前記構造化文書の分割ラインとして設定するとともに、前記ページの中央部分のブロックを調整する
ことを特徴とする請求項１から５までのいずれか１項に記載の画像処理装置。
【請求項１１】
前記設定手段が、前記ページを上端からスキャンしたときの中央部分の水平ラインを含むブロックと、下端からスキャンしたときの前記水平ラインを含むブロックとを併合して併合ブロックを設定することを特徴とする請求項１０に記載の画像処理装置。
【請求項１２】
前記設定手段が、前記併合ブロックが前記バンドの最大許容高さを超えている場合に、該併合ブロックを前記センターラインで強制的に２つのブロックに分割することを特徴とする請求項１１に記載の画像処理装置。
【請求項１３】
請求項１から１２までのいずれか１項に記載の画像処理装置によって分割されたそれぞれのバンドに含まれるオブジェクトデータを描画する描画手段と、
前記描画手段によって描画された前記オブジェクトデータを印刷媒体上に印刷する印刷手段と
を備えることを特徴とする印刷装置。
【請求項１４】
複数の要素ブロックを有する構造化文書のページを複数のバンドに分割する画像処理方法であって、
前記構造化文書のページをスキャンすることにより、スキャンされたライン上の外部参照すべきオブジェクトが配置される要素ブロック数をそれぞれ検出する検出工程と、
前記検出工程によって検出された前記要素ブロック数が減少するラインを前記構造化文書の分割ラインとして設定する設定工程と
を有することを特徴とする画像処理方法。
【請求項１５】
複数の要素ブロックを有する構造化文書のページを複数のバンドに分割するコンピュータに、
前記構造化文書のページをスキャンすることにより、スキャンされたライン上の外部参照すべきオブジェクトが配置される要素ブロック数をそれぞれ検出する検出手順と、
前記検出手順によって検出された前記要素ブロック数が減少するラインを前記構造化文書の分割ラインとして設定する設定手順と
を実行させるためのプログラム。
【請求項１６】
請求項１５に記載のプログラムを格納したことを特徴とするコンピュータ読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の要素ブロックから構成されるディジタルコンテンツ等の構造化文書を印刷するために複数のバンドに分割する画像処理装置及び画像処理方法並びにプログラムを提供することを目的とする。
【背景技術】
【０００２】
従来、ディジタルデータ放送やインターネット等のデータ通信を用いて配信されるＨＴＭＬファイル等のディジタルコンテンツを印刷装置で印刷するような場合には、通常、１ページ分のレイアウト情報を複数のバンドに分割して、それぞれのバンドについて描画処理が行われている。すなわち、各バンドごとに、その領域内に含まれるオブジェクトを描画データに変換するためのレンダリング処理が行われる。
【０００３】
これは、メモリの容量が十分でない印刷装置では、１ページ分の描画データを常に全て保持できるとは限らないためである。このような場合、描画対象のバンドの領域内に含まれるオブジェクトデータをホスト側から参照（外部参照）することによって描画データに変換する処理を行う必要がある。このような外部参照処理では、入力したＨＴＭＬファイルに記述された内容を解析して、画像データ等のオブジェクトが実際に格納されているアドレスを取得することにより、当該アドレスにアクセスして画像データ等のオブジェクトデータを取得している。
【０００４】
そのため、オブジェクトが複数のバンドにまたがって存在しているような場合、それぞれのバンドの描画処理を行う度に同一のオブジェクトを何度も外部参照する必要が生じ、処理時間が長くなり、描画効率が悪くなってしまう。
【０００５】
これに対し、バンド毎に順次バンド高さを仮決定して初期値を設定した後、その高さに含まれるオブジェクト描画面積の総和を求め、予め定められた閾値以下となるようにバンド高さを順次調整する技術が特許文献１の第１の実施例に開示されている（特許文献１参照。）。
【特許文献１】特開２０００−２３８３４９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、上記特許文献１に記載の技術は、オブジェクトを外部参照する回数を少なくするものではない。また、当該特許文献１の第２の実施例には、処理に時間がかかる図形であるか否かを判断し、処理に時間がかかる図形についてその描画範囲が収まる最小の高さのバンドを設定し、処理効率を高めようとする技術が開示されている。しかしながら、当該技術を実現するための構成では、比較的簡単な処理で済むような図形やテキストのオブジェクトについては複数のバンドにまたがったままになってしまうため、外部参照する回数を減少させることはできない。
【０００７】
例えば、構造化文書を解析して得られた１ページ分のレイアウト情報を複数のバンドに分割して描画する場合において、複数のバンドにまたがるオブジェクトが出現した場合、バンド分割処理が煩雑になるのみならず、同じオブジェクトに対する外部参照がその都度発生して、描画効率を低下させてしまう。特に、オブジェクトの参照先がネットワーク、例えばインターネットを経由した外部装置であるような場合には、顕著に描画効率の低下が現れることとなる。
【０００８】
一般に、ディジタルテレビはもとより、最近では携帯電話やディジタルカメラ等の携帯機器も、マークアップ言語等で記述されたディジタルコンテンツを取り扱うことが多くなってきている。しかしながら、上述したような小型の携帯機器ではハードウェア資源が限られている。そのため、マークアップ言語等で記述されたディジタルコンテンツをレンダリング処理する過程、特に、レイアウト済みの中間データを描画するレンダリング処理は、当該携帯機器内のハードウェア資源にとっては負荷の大きい処理となっている。従って、例え簡単な処理で済む図形やテキスト等のオブジェクトであっても、外部参照する回数を減少させることが必要となってくる。
【０００９】
本発明は、このような事情を考慮してなされたものであり、構造化文書中の各要素ブロックを１つのバンドに含めるようにバンド幅を好適に調整して、描画時にオブジェクトの外部参照回数を低減し描画効率を高めることができる画像処理装置及び画像処理方法並びにプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１０】
上記課題を解決するために、本発明は、複数の要素ブロックを有する構造化文書のページを複数のバンドに分割する画像処理装置であって、
前記構造化文書のページをスキャンすることにより、スキャンされたライン上の外部参照すべきオブジェクトが配置される要素ブロック数をそれぞれ検出する検出手段と、
前記検出手段によって検出された前記要素ブロック数が減少するラインを前記構造化文書の分割ラインとして設定する設定手段と
を備えることを特徴とする。
【００１１】
また、上記課題を解決するために、本発明は、複数の要素ブロックを有する構造化文書のページを複数のバンドに分割する画像処理方法であって、
前記構造化文書のページをスキャンすることにより、スキャンされたライン上の外部参照すべきオブジェクトが配置される要素ブロック数をそれぞれ検出する検出工程と、
前記検出工程によって検出された前記要素ブロック数が減少するラインを前記構造化文書の分割ラインとして設定する設定工程と
を有することを特徴とする。
【００１２】
さらに、上記課題を解決するために、本発明に係るプログラムは、
複数の要素ブロックを有する構造化文書のページを複数のバンドに分割するコンピュータに、
前記構造化文書のページをスキャンすることにより、スキャンされたライン上の外部参照すべきオブジェクトが配置される要素ブロック数をそれぞれ検出する検出手順と、
前記検出手順によって検出された前記要素ブロック数が減少するラインを前記構造化文書の分割ラインとして設定する設定手順と
を実行させることを特徴とする。
【発明の効果】
【００１３】
本発明によれば、構造化文書中の各要素ブロックを１つのバンドに含めるようにバンド幅を好適に調整して、描画時にオブジェクトの外部参照回数を低減し描画効率を高めることができる。
【発明を実施するための最良の形態】
【００１４】
以下、図面を参照して、本発明の一実施形態について詳細に説明する。
【００１５】
図１は、本発明の一実施形態に係るホームネットワーク環境での画像処理システムの装置接続構成例を示す図である。図１に示すように、本画像処理システムは、ホスト側機器（Ｈｏｓｔ１０６）とプリンタ側機器（Ｐｒｉｎｔｅｒ）１０７とがイーサネット（登録商標）等のネットワーク１１０を介して互いに通信可能になっている。ここで、ホスト側機器１０６して動作する機器としては、図１に示すように、ディジタル放送用テレビ（ＤＴＶ）１０１、セットトップボックス（ＳＴＢ）１０２、パーソナルコンピュータ（ＰＣ）１０３等がある。また、プリンタ側機器１０７として動作する機器としては、ネットワークプリンタ（Ｎｅｔｗｏｒｋ  Ｐｒｉｎｔｅｒ）１０４がある。
【００１６】
さらに、イーサネット（登録商標）等のネットワーク１１０に接続した上記機器は、ブロードバンドルータ（Ｒｏｕｔｅｒ）１０５を介してインターネット（Ｉｎｔｅｒｎｅｔ）１０８への接続も可能となる。従って、当該機器は、ウェブサーバ（ＷＷＷ  Ｓｅｒｖｅｒ）１０９上のコンテンツデータを任意にブラウジングすることが可能である。
【００１７】
図２は、図１に示す画像処理のシステムにおける印刷処理の実行の様子を説明するための図である。図２では、ホスト側機器１０６としては処理パフォーマンスの高いＰＣを前提とせず、ＤＴＶ１０１とプリンタ側機器１０７（例えば、ネットワークプリンタ１０４等）とを１対１で接続したシステム構成について示している。このようなシステム構成において、ホスト側機器１０６のＤＴＶ１０１ではプリンタドライバを用いた印刷データ生成を行わず、ＸＨＴＭＬ（Ｅｘｔｅｎｓｉｂｌｅ  Ｈｙｐｅｒｔｅｘｔ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）形式で生成した印刷用コンテンツデータを直接プリンタ側機器１０７に与えて、当該プリンタ側機器１０７において解釈した後、印刷を行う。
【００１８】
尚、図２に示すシステムにおいて、コンテンツデータは、「個別のファイル形式」又はパッケージングした「一括モジュール形式」として入力される。ここで、この印刷処理形態は前述した「プッシュ型」、すなわちコンテンツの入力指示に応じた印刷処理形態に限らず、「プル型」、すなわちコンテンツの所在場所が示されプリンタ自身が参照により内容を取得する形態もあり得る。
【００１９】
図２に示すシステムにおける印刷動作を説明すると、ＤＴＶ１０１からイーサネット（登録商標）等のネットワーク１１０を経由して、ＸＨＴＭＬ形式の印刷用データを含むネットワークデータ（Ｎｅｔｗｏｒｋ  ｄａｔａ）２０４がプリンタ側機器（Ｐｒｉｎｔｅｒ）１０７に送信される。
【００２０】
プリンタ側機器１０７では、ネットワークコントローラ（Ｎｅｔｗｏｒｋ Ｃｏｎｔｒｏｌｌｅｒ）２０１が、受信した当該データの一部又は全部を一時記憶し、コンテンツデータ（Ｃｏｎｔｅｎｔｓ  ｄａｔａ）２０５を選び出し、一つのプリントジョブ形式に変換して、プリンタコントローラ（Ｐｒｉｎｔｅｒ  Ｃｏｎｔｒｏｌｌｅｒ）２０２に渡す。そして、プリンタコントローラ２０２は、ネットワークコントローラ２０１から渡されたコンテンツデータ２０５を解釈して印刷用のイメージデータ（Ｉｍａｇｅ ｄａｔａ）を生成して印刷メディア（Ｐｒｉｎｔ  Ｍｅｄｉａ）２０３上に画像（Ｏｕｔｐｕｔ）２０６を出力する。このようにして、印刷動作が行われる。
【００２１】
図３は、図２に示すネットワークコントローラ２０１の内部構造を示すブロック図である。図３に示すように、ネットワークコントローラ２０１は、主制御を司るＣＰＵ５０１と、外部参照を行うことによって得られたオブジェクトデータ等のネットワークデータ２０４を一時取り込むためのバッファメモリやワークメモリとして使用するＤＲＡＭ５０２と、イーサネット（登録商標）等のネットワーク１１０に接続されたホスト側機器１０６との通信を行うネットワークインタフェースコントローラ（ＮＩＣ）５０５と、実行プログラムが書き込まれたプログラムＲＯＭ５０３と、フォントデータが書き込まれたフォントＲＯＭ５０４と、プリンタコントローラ２０２との通信に用いられるシリアルＩＯ（ＳＩＯ）５０６とが内部バスによって互いに接続された構成となっている。
【００２２】
図４は、図２に示すプリンタコントローラ２０２の内部構造を示すブロック図である。図４に示すように、プリンタコントローラ２０２では、主制御を司るＰ−ＣＰＵ６０１と、ネットワークコントローラ２０１から受信したコンテンツデータ２０５を一時取り込むためのバンドメモリとして機能するプールメモリやワークメモリとして使用するＰ−ＤＲＡＭ６０２と、実行プログラムが書き込まれたＰ−ＲＯＭ６０３と、シリアルＩＯで接続されたネットワークコントローラ２０１と通信を行うＰ−ＳＩＯ６０４との各ブロックが、内部バスによってプリントエンジンコントローラ（Ｐｒｉｎｔ  Ｅｎｇｉｎｅ  Ｃｏｎｔｒｏｌｌｅｒ）６０５と接続され、当該プリントエンジンコントローラ６０５を経由して印刷機構部のインクジェットヘッド６０７を駆動するヘッドドライバ６０６、キャリッジモータ６０９を駆動するモータドライバ６０８、及びペーパーフィードモータ６１１を駆動するモータドライバ６１０とを制御するように構成されている。
【００２３】
図５は、本発明の一実施形態に係るプリンタ側機器１０７（例えば、ネットワークプリンタ１０４）内部におけるソフトウェア処理のモジュール構成を示すブロック図である。尚、本実施形態におけるネットワークプリンタ１０４としては、インクジェット方式のプリンタを一例として用いる。
【００２４】
まず、プリンタ側機器１０７を構成するネットワーク制御記憶部３０１は、前述したネットワークコントローラ２０１の処理に相当する部分である。ここでは、印刷のジョブ制御、印刷動作にかかわる設定、及びモニタ等の外部機器と連携に拘わる機能が果たされる。次に、構文解析部３０２は、テキストストリームであるコンンツデータを木構造のデータに変換する処理を行う。さらに要素配置部３０３は、構文解析部３０２における構文解析処理により得られた要素ツリーの上層から順次、各要素に関連づけられてスタイル等の指定に基づいて要素、ＢＯＸモデル、文字、画像等をページ内に配置する処理を行う。尚、ＸＨＴＭＬドキュメント形式でのイメージングモデルはボックス、すなわち「矩形」を用いる。また、要素配置部３０３からの出力である「レイアウト情報」の実体は、画像に至る中間状態であるページごとの「描画コマンドの集合」である。
【００２５】
画像形成部３０４では、ページ毎のレイアウト情報、すなわち描画コマンドの集合から実際のイメージを作成して、印刷制御部３０５に多値ＲＧＢのビットマップデータとして出力する処理を行う。画像形成部３０４での変換処理には、後述するバンディング処理によって処理時間の短縮を図り、また、メモリ空間を最適化する技術を適用する。
【００２６】
印刷制御部３０５は、プリントエンジン３０６の主制御部である。印刷制御部３０５は、入力された多値ＲＧＢイメージデータをインクジエットプリントエンジンの入力形式である「２値ＹＭＣＫ」に画像変換し、さらに、インクジェット用ヘッドの駆動パターンに適合する形式に変換し、各色データを順次出力する。ここで、印刷バンドメモリはＰ−ＤＲＡＭ６０３に含まれるものであるが、後述するように本実施形態では少なくとも２バンド分の容量を有するものとする。印刷制御部３０５のその他の働きとしては、出力制御を管理したり、印刷実行状況を監視したりしてプリンタのステータス情報としてネットワークコントローラ２０１に出力を行う。
【００２７】
プリントエンジン３０６は、画像データに合わせてインクを吐出するヘッドと、ヘッドが装着されたキャリア部を走査するキャリッジ機構と、メディアの搬送に用いるペーパーフィード機構とで構成されたプリンタ可動部の処理を実行する。
【００２８】
図６は、図５に示すプリンタ側機器１０７の要素配置部３０３と画像形成部３０４前段における処理内容を説明する図である。図６での処理は、特にバンディング処理に関するものである。尚、説明を容易にするために、以下では１ページ分に相当するドキュメントに関して説明するが、複数枚でもあっても処理は同等である。
【００２９】
まず、構文解析部３０２とその結果を引き継いだ要素配置部３０３において、１ページ分のレイアウト情報が形成されるレイアウト形成処理（ステップＳ６０）が行われる。本実施形態では、レイアウト情報は、「矩形」形状を基本として表される。すなわち、左上コーナ（角）の座標位置と高さ寸法と幅寸法とで表現することが可能である。また、レイアウト情報には、オブジェクト等の内容に関する情報が付加されている。例えば、画像であれば外部の参照先アドレスが、テキストであれば文字コードやフォント情報が付加される。また、矩形領域の背景色等も付加情報をして付加しても良い。一般に、レイアウト情報としては、ドキュメントデータと最終画像との中間的抽象度を持つ形式の情報であって、中間言語やさらに抽象度が低いディスプレイリスト等による記述がこの種の情報の分類に含まれる。
【００３０】
次いで、ページ分割処理（ステップＳ６１）が行われる。ページの分割数は、限られたメモリ容量を効率的に利用して処理を高速化する観点から、配置する描画ボックス（画像等のオブジェクトが配置される領域）の大きさとメモリの容量によって決定されている。ここで、分割数が多過ぎる場合は一つのバンドに含まれる描画ボックスの数が多くなり、複数にまたがるボックスの処理が煩雑になる。具体的には、描画ボックス内のオブジェクトデータを外部から参照する回数が多くなり、処理効率が低下することとなる。逆に、分割数が少な過ぎる場合はメモリの容量を大きくしなければならず、分割する目的を満たさない。従って、バンド幅の最大値及び最小値をあらかじめ決めておくようにする必要がある。
【００３１】
そして、ページの分割する部位が決定した後、実際にコマンド自体をバンドごとに割り当てるコマンドの割り当て処理（ステップＳ６２）を行う。図６では、符号６３、６４で示すように、ある背景色が設定された親ブロックの下位に４つの小ブロックが存在する構造化文書の例が示されている。ここでは説明を容易にするために、４個の小ブロックに注目する。尚、本実施形態において、一つのブロックは幾つかの描画コマンドの集合から構成されているものとする。
【００３２】
例えば、まず本実施形態に係るプログラムの働きで、一つのバンドが決定するものとする。ここで、決定した当該バンド内には複数のブロックが存在する。そこで、これらのブロックのうち、複数のバンド内に分割されて含まれるブロックの描画コマンドを再編成する。
【００３３】
図７は、図５に示すプリンタ側機器１０７の画像形成部３０４における前段処理の結果を示す図である。尚、図７においては、従来例によるバンディング処理の結果例（左側：７１）と本実施形態に係る処理結果例（右側：７２）とを表している。図７では、バンド分割数は従来の場合と変化はしないが、従来例では各バンドの高さが均等であるのに対して、本実施形態例では文書内のブロックがバンドにまたがらないようにバンドの高さが調整されている。
【００３４】
図８は、図５に示すプリンタ側機器１０７の画像形成部３０４における画像形成部３０４の後段処理、すなわち、分割済みのバンド描画情報を用いて実際に描画する処理、及びその処理結果を引き継ぐ印刷制御部３０５における処理内容を説明する図である。
【００３５】
まず、一つのバンドに関する描画コマンドが入力される（ステップＳ８１）。次に、描画に必要な描画バンドメモリをメモリプールから切り出して確保する（ステップＳ８２）。尚、その描画バンドメモリの容量は、描画バンドの高さに応じて変動するものとする。一方、描画バンドに形成したデータは、印刷制御部３０５の働きで、プリントエンジンの機構にあった印刷データに変換して印刷バンドメモリに保持する。尚、ここでの変換処理は、ＲＧＢビットマップデータからＹＭＣＫラスタデータに変換するもので、色空間、カラーマッチング、黒合成、データフォーマットの変換を含む。ここで、印刷バンドメモリは、本実施形態の場合、固定長のメモリから成る。通常、印刷バンドメモリは、同じ大きさの２系列の書き込みと読み出しを交互に行う。データの配列は、例えば、インクジェット方式の場合、印刷ヘッドノズル構成にあわせたものである。
【００３６】
尚、描画コマンドの主要な部分は、ボックスの領域座標及び外部参照先アドレスである。描画中に外部参照が発生すると、外部データの取得ルーチンが起動し、取得したオブジェクトデータが例えばＪＰＥＧ等の圧縮形式のものに対しては伸長を行い、バンド範囲内に収まる部分を切り抜いた形でメモリ上に形成される。また、テキストデータであれば、フオントジェネレータの働きで描画され、それぞれメモリ上に展開される。ここでの出力データ形式は、一般には、ＲＧＢの各色８ビットで表現したビットマップデータである。
【００３７】
描画バンドメモリは、実用的には、メモリプールの全容量の半分程度である。逆に、メモリプールの容量は、印刷バンドメモリの容量も含めると、少なくとも最高バンド幅の２バンド分以上の容量を必要とする。また、描画バンドに形成された印刷データは、印刷バンドメモリが空き次第、順次データが印刷バンドメモリに転送される。このように、描画バンドメモリの内容が印刷制御部３０５から全て読み取られた場合には、直ちに描画バンドメモリは前述のメモリプールに返却（開放）される仕組みになっている。
【００３８】
図９は、本発明の一実施形態に係る画像処理システムにおけるバンド分割処理内容を説明するための図である。図９に示す例では、写真（画像）、テキスト及びグラフィクスで構成されるドキュメント上のオブジェクト配置例が示されている。ドキュメントのレイアウト情報は、それぞれ要素ブロックと呼ばれる「矩形」のオブジェクトで表現され、当該オブジェクトの配置領域を指定する位置情報（ｘ，ｙ）が付加された状態で保存されている。ここで、画像データは、例えば、参照先のアドレスとして、ウェブサーバのＵＲＬが与えられており、その実体が必要になった際にその都度、所定のプロトコルを用いて取得するものとする。図９に示すような情報を含むレイアウトデータを後述するプログラムによって走査することにより、適正な分割位置が判明することとなる。
【００３９】
図１０は、バンドに分割に適用するゾーンマップ或いはゾーンテーブルの一例を示す図である。図１０に示すテーブルの左３列は、バンド分割を決める処理のための事前準備により得られるデータに基づくデータである。プリンタコントローラ２０２において、プリントエンジンコントローラ６０５は、初期処理として、ページレイアウト情報を先頭（上）から最後（下）まで順番にスキャン（走査）し、図１０に示すテーブルのように、走査ライン上に位置する要素ブロック（外部参照すべきオブジェクトデータが配置される領域）の個数に関するデータを作成し、Ｐ−ＤＲＡＭ６０２に格納する。
【００４０】
図１０に示すテーブルにおいて、垂直ゾーンＺは、当該ページ内でブロックが出現する範囲において、ブロックの存在が変化する垂直軸に注目して分割した複数のゾーンの番号を示し、ページの上側から１、２、３、・・・として示している。また、フラグＸは、画像データを含むブロックであって外部参照をする必要があるオブジェクトの存在を示すものである。さらに、要素ブロックの個数Ｎは、水平軸の座標軸上における各区間にかかわりの有る要素ブロックの個数を示している。図９に示す例の場合、ゾーン１、２、３、４、５、６、７に対して、それぞれＮ値が１、０、１，２、１、０、１となっている。
【００４１】
一方、図１０に示すテーブルの右２列のうち、１つは、後述するプログラムの働きによってＮ値の減少点を検出をマークするフラグＤである。図１０に示すテーブルは、実際に結果が書き込まれた状態を示している。さらに、図１０において、区切り情報・座標Ｙは、オブジェクトが検出された座標のうち垂直方向の座標である。この例では、ゾーン２、５、６で、それぞれＹ１、Ｙ４、Ｙ５がバンドの区切情報、或いは、区切り候補として検知されていることがわかる。
【００４２】
図１１は、本発明の一実施形態に係るプリンタコントローラ２０２のＰ−ＣＰＵ６０１によって実行されるバンド分割処理手順の一例を説明するためのフローチャートである。図１１のフローチャートでは、分割処理と描画処理とが連続的に行われる。すなわち、前述した図１０に示すゾーンテーブルを作成し、バンドの最適な分割を行いつつ同時に描画動作も行うような実用性を備えた手法について説明する。
【００４３】
まず、予め解析された複数の要素ブロックを備える構造化文書のページレイアウト情報をスキャンして図１０に示すようなゾーンテーブルを作成する（ステップＳ１０１）。そして、各ゾーンごとにゾーンテーブルをスキャンする（ステップＳ１０２）。そして、予め決められた最大高さ以内にＮ値の減少が検出されたか否かを判定する（ステップＳ１０３）。そして、検出された場合はさらにその検出された高さが予め設定された最小バンド高以上であるか否かを判定する（ステップＳ１０４）。その結果、最小バンド高以上である場合（Ｙｅｓ）は、１ページの処理を終了したか否かを判定する（ステップＳ１０５）。
【００４４】
そして、１ページの処理が終了しておらず、スキャンしていないゾーンが存在している場合（Ｎｏ）は、ステップＳ１０７に進む。ステップＳ１０７では、検出したゾーンまでを１バンドとし、必要な描画バンドメモリの容量をメモリプールから確保し、オブジェクトの描画を完成させて印刷処理を行うべく印刷制御部３０５に引き渡す。尚、描画バンドメモリが使用したメモリ領域をメモリプールに解放する。そして、再度、１ページの処理が終了したか否かを判定する（ステップＳ１０８）。
【００４５】
その結果、１ページの処理が終了していない場合（Ｎｏ）は、ステップＳ１０２に戻って、次のゾーンテーブルのスキャンを行う。尚、ステップＳ１０３において、予め決められた最大高さ以内にＮ値の減少が検出されなかった場合（Ｎｏ）はステップＳ１０５に進む。
【００４６】
また、ステップＳ１０５において、１ページの処理が終了し、スキャンしていないゾーンが存在しない場合（Ｙｅｓ）は、描画に必要なデータのバンド部分又は全体を外部装置から取得して（ステップＳ１０６）、ステップＳ１０７に進む。
【００４７】
尚、本実施形態では、配置ボックスがバンドをまたがらないようにバンド高さを調整することも処理するようになっているが、これだけに限らず、外部参照の必要なボックスを重み付けして、優先的にバンド内で完結して外部参照回数を低減するようにしてもよい。
【００４８】
さらに、プリントエンジンによるデータの印刷処理方向にあわせて、ページの先頭からスキャンして印刷データを順次作成することも、または、逆にページ後端から同様の処理を行うようにしてもよい。このような手法は、描画バンドメモリの確保と開放を動的に制御することができるため、メモリ容量の節約と処理効率の向上を図ることができる。尚、オブジェクトの描画においては、バンド内に外部参照データがある場合は、当該データを保有する外部装置から描画に必要なデータを取得する。
【００４９】
図１２は、本発明の一実施形態に係るプリンタコントローラ２０２のＰ−ＣＰＵ６０１によって実行される別の処理手順例を説明するためのフローチャートである。図１２に示すフローチャートでは、バンドの決定をした後に実際の描画を開始する方式である。すなわち、バンド区切り情報を先に作成しておき、その後、外部参照フラグＸ等の付帯情報情報に基づいて可能な限り再調整を実行した後に、バンド描画を開始する処理方式である。
【００５０】
図１２に示す手順では、ページの先端から中央に向かって前半の処理を終え、次の処理ではページ後端から中央部に向かってスキャンする方式で行う。この方式は、先端及び後端は必ずバンド区切りになるという点に着目して、中央部分で調整を図るものである。
【００５１】
まず、複数の要素ブロックを備える構造化文書のページレイアウト情報をスキャンして図１０に示すようなゾーンテーブルを作成する（ステップＳ２０１）。そして、各ゾーンごとにゾーンテーブルをスキャン（例えば、ページ情報からスキャン）する（ステップＳ２０２）。そして、予め決められた最大高さ以内にＮ値の減少が検出されたか否かを判定する（ステップＳ２０３）。そして、検出された場合はさらにその検出された高さが予め設定された最小バンド高以上であるか否かを判定する（ステップＳ２０４）。その結果、最小バンド高以上である場合（Ｙｅｓ）は、検出したゾーンまでを１バンドとして、バンド区切り候補情報として登録（マーク）する（ステップＳ２０５）。
【００５２】
そして、スキャンがページの中央部を超えたか否かを判定する（ステップＳ２０６）。そして、超えていない場合（Ｎｏ）は、ステップＳ２０２に戻って次のゾーンテーブルについて上述した処理を行う。一方、超えていると判定された場合（Ｙｅｓ）は、上下方向からのスキャンが終了したか否かを判定する（ステップＳ２０７）。その結果、いずれかの一方からのみ（例えば、上方向から）のスキャンしか終了していない場合（Ｎｏ）は、ステップＳ２０２に戻って他方向からのスキャン（例えば、下方向からのスキャン）を同様にして行う。
【００５３】
ステップＳ２０７で両方向からのスキャンが終了したと判定された場合（Ｙｅｓ）は、ステップＳ２０８に進み、センターラインをまたぐ２つのブロックを併合するが、併合した際に印刷高さが制限高さを超えている場合は、センター部分で強制的に分割する。また、外部参照フラグＸに基づいて、バンド高さ制限内の調整で外部参照ブロックがバンド内におさまるときはバンドを再調整する。
【００５４】
次いで、ステップＳ２０９に進んで、各バンドごとに、必要な容量の描画バンドメモリを取得し、描画を完成させ、印刷制御部３０５に引き渡す。尚、描画バンドメモリの取得ができない場合は処理を待つようにする。また、各バンドの印刷処理が終了した後は、当該描画バンドメモリをメモリプールに解放する。
【００５５】
図１２に示す例では、外部参照が生じるボックスの重み付けフラグＸを利用した外部参照回数を低減する手法の適用が、前述した図１１に示す第１の手順よりも効果的であるため、より高度なバンドの切り出し処理が可能となる。尚、本実施形態では、図９に示すように、テキストブロックが最終的に分割され、画像ブロック（外部参照ブロック）は分割されなかったため、再調整は作用していない。
【００５６】
上述したように、最適なバンディング機能を実現することにより、描画効率を高めることができる。特に、バンド内に画像ブロック等の外部参照データが存在する場合、参照回数を大幅に低減することが可能となり描画効率の向上が図られる。
【００５７】
以上、実施形態例を詳述したが、本発明は、例えば、システム、装置、方法、プログラム若しくは記憶媒体（記録媒体）等としての実施態様をとることが可能であり、具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
【００５８】
尚、本発明は、前述した実施形態の機能を実現するソフトウェアのプログラム（実施形態では図に示すフローチャートに対応したプログラム）を、システムあるいは装置に直接あるいは遠隔から供給し、そのシステムあるいは装置のコンピュータが該供給されたプログラムコードを読み出して実行することによっても達成される場合を含む。
【００５９】
従って、本発明の機能処理をコンピュータで実現するために、該コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。
【００６０】
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、ＯＳに供給するスクリプトデータ等の形態であっても良い。
【００６１】
プログラムを供給するための記録媒体としては、例えば、フロッピー（登録商標）ディスク、ハードディスク、光ディスク、光磁気ディスク、ＭＯ、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＤＶＤ（ＤＶＤ−ＲＯＭ，ＤＶＤ−Ｒ）などがある。
【００６２】
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続し、該ホームページから本発明のコンピュータプログラムそのもの、もしくは圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるＷＷＷサーバも、本発明に含まれるものである。
【００６３】
また、本発明のプログラムを暗号化してＣＤ−ＲＯＭ等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせ、その鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
【００６４】
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される他、そのプログラムの指示に基づき、コンピュータ上で稼動しているＯＳなどが、実際の処理の一部または全部を行い、その処理によっても前述した実施形態の機能が実現され得る。
【００６５】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によっても前述した実施形態の機能が実現される。
【図面の簡単な説明】
【００６６】
【図１】本発明の一実施形態に係るホームネットワーク環境での画像処理システムの装置接続構成例を示す図である。
【図２】図１に示す画像処理のシステムにおける印刷処理の実行の様子を説明するための図である。
【図３】図２に示すネットワークコントローラ２０１の内部構造を示すブロック図である。
【図４】図２に示すプリンタコントローラ２０２の内部構造を示すブロック図である。
【図５】本発明の一実施形態に係るプリンタ側機器１０７（例えば、ネットワークプリンタ１０４）内部におけるソフトウェア処理のモジュール構成を示すブロック図である。
【図６】図５に示すプリンタ側機器１０７の要素配置部３０３と画像形成部３０４前段における処理内容を説明する図である。
【図７】図５に示すプリンタ側機器１０７の画像形成部３０４における前段処理の結果を示す図である。
【図８】図５に示すプリンタ側機器１０７の画像形成部３０４における画像形成部３０４の後段処理、すなわち、分割済みのバンド描画情報を用いて実際に描画する処理、及びその処理結果を引き継ぐ印刷制御部３０５における処理内容を説明する図である。
【図９】本発明の一実施形態に係る画像処理システムにおけるバンド分割処理内容を説明するための図である。
【図１０】バンドに分割に適用するゾーンマップ或いはゾーンテーブルの一例を示す図である。
【図１１】本発明の一実施形態に係るプリンタコントローラ２０２のＰ−ＣＰＵ６０１によって実行されるバンド分割処理手順の一例を説明するためのフローチャートである。
【図１２】本発明の一実施形態に係るプリンタコントローラ２０２のＰ−ＣＰＵ６０１によって実行される別の処理手順例を説明するためのフローチャートである。
【符号の説明】
【００６７】
１０１  ディジタル放送用テレビ（ＤＴＶ）
１０６  ホスト側機器（ＨＯＳＴ）
１０７  プリンタ側機器（Ｐｒｉｎｔｅｒ）
２０１  ネットワークコントローラ
２０２  プリンタコントローラ
２０３  プリントメディア
２０４  ネットワークデータ
２０５  コンテンツデータ
２０６  画像出力（Ｏｕｔｐｕｔ）
３０１  ネットワーク制御記憶部
３０２  構文解析部
３０３  要素配置部
３０４  画像形成部
３０５  印刷制御部
３０６  プリントエンジン
【図１】
2006243807.tif 000003
【図２】
2006243807.tif 000004
【図３】
2006243807.tif 000005
【図４】
2006243807.tif 000006
【図５】
2006243807.tif 000007
【図６】
2006243807.tif 000008
【図７】
2006243807.tif 000009
【図８】
2006243807.tif 000010
【図９】
2006243807.tif 000011
【図１０】
2006243807.tif 000012
【図１１】
2006243807.tif 000013
【図１２】
2006243807.tif 000014