EP0197907A1 - Display device - Google Patents
Display device Download PDFInfo
- Publication number
- EP0197907A1 EP0197907A1 EP86850109A EP86850109A EP0197907A1 EP 0197907 A1 EP0197907 A1 EP 0197907A1 EP 86850109 A EP86850109 A EP 86850109A EP 86850109 A EP86850109 A EP 86850109A EP 0197907 A1 EP0197907 A1 EP 0197907A1
- Authority
- EP
- European Patent Office
- Prior art keywords
- memory
- symbol
- code
- row
- image
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G5/00—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
- G09G5/36—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
Definitions
- Most so-called graphical display devices have a pixel oriented image memory, that is an image memory divided into one bit for each picture element or pixel on the display screen.
- a display device with the resolution of 1024 x 1024 picture elements thus has an image memory of 1024 x 1024-Jbits. If the device can show several colours there are several such image memories of 1024 x 1024 bits, one for each basic colour. These image memories for the different basic colours are usually called bit planes. This set of bit planes forms the total image memory.
- a colour screen that is a display device with an image memory consisting of several bit planes according to the above, corresponding bit positions are combined in all bit or image planes. If the bit positions in all image planes that belong to the pixel in question include zeros an extinguished pixel is shown. If only one bit plane includes a digit 1 for the bit position corresponding to the concerned pixel, a lit pixel is shown in an associated basic colour. If several bit planes include ones (1) in bit positions corresponding to the concerned pixel, a lit pixel is shown in a colour constituting a combination of associated basic colours. To simplify the description of the present invention, in the following, if nothing else is stated, only image memories including one bit plane, will be regarded, that is display devices showing one colour only for lit picture elements.
- each bit is completely independent of all the other bits in the image memory.
- the bit pattern of a symbol such as &
- the information regarding what bits belong together in the pattern was lost when the bits were written into the image memory.
- Such a display device is acceptable if the information only is to be presented or copied.
- the display device is to be used in a dialog with the user, where it is required that the computer should be able to identify which symbol the user is pointing at with a cursor or a light pen to replace a symbol with another one, read the information contents (symbol codes) or remove symbols, such a display device would not be acceptable.
- a known method to solve this problem consists of extending the image memory with several bit planes, as with a colour screen according to the above.
- one bit plane includes the actual image.
- the other bit planes are used to store the symbol codes for the symbols of the image to which the different picture elements belong. This is done by storing the symbol code in the bit positions of the bit plane that corresponds to the position of the concerned picture element, that is in principle in the same way as the coulour coding above. In this way it is possible to mark each picture element on the screen with the symbol code for the symbol to which the picture element or pixel belongs.
- a drawback with this method is that it is extremely storage consuming. This can be illustrated by assuming we have a display device with a resolution of 1024 x 1024 pixels.
- the present invention concerns a display device, wherein this storage requirement can be reduced on the order of 80 to 90 %.
- Another advantage which is also achieved by the display device according to the invention is increased rapidity, since only one pixel in each symbol needs to be "marked” with the symbol code.
- F ig. 1 shows the principle of a display device according to the present invention.
- a computer D gives orders to a processor 1 for writing or reading (Fig. 2).
- This processor writes symbols into an image memory 2 and an auxiliary memory 3, respectively reads symbols from the auxiliary memory 3.
- the image memory 2 consists of a pixel oriented image memory including as many bit planes as is required for a binary representation of the desired amount of colours.
- a monochrome display device that is only one bit plane in the image memory. It is to be understood, however, that the invention is not restricted to this case only, but that the below described principles can also be applied for an arbitrary number of colours.
- the auxiliary memory 3 is organized in the same way as a bit plane in the image memory 2.
- a digit 1 is written into the auxiliary or shadow memory 3 in a position that defines the symbol position in the image.
- This position usually, but not allways, corresponds to one of the picture elements that make up the symbol, such as the lower left corner of the symbol.
- the reading of text information is simplified, since the position of the symbols in the auxiliary memory can be made to lie on the same row independent of the symbols being ordinary letters, exponents or indices.
- the position of the symbol in the image is independent of the colour of the symbol, it is realized that only one bit plane is required for the auxiliary or shadow memory 3, even in a case where the image memory includes several bit planes for displaying colour images.
- Fig. 1 shows a very limited image memory 2 of 16 x 16 bits. From the above discussion it is realized that the auxiliary memory 3 will then also include 16 x 16 bits.
- the auxiliary memory 3 is allocated a line or row memory 4.
- Each memory cell in the line or row memory 4 corresponds to a pixel row in the auxiliary memory 3, that is for the case shown in Fig. 1 the row memory includes 16 memory cells.
- the code memory 5 contains symbol codes corresponding to the symbols included in the image, and the positions of which in the image are indicated by the ones (1) in the auxiliary memory 3.
- the code memory 5 is divided in the following way.
- the code for the first symbol on a pixel row in the auxiliary memory 3 is always stored in the cell of the code memory 5 to which the memory cell in the row memory 4 corresponding to that pixel row is pointing. If on this pixel row additional symbols have been marked in the auxiliary memory 3, their symbol codes will be placed in the same order as on the pixel row in the consecutive memory cells of the code memory 5. When there are no more symbols present on the concerned pixel row, a special code, such as the code 0, can be stored in the following memory cell of the code memory 5, in order to indicate this fact.
- the pixel rows 0 and 1 contain no marks for symbols in the auxiliary memory 3.
- the line or row memory 4 therefore contains no pointers to the code memory 5.
- Row 2 in the auxiliary memory 3 contains position marking ones (1) for three symbols in the X-coordinates 2, 5 and 12, respectively.
- the row memory 4 contains a pointer to the memory cell ADDRESS 1 of the code memory.
- This memory cell contains the symbol code for the first symbol on row 2 in the auxiliary memory 4 with the X-coordinate 2.
- the next memory cell in the code memory 5 contains the symbol code for the next symbol on this row with the X-coordinate 5.
- the symbol code for the symbol with the X-coordinate 12 on row 2 in the auxiliary memory 3 is stored in the code memory 5.
- the memory cells 5, 8, 10, 11 and 13 in the line or row memory 4 are pointing in the same way as above, to corresponding addresses ADDRESS 2, ADDRESS 4, ADDRESS 3, ADDRESS 5 and ADDRESS 6, respectively, in the code memory 5.
- the symbol code is stored in analogy with the above, for the first symbol- on respective pixel row.
- the symbol codes for possibly additional symbols on respective pixel row are stored after the first symbol code in corresponding memory segments of the code memory 5. It is to be noted that these memory segments do not necessarily have to be in the same consecutive order as the pixel rows.
- Fig. 1 This has been indicated in Fig. 1 by the pointer in the row memory 4 corresponding to pixel row 8, pointing to ADDRESS 4 in the code memory 5, which address is higher than the address for the memory cell ADDRESS 3 corresponding to the pixel row 10.
- the physical locus of the memory segment of the code memory 5 is, thus, not of importance.
- the length of the memory segments can be variable, depending on the number of symbols on the different pixel rows. To indicate that there are no more symbols present on a pixel row, corresponding memory segments of the code memory 5 can be ended by a terminal code, for example the code 0. Additionally, it is possible to represent the memory segments as lists in for example the programming language LISP.
- the code memory 5 is organized in consecutive memory segments, the length of which corresponds to the maximum number of symbols that normally can be expected on a row.
- the last memory cell in the corresponding memory segment of the code memory 5 can contain a pointer to an address outside of the ordinary code memory, where a new memory segment is reserved for the last symbol that normally should have been contained in the original memory segment and for the remaining symbols.
- each row can contain maximally four symbols, that is for each memory segment there are reserved four memory cells in the code memory 5. If a row contains fewer than four symbols, the corresponding memory segment of the code memory is ended by a terminal code, for example zero as above, after the symbol code for the last symbol on the row. The remaining memory cells of the segment will then be unutilized.
- Fig. 2 shows a block diagram of this embodiment. The structure and function of it will be described with help of flow charts in Figs. 3 and 4, which show sequential writing and reading, respectively, of symbols.
- the processor 1 receives write and read commands as well as data from a computer. Through an address and control bus as well as through a data bus, the processor 1 controls data flow to and from, respectively, the image memory 2.
- the image which is shown, is read from the image memory by means of an image processor 6 and displayed via line buffers 7 on a display unit 8.
- the coordinates of the first symbol are loaded by a processor 1 in a register 9 with the register fields Y, X, and X'. This processor 1 also loads the symbol code in a data register 12.
- an auxiliary or shadow memory processor 15 reads the contents of a code memory pointer 10. It contains a pointer to the first memory cell in the next available memory segment of the code memory 5.
- the row or line memory cell corresponding to the contents of register field Y is filled by the auxiliary memory processor 15 with the contents of the code memory pointer 10, that is this cell in the row memory 4 will point to the first memory cell in the next available memory segment of the code memory 5.
- the auxiliary memory processor 15 also writes the contents of the code memory pointer into an address register 11 designated always to point to the current memory cell of the concerned memory segment.
- the code memory pointer 10 is then up-dated, so that it points to the next available memory segment of the code memory. Under the above given conditions, four is allways added to the code memory pointer, since each row is assumed to have maximally four symbols.
- the processor 1 to write the bit pattern of the current symbol into the image or refresh memory 2.
- the code for the symbol is stored in a data register 12.
- the display device has a symbol memory 13, in which there is stored information regarding the bit patterns corresponding to the available symbol codes.
- An appropriate structure of this information and a method to write the bit pattern for the concerned symbol are described in the U .S. patent 4.131.883 and is not an object of this invention.
- the advantage with this method is that symbols of arbitrary size and form can be positioned anywhere in the image, that is with pixel resolution.
- the method is based on the use of an address transformation, the symbol code being inputted in an address transformation memory 14 (Fig. 1) which converts the code to the address in the symbol memory 13 where the definition of the symbol starts. In this way it will be possible to reserve different size memory areas in the symbol memory for the different symbols.
- the symbol After the bit pattern o.f the symbol has been written into the image or refresh memory, the symbol is ready for a display on the display unit.
- the auxiliary or shadow memory processor 15 writes the code of the symbol into the code memory 5 in the memory cell pointed to by the address register 11. Additionally, the position of the symbol is indicated in the image by a digit 1 being written into the auxiliary memory in a bit position given by the contents in register 9.
- the auxiliary memory processor 15 then signals to the processor 1 that the symbol has been written, and, in addition, wants to know if more symbols are to be written. If that is not the case, the writing sequence is over. Otherwise the processing will continue to the next block of the flow chart of Fig. 3. At this step, the processor 1 writes the coordinates of the next symbol in register 9 and its code in data register 12. Thereafter the processor 1 signals to the auxiliary memory processor 15 that there is a new symbol to be processed.
- the processor 15 checks if the next symbol belongs to the same pixel row, that is if it has the same Y-coordinate as the previous symbol. If that is the case, 1 is added to the contents of address register 11, so that this register points to the next memory cell in the concerned memory segment of the code memory 5. Then the steps: writing of the bit pattern into image memory 2, writing of the code into code memory 5 and writing of the position into auxiliary memory 3 for the new symbol, are repeated. This procedure is repeated until all symbols on the concerned row have been processed.
- the reason for dividing the register 9 into three fields Y, X and X' will be further explained.
- the whole register 9 can have a length of 8 bits (one byte).
- the Y-field or Y-register can occupy four of these bits, the X-field or X-register can occupy one bit, and the X'-field or X'-register three bits.
- the reason for dividing the register into these fields is that
- the register fields X and Y in the register 9 are cleared by the auxiliary memory processor 15, that is the reading starts on the first pixel row.
- the contents of the fields X, Y of register 9 are now used for reference to the first memory cell of the auxiliary memory 3, for example with the length of 1 byte or 8 bits.
- the contents of this first memory cell are stored in an X"-register 14.
- a test is made in a priority decoder 16 whether this register contains 1 (one) in . any position, that is if this memory cell contains any symbol mark. If that is the case, the first memory cell in the row memory 4 is read. This cell contains the address to the first symbol code in the code memory 5 for this pixel row. This address is stored in the address register 11.
- the address register 11 is utilized for reading the symbol code of this address.
- the symbol code is stored in data register 12.
- the processor now has all necessary information on the concerned symbol, namely the coordinates of the symbol in the X-, Y- and X'-fields of register 9 and the symbol code in the data register.
- the auxiliary memory processor 15 now waits until the processor 1 has read this information.
- the most significant bit of the X"-register 14 is cleared, that is the bit that corresponds to the first pixel position on the row. Because, if there is a symbol in this position, this symbol has allready been processed in the previous step. It is thereafter tested if more symbols are marked in the first memory cell of the auxiliary memory, that is if the X"-register contains a one (1). If that is the case, 1 is added to the address register and the next symbol is read from the code memory 5 according to the above.
- the X"-register will not contain any more ones (1), which means that there are no more symbols present in this memory cell of the auxiliary memory 3. Then a one (1) is added to the fields X, Y, of register 9, that is the register is up-dated for the access of the next memory cell in the auxiliary memory 3.
- the erasing occurs in two steps. In the first step a symbol is pointed to and identified, and in the second step the identified symbol is erased. Initially the identifying process will be described more in detail, with reference to Figs. 5a and 5b.
- Figs. 5a and 5b show the auxiliary memory 3 and contain the same bit pattern as in Fig. 1.
- the operator works against the screen, he has a cursor for help. He can move the cursor with help of keys, mouse, roll ball, light pen or similar.
- the operator has moved the cursor to the coordinates 9, 11 (X, Y), as in Fig. 5a.
- the bit pattern hit by the operator belongs to the symbol that is indicated in the point 11, 10 (X, Y).
- the operator now gives the order that the symbol be erased by for instance pushing an erase key.
- the system first has to check to which symbol the operator refers. First it is checked whether there is a bit mark in the auxiliary memory 3 with the same coordinates as the cursor. That is not the case in the above example. This is then followed by a corresponding check of coordinates around the cursor position. The consecutive'order for these tests has been indicated in Fig. 5b. From the same figure it becomes evident that the search takes place in a spiral around the cursor position. In the example the spiral search occurs counter-clockwise, but it could as well have occurred clock-wise. Furthermore, it is realized that the search does not necessarily have to be carried out in a spiral around the cursor position, but that any algorithm that guarantees that all coordinates are checked, is applicable.
- the check condition will for the first time be fullfilled in the coordinates 7, 11, which in Fig. 5b has been given test number 10.
- the symbol code for this point is found in the code memory 5.
- the symbol memory 13 is searched for checking whether the cursor is situated within the bit pattern of the symbol.
- the examination of the bit pattern of the symbol can be done for example according to what has been disclosed by U.S. patent 4.131.883.
- the cursor will not be within the concerned symbol, and the search will continue. It is not until in position 11, 10 (indicated in Fig. 5b by test number 19) that the next "hit" is received, and there it also appears that the cursor position is within the bit pattern of the symbol.
- the desired erasing can take place by writing zeros (0) into the image memory, auxiliary memory and code memory for the concerned symbol.
- An erasing in the image memory can be done for example according to what has been disclosed by U.S. patent 4.131.883.
- the new symbol is written into the image memory in the location of the erased symbol. This is done according to the flow chart of Fig. 3.
- The-known method requires: for storing the position and code of the symbols in the image.
- at least one further bit plane is required for storing the bit pattern of the symbols for display.
- each memory cell contains 2 bytes or one word
- the following is required: that is, only 11 % of the earlier storage requirement.
- this case has the storage requirement for storing the bit pattern of the symbols been included. This requirement is the same in both cases.
- the processor 1 and auxiliary memory processor 15 may, for example,comprise one of the processors Z 80, 6809.
- the processors 68000 or 80286 would be more appropriate.
- both processors comprise the same microprocessor. ⁇ Also combinations thereof are conceivable.
- the row memory 4 may instead be comprised of a column memory including a pointer to a code memory for those columns in the auxiliary memory 3 that include symbol marks.
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Controls And Circuits For Display Device (AREA)
Abstract
Description
- Most so-called graphical display devices have a pixel oriented image memory, that is an image memory divided into one bit for each picture element or pixel on the display screen. A display device with the resolution of 1024 x 1024 picture elements thus has an image memory of 1024 x 1024-Jbits. If the device can show several colours there are several such image memories of 1024 x 1024 bits, one for each basic colour. These image memories for the different basic colours are usually called bit planes. This set of bit planes forms the total image memory.
- When information in the image memory is to be shown on the screen, the contents are read at the rate of the sweep of the electron beam. A
digit 1 in the image memory results in the lighting up of a corresponding pixel, so that a lit point is shown at the corresponding coordinate. A zero in the image memory results accordingly in an extinguished pixel on the screen. Thus, it is understood that an image memory containing exclusively ones (1) results in a fully lit image, while an image memory containing exclusively zeros results in a completely extinguished image. - For a colour screen, that is a display device with an image memory consisting of several bit planes according to the above, corresponding bit positions are combined in all bit or image planes. If the bit positions in all image planes that belong to the pixel in question include zeros an extinguished pixel is shown. If only one bit plane includes a
digit 1 for the bit position corresponding to the concerned pixel, a lit pixel is shown in an associated basic colour. If several bit planes include ones (1) in bit positions corresponding to the concerned pixel, a lit pixel is shown in a colour constituting a combination of associated basic colours. To simplify the description of the present invention, in the following, if nothing else is stated, only image memories including one bit plane, will be regarded, that is display devices showing one colour only for lit picture elements. - In the display device of the above type there is no interconnection between the bits in the image memory. Each bit is completely independent of all the other bits in the image memory. For example, after the bit pattern of a symbol, such as &, once is written into the image memory, it is, of course, possible to show the point pattern for & on the display screen as long as desired. But the information regarding what bits belong together in the pattern, was lost when the bits were written into the image memory. Thus, it is not a simple task to reinterpret the information that is stored in the image memory. Such a display device is acceptable if the information only is to be presented or copied. If, on the other hand, the display device is to be used in a dialog with the user, where it is required that the computer should be able to identify which symbol the user is pointing at with a cursor or a light pen to replace a symbol with another one, read the information contents (symbol codes) or remove symbols, such a display device would not be acceptable.
- A known method to solve this problem consists of extending the image memory with several bit planes, as with a colour screen according to the above. In such a case one bit plane includes the actual image. The other bit planes are used to store the symbol codes for the symbols of the image to which the different picture elements belong. This is done by storing the symbol code in the bit positions of the bit plane that corresponds to the position of the concerned picture element, that is in principle in the same way as the coulour coding above. In this way it is possible to mark each picture element on the screen with the symbol code for the symbol to which the picture element or pixel belongs. A drawback with this method is that it is extremely storage consuming. This can be illustrated by assuming we have a display device with a resolution of 1024 x 1024 pixels. This requires an image memory of 1024 x 1024 bits, that is 1 Mbit. Furthermore, we assume we have a set of symbols of 1024 different symbols, that is 1024 symbol codes, which requires 10 bits per code. It should be possible to position each of these symbols anywhere on the screen, that is using a so-called "pixel resolution". This requires in its turn that each pixel must be allocated 10 bits for the storing of symbol codes. The image memory, thus, has to be extended by 10 bit planes, that is incorporating totally 11 Mbits. However, normally only part of the image is filled with symbols, that is most of the 1024 x 1024 positions on the screen are either empty or include purely graphical, non-symbolic information. This spells big storage waste.
- The present invention concerns a display device, wherein this storage requirement can be reduced on the order of 80 to 90 %.
- The characteristic features of the invention will be apparent from the accompanying
patent claim 1. - Another advantage which is also achieved by the display device according to the invention is increased rapidity, since only one pixel in each symbol needs to be "marked" with the symbol code.
- The principles of the invention will now be described below with reference to one simple embodiment, which is illustrated in the appended drawing, wherein:
- Fig. 1 shows the principle of a display device according to the present invention,
- Fig. 2 shows a block diagram of an embodiment according to the invention,
- Fig. 3 shows a flow chart for writing a symbol,
- Fig. 4 shows a flow chart for reading the symbols stored in the image memory,
- Fig. 5 shows the principle for identifying an appointed symbol, and
- Fig. 6 shows a flow chart for erasing a symbol.
- Fig. 1 shows the principle of a display device according to the present invention. A computer D gives orders to a
processor 1 for writing or reading (Fig. 2). This processor writes symbols into animage memory 2 and anauxiliary memory 3, respectively reads symbols from theauxiliary memory 3. - The
image memory 2 consists of a pixel oriented image memory including as many bit planes as is required for a binary representation of the desired amount of colours. For the sake of simplicity, there is assumed a monochrome display device, that is only one bit plane in the image memory. It is to be understood, however, that the invention is not restricted to this case only, but that the below described principles can also be applied for an arbitrary number of colours. - The
auxiliary memory 3 is organized in the same way as a bit plane in theimage memory 2. Each time theprocessor 1 writes a symbol into the image memory 2 adigit 1 is written into the auxiliary orshadow memory 3 in a position that defines the symbol position in the image. This position usually, but not allways, corresponds to one of the picture elements that make up the symbol, such as the lower left corner of the symbol. Sometimes, for example in the case of exponents, it can, however, be appropriate to define the position of the symbol by means of a picture element that is lying outside, in the example preferably below the symbol. Through this choice, the reading of text information is simplified, since the position of the symbols in the auxiliary memory can be made to lie on the same row independent of the symbols being ordinary letters, exponents or indices. As the position of the symbol in the image is independent of the colour of the symbol, it is realized that only one bit plane is required for the auxiliary orshadow memory 3, even in a case where the image memory includes several bit planes for displaying colour images. - To simplify the description of the present invention Fig. 1 . shows a very
limited image memory 2 of 16 x 16 bits. From the above discussion it is realized that theauxiliary memory 3 will then also include 16 x 16 bits. - The
auxiliary memory 3 is allocated a line orrow memory 4. - Each memory cell in the line or
row memory 4 corresponds to a pixel row in theauxiliary memory 3, that is for the case shown in Fig. 1 the row memory includes 16 memory cells. Those memory cells of therow memory 4, which correspond to a row in the . auxiliary memory that contains at least onedigit 1 indicating that at least one symbol has been placed on the corresponding pixel row, contain in their turn a pointer or address to a memory cell in acode memory 5. Thecode memory 5 contains symbol codes corresponding to the symbols included in the image, and the positions of which in the image are indicated by the ones (1) in theauxiliary memory 3. Thecode memory 5 is divided in the following way. The code for the first symbol on a pixel row in theauxiliary memory 3 is always stored in the cell of thecode memory 5 to which the memory cell in therow memory 4 corresponding to that pixel row is pointing. If on this pixel row additional symbols have been marked in theauxiliary memory 3, their symbol codes will be placed in the same order as on the pixel row in the consecutive memory cells of thecode memory 5. When there are no more symbols present on the concerned pixel row, a special code, such as thecode 0, can be stored in the following memory cell of thecode memory 5, in order to indicate this fact. - In the example according to Fig. 1 the
pixel rows auxiliary memory 3. The line orrow memory 4 therefore contains no pointers to thecode memory 5. To indicate that fact, zeros have been stored in thecorresponding memory cells row memory 4.Row 2 in theauxiliary memory 3, on the other hand, contains position marking ones (1) for three symbols in theX-coordinates row memory 4 contains a pointer to thememory cell ADDRESS 1 of the code memory. This memory cell contains the symbol code for the first symbol onrow 2 in theauxiliary memory 4 with the X-coordinate 2. The next memory cell in thecode memory 5 contains the symbol code for the next symbol on this row with the X-coordinate 5. Thereafter the symbol code for the symbol with the X-coordinate 12 onrow 2 in theauxiliary memory 3 is stored in thecode memory 5. - Since symbols have been marked on the
pixel rows auxiliary memory 3, thememory cells row memory 4 are pointing in the same way as above, to corresponding addresses ADDRESS 2,ADDRESS 4,ADDRESS 3,ADDRESS 5 andADDRESS 6, respectively, in thecode memory 5. In these memory cells, the address of which defines the starting point for those memory segments in thecode memory 5 that correspond to pixel rows containing symbols, the symbol code is stored in analogy with the above, for the first symbol- on respective pixel row. The symbol codes for possibly additional symbols on respective pixel row are stored after the first symbol code in corresponding memory segments of thecode memory 5. It is to be noted that these memory segments do not necessarily have to be in the same consecutive order as the pixel rows. This has been indicated in Fig. 1 by the pointer in therow memory 4 corresponding topixel row 8, pointing toADDRESS 4 in thecode memory 5, which address is higher than the address for thememory cell ADDRESS 3 corresponding to thepixel row 10. The physical locus of the memory segment of thecode memory 5 is, thus, not of importance. Furthermore, the length of the memory segments can be variable, depending on the number of symbols on the different pixel rows. To indicate that there are no more symbols present on a pixel row, corresponding memory segments of thecode memory 5 can be ended by a terminal code, for example thecode 0. Additionally, it is possible to represent the memory segments as lists in for example the programming language LISP. For each memory cell with a symbol code there is a pointer connected to the following symbol code for the concerned pixel row. The memory cell of the last symbol code is connected to a pointer to a special terminal cell, which is common to all memory segments and which indicates that no additional symbols are present on the row. Such an organization of thecode memory 5 is called dynamical memory allocation. - In accordance with a particularly simple embodiment of the invention, the
code memory 5 is organized in consecutive memory segments, the length of which corresponds to the maximum number of symbols that normally can be expected on a row. In this case, if still more symbols are to be contained on a pixel row, the last memory cell in the corresponding memory segment of thecode memory 5 can contain a pointer to an address outside of the ordinary code memory, where a new memory segment is reserved for the last symbol that normally should have been contained in the original memory segment and for the remaining symbols. For the below description of a simple embodiment of the invention according to Fig. 2, it is assumed, for the simplicity of the discussion, that each row can contain maximally four symbols, that is for each memory segment there are reserved four memory cells in thecode memory 5. If a row contains fewer than four symbols, the corresponding memory segment of the code memory is ended by a terminal code, for example zero as above, after the symbol code for the last symbol on the row. The remaining memory cells of the segment will then be unutilized. - A simple embodiment of the invention will now be described with reference to Figs. 2-6.
- Fig. 2 shows a block diagram of this embodiment. The structure and function of it will be described with help of flow charts in Figs. 3 and 4, which show sequential writing and reading, respectively, of symbols.
- The
processor 1 receives write and read commands as well as data from a computer. Through an address and control bus as well as through a data bus, theprocessor 1 controls data flow to and from, respectively, theimage memory 2. The image, which is shown, is read from the image memory by means of animage processor 6 and displayed via line buffers 7 on adisplay unit 8. - Initially, sequential writing of symbols is described, with reference to Figs. 2 and 3.
- The coordinates of the first symbol are loaded by a
processor 1 in aregister 9 with the register fields Y, X, and X'. Thisprocessor 1 also loads the symbol code in adata register 12. - Thereafter, an auxiliary or
shadow memory processor 15 reads the contents of acode memory pointer 10. It contains a pointer to the first memory cell in the next available memory segment of thecode memory 5. The row or line memory cell corresponding to the contents of register field Y is filled by theauxiliary memory processor 15 with the contents of thecode memory pointer 10, that is this cell in therow memory 4 will point to the first memory cell in the next available memory segment of thecode memory 5. Theauxiliary memory processor 15 also writes the contents of the code memory pointer into anaddress register 11 designated always to point to the current memory cell of the concerned memory segment. Thecode memory pointer 10 is then up-dated, so that it points to the next available memory segment of the code memory. Under the above given conditions, four is allways added to the code memory pointer, since each row is assumed to have maximally four symbols. - Now it is time for the
processor 1 to write the bit pattern of the current symbol into the image or refreshmemory 2. The code for the symbol is stored in adata register 12. To be able to transfer the bit pattern corresponding to this code to the image or refreshmemory 2, the display device has asymbol memory 13, in which there is stored information regarding the bit patterns corresponding to the available symbol codes. An appropriate structure of this information and a method to write the bit pattern for the concerned symbol are described in the U.S. patent 4.131.883 and is not an object of this invention. The advantage with this method is that symbols of arbitrary size and form can be positioned anywhere in the image, that is with pixel resolution. The method is based on the use of an address transformation, the symbol code being inputted in an address transformation memory 14 (Fig. 1) which converts the code to the address in thesymbol memory 13 where the definition of the symbol starts. In this way it will be possible to reserve different size memory areas in the symbol memory for the different symbols. - After the bit pattern o.f the symbol has been written into the image or refresh memory, the symbol is ready for a display on the display unit. For the information regarding presence and position of the symbol in the image not to get lost, the auxiliary or
shadow memory processor 15 writes the code of the symbol into thecode memory 5 in the memory cell pointed to by theaddress register 11. Additionally, the position of the symbol is indicated in the image by adigit 1 being written into the auxiliary memory in a bit position given by the contents inregister 9. - The
auxiliary memory processor 15 then signals to theprocessor 1 that the symbol has been written, and, in addition, wants to know if more symbols are to be written. If that is not the case, the writing sequence is over. Otherwise the processing will continue to the next block of the flow chart of Fig. 3. At this step, theprocessor 1 writes the coordinates of the next symbol inregister 9 and its code in data register 12. Thereafter theprocessor 1 signals to theauxiliary memory processor 15 that there is a new symbol to be processed. - In the next step the
processor 15 checks if the next symbol belongs to the same pixel row, that is if it has the same Y-coordinate as the previous symbol. If that is the case, 1 is added to the contents ofaddress register 11, so that this register points to the next memory cell in the concerned memory segment of thecode memory 5. Then the steps: writing of the bit pattern intoimage memory 2, writing of the code intocode memory 5 and writing of the position intoauxiliary memory 3 for the new symbol, are repeated. This procedure is repeated until all symbols on the concerned row have been processed. - If the symbol does not have the same Y-coordinate as the previous symbol, the following steps are instead carried out: reading of the contents of
code memory pointer 10, writing of the address intorow memory 4, writing of address intoaddress register 11, writing of the bit pattern intoimage memory 2, writing of the code intocode memory 5 and writing of the position intoauxiliary memory 3. - When all symbols on the last pixel row have been processed, the block "END" is finally reached.
- A sequential reading of symbols from the memory will now be described, with reference to Figs. 2 and 4.
- Before the description of a sequential reading starts, the reason for dividing the
register 9 into three fields Y, X and X' will be further explained. In the present example (a display device of 16 x 16 pixels) thewhole register 9 can have a length of 8 bits (one byte). The Y-field or Y-register can occupy four of these bits, the X-field or X-register can occupy one bit, and the X'-field or X'-register three bits. The reason for dividing the register into these fields is that - Y suffices as address to the
row memory 4, - Y + X is needed as address to the auxiliary or
shadow memory 3, and - Y + X + X' (that is the whole register 9) comprises the complete coordinate information of the symbol.
- First the register fields X and Y in the
register 9 are cleared by theauxiliary memory processor 15, that is the reading starts on the first pixel row. The contents of the fields X, Y ofregister 9 are now used for reference to the first memory cell of theauxiliary memory 3, for example with the length of 1 byte or 8 bits. The contents of this first memory cell are stored in an X"-register 14. Thereafter a test is made in apriority decoder 16 whether this register contains 1 (one) in . any position, that is if this memory cell contains any symbol mark. If that is the case, the first memory cell in therow memory 4 is read. This cell contains the address to the first symbol code in thecode memory 5 for this pixel row. This address is stored in theaddress register 11. After that, theaddress register 11 is utilized for reading the symbol code of this address. The symbol code is stored in data register 12. The processor now has all necessary information on the concerned symbol, namely the coordinates of the symbol in the X-, Y- and X'-fields ofregister 9 and the symbol code in the data register. Theauxiliary memory processor 15 now waits until theprocessor 1 has read this information. - Thereafter, the most significant bit of the X"-
register 14 is cleared, that is the bit that corresponds to the first pixel position on the row. Because, if there is a symbol in this position, this symbol has allready been processed in the previous step. It is thereafter tested if more symbols are marked in the first memory cell of the auxiliary memory, that is if the X"-register contains a one (1). If that is the case, 1 is added to the address register and the next symbol is read from thecode memory 5 according to the above. - Eventually the X"-register will not contain any more ones (1), which means that there are no more symbols present in this memory cell of the
auxiliary memory 3. Then a one (1) is added to the fields X, Y, ofregister 9, that is the register is up-dated for the access of the next memory cell in theauxiliary memory 3. - The above process is repeated until the X-, Y-fields of
register 9 contain solely ones (1). At this stage the last memory cell in theauxiliary memory 3 has been reached. After having tested this memory cell as well with regard to the contents of ones (1), the sequential reading is terminated. - The erasing of a symbol is now described with reference to Figs. 5 and 6.
- The erasing occurs in two steps. In the first step a symbol is pointed to and identified, and in the second step the identified symbol is erased. Initially the identifying process will be described more in detail, with reference to Figs. 5a and 5b.
- Figs. 5a and 5b show the
auxiliary memory 3 and contain the same bit pattern as in Fig. 1. When the operator works against the screen, he has a cursor for help. He can move the cursor with help of keys, mouse, roll ball, light pen or similar. Suppose, the operator has moved the cursor to thecoordinates 9, 11 (X, Y), as in Fig. 5a. There he has "hit" a symbol's bit pattern. For the sake of simplicity, we assume that the bit pattern hit by the operator belongs to the symbol that is indicated in thepoint 11, 10 (X, Y). The operator now gives the order that the symbol be erased by for instance pushing an erase key. - Since it is not certain that the position of the cursor in the image coincides with the symbol indication in the
auxiliary memory 3 for the concerned symbol (as in this case), the system first has to check to which symbol the operator refers. First it is checked whether there is a bit mark in theauxiliary memory 3 with the same coordinates as the cursor. That is not the case in the above example. This is then followed by a corresponding check of coordinates around the cursor position. The consecutive'order for these tests has been indicated in Fig. 5b. From the same figure it becomes evident that the search takes place in a spiral around the cursor position. In the example the spiral search occurs counter-clockwise, but it could as well have occurred clock-wise. Furthermore, it is realized that the search does not necessarily have to be carried out in a spiral around the cursor position, but that any algorithm that guarantees that all coordinates are checked, is applicable. - In the above example the check condition will for the first time be fullfilled in the
coordinates test number 10. The symbol code for this point is found in thecode memory 5. Now thesymbol memory 13 is searched for checking whether the cursor is situated within the bit pattern of the symbol. The examination of the bit pattern of the symbol can be done for example according to what has been disclosed by U.S. patent 4.131.883. In the shown example the cursor will not be within the concerned symbol, and the search will continue. It is not until inposition 11, 10 (indicated in Fig. 5b by test number 19) that the next "hit" is received, and there it also appears that the cursor position is within the bit pattern of the symbol. Since the correct symbol now has been identified, the desired erasing can take place by writing zeros (0) into the image memory, auxiliary memory and code memory for the concerned symbol. An erasing in the image memory can be done for example according to what has been disclosed by U.S. patent 4.131.883. - The above described search schedule is described in detail in the flow chart of Fig. 6. As is evident from Fig. 6, the cursor can, after identifying an appointed symbol, be moved to the symbol indication in the
auxiliary memory 3, if this is desirable. This step is, however, not necessary. - If instead of just erasing the symbol, it is desired to replace it by a new symbol, the new symbol is written into the image memory in the location of the erased symbol. This is done according to the flow chart of Fig. 3.
- In the above, the invention has been described with reference to an example of an embodiment with very low resolution. Such a poor resolution (16 x 16 pixels) is, of course, not applicable in practice. Below will therefore be discussed the storage requirement of a more realistic resolution of 1024 x 1024 pixels. Furthermore, a symbol set of 4096 symbols is assumed. It is also assumed that an image maximally contains approximately 128 rows of 160 symbols. Under these conditions the following comparison with the known method for symbol representation and the present invention, is relevant.
-
- In accordance with the invention and under the same conditions (each memory cell contains 2 bytes or one word) the following is required:
- From the above comparison it is appreciated that the invention brings about an important saving as for storage requirement. For a higher resolution and/or bigger symbol sets, this saving will be even bigger.
- It has also proven that the present invention leads to a considerable speed-up of the display device processing in relation to the prior art.
- As regards hardware, the
processor 1 andauxiliary memory processor 15 may, for example,comprise one of the processors Z80, 6809. For a higher image resolution for example one of the processors 68000 or 80286 would be more appropriate. However, it is not necessary that both processors comprise the same microprocessor.< Also combinations thereof are conceivable. - For explanatory reasons only a simple embodiment of the invention has been described above, with reference to the Figures. It is to be realized that the invention can be modified in many ways within the scope of the inventive idea, which is only restricted by the appended patent claims. One realizes for example that the
row memory 4 may instead be comprised of a column memory including a pointer to a code memory for those columns in theauxiliary memory 3 that include symbol marks.
Claims (4)
characterized by
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
SE8501766A SE454224B (en) | 1985-04-10 | 1985-04-10 | SCREEN UNIT FOR PRESENTATION OF GRAPHIC INFORMATION |
SE8501766 | 1985-04-10 |
Publications (2)
Publication Number | Publication Date |
---|---|
EP0197907A1 true EP0197907A1 (en) | 1986-10-15 |
EP0197907B1 EP0197907B1 (en) | 1990-08-29 |
Family
ID=20359824
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
EP86850109A Expired EP0197907B1 (en) | 1985-04-10 | 1986-03-26 | Display device |
Country Status (6)
Country | Link |
---|---|
US (1) | US4780713A (en) |
EP (1) | EP0197907B1 (en) |
JP (1) | JPS61236591A (en) |
DE (1) | DE3673678D1 (en) |
SE (1) | SE454224B (en) |
SG (1) | SG90591G (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0284904A2 (en) * | 1987-04-02 | 1988-10-05 | International Business Machines Corporation | Display system with symbol font memory |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH087569B2 (en) * | 1985-06-21 | 1996-01-29 | 株式会社日立製作所 | Display controller |
US4912658A (en) * | 1986-04-18 | 1990-03-27 | Advanced Micro Devices, Inc. | Method and apparatus for addressing video RAMS and refreshing a video monitor with a variable resolution |
US4965670A (en) * | 1989-08-15 | 1990-10-23 | Research, Incorporated | Adjustable overlay display controller |
US7164369B2 (en) * | 2001-06-19 | 2007-01-16 | Sharp Laboratories Of America, Inc. | System for improving storage efficiency of digital files |
US7653626B2 (en) * | 2006-11-03 | 2010-01-26 | Mediatek Inc. | Method for detecting regularly appearing patterns |
US10333696B2 (en) | 2015-01-12 | 2019-06-25 | X-Prime, Inc. | Systems and methods for implementing an efficient, scalable homomorphic transformation of encrypted data with minimal data expansion and improved processing efficiency |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2059727A (en) * | 1979-09-27 | 1981-04-23 | Ibm | Digital data display system |
WO1983002509A1 (en) * | 1982-01-18 | 1983-07-21 | Honeywell Inc | Method and apparatus for controlling the display of a computer generated raster graphic system |
SE431597B (en) * | 1982-06-24 | 1984-02-13 | Asea Ab | DEVICE FOR PRESENTING GRAPHIC INFORMATION IN THE FORM OF SYMBOLS OF ANY SIZE ON A SCREEN SCREEN |
US4509043A (en) * | 1982-04-12 | 1985-04-02 | Tektronix, Inc. | Method and apparatus for displaying images |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
SE397014B (en) * | 1976-01-20 | 1977-10-10 | Asea Ab | CHARACTER GENERATOR |
US4074254A (en) * | 1976-07-22 | 1978-02-14 | International Business Machines Corporation | Xy addressable and updateable compressed video refresh buffer for digital tv display |
SE423936B (en) * | 1980-01-16 | 1982-06-14 | Asea Ab | PROCEDURE FOR PRESENTING GRAPHIC INFORMATION AND DEVICE FOR IMPLEMENTATION OF THE PROCEDURE |
US4660029A (en) * | 1984-07-06 | 1987-04-21 | Tektronix, Inc. | Method of providing raster information for a graphics display employing linked lists |
-
1985
- 1985-04-10 SE SE8501766A patent/SE454224B/en not_active IP Right Cessation
-
1986
- 1986-03-26 DE DE8686850109T patent/DE3673678D1/en not_active Expired - Lifetime
- 1986-03-26 EP EP86850109A patent/EP0197907B1/en not_active Expired
- 1986-03-28 US US06/845,584 patent/US4780713A/en not_active Expired - Fee Related
- 1986-04-07 JP JP61079889A patent/JPS61236591A/en active Granted
-
1991
- 1991-10-28 SG SG905/91A patent/SG90591G/en unknown
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2059727A (en) * | 1979-09-27 | 1981-04-23 | Ibm | Digital data display system |
WO1983002509A1 (en) * | 1982-01-18 | 1983-07-21 | Honeywell Inc | Method and apparatus for controlling the display of a computer generated raster graphic system |
US4509043A (en) * | 1982-04-12 | 1985-04-02 | Tektronix, Inc. | Method and apparatus for displaying images |
SE431597B (en) * | 1982-06-24 | 1984-02-13 | Asea Ab | DEVICE FOR PRESENTING GRAPHIC INFORMATION IN THE FORM OF SYMBOLS OF ANY SIZE ON A SCREEN SCREEN |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0284904A2 (en) * | 1987-04-02 | 1988-10-05 | International Business Machines Corporation | Display system with symbol font memory |
EP0284904A3 (en) * | 1987-04-02 | 1990-09-19 | International Business Machines Corporation | Display system with symbol font memory |
Also Published As
Publication number | Publication date |
---|---|
JPS61236591A (en) | 1986-10-21 |
EP0197907B1 (en) | 1990-08-29 |
JPH0577076B2 (en) | 1993-10-25 |
SE8501766D0 (en) | 1985-04-10 |
SE454224B (en) | 1988-04-11 |
SE8501766L (en) | 1986-10-11 |
US4780713A (en) | 1988-10-25 |
SG90591G (en) | 1991-12-13 |
DE3673678D1 (en) | 1990-10-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4278973A (en) | Video display terminal with partitioned screen | |
US4688033A (en) | Merged data storage panel display | |
US3906480A (en) | Digital television display system employing coded vector graphics | |
US4074254A (en) | Xy addressable and updateable compressed video refresh buffer for digital tv display | |
CA1209244A (en) | Compaction and decompaction of non-coded information bearing signals | |
CA2012798C (en) | Digital image overlay system and method | |
US4815010A (en) | Virtual memory image controller for multi-windowing | |
US4633432A (en) | System for transferring document data to non-volatile memory in a word processing apparatus | |
CA1085510A (en) | Compressed refresh buffer | |
GB1153025A (en) | Electronic Calculator | |
EP0197907B1 (en) | Display device | |
JPS60147884A (en) | Image rotation method | |
US4247906A (en) | Text editing system having flexible repetitive operation capability | |
EP0438808A2 (en) | Microprocessor incorporating cache memory | |
US4918429A (en) | Display system with symbol font memory | |
EP0121126A2 (en) | Character generator | |
US4225943A (en) | Display system for horizontally segmenting text | |
US4591850A (en) | Auxiliary memory in a video display unit of the raster scan type | |
US5563626A (en) | Smooth text display system | |
JPH0562348B2 (en) | ||
US5317684A (en) | Method of storing character data in a display device | |
CA1229439A (en) | Data display system | |
EP0189567B1 (en) | Color display system | |
EP0422294A1 (en) | Display system | |
WO1981002487A1 (en) | Graphics display system and method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PUAI | Public reference made under article 153(3) epc to a published international application that has entered the european phase |
Free format text: ORIGINAL CODE: 0009012 |
|
AK | Designated contracting states |
Kind code of ref document: A1 Designated state(s): DE FR GB |
|
17P | Request for examination filed |
Effective date: 19870408 |
|
17Q | First examination report despatched |
Effective date: 19890509 |
|
GRAA | (expected) grant |
Free format text: ORIGINAL CODE: 0009210 |
|
AK | Designated contracting states |
Kind code of ref document: B1 Designated state(s): DE FR GB |
|
REF | Corresponds to: |
Ref document number: 3673678 Country of ref document: DE Date of ref document: 19901004 |
|
ET | Fr: translation filed | ||
PLBE | No opposition filed within time limit |
Free format text: ORIGINAL CODE: 0009261 |
|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: NO OPPOSITION FILED WITHIN TIME LIMIT |
|
26N | No opposition filed | ||
PGFP | Annual fee paid to national office [announced via postgrant information from national office to epo] |
Ref country code: GB Payment date: 19950322 Year of fee payment: 10 |
|
PGFP | Annual fee paid to national office [announced via postgrant information from national office to epo] |
Ref country code: FR Payment date: 19950328 Year of fee payment: 10 |
|
PGFP | Annual fee paid to national office [announced via postgrant information from national office to epo] |
Ref country code: DE Payment date: 19950524 Year of fee payment: 10 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: GB Effective date: 19960326 |
|
GBPC | Gb: european patent ceased through non-payment of renewal fee |
Effective date: 19960326 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: FR Effective date: 19961129 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: DE Effective date: 19961203 |
|
REG | Reference to a national code |
Ref country code: FR Ref legal event code: ST |