Display control system and method

Abstract: A display controller having a memory for storing data to be displayed on a display, a unit for supplying data to the memory, a first flag group for indicating a line on the display screen of the display corresponding to data supplied by the data supplying unit, a second flag group for indicating a plurality of the first flag groups, a detector for detecting the status of the display, a selector for selecting the first or second flag in accordance with the status of the display detected by the detector, and a display control unit for reading data designated by the first or second flag selected by the selector from the memory, and displaying the data on the display.

Description: The present invention relates to a display control system and method, and more particularly to a display control system and method for controlling a display such as a ferroelectric liquid crystal display of the type having display elements capable of holding the data by applying an electric field or the like. Information processing systems have a display as a means for visually displaying information. As such displays, a CRT display is widely used. For the control of a CRT display, the data write operation by a system CPU into a video memory as a display data buffer and the data read operation by a CRT controller from the video memory are executed independently. With such control of a CRT display, both the data read/write operations are independent so that a program used by the information processing system is not required to consider the display timings at all, allowing to write the display data at an optional timing. The screen of a CRT display has a certain degree of depth, increasing the dimension of the CRT display and hindering the compactness of it. The information processing system using a CRT display has therefore a poor degree of freedom with respect to the installation site, portability and the like. A liquid crystal display (hereinafter called LCD) solves such problems, and provides the compactness (particularly, small depth of the display screen). Of various types of LCDs, there is a display using ferroelectric liquid crystal (FLC) cells (hereinafter called FLCD (FLC display)). One of the main features of FLCD is a function of holding the display data upon application of an electric field to the liquid crystal cells. Namely, FLCD has liquid crystal cells so thin that the elongated FLC molecules are oriented in the first or second stable direction depending upon the electric field application direction, maintaining the orientation even after the electric field is removed. Because of such bi-stable nature of FLC molecules, FLCD provides a memory function. The details of FLC and FLCD are described, for example, in Japanese Patent Application No. 62-76357 (U.S.S.N. 174,980 filed on March 29, 1988). Different from a CRT display or other liquid crystal displays, there is therefore a marginal time for the period of the refresh operation sequentially executed for FLCD, and in addition it is possible to execute a partial rewrite of updating only the changed display data on the display screen. According to one approach to using such features, there is known a method wherein flags are prepared as many as the number of scan lines of the display screen, and when a data rewrite occurs in a VRAM, the corresponding flag is set to preferentially rewrite the scan line with the set flag. It is necessary to control the display if the rewrite time of the scan line depends on a temperature. The display control, such as controlling the period of the refresh operation and the number of scan lines to be interlaced during the interlacing operation, is executed depending upon a change in the temperature. The above conventional method requires to check the flags as many times as the number of scan lines of the display screen. It takes a lot of time to check the flags in the case of a high resolution display (for example, 1280 dots x 1024 dots of screen size), lowering the throughput of the display control. Furthermore, because the scan line rewrite time depends on the temperature of a display and becomes long as the temperature lowers, the number of scan lines to be interlaced and the field frequency are increased to suppress flickers. In this case, the rewrite operation cannot be executed at high speed. Interlacing has been used conventionally for displays such as CRT and LCD displays. This interlacing is used when the refresh rate is low. The quality of an image sequentially displayed on the display screen at the low refresh rate is degraded by image disturbance called flickers. Interlacing is used to suppress this image disturbance phenomenon. As shown in Fig. 12, after displaying line 0, not the line 1 but the line delayed by several lines from line 0 is displayed. In the interlacing operation shown in Fig. 12, every third lines are displayed, namely, in the order of line 0, line 4, line 8, line 12, line 16, line 20, line 1, line 5, and etc. By displaying lines at an interval of some lines, an apparent display speed rises, preventing the image disturbance called flickers. For a display such as an FLCD having a small number of display colors, a binarization process such as a dither process may sometimes become necessary. The binarization process is performed generally in units of a plurality of lines. However, the above-described interlacing operation displays at an interval of some lines. Therefore, in the binarization process such as a dither process, complicated processing is required such as the preparation of buffers for the dither process, thereby lowering the processing speed and image quality and leading to high cost. With high speed data rewrite (such as character scrolling), the above-described interlacing operation may cause fluttering of characters, degrading the image quality of characters. In the case where a certain display unit such as a character line is rewritten by a FLCD, if the display unit is different from the partial rewrite unit, there is a time difference between partial rewrites, lowering the image quality to "fluttered image" display. Furthermore, a partial rewrite is executed even for unnecessary lines, lowering the processing speed. EP-A-0 368 117 discloses a display system adopting a driving method of partial rewriting being performed for a FLCD, according to which a flag is used corresponding to each display line. This method is also applied to interlacing. Furthermore, document EP-A-O 462 541 discloses an image information control device and display system using interlacing and according to which input data is thinned depending on the FLCD temperature, thereby achieving a correction of a horizontal scanning period depending on a detected FLCD temperature. Moreover, document EP-A-O 537 428 (which due to its publication date merely constitutes prior art falling under the regulations of Art. 54(3) EPC for all designated countries of the present application) teaches that partial rewriting is performed for a FLCD, that the partial rewriting is controlled according to rewritten areas of VRAM, and that the lines to be skipped over in an interlaced mode of operation are changed depending on external environment conditions like, for example, temperature. It is an object of the present invention to provide a display controller for controlling a display means and a corresponding display controlling method for controlling a display means which is free from the above drawbacks inherent to the known prior art arrangements. This object is achieved by a display controller for controlling a display means as defined in claim 1. Additionally, this object is achieved by a display controlling method for controlling a display means according to claim 8. Advantageous further developments of the present invention are as set out in the respective dependent claims. Fig. 1 is a block diagram of an information processing system equipped with a display controller according to the present invention. Fig. 2 is a block diagram showing the detail of the FLCD interface according to the embodiment. Fig. 3 shows the data format of display data with address to be used by FLCD. Fig. 4 is a schematic diagram of the FLCD display screen where the interlacing display by a plurality set of N lines interlaced every M-th lines is executed. Fig. 5 is a flow chart illustrating the operation of the FLCD interface where the interlacing display by a plurality set of interlacing lines is executed. Fig. 6 is a schematic diagram showing the FLCD display screen for mixed display data of image and character data. Fig. 7 is a flow chart illustrating the operation of the FLCD interface where the interlacing display on FLCD is executed by a plurality set of interlacing lines for the mixed display data of image and character data such as shown in Fig. 6. Fig. 8 is a flow chart illustrating the operation of the FLCD interface where the interlacing display on FLCD is executed by a plurality set of interlacing lines for the mixed display data of image and character data such as shown in Fig. 6. Fig. 9 is a flow chart illustrating the operation of the FLCD interface where the interlacing display on FLCD is executed by a plurality set of interlacing lines for the mixed display data of image and character data such as shown in Fig. 6. Fig. 10 is a block diagram showing another structure of the FLCD interface of the embodiment. Fig. 11 is a block diagram showing a further structure of the FLCD interface of the embodiment. Fig. 12 is a conceptual diagram showing the display screen with the interlacing display. Embodiments of the present invention will be described in detail with reference to the accompanying drawings. Fig. 1 is a block diagram showing an information processing system equipped with a display controller. In Fig. 1, reference numeral 101 represents a CPU for performing a total control over the information processing system. Reference numeral 102 represents an operation processor which supports the arithmetic operation of CPU 101 at high speed. Reference numeral 103 represents a ROM which stores programs or the like for providing basic control functions of CPU 101. Reference numeral 104 represents a main memory which stores programs to be executed by CPU 101 and loaded from ROM 103, hard disk drive 111, or floppy disk drive 112 to be described later. The main memory 104 is also used as working areas for program execution. Reference numeral 105 represents a direct memory access controller (hereinafter called DMAC) for the data transfer, without the control by CPU 101, between the main memory 104 and VRAM 212 to be described later, and between the main memory 104 or VRAM 212 and various devices constituting the system. Reference numeral 106 represents an interrupt controller for controlling hardware interrupts issued by various devices constituting the system. Reference numeral 107 represents a real time clock including a CMOS RAM for storing calendars, clock information, non-volatile information. Reference numeral 108 represents a back-up lithium battery powering the real time clock 107 while the system is not turned on. Reference numeral 109 represents a keyboard for entering character information of various types of characters and control information. Reference numeral 110 represents a keyboard controller for controlling the keyboard 109. Reference numeral 111 represents a hard disk drive (HDD) as an external storage device. Reference numeral 112 represents an HDD controller for controlling the data transfer between the system and HDD 111 and controlling other processing. Reference numeral 113 represents a floppy disk drive (FDD) as an external storage device. Reference numeral 114 represents an FDD controller for controlling the data transfer between the system and FDD 113 and controlling other processing. Reference numeral 115 represents a mouse as a pointing device. Reference numeral 116 represents a mouse controller for the signal transfer between the system and the mouse 115. Reference numeral 117 represents an external interface such as RS232C for the connection to an external input/output device. Reference numeral 118 represents a printer interface for the connection to an external printer and other external equipments. Reference numeral 201 represents an FLC display (hereinafter called FLCD) having a display screen of ferroelectric liquid crystal. Reference numeral 210 represents an FLCD interface for controlling FLCD 201. Reference numeral 119 represents system busses including a data bus, control bus, and address bus for the information transfer between various devices. Fig. 2 is a block diagram showing the detail of an FLCD interface according to the embodiment. In Fig. 2, reference numeral 401 represents a CPU for controlling the entirety of the FLCD interface. Reference numeral 402 represents a ROM for storing programs to be executed by CPU 401 and its reference data. Reference numeral 403 represents a RAM to be used by CPU 401 as the working area. RAM 403 is accessible by the main CPU 101 via the system bus 119. Reference numeral 404 represents a VRAM accessible by the main CPU 101 and CPU 401. Reference numeral 405 represents a dither ON/OFF switch to be turned on or off by CPU 401. This switch determines whether the display data from VRAM 404 to FLCD 201 via CPU 401 is to be subjected to the dither process. Reference numeral 406 represents a dither operation circuit which performs the dither process for the display data transferred from CPU 401 and outputs the binarized display data to an address/display multiplexer 408. Reference numeral 407 represents a color palette which converts the display data transferred from CPU 401 into color data capable of being displayed on FLCD 201 and outputs the color data to the address/display data multiplexer 408. The multiplexer 408 multiplexes the display data of one line of FLCD and the address data and outputs the display data with an address to FLCD. Fig. 3 shows the format of image data with an address. Reference numeral 1102 represents address data indicating the order of a lateral scan line of FLCD. Reference numeral 1103 represents display data of one line of FLCD. Reference numeral 210 shown in Fig. 2 represents FLCD on which the display data transferred from the FLCD interface is displayed at the transferred address. The display data output operation of the FLCD interface shown in Fig. 2 will be described. The main CPU 101 writes display data in the form of bit map in VRAM 404. In this case, the main CPU 101 may write data representing whether the display data is character data or image data, in RAM 403 in the form of table. CPU 401 determines which data in VRAM 404 is transferred to FLCD 201. The data is then transferred to the palette 407 or dither operation circuit 406. The transferred data corresponds to one lateral scan line of FLCD 201. If the display data of VRAM 404 is image data such as a natural image, the dither process is selected. If the display data of VRAM 404 is character data, the palette process is selected. Whether the data is the image data or character data is determined by CPU 401 while referring to the table in RAM 403. The display data is processed by the palette 407 or dither operation circuit 406 and transferred to the address/display data multiplexer. CPU 401 transfers the address of the display data on FLCD 201 to the address-display data multiplexer 408. The multiplexer 408 multiplexes the display data of one line of FLCD 201 and its address data and outputs the display data with the address to FLCD 201. FLCD 201 displays the display data of one line transferred from the FLCD interface at the transferred address. With reference to Figs. 4 and 5, the operation of the FLCD interface 210 will be described wherein the interlacing display for the whole display screen of FLCD 201 is performed by scanning a plurality set of interlaced lines at each field. In this example, it is assumed that image data is subjected to the dither process and displayed on the whole display screen. Fig. 4 schematically illustrates the whole display screen of FLCD 201 where the interlacing display is performed by a plurality set of N lines interlaced every M-th lines. In order to speed up and simplify the process, the value N is made equal to the size of the vertical side of the dither matrix. In order to simplify the process, M is set to N multiplied by an integer. T represents the total number of lines of FLCD. Fig. 5 is a flow chart showing the operation of the FLCD interface 210 for the interlacing display on FLCD 201 by a plurality set of interlaced lines. In this flow chart, x represents a variable indicating the line presently processed, and y represents a variable indicating the present order of scanning. At Step 602, the variables x and y are initialized to "O". The values x and y are incremented at the following Steps. At Step 603, N lines from the x-th line are subjected to the dither process and displayed. At Step 604, the value x is incremented for the interlacing display. It is checked at Step 605 whether the variable x indicates the last line. At Step 607 it is checked whether one field has been displayed on the whole display screen 607. If displayed, the control returns to Step 602 to display again from line 0. If not, the variable x is set to Ny. In the above manner, the interlacing display by a plurality set of interlacing lines shown in Fig. 4 is performed. Next, the interlacing display of mixed data of character and image data by a plurality set of interlacing lines will be described. Fig. 6 shows four examples of the relative positions of mixed display data of character and image data. The image data area is from line E to line E', and the character data area is from line C to line C'. Whether the display data is image data or character data is determined by referring to the table written in RAM 403 by the main CPU 101. For the image data area, the number of a set of interlacing lines is made equal to the size of the vertical side of the dither matrix, simplifying and speeding up the process. For the character data area, the number of a set of interlacing lines is made equal to the number of lines in the vertical direction of a character box, improving the display quality of characters. In this embodiment, the image data area is subjected to a 4 x 4 dither process. In the image area therefore, the interlacing display by a plurality set of four lines interlaced every eighth lines is executed. The number of lines in the vertical direction of a character box is assumed to be six. In the character area therefore, the interlacing display by a plurality set of six lines interlaced every twelfth lines is executed. For a line of mixed character and image data, the interlacing display by a plurality sets of six lines is performed to preferentially improve the character quality. In the example indicated by 1601 in Fig. 6, the interlacing display by a plurality set of four interlacing lines is performed from line E to line E', and the interlacing display by a plurality set of six interlacing lines is performed from line C to C'. In the example indicated by 1602 in Fig. 6, the interlacing display by a plurality set of four interlacing lines is performed from line E to line C, the interlacing display by a plurality set of six interlacing lines is performed from line C to C', and the interlacing display by a plurality set of four interlacing lines is performed from line C' to line E'. In the example indicated by 1603 in Fig. 6, the interlacing display by a plurality set of four interlacing lines is performed from line E to line C', and the interlacing display by a plurality set of six interlacing lines is performed from line C to C'. In the example indicated by 1604 in Fig. 6, the interlacing display by a plurality set of six interlacing lines is performed from line C to C'. Figs. 7 to 9 are flow charts illustrating the operation of the FLCD interface 210 for the interlacing display of the mixed character and image data such as shown in Fig. 6 on FLCD 201 by a plurality set of interlacing lines. In these flow charts, x represents a variable indicating the line presently processed, and y represents a variable indicating the present order of scanning. At Step 502 shown in Fig. 7, the variables x and y are initialized to "0". The values x and y are incremented at the following Steps. At Step 503, it is checked whether the display area is the character data area. This judgement Step 503 is executed before a judgement Step 510 in order to give the priority of the image data display over the character data display. Steps 503 to 509 are processed for the character data area. In the character data area, the interlacing display by a plurality set of six lines interlaced every twelfth lines is performed. At Step 510 shown in Fig. 8, it is checked whether the display area is the image data area. Steps 510 to 521 are processed for the image data area. In the image data area, the interlacing display by a plurality set of sour lines interlaced every eighth lines is performed. At Step 530 shown in Fig. 9, the variable x is incremented by "1". Steps 531 to 533 are processes to be executed when the line presently processed reaches the last line. With the above processes, the interlacing display by a plurality set of interlacing lines is performed for the mixed character and image data such as shown in Fig. 6. The processes illustrated in the flow charts of Figs. 7 to 9 may be easily applied to the case where a plurality of image and character data areas are present. Another example of the structure of the FLCD interface 210 of this embodiment is shown in Fig. 10. In this example, the processes to be executed by CPU 401 of the FLCD interface shown in Fig. 2 are executed by the main CPU 101. The flow charts for the FLCD interface 210 shown in Fig. 10 are the same as those shown in Figs. 5 and 7 to 9. Fig. 10 is a block diagram showing another example of the structure of the FLCD interface 210 of this embodiment. In Fig. 10, reference numeral 1004 represents a VRAM is accessible by the main CPU 101. Reference numeral 1005 represents a dither ON/OFF switch to be turned on or off by the main CPU 101. This switch determines whether the display data from VRAM 1004 to FLCD 201 is to be subjected to the dither process. Reference numeral 1006 represents a dither operation circuit which performs the dither process for the display data transferred from VRAM 1004 and outputs the binarized display data to an address/display multiplexer 1008. Reference numeral 1007 represents a color palette which converts the display data transferred from VRAM 1004 into color data capable of being displayed on FLCD 201 and outputs the color data to the address/display data multiplexer 1008. The multiplexer 1008 multiplexes the display data of one line of FLCD 201 and the address data and outputs the display data with an address to FLCD 201. The display data with an address of one line transferred from the FLCD interface 210 is displayed at the designated address. The display data output operation of the FLCD interface shown in Fig. 10 will be described. The main CPU 101 writes display data in the form of bit map in VRAM 1004. CPU 401 determines which data in VRAM 1004 is transferred to FLCD 201. The data is then transferred to the palette 1007 or dither operation circuit 1006. The transferred data corresponds to one lateral scan line of FLCD 201. If the display data of VRAM 1004 is image data such as a natural image, the dither process is selected. If the display data of VRAM 1004 is character data, the palette process is selected. The display data is processed by the palette 1007 or dither operation circuit 1006 and transferred to an address/display data multiplexer 1008. The main CPU 101 transfers the address of the display data on FLCD 201 to the address/display data multiplexer 1008. The multiplexer 1008 multiplexes the display data of one line of FLCD 201 and its address data and outputs the display data with the address to FLCD 201. FLCD 201 displays the display data of one line transferred from the FLCD interface at the transferred address. Another example of the structure of the FLCD interface 210 of this embodiment is shown in Fig. 11. In this example, the processes to be executed by CPU 401 of the FLCD interface shown in Fig. 2 are executed by an interlacing display controller 1201. The flow charts for the FLCD interface 210 shown in Fig. 11 are the same as those shown in Figs. 5 and 7 to 9. Fig. 11 is a block diagram showing another example of the structure of the FLCD interface 210 of this embodiment. In Fig. 11, reference numeral 1201 represents an interlacing display controller which controls the interlacing display. The controller is accessible by the main CPU 101 via the system bus 119. Reference numeral 1204 represents a VRAM accessible both by the main CPU 101 and the interlacing display controller 1201. Reference numeral 1205 represents a dither ON/OFF switch to be turned on or off by the interlacing display controller 1201. This switch determines whether the display data from VRAM 1204 to FLCD 201 is to be subjected to the dither process. Reference numeral 1206 represents a dither operation circuit which performs the dither process for the display data transferred from the interlacing display controller 1201 and outputs the binarized display data to an address/display multiplexer 1208. Reference numeral 1207 represents a color palette which converts the display data transferred from the interlacing display controller 1201 into color data capable of being displayed on FLCD 201 and outputs the color data to the address/display data multiplexer 1208. The multiplexer 1208 multiplexes the display data of one line of FLCD 201 and the address data and outputs the display data with an address to FLCD 201. The display data with an address of one line transferred from the FLCD interface 210 is displayed at the designated address. The display data output operation of the FLCD interface 210 shown in Fig. 11 will be described. The main CPU 101 writes display data in the form of bit map in VRAM 1204. The main CPU 101 supplies information to the interlacing display controller 1201, the information indicating whether each area of VRAM 1204 is the image data or character data. The interlacing display controller 1201 determines which data in VRAM 1204 is transferred to FLCD 201. The data is then transferred from VRAM 1204 to the palette 1207 or dither operation circuit 1206. The transferred data corresponds to one lateral scan line of FLCD 201. If the display data of VRAM 1204 is image data such as a natural image, the dither process is selected. If the display data of VRAM 1004 is character data, the palette process is selected. The display data is processed by the palette 1207 or dither operation circuit 1206 and transferred to an address/display data multiplexer 1208. The interlacing display controller 1201 transfers the address of the display data on FLCD 201 to the address-display data multiplexer 1208. The multiplexer 1208 multiplexes the display data of one line of FLCD 201 and its address data and outputs the display data with the address to FLCD 201. FLCD 201 displays the display data of one line transferred from the FLCD interface at the transferred address. Although the present invention is more effective when applied to a ferroelectric liquid crystal, it is not limited only to such ferroelectric liquid crystal display devices. According to the above-described embodiment, the image data processing can be simplified and speeded up.

