JPH0876733A - Image processing processor and image data processor or graphics computer using the same - Google Patents

Image processing processor and image data processor or graphics computer using the same

Info

Publication number
JPH0876733A
JPH0876733A JP6210922A JP21092294A JPH0876733A JP H0876733 A JPH0876733 A JP H0876733A JP 6210922 A JP6210922 A JP 6210922A JP 21092294 A JP21092294 A JP 21092294A JP H0876733 A JPH0876733 A JP H0876733A
Authority
JP
Japan
Prior art keywords
data
unit
pixel data
valued
pixels
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
JP6210922A
Other languages
Japanese (ja)
Inventor
Mamoru Oba
衛 大場
Mitsuru Watabe
満 渡部
Toshika Minami
利香 南
Akihiro Katsura
晃洋 桂
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 Ltd
Original Assignee
Hitachi 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 Ltd filed Critical Hitachi Ltd
Priority to JP6210922A priority Critical patent/JPH0876733A/en
Priority to TW083110149A priority patent/TW276317B/zh
Priority to EP94309123A priority patent/EP0658858B1/en
Priority to KR1019940034148A priority patent/KR100368198B1/en
Priority to US08/355,517 priority patent/US5771047A/en
Priority to CN94119595A priority patent/CN1097239C/en
Publication of JPH0876733A publication Critical patent/JPH0876733A/en
Priority to US08/996,151 priority patent/US6677950B1/en
Pending legal-status Critical Current

Links

Landscapes

  • Image Processing (AREA)
  • Digital Computer Display Output (AREA)
  • Facsimile Image Signal Circuits (AREA)
  • Color Image Communication Systems (AREA)
  • Controls And Circuits For Display Device (AREA)

Abstract

PURPOSE: To reduce hardware scale of a graphics computer and to reduce the cost by integrating a frame buffer with a main memory and graphics-processing it with a CPU. CONSTITUTION: The frame buffer 109 is arranged on the main memory 103, and this device is provided with a DMAC 101 reading out the pixel data from the frame buffer 109 for display, an FIFO receiving the pixel data and outputting them to a color palette, a memory 118 storing a procedure 120 that the CPU 100 plots for the frame buffer 109. In particular, the memory 118 storing the plotting procedure 120 incorporates a pattern table and a multilevel development plotting procedure 119 using a mask processing mask table. Thus, the frame buffer 109 is integrated with the main memory 103, and the graphics- processing by the CPU 100 is made possible and the hardware scale of the graphics computer is reduced, and the cost is reduced.

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【産業上の利用分野】本発明は文字や図形などの表示情
報(グラフィックス)を描画などの画像処理をし、表示
出力する画像処理プロセッサおよびそれを用いた画像デ
ータ処理装置またはグラフィックスコンピュータに係
り、特に文字・記号等の2値データを多値データに高速
に展開処理する画像データ処理装置に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an image processing processor for performing image processing such as drawing of display information (graphics) such as characters and figures, and displaying and outputting it, and an image data processing device or a graphics computer using the image processing processor. In particular, the present invention relates to an image data processing device that develops binary data such as characters and symbols into multivalued data at high speed.

【0002】[0002]

【従来の技術】文字コードや図形データなどを記憶し、
これらを基にグラフィックスを描画,表示あるいは印刷
する画像処理プロセッサおよびそれを用いた画像データ
処理装置またはグラフィックスコンピュータでは、表示
画面の画素に対応するデータ(以下、画素データと呼
ぶ)を記憶するために、フレームバッファという記憶装
置が用いられている。
2. Description of the Related Art Character codes, graphic data, etc. are stored,
An image processor for drawing, displaying, or printing graphics based on these and an image data processing device or a graphics computer using the same store data (hereinafter referred to as pixel data) corresponding to pixels of a display screen. Therefore, a storage device called a frame buffer is used.

【0003】グラフィックスを描画するためには文字コ
ードや図形データなどから画素の位置と画素データを演
算し、画素の位置に応じてフレームバッファに画素デー
タを書き込む描画処理と、表示画面に安定した画像を表
示するために、表示装置のラスタ走査に同期して順次繰
り返して表示画面の画素に対応する画素データをフレー
ムバッファから読みだす表示処理とがある。
In order to draw graphics, the pixel position and pixel data are calculated from character codes and graphic data, and the pixel data is written into the frame buffer according to the pixel position. In order to display an image, there is a display process in which pixel data corresponding to pixels on a display screen are sequentially and repeatedly read from a frame buffer in synchronization with raster scanning of a display device.

【0004】文字等の2値データを多値データに展開し
て、フレームバッファに描画する文字描画装置の一例と
して、文献「HD64410 ARTOP ユーザーズマ
ニュアル」の194頁から199頁に記載(第1従来技
術)されている。
As an example of a character drawing device that develops binary data such as characters into multivalued data and draws it in a frame buffer, it is described on pages 194 to 199 of the document "HD64410 ARTOP User's Manual" (first conventional technique). ) Has been.

【0005】この文献には、図2に示すような“0”と
“1”で表現された16×16ビットで構成されている
2値データを多値データに展開するものが示されてい
る。この2値データは、例えば、文字データや記号デー
タ(以下、単に文字データという)である。これらの文
字データ群をキャラクタジェエレータROM(CGRO
M)に配列して格納し、それぞれの文字データには文字
コードが割り付けられ、この文字コードによってアクセ
スされる。
This document shows that binary data composed of 16 × 16 bits represented by “0” and “1” as shown in FIG. 2 is expanded into multi-valued data. . The binary data is, for example, character data or symbol data (hereinafter, simply referred to as character data). These character data groups are stored in the character generator ROM (CGRO
The data is arranged in M) and stored, a character code is assigned to each character data, and the character data is accessed by this character code.

【0006】従って、文字コードに対応する文字データ
のメモリ上のアドレスは、その配列の特性に応じた数値
計算により求めることができる。この様なメモリアドレ
スとの対応が明確である文字データは図2に示す様に、
行番号1,列番号1の点を原点し、X方向に16画素,
Y方向に16画素で構成される座標系と考える事ができ
る。
Therefore, the address on the memory of the character data corresponding to the character code can be obtained by numerical calculation according to the characteristics of the array. Character data whose correspondence with such a memory address is clear is as shown in FIG.
Originating at the point of row number 1 and column number 1, 16 pixels in X direction,
It can be considered as a coordinate system composed of 16 pixels in the Y direction.

【0007】この2値で表された文字データとこの文字
データのCGROM上のアドレスを多値(色付き,多階
調)データとフレームバッファ上のアドレスに変換する
多値データへの展開を行うものである。
Character data represented by these two values and addresses of the character data on the CGROM are converted into multivalued data (colored, multitone) and multivalued data which are converted into addresses on the frame buffer. Is.

【0008】第2従来技術として、2値データのマスク
処理を含めた描画方法の高速化技術が特開平5−135162
号「画像処理装置」に示されている。
As a second conventional technique, there is a technique for speeding up a drawing method including masking of binary data.
No. "Image processing device".

【0009】これによると、2値データの多値展開と、
表示のための多色化に関する技術であり、ここで取り上
げている描画技術とは色成分の扱い方で多少ことなる背
景がある。
According to this, multi-valued expansion of binary data,
This is a technology related to multi-coloring for display, and the drawing technology discussed here has a slightly different background in how to handle color components.

【0010】つまり、表示のためにRGBの色成分を考
慮しているために、先に説明した多値展開の基本技術に
比べ1画素が3成分で構成されている分、扱うデータ量
が多くなり複雑な処理になっている。
That is, since the RGB color components are taken into consideration for display, one pixel is composed of three components, and therefore the amount of data to be handled is large compared to the basic technique of multi-valued expansion described above. It is a complicated process.

【0011】ここで、一つの色成分について注目するこ
とにより描画で行われる多値展開と同様の考え方ができ
る。
Here, by paying attention to one color component, the same idea as the multi-valued expansion performed in drawing can be obtained.

【0012】この技術の特徴は、2値データの“1”に
対応する多値データを記憶するRAMを使用することであ
り、更にこのRAM内には複数画素分の展開データが格
納されている。これにより、複数画素処理を可能とし展
開処理の高速化を図るものである。
The feature of this technique is to use a RAM for storing multi-valued data corresponding to "1" of binary data, and further, expanded data for a plurality of pixels is stored in this RAM. . As a result, a plurality of pixels can be processed and the expansion processing can be speeded up.

【0013】多値展開処理は、多値展開を行う画素数分
の多値データを記憶したRAMのデータに対して、2値
データの“0”に対応する部分のデータにマスク処理を
行うことにより実現されている。
In the multi-value expansion processing, the mask processing is performed on the data of the portion corresponding to "0" of the binary data with respect to the data of the RAM storing the multi-value data for the number of pixels to be subjected to the multi-value expansion. It is realized by.

【0014】[0014]

【発明が解決しようとする課題】第1従来技術による
と、文字コードの全ての画素データを1つずつ多値展開
するので、高速に処理することができないという問題が
あった。
According to the first prior art, all pixel data of the character code are multivalued one by one, so that there is a problem that they cannot be processed at high speed.

【0015】また、第2従来技術での高速化手法では、
2値データの“0”に対応する部分について、必ずマス
ク処理の対象となり特定色への変換は行わない。従っ
て、マスク処理なしでの描画には対応できず、図5に示
す様な文字の背景付きの描画を行うことはできないとい
う問題があった。
Further, in the speed-up method in the second conventional technique,
The portion corresponding to "0" of the binary data is always subject to mask processing and is not converted to a specific color. Therefore, there is a problem that the drawing cannot be performed without the mask processing, and the drawing with the background of characters as shown in FIG. 5 cannot be performed.

【0016】更に、この高速化手法をCPUを使用した
システムで実現しようとした場合、複数画素を同時に展
開した結果をフレームバッファに書き込む際に、メモリ
アクセスに制限があると次の様な問題が発生する。
Further, when attempting to realize this speed-up method in a system using a CPU, the following problems occur if there is a limit to the memory access when writing the result of simultaneously expanding a plurality of pixels to the frame buffer. appear.

【0017】つまり、CPUは、内部処理の高速化を図
るためにメモリアクセスに制限を設けることがある。
That is, the CPU may place a limit on memory access in order to speed up internal processing.

【0018】このメモリアクセスの制限とは、「COMPUT
ER ARCHITECTURE A QUANTITATIVEAPPROACH」94頁〜9
7頁に記載のように、バイト単位でのメモリアクセスを
基準として、それ以上のサイズ、例えばワード単位やロ
ングワード単位でアクセスする場合はそのアドレスが偶
数であること、あるいは4の倍数であることを満足しな
ければならないことである。
The memory access limitation is "COMPUT
ER ARCHITECTURE A QUANTITATIVE APPROACH "94 ~ 9
As described on page 7, refer to memory access in byte units, and if the size is larger, for example, in word units or longword units, the address must be an even number or a multiple of 4. Must be satisfied.

【0019】つまり、例えばロングワード単位でフレー
ムバッファに書き込み行う場合は、書き込み先のアドレ
スが4の倍数であることを満足していなければならず、
それ以外の場合はより小さいサイズでの書き込みしか許
されない事になる。
That is, for example, when writing to the frame buffer in units of long words, it must satisfy that the write destination address is a multiple of 4.
In other cases, writing with a smaller size is allowed.

【0020】従って、例えば1画素が1バイト、つまり
8ビットで構成されるシステムでは、メモリで構成され
るフレームバッファにグラフィックスコンピュータが書
き込みを行う際は、このメモリアクセスの制限を考慮し
て1画素単位での書き込みしかできない事になる。
Therefore, for example, in a system in which one pixel is composed of 1 byte, that is, 8 bits, when the graphics computer writes in the frame buffer composed of the memory, the limitation of this memory access is taken into consideration. This means that you can only write in pixel units.

【0021】フレームバッファへの書き込み等のメモリ
アクセスを効率良く行うためには、システムのメモリ転
送サイズの最大単位で複数画素を一度にアクセスする方
式が有効であるが、任意に指定されるフレームバッファ
の座標点を変換した結果である物理アドレスが、メモリ
アクセス制限を満足しない場合は、使用できないことに
なる。
In order to efficiently perform memory access such as writing to the frame buffer, it is effective to access a plurality of pixels at a time in the maximum unit of the memory transfer size of the system, but it is possible to arbitrarily specify the frame buffer. If the physical address that is the result of converting the coordinate point of does not satisfy the memory access restriction, it cannot be used.

【0022】本発明の目的は、高速に多値展開を実行す
る装置の提供にある。
An object of the present invention is to provide an apparatus for executing multivalued expansion at high speed.

【0023】本発明の他の目的は、透過処理の時間を短
縮し、効率的に処理することにある。
Another object of the present invention is to reduce the time required for the transparent processing and to perform the processing efficiently.

【0024】本発明の他の目的は、高速な多値展開処理
と高速な透過処理とを両立する装置の提供にある。
Another object of the present invention is to provide an apparatus which is compatible with both high-speed multi-value expansion processing and high-speed transparent processing.

【0025】本発明の他の目的は、描画などの画像処理
の結果をフレームバッファに効率良く書き込むために、
メモリアクセス制限に応じたデータ転送量でアクセスで
きる装置の提供にある。
Another object of the present invention is to efficiently write the result of image processing such as drawing into the frame buffer.
An object of the present invention is to provide a device that can access with a data transfer amount according to a memory access restriction.

【0026】[0026]

【課題を解決するための手段】本発明の第1の特徴は、
複数画素の2値データを読み出す抽出部と,1画素デー
タ分の多値データを複数有してなる多値パターンを保持
する多値パターン記憶部と,上記抽出部によって読み出
された複数画素の2値データに対応する多値データを上
記多値パターン記憶部から選択する選択部とを有するこ
とにある。
The first feature of the present invention is to:
An extraction unit that reads out binary data of a plurality of pixels, a multi-valued pattern storage unit that holds a multi-valued pattern having a plurality of multi-valued data for one pixel data, and a plurality of pixels read out by the extraction unit And a selection unit for selecting multivalued data corresponding to binary data from the multivalued pattern storage unit.

【0027】本発明の第2の特徴は、複数画素の2値デ
ータを読み出す抽出部と,複数画素データの所定の画素
データをマスクするためのマスクパターンを保持するマ
スクパターン記憶部と,上記抽出部によって読み出され
た複数画素の2値データの所定の画素データを処理する
ために上記マスクパターンから所定のマスクパターンを
選択する選択部と,上記選択されたマスクパターンに基
づいてマスク処理部とを有することにある。
A second feature of the present invention is that an extraction unit that reads out binary data of a plurality of pixels, a mask pattern storage unit that holds a mask pattern for masking predetermined pixel data of the plurality of pixel data, and the extraction described above. A selection unit for selecting a predetermined mask pattern from the mask patterns for processing predetermined pixel data of binary data of a plurality of pixels read by the unit; and a mask processing unit based on the selected mask pattern. To have.

【0028】本発明の第3の特徴は、フレームバッファ
に書き込む画素データのアドレスから画素データの書き
始め位置を判定するバウンダリ判定部と、上記書き始め
位置に従ってフレームバッファへ書き込む書き込み部と
を有することにある。
A third feature of the present invention is that it has a boundary determining section for determining a writing start position of pixel data from an address of pixel data to be written in the frame buffer, and a writing section for writing in the frame buffer according to the writing start position. It is in.

【0029】これらの特徴を組み合わせると、以下のよ
うな処理が可能となる。
By combining these features, the following processing becomes possible.

【0030】2値データ抽出部では、2値座標に対する
位置情報である座標点から変換されたメモリの物理アド
レスを入力として、そのアドレスを持つメモリ情報を読
み込む。
The binary data extraction unit inputs the physical address of the memory converted from the coordinate point which is the position information for the binary coordinate, and reads the memory information having the address.

【0031】次に、1画素を1ビットで表現している読
み込んだ情報から、連続する複数画素分のデータを切り
出し出力する。
Next, data for a plurality of consecutive pixels is cut out and output from the read information in which one pixel is represented by 1 bit.

【0032】一方、多値パターン記憶回路には予め多値
パターン発生回路により、切り出した2値データの複数
画素数の全ての組み合わせが蓄えられている。
On the other hand, in the multi-valued pattern storage circuit, all combinations of a plurality of pixels of the cut out binary data are stored in advance by the multi-valued pattern generation circuit.

【0033】また、マスクパターン記憶部には、切り出
した2値データの複数画素数に対して発生する全てのマ
スクパターンの組み合わせが蓄えられている。
Further, the mask pattern storage section stores combinations of all mask patterns generated for a plurality of pixels of the cut out binary data.

【0034】これら多値パターン記憶部とマスクパター
ン記憶部の内容から、切り出した複数の2値データとマ
スク処理の有無に関する情報,バウンダリ判定部からの
フレームバッファのアクセス制限に関する情報,転送回
数の情報を用い、それぞれ一つのパターンを選択する。
Based on the contents of the multi-valued pattern storage unit and the mask pattern storage unit, a plurality of cut-out binary data, information regarding the presence / absence of mask processing, information regarding the frame buffer access restriction from the boundary determination unit, and the transfer count information To select one pattern each.

【0035】選択された多値パターンをフレームバッフ
ァに描画する際は、選択されたマスクパターンを用い複
数画素同時のマスク処理を行った後に描画を行う。
When the selected multi-valued pattern is drawn in the frame buffer, the drawing is performed after performing the masking process for a plurality of pixels at the same time using the selected mask pattern.

【0036】また、最初の多値展開で、2値データを抽
出する際は、フレームバッファの書き込み先のアドレス
が、メモリアクセス制限とどのような関係にあるかを、
バウンダリ判定回路により判定し、その結果によりえら
れたドット数だけを読みだす。
When extracting binary data in the first multi-valued expansion, the relationship between the write destination address of the frame buffer and the memory access restriction is determined.
Judgment is made by the boundary judgment circuit, and only the number of dots obtained by the result is read out.

【0037】これはフレームバッファのメモリに効率良
くデータを書き込むために、もしフレームバッファの書
き込み先のアドレスがメモリアクセス制限にかかり、選
択した多値パターンのサイズでアクセスできなっかった
場合は、多値パターンのサイズでアクセスできる最も隣
接するアドレスまで戻ってアクセスする事に対応をとる
ためである。
This is because in order to efficiently write data to the memory of the frame buffer, if the write destination address of the frame buffer is subject to memory access restrictions and it is not possible to access with the selected multi-valued pattern size, it will be This is because it is necessary to return to the most adjacent address that can be accessed with the size of the value pattern and access.

