JPH03242694A - System and device for calculating affine transformation and dot memory address for character generation - Google Patents

System and device for calculating affine transformation and dot memory address for character generation

Info

Publication number
JPH03242694A
JPH03242694A JP2038247A JP3824790A JPH03242694A JP H03242694 A JPH03242694 A JP H03242694A JP 2038247 A JP2038247 A JP 2038247A JP 3824790 A JP3824790 A JP 3824790A JP H03242694 A JPH03242694 A JP H03242694A
Authority
JP
Japan
Prior art keywords
data
affine transformation
coordinate
coordinate data
dot memory
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2038247A
Other languages
Japanese (ja)
Inventor
Shinji Wakizaka
新路 脇坂
Hiroshi Wada
和田 弘士
Hironobu Yanagida
柳田 広宣
Fumihiro Takahashi
文博 高橋
Toshio Asai
俊雄 浅井
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Microcomputer System Ltd
Hitachi Ltd
Hitachi Consumer Electronics Co Ltd
Japan Display Inc
Original Assignee
Hitachi Device Engineering Co Ltd
Hitachi Ltd
Hitachi Consumer Electronics Co Ltd
Hitachi Microcomputer Engineering Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Device Engineering Co Ltd, Hitachi Ltd, Hitachi Consumer Electronics Co Ltd, Hitachi Microcomputer Engineering Ltd filed Critical Hitachi Device Engineering Co Ltd
Priority to JP2038247A priority Critical patent/JPH03242694A/en
Publication of JPH03242694A publication Critical patent/JPH03242694A/en
Pending legal-status Critical Current

Links

Landscapes

  • Dot-Matrix Printers And Others (AREA)
  • Image Generation (AREA)
  • Controls And Circuits For Display Device (AREA)

Abstract

PURPOSE:To perform highly accurate coordinate transformation with a small circuit scale by providing a font input FiFo means storing temporarily outline font coordinate data from a host interface and a font memory. CONSTITUTION:A leak memory source address LSAR 67 stored in a register LSAR is latched in latch LB 2 through a B bus. When a dot memory is the internal memory of OFP, the contents of the LSAR are zero, so zero is latched in the LB2. A dot memory address (2yXLSHWXx>3+LSAR) 68 is outputted from an ALU and outputted as the high-order and low-order data to 25 and an FiFo 27. A bit address is outputted from a register BA 18. Thus, affine transformation and dot memory address calculation are carried out by one hardware set fast with high accuracy and the scale of the hardware is reducible.

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、コンピュータグラフィックス分野の文字発生
用装置に係り、特に、文字の拡大、縮小。
DETAILED DESCRIPTION OF THE INVENTION [Field of Industrial Application] The present invention relates to a character generation device in the field of computer graphics, and in particular to character enlargement and reduction.

回転等を実現する際に用いられる座標変換装置およびラ
イン描画におけるドツトメモリのアドレス計算装置に関
する。
The present invention relates to a coordinate conversion device used to realize rotation, etc., and a dot memory address calculation device for line drawing.

〔従来の技術〕[Conventional technology]

アウトラインで構成された文字において、文字の拡大、
縮小9回転等を実現するためには、アウトラインを構成
する(x+y)座標データに対して、アフィン変換など
により座標変換を行う必要がある。
For characters composed of outlines, enlarging the characters,
In order to realize reduction nine rotations, etc., it is necessary to perform coordinate transformation, such as affine transformation, on the (x+y) coordinate data that constitutes the outline.

