In graphics systems, data for a particular frame includes both luma (luminance) and chroma (chrominance) data. In order to process the graphics data, the luma and chroma are separated. The mechanism used to separate the luma and chroma data depends upon the standard with which the data complies. One such standard is PAL. In PAL, luma and chroma data are carried predominantly at two different frequencies. In PAL, frequencies below 3.1 MHz are assumed to be luma. Thus, one conventional method for separating the luma and chroma data uses a band pass filter to remove the low frequency luma data from the chroma data. However, there is some crosstalk between the luma and chroma data. Consequently, some luma data will exist above 3.1 MHz and some chroma data resides below 3.1 MHz. In order to better separate the luma and chroma data, another process is used.
FIG. 1 depicts a high-level block diagram of a conventional system 10 for separating PAL luma and chroma data. Typically, luma and chroma data are carried predominantly at two different frequencies. The conventional system 10 includes a first line delay 16 and a second line delay 18, adder 20, a divide-by-two block 22 and a subtractor 24. Each line delay 16 and 18 provides a delay equal to one line being processed.
FIG. 2 depicts a conventional method 50 for separating PAL luma and chroma data utilizing conventional three-line combing. The conventional method 50 is generally used by the system 10. Consequently, the conventional method 50 is described in conjunction with the system 10. Referring to FIGS. 1 and 2, the method 50 and the system 10 assume that the data does not change radically from line to line. Thus, the method 50 and the system 10 approximate data for the current line using a previous line and a next line. A portion of the video signal is separated at the node 11, via step 51. Thus, a portion of the video signal is transmitted along the line 12, while another portion is transmitted along the line 14. The data is sent through two line delays 16 and 18, via step 52. The output of the second delay 18 is data for the previous line. The data at the node 17 between the line delays 16 and 18 is data for the current line. Data taken from the node 11 is data for the next line. The data for the previous, current and next lines are thus present in the system 10 because of the line delays 16 and 18.
The previous line and next line signals are combined, via step 53. Step 53 is performed by combining the signal from the line 12 with the signal being output by the second line delay 18 using the combiner 20. Because the signal from the second line delay 18 is two lines ahead of the signal taken from the node 11, chrominance data is approximately canceled out when the two signals are combined. The output of the combiner 20 is two times the luma data for the current line. Note that although the output of the combiner 20 is termed twice the luma data for the current line, the output actually approximates the twice luma data for the current line because the previous and next lines were used.
This data is then cut in half, using the divide-by-two block 22, via step 54. Thus, the output of the divide-by-two block 22 is the luma data for the current line. The luma data output by the divide-by-two block 22 is considered to be for the current line because data for the current line is taken from the node 17, between the line delays 16 and 18.
The luma data is then subtracted from the chroma data for the current line; via step 55. This step is performed using the subtractor 24. Consequently, the luma data and the chroma data can be output by the conventional system 10.
Although the conventional system 10 and method 50 function adequately in most cases, one of ordinary skill in the art will readily recognize that the conventional system 10 and method 50 do not work well at certain rough edges. FIG. 3 depicts a portion of a frame 60 in a display. The frame 60 includes such a boundary 90. The boundary 90 is between polygons 70 and 80. However, the boundary 90 could be between other items. The edge 90 is rough because the polygons 70 and 80 have very different colors. For example, the polygon 70 may be dark, while the polygon 80 may be light. The portion of the polygon 70 shown includes lines 61, 62 and 63. The portion of the polygon 80 shown includes lines 64, 65 and 66. The edge 90 is between lines 63 and 64.
Referring to FIGS. 1-3, the conventional system 10 and method 50 combine data for a previous line and a next line in order to obtain luma data, which is also used to obtain the chroma data. When line 62 is the current line, taken from node 17, line 61 is the previous line and line 63 is the next line. Consequently, the luma and chroma data output from the divide-by-two block 22 and the subtractor 24 are as desired. However, when line 63 is the current line taken from the node 17, line 62 is the previous line and line 64 is the next line. However, line 64 is part of the other polygon 80, taken from the other side of the edge 90. Consequently, when the line 64 is combined with the line 62, the resultant will not be close to the luma data for the current line. This is because the chroma data changes radically due to the boundary 90. In other words, the assumptions made for performing the conventional three-line combing of the method 50 no longer hold. As a result, the appearance of the frame near the boundary 90 is incorrect.
Accordingly, what is needed is a system and method for separating PAL luma and chroma data while reducing the incongruities introduced around rough boundaries. The present invention addresses such a need.