【0038】更に、この場合、本来描画すべきではない
画素が発生してしまうが、これに対しては、やはりバウ
ンダリ判定回路からの情報により選択されたマスクパタ
ーン記憶回路の出力結果である、マスクパターンを使用
して、マスク処理を行うことにより元々のデータを変更
する事なく描画が可能である。
Further, in this case, pixels that should not be originally drawn are generated. Against this, the mask result which is the output result of the mask pattern storage circuit selected by the information from the boundary judgment circuit is also generated. By performing mask processing using a pattern, it is possible to draw without changing the original data.

【0039】これによりメモリアクセスの制限を考慮す
ることなく、複数画素の分の展開結果を効率良くフレー
ムバッファに書き込むことができる。
As a result, the expansion result for a plurality of pixels can be efficiently written in the frame buffer without considering the memory access limitation.

【0040】[0040]

【作用】抽出した複数画素の2値データに対して、多値
データへの展開条件及び処理すべき画素データの位置に
応じて、多値パターン記憶部とマスクパターン記憶部に
予め保持されている多値及びマスクパターンデータを選
択することで、マスク処理やメモリアクセス制限に対応
し、複数画素を同時に多値展開及び描処理画を実行する
ことができる。従って、プログラムステップ数の増加を
抑えて処理速度を高めることができる。
With respect to the extracted binary data of a plurality of pixels, it is held in advance in the multi-valued pattern storage unit and the mask pattern storage unit according to the expansion condition to the multi-valued data and the position of the pixel data to be processed. By selecting multi-valued and mask pattern data, it is possible to simultaneously perform multi-valued expansion and drawing processing on a plurality of pixels in response to mask processing and memory access restriction. Therefore, it is possible to suppress the increase in the number of program steps and increase the processing speed.

【0041】[0041]

【実施例】従来技術による2値データの描画方法のブロ
ック図を図3に示す。
DESCRIPTION OF THE PREFERRED EMBODIMENTS A block diagram of a binary data drawing method according to the prior art is shown in FIG.

【0042】これらの構成要素の内、多値展開の動作に
関係するのが、2値データ物理アドレス計算部301,
2値データ記憶部302,1画素データ抽出部303,
I/O判定部304,多値データ0(305)、および
多値データ1(306)である。また、多値展開された
データの透過処理を含めた描画に関係するのが多値デー
タ物理アドレス計算部307,マスク処理部308,描
画部309,フレームバッファ310である。
Among these components, the binary data physical address calculation unit 301 is related to the operation of multi-value expansion.
A binary data storage unit 302, a 1-pixel data extraction unit 303,
An I / O determination unit 304, multi-valued data 0 (305), and multi-valued data 1 (306). Further, the multi-valued data physical address calculation unit 307, the mask processing unit 308, the drawing unit 309, and the frame buffer 310 are related to the drawing including the transparent processing of the multi-valued expanded data.

【0043】2値データ物理アドレス計算部301は、
2値データ描画装置に与えれた2値座標位置(Xs,Y
s)を、メモリである2値データ記憶部302の物理ア
ドレスに変換する機能を持つ。
The binary data physical address calculation unit 301
Binary coordinate position (Xs, Y given to the binary data drawing device
s) has a function of converting the physical address of the binary data storage unit 302, which is a memory.

【0044】このアドレスで示されたメモリ内にはバイ
ト単位のデータが格納されており、これは2値データの
8画素分のデータ量である。
Data in byte units is stored in the memory indicated by this address, which is the data amount of 8 pixels of binary data.

【0045】求めたアドレスは、1画素データ抽出部3
03に入力された全てのデータの切り出しが終了したと
きに、文字を構成する次の画素を示すアドレスに更新さ
れる。
The obtained address is the one pixel data extraction unit 3
When the cutout of all the data input to 03 is completed, the address is updated to the address indicating the next pixel forming the character.

【0046】2値データ記憶部302は、2値データ群
を記憶するメモリであり、2値データ物理アドレス計算
部301の出力結果であるメモリアドレスを入力とし、
そのアドレスに対応するデータを1画素データ抽出部3
03に出力する。メモリの転送単位はシステムによって
異なるが、バイト単位で転送される場合、1画素を1ビ
ットで表現する2値データの8画素分のデータが、1画
素データ抽出部303に出力されることになる。
The binary data storage unit 302 is a memory for storing a binary data group, and receives a memory address which is an output result of the binary data physical address calculation unit 301 as an input,
The data corresponding to the address is extracted by the 1-pixel data extraction unit 3
Output to 03. Although the transfer unit of the memory differs depending on the system, when the data is transferred in a byte unit, data of 8 pixels of binary data expressing 1 pixel by 1 bit is output to the 1 pixel data extraction unit 303. .

【0047】1画素データ抽出部303は、2値データ
記憶部302より出力された8画素分のデータを1画素
毎に切り出して、I/O判定部304に出力する。1画
素の切り出しにはシフター等が使われる。切り出しは一
回の多値展開で一回行われ、2値データ記憶部より送ら
れたデータについて全ての切り出しを終了した時点で、
新しい8画素分のデータを入力する。
The 1-pixel data extraction unit 303 cuts out the data of 8 pixels output from the binary data storage unit 302 for each pixel and outputs the data to the I / O determination unit 304. A shifter or the like is used to cut out one pixel. The cutout is performed once by one multi-valued expansion, and when the cutout of all the data sent from the binary data storage unit is completed,
Input new 8 pixel data.

【0048】I/O判定部304は、1画素データ抽出
部303より出力された1画素分の2値データが0であ
るか、あるいは1であるかを判定する。この判定の結
果、その2値データが0であるときは、多値データ0
(305)を、また1であるときは多値データ1(30
6)をマスク処理部308に選択し出力する。
The I / O determination unit 304 determines whether the binary data for one pixel output from the one-pixel data extraction unit 303 is 0 or 1. If the result of this determination is that the binary data is 0, the multivalued data 0
(305), and when it is 1, multi-valued data 1 (30
6) is selected and output to the mask processing unit 308.

【0049】多値データ0(305)、および多値デー
タ1(306)は、2値データ描画装置に予め設定され
る2値データの0および1に対応する多値データを記憶
する領域である。
The multi-valued data 0 (305) and the multi-valued data 1 (306) are areas for storing multi-valued data corresponding to binary data 0 and 1 preset in the binary data drawing device. .

【0050】多値データ物理アドレス計算部307は、
多値展開装置に与えられる多値座標位置(Xd,Yd)
を入力として、フレームバッファを構成するメモリ上の
対応する物理アドレスを計算する機能を持つ。このアド
レスであり、一回の書き込みが行われる度に次の書き込
み先アドレスに更新される。求められたアドレスはマス
ク処理部308と描画部309に出力される。
The multi-valued data physical address calculation unit 307
Multivalued coordinate position (Xd, Yd) given to the multivalued expansion device
It has the function of calculating the corresponding physical address on the memory that constitutes the frame buffer, using as input. This address is updated to the next write destination address each time writing is performed. The obtained address is output to the mask processing unit 308 and the drawing unit 309.

【0051】マスク処理部308には、マスク処理の有
無に関する情報と、多値データ物理アドレス計算部30
7からのフレームバッファの書き込み先のアドレス情
報,そのアドレスを持つフレームバッファ内のデータ,
多値データ0(305)、および多値データ1(30
6)が入力される。マスク処理の有無に関する情報は、
2値データ描画装置の外部に存在する、モードコントロ
ールレジスタ等から与えられる。
The mask processing unit 308 has information regarding the presence / absence of mask processing, and the multi-valued data physical address calculation unit 30.
Address information of the write destination of the frame buffer from 7, data in the frame buffer having that address,
Multi-valued data 0 (305) and multi-valued data 1 (30
6) is input. For information regarding the presence or absence of mask processing,
It is given from a mode control register or the like existing outside the binary data drawing device.

【0052】マスク処理の有無による、描画結果の違い
について図5,図6を用いて説明する。図5はマスク処
理による透過処理実行しない場合の描画結果を示したも
のである。この図の様に、文字の背景は元々の2値ビッ
トマップデータの“0”に対応する色にぬり潰されてし
まう。図6は透過処理を実行した場合の描画結果を示し
たもので、元々の2値ビットマップデータの“1”に対
応する部分以外は、下地のフレームバッファのデータが
表示されている。また、透過処理では元々の2値ビット
マップパターンの“0”に対応する部分のみを描画する
といった、図5の描画結果と逆に文字の背景だけを四角
に描画し、文字の部分は透明となる描画結果を得ること
できる。
Differences in drawing results depending on the presence or absence of mask processing will be described with reference to FIGS. FIG. 5 shows a drawing result when the transparent process by the mask process is not executed. As shown in this figure, the background of the character is filled with the color corresponding to "0" of the original binary bit map data. FIG. 6 shows a drawing result when the transparent process is executed. The data of the background frame buffer is displayed except for the portion corresponding to “1” of the original binary bit map data. Further, in the transparent processing, only the part corresponding to “0” of the original binary bitmap pattern is drawn, which is the opposite of the drawing result of FIG. It is possible to obtain a drawing result.

【0053】描画部309はマスク処理部308の出力
結果である多値データを、多値データ物理アドレス計算
部307の出力結果のアドレスを持つメモリに書き込む
機能を持つ。
The drawing unit 309 has a function of writing the multi-valued data, which is the output result of the mask processing unit 308, into the memory having the address of the output result of the multi-valued data physical address calculation unit 307.

【0054】フレームバッファ310はRAM等のメモ
リで構成された描画データを格納する領域である。
The frame buffer 310 is an area configured by a memory such as a RAM for storing drawing data.

【0055】図3の構成部による、2値データ描画装置
の処理手順を図4に示す。
FIG. 4 shows a processing procedure of the binary data drawing device by the components of FIG.

【0056】この処理は、以下のSTEP1からSTE
P9より成り、文字を構成する画素分の繰り返しにより
一文字を描画する。
This process is carried out by following STEP 1 to STE.
P9, and one character is drawn by repeating the pixels constituting the character.

【0057】STEP1では、与えられた座標点に対応
するメモリアドレスを算出する。座標点は文字を構成画
素データの左下隅点を標す座標点がこの多値展開手順の
外部より与えられる。またアドレスを求める計算は、予
め定義された2値データの座標系の原点に対応するアド
レスとこの座標系に与えれたX方向のメモリ幅により、
2値データ物理アドレス計算部301により行われる。
At STEP 1, the memory address corresponding to the given coordinate point is calculated. The coordinate point is a coordinate point which marks a character at the lower left corner point of the constituent pixel data, and is given from the outside of this multi-value expansion procedure. Further, the calculation for obtaining the address is carried out by the address corresponding to the origin of the coordinate system of the predefined binary data and the memory width in the X direction given to this coordinate system.
It is performed by the binary data physical address calculation unit 301.

【0058】STEP2ではSTEP1で求めたアドレ
スを持つデータから、1画素分のデータを抽出する処理
を行う。2値データは1画素を1ビットで表現してい
る。従って、通常のバスを使用してのメモリアクセス単
位であるバイト,ワード,ロングワード等でアクセスし
た複数画素分の画素データから、1画素分の画素データ
を抽出する処理を実行するのがこのステップである。
In STEP 2, a process for extracting data for one pixel from the data having the address obtained in STEP 1 is performed. In binary data, one pixel is represented by 1 bit. Therefore, in this step, the process of extracting the pixel data for one pixel from the pixel data for a plurality of pixels accessed in bytes, words, long words, etc., which are memory access units using a normal bus, is performed. Is.

【0059】更にデータの全ての画素を抽出し終えた時
には、STEP1で求めたアドレスを更新し、次の展開
に必要なデータを2値データ記憶部より入力する。この
処理は1画素データ抽出部303で行われる。
When all the pixels of the data have been extracted, the address obtained in STEP 1 is updated, and the data required for the next expansion is input from the binary data storage section. This processing is performed by the 1-pixel data extraction unit 303.

【0060】STEP3ではSETP2で抽出した1画
素データのI/Oの判定を行う。つまり、抽出したデー
タが0の場合は多値データ0(305)に格納されてい
る色データを選択し、また抽出したデータが1の場合は
多値データ1(306)に格納されている色データを選
択する。この処理はI/O判定部304で行われる。S
TEP4では描画先であるフレームバッファのメモリア
ドレスの計算を行う。この処理は多値データ物理アドレ
ス計算部307により行われる。
At STEP 3, the I / O of the one pixel data extracted at SETP 2 is determined. That is, when the extracted data is 0, the color data stored in the multivalued data 0 (305) is selected, and when the extracted data is 1, the color stored in the multivalued data 1 (306) is selected. Select data. This processing is performed by the I / O determination unit 304. S
In TEP4, the memory address of the frame buffer which is the drawing destination is calculated. This processing is performed by the multi-valued data physical address calculation unit 307.

【0061】STEP5では透過処理を行うモードか否
かの判定を行う。このモードに関する情報は2値データ
描画装置の外部より与えられる。ここで透過処理を行わ
ない場合はSTEP6に移行する、また透過処理を行う
場合はSTEP7に移行する。
At STEP 5, it is determined whether or not the mode is the transparent processing mode. Information about this mode is given from the outside of the binary data drawing device. If the transparent process is not performed, the process proceeds to STEP6. If the transparent process is performed, the process proceeds to STEP7.

【0062】STEP6は透過処理を行わない場合に発
生するシーケンスである。ここでは、STEP3で選択
されたCL0、またはCL1を、STEP5で求められ
たアドレスを持つメモリーに書き込む。これにより1画
素分の描画を終了し、STEP9の終了判定に移行する。
STEP 6 is a sequence that occurs when the transparent process is not performed. Here, CL0 or CL1 selected in STEP3 is written in the memory having the address obtained in STEP5. As a result, the drawing for one pixel is completed, and the process proceeds to the end judgment of STEP9.

【0063】STEP7は透過処理を行う場合に発生す
るシーケンスである。ここでは、STEP5で算出され
たアドレスのデータのリードを行う。つまり、書き込み
先のフレームバッファのデータを保持するものである。
STEP 7 is a sequence that occurs when the transparent processing is performed. Here, the data of the address calculated in STEP 5 is read. That is, the data in the frame buffer of the writing destination is held.

【0064】STEP8は、STEP7と同様に透過処
理を行う場合に発生するシーケンスである。ここでは、
STEP3での選択結果によりフレームバッファに描画
するデータを決定する処理を行う。STEP3によりC
L0を選択した場合は、STEP7でリードした書き込
み先のフレームバッファのデータを描画するデータとす
る。また、STEP3によりCL1を選択した場合はそ
のままCL1を描画データとする。
STEP 8 is a sequence that occurs when the transparent processing is performed as in STEP 7. here,
A process of deciding the data to be drawn in the frame buffer is performed according to the selection result in STEP3. C according to STEP3
When L0 is selected, the data in the write destination frame buffer read in STEP 7 is used as the drawing data. When CL1 is selected in STEP3, CL1 is used as it is as drawing data.

【0065】STEP9は多値展開手段の終了判定処理
である。文字を構成する全画素分の多値展開,描画を行
うまでSTEP2移行の処理の繰り返しを制御する。全
ての画素を描画し終えた後、多値展開手段は終了する。
STEP 9 is an end determination process of the multi-valued expansion means. Repetition of the process of STEP 2 transition is controlled until multi-valued development and drawing of all pixels forming a character are performed. After drawing all the pixels, the multi-valued expansion means ends.

【0066】従って、文字コードの全ての画素データを
1つずつ多値展開するので、高速に処理することができ
ない。
Therefore, since all pixel data of the character code are multivalued one by one, they cannot be processed at high speed.

【0067】以下本発明の実施例を図面により説明す
る。
Embodiments of the present invention will be described below with reference to the drawings.

【0068】図1はグラフィックスコンピュータを小型
化し、さらに、描画に要する時間を短縮した本発明の一
実施例である。
FIG. 1 shows an embodiment of the present invention in which the graphics computer is downsized and the time required for drawing is shortened.

【0069】本実施例のグラフィックスコンピュータ
は、描画と表示を制御する動作周波数20MHzのマイ
クロコンピュータ126と,DRAMで構成されており
フレームバッファ109を統合したデータ幅16ビット
の主メモリ103と,ROMで構成されており応用プロ
グラム133及び図形データ132を記憶するデータ幅
16ビットの第2のメモリ108と,主メモリ103か
ら連続して読みだした複数の画素データをディスプレイ
に同期して出力するまで一時的に蓄えているラスタバッ
ファ104と,画素データから赤色と緑色と青色の三原
色の輝度を定めるカラーパレット105と,表示制御信
号125を受け各手段で使用する信号に変換する表示制
御信号変換手段124と,大容量の図形データや応用プ
ログラムなどを記憶しCD−ROM装置またはハードデ
ィスク装置などで構成される外部メモリ134と,同期
タイミングがテレビジョンのNTSC方式に準拠した水
平方向320画素で垂直方向240画素の液晶ディスプ
レイ106を含む。
The graphics computer of the present embodiment is composed of a microcomputer 126 having an operating frequency of 20 MHz for controlling drawing and display, a main memory 103 having a data width of 16 bits, which is composed of a DRAM and a frame buffer 109, and a ROM. And a second memory 108 having a data width of 16 bits for storing the application program 133 and the graphic data 132, and a plurality of pixel data continuously read from the main memory 103 are output in synchronization with the display. A raster buffer 104 that is temporarily stored, a color palette 105 that determines the brightness of the three primary colors of red, green, and blue from pixel data, and a display control signal conversion means that receives a display control signal 125 and converts it into a signal used by each means. 124 and stores large-capacity graphic data and application programs An external memory 134 consisting of such as CD-ROM unit or the hard disk device, a liquid crystal display 106 in the vertical direction 240 pixel synchronization timing in the horizontal direction 320 pixels conforming to the NTSC system television.

【0070】図1ではカラーパレット105と液晶ディ
スプレイ106を各々の略号であるCPLTとLCDと
表記した。以下ではこれら略号を使用する。ここではグ
ラフィックスコンピュータのディスプレイとしてLCD
106を用いたが、本発明の本質を変えずにLCD10
6の代わりに陰極線管など他のラスタスキャン型ディス
プレイを用いることが可能である。
In FIG. 1, the color palette 105 and the liquid crystal display 106 are represented by the abbreviations CPLT and LCD, respectively. Below, these abbreviations are used. Here, LCD is used as the display of the graphics computer.
Although the 106 is used, the LCD 10 is used without changing the essence of the present invention.
Instead of 6, it is possible to use another raster scan type display such as a cathode ray tube.