座標(xt y)から座標(xey’)へのアフィン変
換は次式で表される。
Affine transformation from coordinates (xt y) to coordinates (xey') is expressed by the following equation.

x’ =ax+by+e y’ =c x+d y+f       ・・・(1
)これらのアウトラインフォントデータのアフィン変換
を考えるとき、従来のコンピュータグラフィックス分野
における文字や図形はドツト形式で表現されていたため
に、特開昭61−13380号記載の座標変換回路のよ
うな画像データを対象にした座標変換装置が提案されて
いる。
x'=ax+by+e y'=c x+d y+f...(1
) When considering affine transformation of these outline font data, since characters and figures in the conventional computer graphics field are expressed in dot format, image data such as the coordinate transformation circuit described in JP-A-61-13380 is used. A coordinate conversion device has been proposed for .

〔発明が解決しようとする課題〕[Problem to be solved by the invention]

上記従来の座標変換技術は画像データを対象としたもの
であり、アウトラインフォントデータのような座標値を
座標変換するには適さない。また。
The conventional coordinate transformation techniques described above are intended for image data, and are not suitable for coordinate transformation of coordinate values such as outline font data. Also.

アウトラインフォントデータに対して、座標変換。Coordinate transformation for outline font data.

アウトライン描画、塗り潰し、BitBLTを高速に処
理し、ページメモリ上ヘビットマノプデータとして変換
する装置においては、座標変換は精度よく高速に変換し
、変換された座標値を結んでアウトライン描画を行う際
に、ドツトデータとして、それを格納するドツトメモリ
のアドレスをアウトラインフォントデータのループの開
始座標点に対して乗算器を使って計算する必要がある。
In a device that processes outline drawing, filling, and BitBLT at high speed and converts it into heavy bitmanop data on the page memory, coordinate conversion is performed accurately and at high speed, and when drawing an outline by connecting the converted coordinate values. First, it is necessary to use a multiplier to calculate the address of the dot memory that stores the dot data with respect to the starting coordinate point of the outline font data loop.

これらの二つの演算を独立した処理ブロックで行う、す
なわち、乗算器を二つ持つことは、ハードウェア規模が
大きくなってしまう。
Performing these two operations in independent processing blocks, that is, having two multipliers increases the hardware scale.

しかし、従来の座標変換装置では、座標変換のみ実行す
るものであり、また、精度の高い座標変換を実行する制
御がなされていないため、精度の高い座標変換とドツト
メモリアドレス計算という他の演算を1つの小さな回路
で高速に処理することが困難であった。
However, conventional coordinate conversion devices only execute coordinate conversion, and since there is no control to execute highly accurate coordinate conversion, other operations such as highly accurate coordinate conversion and dot memory address calculation are also performed. It has been difficult to perform high-speed processing with one small circuit.

本発明の一つの目的は、アウトラインフォントデータを
ページメモリ上へビットマツプデータとして変換する一
連の処理を行う装置において、小さな回路規模で、精度
の高い座標変換が実行でき、アウトライン描画を行う際
に必要なドツトメモリのアドレス計算を実行できる文字
発生用アフィン変換・ドットメモリアドレス計算装置を
提供することにある。
One object of the present invention is to be able to perform highly accurate coordinate conversion with a small circuit scale in a device that performs a series of processes for converting outline font data onto a page memory as bitmap data, and to be able to perform highly accurate coordinate conversion when drawing outlines. An object of the present invention is to provide an affine transformation/dot memory address calculation device for character generation that can perform necessary dot memory address calculations.

本発明の他の目的は、高精度な座標変換及びドツトメモ
リのアドレス計算を一つのハードウェアで高速に処理で
きる文字発生用アフィン変換・ドットメモリアドレス計
算装置を提供することにある。
Another object of the present invention is to provide an affine transformation/dot memory address calculation device for character generation that can process highly accurate coordinate conversion and dot memory address calculation at high speed with a single piece of hardware.

本発明の他のもう一つの目的は、座標変換されたデータ
を曲線補間等に使用するとき、補間精度を上げるために
、それに必要なデータを出力できる文字発生用アフィン
変換・ドットメモリアドレス計算装置を提供することに
ある。
Another object of the present invention is to provide an affine transformation/dot memory address calculation device for character generation that can output data necessary for increasing interpolation accuracy when coordinate-converted data is used for curve interpolation, etc. Our goal is to provide the following.

〔課題を解決するための手段〕[Means to solve the problem]

上記目的を達成するために、本発明による文字発生用ア
フィン変換・ドットメモリアドレス計算方式は、アウト
ラインフォントデータをページメモリ上ヘビソトマノプ
データに変換する一連の処理を行う方式および装置にお
いて、MPUインタフェースおよびフォントメモリから
アウトラインフォント座標データを一時的に格納してお
くフォント入力FiFoと、フォント入力FiFoから
順に座標データX+、Yを読み込み、座標データx’ 
、 yにアフィン変換するアフィン変換ブロックと、ア
フィン変換された座標データを一時的に格納しておく 
FiFo Qと、FiFo Oから座標データを読み込
み、曲線補間データに関しては曲線補間を行う曲線補間
ブロックと、曲線補間ブロックから出力された座標デー
タを一時的に格納してお(FiFo 1と、FiFo 
1から座標データを読み込み、座標データ間をビットイ
メージでラインを発生するライン発生ブロックと、ライ
ン発生ブロックから出力されたビットマツプデータを格
納するドツトメモリと、ドツトメモリからビットマツプ
データを読み込み、アウトライン内部を塗り潰し、ペー
ジメモリ上にビットマツプデータブロック転送する塗り
潰し・BユtBLTブロック及びページメモリインタフ
ェースを備えた文字発生方式あるいは装置0FF(アウ
トラインフォントプロセッサ)であって、上記アフィン
変換において、入力された座標データXy3’に対して
、係数データa9 b、c、dおよび座標軸移動量e、
fを定め、x’ =ax+by+e及び!’ =cx+
dy+fを算出し、さらに、アウトラインフォントデー
タを構成するループの開始の座標データX。、yoに対
しては、ライン発生ブロックがアフィン変換の後のx0
Vo’あるいは、アフィン変換しない場合は、X Os
yoをドツトメモリ上に展開する際のドツトメモリのア
ドレスをアフィン変換ブロックがアフィン変換を行う一
つのハードウェアで計算し、計算されたアドレスデータ
は座標データ及びフラグデータを同じ経路でライン発生
ブロックへ転送するようにしたものである。
In order to achieve the above object, the affine transformation/dot memory address calculation method for character generation according to the present invention is a method and apparatus that performs a series of processing for converting outline font data into heavy sotomanop data on a page memory. The coordinate data X+ and Y are read in order from the font input FiFo, which temporarily stores the outline font coordinate data from the interface and font memory, and the font input FiFo, and the coordinate data x'
, Temporarily store the affine transformation block that performs affine transformation on y and the affine transformed coordinate data.
Coordinate data is read from FiFo Q and FiFo O, and for curve interpolation data, the curve interpolation block that performs curve interpolation and the coordinate data output from the curve interpolation block are temporarily stored (FiFo 1 and FiFo
A line generation block that reads coordinate data from 1 and generates a line between the coordinate data as a bit image, a dot memory that stores the bitmap data output from the line generation block, and a dot memory that reads bitmap data from the dot memory and generates a line inside the outline. A character generation method or device OFF (outline font processor) equipped with a fill/BUTBLT block and a page memory interface that transfers a bitmap data block onto a page memory, and in the above affine transformation, input coordinate data. For Xy3', coefficient data a9 b, c, d and coordinate axis movement amount e,
Define f, x' = ax + by + e and! '=cx+
Coordinate data X at the start of a loop that calculates dy+f and further configures outline font data. , yo, the line generation block is x0 after affine transformation
Vo' or, if no affine transformation, X Os
The affine transformation block calculates the dot memory address when expanding yo onto the dot memory using one piece of hardware that performs affine transformation, and the calculated address data, coordinate data and flag data are transferred to the line generation block through the same route. This is how it was done.

上記アフィン変換ブロックにおいて、アフィン変換され
た8力座標データあるいはアフィン変換しない入力およ
び出力座標データは、整数部mビット及び小数部nビッ
トで構成するようにしたものである。
In the above affine transformation block, the 8-force coordinate data subjected to affine transformation or the input and output coordinate data not subjected to affine transformation are configured with m bits for the integer part and n bits for the decimal part.

上記アフィン変換ブロックにおいて、内部データーバス
構成は、アフィン変換時には整数部Jビット、小数部に
ビットに別け、ドツトメモリアドレス計算時には、整数
部(j 十k)ビットとして計算するようにしたもので
ある。
In the above affine transformation block, the internal data bus configuration is such that during affine transformation, the integer part is divided into J bits and the decimal part is divided into bits, and when the dot memory address is calculated, the integer part (j 10k) bits are calculated. .

本発明による文字発生用アフィン変換・ドットメモリア
ドレス計算装置は、座標データx、yを格納する座標レ
ジスタと、上記アフィン変換に必要とされる係数データ
を格納する係数レジスタと、座標軸移動量データを格納
する座標軸移動量レジスタと、出力文字サイズを格納す
る出力サイズレジスタと、外部出力用メモリのベースア
ドレスを格納するワークメモリベースアドレスレジスタ
と、アフィン変換後のデータX′、y′を格納する座標
レジスタと、ドットメモリアドレス計算用レジスタと、
アフィン変換およびドツトメモリアドレス計算を行う演
算部とを備えたものである。
The affine transformation/dot memory address calculation device for character generation according to the present invention includes a coordinate register for storing coordinate data x, y, a coefficient register for storing coefficient data required for the above-mentioned affine transformation, and coordinate axis movement amount data. A coordinate axis movement amount register to store, an output size register to store the output character size, a work memory base address register to store the base address of the external output memory, and coordinates to store the data X', y' after affine transformation. register, dot memory address calculation register,
It is equipped with an arithmetic unit that performs affine transformation and dot memory address calculation.

この装置において、例えば、上記ドツトメモリアドレス
に格納されるビット情報であるビットアドレスは、Qビ
ットであって、トッドメモリアドレス計算におけるビッ
トアドレスは、アウトラインフォントデータを構成する
ループの開始の座標データの出力されるX座標データX
。あるいはxo′ の下位Sビットをデコードして出力
するようにしたものである。
In this device, for example, the bit address that is the bit information stored in the dot memory address is the Q bit, and the bit address in the tod memory address calculation is the coordinate data of the start of the loop constituting the outline font data. Output X coordinate data
. Alternatively, the lower S bits of xo' are decoded and output.

〔作用〕[Effect]

本発明によれば、アウトラインフォントデータを構成す
る座標データをページメモリ上へビットマツプデータに
変換する一連の処理を行う方式および装置において、座
標データからページメモリ上のビットマツプデータに変
換されていく順に、M P Uインタフェース、フォン
ト入力FiFo、アフィン変換ブロック、 FiFo○
2曲線補間ブロック。
According to the present invention, in a method and apparatus that performs a series of processes for converting coordinate data constituting outline font data into bitmap data on a page memory, the coordinate data is converted into bitmap data on the page memory. In order, MPU interface, font input FiFo, affine transformation block, FiFo○
2 curve interpolation block.

FiFol、ライン発生ブロック、ドツトメモリ、塗り
潰し・BitBLTブロック、ページメモリインタフェ
ースを備えた文字発生方式あるいは装置○FP(アウト
ラインフォントプロセッサ)であることにより、ライン
発生ブロックが座標データを受は取り、座標点間をドツ
トイメージでラインを発生する際に、1文字を構成する
座標データのうち各ループの開始座標データをドツトメ
モリに格納するときのアドレスをアフィン変換ブロック
が計算し、他の座標データと同じ経路でライン発生ブロ
ックに渡すことができる。ループの開始座枠データ以外
の新たに発生したビットマツプデータのアドレスはライ
ン発生時にライン発生ブロックが管理するが、乗算器を
必要とするような計算はない。また、ライン発生ブロッ
クがドットメモリアドレスが必要なときは、1文字を構
成する座標データのうち各ループの開始座標データから
次の座標データへ向けてラインを発生するときであるた
め、開始座標データの1つ前にアフィン変換ブロックで
計算したドツトメモリアドレスを座標データと同様に次
のFiFo Oへ出力してやればよい。
Character generation method or device equipped with FiFol, line generation block, dot memory, fill/BitBLT block, page memory interface When generating a line in a dot image, the affine transformation block calculates the address at which to store the start coordinate data of each loop in the dot memory among the coordinate data that makes up one character, and stores it in the same path as other coordinate data. Can be passed to the line generation block. The address of newly generated bitmap data other than the loop starting frame data is managed by the line generation block when a line is generated, but there is no calculation that requires a multiplier. Also, when the line generation block requires a dot memory address, it is when a line is generated from the start coordinate data of each loop to the next coordinate data of the coordinate data that makes up one character, so the start coordinate data The dot memory address calculated in the previous affine transformation block can be output to the next FiFoO in the same way as the coordinate data.

すなわち、ライン発生ブロックには乗算器を持つ必要は
なく、またドツトメモリアドレスを受は取る専用バスも
必要なく、また、ループの開始の座標データから内部で
ドツトメモリアドレスを計算することから1文字発生用
アフィン変換・ドットメモリアドレス計算方式により、
アウトラインフォントデータをページメモリ上へビット
マツプデータに変換する一連の処理を行う装置において
、回路規模の大幅な縮小ができ、高速な一連の処理が可
能になる。
In other words, the line generation block does not need to have a multiplier, there is no need for a dedicated bus to receive and receive dot memory addresses, and since the dot memory address is internally calculated from the coordinate data at the start of the loop, one character By affine transformation for generation and dot memory address calculation method,
In a device that performs a series of processes for converting outline font data into bitmap data on a page memory, the circuit scale can be significantly reduced and a series of processes can be performed at high speed.

本発明によれば、文字発生用アフィン変換・ドットメモ
リアドレス計算方式によれば、アフィン変換された出力
座標データあるいは、アフィン変換しない入力および出
力座標データを整数部mビット及び小数部nビットで構
成したことにより、次の曲線補間ブロック以降、精度を
必要とする場合に、小数部を付加して出力することによ
り、高精度な文字出力を実現することができ、さらに、
ドツトメモリアドレス計算を1つの制御で実現できる。
According to the present invention, according to the affine transformation/dot memory address calculation method for character generation, output coordinate data that has undergone affine transformation or input and output coordinate data that has not been affine transformed is composed of m bits for the integer part and n bits for the decimal part. By doing this, when precision is required from the next curve interpolation block onwards, by adding a decimal part and outputting it, it is possible to achieve highly accurate character output.
Dot memory address calculation can be realized with one control.

本発明によれば、文字発生用アフィン変換・ドットメモ
リアドレス計算方式において、内部データバスの構成を
、アフィン変換時には整数部jビット、小数部にビット
に別け、ドツトメモリアドレス計算時には、整数部(j
十k)ビットとして計算することにより、高精度なアフ
ィン変換ができ、新たな回路やバスを付加することなく
ドツトメモリアドレス計算ができることから、装置全体
の規模を縮小することができる。
According to the present invention, in the affine transformation/dot memory address calculation method for character generation, the configuration of the internal data bus is divided into j bits for the integer part and bits for the decimal part during affine transformation, and the integer part ( j
By calculating in terms of 10 k) bits, highly accurate affine transformation can be performed, and dot memory address calculation can be performed without adding new circuits or buses, so the overall scale of the device can be reduced.

〔実施例〕〔Example〕

以下、本発明の実施例を詳細に説明する。 Examples of the present invention will be described in detail below.

第4図に、アウトラインフォントデータを構成する座標
データをページメモリ上へビットマツプデータに変換す
る一連の処理を行う装置0FF(アウトラインフォント
プロセッサ)を用いたシステム構成例を示す。アドレス
バス、データバス。
FIG. 4 shows an example of a system configuration using a device OFF (outline font processor) that performs a series of processes for converting coordinate data constituting outline font data into bitmap data on a page memory. address bus, data bus.

制御信号バスから成るシステムバス47には、ホストC
P U39.システムメモリ40.アウトラインフォン
トメモリ41.DMAコントローラ42,0FP43、
ページメモリコントローラ44が接続されており、また
、OFFにはページメモリコントローラが接続され、ペ
ージメモリコントローラにはページメモリ45が接続さ
れ、ページメモリは、プリンタ及びCRTシステム46
に接続されている。このシステムは、主にページプリン
タコントローラやCRTシステムに用いられる。例えば
、OFFは、ホストCPUからの信号により、DMAC
をかいして、アラ1−ラインフォントメモリからアウト
ラインフォントデータである座標データを受は取り、ペ
ージメモリコントローラをかいして、ページメモリ上へ
ビットマツプデータに変換して書き込む。
A system bus 47 consisting of a control signal bus includes a host C
P U39. System memory 40. Outline font memory 41. DMA controller 42, 0FP43,
A page memory controller 44 is connected to OFF, a page memory controller is connected to OFF, a page memory 45 is connected to the page memory controller, and the page memory is connected to the printer and CRT system 46.
It is connected to the. This system is mainly used in page printer controllers and CRT systems. For example, when the DMAC is turned OFF, it is determined by a signal from the host CPU.
Coordinate data, which is outline font data, is received from the 1-line font memory using the 1-line font memory, and the page memory controller is used to convert it into bitmap data and write it onto the page memory.

第2図に、OFFの内部ブロック図を示す。ここで、○
FP38は、ポストインタフェース36およびホストイ
ンタフェース内部にあるフォント入力FiFo28.ア
フィン変換ブロック29 、 FiFo O33、曲線
補間ブロック30. FiFo 134.ライン発生ブ
ロック31、ドツトメモリ35.塗り潰しBitBLT
ブロック32、ページメモリインタフェース37がら構
成する。
FIG. 2 shows an internal block diagram of OFF. Here, ○
The FP 38 has a font input FiFo 28. which is inside the post interface 36 and the host interface. Affine transformation block 29, FiFo O33, curve interpolation block 30. FiFo 134. Line generation block 31, dot memory 35. Fill BitBLT
It consists of a block 32 and a page memory interface 37.

ホストインタフェースからは、システムバスに接続され
るアドレスバス、データバス、制御信号群が出ている。
From the host interface, an address bus, a data bus, and a group of control signals connected to the system bus are output.

また、ページメモリインタフェースからは、ページメモ
リコントローラに接続されるアドレスバス、データバス
、制御信号群が呂でいる。
Further, an address bus, a data bus, and a group of control signals connected to the page memory controller are connected to the page memory interface.

次ニ、OFFの動作について説明する。アウトラインフ
ォントメモリがらリードした座標データは、ホストイン
タフェース内のフォント入力FiFoに一時的に格納さ
れる。アフィン変換ブロックはフォント入力FユFoか
ら順に座標データXl yを読み込み、アフィン変換を
実行し、 x’ wa x十b y+e y’ =l) x十d y+f 座標データx、y’ をFiFo Oへ出方する。曲線
補間ブロックは、 FiFoOに一時的に格納された座
標データx’ 、y’ をリードし、曲線データの場合
は曲線を表す新たな座標データを発生して、FiFo 
1へ出力する。ライン発生ブロックは、FiF。
Next, the OFF operation will be explained. The coordinate data read from the outline font memory is temporarily stored in the font input FiFo within the host interface. The affine transformation block sequentially reads the coordinate data Xly from the font input F, executes the affine transformation, and sends the coordinate data x, y' to FiFo O. Appear. The curve interpolation block reads the coordinate data x', y' temporarily stored in the FiFoO, and in the case of curve data, generates new coordinate data representing the curve and transfers it to the FiFoO.
Output to 1. The line generation block is FiF.

1から一時的に格納された座標データを読み込み、座標
点間をドツトイメージでラインを発生し、文字の輪郭を
作り、ビットマツプデータとして、ドツトメモリへ書き
込む。塗り潰しBitBLTブロックは、ドツトメモリ
から1文字ごとに輪郭を表すビットマツプデータを読み
込み、@部内を塗り潰し、ページメモリインタフェース
を経由して、ページメモリ上に、ビットマツプデータを
ブロック転送しながら書き込む。
1, reads the temporarily stored coordinate data, generates a line between the coordinate points as a dot image, creates the outline of the character, and writes it to the dot memory as bitmap data. The fill-in BitBLT block reads bitmap data representing the outline of each character from the dot memory, fills the inside of the @ part, and writes the bitmap data onto the page memory via the page memory interface while transferring the bitmap data in blocks.

ここで、ライン発生ブロックが、FiFo 1から座標
データを読み込み、座標点間をドツトイメージでライン
を発生する際に、アウトラインフォントデータを構成す
る座標データで構成されたいくつかのループの1番目の
座標データに対して、これをドツトイメージデータとし
てドツトメモリへ書き込む位置を計算する(ドットメモ
リアドレス計算と呼ぶことにする)必要がある。この計
算をライン発生ブロックが実行するとすると、アフィン
変換ブロック以外にもう1つ乗算器が必要になり、○F
P38内に2つの乗算器を持つことになり、装置の規模
が大きくなる。例えば、この計算をOFFの外、ホスト
CPUなどにしてもらい、内部のレジスタにセットして
もらうとOFFの処理速度が低下するばかりでなく、C
PUのスループットの低下を招く。また、乗算器の共有
を考えると、乗算用の専用バスや乗算器・バスのアービ
トレーション制御が必要になってしまう。
Here, when the line generation block reads the coordinate data from FiFo 1 and generates a line between the coordinate points as a dot image, the first of several loops made up of the coordinate data that makes up the outline font data. It is necessary to calculate the position of the coordinate data to be written into the dot memory as dot image data (referred to as dot memory address calculation). If this calculation is performed by the line generation block, one more multiplier is required in addition to the affine transformation block, and ○F
Since there are two multipliers in P38, the scale of the device increases. For example, if this calculation is done outside of OFF, such as by the host CPU, and set in an internal register, not only will the processing speed of OFF decrease, but also the
This results in a decrease in PU throughput. Furthermore, when considering the sharing of multipliers, a dedicated bus for multiplication and arbitration control of the multipliers and buses become necessary.

そこで、第2図に示すOFFの構成においては、ライン
発生ブロックは、ドットメモリアドレス計算は、ループ
の1番目の座標データと、2番目の座標データとの間を
ライン発生する直前に行えばよいことから、1番目の座
標データを読み込む直前にドツトメモリアドレスを読み
込めばよい。すなわち、乗算器を持っているアフィン変
換部が、ドツトメモリアドレス計算をループの1番目の
座標データに対してアフィン変換とともに行い、1番目
の変換後座標データを出力する直前にFiFo Oへ出
力してやれば、ライン発生ブロックは、ドツトメモリア
ドレスを座標データと同様に必要なときに受は取ること
ができる。よって、以上のことを実現するために、アフ
ィン変換ブロックは・通常のアフィン変換及びドットメ
モリアドレス計算を行う。
Therefore, in the OFF configuration shown in FIG. 2, the line generation block only needs to calculate the dot memory address immediately before generating a line between the first coordinate data and the second coordinate data of the loop. Therefore, it is sufficient to read the dot memory address immediately before reading the first coordinate data. In other words, the affine transformation unit that has a multiplier performs dot memory address calculation on the first coordinate data of the loop along with affine transformation, and outputs it to the FiFoO immediately before outputting the first transformed coordinate data. For example, the line generation block can receive dot memory addresses as well as coordinate data when needed. Therefore, in order to realize the above, the affine transformation block performs normal affine transformation and dot memory address calculation.

第6図に、ドツトメモリアトレス計算について説明する
。第6図(a)は、ライン発生ブロックが、座標データ
を読み込み、座標点間をライン発生していく際の、座標
データとドツトメモリのアドレスの関係を示したもので
ある。1文字を構成しているアウトラインフォントデー
タのループの1部が座標データ、P 1 、 P z 
、P J 、P 、t 、’ P 5(=I)、)とす
る。ライン発生ブロックは、P、→P2へとラインを発
生する。このとき、P工を格納するドツトメモリアドレ
スはPlを読み込む直前に読み込んでいる。P2以降は
、ラインをドツトイメージで発生していくときにドツト
メモリアトレスは自動的に計算されている。よって、ア
フィン変換ブロックは、P、に対してのみ以下のドツト
メモリアトレス計算を行う。
FIG. 6 explains dot memory address calculation. FIG. 6(a) shows the relationship between coordinate data and dot memory addresses when the line generation block reads coordinate data and generates lines between coordinate points. Part of the loop of outline font data that makes up one character is coordinate data, P 1 , P z
, P J , P , t ,' P 5 (=I), ). The line generation block generates a line from P to P2. At this time, the dot memory address storing P is read immediately before reading Pl. From P2 onwards, dot memory addresses are automatically calculated when lines are generated as dot images. Therefore, the affine transformation block performs the following dot memory address calculation only for P.

例えば、P□(36,7)が、ドツトイメージに変換さ
れ、ドツトメモリへ格納されるときのドツトメモリアド
レスは60番地になる。ここで、1番地の幅、すなわち
、ドツトメモリアドレスに格納されるビット情報である
ビットアトレスは、バイトとする。この計算を式で表す
と、 ドツトメモリアドレス= y XLSHWX 2 + 
x/ 8余り切り捨て =7X4X2X4 =60 さらに、ドツトメモリ35が○FP38の外部にある場
合は、ドットメモリアドレスに、LSAR(H/L)を
加えたものになる。すなわち、ドラ1〜メモリアドレス
は次式により計算する。
For example, when P□(36,7) is converted to a dot image and stored in the dot memory, the dot memory address is address 60. Here, the width of one address, that is, the bit address, which is bit information stored in a dot memory address, is assumed to be bytes. Expressing this calculation using the formula, dot memory address = y XLSHWX 2 +
x/8 remainder rounded down = 7X4X2X4 = 60 Furthermore, if the dot memory 35 is outside the FP 38, the dot memory address will be the sum of LSAR (H/L). That is, the driver 1 to memory addresses are calculated using the following formula.

ドツトメモリアドレス=y XLSHWX2+ x )
3+LSAR(Hル○PF内蔵ドツトメモリの場合は、
LSAR(H/L)を0に設定する。
Dot memory address = y XLSHWX2+ x )
3+LSAR (HLE○PF built-in dot memory,
Set LSAR(H/L) to 0.

次に、第6図(b)に示すように、1〜ノドメモリアド
レス60番地に書き込まれる内容、すなわち、ビットア
ドレスは、 00001000 になり、これは、xPJ!標データ;x=36.2進で
表すと、00100100の下位3ビツトをデコートし
て出力する。
Next, as shown in FIG. 6(b), the content written to node memory addresses 1 to 60, that is, the bit address, becomes 00001000, which is xPJ! Standard data: x = 36. When expressed in binary, the lower 3 bits of 00100100 are decoded and output.

第3図は、第2図のOFFにおいて、アフィン変換ブロ
ックが、通常のアフィン変換および以上説明したドツト
メモリアドレス計算を実行するアフィン変換・ドットメ
モリアドレス計算装置の動作について説明したものであ
る。フォント入力FiFoから入力されるデータは整数
16ビツトからなり、例えば、負の数は2の補数である
。また、最上位ビットをフラグデータ認識ビットとして
もよい。ここで、フォント入力FiFoから読み込んだ
データがフラグデータか座標データかを判別し、フラグ
データの場合は、FiFo Qへそのまま出力します。
FIG. 3 explains the operation of the affine transformation/dot memory address calculation device in which the affine transformation block executes the normal affine transformation and the dot memory address calculation described above in the OFF state of FIG. 2. The data input from the font input FiFo consists of 16-bit integers, for example, negative numbers are two's complement numbers. Alternatively, the most significant bit may be used as a flag data recognition bit. Here, it is determined whether the data read from the font input FiFo is flag data or coordinate data, and if it is flag data, it is output as is to FiFo Q.

座標データの場合は、Xs yのペアのリードを確認し
、アフィン変換を実行し、X+3”  をFiFo O
へ出力します。このとき、出力されるデータ型式は、1
6ビツト長で、入力された整数データに対し、小数3ビ
ツトを付けて出力します、これは、以降の処理ブロック
、例えば曲線補間ブロックで精度の向上が期待できるよ
うにしたものである。また、XHy’ がアウトライン
フォントデータのループの1番目(ループの開始点)の
座標データの場合は、ドットメモリアドレスを計算し、
ドツトメモリアドレス、ビットアドレスをFiFo O
へ出力してから、x’ 、y’ をFiFo Oへ出力
する。
For coordinate data, check the read of the Xs y pair, perform affine transformation, and convert X+3” to FiFo O
Output to. At this time, the output data format is 1
It has a length of 6 bits and outputs the input integer data with 3 decimal bits attached.This is so that it can be expected to improve accuracy in subsequent processing blocks, such as the curve interpolation block. Also, if XHy' is the coordinate data of the first loop (starting point of the loop) of the outline font data, calculate the dot memory address,
Dot memory address, bit address to FiFoO
After that, x' and y' are output to FiFo O.

また、第4図で示したようなシステムにおいて、OFF
がアフィン変換した結果を1度ホストCPUが読み込み
、データの加工、例えば、線幅補正を行う等をしてから
、再度OFFに入力してビットマツプデータに展開する
ような場合は、第5図に示す動作になる。フォント入力
FiFoから読み込むデータは、出力データ型式と同じ
小数3ビツトを含む実数16ビツトである。ここでも同
様に。
Also, in a system like the one shown in Figure 4, OFF
If the host CPU reads the affine-transformed result once, processes the data, such as line width correction, and then inputs it again to OFF and develops it into bitmap data, as shown in Figure 5. The behavior shown is as follows. The data read from the font input FiFo is a 16-bit real number including 3 decimal bits, the same as the output data format. Similarly here.

入力データx、yがアウトラインフォントデータのルー
プの1番目(ループの開始点)の座標データの場合は、
ドットメモリアドレスを計算し、ドツトメモリアドレス
、ビットアドレスをFiFo Oへ出力してから、x’
 、 y  をFiFo Qへ出力する。
If the input data x, y is the coordinate data of the first loop (starting point of the loop) of outline font data,
Calculate the dot memory address, output the dot memory address and bit address to FiFoO, and then x'
, y to FiFo Q.

第1図に、本発明の文字発生用アフィン変換・ドットメ
モリアドレス計算装置の構成例を示す・同図において、
1は、アフィン変換及びドットメモリアドレス計算を制
御する制御部(CNT)である・2x、2yは、フォン
ト入力FiFoからリードされた座標データx、yが格
納される座標レジスタ(XR,YR)である。3は、例
えば、16ビツトのシステムデータバス(CPUデータ
バス)であり、ホストCPUが各レジスタに設定値をセ
ットするバスである。4及び5は、32ビツトのデータ
バス(A、B)である。6a、6b、6c。
FIG. 1 shows an example of the configuration of an affine transformation/dot memory address calculation device for character generation according to the present invention.
1 is a control unit (CNT) that controls affine transformation and dot memory address calculation. 2x and 2y are coordinate registers (XR, YR) in which the coordinate data x and y read from the font input FiFo are stored. be. Reference numeral 3 denotes, for example, a 16-bit system data bus (CPU data bus), which is a bus through which the host CPU sets set values in each register. 4 and 5 are 32-bit data buses (A, B). 6a, 6b, 6c.

6dは、例えば、アフィン変換に必要とされる係数デー
タの仮数部を格納するレジスタ(A M M A 。
6d is, for example, a register (AMMA) that stores the mantissa part of coefficient data required for affine transformation.

、A Li M B 、 A M M C、iλMMD
)であり、7a。
, A Li M B , A M M C, iλMMD
) and 7a.

