(57)【要約】      （修正有）【課題】マルチコア環境を利用してプリンタのスループットを最適化するシステム及び方法を提供する。【解決手段】システム及び方法は、フレームバッファメモリ及びディスプレイリストメモリを有するメモリプールにおける少なくとも１つのディスプレイリストの並列生成及び並行ラスタライゼーションのための方法であって、前記ディスプレイリストは、複数の等しいサイズのディスプレイリストブロックを含んでおり、前記ディスプレイリストブロックの完成状況を監視する工程と、ラスタライゼーション処理の可用性を監視する工程と、完成ディスプレイリストブロックを使用可能なラスタライゼーション処理に割り当てる工程と、前記使用可能なラスタライゼーション処理を使用して前記ディスプレイリストブロックをラスタライズする工程と、を有する方法を提供する。【選択図】図３
2010092472.tif 000002
【特許請求の範囲】
【請求項１】
フレームバッファメモリ及びディスプレイリストメモリを有するメモリプールにおける少なくとも１つのディスプレイリストの並列生成及び並行ラスタライゼーションのための方法であって、前記ディスプレイリストは、等しいサイズのディスプレイリストブロックに関連する複数のバンドを含んでおり、
前記ディスプレイリストブロックの完成状況を監視する工程と、
ラスタライゼーション処理の可用性を監視する工程と、
完成ディスプレイリストブロックを使用可能なラスタライゼーション処理に割り当てる工程と、
前記使用可能なラスタライゼーション処理を使用して前記ディスプレイリストブロック  をラスタライズする工程と、を含むことを特徴とする方法。
【請求項２】
前記ディスプレイリストブロックをラスタライズする工程は、
前記ディスプレイリストブロックがレンダリングされたことを示す工程と、
前記ディスプレイリストブロックを前記メモリプールに戻す工程と、
前記ラスタライゼーション処理の可用性を示す工程と、
を更に含むことを特徴とする請求項１に記載の方法。
【請求項３】
レンダリングされた前記ディスプレイリストブロックを、前記メモリプールの前記ディスプレイリストに関連するピクスマップに格納する工程を更に有することを特徴とする請求項２に記載の方法。
【請求項４】
前記ピクスマップは不連続メモリブロックを含むことを特徴とする請求項３に記載の方法。
【請求項５】
前記方法はマルチコアプロセッサにおいて実行されることを特徴とする請求項１に記載の方法。
【請求項６】
前記ラスタライゼーション処理は、同時に実行される他のラスタライゼーション処理に対して異なる前記マルチコアプロセッサのコアで実行されることを特徴とする請求項５に記載の方法。
【請求項７】
前記マルチコアプロセッサはプリンタに接続されていることを特徴とする請求項５に記載の方法。
【請求項８】
前記マルチコアプロセッサはデジタルシグナルプロセッサであることを特徴とする請求項７に記載の方法。
【請求項９】
前記使用可能なラスタライゼーション処理は、それ以前から実行されているラスタライゼーション処理と同時に実行されることを特徴とする請求項１に記載の方法。
【請求項１０】
前記同時に実行されるラスタライゼーション処理の各々は、異なるディスプレイリストブロックに作用し、前記ディスプレイリストブロックの各々は異なるバンドに対応することを特徴とする請求項６に記載の方法。
【請求項１１】
前記ラスタライゼーション処理は、マスタラスタライゼーション処理の制御下におけるスレーブ処理であることを特徴とする請求項１に記載の方法。
【請求項１２】
前記完成ディスプレイリストブロックを使用可能なラスタライゼーション処理に割り当てる工程は、前記ラスタライゼーション処理の非可用性を示す工程を更に含むことを特徴とする請求項１に記載の方法。
【請求項１３】
前記使用可能なラスタライゼーション処理を使用して前記ディスプレイリストブロックをラスタライズする工程は、ディスプレイリストブロックの生成と同時に行われることを特徴とする請求項１に記載の方法。
【請求項１４】
プロセッサにより実行される際に、
フレームバッファメモリ及びディスプレイリストメモリを有するメモリプールにおける少なくとも１つのディスプレイリストの並列生成及び並行ラスタライゼーションのための方法であって、前記ディスプレイリストは、等しいサイズのディスプレイリストブロックに関連する複数のバンドを含む手順において、
前記ディスプレイリストブロックの完成状況を監視する手順と、
ラスタライゼーション処理の可用性を監視する手順と、
完成ディスプレイリストブロックを使用可能なラスタライゼーション処理に割り当てる手順と、
前記使用可能なラスタライゼーション処理を使用して前記ディスプレイリストブロックをラスタライズする手順と、
を実行する命令を含むコンピュータにより読取可能な媒体。
【請求項１５】
前記ディスプレイリストブロックをラスタライズする手順は、
前記ディスプレイリストブロックがレンダリングされたことを示す手順と、
前記ディスプレイリストブロックを前記メモリプールに戻す手順と、
前記ラスタライゼーション処理の可用性を示す手順と、
を更に含むことを特徴とする請求項１４に記載のコンピュータにより読取可能な媒体。
【請求項１６】
レンダリングされた前記ディスプレイリストブロックを、前記メモリプールの前記ディスプレイリストに関連するピクスマップに格納する手順を更に含むことを特徴とする請求項１５に記載のコンピュータにより読取可能な媒体。
【請求項１７】
前記ピクスマップは不連続メモリブロックを含むことを特徴とする請求項１６に記載のコンピュータにより読取可能な媒体。
【請求項１８】
前記手順はマルチコアプロセッサにおいて実行されることを特徴とする請求項１４に記載のコンピュータにより読取可能な媒体。
【請求項１９】
前記ラスタライゼーション処理は、同時に実行される他のラスタライゼーション処理に対して特異的な前記マルチコアプロセッサのコアで実行されることを特徴とする請求項１８に記載のコンピュータにより読取可能な媒体。
【請求項２０】
前記使用可能なラスタライゼーション処理は、それ以前から実行されているラスタライゼーション処理と同時に実行されることを特徴とする請求項１４に記載のコンピュータにより読取可能な媒体。
【請求項２１】
前記同時に実行されるラスタライゼーション処理の各々は、異なるディスプレイリストブロックに作用し、前記ディスプレイリストブロックの各々は異なるバンドに対応することを特徴とする請求項２０に記載のコンピュータにより読取可能な媒体。
【請求項２２】
前記完成ディスプレイリストブロックを使用可能なラスタライゼーション処理に割り当てる手順は、前記ラスタライゼーション処理の非可用性を示す手順を更に含むことを特徴とする請求項１４に記載のコンピュータにより読取可能な媒体。
【請求項２３】
前記使用可能なラスタライゼーション処理を使用して前記ディスプレイリストブロックをラスタライズする手順は、ディスプレイリストブロックの生成と同時に行われることを特徴とする請求項１４に記載のコンピュータにより読取可能な媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は印刷の分野に関し、特に、マルチコア環境を利用してプリンタのスループットを最適化するシステム及び方法に関する。
【背景技術】
【０００２】
文書処理ソフトウェアによって、ユーザは便利に文書を閲覧、編集、処理及び保存することができる。文書のページは、画面に表示された状態とまったく同じように印刷されうる。しかしながら、多くの場合、文書が印刷可能になる前の文書のページは、ページ記述言語（「ＰＤＬ」）で記述される。文書のＰＤＬ記述は、文書の各ページの高級な記述を提供する。このＰＤＬ記述は、多くの場合、文書が印刷される際に、一連のより低級なプリンタ固有コマンドに変換される。本出願でも使用しているが、ＰＤＬには、Ｐｅｒｓｏｎａｌｉｚｅｄ  Ｐｒｉｎｔ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ（「ＰＰＭＬ」）、ＰｏｓｔＳｃｒｉｐｔＴＭ、ＡｄｏｂｅＰＤＦＴＭ、ＨＰ  ＰＣＬＴＭ、Ｍｉｃｒｏｓｏｆｔ  ＸＰＳＴＭ及びこれらの変形等の、文書のページを記述するのに用いられる言語が含まれる。Ｐｅｒｓｏｎａｌｉｚｅｄ  Ｐｒｉｎｔ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ（「ＰＰＭＬ」）規格でのプリンタ言語は、テキスト及びグラフィック要素等のオブジェクトを識別、記憶及び再利用を許可する。
【０００３】
ＰＤＬ記述は解析され、一般に、コマンド（ディスプレイリストプリミティブとも呼ばれる）を含むオブジェクトを保持することができるディスプレイリストと呼ばれる中間形式に変換される。ディスプレイリストコマンドは、文書内又は印刷される文書のページ内においてデータオブジェクト及びその内容を定義する。ディスプレイリストは解析され、その後、印刷媒体に点を付するのに用いることができる最終形式に変換される。文書のディスプレイリスト表現から、印刷媒体に点を付するのに用いられる低級記述への変換処理は、ラスタライゼーションと呼ばれる。ラスタライゼーションはコンピュータ又はプリンタで実行されるか、コンピュータ及びプリンタの間で分散されて実行されうる。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ラスタライゼーションでは、一般に、ディスプレイリストコマンドの影響を受けるピクセルを決定し、それらのピクセルを適切に修正することにより、１ページずつレンダリングを行う。ページがラスタライズされる状態にあるとき、それはラスタライザによって動作されうる。しかしながら、１ページ分のディスプレイリスト全体を生成するのにかなりの時間を要する場合がある。この期間は、プロセッサがアイドル状態となりうる。更に、最新のマルチコアプロセッサ（１つのチップ又はパッケージにいくつかのプロセッサ「コア」を含みうる）においては、１ページ分のディスプレイリスト全体の生成を待つ間、一以上のコアがアイドル状態となりうる。
【０００５】
プロセッサのアイドリングは、演算資源の無駄であり、また、質の良くない設計（過度の容量）又は不十分な利用（既存の資源を使用できないこと）を提案するものである。更に、プロセッサのアイドル周期は、性能及びレンダリング速度に影響しうる。このように、使用可能な演算資源のより良い利用は、より低価格で、機能性をより大きく、及び／又は性能をより良くすることを可能にする。
【０００６】
したがって、利用可能な演算資源を最適に使用するシステム及び方法が必要とされている。
【課題を解決するための手段】
【０００７】
本発明に従って、印刷資源を管理するシステム及び方法が示される。メモリプールにおける少なくとも１つのディスプレイリストの並列生成及び並行ラスタライゼーションのための方法の実施形態が示される。メモリプールは、フレームバッファメモリ及びディスプレイリストメモリを有しており、ディスプレイリストは複数の等しいサイズのディスプレイリストブロックを有している。一部の実施形態では、並列生成及び並行ラスタライゼーションの方法は、ディスプレイリストブロックの完成状況を監視する工程と、ラスタライゼーション処理の可用性を監視する工程と、完成ディスプレイリストブロックを使用可能なラスタライゼーション処理に割り当てる工程と、使用可能なラスタライゼーション処理を使用してディスプレイリストブロックをラスタライズする工程と、を有する。
【０００８】
また、本発明の実施形態は、コンピュータにより読取可能な媒体及び／又はコンピュータにより読取可能なメモリを使用したプロセッサにより作成され、記憶され、アクセスされ、又は変更される命令に関する。
【０００９】
これらの又は他の実施形態は、以下の図面に関連して、以下に、より詳細に説明される。
【図面の簡単な説明】
【００１０】
【図１】文書を印刷するシステムの構成要素を図示するブロック図である。
【図２】例示的なプリンタの高級なブロック図を示す。
【図３】ＰＤＬから生成されるディスプレイリストを作成する処理のシステムの例示的な高級なアーキテクチャを示す。
【図４】完成した再構成可能なディスプレイリスト（「ＲＤＬ」）ページの例示的な構造を示す。
【図５】例示的な未完成ＲＤＬページの並列生成及び並行ラスタライゼーションを図示するブロック図を示す。
【発明を実施するための形態】
【００１１】
開示された実施形態に従って、データの第１形式から生成されるデータの中間形式の並列生成及び並行ラスタライゼーションのためのシステム及び方法が示される。一部の実施形態では、第１の印刷可能なデータは文書のＰＤＬ記述の形式をとることができ、また、中間印刷可能データはＰＤＬ記述から生成されるディスプレイリストの形式をとることができる。
【００１２】
図１は文書を印刷する例示的なシステムの構成要素を示すブロック図を図示している。本発明に合致するコンピュータソフトウェアアプリケーションは、図１に示すように、従来の通信プロトコル及び／又はデータポートインタフェースを用いて情報交換を実現する通信リンクを通じて接続されたコンピュータネットワークにおいて配備されうる。
【００１３】
図１に示すように、例示的なシステム１００は、コンピューティングデバイス１１０及びサーバ１３０等のコンピュータを含む。また、コンピューティングデバイス１１０及び／又はサーバ１３０は、マルチプロセッサ又は複数の中央処理装置（ＣＰＵ）システムであってもよい。一部の実施形態では、プロセッサは１つの本体に複数のプロセッサコアを有していてもよい。例えば、Ｉｎｔｅｌ  ＰｅｎｔｉｕｍＴＭプロセッサは、デュアルコア（２つのコア）、及びクワッドコア（４つのコア）を含んでいる。プロセッサコアは、独立した、近接して結合されたＣＰＵのように作用し、プログラム又はハードウェア制御の下、協調して機能することができる。
【００１４】
コンピューティングデバイス１１０及びサーバ１３０は、インターネットでありうるネットワーク１４０を経由する接続部１２０を通じて通信してもよい。コンピューティングデバイス１１０は、コンピュータワークステーション、デスクトップコンピュータ、ノート型コンピュータ、又はその他のネットワーク化された環境で用いることができるあらゆるコンピューティングデバイスでありうる。サーバ１３０は、コンピューティングデバイス１１０及びその他の装置（図示せず）に接続することができるプラットフォームであってもよい。コンピューティングデバイス１１０及びサーバ１３０は、プリンタ１７０を用いて文書の印刷を実現するソフトウェア（図示せず）を実行することができる。
【００１５】
例示的なプリンタ１７０は、レーザプリンタ及びＬＥＤプリンタ等の電子写真式プリンタ、インクジェットプリンタ、サーマルプリンタ、レーザプリンタ並びにオフセットプリンタを含む、電子データから物理的な文書を生成する装置を含む。プリンタ１７０は、ファクシミリ装置及びデジタルコピー機に取り付けられた際は、画像送信／受信機能、画像走査機能、及び／又はコピー機能を有してもよい。
【００１６】
一部の実施形態では、プリンタ１７０は、コンピューティングデバイス１１０又はサーバ１３０から接続部１２０を介して受信した文書を直接印刷可能であってもよい。一部の実施形態では、このような配置は、コンピューティングデバイス１１０又はサーバ１３０による追加的な処理と共に（又は無しで）文書を直接印刷することを可能とする。一部の実施形態では、文書は、一以上のテキスト、グラフィック及び画像を含んでもよい。一部の実施形態では、プリンタ１７０は、印刷のための文書のＰＤＬ記述を受信してもよい。文書印刷処理もまた、分散され得る点に留意されたい。このように、コンピューティングデバイス１１０、サーバ１３０、及び／又はプリンタは、文書がプリンタ１７０によって物理的に印刷される前に、ラスタライゼーション、ハーフトーニング、カラーマッチング、及び／又は他の操作処理の一部を含む文書印刷処理の一部を実行しうる。
【００１７】
コンピューティングデバイス１１０は、リムーバブルメディアドライブ１５０を含んでもよい。リムーバブルメディアドライブ１５０は、例えば、３．５インチフロッピードライブ、ＣＤ−ＲＯＭドライブ、ＤＶＤ−ＲＯＭドライブ、ＣＤ±ＲＷ若しくはＤＶＤ±ＲＷドライブ、ＵＳＢＴＭフラッシュドライブ、及び／又は本発明の実施形態に適合する他のいかなるリムーバブルメディアドライブを含んでもよい。一部の実施形態では、ソフトウェアアプリケーションの一部はリムーバブルメディアに搭載され、リムーバブルメディアドライブ１５０を用いたコンピューティングデバイス１１０によって読み取られて実行されてもよい。
【００１８】
接続部１２０は、コンピューティングデバイス１１０、サーバ１３０及びプリンタ１７０を接続しており、従来の通信プロトコル及び／又はデータポートインタフェースを用いて、有線接続又は無線接続として実施されることができる。一般に、接続部１２０は、デバイス間のデータ送信を可能とするいかなる通信チャネルとされてもよい。一部の実施形態では、例えば、デバイスは、パラレルポート、シリアルポート、イーサネット、ＵＳＢＴＭ、ＳＣＳＩ、ＦＩＲＥＷＩＲＥＴＭ及び／又は適当な接続部を介してデータ送信するための同軸ケーブルポート等の従来のデータポートを備えてもよい。一部の実施形態では、データポートは無線であってもよく、通信リンクは、種々のデバイス間の通信を可能とする無線リンク又は有線リンクのいくつかの組み合わせであってもよい。
【００１９】
ネットワーク１４０は、ローカルエリアネットワーク（ＬＡＮ）、ワイドエリアネットワーク（ＷＡＮ）又はインターネットを含んでもよい。プリンタ１７０は、接続部１２０を介してネットワーク１４０に接続されうる。一部の実施形態では、プリンタ１７０は、コンピューティングデバイス１１０及び／又はサーバ１３０に直接接続されてもよい。
【００２０】
開示された実施形態に適合するコンピュータソフトウェアアプリケーションは、図１に示される例示的なコンピュータのいずれかに配備されてもよい。例えば、コンピューティングデバイス１１０は、サーバ１３０から直接ダウンロードされうるソフトウェアを実施することができる。アプリケーションの一部は、プリンタ１７０によって実施されてもよい。
【００２１】
図２は、例示的なプリンタ１７０の高級なブロック図を示す。一部の実施形態では、プリンタ１７０は、ＣＰＵ１７６、デジタルシグナルプロセッサ（「ＤＳＰ」）１７９、ファームウェア１７１、メモリ１７２、入力‐出力ポート１７５、プリントエンジン１７７、及び二次記憶装置１７３を接続するバス１７４を含んでもよい。また、プリンタ１７０は、文書を印刷するアプリケーションの一部を実施することができる他のＡｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ（ＡＳＩＣ）、及び／又はＦｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ（ＦＰＧＡ）１７８を含んでもよい。一の実施形態では、ＤＳＰ１７９は複数のコアを含んでもよい。
【００２２】
一部の実施形態では、プリンタ１７０は、二次記憶装置、又はＩ／Ｏポート１７５及び接続部１２０を用いるコンピューティングデバイス１１０における他のメモリにアクセスすることができてもよい。一部の実施形態では、プリンタ１７０は、プリンタオペレーティングシステム及び他の適当なアプリケーションソフトウェアを含むソフトウェアを実施することが可能であってもよい。一部の実施形態では、プリンタ１７０は、用紙の大きさ、出力トレイ、色選択及び印刷解像度を、他の選択肢との間で、ユーザにより設定可能としてもよい。
【００２３】
一部の実施形態では、ＣＰＵ１７６は、汎用プロセッサ、専用プロセッサ又は内蔵プロセッサであってもよい。一の実施形態では、ＣＰＵ１７６は、並行操作が可能なコアを備えたマルチコアプロセッサであってもよい。一部の実施形態では、マルチコアプロセッサの各々のコアは、ＣＰＵ１７６に対して、後述の機能を独立して実行可能であってもよい。ＣＰＵ１７６は、メモリ１７２及び／又はファームウェア１７１と制御情報及び命令をやり取りすることができる。メモリ１７２は、これらに限定されないものの、ＳＤＲＡＭ又はＲＤＲＡＭ等のＤｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ（「ＤＲＡＭ」）のいかなる種類であってもよい。
【００２４】
ファームウェア１７１の命令としては、起動シーケンス、所定のルーチン及び他のコードに限定されないデータを保持してもよい。一部の実施形態では、ファームウェア１７１におけるコード及びデータは、ＣＰＵ１７６に作用される前に、メモリ１７２に複製されてもよい。ファームウェア１７１におけるルーチンは、コンピューティングデバイス１１０から受信されたページ記述を変換してリスト及びイメージバンドを表示するコードを含んでもよい。一部の実施形態では、ファームウェア１７１は、ディスプレイリストにおけるディスプレイコマンドを適当なラスタライズされたピクセルマップに変換し、ピクセルマップをメモリ１７２に記憶するラスタライゼーションルーチンを含んでもよい。ファームウェア１７１は、圧縮ルーチン及びメモリ管理ルーチンを含んでもよい。一部の実施形態では、ファームウェア１７１におけるデータ及び命令はアップグレード可能であってもよい。
【００２５】
一部の実施形態では、ＣＰＵ１７６は、命令及びデータに従って作動し、ＡＳＩＣ／ＦＰＧＡ１７８及びプリントエンジン１７７に制御及びデータを供給して、印刷文書を生成してもよい。一部の実施形態では、また、ＡＳＩＣ／ＦＰＧＡ１７８は、プリントエンジン１７７に制御及びデータを供給する。また、ＦＰＧＡ／ＡＳＩＣ１７８は、変換、圧縮、及びラスタライゼーションアルゴリズムのうちの一以上を実施してもよい。一の実施形態では、並列生成及び並行ラスタライゼーションルーチンの一部を、ＤＳＰ１７９の複数のコアによって並行して実行してもよい。
【００２６】
一部の実施形態では、コンピューティングデバイス１１０は、文書データを第１の印刷可能データに変換してもよい。その後、第１の印刷可能データは、プリンタ１７０に送信され、中間印刷可能データに変換されてもよい。プリンタ１７０は、中間印刷可能データ印刷可能データの最終形式に変換して、この最終形式に従って印刷を行うことができる。一部の実施形態では、第１の印刷可能データは、文書のＰＤＬ記述に対応してもよい。
【００２７】
一部の実施形態では、文書のＰＤＬ記述から一連の低級プリンタ固有コマンドを含む最終印刷可能データへの変換処理は、オブジェクトのディスプレイリストを含む中間印刷可能データの生成を含んでもよい。一部の実施形態では、ディスプレイリストは、テキスト、グラフィクス、コマンド及び画像データオブジェクトのうちの一以上を保持することができる。一部の実施形態では、ディスプレイリスト中のオブジェクトは、ユーザ文書における同様のオブジェクトに対応してもよい。一部の実施形態では、ディスプレイリストを、中間印刷可能データの生成に役立ててもよい。
【００２８】
一部の実施形態では、ディスプレイリストは、メモリ１７２又は二次記憶装置１７３に記憶されてもよい。例示的な二次記憶装置１７３は、内部若しくは外部ハードディスク、メモリスティック、又はプリンタ１７０によって使用されうる他のいかなるメモリ記憶装置であってもよい。一の実施形態において、プリンタ１７０は、リムーバブルメディアドライブ（図示せず）を有していてもよい。一部の実施形態において、ディスプレイリストは、プリンタ１７０、コンピューティングデバイス１１０、及びサーバ１３０のうちの一以上に存在してもよい。ディスプレイリストを記憶するメモリは、専用メモリであってもよく、又は汎用メモリの一部を形成してもよく、又は本発明の一部の実施形態に従ったそれらいくつかの組合せであってもよい。一部の実施形態では、メモリは、必要に応じて動的に割り当てられてディスプレイリストを保持してもよい。一部の実施形態では、ディスプレイリストを記憶するために割り当てられたメモリは、処理後、動的に解放されてもよい。
【００２９】
図３は、ディスプレイリスト並列生成及び並行ラスタライゼーションのためのシステムの例示的な高級なアーキテクチャ３００を示す。図３に示すように、言語サーバ３４０、エンジンサーバ３６０、及びラスタサーバ３２０−１から３２０−Ｎは、互いに通信できるようになっている。更に、言語サーバ３４０、エンジンサーバ３６０、及びラスタサーバ３２０−１から３２０−Ｎは、ルーチンを呼び出して、ＲＤＬライブラリ３３０と通信してもよい。一部の実施形態では、ラスタサーバ３２０−１から３２０−Ｎは、並行して動作してラスタライゼーションを実行してもよい。
また、システムは、ピクスマップコード３４５と、メモリ管理ＡＰを介してラスタサーバ３２０−１から３２０−Ｎ及びエンジンサーバ３６０と、通信するフレームバッファ管理ライブラリ３３５を含んでもよい。ピクスマップ（あるいはピクセルマップ）の用語は、ビット深度として存在することができるラスタイメージを表すのに用いられる。各ピクセルが１つのビットに割り当てられた（すなわち、ピクセルが「オン」又は「オフ」である）ビットマップは、ビット深度１のピクスマップである。
【００３０】
メモリマネージャ３７５は、メモリを割り当て、管理することができる。メモリマネージャ３７５におけるルーチンは、メモリ管理ＡＰＩ３７０を用いてアクセスされうる。開示される実施形態に従って、アーキテクチャ３００は、メモリプール３１０が、フレームバッファ３５０及びノンフレームバッファブロックの両者に対応するブロックを有する１つのメモリプールとして管理されるようにする。一方で、メモリマネージャ３７５は、ブロック内のメモリ割り当ての断片化を防ぎ、メモリ管理に関する実施の詳細を概念化し、メモリ管理Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍｍｉｎｇ  Ｉｎｔｅｒｆａｃｅ（「ＡＰＩ」）３７０を介して、そのルーチンにアクセスするための標準インタフェースを提供してもよい。
【００３１】
一方、ピクスマップコード３４５は、メモリマネージャ３７５により、メモリ管理ＡＰＩ３７０及びフレームバッファ管理ライブラリ３３５を介して提供された機能性を活用することによって、ピクスマップにメモリプール３１０内の一以上の不連続なメモリブロックを占有させる一方で、ピクスマップをインテグラルユニットとして論理的に表示させる。この概念化は、ピクスマップのためのブロック及びポインタの割り当て及び割り当て解除とピクスマップに関する状態情報とを管理し、ピクスマップを利用する処理を追跡するフレームバッファ管理ライブラリ３３５を用いて達成される。一部の実施形態では、ピクスマップコード３４５は、ピクスマップのためのメモリブロックへのアクセスを可能としてもよい。各メモリブロックは、連続したメモリ部分である。メモリブロックは一以上のスキャンラインを含んでもよい。スキャンラインは、画像中の１列のピクセルである。
【００３２】
一部の実施形態では、フレームバッファ管理ライブラリ３３５は、ブロック内のメモリを割り当ててもよい。一の実施形態では、各ブロックは等しいサイズである。他の実施形態では、メモリはブロックとして、又はスーパーブロックと呼ばれる複数のブロックの整数倍として割り当てられてもよい。スーパーブロックは、一組の連続したブロックである。例えば、フレームバッファ管理ライブラリ３３５は、メモリをブロック、及び４つのブロックを含むスーパーブロックに割り当てることができる。スーパーブロックはより大きいピクスマップを保持するのに有用であり、また、異なる用紙のサイズ、解像度、及び方向へのサポートを容易にする。
【００３３】
一の実施形態では、メモリマネージャ３７５におけるルーチンは、メモリ１７２における使用可能メモリのいくつかのサブセットをメモリプール３１０として管理し、メモリ管理ＡＰＩ３７０を介してメモリプール３１０からの要求処理にメモリを割り当ててもよい。要求処理にメモリが必要でなくなると、メモリは割り当て解除され、メモリプール３１０に戻されて、他の処理に使用可能とされてもよい。このように、例示的なメモリマネージャ３７５は、メモリを解放するルーチン、メモリを最適化するルーチン、及び二次記憶装置１７３にメモリを一時的に待避させることができるスワッピングルーチンを含む、
種々の他のメモリ管理機能をも提供することができる。
【００３４】
一部の実施形態では、フレームバッファ３５０はメモリプール３１０の一部とされてもよく、また、メモリマネージャ３７５によって管理されてもよい。例えば、フレームバッファ管理ライブラリ３３５における関数の要求が、メモリ管理ＡＰＩ３７０における関数の要求をもたらしてもよい。その後、メモリ管理ＡＰＩ３７０は、メモリマネージャ３７５における一以上の関数を呼び出すことができる。メモリマネージャ３７５による作用の効果は、呼び出し処理に送り戻されてもよい。
【００３５】
フレームバッファ管理ライブラリ３３５は、メモリマネージャ３７５を、メモリ管理ＡＰＩ３７０において特定されたインタフェースを用いてブロック及びポインタを取得するのに用いることができる。一の実施形態では、フレームバッファ３５０は、メモリの初めの連続的ブロックに割り当てられ、後に続くメモリブロックは要求時にフレームバッファ３５０に割り当てられてもよい。メモリブロックは、メモリプール３００から、他の非フレームバッファ目的で割り当てられてもよい。一部の実施形態では、フレームバッファ３５０又は他の処理に割り当てられた特異的なメモリブロックは、メモリ１７２において連続しない場所を占有してもよい。
【００３６】
一部の実施形態では、ディスプレイリストは、印刷文書内の原稿又はページの範囲内におけるデータオブジェクト及びそれらのコンテキストを既定するコマンドを含んでもよい。これらの表示コマンドは、文字又はテキスト、線等のグラフィックオブジェクト、及び画像又はラスタデータを含むデータを含みうる。一部の実施形態では、表示リストは動的に再構築可能であり、Ｒｅｃｏｎｆｉｇｕｒａｂｌｅ  Ｄｉｓｐｌａｙ  Ｌｉｓｔ（「ＲＤＬ」）と呼ばれる。
【００３７】
一部の実施形態では、例示的なＲＤＬは、データオブジェクトの動的操作及び処理を促進するデータ構造に記憶されてもよい。例えば、ＲＤＬにおけるオブジェクトは、ＲＤＬにおける他のオブジェクトへのポインタを含むことができる。したがって、アプリケーションは、一つのオブジェクトから次のオブジェクトまでリストをトラバースし、オブジェクトを識別、更新、操作及び処理することができる。更に、アプリケーションは処理されたオブジェクトを追跡し、処理されている「現在の」オブジェクトを識別することが可能であってもよい。
【００３８】
一部の実施形態では、物理的（印刷可能な）ページは、ＲＤＬページとも呼ばれる一以上の仮想又は論理ページを含むことができる。一部の実施形態では、ＲＤＬページは、ジオメトリックバンドとも呼ばれる一以上のバンドを更に含むことができる。バンドは、ＲＤＬページのジオメトリカル境界内の幾何学的に既定された領域を参照してもよい。一部の実施形態では、各バンドは、論理ページの部分にあるオブジェクトを保持する水平区間でありうる。一部の実施形態では、ＲＤＬページは、例示的な個々のバンドデータ構造のインスタンスのリンクリストを有していてもよい。一部の実施形態では、ＲＤＬページの印刷可能領域は、ＲＤＬページに含まれるすべてのジオメトリックバンドを含むことができる。
【００３９】
一部の実施形態では、バンドは更に、バンド内のオブジェクトを保持する一組のＲＤＬデータブロックを有してもよい。一部の実施形態では、ＲＤＬデータブロックは等しいサイズであってもよい。一部の実施形態では、ＲＤＬデータブロックは、中間グラフィカルオブジェクト及びＰＤＬ記述から生成された他のデータを記憶するために使用することができる。一部の実施形態では、言語サーバ３４０に処理のために送られたデータは、ＰＤＬデータを含んでもよく、言語サーバ３４０は、ラスタサーバ３２０−１〜３２０‐Ｎを用いて、ＰＤＬ記述から中間グラフィカルオブジェクト及び他のオブジェクトを生成してもよい。一部の実施形態では、言語サーバ３４０により生成されたオブジェクトはＲＤＬページを構築するのに用いられる。
【００４０】
一部の実施形態では、言語サーバ３４０によって生成されたデータ又はグラフィカルオブジェクトがバンド境界にわたる場合、オブジェクトは別々の基準バンドに記憶されてもよく、基準バンドにおけるオブジェクトの位置に対するオフセットは、特定のジオメトリックバンドにおける適切な位置に記憶される。一部の実施形態では、ＲＤＬページ又は文書において繰り返し用いられるオブジェクトも、基準バンドに記憶されうる。基準バンドは、他のバンドによって参照されるオブジェクトを含むことができる。そのため、例えば、一つの基準バンドにおける一つのオブジェクトが、他のバンドによって複数回参照されてもよい。
【００４１】
一部の実施形態では、言語サーバ３４０によって生成された基準データ又はグラフィカルオブジェクトは、より大きい複合オブジェクトの一部を含むことができる。一部の実施形態では、複合オブジェクトは、ジオメトリックバンドに用いられる前にラスタライズされる。このような複合オブジェクトは、別々のリソースバンドに記憶されてもよい。例えば、リソースバンドの項目は、より簡単なグラフィカル、画像、又はテキストプリミティブを含むことができる複合タイル又はパターンを含んでもよい。これらの複合オブジェクトは、ジオメトリックバンドに使用される前にラスタライズされる。
【００４２】
一の実施形態では、ＲＤＬは、特定のディスプレイリストオブジェクトを動的に操作することができる方法で記憶させるデータ構造を用いて実施される。例えば、画像オブジェクトは、適所に圧縮されてメモリの空き容量を増やし、参照及び／又は使用される際に伸張されてもよい。一部の実施形態では、ＲＤＬは、ＲＤＬオブジェクトの実際の位置へのポインタ、オフセット又はアドレスを保持することにより、ＲＤＬオブジェクトをメモリ及び／又は二次記憶装置に記憶してもよく、その後、ＲＤＬオブジェクトは、参照及び／又は使用される際に検索されることができる。一般に、ＲＤＬはディスプレイリストオブジェクトを弾力的に記憶し、システムの制約及びパラメータに基づいて操作されるようにする。
【００４３】
一の実施形態では、文書のＰＤＬ記述のディスプレイリスト及び／又はＲＤＬ表示への変換は、ＲＤＬライブラリ３３０及びメモリマネージャ３７５におけるルーチンを用いて言語サーバ３４０により実施されてもよい。例えば、言語サーバ３４０は、ＰＤＬ言語のプリミティブを利用して、これらをデータ及びグラフィカルオブジェクトに変換し、ＲＤＬライブラリ３３０及びメモリマネージャ３７５の関数により提供される能力を用いて、これらを再構築可能なディスプレイリストに加える。一の実施形態では、ディスプレイリストは、メモリ１７２の一部でありうる例示的なメモリプール３１０等の動的に割り当てられたメモリプールにおいて記憶され、操作されてもよい。
【００４４】
一部の実施形態では、ＲＤＬの作成は、実際に印刷を行う前のデータ処理の中間段階である。ＲＤＬは、後続の形式に変換される前に解析されてもよい。一部の実施形態では、後続の形式は最終的な表現であって、変換処理はデータのラスタライジングと呼ばれてもよい。例えば、ラスタライゼーションは、フレームバッファ管理ライブラリ３３５及びピクスマップコード３４５のルーチンを用いて、ラスタサーバ３２０−１〜３２０−Ｎにより並行して実行されうる。ラスタライゼーションにおいて、ラスタライズされたデータは、メモリ管理ＡＰＩ３７０を介してアクセスされうるメモリマネージャ３７５のルーチンを用いて、メモリプール３１０の一部でありうるフレームバッファ３５０に記憶されてもよい。一の実施形態において、ラスタライズされたデータは、印刷ページ上に作成される点を特定するビットマップ又はピクスマップの形式をとることができる。
【００４５】
ＲＤＬページのバンドは、一以上のラスタサーバ３２０−１〜３２０−Ｎにより並行してラスタライズされうる。一部の実施形態では、ＲＤＬページにおけるバンドは、すべてのバンドが処理されるまで並行してラスタライズされうる。一部の実施形態では、バンドに対するラスタライザにすべてのオブジェクトが提供されるまで、シリアルブロック単位（ｂｌｏｃｋ−ｂｙ−ｂｌｏｃｋ）方法により、そのバンドがラスタライズされてもよい。一部の実施形態では、ラスタライゼーションを実行する並行処理は、制御及び同期情報を提供できる少なくとも一つのマスタ処理の制御下で動作する、スレーブ処理でありうる。例えば、ラスタサーバ３２０−１は、ラスタサーバ３２０−２が異なるバンドの異なるブロックで作動している間、あるバンドのあるブロックで動作することができる。一部の実施形態では、ラスタサーバ３２０−１から３２０−Ｎは、ＣＰＵ１７６又はＤＳＰ１７９の種々のコア間に配分されることができる。
【００４６】
更なる実施形態において、複数の完成ＲＤＬページは、任意の時点でシステム中に存在しうる。これらは、ラスタライゼーション処理が完了していないＲＤＬページを含みうる。一部の実施形態では、ＲＤＬページは、それらの生成順にラスタライズされる必要はない。ラスタライゼーションが完了した後、エンジンサーバ３６０は、ＲＤＬライブラリ３３０におけるルーチンを呼び出してメモリからＲＤＬページを削除し、そのＲＤＬページにより使用されていたメモリをメモリプール３１０に解放してもよい。
【００４７】
一の実施形態では、複数のラスタライゼーション処理が一つのＲＤＬページに対するディスプレイリストの異なる部分を同時にラスタライズしてもよい。例えば、マスタ−スレーブ環境において、並行スレーブ処理の各々は、ラスタライズするバンドを割り当てられることができる。一部の実施形態では、各スレーブ処理に割り当てられたバンドは異なってもよい。
【００４８】
一部の実施形態では、ラスタライゼーションは、言語サーバ３４０によってブロックが埋められ、又は完成したときに生じてもよい。その後、言語サーバ３４０は、第１ブロックのラスタライゼーションと並行して追加のブロックを作成してもよい。異なるバンドに対する第２のブロックが完成したときに、現在進行中の他のブロックのラスタライゼーション又は生成処理と並行して、第２のブロックに対するラスタライゼーションを開始してもよい。異なるバンドに対する、並行して完成した追加的ブロックも、現在ラスタライズされている他のブロックと並行してラスタライズされうる。一部の実施形態では、並行して行われるラスタライゼーション処理は、マルチコアＣＰＵ１７６又はマルチコアＤＳＰ１７９の異なるコア上で実行されてもよい。
【００４９】
一部の実施形態では、並行ラスタライゼーション処理は、ラスタサーバ３２０−１〜３２０−Ｎの一部であってもよい。一の実施形態では、並行ラスタライゼーションルーチンは、異なるバンドに対応する特異的な個別のブロックにおいて動作してもよい。一部の実施形態では、バンドがラスタライズされる順番は順次的でなくてもよい。一の実施形態では、並行ラスタライゼーションルーチンは、マスタラスタライゼーション処理の制御下におけるスレーブ処理であってもよい。例えば、マスタ処理は、ＲＤＬの作成及び削除を制御しうる。一部の実施形態では、ラスタライゼーションルーチンは、バンド内のブロックが連続的に順番に処理される一方で、特異的なバンドにおけるブロックで並行して動作してもよい。一の実施形態では、ラスタサーバ３２０−１〜３２０−Ｎは、ＲＤＬライブラリ３３０及びピクスマップコード３４５のルーチンをも使用してそれらの関数を実行することができる。例えば、ピクスマップコード３４５のルーチンは、ラスタサーバ３２０−１〜３２０−Ｎに、並行ラスタライゼーションを支援するピクスマップルーチンへのアクセスを与えてもよい。
【００５０】
例示的なエンジンサーバ３６０は、文書印刷のため、ピクスマップのデータを処理することができる。一部の実施形態では、エンジンサーバ３６０は、プリントエンジン１７７に制御情報、命令及びデータを提供しうる。一部の実施形態では、エンジンサーバ３６０は、処理の後、フレームバッファオブジェクトによって用いられたメモリを解放させるルーチンを呼び出してもよい。一部の実施形態では、メモリプール３１０及び／又はフレームバッファ３５０の一部は、メモリ１７２又は二次記憶装置１７３に存在してもよい。一部の実施形態では、言語サーバ３４０、ラスタサーバ３２０−１〜３２０−Ｎ及びエンジンサーバ３６０に対するルーチンは、ファームウェア１７１で提供されてもよく、又はＡＳＩＣ／ＦＰＧＡ１７８を用いて実行されてもよい。
【００５１】
プリントエンジン１７７は、フレームバッファ３５０におけるラスタライズデータを処理し、フレームバッファライブラリ３３５のルーチンを使用して、紙等の印刷媒体にページの印刷可能画像を形成することができる。一の実施形態では、エンジンサーバ３６０は、ＲＤＬライブラリ３３０及びピクスマップコード３４５のルーチンを使用することもできる。例えば、ピクスマップコード３４５におけるルーチンは、一以上の色平面成分及びアルファ平面成分を含む最終的なピクスマップが、エンジンサーバ３６０を介してプリントエンジン１７７に使用されることを可能としてもよい。
【００５２】
図４は、完成したＲＤＬページ４００の例示的な構造を示す。図４に示すように、例示的なＲＤＬページ４００は、一連の描画可能（ｄｒａｗａｂｌｅ）バンド４１０−０〜４１０−Ｎを含んでいる。一部の実施形態では、描画可能バンドはＲＤＬデータブロック４４０を含みうる。ＲＤＬデータブロック４４０は、メモリプール３１０からの、メモリマネージャ３７５によって管理されるブロックに対応する一連の等しいサイズのメモリブロックを含みうる。例示的なＲＤＬページ４００は、一以上の基準バンド４２０を含んでもよい。図４に示すように、例示的なＲＤＬページ４００は、基準バンド４２０−１及び４２０−２並びにリソースバンド４３０を含みうる。
【００５３】
前述のように、基準バンド４２０は、リソースバンド４３０が従来の描画可能バンド４１０で使用可能とされる前に特別な処理を必要とする異なった描画可能バンドを超えて使用される複合オブジェクトを保持する一方で、バンド境界にわたるオブジェクト及びバンドを超えて繰り返し使用されるオブジェクトを記憶することが可能である。従来の方法では、ラスタライゼーションは、ページ４００が完成したときに開始可能であった。したがって、従来の方法では、ＣＰＵ１７６におけるいくつかのコアは、言語サーバ３４０によるページ処理が完了するまで、アイドル状態となる可能性があった。
【００５４】
図５は、本明細書に開示される実施形態に適合する例示的な未完成ＲＤＬの並列生成及び並行ラスタライゼーションを示すブロック図５００である。図５に示すように、ＲＤＬは、バンド４１０−０から４１０−２、及び様々な完成状態の複数のＲＤＬブロック４４０を含んでいる。図５に示すＲＤＬは、言語サーバ３４０によって構築されている。バンド４１０−０は、ＲＤＬブロック４４０−０１及び４４０−０２を含む。ＲＤＬブロック４４０‐０１は、ブロック全体を塗りつぶす網掛けパターンで示しているように、完成している。ＲＤＬブロック４４０‐０２は、ブロックを部分的に塗りつぶす網掛けパターンで示しているように、言語サーバ３４０によって構築されているところである。同様に、ＲＤＬブロック４４０‐２の構築が既に言語サーバ３４０によって完了しているのに対し、ＲＤＬブロック４４０‐１の構築は途中である。
【００５５】
一部の実施形態では、描画可能バンド４１０における第１のＲＤＬブロック４４０がいっぱいになるとすぐに、ラスタライゼーションを開始することができる。一部の実施形態では、ＣＰＵ１７６又はＤＳＰ１７９のコア上で動くラスタライゼーションルーチンは、完成ＲＤＬブロック４４０の処理を開始してもよい。一部の実施形態では、完成ＲＤＬブロック４４０は、使用可能なスレーブラスタライゼーション処理５２０によって処理又は消費されうる。この間、言語サーバ３４０は、ＲＤＬページへのディスプレイリストの投入を継続してもよい。異なるバンド４１０におけるＲＤＬブロック４４０がいっぱいになると、ＲＤＬブロック４４０は、他の使用可能なスレーブラスタライゼーション処理５２０によって処理されることができる。
【００５６】
スレーブラスタライゼーション処理５２０がＲＤＬブロック４４０のラスタライゼーションを完了すると、ＲＤＬブロック４４０は解放され、メモリプール３１０に戻されることができる。この処理は、使用可能なスレーブを用いて、すべての完成ブロックに対して繰り返されうる。一部の実施形態では、スレーブラスタライゼーション処理５２０は、ＲＤＬブロック４４０のラスタライゼーションを完了したときに、使用可能であることを示してもよい。一部の実施形態では、スレーブラスタライゼーション処理５２０は、ＲＤＬブロック４４０のラスタライゼーションを開示したときに、利用不可能であることを示してもよい。一部の実施形態では、各スレーブラスタライゼーション処理５２０は、ＣＰＵ１７６及び／又はＤＳＰ１７９の異なるコア上で動作してもよい。一部の実施形態では、この処理は、コンピューティングデバイス１１０におけるマルチコアＣＰＵ上で動作してもよい。
【００５７】
図５に示すように、スレーブラスタライゼーション処理５２０−０は、ＲＤＬブロック４４０−１のラスタライジングを開始しており、バンド４１０−０に対応するピクスマップ５１０−０の生成を開始している。同時に、言語サーバがＲＤＬブロック４４０‐１及び４４０‐０２の作成を継続する一方で、スレーブラスタライゼーション処理５２０‐１は新たに完成したＲＤＬブロック４４０‐２のラスタライゼーションを開始している。一の実施形態では、スレーブラスタライゼーション処理５２０‐０は、ラスタサーバ３２０‐１〜３２０‐Ｎの一部として実施されうる。一の実施形態では、ＲＤＬは既にレンダリングされたブロック４４０の経過を追うのにも用いられる。一部の実施形態では、マスタラスタライゼーション処理又はページ管理タスク（「ＰＭＴ」）は、使用可能なスレーブの経過を追うことが可能である。
【００５８】
基準オブジェクト及び属性オブジェクトを保持することができるＲＤＬ基準バンド４２０のいずれも、ＲＤＬブロック４４０を蓄積し続けることができる。ＲＤＬブロック４４０における基準バンド４２０のデータは、ページの期間を通して参照され、使用されうる。したがって、いくつかの実施形態では、基準バンドのＲＤＬブロック４４０におけるデータは、ＲＤＬページのラスタライゼーションの間、複数回ラスタライズされてもよい。描画可能バンド４１０が連続的にラスタライズされるため、メモリプール３１０の大半の部分が使用可能であり、ＲＤＬブロックが二次記憶装置１７３にスワップされ又は適所に圧縮される機会が少なくなる。メモリが利用できない場合、言語サーバ３４０は、消費ブロックが解放されるのを待機するか、基準バンド４２０を削除するか、又はメモリマネージャ３７５を呼び出してメモリ最適化方策をとってもよい。削除された基準バンド４２０はいずれも、後で再生されることができる。
【００５９】
一部の実施形態では、リソースバンド４３０は、一つの複合オブジェクトに対するディスプレイリストが生成されるとすぐにラスタライズされてもよい。一部の実施形態では、リソースバンド４３０における基準複合オブジェクトが完全に処理されるまで、基準リソースバンド４３０の処理は保留とされうる。
【００６０】
一部の実施形態では、開示された並行ラスタライゼーションスキームは、コア上で追加的なスレーブラスタライゼーション処理５１０をスケジューリングすることによって、使用可能なプロセッサコアを使用することができる。したがって、ラスタライゼーション処理は、効率的にパイプラインされ、これによりページが作成されているときに、ページが段階的に（完成ＲＤＬブロック４４０に対応する）レンダリングされることができる。したがって、言語サーバ３４０がＲＤＬページを生成したときに、スレーブラスタライゼーション処理５２０によって、ページの大部分が既にラスタライズされているようになる。したがって、その後、ページ全体のラスタライゼーションを短時間で完了することができる。
【００６１】
本発明の他の実施形態は、明細書の検討及びここに開示される発明の一以上の実施形態の実施により、当業者において明らかになるであろう。明細書及び実施例は例示的なものにすぎないと解釈されることが意図されており、本発明の真の範囲及び趣旨は特許請求の範囲によって示されている。
【図１】
2010092472.tif 000003
【図２】
2010092472.tif 000004
【図３】
2010092472.tif 000005
【図４】
2010092472.tif 000006
【図５】
2010092472.tif 000007
【手続補正書】
【提出日】平成21年12月17日(2009.12.17)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】００１８
【補正方法】変更
【補正の内容】
【００１８】
接続部１２０は、コンピューティングデバイス１１０、サーバ１３０及びプリンタ１７０を接続しており、従来の通信プロトコル及び／又はデータポートインタフェースを用いて、有線接続又は無線接続として実施されることができる。一般に、接続部１２０は、デバイス間のデータ送信を可能とするいかなる通信チャネルとされてもよい。一部の実施形態では、例えば、デバイスは、パラレルポート、シリアルポート、イーサネット（登録商標）、ＵＳＢＴＭ、ＳＣＳＩ、ＦＩＲＥＷＩＲＥＴＭ及び／又は適当な接続部を介してデータ送信するための同軸ケーブルポート等の従来のデータポートを備えてもよい。一部の実施形態では、データポートは無線であってもよく、通信リンクは、種々のデバイス間の通信を可能とする無線リンク又は有線リンクのいくつかの組み合わせであってもよい。
【手続補正２】
【補正対象書類名】図面
【補正対象項目名】図４
【補正方法】変更
【補正の内容】
【図４】
2010092472.tif 000008
【手続補正３】
【補正対象書類名】図面
【補正対象項目名】図５
【補正方法】変更
【補正の内容】
【図５】
2010092472.tif 000009
【外国語明細書】
2010092472000001.pdf
2010092472000002.pdf
2010092472000003.pdf
2010092472000004.pdf