【0071】マイクロコンピュータ126は演算手段で
あるCPU100と,ROMで構成されており描画手順
及び表示制御手順を記憶するデータ幅16ビットの第3
のメモリ118と,RAMで構成されておりデータ幅1
6ビットの第4のメモリ128と,表示においてフレーム
バッファ109から画素データを読みだしてラスタバッ
ファ104へ転送するダイレクトメモリアクセスコント
ローラ101と,LCD106との同期を取るための表
示制御信号125を発生するPWM信号群発生手段10
2と,マイクロコンピュータ126の内部のバスである
第2のバス127と外部のバスである第1のバス107
を接続するバスステートコントローラ123と,システ
ムクロック121を発生する発振器122を含む。図1
ではダイレクトメモリアクセスコントローラ101とバ
スステートコントローラ123を各々の略号であるDMA
CとBSCと表記した。以下ではこれら略号を使用す
る。
The microcomputer 126 is composed of a CPU 100, which is an arithmetic means, and a ROM, and has a third data width of 16 bits for storing a drawing procedure and a display control procedure.
The data width is 1
A display control signal 125 for synchronizing the 6-bit fourth memory 128, the direct memory access controller 101 which reads pixel data from the frame buffer 109 in display and transfers it to the raster buffer 104, and the LCD 106 is generated. PWM signal group generation means 10
2, a second bus 127 which is an internal bus of the microcomputer 126, and a first bus 107 which is an external bus.
And a bus state controller 123 for connecting to each other and an oscillator 122 for generating a system clock 121. FIG.
Direct memory access controller 101 and bus state controller 123 are the abbreviations for each DMA
Notated as C and BSC. Below, these abbreviations are used.

【0072】以下では本実施例の描画に関する部分を説
明する。
Below, the part relating to the drawing of the present embodiment will be explained.

【0073】CPU100は応用プログラムを実行し、
その要求に応じて文字および図形などのグラフィックス
のデータを発生する演算手段である。その動作は応用プ
ログラムにより与えられた文字や図形などの図形データ
に基づき、第3のメモリ118に格納された描画手順に従
ってフレームバッファ109内の画素位置とその画素デ
ータを演算し、BSC123と第1のバス107を介し
てその画素の位置にその画素データを書き込む。
The CPU 100 executes the application program,
It is a calculation means for generating graphics data such as characters and figures in response to the request. The operation is to calculate the pixel position in the frame buffer 109 and its pixel data according to the drawing procedure stored in the third memory 118 based on the figure data such as characters and figures given by the application program, and the BSC 123 and the first section. The pixel data is written in the position of the pixel via the bus 107 of FIG.

【0074】BSC123は第2のバス127と第1の
バス107を接続すると同時に、DRAMで構成された
主メモリ103を第1のバス107を介してマイクロコ
ンピュータ126に直接接続するために行アドレスと列
アドレスをマルチプレクスし、行アドレスストローブと
列アドレスストローブなどのバス制御信号の発生する。
さらには主メモリ103に対する前回のアクセスにおけ
る行アドレスと現在のアクセスにおける行アドレスを比
較することにより高速ページモードが可能なアクセスを
自動的に検出し、高速ページモードでのアクセスを自動
的に発生する。このBSC123により論理手段を追加
することなく主メモリ103あるいはフレームバッファ
109の高速ページモードアクセスを自動的に実施する
ものとした。
The BSC 123 connects the second bus 127 and the first bus 107 and, at the same time, supplies the row address for directly connecting the main memory 103 composed of DRAM to the microcomputer 126 via the first bus 107. The column address is multiplexed and bus control signals such as the row address strobe and the column address strobe are generated.
Further, by comparing the row address in the previous access and the row address in the current access to the main memory 103, the access in the high speed page mode is automatically detected, and the access in the high speed page mode is automatically generated. . The BSC 123 automatically performs the high-speed page mode access to the main memory 103 or the frame buffer 109 without adding any logical means.

【0075】グラフィックスの描画処理では一つの画素
にアクセスした後にその隣接する画素をアクセスするこ
とが多い。例えば、矩形領域の塗りつぶしでは水平線の
書き込みを垂直方向に繰り返す。また、一般的にフレー
ムバッファは水平方向の画素を連続するアドレスに配置
することであり、本実施例でも表示アクセスの高速化の
ために同様な配置にしている。このような場合、水平線
の書き込みは連続したアドレスに対する書き込みにな
る。よって、BSC123が高速ページモードアクセス
を自動的に実施することにより描画に要する時間を短縮
することができる。
In graphics drawing processing, in most cases, one pixel is first accessed and then the adjacent pixel is accessed. For example, in filling a rectangular area, writing horizontal lines is repeated in the vertical direction. Further, generally, in the frame buffer, pixels in the horizontal direction are arranged at consecutive addresses, and in the present embodiment as well, the same arrangement is provided for speeding up display access. In such a case, the writing of the horizontal line is a writing to consecutive addresses. Therefore, the BSC 123 automatically executes the high-speed page mode access, so that the time required for drawing can be shortened.

【0076】第3のメモリ118は描画手順として多値
展開手順119を含めた描画手順120を記憶してい
る。これらの手順は応用プログラムからの呼び出しによ
り、第2のバス127を介してCPU100に順次取り
込まれ実行される。CPU100はこれらの手順を実行するこ
とによりフレームバッファに図形要素や文字要素を描画
する。この手順は描画する図形要素に応じて独立した複
数の手順を含む。
The third memory 118 stores a drawing procedure 120 including a multivalued expansion procedure 119 as a drawing procedure. These procedures are sequentially loaded into the CPU 100 via the second bus 127 and executed by a call from the application program. The CPU 100 draws graphic elements and character elements in the frame buffer by executing these procedures. This procedure includes a plurality of independent procedures depending on the graphic element to be drawn.

【0077】これら手順は高級言語で記述された応用プ
ログラムから呼び出すことが可能なグラフィックスライ
ブラリとして構築した。高級言語としては米国標準協会
(ANSI)で規格化されたC言語に対応した。
These procedures were constructed as a graphics library that can be called from an application program written in a high-level language. As a high-level language, it corresponds to C language standardized by American National Standards Institute (ANSI).

【0078】DMAC101はLCD106の水平走査
に同期したDMA要求信号110に応じて、第2のバス
127とBSC123と第1のバス107を介してフレ
ームバッファ109から1ラスタ分の画素データを連続
して読みだしラスタバッファ104に転送する。このと
き、DMAC101は第2のバスを使用するためにバス
調停信号113によりBSC123にバスアクセスを要
求する。これに応じて、BSC123はバス調停信号1
13によりCPU100を停止させ、さらに、DMAC
101にバスアクセス権を与える。バスアクセス権を得
たDMAC101はCPU100によりあらかじめ設定さ
れたラスタの先頭アドレスから所定の画素分のリードア
クセスを連続して発行する。
In response to the DMA request signal 110 synchronized with the horizontal scanning of the LCD 106, the DMAC 101 continuously sends pixel data for one raster from the frame buffer 109 via the second bus 127, the BSC 123, and the first bus 107. The read data is transferred to the raster buffer 104. At this time, the DMAC 101 requests bus access to the BSC 123 by the bus arbitration signal 113 in order to use the second bus. In response, the BSC 123 sends the bus arbitration signal 1
The CPU 100 is stopped by 13, and the DMAC
The bus access right is given to 101. The DMAC 101, which has obtained the bus access right, continuously issues a read access for a predetermined pixel from the raster start address preset by the CPU 100.

【0079】複数の画素が1回のアクセスで得られるた
め、リードアクセス回数は1ラスタの画素数を1ワード
内に含まれる画素数で割った値である。例えば本実施例
では第1のバスのデータ幅が16ビットであり、画素デ
ータが8ビット(同時表示色256色)であるため、1
ワードに2画素が含まれる。フレームバッファ109と
LCD106の1ラスタ(水平方向の画素の列)が32
0画素であるため、160回アクセスする。
Since a plurality of pixels can be obtained by one access, the number of read access is a value obtained by dividing the number of pixels of one raster by the number of pixels included in one word. For example, in this embodiment, the data width of the first bus is 16 bits, and the pixel data is 8 bits (simultaneous display color 256 colors).
The word contains two pixels. One raster (horizontal pixel row) of the frame buffer 109 and the LCD 106 is 32
Since the number of pixels is 0, it is accessed 160 times.

【0080】BSC123はその設定に応じて特定のア
ドレス空間に対するアクセスをDRAMに対するアクセスに
することができる。本実施例ではフレームバッファ10
9を内包する主メモリ103を安価に構成するためにD
RAMを用いた。そこで、主メモリ103を前記特定の
アドレス空間に配置し、この空間に対するアクセスをD
RAMに対するアクセスにすることをBSC123に設
定した。この設定は応用プログラムに従ってCPU10
0が実施する。
The BSC 123 can make access to a specific address space to DRAM according to the setting. In this embodiment, the frame buffer 10
In order to inexpensively configure the main memory 103 containing 9
RAM was used. Therefore, the main memory 103 is arranged in the specific address space, and the access to this space is D
Access to RAM was set in BSC123. This setting is performed by the CPU 10 according to the application program.
0 implements.

【0081】この設定に従ってBSC123はDMAC
101が発行するアドレスを行アドレスと列アドレスに
マルチプレクスし、第1のバス107に対してDRAM
のランダムリードサイクルを実施する。ここで、先行す
るDRAMのアクセスとの行アドレスと同一の行アドレ
スならば高速ページサイクルを実施する。さらに、DM
AC101によるアクセスであるためBSC123はD
MAライト信号111を発生し、フレームメモリ109か
ら読み出した画素データをそのリードアクセスサイクル
中にラスタバッファ104に書き込む。
According to this setting, the BSC 123 makes the DMAC
The address issued by 101 is multiplexed into a row address and a column address, and a DRAM is provided for the first bus 107.
Perform a random read cycle of. Here, if the same row address as that of the preceding DRAM access is used, the high speed page cycle is executed. Furthermore, DM
Since it is an access by AC101, BSC123 is D
The MA write signal 111 is generated, and the pixel data read from the frame memory 109 is written in the raster buffer 104 during the read access cycle.

【0082】本実施例で用いた262144ワードX1
6ビットのDRAMのアクセスタイムは80nsec、サ
イクルタイムは150nsecであり、同一行アドレス内
のワード数は512である。システムクロック121は
20MHzである。このためDRAMのアクセスサイク
ルを行アドレスから発行されるランダムアクセスにおい
て4クロック,高速ページアクセスにおいて2クロック
とするようにBSC123を設定した。この設定は応用プログ
ラムに従ってCPU100が実施する。
262144 words X1 used in this embodiment
The access time of a 6-bit DRAM is 80 nsec, the cycle time is 150 nsec, and the number of words in the same row address is 512. The system clock 121 is 20 MHz. Therefore, the BSC123 is set so that the access cycle of the DRAM is 4 clocks for random access issued from the row address and 2 clocks for high speed page access. This setting is performed by the CPU 100 according to the application program.

【0083】1ラスタの初回アクセスはDRAMの行ア
ドレスが前回のアクセスと異なっていることが多いた
め、ランダムアクセスになる。1ラスタの連続アクセス
の途中で行アドレスが変更になることもある。同一行ア
ドレス内に512ワード存在することと1ラスタのアク
セスが160ワードであることより、この変更は多くと
も1回である。また、リフレッシュサイクルも1ラスタ
の転送中には多くとも1回である。よって、1ラスタ全
てのアクセスに要するサイクル数は322サイクルから
326サイクル程度であり、時間にして16.1マイク
ロ秒から16.3マイクロ秒である。平均して16.2
マイクロ秒である。
The first access for one raster is random access because the row address of the DRAM is often different from the previous access. The row address may change during the continuous access of one raster. This change is at most once due to the presence of 512 words in the same row address and the access of 160 words per raster. Also, the refresh cycle is at most once during the transfer of one raster. Therefore, the number of cycles required to access one raster is about 322 to 326 cycles, and the time is 16.1 microseconds to 16.3 microseconds. 16.2 on average
Microseconds.

【0084】1秒当たりの第1のバスの占有時間は、1
ラスタ当たりのアクセス時間に一画面のラスタ数(垂直
方向の画素数)を乗じ、さらに、垂直同期周波数を乗じ
た値である。一画面のラスタ数が240であり、LCD
106はテレビジョンのNTSC方式に準拠しているため垂
直同期周波数が59.9Hz である。以上より1秒当た
りの第1のバスの占有時間は233msecである。バス
占有率にすると23.3%である。
The occupied time of the first bus per second is 1
It is a value obtained by multiplying the access time per raster by the number of rasters in one screen (the number of pixels in the vertical direction) and further by the vertical synchronizing frequency. The number of rasters on one screen is 240, and LCD
Since 106 is based on the NTSC system of television, the vertical synchronizing frequency is 59.9 Hz. From the above, the occupied time of the first bus per second is 233 msec. The bus occupancy rate is 23.3%.

【0085】再び図1に戻り、フレームバッファ109
の垂直走査について説明する。
Returning to FIG. 1 again, the frame buffer 109
The vertical scanning of will be described.

【0086】DMAC101は1ラスタ分の画素データ
をフレームバッファ109からラスタバッファ104へ
転送すると、転送が終了したことを第2の割り込み信号
131を介してCPU100に通知する。CPU100は
第3のメモリに格納した表示制御手順129を割り込み
処理として実行する。表示制御手順129はDMAC101の
転送終了の通知回数を計数し、この通知回数を基にDM
AC101が転送を終了したラスタがLCD106の画
面において垂直方向の最後のラスタであったかを判定す
る。
When the DMAC 101 transfers the pixel data for one raster from the frame buffer 109 to the raster buffer 104, the second interrupt signal indicates that the transfer is completed.
Notify the CPU 100 via 131. The CPU 100 executes the display control procedure 129 stored in the third memory as an interrupt process. The display control procedure 129 counts the number of notifications of transfer end of the DMAC 101, and DMs based on the number of notifications.
It is determined whether the raster to which the AC 101 has finished the transfer is the last raster in the vertical direction on the screen of the LCD 106.

【0087】最後のラスタではない場合、DMAC10
1を再初期化する。その内容は次に送るべきラスタの先
頭アドレスと、1ラスタ分の画素データに対応した転送
すべきワード数と、そしてDMAC101をDMA要求
信号110待ちの状態にすることである。ここでフレー
ムバッファ109の大きさとLCD106の大きさが等
しいときは、DMAC101のソースアドレスが各アク
セス毎にインクリメントされているため、次に送るべき
ラスタの先頭アドレスをソースアドレスとして設定する
必要がない。既に生成されている。
DMAC10 if not the last raster
Reinitialize 1. The contents are the start address of the raster to be sent next, the number of words to be transferred corresponding to the pixel data for one raster, and the DMAC 101 waiting for the DMA request signal 110. Here, when the size of the frame buffer 109 and the size of the LCD 106 are equal, the source address of the DMAC 101 is incremented for each access, so it is not necessary to set the start address of the raster to be sent next as the source address. It has already been generated.

【0088】一方、通知回数が最後のラスタを示した場
合、通知回数をクリアし、最初のラスタの先頭アドレス
と、1ラスタ分の画素データに対応した転送すべきワー
ド数と、そしてDMAC101をDMA要求信号110
待ちの状態にする。順次、以上の手順をCPU100が
実行することにより、フレームバッファ109の垂直走
査が実現できる。このように垂直走査をソフトウェアで
実現することによって、グラフィックスコンピュータの
低価格化を図ることができる。
On the other hand, when the notification number indicates the last raster, the notification number is cleared, the start address of the first raster, the number of words to be transferred corresponding to the pixel data of one raster, and the DMAC 101 is DMA. Request signal 110
Put in a waiting state. The vertical scanning of the frame buffer 109 can be realized by the CPU 100 sequentially executing the above procedure. By realizing the vertical scanning by software in this way, it is possible to reduce the cost of the graphics computer.

【0089】また、フレームバッファ109をLCD1
06の画面より広くし、上記の表示制御手順129を用
いることにより、スムーズスクロール処理が可能であ
る。一般にスムーズスクロール処理はフレームバッファ
内の表示領域をわずかずつ繰り返し移動することにより
実現できることが知られている。表示制御手段129は
ラスタの先頭アドレスを指定する手順であるから、これ
らのアドレスをわずかずつ変更することでスムーズスク
ロール処理を実施した。
The frame buffer 109 is replaced by the LCD 1
By making the screen wider than that of 06 and using the display control procedure 129 described above, smooth scroll processing is possible. It is generally known that smooth scroll processing can be realized by repeatedly moving the display area in the frame buffer little by little. Since the display control means 129 is a procedure for designating the start address of the raster, the smooth scroll processing is performed by changing these addresses little by little.

【0090】ラスタバッファ104に転送される1ラス
タ分の画素データは画素リード信号116によって一つ
ずつ読みだされ、CPLT105のエントリ番号112
になる。この読みだしの順番はワード間ではFIFO
順、同一ワード内ではMSB側からの順番である。読み
だしのタイミングはLCD106の水平走査に同期して
いる。エントリ番号112は画素クロック117により
CPLT105に取り込まれる。ここでエントリ番号1
12は8ビットであり0番から255番までの256色
を指定可能である。応用プログラムに従ってCPU10
0が上記256色をCPLT105にあらかじめ設定す
る。CPLT105はエントリ番号112により指定され
た色をアナログのRGB信号115に変換し、LCD1
06へ出力する。
The pixel data for one raster transferred to the raster buffer 104 is read one by one by the pixel read signal 116, and the entry number 112 of the CPLT 105 is read.
become. The reading order is FIFO between words.
In order, the order is from the MSB side in the same word. The reading timing is synchronized with the horizontal scanning of the LCD 106. The entry number 112 is taken into the CPLT 105 by the pixel clock 117. Entry number 1 here
12 is 8 bits, and 256 colors from 0 to 255 can be designated. CPU10 according to the application program
0 presets the above 256 colors in the CPLT 105. The CPLT 105 converts the color designated by the entry number 112 into an analog RGB signal 115, and the LCD 1
Output to 06.

【0091】つぎに各部の同期方法について説明する。Next, the synchronization method of each unit will be described.

