JP5097788B2 - データ処理装置およびデータ処理プログラム - Google Patents

データ処理装置およびデータ処理プログラム Download PDF

Info

Publication number
JP5097788B2
JP5097788B2 JP2010058496A JP2010058496A JP5097788B2 JP 5097788 B2 JP5097788 B2 JP 5097788B2 JP 2010058496 A JP2010058496 A JP 2010058496A JP 2010058496 A JP2010058496 A JP 2010058496A JP 5097788 B2 JP5097788 B2 JP 5097788B2
Authority
JP
Japan
Prior art keywords
data
thread
storage
read
series
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.)
Expired - Fee Related
Application number
JP2010058496A
Other languages
English (en)
Other versions
JP2011193297A (ja
Inventor
博幸 原
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Kyocera Document Solutions Inc
Original Assignee
Kyocera Document Solutions Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Kyocera Document Solutions Inc filed Critical Kyocera Document Solutions Inc
Priority to JP2010058496A priority Critical patent/JP5097788B2/ja
Priority to CN201010611904.XA priority patent/CN102193882B/zh
Priority to US13/048,296 priority patent/US8661209B2/en
Publication of JP2011193297A publication Critical patent/JP2011193297A/ja
Application granted granted Critical
Publication of JP5097788B2 publication Critical patent/JP5097788B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Storing Facsimile Image Data (AREA)

Description

本発明は、データ処理装置およびデータ処理プログラムに関するものである。
一般的に、コピー機、複合機などの画像形成装置は、各種画像処理を行うデータ処理装置を内蔵している。そのようなデータ処理装置は、画像データをバッファリングする際に、書込側プログラム(例えばある画像処理プログラム)により、1ページ分の画像データを、ハードディスクドライブ(HDD)などのストレージ内のファイルに記憶した後、そのファイルのファイル識別子を読出側プログラム(例えば後段の画像処理プログラム)へ通知する。その読出側プログラムが、ストレージのそのファイルからその画像データを読み出す。
その他、HDDにデータを書き込む際に、バッファーとしてFIFO(First-In First-Out)を設け、1つのスレッドで、そのFIFOにデータを書き込み、別のスレッドで、そのFIFOからHDDへデータを書き込む技術がある(例えば特許文献1参照)。
特開2007−179496号公報
上述のように、通常、所定単位(上述の場合、ページ)のデータがストレージへ記憶された後に、そのデータを読み出すため、データ書込とデータ読出が逐次的に行われることになる。このため、所定単位のデータのデータ書込が完了する前は、そのデータを読み出すことができず、バッファリング後の処理に遅延が生じてしまう。
本発明は、上記の問題に鑑みてなされたものであり、ストレージへのデータバッファリングに起因する処理の遅延を低減することができるデータ処理装置およびデータ処理プログラムを得ることを目的とする。
上記の課題を解決するために、本発明では以下のようにした。
本発明に係るデータ処理装置は、ストレージコントローラーと、前記ストレージコントローラーを制御するプロセッサーを含む。ストレージコントローラーは、所定単位のデータを構成する一連の複数のデータブロックをストレージに書き込み、ストレージからその一連の複数のデータブロックを読み出す。プロセッサーは、(i) 書込側プロセスおよび読出側プロセスを生成し、(ii) 書込側プロセスから読出側プロセスへ、ストレージにおける記憶領域の識別子を通知した後、(iii) 書込側プロセスを用いて、ストレージコントローラーに一連の複数のデータブロックを順番に書き込ませ、1つのデータブロックが書き込まれるたびに、書込側プロセスでイベントを発行し、(iv) 読出側プロセスで識別子を受領すると、その識別子に対応する記憶領域から一連の複数のデータブロックを、イベントを受領するたびに1つのデータブロックずつ読み出させる。
これにより、ストレージへのデータ書込前に、バッファー用の記憶領域の識別子が読出側プロセスへ渡され、書込側プロセスとは独立して読出側プロセスでデータ読出を開始できるため、データ書込途中でもデータ読出を行うことができる。したがって、ストレージへのデータバッファリング後の処理の遅延を低減することができる。
また、本発明に係るデータ処理装置は、上記のデータ処理装置に加え、次のようにしてもよい。この場合、プロセッサーは、読出側プロセスで、識別子を受領すると、読出側プロセスを用いて、その識別子に対応する記憶領域からの一連の複数のデータブロックの読み出しを待機させ、読出側プロセスで、待機状態でイベントを受領すると、ストレージコントローラーに記憶領域から1つのデータブロックを読み出させる
これにより、所定単位のデータを分割した複数のデータブロックの1つ1つが、書込完了後ただちに読み出し可能となる。このため、ストレージへのデータバッファリングに起因する後段処理の遅延を低減することができる。
また、本発明に係るデータ処理装置は、上記のデータ処理装置のいずれかに加え、次のようにしてもよい。この場合、プロセッサーは、書込側プロセスの第1スレッドで実行される書込側プログラムから、読出側プロセスの第2スレッドで実行される読出側プログラムへ、ストレージにおける記憶領域の識別子を通知した後に、書込側プロセスで一連の複数のデータブロックのそれぞれについてのデータ書込を順番にキューイングし、書込側プロセスの第3スレッドで実行されるストレージ書込プログラムで、キューイングされているデータ書込を実行し、読出側プログラムで識別子を受領すると、読出側プロセスで一連の複数のデータブロックのそれぞれについてのデータ読出を順番にキューイングし、読出側プロセスの第4スレッドで実行されるストレージ読出プログラムで、キューイングされているデータ読出を実行する。
これにより、ストレージへの書込を行うプログラムが別のスレッドで動作するため、非同期でのデータ書込となり、書込側プログラムがデータ書込の完了を待たずに別の処理を実行することができる。また、ストレージからの読出を行うプログラムが別のスレッドで動作するため、非同期でのデータ読出となり、読出側プログラムがデータ読出の完了を待たずに別の処理を実行することができる。
また、本発明に係るデータ処理装置は、上記のデータ処理装置のいずれかに加え、次のようにしてもよい。この場合、プロセッサーは、1つのデータブロックが書き込まれるたびに、第1スレッドでイベントを発行し、第4スレッドでイベントを受領すると、第4スレッドを用いて、ストレージコントローラーに記憶領域から1つのデータブロックを読み出させる。
また、本発明に係るデータ処理装置は、所定単位のデータを構成する一連の複数のデータブロックをストレージに書き込み、ストレージからその一連の複数のデータブロックを読み出すストレージコントローラーと、ストレージコントローラーを制御するプロセッサーを備える。プロセッサーは、書込側プロセスおよび読出側プロセスを生成し、書込側プロセスで第1スレッドおよび第3スレッドを生成し、読出側プロセスで第2スレッドおよび第4スレッドを生成する。そして、プロセッサーは、ストレージにおける記憶領域の識別子を第1スレッドから第2スレッドへ通知した後、第1スレッドで、一連の複数のデータブロックのそれぞれについてのデータ書込要求を順番にキューイングし、1つのデータブロックのデータ書込要求をキューイングするたびにイベントを発行し、第3スレッドを用いて、キューイングされたデータ書込要求の順番で、ストレージコントローラーに一連の複数のデータブロックを書き込ませ、第2スレッドで、識別子を受領すると、一連の複数のデータブロックのそれぞれについてのデータ読出要求を順番にキューイングし、第4スレッドを用いて、キューイングされたデータ読出要求の順番で、ストレージコントローラーに一連の複数のデータブロックを、イベントを受領するたびに1つのデータブロックずつ読み出させる
また、本発明に係るデータ処理装置は、上記のデータ処理装置のいずれかに加え、次のようにしてもよい。この場合、プロセッサーは、第3スレッドでデータブロックをメモリーに記憶し、ストレージへのデータブロックの書込が完了したときに、第3スレッドでデータブロックをメモリーから消去し、キューイングされた前記データ読出要求を順番に実行するとき、メモリーにデータブロックがあれば、第4スレッドでメモリーからそのデータブロックを読み出し、メモリーにデータブロックがなければ、第4スレッドを用いて、ストレージコントローラーにストレージからデータブロックを読み出させる。これにより、データがまだ削除されずにメモリーに残っていれば、ただちにメモリー上のデータブロックを使用できるため、ストレージからの読み出しより短時間でデータを読み出すことができ、データ読出時の遅延を低減することができる。
また、本発明に係るデータ処理装置は、上記のデータ処理装置のいずれかに加え、次のようにしてもよい。この場合、上述のメモリーは、書込側プロセスおよび読出側プロセスの共有メモリーであり、書込側プロセスで生成されるデータ書込と、読出側プロセスで生成されるデータ読出とは、データ読出かデータ書込かを識別可能な状態で同一のキューに登録され、キューは、同時に1つのプロセスからしかアクセスできないように排他制御されている。
これにより、1つのキューを排他制御すればよく、キューイングのためのリソース(セマフォなど)が少なくても済む。
また、本発明に係るデータ処理装置は、上記のデータ処理装置のいずれかに加え、次のようにしてもよい。この場合、上述の一連の複数のデータブロックは、ストレージにおけるファイルに書き込まれ、記憶領域の識別子は、ファイルの識別子である。
これにより、バッファー用の記憶領域をファイルシステムで管理することができ、各プロセスからのストレージ内のデータへのアクセスを簡単に行うことができる。
また、本発明に係るデータ処理装置は、上記のデータ処理装置のいずれかに加え、次のようにしてもよい。この場合、一連の複数のデータブロックは、1ページの画像データを構成する複数のバンドデータである。ストレージは、画像データに対する画像処理の前または後に画像データを一時的に記憶するバッファーである。
本発明に係るデータ処理プログラムは、プロセッサーに、書込側プロセスおよび読出側プロセスを生成するステップと、ストレージにおける記憶領域の識別子を書込側プロセスから読出側プロセスへ通知するステップと、通知ステップの後、書込側プロセスを用いて、前記ストレージコントローラーに一連の複数のデータブロックを順番に書き込ませ、1つのデータブロックが書き込まれるたびに、書込側プロセスでイベントを発行するステップと、読出側プロセスで識別子を受領すると、読出側プロセスを用いて、ストレージコントローラーにその識別子に対応する記憶領域から一連の複数のデータブロックを、イベントを受領するたびに1つのデータブロックずつ読み出させるステップとを実行させる。
これにより、ストレージへのデータ書込前に、バッファー用の記憶領域の識別子が読出側プロセスへ渡され、書込側プロセスとは独立して読出側プロセスでデータ読出を開始できるため、データ書込途中でもデータ読出を行うことができる。したがって、ストレージへのデータバッファリングに起因する後段処理の遅延を低減することができる。
本発明によれば、データ処理装置において、ストレージへのデータバッファリングに起因する後段処理の遅延を低減することができる。
図1は、本発明の実施の形態に係るデータ処理装置の構成を示すブロック図である。 図2は、図1におけるデータ処理回路で取り扱うデータの構造を示す図である。 図3は、実施の形態1におけるメインコントローラーを説明するブロック図である。 図4は、実施の形態1におけるメインコントローラーの動作を説明するフローチャートである。 図5は、実施の形態2におけるメインコントローラーを説明するブロック図である。 図6は、実施の形態2におけるメインコントローラーの書込側プロセスの動作を説明するフローチャートである。 図7は、実施の形態2におけるメインコントローラーの読出側プロセスの動作を説明するフローチャートである。 図8は、図5におけるキューシステム内の共有メモリー領域を示す図である。 図9は、実施の形態3におけるメインコントローラーの書込側プロセスの動作を説明するフローチャートである。 図10は、実施の形態3におけるメインコントローラーの読出側プロセスの動作を説明するフローチャートである。 図11は、実施の形態3におけるRAMからのバンドデータの読出について説明する図である。
以下、図に基づいて本発明の実施の形態を説明する。
実施の形態1.
図1は、本発明の実施の形態に係るデータ処理装置の構成を示すブロック図である。図1に示すデータ処理装置は、データ処理回路1、メインコントローラー2、RAM(Random Access Memory)3、ハードディスクドライブ(HDD)4、スキャナー5、印刷エンジン制御回路6、記憶装置7、用紙に印刷を行う印刷エンジン(図示せず)などを有する。
データ処理回路1は、スキャナー5などから画像データを、バンド単位またはページ単位で処理し、HDD4または印刷エンジン制御回路6へ出力する装置である。
メインコントローラー2は、データ処理回路1内の各部へ指令を供給する装置である。メインコントローラー2は、バスインタフェース回路11およびバス12を介してデータ処理回路1内の各部へ指令を供給する。メインコントローラー2は、CPU(Central Processing Unit)などのプロセッサーであり、記憶装置7に記憶されているデータ処理プログラム8に従って指令を出力する。
RAM3は、データ処理回路1による処理においてバンドデータなどを一時的に記憶するためのメモリーである。RAM3としては、例えば、1または複数のDRAM(Dynamic RAM)が使用される。
HDD4は、1ページの画像データを構成する一連の複数のバンドデータを一時的に記憶するためのストレージデバイスである。
スキャナー5は、原稿の画像を光学的に読み取り、その画像読み取りにより得られる画像データを出力する装置である。
印刷エンジン制御回路6は、印刷エンジンへ印刷画像データを供給するとともに、印刷エンジンを制御して印刷を実行させる回路である。
記憶装置7は、フラッシュメモリーなどの不揮発性の記憶装置であり、メインコントローラー2の使用する各種プログラムやデータを記憶する。ここでは、データ処理プログラム8が記憶装置7に記憶されている。
ここで、データ処理回路1の構成について説明する。
データ処理回路1は、バスインタフェース回路11、バス12、メモリーインタフェース13、HDDコントローラー14、データ取得回路15、画像処理回路16、ラスタ処理回路17、ハーフトーン処理回路18、およびデータ出力回路19を有する。なお、データ処理回路1は、ASIC(Application Specific Integrated Circuit)として実現される。
バスインタフェース回路11は、メインコントローラー2をバス12に接続する回路である。
メモリーインタフェース13は、RAM3とバス12との間のデータおよび指令の送受を行う回路である。
HDDコントローラー14は、メインコントローラー2からの指令に応じて、HDD4に対してデータの読み書きを行う回路である。
データ取得回路15は、メインコントローラー2からの指令に応じて、スキャナー5から画像データをバンドデータとして順番に取得し、RAM3またはHDD4に記憶する回路である。データ取得回路15は、DMA(Direct Memory Access)コントローラーを有する。例えば、バンドデータは、128ライン分のデータであって、1ページにつき58バンド分のバンドデータがある。
図2は、このデータ処理回路1で取り扱うデータの構造を示す図である。1つのドキュメントデータが、1または複数のページデータで構成される。ページデータは、所定数のバンドデータで構成される。ドキュメントの構造は、ノードのリストで表現され、ドキュメントのノードデータは、ページのノードデータへのリンクを含み、ページのノードデータは、バンドのノードデータへのリンクを含む。バンドのノードデータは、ページ内でのバンドの識別情報、バンドデータの状態などを含む。したがって、これらのリンクにより、ドキュメント内のあるページのあるバンドのデータを特定可能である。
画像処理回路16は、メインコントローラー2からの指令に応じて、画像データのバンドデータをRAM3またはHDD4から読み出し、それらのバンドデータに対して所定の画像処理(画像拡大、画像縮小、色変換など)を実行し、処理後のバンドデータをRAM3またはHDD4に記憶する回路である。画像処理回路16は、DMAコントローラーを有する。
ラスタ処理回路17は、画像データのバンドデータをRAM3またはHDD4から読み出し、それらのバンドデータに対してラスタライズを実行し、ラスタデータを生成する回路である。ラスタデータは、バンドごとに、HDD4に記憶され、ハーフトーン処理実行時にRAM3に読み出される。
ハーフトーン処理回路18は、バンドごとにラスタデータをRAM3から読み出し、ハーフトーン処理を実行し、ハーフトーン処理後のデータをRAM3に記憶する回路である。
データ出力回路19は、ハーフトーン処理後のデータをRAM3から読み出し印刷エンジン制御回路6へ供給する回路である。
データ処理回路1では、スキャナー5から取得された画像データに対して、回転、拡大/縮小などの画像処理が必要に応じて施される。その後、ハーフトーニングで印刷画像データが生成され、印刷エンジン制御回路6へ出力される。これらのデータ処理の途中で、バンド単位でのデータバッファリングにはRAM3が使用され、ページ単位でのデータバッファリングにはHDD4が使用される。
次に、上記データ処理装置による、HDD4へのデータ書込およびデータ読出の動作について説明する。
図3は、実施の形態1におけるメインコントローラー2の動作を説明するブロック図である。図4は、実施の形態1におけるメインコントローラー2の動作を説明するフローチャートである。
メインコントローラー2では、マルチプロセスおよびマルチスレッド対応のオペレーティングシステムが稼働している。メインコントローラー2は、データ処理プログラム8を実行し、まず、書込側プロセス21および読出側プロセス22を生成する。メインコントローラー2は、書込側プロセス21および読出側プロセス22を使用して、HDD4にデータをバッファリングするアプリケーション23を実行する。アプリケーション23のうち、書込側プログラム41は、書込側プロセス21内の書込側スレッド31で実行される。メインコントローラー2は、書込側プログラム41を実行することにより、HDDコントローラー14にHDD4へバンドデータを書き込ませることが可能になる。一方、アプリケーション23のうち、読出側プログラム51は、プロセス22内の読出側スレッド32で実行される。メインコントローラー2は、読出側プログラム51の実行により、HDDコントローラーにHDD4からバンドデータを読み出させることが可能になる。
メインコントローラー2は、書込側スレッド31で書込側プログラム41を実行することにより、バンドデータの書込先となるファイルのファイル識別子を、読出側プロセス22の読出側プログラム51に通知する(ステップS1)。ファイル識別子は、例えばファイル名とされる。メインコントローラー2は、書込側プログラム41に従い、API42でファイルシステム61の共有ライブラリーを呼び出し、そのファイル識別子のファイルをオープンし、ファイルハンドルを生成する(ステップS2)。
メインコントローラー2は、ファイルオープン後、書込側スレッド31で書込側プログラム41により、ファイルシステム61のAPI42を呼び出し、バンドデータをHDD4内のファイルに書き込むようHDDコントローラー14を制御する(ステップS3)。ここで、メインコントローラー2は、バンドデータを、DMA転送でRAM3から読み出す。HDDコントローラー14は、RAM3から読み出されたバンドデータをHDD4へ書き込む。1つのバンドデータのデータ書込が完了すると、メインコントローラー2は、API42により、イベントを発行する(ステップS4)。メインコントローラー2は、書込側スレッド31で書込側プログラム41に従い、書き込みが完了したバンドデータをRAM3から消去する(ステップS5)。
このようにして、1ページ分の複数のバンドデータが順番に書き込まれる。そして、1ページ分のすべてのバンドデータの書込が完了すると(ステップS6)、メインコントローラー2は、書込側プログラム41に従い、API42を用いて、ファイルシステム61の共有ライブラリーを呼び出し、ファイル識別子に対応するファイルをクローズする(ステップS7)。
一方、メインコントローラー2は、読出側スレッド32で読出側プログラム51を実行する。ここで、読出側プログラム51は、書込側とは非同期で動作している。メインコントローラー2は、読出側スレッド32で読出側プログラム51に従い、書込側スレッド31からファイル識別子を受領すると(ステップS11)、ファイル識別子に対応するファイルをオープンし、ファイルハンドルを生成する(ステップS12)。
メインコントローラー2は、ファイルオープン後、読出側スレッド32で読出側プログラム51に従い、イベントを受領するまで待機する(ステップS13)。メインコントローラー2は、書込側からのイベントを受領すると、読出側スレッド32で読出側プログラムコード51に従い、ファイルシステム61のAPI52を呼び出し、1つのバンドデータをHDD4内のファイルから読み出すようHDDコントローラー14を制御する(ステップS14)。ここで、HDDコントローラー14は、バンドデータを、HDD4から読み出す。メインコントローラー2は、HDD4から読み出されたバンドデータを、DMA転送でRAM3へ書き込む。
このようにして、書込側からのイベントにつき1つずつ、バンドデータが順番に読み出される。そして、1ページ分のすべてのバンドデータの読出が完了すると(ステップS15)、メインコントローラ2は、読出側スレッド32で読出側プログラム51に従い、フAPI52を用いてファイルシステム61の共有ライブラリーを呼び出し、ファイル識別子に対応するファイルをクローズする(ステップS16)。ここで、HDDコントローラー14は、クローズされたファイルをHDD4から消去する。
以上のように、上記実施の形態1によれば、メインコントローラー2は、(i) 書込側プロセスおよび読出側プロセスを生成し、(ii)書込側プロセス21から読出側プロセス22へ、HDD4におけるファイルのファイル識別子を通知した後に、(iii) 書込側プロセス21を用いて、HDDコントローラー14に一連の複数のバンドデータを順番にHDD4へ書き込ませ、(iv) 読出側プロセス22でファイル識別子を受領すると、読出側プロセス22を用いて、HDDコントローラー14に、そのファイル識別子に対応するファイルから一連の複数のバンドデータを読み出させる。
これにより、HDD4へのデータ書込前に、バッファー用の記憶領域(つまり、ファイル)の識別子(つまりファイル識別子)が読出側プロセス22へ渡され、書込側プロセス21とは独立して読出側プロセス22でデータ読み出しを開始できるため、データ書込途中でもデータ読出を行うことができる。したがって、ストレージ(HDD4)へのデータバッファリングに起因する後段処理の遅延を低減することができる。
実施の形態2.
本発明の実施の形態2では、メインコントローラー2は、アプリケーション23の動作する書込側スレッドおよび読出側スレッドとは別に、ファイルへバンドデータをデータ書き込む共有ライブラリーのプログラが動作するスレッド、およびファイルからバンドデータを読み出す共有ライブラリーのプログラムが動作するスレッドを生成する。これにより、データ処理装置は、アプリケーション23の処理とは非同期にバンドデータの書込および読出処理を実行する。
なお、実施の形態2に係るデータ処理装置の基本的な構成は、実施の形態1(図1)と同様であるので、その説明を省略する。実施の形態2におけるメインコントローラー2の動作について以下に説明する。
図5は、実施の形態2におけるメインコントローラー2の動作を説明するブロック図である。図6は、実施の形態2におけるメインコントローラー2の書込側プロセス21の動作を説明するフローチャートである。図7は、実施の形態2におけるメインコントローラー2の読出側プロセス22の動作を説明するフローチャートである。
メインコントローラー2では、マルチプロセスおよびマルチスレッド対応のオペレーティングシステムが稼働している。メインコントローラー2は、データ処理プログラム8を実行し、まず、書込側プロセス21および読出側プロセス22を生成する。メインコントローラー2は、書込側プロセス21および読出側プロセス22を使用して、HDD4にデータをバッファリングするアプリケーション23を実行する。アプリケーション23のうち、書込側プログラム41は、書込側プロセス21内の書込側スレッド31aで実行される。メインコントローラー2は、書込側プログラム41を実行することにより、HDDコントローラー14にHDD4へバンドデータを書き込ませることが可能になる。一方、アプリケーション23のうち、読出側プログラム51は、プロセス22内の読出側スレッド32bで実行される。メインコントローラー2は、読出側プログラム51の実行により、HDDコントローラーにHDD4からバンドデータを読み出させることが可能になる。
そして、実施の形態2では、メインコントローラー2は、書込側プロセス21内でファイル書込スレッド31bを生成して、そのファイル書込スレッド31bで、ファイルへのデータ書込を行う共有ライブラリーのプログラム71を実行する。メインコントローラー2は、読出プロセス22内でファイル読出スレッド32bを生成して、そのファイル読出スレッド32bで、ファイルからのバンドデータの読出を行う共有ライブラリーのプログラム81を実行する。さらに、メインコントローラー2は、アプリケーション23で発生するデータ書込要求およびデータ読出要求をアクセス要求としてキューシステム91にキューイングし、ファイル書込プログラム71およびファイル読出プログラム81を実行し、キューシステム91にキューイングされているアクセス要求に基づいて、バンドデータの書込および読出を実行していく。これにより、データ処理装置は、アプリケーション23の処理とは非同期にバンドデータの書込および読出を実行する。
メインコントローラー2は、書込側スレッド31aで書込側プログラム41を実行することにより、バンドデータの書込先となるファイルのファイル識別子を、読出側プロセス22の読出側プログラム51に通知する(ステップS21)。ファイル識別子は、例えばファイル名とされる。メインコントローラー2は、書込側プログラム41に従い、API42でファイルシステム61の共有ライブラリーを呼び出し、そのファイル識別子のファイルをオープンし、ファイルハンドルを生成する(ステップS22)。
メインコントローラー2は、ファイルオープン後、書込側スレッド31aで書込側プログラム41に従い、ファイルシステム61のAPI42を呼び出し、ファイル識別子に対応するファイルへのバンドデータのデータ書込要求を順に、キューシステム91にキューイングする。メインコントローラー2は、データ書込要求に応じて、書込側プログラム41に従い、ファイル書込スレッド31bに対して各バンドデータの書込指令を供給する(ステップS23)。書込指令では、書込の対象となるバンドデータの識別情報(つまり、そのバンドデータを含むドキュメントの識別情報、そのバンドデータを含むページの識別情報、およびそのページ内でのバンドデータの識別情報)が指定される。メインコントローラー2は、全てのバンドデータのデータ書込要求をキューイングするまで、ステップS23の処理を繰り返す(ステップS24)。
図8は、図5におけるキューシステム91内の共有メモリー領域を示す図である。この共有メモリー領域は、RAM3上に割り当てられ、その物理アドレスが、書込側プロセス21および読出側プロセス22の論理アドレスにマッピングされ、各プロセスから共有メモリー領域へのアクセスが可能となる。キューシステム91において、この共有メモリー領域は、ドキュメントリスト領域、ページリスト領域、FDリスト領域、およびキュー領域を有する。
ドキュメントリスト領域には、API42またはAPI52により、書込対象または読出対象のバンドデータを含むドキュメントのノードデータが記憶される。ドキュメントのノードデータは、このドキュメントを構成するページのノードデータへのリンク情報を有する。
ページリスト領域には、API42またはAPI52により、書込対象または読出対象のバンドデータを含むページのノードデータが記憶される。ページのノードデータは、このページを構成するバンドのノードデータへのリンク情報、およびファイルディスクリプターへのリンク情報を有する。
バンドリスト領域には、API42またはAPI52により、書込対象または読出対象のバンドのノードデータが記憶される。バンドのノードデータは、このバンドの属するドキュメントおよびページのIDやシリアル番号を有し、さらに、ファイル内でのバンドデータの識別情報(シリアル番号など)を有する。
FDリスト領域には、API42またはAPI52により、ページごとに、そのページに対応するファイルのファイルディスクリプターが書き込まれる。
キュー領域には、API42またはAPI52により、バンドデータごとにアクセス要求が書き込まれる。アクセス要求は、アクセス種別(書き込みまたは読み出し)、および対象のバンドデータの識別情報を含む。したがって、1つのキューに、データ書込要求とデータ読出要求が混在する。
このキューシステム91へのアクセスは、セマフォにより排他制御され、書込側スレッド31a,ファイル書込スレッド31b,読出側スレッド32a,ファイル読出スレッド32bのうちの2つ以上から同時にアクセスできないようになっている。
一方、メインコントローラー2は、ファイル書込スレッド31bで、ファイル書込プログラム71に従い、キュー内のアクセス要求を検索する(ステップS31)。メインコントローラー2は、キュー内に、書込指令のあったバンドデータのデータ書込要求を発見すると(ステップS32)、そのデータ書込要求により指定されたバンドデータおよび書込先が、キューシステム91に書き込まれている構造データおよびファイルディスクリプターから特定する。メインコントローラー2は、ファイル書込スレッド31bでRAM3からDMA転送でそのバンドデータを読み出す。HDDコントローラー14は、読み出されたバンドデータを特定された書込先に書き込む(ステップS33)。
1つのバンドデータのデータ書込が完了すると、メインコントローラー2は、ファイル書込スレッド31bで、ファイル書込プログラム71に従い、そのバンドデータのデータ書込要求をキューから削除し(ステップS34)、API42へバンドデータのデータ書込完了通知を供給する(ステップS35)。
このように、キューイングされているデータ書込のアクセス要求は、アプリケーション23とは別のファイル書込スレッド31bのファイル書込プログラム71を実行することにより、非同期で処理されていく。
そして、API42へデータ書込完了通知が供給されると、メインコントローラー2はAPI42により、イベントを発行する(ステップS26)。メインコントローラー2は、書込側スレッド31aで書込側プログラム41に従い、そのデータ書込が完了したバンドデータをRAM3から消去する(ステップS27)。
そして、1ページ分のすべてのバンドデータの書込が完了すると(ステップS28)、メインコントローラー2は、書込側プログラム41に従い、API42を用いてファイルシステム61の共有ライブラリーを呼び出し、ファイル識別子に対応するファイルをクローズする(ステップS29)。
一方、メインコントローラー2は、読出側スレッド32aで読出側プログラム51を実行する。ここで、読出側プログラム51は、書込側とは非同期で動作している。メインコントローラー2は、読出側スレッド32aで読出側プログラム51に従い、書込側スレッド31aからファイル識別子を受領すると(ステップS41)、そのファイル識別子に対応するファイルをオープンし、ファイルハンドルを生成する(ステップS42)。
そして、メインコントローラー2は、、ファイルオープン後、読出側スレッド32aで読出側プログラム51に従い、ファイルシステム61のAPI52を呼び出し、ファイル識別子に対応するファイルからの各バンドデータのデータ読出要求を順に、キューシステム91にキューイングする。メインコントローラー2は、データ読出要求に応じて、読出側プログラム51に従い、、ファイル読出スレッド32bに対して各バンドデータの読出指令を供給する(ステップS43)。読出指令では、読出の対象となるバンドデータの識別情報(つまり、そのバンドデータを含むドキュメントの識別情報、そのバンドデータを含むページの識別情報、およびそのページ内でのバンドデータの識別情報)が指定される。メインコントローラー2は、全てのバンドデータのデータ読出要求をキューイングするまで、ステップS43の処理を繰り返す(ステップS44)。
一方、メインコントローラー2は、ファイル読出スレッド32bで、そのバンドデータの書込完了時のイベントを受領すると(ステップS51)、ファイル読出プログラム81に従い、キュー内のデータ読出要求を検索する(ステップS52)。メインコントローラー2は、キュー内に、読出指令のあったバンドデータのアクセス要求を発見すると(ステップS53)、ファイルシステム61のAPI52を呼び出して、バンドデータをHDD4内のファイルから読み出すようHDDコントローラー14を制御する(ステップS54)。このとき、そのデータ読出要求により指定されたバンドデータおよび読出元が、キューシステム91に書き込まれている構造データおよびファイルディスクリプターから特定される。HDDコントローラー14は、特定された読出元からそのバンドデータを読み出す。メインコントローラー2は、ファイル読出プログラムコード81に従い、読み出されたバンドデータをDMA転送でRAM3に書き込まれる。
1つのバンドデータのデータ読出が完了すると、メインコントローラー2は、ファイル読出スレッド32bで、ファイル読出プログラム81に従い、そのバンドデータのデータ読出要求をキューから削除し(ステップS55)、API52へバンドデータのデータ読出完了通知を供給する(ステップS56)。
このようにして、書込側からのイベントにつき1つずつ、バンドデータが順番に読み出される。そして、メインコントローラー2は、読出側スレッド32aで読出側プログラム51に従い、データ読出完了通知のたびに、1ページ分のすべてのバンドデータの読出が完了したか否かを判定する(ステップS46)。1ページ分のすべてのバンドデータの読出が完了すると、メインコントローラー2は、API52を用いてファイルシステム61の共有ライブラリーを呼び出し、ファイル識別子に対応するファイルをクローズする。(ステップS47)ここで、HDDコントローラー14は、クローズされたファイルをHDD4から消去する。
以上のように、上記実施の形態2によれば、メインコントローラー2は、(i)書込側プロセス21で書込側スレッド31aおよびファイル書込スレッド31bを生成し、(ii) 読出側プロセス22で読出側スレッド32aおよびファイル読出スレッド32bを生成し、(iii) 書込側スレッド31aから読出側スレッド32aへ、HDD4におけるファイルの識別子を通知した後に、書込側スレッド31aで一連の複数のバンドデータのそれぞれについてのデータ書込要求を順番にキューイングし、(iv) ファイル書込スレッド31bを用いて、キューイングされたデータ書込要求の順番で、HDDコントローラー14に一連の複数のバンドデータを書き込ませ、(v) 読出側スレッド32aで、ファイルのファイル識別子を受領すると、一連の複数のバンドデータのそれぞれについてのデータ読出要求を順番にキューイングし、(vi) ファイル読出スレッド32bを用いて、キューイングされたデータ読出要求の順番で、HDDコントローラー14に一連の複数のバンドデータを読み出させる。
これにより、HDD4への書込を行うプログラム71が別のスレッド31bで動作するため、非同期でのデータ書込となり、書込側プログラム41がデータ書込の完了を待たずに別の処理を実行することができる。また、HDD4からの読出を行うプログラム81が別のスレッド32bで動作するため、非同期でのデータ読出となり、読出側プログラム51がデータ読出の完了を待たずに別の処理を実行することができる。
実施の形態3.
本発明の実施の形態3では、書込側スレッド31aにおいて、バンドデータのデータ書込のキューイングが完了した時点でイベントを発行する。ファイル読出スレッド32bにおいて、RAM3上にバンドデータがあればRAM3からそのバンドデータを読み出し、RAM3上にバンドデータがなければHDD4のファイルからそのバンドデータを読み出す。
なお、実施の形態3に係るデータ処理装置の基本的な構成は、実施の形態1,2(図1)と同様であるので、その説明を省略する。実施の形態3におけるメインコントローラー2の動作は、実施の形態1,2のものと異なるので、その点について以下に説明する。実施の形態3における基本的なプログラム構成は、実施の形態2のもの(図5)と同様であるが、書込側スレッド31aとファイル読出スレッド32bによる動作が実施の形態2のもの(図5)とは異なる。
図9は、実施の形態3におけるメインコントローラー2の書込側プロセス21の動作を説明するフローチャートである。図10は、実施の形態3におけるメインコントローラー2の読出側プロセス22の動作を説明するフローチャートである。
図9に示すように実施の形態3では、メインコントローラー2は、書込側スレッド31aで、バンドデータの書込完了時ではなく、バンドデータのキューイング(ステップS23)が終了するたびに、イベントを発行する(ステップS61)。
そして、図10に示すように、メインコントローラー2は、ファイル読出スレッド32bで、キューにおいてアクセス要求を発見したときに、読出対象のバンドデータがRAM3上に残っているか否かを調べる(ステップS71)。その結果、読出対象のバンドデータがRAM3上に残っていれば、メインコントローラー2は、ファイル読出しスレッド32でファイル読出しプログラムに従い、バンドデータをRAM3から読み出す(ステップS72)。読出対象のバンドデータがRAM3上に残っていなければ、メインコントローラー2は、ファイル読出しスレッドでファイル読出しプログラムに従い、バンドデータをHDD4のファイルから読み出すようHDDコントローラーを制御する。このとき、HDDコントローラー14は、バンドデータをHDD4から読み出す(ステップS54)。
図11は、実施の形態3におけるRAM3からのバンドデータの読出について説明する図である。図11に示すように、バンドデータは、RAM3内の所定の共有メモリー領域に記憶され、この共有メモリー領域の物理アドレスは、各プロセス21,22の論理アドレスにマッピングされ、各プロセス21,22の各スレッド31a,31b,32a,32bから共有メモリー領域へのアクセスが可能となっている。
以上のように、上記実施の形態3によれば、メインコントローラー2は、(i) 書込側プロセス21で、1つのバンドデータをRAM3に記憶し、(ii) 書込側スレッド31aで1つのバンドデータのデータ書込み要求をキューイングするたびにイベントを発行し、(iv) HDD4へのバンドデータのデータ書込が完了したときに、読出側スレッド32aでそのバンドデータをRAM3から消去し、(v)キューイングされたデータ読出要求を順番に実行するとき、読出対象のバンドデータがRAM3にあれば、ファイル読出スレッド32bで、HDD4からバンドデータを読み出さずにRAM3からそのバンドデータを読み出し、(vi) RAM3にそのバンドデータがなければ、HDDコントローラー14にHDD4からそのバンドデータを読み出させる。
これにより、RAM3にバンドデータが残っていれば、ただちにRAM3上のバンドデータを使用できる。このため、HDD4からの読み出しより短時間でデータを読み出すことができ、データ読出時の遅延を低減することができる。
なお、上述の各実施の形態は、本発明の好適な例であるが、本発明は、これらに限定されるものではなく、本発明の要旨を逸脱しない範囲において、種々の変形、変更が可能である。
例えば、上記実施の形態3において、読出側スレッド32aでRAM3からバンドデータを読み出している最中に、書込側においてそのバンドデータの、HDD4への書込が完了した場合、メインコントローラー2は、書込側スレッド31aで、読出側スレッド32aでのバンドデータの読出が完了した後に、そのバンドデータをRAM3から削除してもよい。例えば、バンドデータの記憶領域へのアクセスを排他制御すれば、このような処理が実現可能である。
また、上記各実施の形態において、HDD4へデータを書き込み前に、データを圧縮し、HDD4からデータを読み出した後に、データを伸張するようにしてもよい。圧縮・伸張の方式としては、JPEG(Joint Photographic Experts Group)方式、RLE(Run Length Encoding)方式などが使用可能である。
また、上記各実施の形態において、書込側から読出側へ通知するファイル識別子には、ファイルハンドルを使用してもよい。
また、上記各実施の形態においては、ファイルシステム61を使用してHDD4に対するデータの読み書きを行っているが、ファイルシステム61はなくてもよい。その場合には、ファイル識別子の代わりに、1ページ分のバンドデータを記憶するHDD4上の記憶領域の識別情報(例えばアドレスとサイズなど)が使用される。
また、上記各実施の形態において、書込側プロセス21のアプリケーションと読出側プロセス22のアプリケーションとは、別々の独立したプログラムとしてもよい。
また、上記各実施の形態においては、ストレージとしてHDD4が使用されているが、SSD(Solid State Drive)などの半導体メモリーを使用した記憶装置を使用してもよい。
また、上記各実施の形態においては、書込側および読出側のプロセスは、それぞれ1つであるが、書込側および読出側のいずれも複数の同様のプロセスが生成されてもよい。その場合でも、実施の形態2,3におけるキューシステム91は1つで足りる。
また、上記各実施の形態においては、単一のメモリーコントローラー2で書込側および読出側の両方のプロセスを処理しているが、複数のプロセシングエレメントを有するプロセッサーで、書込側および読出側のプロセスを別々に処理するようにしてもよい。
また、上記各実施の形態においては、バンドデータに分割された画像データを処理しているが、本発明は、他の種別のデータを所定のサイズのブロックへ分割し、そのブロックごとに処理をする装置にも適用可能である。
本発明は、例えば、コピー機、複合機などの画像形成装置内の画像処理装置に適用可能である。
2 メインコントローラー(プロセッサーの一例)
3 RAM(メモリーの一例)
4 HDD(ストレージの一例)
8 データ処理プログラム
21 書込側プロセス
22 読出側プロセス
31a 書込側スレッド(第1スレッドの一例)
31b ファイル書込スレッド(第3スレッドの一例)
32a 読出側スレッド(第2スレッドの一例)
32b ファイル読出スレッド(第4スレッドの一例)
41 書込側プログラム
51 読出側プログラム
71 ファイル書込プログラム(ストレージ書込プログラムの一例)
81 ファイル読出プログラム(ストレージ読出プログラムの一例)

Claims (10)

  1. 所定単位のデータを構成する一連の複数のデータブロックをストレージに書き込み、前記ストレージからその一連の複数のデータブロックを読み出すストレージコントローラーと、
    前記ストレージコントローラーを制御するプロセッサーを備え、
    前記プロセッサーは、
    書込側プロセスおよび読出側プロセスを生成し、
    前記書込側プロセスから前記読出側プロセスへ、前記ストレージにおける記憶領域の識別子を通知した後、前記書込側プロセスを用いて、前記ストレージコントローラーに前記一連の複数のデータブロックを順番に書き込ませ、1つのデータブロックが書き込まれるたびに、前記書込側プロセスでイベントを発行し、
    前記読出側プロセスで前記識別子を受領すると、前記読出側プロセスを用いて前記ストレージコントローラーに、その識別子に対応する前記記憶領域から前記一連の複数のデータブロックを、前記イベントを受領するたびに1つのデータブロックずつ読み出させること、
    を特徴とするデータ処理装置。
  2. 前記プロセッサーは、
    記読出側プロセスで前記識別子を受領すると、前記読出側プロセスを用いて、前記ストレージコントローラーにその識別子に対応する前記記憶領域からの前記一連の複数のデータブロックの読み出しを待機させ、
    前記読出側プロセスで、前記待機状態で前記イベントを受領すると、前記ストレージコントローラーに前記記憶領域から1つのデータブロックを読み出させること、
    を特徴とする請求項1記載のデータ処理装置。
  3. 前記プロセッサーは、
    前記書込側プロセスで第1スレッドおよび第3スレッドを生成し、
    前記読出側プロセスで第2スレッドおよび第4スレッドを生成し、
    前記ストレージにおける記憶領域の識別子を前記第1スレッドから前記第2スレッドへ通知した後、前記第1スレッドで、前記一連の複数のデータブロックのそれぞれについてのデータ書込要求を順番にキューイングし、
    前記第3スレッドを用いて、キューイングされた前記データ書込要求の順番で、前記ストレージコントローラーに前記一連の複数のデータブロックを書き込ませ、
    前記第2スレッドで、前記識別子を受領すると、前記一連の複数のデータブロックのそれぞれについてのデータ読出要求を順番にキューイングし、
    前記第4スレッドを用いて、キューイングされた前記データ読出要求の順番で、前記ストレージコントローラーに前記一連の複数のデータブロックを読み出させること、
    を特徴とする請求項1記載のデータ処理装置。
  4. 前記プロセッサーは、
    1つのデータブロックが書き込まれるたびに、前記第1スレッドでイベントを発行し、
    前記第スレッドで前記イベントを受領すると、前記第4スレッドを用いて、前記ストレージコントローラーに前記記憶領域から1つのデータブロックを読み出させること、
    を特徴とする請求項3記載のデータ処理装置。
  5. 所定単位のデータを構成する一連の複数のデータブロックをストレージに書き込み、前記ストレージからその一連の複数のデータブロックを読み出すストレージコントローラーと、
    前記ストレージコントローラーを制御するプロセッサーを備え、
    前記プロセッサーは、
    書込側プロセスおよび読出側プロセスを生成し、
    前記書込側プロセスで第1スレッドおよび第3スレッドを生成し、
    前記読出側プロセスで第2スレッドおよび第4スレッドを生成し、
    前記ストレージにおける記憶領域の識別子を前記第1スレッドから前記第2スレッドへ通知した後、前記第1スレッドで、一連の複数のデータブロックのそれぞれについてのデータ書込要求を順番にキューイングし、1つのデータブロックの前記データ書込要求をキューイングするたびにイベントを発行し、
    前記第3スレッドを用いて、キューイングされた前記データ書込要求の順番で、前記ストレージコントローラーに前記一連の複数のデータブロックを書き込ませ、
    前記第2スレッドで、前記識別子を受領すると、前記一連の複数のデータブロックのそれぞれについてのデータ読出要求を順番にキューイングし、
    前記第4スレッドを用いて、キューイングされた前記データ読出要求の順番で、前記ストレージコントローラーに前記一連の複数のデータブロックを、前記イベントを受領するたびに1つのデータブロックずつ読み出させること、
    を特徴とするデータ処理装置。
  6. 前記プロセッサーは、
    前記第3スレッドで前記データブロックをメモリーに記憶し、
    記ストレージへの前記データブロックの書込が完了したときに、前記第3スレッドで前記データブロックをメモリーから消去し、
    前記キューイングされた前記データ読出要求を順番に実行するとき、前記メモリーに前記データブロックがあれば、前記第4スレッドで前記メモリーからそのデータブロックを読み出し、前記メモリーに前記データブロックがなければ、前記第4スレッドを用いて、前記ストレージコントローラーに前記ストレージから前記データブロックを読み出させること、
    を特徴とする請求項記載のデータ処理装置。
  7. 前記メモリーは、前記書込側プロセスおよび前記読出側プロセスの共有メモリーであり、
    前記書込側プロセスで生成される前記データ書込要求と、前記読出側プロセスで生成される前記データ読出要求とは、データ読出かデータ書込かを識別可能な状態で同一のキューに登録され、
    前記キューは、同時に1つのプロセスからしかアクセスできないように排他制御されていること、
    を特徴とする請求項3記載のデータ処理装置。
  8. 前記一連の複数のデータブロックは、前記ストレージにおけるファイルに書き込まれ、
    前記記憶領域の識別子は、前記ファイルの識別子であること、
    を特徴とする請求項1から請求項のうちのいずれか1項記載のデータ処理装置。
  9. 前記一連の複数のデータブロックは、1ページの画像データを構成する複数のバンドデータであり、
    前記ストレージは、前記画像データに対する画像処理の前または後に前記画像データを一時的に記憶するバッファーであること、
    を特徴とする請求項1から請求項のうちのいずれか1項記載のデータ処理装置。
  10. 所定単位のデータを構成する一連の複数のデータブロックをストレージに書き込み、前記ストレージからその一連の複数のデータブロックを読み出すためのデータ処理プログラムであって、
    データ処理装置のプロセッサーに
    書込側プロセスおよび読出側プロセスを生成するステップと、
    前記ストレージにおける記憶領域の識別子を前記書込側プロセスから前記読出側プロセスへ通知するステップと、
    前記通知ステップの後、前記書込側プロセスを用いて、前記ストレージコントローラーに前記一連の複数のデータブロックを順番に書き込ませ、1つのデータブロックが書き込まれるたびに、前記書込側プロセスでイベントを発行するステップと、
    前記読出側プロセスで前記識別子を受領すると、前記読出側プロセスを用いて、前記ストレージコントローラーにその識別子に対応する前記記憶領域から前記一連の複数のデータブロックを、前記イベントを受領するたびに1つのデータブロックずつ読み出させるステップと、
    を実行させることを特徴とするデータ処理プログラム。
JP2010058496A 2010-03-15 2010-03-15 データ処理装置およびデータ処理プログラム Expired - Fee Related JP5097788B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2010058496A JP5097788B2 (ja) 2010-03-15 2010-03-15 データ処理装置およびデータ処理プログラム
CN201010611904.XA CN102193882B (zh) 2010-03-15 2010-12-17 数据处理装置以及数据处理方法
US13/048,296 US8661209B2 (en) 2010-03-15 2011-03-15 Data processing apparatus, data processing method, and computer-readable recording medium for writing and reading data to and from a storage

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010058496A JP5097788B2 (ja) 2010-03-15 2010-03-15 データ処理装置およびデータ処理プログラム

Publications (2)

Publication Number Publication Date
JP2011193297A JP2011193297A (ja) 2011-09-29
JP5097788B2 true JP5097788B2 (ja) 2012-12-12

Family

ID=44797756

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010058496A Expired - Fee Related JP5097788B2 (ja) 2010-03-15 2010-03-15 データ処理装置およびデータ処理プログラム

Country Status (1)

Country Link
JP (1) JP5097788B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5298154B2 (ja) * 2011-03-30 2013-09-25 京セラドキュメントソリューションズ株式会社 データ処理装置およびデータ処理プログラム
JP5989616B2 (ja) * 2013-08-30 2016-09-07 京セラドキュメントソリューションズ株式会社 画像形成装置、及び画像形成方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1031616A (ja) * 1996-07-17 1998-02-03 Nec Corp プロセス間通信システム
JP2000339181A (ja) * 1999-05-28 2000-12-08 Oki Electric Ind Co Ltd プロセス間通信方法およびプロセス間通信装置

Also Published As

Publication number Publication date
JP2011193297A (ja) 2011-09-29

Similar Documents

Publication Publication Date Title
US8661209B2 (en) Data processing apparatus, data processing method, and computer-readable recording medium for writing and reading data to and from a storage
JP6748445B2 (ja) 画像形成装置、画像形成装置の制御方法、および、プログラム
JP5298154B2 (ja) データ処理装置およびデータ処理プログラム
JP5097788B2 (ja) データ処理装置およびデータ処理プログラム
US20180182059A1 (en) Information processing apparatus and communication control method having communication mode based on function
JP2017098918A (ja) 画像処理装置、画像処理装置の制御方法。
US10325189B2 (en) Image processing apparatus and image processing method that perform, in units of band areas, rasterization based on second intermediate data stored in a first memory area and compressed raster data stored in a second memory area
US10089561B2 (en) Generating a raster image region by rendering in parallel plural regions of smaller height and segmenting the generated raster image region into plural regions of smaller width
JP5232728B2 (ja) 画像形成装置
JP2011237972A (ja) データ処理装置およびデータ処理プログラム
US10121098B2 (en) Image forming apparatus having plurality of processing units for generating intermediate data, and method for controlling the image forming apparatus
US9558432B2 (en) Buffer management technology in image forming apparatus
US20160358052A1 (en) Information processing apparatus, information processing method, and storage medium
JP4378395B2 (ja) 画像処理装置、印刷装置、制御プログラム、記録媒体
JPH11331528A (ja) 画像処理装置
JP3912372B2 (ja) カラー画像処理装置
JP5705142B2 (ja) 画像読取装置
JP3214617B2 (ja) 多値画像プリンタ
JP2006205383A (ja) 画像形成装置及び制御プログラム
JP5705104B2 (ja) 画像読取装置
JP5246308B2 (ja) 画像処理装置およびプログラム
JP2002196903A (ja) 画像形成装置
JP2006130776A (ja) 画像処理装置および方法
JP2006014211A (ja) ネットワーク制御装置、画像処理装置、及び画像形成装置
JP2009005138A (ja) 画像処理装置及び画像出力システム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120222

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120530

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120612

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120802

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120828

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120924

R150 Certificate of patent or registration of utility model

Ref document number: 5097788

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150928

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees