JP2011237972A - Data processing device and data processing program - Google Patents
Data processing device and data processing program Download PDFInfo
- Publication number
- JP2011237972A JP2011237972A JP2010108119A JP2010108119A JP2011237972A JP 2011237972 A JP2011237972 A JP 2011237972A JP 2010108119 A JP2010108119 A JP 2010108119A JP 2010108119 A JP2010108119 A JP 2010108119A JP 2011237972 A JP2011237972 A JP 2011237972A
- Authority
- JP
- Japan
- Prior art keywords
- data
- thread
- band
- page
- read
- 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.)
- Pending
Links
Images
Landscapes
- Information Transfer Systems (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
Description
本発明は、データ処理装置およびデータ処理プログラムに関するものである。 The present invention relates to a data processing apparatus and a data processing program.
一般的に、コピー機、複合機などの画像形成装置は、各種画像処理を行うデータ処理装置を内蔵している。そのようなデータ処理装置は、画像データをバッファリングする際に、書込側プログラム(例えばある画像処理プログラム)により、1ページ分の画像データを、ハードディスクドライブ(HDD)などのストレージ内のファイルに記憶した後、そのファイルのファイル識別子を読出側プログラム(例えば後段の画像処理プログラム)へ通知する。その読出側プログラムが、ストレージのそのファイルからその画像データを読み出す。 Generally, an image forming apparatus such as a copying machine or a multifunction machine has a built-in data processing device that performs various types of image processing. Such a data processing device, when buffering image data, converts image data for one page into a file in a storage such as a hard disk drive (HDD) by a writing side program (for example, an image processing program). After the storage, the file identifier of the file is notified to a reading side program (for example, a subsequent image processing program). The reading side program reads the image data from the file in the storage.
その他、HDDにデータを書き込む際に、バッファーとしてFIFO(First-In First-Out)を設け、1つのスレッドで、そのFIFOにデータを書き込み、別のスレッドで、そのFIFOからHDDへデータを書き込む技術がある(例えば特許文献1参照)。 In addition, when writing data to the HDD, a FIFO (First-In First-Out) is provided as a buffer, and data is written to the FIFO by one thread, and data is written from the FIFO to the HDD by another thread. (See, for example, Patent Document 1).
上述のように、通常、所定単位(上述の場合、ページ)のデータがストレージへ記憶された後に、そのデータを読み出すため、データ書込とデータ読出が逐次的に行われることになる。このため、所定単位のデータのデータ書込が完了する前は、そのデータを読み出すことができず、バッファリング後の処理に遅延が生じてしまう。 As described above, normally, after data of a predetermined unit (in the above case, page) is stored in the storage, the data is read and read sequentially in order to read the data. For this reason, before the data writing of a predetermined unit of data is completed, the data cannot be read, and a delay occurs in the processing after buffering.
本発明は、上記の問題に鑑みてなされたものであり、ストレージへのデータバッファリングに起因する処理の遅延を低減することができるデータ処理装置およびデータ処理プログラムを得ることを目的とする。 The present invention has been made in view of the above problems, and an object of the present invention is to obtain a data processing device and a data processing program capable of reducing a processing delay caused by data buffering to a storage.
上記の課題を解決するために、本発明では以下のようにした。 In order to solve the above problems, the present invention is configured as follows.
本発明に係るデータ処理装置は、所定単位のデータを構成する一連の複数のデータブロックをストレージに書き込み、ストレージからその一連の複数のデータブロックを読み出すストレージコントローラーと、ストレージコントローラーを制御するプロセッサーを備える。そして、プロセッサーは、(i)書込側プロセスおよび読出側プロセスを生成し、(ii)書込側プロセスで第1スレッドおよび第3スレッドを生成し、(iii)読出側プロセスで第2スレッドおよび第4スレッドを生成し、(iv)ストレージにおける記憶領域の識別子を第1スレッドから第2スレッドへ通知した後、第1スレッドで、一連の複数のデータブロックのそれぞれについてのデータ書込要求を順番にキューイングし、(v)第3スレッドを用いて、キューイングされたデータ書込要求の順番で、ストレージコントローラーに一連の複数のデータブロックを書き込ませ、(vi)第2スレッドで、識別子を受領すると、一連の複数のデータブロックのそれぞれについてのデータ読出要求を順番にキューイングし、(vii)第4スレッドを用いて、キューイングされたデータ読出要求の順番で、ストレージコントローラーに一連の複数のデータブロックを読み出させる。 A data processing apparatus according to the present invention includes a storage controller that writes a series of data blocks constituting a predetermined unit of data to a storage, reads the series of data blocks from the storage, and a processor that controls the storage controller. . The processor then generates (i) a writer process and a reader process, (ii) a first thread and a third thread in the writer process, and (iii) a second thread and in the reader process After the fourth thread is generated and (iv) the storage area identifier in the storage is notified from the first thread to the second thread, the first thread sequentially issues the data write requests for each of the series of data blocks. (V) using the third thread, causing the storage controller to write a series of data blocks in the order of the queued data write request, and (vi) identifying the identifier with the second thread. Upon receipt, the data read requests for each of the series of data blocks are queued in order, and (vii) With threads, in the order of queuing data read request to read out a series of data blocks to the storage controller.
これにより、ストレージへのデータ書込前に、バッファー用の記憶領域の識別子が読出側プロセスへ渡され、書込側プロセスとは独立して読出側プロセスでデータ読出を開始できるため、データ書込途中でもデータ読出を行うことができる。したがって、ストレージへのデータバッファリング後の処理の遅延を低減することができる。さらに、ストレージへの書込を行うプログラムが別のスレッドで動作するため、非同期でのデータ書込となり、書込側プログラムがデータ書込の完了を待たずに別の処理を実行することができる。また、ストレージからの読出を行うプログラムが別のスレッドで動作するため、非同期でのデータ読出となり、読出側プログラムがデータ読出の完了を待たずに別の処理を実行することができる。 As a result, before the data is written to the storage, the identifier of the storage area for the buffer is passed to the reading side process, and data reading can be started by the reading side process independently of the writing side process. Data can be read even in the middle. Therefore, the processing delay after data buffering to the storage can be reduced. Further, since the program for writing to the storage operates in another thread, the data writing is performed asynchronously, and the writing side program can execute another process without waiting for the data writing to be completed. . Further, since the program for reading from the storage operates in another thread, the data reading is performed asynchronously, and the reading side program can execute another process without waiting for the completion of data reading.
また、本発明に係るデータ処理装置は、上記のデータ処理装置に加え、次のようにしてもよい。この場合、データ処理装置は、一連の複数のデータブロックを記憶するメモリーを備える。また、上述の一連の複数のデータブロックは、1つのドキュメント内のいずれかの1ページの画像データを構成する複数のバンドデータである。そして、メモリーは、ドキュメント内の各ページを示すページノードデータを記憶する。さらに、複数のバンドデータは、ドキュメント内の各ページに対して設けられたリンクリストであり、あるページのページノードデータは、そのページについての複数のバンドデータの先頭へのリンクを有する。 In addition to the data processing apparatus described above, the data processing apparatus according to the present invention may be configured as follows. In this case, the data processing apparatus includes a memory that stores a series of a plurality of data blocks. The series of data blocks described above is a plurality of band data constituting one page of image data in one document. The memory stores page node data indicating each page in the document. Further, the plurality of band data is a link list provided for each page in the document, and the page node data of a certain page has a link to the head of the plurality of band data for the page.
これにより、複数ページのバンドデータが、ページごとに、別々のリンクリストとされるため、複数ページのバンドデータから、処理対象のバンドデータを短時間で見つけ出すことができる。 Thereby, since the band data of a plurality of pages is made into a separate link list for each page, the band data to be processed can be found in a short time from the band data of the plurality of pages.
また、本発明に係るデータ処理装置は、上記のデータ処理装置のいずれかに加え、次のようにしてもよい。この場合、プロセッサーは、第3スレッドを用いて、ページノードデータで、複数のバンドデータの先頭位置を特定し、リンクリストを辿って、複数のバンドデータをストレージコントローラーに書き込ませる。 The data processing apparatus according to the present invention may be as follows in addition to any of the data processing apparatuses described above. In this case, the processor uses the third thread to identify the start positions of the plurality of band data with the page node data, and traces the link list to write the plurality of band data to the storage controller.
これにより、複数ページのバンドデータから、書き込み対象のバンドデータを短時間で見つけ出すことができる。 Thereby, it is possible to find out the band data to be written from the band data of a plurality of pages in a short time.
また、本発明に係るデータ処理装置は、上記のデータ処理装置のいずれかに加え、次のようにしてもよい。この場合、プロセッサーは、メモリーに1ページ分の複数のバンドデータを記憶するときに複数のバンドデータの記憶領域を確保し、そのページの書き込みが完了すると記憶領域を解放し、メモリーの残量が不足している場合、他のページについての複数のバンドデータの記憶領域を解放したときに、複数のバンドデータの記憶領域を確保する。 The data processing apparatus according to the present invention may be as follows in addition to any of the data processing apparatuses described above. In this case, the processor secures a storage area for a plurality of band data when storing a plurality of band data for one page in the memory, and releases the storage area when the writing of the page is completed. If there is a shortage, when a plurality of band data storage areas for other pages are released, a plurality of band data storage areas are secured.
これにより、処理が完了したページのバンドデータの記憶領域がただちに解放され、後続のページのバンドデータの記憶領域として利用可能となる。 Thus, the band data storage area of the page for which processing has been completed is immediately released and can be used as the band data storage area of the subsequent page.
また、本発明に係るデータ処理装置は、上記のデータ処理装置のいずれかに加え、次のようにしてもよい。この場合、プロセッサーは、(viii)第3スレッドでデータブロックをメモリーに記憶し、(ix)第1スレッドでデータブロックのデータ書込要求をキューイングするたびにイベントを発行し、(x)ストレージへのデータブロックの書込が完了したときに、第3スレッドでデータブロックをメモリーから消去し、(xi)キューイングされたデータ読出要求を順番に実行するとき、メモリーにデータブロックがあれば、第4スレッドでメモリーからそのデータブロックを読み出し、メモリーにデータブロックがなければ、第4スレッドを用いて、ストレージコントローラーにストレージからデータブロックを読み出させ、(xii)所定のタイミングで、メモリーから読み出されたデータブロックについてのデータ書込要求をキューから削除する。 The data processing apparatus according to the present invention may be as follows in addition to any of the data processing apparatuses described above. In this case, the processor (viii) stores the data block in the memory in the third thread, (ix) issues an event each time a data write request for the data block is queued in the first thread, and (x) storage When the data block is completely written to the memory block, the third thread erases the data block from the memory, and (xi) when executing the queued data read request in sequence, if there is a data block in the memory, The fourth thread reads the data block from the memory, and if there is no data block in the memory, the fourth thread is used to cause the storage controller to read the data block from the storage and (xii) read from the memory at a predetermined timing. Queue data write requests for issued data blocks To remove et al.
これにより、メモリーからデータブロックが読み出されているのにも拘わらずキューに残存しているデータ書込要求に起因する処理遅延を回避することができる。 As a result, it is possible to avoid a processing delay due to a data write request remaining in the queue despite the data block being read from the memory.
また、本発明に係るデータ処理装置は、上記のデータ処理装置のいずれかに加え、次のようにしてもよい。この場合、プロセッサーは、ジョブ完了時に、メモリーから読み出されたデータブロックについてのデータ書込要求をキューから削除する。 The data processing apparatus according to the present invention may be as follows in addition to any of the data processing apparatuses described above. In this case, the processor deletes the data write request for the data block read from the memory from the queue when the job is completed.
また、本発明に係るデータ処理装置は、上記のデータ処理装置のいずれかに加え、次のようにしてもよい。この場合、上述の一連の複数のデータブロックは、ストレージにおけるファイルに書き込まれ、記憶領域の識別子は、ファイルの識別子である。 The data processing apparatus according to the present invention may be as follows in addition to any of the data processing apparatuses described above. In this case, the series of data blocks described above is written in a file in the storage, and the identifier of the storage area is the identifier of the file.
これにより、バッファー用の記憶領域をファイルシステムで管理することができ、各プロセスからのストレージ内のデータへのアクセスを簡単に行うことができる。 As a result, the buffer storage area can be managed by the file system, and the data in the storage from each process can be easily accessed.
本発明によれば、データ処理装置において、ストレージへのデータバッファリングに起因する後段処理の遅延を低減することができる。 According to the present invention, in the data processing apparatus, it is possible to reduce a delay in subsequent processing due to data buffering to the storage.
以下、図に基づいて本発明の実施の形態を説明する。 Hereinafter, embodiments of the present invention will be described with reference to the drawings.
実施の形態1.
図1は、本発明の実施の形態に係るデータ処理装置の構成を示すブロック図である。図1に示すデータ処理装置は、データ処理回路1、メインコントローラー2、RAM(Random Access Memory)3、ハードディスクドライブ(HDD)4、スキャナー5、印刷エンジン制御回路6、記憶装置7、用紙に印刷を行う印刷エンジン(図示せず)などを有する。
FIG. 1 is a block diagram showing a configuration of a data processing apparatus according to an embodiment of the present invention. The data processing apparatus shown in FIG. 1 includes a
データ処理回路1は、スキャナー5などから画像データを、バンド単位またはページ単位で処理し、HDD4または印刷エンジン制御回路6へ出力する装置である。
The
メインコントローラー2は、データ処理回路1内の各部へ指令を供給する装置である。メインコントローラー2は、バスインタフェース回路11およびバス12を介してデータ処理回路1内の各部へ指令を供給する。メインコントローラー2は、CPU(Central Processing Unit)などのプロセッサーであり、記憶装置7に記憶されているデータ処理プログラム8に従って指令を出力する。
The
RAM3は、データ処理回路1による処理においてバンドデータなどを一時的に記憶するためのメモリーである。RAM3としては、例えば、1または複数のDRAM(Dynamic RAM)が使用される。
The RAM 3 is a memory for temporarily storing band data and the like in the processing by the
HDD4は、1ページの画像データを構成する一連の複数のバンドデータを一時的に記憶するためのストレージデバイスである。
The
スキャナー5は、原稿の画像を光学的に読み取り、その画像読み取りにより得られる画像データを出力する装置である。
The
印刷エンジン制御回路6は、印刷エンジンへ印刷画像データを供給するとともに、印刷エンジンを制御して印刷を実行させる回路である。 The print engine control circuit 6 is a circuit that supplies print image data to the print engine and controls the print engine to execute printing.
記憶装置7は、フラッシュメモリーなどの不揮発性の記憶装置であり、メインコントローラー2の使用する各種プログラムやデータを記憶する。ここでは、データ処理プログラム8が記憶装置7に記憶されている。
The storage device 7 is a non-volatile storage device such as a flash memory, and stores various programs and data used by the
ここで、データ処理回路1の構成について説明する。
Here, the configuration of the
データ処理回路1は、バスインタフェース回路11、バス12、メモリーインタフェース13、HDDコントローラー14、データ取得回路15、画像処理回路16、ラスタ処理回路17、ハーフトーン処理回路18、およびデータ出力回路19を有する。なお、データ処理回路1は、ASIC(Application Specific Integrated Circuit)として実現される。
The
バスインタフェース回路11は、メインコントローラー2をバス12に接続する回路である。
The
メモリーインタフェース13は、RAM3とバス12との間のデータおよび指令の送受を行う回路である。
The
HDDコントローラー14は、メインコントローラー2からの指令に応じて、HDD4に対してデータの読み書きを行う回路である。
The
データ取得回路15は、メインコントローラー2からの指令に応じて、スキャナー5から画像データをバンドデータとして順番に取得し、RAM3またはHDD4に記憶する回路である。データ取得回路15は、DMA(Direct Memory Access)コントローラーを有する。例えば、バンドデータは、128ライン分のデータであって、1ページにつき58バンド分のバンドデータがある。
The
図2は、このデータ処理回路1で取り扱うデータの構成を示す図である。1つのドキュメントは、1または複数のページで構成される。ページは、所定数のバンドで構成される。1つのジョブにより1つのドキュメントについてのデータがメインコントローラー2に供給される。
FIG. 2 is a diagram showing a data structure handled by the
ドキュメントの構造は、ノードのリンクリストで表現される。1または複数のドキュメントが、ドキュメントノードデータのリンクリストで表現される。あるドキュメントのドキュメントノードデータに、そのドキュメントを構成する1または複数のページについてのページノードデータのリンクリストがブランチとして接続されている。さらに、あるページのページノードデータに、そのページを構成する複数のバンドについてのバンドデータのリンクリストがブランチとして接続されている。したがって、データ構造は、ドキュメントノードデータ、ページノードデータおよバンドデータによる3層構造となっている。 The document structure is represented by a linked list of nodes. One or more documents are represented by a linked list of document node data. A link list of page node data for one or a plurality of pages constituting the document is connected to the document node data of a document as a branch. Furthermore, a link list of band data for a plurality of bands constituting the page is connected to the page node data of a page as a branch. Therefore, the data structure is a three-layer structure including document node data, page node data, and band data.
図3は、データ処理回路1で取り扱うデータの例を示す図である。図3に示すように、このデータ構造は、ドキュメントリンクリスト、ページリンクリスト、およびバンドリンクリストの3層構造となっている。この例では、ドキュメントリンクリストには、3つのドキュメントノードデータが含まれている。ドキュメント#1のドキュメントノードデータには、ページリンクリストへのリンク情報が含まれており、そのページリンクリストには、2ページのページノードデータが含まれている。ドキュメント#2のドキュメントノードデータには、ページリンクリストへのリンク情報が含まれており、そのページリンクリストには、1ページのページノードデータが含まれている。ドキュメント#3のドキュメントノードデータには、ページリンクリストへのリンク情報が含まれており、そのページリンクリストには、3ページのページノードデータが含まれている。各ページノードデータには、バンドリンクリストへのリンク情報が含まれている。1ページ内のバンド数が一定であるため、バンドリンクリストのサイズは一定である。なお、ドキュメントノードデータは、ドキュメントの識別情報(識別番号など)と、後続のドキュメントノードデータとの連結のためのリンク情報と、ページリンクリストのリンク情報とを有する。ページノードデータは、ページの識別情報(識別番号など)と、後続のページノードデータとの連結のためのリンク情報と、バンドリンクリストのリンク情報とを有する。バンドリンクリストは、所定の数のバンドデータを有する。バンドデータは、1バンド分の画像データと、後続のバンドデータのリンク情報とを有する。
FIG. 3 is a diagram illustrating an example of data handled by the
したがって、ドキュメント、ページおよびバンドの番号から、上述のリンクを辿っていくことで、ドキュメント内のあるページのあるバンドのデータを特定し、読み出すことができる。 Therefore, by tracing the above-described link from the document, page, and band numbers, data of a certain band on a certain page in the document can be specified and read out.
画像処理回路16は、メインコントローラー2からの指令に応じて、画像データのバンドデータをRAM3またはHDD4から読み出し、それらのバンドデータに対して所定の画像処理(画像拡大、画像縮小、色変換など)を実行し、処理後のバンドデータをRAM3またはHDD4に記憶する回路である。画像処理回路16は、DMAコントローラーを有する。
The
ラスタ処理回路17は、画像データのバンドデータをRAM3またはHDD4から読み出し、それらのバンドデータに対してラスタライズを実行し、ラスタデータを生成する回路である。ラスタデータは、バンドごとに、HDD4に記憶され、ハーフトーン処理実行時にRAM3に読み出される。
The
ハーフトーン処理回路18は、バンドごとにラスタデータをRAM3から読み出し、ハーフトーン処理を実行し、ハーフトーン処理後のデータをRAM3に記憶する回路である。
The
データ出力回路19は、ハーフトーン処理後のデータをRAM3から読み出し印刷エンジン制御回路6へ供給する回路である。
The
データ処理回路1では、スキャナー5から取得された画像データに対して、回転、拡大/縮小などの画像処理が必要に応じて施される。その後、ハーフトーニングで印刷画像データが生成され、印刷エンジン制御回路6へ出力される。これらのデータ処理の途中で、バンド単位でのデータバッファリングにはRAM3が使用され、ページ単位でのデータバッファリングにはHDD4が使用される。
In the
次に、上記データ処理装置による、HDD4へのデータ書込およびデータ読出の動作について説明する。
Next, data writing and data reading operations to the
メインコントローラー2は、アプリケーション23の動作する書込側スレッドおよび読出側スレッドとは別に、ファイルへバンドデータをデータ書き込む共有ライブラリーのプログラが動作するスレッド、およびファイルからバンドデータを読み出す共有ライブラリーのプログラムが動作するスレッドを生成する。これにより、データ処理装置は、アプリケーション23の処理とは非同期にバンドデータの書込および読出処理を実行する。
The
図4は、実施の形態1におけるメインコントローラー2の動作を説明するブロック図である。図5は、実施の形態1におけるメインコントローラー2の書込側プロセス21の動作を説明するフローチャートである。図6は、実施の形態1におけるメインコントローラー2の読出側プロセス22の動作を説明するフローチャートである。
FIG. 4 is a block diagram for explaining the operation of the
メインコントローラー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コントローラー14にHDD4からバンドデータを読み出させることが可能になる。
In the
そして、メインコントローラー2は、書込側プロセス21内でファイル書込スレッド31bを生成して、そのファイル書込スレッド31bで、ファイルへのデータ書込を行う共有ライブラリーのプログラム71を実行する。メインコントローラー2は、読出プロセス22内でファイル読出スレッド32bを生成して、そのファイル読出スレッド32bで、ファイルからのバンドデータの読出を行う共有ライブラリーのプログラム81を実行する。さらに、メインコントローラー2は、アプリケーション23で発生するデータ書込要求およびデータ読出要求をアクセス要求としてキューシステム91にキューイングし、ファイル書込プログラム71およびファイル読出プログラム81を実行し、キューシステム91にキューイングされているアクセス要求に基づいて、バンドデータの書込および読出を実行していく。これにより、データ処理装置は、アプリケーション23の処理とは非同期にバンドデータの書込および読出を実行する。
Then, the
メインコントローラー2は、ドキュメントのデータを受け付けると、書込側スレッド31aによって、図3に示すような3層構造で、データをRAM3に記憶する。このとき、1つのドキュメントにつき、1つのドキュメントノードデータが、ドキュメントリンクリストに追加され、そのドキュメントに含まれるページの数と同数のページノードデータがページリンクリストに追加される。さらに、各ページについて、バンドリンクリストの記憶領域が新たに確保され、その記憶領域にバンドリンクリストが記憶される。メインコントローラー2は、RAM3に1ページ分の複数のバンドデータを記憶するときにそのページのページノードデータをページリンクリストに追加するとともに複数のバンドデータの記憶領域を確保し、そのページの書き込みが完了するとその記憶領域を解放し、そのページノードデータをページリンクリストから削除する。バンドデータの記憶領域を確保するときにRAM3の残量が不足している場合、メインコントローラー2は、他のページについてのバンドデータの記憶領域を解放するまで待ち、解放したときに、新たなページのバンドデータの記憶領域を確保する。
When the
メインコントローラー2は、書込側スレッド31aで書込側プログラム41を実行することにより、バンドデータの書込先となるファイルのファイル識別子を、読出側プロセス22の読出側プログラム51に通知する(ステップS21)。ファイル識別子は、例えばファイル名とされる。メインコントローラー2は、書込側プログラム41に従い、API42でファイルシステム61の共有ライブラリーを呼び出し、そのファイル識別子のファイルをオープンし、ファイルハンドルを生成する(ステップS22)。
The
メインコントローラー2は、ファイルオープン後、書込側スレッド31aで書込側プログラム41に従い、ファイルシステム61のAPI42を呼び出し、ファイル識別子に対応するファイルへのバンドデータのデータ書込要求を順に、キューシステム91にキューイングする。メインコントローラー2は、データ書込要求に応じて、書込側プログラム41に従い、ファイル書込スレッド31bに対して各バンドデータの書込指令を供給する(ステップS23)。書込指令では、書込の対象となるバンドデータの識別情報(つまり、そのバンドデータを含むドキュメントの識別情報、そのバンドデータを含むページの識別情報、およびそのページ内でのバンドデータの識別情報)が指定される。メインコントローラー2は、全てのバンドデータのデータ書込要求をキューイングするまで、ステップS23の処理を繰り返す(ステップS24)。
After the file is opened, the
図7は、図4におけるキューシステム91内の共有メモリー領域を示す図である。この共有メモリー領域は、RAM3上に割り当てられ、その物理アドレスが、書込側プロセス21および読出側プロセス22の論理アドレスにマッピングされ、各プロセスから共有メモリー領域へのアクセスが可能となる。キューシステム91において、この共有メモリー領域は、ドキュメントリスト領域、ページリスト領域、FDリスト領域、およびキュー領域を有する。
FIG. 7 is a diagram showing a shared memory area in the
ドキュメントリスト領域には、API42またはAPI52により、書込対象または読出対象のバンドデータを含むドキュメントのノードデータが記憶される。ドキュメントのノードデータは、このドキュメントを構成するページのノードデータへのリンク情報を有する。
In the document list area, document node data including band data to be written or read is stored by
ページリスト領域には、API42またはAPI52により、書込対象または読出対象のバンドデータを含むページのノードデータが記憶される。ページのノードデータは、このページを構成するバンドのノードデータへのリンク情報、およびファイルディスクリプターへのリンク情報を有する。
The page list area stores node data of pages including band data to be written or read by
バンドリスト領域には、API42またはAPI52により、書込対象または読出対象のバンドのノードデータが記憶される。バンドのノードデータは、このバンドの属するドキュメントおよびページのIDやシリアル番号を有し、さらに、ファイル内でのバンドデータの識別情報(シリアル番号など)を有する。
In the band list area, node data of a band to be written or read is stored by the
FDリスト領域には、API42またはAPI52により、ページごとに、そのページに対応するファイルのファイルディスクリプターが書き込まれる。
In the FD list area, a file descriptor of a file corresponding to the page is written for each page by
キュー領域には、API42またはAPI52により、バンドデータごとにアクセス要求が書き込まれる。アクセス要求は、アクセス種別(書き込みまたは読み出し)、および対象のバンドデータの識別情報を含む。したがって、1つのキューに、データ書込要求とデータ読出要求が混在する。
In the queue area, an access request is written for each band data by
このキューシステム91へのアクセスは、セマフォにより排他制御され、書込側スレッド31a,ファイル書込スレッド31b,読出側スレッド32a,ファイル読出スレッド32bのうちの2つ以上から同時にアクセスできないようになっている。
Access to the
一方、メインコントローラー2は、ファイル書込スレッド31bで、ファイル書込プログラム71に従い、キュー内のアクセス要求を検索する(ステップS31)。メインコントローラー2は、キュー内に、書込指令のあったバンドデータのデータ書込要求を発見すると(ステップS32)、そのデータ書込要求により指定されたバンドデータおよび書込先を、キューシステム91に書き込まれている構造データおよびファイルディスクリプターから特定する。メインコントローラー2は、ファイル書込スレッド31bでRAM3からDMA転送でそのバンドデータをHDDコントローラー14へ読み出す。
On the other hand, the
このとき、書き込み対象のバンドデータの属するドキュメントおよびページが、データ書込要求から特定され、まず、書き込み対象のバンドデータの属するドキュメントのドキュメントノードデータが特定され、そのドキュメントノードデータに接続しているページリンクリストにおいて、書き込み対象のバンドデータの属するページのページノードデータが特定される。そして、そのページノードデータに接続されているバンドリンクリストにおいて、書き込み対象のバンドデータが特定される。 At this time, the document and page to which the band data to be written belongs are specified from the data write request. First, the document node data of the document to which the band data to be written belongs is specified and connected to the document node data. In the page link list, page node data of a page to which the band data to be written belongs is specified. Then, the band data to be written is specified in the band link list connected to the page node data.
そして、HDDコントローラー14は、読み出されたバンドデータを特定された書込先に書き込む(ステップS33)。
Then, the
1つのバンドデータのデータ書込が完了すると、メインコントローラー2は、ファイル書込スレッド31bで、ファイル書込プログラム71に従い、そのバンドデータのデータ書込要求をキューから削除し(ステップS34)、API42へバンドデータのデータ書込完了通知を供給する(ステップS35)。
When the data writing of one band data is completed, the
このように、キューイングされているデータ書込のアクセス要求は、アプリケーション23とは別のファイル書込スレッド31bのファイル書込プログラム71を実行することにより、非同期で処理されていく。
As described above, the queued data write access request is processed asynchronously by executing the file write program 71 of the
そして、API42へデータ書込完了通知が供給されると、メインコントローラー2はAPI42により、イベントを発行する(ステップS26)。メインコントローラー2は、書込側スレッド31aで書込側プログラム41に従い、そのデータ書込が完了したバンドデータをRAM3から消去する(ステップS27)。
When the data write completion notification is supplied to the
そして、1ページ分のすべてのバンドデータの書込が完了すると(ステップS28)、メインコントローラー2は、書込側プログラム41に従い、API42を用いてファイルシステム61の共有ライブラリーを呼び出し、ファイル識別子に対応するファイルをクローズする(ステップS29)。
When the writing of all the band data for one page is completed (step S28), the
一方、メインコントローラー2は、読出側スレッド32aで読出側プログラム51を実行する。ここで、読出側プログラム51は、書込側とは非同期で動作している。メインコントローラー2は、読出側スレッド32aで読出側プログラム51に従い、書込側スレッド31aからファイル識別子を受領すると(ステップS41)、そのファイル識別子に対応するファイルをオープンし、ファイルハンドルを生成する(ステップS42)。
On the other hand, the
そして、メインコントローラー2は、ファイルオープン後、読出側スレッド32aで読出側プログラム51に従い、ファイルシステム61のAPI52を呼び出し、ファイル識別子に対応するファイルからの各バンドデータのデータ読出要求を順に、キューシステム91にキューイングする。メインコントローラー2は、データ読出要求に応じて、読出側プログラム51に従い、ファイル読出スレッド32bに対して各バンドデータの読出指令を供給する(ステップS43)。読出指令では、読出の対象となるバンドデータの識別情報(つまり、そのバンドデータを含むドキュメントの識別情報、そのバンドデータを含むページの識別情報、およびそのページ内でのバンドデータの識別情報)が指定される。メインコントローラー2は、全てのバンドデータのデータ読出要求をキューイングするまで、ステップS43の処理を繰り返す(ステップS44)。
Then, after the file is opened, the
一方、メインコントローラー2は、ファイル読出スレッド32bで、そのバンドデータの書込完了時のイベントを受領すると(ステップS51)、ファイル読出プログラム81に従い、キュー内のデータ読出要求を検索する(ステップS52)。メインコントローラー2は、キュー内に、読出指令のあったバンドデータのアクセス要求を発見すると(ステップS53)、ファイルシステム61のAPI52を呼び出して、バンドデータをHDD4内のファイルから読み出すようHDDコントローラー14を制御する(ステップS54)。このとき、そのデータ読出要求により指定されたバンドデータおよび読出元が、キューシステム91に書き込まれている構造データおよびファイルディスクリプターから特定される。HDDコントローラー14は、特定された読出元からそのバンドデータを読み出す。メインコントローラー2は、ファイル読出プログラムコード81に従い、読み出されたバンドデータをDMA転送でRAM3に書き込まれる。
On the other hand, when the file read
1つのバンドデータのデータ読出が完了すると、メインコントローラー2は、ファイル読出スレッド32bで、ファイル読出プログラム81に従い、そのバンドデータのデータ読出要求をキューから削除し(ステップS55)、API52へバンドデータのデータ読出完了通知を供給する(ステップS56)。
When the data reading of one band data is completed, the
このようにして、書込側からのイベントにつき1つずつ、バンドデータが順番に読み出される。そして、メインコントローラー2は、読出側スレッド32aで読出側プログラム51に従い、データ読出完了通知のたびに、1ページ分のすべてのバンドデータの読出が完了したか否かを判定する(ステップS46)。1ページ分のすべてのバンドデータの読出が完了すると、メインコントローラー2は、API52を用いてファイルシステム61の共有ライブラリーを呼び出し、ファイル識別子に対応するファイルをクローズする。(ステップS47)ここで、HDDコントローラー14は、クローズされたファイルをHDD4から消去する。
In this way, the band data is read in order for each event from the writing side. Then, the
以上のように、上記実施の形態1によれば、メインコントローラー2は、(i)書込側プロセス21で書込側スレッド31aおよびファイル書込スレッド31bを生成し、(ii) 読出側プロセス22で読出側スレッド32aおよびファイル読出スレッド32bを生成し、(iii) 書込側スレッド31aから読出側スレッド32aへ、HDD4におけるファイルの識別子を通知した後に、書込側スレッド31aで一連の複数のバンドデータのそれぞれについてのデータ書込要求を順番にキューイングし、(iv) ファイル書込スレッド31bを用いて、キューイングされたデータ書込要求の順番で、HDDコントローラー14に一連の複数のバンドデータを書き込ませ、(v) 読出側スレッド32aで、ファイルのファイル識別子を受領すると、一連の複数のバンドデータのそれぞれについてのデータ読出要求を順番にキューイングし、(vi) ファイル読出スレッド32bを用いて、キューイングされたデータ読出要求の順番で、HDDコントローラー14に一連の複数のバンドデータを読み出させる。
As described above, according to the first embodiment, the main controller 2 (i) generates the write-
これにより、HDD4への書込を行うプログラム71が別のスレッド31bで動作するため、非同期でのデータ書込となり、書込側プログラム41がデータ書込の完了を待たずに別の処理を実行することができる。また、HDD4からの読出を行うプログラム81が別のスレッド32bで動作するため、非同期でのデータ読出となり、読出側プログラム51がデータ読出の完了を待たずに別の処理を実行することができる。
As a result, since the program 71 for writing to the
また、上記実施の形態1によれば、1ページ分のバンドデータは、ドキュメント内の各ページに対して設けられたリンクリストとされ、RAM3に記憶され、さらに、RAM3には、ドキュメント内の各ページを示すページノードデータが記憶される。あるページのページノードデータは、そのページについての複数のバンドデータの先頭へのリンクを有する。 Further, according to the first embodiment, band data for one page is stored in the RAM 3 as a link list provided for each page in the document. Page node data indicating a page is stored. The page node data of a certain page has a link to the head of a plurality of band data for the page.
これにより、複数ページのバンドデータが、ページごとに、別々のリンクリストとされるため、複数ページのバンドデータから、処理対象のバンドデータを短時間で見つけ出すことができる。 Thereby, since the band data of a plurality of pages is made into a separate link list for each page, the band data to be processed can be found in a short time from the band data of the plurality of pages.
実施の形態2.
本発明の実施の形態2では、書込側スレッド31aにおいて、バンドデータのデータ書込のキューイングが完了した時点でイベントを発行する。ファイル読出スレッド32bにおいて、RAM3上にバンドデータがあればRAM3からそのバンドデータを読み出し、RAM3上にバンドデータがなければHDD4のファイルからそのバンドデータを読み出す。
In the second embodiment of the present invention, an event is issued when queuing of band data writing is completed in the
なお、実施の形態2に係るデータ処理装置の基本的な構成は、実施の形態1(図1)と同様であるので、その説明を省略する。実施の形態2におけるメインコントローラー2の動作は、実施の形態1のものと異なるので、その点について以下に説明する。実施の形態2における基本的なプログラム構成は、実施の形態1のもの(図4)と同様であるが、書込側スレッド31aとファイル読出スレッド32bによる動作が実施の形態1のもの(図4)とは異なる。
Note that the basic configuration of the data processing apparatus according to the second embodiment is the same as that of the first embodiment (FIG. 1), and a description thereof will be omitted. Since the operation of the
図8は、実施の形態2におけるメインコントローラー2の書込側プロセス21の動作を説明するフローチャートである。図9は、実施の形態2におけるメインコントローラー2の読出側プロセス22の動作を説明するフローチャートである。
FIG. 8 is a flowchart for explaining the operation of the
図8に示すように実施の形態2では、メインコントローラー2は、書込側スレッド31aで、バンドデータの書込完了時ではなく、バンドデータのキューイング(ステップS23)が終了するたびに、イベントを発行する(ステップS61)。
As shown in FIG. 8, in the second embodiment, the
そして、図9に示すように、メインコントローラー2は、ファイル読出スレッド32bで、キューにおいてアクセス要求を発見したときに、読出対象のバンドデータがRAM3上に残っているか否かを調べる(ステップS71)。その結果、読出対象のバンドデータがRAM3上に残っていれば、メインコントローラー2は、ファイル読出しスレッド32でファイル読出しプログラムに従い、バンドデータをRAM3から読み出す(ステップS72)。読出対象のバンドデータがRAM3上に残っていなければ、メインコントローラー2は、ファイル読出しスレッドでファイル読出しプログラムに従い、バンドデータをHDD4のファイルから読み出すようHDDコントローラーを制御する。このとき、HDDコントローラー14は、バンドデータをHDD4から読み出す(ステップS54)。
Then, as shown in FIG. 9, when the file read
このように、読出対象のバンドデータがRAM3上に残っている場合、バンドデータがHDD4からではなくRAM3から読み出される。このため、そのバンドデータについてのデータ書込要求によるHDD4へのバンドデータの書き込みは不要である。しかし、そのデータ書込要求はキューシステム91に残ったままとなっている。このような不要なデータ書込要求があるジョブ(ドキュメント)について残っていると、読出側でそのジョブが完了しても(つまり、そのドキュメントの読み出しが完了しても)、そのデータ書込要求が処理されるまで、書き込み側ではそのジョブが完了しないため、後続の処理が遅延してしまう。このため、メインコントローラー2は、読出側スレッド31によって、所定のタイミングで、RAM3から既に読み出されたバンドデータについてのデータ書込要求をキューから削除する。この実施の形態では、データ書込要求の削除のタイミングは、読出側でのジョブ完了時とされる。
As described above, when band data to be read remains on the RAM 3, the band data is read from the RAM 3 instead of from the
図10は、実施の形態2におけるRAM3からのバンドデータの読出について説明する図である。図10に示すように、バンドデータは、RAM3内の所定の共有メモリー領域に記憶され、この共有メモリー領域の物理アドレスは、各プロセス21,22の論理アドレスにマッピングされ、各プロセス21,22の各スレッド31a,31b,32a,32bから共有メモリー領域へのアクセスが可能となっている。
FIG. 10 is a diagram for explaining reading of band data from the RAM 3 in the second embodiment. As shown in FIG. 10, the band data is stored in a predetermined shared memory area in the RAM 3, and the physical address of this shared memory area is mapped to the logical address of each
以上のように、上記実施の形態2によれば、メインコントローラー2は、(i) 書込側プロセス21で、1つのバンドデータをRAM3に記憶し、(ii) 書込側スレッド31aで1つのバンドデータのデータ書込み要求をキューイングするたびにイベントを発行し、(iv)HDD4へのバンドデータのデータ書込が完了したときに、読出側スレッド32aでそのバンドデータをRAM3から消去し、(v)キューイングされたデータ読出要求を順番に実行するとき、読出対象のバンドデータがRAM3にあれば、ファイル読出スレッド32bで、HDD4からバンドデータを読み出さずにRAM3からそのバンドデータを読み出し、(vi) RAM3にそのバンドデータがなければ、HDDコントローラー14にHDD4からそのバンドデータを読み出させる。
As described above, according to the second embodiment, the main controller 2 (i) stores one band data in the RAM 3 in the
これにより、RAM3にバンドデータが残っていれば、ただちにRAM3上のバンドデータを使用できる。このため、HDD4からの読み出しより短時間でデータを読み出すことができ、データ読出時の遅延を低減することができる。
As a result, if band data remains in the RAM 3, the band data on the RAM 3 can be used immediately. For this reason, data can be read out in a shorter time than reading from the
また、上記実施の形態2によれば、メインコントローラー2は、所定のタイミングで、RAM3から読み出されたバンドデータについてのデータ書込要求をキューから削除する。
Further, according to the second embodiment, the
これにより、HDD4を介さずにRAM3からバンドデータが読み出されているのにも拘わらずキューに残存しているデータ書込要求に起因する処理遅延を回避することができる。
Thereby, it is possible to avoid a processing delay due to a data write request remaining in the queue even though the band data is read from the RAM 3 without going through the
なお、上述の各実施の形態は、本発明の好適な例であるが、本発明は、これらに限定されるものではなく、本発明の要旨を逸脱しない範囲において、種々の変形、変更が可能である。 Each embodiment described above is a preferred example of the present invention, but the present invention is not limited to these, and various modifications and changes can be made without departing from the scope of the present invention. It is.
例えば、上記実施の形態2において、読出側スレッド32aでRAM3からバンドデータを読み出している最中に、書込側においてそのバンドデータの、HDD4への書込が完了した場合、メインコントローラー2は、書込側スレッド31aで、読出側スレッド32aでのバンドデータの読出が完了した後に、そのバンドデータをRAM3から削除してもよい。例えば、バンドデータの記憶領域へのアクセスを排他制御すれば、このような処理が実現可能である。
For example, in the second embodiment, when the band data is read from the RAM 3 by the reading
また、上記各実施の形態において、HDD4へデータを書き込み前に、データを圧縮し、HDD4からデータを読み出した後に、データを伸張するようにしてもよい。圧縮・伸張の方式としては、JPEG(Joint Photographic Experts Group)方式、RLE(Run Length Encoding)方式などが使用可能である。
In each of the above embodiments, data may be compressed before data is written to the
また、上記各実施の形態において、書込側から読出側へ通知するファイル識別子には、ファイルハンドルを使用してもよい。 In each of the above embodiments, a file handle may be used as a file identifier notified from the writing side to the reading side.
また、上記各実施の形態においては、ファイルシステム61を使用してHDD4に対するデータの読み書きを行っているが、ファイルシステム61はなくてもよい。その場合には、ファイル識別子の代わりに、1ページ分のバンドデータを記憶するHDD4上の記憶領域の識別情報(例えばアドレスとサイズなど)が使用される。
In the above embodiments, the
また、上記各実施の形態において、書込側プロセス21のアプリケーションと読出側プロセス22のアプリケーションとは、別々の独立したプログラムとしてもよい。
In each of the above embodiments, the application of the
また、上記各実施の形態においては、ストレージとしてHDD4が使用されているが、SSD(Solid State Drive)などの半導体メモリーを使用した記憶装置を使用してもよい。
In each of the above embodiments, the
また、上記各実施の形態においては、書込側および読出側のプロセスは、それぞれ1つであるが、書込側および読出側のいずれも複数の同様のプロセスが生成されてもよい。その場合でも、実施の形態1,2におけるキューシステム91は1つで足りる。
In each of the above embodiments, there is one process on the writing side and one on the reading side, but a plurality of similar processes may be generated on both the writing side and the reading side. Even in that case, one
また、上記各実施の形態においては、単一のメモリーコントローラー2で書込側および読出側の両方のプロセスを処理しているが、複数のプロセシングエレメントを有するプロセッサーで、書込側および読出側のプロセスを別々に処理するようにしてもよい。
In each of the above embodiments, the
また、上記各実施の形態においては、バンドデータに分割された画像データを処理しているが、本発明は、他の種別のデータを所定のサイズのブロックへ分割し、そのブロックごとに処理をする装置にも適用可能である。 In each of the above embodiments, image data divided into band data is processed. However, the present invention divides other types of data into blocks of a predetermined size, and performs processing for each block. It is applicable also to the apparatus which performs.
本発明は、例えば、コピー機、複合機などの画像形成装置内の画像処理装置に適用可能である。 The present invention can be applied to, for example, an image processing apparatus in an image forming apparatus such as a copier or a multifunction peripheral.
2 メインコントローラー(プロセッサーの一例)
3 RAM(メモリーの一例)
4 HDD(ストレージの一例)
8 データ処理プログラム
21 書込側プロセス
22 読出側プロセス
31a 書込側スレッド(第1スレッドの一例)
31b ファイル書込スレッド(第3スレッドの一例)
32a 読出側スレッド(第2スレッドの一例)
32b ファイル読出スレッド(第4スレッドの一例)
41 書込側プログラム
51 読出側プログラム
2 Main controller (example of processor)
3 RAM (an example of memory)
4 HDD (an example of storage)
8
31b File writing thread (example of third thread)
32a Reading-side thread (an example of a second thread)
32b File reading thread (an example of a fourth thread)
41
Claims (7)
前記ストレージコントローラーを制御するプロセッサーを備え、
前記プロセッサーは、
書込側プロセスおよび読出側プロセスを生成し、
前記書込側プロセスで第1スレッドおよび第3スレッドを生成し、
前記読出側プロセスで第2スレッドおよび第4スレッドを生成し、
前記ストレージにおける記憶領域の識別子を前記第1スレッドから前記第2スレッドへ通知した後、前記第1スレッドで、前記一連の複数のデータブロックのそれぞれについてのデータ書込要求を順番にキューイングし、
前記第3スレッドを用いて、キューイングされた前記データ書込要求の順番で、前記ストレージコントローラーに前記一連の複数のデータブロックを書き込ませ、
前記第2スレッドで、前記識別子を受領すると、前記一連の複数のデータブロックのそれぞれについてのデータ読出要求を順番にキューイングし、
前記第4スレッドを用いて、キューイングされた前記データ読出要求の順番で、前記ストレージコントローラーに前記一連の複数のデータブロックを読み出させること、
を特徴とするデータ処理装置。 A storage controller that writes a series of data blocks constituting a predetermined unit of data to the storage and reads the series of data blocks from the storage; and
A processor for controlling the storage controller;
The processor is
Create a writer process and a reader process,
Creating a first thread and a third thread in the writing process;
Generating a second thread and a fourth thread in the reading process;
After notifying the storage area identifier in the storage from the first thread to the second thread, the first thread sequentially queues data write requests for each of the series of data blocks,
Using the third thread to cause the storage controller to write the series of data blocks in the order of the queued data write requests;
When the second thread receives the identifier, it queues data read requests for each of the series of data blocks in sequence,
Using the fourth thread to cause the storage controller to read the series of data blocks in the order of the queued data read requests;
A data processing apparatus.
前記一連の複数のデータブロックは、1つのドキュメント内のいずれかの1ページの画像データを構成する複数のバンドデータであり、
前記メモリーは、前記ドキュメント内の各ページを示すページノードデータを記憶し、
前記複数のバンドデータは、前記ドキュメント内の各ページに対して設けられたリンクリストであり、
あるページの前記ページノードデータは、そのページについての前記複数のバンドデータの先頭へのリンクを有すること、
を特徴とする請求項1記載のデータ処理装置。 A memory for storing the series of data blocks;
The series of a plurality of data blocks is a plurality of band data constituting image data of one page in one document,
The memory stores page node data indicating each page in the document;
The plurality of band data is a link list provided for each page in the document,
The page node data of a page has a link to the head of the plurality of band data for the page;
The data processing apparatus according to claim 1.
前記第3スレッドで前記データブロックをメモリーに記憶し、
前記第1スレッドで前記データブロックのデータ書込要求をキューイングするたびにイベントを発行し、
前記ストレージへの前記データブロックの書込が完了したときに、前記第3スレッドで前記データブロックをメモリーから消去し、
前記キューイングされた前記データ読出要求を順番に実行するとき、前記メモリーに前記データブロックがあれば、前記第4スレッドで前記メモリーからそのデータブロックを読み出し、前記メモリーに前記データブロックがなければ、前記第4スレッドを用いて、前記ストレージコントローラーに前記ストレージから前記データブロックを読み出させ、
所定のタイミングで、前記メモリーから読み出されたデータブロックについての前記データ書込要求をキューから削除すること、
を特徴とする請求項1記載のデータ処理装置。 The processor is
Storing the data block in a memory in the third thread;
Issue an event each time the first thread queues a data write request for the data block;
When the writing of the data block to the storage is completed, the third thread erases the data block from the memory,
When executing the queued data read requests in sequence, if the data block exists in the memory, the fourth thread reads the data block from the memory, and if the data block does not exist in the memory, Using the fourth thread, the storage controller is caused to read the data block from the storage,
Deleting the data write request for the data block read from the memory at a predetermined timing from the queue;
The data processing apparatus according to claim 1.
前記記憶領域の識別子は、前記ファイルの識別子であること、
を特徴とする請求項1から請求項6のうちのいずれか1項記載のデータ処理装置。 The series of data blocks is written to a file in the storage;
The identifier of the storage area is the identifier of the file;
The data processing device according to claim 1, wherein the data processing device is a data processing device.
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010108119A JP2011237972A (en) | 2010-05-10 | 2010-05-10 | Data processing device and data processing program |
CN201010611904.XA CN102193882B (en) | 2010-03-15 | 2010-12-17 | Data processing apparatus and data processing method |
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 |
---|---|---|---|
JP2010108119A JP2011237972A (en) | 2010-05-10 | 2010-05-10 | Data processing device and data processing program |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2011237972A true JP2011237972A (en) | 2011-11-24 |
Family
ID=45325891
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010108119A Pending JP2011237972A (en) | 2010-03-15 | 2010-05-10 | Data processing device and data processing program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2011237972A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012212267A (en) * | 2011-03-30 | 2012-11-01 | Kyocera Document Solutions Inc | Data processing device and data processing program |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10214247A (en) * | 1996-11-28 | 1998-08-11 | Hitachi Ltd | External storage device interface |
JP2002011925A (en) * | 2001-05-22 | 2002-01-15 | Seiko Epson Corp | Printer, its controlling method and medium recording program |
-
2010
- 2010-05-10 JP JP2010108119A patent/JP2011237972A/en active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10214247A (en) * | 1996-11-28 | 1998-08-11 | Hitachi Ltd | External storage device interface |
JP2002011925A (en) * | 2001-05-22 | 2002-01-15 | Seiko Epson Corp | Printer, its controlling method and medium recording program |
Non-Patent Citations (1)
Title |
---|
JPN6013005588; TIFF Revision 6.0, 19920603, p.13-14, 16, 19-20, Adobe Developers Assosication * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012212267A (en) * | 2011-03-30 | 2012-11-01 | Kyocera Document Solutions Inc | Data processing device and data processing program |
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 | |
JP2008269282A (en) | Information processing device, method and program | |
US9172839B2 (en) | Image forming apparatus, control method and storage medium | |
JP6748445B2 (en) | Image forming apparatus, control method of image forming apparatus, and program | |
US20120268757A1 (en) | Image forming apparatus and image forming method | |
JP5298154B2 (en) | Data processing apparatus and data processing program | |
JP5097788B2 (en) | Data processing apparatus and data processing program | |
JP6904697B2 (en) | Information processing device and communication control method | |
US20120320423A1 (en) | Printing apparatus provided with plural processing systems for generating print data, printing method and recording medium | |
US20100328715A1 (en) | Image processing apparatus, and control method thereof and program | |
JP2011237972A (en) | Data processing device and data processing program | |
JP5232728B2 (en) | Image forming apparatus | |
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 | |
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 | |
JP4848866B2 (en) | Image processing apparatus and program | |
US20160358052A1 (en) | Information processing apparatus, information processing method, and storage medium | |
JP3907484B2 (en) | Information processing apparatus, control method thereof, and program | |
JP5246308B2 (en) | Image processing apparatus and program | |
JP3214617B2 (en) | Multi-value image printer | |
JP2001243028A (en) | Medium with printing control program recorded and printing controller and printing control method | |
JP2018106223A (en) | Printing control program, printing control apparatus, and printing control method | |
JP2018042054A (en) | Information processing unit and program | |
JP2003229998A (en) | Digital image reading and forming apparatus | |
JP2006130776A (en) | Image processing apparatus and method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20120427 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20120727 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120821 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20121016 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20130213 |