【0092】表示制御信号発生手段102はシステムク
ロック121を入力し、LCD106の水平走査あるい
は垂直走査を制御する水平同期信号213と水平表示期
間信号211と垂直同期信号212と垂直表示期間信号
210とを発生する。CPU100が応用プログラムに
従ってこれら4本のPWM信号の周期と位相とパルス幅
を設定する。水平同期信号213はLCD106の1回
の水平走査の終了と次の水平走査の開始を示す信号であ
る。水平表示期間信号211はLCD106の各水平走
査において表示の開始位置と終了位置を示す信号であ
る。垂直同期信号212はLCD106の1回の垂直走
査の終了と次の垂直走査の開始を示す信号である。垂直
表示期間信号210はLCD106の各垂直走査におい
て表示の開始位置と終了位置を示す信号である。水平表
示期間信号211が示す水平方向の表示期間と垂直表示
期間信号210が示す垂直方向の表示期間を合わせるこ
とにより、LCD106の表示領域が決定される。
The display control signal generating means 102 receives the system clock 121 and outputs a horizontal synchronizing signal 213 for controlling the horizontal scanning or vertical scanning of the LCD 106, a horizontal display period signal 211, a vertical synchronizing signal 212 and a vertical display period signal 210. appear. The CPU 100 sets the cycle, phase and pulse width of these four PWM signals according to the application program. The horizontal synchronizing signal 213 is a signal indicating the end of one horizontal scanning of the LCD 106 and the start of the next horizontal scanning. The horizontal display period signal 211 is a signal indicating a display start position and a display end position in each horizontal scan of the LCD 106. The vertical synchronizing signal 212 is a signal indicating the end of one vertical scanning of the LCD 106 and the start of the next vertical scanning. The vertical display period signal 210 is a signal indicating a display start position and a display end position in each vertical scan of the LCD 106. The display area of the LCD 106 is determined by combining the horizontal display period indicated by the horizontal display period signal 211 and the vertical display period indicated by the vertical display period signal 210.

【0093】また、表示制御信号発生手段102は垂直
表示期間信号210に同期してCPU100に割り込み
処理を要求する。割り込み処理の要求は垂直表示期間の
開始時と終了時である。本実施例では第1の割り込み信
号130を介して割り込み処理を要求する。この割り込
み処理の要求によってCPU100は第3のメモリ11
8に格納され描画手順、あるいは表示制御手順129を
起動する。これにより、描画や表示において発生するL
CD106の画面上の乱れが低減される。具体的には、
垂直表示期間の終了時の割り込み処理の要求に応じて表
示制御手順129から前述の表示領域の変更処理を実施
する。このようにすれば、スムーズスクロール中にLC
D106の画面上に境目の様な乱れを発生しない。ま
た、垂直表示期間の開始時の割り込み処理の要求に応じ
て、垂直走査の速度がLCD106の垂直走査の速度より遅い
描画処理を起動する。これによりLCD106の画面上
に描画の途中の不完全な図形を表示するという見苦しさ
を発生しない。このような描画処理として単機能手順1
20に属する多角形塗りつぶし処理や矩形領域の複写処
理がある。これらの描画処理の起動を垂直走査に同期さ
せるだけでなく、これらの描画処理をLCD106の垂
直走査の方向と同一の方向に走査する手順にした。こう
することにより、描画の垂直走査がLCD106の垂直
走査を追い越すことがなく、また、描画の垂直走査がL
CD106の垂直走査に追い越されることがないように
した。
Further, the display control signal generating means 102 requests the CPU 100 for interrupt processing in synchronization with the vertical display period signal 210. The request for interrupt processing is at the start and end of the vertical display period. In this embodiment, interrupt processing is requested via the first interrupt signal 130. In response to this interrupt processing request, the CPU 100 causes the third memory 11
8 and the drawing procedure or display control procedure 129 is activated. As a result, L generated in drawing and display
The disturbance on the screen of the CD 106 is reduced. In particular,
In response to a request for interrupt processing at the end of the vertical display period, the display control procedure 129 executes the above-described display area changing processing. By doing this, LC is displayed during smooth scrolling.
Distortion such as a border does not occur on the screen of D106. Further, in response to a request for an interrupt process at the start of the vertical display period, a drawing process in which the vertical scanning speed is slower than the vertical scanning speed of the LCD 106 is activated. As a result, the unsightly display of an incomplete graphic in the middle of drawing on the screen of the LCD 106 does not occur. As such a drawing process, single-function procedure 1
There are polygon filling processing and rectangular area copying processing belonging to 20. Not only is the activation of these drawing processes synchronized with vertical scanning, but these drawing processes are scanned in the same direction as the vertical scanning direction of the LCD 106. By doing so, the vertical scanning of drawing does not overtake the vertical scanning of the LCD 106, and the vertical scanning of drawing is L.
The vertical scanning of the CD 106 was not overtaken.

【0094】つぎに、変換手段124を説明する。変換
手段124は表示に関係する信号を各構成手段に適した
形態にして供給する手段である。この手段はシステムク
ロック121と水平同期信号213と垂直同期信号21
2と水平表示期間信号211と垂直表示期間信号210
を入力し、フレームバッファ109からラスタバッファ
104へ1ラスタ分の画素データを転送することをDM
AC101に対して要求するDMA要求信号110と,
ラスタバッファ104に対してエントリ番号112を出
力するタイミングを示す画素リード信号116と,CP
LT105に対してエントリ番号112を取り込むタイ
ミングとRGB115を出力するタイミングを示す画素
クロック117と,LCD106に対して垂直走査と水
平走査のタイミングを1本の信号線で示す同期信号11
4を発生する。これらの変換を変換後の信号が入力され
る手段で実行してもよい。その場合には変換手段124
は不用となる。
Next, the conversion means 124 will be described. The conversion means 124 is means for supplying a signal related to display in a form suitable for each constituent means. This means includes a system clock 121, a horizontal sync signal 213, and a vertical sync signal 21.
2 and the horizontal display period signal 211 and the vertical display period signal 210
To transfer pixel data for one raster from the frame buffer 109 to the raster buffer 104.
A DMA request signal 110 requested to the AC 101,
The pixel read signal 116 indicating the timing of outputting the entry number 112 to the raster buffer 104, and the CP
A pixel clock 117 indicating the timing of fetching the entry number 112 and the timing of outputting RGB115 to the LT 105, and a synchronization signal 11 indicating the timing of vertical scanning and horizontal scanning for the LCD 106 by one signal line.
4 is generated. You may perform these conversions by the means to which the signal after conversion is input. In that case, the conversion means 124
Becomes useless.

【0095】以下、文字描画等の多値展開を伴う処理の
実行時間を短縮する実施例について図面を用い説明す
る。また、以下の説明では多値データの1画素を8ビッ
トで表現するが、この発明では1画素のビット数を特に
規定するものではない。また、多値展開は文字の描画以
外に、面の塗りつぶしパターン等にも発生する。この実
施例では文字を対象に説明するが、多値展開を伴う描画
であれば、特に文字に限らず本発明の多値展開方法を適
用できる。
An embodiment for shortening the execution time of a process involving multi-value expansion such as character drawing will be described below with reference to the drawings. Further, in the following description, one pixel of multi-valued data is represented by 8 bits, but the number of bits of one pixel is not particularly specified in the present invention. In addition to the drawing of characters, multi-valued expansion also occurs in a surface fill pattern and the like. In this embodiment, the description will be made with respect to characters, but the drawing is not limited to characters and the multi-valued expansion method of the present invention can be applied as long as the drawing involves multi-valued expansion.

【0096】図7は本発明の多値展開描画手順を記憶し
ている第3のメモリ118内の、描画手順120内のの
多値展開手順119に関係する機能ブロックを示したも
のである。多値展開手順は一連の描画に於ける一つのプ
ロセスであり、描画手順120から必要なデータを与えら
れる。
FIG. 7 shows the functional blocks related to the multi-valued expansion procedure 119 in the drawing procedure 120 in the third memory 118 storing the multi-valued expansion drawing procedure of the present invention. The multi-value expansion procedure is one process in a series of drawing, and necessary data is given from the drawing procedure 120.

【0097】2値座標位置601はこれから展開する2
値データの座標系での座標位置を示したメモリであり、
X座標,Y座標の二つデータにより構成されえている。
このデータから多値展開手順119は2値データの格納
されているメモリアドレスを計算し、データをリードす
る。
The binary coordinate position 601 will be expanded to 2
It is a memory that shows the coordinate position of the value data in the coordinate system,
It is composed of two data of X coordinate and Y coordinate.
From this data, the multilevel expansion procedure 119 calculates the memory address where the binary data is stored and reads the data.

【0098】多値座標位置602は、フレームバッファ
の多値データでの座標系内の、描画を行う座標位置を示
したメモリで、X座標,Y座標の二つのデータにより構
成されている。このデータから多値展開手順119は多
値展開後のテータを描画するフレームバッファのメモリ
アドレスを計算し、マスク処理や描画処理に使用する。
The multi-valued coordinate position 602 is a memory indicating the coordinate position for drawing in the coordinate system of the multi-valued data of the frame buffer, and is composed of two data of X coordinate and Y coordinate. From this data, the multi-valued expansion procedure 119 calculates the memory address of the frame buffer for drawing the data after the multi-valued expansion, and uses it for mask processing and drawing processing.

【0099】多値データ0のデータ603は、2値デー
タの0に対応する多値データを記憶したメモリである。
このデータは文字などの多値展開を伴う処理を行う以前
に定義される。多値展開手段119は2値データの
“0”に対応する色データをここからリードする。ま
た、この領域に格納されている色データの変更は、描画
手順120により行われるか、またはCPUから直接行
われる。
The multilevel data 0 data 603 is a memory which stores multilevel data corresponding to binary data 0.
This data is defined before processing involving multi-value expansion of characters and the like. The multi-value expansion means 119 reads the color data corresponding to "0" of the binary data from here. Further, the color data stored in this area is changed by the drawing procedure 120 or directly from the CPU.

【0100】多値データ1のデータ604は、2値デー
タの1に対応する多値データを記憶したメモリである。
このデータは文字などの多値展開を伴う処理を行う以前
に定義される。多値展開手段119は2値データの
“1”に対応する色データをここからリードする。ま
た、この領域に格納されている色データの変更は、描画
手順120により行われるか、またはCPUから直接行
われる。
The data 604 of the multivalued data 1 is a memory which stores multivalued data corresponding to 1 of the binary data.
This data is defined before processing involving multi-value expansion of characters and the like. The multi-value expansion means 119 reads the color data corresponding to "1" of the binary data from here. Further, the color data stored in this area is changed by the drawing procedure 120 or directly from the CPU.

【0101】マスク処理の有無605は、多値展開した
結果に対してマスク処理を行うか否かの情報を設定する
メモリである。
A mask processing presence / absence 605 is a memory for setting information as to whether or not the mask processing is performed on the result of multi-value expansion.

【0102】転送回数606は文字を構成する画素数
を、X方向とY方向の成分から表現したカウンタであ
り、文字の描画の際はX方向=16,Y方向=16に初
期設定される。この転送回数は、多値展開手順119に
よって描画を行った画素数分だけ、描画を行う度に更新
され、この転送回数の示す値は残りの転送回数になる。
多値展開手順119はX方向の多値展開を行った後、Y
方向の多値展開を行う。これにより転送回数はX方向が
16から0になる度にY方向が一つ減ると言った形で動
作する。
The transfer count 606 is a counter that represents the number of pixels forming a character from the components in the X and Y directions, and is initially set to X direction = 16 and Y direction = 16 when drawing a character. The number of transfers is updated every time drawing is performed by the number of pixels drawn by the multi-valued expansion procedure 119, and the value indicated by the number of transfers is the remaining number of transfers.
In the multi-value expansion procedure 119, after performing multi-value expansion in the X direction, Y
Perform multi-valued expansion of directions. As a result, the number of transfers is reduced by one in the Y direction each time the X direction changes from 16 to 0.

【0103】多値展開手順119は、以上の情報から2
値データを多値データに展開し、必要によってマスク処
理により透過処理を実施し、フレームバッファに展開し
た多値データを描画する手順を記憶しているメモリであ
る。
From the above information, the multivalued expansion procedure 119 is 2
This is a memory that stores a procedure for expanding the value data into multivalued data, performing a transparency process by masking if necessary, and drawing the expanded multivalued data in the frame buffer.

【0104】この多値展開手順119の基本的な考え方
は、従来1画素毎に行っていた多値展開を、複数画素の
全ての組み合わせからなる多値データのパターンを用意
し、2値データ群から抽出した複数画素と多値データパ
ターンの対応付けを行う事にある。更に、抽出する複数
画素数分のマスク処理を行うか否かの情報の組み合わせ
であるマスクパターンを用意し、抽出した2値の複数画
素と、描画先のフレームバッファのアドレス,マスク処
理の有無,転送回数等の要素から、多値パターンとマス
クパターンを選択することによって、マスク処理やメモ
リアクセス制限に対応しながらも複数画同時処理を実現
ものである。
The basic idea of the multi-valued expansion procedure 119 is to prepare multi-valued data patterns consisting of all combinations of a plurality of pixels, and prepare a multi-valued data group which is conventionally performed for each pixel. This is to associate a plurality of pixels extracted from the above with a multi-valued data pattern. Further, a mask pattern, which is a combination of information on whether or not to perform the masking process for the plurality of pixels to be extracted, is prepared, and the extracted binary pixels, the address of the drawing destination frame buffer, the presence or absence of the masking process, By selecting a multi-valued pattern and a mask pattern from factors such as the number of transfers, it is possible to realize simultaneous multiple image processing while supporting mask processing and memory access restrictions.

【0105】ここで、マスク処理によるメモリアクセス
制限への対応方法について図8を用いて説明する。但
し、ここではメモリアクセスの制限を、ロングワード
(4バイト)でメモリをアクセスする際は、そのアドレ
スが4の倍数でなければならない、ワード(2バイト)
でアクセスする際は2の倍数でなければならないとす
る。バイト単位のアクセスについては特に制限は無いと
する。ここでロングワードでのアクセス境界と、任意に
指定されるフレームバッファの書き込み先のアドレスと
のが図8の様に4の倍数+1のアドレスをもつものであ
ったとする。
Here, a method of coping with the memory access restriction by the mask processing will be described with reference to FIG. However, here, the memory access limit is that when accessing the memory in long words (4 bytes), the address must be a multiple of 4 words (2 bytes)
When accessing with, it must be a multiple of 2. It is assumed that there are no particular restrictions on access in byte units. Here, it is assumed that the access boundary in the long word and the arbitrarily designated write destination address of the frame buffer have an address which is a multiple of 4 + 1.

【0106】ここで実行したい動作は、多値展開された
4画素分のデータを効率良くメモリに書き込むために、
ロングワードのサイズで4画素同時にフレームバッファ
に書き込む事により、メモリアクセス回数を低減し、シ
ステムの性能向上を図ることである。メモリアクセス制
限を吸収しつつ、4画素同時の書き込みを行うために、
つぎのような処理を実行する。
The operation to be executed here is to efficiently write the data for four pixels which have been multivalued into the memory,
By writing four pixels in a longword size to the frame buffer at the same time, the number of memory accesses is reduced and the system performance is improved. In order to perform simultaneous writing of 4 pixels while absorbing memory access restrictions,
The following processing is executed.

【0107】2値データ記憶部より、2値座標位置にも
とづいたデータを2値データ抽出部に出力する。2値デ
ータ抽出部は送られてきた複数画素(ビット)分のデー
タから、同時処理を行う画素数分のデータを抽出する。
但し、この抽出は、フレームバッファを構成するメモリ
と、多値座標位置をメモリの物理アドレスに変換した結
果のアドレスの関係と、その複数画素同時多値展開が何
回目であるかによって調整を行う。まず、フレームバッ
ファのメモリと、変換した物理アドレスとの関係につい
ては、ロングワードで書き込みを行う4バイトのデータ
中の有効なデータ数に対応して抽出を行う。図8の例の
場合、ロングワードで転送するデータA,B,C,Dが
格納されている位置の内、Aに対応する位置は描画結果
を書き込む位置ではないため、有効なデータ数は3とな
り、この結果を受けて2値データ抽出部では3画素分の
データを、右寄せした4ビットのデータとして切り出
す。この際、一番左側の1ビットのデータについては、
以降の処理に影響を与えないために0または1の適当な
データを埋め込む。つぎに何回目の複数画素同時多値展
開であるかとの関係は、2値データ群に対する、その多
値展開が始めの多値展開であるか、以降の途中の多値展
開であるか、最後の多値展開であるかの要素によるもの
である。つまり、同時処理によって展開されたデータ
を、フレームバッファに書き込む始めの転送であるか、
途中の転送であるか、最後の転送であるかによって前述
の有効なデータの位置が異なってしまう事への対応であ
る。始めの転送の場合、有効データの位置は連続する4
画素中に右寄せに位置する。また、途中は4画素全てが
有効なデータとなる。更に、最後の転送ではその位置は
左寄せとなる。始めの転送での2値データの抽出は、フ
レームバッファのアドレス制限との関係で説明した様
に、フレームバッファの有効画素数に対応する2値画素
数だけを右寄せで抽出する。途中の転送は全てが有効な
画素であるため、始めに抽出した以降の2値データを4
画素毎に抽出する。最後の転送では、途中の転送時に抽
出してデータに続く残りの2値データを左寄せにし4ビ
ットをし抽出する。この場合、右側の有効データ以外に
対応する位置には0,1の適当なデータを埋め込む。
Data based on the binary coordinate position is output from the binary data storage unit to the binary data extraction unit. The binary data extraction unit extracts data for the number of pixels to be simultaneously processed from the sent data for a plurality of pixels (bits).
However, this extraction is adjusted depending on the relationship between the memory forming the frame buffer, the address resulting from the conversion of the multi-valued coordinate position into the physical address of the memory, and the number of times the multi-pixel simultaneous multi-valued expansion is performed. . First, regarding the relationship between the memory of the frame buffer and the converted physical address, extraction is performed corresponding to the effective number of data in the 4-byte data to be written in longword. In the case of the example in FIG. 8, among the positions where the data A, B, C, and D to be transferred in the longword are stored, the position corresponding to A is not the position where the drawing result is written, so the effective number of data is 3 In response to this result, the binary data extraction unit cuts out data for three pixels as right-justified 4-bit data. At this time, for the leftmost 1-bit data,
Appropriate data of 0 or 1 is embedded so as not to affect the subsequent processing. Next, regarding the number of times the multi-pixel simultaneous multi-value expansion is performed, whether the multi-value expansion for the binary data group is the first multi-value expansion, the multi-value expansion in the middle, or the last It is due to the multi-valued expansion of. In other words, is it the first transfer to write the data expanded by simultaneous processing to the frame buffer?
This is to cope with the fact that the position of the valid data differs depending on whether the transfer is an intermediate transfer or the final transfer. For the first transfer, the positions of valid data are consecutive 4
It is located right justified in the pixel. In the middle, all four pixels become valid data. Furthermore, the position is left-justified in the last transfer. In the extraction of the binary data in the initial transfer, only the binary pixel number corresponding to the effective pixel number of the frame buffer is right-justified as described in relation to the address limitation of the frame buffer. Since all the pixels transferred in the middle are valid pixels, the binary data after the first extraction is converted to 4
Extract for each pixel. In the final transfer, the remaining binary data that follows the data extracted during the transfer in the middle is left-justified and is extracted with 4 bits. In this case, appropriate data of 0 and 1 are embedded in the positions other than the valid data on the right side.