7b、7c、7dは、係数データの指数部を格納するレ
ジスタ(AMCA、AMCB、AMCC。
7b, 7c, and 7d are registers (AMCA, AMCB, AMCC) that store the exponent part of coefficient data.

AMCD)である。8x、8yは、座標軸移動量データ
を格納する座標軸移動量レジスタ(AC5x、AC5Y
)である。9は、出力文字サイズである横ワード数を格
納する出力サイズレジスタ(LSHW)である。10は
、外部出力用メモリ(ドツトメモリ)のソースアドレス
を格納するワークメモリソースアドレスレジスタ(LS
AR(H/L)である。11.12はラッチである。1
3は、16X16の乗算器(MULT)であり、14は
、32ビツトのバレルシフタである。15.16はラッ
チである。I7は、ALUである。I8は、ビットアド
レスを出力するレジスタ(BA)であり、X座標の下位
3ビツトをDC19によりデコードして出力する。
AMCD). 8x and 8y are coordinate axis movement amount registers (AC5x, AC5Y) that store coordinate axis movement amount data.
). Reference numeral 9 denotes an output size register (LSHW) that stores the number of horizontal words, which is the output character size. 10 is a work memory source address register (LS) that stores the source address of the external output memory (dot memory).
It is AR (H/L). 11 and 12 are latches. 1
3 is a 16×16 multiplier (MULT), and 14 is a 32-bit barrel shifter. 15 and 16 are latches. I7 is an ALU. I8 is a register (BA) for outputting a bit address, and the lower three bits of the X coordinate are decoded by DC19 and output.

