Text recovery in colour compressed video

Abstract: A method for colour conversion comprising the steps of converting an n-bit original colour data supplied for each pixel to an m-bit (n>m) new colour data; comparing the new colour data with each other and the original colour data with each other with respect to a current pixel and a previous pixel which is a pixel immediately preceding the current pixel; and changing the value of the new colour data and sending it to a display unit when a match of the new colour data and a mismatch of the orignal colour data are detected by said comparison. This method therefore enables a colour data conversion characterised in that a change in the original colour can be recognised on a display screen.

Description: The present invention relates to a method and an apparatus for colour conversion, and in particular to a method and an apparatus for converting n-bit colour text data to m-bit (m < n) colour text data. In this specification, the term "colour" is used in a broad sense to include monochrome and gray scales. By improvement of CRT displays and CRT controllers for controlling them, high-performance displays exhibiting a 1000 x 1000 resolution and over 16 million displayable colours have recently appeared and are used in personal computers and workstations. On the other hand, laptop type personal computers, which employ a liquid crystal display or plasma display for the purpose of weight reducing and space saving have appeared. The problem here is colour processing when a program written on the assumption of using a high-performance display is made to run on a laptop type personal computer. At present, as regards displayable colours, so-called flat-panel displays such as liquid crystal and plasma displays are far from the level of CRT displays and are at a stage in which gray scale display with several levels is practically used. Accordingly, how to distinguish a lot of colours used in a program such as described above on a flat-panel display is a problem. DE-A-32 40 473 discloses a method of detection of colour transients on input colour data and, based only on the input colour data, changing the levels of gray scale, present on a single gray scale output, to which input colour data is mapped in order to enhance the transition on the output gray scale data. A conventional method is to use a lookup table for converting n-bit (eg 8-bit) colour data to m-bit (eg 2-bit) colour data having a smaller number of bits. The lookup table maps 2 n colours to 2 m colours. Apart from this, in IBM Technical Disclosure Bulletin, Vol 29, No 2 pp 811-812, published in July 1986, a technique is disclosed in which an attribute is converted using a colour enable register, in order to display a character whose foreground and background colours are specified by an attribute byte, on a monochrome liquid crystal display. Since, in the colour mapping using a lookup table, different original colours may happen to be mapped to the same colour, a text cannot be viewed if such mapping occurs in the foreground and background colours of the text. In the technique described in the above Technical Disclosure Bulletin, the foreground and background colours can be displayed distinguishably, but its application is limited to the monochrome display and, since reverse video is utilised, some displayed information would be obscured. The aim of the present invention is therefore to provide a method and an apparatus for colour conversion so that a change in the original colour data can be clearly recognised on a screen. The above aim is achieved by the features set out in claims 1 or 3. The dependent claims relate to preferred embodiments of the invention. According to one aspect of the invention, a colour conversion method comprising the steps of: converting an n-bit original colour data supplied for each pixel to an m-bit (n > m) new colour data; comparing the new colour data with each other and the original colour data with each other with respect to a current pixel and a previous pixel which is a pixel immediately preceding the current pixel; and changing the value of the new colour data of said current pixel and sending it to a display unit when a match of the new colour data and a mismatch of the original colour data are detected by said comparison. According to a second aspect of the invention, the aforementioned change in value of the new colour data is performed in a direction corresponding to the increase or decrease direction of the original colour data value from said previous pixel to said current pixel. This invention achieves the advantage that, when an n-bit original colour data is converted to an m-bit (n > m) new colour data, the change in the original colour data can be reflected in the new colour data. Also, the number and types of new colour data can be set arbitrarily by only changing the contents of a lookup table. One specific embodiment of the invention will now be described with the aid of the accompanying diagrams in which: Fig. 1 is a flowchart showing a flow of colour conversion according to the present invention; and Fig. 2 is a block diagram showing a structural example of the colour conversion apparatus according to the present invention. From the aspect of hardware, two delay circuits and two comparators are provided to compare the colour data of the current pixel and the previous pixel. These are for the original colour data and the new colour data. If a mismatch of the original colour data and a match of the new colour data are detected in the comparators, the new colour data value of the current pixel is changed. In the embodiment described later, an adder is used for this change. For conversion from n bits to m bits, it is desirable to use a lookup table which can be rewritten so that the number and types of new colour data can be set arbitrarily as needed. In the following description, it is assumed that the number "n" of bits of the original colour data is 8 and the number "m" bits of the new colour data after conversion is 2, but these numeric values may be any values provided that they satisfy the condition of n > m. In Fig. 1, the 8-bit original colour data sent from a CRT controller for each pixel is received by a colour conversion apparatus (Fig. 2) in the first step 1. This original colour data represents one of 256 colours, which is a foreground of background colour in the text mode. In the next step 2, the original colour data is converted to a 2-bit new colour data. For this conversion, a lookup table, as described later, can be used. The next step 3 is a decision step which checks whether the new colour data for the current pixel N is the same as the new colour data for the previous pixel N-1, which is a pixel immediately preceding the current pixel. The new colour data represents a value of a pixel which is displayed on a display (e.g., liquid crystal display) that is not a multi-colour display. If they are different, they can be distinguished from each other on a screen. Accordingly, if the decision result in step 3 is "no," the new colour data converted in step 2 is directly used for display (step 4). The fact that the colour data for the current pixel N is different from that for the previous pixel N-1 means that a boundary between the foreground and the background exists, but in some case, it may show a boundary between two character boxes which have different background colours. On the other hand, if the new colour data for the current pixel N is equal to that for the previous pixel N-1, they cannot be distinguished on a screen, but, if the original colour data are also equal, there is no colour change, so there is no need to distinguish them. Therefore, if the decision result in step 3 is "yes," go to step 5 to check whether the original colour data for the current pixel N is equal to that for the previous pixel N-1. If they are equal, go to the above described step 4 to use the new colour data converted in step 2 directly for display. If the original colour data is different, the same new colour data as the previous pixel N-1 has been generated for the current pixel N despite the fact that there was colour change in the original text, so the colour change in the original text is not reflected on a liquid crystal display screen unless something is done. Thus, if the new colour data of the current pixel N and the previous pixel N-1 are the same and their original colour data are different, to to step 6 from step 5 to change the new colour data. This change is preferably done according to a direction of change in the original colour data. Specifically, when the original colour data values of the current pixel N and the previous pixel N-1 are assumed to be A and B, respectively, if A > B, the new colour data value is increased (e.g., +1), and if A < B, that value is decreased (e.g., -1). As a result, the colour change in the original text is reflected on a liquid crystal display screen. The last step 7 uses the new colour data converted in step 6 for display. The steps 1 - 7 of Fig. 1 are repeated whenever a new colour data is received for each pixel from the CRT controller. Now the colour conversion apparatus for implementing the flow of Fig. 1 will be described with reference to Fig. 2. The colour conversion apparatus 10 of Fig. 2 consists of a lookup table 12 for converting an 8-bit original colour data from a CRT controller (not shown) to a 2-bit new colour data, a first delay circuit 14 for delaying the output of the lookup table 12 by one pixel, a first comparator 16 receiving the output of the lookup table at its A input and receiving the output of the first delay circuit 14 at its B input, a second delay circuit 18 for delaying the original colour data by one pixel, a second comparator 20 receiving the original colour data at its A input and receiving the output of the second delay circuit 18 at its B input, two AND gates 22 and 24 for selectively gating the output of the second comparator in response to the output of the first comparator 16, and an adder 26 for selectively changing the new colour data from the lookup table 12 in response to the outputs of the AND gates 22 and 24. The new colour data outputted from the adder 26 at the final stage is supplied to a display (not shown) such as a liquid crystal or plasma display that is not a multi-colour display. Explained in connection with Fig. 1, the original colour data first received in step 1 is supplied to the lookup table 12, the second delay circuit 18 and the A input of the second comparator 20. Step 2 is executed by the lookup table 12. The lookup table 12 can be of any construction that is capable of colour conversion from 8 bits to 2 bits (generally, from n bits to m bits, when n > m), but in the point of general purpose, it is preferably a memory (particularly, a RAM) which receives the 8-bit original colour data as an address. In that case, the selection of which data is to be written in each storage location of the memory can be made to the user, and this is not a part of the present invention. For a simple colour conversion, a gate circuit which outputs as the new colour data 2 specified bits of the 8 bits constituting the original colour data may be used in place of the lookup table 12. The 2-bit new colour data obtained from the lookup table 12 is supplied, for execution of step 3, to the first delay circuit 14 and the A input of the first comparator 16. The first delay circuit 14 is for delaying the new colour data by one pixel, and accordingly, when the new colour data of the current pixel N is provided to the A input of the first comparator 16, the new colour data of the preceding pixel N-1 is provided to its B input. Thus, step 3 becomes executable. The first comparator 16 activates the output line 28 only for A = B, partially conditioning the AND gates 22 and 24. In this embodiment, the outputs of the AND gates 22 and 24 are used as operands +1 and -1, respectively for the adder 26. The other operand to be supplied to the adder 26 is the 2-bit new colour data. Therefore, if A ≠ B is detected in the first comparator 16 and neither AND gate 22 nor 24 is conditioned, the first operand is considered to be 0 and the adder 26 allows the new colour data from the lookup table 12 to pass through with no change (step 4). If A = B is detected in the first comparator 16, the AND gates 22 and 24 are partially conditioned by activation of the output line 28, but which AND gate is fully conditioned depends on the outputs of the second comparator 20. The second comparator 20 receives the 8-bit original colour data from a CRT controller at its A input, receives the original colour data delayed by one pixel in the second delay circuit 18 at its B input, and executes step 5 of Fig. 1. If A = B, neither output line 30 nor 32 is activated and hence the AND gates 22 and 24 are not conditioned, so the adder 26 allows the new colour data from the lookup table 12 to pass through with no change (step 4). The second comparator 20 activates the output line 30 upon detecting A > B and activates the output line 32 upon detecting A < B. In the former case, the AND gate 22 is fully conditioned to supply the +1 operand to the adder 26, and in the latter case, the AND gate 24 is fully conditioned to supply the -1 operand to the adder 26. This means that the same change direction as the change direction (increase or decrease direction) of the original colour data from the previous pixel N-1 to the current pixel N is given to the new colour data. The adder 26 outputs the 2-bit new colour data from the lookup table 12 to a liquid crystal display after adding 1 to or subtracting 1 from it, depending on which AND gate 22 or 24, was fully conditioned (steps 6 and 7). In the flowchart of Fig. 1, step 5 is executed after step 3, but as can be seen from the circuit diagram of Fig. 2, the comparison operations in these steps can be executed concurrently as far as the hardware is concerned. For a typical colour text, the foreground and background colours are specified for each character box. Accordingly, the background colour may change at the boundary between characters. However, since the background colour per se has almost no meaning as text data, it is not necessary to positively distinguish this. For this reason, in the embodiment of Fig. 2, the adder 26 does not change the new colour data in the case of character change. This is accomplished by activating a new character flash signal to eliminate the delay in the second delay circuit 18 when the original colour data inputted to the second delay circuit 18 changes from the background colour of the previous character to the background colour of the new character, which occurs at a the character box boundary. As a result, the same original colour data is applied to the A and B inputs of the second comparator 20 so that both output lines 30 and 32 are inactive, and the increment or decrement in the adder 26 is prohibited, whereby the new colour data from the lookup table 12 is outputted with no change. The remaining operation is the same as that described above because the new colour flash signal is inactivated thereafter.

Claims: A method of converting n-bit original colour data relating to pixels of a display to m-bit new colour data, wherein n > m, the method comprising the steps of: converting an n-bit original colour data supplied for each pixel to an m-bit (n > m) new colour data; comparing the new colour data for a current pixel and a previous pixel, which is a pixel immediately preceding the current pixel; comparing the original colour data for said current pixel and said previous pixel; and changing the value of the new colour data of said current pixel and sending it to a display unit when a match of the new colour data and mismatch of the original colour data are detected by said comparison steps. A method as claimed in Claim 1 wherein said value change is performed in a direction corresponding to the increase or decrease direction of the original colour data value from said previous pixel to said current pixel. An apparatus for converting n-bit original colour data relating to pixels of a display to m-bit new colour data, wherein n > m, comprising conversion means (12) for converting an n-bit original colour data supplied for each pixel to an m-bit (n > m) new colour data; first delay means (14) for delaying the new colour data by one pixel; first comparison means (16) for comparing the new colour data from said conversion means with the delayed new colour data from said first delay means; second delay means (18) for delaying said original colour data by one pixel; second comparison means (20) for comparing said original colour data with the delayed original colour data from said second delay means; and change means (26) for receiving the new colour data from said conversion means, and for changing the value of said new colour data and sending it to a display unit when a match is detected in said first comparison means and a mismatch is detected in said second comparison means. Apparatus as claimed in Claim 3 wherein said change means is an adder that increases or decreases the value of said new colour data by a predetermined amount according to the mismatch detected by said second comparison means.

Inventors: CANOVA FRANK JAMES, CANOVA, FRANK JAMES
Applicants: IBM, INTERNATIONAL BUSINESS MACHINES CORPORATION
Application year: 1989
Main classification: G09G1
IPC codes: G09G5, G06F3, G06T1