【0108】このような、2値データの切り出し方法に
より、メモリアクセス制限による、有効な画素位置とロ
ングワードのアクセス境界とのずれを始めの転送と、最
後の転送の2値データの切り出し方法により調整し、途
中の転送はメモリアクセスの制限を考慮することなく、
以降の処理を実行できる。
With such a binary data cutout method, the shift between the effective pixel position and the longword access boundary due to the memory access restriction is transferred by the first transfer and the final transfer binary data cutout method. Adjust and transfer in the middle without considering the limitation of memory access
Subsequent processing can be executed.

【0109】このようにして抽出された2値データを元
に、多値展開は4画素分の多値データの組み合わせを記
憶しているのをテーブルに対して、テーブル検索を行う
ことによって対応する4画素分の多値データを得る。テ
ーブル検索は、抽出し4画素分の多値データを数値とし
て考え、その数値をアドレスとしてテーブルとの対応を
解析することによって行う。また、これとは別に、抽出
した2値データと、アドレス制限に関するアドレスのず
れのタイプと、先の何回目の転送であるかの情報から、
4画素分のマスク位置の組み合わせを記憶してるマスク
パターンテーブルから対応するデータを一つ求める。こ
の対応は、例えば図の始めの転送の場合は、フレームバ
ッファAの位置に対応するデータについては本来書き込
みべき位置ではないことをアドレスのずれから判定し、
マスク処理すべき位置にあたるCの位置を抽出した2値
データより判定し、マスクする位置に対応する1バイト
の8ビット全てに0が埋め込まれているパターンを選択
する。動作モードにより、マスク処理を行わないことが
選択されている場合は、Cの位置に対してはマスクを行
う必要はないために、アドレスのずれを吸収するための
マスクであるAの位置をマスクするパターンを選択す
る。このようにして得られた、4画素分の多値データの
組み合わせパターンと、マスクパターンの論理積、また
フレームバッファのA〜Dの位置のデータとマスクパタ
ーンの反転値との論理積、これらの論理積の結果同士の
論理和をとることによって、最終的にフレームバッファ
に書き込みデータが生成される。
On the basis of the binary data thus extracted, the multi-value expansion corresponds to the table storing the combination of the multi-value data for four pixels by performing a table search. Multivalued data for four pixels is obtained. The table search is performed by considering the multi-valued data of four pixels as a numerical value and analyzing the correspondence with the table using the numerical value as an address. Separately from this, the extracted binary data, the type of address shift related to the address restriction, and the information about the previous transfer,
One corresponding data is obtained from the mask pattern table that stores the combination of the mask positions for four pixels. For this correspondence, for example, in the case of the first transfer in the figure, it is determined from the address shift that the data corresponding to the position of the frame buffer A is not the position to be originally written,
The position of C, which is the position to be masked, is determined from the extracted binary data, and a pattern in which 0 is embedded in all 8 bits of 1 byte corresponding to the position to be masked is selected. If it is selected not to perform the mask processing depending on the operation mode, it is not necessary to mask the position of C, so the position of A, which is a mask for absorbing the address shift, is masked. Select the pattern to be used. The logical product of the combination pattern of the multi-valued data for four pixels and the mask pattern obtained in this way, and the logical product of the data at the positions A to D of the frame buffer and the inverted value of the mask pattern, The write data is finally generated in the frame buffer by taking the logical sum of the logical product results.

【0110】途中の転送については、始めの転送によっ
てメモリアクセス制限の問題は解決されているため、マ
スク処理が選択されているときのマスクすべき位置にだ
け注目し、マスクパターンを選択する。また最後の転送
については、メモリアクセス制限を吸収するためのマス
ク処理を行う位置の関係が、始めの転送と異なるだけの
同様な処理内容となる。
Regarding the transfer in the middle, since the problem of the memory access restriction is solved by the first transfer, only the position to be masked when the mask processing is selected is focused and the mask pattern is selected. Further, regarding the last transfer, the same processing content is obtained except that the relationship of the position where the mask processing for absorbing the memory access restriction is performed is different from that of the first transfer.

【0111】このような複数画素同時処理により、例え
ば8画素の2値データを展開する場合、8回のフレーム
バッファへの書き込みを必要とする従来の方式に対し
て、メモリアクセス制限にかからない場合で2回、かか
った場合でも3回のアクセスで同様の処理が可能とな
る。
In the case where binary data of, for example, 8 pixels is developed by such simultaneous processing of a plurality of pixels, the memory access restriction is not imposed in comparison with the conventional method which requires writing to the frame buffer 8 times. Even if it takes twice, the same processing can be performed by accessing three times.

【0112】多値展開手順119の機能ブロック図を図
9に示す。但し、図3に示した基本構成と重複している
2値データ物理アドレス計算部301,2値データ記憶
部302,多値データ0(305),多値データ1(3
06),多値データ物理アドレス計算部307,フレー
ムバッファ310は全く同様の機能を持つため、ここで
の説明は省略する。
FIG. 9 shows a functional block diagram of the multivalued expansion procedure 119. However, the binary data physical address calculation unit 301, the binary data storage unit 302, the multivalued data 0 (305), and the multivalued data 1 (3 that overlap with the basic configuration shown in FIG.
06), the multi-valued data physical address calculation unit 307, and the frame buffer 310 have exactly the same functions, and a description thereof will be omitted here.

【0113】バウンダリ判定部806は多値データ物理
アドレス計算部307より出力された、フレームバッフ
ァ内の描画位置のアドレスから、メモリアクセス制限と
の関係を判定する機能をもつ。
The boundary judgment unit 806 has a function of judging the relationship with the memory access restriction from the address of the drawing position in the frame buffer output from the multivalued data physical address calculation unit 307.

【0114】判定は多値データ物理アドレス計算部30
7から出力されるフレームバッファの描画先アドレスの
下位2ビットをデコードし、状態のいずれに対応するか
を判定する。描画先アドレスの下位2ビットをデコード
するのは、この例でメモリアクセスの制限を、ロングワ
ード(4バイト)で転送を行う場合は、そのアドレスが
4の倍数である必要があることとしているためである。
The judgment is made on the multi-valued data physical address calculation unit 30.
The lower 2 bits of the drawing destination address of the frame buffer output from 7 are decoded to determine which of the states corresponds. The lower 2 bits of the drawing destination address are decoded because, in this example, the memory access is restricted because the address must be a multiple of 4 when transferring in longword (4 bytes). Is.

【0115】この例でのデコード結果として図10に示
す状態(1)(2)(3)(4)の4状態が出現する。
各状態は、 状態(1)アドレスが4の倍数でありメモリアクセスの
制限にかからない場合 状態(2)アドレスが4の倍数+1でありメモリアクセ
ス制限にかかる場合 状態(3)アドレスが4の倍数+2でありメモリアクセ
ス制限にかかる場合 状態(4)アドレスが4の倍数+3でありメモリアクセ
ス制限にかかる場合 を示している。本実施例ではこれらの状態をそれぞれbo
und 0,bound 1,bound 2,bound 3と呼ぶ。この情
報は、複数画素抽出部801,パターン選択部802,
アドレス修正部807に出力され、それぞれのブロック
で各bound に対応した処理を選択する。
As the decoding result in this example, four states of states (1), (2), (3) and (4) shown in FIG. 10 appear.
Each state is as follows: State (1) Address is a multiple of 4 and memory access is not restricted State (2) Address is a multiple of 4 + 1 and memory access is restricted State (3) Address is a multiple of 4 +2 The case (4) where the address is a multiple of 4 +3 and the memory access is restricted is shown. In this embodiment, these states are set to bo
Called und 0, bound 1, bound 2, and bound 3. This information is stored in the plural pixel extraction unit 801, the pattern selection unit 802,
The processing is output to the address correction unit 807, and the processing corresponding to each bound is selected in each block.

【0116】複数画素データ抽出部801は、2値デー
タ記憶部302より出力された8画素分の2値データか
ら、バウンダリ判定部806からの情報と、転送回数6
06からの情報により多値展開対象となる2値データを
抽出する機能もつ。抽出されたデータは、多値パターン
記憶部804やマスクパターン選択部806から対応す
るパターンを選択するための選択情報として、パターン
選択部802に転送される。この選択情報は4画素同時
処理を行う場合は0からFまでの値を持つ16通りの情
報となる。
The multi-pixel data extraction unit 801 uses the binary data for 8 pixels output from the binary data storage unit 302, the information from the boundary determination unit 806, and the transfer count 6
It has a function of extracting binary data to be subjected to multi-value expansion based on the information from 06. The extracted data is transferred to the pattern selection unit 802 as selection information for selecting the corresponding pattern from the multi-valued pattern storage unit 804 or the mask pattern selection unit 806. This selection information is 16 kinds of information having a value from 0 to F when performing the 4-pixel simultaneous processing.

【0117】複数画素抽出部801の内部構成を図11
に示す。
FIG. 11 shows the internal configuration of the multiple pixel extraction unit 801.
Shown in

【0118】X方向2値データ記憶部3020は2値デ
ータ記憶部から転送される、2値データ16画素分を格
納するレジスタである。本実施例では描画の対象を16
×16ドット画素から構成される文字データとしてい
る。従って、このレジスタにはX方向に関する連続デー
タ全てのデータが格納される。
The X-direction binary data storage unit 3020 is a register for storing 16 pixels of binary data transferred from the binary data storage unit. In this embodiment, 16 objects are drawn.
The character data is composed of x16 dot pixels. Therefore, all the continuous data in the X direction are stored in this register.

【0119】抽出用レジスタ3021はX方向2値デー
タ記憶部3020に格納されたX方向の画素データから
抽出された4画素分の2値データを格納する領域であ
る。
The extraction register 3021 is an area for storing binary data for four pixels extracted from the pixel data in the X direction stored in the X direction binary data storage unit 3020.

【0120】シーケンス制御部3022は、転送回数6
06とバウンダリ判定部806の出力情報から複数画素
データ抽出部801の動作を管理する機能を持つ。
The sequence control unit 3022 determines that the transfer count is 6
06 and the output information of the boundary determination unit 806, it has a function of managing the operation of the multiple pixel data extraction unit 801.

【0121】シーケンス制御部801の動作を図12に
示す。
The operation of the sequence controller 801 is shown in FIG.

【0122】STEP1では転送回数606からの情報
のうち、X方向の転送回数に関する情報により、その転
送回数が16のときはSTEP2以降の処理に分岐し、
それ以外のときはSTEP6以降の処理に分岐する。転
送回数606は描画する残りの画素数を示す情報であ
り、文字データはX方向16画素で構成されている。従
って、この判定はX方向についての最初の転送であるか
否かを判定することになる。
In STEP 1, of the information from the transfer count 606, according to the information on the transfer count in the X direction, when the transfer count is 16, the process branches to STEP 2 and subsequent steps,
Otherwise, the process branches to STEP 6 and subsequent steps. The transfer count 606 is information indicating the number of remaining pixels to be drawn, and the character data is composed of 16 pixels in the X direction. Therefore, this determination is to determine whether it is the first transfer in the X direction.

【0123】STEP2はSTEP1でX方向について
始めの転送と判定されたときに実行される。ここでは、
2値データ物理アドレス計算部301の算出結果から、
このアドレスを持つ画素データを2値データ記憶部30
2からリードし、X方向2値データ記憶部3020に格
納する。この転送により2値データ16画素分のデータ
にあたる16ビットのデータをレジスタに格納される。
STEP 2 is executed when it is determined in STEP 1 that the transfer is the first transfer in the X direction. here,
From the calculation result of the binary data physical address calculation unit 301,
The binary data storage unit 30 stores the pixel data having this address.
The data is read from 2, and stored in the X-direction binary data storage unit 3020. By this transfer, 16-bit data corresponding to 16-pixel binary data is stored in the register.

【0124】STEP3では、バウンダリ判定部806
の出力結果である、メモリアクセス制限との関係を示す
情報から以降の処理を選択する。
In STEP 3, the boundary determination unit 806
The subsequent processing is selected from the information indicating the relationship with the memory access restriction, which is the output result of.

【0125】STEP3での判定結果に対応したそれぞ
れの処理を行う。
Each processing corresponding to the determination result in STEP 3 is performed.

【0126】bound 0の時は、2値データを格納してい
るX方向2値データ記憶部3020のMSB側から4画
素分のデータを抽出用レジスタ3021に転送する。
When bound 0, the data for four pixels is transferred to the extraction register 3021 from the MSB side of the X-direction binary data storage unit 3020 which stores binary data.

【0127】bound 1の時は2値データを格納している
X方向2値データ記憶部3020のMSB側から3画素
分のデータを抽出用レジスタ3021に転送する。
In the case of bound 1, data of 3 pixels is transferred to the extraction register 3021 from the MSB side of the X-direction binary data storage unit 3020 which stores binary data.

【0128】bound 2の時は2値データを格納している
X方向2値データ記憶部3020のMSB側から2画素
分のデータを抽出用レジスタ3021に転送する。
In the case of bound 2, data of two pixels is transferred from the MSB side of the X-direction binary data storage unit 3020 storing binary data to the extraction register 3021.

【0129】bound 3の時は2値データを格納している
X方向2値データ記憶部3020のMSB側から1画素
分のデータを抽出用レジスタ3021に転送する。
In the case of bound 3, data of one pixel is transferred to the extraction register 3021 from the MSB side of the X-direction binary data storage unit 3020 which stores binary data.

【0130】1X方向2値データ記憶部3020から抽
出用レジスタ3021へ転送された各画素データは、右
詰めにされた数値としてパターン選択部に入力される。
従って、各バウンドによって数値化されたデータの表現
範囲はbound 0の時は0から15、bound 1の時は0か
ら7、bound2 の時は0から3、bound3 の時は0から
1となる。
Each pixel data transferred from the 1X direction binary data storage unit 3020 to the extraction register 3021 is input to the pattern selection unit as right-justified numerical values.
Therefore, the representation range of data digitized by each bound is 0 to 15 when bound 0, 0 to 7 when bound 1, 0 3 when bound 2, and 0 1 when bound 3.

【0131】STEP5は、次の画素の抽出に備えて、
16ビットレジスタ内の既に抽出用レジスタに転送した
データをシフトアウトする処理である。bound によって
抽出されたデータ量が異なるためにシフト量はそれぞ
れ、bound 0の場合は4ビット左シフト、bound 1の場
合は3ビット左シフト、bound 2の場合は2ビット左シ
フト、bound3 の場合は1ビット左シフトとなる。シフ
ト時にLSB側からは0が入力される。
STEP 5 prepares for the extraction of the next pixel.
This is a process of shifting out the data already transferred to the extraction register in the 16-bit register. Since the amount of extracted data is different depending on bound, the shift amount is 4 bit left shift for bound 0, 3 bit left shift for bound 1, 2 bit left shift for bound 2, and bound 3 for bound 3, respectively. It is a 1-bit left shift. When shifting, 0 is input from the LSB side.

【0132】STEP6はSTEP1でのX方向の転送
回数=16以外の時に実行されるシーケンスである。S
TEP6ではX方向の転送回数が3より大きいか否かを
判定する。転送回数が3より大きいか否かは次の様な意
味を持つ。
STEP 6 is a sequence executed when the number of transfers in the X direction in STEP 1 is other than 16. S
In TEP6, it is determined whether or not the number of transfers in the X direction is larger than 3. Whether the transfer count is greater than 3 has the following meaning.

【0133】一連の多値展開処理は、始めの転送以外は
全て4画素同時処理のシーケンスを実行するものであ
る。従って、残りの転送回数が3以下である場合はX方
向についての最後の処理であることを示す。つまり、こ
の判定はX方向について最後の処理であるか、またはそ
れ以外であるかを判定するものである。この判定の結
果、最後の転送の時はSTEP7へ、またそれ以外の時
はSTEP4のbound 0の場合と同様に、4画素毎の画
素データの抽出を行う。
In the series of multi-valued expansion processing, the sequence of simultaneous 4-pixel processing is executed except for the first transfer. Therefore, when the remaining number of transfers is 3 or less, it indicates that the process is the final process in the X direction. That is, this determination is for the final processing in the X direction or for other processing. As a result of this determination, at the time of the final transfer, the process proceeds to STEP 7, and at other times, the pixel data for every four pixels is extracted as in the case of the bound 0 of STEP 4.

【0134】STEP7は、2値データを格納している
16ビットのレジスタのMSB側から4画素分のデー
タ、つまり4ビットのデータを抽出用レジスタに転送す
る。
In STEP 7, the data for 4 pixels, that is, the 4-bit data is transferred from the MSB side of the 16-bit register storing the binary data to the extraction register.

【0135】STEP7はSTEP6により、X方向に
ついての最後の処理と判定された場合に実行されるシー
ケンスであり、ここでも4画素のデータを抽出する。従
って、bound によっては画素以外のデータも抽出するこ
とになるが、この場合はパターン選択部802の機能に
より画素以外のデータを無視した動作を実行する。
STEP 7 is a sequence executed when it is determined in STEP 6 that the process is the final process in the X direction, and in this case as well, data of 4 pixels is extracted. Therefore, although data other than pixels is also extracted depending on bound, in this case, the operation of ignoring data other than pixels is performed by the function of the pattern selection unit 802.

