JP3847995B2 - データ処理装置およびデータ処理装置のデータ処理方法 - Google Patents
データ処理装置およびデータ処理装置のデータ処理方法 Download PDFInfo
- Publication number
- JP3847995B2 JP3847995B2 JP37439998A JP37439998A JP3847995B2 JP 3847995 B2 JP3847995 B2 JP 3847995B2 JP 37439998 A JP37439998 A JP 37439998A JP 37439998 A JP37439998 A JP 37439998A JP 3847995 B2 JP3847995 B2 JP 3847995B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- compression
- storage means
- compressed data
- compressed
- 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
Links
Images
Landscapes
- Record Information Processing For Printing (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Description
【発明の属する技術分野】
本発明は、入力されたデータに圧縮処理を行い記憶手段に記憶させる処理を行うデータ処理装置およびそのデータ処理方法に関するものである。
【0002】
【従来の技術】
従来、所定容量のメモリ上で所定のデータに対して圧縮処理を行い、あるいは該圧縮処理された圧縮データを伸長処理するデータ処理装置あるいは該データ処理装置を備えるプリンタ制御装置では、データ圧縮を行なう場合、あらかじめ圧縮後のデータサイズを知ることはできないように構成されていた。
【0003】
【発明が解決しようとする課題】
従来のデータ処理装置あるいはプリンタ制御装置は上記のように構成されているので、所定のデータに対してデータ圧縮を行なう場合、あらかじめ圧縮後のデータサイズが分からないため圧縮コードを保存するメモリ容量が十分でないと、圧縮処理中にメモリオーバーフローが起きてしまうという問題点があった。
【0004】
本発明は、上記の問題点を解決するためになされたもので、本発明の目的は、記憶手段に記憶できない容量の圧縮データを記憶手段へ転送するのを適切に制限することができる仕組みを提供することである。
【0005】
【課題を解決するための手段】
本発明に係るデータ処理装置は、下記の特徴的構成を備える。
入力データに圧縮処理を行って圧縮データを生成する圧縮手段と、前記圧縮データを記憶するための記憶手段と、前記圧縮データの容量を計数する計数手段と、前記圧縮データを前記記憶手段へ転送するか否かを設定する設定手段と、前記設定手段が前記圧縮データを前記記憶手段へ転送しない第1の設定をしている場合は前記圧縮データの前記記憶手段への転送を実行せず、前記設定手段が前記圧縮データを前記記憶手段へ転送する第2の設定をしている場合は前記圧縮データの前記記憶手段への転送を実行するよう制御する転送制御手段とを有し、前記計数手段により計数された前記圧縮データの容量が前記記憶手段に記憶可能な容量である場合、前記設定手段は前記第1の設定を前記第2の設定に変更し、前記圧縮手段は前記入力データの圧縮処理を再び行い、前記転送制御手段は該圧縮処理により生成された圧縮データを前記記憶手段へ転送することを特徴とする。
本発明に係るデータ処理装置のデータ処理方法は、下記の特徴的構成を備える。
データを入力する入力工程と、前記入力工程にて入力された入力データに圧縮処理を行って圧縮データを生成する圧縮工程であって、前記圧縮データを記憶手段へ転送せずに前記圧縮データの容量を計数する第1の圧縮工程と、前記第1の圧縮工程にて計数された前記圧縮データの容量が前記記憶手段に記憶可能な容量であるか否かを判定する判定工程と、前記判定工程にて前記圧縮データの容量が前記記憶手段に記憶可能な容量であると判定された場合に、前記入力工程にて入力されたデータに再び圧縮処理を行って圧縮データを生成する圧縮工程であって、前記圧縮データを前記記憶手段へ転送する第2の圧縮工程とを有することを特徴とする。
【0020】
【発明の実施の形態】
本発明の実施形態について以下に添付図面を参照しながら詳細に説明する。
【0021】
図1は、本発明の一実施形態を示すデータ処理装置を適用可能なプリンタ制御システムの構成を説明するブロック図であり、ホスト1000とホストI/F104を介してプリンタ3000とが通信可能なプリンタ制御システムに対応する。
【0022】
図において、1000はホストコンピュータであり、いわゆるCPU,ROM,RAM等を備える制御ボードにFDD,ハードディスク(HDD)を接続してハードディスクに記憶されたワープロソフトや表計算等の種々のアプリケーションソフトを実行し、RAM上でデータ作成処理を行う。
【0023】
さらに、ホストコンピュータ1000は、印刷を行うときにはプリンタドライバソフトウエアを実行し、プリンタ固有の制御言語(以下、「ページ記述言語」と記す)で表現された印刷情報を作成する。そして、ページ記述言語で表現された印刷情報はインタフェース線2000を介してプリンタ3000に送出される。また、双方のステータス情報等のやり取りも行っている。
【0024】
プリンタコントローラ3001において、101はCPUで、ROM107に記憶された制御プログラムに基づきシステムバス105に接続された各種のデバイスヘのアクセスを統括的に制御し、印刷部インタフェース109を介して接続される印刷部(プリンタエンジン)3002に出力情報としての画像信号を出力する。
【0025】
また、このROM107のプログラムROMには、図2〜図4に示すフローチャートで示されるようなCPU101の制御プログラム等が、ROM107のフォントROMには上記出力情報を作成する際に使用するフォントデータ等が、ROM107のデータROMには帳票データ等のフォーム情報が記憶されている。
【0026】
108はRAMで、CPU101の主メモリ、ワークエリア等として機能し、図示しない増設ポートに接続されるオプションRAMによりメモリ容量を拡張することができるように構成されている。なお、RAM108は、出力イメージ展開領域、環境データ格納領域等に用いられる。
【0027】
106はメモリコントローラ(MC)で、前記ROM107、RAM108、またはHD(ハードディスク)等の不図示の外部メモリの制御を行う。102はレンダリングICであり、CPU101が印刷情報から作成する中間言語(以下、「オブジェクト」と記す)を解釈し、RAM108の出力イメージ展開領域に出力イメージを展開する。
【0028】
103は圧縮・伸長ICで、出力イメージの圧縮処理または伸長処理を行う。3002は印刷部で、印刷部インタフェース109を介して画像データを受信して、記録媒体に画像を出力する。3003は操作部で、スイッチ、LED、液晶表示器等が配されており、外部からスイッチによりプリンタの種々の設定を行うことができる。
【0029】
このように構成されたプリンタ制御システムにおいて、本発明を適用したデータ処理を図2〜図4に示される制御フローを参照しながら説明する。
【0030】
図1において、ホストコンピュータ1000からページ記述言語で表現された印刷情報がインタフェース線2000を介して送出されると、プリンタコントローラ3001は図2〜図4に示される制御フローで動作する。
【0031】
図2〜図4は、本発明の実施形態を示すデータ処理装置におけるデータ処理手順の一例を示すフローチャートである。なお、(201)〜(212),(301)〜(314),(401)〜(410)はそれぞれステップを示す。特に、図3は、動作ステップ(205)からイリーガル処理である動作ステップ(208)へ移行したときの処理手順を示す制御フローに対応する。
【0032】
図2において、ステップ(201)では、内蔵メモリ、各種デバイス、I/O等の初期化を行いプリンタはレディ状態となる。
【0033】
次に、ステップ(202)では、図1におけるRAM108のページバッファ領域に印刷情報が入っているかどうか判断して、ページバッファに印刷情報が入っていると判断した場合には動作ステップをステップ(203)に移し、入っていないと判定した場合には、ステップ(202)を繰り返して、ページバッファの監視を続ける。
【0034】
ステップ(202)でページバッファに印刷情報が入っていると判断した場合は、ステップ(203)で、ページバッファに格納されている印刷情報の解析を行い、ステップ(204)で、ステップ(203)の解析結果に基づき、レングリングIC102が解釈するオブジェクトを作成し、該作成されたオブジェクトは図1に示したRAM108のオブジェクト領域に格納する。
【0035】
次に、ステップ(205)では、オブジェクト領域の使用可能容量を監視して、オブジェクト数が大量でオブジェクト領域を超えてしまうかどうかを判定して、超えてしまうと判定した場合には、ステップ(208)に進み、イリーガル処理を実行する。
【0036】
一方、ステップ(205)で、超えないと判定した場合には、ステップ(206)に進み、1ページ分のオブジェクトが作成されたかどうか判断し、1ページ分のオブジェクトが作成されていないと判断した場合は、ステップ(203)へ戻る。
【0037】
一方、ステップ(206)で、1ページ分のオブジェクトが作成されていると判断した場合は、ステップ(207)へ進み、バンド処理を行うために、各バンドを構成するオブジェクトを調べ、全バンドで後述するバンドレンダリングが可能かどうか判断し、全バンドでバンド処理が可能でないと判定した場合には、ステップ(208)へ進み、後述するイリーガル処理を実行する。なお、ここで言うバンド処理とは作成する1ページ分の印刷イメージを複数のバンドに分割して行うことを言い、バンドレンダリング、プリンタエンジンヘの出力を同期させることで省メモリを図る技術である。また、オブジェクトはどのバンドを構成するオブジェクトであるか管理されているものとする。
【0038】
一方、ステップ(207)で、全バンドでバンド処理が可能であると判定した場合には、ステップ(209)へ進み、バンドレンダリングを行う。
【0039】
次に、ステップ(210)では、プリンタエンジンにバンド展開した印刷イメージを送出する。この時、次のバンドのレンダリング処理が並行して行われる。
【0040】
そして、ステップ(211)では、全バンドがすべて処理されたか判断し、全バンドが終了していないと判定した場合には、ステップ(209)へ戻る。
【0041】
一方、ステップ(211)で、全バンドがすべて処理されていると判断した場合には、ステップ(212)へ進み、印刷が全ページ終了したかどうかを判断し、全ページ終了していれば、印刷処理を終了する。
【0042】
一方、ステップ(212)で、印刷が全ページ終了していないと判断された場合には、ステップ(203)へ戻り、印刷情報の解析、オブジェクトの作成等を含む一連の印刷処理を繰り返す。
【0043】
次に、上記ステップ(208)におけるイリーガル処理手順を詳細に説明する。
【0044】
まず、図3において、ステップ(301)では、オブジェクトメモリが飽和状態にあるのでオブジェクトメモリを空けるため、それまで作成したオブジェクトでバンドにレンダリングを行う。次に、ステップ(302)では、仮圧縮を使って圧縮コードを計数し、ステップ(303)では、圧縮コードサイズを調べ、圧縮コード格納領域の残容量が圧縮コードサイズ未満かどうかを判断し、圧縮コード格納領域の残容量が圧縮コードサイズ未満であると判断した場合には、ステップ(305)に進み、プリントエラー処理、例えばメモリ搭載量が不十分であることをユーザに通知し、プリント動作を終了するとともにエラー復帰待ち状態となる処理を実行する。
【0045】
一方、ステップ(303)で、圧縮コード格納領域の残容量が十分であると判断した場合は、バンドにレンダリングされたラスタイメージを圧縮・伸長処理装置としての圧縮/伸長IC103を用いて圧縮する(304)。
【0046】
そして、ステップ(306)に進み、レンダリングが完了したオブジェクトをRAM108上から破葉する。
【0047】
そして、ステップ(307)では、ステップ(306)において破棄されたオブジェクト領域をフリー状態にして、改めて続いて作られるオブジェクト領域として確保する。次に、ステップ(308)で、印刷情報を解析する。
【0048】
そして、ステップ(309)では、印刷情報の解析に基づきオブジェクトの作成を行い、該作成されたオブジェクトはステップ(307)で、RAM108上に確保されたオブジェクト領域に格納される。
【0049】
次に、ステップ(310)で、オブジェクト領域の使用可能容量を監視して、すなわち、オブジェクトメモリの残容量が「0」以上かどうかを判定して、NOならばステップ(301)へ戻り、YESならばステップ(311)で、1ページ分のオブジェクトを作成したかを判断し、作成が完了していないと判断した場合には、ステップ(301)へ戻り、一連の処理を続ける。
【0050】
一方、ステップ(311)で、1ページ分のオブジェクトの作成が完了していると判定した場合には、ステップ(312)で、1ページ分のラスタイメージの作成、圧縮が完了したので、次に、バンドメモリにラスタイメージを伸長する。そして、ステップ(313)で、先に伸長したラスタイメージをプリンタエンジン(印刷部3002)に送出する。この時、次に出力するバンドの伸長処理が並行して行われる。
【0051】
そして、ステップ(314)で、全バンドがすべて処理されたかどうかを判断し、全バンドが終了していると判断した場合には、当該イリーガル処理を抜けて、図2に示したステップ(212)へ戻る。
【0052】
一方、ステップ(314)で、全バンドがすべて処理が終了していないと判断した場合は、ステップ(312)へ戻り、イメージラスタの伸長処理を繰り返す。
【0053】
次に、図4に示すフローチャートを参照しながら、図2に示したステップ(207)からイリーガル処理であるステップ(208)ヘ移行したときの処理手順について説明する。
【0054】
まず、ステップ(401)では、一定時間内にレンダリングできないバンドを先行してレンダリングしておく。そして、ステップ(402)で、仮圧縮を使って圧縮コードを計数し、ステップ(403)では、圧縮コードサイズを調べ、圧縮コード格納領域の残容量が圧縮コードサイズ未満かどうかを判断し、圧縮コード格納領域の残容量が圧縮コードサイズ未満であると判断した場合には、ステップ(405)に進み、プリントエラー処理、例えばメモリ搭載量が不十分であることをユーザに通知し、プリント動作を終了するとともにエラー復帰待ち状態となる処理を実行する。
【0055】
一方、ステップ(403)で、RAM107上の圧縮コード格納領域の残容量が十分であると判断した場合は、ステップ(404)で、バンドにレンダリングされたラスタイメージを圧縮・伸長処理装置としての圧縮/伸長IC103を用いて圧縮する。
【0056】
次に、ステップ(406)に進み、プリンタエンジン(印刷部3002)ヘの出力準備をはじめ、処理バンドが先のステップ(401)、ステップ(404)で処理されたバンドかどうか判断し、すなわち圧縮されているバンドであるかどうかを判断し、圧縮されているバンドでないと判定した場合には、ステップ(408)へ進み、オブジェクトを解析し、バンドレンダリングを行い、ステップ(409)以降へ進む。
【0057】
一方、ステップ(406)で、圧縮されているバンドであると判定した場合には、ステップ(407)で、イメージラスタをバンドメモリに伸長して、ステップ(409)へ進み、バンドに展開されたラスタイメージをプリンタエンジンに送出する。この時、次に出力するバンドの伸長処理、またはバンドレンダリングが並行して行われる。
【0058】
そして、ステップ(410)で、全バンドがすべて処理されたかどうかを判断し、全バンドが終了していると判断した場合には、当該イリーガル処理を抜けて、図2に示したステップ(212)に戻る。
【0059】
一方、ステップ(410)で、全バンドが終了していないと判断した場合には、ステップ(406)に戻り、一連の処理を続ける。以上、説明した処理を行うことで印刷処理がなされる。
【0060】
次に、図5,図6を参照しながら、図3に示したステップ(302)、図4に示したステップ(402)で行うイメージラスタ圧縮を説明する。
【0061】
図5は、図1に示した圧縮/伸長処理IC103の構成の一例を示すブロック図である。
【0062】
図において、501はソースFIFOメモリ(本実施形態では8ワードx32ビット)で、圧縮を行う際には読み込んだイメージラスタを、また伸長を行う際には読み込んだ圧縮コードを一時保存する。
【0063】
502はデスティネーションFIFOメモリ(本実施形態では8ワードx32ビット)で、圧縮を行う際には圧縮/伸長コア503がエンコードした圧縮コードを、また伸長を行う際には圧縮/伸長コア503がデコードしたラスタイメージを一時保存する。
【0064】
504はDMAコントローラで、システムバスの使用権の要求等一連のメモリアクセスサイクルを発生させる。本実施形態では説明を簡単にするため4ワードのバースト転送のみをサポートし、ソース及びデスティネーションDMAの2チヤンネルがあるものとする。
【0065】
505はI/Oコントローラで、図1に示したCPU101による内部レジスタ506の設定等を制御する。なお、内部レジスタ506は「0x80000000」〜「0x8000003C」に、またソースデータ(ラスタイメージ)の格納アドレスは「0x1000000」〜「0x1FFFFFFF」、圧縮コード(デスティネーションデータ)格納アドレスは「0x20000000」〜「0x2FFFFFFF」にマッピングされているものとして説明するが、これは一意なものではなくシステム構成に応じて任意である。以下、内部レジスタ506の構成を図6に示す。なお、実施形態を説明する上で不必要なものは図示しない。
【0066】
図6は、図5に示した内部レジスタ506の構成の一例を示す図である。
【0067】
図において、コントロールレジスタのビット「0」に割り当てられたENC(ENCode)に、「1」をセットすると圧縮モード、「0」をセットすると伸長モードとなる。
【0068】
また、ビット「1」に割り当てられたNDW(No Destinaton Write)に、「1」をセットすると、圧縮時にデスティネーションFIFOメモリ502に保持された圧縮コードをメモリ(例えば図1に示したRAM108)にライトしないモードが選択される。また、ビット「1」に割り当てられたNDWに「0」がセットされると、通常のメモリライトを行うモードとなる。
【0069】
SA(Source Adress)レジスタは、圧縮時には、圧縮するラスタイメージの格納アドレスをセットし、伸長時には、圧縮コードの格納アドレスをセットするものである。SD(Source Data)レジスタは、読み込むソースデータのワード数をセットするものである。
【0070】
DA(Destination Address)レジスタは、圧縮時には、ラスタイメージを圧縮して生成された圧縮コードを格納するアドレスをセットし、伸長時には、圧縮コードを伸長し戻されたラスタイメージの格納アドレスをセットするものである。DD(Destination Data)レジスタは、メモリに書き込むソースデータのワード数をセットするものである。
【0071】
DMAレジスタの、ビット「0」に割り当てられたSEQEN(SEQuence ENable)に「1」をセットすることで一連のDMAデクセスが開始される。なお、圧縮、または伸長動作が終了すると、ビット「1」に割り当てられたINT(INTerrupt)が「1」にセットされ出力ピンを通じてCPU101に知らせる。
【0072】
DWWC(Destination Write Word Count)レジスタは、圧縮時、デスティネーションDMAでメモリに書き込まれる圧縮コードのワード数をカウントするものである。
【0073】
このように構成された圧縮/伸長IC103は、上述した印刷工程において、圧縮処理ルーチンが呼び出されると、CPU101は、圧縮/伸長IC103の内部レジスタの設定を行う。まず、圧縮率を調べるために、コントロールレジスタには、「0x00000003」をセットする。
【0074】
また、SAレジスタには、ラスタイメージの格納アドレス、例えば「0x10000000」を、SDレジスタには、読み込むラスタイメージのワード数、例えば512(ワード)を、DAレジスタには、圧縮コードの格納アドレス、例えば「0x20000000」を、DDレジスタには、書き込む圧縮コードのワード数、例えばSDレジスタにセットする値と同じ「512」をセットする。
【0075】
なお、DDレジスタにSDレジスタにセットする値と同じ値をセットしたのは、無損失圧縮アルゴリズムではデータによっては圧縮率が極端に悪く、場合によっては元データよりも圧縮コードの方がデータ数が多くなってしまう場合があるため、先に示したように設定する。
【0076】
以上の設定が終了した後、DMAレジスタに「0x00000001」をセットし、該セットが完了すると、圧縮/伸長IC103は動作を開始する。
【0077】
DMAシーケンサ(DMAコントローラ504)はソースFIFOメモリ501、及びデスティネーションFIFOメモリ502のフラグ(EMPTY=0、HALF=4、FULL=8)をセンスしており、ソースDMAでは、「EMPTY」or「HALF」で起動がかかり、デスティネーションDMAでは、「HALF」or「FULL」and(notNDW)で起動がかかるように設計されている。
【0078】
デスティネーションDMAに付加されている(notNDW)の論理は、デスティネーションDMAを行わないモードを指定するためのものである。
【0079】
まず、ソースDMAが起動され、前述の論理が「正」であるうちはラスタイメージの読み込みを行う。
【0080】
その際、DMAコントローラ504からソースFIFOメモリ501に出力されるWRパルス信号によってソースFIFOメモリ501ヘの保持がなされる。一方、圧縮コアはソースFIFOメモリ501に対し、RDパルス信号を出力し、ソースFIFOメモリ501からコア内部へラスタイメージデータの取り込みを行う。なお、WRパルス、RDパルスの出力は非同期である。
【0081】
圧縮/伸長コア503内部にラスタイメージが取り込まれると、圧縮/伸長コア503は順次無損失圧縮アルゴリズムを実行し、圧縮コードの生成を行う。圧縮コードが一定量貯まると、圧縮/伸長コア503はデスティネーションFIFOメモリ502、DWWCレジスタに対しWRパルスを出力する。そして、デスティネーションFIFOメモリ502では、圧縮/伸長コア503が出力するWRパルスによって圧縮コードの保持がなされる。
【0082】
また、DWWCレジスタでは、WRパルスをカウントパルスとし、カウントアップ「+1」がなされる。デスティネーションFIFOメモリ502が一定量(HALF、またはFULL)貯まると、通常ではデスティネーションDMAが起動し、DMAコントローラ504から出力されるRDパルス信号によって読み出され、起動したDMAサイクルでメモリ(例えばRAM108)に書き込まれるが、この場合は、NDWレジスタ(コントロールレジスタのビット「1」に割り当てられる)が設定されているためデスティネーションDMAが起動されず、デスティネーションFIFOメモリ502へのアクセスは圧縮/伸長コア503からの圧縮コードのライトアクセスのみである。
【0083】
この際、デスティネーションFIFOメモリ502内部では、アドレスポインタは読み込みアクセスがないため書き込みワード数が8ワード以上ではアドレスポインタは動かず、最上位アドレスにオーバーライトが発生していることとなる。そして、この一連の動作をすべての処理が終了し、CPU101への割り込みが発生するまで行う。そして、割り込みルーチンで、前述のDWWCレジスタを読むことで、圧縮/伸長コア503が生成した圧縮コードのワード数を知ることができる。
【0084】
つまり、ソースDMA、圧縮/伸長コア503のみを動作させ、デスティネーションDMAを起動させないことにより、圧縮コードをメモリに書き込まず、圧縮コードのワード数を知ることができる。次に、通常の圧縮動作に移る。
【0085】
コントロールレジスタには、「0x00000001」をセットする。SAレジスタには、ラスタイメージの格納アドレス、例えば「0x10000000」を、SDレジスタには、読み込むラスタイメージのワード数、例えば512(ワード)を、DAレジスタには、圧縮コードの格納アドレス、例えば0x20000000を、DDレジスタには、圧縮率を調べる処理で得た圧縮コードのワード数をセットする。
【0086】
以上の設定が終了した後、DMAレジスタに「0x00000001」をセットし、該セットが完了すると、圧縮/伸長IC103は動作を開始し、ソースデータの読み出し、圧縮処理、圧縮コードの書き込みの通常処理がなされ、割り込みによってCPUに圧縮終了を知らせる。
【0087】
以上説明したように、ソースDMA、圧縮/伸長コア503の圧縮コアのみを動作させることで、圧縮コードのワード数を知ることが可能となり、その結果圧縮率を知ることが可能となり、メモリオーバーフローを事前に知ることができる。また、RAM107等のプリンタメモリの有効活用にもつながる。
【0088】
上記実施形態によれば、圧縮率を調べるモードを用意することで、事前にメモリオーバーフローするか否かの判断が可能となる。また少ないメモリの有効活用にもつながる。
【0089】
以下、図7に示すメモリマップを参照して本発明に係るデータ処理装置で読み出し可能なデータ処理プログラムの構成について説明する。
【0090】
図7は、本発明に係るデータ処理装置で読み出し可能な各種データ処理プログラムを格納する記憶媒体のメモリマップを説明する図である。
【0091】
なお、特に図示しないが、記憶媒体に記憶されるプログラム群を管理する情報、例えばバージョン情報,作成者等も記憶され、かつ、プログラム読み出し側のOS等に依存する情報、例えばプログラムを識別表示するアイコン等も記憶される場合もある。
【0092】
さらに、各種プログラムに従属するデータも上記ディレクトリに管理されている。また、各種プログラムをコンピュータにインストールするためのプログラムや、インストールするプログラムが圧縮されている場合に、解凍するプログラム等も記憶される場合もある。
【0093】
本実施形態における図2〜図4に示す機能が外部からインストールされるプログラムによって、ホストコンピュータにより遂行されていてもよい。そして、その場合、CD−ROMやフラッシュメモリやFD等の記憶媒体により、あるいはネットワークを介して外部の記憶媒体から、プログラムを含む情報群を出力装置に供給される場合でも本発明は適用されるものである。
【0094】
以上のように、前述した実施形態の機能を実現するソフトウエアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記憶媒体に格納されたプログラムコードを読出し実行することによっても、本発明の目的が達成されることは言うまでもない。
【0095】
この場合、記憶媒体から読み出されたプログラムコード自体が本発明の新規な機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【0096】
プログラムコードを供給するための記憶媒体としては、例えば、フロッピーディスク,ハードディスク,光ディスク,光磁気ディスク,CD−ROM,CD−R,磁気テープ,不揮発性のメモリカード,ROM,EEPROM等を用いることができる。
【0097】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているOS(オペレーティングシステム)等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0098】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0099】
【発明の効果】
以上説明したように、本発明によれば、入力データを圧縮した圧縮データの容量が記憶手段に記憶可能な容量であることを確認した上で、入力データを圧縮して記憶手段に記憶させることができるという効果を奏する。
【図面の簡単な説明】
【図1】本発明の一実施形態を示すデータ処理装置を適用可能なプリンタ制御システムの構成を説明するブロック図である。
【図2】本発明の実施形態を示すデータ処理装置におけるデータ処理手順の一例を示すフローチャートである。
【図3】本発明の実施形態を示すデータ処理装置におけるデータ処理手順の一例を示すフローチャートである。
【図4】本発明の実施形態を示すデータ処理装置におけるデータ処理手順の一例を示すフローチャートである。
【図5】図1に示した圧縮/伸長処理ICの構成の一例を示すブロック図である。
【図6】図5に示した内部レジスタの構成の一例を示す図である。
【図7】本発明に係るデータ処理装置で読み出し可能な各種データ処理プログラムを格納する記憶媒体のメモリマップを説明する図である。
【符号の説明】
1000 ホストコンピュータ
2000 インタフェース線
3000 プリンタ
3001 プリンタコントローラ
3002 プリンタエンジン
3003 プリンタ操作部
101 CPU
102 レングリングIC
103 圧縮/伸長IC
104 ホストインタフェース制御部
105 システムバス
106 メモリコントローラ
107 ROM
108 RAM
109 印刷部I/F
Sxxx 動作ステップ
Claims (6)
- 入力データに圧縮処理を行って圧縮データを生成する圧縮手段と、
前記圧縮データを記憶するための記憶手段と、
前記圧縮データの容量を計数する計数手段と、
前記圧縮データを前記記憶手段へ転送するか否かを設定する設定手段と、
前記設定手段が前記圧縮データを前記記憶手段へ転送しない第1の設定をしている場合は前記圧縮データの前記記憶手段への転送を実行せず、前記設定手段が前記圧縮データを前記記憶手段へ転送する第2の設定をしている場合は前記圧縮データの前記記憶手段への転送を実行するよう制御する転送制御手段とを有し、
前記計数手段により計数された前記圧縮データの容量が前記記憶手段に記憶可能な容量である場合、前記設定手段は前記第1の設定を前記第2の設定に変更し、前記圧縮手段は前記入力データの圧縮処理を再び行い、前記転送制御手段は該圧縮処理により生成された圧縮データを前記記憶手段へ転送することを特徴とするデータ処理装置。 - 前記転送制御手段は、DMAコントローラであり前記圧縮データの前記記憶手段へのDMA転送を制御することを特徴とする請求項1に記載のデータ処理装置。
- 前記入力データは、外部装置から受信するページ記述言語に基づくPDLデータから作成される中間データをレンダリングして生成されるラスタイメージデータとすることを特徴とする請求項1に記載のデータ処理装置。
- データを入力する入力工程と、
前記入力工程にて入力された入力データに圧縮処理を行って圧縮データを生成する圧縮工程であって、前記圧縮データを記憶手段へ転送せずに前記圧縮データの容量を計数する第1の圧縮工程と、
前記第1の圧縮工程にて計数された前記圧縮データの容量が前記記憶手段に記憶可能な容量であるか否かを判定する判定工程と、
前記判定工程にて前記圧縮データの容量が前記記憶手段に記憶可能な容量であると判定された場合に、前記入力工程にて入力されたデータに再び圧縮処理を行って圧縮データを生成する圧縮工程であって、前記圧縮データを前記記憶手段へ転送する第2の圧縮工程とを有することを特徴とするデータ処理装置のデータ処理方法。 - 前記転送工程は、前記第2の圧縮工程により生成された前記圧縮データを前記記憶手段にDMA転送することを特徴とする請求項4に記載のデータ処理方法。
- 前記入力データは、外部装置から受信するページ記述言語に基づくPDLデータから作成される中間データをレンダリングして生成されるラスタイメージデータとすることを特徴とする請求項4に記載のデータ処理装置のデータ処理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP37439998A JP3847995B2 (ja) | 1998-12-28 | 1998-12-28 | データ処理装置およびデータ処理装置のデータ処理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP37439998A JP3847995B2 (ja) | 1998-12-28 | 1998-12-28 | データ処理装置およびデータ処理装置のデータ処理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2000194517A JP2000194517A (ja) | 2000-07-14 |
JP3847995B2 true JP3847995B2 (ja) | 2006-11-22 |
Family
ID=18503784
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP37439998A Expired - Fee Related JP3847995B2 (ja) | 1998-12-28 | 1998-12-28 | データ処理装置およびデータ処理装置のデータ処理方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3847995B2 (ja) |
-
1998
- 1998-12-28 JP JP37439998A patent/JP3847995B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2000194517A (ja) | 2000-07-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPH10124268A (ja) | 印字制御装置 | |
EP3887932A1 (en) | Aggregating commands in a stream based on cache line addresses | |
KR100524076B1 (ko) | 데이터 압축 및 복원 장치 | |
JP3847995B2 (ja) | データ処理装置およびデータ処理装置のデータ処理方法 | |
JP3854790B2 (ja) | 画像処理装置及び方法及び記憶媒体 | |
US5218678A (en) | System and method for atomic access to an input/output device with direct memory access | |
KR101109600B1 (ko) | 직접 메모리 접근 제어를 이용한 데이터 전송 방법 및 그장치 | |
JP3261307B2 (ja) | 印刷装置および印刷装置のデータ処理方法 | |
JPH04284551A (ja) | 圧縮データを格納した読み出し専用メモリを備えた装置 | |
JP3791404B2 (ja) | 画像処理装置 | |
JP2005005903A (ja) | データ処理システム | |
KR100611249B1 (ko) | 트랜잭션을 줄일 수 있는 그래픽 처리 유닛 | |
JP2001328298A (ja) | ページプリンタ制御装置の制御方法 | |
JPH09294210A (ja) | 画像処理装置及び画像処理方法 | |
JPH111033A (ja) | 印刷制御装置、印刷制御方法、及び、記憶媒体 | |
JPH11102268A (ja) | 印刷装置及び印刷制御方法 | |
JP4394891B2 (ja) | ページプリンタ制御装置 | |
JP3481284B2 (ja) | 画像圧縮データ復号装置 | |
JP2008071054A (ja) | データ転送制御方法、データ処理装置及び画像処理装置 | |
JP2000094764A (ja) | 画像出力方法及び装置 | |
JP2003072161A (ja) | 印刷制御装置および印刷制御方法および記憶媒体およびプログラム | |
CN117043747A (zh) | 用于促进高效的硬件-固件交互的装置、系统和方法 | |
JP6080490B2 (ja) | 情報処理装置、起動方法およびプログラム | |
JPH0952393A (ja) | 印刷装置および印刷装置の文字処理方法 | |
JPH07320066A (ja) | 画像処理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20050623 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050719 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050920 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060124 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060327 |
|
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: 20060822 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20060824 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090901 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100901 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110901 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110901 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120901 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120901 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130901 Year of fee payment: 7 |
|
LAPS | Cancellation because of no payment of annual fees |