20、22は、アフィン変換後のデータx′、y′ を
格納する座標レジスタ(XRI、YRI)であり、21
、23は、ドツトメモリアドレス計算用レジスタ(XR
5I、YR8I)である。24は、アフィンマトリクス
レジスタ指数部の値をデコートしてシフト量をデコード
するデコーダ(DC)である。
20 and 22 are coordinate registers (XRI, YRI) that store data x', y' after affine transformation;
, 23 are dot memory address calculation registers (XR
5I, YR8I). A decoder (DC) 24 decodes the value of the exponent part of the affine matrix register to decode the shift amount.

25、26は、32ビツトデータバスの上位、下位を別
けて16ビツトにして出力するものである。27は、F
iFo Oである。
25 and 26 separate the upper and lower parts of the 32-bit data bus and output them as 16 bits. 27 is F
iFoO.

次に、本発明の文字発生用アフィン変換・ドットメモリ
アドレス計算装置の動作について説明する。
Next, the operation of the character generation affine transformation/dot memory address calculation device of the present invention will be explained.

第7図(a)にアフィン変換の動作について第1図を見
ながら説明する。レジスタXRに格納された座標データ
X48整数は、Aバスを経由してラッチLAIにラッチ
される。レジスタAMMAに格納されたアフィンマトリ
クス仮数部データA49がBバスを経由してラッチLB
Iにラッチされる。
The operation of affine transformation will be explained with reference to FIG. 1 in FIG. 7(a). The coordinate data X48 integer stored in the register XR is latched into the latch LAI via the A bus. Affine matrix mantissa data A49 stored in register AMMA is sent to latch LB via B bus.
It is latched to I.