【0136】STEP8は転送回数606のY方向に関
する転送回数から文字描画処理全体の終了判定を行う。
判定の結果、Y方向に未処理のデータが残っている場合
は次のX方向2値データの読み込みのために2値データ
メモリアドレスを更新するSTEP9へ移行する。
At STEP 8, the termination of the entire character drawing process is determined from the number of transfers 606 in the Y direction.
If unprocessed data remains in the Y direction as a result of the determination, the process proceeds to STEP 9 for updating the binary data memory address for reading the next binary data in the X direction.

【0137】STEP9はY方向のアドレスを更新し、
次のX方向の2値データを読み込むための準備を行う。
STEP 9 updates the address in the Y direction,
Prepare to read the next binary data in the X direction.

【0138】以上のシーケンスによる動作例を図13,
図14,図15,図16に示す。
An operation example according to the above sequence is shown in FIG.
This is shown in FIGS. 14, 15 and 16.

【0139】図13は、転送回数=16でbound 0の時
のX方向2値データ記憶部3020と抽出用レジスタ3
021の状態変化を示したものである。2値データ記憶
部302より入力したデータ値は“1000101011101000”
を示している。シーケンス制御部3022は、X方向に
関する転送回数情報とbound 情報から抽出用レジスタ3
021にX方向2値データ記憶部3020のMSB側よ
り4ビットのデータを転送する。その後、X方向2値デ
ータ記憶部3020を4ビット左シフトすることにより
そのデータは“1010111010000000”となる。なお、図中
ではLSB側のハッチングの部分が左シフトにより埋め
込まれた“0”を示す。
FIG. 13 shows the X direction binary data storage unit 3020 and the extraction register 3 when the number of transfers = 16 and bound 0.
021 shows the state change. The data value input from the binary data storage unit 302 is "1000101011101000".
Is shown. The sequence control unit 3022 uses the transfer register information for the X direction and the bound information to extract the register 3 for extraction.
4-bit data is transferred to the 021 from the MSB side of the X-direction binary data storage unit 3020. After that, the data in the X-direction binary data storage unit 3020 is shifted to the left by 4 bits so that the data becomes "1010111010000000". In the figure, the hatched portion on the LSB side indicates “0” embedded by the left shift.

【0140】図14は、転送回数=16でbound 2の時
の状態変化を示したものである。2値データ記憶部30
2から入力されたデータ値は“1000101011101000”を示
しているとする。シーケンス制御部3022は、X方向
に関する転送回数情報とbound 情報から抽出用レジスタ
3021にX方向2値データ記憶部3020のMSB側
より2ビットのデータを右詰めにし転送する。従って、
抽出用レジスタ3021は“0010”が設定される。
次にシーケンス制御部は、X方向2値データ記憶部30
20を2ビット左シフトすることにより、そのデータは
“0010101110100000”となる。
FIG. 14 shows the state change when the number of transfers = 16 and the bound is 2. Binary data storage unit 30
It is assumed that the data value input from 2 indicates “1000101011101000”. The sequence control unit 3022 right-justifies and transfers 2-bit data from the MSB side of the X-direction binary data storage unit 3020 to the extraction register 3021 based on the transfer count information and the bound information in the X direction. Therefore,
“0010” is set in the extraction register 3021.
Next, the sequence control unit controls the X-direction binary data storage unit 30.
By shifting 20 to the left by 2 bits, the data becomes "0010101110100000".

【0141】転送回数=16でbound がそれぞれ1,3
のときは図14のbound 2のときに対して抽出用レジス
タ3021に転送するビット数、転送後のX方向2値デ
ータ記憶部3020のシフト数がそれぞれ1ビット,3
ビットであること以外は、同様の動作となる。
Number of transfers = 16 and bounds are 1, 3 respectively
14, the number of bits transferred to the extraction register 3021 and the number of shifts of the X-direction binary data storage unit 3020 after transfer are 1 bit and 3 as compared with the case of bound 2 in FIG.
The operation is similar except that it is a bit.

【0142】図15は16<転送数<3、bound のとき
のX方向2値データ記憶部3020と抽出用レジスタ3
021の状態変化を示したものである。現在までの抽出
によりX方向2値データ記憶部3020は“1010111010
000000”を格納している。転送回数=16の時以外はシ
ーケンス制御部3022はX方向2値データ記憶部30
20のデータを4ビット単位で抽出用レジスタ3021
に転送する。従って、このケースではX方向2値データ
記憶部3020のMSB側から“1010”が抽出用レ
ジスタ3020に転送される。その後にX方向2値デー
タ格納部3020は4ビット左シフトされ、その値は“1110
10000000000”となる。
FIG. 15 shows the X-direction binary data storage unit 3020 and the extraction register 3 when 16 <the number of transfers <3 and bound.
021 shows the state change. The binary data storage unit 3020 in the X direction has been set to "1010111010" by extraction up to the present
000000 ”is stored. The sequence control unit 3022 sets the X-direction binary data storage unit 30 except when the transfer count = 16.
Extraction register 3021 for 20 data in units of 4 bits
Transfer to. Therefore, in this case, “1010” is transferred to the extraction register 3020 from the MSB side of the X-direction binary data storage unit 3020. After that, the X-direction binary data storage unit 3020 is shifted left by 4 bits and its value is "1110".
It becomes 10000000000 ”.

【0143】図16は転送回数<3、bound2 の時のX
方向2値データ記憶部3020と抽出用レジスタ302
1の状態変化を示したものである。X方向2値データ記
憶部3020内部で2値データとして意味を持つもの
は、MSB側の2ビットだけであり、LBS側のハッチ
ング部分はシフト動作により埋め込まれた“0”であ
る。この様な場合でも、シーケンス制御部3022は抽
出用レジスタ3021にMSB側より4ビットのデータ
を転送する。従って、抽出用レジスタ3021に格納さ
れる値は“0100”となる。
FIG. 16 shows X when the number of transfers is <3 and bound2.
Directional binary data storage unit 3020 and extraction register 302
1 shows the state change of 1. Only the two bits on the MSB side have meaning in the X-direction binary data storage unit 3020 as binary data, and the hatched portion on the LBS side is "0" embedded by the shift operation. Even in such a case, the sequence control unit 3022 transfers 4-bit data from the MSB side to the extraction register 3021. Therefore, the value stored in the extraction register 3021 is "0100".

【0144】多値パターン発生部803は、それぞれ1
画素分の多値データが格納されている多値データ0(3
05)と多値データ1(306)を複数画素分組み合わ
せた場合の、全てのパターンを発生し、多値パターン記
憶部804に出力する機能をもつ。本実施例では4画素
同時処理を前提としてるため16通りのパターンが生成
される。
The multi-valued pattern generator 803 has 1
Multi-valued data 0 (3
05) and multivalued data 1 (306) are combined for a plurality of pixels, all patterns are generated and output to the multivalued pattern storage unit 804. In the present embodiment, 16 patterns are generated because 4 pixels are simultaneously processed.

【0145】図17に多値パターン発生部803の構成
を示す。図17に示すように、作成パターンデータ生成
回路1001は、同時処理する画素数によって、その組
み合わせが何通り有るかと、その組み合わせデータを算
出する。本実施例の様な、4画素同時処理ならは16通
りの組み合わせが存在することが算出され、更にその組
み合わせデータとして0から15を表すビットパターン
が生成される。この情報はビット選択信号として、多値
データ0(305)と多値データ1(306)の選択,
多値パターンデータバッファ1002への書き込み数を
制御する。
FIG. 17 shows the configuration of the multi-valued pattern generating section 803. As shown in FIG. 17, the created pattern data generation circuit 1001 calculates how many combinations there are and the combination data depending on the number of pixels to be simultaneously processed. In the case of the 4-pixel simultaneous processing as in the present embodiment, it is calculated that there are 16 combinations, and a bit pattern representing 0 to 15 is generated as the combination data. This information is selected as multi-valued data 0 (305) and multi-valued data 1 (306) as a bit selection signal,
The number of writes to the multi-valued pattern data buffer 1002 is controlled.

【0146】作成パターン生成部から出力される画素選
択信号1003は、複数画素の組み合わせデータである
ビットパターンが順次出力される。4画素同時処理の場
合、始めに0を表現する“0000”がMSB側から1
ビット毎に順次出力され、次に1を表現する“000
1”が、最後に15を表現する“1111”が出力され
る。1ビット毎に出力されるこの情報が0の時は多値デ
ータ0を選択し、1の時は多値データ1を選択する。
As the pixel selection signal 1003 output from the creation pattern generation unit, bit patterns which are combination data of a plurality of pixels are sequentially output. In the case of simultaneous processing of 4 pixels, "0000" expressing 0 is 1 from the MSB side at the beginning.
"000" that is output sequentially bit by bit and then represents 1
“1” is output at the end, and “1111” representing 15 is output. When this information output for each bit is 0, multi-valued data 0 is selected, and when it is 1, multi-valued data 1 is selected. To do.

【0147】バッファ制御信号1004は、選択された
多値データ0(305)または多値データ1(306)
を、多値パターンデータバッファ1002の所定の位置
への書き込みを制御するものである。
The buffer control signal 1004 is the selected multi-valued data 0 (305) or multi-valued data 1 (306).
To control writing to a predetermined position of the multi-valued pattern data buffer 1002.

【0148】多値パターンデータバッファは選択された
多値データ0(305)または多値データ1(306)を
同時処理する画素分だけ格納し、多値パターン記憶部8
04に出力するためのバッファである。
The multi-valued pattern data buffer stores the selected multi-valued data 0 (305) or multi-valued data 1 (306) by the number of pixels to be simultaneously processed.
It is a buffer for outputting to 04.

【0149】この多値パターン発生の処理の起動は、多
値データ0(305)および多値データ1(306)が
書き換えられた事に同期して行われる場合、また起動用
の専用命令を認識した場合がある。
When the multi-valued pattern generation process is activated in synchronization with the re-writing of the multi-valued data 0 (305) and the multi-valued data 1 (306), a dedicated instruction for activation is recognized. You may have.

【0150】多値パターン記憶部804は、多値パター
ン発生回路803の出力結果として、同時処理する画素
分の多値データの組み合わせパターンを記憶する機能を
もつ。多値パターン記憶部804に記憶される内容を図
18に示す。このようにCLT0〜15の16通りのテーブ
ルが作成される。
The multi-valued pattern storage section 804 has a function of storing, as the output result of the multi-valued pattern generation circuit 803, a combination pattern of multi-valued data for pixels to be simultaneously processed. FIG. 18 shows the contents stored in the multi-valued pattern storage unit 804. In this way, 16 types of tables CLT0 to 15 are created.

【0151】マスクパターン記憶部805は、図19に
示す様に、同時処理を行う画素数に対応する全てのマス
クデータの組み合わせである、MST0〜15を記憶す
る機能をもつ。従って、この実施例では多値パターン同
様に16通りの組み合わせデータにより構成されてい
る。
As shown in FIG. 19, the mask pattern storage unit 805 has a function of storing MST0 to MST15, which is a combination of all mask data corresponding to the number of pixels to be simultaneously processed. Therefore, in this embodiment, it is composed of 16 kinds of combination data like the multi-valued pattern.

【0152】再び、図9に戻り説明を続ける。Returning to FIG. 9 again, the description will be continued.

【0153】パターン選択部802は、複数画素データ
抽出部801,バウンダリ判定部706,マスク処理の
有無605の出力する情報から、多値パターン記憶部80
4に格納されている多値パターンと、マスクパターン記
憶部805に格納されているマスクパターンのなかか
ら、前記入力情報に対応する一つのパターンを選択する
機能をもつ。ここでは、複数画素データ抽出部801か
ら入力された4画素分の2値データは、4ビットの数値
として扱う。したがって16進数で0からFまでデータ
として扱われる。
The pattern selection unit 802 uses the information output from the plural pixel data extraction unit 801, the boundary determination unit 706, and the presence / absence of mask processing 605 to determine the multi-valued pattern storage unit 80.
The multi-valued pattern stored in 4 and the mask pattern stored in the mask pattern storage unit 805 have a function of selecting one pattern corresponding to the input information. Here, the binary data for four pixels input from the multiple pixel data extraction unit 801 is treated as a 4-bit numerical value. Therefore, hexadecimal numbers 0 to F are treated as data.

【0154】パターン選択部802に入力される前記情
報から、多値パターン記憶部およびマスクパターン記憶
部内の必要とされる情報を選択する手順を図20,図2
1,図22に示す。以降では、マスク処理なしの場合に
ついて図20を用いて説明し、その後にマスク処理有り
の場合について図21,図22を用いて説明する。
A procedure for selecting required information in the multi-valued pattern storage unit and the mask pattern storage unit from the information input to the pattern selection unit 802 will be described with reference to FIGS.
1, shown in FIG. Hereinafter, the case without the mask processing will be described with reference to FIG. 20, and the case with the mask processing will be described later with reference to FIGS. 21 and 22.

【0155】始めに図21について説明する。First, FIG. 21 will be described.

【0156】パターン選択はマスク処理の有無の判定か
ら始まる。マスク処理の有無によってSETP1では、
マスク処理なしの時はSETP2へ、マスク処理有りの
時は図21に示されるSETP19へ分岐する。さて、
マスク処理ありの場合に実行するSTEP2は、多値パ
ターン記憶部の中から、対応する多値パターンを選択す
る処理を実行する。この処理は複数画素抽出部より出力
された複数画素分の2値データを2進数で表現された数
値として扱い、その数値と対応する多値パターンを選択
することで、対応する多値パターンの選択を行う。従っ
て、複数画素分の2値データを数値とした扱った値をn
とした場合、選択される多値パターンはCLT(n)に
なる。
The pattern selection starts with the determination of the presence / absence of mask processing. In SETP1 depending on the presence or absence of mask processing,
When there is no mask processing, the processing branches to SETP2, and when there is mask processing, the processing branches to SETP19 shown in FIG. Now,
In STEP 2 executed when the masking process is performed, a process of selecting a corresponding multi-valued pattern from the multi-valued pattern storage unit is executed. In this processing, binary data for a plurality of pixels output from the multi-pixel extraction unit is treated as a numerical value expressed in a binary number, and a multi-valued pattern corresponding to the numerical value is selected to select a corresponding multi-valued pattern. I do. Therefore, the value obtained by treating the binary data of a plurality of pixels as a numerical value is n
In this case, the selected multi-valued pattern is CLT (n).

【0157】以降のSTEP3からの処理はマスクパタ
ーンを選択するための処理である。始めに、多値展開の
始めの転送であるか否かによって、始めの転送であった
場合はSTEP4へ、そうでなかった場合はSETP1
1に分岐する。
The subsequent processing from STEP 3 is processing for selecting a mask pattern. First, depending on whether or not it is the first transfer of multi-valued expansion, if it is the first transfer, proceed to STEP 4, otherwise, SETP1.
Branch to 1.

【0158】この始めの転送や途中の転送、最後の転送
などの転送シーケンスの管理は多値展開手順119に入
力される転送回数606を元にして判定する。多値展開
手順119では、この転送回数は実際に多値展開した画
素数分の数を毎回減算し記憶する。つまり、多値展開手
順119の中では、残りの多値展開画素数を管理し、そ
の画素数から転送シーケンスを、始めの転送,途中の転
送,最後の転送の3つのシーケンスに分けて考えて、そ
れそれに対応した手順をもって多値展開を実施する。転
送シーケンスの判定は多値展開手順119に記憶されて
いる転送回数と、多値展開手順119に入力された転送
回数606が一致している場合は始めの転送であり、多
値展開手順119に記憶されている転送回数が同時に処
理する画素数以下となった場合が最後の転送、上記の2
ケース以外の時が途中の転送となる。
The management of the transfer sequence such as the first transfer, the middle transfer, and the last transfer is determined based on the transfer count 606 input to the multi-value expansion procedure 119. In the multi-value expansion procedure 119, the number of times of transfer is stored by subtracting the number of pixels which is actually multi-value expanded each time. That is, in the multi-valued expansion procedure 119, the number of remaining multi-valued expanded pixels is managed, and the transfer sequence is divided into three sequences of the first transfer, the intermediate transfer, and the last transfer based on the number of pixels. , Multi-valued expansion is performed with the procedure corresponding to it. The determination of the transfer sequence is the first transfer when the number of transfers stored in the multi-valued expansion procedure 119 and the number of transfers 606 input in the multi-valued expansion procedure 119 match, and the transfer order is determined by the multi-valued expansion procedure 119. When the stored transfer count is equal to or less than the number of pixels to be processed at the same time, the last transfer is performed.
Transfers are in progress except the case.

【0159】この様な転送シーケンスの判定の結果、始
めの転送であった場合はSTEP4の処理を実行する。
STEP4はダウンダリ判定部806より入力される、
メモリアクセス制限に対するフレームバッファの転送先
のアドレスのずれのタイプのbound 0であるか、否かを
判定するものである。始めの転送でのbound 0の場合
は、STEP5によりマスク記憶部からMST15を選
択する。また、それ以外の場合はSTEP6によりboun
d1か、否かの判定を行い、bound1であった場合はST
EP7のよりMST7を選択する。また、それ以外の場
合は、SETP8によりbound2か、否かの判定を行いb
ound2である場合はSTEP9でMST3を選択、それ
以外の場合はSTEP 10でMST1を選択し、一連
の処理を終了する。
As a result of the determination of the transfer sequence as described above, if it is the first transfer, the process of STEP 4 is executed.
STEP4 is input from the downstream determination unit 806,
This is to determine whether or not the type of the transfer destination address of the frame buffer with respect to the memory access restriction is bound 0. When the bound 0 is the first transfer, the MST 15 is selected from the mask storage unit in STEP 5. In other cases, STEP 6 boun
Whether it is d1 or not is determined, and if it is bound1, ST
Select MST7 from EP7. In other cases, SET8 determines whether it is bound2 or not. B
If it is sound 2, MST 3 is selected in STEP 9, otherwise MST 1 is selected in STEP 10, and the series of processes is ended.

【0160】STEP3の判定結果か否の時、即ち始め
の転送以外の時はSTEP11にて、途中の転送か否か
の判定を行う。この判定の結果、途中の転送と判定され
た時はbound の情報にかかわらずMST15を選択す
る。また、途中の転送ではなかった場合、即ち最後の転
送の時はSTEP13,14,16により、bound 情報
の判定を行いそれぞれ、bound 0の時は処理終了、boun
d 1の時はMST14をbound 2の時はMST12を、
bound 3の時はMST8を選択する。特に、最後の転送
のbound 0の時は必ず残り転送数は0になっているため
に、ここでは処理を実行せずに終了を選択する。
If the result of the determination is STEP3, that is, if it is other than the first transfer, it is determined in STEP11 whether the transfer is in the middle. As a result of this determination, when it is determined that the transfer is in the middle, the MST 15 is selected regardless of the bound information. When the transfer is not in the middle, that is, when the transfer is the final transfer, the bound information is determined in STEPs 13, 14, and 16, respectively.
When d 1 is MST 14, when bound 2 is MST 12,
When bound 3, MST8 is selected. In particular, when the last transfer is bound 0, the number of remaining transfers is always 0. Therefore, the end is selected without executing the process.

