Abstract:
Each horizontal line of a high-resolution video image signal, input in an image format having a plurality of pixels of a predetermined resolution, is subjected to anti-alias filtering to produce a smooth analog signal with limited bandwidth. The smooth analog signal is sampled by an A/D converter and converted to an image format with different resolution from the original image signal, but without discarding all the information from any input pixel. Each converted horizontal line is matched, pixel by pixel, with successive and preceding horizontal lines, and subjected to a weighted averaging process to produce an output image with different vertical resolution from the original image signal, again without discarding all the information from any input pixel.

Description:
BACKGROUND OF THE INVENTION 
     1. Field of the Invention 
     This invention relates to the fields of video imaging and image processing. 
     2. Description of Related Art 
     The field of video imaging has developed along parallel paths, producing one mode of representation for imaging of video signals in a broadcast context (e.g. the broadcast standards NTSC and PAL), and another quite different mode of representation for imaging of video signals in a computer graphics context (e.g. RGB, the separation of a video signal into red, green and blue components). Major differences between these two modes of representation include amount of resolution and timing requirements. The first mode of representation is dominant in the field of broadcast video imaging, such as commercial television and videotape recording, while the second mode of representation is dominant in the field of computer graphics, such as digital image creation, CAD/CAM and computer monitor display. The advancing state of computer graphics has lead to a strong demand for the capability to transfer images rom a computer graphics context to a broadcast video context, retaining the highest possible image resolution and at reasonable cost, while simultaneously flexibly allowing conversion of differences between standards such as aspect ratio and resolution. 
     One method for converting images from graphics format to broadcast format is to display the graphics video signal on a color computer monitor and to point a video camera at the monitor, taking a broadcast format signal from the output of the video camera. While this method will convert from one format to the other, it is subject to a number of problems, including those of image alignment and synchronization of the camera with the monitor. It is also generally necessary to resynchronize the camera and image for each conversion session, with the result that image details will tend to drift over the duration of a long motion picture. 
     A second method for converting images from graphics format to broadcast format is to digitally remove information from an input graphics signal and filter the result to produce an output broadcast format signal. Information may typically be removed by removing periodic horizontal scan lines of input, e.g. every other line or every third line. While this method will convert from one format to the other, it is subject to a number of problems. For example, this method is unable to convert aspect ratio, except in certain special cases, and this method tends to distort or lose small area features of the input image, such as fine lines and small size lettering. 
     Accordingly, it is an object of the invention to provide a method for converting a high-resolution graphics image signal to a broadcast image signal, retaining the highest possible image resolution and at reasonable cost, while simultaneously allowing conversion of differences between modes of representation such as aspect ratio and resolution. This object, as well as other and further objects of the invention, will be apparent after examination of the specification, the drawings, and the claims herein. 
     SUMMARY OF THE INVENTION 
     Each horizontal line of a high-resolution video image signal, input from a graphics computer or other similar source in a format having a plurality of pixels of a predetermined resolution, is subjected to anti-alias filtering to produce a smooth analog signal with limited bandwidth. The smooth analog signal is sampled by an A/D converter and converted to a format having a different resolution from the original signal, but without discarding all the information from any input pixel (i.e. using at least some information from each input pixel). Each converted horizontal line is matched, pixel by pixel, with successive and preceding converted horizontal lines, and subjected to a weighted averaging process to produce an output signal having a different vertical resolution from the original signal, again using at least some information from each input pixel. 
     Without limiting the generality of the invention, output image signals may differ in aspect ratio from input image signals. As the input image signal is &#34;holisticly&#34; transformed into the output image signal, an input image with one aspect ratio may be transformed into an output image with a differing aspect ratio. There is no requirement that transformations of aspect ratio must be in small integer ratios. 
     Without limiting the generality of the invention, a further advantage is provided by conversion of input data, in a graphic image format such as RGB, into broadcast image format such as NTSC when the image signal is first input. The NTSC image format is more compact than RGB (although it has less color resolution), so conversion of a broadcast image format from one resolution to another is less expensive because there is less information to process. 
     Without limiting the generality of the invention, line buffers are provided to reorder data from a line by line representation of a signal in a broadcast image format into a multiple data stream format more suited to averaging of multiple horizontal scan lines. Data may be reordered to allow averaging over multiple horizontal scan lines, so that averaging of multiple horizontal scan lines may achieve vertical compression. 
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS 
     FIG. 1 is a block diagram of preferred application of the present invention. 
     FIG. 2 is a block diagram of an image converter embodying the invention. 
    
    
     DESCRIPTION OF THE PREFERRED EMBODIMENT 
     FIG. 1 is a block diagram of a preferred application of the present invention. A computer system having a central processing unit (&#34;CPU&#34;) 10 may store graphics image signals in a high resolution frame buffer 12, as is well known in the art. The frame buffer 12 may be operatively connected to a high resolution monitor 14, for display of image signals which are stored in the frame buffer 12, as is well known in the art. In a preferred embodiment, the computer system supplying graphics image signals may comprise a Daikin graphics system with a format of 1088 lines per frame (1024 of which are visible), and with a repetition rate of 57.468 Hz. 
     A converter 16 receives control signals from the CPU10 via a serial connection 18 which may comprise an RS-232 connection in a preferred embodiment) and receives image signals from the frame buffer 12 via a set of RGB input ports 20a-c and a SYNC signal line 22. The converter 16 may also receiving timing signals from a SYNC generator 38 via lines 40. The converter 16, after conversion of an image, may transmit converted image signals in RGB format via a set of RGB output ports 24a-c to a video projector 26, or may transmit converted image signals in broadcast format (which may comprise NTSC format in a preferred embodiment) via broadcast signal lines 28 to a video monitor 30, or via broadcast signal lines 32 to a video recorder 34 and thereafter to video monitor 36. Because the converter 16 accepts inputs from the frame buffer 12 just like a high resolution monitor 14, the converter 16 may be operatively connected to the frame buffer 12, and treated by the frame buffer 12, as if it was a high resolution monitor 14. Such connection is well known in the art. 
     The converter 16 may accept graphics image signals in 1280×1024 pixel, 60 Hz, non-interlace RGB format and may convert those image signals to broadcast video signals (e.g. NTSC signals) or low-resolution RGB signals, using at least some information from each input pixel. The converter 16 may also accept graphics image signals in 1024×1024 pixel or 1024×768 pixel format. It should be clear to one of ordinary skill in the art that other and further input graphics image signal formats may be accepted and converted, and such variations will become clear after an examination of the specification, the drawings, and the claims herein. 
     In addition to altering resolution of the input image signal, the converter 16 may alter the aspect ratio of the image signal, e.g. making a dimension of the output image signal differ by a programmable amount such as by 2:1 or by 16:7, from the input image signal. The converter 16 is not limited to altering dimensions by small integer ratios. 
     FIG. 2 is a block diagram of an image converter embodying the invention. A three-part RGB picture signal, which may comprise a 1280×1024 pixel, 60 Hz, non-interlace RGB signal, is input at nodes 102 (R), 104 (G), and 106 (B) and transmitted to inputs 108 (R), 110 (G), and 112 (B) respectively of a summing matrix 114. The summing matrix 114 generates Y, I, and Q signals at outputs 116 (Y), 118 (I), and 120 (Q) respectively by use of Y, I and Q summing op-amps respectively, as is well known in the art. The Y, I, and Q signals may be calculated as linear weighted sums of the R, G, and B signals, as is well known in the art, according to the linear equations: 
     
         Y=0.299 R+0.587 G+0.114 B 
    
     
         I=0.596 R-0.274 G-0.322 B 
    
     
         Q=0.211 R-0.522 G+0.311 B 
    
     The Y signal from Y output 116 is transmitted to a Y anti-alias filter 122, which generates a filtered Y signal on line 124. Filtering by an anti-alias filter is desired so that later digitizing of the signal by a D/A will not generate false images of frequency components which exceed the sampling rate, as is well known in the art. In a preferred embodiment, the Y signal is digitized by sampling at a rate of about 60 MHz, thus the Y anti-alias filter 122 filters accordingly, with a cut-off frequency of about 17 MHz and reaching at least 46 db attenuation at 30 MHz, as is well known in the art. In a preferred embodiment, the Y anti-alias filter 122 is a delay equalized filter or a linear phase filter, to minimize time-domain distortion or phase distortion, as is well known in the art. 
     The Q signal from Q output 120 is transmitted to a Q filter 126, filtered, and summed at node 128 with the I signal from I output 118 to produce a filtered I/Q output on line 130. In a preferred embodiment, the Q signal is filtered to meet NTSC requirements by reducing its bandwith to about 2 MHz. 
     This filtering characteristic corresponds to the Q filtering characteristic specified by the NTSC standard, increased by a factor of about 4.1, based on the ratio of the input sample rate (60 MHz) to the output sample rate (14.31818 MHz) of the converter 16. 
     The filtered I/Q output on line 130 is transmitted to a I/Q anti-alias filter 132, filtered, and summed at node 134 with the filtered Y signal from line 124 to produce a combined analog signal on line 136. This filtering characteristic corresponds to the I filtering characteristic specified by the NTSC standard, increased by the same factor as the Q filtering characteristic. Although the Q signal is operated on by both the Q filter 126 and the I/Q filter 132, the resultant Q signal is not significantly different from the NTSC requirements, as increased by the factor of 4.1 noted above. 
     In a preferred embodiment, the I and Q signals are digitized by sampling at a rate of about 30 MHz, and the I/Q anti-alias filter 132 filters accordingly, with a cutoff frequency of about 6 MHz. The Q filter 126 and I/Q filter 132 are chosen to achieve an I bandwidth of about 1.5 MHz and a Q bandwidth of about 0.5 MHz in the broadcast video output, as specified in the NTSC standard and as is well known in the art. 
     Summing elements 128 and 134 combine the Y, I, and Q signals for input to an A/D 146. As noted with respect to summing matrix 114, Y, I, and Q signals 116 (Y), 118 (I), and 120 (Q) are computed by use of Y, I, and Q summing op-amps respectively in summing matrix 114. Selection of Y, I, and Q signals is performed by muting each summing op-amp, as is well known in the art, in sequence so that only one Y, I, or Q signal reaches A/D 146 at a time. Control of Y, I and Q op-amp muting is performed in response to control signals on line 148 from buffer controller 152. 
     Horizontal (HSYNC) and vertical (VSYNC) synchronization signals are input at nodes 138 and 140 respectively and transmitted to a timing generator 142, which generates an A/D clock on line 143 and a controller clock on line 144. A preferred embodiment may also include circuitry to separate HSYNC and VSYNC signals from a composite synchronization signal input or a composite ¢sync-on-green&#34; input, as is well known in the art. In a preferred embodiment, timing generator 142 generates a 60 MHz main clock by phase locking that main clock to 960 times the HSYNC signal with a phased-locked loop, as is well known in the art. The 60 MHz main clock is used to generate an A/D clock on line 143, a controller clock on line 144 and a set of line buffer clocks on bus 145. 
     The A/D clock on line 143 is 60 MHz, and allows A/D 146 to sample the analog signal on line 136 at a 60 MHz rate. The controller clock on line 144 is generated by dividing the main clock by 4, and allows the buffer controller to operate at 15 MHz. Bus 145 propagates a set of four 15 MHz clocks, each delayed by one main clock cycle time from the others, to line buffer 150. This allows line buffer 150 to demultiplex a set of four samples from A/D 146, as is well known in the art. Timing generator 142 also receives a 14.31818 MHz clock from an NTSC timing generator 210, for directing output from line buffer 150, and propagates that clock to buffer controller 152. 
     An A/D 146, in sequence with the A/D clock from line 143, samples the analog signal from line 136 to generate a digital composite signal on line 148, as is well known in the art. In a preferred embodiment, A/D 146 may include DC restore circuitry, for removing the DC component of the composite analog signal prior to conversion, as is well known in the art. 
     A line buffer 150 receives the digital composite signal from line 148 and records Y, I, and Q data samples from that signal for two complete horizontal scan lines. A buffer controller 152, in sequence with the controller clock from line 144, generates address signals on line 154 to indicate where in memory the line buffer 150 should store each data sample. The buffer controller 152 also generates signals on line 154 to indicate when the line buffer 150 should read out Y, I, and Q data samples as the signals Y0, Y1, I/Q0, and I/Q1, on lines 156a-d respectively. Thus, the line buffer 150 effectively converts a 60 MHz, 8-bit set of data values on input to a 14.31818 MHz, 32-bit set of data values on output. 
     The line buffer 150 is organized as 256 planes of memory, each plane comprising 4×4 locations of 8-bit values (&#34;bytes&#34;). Each byte is an 8-bit sample value which was received from A/D 146 via line 148. As the line buffer 150 records Y, I, and Q values from two horizontal scan lines, each plane records two Y values, one I value, and one Q value. Half of all I/Q values are discarded because I/Q are sampled only half as often as Y. 
     Each plane records Y, I, and Q values as shown in the following table. Y0, I0, and Q0 are samples from the first of two scan lines, and Y1, I1, and Q1 are samples from the second of two horizontal scan lines. Yx.0-3 are the 0th, 1st, 2nd, and 3rd bytes of the Y0 scan line. The next byte plane repeats this pattern with the Yx.4-7, Ix.4-7, and Qx.4-7 values. Each set of values is read in horizontally, starting at successive offsets, starting at the first (underlined) diagonal: 
     
         ______________________________________Y0.0         Y0.1       Y0.2       Y0.3Y1.3         Y1.0       Y1.1       Y1.2I0.2         Q0.3       I0.0       Q0.1Q1.1         I1.2       Q1.3       I1.0______________________________________ 
    
     Each set of values is read out in a diagonal, starting at successive offsets, as shown in the following table. Each set of values is then unscrambled by a shifter array which rotates the output word by 0, 1, 2, or 3 bytes successively to produce separate Y0, Y1, I/Q0, and I/Q1 values on lines 156a-d. The line buffer 150 is organized this way so that Y, I, and Q values may be quickly read into the line buffer 150 from A/D 146, and may be equally quickly read out from the line buffer 150 as the signals Y0 (comprising successive Y0.x values), Y1 (comprising successive Y1.x values), I/Q0 (comprising alternating I0.x and Q0.x values), and I/Q1 (comprising alternating I1.x and Q1.x values) on lines 156a-d respectively. 
     
         ______________________________________Y0.0         Y1.0       I0.0       I1.0Q1.1         Y0.1       Y1.1       Q0.1I0.2         I1.2       Y0.2       Y1.2Y1.3         Q0.3       Q1.3       Y0.3______________________________________ 
    
     In a preferred embodiment, the buffer controller 152 may be implemented as a ROM based state machine which is sequenced by the controller clock signal on line 144. The state machine cycles through states indicating that Y0, Y1, I0, I1, Q0, and Q1 values are being sampled and then waits for another set of samples. At each state the buffer controller 152 directs summing matrix 114, via control lines 1488, to unmute the Y, I, or Q summing op-amp for a respective data value, i.e. a Y0, Y1, I0, I1, Q0, or Q1 data value, and directs A/D 146 to store those sample values in successive memory locations (discarding alternate I and Q values, as noted above). 
     The buffer controller 152 divides the controller clock from line 144 by 240 (thus dividing the main clock by 960) to provide a reference horizontal synchronization signal on line 146 for timing generator 142, as is well known in the art. A counter register 153 generated in this clock division is decoded to produce control signals on line 154 for line buffer 150. These control signals simply direct which memory circuits in line buffer 150 store data at any given time, and a workable decoding scheme would be clear to one of ordinary skill in the art after perusal of the memory organization of line buffer 150. 
     The buffer controller 152 cycles through either states: &#34;WAIT&#34;, &#34;Y0&#34;, &#34;Y1&#34;, &#34;I0&#34;, &#34;I1&#34;, &#34;Q0&#34;, &#34;Q1&#34;, and &#34;FIN&#34;, one state per reset of the counter register 153 to zero. The &#34;WAIT&#34; state causes the buffer controller 152 to wait for a signal from microprocessor 158 indicating that the desired horizontal scan line has been reached and is available for sampling. The &#34;Y0&#34;, &#34;Y1&#34;, &#34;I0&#34;, &#34;I1&#34;, &#34;Q0&#34;, and &#34;Q1&#34; states direct the line buffer 150 to record Y0, Y1, I0, I1, Q0 and Q1 data respectively. The &#34;FIN&#34; state does no operation, and is present to provide a short time delay. 
     Successive memory locations are successive bytes within a row, successive rows within a plane, and successive planes in the line buffer 150. To count successive locations, the buffer controller 152 may comprise a 12 bit counter which counts the number of samples for each horizontal scan line, and may be incremented by each horizontal pixel pulse and cleared by each vertical pixel pulse. 
     When the buffer controller 152 is in the &#34;WAIT&#34; state, a microprocessor 158 may direct it to read data out of line buffer 150 in conjunction with the 14.31818 MHz clock from timing generator 142. Readout proceeds by use of a counter register 154, which counts through data stored in the line buffer 150 in the order disclosed above. 
     Each of the signals Y0, Y1, I/Q0, and I/Q1, on lines 156a-d respectively, is transmitted to multipliers 162, 164, 166, and 168 respectively, which multiply their sample values by weight factors received from microprocessor 158 via lines 160 to generate outputs 170, 172, 174, and 176 respectively. Although I and Q are multiplexed as I/Q signals, they each have their own weight factors. Pairs of outputs 170 and 172 are summed by adder 178 and then summed by adder 180 with a feedback Y value on line 184 to produce an averaged Y value on line 182. The averaged Y value on line 182 is transmitted to a Y frame buffer 202, which records that value in a location specified by microprocessor 158 and recorded in Y row counter 194, and provides the feedback Y value on line 184. The feedback Y value is the value of Y from the previous entry in the Y frame buffer 202 for the horizontal scan line being averaged. 
     Similarly, pairs of outputs 174 and 176 are summed by adder 186 and then summed by adder 188 with a feedback I/Q value on line 192 to produce an averaged I/Q value on line 190. The averaged I/Q value on line 190 is transmitted to an I/Q frame buffer 204, which records that value in a location specified by microprocessor 158 and recorded in I/Q row counter 196, and provides the feedback I/Q value on line 192. The feedback I/Q value is the value of I or Q from the previous entry in the I/Q frame buffer 204 for the horizontal scan line being averaged. Y frame buffer 202 and I/Q frame buffer 204 operate under control of timing signals transmitted by timing generator 206 via lines 208, as is well known in the art. 
     Computation of the averaged Y value for line 182 and the averaged I/Q value for line 190 allows averaging of Y, I, and Q for multiple horizontal lines of image pixels. In a preferred embodiment, conversion of about 1024 input lines to about 465 output lines leads to averaging of about 21/2 input lines per output line. However, it will be clear to one of ordinary skill in the art that almost any number of input lines may be averaged to produce a single output line, and that each input line may be used to compute an average for more than one output line. Other and further variations would also work in the present invention, and such other and further variations would become clear to one of ordinary skill in the art after examination of the specification, the drawings, and the claims herein. 
     An NTSC timing generator 210 generates a color carrier signal on line 212, which is transmitted to output node 214 and to digital chroma modulator 216, a CSYNC signal on CSYNC/CBLANK bus 218, which is transmitted to output node 220 and to Y D/A 222, and a CBLANK signal on CSYNC/CBLANK bus 218, which is transmitted to output node 221 and to Y D/A 222. The digital chroma modulator 216 may generate a digital chroma signal on line 224, which is transmitted to I D/A 226. 
     The digital chroma signal on line 224 may comprise a signal in the form I * sin (wt) +Q * cos (wt), as generally required by the NTSC broadcast image format. At the frequency for computation of this signal which is employed in the present invention, it will be clear to one of ordinary skill in the art that this computation is simply made by multiplexing alternate values of the I and Q signals, as shown in the following table: 
     
         ______________________________________I * sin (wt)     +I,    0,     -I,  0Q * sin (wt)     0,     -Q,    0,   +Qtotal chroma     +I     , -Q,  -I,  +Q______________________________________ 
    
     The Y D/A 222 generates an analog Y signal on line 230; the I D/A 226 generates an analog I signal on line 232; and the Q D/A 228 may generate an analog Q signal on line 234. The analog Y signal on line 230 and the analog I signal on line 232 are summed at node 236 and the total filtered by a reconstruction filter 238 to produce a composite video signal on line 240, which is transmitted to output node 242. The analog Y signal on line 230, the analog I signal on line 232, and the analog Q signal on line 234 are transmitted to inputs 244 (Y), 246 (I), and 248 (Q) respectively of a summing matrix 250. The summing matrix 250 generates R, G, and B signals at outputs 252 (R), 254 (G), and 256 (B) respectively, which are then transmitted to output nodes 258, 260, and 262 respectively. The R, G, and B signals may be calculated as linear weighted sums of the Y, I, and Q signals, as is well known in the art. 
     When producing an NTSC signal for output (this is the normal mode of operation in a preferred embodiment) the Q D/A 228 is disabled and the I D/A 226 produces the complete chroma signal for NTSC output. Output from the Q D/A 228 is not required and is thus not included in the composite signal which is filtered by the reconstruction filter 238. When producing an RGB signal for output, both the I D/A 226 and the Q D/A 228 are active; the digital chroma modulator 216 is unnecessary and is thus disabled and propagates only I values. 
     While a presently preferred embodiment has been disclosed herein, many variations are possible which remain within the scope of the invention.