ここで、Δは小数点の位置を表す。これは、アフィンマ
トリクス指数部データA (AMCA)の値により表さ
れる。乗算器MULTによりAX50が出力され、さら
に、バレルシフタBSにより、小数点が32ビツトの中
央にくるようにシフトされ、ラッチLA2ヘラソチされ
る。次に、同様にして、レジスタYRに格納された座標
データY52整数は。
Here, Δ represents the position of the decimal point. This is represented by the value of affine matrix exponent part data A (AMCA). The multiplier MULT outputs AX50, and the barrel shifter BS shifts the decimal point to the center of 32 bits, and then resets the latch LA2. Next, the coordinate data Y52 integer stored in the register YR is as follows.

Aバスを経由してラッチLAIにラッチされる。It is latched into latch LAI via the A bus.

レジスタA M M Bに格納されたアフィンマトリク
ス仮数部データB53がBバスを経由してラッチLBI
にラッチされる。乗算器MULTによりBy54が出力
され、さらに、バレルシフタBSにより、小数点が32
ビツトの中央にくるようにシフトされ、ラッチLB2ヘ
ラッチされる。ALUにより、A x + B yが出
力され、さらに、Bバスを経由して、ラッチLB2にラ
ッチされる。座標軸移動量レジスタAC5Xに格納され
ているAC3X57がAバスを経由してラッチLA2ヘ
ラッチされる。このとき、AC5Xは整数であるから、
32ビツトのうち上位16ビツトにAC5Xがくるよう
にし、下位16ビツトはす八でゼロにする。ALUによ
り、A x + B y +A CS X 、すなわち
、アフィン変換後データX′が出力される。さらに、小
数3ビットを含む16ビツトデータ59としてFiFo
 Oへ出力する。アフィン変換後データY’ =Cx十