【0161】図21は、STEP 1のマスク処理の有
無に関する判定の結果、マスク処理を行う場合のパター
ン選択手順について示したものである。STEP19は
多値パターン記憶部内の多値パターンの選択について示
したもので、マスク処理なしの時のSTEP2の選択方
法と同様の判定方法である。つぎにSTEP20はマス
ク処理なしの場合の、STEP3に対応する処理であ
り、転送シーケンスの始めの転送か否かを判定する処理
である。STEP20で始めの転送と判定された場合
は、STEP21以降の処理を実行する。STEP21
以降はマスク処理なしの場合のSTEP4に対応する処
理であり、バンウダリ判定部からのメモリアクセス制限
との関係判定する処理である。bound 0の時は抽出した
2値データを2進数の数値とした数nに対応するMST
(n)を選択する。bound 1の時は抽出した2値データ
を数値として扱った場合の2の3乗の重みを持つビット
を0にし、改めて数値化した数mを求め、選択するマス
クパターンはMST(m)となる。また、bound 2の時
は抽出した2値データを数値として扱った場合の2の3
乗の重みを持つビットと、2の2乗の重みを持つビット
を0にし、改めて数値化した数mを求め、選択するマス
クパターンはMST(m)となる。また、bound3の時
は抽出した2値データを数値として扱った場合の2の3
乗の重みを持つビットと、2の2乗の重みを持つビット
と、2の1乗の重みを持つビットを0にし、改めて数値
化した数mを求め、選択するマスクパターンはMST
(m)となる。
FIG. 21 shows the pattern selection procedure when the mask processing is performed as a result of the determination of the presence or absence of the mask processing in STEP 1. STEP 19 shows the selection of the multi-valued pattern in the multi-valued pattern storage unit, which is the same determination method as the selection method of STEP 2 when the mask processing is not performed. Next, STEP 20 is a process corresponding to STEP 3 when there is no masking process, and is a process of determining whether or not the transfer is the beginning of the transfer sequence. If it is determined in STEP 20 that the transfer is the first transfer, the processing from STEP 21 onward is executed. STEP21
The subsequent process is a process corresponding to STEP 4 when there is no masking process, and is a process for determining the relationship with the memory access restriction from the boundary determination unit. When bound is 0, the MST corresponding to the number n in which the extracted binary data is a binary number
Select (n). When bound 1 is set, when the extracted binary data is treated as a numerical value, the bit having the weight of the cube of 2 is set to 0, the numerically converted number m is obtained, and the selected mask pattern is MST (m). . Also, when bound 2 is used, 3 of 2 when the extracted binary data is treated as a numerical value
The bit having the weight of the power of 2 and the bit having the weight of the power of 2 are set to 0, the numerically converted number m is obtained again, and the selected mask pattern is MST (m). Also, when bound3, the 2 of 3 when the extracted binary data is treated as a numerical value
The mask pattern to be selected is MST by setting the bit having the weight of the power of 2 and the bit having the weight of the power of 2 and the bit having the weight of the power of 2 to 0, and recalculating the numerical value m.
(M).

【0162】STEP20での実行シーケンスの判定の
結果、途中の転送,最後の転送のであった場合のパター
ン選択手順を図22に示す。STEP31は途中の転送
か、否かの判定である。この判定結果として途中の転送
であった場合はSTEP32へ、それ以外はSTEP3
3へ移行する。
FIG. 22 shows the pattern selection procedure when the execution sequence is determined in STEP 20 as a result of intermediate transfer and final transfer. STEP 31 is a determination as to whether the transfer is in the middle. As a result of this determination, if the transfer is in the middle, the process goes to STEP 32, otherwise, the process goes to STEP 3.
Move to 3.

【0163】STEP32は途中の転送の場合のマスク
パターンの選択手順を示したもので、抽出した2値デー
タを数値とした数nに対応するMST(n)を選択す
る。
STEP 32 shows the procedure for selecting a mask pattern in the case of intermediate transfer, and selects MST (n) corresponding to the number n in which the extracted binary data is a numerical value.

【0164】転送シーケンスが最後の転送の場合は、マ
スク処理なしの場合のSTEP13以降の処理と同じよ
うに、バウンダリ判定部からの情報からどのタイプに対
応するかを判定しそれぞれのタイプ毎に、マスクパター
ンの選択を行う。STEP35,36はbound 1の時のマ
スクパターンの判定手順であり、抽出した2値データを
数値として扱った場合の2の3乗の重みを持つビット
と、2の2乗の重みを持つビットと、2の2乗の重みを
持つビットを0にし、改めて数値化した数mを求め、選
択するマスクパターンはMST(m)を求める。STE
P38,39はbound 2の時のマスクパターンの判定手
順であり、抽出した2値データを数値として扱った場合
の2の3乗の重みを持つビットと、2の2乗の重みを持
つビットを0にし改めて数値化した数mを求め、選択す
るマスクパターンはMST(m)を求める。STEP4
0,41はbound 2の時のマスクパターンの判定手順で
あり、抽出した2値データを数値として扱った場合の2
の3乗の重みを持つビットを0にし改めて数値化した数
mを求め、選択するマスクパターンはMST(m)を求
める。以上のような、多値パターンとマスクパターンの
選択手順により全てのケースに対応した各パターンを選
択する。
When the transfer sequence is the last transfer, it is determined from the information from the boundary determination unit which type corresponds to, as in STEP 13 and subsequent steps in the case where no mask processing is performed, and for each type, Select a mask pattern. Steps 35 and 36 are the procedure for determining the mask pattern in the case of bound 1, and the bit having the weight of 2 3 and the bit having the weight of 2 2 when the extracted binary data is treated as a numerical value. Bits having a weight of 2 squared are set to 0, and the numerically converted number m is obtained, and MST (m) is obtained as the mask pattern to be selected. STE
P38 and 39 are the procedure for determining the mask pattern at the time of bound 2, and when the extracted binary data is treated as a numerical value, the bit having the weight of 2 3 and the bit having the weight of 2 2 are set. The number m which is digitized again is obtained, and the mask pattern to be selected is MST (m). STEP4
0 and 41 are the mask pattern determination procedures at the time of bound 2, which are 2 when the extracted binary data is treated as a numerical value.
The bit m having the weight of the third power of 0 is set to 0 to obtain a new numerical value m, and MST (m) is calculated as the selected mask pattern. Each pattern corresponding to all cases is selected by the selection procedure of the multivalued pattern and the mask pattern as described above.

【0165】また、多値パターン選択部では、転送シー
ケンスの管理のための多値展開手順119に入力される
転送回数606を記憶し、多値展開を実施する度にその
画素数を記憶した転送回数より減算する。この処理によ
り、パターン選択の一つの要素である始めの転送か,途
中の転送か,最後の転送かの情報を生成する。
Further, the multi-valued pattern selection unit stores the number of transfers 606 input to the multi-valued expansion procedure 119 for managing the transfer sequence, and transfers the stored number of pixels each time the multi-valued expansion is performed. Subtract from the number of times. By this processing, information that is one element of pattern selection, that is, the initial transfer, the intermediate transfer, or the final transfer is generated.

【0166】アドレス修正部807は、メモリアクセス
制限にかかる場合は最も隣接する、メモリアクセス制限
を満足するアドレスまで、アドレスデータを戻す様に修
正を行い、複数画素マスク処理部808に出力する。ま
た、アドレスの修正は、フレームバッファ物理アドレス
の下位2ビットを0にクリアすることにより実現され
る。
When the memory access restriction is imposed, the address modification unit 807 modifies the address data to the nearest adjacent address which satisfies the memory access restriction, and outputs it to the multiple pixel mask processing unit 808. Further, the correction of the address is realized by clearing the lower 2 bits of the frame buffer physical address to 0.

【0167】複数画素マスク処理部808は、フレーム
バッファに複数画素単位に多値展開されたデータの書き
込みを行う機能をもつ。この書き込みはフレームバッフ
ァの書き込み位置に対応するデータと,選択された多値
パターン,選択されたマスクパターンとの間でつぎの論
理演算を行った後のデータについて行われる。即ち、図
23に示す様に、多値パターンとマスクパターンの論理
積とマスクパターンの反転値とフレームバッファデータ
との論理積、以上二つのデータの論理和をとることによ
り、マスクパターンのマスク位置を示す0の位置には、
対応するフレームバッファのデータが埋め込まれる。但
し、マスクパターンとしてMST15が選択されたとき
は、フレームバッファのデータを考慮することなく書き
込み動作を行う事ができるために、このような論演算を
行うことなく選択された多値パターンを直接フレームバ
ッファに描画する。
The multiple pixel mask processing unit 808 has a function of writing multivalued data in the frame buffer in units of multiple pixels. This writing is performed on the data after the following logical operation is performed between the data corresponding to the writing position of the frame buffer, the selected multi-valued pattern, and the selected mask pattern. That is, as shown in FIG. 23, the logical product of the multi-valued pattern and the mask pattern, the logical product of the inversion value of the mask pattern and the frame buffer data, and the logical sum of the above two data are used to obtain the mask position of the mask pattern. At the 0 position,
The data of the corresponding frame buffer is embedded. However, when the MST15 is selected as the mask pattern, the write operation can be performed without considering the data in the frame buffer, and thus the selected multi-valued pattern is directly framed without performing such a logical operation. Draw in the buffer.

【0168】以上説明したように、本実施例によれば、
1画素単位で多値展開及びマスク処理,描画処理するこ
となく、オフラインで複数画素同時の多値展開処理やマ
スク処理が可能であり、更にメモリアクセス制限を吸収
しながら複数の画素を同時に扱うことができるようにな
る。そのため、描画時間は、およそ同時処理画素分の1
となり処理時間を大幅に低減することができる。
As described above, according to this embodiment,
It is possible to perform multi-value development processing and mask processing for multiple pixels at the same time off-line without performing multi-value development, mask processing, and drawing processing on a pixel-by-pixel basis, and to handle multiple pixels simultaneously while absorbing memory access restrictions. Will be able to. Therefore, the drawing time is about 1 / simultaneous processing pixel.
Therefore, the processing time can be significantly reduced.

【0169】次に上記の実施例における多値展開の高速
化手法を描画手順120に適用した実施例を説明する。
Next, an embodiment in which the method for speeding up multivalued expansion in the above embodiment is applied to the drawing procedure 120 will be described.

【0170】図24にCPUで多値展開・描画処理を実
施した場合の処理フローを示す。この文字を描画する手
順は、第3のメモリ118内の描画手順120の一記憶
内容として存在する。
FIG. 24 shows a processing flow when the CPU performs the multi-value expansion / drawing processing. The procedure for drawing this character exists as one stored content of the drawing procedure 120 in the third memory 118.

【0171】一般にアプリケーションプログラムとして
文字の描画等の処理を実行させる場合のプログラマーと
のインタフェースとして、高級言語を使用するケースが
多い。とくにC言語では、機能を一つの関数として定義
することによって、処理の構造化を図っている。この実
施例でも、文字描画を行う一連手順を一つの関数として
扱う。一般に文字のデータはキャラクタージェネレータ
等のROMに一文字あたり数画素×数画素の形で格納さ
れているが、ここでは16×16画素の形で格納されて
いるものとする。
Generally, in many cases, a high-level language is used as an interface with a programmer when executing processing such as character drawing as an application program. Particularly in the C language, processing is structured by defining functions as one function. In this embodiment as well, a series of procedures for drawing characters is treated as one function. Generally, character data is stored in a ROM such as a character generator in the form of several pixels × several pixels per character, but here it is assumed to be stored in the form of 16 × 16 pixels.

【0172】文字描画手順を関数の形式で表現ると、T
COPY(Xs,Ys,dx,dy,Xd,Yd)16
00の用になる。ここで、TCOPYとは2値データか
ら、多値データへの変換処理を行う複写処理を行うこと
を示し、Xs,Ysは2値データの転送元座標、dxは
X方向に転送する画素数、dyはY方向に転送する画素
数、Xd,Ydは多値展開し他データの転送先座標を示
したものである。この実施例では、dx=16、dy=
16を前提として、実際に転送される画素数は16×1
6画素、即ち256画素として以下の説明を進める。
If the character drawing procedure is expressed in the form of a function, T
COPY (Xs, Ys, dx, dy, Xd, Yd) 16
00 is useful. Here, TCOPY means performing copy processing for converting binary data to multivalued data, Xs and Ys are source coordinates of binary data, dx is the number of pixels to be transferred in the X direction, and dy represents the number of pixels to be transferred in the Y direction, and Xd and Yd represent coordinates of the transfer destination of other data after multi-value expansion. In this embodiment, dx = 16 and dy =
Assuming 16 pixels, the number of pixels actually transferred is 16 x 1
The following description will proceed with 6 pixels, that is, 256 pixels.

【0173】Y方向の転送回数を記憶1601は、dy
の値を記憶することを意味する。この値は文字描画処理
の終了判定1608に使用する。X方向の転送回数を記
憶1602はdxの値を記憶し、多値展開手順119に
転送され、転送シーケンスの判定に使用する。2値デー
タの座標位置(Xs,Ys)を多値展開手順に転送16
03は、転送元である矩形領域で示される2値データの
左下隅の座標を多値展開手順119に転送することを示
す。また、多値データの座標位置(Xd,Yd)を多値
展開手順に転送160は、転送元となるフレームバッフ
ァの転送先に対応する左下隅の座標を多値展開手順に転
送することを示す。この各座標位置を受け取った多値展
開手順は、それぞれの座標位置をメモリ上のアドレスに
変換し使用する。
The number of transfers in the Y direction is stored in the storage 1601 as dy.
Means to store the value of. This value is used for the end determination 1608 of the character drawing process. The number of transfers in the X direction storage 1602 stores the value of dx, which is transferred to the multi-valued expansion procedure 119 and used for determining the transfer sequence. Transfer the coordinate position (Xs, Ys) of the binary data to the multi-value expansion procedure 16
Reference numeral 03 indicates that the coordinates of the lower left corner of the binary data indicated by the rectangular area that is the transfer source is transferred to the multi-value expansion procedure 119. Further, the coordinate position (Xd, Yd) of the multivalued data is transferred to the multivalued expansion procedure 160, and the coordinate of the lower left corner corresponding to the transfer destination of the frame buffer as the transfer source is transferred to the multivalued expansion procedure. . The multi-valued expansion procedure that receives each coordinate position converts each coordinate position into an address on the memory and uses it.

【0174】X方向の転送回数を多値展開手順に転送1
605は、多値展開手順が転送シーケンスの判定に使用
する。多値展開手順はこの転送された転送回数に関する
情報を元に、多値展開,描画を行った画素数分のデータ
を減算し、その値から始めの転送,途中の転送,最後の
転送のどのシーケンスにあるかを判定する。また、この
値はX方向の転送終了判定1606の判定基準の情報と
して使用される。このX方向の判定の結果、まだ終了し
ていない場合は、再び多値展開手順119を繰り返す。
この繰り返しは図2に示した2値データを多値展開する
ケースで、本実施例の4画素同時処理を実行した場合、
メモリアクセスの制限にかからなかった場合で4回の繰
り返し、かかった場合でも5回の繰り返しとなる。一
方、X方向転送が終了していると判定された場合は、Y
方向の転送回数から1を引く1607を実行する。そして、
Y方向の転送回数が0になるまで、X方向の転送回数を
多値展開手順に転送1605からを繰り返して実行す
る。
Transfer the number of transfers in the X direction to the multivalued expansion procedure 1
Reference numeral 605 is used by the multi-valued expansion procedure for determining the transfer sequence. The multi-value expansion procedure subtracts data corresponding to the number of pixels for which multi-value expansion and drawing have been performed based on the information on the number of times the transfer has been performed. Determine if it is in sequence. Further, this value is used as information on the determination standard of the transfer end determination 1606 in the X direction. If the result of this determination in the X direction is that it has not yet ended, the multivalued expansion procedure 119 is repeated again.
This repetition is a case in which the binary data shown in FIG. 2 is multivalued expanded, and when the 4-pixel simultaneous processing of this embodiment is executed,
If the memory access restriction is not applied, it is repeated 4 times, and even if it is applied, it is repeated 5 times. On the other hand, when it is determined that the X-direction transfer is completed, Y
1607 is executed by subtracting 1 from the number of transfers in the direction. And
Until the transfer count in the Y direction becomes 0, the transfer count in the X direction is repeatedly executed from the transfer 1605 to the multilevel expansion procedure.

【0175】この一連の処理で、図2に示す様な2値デ
ータを多値展開しフレームバッファに描画する際の、フ
レームバッファへのメモリアクセス回数は、メモリアク
セス制限にかからず、マスク処理なしの場合でX方向4
回×Y方向16回、つまり合計64回のメモリアクセス
となる。この値は従来技術による多値展開方法では25
6回となる。
In this series of processing, when the binary data as shown in FIG. 2 is multivalued and drawn in the frame buffer, the number of memory accesses to the frame buffer does not depend on the memory access limit, and the mask processing is performed. X direction 4 if none
16 times in the Y direction, that is, a total of 64 memory accesses. This value is 25 in the multi-valued expansion method of the prior art.
Six times.

【0176】また、マスク処理を実施する場合のメモリ
アクセス回数は本実施例ではX方向8回,Y方向16回
の合計128回となる。(マスク処理のためにフレーム
バッファのデータを読み込むメモリアクセスが入るた
め、X方向のアクセス回数はマスク処理なし時の倍にな
る。)一方、従来技術では512回のメモリアクセスを
必要とする。
In the present embodiment, the number of memory accesses when the mask process is executed is 8 times in the X direction and 16 times in the Y direction, which is 128 times in total. (Since the memory access for reading the data in the frame buffer for the mask processing is included, the number of times of access in the X direction is double that when there is no mask processing.) On the other hand, the conventional technique requires 512 times of memory access.

【0177】[0177]

