JP2009055141A - データ処理装置及びデータ処理方法 - Google Patents
データ処理装置及びデータ処理方法 Download PDFInfo
- Publication number
- JP2009055141A JP2009055141A JP2007217701A JP2007217701A JP2009055141A JP 2009055141 A JP2009055141 A JP 2009055141A JP 2007217701 A JP2007217701 A JP 2007217701A JP 2007217701 A JP2007217701 A JP 2007217701A JP 2009055141 A JP2009055141 A JP 2009055141A
- Authority
- JP
- Japan
- Prior art keywords
- data
- compression
- memory
- band
- compression rate
- 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
- Storing Facsimile Image Data (AREA)
- Compression Of Band Width Or Redundancy In Fax (AREA)
- Bus Control (AREA)
Abstract
【課題】本発明は、データを圧縮して格納する場合のメモリ利用効率を向上させるデータ処理装置及びデータ処理方法に関する。
【解決手段】データ処理装置1は、メモリ12上の画像データをバンド単位で圧縮器5で圧縮して、該圧縮後のデータを、メモリ12のトグルバッファを介してハードディスク6に転送して保管する場合、圧縮前よりも圧縮後の方がそのデータ量が多くなって圧縮率が悪化していることをフル検知部9が検出すると、該バンドデータについては、該圧縮器5による圧縮前のバンドデータをハードディスク6に転送して保管する。したがって、圧縮器5の圧縮率が悪い場合にも、最悪、圧縮前のデータ量を維持することができ、ハードディスク6の利用効率を向上させることができる。
【選択図】 図1
【解決手段】データ処理装置1は、メモリ12上の画像データをバンド単位で圧縮器5で圧縮して、該圧縮後のデータを、メモリ12のトグルバッファを介してハードディスク6に転送して保管する場合、圧縮前よりも圧縮後の方がそのデータ量が多くなって圧縮率が悪化していることをフル検知部9が検出すると、該バンドデータについては、該圧縮器5による圧縮前のバンドデータをハードディスク6に転送して保管する。したがって、圧縮器5の圧縮率が悪い場合にも、最悪、圧縮前のデータ量を維持することができ、ハードディスク6の利用効率を向上させることができる。
【選択図】 図1
Description
本発明は、データ処理装置及びデータ処理方法に関し、詳細には、データを圧縮して格納する場合のメモリ利用効率を向上させるデータ処理装置及びデータ処理方法に関する。
複写装置、プリンタ装置、ファクシミリ装置、複合装置等の画像形成装置においては、入力された画像を可変長圧縮して、メモリに出力用として保存し、該メモリ上の符号を伸張して、印刷出力したりすることが行われている。そして、画像形成装置は、近年、複合化及びデジタル化に伴って、RAM(Random Access Memory)等の半導体メモリを利用した画像制御が種々行われるようになってきている。例えば、複数枚の画像を読み込んでメモリに蓄積した後、指示された順番に並べ換えて出力するいわゆる電子ソート処理等が行われるようになってきている。
このような画像制御処理を画像形成装置で行う場合、大容量のメモリを搭載すると、種々の画像制御処理を高速に処理することはできるが、コストが高くなるという問題がある。
各種画像制御処理を安価にかつ高速に行うには、例えば、ハードディスク等の安価で大容量の2次蓄積メモリを設ける方法、データを圧縮してメモリ容量を有効利用する方法及び画像を複数に分割してメモリ領域も画像1面分ではなく分割したサイズの数倍程度のみを確保しメモリをリングバッファで使用したりトグルバッファで使用する方法等が従来から用いられている。
そして、メモリにあるデータを高速に転送する技術としては、DMA(Direct Memory Access)コントローラ(以下、単に、DMACという。)があり、DMAでは、一般的に、メモリアドレスと転送量を指定することで、データ転送を行う。
そして、上記画像を分割する方式を用いる場合やメモリ上に点在するデータに対して転送を行う場合には、ディスクリプタ方式を用いる。ディスクリプタ方式では、DMACはディスクリプタと呼ばれるメモリ上の識別子を読み込み、ディスクリプタに示されているスタートアドレスや転送量に基づいてデータ転送を行い、また、点在したデータを連続してアクセスできるように、ディスクリプタの中に次のディスクリプタが存在するポインタを格納して、一連の動作が終ると、次のディスクリプタへのポインタへアクセスを行い、そのポインタのディスクリプタからディスクリプタ情報を取得して、再び転送を行うという動作を繰り返す。
そして、従来、画像メモリに圧縮データと非圧縮データ(生データ)が混在して記憶されている場合に、ディスクリプタの設定に基づいて、圧縮データについては伸張処理を施した上で出力し、非圧縮データについては、直接出力する技術が提案されている(特許文献1参照)。
しかしながら、上記公報記載の従来技術にあっては、圧縮データと非圧縮データが混在する場合の伸張処理を適切に行いつつDMA転送しているが、データの圧縮時については考慮されておらず、改良の必要があった。
すなわち、従来技術は、圧縮時の圧縮率については考慮されておらず、トグルバッファに圧縮後のデータを出力する場合、圧縮器の出力した圧縮データを蓄積する画像メモリは、圧縮率にかかわらず、圧縮後のデータを蓄積しているため、画像メモリの利用効率が悪く、改良の必要があった。
そこで、本発明は、圧縮手段の圧縮率が悪い場合にもメモリ利用効率を向上させることのできるデータ処理装置及びデータ処理方法を提供することを目的としている。
請求項1記載の発明のデータ処理装置は、メモリ上の画像データをバンド単位で圧縮する圧縮手段と、該圧縮後のデータをトグルバッファを介して画像メモリに転送して保管するデータ転送手段と、該圧縮手段による該画像データの圧縮率を該バンド単位で監視する圧縮率監視手段と、を備え、該圧縮率監視手段が該圧縮前よりも圧縮後の方がそのデータ量が多くなって圧縮率が悪化していることを検出すると、該データ転送手段が、該バンドデータについては、該圧縮手段による圧縮前のバンドデータを該画像メモリに転送して保管することにより、上記目的を達成している。
この場合、例えば、請求項2に記載するように、前記トグルバッファは、前記メモリ上の前記バンドのデータサイズと同じサイズであり、前記圧縮率監視手段は、前記圧縮後のデータが該トグルバッファのサイズを超えるか否かによって前記圧縮手段の圧縮率が悪化しているか否かを検出してもよい。
また、請求項1の場合、例えば、請求項3に記載するように、前記圧縮率監視手段は、前記圧縮前のバンドのデータサイズをデータサイズレジスタに保管し、前記圧縮手段による該圧縮後のデータをカウントアップまたはカウントダウンして、該データサイズレジスタのデータサイズと該カウント値とに基づいて該圧縮手段による圧縮率が悪化しているか否かを検出してもよい。
さらに、請求項1の場合、例えば、請求項4に記載するように、圧縮率監視手段は、前記圧縮前のバンドのデータサイズと、該バンドデータの前記圧縮手段による圧縮後の書き込み先の前記トグルバッファの書き込みスタートアドレスから該圧縮前のデータサイズ分までの最終アドレスを該圧縮後のデータの書き込みアドレスが超えるか否かに基づいて該圧縮手段による圧縮率が悪化しているか否かを検出してもよい。
また、請求項1から請求項4の場合、例えば、請求項5に記載するように、前記圧縮手段は、前記圧縮率監視手段が前記圧縮率が悪化していることを検出すると、一時圧縮動作を停止し、前記データ転送手段による前記データ転送が完了した後、圧縮動作を再開する際に、ディスクリプタアドレスを保持するレジスタ値が次のバンドのディスクリプタアドレスに変更されることにより、または、該ディスクリプタアドレスが次のバンドのディスクリプタアドレスに変更されることにより前記メモリ上の次のバンドの圧縮動作を再開してもよい。
さらに、請求項1から請求項5の場合、例えば、請求項6に記載するように、前記圧縮率監視手段は、前記圧縮手段の圧縮率が悪化していることを検出すると、その旨をディスクリプタへの書き戻し等の方法で通知してもよい。
請求項7記載の発明のデータ処理方法は、メモリ上の画像データをバンド単位で圧縮する圧縮処理ステップと、該圧縮後のデータをトグルバッファを介して画像メモリに転送して保管するデータ転送処理ステップと、該圧縮処理ステップでの画像データの圧縮率を該バンド単位で監視する圧縮率監視処理ステップと、を有し、該圧縮率監視手段が該圧縮前よりも圧縮後の方がそのデータ量が多くなって圧縮率が悪化していることを検出すると、該データ転送手段が、該バンドデータについては、該圧縮手段による圧縮前のバンドデータを該画像メモリに転送して保管することにより、上記目的を達成している。
本発明によれば、メモリ上の画像データをバンド単位で圧縮手段で圧縮して、該圧縮後のデータを、トグルバッファを介して画像メモリに転送して保管する場合、圧縮前よりも圧縮後の方がそのデータ量が多くなって圧縮率が悪化すると、該バンドデータについては、該圧縮手段による圧縮前のバンドデータを該画像メモリに転送して保管するので、圧縮手段の圧縮率が悪い場合にも、最悪、圧縮前のデータ量を維持することができ、画像メモリの利用効率を向上させることができる。
以下、本発明の好適な実施例を添付図面に基づいて詳細に説明する。なお、以下に述べる実施例は、本発明の好適な実施例であるから、技術的に好ましい種々の限定が付されているが、本発明の範囲は、以下の説明において特に本発明を限定する旨の記載がない限り、これらの態様に限られるものではない。
図1〜図5は、本発明のデータ処理装置及びデータ処理方法の一実施例を示す図であり、図1は、本発明のデータ処理装置及びデータ処理方法の一実施例を適用したデータ処理装置1の要部ブロック構成図である。
図1において、データ処理装置1は、アプリケーション2、メモリアロケータ3、ビデオ入力部4、圧縮器5、ハードディスク(HDD)6、ライトDMAC(Direct Memory Access Controller :DMAコントローラ)7、リードDMAC8、ライトDMAC9、フル検知部10、リードDMAC11及びメモリ12等を備えている。
ビデオ入力部4は、ライトDMAC7を備え、圧縮器5は、リードデータ8とライトDMAC10を備え、ハードディスク6は、リードDMAC11を備えている。ライトDMAC7、10は、アプリケーション2によってメモリ12のディスクリプタ領域に書き込まれたディスクリプタを読み取って、該ディスクリプタに従って、データ(画像データ)をメモリ12に書き込む。リードDMAC8、11は、アプリケーション2によってメモリ12のディスクリプタ領域に書き込まれたディスクリプタを読み取って、該ディスクリプタに従って、データをメモリ12から読み出す。
アプリケーション2は、データ処理装置1にデータ処理装置1としての一連の動作を行わせるためのソフトウェアであり、ビデオ入力部4、圧縮器5及びハードディスク6の動作をレジスタ操作で設定・起動する。
メモリアロケータ3は、メモリ12を管理し、アプリケーション2からの要請(要求)に応じて、メモリ12にデータ領域を確保し、各部4、5、6に対するディスクリプタ確保及びディスクリプタの作成を行う。メモリアロケータ3は、それぞれのDMAC7、8、10、11のディスクリプタポインタをレジスタを介して通知する。
ビデオ入力部4、圧縮器5及びハードディスク6の各DMAC7、8、10、11は、処理が完了すると、メモリアロケータ3及びアプリケーション2に対してその旨を通知し、また、圧縮器5のライトDMAC10は、バンドの書き込みが終了すると、メモリアロケータ3に対して、その旨を通知し、一時停止する。メモリアロケータ3は、ライトDMAC10からの通知を受けると、その状況に応じた処理を行い、動作再開を圧縮器5にレジスタを経由して命令する。
メモリアロケータ3は、ビデオ入力部4、圧縮器5及びハードディスク6から起動・完了通知を受け取り、また、圧縮器5のライトDMAC10、フル検知部9からフル検知通知を受け取り、これらの通知から現在動作中のディスクリプタに対して操作を行ったり、ディスクリプタポインタを変更したりする。
また、メモリアロケータ3は、アプリケーション2からのメモリ確保要求に対して、管理下にあるメモリ12のデータ領域を確保し、そのデータ領域を使用するためのディスクリプタを作成する。
さらに、メモリアロケータ3は、圧縮動作時に、圧縮器5のライトDMAC10が書き込むメモリ12のバンドに対してデータがあふれてしまった場合の動作についての処理を行う。
ビデオ入力部4は、スキャナ等であって、アプリケーション2によって起動されて、画像データを取得し、取得した画像データをライトDMAC7がメモリ12のデータ領域に格納する。ビデオ入力部4は、上記画像データのメモリ12への入力が完了すると、メモリアロケータ3及びアプリケーション2に完了通知を行う。
圧縮器5は、アプリケーション2によって起動され、リードDMAC8がメモリ12から読み込んだ画像データを所定の圧縮方式で圧縮する。すなわち、メモリ上の画像データをバンド単位で圧縮する圧縮処理を行う圧縮手段として機能している。ライトDMAC10は、圧縮器5の圧縮した画像データを、メモリ12上のディスクリプタで指定されているデータ領域に書き込み、圧縮器5は、一連の処理が完了するとアプリケーション2に完了通知を行う。
フル検知部9は、ライトDMAC10に接続されており、ライトDMAC10による圧縮器5で圧縮された画像データのメモリ12のデータ領域への書き込みを監視して、ライトDMAC10が、ディスクリプタに記載されたデータサイズまで画像データの書き込みをメモリ12に行うと、圧縮器5に該メモリ12のデータ領域へはこれ以上の書き込みができない旨、すなわち、メモリフルを通知する。フル検知部9は、圧縮手段による該画像データの圧縮率を該バンド単位で監視する圧縮率監視処理を行う圧縮率監視手段として機能している。
すなわち、ライトDMAC10が圧縮器5側から起動が通知されると、保持しているディスクリプタポインタレジスタに基づいてメモリ12上からディスクリプタをリードするが、このとき、フル検知部9は、該ディスクリプタに記録されているバンドのデータサイズをダウンカウントレジスタアップカウントレジスタ等のデータサイズレジスタに保持する。フル検知部9は、圧縮器5から送られてきた圧縮後の画像データをライトDMAC10がメモリ12のデータ領域に転送する毎に、転送したデータサイズ分だけ、保持しているダウンカウントレジスタから減算する。フル検知部9は、ダウンカウントレジスタが「0」になると、圧縮器5に対して、メモリフルを通知する。または、フル検知部9は、圧す区後の画像データをカウントして、カウントしたデータ量がアップカウントレジスタのデータ量を超えると、メモリフルと判断して通知する。
なお、フル検知部9は、圧縮器5の圧縮率の検出を上記方法で検出するものに限るものではなく、例えば、トグルバッファTa、Tb(図2参照)を、メモリ12上のバンドのデータサイズと同じサイズとし、圧縮後のデータが該トグルバッファTa、Tbのサイズを超えるか否かによって圧縮器5の圧縮率が悪化しているか否かを検出してもよい。
また、フル検知部9は、圧縮前のバンドのデータサイズと、該バンドデータの圧縮器5による圧縮後の書き込み先のトグルバッファTa、Tbの書き込みスタートアドレスから該圧縮前のデータサイズ分までの最終アドレスを該圧縮後のデータの書き込みアドレスが超えるか否かに基づいて圧縮器5による圧縮率が悪化しているか否かを検出してもよい。
そして、圧縮器5は、フル検知部9がメモリフルを検知してメモリフルを通知してくる前に、圧縮データのメモリ12への転送が完結すると、ライトDMAC10に対してディスクリプタに、圧縮データが完結した旨を記述するために、ディスクリプタ上の書き戻しフラグを立てる。また、フル検知部9がダウンカウントしていた値を、ディスクリプタのデータサイズの記述されていた箇所に書き戻すことで、アプリケーション2及びメモリアロケータ3に、圧縮後のデータサイズを通知する。
ハードディスク(画像メモリ)6は、アプリケーション2によって起動され、リードDMAC11がメモリ12上に書き込まれた圧縮後の画像データをハードディスク6に転送する。
上記ライトDMAC7、リードDMAC8、ライトDMAC10及びリードDMAC11Ha、全体として、圧縮後のデータをトグルバッファTa、Tbを介して画像メモリであるハードディスク6に転送して保管するデータ転送処理を行うデータ転送手段として機能している。
そして、このデータ処理装置1は、上記データ転送処理を、図2に示すように行う。なお、図2では、メモリ12のビデオ入力部4からの画像データの書き込まれるデータ領域を12a〜12nとし、圧縮器5で圧縮後の画像データの書き込まれるメモリ12のトグルメモリ領域を12Ta、12Tbとする。
図2において、データ処理装置1は、ビデオ入力部4から出力されたデータを、ライトDMAC7が、メモリ12のデータ領域12aからデータ領域12nに順次書き込み、圧縮器5のリードDMAC8が、メモリ12のデータ領域12a〜12nに書き込まれたデータを順次圧縮器5に読み込む。圧縮器5がリードDMAC8から入力される画像データを圧縮すると、この圧縮後の画像データをライトDMAC10が、メモリ12のトグルメモリ領域12Taまたはトグルメモリ領域Tbに転送して保管する。そして、リードDMAC11が、このトグルメモリ領域Taまたはトグルメモリ領域Tbの圧縮後の画像データを順次読み出して、ハードディスク6に書き込む。このトグルメモリ領域Taとトグルメモリ領域Tbは、圧縮器5とハードディスク6との間で排他的に利用され、圧縮器5がトグルメモリ領域Taをライトしている場合は、ハードディスク6は、トグルメモリ領域Tbをリードできる。
次に、本実施例の作用を説明する。本実施例のデータ処理装置1は、圧縮器5の圧縮率に応じて圧縮後のデータと圧縮前のデータを切り替えてメモリ12を介してハードディスク6に書き込んで、ハードディスク6の利用率を向上させる。
すなわち、データ処理装置1は、図3に示すように、まず、アプリケーション2がメモリアロケータ3にメモリ12の確保を要求し(ステップS101)、メモリアロケータ3が、管理下のメモリ12にデータ領域(図2のデータ領域12a〜12n、トグルメモリ領域Taとトグルメモリ領域Tb)を確保すると、確保したメモリ領域12a〜12n、Ta、Tbに対応したディスクリプタを要求されたバンド分作成する(ステップS102)。
次に、メモリアロケータ3は、各部(図3では、各部のことを各ユニットと記載している。)4〜6に対する先頭のディスクリプタのアドレスをそれぞれのユニット(各部)に通知し(ステップS103)、アプリケーション2に対してメモリ12にデータ領域を確保した旨を通知する(ステップS104)。
アプリケーション2は、各部(各ユニット)4〜6に必要な設定を行い(ステップS105)、まず、ビデオ入力部4を起動させる(ステップS106)。ビデオ入力部4は、起動されると、データの入力を行い、ライトDMAC7によって、ディスクリプタで指定されているデータ領域12a〜12nにデータを書き込み、処理が終わると、その旨をアプリケーション2に通知する(ステップS107)。
アプリケーション2は、ビデオ入力部4から処理の終了の通知を受け取ると、圧縮器5を起動させ、圧縮器5からポーズを受け取ると、ハードディスク6を起動させる(ステップS108)。
圧縮器5は、そのリードDMAC8がメモリ12のデータ領域12a〜12nから読み取った1バンド分の画像データを圧縮して、トグルメモリ領域Ta、Tbに書き込むという1バンド分のライト操作が完了すると、動作を一時停止し、その旨をアプリケーション2とメモリアロケーション3に通知する(ステップS109)。
メモリアロケータ3は、圧縮器5のライトDMAC10のフル検知部9がメモリフルを検知したかチェックし(ステップS110)、フル検知部9がメモリフルを検知していないときには、圧縮器5のライトDMAC10は、ディスクリプタに圧縮が完了した旨を書き込む、すなわち、同一アドレスへのディスクリプタの書き戻しを行う(ステップS111)。
メモリアロケータ3は、圧縮器5のライトDMAC側で使用したディスクリプタをリードし(ステップS112)、ディスクリプタが書き戻されているかチェックする(ステップS113)。
ステップS110で、フル検知部9がメモリフルを検知したときには、圧縮器5のライトDMAC10は、ディスクリプタに圧縮が完了したことを記載することなく、メモリアロケータ3が、圧縮器5のライトDMAC10側で使用したディスクリプタをリードする(ステップS112)。
ステップS113で、ライトDMAC10の使用したディスクリプタが書き戻されていないと、メモリアロケータ3は、該バンドの圧縮器5での圧縮率が悪かったことを認識し(ステップS114)、ハードディスク6のリードDMAC11のディスクリプタレジスタを、圧縮器5のリード側のディスクリプタを読むように変更する(ステップS115)。すなわち、リードDMAC11が、メモリ12上の該バンドの圧縮器5による圧縮前の画像データを読み取るように、リードDMAC11のディスクリプタレジスタを変更し、リードDMAC11は、該ディスクリプタレジスタに基づいて圧縮前の画像データをメモリ12から読み取ってハードディスク6に転送する。
メモリアロケータ3は、圧縮器5のライト側のディスクリプタレジスタ、すなわち、圧縮器5のライトDMAC10のディスクリプタレジスタを変更して、2度書きするようにディスクリプタポインタを変更し(ステップS116)、ハードディスク6のリードDMAC11が、圧縮前の画像データをメモリ12から読み取ってハードディスク6に転送して、一時停止を通知してくるまで待って(ステップS117)、圧縮器5の動作が完了したかチェックする(ステップS118)。
すなわち、いま、図5に示すように、圧縮器5のリードDMAC8がメモリ12のデータ領域12aから読み込んだ1バンド目の画像データを圧縮器5が圧縮して、圧縮器5のライトデータ10がメモリ12のトグルメモリ12Taに書き込み、このトグルメモリ12Taのデータをハードディスク6のリードDMAC11がハードディスク6に読み込む。次に、圧縮器5のリードDMAC8がメモリ12のデータ領域12bから読み込んだ2バンド目の画像データを圧縮器5が圧縮して、圧縮器5のライトデータ10がメモリ12のトグルメモリ12Tbに書き込み、このトグルメモリ12Tbのデータをハードディスク6のリードDMAC11がハードディスク6に読み込むが、途中で、フル検知部9が、トグルメモリ12Tbが一杯になった等によって圧縮率が悪化していることを検出すると、ハードディスク6のリードDMAC11は、圧縮器6のリードDMAC8の読み込んだメモリ12のデータ領域12bからデータを読み込んで、ハードディスク6に転送する。一方、圧縮器5のライトDMAC10は、2バンド目の残りの圧縮データをトグルメモリTbに2度書きする。そして、次に、リードDMAC8がメモリ12のデータ領域12cから読み込んだ3バンド目の画像データを圧縮器5が圧縮して、圧縮器5のライトデータ10がメモリ12のトグルメモリ12Taに書き込み、このトグルメモリ12Taのデータをハードディスク6のリードDMAC11がハードディスク6に読み込む。
ステップS113で、圧縮器5のライトDMAC側で使用したディスクリプタが書き戻されているときには、メモリアロケータ3は、圧縮器5による圧縮がデータ量が圧縮前よりも増えることなく完了したと判断して、ハードディスク6のリードDMAC11が圧縮器5で圧縮されて圧縮器5のライトDMAC10が書き込んだトグルメモリ12Taまたはトグルメモリ12Tbの圧縮後の画像データを読み取ってハードディスク6に転送して、一時停止を通知してくるまで待って(ステップS117)、圧縮器5の動作が完了したかチェックする(ステップS118)。
ステップS118で、圧縮器5の動作が完了していないとき、すなわち、ビデオ入力部4から入力されて圧縮すべきデータがまだあるときには、メモリアロケータ3は、圧縮器5を再起動させ(ステップS119)、ハードディスク6を再起動させて(ステップS120)、ステップS109に戻って、上記同様に処理する(ステップS109〜S120)。
ステップS118で、圧縮器5の動作が完了すると、すなわち、ビデオ入力部4から入力されて圧縮すべきデータがなくなると、メモリアロケータ3は、ハードディスク6の動作を再開して(ステップS121)、ハードディスク6が動作を完了した旨をメモリアロケータ3とアプリケーション2に通知してくると、処理を終了する(ステップS122)。
このように、本実施例のデータ処理装置1は、メモリ12上の画像データをバンド単位で圧縮器5で圧縮して、該圧縮後のデータを、メモリ12のトグルバッファTa、Tbを介して画像メモリであるハードディスク6に転送して保管する場合、圧縮前よりも圧縮後の方がそのデータ量が多くなって圧縮率が悪化すると、該バンドデータについては、該圧縮器5による圧縮前のバンドデータをハードディスク6に転送して保管している。
したがって、圧縮器5の圧縮率が悪い場合にも、最悪、圧縮前のデータ量を維持することができ、ハードディスク6の利用効率を向上させることができる。
また、本実施例のデータ処理装置1は、フル検知部10が、圧縮前のバンドのデータサイズをデータサイズレジスタに保管し、圧縮器5による該圧縮後のデータをカウントアップまたはカウントダウンして、該データサイズレジスタのデータサイズと該カウント値とに基づいて該圧縮器5による圧縮率が悪化しているか否かを検出している。
したがって、簡単かつ適切に圧縮器5の圧縮率の悪化の有無を検出することができる。
さらに、本実施例のデータ処理装置1は、トグルバッファTa、Tbが、メモリ12上のバンドのデータサイズと同じサイズとして、フル検知部10が、圧縮後のデータが該トグルバッファTa、Tbのサイズを超えるか否かによって圧縮器5の圧縮率が悪化しているか否かを検出してもよい。
このようにすると、簡単かつ適切に圧縮器5の圧縮率の悪化の有無を検出することができる。
また、本実施例のデータ処理装置1は、フル検知部10が、圧縮前のバンドのデータサイズと、該バンドデータの圧縮器5による圧縮後の書き込み先のトグルバッファの書き込みスタートアドレスから該圧縮前のデータサイズ分までの最終アドレスを該圧縮後のデータの書き込みアドレスが超えるか否かに基づいて該圧縮器5による圧縮率が悪化しているか否かを検出してもよい。
このようにすると、安価かつ適切に圧縮器5の圧縮率の悪化の有無を検出することができる。
さらに、本実施例のデータ処理装置1は、フル検知部10が圧縮率が悪化していることを検出すると、圧縮器5が、一時圧縮動作を停止し、データ転送が完了した後、圧縮動作を再開する際に、ディスクリプタアドレスを保持するレジスタ値が次のバンドのディスクリプタアドレスに変更されることにより、または、該ディスクリプタアドレスが次のバンドのディスクリプタアドレスに変更されることによりメモリ12上の次のバンドの圧縮動作を再開している。
したがって、適切に次のバンドの圧縮処理を開始することができ、適切な圧縮処理を行うことができる。
また、本実施例のデータ処理装置1は、フル検知部10が、圧縮器5の圧縮率が悪化していることを検出すると、その旨をディスクリプタへの書き戻し等の方法で通知している。
したがって、ユーザが圧縮状態を確認することができ、利用性を向上させることができる。
以上、本発明者によってなされた発明を好適な実施例に基づき具体的に説明したが、本発明は上記のものに限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
本発明は、メモリをトグルで利用して圧縮データを書き込んでハードディスク等の画像メモリに格納する場合に、メモリの利用効率を向上させつつ適切に圧縮するプリンタ装置、複合装置等のデータ処理装置及びデータ処理方法に利用することができる。
1 データ処理装置
2 アプリケーション
3 メモリアロケータ
4 ビデオ入力部
5 圧縮器
6 ハードディスク(HDD)
7 ライトDMAC
8 リードDMAC
9 ライトDMAC
10 フル検知部
11 リードDMAC
12 メモリ
2 アプリケーション
3 メモリアロケータ
4 ビデオ入力部
5 圧縮器
6 ハードディスク(HDD)
7 ライトDMAC
8 リードDMAC
9 ライトDMAC
10 フル検知部
11 リードDMAC
12 メモリ
Claims (7)
- メモリ上の画像データをバンド単位で圧縮する圧縮手段と、該圧縮後のデータをトグルバッファを介して画像メモリに転送して保管するデータ転送手段と、該圧縮手段による該画像データの圧縮率を該バンド単位で監視する圧縮率監視手段と、を備え、該圧縮率監視手段が該圧縮前よりも圧縮後の方がそのデータ量が多くなって圧縮率が悪化していることを検出すると、該データ転送手段が、該バンドデータについては、該圧縮手段による圧縮前のバンドデータを該画像メモリに転送して保管することを特徴とするデータ処理装置。
- 前記トグルバッファは、前記メモリ上の前記バンドのデータサイズと同じサイズであり、前記圧縮率監視手段は、前記圧縮後のデータが該トグルバッファのサイズを超えるか否かによって前記圧縮手段の圧縮率が悪化しているか否かを検出することを特徴とする請求項1記載のデータ処理装置。
- 前記圧縮率監視手段は、前記圧縮前のバンドのデータサイズをデータサイズレジスタに保管し、前記圧縮手段による該圧縮後のデータをカウントアップまたはカウントダウンして、該データサイズレジスタのデータサイズと該カウント値とに基づいて該圧縮手段による圧縮率が悪化しているか否かを検出することを特徴とする請求項1記載のデータ処理装置。
- 圧縮率監視手段は、前記圧縮前のバンドのデータサイズと、該バンドデータの前記圧縮手段による圧縮後の書き込み先の前記トグルバッファの書き込みスタートアドレスから該圧縮前のデータサイズ分までの最終アドレスを該圧縮後のデータの書き込みアドレスが超えるか否かに基づいて該圧縮手段による圧縮率が悪化しているか否かを検出することを特徴とする請求項1記載のデータ処理装置。
- 前記圧縮手段は、前記圧縮率監視手段が前記圧縮率が悪化していることを検出すると、一時圧縮動作を停止し、前記データ転送手段による前記データ転送が完了した後、圧縮動作を再開する際に、ディスクリプタアドレスを保持するレジスタ値が次のバンドのディスクリプタアドレスに変更されることにより、または、該ディスクリプタアドレスが次のバンドのディスクリプタアドレスに変更されることにより前記メモリ上の次のバンドの圧縮動作を再開することを特徴とする請求項1から請求項4のいずれかに記載のデータ処理装置。
- 前記圧縮率監視手段は、前記圧縮手段の圧縮率が悪化していることを検出すると、その旨をディスクリプタへの書き戻し等の方法で通知することを特徴とする請求項1から請求項5のいずれかに記載のデータ処理装置。
- メモリ上の画像データをバンド単位で圧縮する圧縮処理ステップと、該圧縮後のデータをトグルバッファを介して画像メモリに転送して保管するデータ転送処理ステップと、該圧縮処理ステップでの画像データの圧縮率を該バンド単位で監視する圧縮率監視処理ステップと、を有し、該圧縮率監視手段が該圧縮前よりも圧縮後の方がそのデータ量が多くなって圧縮率が悪化していることを検出すると、該データ転送手段が、該バンドデータについては、該圧縮手段による圧縮前のバンドデータを該画像メモリに転送して保管することを特徴とするデータ処理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007217701A JP2009055141A (ja) | 2007-08-24 | 2007-08-24 | データ処理装置及びデータ処理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007217701A JP2009055141A (ja) | 2007-08-24 | 2007-08-24 | データ処理装置及びデータ処理方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2009055141A true JP2009055141A (ja) | 2009-03-12 |
Family
ID=40505839
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007217701A Pending JP2009055141A (ja) | 2007-08-24 | 2007-08-24 | データ処理装置及びデータ処理方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2009055141A (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8554003B2 (en) | 2011-04-25 | 2013-10-08 | Fuji Xerox Co., Ltd. | Image data processing apparatus, image data processing method, and computer readable medium |
US10146680B2 (en) | 2013-03-12 | 2018-12-04 | Samsung Electronics Co., Ltd. | Data processing system and method of operating the same |
JP2023009973A (ja) * | 2021-07-08 | 2023-01-20 | Necプラットフォームズ株式会社 | 演算回路、演算装置、方法、及びプログラム |
-
2007
- 2007-08-24 JP JP2007217701A patent/JP2009055141A/ja active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8554003B2 (en) | 2011-04-25 | 2013-10-08 | Fuji Xerox Co., Ltd. | Image data processing apparatus, image data processing method, and computer readable medium |
US10146680B2 (en) | 2013-03-12 | 2018-12-04 | Samsung Electronics Co., Ltd. | Data processing system and method of operating the same |
JP2023009973A (ja) * | 2021-07-08 | 2023-01-20 | Necプラットフォームズ株式会社 | 演算回路、演算装置、方法、及びプログラム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9967423B2 (en) | Image forming apparatus and method for controlling image forming apparatus | |
CN110825673B (zh) | 音频输入输出系统及方法 | |
US9335946B2 (en) | Method and apparatus for managing memory | |
KR20180088279A (ko) | 메모리 액세스 시스템, 그 제어방법, 컴퓨터 판독가능한 기억매체, 및 화상 형성장치 | |
JP2009055141A (ja) | データ処理装置及びデータ処理方法 | |
US8928926B2 (en) | Image forming apparatus that buffers data in a storage device and reduces delays in process | |
JP5097788B2 (ja) | データ処理装置およびデータ処理プログラム | |
US8520964B2 (en) | Image processing apparatus | |
JP4805194B2 (ja) | 画像形成装置及び画像処理方法 | |
JP5697588B2 (ja) | 画像読取装置 | |
TWI813876B (zh) | 解壓縮系統、記憶體系統以及解壓縮的方法 | |
JPH11331528A (ja) | 画像処理装置 | |
JP2011243090A (ja) | データ転送制御装置、画像処理装置、データ転送制御方法、データ転送制御プログラム及び記録媒体 | |
JP2006217007A (ja) | 圧縮伸長モジュールのインターフェース装置 | |
JP2003091425A (ja) | 画像処理装置および画像処理方法 | |
JP2005301714A (ja) | マルチcpuシステム、そのデータ転送方法、及びそのプログラム | |
JP4561230B2 (ja) | データ転送制御装置及びデータ転送方法 | |
JP2006019960A (ja) | 画像処理装置及び画像形成装置 | |
JP2000059558A (ja) | ネットワークスキャナ装置 | |
JP5705104B2 (ja) | 画像読取装置 | |
JP2006344035A (ja) | データ送受信システム、状態報知回路、及び状態報知プログラム | |
JP2002252852A (ja) | 符号供給装置および半導体集積回路 | |
JP2009038771A (ja) | 画像処理装置及び画像処理方法 | |
JP2005107818A (ja) | 調停装置およびそれを用いる画像形成装置 | |
JP2005005903A (ja) | データ処理システム |