Dy+AC5Yについても同様に出力される。アフィン
変換されたデータ59は、それぞれ、XRI。
The affine matrix mantissa data B53 stored in the register A M M B is sent to the latch LBI via the B bus.
latched to. By54 is output by the multiplier MULT, and the decimal point is changed to 32 by the barrel shifter BS.
It is shifted to the center of the bit and latched into latch LB2. ALU outputs A x + B y, which is further latched into latch LB2 via B bus. AC3X57 stored in the coordinate axis movement amount register AC5X is latched to latch LA2 via the A bus. At this time, since AC5X is an integer,
The AC5X is placed in the upper 16 bits of the 32 bits, and the lower 16 bits are set to eight and zero. The ALU outputs A x + B y + AC X , that is, affine-transformed data X'. Furthermore, as 16-bit data 59 including 3 decimal bits, the FiFo
Output to O. The affine-transformed data Y'=Cx+Dy+AC5Y is similarly output. Each of the affine-transformed data 59 is XRI.

YRIレジスタに格納される。再入力された小数3ビツ
トを含む16ビツトデータについても、XRI、YRI
レジスタへ格納される。
Stored in the YRI register. Regarding 16-bit data including 3 decimal bits that have been re-input, XRI, YRI
Stored in register.

第7図(b)にドットメモリアドレス計算の動作につい
て、第1図を見ながら説明する。ドツトメモリアドレス
計算は整数で実行されることにより、アフィン変換時に
は、小数点の位置が32ヒツトのデータバスの中央に位
置していたのに対し、ドツトメモリアドレス計算時には
、小数点の位置は最右端にあり、32ビツトすへて整数
部とする。
The operation of dot memory address calculation will be explained with reference to FIG. 1 in FIG. 7(b). Because dot memory address calculations are performed using integers, during affine transformation, the decimal point was located at the center of the 32-hit data bus, whereas when calculating dot memory addresses, the decimal point was located at the rightmost end. Yes, all 32 bits constitute the integer part.

ドツトメモリアドレスは、y X L S HVl/−
X 2 +x>3+LSAR(H/L)で求まることか
ら、レジスタYR5123には、2yが格納されている
The dot memory address is yXLSHVl/-
Since it is determined by X 2 +x>3+LSAR(H/L), 2y is stored in the register YR5123.

これは、レジスタXRI、および、YRIには、小数3
ビツトを含む16ビツトデータ (アフィン変換された
データあるいは再入力されたデータ)が格納されている
ためであり、これらのデータから必要な整数部を取り出
し、さらに加須したものである。レジスタXR5121
には、X)3か格納されている。レジスタYR5Iの2
y60は、Aハスを経由して、ランチALLにラッチさ
れる。レジスタLSHWに格納されたL S HW61
が、Bバスを経由して、ランチLBIにラッチされる。
This means that registers XRI and YRI contain decimal 3
This is because 16-bit data (affine-transformed data or re-input data) containing bits is stored, and the necessary integer parts are extracted from these data and further added. Register XR5121
contains X)3. Register YR5I 2
y60 is latched to launch ALL via A lotus. LSHW61 stored in register LSHW
is latched into the launch LBI via the B bus.