【発明の効果】以上説明したように、本実施例によれ
ば、CPUでも容易に複数画素同時の多値展開を行うこ
とができる。また、多値パターンデータをメモリに配置
したため、オフラインで多値展開処理を実行でき、複数
のドットを同時に扱うことができるようにした。そのた
め、多値展開・描画処理をCPUで実行しても性能を低
下させることがない。
As described above, according to the present embodiment, the CPU can easily perform the multi-value expansion of a plurality of pixels simultaneously. Further, since the multi-valued pattern data is arranged in the memory, the multi-valued expansion processing can be executed off-line and a plurality of dots can be handled at the same time. Therefore, even if the multi-valued expansion / drawing process is executed by the CPU, the performance is not deteriorated.

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

【図1】グラフィックスコンピュータの構成例図。FIG. 1 is a diagram illustrating a configuration example of a graphics computer.

【図2】2値データの一例図。FIG. 2 is an example diagram of binary data.

【図3】従来の多値展開装置の機能ブロック図。FIG. 3 is a functional block diagram of a conventional multilevel expansion device.

【図4】従来の多値展開装置の動作手順。FIG. 4 shows an operation procedure of a conventional multi-valued expansion device.

【図5】透過処理なしの描画結果。FIG. 5 is a drawing result without transparency processing.

【図6】透過処理有りの描画結果。FIG. 6 is a drawing result with transparency processing.

【図7】多値展開手順を含む描画手順の構成例図。FIG. 7 is a diagram showing a configuration example of a drawing procedure including a multi-value expansion procedure.

【図8】マスク処理によりメモリアクセス制限回避の概
念図。
FIG. 8 is a conceptual diagram of avoiding memory access restriction by mask processing.

【図9】多値展開装置の構成例図。FIG. 9 is a diagram showing a configuration example of a multi-valued expansion device.

【図10】バウンダリ判定部の動作説明。FIG. 10 is an explanation of the operation of the boundary determination unit.

【図11】複数画素抽出部の内部構成。FIG. 11 is an internal configuration of a multiple pixel extraction unit.

【図12】複数画素抽出部の動作手順。FIG. 12 shows an operation procedure of a multiple pixel extraction unit.

【図13】複数画素抽出例。FIG. 13 is an example of extracting a plurality of pixels.

【図14】複数画素抽出例。FIG. 14 is an example of extracting a plurality of pixels.

【図15】複数画素抽出例。FIG. 15 shows an example of extracting a plurality of pixels.

【図16】複数画素抽出例。FIG. 16 is an example of extracting a plurality of pixels.

【図17】多値パターン発生部の一構成例。FIG. 17 is a configuration example of a multi-valued pattern generation unit.

【図18】多値パターン記憶部の一構成図。FIG. 18 is a configuration diagram of a multi-valued pattern storage unit.

【図19】マスクパターン記憶部の一構成例。FIG. 19 is a configuration example of a mask pattern storage unit.

【図20】パターン判定手順。FIG. 20 is a pattern determination procedure.

【図21】パターン判定手順。FIG. 21 is a pattern determination procedure.

【図22】パターン判定手順。FIG. 22 is a pattern determination procedure.

【図23】複数画素マスク処理部の一構成例。FIG. 23 is a configuration example of a multi-pixel mask processing unit.

【図24】CPUによる多値展開描画処理のフローチャ
ート。
FIG. 24 is a flowchart of multivalued rendering processing by the CPU.

【符号の説明】[Explanation of symbols]

100…CPU、101…DMAC、102…表示制御
信号発生手段、103…主メモリ、104…ラスタバッ
ファ、105…カラーパレット、あるいはCPLT、106
…LCD、107…第1のバス、108…第2のメモ
リ、109…フレームバッファ、あるいはFB、110
…DMA要求信号、111…DMAライト信号、112
…エントリ番号、113…バス調停信号、114…同期
信号、115…三原色信号、あるいはRGB信号、116
…画素リード信号、117…画素クロック、118…第
3のメモリ、119…多値展開手順、120…描画の単
機能手順、121…システムクロック、122…発振
器、123…バスステート制御手段、あるいはBSC、
124…変換手段、125…表示制御信号、126…マ
イクロコンピュータ、127…第2のバス、128…第
4のメモリ、129…表示制御手順、130…第1の割
り込み信号、131…第2の割り込み信号、132…図形
データ、133…応用プログラム、134…外部メモ
リ、200…第1のPWMタイマ、201…第2のPW
Mタイマ、202…第3のPWMタイマ、203…第4
のPWMタイマ、204…8分の1の分周期、205…
画素クロック発生手段、210…垂直表示期間信号、2
11…水平表示期間信号、212…垂直同期信号、21
3…水平同期信号、301…2値データ物理アドレス計
算部、302…2値データ記憶部、303…一画素デー
タ抽出部、304…I/O判定部、305…多値データ
0、306…多値データ1、307…多値データ物理ア
ドレス計算部、308…マスク処理部、309…描画
部、310…フレームバッファ、601…2値座標位
置、602…多値座標位置、603…多値データ0のデ
ータ、604…多値データ1のデータ、605…マスク
処理の有無に関する情報、606…転送回数に関する情
報、801…複数画素データ抽出部、802…パターン選
択部、803…多値パターン発生部、804…多値パタ
ーン記憶部、805…マスクパターン記憶部、806…
バウンダリ判定部、807…アドレス修正部、808…
複数画素マスク処理部、1001…作成パターンデータ
生成部、1002…多値パターンデータバッファ、10
03…画素選択信号、1004…バッファ制御信号、3
020…X方向2値データ記憶部、3021…抽出用レ
ジスタ、3022…シーケンス制御部。
100 ... CPU, 101 ... DMAC, 102 ... Display control signal generating means, 103 ... Main memory, 104 ... Raster buffer, 105 ... Color palette, or CPLT, 106
... LCD, 107 ... First bus, 108 ... Second memory, 109 ... Frame buffer, or FB, 110
... DMA request signal, 111 ... DMA write signal, 112
Entry number, 113 ... Bus arbitration signal, 114 ... Synchronous signal, 115 ... Three primary color signals, or RGB signal, 116
... Pixel read signal, 117 ... Pixel clock, 118 ... Third memory, 119 ... Multi-valued development procedure, 120 ... Single function procedure of drawing, 121 ... System clock, 122 ... Oscillator, 123 ... Bus state control means, or BSC ,
Reference numeral 124 ... Conversion means, 125 ... Display control signal, 126 ... Microcomputer, 127 ... Second bus, 128 ... Fourth memory, 129 ... Display control procedure, 130 ... First interrupt signal, 131 ... Second interrupt Signal, 132 ... Graphic data, 133 ... Application program, 134 ... External memory, 200 ... First PWM timer, 201 ... Second PW
M timer, 202 ... Third PWM timer, 203 ... Fourth
PWM timer, 204 ... 1/8 minute cycle, 205 ...
Pixel clock generating means, 210 ... Vertical display period signal, 2
11 ... Horizontal display period signal, 212 ... Vertical synchronization signal, 21
3 ... Horizontal sync signal, 301 ... Binary data physical address calculation unit, 302 ... Binary data storage unit, 303 ... Single pixel data extraction unit, 304 ... I / O determination unit, 305 ... Multi-valued data 0, 306 ... Multi Value data 1, 307 ... Multi-valued data physical address calculation unit, 308 ... Mask processing unit, 309 ... Drawing unit, 310 ... Frame buffer, 601 ... Binary coordinate position, 602 ... Multi-valued coordinate position, 603 ... Multi-valued data 0 Data, 604 ... Data of multi-valued data 1, 605 ... Information regarding presence / absence of mask processing, 606 ... Information regarding number of transfers, 801 ... Multiple pixel data extraction unit, 802 ... Pattern selection unit, 803 ... Multi-valued pattern generation unit, 804 ... Multi-valued pattern storage unit, 805 ... Mask pattern storage unit, 806 ...
Boundary determination unit, 807 ... Address correction unit, 808 ...
Multiple pixel mask processing unit, 1001 ... Creation pattern data generation unit, 1002 ... Multi-valued pattern data buffer, 10
03 ... Pixel selection signal, 1004 ... Buffer control signal, 3
020 ... X-direction binary data storage unit, 3021 ... Extraction register, 3022 ... Sequence control unit.

───────────────────────────────────────────────────── フロントページの続き (51)Int.Cl.6 識別記号 庁内整理番号 FI 技術表示箇所 G09G 5/36 520 N 9377−5H H04N 1/40 1/46 H04N 1/46 C (72)発明者 桂 晃洋 茨城県日立市大みか町七丁目1番1号 株 式会社日立製作所日立研究所内─────────────────────────────────────────────────── ─── Continuation of the front page (51) Int.Cl. 6 Identification code Internal reference number FI Technical indication location G09G 5/36 520 N 9377-5H H04N 1/40 1/46 H04N 1/46 C (72) Invention Akihiro Katsura 7-1, 1-1 Omika-cho, Hitachi-shi, Ibaraki Hitachi Ltd. Hitachi Research Laboratory, Hitachi Ltd.

Claims (9)

【特許請求の範囲】[Claims] 【請求項1】複数画素の2値データを読み出す抽出部
と,1画素データ分の多値データを複数有してなる多値
パターンを保持する多値パターン記憶部と,上記抽出部
によって読み出された複数画素の2値データに対応する
多値データを上記多値パターン記憶部から選択する選択
部とを有することを特徴とする画像処理プロセッサ。
1. An extraction unit for reading out binary data of a plurality of pixels, a multi-valued pattern storage unit for holding a multi-valued pattern having a plurality of multi-valued data for one pixel data, and a read-out by the extraction unit. An image processing processor, comprising: a selection unit that selects multi-valued data corresponding to the binary data of a plurality of pixels that have been selected from the multi-valued pattern storage unit.
【請求項2】請求項1において、 フレームバッファに書き込む画素データのアドレスから
画素データの書き始め位置を判定するバウンダリ判定部
と、上記書き始め位置に従ってフレームバッファへ書き
込む書き込み部とを有することを特徴とする画像処理プ
ロセッサ。
2. A boundary determination section for determining a writing start position of pixel data from an address of pixel data to be written in the frame buffer, and a writing section for writing to the frame buffer according to the writing start position. And image processing processor.
【請求項3】複数画素の2値データを読み出す抽出部
と,複数画素データの所定の画素データをマスクするた
めのマスクパターンを保持するマスクパターン記憶部
と,上記抽出部によって読み出された複数画素の2値デ
ータの所定の画素データを処理するために上記マスクパ
ターンから所定のマスクパターンを選択する選択部と,
上記選択されたマスクパターンに基づいてマスク処理部
とを有することを特徴とする画像処理プロセッサ。
3. An extraction unit for reading binary data of a plurality of pixels, a mask pattern storage unit for holding a mask pattern for masking predetermined pixel data of the plurality of pixel data, and a plurality of units read by the extraction unit. A selection unit for selecting a predetermined mask pattern from the mask patterns for processing predetermined pixel data of binary data of pixels;
An image processing processor comprising: a mask processing unit based on the selected mask pattern.
【請求項4】請求項3において、 フレームバッファに書き込む画素データのアドレスから
画素データの書き始め位置を判定するバウンダリ判定部
と、上記書き始め位置に従ってフレームバッファへ書き
込む書き込み部とを有することを特徴とする画像処理プ
ロセッサ。
4. A boundary determination section for determining a writing start position of pixel data from an address of pixel data to be written in the frame buffer, and a writing section for writing to the frame buffer according to the writing start position. And image processing processor.
【請求項5】フレームバッファに書き込む画素データの
アドレスから画素データの書き始め位置を判定するバウ
ンダリ判定部と、上記書き始め位置に従ってフレームバ
ッファへ書き込む書き込み部とを有することを特徴とす
る画像処理プロセッサ。
5. An image processing processor, comprising: a boundary determination section for determining a writing start position of pixel data from an address of pixel data to be written in a frame buffer, and a writing section for writing in a frame buffer according to the writing start position. .
【請求項6】2値の画素データを保持するメモリ部と、 複数画素の2値データを読み出す抽出部と,1画素デー
タ分の多値データを複数有してなる多値パターンを保持
する多値パターン記憶部と,上記抽出部によって読み出
された複数画素の2値データに対応する多値データを上
記多値パターン記憶部から選択する選択部と,上記処理
された画像データを上記メモリに書き込む書き込み部と
を有する画像処理プロセッサと、 上記画像処理プロセッサの制御によって、上記メモリか
ら画素データを出力表示する出力表示部とからなること
を特徴とするグラフィックコンピュータ。
6. A memory unit for holding binary pixel data, an extraction unit for reading out binary data of a plurality of pixels, and a multi-valued pattern holding multi-valued pattern for one pixel data. A value pattern storage unit, a selection unit for selecting multivalued data corresponding to binary data of a plurality of pixels read by the extraction unit from the multivalued pattern storage unit, and the processed image data in the memory. A graphic computer comprising: an image processor having a writing unit for writing; and an output display unit for outputting and displaying pixel data from the memory under the control of the image processor.
【請求項7】請求項6において、 上記画像処理プロセッサは上記メモリ部に書き込む画素
データのアドレスから画素データの書き始め位置を判定
するバウンダリ判定部とを有し、上記バウンダリ判定部
の結果に応じて選択部が制御されることを特徴とするグ
ラフィックコンピュータ。
7. The image processing processor according to claim 6, further comprising a boundary determination unit that determines a write start position of pixel data from an address of pixel data to be written in the memory unit, A graphic computer characterized in that a selection unit is controlled by a computer.
【請求項8】2値の画素データを保持するメモリ部と、 複数画素の2値データを読み出す抽出部と、複数画素デ
ータの所定の画素データをマスクするためのマスクパタ
ーンを保持するマスクパターン記憶部と,上記抽出部に
よって読み出された複数画素の2値データの所定の画素
データを処理するために上記マスクパターンから所定の
マスクパターンを選択する選択部と,上記選択されたマ
スクパターンに基づいてマスク処理部と,上記処理され
た画像データを上記メモリに書き込む書き込み部とを有
する画像処理プロセッサと、 上記画像処理プロセッサの制御によって、上記メモリか
ら画素データを出力表示する出力表示部とからなること
を特徴とするグラフィックコンピュータ。
8. A memory unit for holding binary pixel data, an extraction unit for reading out binary data of a plurality of pixels, and a mask pattern storage for holding a mask pattern for masking predetermined pixel data of the plurality of pixel data. A selection unit for selecting a predetermined mask pattern from the mask patterns for processing predetermined pixel data of binary data of a plurality of pixels read by the extraction unit, and based on the selected mask pattern An image processing processor having a mask processing section, a writing section for writing the processed image data in the memory, and an output display section for outputting and displaying pixel data from the memory under the control of the image processing processor. A graphic computer characterized by that.
【請求項9】請求項8において、 上記画像処理プロセッサは上記メモリ部に書き込む画素
データのアドレスから画素データの書き始め位置を判定
するバウンダリ判定部とを有し、上記バウンダリ判定部
の結果に応じて選択部が制御されることを特徴とするグ
ラフィックコンピュータ。
9. The image processing processor according to claim 8, further comprising: a boundary determination unit that determines a writing start position of pixel data from an address of the pixel data to be written in the memory unit, and the image processing processor responds to the result of the boundary determination unit. A graphic computer characterized in that a selection unit is controlled by a computer.
JP6210922A 1993-12-17 1994-09-05 Image processing processor and image data processor or graphics computer using the same Pending JPH0876733A (en)

Priority Applications (7)

Application Number Priority Date Filing Date Title
JP6210922A JPH0876733A (en) 1994-09-05 1994-09-05 Image processing processor and image data processor or graphics computer using the same
TW083110149A TW276317B (en) 1993-12-17 1994-11-03
EP94309123A EP0658858B1 (en) 1993-12-17 1994-12-07 Graphics computer
KR1019940034148A KR100368198B1 (en) 1993-12-17 1994-12-14 Microcomputer
US08/355,517 US5771047A (en) 1993-12-17 1994-12-14 Graphics computer
CN94119595A CN1097239C (en) 1993-12-17 1994-12-17 Graphics computer
US08/996,151 US6677950B1 (en) 1993-12-17 1997-12-22 Graphics computer

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP6210922A JPH0876733A (en) 1994-09-05 1994-09-05 Image processing processor and image data processor or graphics computer using the same

Publications (1)

Publication Number Publication Date
JPH0876733A true JPH0876733A (en) 1996-03-22

Family

ID=16597301

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6210922A Pending JPH0876733A (en) 1993-12-17 1994-09-05 Image processing processor and image data processor or graphics computer using the same

Country Status (1)

Country Link
JP (1) JPH0876733A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115101025A (en) * 2022-07-13 2022-09-23 珠海昇生微电子有限责任公司 LCD control circuit supporting virtual frame buffering and control method thereof

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115101025A (en) * 2022-07-13 2022-09-23 珠海昇生微电子有限责任公司 LCD control circuit supporting virtual frame buffering and control method thereof

Similar Documents

Publication Publication Date Title
US6181353B1 (en) On-screen display device using horizontal scan line memories
US6492992B2 (en) Graphic pattern processing apparatus
US5828361A (en) Method and system for rapidly transmitting multicolor or gray scale display data having multiple bits per pixel to a display device
US5025249A (en) Pixel lookup in multiple variably-sized hardware virtual colormaps in a computer video graphics system
US20030001850A1 (en) Graphic processing system having bus connection control functions
JPS62288984A (en) Video display unit
KR100368198B1 (en) Microcomputer
JP3734226B2 (en) Method and apparatus for high speed block transfer of compressed, word aligned bitmaps
US5321805A (en) Raster graphics engine for producing graphics on a display
US6046751A (en) Color graphics processor
JP3547250B2 (en) Drawing method
EP0062669B1 (en) Graphic and textual image generator for a raster scan display
US6677950B1 (en) Graphics computer
US5317684A (en) Method of storing character data in a display device
JPH0876733A (en) Image processing processor and image data processor or graphics computer using the same
JPH113417A (en) Device and method for generating image including graphics information for display
JPH04199975A (en) Image forming device
JPS62174824A (en) Printing method for picture display information
JP4536852B2 (en) Character display method and apparatus
JPH05183753A (en) Device and method for outputting color image
JPH083704B2 (en) CHARACTER DATA DISPLAY METHOD AND DEVICE
JPS63282886A (en) Graphic processor
EP0410744A2 (en) Graphics processor trapezoidal fill instruction method and apparatus
JP2001229373A (en) Reduction processing method for binary image, and image forming device
JPH07210133A (en) Picture display circuit