JP2005174145A - データ処理方法、データ処理装置、プログラム及び記憶媒体 - Google Patents
データ処理方法、データ処理装置、プログラム及び記憶媒体 Download PDFInfo
- Publication number
- JP2005174145A JP2005174145A JP2003415687A JP2003415687A JP2005174145A JP 2005174145 A JP2005174145 A JP 2005174145A JP 2003415687 A JP2003415687 A JP 2003415687A JP 2003415687 A JP2003415687 A JP 2003415687A JP 2005174145 A JP2005174145 A JP 2005174145A
- Authority
- JP
- Japan
- Prior art keywords
- data
- data processing
- data transfer
- storage
- amount
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Images
Landscapes
- Bus Control (AREA)
- Record Information Processing For Printing (AREA)
- Image Processing (AREA)
Abstract
【課題】 現在処理中のページのオーバーランの発生を防止すると共に、次のページの処理開始までの時間を短縮できるデータ処理方法、データ処理装置、プログラム及び記憶媒体を提供する。
【解決手段】 データを蓄積するページメモリ4と、ページメモリ4から画像出力部5へデータを転送するDMAコントローラ500と、画像出力部5においてDMAコントローラ500によるデータの転送速度とプリンタエンジン6に出力すべきデータの転送速度との差を吸収するためにデータを蓄積するバッファメモリ502と、バッファメモリ502に蓄積されたデータの量を検出するデータ蓄積量検出部504とを有し、DMAコントローラ500は、データ蓄積量検出部504のデータ量検出結果に基づき、バスの使用権を獲得した際のデータの転送量を決定する。
【選択図】 図1
【解決手段】 データを蓄積するページメモリ4と、ページメモリ4から画像出力部5へデータを転送するDMAコントローラ500と、画像出力部5においてDMAコントローラ500によるデータの転送速度とプリンタエンジン6に出力すべきデータの転送速度との差を吸収するためにデータを蓄積するバッファメモリ502と、バッファメモリ502に蓄積されたデータの量を検出するデータ蓄積量検出部504とを有し、DMAコントローラ500は、データ蓄積量検出部504のデータ量検出結果に基づき、バスの使用権を獲得した際のデータの転送量を決定する。
【選択図】 図1
Description
本発明は、プリンタ等のデータ処理装置によりデータを処理するデータ処理方法及びデータ処理装置及びそのデータ処理方法を実現するためのプログラムコードを有するプログラム及びそのプログラムコードを保持する記憶媒体に関する。
従来、レーザービームプリンタ等のページプリンタは、印刷データをページメモリに一旦格納して、プリンタエンジンの印刷開始と共に、該プリンタエンジンのプロセススピードに合わせて、印刷データをプリンタエンジンに出力する仕組みになっている(例えば、特許文献1参照)。
特開平05−221039号公報
しかし、上記従来例では、ページプリンタは、その機構上、一旦印刷動作を開始すると、プリンタにおける記録用紙の搬送を途中で停止することは不可能なため、例えば、CPU(中央処理装置)等のメモリアクセスにより、ページメモリからプリンタエンジンへのデータ転送を行うDMA(Direct Memory Access)コントローラのバス占有率が低下して、プリンタエンジンへのデータ転送が、該プリンタエンジンのプロセススピードに間に合わなかった場合には、印刷途中の記録用紙が搬送されるといったオーバーランが発生するという問題があった。
また、上記オーバーランの発生を防止するために、印刷開始後は、ページメモリからプリンタエンジンへのデータ転送を行うDMAコントローラのバスアクセスの優先順位を固定的に最も高くして、CPU等の他のモジュールのバスアクセスを制限する方法もあるが、連続して次のページの印刷を行う場合等、次のページの印刷開始が遅れるといった問題もあった。
そこで、本発明は、上述のような従来技術の欠点に鑑みてなされたものであり、現在処理中のページのオーバーランの発生を防止すると共に、次のページの処理開始までの時間を短縮できるデータ処理方法、データ処理装置、プログラム及び記憶媒体を提供することを目的とする。
上記目的を達成するために、本発明は、データを第1の記憶手段に蓄積する第1の記憶工程と、前記第1の記憶手段からデータ出力部へ前記データをデータ転送手段により転送するデータ転送工程と、前記データ出力部において前記データ転送手段によるデータの転送速度とデータ処理部に出力すべきデータの転送速度との差を吸収するために第2の記憶手段にデータを蓄積する第2の記憶工程と、前記第2の記憶手段に蓄積されたデータの量をデータ量検出手段により検出するデータ量検出工程とを有し、前記データ転送手段は、前記データ量検出手段のデータ量検出結果に基づき、バスの使用権を獲得した際のデータの転送量を決定することを特徴とするデータ処理方法を提供する。
本発明によれば、現在処理中のページのオーバーランの発生を防止すると共に、次のページの処理開始までの時間を短縮できる。
本発明のデータ処理方法、データ処理装置、プログラム及び記憶媒体の実施形態について、図面を参照しながら説明する。
[第1の実施形態]
図1は、本発明の実施例に係るデータ処理装置である画像出力装置の構成を示すブロック図である。
図1は、本発明の実施例に係るデータ処理装置である画像出力装置の構成を示すブロック図である。
図1において、1はCPU(中央処理装置)で、本実施の形態に係る画像出力装置全体の制御を行うと共に、後述する外部I/F3より受信する印刷データから後述するプリンタエンジン6に出力可能な印刷データの生成を行うものである。2はROM(リードオンリーメモリ)で、CPU1のプログラムデータやフォントデータ等を格納するものである。3は外部I/F(インタフェース)で、イーサネット(登録商標)等のLAN(ローカルエリアネットワーク)インターフェースや、USBやIEEE1284等のI/Oインタフェースである。4はページメモリ(第1の記憶手段)で、CPU1が生成した印刷データを一旦蓄積するものである。この際、メモリ容量を節約するために、CPU1によって印刷データの圧縮処理を行い、その圧縮データをページメモリ4に蓄積することも可能である。5は画像出力部で、ページメモリ4からのデータ転送、印刷データの伸張処理、後述するプリンタエンジン6へのデータ転送の速度調整等を行うものである。6はレーザービームプリンタ等のプリンタエンジン(データ処理部)である。
次に、画像出力部5の内部構成を説明する。
画像出力部5は、DMA(Direct Memory Access)コントローラ(DMAC)500、デコーダ501、FIFO等のバッファメモリ502、エンジンI/F(インタフェース)503及びデータ蓄積量検出部504を有している。
500はDMAコントローラ(データ転送手段)は、ページメモリ4に蓄積された印刷データの読み出しを行うものである。デコーダ501は、DMAコントローラ500が転送する印刷データの伸張処理を行い、後述するバッファメモリ502に伸張したデータを蓄積するものである。バッファメモリ(第2の記憶手段)502は、プリンタエンジン6へのデータ転送の速度調整を行うものである。エンジンI/F503は、プリンタエンジン6からの水平同期信号/垂直同期信号に同期して、バッファメモリ502から印刷データを読み出し、プリンタエンジン6に出力するものである。データ蓄積量検出部(データ量検出手段)504は、バッファメモリ502に蓄積したデータ量を検出するものである。DMAコントローラ500は、データ蓄積量検出部504のデータ蓄積量検出結果に基づいて、バスの使用権を獲得した際に、ページメモリ4から転送する印刷データのデータ転送量を決定するように成っている。
図2は、DMAコントローラ500がバスの使用権を1回獲得した際の、データ転送量の設定例を示す図であり、同図において、左側縦軸はデータ転送量を、右側縦軸はバッファメモリ502に蓄積されたデータ量を、それぞれ示す。
データ蓄積量検出部504は、バッファメモリ502に蓄積されたデータ量の検出を行う。DMAコントローラ500は、データ蓄積量検出部504のデータ蓄積量検出結果に基づいて、バッファメモリ502に蓄積したデータ量が1/2以上ある場合は、データ転送量を1バーストに、また、1/4以上且つ1/2未満の場合は、データ転送量を2バーストに、また、1/4未満の場合は、データ転送量を4バーストに、それぞれ設定する仕組みに成っている。
次に、本実施の形態に係る画像出力装置におけるDMAコントローラ500のデータ転送の動作を、図3に基づき説明する。
図3は、本実施の形態に係る画像出力装置におけるDMAコントローラ500のデータ転送の動作の流れを示すフローチャートである。
図3において、まず、ステップS301で、DMA転送の要求が発生すると、DMAコントローラ500は、バスの使用権を要求する。つぎに、ステップS302で、バスの使用権を獲得したか否かを、獲得するまで判断する。そして、バスの使用権を獲得すると、以降の処理ステップにおいて、データ蓄積量検出部504によるバッファメモリ502に蓄積されたデータ量の検出結果に基づき、1回のバス使用権獲得の際に転送するデータ量を決定する。
即ち、本実施形態では、ステップS303で、バッファデータ量が1/2以上であるか否かを判断する。そして、バッファデータ量が1/2以上であると判断された場合は、ステップS304へ進んで、1バースト分のデータを転送した後、ステップS308へ進む。
また、前記ステップS303においてバッファデータ量が1/2以上でないと判断された場合は、ステップS305へ進んで、バッファデータ量が1/4以上1/2未満であるか否かを判断する。そして、バッファデータ量が1/4以上1/2未満であると判断された場合は、ステップS306へ進んで、2バースト分のデータを転送した後、ステップS308へ進む。
また、前記ステップS305においてバッファデータ量が1/4未満であると判断された場合は、ステップS307へ進んで、4バースト分のデータを転送した後、ステップS308へ進む。
ステップS308では、DMAコントローラ5100は所定のデータ量を転送すると、一旦バスの使用権を開放する。次に、ステップS309で、DMAコントローラ500は、設定された全データ量の転送が終了したか否かを判断する。そして、全データの転送が終了していないと判断された場合は、前記ステップS301へ戻り、再度バスの使用権を要求し、次のデータ転送を行う。また、前記ステップS309において全データの転送が終了したと判断された場合は、本処理操作を終了する。
図4は、CPU1とDMAコントローラ500がバスを使用する場合の動作を示すタイミングチャートである。同図において、BREQは、DMAコントローラ500がバス使用権の要求を表わすハイアクティブの信号である。また、BGNTは、DMAコントローラ500がバスの使用権を獲得したことを表わすハイアクティブの信号である。
図4(a)は、バッファメモリ502のデータ蓄積量が1/2以上の場合で、DMAコントローラ500が1回バスを獲得した際に、1バースト分のデータを転送する動作を示す。
図4(b)は、バッファメモリ502のデータ蓄積量が1/4以上1/2未満の場合で、DMAコントローラ500が1回バスを獲得した際に、2バースト分のデータを転送する動作を示す。
図4(c)は、バッファメモリ502のデータ蓄積量が1/4未満の場合で、DMAコントローラ500が1回バスを獲得した際に、4バースト分のデータを転送する動作を示す。
以上説明したように、本実施形態によれば、プリンタエンジン6のプロセス速度と、DMAコントローラ500によるデータ転送速度との差を吸収するためのバッファメモリ502のデータ蓄積量に応じて、DMAコントローラ500が1回バスを獲得した際に転送するデータ量が可変となり、バッファメモリ502のデータ蓄積量が低下した場合には、DMAコントローラ500のバスの占有率を高くして、オーバーランの危険性を回避し、バッファメモリ502のデータ蓄積量が多い場合には、DMAコントローラ500のバスの占有率を低くすることで、次のページの印刷データの生成処理を行うCPU1や他のモジュールが、印刷動作中であっても、バスを効率的に使用できるようになり、現在印刷中のページのオーバーランの発生を防止できると共に、次のページの印刷開始までの時間を短縮することができる。
[その他の実施形態]
以上が本発明の実施形態の説明であるが、本発明は、これら実施形態に限られるものではなく、特許請求の範囲で示した機能、または実施形態の構成が持つ機能を達成できる構成であれば、どのようなものであっても適用可能である。
以上が本発明の実施形態の説明であるが、本発明は、これら実施形態に限られるものではなく、特許請求の範囲で示した機能、または実施形態の構成が持つ機能を達成できる構成であれば、どのようなものであっても適用可能である。
また、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記憶した記憶媒体を、システム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)が記憶媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることは言うまでもない。この場合、記憶媒体から読み出されたプログラムコード自体が本発明の新規な機能を実現することになり、そのプログラムコードを記憶した記憶媒体及びプログラムは本発明を構成することになる。
また、プログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、CD−R、磁気テープ、不揮発性のメモリカード、ROM等を用いることができる。
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているOS(オペレーティングシステム)等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
更に、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
1 CPU
2 ROM
3 外部I/F(インタフェース)
4 ページメモリ(第1の記憶手段)
5 画像出力部
6 プリンタエンジン(データ処理部)
500 DMAコントローラ(DMAC:データ転送手段)
501 デコーダ
502 バッファメモリ(第2の記憶手段)
503 エンジンI/F(インタフェース)
504 データ蓄積量検出部(データ量検出手段)
2 ROM
3 外部I/F(インタフェース)
4 ページメモリ(第1の記憶手段)
5 画像出力部
6 プリンタエンジン(データ処理部)
500 DMAコントローラ(DMAC:データ転送手段)
501 デコーダ
502 バッファメモリ(第2の記憶手段)
503 エンジンI/F(インタフェース)
504 データ蓄積量検出部(データ量検出手段)
Claims (12)
- データを第1の記憶手段に蓄積する第1の記憶工程と、
前記第1の記憶手段からデータ出力部へ前記データをデータ転送手段により転送するデータ転送工程と、
前記データ出力部において前記データ転送手段によるデータの転送速度とデータ処理部に出力すべきデータの転送速度との差を吸収するために第2の記憶手段にデータを蓄積する第2の記憶工程と、
前記第2の記憶手段に蓄積されたデータの量をデータ量検出手段により検出するデータ量検出工程とを有し、
前記データ転送手段は、前記データ量検出手段のデータ量検出結果に基づき、バスの使用権を獲得した際のデータの転送量を決定することを特徴とするデータ処理方法。 - 前記第1の記憶手段は、ページメモリであることを特徴とする請求項1に記載のデータ処理方法。
- 前記第2の記憶手段は、バッファメモリであることを特徴とする請求項1に記載のデータ処理方法。
- 前記データ処理部は、プリンタエンジンであることを特徴とする請求項1に記載のデータ処理方法。
- 前記データ転送手段は、DMA(Direct Memory Access)コントローラであることを特徴とする請求項1に記載のデータ処理方法。
- データを蓄積する第1の記憶手段と、
前記第1の記憶手段からデータ出力部へ前記データを転送するデータ転送手段と、
前記データ出力部において前記データ転送手段によるデータの転送速度とデータ処理部に出力すべきデータの転送速度との差を吸収するためにデータを蓄積する第2の記憶手段と、
前記第2の記憶手段に蓄積されたデータの量を検出するデータ量検出工程とを有し、
前記データ転送手段は、前記データ量検出手段のデータ量検出結果に基づき、バスの使用権を獲得した際のデータの転送量を決定することを特徴とするデータ処理装置。 - 前記第1の記憶手段は、ページメモリであることを特徴とする請求項6に記載のデータ処理装置。
- 前記第2の記憶手段は、バッファメモリであることを特徴とする請求項6に記載のデータ処理装置。
- 前記データ処理部は、プリンタエンジンであることを特徴とする請求項6に記載のデータ処理装置。
- 前記データ転送手段は、DMA(Direct Memory Access)コントローラであることを特徴とする請求項6に記載のデータ処理装置。
- 請求項1乃至4に記載のデータ処理方法を実現するためのコンピュータ読み取り可能なプログラムコードを有することを特徴とするプログラム。
- 請求項1乃至4に記載のデータ処理方法を実現するためのコンピュータ読み取り可能なプログラムコードを保持することを特徴とする記憶媒体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003415687A JP2005174145A (ja) | 2003-12-12 | 2003-12-12 | データ処理方法、データ処理装置、プログラム及び記憶媒体 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003415687A JP2005174145A (ja) | 2003-12-12 | 2003-12-12 | データ処理方法、データ処理装置、プログラム及び記憶媒体 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2005174145A true JP2005174145A (ja) | 2005-06-30 |
Family
ID=34735099
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003415687A Withdrawn JP2005174145A (ja) | 2003-12-12 | 2003-12-12 | データ処理方法、データ処理装置、プログラム及び記憶媒体 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2005174145A (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009099065A (ja) * | 2007-10-18 | 2009-05-07 | Canon Inc | 記録装置及びデータ転送方法 |
JP2012011603A (ja) * | 2010-06-29 | 2012-01-19 | Canon Inc | 情報処理装置、画像出力装置、情報処理方法およびプログラム |
JP2014012409A (ja) * | 2013-08-19 | 2014-01-23 | Kyocera Document Solutions Inc | 画像形成システムおよび省電力印刷方法 |
-
2003
- 2003-12-12 JP JP2003415687A patent/JP2005174145A/ja not_active Withdrawn
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009099065A (ja) * | 2007-10-18 | 2009-05-07 | Canon Inc | 記録装置及びデータ転送方法 |
JP2012011603A (ja) * | 2010-06-29 | 2012-01-19 | Canon Inc | 情報処理装置、画像出力装置、情報処理方法およびプログラム |
US8786891B2 (en) | 2010-06-29 | 2014-07-22 | Canon Kabushiki Kaisha | Apparatus, method, and storage medium for transferring data to a buffer |
JP2014012409A (ja) * | 2013-08-19 | 2014-01-23 | Kyocera Document Solutions Inc | 画像形成システムおよび省電力印刷方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6483604B1 (en) | Disk-based image storage system and method with prioritized loading and retrieval operations | |
JP2005174145A (ja) | データ処理方法、データ処理装置、プログラム及び記憶媒体 | |
JP2019220787A (ja) | 制御装置、画像形成装置、制御方法及び制御プログラム | |
JP2003231332A (ja) | プリンタ | |
JP4211375B2 (ja) | データ転送制御方法、データ転送回路装置およびこれを備えた印刷装置 | |
JPH07178972A (ja) | 画像記録装置及び方法 | |
JP2006018642A (ja) | Dma転送制御装置 | |
JP2007323662A (ja) | データ転送方法 | |
JP2009006570A (ja) | 印刷装置 | |
JP4468754B2 (ja) | 画像形成装置及びメモリ制御方法 | |
JP2004345259A (ja) | 画像出力装置 | |
JP2005182505A (ja) | データ転送制御装置および画像形成装置 | |
JP2010098426A (ja) | 制御装置、画像形成装置、およびプログラム | |
JP4474990B2 (ja) | 印刷システム | |
JP2001171185A (ja) | 画像形成装置及び画像処理方法 | |
JPH08152978A (ja) | プリンタエンジンの制御装置 | |
JP3311868B2 (ja) | 印刷制御装置 | |
JP4442305B2 (ja) | 印刷装置及びデータ転送方法 | |
JP2000035938A (ja) | データ転送方法及び装置と画像処理装置 | |
JP4432473B2 (ja) | 印刷装置、プリンタコントローラおよび印字位置の移動制御方法 | |
JP2005128931A (ja) | Dma転送装置 | |
JP4433873B2 (ja) | 印刷装置及びデータ転送方法 | |
JP2004246828A (ja) | Dma制御装置及び画像形成装置 | |
JP2007213512A (ja) | 印刷装置、プリンタコントローラ | |
JP2006014211A (ja) | ネットワーク制御装置、画像処理装置、及び画像形成装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20060418 |
|
A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20070306 |