乗算器MULTにより、(2yxt、SHw)6zが出
力され、バレルシフタをシフトせずに一経由して、ラッ
チLA2ヘラッチされる。レジスタXR5lに格納され
ている(X>3)64がBハスを経由してラッチLB2
にラッチされる。ALUにより(2yXLSHW+x>
3)65が出力され、さらにAバスを経由して、ラッチ
LA2にラッチされる。レジスタLSARに格納されて
いるワークメモリソースアドレスL□5AR67をBバ
スを経由してラッチLB2にランチする。ドツトメモリ
がOFPの内蔵メモリである場合は、LSARはゼロで
あることから、LB2へはゼロをラッチする。ALUか
らドットメモリアドレス(2yXLSHWXx>3+L
SAR)68が出力され、上位/下位に別けて25 、
 FiFo Oへ出力する。
The multiplier MULT outputs (2yxt, SHw)6z, which passes through the barrel shifter without shifting and is latched into the latch LA2. (X>3)64 stored in register XR5l is sent to latch LB2 via B lotus.
latched to. By ALU (2yXLSHW+x>
3) 65 is outputted and further latched into latch LA2 via the A bus. The work memory source address L□5AR67 stored in the register LSAR is launched into the latch LB2 via the B bus. If the dot memory is the built-in memory of the OFP, LSAR is zero, so zero is latched into LB2. From ALU to dot memory address (2yXLSHWXx>3+L
SAR) 68 is output, divided into upper/lower 25,
Output to FiFoO.

ビットアドレスは、レジスタBA1gから出力する。The bit address is output from register BA1g.

以上により、1つのバー1〜ウエアで、アフィン変換と
ドツトメモリアドレス計算を、高速に精度良く実行でき
、ハードウェアの規模も縮小することができる。
As described above, affine transformation and dot memory address calculation can be executed at high speed and with high precision using one bar 1~ware, and the scale of the hardware can also be reduced.

〔発明の効果〕〔Effect of the invention〕

本発明によれば、アウトラインフォントデータをページ
メモリ上ヘビットマソプデータとして変換する一連の処
理を行う装置において、小さな回路規模で、精度の高い
座標変換が実行でき、文字の輪郭を描画するライン発生
の際に必要なドツトメモリのアドレス計算を一連の処理
速度の低下をおこさずに実現できる。
According to the present invention, in a device that performs a series of processing for converting outline font data into heavy bitmap data on a page memory, highly accurate coordinate conversion can be executed with a small circuit scale, and a line for drawing the outline of a character can be used. The address calculation of the dot memory required at the time of occurrence can be realized without causing a series of processing speed reductions.

さらに、乗算器、加算器、データバスを最小域にしたこ
とから、装置規模を縮小できる。
Furthermore, since the multipliers, adders, and data buses are minimized, the scale of the device can be reduced.

また、バスの小数点位置を固定したことや、ドツトメモ
リアドレス計算用レジスタを設けたことにより、高速な
アフィン変換およびドツトメモリアドレス計算が実現で
きる。
Furthermore, by fixing the decimal point position of the bus and providing a register for dot memory address calculation, high-speed affine transformation and dot memory address calculation can be realized.

アフィン変換の出力データに小数ビットを付加したこと
により、曲線補間等に高精度な補間が実現できる。
By adding decimal bits to the output data of affine transformation, highly accurate interpolation can be achieved in curve interpolation and the like.

【図面の簡単な説明】[Brief explanation of drawings]

第1図は、本発明の一実施例の文字発生用アフィン変換
・ドットメモリアドレス計算装置のブロック図、第2図
は、アウトラインフォントデータをページメモリ上へビ
ットマツプデータに変換する装置のブロック図、第3図
、第5図は動作モードを説明するための図、第4図は、
OFFを用いたシステム構成例を示した図、第6図は、
ドツトメモリアドレス計算を説明するための図、第7図
は、アフィン変換およびドツトメモリアドレス計算の動
作を説明するための図である。 1・・アフィン変換・ドットメモリアドレス計算制御部
、2・・・座標レジスタ、4,5・・・データバス。 6.7・・アフィンマトリクスレジスタ、13・・・乗
算器、14・・・バレルシフタ、 17・・・ALU、
 20.22・・・座標レジスタ、 21.23・・・
