KR970003326B1 - Character graphics generating circuits - Google Patents
Character graphics generating circuits Download PDFInfo
- Publication number
- KR970003326B1 KR970003326B1 KR1019930003001A KR930003001A KR970003326B1 KR 970003326 B1 KR970003326 B1 KR 970003326B1 KR 1019930003001 A KR1019930003001 A KR 1019930003001A KR 930003001 A KR930003001 A KR 930003001A KR 970003326 B1 KR970003326 B1 KR 970003326B1
- Authority
- KR
- South Korea
- Prior art keywords
- data
- character
- font
- converting
- circuit
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Controls And Circuits For Display Device (AREA)
- Image Processing (AREA)
- Digital Computer Display Output (AREA)
- Image Generation (AREA)
Abstract
내용없음.None.
Description
제1도는 본 발명의 1실시예의 구성의 설명도.1 is an explanatory diagram of a configuration of one embodiment of the present invention.
제2도는 레지스터와 연산기의 복합 종속 접속 기구를 도시한 설명도.2 is an explanatory diagram showing a complex slave connection mechanism of a register and an operator.
제3도는 데이타 변환회로와 동작의 알고리즘을 나타낸 흐름도.3 is a flowchart showing an algorithm of data conversion circuits and operations.
제4도는 아우트 라인 폰트 전개 처리의 설명도.4 is an explanatory diagram of an outline font development process.
제5도는 아우트 라인 폰트 전개 처리 시간예의 설명도,5 is an explanatory diagram of an example of an outline font development process time;
제6도는 프로그램 ROM의 내용을 외부에서 갱신하는 방법을 나타낸 설명도.6 is an explanatory diagram showing a method of externally updating the contents of a program ROM.
제7도는 본 발명의 다른 실시예의 구성의 설명도.7 is an explanatory diagram of a configuration of another embodiment of the present invention.
제8도는 데이타 변환회로의 동작의 알고리즘을 나타낸 흐름도.8 is a flowchart showing an algorithm of operation of a data conversion circuit.
제9도는 레스터 변환회로의 구성예의 설명도.9 is an explanatory diagram of a configuration example of a raster converter circuit.
제10도는 레스터 변환회로의 동작의 알고리즘을 나타낸 흐름도.10 is a flowchart showing an algorithm of operation of the raster converter circuit.
제11도는 제7도의 실시예를 변형한 또 다른 실시예의 구성의 설명도.FIG. 11 is an explanatory diagram of a configuration of another embodiment modified from the embodiment of FIG.
제12도는 제1도의 실시예를 변형한 다른 실시예의 구성의 설명도.12 is an explanatory diagram of a configuration of another embodiment of a modified embodiment of FIG.
제13도는 제7도의 실시예를 또 변형한 다른 실시예의 구성의 설명도.FIG. 13 is an explanatory diagram of a configuration of another embodiment further modified from the embodiment of FIG.
제14도는 2개의 도형 발생 LSI를 갖는 다른 실시예의 구성의 설명도.14 is an explanatory diagram of a configuration of another embodiment having two figure generating LSIs.
제15도는 제7도의 실시예를 또 변형한 다른 실시예의 설명도.FIG. 15 is an explanatory diagram of another embodiment further modified from the embodiment of FIG.
본 발명은 문자 도형 작성 장치 등의 정보처리 장치에 있어서 백터 형식으로 표시된 윤곽 정보에서 도트형식의 문자 도형 데이타를 발생하는 문자 도형 발생 회로 및 시스템에 관한 것이다.BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a character figure generating circuit and a system for generating dot figure character figure data from outline information displayed in a vector form in an information processing device such as a character figure creating device.
나가시마 등의 "DESIGN OF AN OUTLINE FONT RASTERIZING LSI" (IEEE CUSTOM INTEGRATED CIRCUITS CONFERENCE 9-2 pp. 117-119. 1989)에는 곡선보간, 문자나 도형의 윤곽선 발생, 윤곽선 내부의 페인팅을 위한 LSI의 설계가 개시되어 있다.Nagashima et al. "DESIGN OF AN OUTLINE FONT RASTERIZING LSI" (IEEE CUSTOM INTEGRATED CIRCUITS CONFERENCE 9-2 pp. 117-119. Is disclosed.
본 발명의 목적은 선택된 타입의 폰트 데이타 입력에 대응해서 윤곽선 데이타에서 도트 데이타로 변환하는 프로그램을 갖는 메모리를 구비한 데이타 발생용 LSI 회로를 제공하는 것이다.It is an object of the present invention to provide a data generation LSI circuit having a memory having a program for converting contour data into dot data corresponding to input of font data of a selected type.
본 발명의 다른 목적은 벡터 형식의 문자나 도형의 윤곽 정보에서 도트 형식의 문자 도형 데이타를 발생하는 일련의 처리를 손상하는 일없이 회로 규모 또는 처리 회로의 구성을 축소한 문자 도형 발생 회로를 제공하는 것이다.It is another object of the present invention to provide a character figure generating circuit with reduced circuit scale or configuration of a processing circuit without compromising a series of processes for generating dot figure character figure data from outline information of a character or figure in a vector form. will be.
본 발명의 다른 목적은 윤곽선 발생 등의 처리량이 많은 처리에 대해서는 전용의 회로를 사용하여 고속으로 실행하는 것에 의해, 작은 회로 규모로 고속이며 또한 효율적으로 도트 형식의 문자 도형 데이타를 발생할 수 있는 도트 형식에 데이타 발생 회로를 제공하는 것이다.Another object of the present invention is a dot format that can generate dot-shaped character figure data at high speed and efficiency on a small circuit scale by executing a high-speed process using a dedicated circuit for processing with a high throughput such as contour generation. To provide a data generation circuit.
본 발명의 또 다른 목적은 프로그램 ROM 등의 내용을 자유롭게 변경하는 것이 가능하게 되고, 벡터 형식의 문자 도형 데이타가 각종의 포맷을 채용하고 있더라도 대응 가능한 도트 형식 데이타 발생 회로를 제공하는 것이다.It is still another object of the present invention to provide a dot format data generation circuit capable of freely changing the contents of the program ROM and the like, even if the character graphic data in the vector format employs various formats.
상기 목적을 달성하기 위한 문자 도형 발생 회로로서 윤곽 데이타를 비트 맵 데이타로 변환하는 회로 블럭은 폰트 데이타를 소정의 파라미터에 따라 변환(신장/좌표 변환, 곡선보완)하기 위한 여러개의 명령을 기억하기 위한 메모리, 상기 메모리에 접속되고 폰트 데이타에 상기 메모리에 기억된 여러개의 명령에 의해서 지시되는 변환을 실시하기 위한 제1데이타 변환회로 수단, 상기 레지스터와 상기 연산기에 접속되고 상기 변환을 실시한 데이타를 순차적으로 받아들여서 유지하고 그 데이타를 받아들인 순서대로 출력하는 선입 선출 수단, 상기 선입 선출 수단에 접속되고 상기 선입 선출 수단에서 순서대로 출력하는 해당 데이타를 비트 맵 데이타로 변환하는 제2데이타 변환 회로 수단, 상기 제2데이타 변환 회로 수단에 접속되고 상기 비트 맵 데이타를 유지하는 비트 맵 메모리, 상기 제2데이타 변환 회로 수단은 해당 데이타를 래스터화하기 위한 래스터 변환 실행 유닛, 상기 제2데이타 변환 회로 수단은 상기 윤곽선 내부 부분의 페인트 종료후 페인트 종료신호를 발생하는 종료신호 발생 수단을 포함하고, 상기 제1데이타 변환 회로 수단은 상기 소정의 파라미터를 기억하는 레지스터와 상기 폰트 데이타를 연산하기 위한 연산기를 갖고, 상기 제1데이타 변환 회로 수단은 상기 선입 선출 수단이 유지 데이타로 가득찬 상태인 경우는 데이타 변환하는 것을 중단하고 빈곳에 생기는 것을 대기하고, 상기 제2데이타 변환 회로 수단은 상기 선입 선출 수단 속에 데이타가 빈 상태이면 데이타가 그 속에 유지될 때까지 대기하고, 상기 래스터 변환 실행 유닛을 제어하는 콘트롤러를 갖고 상기 비트 맵 메모리 중의 변환된 비트맵 데이타의 윤곽선 내부 부분의 페인트를 실행하며, 상기 회로 블럭은 하나의 대규모 집적회로내에 구성되고 상기 메모리는 프로그램 가능한 ROM인 것을 특징으로 한다.A circuit block for converting contour data into bitmap data as a character figure generating circuit for achieving the above object is for storing a plurality of instructions for converting font data according to predetermined parameters (elongation / coordinate conversion, curve complement). A first data converting circuit means for performing a conversion, connected to said memory and said font data indicated by a plurality of instructions stored in said memory, said data connected to said register and said calculator and subjected to said conversion sequentially First-in, first-out means for accepting and retaining and outputting the data in the received order; second data conversion circuit means for converting the data connected to the first-in first-out means in order from the first-in first-out means into bitmap data; The bitmap data connected to a second data conversion circuit means A bitmap memory for holding a rudder, wherein the second data conversion circuit means is a raster conversion execution unit for rasterizing the corresponding data, and the second data conversion circuit means generates a paint end signal after finishing the paint of the inner portion of the contour. An end signal generating means, said first data converting circuit means having a register for storing said predetermined parameter and an arithmetic device for calculating said font data, said first data converting circuit means being held by said first-in first-out means; If the data is in a full state, data conversion stops and waits for an empty space; and if the data is empty in the first-in first-out means, the second data conversion circuit means waits until the data is retained therein. The bitmap menu with a controller to control the raster conversion execution unit. Running of the contour inner portion of the converted bit map data in the re-painted, and the circuit block is configured in a single large scale integrated circuit is characterized in that said memory is a programmable ROM.
벡터 형식으로 표시된 문자나 도형의 윤곽 정보에서 도트 형식의 문자 도형 데이타를 발생하는 문자 도형 발생회로에 있어서, 각조의 명령을 기억하는 제1의 기억영역, 상기 제1의 기억영역에 기억되어 있는 명령을 순차 해석하고, 윤곽 정보에 목적의 문자를 작성하기 위한 변환을 가하는 제2의 논리 유닛, 그 변환이 가해진 윤곽 정보에 또 도트 형식의 데이타로서의 변환을 가하는 제2의 논리 유닛 및 도트 형식의 문자 도형 데이타를 일시적으로 기억하는 제2의 기억영역을 동일 LSI 기판상에 배치한 구성을 갖는 회로는 폰트 데이타 변환을 고속으로 실시한다.In a character figure generating circuit that generates character figure data in dot format from outline information of a character or figure displayed in a vector format, a first storage area for storing each set of instructions, and instructions stored in the first storage area. 2nd logical unit which sequentially interprets and converts the contour information to create the target character, and the second logical unit and dot-form character which converts the converted contour information as dot-type data. A circuit having a configuration in which a second storage area for temporarily storing figure data is arranged on the same LSI substrate performs font data conversion at a high speed.
또, 제1의 기억영역으로서 라이트 가능한 기억수단을 사용하고, 상기 기억수단은 문자 도형 발생회로의 외부에서 필요한 데이타의 라이트를 가능하게 한 구성도 고려된다. 또, 제1의 기억영역으로서 RAM을 사용한 구성이어도 좋다.In addition, a configuration in which writeable storage means is used as the first storage area, and the storage means enables writing of necessary data outside of the character figure generating circuit is also contemplated. Moreover, the structure which used RAM as a 1st storage area may be sufficient.
우선, 제1의 기억영역에 벡터 형식으로 표시된 문자 도형의 윤곽 정보에서 도트 형식의 문자 도형 데이타를 발생시키기 위해서 필요한 처리의 일부를 나타내는 감산, 가산, 승산, 베찌에르 커브(Bezier curve) 발생의 마이크로 명령을 사전에 기억해 둔다.First, a microcomputer of subtraction, addition, multiplication, and Bezier curve generation indicating a part of the processing necessary for generating dot character data from the outline information of the character graphic displayed in the vector format in the first storage area. Remember the instructions in advance.
다음에 제1의 논리 유닛은 벡터 형식의 윤곽정보를 받아들였을때 제1의 기억영역에 기억된 명령을 해석해서 윤곽정보에 미리 사용자에 의해 지정되어 레지스터에 유지된 배율에 따라서 확대/축소 등의 변환을 가한다. 이러한 변화는 예를 들면 데이타 신장, 좌표 변환, 각종의 보정처리, 곡선보간 등을 포함한다. 상기 변환 후의 윤곽 정보는 제2의 논리 유닛에 전송된다. 제2의 논리 유닛은 전송된 윤곽 정보에 또 변환을 가하여 도트 형식의 문자 도형 데이타를 제2의 기억영역에서 발생시킨다.Next, when the first logical unit receives the contour information in the vector format, the first logic unit interprets the instructions stored in the first storage area, and enlarges / reduces the zoom information according to the magnification held by the user in advance in the contour information. Make a conversion. Such changes include, for example, data extension, coordinate transformation, various correction processes, curve interpolation, and the like. The contour information after the conversion is transmitted to the second logical unit. The second logical unit further converts the transferred contour information to generate dot-shaped character figure data in the second storage area.
이상과 같이, 제2의 논리 유닛은 제1의 논리 유닛에서 받아들인 각종 변환후의 윤곽정보에서 비트 맵 형식의 문자 도형의 윤곽선 정보를 제2의 기억영역내에 발생시키고, 윤곽선 내부의 페인팅 등의 처리를 실행한다.As described above, the second logic unit generates the contour information of the character map in the bitmap format in the second storage area from the contour information after various transformations received by the first logic unit, and processes such as painting inside the contour. Run
이와 같은 처리를 실행하는 제1의 논리 유닛, 제2의 논리 유닛, 제1의 기억영역 및 제2의 기억영역을 동일기판상에 배치하는 것에 의해, 소형이고 고속처리가 가능한 도형 발생회로를 제공하는 것이 가능하게 된다.By providing a first logic unit, a second logic unit, a first storage area, and a second storage area on the same substrate which perform such a process, there is provided a figure generating circuit capable of small size and high speed processing. It becomes possible.
다음에 본 발명의 1실시예를 제1도에 따라서 설명한다.Next, one embodiment of the present invention will be described with reference to FIG.
제1도의 워드 프로세서, 퍼스널 컴퓨터, 프린터 등의 각종 정보처리 장치에 있어서 사용되는 본 발명에 관계된 문자 도형 발생회로의 구성예를 구성예를 도시한 것이다.The structural example shows the structural example of the character figure generation circuit which concerns on this invention used in various information processing apparatuses, such as a word processor, a personal computer, and a printer of FIG.
본 실시예의 문자 도형 발생회로(4)는 CPU(1), 폰트 RAM(2), 출력 엔진(3)에 버스(18)을 거쳐서 접속된다. 여기에서, CPU(1)는 문자 도형 발생회로, 인쇄, 표시 등의 각종의 처리의 제어를 실행하는 중앙처리 장치로서, 반도체 마이크로 프로세서 등으로 구성된다. 폰트 RAM(2)은 벡터 형식으로 표시된 문자 도형 데이타를 저장하는 수단으로서, 반도체 IC 등의 전자 디바이스로 구성된다. 출력 엔진(3)은 도트 형식으로 표시된 문자 도형 데이타를, 예를 들면 프린터 등에 의해 인쇄 등을 하기 위해 상기 프린터를 구동하기 위한 수단으로서 각종 TTL, 코일, 파워 트랜지스터 등의 전자 디바이스로 구성된다.The character figure generating circuit 4 of this embodiment is connected to the CPU 1, the font RAM 2, and the output engine 3 via a bus 18. Here, the CPU 1 is a central processing unit that executes control of various processes such as character graphics generating circuits, printing, display, etc., and is composed of a semiconductor microprocessor or the like. The font RAM 2 is a means for storing character graphic data displayed in a vector format, and is composed of an electronic device such as a semiconductor IC. The output engine 3 is composed of electronic devices such as various TTLs, coils, power transistors, and the like as means for driving the printer for printing character figure data displayed in dot format, for example, by a printer or the like.
문자 도형 발생회로(4)는 프로그램 ROM(5), 데이타 변환회로(6), FIFO(16), 래스터 변환회로(13)를 갖는다.The character figure generating circuit 4 includes a program ROM 5, a data conversion circuit 6, a FIFO 16, and a raster conversion circuit 13.
프로그램 ROM(5)은 벡터 형식의 문자 도형 데이타에 데이타 신장, 좌표 변환, 보정, 곡선 보간 등의 처리를 실행하는 프로그램을 저장하는 수단으로서, 반도체 IC 등의 전자 디바이스로 구성된다.The program ROM 5 is a means for storing a program which executes processes such as data decompression, coordinate transformation, correction, curve interpolation, and the like in character graphic data in a vector format, and is composed of an electronic device such as a semiconductor IC.
데이타 변환 회로(6)은 데이타 변환 콘트롤부(7) 및 데이타 변화 실행 유닛(10)(승산기, 가산기 등)을 갖고, 프로그램 ROM(5)의 내용을 리드 및 디코드하며, 벡터 형식의 문자 도형 데이타에 각종의 변환을 가하는 수단이다.The data conversion circuit 6 has a data conversion control unit 7 and a data change execution unit 10 (multiplier, adder, etc.), reads and decodes the contents of the program ROM 5, and character graphics data in a vector format. It is a means to add various kinds of transformation to.
또, 데이타 변환 콘트롤부(7)는 명령 디코더(8) 및 프로그램 카운터 PC(9)를 갖고 구성되며, 데이타 변환회로(6)에 있어서 데이타 변환 실행 유닛(10)을 제어하는 수단이다.In addition, the data conversion control unit 7 is configured with an instruction decoder 8 and a program counter PC 9, and is a means for controlling the data conversion execution unit 10 in the data conversion circuit 6.
또, 명령 디코더(8)는 프로그램 ROM(5)에서 리드한 내용을 디코드하는 명령 디코드 수단으로서, 각종 TTL, 반도체 메모리 등의 전자 디바이스로 구성된다.In addition, the instruction decoder 8 is an instruction decoding means for decoding the contents read from the program ROM 5, and is composed of electronic devices such as various TTL and semiconductor memories.
또, 프로그램 카운터 PC(9)는 상술한 마이크로 명령을 갖는 프로그램 ROM(5)의 리드 어드레스를 제어하는 수단으로서, 각종 TTL, 반도체 메모리 등의 전자 디바이스로 구성된다.The program counter PC 9 is a means for controlling the read address of the program ROM 5 having the above-described microinstruction, and is composed of various electronic devices such as TTL and semiconductor memory.
또, 데이타 변환 실행 유닛(10)은 레지스터군(11) 및 연산기(12)를 갖고, 데이타 변환 처리를 실행하기 위해 필요한 각종 연산을 실행하는 수단이다.In addition, the data conversion execution unit 10 has a register group 11 and an arithmetic unit 12, and is a means for executing various operations required for executing data conversion processing.
또, 레지스터군(11)은 각종 명령, 처리 결과 등을 일시적으로 기억해 두는 수단으로서, 각종 TTL, 반도체 메모리 등의 전자 디바이스로 구성된다.The register group 11 is a means for temporarily storing various instructions, processing results and the like, and is composed of electronic devices such as various TTL and semiconductor memories.
또, 연산기(12)는 가산, 감산 등의 각종 연산을 실행하는 수단으로서, 각종 TTL, 반도체 메모리 등의 전자 디바이스로 구성된다.The calculator 12 is a means for performing various operations such as addition and subtraction, and is composed of electronic devices such as various TTL and semiconductor memories.
다음에 FIFO(16)는 소위 선입 선출 기억수단으로서, 반도체 메모리 등의 전자 디바이스로 구성된다.Next, the FIFO 16 is a so-called first-in first-out storage unit, and is composed of an electronic device such as a semiconductor memory.
래스터 변환 회로(13)는 콘트롤부(14) 및 레스터 변환 실행 유닛(15)을 갖고 구성되고, 데이타 변환회로(6)에 의해서 변환이 가해진 데이타에서 도트 형식의 문자 도형 데이타를 발생하는 수단으로서, 실제로는 각종 TTL, 반도체 메모리 등의 전자 디바이스로 구성된다.The raster conversion circuit 13 is comprised with the control part 14 and the raster conversion execution unit 15, and is a means which generate | occur | produces the dot form character figure data from the data to which conversion was performed by the data conversion circuit 6, Actually, it consists of electronic devices, such as various TTL and semiconductor memories.
또, 콘트롤부(14)는 래스터 변환을 위한 실행 유닛(15)을 제어하는 수단으로서, 각종 TTL, 반도체 메모리 등의 전자 디바이스로 구성된다.The control unit 14 is a means for controlling the execution unit 15 for raster conversion, and is composed of electronic devices such as various TTL and semiconductor memories.
또, 래스터 변환 실행 유닛(15)은 래스터 변환을 실행하기 위해 필요한 각종 연산을 실행하는 수단으로서, 각종 TTL, 반도체 메모리 등의 전자 디바이스로 구성된다.The raster conversion execution unit 15 is a means for executing various operations necessary for executing raster conversion, and is composed of electronic devices such as various TTL and semiconductor memories.
워크 메모리(17)는 도트 형식의 문자 도형의 데이타를 일시적으로 저장하는 수단으로서, 반도체 메모리 등의 전자 디바이스로 구성된다.The work memory 17 is a means for temporarily storing data of a character figure in dot format, and is composed of an electronic device such as a semiconductor memory.
상술한 본 발명의 장치 구성을 사용해서 문자 도형을 출력하는 순서에 의해서 설명한다.It demonstrates by the procedure which outputs a character figure using the apparatus structure of this invention mentioned above.
우선, CPU(1)는 CPU상에서 런하는 프로그램에서의 지시에 따라 폰트 ROM(2)에 저장되어 있는 벡터 형식의 어떤 윤곽선 정보, 즉 문자 도형 데이타를 문자 도형 발생회로(4)에 전송한다.First, the CPU 1 transmits certain contour information, that is, character graphic data, in vector format stored in the font ROM 2, to the character graphic generating circuit 4 in accordance with an instruction from a program running on the CPU.
문자 도형 발생회로(4)내의 데이타 변환회로(6)는 프로그램 ROM(5)에 저장된 명령군을 PC(9)에 저장되어 있는 값에 따라서 리드하고, 리드한 명령을 명령 디코더(8)에 의해서 디코드한다.The data converting circuit 6 in the character graphics generating circuit 4 reads the instruction group stored in the program ROM 5 according to the value stored in the PC 9, and the instruction decoder 8 reads the read instructions. Decode
디코드된 명령을 데이타 변환 실행 유닛(10)내의 레지스터군(11) 및 연산기(12)를 사용해서 실행한다. 실행종료후 변환을 가한 데이타를 FIFO(16)에 기억한다.The decoded instruction is executed using the register group 11 and the operator 12 in the data conversion execution unit 10. After the execution is completed, the converted data is stored in the FIFO 16.
래스터 변환회로(13)는 래스터 변환 콘트롤부(14) 및 래스터 변환 실행 유닛(15)을 사용해서 FIFO(16)에서 리드한 데이타에서 문자 도형의 윤곽선을 워크 메모리(17)상에 발생하고, 또 워크 메모리(17)상의 윤곽선의 내부를 페인팅한다.The raster conversion circuit 13 generates the contour of the character figure on the work memory 17 from the data read from the FIFO 16 using the raster conversion control unit 14 and the raster conversion execution unit 15. The inside of the contour on the work memory 17 is painted.
마지막으로 CPU(1)가 워크 메모리(17)상에 발생된 도트 형식의 문자 도형 데이타를 리드하여 출력 엔진(3)으로 전송하고, 인쇄 및 표시 등을 실행하는 것이 가능하게 된다.Finally, the CPU 1 reads the dot-shaped character graphic data generated on the work memory 17, transfers it to the output engine 3, and executes printing, display, and the like.
여기에서, 데이타 변환회로(6)와 래스터 변환회로(13) 사이에 FIFO(16)를 마련한 이유는 다음과 같다.Here, the reason why the FIFO 16 is provided between the data conversion circuit 6 and the raster conversion circuit 13 is as follows.
데이타 변환회로(6)와 래스터 변환회로(13)는 서로 독립적으로, 즉 비동기로 동작한다. 이 때문에, 데이타 전송에 있어서 동기를 취하기 위해서는 중간에 FIFO(16)를 마련하여 제어할 필요가 있다. 물론, 데이타 변환회로(6)가 FIFO(16)에 데이타를 기억할 때에 이미 FIFO(16)의 기억영역이 풀 상태이면 기억시키지 않고 FIFO(16)의 기억영역에 빈 영역이 생길 때까지 그대로의 상태를 유지하며 대기한다.The data conversion circuit 6 and the raster conversion circuit 13 operate independently of each other, i.e., asynchronously. For this reason, in order to synchronize data transmission, it is necessary to provide and control the FIFO 16 in the middle. Of course, when the data conversion circuit 6 stores the data in the FIFO 16, if the storage area of the FIFO 16 is already in the full state, the data conversion circuit 6 does not store the data until the empty area is created in the storage area of the FIFO 16. Keep waiting.
또, 래스터 변환회로(13)이 FIFO(16)에서 데이타를 리드할 때에 FIFO(16)의 기억영역에 데이타가 전혀 들어가 있지 않으면(엠프티 상태), 리드가 되지 않아 데이타가 FIFO(16)에 입력될 때까지 그대로의 상태로 대기 하지 않으면 안된다.When the raster conversion circuit 13 reads data from the FIFO 16, if no data enters the storage area of the FIFO 16 (empty state), the data cannot be read and the data is not written to the FIFO 16. It must wait until it is entered.
제2도는 이들 상술한 레지스터(11)과 연산기(12)의 상세한 종속 접속 구성을 도시한다. 사용자의 제1도의 CPU(1)에 접속되는 콘솔(도시하지 않음)을 거쳐서 사전에 소정의 좌표 매트릭스 데이타 a, b, c, d, Tx, Ty를 입력하고, 이들 데이타는 레지스터(11a)에 유지된다. 일시 레지스터(11b), 포인트 데이타(X , Y )용 레지스터(11c)도 레지스터(11a)와 함께 레지스터(11)에 포함되고, 도시한 라인 A, B에 의해 접속되어 있다. 이들 레지스터의 데이타는 다음에 기술하는 방법으로 모두 연산기(12) 내에서 접속된 승산기(12a), ALU(12b)에 의해 연산되어 FIFO(16)에 입력된다.FIG. 2 shows the detailed slave connection configuration of the above-described register 11 and operator 12. As shown in FIG. Predetermined coordinate matrix data a, b, c, d, Tx, Ty are input in advance via a console (not shown) connected to the CPU 1 of the user's first diagram, and these data are stored in the register 11a. maintain. The temporary register 11b and the register 11c for point data X and Y are also included in the register 11 together with the register 11a, and are connected by the lines A and B shown. The data of these registers are all calculated by the multipliers 12a and ALU 12b connected in the calculator 12 and input to the FIFO 16 by the following method.
다음에 본 발명의 주요부를 구성하는 문자 도형 발생회로(4)의 동작에 대해서 제1도∼제3도를 사용해서 상세하게 설명한다.Next, the operation of the character figure generating circuit 4 constituting the main part of the present invention will be described in detail with reference to FIGS.
제3도는 데이타 변환회로(6)의 동작의 알고리즘을 나타낸 흐름도이다.3 is a flowchart showing an algorithm of the operation of the data conversion circuit 6.
우선, CPU(1)는 문자 도형 발생회로(4)에 기동을 건다. 기동이 걸리지 않으면 그대로의 상태로 대기한다(스텝21).First, the CPU 1 starts the character figure generating circuit 4. If startup is not performed, the operation is waited as it is (step 21).
데이타 변환회로(6)는 프로그램 ROM(5)의 내용을 PC(9)의 카운트 값에 의해서 지정되는 어드레스에서 순차 리드하고(스텝22), 리드한 명령을 디코드한다(스텝23).The data conversion circuit 6 reads the contents of the program ROM 5 sequentially at the address designated by the count value of the PC 9 (step 22), and decodes the read instructions (step 23).
디코드된 명령에 따라서 데이타 변환 실행 유닛(10)내의 레지스터군(11) 및 연산기(12)를 사용해서 벡터 형식의 문자 도형 데이타에 소정의 데이타 신장(폰트 ROM내의 데이타가 압축되어 있는 경우)을 가하고(스텝24), 신장후의 데이타에 확대나 축소 등의 좌표 변환을 가한다(스텝25).According to the decoded instruction, a predetermined data extension (when the data in the font ROM is compressed) is applied to the character graphic data in the vector format using the register group 11 and the calculator 12 in the data conversion execution unit 10. (Step 24), coordinate transformation such as enlargement or reduction is added to the data after decompression (step 25).
다음에, 좌표 변환후의 데이타에 선 폭 등을 일치시키는 보정 처리를 가하고(스텝26), 보정 처리후의 데이타에 곡선 보간을 가한다(스텝27).Next, a correction process for matching the line width or the like is applied to the data after the coordinate transformation (step 26), and curve interpolation is applied to the data after the correction process (step 27).
마지막으로 곡선 보간후의 데이타를 FIFO(16)으로 전송하고(스텝28), 스텝22부터의 처리를 반복한다.Finally, the data after the curve interpolation is transferred to the FIFO 16 (step 28), and the processes from step 22 are repeated.
이 스텝21부터 스텝26까지의 동작을 실행하는 것에 의해, 벡터 형식의 문자 도형 데이타에 데이타 신장, 좌표 변환, 보정, 곡선 보간 등의 변환을 가할 수가 있다.By performing the operations from step 21 to step 26, transformation of data decompression, coordinate transformation, correction, curve interpolation, and the like can be applied to character graphic data in a vector format.
다음에 실제로 「P」인 문자의 작성에 대해서 아우트 라인 폰트 데이타에 페인팅이 실행된 비트 맵 데이타를 발생시킬 때까지 필요한 처리 및 각 처리의 처리량에 대해서 제4도, 제5도를 사용해서 더욱 상세하게 설명한다.Next, with reference to FIG. 4 and FIG. 5, the processing required for generating the bitmap data with painting performed on the outline font data for the creation of the character that is actually "P" will be used. Explain.
페인팅은 좌측에서 우측을 향해서 비트 맵 데이타를 주사하고, 값1을 나타내는 데이타를 찾아서 홀수번째에서 짝수번째의 1 사이의 데이타 0을 1로 변환하는 작업이다.Painting is the process of scanning bitmap data from left to right, finding data representing value 1, and converting data 0 between odd-numbered and even-numbered 1's to 1's.
또한, 곡선 보간후의 데이타에서 도트 형식의 문자 도형 데이타를 발생시키는 처리에 대해서는 전용 회로, 흐름도를 사용해서 다음에 다시 설명한다.Incidentally, a process for generating dot graphic data in the data after curve interpolation will be described later using a dedicated circuit and a flowchart.
제4도는 압축된 아우트 라인 폰트 데이타에서 페인팅이 실행된 비트 맵 데이타를 발생시키는 흐름을 나타낸 모식도이다.4 is a schematic diagram showing a flow of generating bitmap data on which painting is performed from compressed outer line font data.
또, 제5도는 아우트 라인 폰트에 가하는 처리 전체에 대해서 각 처리가 차지하는 시간적인 비율을 나타낸 원그래프이다.5 is a circle graph showing the temporal ratio of each process to the entire process applied to the outline font.
제4도에 있어서 (201)은 압축된 아우트 라인 폰트 데이타이고, 통신 폰트 ROM 용량 삭감을 위해 아우트 라인 폰트 데이타는 압축되어 기억되어 있다.In FIG. 4, reference numeral 201 denotes compressed outer line font data, and the outer line font data is compressed and stored for reducing the communication font ROM capacity.
(202)는 압축된 아우트 라인 폰트 데이타에 신장 처리를 가한 후의 데이타이다.Reference numeral 202 denotes data after the decompression processing is performed on the compressed outline font data.
(203)은 신장된 데이타에 확대나 축소 등의 좌표 변환을 가한 후의 데이타이다.Reference numeral 203 denotes data after coordinate transformation such as enlargement or reduction is applied to the decompressed data.
(204)는 좌표 변환된 데이타에 문자 도형의 선폭을 일치시키기 위한 보정 처리를 가한 후의 데이타이다.Reference numeral 204 denotes data after a correction process for matching the line width of the character figure to the coordinate-converted data.
(203)에 있어서는 선폭이 3비트인데 대해, (204)에 있어서는 선폭이 2비트로 되어 있다.In 203, the line width is 3 bits, whereas in 204, the line width is 2 bits.
또, (205)는 보정 처리된 데이타에 매끄러움을 가하기 위한 곡선 보간 처리를 실시한 데이타이다.Reference numeral 205 denotes data on which curve interpolation processing is performed to add smoothness to the corrected data.
또, (206)은 (205)의 데이타 사이에 직선을 발생시키고, 문자 도형의 윤곽선을 발생시키기 위한 윤곽선 발생처리를 실시한 데이타이다.Reference numeral 206 denotes data for which a straight line is generated between the data of 205 and a contour generation process for generating contours of character graphics.
마지막으로 (207)은 (206)의 데이타에 페인팅 처리를 가한 후의 데이타로서, 이(207)의 데이타가 문자 도형의 비트 맵 데이타로 된다.Finally, 207 is data after applying a painting process to the data of 206, and the data of this 207 becomes bitmap data of a character figure.
데이타(201)이 (207)에 도달할 때까지의 처리에 대해서 설명한다.The processing until the data 201 reaches 207 will be described.
우선, (201)의 아우트 라인 폰트 데이타는 통상 상대 좌표값으로 압축되어 있으므로, 데이타 신장 처리는 상대 좌표값을 순차 가산해 가며 신장한다.First, since the outline line font data of 201 is usually compressed to relative coordinate values, the data decompression processing expands by adding the relative coordinate values sequentially.
이 때문에, 데이타 신장을 위해서 필요한 처리는 X, Y좌표의 증분값의 가산이다.For this reason, the processing necessary for data decompression is the addition of the increment values of the X and Y coordinates.
또, 좌표 변화는 좌표값(X, Y)를 기본으로 XA=aX+bY+Tx, YA=cX+dY+Ty(단, XA, YA는 좌표 변환후의 X, Y 좌표, a, b, c, d, Tx, Ty는 사전에 레지스터(11a)에 입력되어 있던 좌표 매트릭스 데이타이고, a는 1행 1열 요소, b는 1행 2열 요소, c는 2행 1열 요소, d는 2행 2열 요소, Tx는 1행 3열 요소, Ty는 2행 3열 요소이다)로 되는 선형 변환식에 의해, 데이타의 확대 축소 등을 실행하는 처리이며, 상기 처리를 실시한다. 이 2개의 식의 우변의 계산 도중의 데이타는 일시 레지스터(11b)에 들어가고, 최종 결과, 즉 좌변의 결과는 레지스터(11c)에 들어간다. 레지스터(11c)는 4점의 변환후의 좌표값을 갖는다.The coordinate change is based on the coordinate values (X, Y). XA = aX + bY + Tx, YA = cX + dY + Ty , d, Tx, and Ty are coordinate matrix data previously input to the register 11a, where a is a one-row, one-column element, b is a one-row, two-column element, c is a two-row, one-column element, and d is a two-row element. The linear conversion equation is a two-column element, Tx is a one-row, three-column element, and Ty is a two-row, three-column element). The data during the calculation on the right side of these two equations enters the temporary register 11b, and the final result, that is, the result on the left side, enters the register 11c. The register 11c has the coordinate value after 4 points of conversion.
상기 식에 나타낸 바와 같이, 좌표 변환에 필요한 처리는 X, Y 좌표값에 대한 계수의 승산 및 가산이고, 승산기와 ALU (12a), (12b)에 의해 실행된다.As shown in the above formula, the processing necessary for the coordinate transformation is the multiplication and addition of the coefficients with respect to the X and Y coordinate values, and is executed by the multipliers and the ALUs 12a and 12b.
다음에 보정 처리는 지정된 좌표를 안쪽으로 이동시키는 것에 의해, 문자 도형의 선폭을 일치시키는 처리이다.Next, the correction process is a process of matching the line width of the character figure by moving the designated coordinates inward.
이동시키는 좌표의 수는 1문자 도형당 수소이므로, 처리량은 극히 적지만 처리 자체는 이동에 관한 각종의 판정동 때문에 복잡하다.Since the number of coordinates to be moved is hydrogen per one-character figure, the throughput is extremely small, but the processing itself is complicated by various determinations regarding the movement.
다음에 곡선 보간은 지정된 영역내에 새롭게 수점의 문자 발생을 위한 포인트를 발생시키고, 발생시키는 문자 매끄러움을 가하는 처리이다.Next, curve interpolation is a process of generating a point for generating a new number of characters in a designated area and applying character smoothness to generate.
지정되는 영역은 1문자 도형당 소량이므로, 처리수 자체는 적지만 처리 자체는 추가 포인트의 판단 등 때문에 복잡하다.Since the designated area is a small amount per one-character figure, the number of processes itself is small, but the process itself is complicated by the determination of additional points.
다음에 윤곽선 발생처리는 좌표 사이에 직선을 발생시켜서 문자 도형의 윤곽선을 발생시킨다.The contour generation process then generates a straight line between the coordinates to generate the contour of the character figure.
좌표 사이에 직선을 발생시키는 처리는 좌표 사이를 점열로 연결할 수 있는 것이므로, 발생시키는 점열의 수는 방대하다.Since the process of generating a straight line between the coordinates can connect the coordinates between the coordinates by a point sequence, the number of the generated point sequences is huge.
마지막으로 페인팅 처리는 문자 도형의 윤곽선의 내부를 점(도트)으로 메우는 것이며, 발생시키는 점(도트)의 수는 방대하다.Finally, the painting process fills the inside of the outline of the character figure with dots (dots), and the number of dots generated (dots) is huge.
따라서, 윤곽선의 발생 및 페인팅에 필요한 처리는 극히 다량이다.Therefore, the processing necessary for the generation of the contour and the painting is extremely large.
상술한 바와 같이, 데이타 신장, 좌표 변환, 보정, 곡선 보간은 비교적 처리량은 적지만 처리 자체는 복잡하다.As described above, data decompression, coordinate transformation, correction, and curve interpolation have relatively low throughput, but the processing itself is complicated.
이것에 대해서, 윤곽선 발생, 페인팅 등은 처리 자체는 단순하지만 처리량은 방대하다.On the other hand, contouring, painting, etc., the processing itself is simple but the throughput is huge.
제5도에 아우트 라인 폰트 전개 시간 전체가 차지하는 각 처리 마다의 대략적인 처리 시간의 구성을 도시한다.FIG. 5 shows a configuration of an approximate processing time for each process occupied by the entire outline line font development time.
제5도에서 명확한 바와 같이, 다소의 오차는 있지만, 윤곽선 발생 및 페인팅 처리가 전체의 65%를 차지하고 있다.As is clear from FIG. 5, although there are some errors, the contour generation and the painting process account for 65% of the total.
데이타 신장, 좌표 변환, 보정, 곡선 보간 등의 비교적 처리량이 적고 복잡한 처리는 소정의 프로그램에 따라서 1스텝마다 동작하는 회로를 사용해서 저속으로 실행하고, 윤곽선 발생, 페인팅 처리 등과 같이 처리량이 매우 많으므로 고속의 실행이 요구되는 처리는 전용의 회로를 사용해서 고속으로 실행하는 것이 바람직하다.Relatively low throughput such as data decompression, coordinate conversion, correction, and curve interpolation are performed at low speed using a circuit that operates every step according to a predetermined program. It is preferable to perform a process requiring high speed execution at high speed using a dedicated circuit.
따라서, 윤곽선 발생, 페인팅 처리만 전용의 회로에 의해 고속으로 실행하고, 그 이외의 처리를 소정의 프로그램에 따라서 1스텝마다 동작하는 회로에 의해 저속으로 실행하는 것에 의해서 처리 속도 및 기능을 떨어뜨리지 않고 회로 규모를 억제할 수가 있다.Therefore, only the contour generation and the painting process are executed at high speed by a dedicated circuit, and other processes are executed at a low speed by a circuit operating every step according to a predetermined program without degrading the processing speed and function. The circuit scale can be suppressed.
또, 소정의 프로그램에 따라 1스텝마다 동작하는 회로는 연산기, 디코더, 레지스터, 프로그램 ROM 등을 공유할 수 있으므로, 각 처리마다 전용의 연산기, 레지스터 등의 회로를 갖는 경우보다도 회로 규모가 극히 작아도 좋다.In addition, since a circuit that operates every step according to a predetermined program can share a calculator, a decoder, a register, a program ROM, and the like, the circuit scale may be extremely small compared with the case of having a dedicated calculator, register, or the like for each processing. .
또, 소정의 프로그램에 따라서 1스텝마다 동작하는 회로는 전용의 회로에 비해서 실행속도가 저속이기는 하지만, 그 회로에서 실행하는 처리는 비교적 처리량이 적기 때문에 저속인 것은 그다지 문제로 되지 않는다.In addition, although a circuit which operates every step according to a predetermined program has a lower execution speed than a dedicated circuit, a low speed is not a problem because the processing executed by the circuit is relatively small in throughput.
다음에, 만약 폰드 ROM(2)에 저장된 벡터 형식의 문자 도형 데이타가 프로그램 ROM(5)에 저장되어 있는 프로그램에 대응하고 있지 않은 폰트 데이타에 따르고 있으면 정확하게 동작할 수 없는 경우가 있다. 다음에, 여러가지 포맷의 폰트 데이타로의 대응 방법을 제6도∼제8도를 사용해서 상세하게 설명한다.Next, if the character graphic data of the vector format stored in the font ROM 2 conforms to the font data not corresponding to the program stored in the program ROM 5, it may not operate correctly. Next, the corresponding method for font data in various formats will be described in detail with reference to FIGS.
우선, 제1의 방법에 대해서 제6도를 사용해서 설명한다.First, the first method will be described with reference to FIG.
본 실시예는 데이타 변환회로(6), 래스터 변환회로(13), FIFO(16), 워크 메모리(17), 리라이트 가능한 프로그램 ROM(18) 및 ROM 라이터(31)를 갖고 구성된다.This embodiment has a data conversion circuit 6, a raster conversion circuit 13, a FIFO 16, a work memory 17, a rewritable program ROM 18, and a ROM writer 31.
데이타 변환회로(6), 래스터 변환회로(13), FIFO(16), 워크 메모리(17)는 제1도에서 설명한 구성요소와 동일한 것을 사용해서 실현할 수 있기 때문에, 여기에서는 상세한 설명은 생략한다.Since the data conversion circuit 6, the raster conversion circuit 13, the FIFO 16, and the work memory 17 can be realized using the same components as those described in FIG. 1, detailed descriptions thereof are omitted here.
프로그램 ROM(18)은 프로그램을 기억하는 수단으로서 반도체 IC인 소위 PROM(프로그램 룸) 등으로 구성된다.The program ROM 18 is constituted of a so-called PROM (program room) or the like which is a semiconductor IC as a means for storing a program.
ROM 라이터(31)는 프로그램 ROM(18)에 데이타를 라이트하기 위한 수단으로서, CPU, 각종 TTL, 데이타버스, 인터페이스 커넥터 등의 전자 디바이스로 구성된다.The ROM writer 31 is a means for writing data to the program ROM 18. The ROM writer 31 is composed of an electronic device such as a CPU, various TTLs, a data bus, and an interface connector.
또, 프로그램 ROM(18)에는 이미 폰트 데이타의 포맷에 대응하고 있지 않는 프로그램이 저장되어 있는 것으로 한다.It is also assumed that the program ROM 18 stores a program that does not already correspond to the format of the font data.
이 상태에서는 정확하게 동작하지 않으므로, ROM 라이터(31)를 사용하여 폰트 포맷에 대응한 프로그램을 다시 라이트한다.Since it does not operate correctly in this state, the ROM writer 31 is used to rewrite the program corresponding to the font format.
여기에서 ROM 라이터(31)와 제1도의 문자 도형 발생 장치는 별개의 장치로서, ROM 라이터(31)에 의해 프로그램 ROM(18)에 데이타를 전기적으로 라이트한다.Here, the ROM writer 31 and the character figure generator of FIG. 1 are separate devices, and the ROM writer 31 electrically writes data to the program ROM 18.
폰트 포맷에 대응한 프로그램을 라이트한 후에 제3도의 스텝21부터 스텝28까지의 동작을 실행하는 것에 의해, 벡터 형식의 문자 도형 데이타에 데이타 신장, 좌표 변환, 보정, 곡선 보간 등의 변환을 가하는 것이 가능하게 된다.After writing the program corresponding to the font format, performing operations from step 21 to step 28 in FIG. 3 to perform transformations such as data extension, coordinate transformation, correction, and curve interpolation on the character graphic data in the vector format. It becomes possible.
일반적으로 PROM은 리라이트 가능하고, 폰트 변경에 대응할 수 있다.In general, PROMs are rewritable and can respond to font changes.
또, 제조자측이 출하 시점에서 고객이 요구하는 폰트에 따른 처리 프로그램을 한번만 라이트하는 것만으로 좋은 경우에는 한번만 라이트 가능한 ROM을 사용하면 좋다.If the manufacturer only needs to write the processing program corresponding to the font requested by the customer at the time of shipment, it is good to use a ROM that can be written only once.
다음에 제2의 방법에 대해서 제7도, 제8도를 사용해서 상세하게 설명한다.Next, the second method will be described in detail with reference to FIGS. 7 and 8.
제7도는 워드 프로세서, 퍼스널 컴퓨터, 프린터 등의 정보처리 장치에 있어서 제2의 방법을 실행하는 블럭도의 1예이고, 제8도는 제7의 문자 도형 발생 장치의 동작의 알고리즘을 나타낸 흐름도이다.FIG. 7 is an example of a block diagram for performing the second method in an information processing apparatus such as a word processor, a personal computer, a printer, and the like. FIG. 8 is a flowchart showing an algorithm of the operation of the seventh figure generator.
본 실시예에서는 CPU(1), 폰트 ROM(2) 및 출력 엔진(3), 문자 도형 발생회로(41)를 갖고 구성된다. 여기에서, CPU(1), 폰트 ROM(2) 및 츨력엔지(3)은 제1도에서 설명한 실시예와 동일한 것을 사용할 수 있으므로 상세한 설명은 생략한다.In this embodiment, a CPU 1, a font ROM 2, an output engine 3, and a character graphics generating circuit 41 are configured. Here, the CPU 1, the font ROM 2, and the output engine 3 can use the same ones as the embodiment described in FIG.
또, 문자 도형 발생 회로(41)은 프로그램 RAM(42), 데이타 변환 회로(6), FIFO(16), 래스터 변환 회로(13)을 갖고 구성된다.In addition, the character figure generating circuit 41 includes a program RAM 42, a data conversion circuit 6, a FIFO 16, and a raster conversion circuit 13.
데이타 변환 회로(6), FIFO(16), 래스터 변환 회로(13)는 제1도에서 설명한 실시예와 동일한 것을 사용할 수 있기 때문에, 상세한 설명은 생략한다.Since the data conversion circuit 6, the FIFO 16, and the raster conversion circuit 13 can use the same ones as the embodiment described in FIG. 1, detailed description thereof will be omitted.
프로그램 RAM(42)은 벡터 형식의 문자 도형 데이타에 데이타 신장, 좌표 변환, 보정, 곡선 보간 등의 처리를 실행하는 프로그램을 저장하는 수단으로서, 반도체 메모리 등의 전자 디바이스로 구성된다.The program RAM 42 is a means for storing a program for executing processing such as data decompression, coordinate transformation, correction, curve interpolation, and the like in character graphic data in a vector format, and is composed of an electronic device such as a semiconductor memory.
다음에, 제7도의 문자 도형 발생 장치(2)를 사용해서 문자 도형을 출력하는 순서에 대해서 제8도를 사용해서 상세하게 설명한다.Next, the procedure of outputting a character figure using the character figure generating device 2 of FIG. 7 will be described in detail with reference to FIG.
우선, CPU(1)은 프로그램 RAM(42)에 프로그램을 라이트 하고(스텝51), 문자 도형 발생 회로(41)에 기동을 건다(스텝52).First, the CPU 1 writes a program to the program RAM 42 (step 51), and starts the character figure generating circuit 41 (step 52).
기동이 걸리지 않으면 그대로의 상태로 대기한다.If it does not start, it waits as it is.
데이타 변환 회로(6)은 프로그램 RAM(42)의 내용을 순차 리드하고(스텝53), 리드한 명령을 디코드한다(스텝54).The data conversion circuit 6 sequentially reads the contents of the program RAM 42 (step 53), and decodes the read instructions (step 54).
디코드된 명령에 따라서 데이타 변환 실행 유닛(10)내의 레지스터군(11) 및 연산기(12)를 사용하여 벡터 형식의 문자 도형 데이타에 데이타 신장(폰트 ROM(2)내에 데이타가 압축되어 있는 경우)를 가하고(스텝55), 신장후의 데이타에 확대나 축소등의 좌표 변환을 가한다(스텝56).In accordance with the decoded instructions, the register group 11 and the operator 12 in the data conversion execution unit 10 are used to convert the data decompression (when the data is compressed in the font ROM 2) into character graphic data in a vector format. (Step 55), coordinate transformation such as enlargement or reduction is applied to the data after decompression (step 56).
다음에, 좌표 변환후의 데이타에 선폭 등을 일치시키는 보정 처리를 실시하고(스텝57), 보정 처리후의 데이타에 곡선 보간의 처리를 실시한다(스텝58).Next, a correction process is performed to match the line width and the like to the data after the coordinate transformation (step 57), and a curve interpolation process is performed on the data after the correction process (step 58).
마지막으로, 곡선 보간후의 데이타를 FIFO(16)로 전송하고(스텝59), 스텝53부터의 처리를 반복한다.Finally, the data after the curve interpolation is transferred to the FIFO 16 (step 59), and the processing from step 53 is repeated.
이 스텝51부터 스텝59까지의 동작을 실행하는 것에 의해, 벡터 형식의 문자 도형 데이타에 데이타 신장, 좌표 변환, 보정, 곡선 보간 등의 처리를 실시할 수 있다.By performing the operations from step 51 to step 59, data decompression, coordinate transformation, correction, curve interpolation, and the like can be performed on character graphic data in a vector format.
이상 기술한 제1 또는 제2의 방법을 사용하는 것에 의해, 벡터 형식의 문자 도형 데이타가 각종의 포맷을 갖고 있더라도 도트 형식의 문자 도형 데이타를 간단하게 발생시킬 수가 있다.By using the first or the second method described above, even when the vector-format character graphic data has various formats, it is possible to easily generate the dot-shaped character graphic data.
이미, 실제로 「P」 인 문자의 작성에 대해서 아우트 라인 폰트 데이타에서 페인팅이 실행된 비트 맵 데이타를 발생시킬 때까지 필요한 처리 및 각 처리의 처리량에 대해서 제4도, 제5들로 사용하여 설명하였지만, 마지막으로 곡선 보간후의 데이타에서 도트 형식의 문자 도형 데이타를 발생시키는 순서에 대해서 제9도에 도시한 전용회로, 제10도에 도시한 처리 흐름도를 사용해서 다시 설명한다.As described above, the processing required and the throughput of each processing until the generation of the bitmap data in which the painting is performed from the outline font data with respect to the creation of the character that is actually "P" have been described using FIGS. 4 and 5. Finally, the procedure for generating the character figure data in dot format from the data after the curve interpolation will be described again using the dedicated circuit shown in FIG. 9 and the processing flowchart shown in FIG.
제9도는 제1도에 있어서의 래스터 변환회로(13)의 상세 설명도이고, 제10도는 래스터 변환회로(13)의 동작의 알고리즘을 나타낸 흐름도이다.FIG. 9 is a detailed explanatory diagram of the raster conversion circuit 13 in FIG. 1, and FIG. 10 is a flowchart showing an algorithm of the operation of the raster conversion circuit 13. As shown in FIG.
제9도에 도시한 래스터 변환회로(13)은 콘트롤부(14) 및 래스터 변환 실행 유닛(15)를 갖고 구성된다.The raster conversion circuit 13 shown in FIG. 9 is comprised with the control part 14 and the raster conversion execution unit 15. As shown in FIG.
또, 콘트롤부(14)는 윤곽선 발생 제어부(61) 및 페인팅 제어부(63)를 갖고 구성된다.Moreover, the control part 14 is comprised with the outline generation control part 61 and the painting control part 63. As shown in FIG.
여기에서, 윤곽선 발생 제어부(61)는 좌표점 사이에 직선을 발생시켜서 문자 도형의 윤곽선을 워크 메모리(17)상에 발생시키는 처리를 제어하는 수단으로서, 각종 TTL 등의 전자 디바이스로 구성된다.Here, the contour generation control section 61 is a means for controlling a process of generating a straight line between coordinate points to generate an outline of a character figure on the work memory 17, and is composed of various TTL and other electronic devices.
여기에서, 페인팅 제어부(63)는 문자 도형의 윤곽선의 내부를 페인트하는 처리를 제어하는 수단으로서, 각종 TTL 등의 전자 디바이스로 구성된다.Here, the painting control part 63 is a means for controlling the process of painting the inside of the outline of a character figure, and is comprised by electronic devices, such as various TTL.
또, 래스터 변환 실행 유닛(15)은 윤곽선 발생 실행 유닛(62) 및 페인팅 실행 유닛(64)을 갖고 구성된다.Moreover, the raster conversion execution unit 15 is comprised with the outline generation execution unit 62 and the painting execution unit 64. As shown in FIG.
여기에서, 윤곽선 발생 실행 유닛(62)은 윤곽선 발생에 필요한 연산을 실제로 실행하는 수단으로서, 각종 TTL 등의 전자 디바이스로 구성된다.Here, the contour generation execution unit 62 is constituted of electronic devices such as various TTLs as means for actually executing a calculation required for contour generation.
여기에서, 페인팅 실행 유닛(64)은 페인팅에 필요한 연산을 실제로 실행하는 수단으로서, 각종 TTL 등의 전자 디바이스로 구성된다.Here, the painting execution unit 64 is constituted by electronic devices such as various TTLs as means for actually executing the calculations required for painting.
다음에, 래스터 변환회로(13)를 사용하여 곡선 보간후의 데이타에서 도트 형식의 문자 도형 데이타를 워크메모리(17)상에 발생시킬 때까지의 순서에 대해서 제10도를 사용해서 설명한다.Next, the procedure from the data after curve interpolation using the raster conversion circuit 13 to generating the dot-shaped character figure data on the work memory 17 will be described with reference to FIG.
우선, 윤곽선 발생 제어부(61)는 제1도에 도시한 FIFO(16)의 값을 리드하고, 좌표 데이타를 받아들인다(스텝71).First, the contour generation control unit 61 reads the value of the FIFO 16 shown in FIG. 1 and accepts coordinate data (step 71).
상기 좌표 데이타 사이에 라인을 발생하고, 워크 메모리(17)상에 묘화한다(스텝72).Lines are generated between the coordinate data and drawn on the work memory 17 (step 72).
1문자 도형에 대해서 윤곽선의 발생이 종료하였다면, 페인팅 제어부(63)에 기동을 걸고, 종료하지 않았다면 스텝71부터의 처리를 반복하여 윤곽선의 발생처리를 계속한다(스텝73, 74).If the generation of the outline is finished for the single-character figure, the painting control unit 63 is started, and if not, the process from step 71 is repeated to continue the generation of the outline (steps 73 and 74).
기동이 걸린 페인팅 제어부(63)는 워크 메모리(17)상의 데이타를 리드하고(스텝75), 윤곽선 내부를 페인팅한다(스텝76).The painting control part 63 which started up reads the data on the work memory 17 (step 75), and paints the inside of an outline (step 76).
1문자 도형분의 윤곽선의 내부를 모두 페인팅하였으면 페인팅이 종료한 것을 CPU(1)에 알리고, 페인팅이 완전히 종료하지 않았으면 스텝75부터의 동작을 반복하여 페인팅을 계속한다(스텝77, 78).If the interior of the outline of the one-character figure has been painted, the CPU 1 is notified that the painting is finished. If the painting has not been completed completely, the operation from step 75 is repeated to continue painting (steps 77 and 78).
이 스텝71부터 스텝78까지의 동작을 실행하는 것에 의해, 워크 메모리(17)상에 문자 도형의 윤곽선을 발생하고, 내부를 페인팅할 수가 있다.By performing the operation from step 71 to step 78, the outline of the character figure can be generated on the work memory 17 and the interior can be painted.
윤곽선 발생, 페인팅의 상세한 내용에 대해서는 일본국 특허 공개 공고 소화59-71093호에 기재되어 있다.Details of contour generation and painting are described in Japanese Patent Laid-Open No. 59-71093.
이상, 상술한 바와 같은 회로구성을 갖고, 데이타 신장, 좌표변환, 보정, 곡선 보간 등의 비교적 처리량이 적은 처리는 데이타 변환 회로(6)와 같은 프로그램을 사용하여 1스텝마다 처리가 실행되는 회로를 사용해서 저속도로 처리한다.As described above, a process having the above-described circuit structure and having relatively low throughput such as data decompression, coordinate transformation, correction, curve interpolation, and the like may be implemented by using a program such as the data conversion circuit 6 to perform a circuit for each step. Processing at low speed.
이것에 의해서, 회로 규모를 억제하는 것이 가능하게 된다.As a result, the circuit scale can be suppressed.
이것에 대해서 윤곽선 발생, 페인팅 등의 처리량이 많은 처리에 대해서는 래스터 변환회로(13)와 같은 전용회로를 사용하여 고속으로 실행한다.On the other hand, processing with a high throughput such as contour generation and painting is performed at high speed by using a dedicated circuit such as the raster conversion circuit 13.
즉, 처리량이 적은 처리는 프로그램을 사용하여 1스텝마다 처리가 실행되는 회로로 처리를 실행하여 회로규모를 억제하고, 처리량이 많은 처리만 전용의 회로에 의해 고속으로 실행하는 것이다.That is, a process with a small amount of processing executes a process by a circuit which performs a process every step using a program, suppressing a circuit size, and executes only a process with a large amount of throughput at high speed by the dedicated circuit.
이것에 의해서, 회로 규모를 크게 하는 일없이 고속이며 또한 효율적으로 도트 형식의 문자 도형 데이타를 발생시킬 수가 있다.This makes it possible to generate character graphic data in dot format quickly and efficiently without increasing the circuit scale.
또, 본 실시예에서는 데이타 변환회로(6) 내에 데이타 신장, 좌표 변환, 보정, 곡선 보간의 4가지 처리를 조립해서 설명을 하였지만, 상기 4가지의 처리중 필요한 것만으로 조립하는 구성 또는 이들 이외의 처리를 조립하는 구성으로 하여도 좋다.In the present embodiment, four processes of data extension, coordinate transformation, correction, and curve interpolation have been described in the data conversion circuit 6, but only the configuration necessary for the above four processes is performed or other than these. It is good also as a structure which granulates a process.
제11도는 또 다른 실시예를 도시한 것이다.11 shows another embodiment.
사전에 프로그램을 하드 디스크 HD 또는 플로피 디스크 FD 등의 디스크 장치(82)에 저장해 두고, HD, FD의 프로그램을 문자 발생 LSI의 프로그램 RAM(42)에 라이트한다. 그 이외의 회로 블럭의 구성은 제1도와 동일하여도 좋다.The program is stored in advance in a disk device 82 such as a hard disk HD or a floppy disk FD, and the programs of HD and FD are written to the program RAM 42 of the character generating LSI. The structure of other circuit blocks may be the same as that of FIG.
제12도는 다른 실시예를 도시한 것으로, 문자 도형 발생 회로(4 )는 도시한 바와 같이 프로그램 ROM(5)에 접속되어 소정의 전류를 상기 ROM 내의 선택된 어드레스의 선택된 비트에 흐르게 하기 위해서, 검증하기 위한 PROM 라이트 회로(93)를 갖고 있다. 라이트 회로는 ROM 라이터(96)에 접속되어 어드레스와 비트를 ROM라이터에서 지시받아 상술한 ROM(5)으로의 라이트를 실시한다. 따라서, 이 실시예에 의하면 불휘발성 메모리로의 라이트를 문자 도형 발생 회로의 사용자가 실시할 수 있다.FIG. 12 shows another embodiment in which the character graphics generating circuit 4 is connected to the program ROM 5 as shown to verify that a predetermined current flows in the selected bit of the selected address in the ROM. Has a PROM write circuit 93 therefor. The write circuit is connected to the ROM writer 96, and the address and the bit are instructed by the ROM writer to write to the ROM 5 described above. Therefore, according to this embodiment, writing to the nonvolatile memory can be performed by the user of the character figure generating circuit.
제13도는 버스를 거쳐서 문자 도형 발생 회로(41)상의 프로그램 RAM(42)에 접속된 터미널 디바이스(101)에 의해, A, B의 양폰트 ROM 중에서 선택/입력되는 폰트 타입에 따라서 A폰트 데이타를 갖는 ROM(2) 또는 B폰트 데이타를 갖는 ROM(2 )의 어느 것인가 하나가 선택되고, 어느 것인가 한쪽의 폰트 데이타에 대응하는 프로그램이 디스크 장치(82)중에서 리드되어 프로그램 RAM(42)에 라이트되는 문자 도형 시스템(102)을 도시한다.13 shows A font data in accordance with the font type selected / input from both font ROMs A and B by the terminal device 101 connected to the program RAM 42 on the character graphics generating circuit 41 via a bus. Either one of the ROM 2 having the B font data or the ROM 2 having the B font data is selected, and a program corresponding to one of the font data is read from the disk device 82 and written to the program RAM 42. A character graphics system 102 is shown.
이상 기술한 실시예에 있어서, 동일 블럭 번호를 갖는 블럭의 설명은 이미 기술한 일련의 실시예에 있어서의 기능 설명과 마찬가지이므로, 생략되어 있다.In the above-described embodiments, the description of the blocks having the same block number is the same as that of the functional description in the series of the embodiments described above, and thus the description thereof is omitted.
제14도는 제13도에 도시한 시스템에 또 하나의 LSI(4)를 버스(18)에 접속한 다른 실시예를 도시한 것이다. 버스(18)를 거쳐서 2개의 LSI(4)에 접속되는 프로그램 유지 유닛(112)은 프로그램 RAM(42)과 (42 )에 기억해야할 여러개의 명령균 세트 A, B, C, …를 갖고 있고, CPU(1)에 접속되는 터미널 디바이스(도시하지 않음)를 거쳐서 입력되는 지정에 따라서 바라는 명령군 세트가 각각의 LSI(4)의 RAM(42)와 (42 )에 로드된다. 이 실시예에서는, 사용자가 바라는 여러개의 폰트의 조합을 시스템상으로 구축할 수가 있다.FIG. 14 shows another embodiment in which another LSI 4 is connected to the bus 18 in the system shown in FIG. The program holding unit 112, which is connected to the two LSIs 4 via the bus 18, has several instruction set A, B, C,... Which are to be stored in the program RAM 42 and 42. In accordance with a designation inputted through a terminal device (not shown) connected to the CPU 1, a desired set of instruction groups is loaded into the RAM 42 and 42 of each LSI 4. In this embodiment, a combination of several fonts desired by the user can be constructed on the system.
제15도는 제7도에 도시한 버스(18)에 접속된 폰트 ROM(2) 대신에 2개의 폰트 타입에 대응하는 카세트화된 ROM의 형태를 취하는 2개의 폰트 카세트 ROM(132, 134)과 한쪽의 폰트에 따른 프로그램을 프로그램 RAM(42)으로 보내는 플로피 디스크 장치(133)이 접속된 다른 실시예를 나타내었다.FIG. 15 shows two font cassette ROMs 132, 134 and one of which take the form of a cassette ROM corresponding to two font types instead of the font ROM 2 connected to the bus 18 shown in FIG. Another embodiment in which a floppy disk device 133 for sending a program in accordance with the font of the program to the program RAM 42 is connected.
다른 쪽의 폰트에 대응하는 프로그램은 다른쪽의 폰트 카세트 ROM 중에 폰트 데이타와 함께 기억되어 있다. 폰트 ROM 카세트(132)형의 카세트를 여러개 또는 폰트 ROM 카스트(134)형의 카세트를 여러개 구비한 구성의 시스템을 구축하는 것도 가능하다.The program corresponding to the other font is stored together with the font data in the other font cassette ROM. It is also possible to construct a system having a configuration in which several cassettes of the font ROM cassette 132 type or several cassettes of the font ROM cast 134 type are provided.
Claims (20)
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP4080055A JPH05281945A (en) | 1992-04-01 | 1992-04-01 | Character and pattern generating circuit |
JP92-080055 | 1992-04-01 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR930022226A KR930022226A (en) | 1993-11-23 |
KR970003326B1 true KR970003326B1 (en) | 1997-03-17 |
Family
ID=13707554
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019930003001A KR970003326B1 (en) | 1992-04-01 | 1993-03-02 | Character graphics generating circuits |
Country Status (3)
Country | Link |
---|---|
JP (1) | JPH05281945A (en) |
KR (1) | KR970003326B1 (en) |
TW (1) | TW305978B (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5777398B2 (en) * | 2011-05-13 | 2015-09-09 | キヤノン株式会社 | Image processing apparatus, image processing method and program for image processing apparatus |
-
1992
- 1992-04-01 JP JP4080055A patent/JPH05281945A/en active Pending
-
1993
- 1993-03-02 KR KR1019930003001A patent/KR970003326B1/en not_active IP Right Cessation
- 1993-03-04 TW TW082101588A patent/TW305978B/en active
Also Published As
Publication number | Publication date |
---|---|
KR930022226A (en) | 1993-11-23 |
TW305978B (en) | 1997-05-21 |
JPH05281945A (en) | 1993-10-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5414448A (en) | Character/pattern generator and information processing system | |
US4821209A (en) | Data transformation and clipping in a graphics display system | |
US5293586A (en) | Data processing system for development of outline fonts | |
JPH056160A (en) | Graphic-processor | |
KR101159320B1 (en) | Iteratively solving constraints in a font-hinting language | |
EP0537030B1 (en) | Character or graphic processing method | |
KR970003326B1 (en) | Character graphics generating circuits | |
JP3037854B2 (en) | Character generation method and device | |
EP0356262B1 (en) | Image processing apparatus | |
EP0464794A2 (en) | Painting pattern generation system and pattern painting method using the system | |
JP3196236B2 (en) | Outline data processing device | |
EP0359255A2 (en) | Pattern data generating system | |
JPH0627922A (en) | Character pattern display controller | |
JP3238202B2 (en) | Character / graphic generating apparatus and information processing apparatus | |
JPH06161421A (en) | Character generating device | |
JP2002117411A (en) | Curve drawing method, curve drawing device, and storage medium with curve drawing program stored therein | |
JP3457336B2 (en) | Outline data processing device | |
JPH03242694A (en) | System and device for calculating affine transformation and dot memory address for character generation | |
JP2808105B2 (en) | Font drawing device | |
JPH06162184A (en) | System and device for curve interpolation | |
JPH02196296A (en) | Character generator | |
JPH0264598A (en) | Graphic character developing method | |
JPH04373082A (en) | Character generator | |
JPH0553559A (en) | Line width determination system | |
JPH07181946A (en) | Character generation device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
G160 | Decision to publish patent application | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20040302 Year of fee payment: 8 |
|
LAPS | Lapse due to unpaid annual fee |