(57)【要約】【課題】印刷装置に使われる２次記憶装置に対するアクセスに帯域制限を設け、画像イメージの読み出しを優先して、画像イメージの読み書き最中に、２次記憶装置へイメージ読み書き以外のアクセスが発生することにより、２次記憶装置パイプライン許容時間をオーバしてしまうことに起因する印刷速度の低下を防止して、全体のスループットを向上させること。【解決手段】各アクセス部位（受信データ格納部２０２，トランスレータ２０３，イメージ格納部２０４，画像送出部２０６，フォント記憶部２０８）による２次記憶装置２０５へのアクセス要求を調停し、前記各アクセス部位による前記２次記憶装置２０５に対するアクセス要求を制限する構成を特徴とする。【選択図】　　　図３
2004114330.tif 000002
【特許請求の範囲】
【請求項１】
所定の通信媒体を介して上位層から受信した印刷データに基づき複数の処理手段が２次記憶装置を介してイメージデータを生成し、該生成されたイメージデータを印刷手段により記録媒体上に印刷処理する印刷装置であって、
前記各処理手段による前記２次記憶装置へのアクセス要求を調停し、前記各処理手段による前記２次記憶装置に対するアクセス要求を制限するアクセス制御手段を有することを特徴とする印刷装置。
【請求項２】
前記各処理手段は、前記２次記憶装置へのアクセス優先順位，アクセス要求を特定可能なパラメータを記憶するパラメータ記憶手段を有し、
前記アクセス制御手段は、前記各処理手段から前記２次記憶装置へのアクセス要求があると、前記各処理手段の有するパラメータ記憶手段に記憶されるパラメータを読み取り、該パラメータから特定される優先順位に基づいて、前記各処理手段による前記２次記憶装置へのアクセス要求を調停することを特徴とする請求項１記載の印刷装置。
【請求項３】
前記アクセス制御手段は、前記複数の処理手段により、一度に所定サイズ以上のデータサイズによる前記２次記憶装置へのアクセス要求がなされた場合、前記所定サイズ以上のデータサイズによるアクセス要求を所定のデータサイズによる複数のアクセス要求に分割することを特徴とする請求項１又は２記載の印刷装置。
【請求項４】
前記各処理手段のパラメータ記憶手段は、同時に複数のアクセス要求を含むパラメータを格納可能なことを特徴とする請求項１〜３のいずれかに記載の印刷装置。
【請求項５】
前記複数の処理手段は、前記受信データを一時的に記憶するとともに、該一時記憶した受信データを前記２次記憶装置に記憶させるように前記アクセス制御手段にアクセス要求する受信データ格納手段と、前記２次記憶装置に記憶された印刷データを前記２次記憶装置から取り出すように前記アクセス制御手段にアクセス要求するとともに、該取り出した印刷データを解析してイメージデータを生成するトランスレート手段と、前記トランスレート手段によって生成された前記イメージデータを前記２次記憶装置によって書き込むように前記アクセス制御手段にアクセス要求するイメージ書き込み手段と、前記イメージ書き込み手段によって書き込まれた前記イメージデータを前記２次記憶装置から取り出すように前記アクセス制御手段にアクセス要求するとともに、前記印刷手段に送信するイメージ送信手段とを含むことを特徴とする請求項１〜４のいずれかに記載の印刷装置。
【請求項６】
所定の通信媒体を介して上位層から受信した印刷データに基づき複数の処理手段が２次記憶装置を介してイメージデータを生成し、該生成されたイメージデータを印刷手段により記録媒体上に印刷処理する印刷装置における２次記憶装置アクセス制御方法であって、
前記各処理手段による前記２次記憶装置へのアクセス要求を調停し、前記各処理手段による前記２次記憶装置に対するアクセス要求を制限するアクセス制御工程を有することを特徴とする２次記憶装置アクセス制御方法。
【請求項７】
請求項６に記載された２次記憶装置アクセス制御方法を実行するためのプログラム。
【請求項８】
請求項６に記載された２次記憶装置アクセス制御方法を実行するためのプログラムをコンピュータが読み取り可能に記憶した記憶媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、所定の通信媒体を介して上位層から受信した印刷データを複数の処理手段により解釈してイメージデータを生成し、該生成されたイメージデータを印刷手段により記録媒体上に印刷処理する印刷装置および２次記憶装置アクセス制御方法およびプログラムおよび記憶媒体に関するものである。
【０００２】
【従来の技術】
従来の印刷装置においては、ホストコンピュータから受信した印刷ジョブを解析し、画像データに展開して少なくとも１ページ分の画像データを生成してから、プリンタエンジンに送信する印刷装置が多数提案されている。
【０００３】
また、部数毎の印刷を行う場合や、フェースアップによる逆ページ順排紙を行うために、少なくとも１印刷ジョブ分のページ全てを生成してから印刷を開始する印刷装置も多数提案されている。
【０００４】
このように、印刷ジョブのページ全てを生成してから印刷を行う構成では、生成するページ数は複数ページの場合、生成過程で要するデータ量が膨大になり、比較的コストの高いＤＲＡＭ等で構成されるメモリでは入りきらないことがある。そのため、ハードディスクドライブ（ＨＤＤ）デバイスのような比較的容量単価の安い大容量２次記憶装置を機器内部に設け、このＨＤＤに複数ページを格納することによって、前記部数毎の印刷や、逆ページ順排紙を可能とした印刷装置が提案されている。
【０００５】
この構成では、ＨＤＤ内部のファイルとして、印刷ジョブの画像データが格納されている。この場合、実際にプリンタエンジンが印刷すると同時にＨＤＤから画像ファイルを読みだし、少なくとも１ページ分の画像データをＲＡＭ等で構成されるメモリに読み出してから印刷を開始する。
【０００６】
また、ホストコンピュータから送信される印刷データを直ちに受信し、ホストコンピュータの印刷処理を開放するために、印刷装置の受信バッファとして上述したＨＤＤ等の２次記憶装置を使用する場合もある。
【０００７】
【発明が解決しようとする課題】
Ａ３サイズの用紙に印刷できるエンジン特性を利用して、一度に２枚のＡ４サイズの用紙に印刷することにより高速な印刷を可能としている印刷装置等が実用化されているが、印刷装置のプリンタエンジン特性によっては、実際に印刷を開始する前にイメージデータが揃っていないと、そのエンジンの最高パフォーマンスが出せない場合が存在する。
【０００８】
このように、エンジン特性のもっとも速い速度で印刷を行うためには、実際に印刷を行うページの後に、数ページ分の画像データが揃っている必要がある。
【０００９】
逆に、最高スループットが出せない場合、途中の搬送系のパイプライン処理が停止し、再度復帰するためには数秒から数十秒の待ち時間が発生し、さらにスループットを低下させる要因となってしまう。
【００１０】
このような前提から、印刷装置にとって最高に印刷スピードを保証するために、ＨＤＤから画像を読み出す系においては、プリンタエンジンの印刷スピードと同等以上にＨＤＤから画像データを読み出せることが望ましい。ＨＤＤデバイスは磁気ディスクをヘッドが読み出し電気信号に変換してデータとして読み出す装置であるが、磁気ディスクの記憶密度、回転数、ＨＤＤコントローラの性能などの要因により、転送速度には一定の制約が存在する。しかし通常は、プリンタエンジンの最高性能を出しても画像データの転送が間に合うようなパフォーマンスを有するＨＤＤデバイスが使用されているため問題ない。
【００１１】
しかしながら、ＨＤＤデバイスは画像データの読み出し専用としてだけではなく、イメージデータの書き込みや、ＰＤＬ（ページ記述言語）データの書き込みや読み込みのためにも使用される。
【００１２】
ここでいうイメージデータの書き込みとは、今印刷しようとしているページ以降のページの書き込み処理を示している。また、印刷装置では、ホストの開放時間を早くするために、通常、受信バッファと呼ばれる格納領域に印刷ジョブを格納するが、これをＨＤＤデバイスを用いることによってより多くのＰＤＬデータを格納し、ホストコンピュータの印刷処理の開放を高速化しており、上述したＨＤＤデバイスへのＰＤＬデータの書き込みとはＰＤＬデータを格納する処理、上述したＨＤＤデバイスへのＰＤＬデータの読み込みとは前記ＰＤＬデータの書き込み処理により書き込まれたデータを取り出し、ＰＤＬトランスレータに渡す処理のことである。また、それ以外にも大容量フォントデータの格納手段や、印刷ログ情報の格納、カラーマッチング情報など、容量が大きな可変値はＨＤＤデバイスに格納されることが多い。
【００１３】
そのような個々の要求に並列に受け答えを行っていたのでは、画像データの読み出しに間に合わず、結果、印刷のパフォーマンスを低下させる要因となってしまう。
【００１４】
以下、図１０を参照して、並列でＨＤＤデバイスに対するアクセスが発生した場合のパフォーマンス低下について説明する。
【００１５】
図１０は、並列でＨＤＤデバイスに対するアクセスが発生した場合のパフォーマンス低下を説明する図である。
【００１６】
図において、（１）はＨＤＤパイプライン許容時間である。この時間は、プリンタエンジンの速度や用紙サイズ、ＨＤＤデバイスのデータ転送能力、画像データの圧縮率などによって決められる値で、この時間内でイメージデータの読み書きを終えることができれば、プリンタエンジンの最大スループットを確保できることを示している。
【００１７】
（２）はイメージ読み書きを行う場合の転送時間である。通常、イメージの読み書きを行う時間はＨＤＤパイプライン許容時間内に収まるように作られるため、プリンタエンジンの最大スループットを妨げることはない。
【００１８】
（３）はイメージの読み書き最中に、ＨＤＤデバイスへイメージ読み書き以外のアクセスが発生した場合を示している。（２）に比べて追加されたのは、印刷ログをＨＤＤに保存するための「ログ書き込み時間」およびフォントデータのダウンロードなどを行う「リソース書き込み時間」である。この結果、トータルのＨＤＤアクセス時間は（１）のＨＤＤパイプライン許容時間をオーバしてしまう。この状態ではもはや、プリンタエンジンの最大スループットをあげることはできず、印刷速度の低下が発生してしまうという問題点があった。
【００１９】
本発明は、上記の問題点を解決するためになされたもので、本発明の目的は、所定の通信媒体を介して上位層から受信した印刷データに基づき複数の処理手段が２次記憶装置を介してイメージデータを生成し、該生成されたイメージデータを印刷手段により記録媒体上に印刷処理する印刷装置において、前記各処理手段による前記２次記憶装置へのアクセス要求を調停し、前記各処理手段による前記２次記憶装置に対するアクセス要求を制限することにより、印刷装置に使われる２次記憶装置に対するアクセスに帯域制限を設け、画像イメージの読み出しを優先し、画像イメージの読み書き最中に、２次記憶装置へイメージ読み書き以外のアクセスが発生することにより、２次記憶装置パイプライン許容時間をオーバしてしまうことに起因する印刷速度の低下を防止して、全体のスループットを向上させることができる印刷装置および２次記憶装置アクセス制御方法およびプログラムおよび記憶媒体を提供することである。
【００２０】
【課題を解決するための手段】
本発明に係る第１の発明は、所定の通信媒体を介して上位層から受信した印刷データに基づき複数の処理手段（図１に示す受信データ格納部２０２，トランスレータ２０３，イメージ格納部２０４，画像送出部２０６，フォント記憶部２０８）が２次記憶装置（図１に示す２次記憶装置２０５）を介してイメージデータを生成し、該生成されたイメージデータを印刷手段（図１に示すプリンタエンジン部２０７）により記録媒体上に印刷処理する印刷装置であって、前記各処理手段による前記２次記憶装置へのアクセス要求を調停し、前記各処理手段による前記２次記憶装置に対するアクセス要求を制限するアクセス制御手段（図１に示すアクセス制御部２０９）を有することを特徴とする。
【００２１】
本発明に係る第２の発明は、前記各処理手段は、前記２次記憶装置へのアクセス優先順位，アクセス要求を特定可能なパラメータを記憶するパラメータ記憶手段（図４に示すアクセス管理テーブル３０１）を有し、前記アクセス制御手段は、前記各処理手段から前記２次記憶装置へのアクセス要求があると、前記各処理手段の有するパラメータ記憶手段に記憶されるパラメータを読み取り、該パラメータから特定される優先順位に基づいて、前記各処理手段による前記２次記憶装置へのアクセス要求を調停することを特徴とする。
【００２２】
本発明に係る第３の発明は、前記アクセス制御手段は、前記複数の処理手段により、一度に所定サイズ以上のデータサイズによる前記２次記憶装置へのアクセス要求がなされた場合、前記所定サイズ以上のデータサイズによるアクセス要求を所定のデータサイズによる複数のアクセス要求に分割することを特徴とする。
【００２３】
本発明に係る第４の発明は、前記各処理手段のパラメータ記憶手段は、同時に複数のアクセス要求（図４に示すアクセス要求４１２）を含むパラメータを格納可能なことを特徴とする。
【００２４】
本発明に係る第５の発明は、前記複数の処理手段は、前記受信データを一時的に記憶するとともに、該一時記憶した受信データを前記２次記憶装置に記憶させるように前記アクセス制御手段にアクセス要求する受信データ格納手段（図１に示す受信データ格納部２０２）と、前記２次記憶装置に記憶された印刷データを前記２次記憶装置から取り出すように前記アクセス制御手段にアクセス要求するとともに、該取り出した印刷データを解析してイメージデータを生成するトランスレート手段（図１に示すトランスレータ２０３）と、前記トランスレート手段によって生成された前記イメージデータを前記２次記憶装置によって書き込むように前記アクセス制御手段にアクセス要求するイメージ書き込み手段（図１に示すイメージ格納部２０４）と、前記イメージ書き込み手段によって書き込まれた前記イメージデータを前記２次記憶装置から取り出すように前記アクセス制御手段にアクセス要求するとともに、前記印刷手段に送信するイメージ送信手段（図１に示す画像送出部２０６）とを含むことを特徴とする。
【００２５】
本発明に係る第６の発明は、所定の通信媒体を介して上位層から受信した印刷データに基づき複数の処理手段が２次記憶装置を介してイメージデータを生成し、該生成されたイメージデータを印刷手段により記録媒体上に印刷処理する印刷装置における２次記憶装置アクセス制御方法であって、前記各処理手段による前記２次記憶装置へのアクセス要求を調停し、前記各処理手段による前記２次記憶装置に対するアクセス要求を制限するアクセス制御工程（図６のステップＳ６０１〜Ｓ６１０）を有することを特徴とする。
【００２６】
本発明に係る第７の発明は、請求項６に記載された２次記憶装置アクセス制御方法を実行するためのプログラムであることを特徴とする。
【００２７】
本発明に係る第８の発明は、請求項６に記載された２次記憶装置アクセス制御方法を実行するためのプログラムを記憶媒体にコンピュータが読み取り可能に記憶させたことを特徴とする。
【００２８】
【発明の実施の形態】
〔第１実施形態〕
図１は、本発明の第１実施形態を示す印刷装置の構成を示す模式図である。
【００２９】
図１において、２００は本発明を適用可能な印刷装置である。この印刷装置２００において、２０１はインタフェース部で、ＩＥＥＥ１２８４パラレルＩ／Ｆやイーサネット（登録商標）などの既知の通信媒体を介してパーソナルコンピュータ，ワークステーション等のホストコンピュータ（情報処理装置）と接続し、印刷データの受信やフォントパターンなどのリソースデータを送受信する。
【００３０】
２０２は受信データ格納部で、受信した印刷データを一時的に格納しておくものである。２０３はトランスレータで、受信データを解析し、画像イメージデータを生成する。２０４はイメージ格納部で、トランスレータ２０３が生成した画像イメージデータを一時的に格納する。２０５はＨＤＤ等の２次記憶装置で、大容量データの実際の記憶を行う。２０６は画像送出部で、イメージ格納部２０４が格納したイメージデータを取り出し、ラスタデータに変換してプリンタエンジンに渡すものである。
【００３１】
２０７はプリンタエンジン部で、電子写真方式（レーザビーム方式，ＬＥＤ方式等）やインクジェット方式、液晶シャッタ方式、熱転写方式、昇華方式でもその他のプリント方式等の既知の印刷技術を使用して実際に用紙に対して印刷を行うものである。
【００３２】
２０８はフォント記憶で、トランスレータ２０３が画像イメージデータを生成するときに使用するフォントデータを一時的に記憶しておくものである。２０９はアクセス制御部で、２次記憶装置２０５に対する読み書きを制御する。
【００３３】
このように、印刷装置２００は、インタフェース部２０１、受信データ格納部２０２、トランスレータ２０３、イメージ格納部２０４、２次記憶装置２０５、画像送出部２０６、プリンタエンジン部２０７、フォント記憶部２０８、アクセス制御部２０９から構成される。
【００３４】
この中で、受信データ格納部２０２、イメージ格納部２０４、フォント記憶部２０８は、それぞれ独立に２次記憶装置２０５に対してデータの読み書きを行う必要があるが、直接２次記憶装置２０５にアクセスするのではなく、アクセス制御部２０９を介することになる。なお、以下、２次記憶装置２０５にアクセスするこれらの部位（受信データ格納部２０２，トランスレータ２０３，イメージ格納部２０４，画像送出部２０６，フォント部記憶部２０８等）を総称してアクセス部位と称する。
【００３５】
図２は、図１に示した受信データ格納部２０２，イメージ格納部２０４，フォント記憶部２０８のそれぞれのアクセス部位における２次記憶装置２０５へのアクセス優先順位と一定時間にアクセスできなかった場合のペナルティを示す図である。
【００３６】
図に示すように、受信データ格納部２０２，イメージ格納部２０４，フォント記憶部２０８の中でもっとも優先順位が高いのはイメージ格納部２０４である。このイメージ格納部２０４は、もっとも印刷パフォーマンスに影響を与える部位であり、一定時間内に画像送出部２０６に画像イメージデータを渡せない場合、プリンタエンジン部２０７の転送が停止してしまう。
【００３７】
通常、プリンタエンジン部２０７は、複数のページを平行に処理しており、これによってエンジンスループットを得ているが、画像イメージデータの送信が停止してしまうと、再度エンジンを回し直さなくてはいけないので印刷パフォーマンスが低下してしまう。
【００３８】
また、画像送出部２０６が、最低１ページ分のメモリを持っていない構成で、２次記憶装置２０５からの画像イメージデータを画像送出部２０６に直接リアルタイムに送出しようとした場合、ある一定時間内に２次記憶装置２０５から画像イメージデータを取り出せないときには、画像送出部２０６はプリンタエンジン部２０７にリアルタイムにラスターデータを渡せなくなってしまう。電子写真方式を用いている場合、プリンタエンジン部２０７は光源の照射や定着器の都合から用紙搬送を途中で止めることが難しく、その結果、いわゆるオーバランと言われるページの途中から白抜けしてしまう印字不正が発生してしまう。このような理由があるため、イメージ格納部２０４の画像イメージデータの取り出しは一定の時間内に行わなくてはならないという制約があり、２次記憶装置２０５に対するアクセス優先順位は高くする必要がある。
【００３９】
次に、受信データ格納部２０２の場合であるが、通常、インタフェース部２０１の転送速度に限界があるため、それ以上速く転送する必要はない。また、この段での転送速度が遅くなってもイメージ格納部２０４で管理している画像イメージデータが数ページあれば全体的なパフォーマンス低下には直接繋がらない。
【００４０】
また、そもそもトランスレータ２０３での解釈処理に時間がかかる場合、総合的なパフォーマンス低下になるため、この段でのデータ転送が全体のパフォーマンスに致命的になる可能性は低い。以上の条件から、受信データ格納部２０２は優先順位は中位である。
【００４１】
最後に、フォント記憶部２０８の場合であるが、通常、フォントデータのダウンロードは印刷ジョブの印刷処理を行っていない場合に行われるものであり、同時に行っている場合でも当該ジョブに作用するのではなく、次の印刷ジョブに作用するものである。よって、フォントデータのダウンロードよりも、外に画像イメージデータのアクセスや受信データのアクセスをより優先すべきである。つまりフォント記憶部２０８のアクセス処理は相対的に速度を要求されない。以上の条件から、フォント記憶部２０８の優先順位は低位である。
【００４２】
以上のように、２次記憶装置２０５を使う部位によって、優先順位が異なることがわかる。
【００４３】
そこで、従来、個々の部位がＨＤＤにアクセスしていた方式を改めて、一度アクセス制御部２０９に依頼を出すようにする。このアクセス制御部２０９は、個々の部位の２次記憶装置２０５へのアクセス要求を優先順位別に調停し、２次記憶装置２０５への実際の読み書きを制御する。
【００４４】
図３は、図１に示した各アクセス部位と、２次記憶装置２０５，アクセス制御部２０９の関係を説明する模式図である。
【００４５】
図に示すように、２次記憶装置２０５は、必ずアクセス制御部２０９を介して読み書きされることになる。各部位とアクセス制御部２０９の間には、アクセス管理テーブル３０１という固有なテーブルで管理される。
【００４６】
なお、このアクセス管理テーブル３０１は、各アクセス部位の図示しないメモリに格納されており、アクセス制御部２０９からも、読み取り、及び書き込み可能である。
【００４７】
図４は、図３に示したアクセス管理テーブル３０１の内容を示す模式図である。
【００４８】
このアクセス管理テーブル３０１は、各アクセス部位が２次記憶装置２０５へのアクセスが必要になった際に初期化される。
【００４９】
図において、４０１はファイルポインタで、従来よりファイルオープンの際に使われるファイル記述子であり、初期化時に記入される。４０２は実行閾値で、各アクセス部位が決定するパラメータである。例えば、「１」と記入された場合と「２」と記入された場合では、相対的に「１」と記入されたほうが２倍多く２次記憶装置に対するアクセスが可能である。なお、この実行閾値４０２は、各アクセス部位の固有の値であり、工場等で図２に示した優先順位等に基づいてなされた設定に応じて各アクセス部位が決定している。なお、上述したように工場等で設定された優先順位等は、図示しないＮＶＲＡＭに格納されており、サービスマンが後で調整できる調整パラメータである。
【００５０】
４０３は積算度数で、ある時点での２次記憶装置２０５へのアクセス権を決定するパラメータであり、複数のアクセス管理テーブルの中で積算度数が実行閾値に達したアクセス部位だけがアクセス権を取得できる。
【００５１】
４０４は終了通知手段で、アクセス部位が必要なときに２次記憶装置２０５が完了したことを各アクセス部位に通知する手段が記述されているものであり、プログラム上ではイベントを設定するコールバック関数のポインタという形で実装される。これはアクセス部位が必要でない場合には省略可能である。その場合、各アクセス部位は一度のアクセス要求の完了を待たず、連続してアクセス要求を送信することが可能である。そのために、アクセス要求は複数のアクセス要求からなるリングバッファ構造を有しており、アクセス管理テーブルの中に、リングバッファ先頭位置４０５，リングバッファ最終位置４０６を持っている。
【００５２】
アクセス制御部２０９は、リングバッファ先頭位置４０５をみて、アクセス要求を取り出し、各アクセス部位はリングバッファ最終位置４０６に新しい要求を追加する。
【００５３】
個々のアクセス要求４１２は、シーク位置４０７、アドレス４０８、サイズ４０９、リンクポインタ４１０，アクセスメソッド４１１を持っている。シーク位置４０７は、２次記憶装置２０５に生成されるファイルの、オフセット位置を示す。アドレス４０８は、書き込みの場合には各アクセス部位から指定を受けた、ファイルに書き込みたいデータが格納されているメモリアドレス、読み込みの場合には、ファイルから読み込みたいデータを格納すべきメモリアドレスが記述される。
【００５４】
サイズ４０９は、書き込みを行う場合には書き込みたいサイズ、読み込みを行う場合には読み込みたいサイズを示す。リンクポインタ４１０は、リングバッファを構成するために必要な、次に参照すべきアクセス要求の位置を示すものである。アクセスメソッド４１１は、書き込み又は読み込みを指定するものであり、「Ｗ」の場合は書き込み要求とし、「Ｒ」の場合は読み込み要求とする。
【００５５】
以下、図５，図６を参照して、本発明の印刷装置において２次記憶装置２０５へアクセスする場合の各アクセス部位及びアクセス制御部２０９の動作についてそれぞれ説明するが、説明をわかりやすくするために、まず、単一のアクセス部位からの要求があった場合の動作を例にして説明する。
【００５６】
図５は、本発明の印刷装置における第１の制御処理手順の一例を示すフローチャートであり、本発明の第１実施形態における印刷装置２００において書き込みを行うアクセス部位の動作を示す。なお、このフローチャートの処理は、各アクセス部位（受信データ格納部２０２，トランスレータ２０３，イメージ格納部２０４，画像送出部２０６，フォント部記憶部２０８）内の図示しないＣＰＵによりＲＯＭ又はその他の記憶媒体に格納されたプログラムに基づいてそれぞれ実行されるものとする。また、Ｓ５０１〜Ｓ５０９は各ステップを示す。
【００５７】
アクセス部位は、必要になったときに呼ばれ、処理が完了したら終了するモジュールである。処理が必要になると、まず、ステップＳ５０１において、アクセス要求の初期化を行う。ここで行うことは、アクセス管理テーブルを獲得し、２次記憶装置２０５に対してファイルの書き込みオープンを行い、ファイルポインタをアクセス管理テーブルに記入し、アクセス部位から指示された実行閾値を書き込み、積算度数を「０」に初期化、リングバッファ先頭をＮＵＬＬに初期化し、リングバッファ最終位置を最初のアクセス要求位置につけることである。なお、リングバッファ先頭がＮＵＬＬであることは、アクセス要求がないことを示し、リングバッファ最終位置がＮＵＬＬである場合には、これ以上アクセス要求を追加できないことを示す。
【００５８】
次に、ステップＳ５０２において、上位層からデータを取得し、ステップＳ５０３において、アクセス部位固有のデータ処理を行う。取得の仕方およびデータ処理は各アクセス部位によって異なり、本発明では重要でないので説明は省略する。
【００５９】
データ処理によって、２次記憶装置２０５に対して書き込むデータが揃うと、ステップＳ５０４において、アクセス要求をアクセス管理テーブルに追加する。この場合、リングバッファ最終位置に、要求を受けたデータのシーク位置、書き込みアドレスと書き込みたいサイズを記述する。ここでリングバッファ先頭位置が当該アクセス要求位置に位置づけられる。また、リングバッファ最終位置が次のポインタに更新される。もしアクセス管理テーブルの最終位置の場合は、最初の位置に戻される。
【００６０】
このようにリングバッファに書き込み要求が登録された後、ステップＳ５０５において、アクセス制御部へ通知が行われる。これは信号線を使うか、タスク間通信によるイベント通知により、アクセス制御部に通知がなされる。次に、ステップＳ５０６において、書き込み処理が完了したかどうかを待つ。書き込みは書き込みアクセス部位が行うのではなく、アクセス制御部２０９が行うため、ただちに書き込まれない場合がある。その場合には、ステップＳ５０７において、ウェイト処理が行われ、再度ステップＳ５０６で書き込みが完了したか調査される。
【００６１】
書き込みが完了したら、ステップＳ５０８において、まだデータが残っているか調査され、残っていると判定した場合には、ステップＳ５０２のデータの取得処理まで戻る。データが残っていないと判定した場合には、ステップＳ５０９に進み、アクセス要求完了にて、アクセス管理テーブルを開放し、処理が完了する。
【００６２】
図６は、本発明の印刷装置における第２の制御処理手順の一例を示すフローチャートであり、アクセス制御部２０９の動作を示す。なお、このフローチャートの処理は、アクセス制御部２０９内の図示しないＣＰＵによりＲＯＭ又はその他の記憶媒体に格納されたプログラムに基づいてそれぞれ実行されるものとする。また、Ｓ６０１〜Ｓ６１０は各ステップを示す。
【００６３】
アクセス制御部２０９は、本体の電源投入とともに起動され、以降電源遮断まで処理を継続する。
【００６４】
まず、ステップＳ６０１において、アクセス要求があったかどうか調査する。要求がないと判定した場合には、ステップＳ６０２において、ウェイト処理に入る。アクセス部位が図５に示したステップＳ５０５でアクセス制御部２０９へ、アクセス要求の追加の通知がなされると、ステップＳ６０１においてアクセス要求があったと判定され、ステップＳ６０３に進む。
【００６５】
以下、ステップＳ６０３〜Ｓ６０９は、アクセス要求を発行するアクセス部位が所有するアクセス管理テーブルに対して個々に行う動作である。
【００６６】
ステップＳ６０３において、アクセス管理テーブルを１つ取得し、以下の処理に入る。ステップＳ６０４において、当該アクセス管理テーブルの積算度数に「１」を加える。ステップＳ６０５において積算度数４０３が、個々のアクセス管理テーブル毎に設定されている実行閾値を超えたか否かを判断し、超えていないと判断した場合には、そのままステップＳ６０９に進む。
【００６７】
一方、ステップＳ６０５で、個々のアクセス管理テーブル毎に設定されている実行閾値を超えたと判断した場合のみ、ステップＳ６０６において、当該アクセス管理テーブルのリングバッファに書かれているアクセス要求を実行する。
【００６８】
続いて、ステップＳ６０７において、リングバッファに格納されているアクセス要求の取得位置であるリングバッファ先頭位置４０５を次のアクセス要求の位置に更新する。もしアクセス要求がなければ、アクセス要求なしと判断する。
【００６９】
さらに、ステップＳ６０８において、当該アクセス管理テーブルの積算度数４０３を「０」にする。
【００７０】
ステップＳ６０９において、全てのアクセス管理管理テーブル３０１を検索したと判断した場合には、ステップＳ６１０に進み、まだ全てのアクセス管理テーブル３０１の検索を完了していないと判断した場合には、ステップＳ６０３に戻る。これは全てのアクセス管理テーブルの検索が完了するまで行われる。
【００７１】
ステップＳ６１０において、全てのアクセス管理テーブルに対してまだアクセス要求が残っているか調べ、まだアクセス要求が存在すると判断した場合には、ステップＳ６０３に戻り、一方、アクセス要求が存在しないと判断した場合には、ステップＳ６０１に戻り、ウェイト処理に入る。
【００７２】
以上が単純なアクセス要求の依頼（単一のアクセス部位からの要求）と、ファイルへのアクセスの説明となる。
【００７３】
次に、同時に複数のアクセス部位から要求が発生した場合を説明する。
【００７４】
ここでは、２つのアクセス部位があった場合の説明を行う。
【００７５】
例えば、受信データ格納部２０２とイメージ格納部２０４が同時にアクセス要求を出したとする。前述のように受信データ格納部２０２とイメージ格納部２０４では、より後段のイメージ格納部２０４の方が優先順位が高い。そこで、イメージ格納部２０４の実行閾値を「２」、受信データ格納部２０２の実行閾値を「３」と設定する。これでイメージ格納部と受信データ格納部の２次記憶装置に対するアクセス頻度はイメージ格納部：受信データ格納部＝３：２になる。
【００７６】
図７は、複数のアクセス部位によるアクセス要求が実行される順番を説明するためのアクセス制御部２０９の動作を示す概念図である。
【００７７】
図において、Ｓ０〜Ｓ６は処理経過を示している。
【００７８】
まず、Ｓ０は初期状態を示しており、受信データ格納部もイメージ格納部もそれぞれ所有するアクセス管理テーブルの積算度数は「０」である。これは、図５に示したステップＳ５０１のアクセス管理テーブルの初期化において行われる。以下Ｓ１〜Ｓ６の経過は、ステップＳ６０３〜Ｓ６０９のループ構造が一回まわる度に行われる処理である。
【００７９】
最初のＳ１は、それぞれの積算度数に「１」を足した結果である。この場合、それぞれの実行閾値である「２」と「３」に達しないので、このループではなにもしない。Ｓ２において、それぞれの積算度数は「２」となるが、このときイメージ格納部２０４の積算度数が実行閾値である「２」に達するため、ここでイメージ格納部２０４は、２次記憶装置２０５にアクセスすることができる。そして、２次記憶装置２０５へのアクセスの結果、アクセス要求がインクリメントされ、イメージ格納部２０４の積算度数が「０」になる。
【００８０】
次に、Ｓ３において、それぞれ積算度数に「１」が足された結果、イメージ格納部２０４の積算度数は「１」になる。一方、受信データ格納部２０２の積算度数は「３」になり実行閾値「３」に達したため、受信データ格納部２０２は、２次記憶装置２０５にアクセス可能になる。そして、２次記憶装置２０５へのアクセスの結果、アクセス要求がインクリメントされ、受信データ格納部２０２の積算度数が「０」になる。
【００８１】
続いて、Ｓ４では、イメージ格納部の積算度数が「２」となり、アクセス可能になる。Ｓ５では、いずれの積算度数もいずれの実行閾値を越さず、なにも起きない。Ｓ６では、積算度数が双方とも同時に双方の実行閾値を越えるので、どちらもアクセス可能である。この次は、双方とも積算度数が「０」になるため、Ｓ０に戻ることになる。
【００８２】
以上の経過を見ると、イメージ格納部２０４が３回アクセスする間に、受信データ格納部２０２は２回だけアクセス可能になり、アクセス回数によって帯域制御が可能となる。
【００８３】
この結果、全体の２次記憶装置２０５に対するアクセスのうち、６０％をイメージデータ格納に使用することが可能となり、例えば２次記憶装置としてのＨＤＤの平均スループットが１０（ＭＢ／ｓｅｃ）の場合、６（ＭＢ／ｓｅｃ）をイメージ格納部２０４が使用可能になり、帯域保障が可能となった結果、ＨＤＤの帯域を保障をしない場合に比べて、エンジンに対するデータ転送速度を保障できるようになり、パフォーマンスを向上させることが可能となる。
【００８４】
なお、本実施形態では、２つのアクセス部位による帯域制限の例をあげたが、これはアクセス部位がいくつに増えようとも同様に実行閾値の適切な設定によって帯域を制限することが可能である。
【００８５】
以上のように、２次記憶装置２０５に対する、ＰＤＬ格納取得、イメージ格納取得、フォントなどリソース格納取得に対して、帯域制限を行うアクセス制御部２０９を有することにより、印刷装置に使われる２次記憶装置（ＨＤＤ等）に対するアクセスに帯域制限を設け、画像イメージの読み出しを優先し、画像イメージの読み書き最中に、ＨＤＤデバイスへイメージ読み書き以外のアクセスが発生することにより、ＨＤＤパイプライン許容時間をオーバしてしまい、印刷速度の低下が発生してしまうことを防止して、全体のスループットを向上させることができる。
【００８６】
〔第２実施形態〕
上記第１実施形態では、アクセス回数による帯域制御を可能とする構成について説明したが、一般にＨＤＤのアクセス時間は転送サイズと比例関係があり、一回の転送サイズがアクセス部位によって異なれば、帯域が保障できるわけではない。例えば、上記第１実施形態の受信データ格納部とイメージ格納部の場合、アクセス回数の比率が２：３となっていたが、例えば一回のアクセスにおいて受信データ格納部２０２は１００ＫＢを転送、イメージ格納部２０４は５０ＫＢを転送、とした場合は、単位時間あたりの転送量は受信データ格納部２０２の方が多くなってしまう。これは、アクセス制御部２０９が転送サイズを考慮していなかったためである。
【００８７】
そこで、一度の転送サイズの最大数を決め、それ以上のデータサイズは複数のアクセス要求に分割することによって、アクセス要求の比率を整合させるように構成してもよい。以下、その実施形態について説明する。
【００８８】
図８は、本発明の印刷装置の第２実施形態における第３の制御処理手順の一例を示すフローチャートであり、本発明の第１実施形態における印刷装置２００において書き込みを行うアクセス部位の動作を示す。なお、このフローチャートの処理は、各アクセス部位（受信データ格納部２０２，トランスレータ２０３，イメージ格納部２０４，画像送出部２０６，フォント記憶部２０８）内の図示しないＣＰＵによりＲＯＭ又はその他の記憶媒体に格納されたプログラムに基づいてそれぞれ実行されるものとする。また、Ｓ５０１〜Ｓ５０９，Ｓ８０１，Ｓ８０２は各ステップを示す。さらに、図５と同一のステップには同一のステップ番号を付してあり、図５と異なる部分に限って説明する。
【００８９】
ステップＳ５０３において、アクセス部位固有のデータ処理がなされ、２次記憶装置２０５へのアクセス要求がなされると、ステップＳ８０１において、そのアクセス要求を最大数で分割する。最大数とは、１度に２次記憶装置にアクセスできる最大サイズのことであり、機器に固有な値を指示する。この値は一般的に２次記憶装置２０５が受け取りやすいように、２のべき乗の数であることが望ましい。ここでは、「１６ＫＢ（即ち、１６３８４バイト）」で分割するものとする。
【００９０】
仮に、アクセス部位のアクセス要求サイズが、「５０ＫＢ（即ち、５１２００バイト）」の場合、ステップＳ８０１において、最初に「１６３８４バイト」に分割され、ステップＳ５０４でアクセス要求の追加を行う。そして、ステップＳ８０２において、分割完了したか否かを判定するが、ここでは、まだ分割が終了していないので、ステップＳ８０１に戻る。
【００９１】
一方、ステップＳ８０２で、分割完了したと判断した場合には、ステップＳ５０５に進む。
【００９２】
なお、「５１２０バイト」は、「１６３８４×３＋２０４８バイト」となるため、分割は「１６３８４」，「１６３８４」，「１６３８４」，「２０４８」の４回分割され、４つのアクセス要求としてアクセス管理テーブルに書き込まれる。なお、このように、アクセス要求が分割された場合でも、アクセス制御部２０９の動作は、上記第１実施形態と同一となる。
【００９３】
以上のように、アクセス要求をサイズに応じて分割することにより、どのようなサイズかにかかわらず、アクセス制御部２０９はアクセス回数だけで異なる複数のアクセス部位の帯域制御が可能となる。
【００９４】
上記第１実施形態，第２実施形態を合わせ、アクセス要求をサイズに応じて分割するか否かを、ユーザが図示しない操作パネルまたは所定の通信媒体を介して通信可能な情報処理装置よりモード設定するように構成してもよい。
【００９５】
また、上記各実施形態では、本発明を印刷装置に適用する場合について説明したが、複数の処理部が２次記憶装置にアクセスするような装置であれば、どのような装置にも適用可能である。即ち、複数のデータ処理部が２次記憶装置を介してデータのデータ処理を行うデータ処理装置において、前記２次記憶装置への、アクセス制御手段が、前記各データ処理部によるアクセス要求を調停し、前記各データ処理部による前記２次記憶装置に対するアクセス要求を優先順位に基づいて制限することにより、優先順位の高いデータ処理部からの２次記憶装置へアクセスの遅れを防止することができる。
【００９６】
以上より、アクセス制御部が、２次記憶装置への全てアクセスに対して、帯域制限を決定するパラメータを与え、２次記憶装置のアクセスに対して統一的に管理し、個々の２次記憶装置のアクセスに対してパラメータから算出されるアクセス優先順位を決定し、アクセス順位の高いアクセスに対して２次記憶装置の読み書きを行うことにより、画像データの読み出し処理におけるＨＤＤ等の２次記憶装置のパフォーマンス低下を防ぐことができる。
【００９７】
以下、図９に示すメモリマップを参照して本発明に係る印刷装置で読み出し可能なデータ処理プログラムの構成について説明する。
【００９８】
図９は、本発明に係る印刷装置で読み出し可能な各種データ処理プログラムを格納する記憶媒体のメモリマップを説明する図である。
【００９９】
なお、特に図示しないが、記憶媒体に記憶されるプログラム群を管理する情報、例えばバージョン情報，作成者等も記憶され、かつ、プログラム読み出し側のＯＳ等に依存する情報、例えばプログラムを識別表示するアイコン等も記憶される場合もある。
【０１００】
さらに、各種プログラムに従属するデータも上記ディレクトリに管理されている。また、インストールするプログラムやデータが圧縮されている場合に、解凍するプログラム等も記憶される場合もある。
【０１０１】
本実施形態における図５，図６，図８に示す機能が外部からインストールされるプログラムによって、ホストコンピュータにより遂行されていてもよい。そして、その場合、ＣＤ−ＲＯＭやフラッシュメモリやＦＤ等の記憶媒体により、あるいはネットワークを介して外部の記憶媒体から、プログラムを含む情報群を出力装置に供給される場合でも本発明は適用されるものである。
【０１０２】
以上のように、前述した実施形態の機能を実現するソフトウエアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読出し実行することによっても、本発明の目的が達成されることは言うまでもない。
【０１０３】
この場合、記憶媒体から読み出されたプログラムコード自体が本発明の新規な機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【０１０４】
プログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク，ハードディスク，光ディスク，光磁気ディスク，ＣＤ−ＲＯＭ，ＣＤ−Ｒ，ＤＶＤ−ＲＯＭ，磁気テープ，不揮発性のメモリカード，ＲＯＭ，ＥＥＰＲＯＭ，シリコンディスク等を用いることができる。
【０１０５】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているＯＳ（オペレーティングシステム）等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１０６】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵ等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１０７】
また、本発明は、複数の機器から構成されるシステムに適用しても、１つの機器からなる装置に適用してもよい。また、本発明は、システムあるいは装置にプログラムを供給することによって達成される場合にも適応できることは言うまでもない。この場合、本発明を達成するためのソフトウエアによって表されるプログラムを格納した記憶媒体を該システムあるいは装置に読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。
【０１０８】
さらに、本発明を達成するためのソフトウエアによって表されるプログラムをネットワーク上のデータベースから通信プログラムによりダウンロードして読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。
【０１０９】
【発明の効果】
以上説明したように、本発明によれば、所定の通信媒体を介して上位層から受信した印刷データに基づき複数の処理手段が２次記憶装置を介してイメージデータを生成し、該生成されたイメージデータを印刷手段により記録媒体上に印刷処理する印刷装置において、前記各処理手段による前記２次記憶装置へのアクセス要求を調停し、前記各処理手段による前記２次記憶装置に対するアクセス要求を制限するので、印刷装置に使われる２次記憶装置に対するアクセスに帯域制限を設け、画像イメージの読み出しを優先し、画像イメージの読み書き最中に、２次記憶装置へイメージ読み書き以外のアクセスが発生することにより、２次記憶装置パイプライン許容時間をオーバしてしまうことに起因する印刷速度の低下を防止して、全体のスループットを向上させることができる。
【図面の簡単な説明】
【図１】本発明の第１実施形態を示す印刷装置の構成を示す模式図である。
【図２】図１に示した受信データ格納部，イメージ格納部，フォント記憶部のそれぞれのアクセス部位における２次記憶装置へのアクセス優先順位と一定時間にアクセスできなかった場合のペナルティを示す図である。
【図３】図１に示した各アクセス部位と、２次記憶装置，アクセス制御部の関係を説明する模式図である。
【図４】図３に示したアクセス管理テーブルの内容を示す模式図である。
【図５】本発明の印刷装置における第１の制御処理手順の一例を示すフローチャートである。
【図６】本発明の印刷装置における第２の制御処理手順の一例を示すフローチャートである。
【図７】複数のアクセス部位によるアクセス要求が実行される順番を説明するためのアクセス制御部の動作を示す概念図である。
【図８】本発明の印刷装置の第２実施形態における第３の制御処理手順の一例を示すフローチャートである。
【図９】本発明に係る印刷装置で読み出し可能な各種データ処理プログラムを格納する記憶媒体のメモリマップを説明する図である。
【図１０】並列でＨＤＤデバイスに対するアクセスが発生した場合のパフォーマンス低下を説明する図である。
【符号の説明】
２００　印刷装置
２０１　インタフェース部
２０２　受信データ格納部
２０３　トランスレータ
２０４　イメージ格納部
２０５　２次記憶装置
２０６　画像送出部
２０７　プリンタエンジン部
２０８　フォント記憶部
２０９　アクセス制御部
【図１】
2004114330.tif 000003
【図２】
2004114330.tif 000004
【図３】
2004114330.tif 000005
【図４】
2004114330.tif 000006
【図５】
2004114330.tif 000007
【図６】
2004114330.tif 000008
【図７】
2004114330.tif 000009
【図８】
2004114330.tif 000010
【図９】
2004114330.tif 000011
【図１０】
2004114330.tif 000012