Claims: A display controller for controlling a display means, comprising: a first storage means (404) for storing data to be displayed on said display means, means (119) for supplying data to said storage means, and control means (401, 402) for controlling said display means to perform an interlacing display of said display data, characterized by a second storage means (403) for storing data indicative of a type of said data to be displayed at different vertical sections of the display, and a determination means for determining the type of data to be displayed at said different vertical sections by referring to said second storage means, wherein said control means being adapted to drive said different vertical sections of said display in different interlacing modes in dependence of the respective types of data determined by said determination means. A display controller according to claim 1, characterized in that said types of data to be displayed are character data and image data. A display controller according to claim 1 or 2, characterized in that a predetermined one of said interlacing modes is set for a line containing mixed types of data to be displayed. A display controller according to claim 3, characterized in that for a line of mixed character and image data the interlacing mode corresponding to the character data is set. A display controller according to any of the preceding claims, characterized in that said different interlacing modes differ in the number of a set of plural interlacing lines. A display controller according to claim 5, characterized in that for image data, the number of a set of plural interlacing lines is made equal to the size of a vertical size of a dither matrix used when subjecting image data to a dither process, and for character data, the number of a set of plural interlacing lines is made equal to the number of lines in the vertical direction of a character box. A display controller according to claim 1, characterized in that said display means is a FLCD display device (201). A display controlling method for controlling a display means, comprising the steps of: storing data to be displayed in a first storage means (404), supplying data to said storage means by means (119), and controlling said display means to perform an interlacing display of said data to be displayed using a display control means (401, 402), characterized by the steps of storing data indicative of a type of said data to be displayed in a second storage means (403) at different vertical sections of the display, and determining the type of data to be displayed at said different vertical sections by referring to said second storage means using a determination means, wherein, based on said determination result driving said different vertical sections of said display in different interlacing modes depending on the respective types of data. A display controlling method according to claim 8, characterized in that said types of data to be displayed are character data and image data. A display controlling method according to claim 8 or 9, characterized by setting a predetermined one of said interlacing modes for a line containing mixed types of data to be displayed. A display controlling method according to claim 10, characterized by setting the interlacing mode corresponding to the character data for a line of mixed character and image data. A display controlling method according to any of the preceding claims 8 to 11, characterized in that said different interlacing modes differ in the number of a set of plural interlacing lines. A display controlling method according to claim 12, characterized in that for image data, the number of a set of plural interlacing lines is made equal to the size of a vertical size of a dither matrix used when subjecting image data to a dither process, and for character data, the number of a set of plural interlacing lines is made equal to the number of lines in the vertical direction of a character box.

