JPH09258715A - Image forming device and method - Google Patents
Image forming device and methodInfo
- Publication number
- JPH09258715A JPH09258715A JP8064588A JP6458896A JPH09258715A JP H09258715 A JPH09258715 A JP H09258715A JP 8064588 A JP8064588 A JP 8064588A JP 6458896 A JP6458896 A JP 6458896A JP H09258715 A JPH09258715 A JP H09258715A
- Authority
- JP
- Japan
- Prior art keywords
- data
- image forming
- font
- font object
- image
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Landscapes
- Record Information Processing For Printing (AREA)
- Image Generation (AREA)
- Controls And Circuits For Display Device (AREA)
Abstract
Description
【0001】[0001]
【発明の属する技術分野】本発明は、描画データ(例え
ば、文字コード及び文字サイズ等を指定するデータ)に
基づいて生成された文字パターン等のフォントオブジェ
クトを用いて描画処理を行なう画像処理装置及び方法に
関する。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an image processing apparatus for performing drawing processing by using a font object such as a character pattern generated based on drawing data (for example, data designating a character code and a character size). Regarding the method.
【0002】[0002]
【従来の技術】従来、プリンタ等の文字出力を行なう画
像処理装置では、データ処理解像度に従って外部より指
定された文字コード及び文字サイズに対応した文字パタ
ーン、文字の輪郭を構成する座標点列データ(アウトラ
インデータ)、或はこのアウトラインデータを加工して
得られたベクトルデータ等(本明細書ではこれらを総称
してフォントオブジェクトと称する)を生成する。そし
て、生成されたフォントオブジェクトを紙面やディスプ
レイに対応したページメモリ上に描画することで文字の
描画処理を行っている。2. Description of the Related Art Conventionally, in an image processing apparatus such as a printer for outputting characters, a character pattern corresponding to a character code and a character size designated from the outside according to the data processing resolution, coordinate point sequence data (constituting character contours) Outline data), or vector data and the like obtained by processing the outline data (in the present specification, these are collectively referred to as a font object). Then, the generated font object is drawn on the page memory corresponding to the paper surface or the display to perform the character drawing process.
【0003】また、処理速度を向上させるために、一度
生成したフォントオブジェクトを当該画像処理装置のワ
ークメモリ(RAM)内に保持しておき、これを再利用
する、いわゆるフォントキャッシュ処理が行われてい
る。即ち、文字の出力要求があった場合にはワークメモ
リを検索し、同一フォント・同一文字コードの生成済み
のフォントオブジェクトが見つかった場合は、これを参
照して描画することにより、描画時間を短縮する。In order to improve the processing speed, a so-called font cache process is performed in which a font object once generated is held in the work memory (RAM) of the image processing apparatus and is reused. There is. That is, when a character output request is made, the work memory is searched, and if a generated font object with the same font and the same character code is found, the drawing time is shortened by referring to this and drawing. To do.
【0004】一方、画像処理装置に対するユーザーのニ
ーズとしてより高品位な画像出力が望まれており、それ
に伴ってデータ処理解像度が上昇し、データ処理に必要
なワークメモリの容量も増加している。On the other hand, higher quality image output is desired as a user's need for the image processing apparatus, and accordingly, the data processing resolution is increased and the capacity of the work memory necessary for the data processing is also increased.
【0005】そこで従来の画像処理装置では、生成した
フォントオブジェクトに圧縮処理を施して保持してお
き、描画等に際して伸長処理を行ない復元する等の方法
を用いて使用メモリの削減を図っている。Therefore, in the conventional image processing apparatus, the generated font object is subjected to compression processing and retained, and decompression processing is performed at the time of drawing to restore the memory used.
【0006】[0006]
【発明が解決しようとする課題】しかしながら上記従来
例では、以下に説明するような問題点がある。すなわ
ち、従来の画像処理装置では、スケーラブルデータを元
にフォントパターンを生成するフォントスケーラ(文字
生成手段)が用いるワークメモリや、文字修飾、クリッ
プ処理等を行なう際に使用するワークメモリの容量など
から、扱えるフォントオブジェクトにはサイズ的な上限
がある。そのため、従来のフォントスケーラでは、一定
サイズ以上の文字に対しては文字パターンを生成するの
ではなく、アウトラインデータを加工してベクトルデー
タを生成し、続く描画処理において該ベクトルデータを
ランレングス等の図形オブジェクトに変換することによ
って、省メモリで大きなサイズの文字の描画を可能とし
ている。However, the above-mentioned conventional example has the following problems. That is, in the conventional image processing apparatus, the work memory used by the font scaler (character generation means) that generates a font pattern based on the scalable data and the capacity of the work memory used when performing character modification, clip processing, etc. , There is an upper limit on the size of the font object that can be handled. Therefore, the conventional font scaler does not generate a character pattern for a character of a certain size or more, but processes outline data to generate vector data, and the vector data is processed by a run length or the like in a subsequent drawing process. By converting it into a graphic object, it is possible to draw large size characters with less memory.
【0007】このように、一定サイズ以上の文字は、図
形として描画処理されていたため、同一文字種・同一文
字コードの印字要求があった際も、生成済みのフォント
オブジェクト(ベクトルデータ)を参照することができ
ず、フォントスケーラは再度同じベクトルデータを生成
する必要が生じ、処理速度の向上が望めなかった。As described above, since characters of a certain size or larger are drawn as graphics, even when a print request for the same character type and the same character code is made, the generated font object (vector data) should be referenced. However, the font scaler needed to generate the same vector data again, and the processing speed could not be improved.
【0008】また、ハードウェアの制限などから、圧縮
可能な文字サイズにも上限があるのが一般的で、大きな
サイズの文字は圧縮処理ができず、メモリ量の低減に支
障を来している。Also, due to hardware limitations, etc., there is generally an upper limit on the size of characters that can be compressed, and large-sized characters cannot be compressed, which impedes the reduction of the amount of memory. .
【0009】本発明は上記の問題に鑑みてなされたもの
であり、フォントオブジェクトを分割して保持、再利用
することを可能とし、処理速度の向上を可能とする画像
処理装置及びその方法を提供することを目的とする。The present invention has been made in view of the above problems, and provides an image processing apparatus and method capable of dividing a font object, retaining it, and reusing it, thereby improving the processing speed. The purpose is to do.
【0010】また、本発明の他の目的は、フォントオブ
ジェクトを分割して保持することで、サイズの大きい文
字パターンでもキャッシングを可能とし、処理速度を向
上することにある。It is another object of the present invention to divide a font object and hold it so that a large character pattern can be cached and the processing speed is improved.
【0011】また、本発明の他の目的は、フォントオブ
ジェクトを分割して保持することで、サイズの大きい文
字パターンでも圧縮処理を施してキャッシングすること
を可能とし、メモリ容量の低減化を達成することにあ
る。Another object of the present invention is to divide a font object and hold it so that even a character pattern having a large size can be compressed and cached, and the memory capacity can be reduced. Especially.
【0012】更に、本発明の他の目的は、描画する各文
字の出現頻度に応じて、フォントオブジェクトの分割、
保持の実行を決定することを可能とし、フォントオブジ
ェクトの不要な分割、保持を防止して、処理効率を向上
することにある。Still another object of the present invention is to divide a font object according to the appearance frequency of each character to be drawn,
It is possible to determine execution of holding, prevent unnecessary division and holding of a font object, and improve processing efficiency.
【0013】[0013]
【課題を解決するための手段】上記の目的を達成するた
めの本発明による画像形成装置は以下の構成を備える。
即ち、画像形成データに基づいて画像を形成する画像形
成装置であって、画像形成データに基づいてフォントオ
ブジェクトを生成する生成手段と、前記生成手段で生成
されたフォントオブジェクトを分割して分割データを得
る分割手段と、前記分割手段で得られた分割データを保
持すると共に、当該フォントオブジェクトを再生するた
めの該分割データの連結情報を保持する保持手段と、前
記保持手段で保持された前記フォントオブジェクトが前
記画像形成データによって要求された場合、前記連結情
報に基づいて前記分割データを連結し、対応するフォン
トオブジェクトを形成して出力する出力手段とを備え
る。An image forming apparatus according to the present invention for achieving the above object has the following arrangement.
That is, an image forming apparatus that forms an image based on image forming data, and a generating unit that generates a font object based on the image forming data and a font object generated by the generating unit are divided to generate divided data. Dividing means for obtaining, dividing means obtained by the dividing means, holding means for holding connection information of the divided data for reproducing the font object, and the font object held by the holding means Is requested by the image formation data, the divided data is connected based on the connection information, and a corresponding font object is formed and output.
【0014】また、好ましくは、前記生成手段で生成さ
れたフォントオブジェクトが所定のサイズよりも大きい
か否かを判定する判定手段を更に備え、前記分割手段及
び前記保持手段は、前記フォントオブジェクトが前記所
定のサイズよりも大きいと判定された場合に実行され
る。フォントサイズの大きい文字について分割を行うの
で、フォントサイズが大きくてもキャッシング等の保持
が可能となる。Further, preferably, further comprising a judging means for judging whether or not the font object generated by the generating means is larger than a predetermined size, and the dividing means and the holding means include the font object for the font object. It is executed when it is determined that the size is larger than the predetermined size. Since the character having a large font size is divided, even if the font size is large, it is possible to retain the caching and the like.
【0015】前記保持手段は、前記判定手段によって前
記フォントオブジェクトが前記所定のサイズよりも小さ
いと判定された場合、該フォントオブジェクトをそのま
ま保持する。例えば、そのままの大きさでキャッシング
等の保持が可能なフォントオブジェクトは、分割せずに
そのまま保持されるので、無駄な分割処理が防止され、
処理効率が向上する。The holding means holds the font object as it is when the judgment means judges that the font object is smaller than the predetermined size. For example, a font object that can be retained for caching, etc. with the same size is retained as it is without being divided, so wasteful division processing is prevented,
Processing efficiency is improved.
【0016】また、好ましくは、前記分割手段は、前記
生成手段で生成されたフォントオブジェクトを前記所定
のサイズで分割して分割データを得る。例えば、所定の
サイズとしてフォントスケーラが扱える最大の大きさ、
或は圧縮が可能な最大の大きさとすることで、その分割
数を必要最小限に押さえることが可能となるからであ
る。Preferably, the dividing unit divides the font object generated by the generating unit into the predetermined size to obtain divided data. For example, the maximum size that the font scaler can handle as a predetermined size,
Alternatively, it is possible to suppress the number of divisions to the necessary minimum by setting the maximum compression size.
【0017】また、好ましくは、前記画像形成データに
基づいて画像形成される文字の各々の出現頻度を計測す
る計測手段と、前記計測手段によって計測された出現頻
度に基づいて、各文字に対する前記分割手段及び前記保
持手段の実行を制御する制御手段とを更に備える。出現
頻度の少ないフォントオブジェクトについて分割手段、
保持手段の実行を抑止することにより、処理効率を向上
できるからである。Preferably, the measuring means for measuring the appearance frequency of each of the characters image-formed based on the image forming data, and the division for each character based on the appearance frequency measured by the measuring means. Means and control means for controlling the execution of the holding means. A dividing means for font objects that appear less frequently,
This is because processing efficiency can be improved by suppressing the execution of the holding unit.
【0018】また、好ましくは、前記計測手段は、前記
画像形成データの1ページ分のデータに基づいて画像形
成される文字の出現頻度を計測する。Further, preferably, the measuring means measures the frequency of appearance of characters to be image-formed based on the data for one page of the image-forming data.
【0019】また、好ましくは、前記計測手段は、前記
画像形成データに基づいて画像形成される文字とそれぞ
れの出現頻度情報を登録する頻度テーブルを生成する。Further, preferably, the measuring means generates a frequency table for registering characters to be image-formed and their appearance frequency information based on the image-forming data.
【0020】また、好ましくは、前記出現頻度情報は、
前記頻度テーブルに登録された各文字について、その出
現回数が1回のものと2回以上のものを区別する情報で
ある。出現回数が1回のものはフォントキャッシュが参
照されることが無く、このようなフォントオブジェクト
の分割、保持を抑止することが可能となる。この結果、
少ないデータ量(出現回数が2回以上か否か)で処理効
率を著しく向上することが可能となる。Further, preferably, the appearance frequency information is:
For each character registered in the frequency table, it is information that distinguishes a character that appears once and a character that appears twice or more. If the number of appearances is one, the font cache is not referenced, and it is possible to prevent such division and retention of font objects. As a result,
It is possible to significantly improve the processing efficiency with a small amount of data (whether the number of appearances is two or more).
【0021】また、好ましくは、前記出力手段は、前記
保持手段で保持された前記フォントオブジェクトが前記
画像形成データによって要求された場合、前記分割デー
タの夫々を特定する情報とその描画位置を描画情報とし
て記憶する記憶手段と、前記記憶手段で記憶された描画
情報に基づいて可視画像形成のための描画を行う描画手
段とを備える。フォントオブジェクトを分割して得られ
た分割データを一つのフォントオブジェクトのように扱
うことが可能となり、従来の画像形成装置への適用が容
易となるからである。Further, preferably, when the font object held by the holding means is requested by the image forming data, the output means draws information for specifying each of the divided data and a drawing position thereof. And a drawing means for carrying out drawing for forming a visible image based on the drawing information stored in the storage means. This is because the divided data obtained by dividing the font object can be treated as one font object, and the application to the conventional image forming apparatus becomes easy.
【0022】また、好ましくは、前記保持手段は、前記
分割データを圧縮して格納し、前記出力手段は、前記圧
縮された分割データを伸長してフォントオブジェクトを
形成する。フォントオブジェクトを圧縮して保持するの
で、メモリの消費が低減される。Preferably, the holding means compresses and stores the divided data, and the output means decompresses the compressed divided data to form a font object. Compressing and holding font objects reduces memory consumption.
【0023】また、好ましくは、前記保持手段は、実行
可能な複数種類の圧縮処理を有し、前記分割データの各
々について異なる圧縮処理を施してこれらを保持すると
共に、前記連結情報に各分割データに適用した圧縮処理
を示す情報を付加し、前記出力手段は、前記連結情報で
示される圧縮処理に対応した伸長処理を適用して前記分
割データを伸長し、フォントオブジェクトを形成する。
複数種類の圧縮処理を用いることが可能となるので、各
分割データに適した圧縮処理を用いることができ、圧縮
効果を高めることができる。Further, preferably, the holding means has a plurality of types of compressing processing that can be executed, performs different compression processing on each of the divided data and holds them, and stores the divided data in the concatenated information. The information indicating the compression processing applied to the above is added, and the output means expands the divided data by applying the expansion processing corresponding to the compression processing indicated by the connection information to form a font object.
Since it is possible to use a plurality of types of compression processing, it is possible to use compression processing suitable for each divided data, and it is possible to enhance the compression effect.
【0024】また、好ましくは、前記所定のサイズと
は、圧縮が可能なサイズである。Further, preferably, the predetermined size is a size that allows compression.
【0025】また、好ましくは、前記フォントオブジェ
クトは、文字形状をピクセルのオン・オフで示した文字
パターン、或は文字に輪郭を構成する座評点列を示すア
ウトラインデータ、或はアウトラインデータを加工した
ベクトルデータのいずれかで構成される。Further, preferably, the font object is a character pattern in which a character shape is indicated by turning pixels on and off, or outline data indicating a series of score points constituting a contour of a character, or outline data is processed. It is composed of any of vector data.
【0026】また、好ましくは、前記画像形成データは
外部より入力される印刷データであり、前記出力手段で
形成されるフォントオブジェクトを記録紙上に印刷する
印刷手段を更に備える。本発明の印刷装置への適用が可
能となる。Further, preferably, the image forming data is print data inputted from the outside, and the image forming data further comprises a printing means for printing the font object formed by the output means on a recording paper. The present invention can be applied to the printing apparatus.
【0027】また、好ましくは、前記出力手段で形成さ
れるフォントオブジェクトを表示画面上に表示する表示
手段を更に備える。本発明の表示手段への適用が可能と
なる。[0027] Preferably, it further comprises display means for displaying the font object formed by the output means on a display screen. The present invention can be applied to display means.
【0028】また、好ましくは、前記出力手段で出力さ
れるフォントオブジェクトに基づいて画像を形成する形
成手段と、形成された画像を可視出力する可視出力手段
とを更に備える。また、好ましくは、前記可視出力手段
はプリンタである。Further, preferably, there is further provided a forming means for forming an image based on the font object output by the output means, and a visible output means for visually outputting the formed image. Also, preferably, the visible output means is a printer.
【0029】[0029]
【発明の実施の形態】以下に添付の図面を参照して本発
明の好適な実施形態について説明する。Preferred embodiments of the present invention will be described below with reference to the accompanying drawings.
【0030】[第1の実施形態]図1は本発明を適用可
能な画像処理装置の構成を示す断面図である。図1で
は、画像処理装置の一例として、レーザービームプリン
タ(以下LBP)の場合を示す。なお、本発明を適用可
能な文字処理装置はLBPに限られるものではなく、他
のプリント方式のプリンタ装置でも構わない。また、本
発明の機能が実行されるのであれば、単体の機器であっ
ても、LAN等のネットワークを介して処理が行なわれ
るシステムであっても良い。[First Embodiment] FIG. 1 is a sectional view showing the arrangement of an image processing apparatus to which the present invention can be applied. In FIG. 1, a case of a laser beam printer (hereinafter, LBP) is shown as an example of the image processing apparatus. The character processing device to which the present invention can be applied is not limited to the LBP, and may be a printer device of another print method. Further, as long as the function of the present invention is executed, it may be a single device or a system in which processing is performed via a network such as a LAN.
【0031】図1において、100はLBP本体であ
り、外部に接続されているホストコンピュータ(図2の
200)から供給される文字情報(フォント書体名や文
字サイズ、文字コード等)や図形データ(円、ライン、
矩形等)あるいはマクロ命令などを入力して記憶すると
ともに、それらの情報に従って対応する文字パターンや
図形パターンなどを作成し、記録媒体である記録紙上に
像を形成する。In FIG. 1, reference numeral 100 denotes an LBP body, which is character information (font typeface name, character size, character code, etc.) and graphic data (such as a font typeface name) supplied from an externally connected host computer (200 in FIG. 2). Circle, line,
(Rectangles etc.) or macro commands are input and stored, and corresponding character patterns and graphic patterns are created in accordance with the information, and an image is formed on a recording paper as a recording medium.
【0032】112は操作のためのスイッチ及びLED
表示器などが配されている操作パネル、101はLBP
100全体の制御及びホストコンピュータから供給され
る該印刷データを解析するプリンタ制御ユニットであ
る。この制御ユニット101は、主に文字情報を対応す
る文字パターンのビデオ信号に変換してレーザドライバ
102上に出力する。Reference numeral 112 denotes a switch and an LED for operation.
An operation panel on which a display and the like are arranged, 101 is an LBP
A printer control unit for controlling the entire 100 and analyzing the print data supplied from the host computer. The control unit 101 mainly converts character information into a video signal of a corresponding character pattern and outputs the video signal on the laser driver 102.
【0033】また、このLBPは不図示のデータ源から
文字パターンの登録やフォームデータなどの登録も行
え、同様に印字データに応じてビデオ信号に変換してレ
ーザドライバ102に出力する。レーザドライバ102
は半導体レーザ103を駆動するための回路であり、入
力されたビデオ信号に応じて半導体レーザ103から発
射されるレーザ光104をオンオフ切り替えする。レー
ザ104は回転多面鏡105で左右方向に振られ静電ド
ラム106上を走査する。これにより、静電ドラム10
6上には文字パターンの静電潜像が形成される。この潜
像は、静電ドラム106周囲の現像ユニット107によ
り現像された後、記録紙上に転送される。この記録紙に
はカットシートを用い、カットシート記録紙はLBP1
00に密着した用紙カセット108に収納され、給紙ロ
ーラ109及び搬送ローラ110と111とにより装置
内に取り込まれて、静電ドラム106に供給される。The LBP can also register character patterns and form data from a data source (not shown). Similarly, the LBP converts the video data into a video signal and outputs the video signal to the laser driver 102. Laser driver 102
Is a circuit for driving the semiconductor laser 103, and switches on and off the laser light 104 emitted from the semiconductor laser 103 according to the input video signal. The laser 104 is swung in the left-right direction by the rotary polygon mirror 105 and scans the electrostatic drum 106. Thereby, the electrostatic drum 10
An electrostatic latent image of a character pattern is formed on 6. This latent image is developed by the developing unit 107 around the electrostatic drum 106 and then transferred onto the recording paper. A cut sheet is used as the recording sheet, and the cut sheet recording sheet is LBP1.
The paper is stored in a paper cassette 108 that is in close contact with the paper No. 00, is taken into the apparatus by the paper feed roller 109 and the conveyance rollers 110 and 111, and is supplied to the electrostatic drum 106.
【0034】図2は、図1の画像処理装置の制御ユニッ
ト101の内部構成を説明するブロック図である。FIG. 2 is a block diagram for explaining the internal structure of the control unit 101 of the image processing apparatus shown in FIG.
【0035】図2において、プリンタ装置本体100
は、所定のインターフェイス206を介して外部のホス
トコンピュータ200と接続されており、ホストコンピ
ュータ200からの印刷データに従って所定の印刷処理
を実行するように構成されている。なお、ホストコンピ
ュータ200より受信した印刷データは受信バッファ2
05に受信データとして一時的に蓄えられる。In FIG. 2, the printer device main body 100 is shown.
Is connected to an external host computer 200 via a predetermined interface 206, and is configured to execute a predetermined print process according to print data from the host computer 200. The print data received from the host computer 200 is received by the reception buffer 2.
It is temporarily stored in 05 as received data.
【0036】201はCPUであり、読み出し専用メモ
リであるROM202に記憶された各種制御プログラム
に基づいて、システムバス204に接続される各種デバ
イスとのアクセスの統括的な制御など、本LBP100
の全制御を実現するための演算・制御を行なう。また、
ROM202は制御プログラムの他、ドットフォントデ
ータやスケーラブルフォントデータから構成されるフォ
ントROM202eとしても用いられている。Reference numeral 201 denotes a CPU, and based on various control programs stored in the ROM 202 which is a read-only memory, the LBP 100 such as comprehensive control of access to various devices connected to the system bus 204.
Performs calculations and controls to realize all control of. Also,
The ROM 202 is used not only as a control program but also as a font ROM 202e composed of dot font data and scalable font data.
【0037】また、ROM202内の制御プログラム
は、後述する図3、図6、図7のフローチャートによる
一連の制御を実現するためのものである。制御プログラ
ムとしては、例えば、受信バッファ205に蓄えられた
印刷データを解析して内部的なデータ形式である描画オ
ブジェクトを生成するオブジェクト生成部202a、オ
ブジェクト生成部202aによって生成された描画オブ
ジェクトを圧縮あるいは伸張する圧縮/伸張部202
c、描画オブジェクトをページメモリ203cへ描画す
る描画部202d、描画オブジェクト生成部202aの
一部として、フォントROM202e内に格納されたフ
ォントデータを元にフォントオブジェクトを生成する文
字生成部202f(フォントスケーラ)、更に、フォン
トオブジェクトの分割数の決定・分割を行ない、1文字
分の該分割フォントオブジェクト同士を関連付けて保持
するとともに、文字要求の際に該当するフォントオブジ
ェクトを検索するフォントキャッシュ部などから構成さ
れている。The control program in the ROM 202 is for realizing a series of controls according to the flow charts of FIGS. 3, 6, and 7 described later. As the control program, for example, the object generation unit 202a that analyzes the print data stored in the reception buffer 205 and generates a drawing object that is an internal data format, compresses the drawing object generated by the object generation unit 202a, or Compressing / expanding unit 202 for expanding
c, a character generation unit 202f (font scaler) that generates a font object based on the font data stored in the font ROM 202e as part of the drawing unit 202d that draws the drawing object in the page memory 203c and the drawing object generation unit 202a. Further, it is configured by a font cache unit which determines and divides the number of divisions of font objects, holds the divided font objects for one character in association with each other, and searches for a corresponding font object when a character request is made. ing.
【0038】207は印刷部I/Fであり、描画された
イメージデータをビデオ信号として印刷部(プリンタエ
ンジン)208へ出力する。印刷部I/F207から受
け取ったビデオ信号を元に記録紙209上に画像の印刷
を行なう。A printing unit I / F 207 outputs the drawn image data as a video signal to the printing unit (printer engine) 208. An image is printed on the recording paper 209 based on the video signal received from the printing unit I / F 207.
【0039】203はCPU201の主メモリ、ワーク
メモリ203d等として機能するRAMである。RAM
203は、描画オブジェクト生成部202aが入力され
た印刷データに従って生成した描画オブジェクトを格納
する描画オブジェクト格納部203aや、フォントキャ
ッシュ部202bによって管理されるフォントオブジェ
クトを格納するフォントオブジェクト格納部203b、
描画オブジェクトをもとに作成された1ページ文(ある
いはページの一部)のイメージデータを格納するページ
メモリ203c(イメージデータの各ビットのON/O
FFが、前記レーザドライバ102へ出力するビデオ信
号に対応している)、不図示の印字環境データ格納メモ
リ、あるいはNVRAM等に用いられる。なお、RAM
203は、図示しない増設ポートに接続されるオプショ
ンRAMによりメモリ容量を拡張できるように構成され
ている。また、LBP100は図示しない電源部から電
力の供給を受けている。Reference numeral 203 denotes a RAM which functions as a main memory of the CPU 201, a work memory 203d and the like. RAM
A drawing object storage unit 203a stores a drawing object generated by the drawing object generation unit 202a according to the input print data, a font object storage unit 203b stores a font object managed by the font cache unit 202b,
A page memory 203c that stores image data of one page sentence (or part of a page) created based on a drawing object (ON / O of each bit of image data)
FF corresponds to the video signal output to the laser driver 102), a print environment data storage memory (not shown), NVRAM, or the like. In addition, RAM
203 is configured so that the memory capacity can be expanded by an option RAM connected to an expansion port (not shown). Further, the LBP 100 is supplied with electric power from a power supply unit (not shown).
【0040】次に、図1及び図2の構成を備える本実施
形態の画像処理装置の動作について説明する。なお、以
下の動作を実行するプログラムは、ROM202に格納
されている。Next, the operation of the image processing apparatus of this embodiment having the configuration shown in FIGS. 1 and 2 will be described. A program that executes the following operations is stored in the ROM 202.
【0041】図3は第1の実施形態における画像処理装
置の描画処理を説明するフローチャートである。図3に
おいて、先ずLBP100本体に電源が供給されると、
ステップS301にて各オブジェクト格納部203a、
203bやページメモリ203cの初期化が行われ、ス
テップS307及びS309で作成する描画オブジェク
ト・フォントオブジェクトの解像度の設定が行われる。
本実施形態では、生成する画像の解像度を600dpi
とする。また、ポイントサイズやmm等の単位系で指定
された印刷コマンドは、この値を用いてドット数に変換
されることになる。FIG. 3 is a flow chart for explaining the drawing process of the image processing apparatus according to the first embodiment. In FIG. 3, first, when power is supplied to the LBP100 main body,
In step S301, each object storage unit 203a,
203b and page memory 203c are initialized, and the resolution of the drawing object / font object created in steps S307 and S309 is set.
In the present embodiment, the resolution of the generated image is 600 dpi.
And Further, a print command designated by a unit system such as point size or mm is converted into the number of dots using this value.
【0042】次に、ステップS302で、外部のホスト
コンピュータ200より印刷データを受信して、該印刷
データを受信バッファ205に格納し、受信バッファ2
05より一定サイズ分のデータを読みとる。このデータ
はワークメモリ203dの一部に一時的に格納される。
そして、ステップS303で、予め定められた文法に従
って該データのコマンド解釈を行ない、ステップS30
3の解析結果に応じて、以下のように処理が分岐するこ
とになる。Next, in step S302, print data is received from the external host computer 200, the print data is stored in the receive buffer 205, and the receive buffer 2 is received.
The data of a certain size is read from 05. This data is temporarily stored in a part of the work memory 203d.
Then, in step S303, the command interpretation of the data is performed according to a predetermined grammar, and step S30
According to the analysis result of No. 3, the process branches as follows.
【0043】ステップS304で、該データが排紙命令
と判断された場合には、ステップS305へ進む。ステ
ップS305では、描画部202dがカレントページに
属する描画オブジェクトを描画オブジェクト格納部20
3aより読み出し、ページメモリ203c上に描画(ラ
スタライズ)する。その後、印刷部I/F207によっ
て、ページメモリ203c上のデータがビデオ信号とし
てプリンタエンジン208へ転送される。ステップS3
05にて排紙処理が終了したら、ステップS302へ戻
り、次ページ分のデータ入力を待つ。If it is determined in step S304 that the data is a paper discharge command, the process proceeds to step S305. In step S305, the drawing unit 202d sets the drawing objects belonging to the current page to the drawing object storage unit 20.
The data is read from 3a and drawn (rasterized) on the page memory 203c. Thereafter, the printing unit I / F 207 transfers the data on the page memory 203c to the printer engine 208 as a video signal. Step S3
When the paper discharge process ends in 05, the process returns to step S302 and waits for data input for the next page.
【0044】一方、ステップS304で該データが排紙
命令でないと判断された場合は、次のステップS306
にて、前記データが文字印字命令であるかどうか判断す
る。文字印字命令でない場合は、ステップS307ヘ進
み、当該データが文字以外の描画命令かどうかを調べ
る。そして、描画命令であると判断された場合には、描
画オブジェクト生成部202aが該データで指定された
図形(ラインや円、多角形等)やイメージ等の描画オブ
ジェクトを生成する(ステップS308)。また、当該
データが描画命令以外の印刷データであれば、ステップ
S307からステップS309へ進み、該データに応じ
て、例えば印字位置移動や印字環境設定等の処理がなさ
れ、1単位分のコマンド解釈を終了する。On the other hand, if it is determined in step S304 that the data is not the paper discharge command, the next step S306.
At, it is determined whether the data is a character print command. If it is not a character print command, the flow advances to step S307 to check whether the data is a drawing command other than characters. When it is determined that the command is a drawing command, the drawing object generation unit 202a generates a drawing object such as a figure (line, circle, polygon, etc.) or image specified by the data (step S308). If the data is print data other than the drawing command, the process proceeds from step S307 to step S309, and processing such as printing position movement and printing environment setting is performed according to the data, and command interpretation for one unit is performed. finish.
【0045】一方、ステップS306において当該デー
タが文字印字命令であった場合は、ステップS306よ
りステップS310へ進む。ステップS310では、フ
ォントキャッシュ部202bが、該データで指定される
フォント書体や、文字サイズ、文字コードを元に、対応
するフォントオブジェクトがフォントオブジェクト格納
部203b内に存在するかどうかを検索する。対応する
フォントオブジェクトが見つかった場合はステップS3
11よりステップS319へ進む。ステップS319で
は、描画処理に必要な情報をフォントオブジェクト格納
部203bより獲得し、1単位分のコマンド解釈を終了
してステップS302へ戻る。なお、ステップS310
及びS319の詳細は、図6乃至図9を用いて後述す
る。On the other hand, if the data is a character print command in step S306, the process proceeds from step S306 to step S310. In step S310, the font cache unit 202b searches the font object storage unit 203b for a corresponding font object based on the font typeface, character size, and character code specified by the data. If the corresponding font object is found, step S3
From 11, the process proceeds to step S319. In step S319, information necessary for drawing processing is acquired from the font object storage unit 203b, command interpretation for one unit is completed, and the process returns to step S302. Note that step S310
Details of steps S319 and S319 will be described later with reference to FIGS.
【0046】一方、S311にて該当オブジェクトが見
つからなかった場合は、続くステップS312以降でフ
ォントオブジェクト格納部203bへの当該フォントオ
ブジェクトの登録を行う。先ず、ステップS312にお
いて、文字生成部202aが、該データで指定されるフ
ォント書体や、文字サイズ、文字コードを元に、フォン
トROM202eから文字サイズを獲得する。そして、
フォントキャッシュ部202bが該文字サイズから分割
数を決定する。On the other hand, if the object is not found in S311, the font object is registered in the font object storage unit 203b in the subsequent step S312 and thereafter. First, in step S312, the character generation unit 202a acquires the character size from the font ROM 202e based on the font typeface, character size, and character code specified by the data. And
The font cache unit 202b determines the number of divisions from the character size.
【0047】ここで、本実施形態では、分割した1ブロ
ックの最大サイズを16KB(=16,384バイト)
とし、かつ文字パターンは高さ方向にのみ分割されるも
のとする(図4参照)。今、文字サイズw(幅)×h
(高さ)が、500×600ドットである文字を生成す
る場合、幅方向は32ビット整合で扱うとすると、文字
幅がINT{(500+31)/32}×4=64バイ
トであるから、分割高さh’は、h’=16384/6
4=256ラインとなり、従って、分割数n=INT
{(600+255)/256}=3と求まる。即ち、
500×600ドットサイズの文字は、3つに分割され
ることになる。なお、INT{n}は、nの小数点以下
を切り捨てる演算を示す。In this embodiment, the maximum size of one divided block is 16 KB (= 16,384 bytes).
And the character pattern is divided only in the height direction (see FIG. 4). Character size w (width) x h
When a character whose (height) is 500 × 600 dots is generated, if the width direction is treated as 32 bit alignment, the character width is INT {(500 + 31) / 32} × 4 = 64 bytes, The height h'is h '= 16384/6
4 = 256 lines, so the number of divisions n = INT
{(600 + 255) / 256} = 3 is obtained. That is,
A character of 500 × 600 dot size will be divided into three. Note that INT {n} indicates an operation that rounds down the fractional part of n.
【0048】続くステップS313で、文字生成部20
2f(フォントスケーラ)はフォントROM202eよ
りフォントパターンあるいはアウトラインデータをワー
クメモリ203dに読み出して、フォントオブジェクト
を生成(スケーリング)する。本実施形態では、フォン
トスケーラが使用可能なワークメモリに収まるサイズ
(例えば64KB)の文字はビットマップ形式で生成
し、64KBを超えるサイズの文字はベクトルデータ形
式で生成するものとする。In the following step S313, the character generator 20
2f (font scaler) reads out a font pattern or outline data from the font ROM 202e to the work memory 203d to generate (scale) a font object. In the present embodiment, it is assumed that a character having a size (for example, 64 KB) that can be accommodated in the work memory usable by the font scaler is generated in the bitmap format, and a character having a size exceeding 64 KB is generated in the vector data format.
【0049】続くステップS314以降で、ステップS
313にて生成されたフォントオブジェクトを、フォン
トオブジェクト格納部203bに格納する。先ず、S3
14にて、分割数nが0より大かどうかを調べ(nは1
以上であるので、1回目は必ず真)、n=0であればス
テップS319にて描画情報を獲得して1文字の処理を
終了し、S302へ戻る。After the following step S314, the step S
The font object generated in 313 is stored in the font object storage unit 203b. First, S3
At 14, it is checked whether the division number n is larger than 0 (n is 1
Since the above is true, the first time is always true), and if n = 0, the drawing information is acquired in step S319, the processing of one character is ended, and the process returns to step S302.
【0050】n>0の場合は、nが1より大きいか否か
を判定して、分割が必要かどうかを調べる(ステップS
315)。分割が必要ならば(n>1)、ステップS3
15からステップS316へ進み、16KB分のブロッ
クを取出して分割処理を行なう。更に、ステップS31
6において、当該ブロック高さhi(i=1〜n)や、
文字印字の際の基準点であるリファレンスポイントから
の、当該ブロック左上端へのオフセット値(offy
i)など、描画処理に必要な値を計算する(なお、幅方
向のオフセット値は、すべてのブロックにおいて、当該
文字1文字のオフセット値offxと等しくなる)。If n> 0, it is judged whether or not n is larger than 1 to check whether or not division is necessary (step S).
315). If division is necessary (n> 1), step S3
The process proceeds from step 15 to step S316 to take out a block of 16 KB and perform division processing. Further, step S31
6, the block height hi (i = 1 to n),
Offset value (offy) to the upper left corner of the block from the reference point, which is the reference point for character printing
i) and the like necessary for drawing processing are calculated (the offset value in the width direction is equal to the offset value offx of one character in all blocks).
【0051】図4は、本実施形態における文字パターン
の分割例と、各分割ブロック毎のオフセット値offy
i(i=1〜n)の関係を示す模式図である。本実施形
態では各ブロック高さh1=h2=256ドット、h3=
600−(256×2)=88ドット、オフセット値o
ffy1=offy、offy2=offy+256、o
ffy3=offy+512ドットとして求められる。
但し、offyiは、負の値をとるものとする。FIG. 4 shows an example of character pattern division according to this embodiment and an offset value offy for each divided block.
It is a schematic diagram which shows the relationship of i (i = 1-n). In this embodiment, each block height h1 = h2 = 256 dots, h3 =
600- (256 × 2) = 88 dots, offset value o
ffy1 = offy, offy2 = offy + 256, o
It is calculated as ffy3 = offy + 512 dots.
However, offyi has a negative value.
【0052】続くステップS317にて、各分割オブジ
ェクトの格納に必要なメモリをフォントオブジェクト格
納部203bより獲得し、各種フォント情報と共に、ワ
ークメモリ203d上のオブジェクトデータを格納す
る。ここで、分割数nが1より大きい場合は、オブジェ
クトデータの該当する領域(オブジェクトフォントを分
割して得られた領域)のみを格納する。また、もし必要
なメモリが獲得できない場合は、不要なフォントオブジ
ェクトを解放した後、メモリを獲得する。In a succeeding step S317, a memory required for storing each divided object is acquired from the font object storage section 203b, and the object data in the work memory 203d is stored together with various font information. Here, when the division number n is larger than 1, only the corresponding area of the object data (the area obtained by dividing the object font) is stored. If the required memory cannot be acquired, the unnecessary font object is released and then the memory is acquired.
【0053】最後に、分割数nをデクリメントし(ステ
ップS318)、次のブロックを処理するためにステッ
プS314へ戻る。なお、図示していないが、分割数n
が5以上となる場合は、データが64KBを越えている
ことを意味するので、上述したように、ベクトルデータ
形式で生成される。Finally, the division number n is decremented (step S318), and the process returns to step S314 to process the next block. Although not shown, the number of divisions n
Is greater than or equal to 5, it means that the data exceeds 64 KB, and thus is generated in the vector data format as described above.
【0054】また、分割数nが1の場合(即ち、フォン
トオブジェクトを分割しない場合)は、ステップS31
5よりステップS317へそのまま進み、当該フォント
オブジェクトの全体が格納される。When the division number n is 1 (that is, when the font object is not divided), step S31
From step 5, the process directly proceeds to step S317, and the entire font object is stored.
【0055】図5は、図3のフローチャートで示される
描画処理の過程で作成されるフォントオブジェクトとフ
ォント情報管理テーブルの内容、及びこれらのリンク関
係を示す概略図である。なお、フォント情報管理テーブ
ルは、図3のステップS310において生成されるが、
その詳細は図6及び図7を用いて後述する。FIG. 5 is a schematic diagram showing the contents of the font object and font information management table created in the process of the drawing process shown in the flowchart of FIG. 3, and the link relationship between them. The font information management table is generated in step S310 of FIG.
The details will be described later with reference to FIGS. 6 and 7.
【0056】本実施形態におけるフォントオブジェクト
504は、文字コードをインデックスとしてフォント情
報管理テーブル501から検索できるようになってい
る。また、外部からの描画要求によって文字生成部20
2f、及びフォントキャッシュ部202bに対して与え
られる文字コードは最長2バイトとし、対応するインデ
ックスは文字コードの上位バイト用インデックス502
と下位バイト用インデックス503の2段階の深さを持
つ。ここで、シングルバイト系のコード体系では、上位
バイト用インデックス502はコード=0x00のメン
バのみから構成される(あるいは、管理テーブルにイン
デックスの深さを記憶しておき、インデックスの深さを
可変としても構わない)。The font object 504 in this embodiment can be searched from the font information management table 501 using the character code as an index. In addition, the character generation unit 20 receives a drawing request from the outside.
2f and the character code given to the font cache unit 202b have a maximum length of 2 bytes, and the corresponding index is the upper byte index 502 of the character code.
And the lower byte index 503 has two levels of depth. Here, in the single-byte type code system, the high-order byte index 502 is composed of only the members of code = 0x00 (or the index depth is stored in the management table and the index depth is made variable). Does not matter).
【0057】フォント情報管理テーブル501(以下、
管理テーブル501)には、各フォントを識別するため
の情報として、フォント書体名、ストロークウェイト
(不図示)、文字コードと実パターンの割り付けを示す
グラフィックセット、ポイントサイズ、スケーラブルフ
ォントか否かを示すフラグ、固定ピッチかプロポーショ
ナルピッチかを示すフラグ(不図示)、縦書き/横書き
を示すフラグ(不図示)の他、フォントオブジェクトを
検索するためのインデックスIDなどが格納されてお
り、各管理テーブル毎にフォントIDが割り振られてい
る。Font information management table 501 (hereinafter,
The management table 501) indicates, as information for identifying each font, a font typeface name, a stroke weight (not shown), a graphic set showing the allocation of character codes and actual patterns, a point size, and a scalable font. In addition to a flag, a flag (not shown) indicating fixed pitch or proportional pitch, a flag (not shown) indicating vertical writing / horizontal writing, an index ID for searching a font object and the like are stored, and each management table is stored. Is assigned a font ID.
【0058】図5の例で説明すると、フォントIDが1
番と2番の管理テーブル501が登録されており、フォ
ントID=1番の管理テーブルには、ダブルバイト系フ
ォント、かつ分割数n=1のフォントオブジェクト(文
字コード=0x2422および0x3021)がリンク
されていて、一方、フォントID=2番の管理テーブル
には、シングルバイト系フォント、かつ分割数n=3の
フォントオブジェクト(文字コード=0x41)がリン
クされている。そして、例えば、管理テーブル501に
は、インデックスIDによって上位バイト用インデック
ス502がリンクされており、更に上位バイト用インデ
ックス502の0x24には下位バイト用インデックス
503が、0x30には下位バイト用インデックス50
7がリンクされている。In the example of FIG. 5, the font ID is 1
No. 2 and No. 2 management tables 501 are registered, and a double-byte type font and a font object (character code = 0x2422 and 0x3021) with a division number n = 1 are linked to the management table with font ID = 1. On the other hand, on the other hand, a font object (character code = 0x41) of a single-byte type font and a division number n = 3 is linked to the management table of font ID = 2. Then, for example, the high-order byte index 502 is linked to the management table 501 by the index ID, and 0x24 of the high-order byte index 502 is the low-order byte index 503, and 0x30 is the low-order byte index 50.
7 are linked.
【0059】また、各インデックス502、503やフ
ォントオブジェクト504、分割フォントオブジェクト
のリンクはIDで管理されており、不図示のIDテーブ
ルからRAM内のアドレスを得て各情報を獲得する(図
中のindexID、objID、nextID)。The links of the indexes 502 and 503, the font object 504, and the divided font objects are managed by IDs, and each information is acquired by obtaining an address in RAM from an ID table (not shown). indexID, objID, nextID).
【0060】フォントオブジェクト504は下位バイト
用インデックス503にリンクされており、ヘッダ部5
05とオブジェクトデータ506から構成されている。
また、フォントオブジェクト508は下位バイト用イン
デックス507にリンクされている。ヘッダ部505に
は、データ分割数n、文字の幅w、高さhや、オブジェ
クトデータの先頭アドレス、リファレンスポイントから
のオフセット値やピッチ情報に加え、修飾情報など、一
文字毎のフォント情報がセットされている。また、分割
数nが1より大きい場合は、ヘッダ部505’に示され
るように、上記情報に加えて、次の分割ブロックを示す
ID(nextID)や、各分割ブロック毎の高さhi
やオフセット値offyiも格納されている。また、ヘ
ッダ部505’の夫々に対応して、分割されたオブジェ
クトデータ506’が格納されことになる。The font object 504 is linked to the lower byte index 503, and the header part 5
05 and object data 506.
The font object 508 is linked to the lower byte index 507. In the header portion 505, font information for each character such as data division number n, character width w, height h, start address of object data, offset value from reference point and pitch information, and decoration information is set. Has been done. If the number of divisions n is larger than 1, as shown in the header section 505 ', in addition to the above information, the ID (nextID) indicating the next division block and the height hi of each division block
The offset value offyi is also stored. Further, the divided object data 506 ′ is stored corresponding to each of the header parts 505 ′.
【0061】なお図5では、フォントオブジェクトはR
AM203内に生成された文字パターンのみを示してい
るが、フォントROM202e内に文字パターンデータ
を持つ場合(分割しないドットフォントなど)は、フォ
ントオブジェクト格納部203b内にフォントオブジェ
クトが存在しなくても構わない。この場合、データ先頭
へのアドレスが、フォントROM202e内の実パター
ンの先頭を示すようにセットされる。In FIG. 5, the font object is R
Although only the character patterns generated in the AM 203 are shown, if the font ROM 202e has character pattern data (such as a dot font that is not divided), the font object does not have to exist in the font object storage unit 203b. Absent. In this case, the address to the beginning of the data is set so as to indicate the beginning of the actual pattern in the font ROM 202e.
【0062】図5において、与えられた文字コード(例
えば0x2422)でインデックスIDをたどる場合は
次のようになる。即ち、管理テーブル501のインデ
ックスIDから、IDテーブルの「インデックスID」
番目より得られるアドレス(インデックス502の先頭
アドレス)に0x24を加えて得られるアドレス(これ
が上位バイト用インデックステーブル502の0x24
番地となる)からIndexIDを得る。更に不図示
のIDテーブルの「IndexID」番目より得られる
アドレス(インデックス503の先頭アドレス)に0x
22を加えて得られるアドレス(これが下位バイト用イ
ンデックステーブル503の0x22番地となる)から
objIDを得る。ObjIDからフォントオブジェ
クトを得るという手順を踏む。In FIG. 5, when the index ID is traced by a given character code (for example, 0x2422), it is as follows. That is, from the index ID of the management table 501 to the “index ID” of the ID table
The address obtained by adding 0x24 to the address obtained from the first (the start address of the index 502) (this is 0x24 of the upper byte index table 502).
The index ID is obtained from the address). Furthermore, 0x is added to the address (the start address of the index 503) obtained from the "IndexID" th in the ID table (not shown).
The objID is obtained from the address obtained by adding 22 (this is the address 0x22 of the lower byte index table 503). Take the procedure of obtaining a font object from the ObjID.
【0063】上述したように、管理テーブルやインデッ
クスの作成は、フォントオブジェクトを検索する際に行
なわれる(図3のステップS310)。図6は第1の実
施形態における検索処理の手順を表すフローチャートで
ある。また、図7は、第1の実施形態における不要キャ
ッシュの解放処理を示すフローチャートである。As described above, the creation of the management table and the index is performed when the font object is searched (step S310 in FIG. 3). FIG. 6 is a flowchart showing the procedure of the search process in the first embodiment. Further, FIG. 7 is a flowchart showing the unnecessary cache release processing according to the first embodiment.
【0064】先ず、図6のステップS601で管理テー
ブル501の検索を行ない、該キャッシュテーブルが存
在しないか、印刷データとして指定されたフォント属性
と一致する属性を持つ管理テーブルが見つからない場合
は、ステップS602へ進み、対応する管理テーブルを
作成する。すなわち、管理テーブル501用のメモリ獲
得を試み(ステップS602)、獲得できればその領域
に対応するフォント情報を書込む(ステップS60
3)。また、管理テーブル501のためのメモリが獲得
できなければ、ステップS604へ進み、不要なフォン
トオブジェクトの解放を行なう(解放処理は図7で後述
する)。First, in step S601 of FIG. 6, the management table 501 is searched, and if the cache table does not exist or a management table having an attribute matching the font attribute specified as print data is not found, step S601 is performed. In step S602, a corresponding management table is created. That is, the memory acquisition for the management table 501 is tried (step S602), and if acquired, the font information corresponding to the area is written (step S60).
3). If the memory for the management table 501 cannot be acquired, the process proceeds to step S604, and unnecessary font objects are released (release processing will be described later with reference to FIG. 7).
【0065】一方、要求属性と同じ属性の管理テーブル
501が見つかれば、続くステップS605、S606
において上位バイト用インデックス、下位バイト用イン
デックスの検索を行なう。すなわち、ステップS605
において、管理テーブル501のインデックスIDが有
効かどうかを調べ、有効でなければ(例えば、−1など
の無効値ならば)上位バイト用インデックスが見つから
なかったと判断され、ステップS607へ進む。一方、
上位バイト用インデックスが見つかれば、同様に下位バ
イト用インデックスの検索を行なう(ステップS60
6)。各インデックスが見つからなかった場合は、管理
テーブルと同様の手順でインデックスを作成し(ステッ
プS607〜S609、及びS610〜S612)、ス
テップS312へ進む。On the other hand, if the management table 501 having the same attribute as the requested attribute is found, the following steps S605 and S606 are performed.
In, the upper byte index and the lower byte index are searched. That is, step S605
In, the index ID of the management table 501 is checked to see if it is valid (if it is not valid (for example, if it is an invalid value such as -1), the upper byte index is not found, and the process proceeds to step S607. on the other hand,
If the upper byte index is found, the lower byte index is similarly searched (step S60).
6). If each index is not found, the index is created in the same procedure as the management table (steps S607 to S609 and S610 to S612), and the process proceeds to step S312.
【0066】一方、ステップS606にて下位バイト用
インデックスが見つかった場合、続くステップS311
で、文字毎の情報(修飾の有無等)を用いてフォントオ
ブジェクト(=キャッシュ)を検索する。ここで、要求
された文字コードに対応するフォントパターンがみつか
ればキャッシュにヒットしたと判断され、図3で説明し
たようにステップS311よりステップS319ヘ進
み、描画情報を獲得する。また、対応するフォンとパタ
ーンが見つからなければ、図3で上述の如くステップS
311からステップS312へ進む。On the other hand, if the lower byte index is found in step S606, the subsequent step S311.
Then, the font object (= cache) is searched by using the information for each character (whether or not there is modification). Here, if the font pattern corresponding to the requested character code is found, it is determined that the cache is hit, and as described with reference to FIG. 3, the process proceeds from step S311 to step S319 to acquire drawing information. If the corresponding phone and pattern are not found, step S as described above with reference to FIG.
From 311 the process proceeds to step S312.
【0067】続いて図7を用いてステップS604、S
609、S612におけるキャッシュ解放処理を説明す
る。Subsequently, referring to FIG. 7, steps S604, S
The cache release processing in S609 and S612 will be described.
【0068】先ずステップS701で不要なキャッシュ
が存在するか(要求サイズ≦不要なキャッシュのサイズ
の総和)を調べ、もしあればステップS702でキャッ
シュを解放し、ステップS703で要求されただけのメ
モリを獲得する。一方、解放可能なキャッシュの総量が
要求サイズに満たない場合は、ステップS704へ進
み、エラー表示等を行ない、1文字の処理を中断する
(図3のS302へ戻る)。ここで、要求サイズとは、
上位バイト用インデックスや下位バイト用インデックス
を確保するためのサイズである。また、本実施形態で
は、キャッシュは、描画オブジェクトの一つとして扱わ
れている。よって、「解放できる/できない」の判断
は、描画(レンダリング)が終わったかどうかで行われ
る。First, in step S701, it is checked whether or not there is an unnecessary cache (request size ≦ total size of unnecessary cache). If there is, the cache is released in step S702, and only the memory required in step S703 is released. To earn. On the other hand, if the total amount of releasable cache is less than the requested size, the process proceeds to step S704, an error display is performed, and the processing of one character is interrupted (return to S302 in FIG. 3). Here, the required size is
This is the size for securing the upper byte index and lower byte index. Further, in the present embodiment, the cache is treated as one of drawing objects. Therefore, the judgment "can be released / cannot be released" is made based on whether or not drawing (rendering) is completed.
【0069】なお、本実施形態では説明を省いたが、解
放可能なキャッシュを幾つかのプライオリティに分類し
て管理し、各プライオリティ毎に解放処理を行なっても
良い。例えば、修飾文字→JIS第2水準漢字→JIS
第1水準漢字→非漢字の様にプライオリティを設定し、
各プライオリティに属する不要キャッシュの総量と要求
サイズを比較し、解放レベルを決定する。Although not described in this embodiment, the releasable cache may be classified into some priorities and managed, and the releasing process may be performed for each priority. For example, modifier characters → JIS 2nd level kanji → JIS
First level Kanji → Set a priority like non-Kanji,
The release level is determined by comparing the total size of the unnecessary cache belonging to each priority with the requested size.
【0070】また、本実施形態ではメモリ獲得が不可能
な場合はエラー表示を行ない1文字の処理を中断した
が、描画オブジェクト格納部203aに余裕があるなら
ば、フォントオブジェクトとしてではなくイメージ等の
描画オブジェクトとして描画しても良い。即ち、パター
ンデータそのものを描画オブジェクトとして描画オブジ
ェクト格納部203aに作成するようにしてもよい。あ
るいは生成中のオブジェクトを間引くか再スケーリング
してデータ処理解像度を低下させ、空いたメモリを使っ
て処理を続行するようにしても構わない。なお、本実施
形態では上記管理テーブル501、並びにインデックス
502・503用のメモリは、フォントオブジェクト格
納部203bから獲得されるものとする。Further, in this embodiment, when the memory cannot be acquired, an error is displayed and the processing of one character is interrupted. However, if the drawing object storage unit 203a has enough space, it is not a font object but an image or the like. It may be drawn as a drawing object. That is, the pattern data itself may be created as a drawing object in the drawing object storage unit 203a. Alternatively, the object being generated may be thinned out or rescaled to reduce the data processing resolution, and the processing may be continued using the vacant memory. In this embodiment, the management table 501 and the memories for the indexes 502 and 503 are acquired from the font object storage unit 203b.
【0071】続いて、図8の模式図と、図9のフローチ
ャートを用いて、本実施形態における描画情報の獲得手
順について説明する。Next, the drawing information acquisition procedure in this embodiment will be described with reference to the schematic diagram of FIG. 8 and the flowchart of FIG.
【0072】図8は、第1の実施形態におけるフォント
オブジェクトの構成を示す模式図である。図8では、オ
ブジェクトを分割しない場合(a)と、分割する場合
(b)の2通りが示されている。FIG. 8 is a schematic diagram showing the structure of a font object in the first embodiment. In FIG. 8, two cases are shown: a case where the object is not divided (a) and a case where the object is divided (b).
【0073】先ず、ヘッダ部505は、全フォントオブ
ジェクトで共通な情報を格納する共通ヘッダ部801
と、分割数nによって内容、サイズが変化するボディ部
805に分かれる。共通ヘッダ部801は、分割数80
2、データ解像度803、オブジェクトの先頭アドレス
804を含む。ボディ部805は、n=1の場合、文字
幅w、高さh(806)とリファレンスポイントからの
左上端までのオフセット807から構成されている。First, the header section 505 stores a common header section 801 for storing information common to all font objects.
Then, it is divided into body parts 805 whose contents and sizes change depending on the number of divisions n. The common header part 801 has a division number of 80.
2. Includes data resolution 803 and object start address 804. When n = 1, the body portion 805 includes a character width w, a height h (806), and an offset 807 from the reference point to the upper left end.
【0074】また、n>1の場合のボディ部805は、
分割ブロックの先頭かどうかを示す先頭フラグ808が
含まれ、先頭の場合は1文字全体のw・h及びオフセッ
ト値(806、807)と、先頭ブロックパターンの高
さh1とオフセットoffy1(809)、次の分割ブロ
ックのID810を含む。一方、先頭フラグが0であれ
ば、1文字分の情報(806、807)が含まれない。
なお、文字パターンに対して回転や修飾(シャドウ、擬
似イタリック加工、アウトライン加工、拡大・縮小な
ど)を施す場合、該情報を前記共通ヘッダ部801に格
納しても良いし、管理テーブル501に追加しても構わ
ない。The body portion 805 when n> 1 is
A head flag 808 indicating whether it is the head of the divided block is included, and in the case of the head, wh and offset value (806, 807) of one character as a whole, height h1 and offset offy1 (809) of the head block pattern, The ID 810 of the next division block is included. On the other hand, if the head flag is 0, information for one character (806, 807) is not included.
When the character pattern is rotated or modified (shadow, pseudo italic processing, outline processing, enlargement / reduction, etc.), the information may be stored in the common header section 801 or added to the management table 501. It doesn't matter.
【0075】図9は第1の実施形態における描画情報の
出力手順(図3のステップS319)を説明するフロー
チャートである。FIG. 9 is a flow chart for explaining the drawing information output procedure (step S319 in FIG. 3) in the first embodiment.
【0076】先ずステップS901にて、描画部202
dは当該フォントオブジェクトの分割数nを得る。続く
ステップS902以降で、フォントキャッシュ部202
bは、分割数nに応じて描画部202dへ出力すべき描
画情報を選択する。n=1の場合、フォントオブジェク
トのボディ部801から幅w、高さh、及びオフセット
値offx、offy、オブジェクトの先頭アドレスを
得る(ステップS903)。一方、n>1の場合は、ス
テップS904〜S906にて、各分割ブロック毎に、
幅w、高さhi、及びオフセット値offx、offy
i、オブジェクトの先頭アドレスを得る(i=1〜
n)。First, in step S901, the drawing unit 202
d obtains the division number n of the font object. At the subsequent step S902 and thereafter, the font cache unit 202
b selects drawing information to be output to the drawing unit 202d according to the division number n. When n = 1, the width w, the height h, the offset values offx and offy, and the start address of the object are obtained from the body portion 801 of the font object (step S903). On the other hand, when n> 1, in steps S904 to S906, for each divided block,
Width w, height hi, and offset values offx, offy
i, get the start address of the object (i = 1 to 1
n).
【0077】以上のようにして獲得された各情報は、描
画オブジェクト格納部203aに格納される。そして、
これら描画オブジェクトは、排紙命令を受信すると、ペ
ージメモリ203cに描画される。このように、フォン
トオブジェクトを分割して得られた各オブジェクトデー
タは、夫々1つのフォントオブジェクトと同様に扱うこ
とが可能である。従って、描画処理そのものは、一般的
な描画処理を適用することが可能となり、本発明の適用
が容易となる。Each piece of information obtained as described above is stored in the drawing object storage section 203a. And
These drawing objects are drawn in the page memory 203c when the paper discharge command is received. In this way, each object data obtained by dividing the font object can be handled in the same manner as one font object. Therefore, as the drawing process itself, a general drawing process can be applied, and the application of the present invention is facilitated.
【0078】以上説明したように第1の実施形態によれ
ば、フォントスケーラ(文字生成部202f)が用いる
ワークメモリ等によってフォントオブジェクトのサイズ
が制限されている場合に、この制限を越えるサイズのフ
ォントオブジェクトを分割して管理することが可能とな
る。即ち、サイズの大きい文字等についてもフォントキ
ャッシュの効果が得られるようになり、サイズの大きい
文字が多用されても、処理速度の低下を防止できる。As described above, according to the first embodiment, when the size of the font object is limited by the work memory or the like used by the font scaler (character generation unit 202f), the font size exceeding this limit is set. Objects can be divided and managed. That is, the effect of the font cache can be obtained even for large-sized characters and the like, and even if large-sized characters are frequently used, it is possible to prevent a decrease in processing speed.
【0079】[第2の実施形態]第1の実施形態では、
パターンサイズが64KB以下のビットマップ形式の場
合を示したが、ベクトルデータ形式のデータに対しても
本発明は適応可能である。この場合、実施形態1の図8
で示したフォントオブジェクトの共通ヘッダ部801
に、ビットマップ形式かベクトル形式かを示すデータ形
式フラグを付加し、ボディ部802に分割オブジェクト
データのデータサイズ(バイト数)を付加すれば良い。[Second Embodiment] In the first embodiment,
The case where the pattern size is 64 KB or less in the bitmap format is shown, but the present invention is also applicable to vector data format data. In this case, FIG.
Common header part 801 of the font object shown in
, A data format flag indicating whether it is a bitmap format or a vector format, and the data size (number of bytes) of the divided object data may be added to the body portion 802.
【0080】[第3の実施形態]第1の実施形態では、
単にフォントオブジェクトを分割して保持したが、各分
割ブロックをそれぞれ圧縮して保持し、描画時にはこれ
を伸長するようにすれば、更にフォンとキャッシュのメ
モリ効率を向上させることができる。[Third Embodiment] In the first embodiment,
Although the font object is simply divided and held, if each divided block is compressed and held and is expanded at the time of drawing, the memory efficiency of the phone and the cache can be further improved.
【0081】この場合、本実施形態1の図8で示したフ
ォントオブジェクトの共通ヘッダ部801に、該フォン
トオブジェクトが圧縮されているかどうかを示す圧縮フ
ラグを加え、図3のステップS317において、圧縮処
理を施してフォントオブジェクトの格納を行なえば良
い。また、本実施形態では圧縮形式は任意であり、各分
割ブロック毎に異なっていても構わないが、複数種類の
圧縮形式を用いる場合には、圧縮フラグは圧縮の有無以
外に圧縮形式を表すものとする。In this case, a compression flag indicating whether or not the font object is compressed is added to the common header part 801 of the font object shown in FIG. 8 of the first embodiment, and the compression processing is performed in step S317 of FIG. It is sufficient to store the font object by applying. Further, in the present embodiment, the compression format is arbitrary and may be different for each divided block. However, when a plurality of types of compression formats are used, the compression flag indicates the compression format in addition to the presence / absence of compression. And
【0082】[第4の実施形態]第1の実施形態では、
出力すべき全文字について分割・保持(キャッシュ)処
理を行なっているが、例えば、印字データ中で1回しか
出現しない文字についてはキャッシュの処理に必要なオ
ーバーヘッドが余分にかかってしまうことになり、非効
率的である。そこで、第4の実施形態では、印字データ
中の文字の出現頻度を調べ、各文字についてキャッシュ
するか否かを決定することで、サイズの大きな文字の処
理をより効率的に行なえるようにする。[Fourth Embodiment] In the first embodiment,
All characters to be output are divided and held (cache), but for the characters that appear only once in the print data, the overhead required for the cache processing will be added, It is inefficient. Therefore, in the fourth embodiment, by examining the appearance frequency of characters in the print data and determining whether or not to cache each character, it is possible to more efficiently process large characters. .
【0083】図10は、本実施形態に係る画像処理装置
の内部構成を示すブロック図である。ここで、第1の実
施形態の図2にて説明した構成と同じ機能を有する構成
には同じ番号を付し、説明を省略する。第3の実施形態
の画像処理装置は、制御プログラムを格納するROM2
02に、文字データの出現頻度を調べる頻度調査部20
2gを備える。FIG. 10 is a block diagram showing the internal arrangement of the image processing apparatus according to this embodiment. Here, configurations having the same functions as the configurations described in FIG. 2 of the first embodiment are denoted by the same reference numerals, and description thereof will be omitted. The image processing apparatus according to the third embodiment is a ROM 2 that stores a control program.
02, a frequency investigation unit 20 for checking the appearance frequency of character data
With 2g.
【0084】次に、図10の構成からなる第3の実施形
態の画像処理装置の文字処理手順について、図11のフ
ローチャートを用いて説明する。図11は第4の実施形
態における画像処理装置の描画処理を説明するフローチ
ャートである。Next, the character processing procedure of the image processing apparatus of the third embodiment having the configuration of FIG. 10 will be described using the flowchart of FIG. FIG. 11 is a flowchart illustrating the drawing process of the image processing apparatus according to the fourth embodiment.
【0085】先ず、ステップS1100でコマンドを受
信すると、ステップS1101で予め定められた文法に
従って該データのコマンド解釈を行なう。そして、当該
データが文字印字命令であるかどうか判断する(ステッ
プS1102)。First, when a command is received in step S1100, the command interpretation of the data is performed according to a predetermined grammar in step S1101. Then, it is determined whether the data is a character print command (step S1102).
【0086】文字印字命令でない場合は、ステップS1
103ヘ進み、当該コマンドが文字以外の描画命令かど
うかを調べ、描画命令であると判断された場合には、描
画オブジェクト生成部202aが該データで指定された
図形(ビットマップやライン、円、多角形等)やイメー
ジデータ等の描画オブジェクトを生成する(ステップS
1104)。また、当該データが描画命令以外の印刷デ
ータであれば、該データに応じて、例えば印字位置移動
や印字環境設定等の処理がなされ(ステップS110
5)、1単位分のコマンド解釈を終了する。その後、処
理はステップS1107へ進む。If it is not a character print command, step S1
The process proceeds to step 103 to check whether the command is a drawing command other than a character, and if it is determined that the command is a drawing command, the drawing object generation unit 202a causes the figure (bitmap, line, circle, Generate drawing objects such as polygons) and image data (step S
1104). If the data is print data other than the drawing command, processing such as print position movement and print environment setting is performed according to the data (step S110).
5) Complete command interpretation for one unit. Thereafter, the processing proceeds to step S1107.
【0087】一方、ステップS1102にて文字印字命
令と判断された場合は、次のステップS1106におい
て、印字データの出現頻度を集計する。本実施形態で
は、文字コードと出現数をカウントする頻度フラグをペ
アで持つ頻度テーブル(可変)を作成し、1回目の印字
指示であれば(すなわち、当該データが示す文字が頻度
テーブルに登録されていなければ)頻度テーブルに文字
コードを登録する(この時点で頻度フラグは0)。ま
た、2度目の印字指示であれば(当該文字コードが頻度
テーブル内にみつかった場合)、頻度テーブルの当該文
字コードの頻度フラグを1にセットする。On the other hand, if it is determined in step S1102 that the command is a character print command, the appearance frequency of print data is totaled in the next step S1106. In this embodiment, a frequency table (variable) having a pair of a character code and a frequency flag for counting the number of appearances is created, and if it is the first print instruction (that is, the character indicated by the data is registered in the frequency table). If not, the character code is registered in the frequency table (the frequency flag is 0 at this point). If it is the second print instruction (when the character code is found in the frequency table), the frequency flag of the character code in the frequency table is set to 1.
【0088】図12は頻度テーブルのデータ構成例を示
す図である。図12に示すように、頻度テーブルには1
ページ分の文字印字命令に対応する出現文字と、その出
現回数が複数回であることを示す頻度フラグが登録され
る。FIG. 12 is a diagram showing an example of the data structure of the frequency table. As shown in FIG. 12, 1 is included in the frequency table.
An appearance character corresponding to a page character print command and a frequency flag indicating that the appearance count is plural times are registered.
【0089】以上の処理を、1ページ分のデータを調べ
るまで繰り返す(ステップS1107)。例えば、ステ
ップS1107で、排紙命令を検出するまで上記処理を
繰り返す。The above processing is repeated until one page of data is checked (step S1107). For example, in step S1107, the above process is repeated until the paper discharge command is detected.
【0090】続くステップS1108では、ステップS
1106による文字出現頻度の集計結果に基づいて、フ
ォントオブジェクト格納部にフォントキャッシュとして
格納するかどうかを判断する。すなわち、頻度テーブル
の頻度フラグが0ならば(1回しか使用しないフォント
オブジェクトであることを意味する)フォントキャッシ
ュとして格納せず、文字生成を行った後、データ形式を
ビットマップオブジェクトに変換し(ステップS110
9、S1110)、ビットマップの描画処理と同様に描
画するステップS1104)。その後、ステップS11
07に戻るが、この時点では1ページ分の集計が終了し
ているので、そのままステップS1108以降の処理へ
移行し、次の文字印字命令を処理することになる。In the following step S1108, the step S
Based on the result of counting the appearance frequency of characters in 1106, it is determined whether to store the font cache in the font object storage unit. That is, if the frequency flag of the frequency table is 0 (meaning that the font object is used only once), it is not stored as a font cache, but after the character is generated, the data format is converted to a bitmap object ( Step S110
9, S1110), and step S1104) of drawing similar to the bitmap drawing process. Then, step S11
Returning to 07, however, since the tabulation for one page is completed at this point, the process directly proceeds to step S1108 and subsequent steps to process the next character print command.
【0091】また、ステップS1108でキャッシュす
ると判断された文字(頻度テーブルの頻度フラグが1の
文字)は、ステップS1111以降で、フォントオブジ
ェクトを検索し、検索された場合はその描画情報を獲得
する(ステップS1112、S1113)。一方、ステ
ップS1112でフォントオブジェクト格納部203b
に当該文字が見つからなかった場合は、文字サイズに応
じて分割数を決定し、フォントオブジェクト格納部20
2bにフォントキャッシュとして格納する(ステップS
1114〜S1120)。そして、フォントオブジェク
ト格納部203bへのキャッシングを終了するとステッ
プS1113において描画情報を獲得する。以上のステ
ップS1111、S1112、S1114〜S1120
及びS1113は、図3のステップS310〜S318
及びS319と同様の処理である。For the character determined to be cached in step S1108 (the character whose frequency flag in the frequency table is 1), the font object is searched for in step S1111 and thereafter, and if it is searched, the drawing information thereof is acquired ( Steps S1112, S1113). On the other hand, in step S1112, the font object storage unit 203b
If the character is not found in, the number of divisions is determined according to the character size, and the font object storage unit 20
2b as a font cache (step S
1114-S1120). When the caching to the font object storage unit 203b is completed, the drawing information is acquired in step S1113. Steps S1111, S1112, S1114 to S1120 above
And S1113 are steps S310 to S318 of FIG.
And the same processing as S319.
【0092】ステップS1113において描画情報を獲
得すると、ステップS1121において当該ページ分の
描画情報の獲得が終了したか否かを判断し、終了してい
なければ次の文字印字命令に対する処理を行うためにス
テップS1108へ進む。また、ステップS1121に
おいて当該ページ分の処理を終了したと判断されると、
ステップS1122へ進み、排紙処理が実行される。即
ち、描画部202dがカレントページに属する描画オブ
ジェクトを描画オブジェクト格納部203aより読み出
し、ページメモリ203c上に描画(ラスタライズ)す
る。その後、印刷部I/F207によって、ページメモ
リ203c上のデータがビデオ信号としてプリンタエン
ジン208へ転送される。When drawing information is acquired in step S1113, it is determined in step S1121 whether acquisition of drawing information for the page is completed. If not completed, a step for performing a process for the next character print command is executed. Proceed to S1108. If it is determined in step S1121 that the processing for the page is finished,
In step S1122, the paper discharge process is executed. That is, the drawing unit 202d reads the drawing object belonging to the current page from the drawing object storage unit 203a and draws (rasterizes) it on the page memory 203c. Thereafter, the printing unit I / F 207 transfers the data on the page memory 203c to the printer engine 208 as a video signal.
【0093】以上のように、1回しか出現しない文字に
ついてはフォントキャッシュを実施せず、複数回出現す
る文字についてフォントキャッシュが実行されるように
なる。従って、無駄なフォントキャッシュ処理が防止さ
れ、処理効率が向上する。As described above, the font cache is not executed for the character that appears only once, but the font cache is executed for the character that appears multiple times. Therefore, useless font cache processing is prevented and processing efficiency is improved.
【0094】なお、上記第3の実施形態では、頻度フラ
グは各文字が2回以上出現するか否かを示すフラグ(1
ビット)であったが、出現回数をカウントするように構
成してもよい。そして、所定回数以上の出現回数を有す
る文字についてフォントキャッシュを実行する様に構成
してもよい。このように構成すれば、フォントメモリの
容量に応じて、フォントキャッシュすべき出現頻度を設
定でき、フォントメモリの有効活用が図られる。In the third embodiment, the frequency flag is a flag (1 indicating whether or not each character appears twice or more).
However, the number of appearances may be counted. Then, the font cache may be configured to be executed for a character having the number of appearances greater than or equal to a predetermined number. According to this structure, the appearance frequency of the font cache can be set according to the capacity of the font memory, and the font memory can be effectively used.
【0095】以上説明したように、上記各実施形態によ
れば、文字サイズが大きな文字は分割してキャッシュさ
れるため、2度目以降の同一文字の出力の際に、大幅な
処理速度の向上と使用するワークメモリの削減が可能と
なる。As described above, according to each of the above-described embodiments, since a character having a large character size is divided and cached, the processing speed is greatly improved when the same character is output for the second time and thereafter. It is possible to reduce the work memory used.
【0096】更に、第4の実施形態によれば、データ内
における文字の出現頻度に従って、分割・保持(キャッ
シング)するかどうかを選択することが可能となり、出
現頻度の低い(例えば1回しか使用されない)フォント
オブジェクトについては分割を行わずに高速に処理させ
ることができる。Furthermore, according to the fourth embodiment, it is possible to select whether to divide / hold (caching) according to the appearance frequency of characters in the data, and the appearance frequency is low (for example, used only once). Font objects (which are not processed) can be processed at high speed without division.
【0097】なお、上記各実施形態では、印刷装置とし
てLBP(レーザビームプリンタ)を用いて説明を行っ
たが、例えば、インクジェットプリンタ等、他の記録方
式の印刷装置にも適用できることは言うまでもない。In each of the above-described embodiments, the LBP (laser beam printer) is used as the printing apparatus, but it goes without saying that the present invention can be applied to printing apparatuses of other recording systems such as ink jet printers.
【0098】また、上記書く実施形態では印刷装置にお
ける描画処理に適用した例を示したが、CRTやLCD
等の表示器への描画処理にも適用可能であることは言う
までもない。Further, in the above-described embodiment, the example applied to the drawing process in the printing apparatus is shown, but the CRT or LCD
It goes without saying that the present invention can also be applied to drawing processing on a display device such as.
【0099】なお、本発明は、複数の機器(例えばホス
トコンピュータ,インタフェイス機器,リーダ,プリン
タなど)から構成されるシステムに適用しても、一つの
機器からなる装置(例えば、複写機,ファクシミリ装置
など)に適用してもよい。The present invention can be applied to a system including a plurality of devices (for example, a host computer, an interface device, a reader, a printer, etc.), but can be applied to a single device (for example, a copier, a facsimile). Device).
【0100】また、本発明の目的は、前述した実施形態
の機能を実現するソフトウェアのプログラムコードを記
録した記憶媒体を、システムあるいは装置に供給し、そ
のシステムあるいは装置のコンピュータ(またはCPU
やMPU)が記憶媒体に格納されたプログラムコードを
読出し実行することによっても、達成されることは言う
までもない。Further, an object of the present invention is to provide a storage medium storing a program code of software for realizing the functions of the above-described embodiments to a system or an apparatus, and to provide a computer (or CPU) of the system or apparatus.
And MPU) read and execute the program code stored in the storage medium.
【0101】この場合、記憶媒体から読出されたプログ
ラムコード自体が前述した実施形態の機能を実現するこ
とになり、そのプログラムコードを記憶した記憶媒体は
本発明を構成することになる。In this case, the program code itself read from the storage medium implements the functions of the above-described embodiment, and the storage medium storing the program code constitutes the present invention.
【0102】プログラムコードを供給するための記憶媒
体としては、例えば、フロッピディスク,ハードディス
ク,光ディスク,光磁気ディスク,CD−ROM,CD
−R,磁気テープ,不揮発性のメモリカード,ROMな
どを用いることができる。As a storage medium for supplying the program code, for example, a floppy disk, hard disk, optical disk, magneto-optical disk, CD-ROM, CD
-R, a magnetic tape, a nonvolatile memory card, a ROM, or the like can be used.
【0103】また、コンピュータが読出したプログラム
コードを実行することにより、前述した実施形態の機能
が実現されるだけでなく、そのプログラムコードの指示
に基づき、コンピュータ上で稼働しているOS(オペレ
ーティングシステム)などが実際の処理の一部または全
部を行い、その処理によって前述した実施形態の機能が
実現される場合も含まれることは言うまでもない。When the computer executes the readout program code, not only the functions of the above-described embodiment are realized, but also the OS (Operating System) running on the computer based on the instruction of the program code. ) May perform some or all of the actual processing, and the processing may realize the functions of the above-described embodiments.
【0104】さらに、記憶媒体から読出されたプログラ
ムコードが、コンピュータに挿入された機能拡張ボード
やコンピュータに接続された機能拡張ユニットに備わる
メモリに書込まれた後、そのプログラムコードの指示に
基づき、その機能拡張ボードや機能拡張ユニットに備わ
るCPUなどが実際の処理の一部または全部を行い、そ
の処理によって前述した実施形態の機能が実現される場
合も含まれることは言うまでもない。Further, after the program code read from the storage medium is written into a memory provided in a function expansion board inserted into the computer or a function expansion unit connected to the computer, based on the instruction of the program code, It goes without saying that the CPU included in the function expansion board or the function expansion unit performs part or all of the actual processing, and the processing realizes the functions of the above-described embodiments.
【0105】本発明を上記記憶媒体に適用する場合、そ
の記憶媒体には、先に説明したフローチャートに対応す
るプログラムコードを格納することになるが、簡単に説
明すると、図13のメモリマップ例に示す各モジュール
を記憶媒体に格納することになる。When the present invention is applied to the above-mentioned storage medium, the storage medium stores the program code corresponding to the above-mentioned flow chart. Briefly, in the memory map example of FIG. Each module shown will be stored in the storage medium.
【0106】すなわち、少なくとも「生成処理モジュー
ル」「分割処理モジュール」「保持処理モジュール」お
よび「出力処理モジュール」の各モジュールのプログラ
ムコードを記憶媒体に格納すればよい。また、好ましく
は、図13に示すように、更に「計測処理モジュール」
及び「制御処理モジュール」格納する。That is, at least the program code of each of the “generation processing module”, “division processing module”, “holding processing module” and “output processing module” may be stored in the storage medium. Further, preferably, as shown in FIG. 13, a “measurement processing module” is further added.
And "control processing module".
【0107】ここで、生成処理モジュールは、印刷デー
タ等の画像形成データに基づいてフォントオブジェクト
を生成する生成処理を実現するプログラムモジュールで
ある。また、分割処理モジュールは、生成処理で生成さ
れたフォントオブジェクトを分割して分割データを得る
分割処理を実現するプログラムモジュールである。ま
た、保持処理モジュールは、分割処理で得られた分割デ
ータを保持すると共に、当該フォントオブジェクトを再
生するための該分割データの連結情報を保持する保持処
理を実現するプログラムモジュールである。更に、出力
処理モジュールは、保持処理で保持された前記フォント
オブジェクトが前記画像形成データによって要求された
場合、前記連結情報に基づいて前記分割データを連結
し、対応するフォントオブジェクトを形成して出力する
出力処理を実現するプログラムモジュールである。Here, the generation processing module is a program module that realizes generation processing for generating a font object based on image forming data such as print data. The division processing module is a program module that realizes division processing for dividing the font object generated in the generation processing to obtain division data. The holding processing module is a program module that realizes a holding process of holding the divided data obtained by the dividing process and holding the connection information of the divided data for reproducing the font object. Furthermore, when the font object held in the holding process is requested by the image forming data, the output processing module connects the divided data based on the connection information, forms a corresponding font object, and outputs the font object. It is a program module that realizes output processing.
【0108】また、上述の計測処理モジュールとは、画
像形成データに基づいて画像形成される文字の各々の出
現頻度を計測する計測処理を実現するプログラムモジュ
ールである。そして、制御処理モジュールとは、計測処
理によって計測された出現頻度に基づいて、各文字に対
する分割処理及び保持処理の実行を制御する制御処理を
実現するプログラムモジュールである。The above-mentioned measurement processing module is a program module that realizes measurement processing for measuring the appearance frequency of each character formed in an image based on the image formation data. The control processing module is a program module that realizes a control processing for controlling the execution of the division processing and the holding processing for each character based on the appearance frequency measured by the measurement processing.
【0109】[0109]
【発明の効果】以上説明したように、本発明によれば、
フォントオブジェクトを分割して保持、再利用すること
が可能となり、画像形成処理における処理速度の向上が
達成される。As described above, according to the present invention,
The font object can be divided and held and reused, and the processing speed in the image forming process can be improved.
【0110】また、本発明によれば、フォントオブジェ
クトを分割して保持することで、サイズの大きい文字パ
ターンでもキャッシングすることが可能となり、画像形
成処理の処理速度の向上が達成される。Further, according to the present invention, by dividing and holding the font object, it becomes possible to cache even a large character pattern, and the processing speed of the image forming processing is improved.
【0111】また、本発明によれば、フォントオブジェ
クトを分割して保持することで、サイズの大きい文字パ
ターンでも圧縮処理を施してキャッシングすることが可
能となり、例えばフォントキャッシュにおけるメモリ容
量の低減化が達成される。Further, according to the present invention, by dividing and holding a font object, it becomes possible to perform compression processing and caching even for a character pattern having a large size. For example, the memory capacity in the font cache can be reduced. To be achieved.
【0112】更に、本発明によれば、描画する各文字の
出現頻度に応じてフォントオブジェクトの分割、保持の
実行を決定することが可能となり、フォントオブジェク
トの不要な分割、保持を防止して、処理効率を向上する
ことが可能となる。Furthermore, according to the present invention, it is possible to determine whether to divide or hold a font object according to the appearance frequency of each character to be drawn, and prevent unnecessary division or holding of the font object. It is possible to improve processing efficiency.
【0113】[0113]
【図1】本発明を適用可能な画像処理装置の構成を示す
断面図である。FIG. 1 is a sectional view showing a configuration of an image processing apparatus to which the present invention can be applied.
【図2】図1の画像処理装置の制御ユニットの内部構成
を説明するブロック図である。2 is a block diagram illustrating an internal configuration of a control unit of the image processing apparatus in FIG.
【図3】第1の実施形態における画像処理装置の描画処
理を説明するフローチャートである。FIG. 3 is a flowchart illustrating a drawing process of the image processing apparatus according to the first embodiment.
【図4】本実施形態における文字パターンの分割例と、
各分割ブロック毎のオフセット値offyi(i=1〜
n)の関係を示す模式図である。FIG. 4 is an example of dividing a character pattern according to the present embodiment,
Offset value offyi (i = 1 to 1) for each divided block
It is a schematic diagram which shows the relationship of n).
【図5】フォントオブジェクトとフォント情報管理テー
ブルの内容、及びこれらのリンク関係を示す概略図であ
る。FIG. 5 is a schematic diagram showing the contents of a font object and a font information management table, and the link relationship between them.
【図6】第1の実施形態における検索処理の手順を表す
フローチャートである。FIG. 6 is a flowchart illustrating a procedure of search processing according to the first embodiment.
【図7】第1の実施形態における不要キャッシュの解放
処理を示すフローチャートである。FIG. 7 is a flowchart showing processing of releasing unnecessary cache according to the first embodiment.
【図8】第1の実施形態におけるフォントオブジェクト
の構成を示す模式図である。FIG. 8 is a schematic diagram showing a configuration of a font object in the first embodiment.
【図9】第1の実施形態における描画情報の出力手順を
説明するフローチャートである。FIG. 9 is a flowchart illustrating an output procedure of drawing information according to the first embodiment.
【図10】本実施形態に係る画像処理装置の内部構成を
示すブロック図である。FIG. 10 is a block diagram showing an internal configuration of the image processing apparatus according to the present embodiment.
【図11】第4の実施形態における画像処理装置の描画
処理を説明するフローチャートである。FIG. 11 is a flowchart illustrating a drawing process of the image processing apparatus according to the fourth embodiment.
【図12】頻度テーブルのデータ構成例を示す図であ
る。FIG. 12 is a diagram showing a data configuration example of a frequency table.
【図13】本発明に係る制御プログラムを格納する記憶
媒体のメモリマップ例を示す図である。FIG. 13 is a diagram showing an example of a memory map of a storage medium storing a control program according to the present invention.
100 プリンタ装置 101 プリンタ制御ユニット 201 CPU 202 ROM 202a 描画オブジェクト生成部 202b フォントキャッシュ管理部 202c 圧縮/伸長部 202d 描画部 202e フォントROM 202f 文字生成部 203 RAM 203a 描画オブジェクト格納部 203b フォントオブジェクト格納部 203c ページメモリ 205 受信バッファ 100 printer device 101 printer control unit 201 CPU 202 ROM 202a drawing object generation unit 202b font cache management unit 202c compression / decompression unit 202d drawing unit 202e font ROM 202f character generation unit 203 RAM 203a drawing object storage unit 203b font object storage unit 203c page Memory 205 Receive buffer
フロントページの続き (51)Int.Cl.6 識別記号 庁内整理番号 FI 技術表示箇所 G09G 5/26 630 G06F 15/72 355U Continuation of the front page (51) Int.Cl. 6 Identification code Office reference number FI Technical display location G09G 5/26 630 G06F 15/72 355U
Claims (23)
る画像形成装置であって、 画像形成データに基づいてフォントオブジェクトを生成
する生成手段と、 前記生成手段で生成されたフォントオブジェクトを分割
して分割データを得る分割手段と、 前記分割手段で得られた分割データを保持すると共に、
当該フォントオブジェクトを再生するための該分割デー
タの連結情報を保持する保持手段と、 前記保持手段で保持された前記フォントオブジェクトが
前記画像形成データによって要求された場合、前記連結
情報に基づいて前記分割データを連結し、対応するフォ
ントオブジェクトを形成して出力する出力手段とを備え
ることを特徴とする画像形成装置。1. An image forming apparatus for forming an image based on image forming data, comprising: generating means for generating a font object based on the image forming data; and dividing the font object generated by the generating means. Dividing means for obtaining divided data, and holding the divided data obtained by the dividing means,
Holding means for holding connection information of the divided data for reproducing the font object; and, when the font object held by the holding means is requested by the image forming data, the division information based on the connection information. An image forming apparatus comprising: an output unit that connects data, forms a corresponding font object, and outputs the formed font object.
ジェクトが所定のサイズよりも大きいか否かを判定する
判定手段を更に備え、 前記分割手段及び前記保持手段は、前記フォントオブジ
ェクトが前記所定のサイズよりも大きいと判定された場
合に実行されることを特徴とする請求項1に記載の画像
形成装置。2. The image forming apparatus further comprises: determining means for determining whether or not the font object generated by the generating means is larger than a predetermined size, wherein the dividing means and the holding means have the font object having the predetermined size. The image forming apparatus according to claim 1, wherein the image forming apparatus is executed when it is determined to be larger than the above.
前記フォントオブジェクトが前記所定のサイズよりも小
さいと判定された場合、該フォントオブジェクトをその
まま保持することを特徴とする請求項2に記載の画像形
成装置。3. The image according to claim 2, wherein the holding unit holds the font object as it is when the determining unit determines that the font object is smaller than the predetermined size. Forming equipment.
れたフォントオブジェクトを前記所定のサイズで分割し
て分割データを得ることを特徴とする請求項2に記載の
画像形成装置。4. The image forming apparatus according to claim 2, wherein the dividing unit divides the font object generated by the generating unit into the predetermined size to obtain divided data.
される文字の各々の出現頻度を計測する計測手段と、 前記計測手段によって計測された出現頻度に基づいて、
各文字に対する前記分割手段及び前記保持手段の実行を
制御する制御手段とを更に備えることを特徴とする請求
項1乃至4のいずれかに記載の画像形成装置。5. A measuring unit that measures the appearance frequency of each of the characters that are image-formed based on the image forming data; and an appearance frequency that is measured by the measuring unit.
The image forming apparatus according to claim 1, further comprising a control unit that controls execution of the dividing unit and the holding unit for each character.
1ページ分のデータに基づいて画像形成される文字の出
現頻度を計測することを特徴とする請求項5に記載の画
像形成装置。6. The image forming apparatus according to claim 5, wherein the measuring unit measures the appearance frequency of the characters formed on the image based on the data for one page of the image forming data.
基づいて画像形成される文字とそれぞれの出現頻度情報
を登録する頻度テーブルを生成することを特徴とする請
求項5に記載の画像形成装置。7. The image forming apparatus according to claim 5, wherein the measuring unit generates a frequency table for registering characters to be image-formed and appearance frequency information of each character based on the image-forming data. .
に登録された各文字について、その出現回数が1回のも
のと2回以上のものを区別する情報であることを特徴と
する請求項7に記載の画像形成装置。8. The appearance frequency information is information that distinguishes, for each character registered in the frequency table, a character that appears once and a character that appears twice or more. The image forming apparatus according to item 1.
前記画像形成データによって要求された場合、前記分割
データの夫々を特定する情報とその描画位置を描画情報
として記憶する記憶手段と、 前記記憶手段で記憶された描画情報に基づいて可視画像
形成のための描画を行う描画手段とを備えることを特徴
とする請求項1乃至8のいずれかに記載の画像形成装
置。9. The output means stores, when the font object held by the holding means is requested by the image forming data, information specifying each of the divided data and a drawing position thereof as drawing information. 9. The image forming apparatus according to claim 1, further comprising a storage unit and a drawing unit that performs drawing for forming a visible image based on the drawing information stored in the storage unit.
縮して格納し、 前記出力手段は、前記圧縮された分割データを伸長して
フォントオブジェクトを形成することを特徴とする請求
項1乃至9のいずれかに記載の画像形成装置。10. The storage device compresses and stores the divided data, and the output device decompresses the compressed divided data to form a font object. The image forming apparatus according to any one of 1.
の圧縮処理を有し、前記分割データの各々について異な
る圧縮処理を施してこれらを保持すると共に、前記連結
情報に各分割データに適用した圧縮処理を示す情報を付
加し、 前記出力手段は、前記連結情報で示される圧縮処理に対
応した伸長処理を適用して前記分割データを伸長し、フ
ォントオブジェクトを形成することを特徴とする請求項
10に記載の画像形成装置。11. The holding unit has a plurality of types of compressing processes that can be executed, performs different compressing processes on each of the divided data to hold them, and applies the concatenated information to each divided data. The information indicating a compression process is added, and the output unit applies a decompression process corresponding to the compression process indicated by the connection information to decompress the divided data to form a font object. The image forming apparatus according to item 10.
サイズであることを特徴とする請求項2に記載の画像処
理装置。12. The image processing apparatus according to claim 2, wherein the predetermined size is a size that allows compression.
状をピクセルのオン・オフで示した文字パターン、或は
文字に輪郭を構成する座評点列を示すアウトラインデー
タ、或はアウトラインデータを加工したベクトルデータ
のいずれかで構成されることを特徴とする請求項1乃至
12のいずれかに記載の画像形成装置。13. The font object is a character pattern in which a character shape is indicated by turning pixels on or off, or outline data indicating a series of score points forming a contour of a character, or vector data obtained by processing the outline data. The image forming apparatus according to any one of claims 1 to 12, wherein the image forming apparatus is configured by any one.
れる印刷データであり、 前記出力手段で形成されるフォントオブジェクトを記録
紙上に印刷する印刷手段を更に備えることを特徴とする
請求項1乃至13のいずれかに記載の画像形成装置。14. The image forming data is print data input from the outside, and the image forming data further includes a printing unit that prints a font object formed by the output unit on a recording sheet. The image forming apparatus according to any one of 1.
ブジェクトを表示画面上に表示する表示手段を更に備え
ることを特徴とする請求項1乃至14のいずれかに記載
の画像形成装置。15. The image forming apparatus according to claim 1, further comprising display means for displaying a font object formed by the output means on a display screen.
ブジェクトに基づいて画像を形成する形成手段と、 形成された画像を可視出力する可視出力手段とを更に備
えることを特徴とする請求項1に記載の画像形成装置。16. The image forming apparatus according to claim 1, further comprising a forming unit that forms an image based on a font object output by the output unit, and a visible output unit that visually outputs the formed image. Image forming device.
とを特徴とする請求項16に記載の画像形成装置。17. The image forming apparatus according to claim 16, wherein the visible output unit is a printer.
する画像形成方法であって、 画像形成データに基づいてフォントオブジェクトを生成
する生成工程と、 前記生成工程で生成されたフォントオブジェクトを分割
して分割データを得る分割工程と、 前記分割工程で得られた分割データを保持すると共に、
当該フォントオブジェクトを再生するための該分割デー
タの連結情報を保持する保持工程と、 前記保持工程で保持された前記フォントオブジェクトが
前記画像形成データによって要求された場合、前記連結
情報に基づいて前記分割データを連結し、対応するフォ
ントオブジェクトを形成して出力する出力工程とを備え
ることを特徴とする画像形成方法。18. An image forming method for forming an image based on image forming data, comprising: a generating step of generating a font object based on the image forming data; and dividing the font object generated in the generating step. A dividing step of obtaining divided data, and holding the divided data obtained in the dividing step,
A holding step of holding connection information of the divided data for reproducing the font object, and the division based on the connection information when the font object held in the holding step is requested by the image forming data. And an output step of connecting data to form a corresponding font object and outputting the font object.
成される文字の各々の出現頻度を計測する計測工程と、 前記計測工程によって計測された出現頻度に基づいて、
各文字に対する前記分割工程及び前記保持工程の実行を
制御する制御工程とを更に備えることを特徴とする請求
項18に記載の画像形成方法。19. A measurement step of measuring the appearance frequency of each of the characters image-formed based on the image formation data, and based on the appearance frequency measured by the measurement step,
The image forming method according to claim 18, further comprising a control step of controlling execution of the dividing step and the holding step for each character.
ブジェクトに基づいて画像を形成する形成工程と、 形成された画像を可視出力する可視出力工程とを更に備
えることを特徴とする請求項18に記載の画像形成方
法。20. The method according to claim 18, further comprising a forming step of forming an image based on the font object output in the output step, and a visible output step of visually outputting the formed image. Image forming method.
可視画像を形成、出力することを特徴とする請求項20
に記載の画像形成方法。21. The visible output step forms and outputs a visible image by a printer.
2. The image forming method according to 1.,
するためのプログラムコードを格納するコンピュータ可
読メモリであって、 画像形成データに基づいてフォントオブジェクトを生成
する生成工程のコードと、 前記生成工程で生成されたフォントオブジェクトを分割
して分割データを得る分割工程のコードと、 前記分割工程で得られた分割データを保持すると共に、
当該フォントオブジェクトを再生するための該分割デー
タの連結情報を保持する保持工程のコードと、 前記保持工程で保持された前記フォントオブジェクトが
前記画像形成データによって要求された場合、前記連結
情報に基づいて前記分割データを連結し、対応するフォ
ントオブジェクトを形成して出力する出力工程のコード
とを備えることを特徴とするコンピュータ可読メモリ。22. A computer-readable memory storing a program code for forming an image based on image forming data, the code of a generating step of generating a font object based on the image forming data; The code of the dividing step for dividing the generated font object to obtain divided data, and holding the divided data obtained in the dividing step,
A code of a holding step for holding the connection information of the divided data for reproducing the font object, and when the font object held in the holding step is requested by the image forming data, based on the connection information. And a code of an output process for connecting the divided data to form a corresponding font object and outputting the font object.
成される文字の各々の出現頻度を計測する計測工程のコ
ードと、 前記計測工程によって計測された出現頻度に基づいて、
各文字に対する前記分割工程及び前記保持工程の実行を
制御する制御工程のコードとを更に備えることを特徴と
する請求項22に記載のコンピュータ可読メモリ。23. Based on a code of a measuring step for measuring the appearance frequency of each character image-formed based on the image forming data, and the appearance frequency measured by the measuring step,
23. The computer-readable memory of claim 22, further comprising a control process code that controls execution of the dividing process and the holding process for each character.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP8064588A JPH09258715A (en) | 1996-03-21 | 1996-03-21 | Image forming device and method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP8064588A JPH09258715A (en) | 1996-03-21 | 1996-03-21 | Image forming device and method |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH09258715A true JPH09258715A (en) | 1997-10-03 |
Family
ID=13262568
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP8064588A Withdrawn JPH09258715A (en) | 1996-03-21 | 1996-03-21 | Image forming device and method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH09258715A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008197525A (en) * | 2007-02-15 | 2008-08-28 | Yamaha Corp | Image processing apparatus |
-
1996
- 1996-03-21 JP JP8064588A patent/JPH09258715A/en not_active Withdrawn
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008197525A (en) * | 2007-02-15 | 2008-08-28 | Yamaha Corp | Image processing apparatus |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3119429B2 (en) | Printer control device and method | |
JPH11170655A (en) | Method and apparatus for outputting image | |
US5852710A (en) | Apparatus and method for storing image data into memory | |
JP2610993B2 (en) | Information processing apparatus and method | |
JPH01264867A (en) | Output apparatus | |
KR100257843B1 (en) | Character processor, character processing method, and memory | |
EP0481787B1 (en) | Output method and apparatus | |
JPH09258715A (en) | Image forming device and method | |
JPH09149221A (en) | Method and device for outputting image | |
JP2973260B2 (en) | Print information processing device | |
EP0440359A2 (en) | Output apparatus | |
JP2923002B2 (en) | Font-free raster image processing system | |
JP3450961B2 (en) | Printing apparatus and control method thereof | |
JPH11203072A (en) | Picture processor | |
JPH0863145A (en) | Pattern generating method and device therefor | |
JP4325339B2 (en) | Printing system, host computer and printer driver | |
JP2005038084A (en) | Method and device for converting drawing data | |
JPH11234508A (en) | Simple method for printing successive page by page printer | |
JP2737880B2 (en) | Character processing apparatus and method | |
JPH11235849A (en) | Image processing device, data processing method thereof, and storage medium storing program readable by computer | |
JP3061562B2 (en) | Printing system, information processing device, information processing method, printing device, and printing method | |
JP2988303B2 (en) | Image processing device | |
JPH0939312A (en) | Printer, printing method and printing mechanism | |
JPH09300769A (en) | Printing device, method for registering data, and storage medium with control program stored therein | |
JPH106553A (en) | Printer and its control method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20030603 |