ドットメモリアドレス計算用レジスタ。 → 車 図 7オフト入力FiF0 IFo O 栴 図 稟 5 図 7オント入力FiF0 iFQ 稟 6 図 (0−) 痙牒データ トIトメモリアトL又 (b) ド、、トノモリ了ト1ス ビ・・ノドアトしス、 稟 図 (、,4’) (α) アフィン変]夫 (1:)) ドツトメモリアドレス針)軒
FIG. 1 is a block diagram of an affine transformation/dot memory address calculation device for character generation according to an embodiment of the present invention, and FIG. 2 is a block diagram of a device that converts outline font data into bitmap data onto a page memory. , FIG. 3, and FIG. 5 are diagrams for explaining the operation modes, and FIG. 4 is a diagram for explaining the operation mode.
Figure 6 is a diagram showing an example of a system configuration using OFF.
FIG. 7 is a diagram for explaining dot memory address calculation. FIG. 7 is a diagram for explaining operations of affine transformation and dot memory address calculation. 1... Affine transformation/dot memory address calculation control unit, 2... Coordinate register, 4, 5... Data bus. 6.7... Affine matrix register, 13... Multiplier, 14... Barrel shifter, 17... ALU,
20.22...Coordinate register, 21.23...
Register for dot memory address calculation. → Car diagram 7 off-top input FiF0 IFo O 浴子 稟 5 Figure 7 on-t input FiF0 iFQ 稟 6 Figure (0-) Convulsive data to I to memory at L again (b) Do... Rinzu (,,4') (α) Affine change] husband (1:)) Dot memory address needle) Eaves

Claims (1)

【特許請求の範囲】 1、アウトラインフォントデータを構成する座標データ
をページメモリ上へビットマップデータに変換する一連
の処理を行う装置において、ホストインタフェースおよ
びフォントメモリからアウトラインフォント座標データ
を一時的に格納しておくフォント入力FiFo手段と、
フォント入力FiFo手段から順に座標データx、yを
読み込み、座標データx′、y′にアフィン変換するア
フィン変換ブロックと、アフィン変換された座標データ
を一時的に格納しておくFiFo0と、該FiFo0か
ら座標データを読み込み、曲線補間データに関しては曲
線補間を行う曲線補間ブロックと、曲線補間ブロックか
ら出力された座標データを一時的に格納しておくFiF
o1と、該FiFo1から座標データを読み込み、座標
データ間をビットイメージでラインを発生するライン発
生ブロックと、ライン発生ブロックから出力されたビッ
トマップデータを格納するドットメモリと、該ドットメ
モリからビットマップデータを読み込み、アウトライン
内部を塗り潰し、ページメモリ上にビットマップデータ
ブロック転送する塗り潰し・BitBLTブロック及び
ページメモリインタフェースを備えたことを特徴とする
文字発生装置。 2、請求項1記載の文字発生装置において、入力された
座標データx、yに対して、係数データa、b、c、d
、および、座標軸移動量e、fを定め、x′=ax+b
y+e及びy′=cx+dy+fを算出し、さらに、ア
ウトラインフォントデータを構成するループの開始の座
標データx_o、y_oに対しては、ライン発生ブロッ
クがアフィン変換後のx_o′、y_o′あるいは、ア
フィン変換しない場合は、x_o、y_oをドットメモ
リ上に展開する際のドットメモリのアドレスをアフィン
変換ブロックがアフィン変換を行う1つのハードウェア
で計算し、計算されたアドレスデータは座標データ及び
フラグデータと同じ経路でライン発生ブロックへ転送す
ることを特徴とする文字発生用アフィン変換・ドットメ
モリアドレス計算方式。 3、請求項2記載の計算方式において、アフィン変換さ
れた出力座標データあるいはアフィン変換しない入力お
よび出力座標データは、整数部mビット及び小数部nビ
ットで構成することを特徴とする文字発生用アフィン変
換・ドットメモリアドレス計算方式。 4、請求項2又は3記載の計算方式において、内部デー
タバスの構成は、アフィン変換時には整数部jビット、
小数部kビットに別け、ドットメモリアドレス計算時に
は、整数部(j+k)ビットとして計算することを特徴
とする文字発生用アフィン変換・ドットメモリアドレス
計算方式。 5、アフィン変換用の回路ブロックにおいて、座標デー
タx、yを格納する座標レジスタと、アフィン変換に必
要とされる係数データを格納する係数レジスタと、座標
軸移動量データを格納する座標軸移動量レジスタと、出
力文字サイズを格納する出力サイズレジスタと、外部出
力用メモリのソースアドレスを格納するワークメモリソ
ースアドレスレジスタと、アフィン変換後のデータx′
、y′を格納する座標レジスタと、ドットメモリアドレ
ス計算用レジスタと、アフィン変換およびドットメモリ
アドレス計算を行う演算部とを備えたことを特徴とする
文字発生用アフィン変換・ドットメモリアドレス計算装
置。 6、上記ドットメモリアドレスに格納されるビット情報
であるビットアドレスは、lビットであって、ドットメ
モリアドレス計算におけるビットアドレスは、アウトラ
インフォントデータを構成するループの開始の座標デー
タの出力されるx座標データx_oあるいはx_o′の
下位Sビットをデコードして出力することを特徴とする
請求項5記載の文字発生用アフィン変換・ドットメモリ
アドレス計算装置。
[Claims] 1. In a device that performs a series of processing to convert coordinate data constituting outline font data into bitmap data onto a page memory, outline font coordinate data is temporarily stored from a host interface and a font memory. A font input FiFo means to keep,
An affine transformation block that sequentially reads coordinate data x, y from the font input FiFo means and performs affine transformation into coordinate data x', y', a FiFo0 that temporarily stores the affine transformed coordinate data, and a A curve interpolation block that reads coordinate data and performs curve interpolation for curve interpolation data, and a FiF that temporarily stores the coordinate data output from the curve interpolation block.
o1, a line generation block that reads coordinate data from the FiFo1 and generates a line between the coordinate data as a bit image, a dot memory that stores bitmap data output from the line generation block, and a bitmap from the dot memory. A character generator comprising a fill/BitBLT block and a page memory interface for reading data, filling the inside of an outline, and transferring a bitmap data block onto a page memory. 2. In the character generating device according to claim 1, coefficient data a, b, c, d are generated for input coordinate data x, y.
, and determine the coordinate axis movement amounts e and f, x'=ax+b
y+e and y'=cx+dy+f are calculated, and for the coordinate data x_o, y_o at the start of the loop that constitutes the outline font data, the line generation block calculates x_o', y_o' after affine transformation or no affine transformation. In this case, the affine transformation block calculates the dot memory address when expanding x_o, y_o onto the dot memory using one piece of hardware that performs affine transformation, and the calculated address data follows the same route as the coordinate data and flag data. An affine transformation/dot memory address calculation method for character generation characterized by transferring data to a line generation block. 3. In the calculation method according to claim 2, the affine-transformed output coordinate data or the input and output coordinate data that is not affine-transformed is composed of m bits for an integer part and n bits for a decimal part. Conversion/dot memory address calculation method. 4. In the calculation method according to claim 2 or 3, the internal data bus has an integer part j bits,
An affine transformation/dot memory address calculation method for character generation characterized in that the decimal part is divided into k bits, and the integer part (j+k) bits are calculated when calculating the dot memory address. 5. In the circuit block for affine transformation, a coordinate register that stores coordinate data x, y, a coefficient register that stores coefficient data required for affine transformation, and a coordinate axis movement amount register that stores coordinate axis movement amount data. , an output size register that stores the output character size, a work memory source address register that stores the source address of external output memory, and data x' after affine transformation.
, y', a dot memory address calculation register, and an arithmetic unit that performs affine transformation and dot memory address calculation. 6. The bit address, which is the bit information stored in the above dot memory address, is 1 bit, and the bit address in the dot memory address calculation is x, which is the output coordinate data of the start of the loop that constitutes the outline font data. 6. The affine transformation/dot memory address calculation device for character generation according to claim 5, wherein the lower S bits of the coordinate data x_o or x_o' are decoded and output.
JP2038247A 1990-02-21 1990-02-21 System and device for calculating affine transformation and dot memory address for character generation Pending JPH03242694A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2038247A JPH03242694A (en) 1990-02-21 1990-02-21 System and device for calculating affine transformation and dot memory address for character generation

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2038247A JPH03242694A (en) 1990-02-21 1990-02-21 System and device for calculating affine transformation and dot memory address for character generation

Publications (1)

Publication Number Publication Date
JPH03242694A true JPH03242694A (en) 1991-10-29

Family

ID=12519980

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2038247A Pending JPH03242694A (en) 1990-02-21 1990-02-21 System and device for calculating affine transformation and dot memory address for character generation

Country Status (1)

Country Link
JP (1) JPH03242694A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05127656A (en) * 1991-11-05 1993-05-25 Mitsubishi Electric Corp Character processor

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05127656A (en) * 1991-11-05 1993-05-25 Mitsubishi Electric Corp Character processor

Similar Documents

Publication Publication Date Title
US20060250397A1 (en) Graphics processing unit and graphics processing system
US5862066A (en) Methods and apparatus for fast check of floating point zero or negative zero
JPH03105614A (en) Matrix computation circuit
EP0437379B1 (en) Curve generator
JPH0310380A (en) Image converting circuit
JPH03242694A (en) System and device for calculating affine transformation and dot memory address for character generation
US5721885A (en) Pixel data transfer system
JP2674287B2 (en) Graphic microcomputer
JP3055024B2 (en) Image data transfer device
KR970003326B1 (en) Character graphics generating circuits
JPH0721155A (en) Central arithmetic processor
KR940001106B1 (en) Image processing method and apparatus therefor
CA2418916C (en) Graphics processing unit and graphics processing system
JP3457336B2 (en) Outline data processing device
JP3211591B2 (en) Image processing device
JP2002172819A (en) Apparatus and method for imaging
JP3787951B2 (en) Code conversion method and code conversion apparatus using the same
JPH04167082A (en) Polygonal approximation system for curved section
JP2000242802A (en) Graphic processor
JPH05127657A (en) Character pattern generation device
JPH04369781A (en) System for generating contour line and straight line
JPH064396A (en) Image plotter
JPS62165280A (en) Setup apparatus for graphic/vector generator
JPS63147247A (en) Converting device for data format
JP2005310051A (en) Digital signal processing device