Inventors: EIICHI MATSUZAKI, HAJIME MORIMOTO, JUNICHI TANAHASHI, KENICHIRO ONO, KENZOH INA, MASAMI SHIMAKURA, TATSUYA SAKASHITA, TOSHIYUKI NOBUTANI, EIICHI, MATSUZAKI, HAJIME, MORIMOTO, JUNICHI, TANAHASHI, KENICHIRO, ONO, KENZOH, INA, MASAMI, SHIMAKURA, TATSUYA, SAKASHITA, TOSHIYUKI, NOBUTANI, Eiichi, Matsuzaki, c/o Canon Kabushiki Kaisha, Hajime, Morimoto, c/o Canon Kabushiki Kaisha, Junichi, Tanahashi, c/o Canon Kabushiki Kaisha, Kenichiro, Ono, c/o Canon Kabushiki Kaisha, Kenzoh, Ina, c/o Canon Kabushiki Kaisha, Masami, Shimakura, c/o Canon Kabushiki Kaisha, Tatsuya, Sakashita, c/o Canon Kabushiki Kaisha, Toshiyuki, Nobutani, c/o Canon Kabushiki Kaisha
Applicants: CANON KK, CANON KABUSHIKI KAISHA
Application year: 1993
Main classification: G09G3
IPC codes: G09G3