WO1991003903A1 - A digital circuit for creating area dependent video special effects - Google Patents

A digital circuit for creating area dependent video special effects Download PDF

Info

Publication number
WO1991003903A1
WO1991003903A1 PCT/US1990/005142 US9005142W WO9103903A1 WO 1991003903 A1 WO1991003903 A1 WO 1991003903A1 US 9005142 W US9005142 W US 9005142W WO 9103903 A1 WO9103903 A1 WO 9103903A1
Authority
WO
WIPO (PCT)
Prior art keywords
image
look
pixel
green
value
Prior art date
Application number
PCT/US1990/005142
Other languages
French (fr)
Inventor
Kenneth Alan Parulski
John Alan Vincent
Original Assignee
Eastman Kodak Company
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Eastman Kodak Company filed Critical Eastman Kodak Company
Publication of WO1991003903A1 publication Critical patent/WO1991003903A1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N9/00Details of colour television systems
    • H04N9/64Circuits for processing colour signals
    • H04N9/74Circuits for processing colour signals for obtaining special effects
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/222Studio circuitry; Studio devices; Studio equipment
    • H04N5/253Picture signal generating by scanning motion picture films or slide opaques, e.g. for telecine
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/222Studio circuitry; Studio devices; Studio equipment
    • H04N5/262Studio circuits, e.g. for mixing, switching-over, change of character of image, other special effects ; Cameras specially adapted for the electronic generation of special effects

Definitions

  • This invention relates to the field of digital video processing and, more specifically, to the application of digital special effects on video images.
  • Background Art When converting film images for video display, it is often desirable to add special features which make the video images more appealing or instructive.
  • One example of such a feature is disclosed in U.S. Patent No. 4,506,300, "Film Video Player with Zoom, Scan, and Automatic Border
  • This system incorporates a means for optically "zooming and scanning" the image in order to display only the desired portion of a film image on the video display.
  • Other features more pertinent to this invention are incorporated in the SV5035 "Slide/Video Transfer Unit” manufactured by the Eastman Kodak Company, Rochester, N.Y.
  • a pointer can be used to indicate an important area in the image.
  • this device uses programmable digital random access memory (RAM) look-up tables to process the red, green, and blue (RGB) video signals, the appearance of the entire image can be altered by the user in a number of different ways by loading different "curveshapes" into the RAM.
  • RAM programmable digital random access memory
  • the image can be made brighter or darker, or converted to shift the overall color balance towards red, green, or blue. Alternately, the image can be given a "posterized” appearance by programming the look-up tables to coarsely quantize the RGB video signals with, for example, 2 bits each for red, green, and blue, creating an image with only 64 distinct colors.
  • the look-up tables can also be programmed to provide "false color” video images, where the colors in the image stored on film are intentionally distorted.
  • this unit incorporates RAM look-up tables with multiple "pages" of memory, it is possible to immediately switch from one RAM look-up table curveshape to another, thus allowing the appearance of a still film image to take on a dynamically varying posterized or false color effect.
  • the special effects just described affect the entire image. It is often desirable to manipulate video images so that different areas of the image are affected in different ways. A number of products can be attached to the output of film to video converters to accomplish such area-dependent manipulations.
  • One example is the "Fotovix Editor", manufactured by Tamron Co., Ltd., 1385 Hasunama, Omiya, Saitama, Japan, which incorporates a number of special effects features which are useful for enhancing the video presentation of film originated images.
  • One such feature is a "masking" mode which allows the user to select a central video image and surround the image with a neutral colored border so that only the desired center portion of the image, in the desired image aspect ratio, can be viewed.
  • a second group of products which can accomplish such manipulations include "video production switchers” such as the model 100 manufactured by Grass Valley Group, Postbox 1114, Grass Valley, CA.
  • Such switchers incorporate color background generators which allow color masks of user selectable size, shape, and color to surround the central video image. They include many other special effects features as well.
  • the present invention allows video images to be manipulated in a simple manner such that different user defined areas of the image are affected in different user defined ways, by using different RGB look-up table curveshapes for the different image areas.
  • the invention allows a number of "special effects” features, normally associated with expensive video "production switchers", to be implemented in a very simple and inexpensive manner as an integral part of a film to video converter.
  • the digitized RGB image from the scanned film addresses a RAM (random access memory) with enough address locations to allow multiple RGB curveshapes to be stored at the same time.
  • the RGB curveshapes are programmed by a microprocessor which selects different curveshapes for different effects.
  • the user indicates the position of a desired rectangular border region in the video image using a set of pushbuttons, for example.
  • the size and location of the rectangle are controlled by the user via a microprocessor which communicates with the system timing circuit.
  • the system timing circuit controls which of the RAM RGB look-up table curveshapes is used.
  • RGB look-up table curveshapes One set of RGB look-up table curveshapes is used inside the user defined rectangular region, and a second set of RGB look-up table curveshapes is used outside of this region. Depending on how the two RGB look-up table curveshapes are programmed, different special effects features can be created.
  • the "special effect" output image will have a uniform colored border surrounding a rectangular region with a normal video image.
  • the border color depends on the output RGB digital value programmed into the outside RGB look-up table curveshape.
  • the outer region curveshape can be programmed to make the outer image appear darker than the inner image region, thus highlighting the inner region in order to attract attention to it.
  • one of the two regions could be programmed to provide posterization or false color. This technique can be extended to define two or more regions with more arbitrary shapes, rather than rectangles.
  • FIG. 1 shows the correct alignment of the drawing sheets for Figs. 1A-1D;
  • Figs. 1A-1D collectively depict a diagram of a film to video transfer system 100 that embodies the teachings of the present invention;
  • Figs. 2A-2C depict special effects video images
  • Fig. 3 shows how a rectangular special effects window region in the image is defined
  • Fig. 4 is a block schematic drawing of the timing circuit used to generate the special effects window signal for the film to video transfer system of Fig. 1;
  • Fig. 5 is a flow diagram of the microprocessor program used to create the special effects window.
  • system 100 incorporates a light path for scanning a color image stored, for example, on a transparency.
  • This light path includes light source 5, typically a suitable tungsten-halogen lamp, which generates light that subsequently travels through light diffuser 103, transparency 10, color balancing filter 110, adjustable iris 113, blurring filter 117 and finally impinges upon CCD area imager 20.
  • light source 5 typically a suitable tungsten-halogen lamp, which generates light that subsequently travels through light diffuser 103, transparency 10, color balancing filter 110, adjustable iris 113, blurring filter 117 and finally impinges upon CCD area imager 20.
  • light diffuser 103 which is typically a ground glass light diffuser, diffuses the intense light produced by the light source to provide substantially uniform illumination in two-dimensions across the transparency.
  • the resulting light that passes through transparency 10 strikes color balancing filter 110 which, typically fabricated from blue tinted glass, attenuates the red and green components of the image in order to compensate for the spectral response of the CCD area imager. If -6- this filter were eliminated, then for white light, the red and green channels provided by the imager would very likely saturate before any significant useful data were generated in the blue channel.
  • Adjustable iris 113 which is positioned behind the transparency, through the size of its aperture regulates the amount of light which passes through the transparency and strikes the imager.
  • the aperture size is controlled by aperture adjust motor 120 in response to a suitable power signal from motor controllers 194.
  • the controllers are provided with appropriate signals, to open or close the aperture by a predetermined incremental amount, from micro-controller 180 located within system 100.
  • Light emanating from iris 113 strikes blurring filter 117 after which this light then impinges directly onto CCD imager 20.
  • CCD imager 20 produces an analog output signal in which each pixel in this signal provides a value of one of the three primary colors that occur at a separate corresponding pixel in the image, with specifically a red or blue pixel value followed by three successive green pixel values.
  • the output of the imager can thus be said to be a stream of single color pixels.
  • the particular imager used is a 484 line by 570 pixel KAI-0280 Imager with a 3-Green Color Filter Array as manufactured by the Eastman Kodak Company located in Rochester, New York.
  • Blurring filter 117 is a magenta-white-white-magenta filter that blurs red and blue information in the image more than it does green information in order to limit the spectral bandwidth of the scanned light and by doing so substantially reduce aliasing that might otherwise appear in the output of the CCD imager.
  • the imager operating at a clock rate of 10.7 MHz, is controlled by various well-known timing and control signals provided by timing generator gate array 200 and applied to the imager via leads 202.
  • the reader is referred to United States patent 4,663,661 (issued to J. A. Weldy et al on May 5, 1987) for a detailed discussion of the operation of the CCD imager and blurring filter 117.
  • Timing generator gate array 200 fabricates suitable timing and control signals to control the sequencing of operations undertaken by system 100.
  • Oscillator 150 provides clock pulses that occur at a fixed frequency of twelve times the well-known NTSC color subcarrier frequency, i.e. 12 * 3.5895 MHz or approximately 42.95 MHz, via lead 155, to gate array 200.
  • the resulting linear analog pixel values produced by the CCD imager are now digitized and then converted into the compressed log exposure domain. Specifically, under control of suitable timing and control signals generated by timing generator gate array 200 and appearing on leads 203, sample and hold 123 repetitively samples the analog output of the imager and then holds the resulting sampled value for a fixed predetermined period of time. The resulting single color analog sample is then amplified by amplifier 125 and provided to an analog data input of analog-to-digital (A/D) converter 128. This converter, under control of suitable timing and control signals appearing on leads 204 generated by timing generator gate array 200, converts each analog sample into an equivalent eight-bit digital value.
  • A/D analog-to-digital
  • Each of these linear digital values, appearing in parallel fashion on leads 130, is then applied to a data input of look-up table 135.
  • This table implemented in read only memory (ROM) , contains pre-defined compressed logarithmic function 138b in eight-bit resolution.
  • ROM read only memory
  • resulting compressed logarithmic function 138b shown in graphical form, approximates an ideal logarithmic function for relatively high level input values and deviates through a non-zero offset value from ideal logarithmic function 138a, shown in dotted lines, for relatively low level input values so as to provide a degree of data compression.
  • This compression advantageously provides a noticeable degree of noise suppression at low light values at the expense of a slight loss in color fidelity at these low levels.
  • the eight-bit log exposure pixel values produced by look-up table 135 are routed by leads 140 to an input of missing green pixel interpolation gate array 210.
  • Missing green pixel interpolation gate array 210 provides three functions. Defect correction function 211 implements one of these functions; while the remaining two functions are implemented within missing green pixel interpolation function 216. First, whenever a defective pixel location is scanned, this gate array, in conjunction with defective pixel ROM 160, substitutes the color value associated with an immediately prior pixel of the same color as that of the present pixel for the value of the present pixel. Thereafter, the gate array calculates the green value associated with each non-green pixel value.
  • This calculated green value is then appropriately inserted at the proper time interval into a stream of eight-bit green values that appears on leads 218 and collectively forms a green color plane which contains a green value for each pixel produced by CCD area imager 20.
  • the gate array provides a parallel nine-bit value, on leads 217, that represents the color difference that occurs between the non-green (i.e. red or blue) value and the missing green pixel value associated with this non-green image pixel.
  • Timing generator gate array 200 generates and, via leads 169, applies suitable timing signals to control the operation of missing green pixel interpolation gate array 210.
  • the performance of CCD area imager 20 is determined through appropriate testing.
  • a defective pixel location is assumed to be any pixel location at which the output voltage produced by the CCD imager produces a corresponding optical intensity that is excessively bright or dim. These locations, particularly those that remain excessively bright, when displayed over several frames of an image scanned by this CCD imager, become, over time, very noticeable and quite annoying to a viewer.
  • the relative locations of all defective pixels are stored in a look-up table in defective pixel ROM 160.
  • timing generator gate array 200 produces suitable pixel clock and addressing signals on leads 163.
  • Defect correction function 211 in response to this level and the prior pixel value, substitutes the color value associated with this immediately prior pixel for that of the present defective pixel.
  • a resulting corrected stream of eight-bit single color pixel values is routed over eight-bit path 214 to missing green pixel interpolator function 216. Missing green pixel interpolator function 216 calculates the green pixel value that is associated with each non-green, i.e. red or blue, pixel value.
  • non-green i.e. red or blue
  • missing green pixel interpolator function 216 also provides, for each non-green image pixel value, a nine-bit value on leads 217 that represents the color difference, in two's complement form, that occurs between that non-green (i.e., blue or red) image pixel value and the missing green pixel value corresponding thereto.
  • the values appearing over leads 217 and 218 occur substantially simultaneously and are routed directly and through respective single line delay elements 220 to chroma interpolator gate array 230.
  • Chroma interpolator gate array 230 shown in Fig. IB, interpolates color difference values in both horizontal and vertical directions in order to transform the scanned image from single color pixel values into a reconstructed image that contains three full color planes.
  • each pixel in the reconstructed image has separate log exposure values for the red, green and blue color content that occurs at the same corresponding pixel location in the scanned image.
  • chroma interpolator gate array 230 also provides edge enhancement and coring to sharpen image edges and suppress high frequency, low amplitude image noise.
  • chroma interpolator gate array 230 implements vertical color difference interpolator function 232, edge enhancement and coring function 235 and horizontal chroma interpolation and recombination function 237.
  • Vertical color difference interpolator function 232 determines both red-green and blue-green color differences for each green image pixel value that is vertically situated between two of the same type of color difference values. For example, to provide vertically interpolated blue-green pixels, the vertical color difference interpolator function would determine the vertically interpolated blue-green color difference value associated with the green pixel value by averaging vertically adjacent blue-green color difference values.
  • vertical color difference interpolator function 232 shown in Fig. IB, would similarly and successively determine interpolated red-green color difference values for all green pixels situated at locations that are vertically positioned between pixel locations occupied by two red-green color difference values.
  • Color difference values are separately though identically determined for the blue-green and red-green color differences and occur in proper temporal sequence on leads 233 and 234, as shown in Fig. IB, and occur coincident with corresponding enhanced green pixel values that occur on leads 236, thereby substantially simultaneously generating vertically interpolated B-G and R-G values and enhanced green values.
  • vertical color difference interpolator 232 utilizes color difference values that are associated with the current scan line, i.e. scan line n, and those that are associated with the immediately prior and next preceding scan lines, i.e. scan lines n-1 and n-2. As such, color difference values are directly applied over leads 217 to one input of vertical color difference interpolator function 232 situated within gate array 230 and also successively through separate one line array elements 222 and 224. The nine-bit outputs of delay elements 222 and 224, which respectively occur at delays of one or two scan lines, are separately applied over leads 225 and 227, respectively, to separate inputs of vertical color difference interpolator function 232.
  • edge enhancement and coring function 235 This function provides edge enhancement and coring on all the green pixel values which includes both the green pixel values that were generated by the CCD imager and the missing green pixel values determined by missing green pixel interpolator function 216.
  • Edge enhancement and coring occurs at levels defined by two parameters loaded by micro-controller system 180, via serial link 181, as shown in Figs. 1A-1D, into edge enhancement and coring function 235. The value of one of these parameters specifies the level of edge enhancement; while the value of the other parameter specifies the coring level, i.e. a threshold level below which undesirable image noise is said to occur.
  • Line delay 226 is used to delay the incoming green pixel values applied to edge enhancement and coring function 235 by an interval equivalent to one scan line. This delay is necessary to maintain proper temporal synchronization between each enhanced green pixel value produced by function 235 and appearing on leads 236 and each color difference value produced by function 232 and appearing on leads 233 and 234.
  • One line delay elements 222, 224 and 226 are each implemented through illustratively a 570 location eight-bit shift register that operates at the pixel clock frequency.
  • the synchronized red-green and blue-green color difference values along with the substantially simultaneously occurring and corresponding enhanced green pixel values are applied over leads 233, 234 and 236, respectively, to horizontal chroma interpolator and recombination function 237.
  • all the blue-green color difference values, including those found through vertical interpolation are themselves horizontally interpolated to yield a value for each of the pixel locations associated with three green image pixels that are horizontally situated to the right.
  • the three pixel locations, situated to t e right of any given pixel locations that contains a B-G color difference (including a vertically interpolated value) are assigned a decreasing fractional B-G color difference value equal to .75, .5 and .25 of the B-G color difference value occurring at the given pixel location.
  • the same horizontal interpolation process for red-green color difference values occurs within function 237, shown in Figs. 1A-1D, for the three pixel locations that would be horizontally situated to the left of a pixel location associated with a R-G color difference value.
  • each pixel location would have three values associated with it: a red-green color difference value, a blue-green color difference value and an enhanced green pixel value.
  • a recombination function provided by horizontal chroma interpolator and recombination function 237 separately adds the eight-bit enhanced green value associated with that pixel to each of the two eight-bit color difference values that are associated with that pixel.
  • three resulting separate enhanced eight-bit log exposure values i.e. enhanced blue value, enhanced red value and enhanced green value
  • Timing generator gate array 200 generates and, via leads 209, applies suitable timing signals to control the operation of chroma interpolator gate array 230.
  • color correction accumulator 240 calculates an accumulated log exposure value for each group of 56 horizontally contiguous pixels in any scan line. Inasmuch as an active scan line contains 560 pixels that are used for color correction, ten such groups of 56 pixels occur along a scan line. Owing to signal processing delays that occur within the CCA, the CCA, under control of micro-controller 180, accumulates two specific groups of pixels for any one color within any scan line. Five scans are required for the CCA to fully accumulate all the pixel groups for each color; thereby necessitating the need for fifteen separate substantially identical scans, as noted above, of the image on transparency 10 in order to accumulate pixel groups for the three primary colors, red, green and blue.
  • the accumulated value for each accumulated pixel group is provided by CCA 240, via eight-bit parallel data output leads 243, to micro-controller system 180.
  • the operation of the CCA is synchronized to that of CCD imager 20, sample/hold 123, A/D converter 128, gate arrays 210 and 230 by various timing and control signals produced by timing generator gate array 200 and appearing on leads 206 and 208.
  • the specific groups of 56 pixels that are accumulated on any scan line are specified by the value of three BLOCK SELECT bits that are supplied from the micro-controller system, via eight-bit control leads 184, to CCA 240 and, via leads 185, to timing generator gate array 200.
  • the micro-controller After all pixel accumulations have occurred for an image scan, the micro-controller changes the values of these bits, during an ensuing composite (vertical and horizontal) blanking interval, in order to select the appropriate pixel groups that are to be accumulated during the next scan of the image.
  • the micro-controller also specifies to the CCA, via leads 184, which particular primary color (R, G or B) pixels it will accumulate.
  • the CCA accumulates pixel values for a selected color as long as a BLOCK ID pulse from timing generator 200, that appears on leads 208 and is routed via leads 207 to the micro-controller system, remains high. As soon as 56 successive pixels have occurred, the timing generator terminates this pulse.
  • the trailing edge of this pulse causes an interrupt to the micro-controller system and by so doing signifies that an accumulated pixel value data is available at the output of CCA 240 to be subsequently read by the micro-controller.
  • the BLOCK ID pulse when high, defines an accumulation window for use by the CCA.
  • the timing generator temporally offsets the start of the accumulation window for a corresponding interval of time appropriate to the given pixel group that will be accumulated next.
  • timing generator gate array 200 for use in appropriately synchronizing the operation of CCA 240: a pulse, HORIZ CLOCK, that occurs at the start of every scan line (i.e. at approximately a 15.75 KHz rate); a timing pulse, VERTICAL INDEX, that occurs at the start of every scan; a pixel clock signal, PIXEL CLOCK, that provides a pulse coincident with the occurrence of a pixel; and the ACTIVE VIDEO signal which, when high, indicates pixels occurring within a central 560 pixel by 240 line region within the scanned image.
  • timing generator gate array 200 provides the VERTICAL INDEX signal and a COMPOSITE BLANKING signal, via leads 206 and 207, to the micro-controller system.
  • This blanking signal indicates the start of the composite blanking interval for each image scan.
  • the CCA is configured and envoked by the micro-controller system through suitable control signals supplied over eight-bit parallel leads 184.
  • the micro-controller calculates and stores local average values for all the pixel groups, or "paxels", that collectively form an image scan. Thereafter, once all the local average values have been stored, the micro-controller converts all the local averages to the printing density domain. The printing density domain local average values are then used by the micro-controller in calculating appropriate red, green and blue offset correction values in the printing density domain. Next, the micro-controller converts the three printing density domain color correction offset values into the log exposure domain.
  • the CCA also contains three color offset registers.
  • unidirectional serial link 183 runs from the micro-controller to CCA 240.
  • the micro-controller In conjunction with serial clock pulses generated by the micro-controller and appearing on lead 182, the micro-controller is able to load an appropriate color correction offset value into any of the three color correction. offset registers within the CCA. Consequently, once the micro-controller system has converted the three printing density domain color correction offset values into the log exposure domain, the micro-controller system then serially loads the three resulting log exposure color correction offset values, via lead 183, into appropriate offset registers within CCA 240 for subsequent use in color balancing a subsequent scan of the image.
  • the system can also automatically set the aperture within iris 113 to achieve a proper level of illumination for the particular image being scanned and hence control image brightness.
  • CCA 240 once suitably instructed by micro-controller system 180, also provides the function of determining the maximum pixel value that occurs within a segment of a scan line. With this information, the micro-controller is then able to determine the maximum pixel intensity value that occurs throughout a paxel.
  • the CCD imager is instructed by the micro-controller system to scan transparency 10 that has been placed into the light path.
  • the CCA in conjunction with the micro-controller provides the maximum pixel values produced by the CCD imager for a number of paxels that occur throughout the scanned image area. Based upon whether a pre-defined number of maximum pixel values, here illustratively 3% of the total number of maximum pixel values obtained, exceed a given eight-bit threshold value, here the decimal value "240" out of a maximum value of "255", the micro-controller will generate a suitable control signal over leads 193 in order to instruct motor controller 194 to apply appropriate drive voltages to aperture adjust motor 120 in order to incrementally open the aperture. This process iteratively continues until the threshold is reached at which point the aperture will have reached a proper opening. This process is reversed if significantly more than the pre-defined number
  • the CCA once instructed by micro-controller 180, adds the appropriate color correction offset value to every pixel that exists in the corresponding color plane.
  • the resulting color balanced RGB eight-bit log exposure pixel values, R c , Gêt and B c , appearing at corresponding outputs R TM , G_ and B , of the CCA are routed, via leads 245, to respective inputs of multi-paged RAM 250 for gamma correction and creation of area dependent video special effects, if desired.
  • RAM 250 consists of three separate look-up tables 252, 254 and 256 which respectively receive corrected red, green and blue log exposure pixel values and collectively and substantially simultaneously provide corresponding appropriate output red, green and blue pixel values, R C, ⁇ '
  • RAM look-up tables 250 is controlled by control signal 251 designated "WINDOW1A".
  • the WINDOW1A control signal 251 is generated by timing generator gate array 200.
  • the digital value of the WINDOW1A signal 251 is different for areas within and outside of a region defined as a rectangular area in the image. The coordinates which determine the specific positioning of the rectangular region are illustrated in Fig. 3 and discussed in detail below in connection therewith.
  • the WINDOW1A signal 251 selects different pages of the multi-paged RAM look-up tables 250 for regions within and outside of the rectangular window region.
  • the location of the rectangular region in . the image, and the special effects features to be used within the outside of the rectangular region, are selected using user pushbuttons 192, which are connected to micro-controller system 180 via signal lines 191.
  • the micro-controller system 180 programs the multi-paged RAM 250 look-up tables appropriately to achieve the desired special effect using LUT DATA lines 255. For example, to obtain the effect of a red outer rectangular border surrounding a normally-appearing video image, one of the pages of the multi-paged RAM 250 look-up tables are programmed so that all eight-bit digital Re input values to the red look-up table 252 give an output Rc ⁇ equal to eight bit digital value 255.
  • the corresponding pages of the green look-up table 254 and blue look-up table 256 are programmed so that all eight-bit digital Gc and Be input values give Gc ⁇ and Bc ⁇ values equal to 0.
  • the other pages of the red, green, and blue look-up tables 252, 254, and 256 are programmed to provide a normal log to gamma correction curveshape so that the area of the image which uses these look-up table curveshapes appears as a normal video image.
  • the multiple pages of the red, green, and blue look-up tables 252, 254, 256 can be implemented using RAM memories with nine-bit address lines.
  • the most significant bit of the address line is controlled by WINDOW1A signal 251, and the eight least significant bits of the nine-bit address line are controlled by inputs Re, Gc, and Be 245, respectively.
  • the rectangular window region is defined by the digital value of WINDOW1A signal 251 provided by timing gate array 200. If a special effect display is not desired, the window region is defined in such a way that only the normal log to gamma correction curveshapes are used for the entire active video -22- image area.
  • the four boundary edges of the rectangular window are provided as digital coordinate values to timing gate array 200 from a serial port of micro-controller system 180 via SER_DATA and SER_CLK signal lines 201.
  • the specific circuit in the timing gate array 200 which receives the digital coordinate values from signal lines 201 and produces the WINDOW1A signal 251 is illustrated in Fig. 4 and discussed in detail below in connection therewith.
  • the output RGB values from RAM 250 are applied, via leads 259, to color cross-talk matrix gate array 260 for colorimetry corrections.
  • This correction is performed by multiplying the gamma corrected color values for all corresponding RGB pixel values by a 3-by-3 matrix with pre-settable coefficient values.
  • the color cross-talk matrix implements the following equations: R CC " ⁇ C RR * R C ⁇ > + G CC - C RG * R C ⁇ > + B CC - ⁇ C RB * R C ⁇ > + where:
  • R cc , G cc and B cc are the colorimetry corrected red, green and blue pixel values for image pixel (i,j), diagonal coefficients, C-. ⁇ , C Unfortunately principal and
  • C Pain B are programmed to any value, in 1/16 increments, situated either in the range -15/16 to +15/16 or in the range of +1/16 to +47/16, and off-diagonal coefficients, C GR , C_ R ,
  • C RG , C ⁇ G , C RB and C BG are programmed to any value, in 1/16 increments, in the range of -15/16 to
  • the color cross-talk matrix through suitable selection of the coefficients can also provide digital color boost and reduction, and/or contrast (gamma) manipulation.
  • the desired value for each particular coefficient is loaded, via leads 263, by micro-controller system 180.
  • the specific values to be used are chosen based upon regression analysis of the chromatic response of film and the phosphors in a typical video display monitor.
  • the colorimetry corrected red, green and blue pixels provided by color cross-talk matrix gate array 260 are routed over leads 265 to digital to analog (D/A) converters 270 which includes separate D/A converters 272, 274 and 276 for the red, green and blue values appearing on leads 265.
  • D/A converters 270 digital to analog converters 270 which includes separate D/A converters 272, 274 and 276 for the red, green and blue values appearing on leads 265.
  • These converters convert the eight-bit digital color values into separate corresponding RGB analog video signals.
  • the separate RGB analog video signals are routed through low pass filters 280 which contains separate filters 282, 284 and 286 for the red, green and blue analog signals.
  • the analog RGB video signals are applied over leads 283, 285 and 287, respectively, to corresponding amplifiers 294, 296 and 298 situated within amplifiers 290. These amplifiers provide buffering and sufficient drive capability to these analog signals.
  • the separate RGB analog video signals are applied to respective inputs of NTSC video encoder 175 along with suitable NTSC timing and synchronization signals appearing over leads 205 and generated by timing generator gate array 200.
  • a composite video synchronization signal appearing on leads 205 is also applied to amplifier -24- 292 to impart sufficient drive capability to the signal.
  • the RGB analog outputs, the amplified synchronization signal from amplifiers 290 and the NTSC composite video signal are collectively routed over leads 295 as the analog video output signals available from system 100.
  • Micro-controller system 180 also provides a VCR PAUSE CONTROL signal on lead 186 to appropriately start and stop an external video cassette recorder (VCR) in recording video information for each transferred transparency.
  • VCR video cassette recorder
  • a serial RS-232 port is also provided to the micro-controller system as an interface to an external device, such as a suitable remote computer or dedicated remote control unit.
  • Front panel user pushbuttons 192 connected via leads 191, allow an operator to suitably instruct the micro-controller system to appropriately alter system operation.
  • micro-controller system 180 is interfaced, via leads 189, to LED (light emitting diode) Display 190. This display, typically three 7-segment LED numeric digits, provides a numeric indication of system operation, e.g.
  • Various limit switches provide current positional information over leads 195 regarding the moveable film transport and scanning components within system 100, e.g. whether a slide tray has reached a "home" position, whether the CCD imager is near a home position, whether a slide is in position in the light path and the position of the armatures of the various drive motors, i.e.
  • aperture adjust motor 120 a motor (not- shown) to move a current slide (up/down) into or out of the light path, a motor (not shown) to rotate the slide tray, and slide position motor(s) (also not shown) for incrementally moving a slide situated in the light path in the directions indicated by arrows 107. All these motors are controlled by motor controllers 194 which operate in response to suitable signals appearing over leads 193 and generated by micro-controller system 180.
  • Micro-controller system 180 illustratively uses a model 8031 eight-bit micro-computer currently manufactured by the Intel Corporation of Santa Clara, California as a processing element.
  • the micro-computer contains on-board input/output ports and utilizes external data (RAM) and program (ROM) memory.
  • timing generator gate array 200 All the gate arrays that are used within system 100, notably timing generator gate array 200, missing green pixel interpolation gate array 210, chroma interpolator gate array 230, CCA 240, and color cross-talk matrix gate array 260 are semi-custom gate arrays, i.e. so-called application specific integrated circuits.
  • All these gate arrays are currently manufactured by the Eastman Kodak Company located in Rochester, New York under the following part numbers, with alternate manufacturer designations listed in parentheses: 232830 (G507) for the timing generator, 232826 (G402) for the missing green pixel interpolator gate array, 232827 (G502) for the chroma interpolator gate array, 232829 (G504) for the CCA, and 232828 (G503) for the color cross-talk matrix. All the functions provided by these gate arrays as described above are implemented through appropriate logical functions that have been transformed into custom metallization patterns that interconnect standard digital logic -26- components that exist within these arrays.
  • FIG. 2A there is shown a video display 10 from the output of the film to video transfer system 100 in Figs. 1A-D which depicts one possible special effect feature which can be obtained from this invention.
  • the video display 10 consists of a center rectangular region 20 containing a normal video image scanned from the film transparency 10 of Fig. IA, and an outer border region 30 which is colored red. The location of the borders of the rectangular region is controlled by the user and is defined as shown in Fig. 3 and discussed in detail below in connection therewith.
  • the microsystem controller 180 for pixels in the center region 20 of the video image 10 are programmed by the microsystem controller 180 in Fig.
  • the RED-0 look-up table curveshape 22 GREEN-0 look-up table curveshape 24, and BLUE-0 look-up table curveshape 26 which convert the eight-bit log exposure pixel values R personallyc, Gc legally and Bc on leads 245 in Fig 3 . 1C in order to provide the gamma correction needed to obtain a video image with the proper tone scale.
  • the RED-1 look-up table curveshape 32, GREEN-1 look-up table curveshape 34, and BLUE-1 look-up table curveshape 36 are programmed into a second page of the multi-paged RAM 250 in Fig. 1C to provide a red border region.
  • Every possible eight-bit input value to the RED-1 look-up table 32 give an output value equal to 255
  • every possible input value to the GREEN-1 look-up table 34 and BLUE-1 look-up table 36 give an output value equal to 0.
  • any other border color desired can be provided by programming look-up tables 32, 34, and 36 so that all input values map to the red, green, and blue output values which provide the desired color.
  • the color of the border can be controlled via user pushbuttons 192 in Fig. ID.
  • Fig. 2B depicts a second type of special effect feature which can be obtained from this invention.
  • the video display 40 consists of a center rectangular region 50 containing a video image with a normal brightness level, and an outer region 60 which appears darker. This feature can be usefully employed to draw the viewer's attention towards the brighter region.
  • the RED-0 look-up table curveshape 52, GREEN-0 look-up table curveshape 54, and BLUE-0 look-up table curveshape 56 are programmed into one page of the multi-paged RAM 250 in Fig. 1C to provide normal gamma correction.
  • the RED-1 look-up table curveshape 62, GREEN-1 look-up table curveshape 64, and BLUE-1 look-up table curveshape 66 are programmed into a second page of the multi-paged RAM 250 in Fig. 1C to reduce the brightness of this region. This occurs because the output values are compressed such that all eight-bit output values are significantly less than 255.
  • Fig. 2C depicts a third type of special effect feature which can be obtained from this invention.
  • the video display 70 consists of a center rectangular region 80 containing a video image with a normal appearance, and an outer region 90 which is composed entirely of a small number of distinct colors and therefore appears "posterized".
  • the RED-0 look-up table curveshape 82, GREEN-0 look-up table curveshape 84, and BLUE-0 look-up table curveshape 86 are programmed into one page of the multi-paged RAM 250 in Fig. IC to provide normal gamma correction.
  • the RED-1 look-up table curveshape 92, GREEN-1 look-up table curveshape 94, and BLUE-1 look-up table curveshape 96 are programmed into a second page of the multi-paged RAM 250 in Fig. IC to provide only a limited number of output code values for each color. This occurs because the curveshapes are programmed to be "stairstep" functions where multiple input code values map to the same output code value.
  • Figs. 2A-C depict some particular special effects which may be implemented using this invention, it should be obvious to those skilled in the art that many other special effects, such as false color or tinting, may be provided in either of the rectangular regions of the image by properly programming the multi-paged look-up table 250 of Fig. IC.
  • Fig. 3 depicts a rectangular region 20 referred to as the "window area" within the active video region 10.
  • the digital value of the WINDOW1A signal 251 of Fig. IC is equal to 1 inside the window area 20 and is equal to 0 outside of this window area.
  • the WINDOW1A signal 251 of Fig. IC is generated as shown in Fig. 4 and discussed in detail below in connection therewith.
  • the size and location of the window area 20 are defined by four digital values, the Y Start value 40, Y Stop value - 42, X Start value 50, and X Stop value 52.
  • the Y Start 40 and Y Stop 42 digital values are referenced to the Window Y Reference Line 30 which defines the location of the digital 0 value
  • the X Start 50 and X Stop 52 digital values are referenced to the Window X Reference Line 32 which defines the location of the digital 0 value.
  • the Window Y Reference Line 30 and Window X Reference Line 32 are defined outside the active video region 10 so that the window area 20 can be positioned so that it does not affect the active video region if an area dependent special effect is not desired.
  • Fig. 4 is a schematic drawing of the portions of the timing generator gate array 200 in Fig. IA which generate the WINDOW1A signal 251 in Fig. IC.
  • the digital values of the Y Start 40, Y Stop 42, X Start 50, and X Stop 52 coordinates of the window area in Fig. 3 are serially loaded via SER_DATA input 10 into the X_STOP, X_START, Y_STOP, and Y_START serial shift registers 20, 30, 40, and 50, respectively, from the serial port of the micro-controller system 180 via signal lines 201 of Fig. IC.
  • the loading of data into the SER_DATA 10 input is controlled by the SER_CLK 12 serial shift register clock input which also is provided by the serial port of the micro-controller system 180 via signal lines 201 of Fig. IC and is used to serially shift the data through registers 20, 30, 40 and 50 via serial clock inputs 24, 34, 44, and 54.
  • the data is serially loaded from the SER_DATA 10 input through the serial input 22 of X_STOP shift register 20 and then from the serial output 26 of X_STOP shift register 20 to the serial input 32 of X_START shift register 30, and then from the serial output 36 of X_START shift register 30 to the serial input 42 of Y_STOP shift register 40, and finally from the serial output 46 of Y_STOP shift register 40 to the serial input 52 of X_START shift register 50.
  • X_STOP 20 and X_START 30 registers each contain ten bit values and the Y_STOP 40 and Y_START 50 registers each contain eight bit values, a total of thirty-six SER_CLK clock cycles are required to fully load shift registers 20, 30, 40 and 50.
  • the 10-bit digital value in X_STOP shift register 20 is loaded from the parallel outputs 28 into the preset data inputs 62 of a 10 bit down counter 60 at the start of each new video line when Y_CLOCK 16 cycles high.
  • the 10-bit down counter 60 counts down from the X_STOP preset value loaded from X_STOP shift register 20 by one count every time the clock input 64 cycles high.
  • Clock input 64 is connected to X_CLOCK signal line 14, which cycles high for each new horizontal pixel. Therefore, counter 60 counts down from X_STOP by one count for each horizontal pixel, until it reaches the value 0, which it maintains until the start of the next line when Y_CLOCK 16 again cycles high, loading the X_STOP value into counter 60.
  • the 10-bit outputs from counter 60 are connected to a 10 input OR gate 68.
  • the output of OR gate 68 equals a digital 1 value from the beginning of the line until the
  • the 10 bit digital value in X_START shift register 30 is loaded from the parallel outputs 38 into the preset data inputs 72 of a 10-bit down counter 70 at the start of each new video line when Y_CLOCK 16 cycles high.
  • the 10-bit counter 70 counts down from the X-START preset value loaded from X_START shift register 30 by one count every time the clock input 74 cycles high.
  • Clock input 74 is connected to X_CLOCK signal line 14, which cycles high for each new horizontal pixel.
  • counter 70 counts down from X_START by one count for each horizontal pixel, until it reaches the value 0, which it maintains until the start of the next line when Y_CLOCK 16 again cycles high, loading the X_START value into counter 70.
  • the 10-bit outputs from counter 70 are connected to a 10-input NOR gate 78.
  • the output of NOR gate 78 equals 0 from the beginning of the line until the X_START coordinate 50 in Fig. 3 has been reached, at which point the output of NOR gate 78 changes to a digital 1 value for the remainder of the line.
  • the horizontal extent of the window area 20 of Fig. 3 is defined by the area in the active video region where the outputs of both NOR gate 78 and OR gate 68 equal a digital 1 value.
  • a similar circuit is used to define the vertical extent of the window area 20 of Fig. 3.
  • the 8 bit digital value in Y_STOP shift register 40 is loaded from the parallel outputs 48 into the preset data inputs 82 of an 8 bit down counter 80 at the start of each new video field when FIELD_CLOCK 18 cycles high.
  • the eight bit down counter 80 counts down from the Y-STOP preset value loaded from Y_STOP shift register 40 by one count every time the clock input 84 cycles high.
  • Clock input 84 is connected to Y_CLOCK signal line 16, which cycles high for each new vertical line.
  • counter 80 counts down from Y_STOP by one count for each vertical line, until it reaches the value 0, which it maintains until the start of the -32- next field when FIELD_CLOCK 18 again cycles high, loading the Y_STOP value into counter 80.
  • the 8 bit outputs from counter 80 are connected to an 8 input OR gate 88.
  • the output of OR gate 88 equals a digital 1 value from the beginning of the field until the Y_STOP coordinate 42 in Fig. 3 has been reached, at which point the output of OR gate 88 changes to a 0 value for the remainder of the field.
  • the 8 bit digital value in Y_START shift register 50 is loaded from the parallel outputs 58 into the preset data inputs 92 of an 8 bit down counter 90 at the start of each new video field when FIELD_CLOCK 18 cycles high.
  • the 8 bit down counter 90 counts down from the Y_START preset value loaded from Y_START shift register 50 by one count every time the clock input 94 cycles high.
  • Clock input 94 is connected to Y_CLOCK signal line 16, which cycles high for each new horizontal pixel.
  • counter 90 counts down from Y_START by one count for each vertical line until it reaches the value 0, which it maintains until the start of the next line when FIELD_CLOCK 18 again cycles high, loading the Y_START value into counter 90.
  • the 8 bit outputs from counter 90 are connected to an 8 input NOR gate 98.
  • the output of NOR gate 98 equals 0 from the beginning of the field until the Y_START coordinate 40 in Fig. 3 has been reached, at which point the output of NOR gate 98 changes to a digital 1 value for the remainder of the line.
  • the vertical extent of the window area 10 of Fig. 3 is defined by the area in the active video region where the outputs of both NOR gate 98 and OR gate 88 equal a digital one value.
  • the window area 20 in Fig. 3 is . therefore defined as the area where the WINDOW1A signal output 120 of the four input AND gate 110 equals a digital 1 value.
  • Fig. 5 there is shown in basic form a flow chart for the software program for microsystem controller 180 in Fig. IC which controls the area dependent video special effects features in the film to video transfer system in Figs. 1A-D.
  • the first operation 10 is to detect the user desire for a windowed special effect feature by detecting the condition of the user pushbuttons 192 in Fig.
  • the next operation 20 is to receive the X_Start 50, X_Stop 52, Y_Start 40, and Y_Stop 42 values in Fig. 3 from the user via user pushbuttons 192 in Fig. ID.
  • the X_Start, X_Stop, Y_Start, and Y_Stop values are serially input to the timing gate array generator 200 via SER_DATA and SER_CLK signal lines 201 in Fig. 1.
  • operation 40 parameters which define the type of video special effect and the appearance of the active video region 10 and window area 20 in Fig. 3 are received from the user via user pushbuttons 192 in Fig. ID.
  • step 50 the parameters received in step 40 are used to calculate appropriate RAM look-up table curveshapes for the active video region 10 and window area 20 in Fig. 3.
  • step 60 the look-up table data calculated in step 50 is loaded into multi-paged RAM 250 via LUT DATA lines 255 in Fig. IC.

Abstract

A simple technique for generating area dependent special effects in a digitized image works by using paged look-up tables (252, 254, 256) to define different RGB transfer functions for regions inside and outside a rectangular window in the video image. The technique is particularly suited for film to video transfer units. The location of the rectangular region and the type of special effect are controllable by the user. The window coordinates are loaded from a micro-controller system (180) to a timing generator gate array (200) which provides a digital signal (251) used to switch between pages of the look-up tables. The special effects possible include colored borders, highlighted regions, and posterized regions.

Description

A DIGITAL CIRCUIT FOR CREATING
AREA DEPENDENT VIDEO SPECIAL EFFECTS
Technical Field This invention relates to the field of digital video processing and, more specifically, to the application of digital special effects on video images. Background Art When converting film images for video display, it is often desirable to add special features which make the video images more appealing or instructive. One example of such a feature is disclosed in U.S. Patent No. 4,506,300, "Film Video Player with Zoom, Scan, and Automatic Border
Control" by W. T. Fearnside, which is assigned to the assignee of the present invention. This system incorporates a means for optically "zooming and scanning" the image in order to display only the desired portion of a film image on the video display. Other features more pertinent to this invention are incorporated in the SV5035 "Slide/Video Transfer Unit" manufactured by the Eastman Kodak Company, Rochester, N.Y. A pointer can be used to indicate an important area in the image. In addition, because this device uses programmable digital random access memory (RAM) look-up tables to process the red, green, and blue (RGB) video signals, the appearance of the entire image can be altered by the user in a number of different ways by loading different "curveshapes" into the RAM. The image can be made brighter or darker, or converted to shift the overall color balance towards red, green, or blue. Alternately, the image can be given a "posterized" appearance by programming the look-up tables to coarsely quantize the RGB video signals with, for example, 2 bits each for red, green, and blue, creating an image with only 64 distinct colors. The look-up tables can also be programmed to provide "false color" video images, where the colors in the image stored on film are intentionally distorted. Moreover, because this unit incorporates RAM look-up tables with multiple "pages" of memory, it is possible to immediately switch from one RAM look-up table curveshape to another, thus allowing the appearance of a still film image to take on a dynamically varying posterized or false color effect.
The special effects just described affect the entire image. It is often desirable to manipulate video images so that different areas of the image are affected in different ways. A number of products can be attached to the output of film to video converters to accomplish such area-dependent manipulations. One example is the "Fotovix Editor", manufactured by Tamron Co., Ltd., 1385 Hasunama, Omiya, Saitama, Japan, which incorporates a number of special effects features which are useful for enhancing the video presentation of film originated images. One such feature is a "masking" mode which allows the user to select a central video image and surround the image with a neutral colored border so that only the desired center portion of the image, in the desired image aspect ratio, can be viewed. A second group of products which can accomplish such manipulations include "video production switchers" such as the model 100 manufactured by Grass Valley Group, Postbox 1114, Grass Valley, CA. Such switchers incorporate color background generators which allow color masks of user selectable size, shape, and color to surround the central video image. They include many other special effects features as well.
It is desirable to incorporate such area-dependent special effects into the film video converter itself, rather than requiring that such manipulations be done in a separate device. This makes it easier for the user to obtain the desired effect and reduces the cost of the equipment. Disclosure of Invention
The present invention allows video images to be manipulated in a simple manner such that different user defined areas of the image are affected in different user defined ways, by using different RGB look-up table curveshapes for the different image areas. The invention allows a number of "special effects" features, normally associated with expensive video "production switchers", to be implemented in a very simple and inexpensive manner as an integral part of a film to video converter.
The digitized RGB image from the scanned film addresses a RAM (random access memory) with enough address locations to allow multiple RGB curveshapes to be stored at the same time. The RGB curveshapes are programmed by a microprocessor which selects different curveshapes for different effects. To create an area dependent specific effect, the user indicates the position of a desired rectangular border region in the video image using a set of pushbuttons, for example. The size and location of the rectangle are controlled by the user via a microprocessor which communicates with the system timing circuit. The system timing circuit controls which of the RAM RGB look-up table curveshapes is used. One set of RGB look-up table curveshapes is used inside the user defined rectangular region, and a second set of RGB look-up table curveshapes is used outside of this region. Depending on how the two RGB look-up table curveshapes are programmed, different special effects features can be created.
For example, if the RGB look-up table curveshape used for the region outside the rectangle is programmed so that all RGB input address values map to the identical output RGB digital value, while the RGB look-up table curveshape used for the region inside the rectangle is programmed to provide a normal video image, then the "special effect" output image will have a uniform colored border surrounding a rectangular region with a normal video image. The border color depends on the output RGB digital value programmed into the outside RGB look-up table curveshape. Alternately, the outer region curveshape can be programmed to make the outer image appear darker than the inner image region, thus highlighting the inner region in order to attract attention to it. Many other features are possible as well. For example, one of the two regions could be programmed to provide posterization or false color. This technique can be extended to define two or more regions with more arbitrary shapes, rather than rectangles. Brief Description of the Drawings
The invention will be described in relation to the drawings, in which:
Fig. 1 shows the correct alignment of the drawing sheets for Figs. 1A-1D; Figs. 1A-1D collectively depict a diagram of a film to video transfer system 100 that embodies the teachings of the present invention;
Figs. 2A-2C depict special effects video images; Fig. 3 shows how a rectangular special effects window region in the image is defined;
Fig. 4 is a block schematic drawing of the timing circuit used to generate the special effects window signal for the film to video transfer system of Fig. 1; and
Fig. 5 is a flow diagram of the microprocessor program used to create the special effects window. Detailed Description of the Invention The preferred application of this invention is in a film to video transfer unit. Specifically, as shown in Figs. 1A-1D, system 100 incorporates a light path for scanning a color image stored, for example, on a transparency. This light path includes light source 5, typically a suitable tungsten-halogen lamp, which generates light that subsequently travels through light diffuser 103, transparency 10, color balancing filter 110, adjustable iris 113, blurring filter 117 and finally impinges upon CCD area imager 20. In particular, light diffuser 103, which is typically a ground glass light diffuser, diffuses the intense light produced by the light source to provide substantially uniform illumination in two-dimensions across the transparency. The resulting light that passes through transparency 10 strikes color balancing filter 110 which, typically fabricated from blue tinted glass, attenuates the red and green components of the image in order to compensate for the spectral response of the CCD area imager. If -6- this filter were eliminated, then for white light, the red and green channels provided by the imager would very likely saturate before any significant useful data were generated in the blue channel. As such, by attenuating the red and green components of the image using the color balance filter prior to the image impinging upon the imager, the CCD imager will then produce a more balanced chromatic output than would otherwise occur. Adjustable iris 113, which is positioned behind the transparency, through the size of its aperture regulates the amount of light which passes through the transparency and strikes the imager. The aperture size is controlled by aperture adjust motor 120 in response to a suitable power signal from motor controllers 194. The controllers are provided with appropriate signals, to open or close the aperture by a predetermined incremental amount, from micro-controller 180 located within system 100. Light emanating from iris 113 strikes blurring filter 117 after which this light then impinges directly onto CCD imager 20. As discussed above, CCD imager 20 produces an analog output signal in which each pixel in this signal provides a value of one of the three primary colors that occur at a separate corresponding pixel in the image, with specifically a red or blue pixel value followed by three successive green pixel values. Hence, the output of the imager can thus be said to be a stream of single color pixels. The particular imager used is a 484 line by 570 pixel KAI-0280 Imager with a 3-Green Color Filter Array as manufactured by the Eastman Kodak Company located in Rochester, New York. Blurring filter 117 is a magenta-white-white-magenta filter that blurs red and blue information in the image more than it does green information in order to limit the spectral bandwidth of the scanned light and by doing so substantially reduce aliasing that might otherwise appear in the output of the CCD imager. The imager, operating at a clock rate of 10.7 MHz, is controlled by various well-known timing and control signals provided by timing generator gate array 200 and applied to the imager via leads 202. The reader is referred to United States patent 4,663,661 (issued to J. A. Weldy et al on May 5, 1987) for a detailed discussion of the operation of the CCD imager and blurring filter 117. Timing generator gate array 200 fabricates suitable timing and control signals to control the sequencing of operations undertaken by system 100. Oscillator 150 provides clock pulses that occur at a fixed frequency of twelve times the well-known NTSC color subcarrier frequency, i.e. 12 * 3.5895 MHz or approximately 42.95 MHz, via lead 155, to gate array 200.
The resulting linear analog pixel values produced by the CCD imager are now digitized and then converted into the compressed log exposure domain. Specifically, under control of suitable timing and control signals generated by timing generator gate array 200 and appearing on leads 203, sample and hold 123 repetitively samples the analog output of the imager and then holds the resulting sampled value for a fixed predetermined period of time. The resulting single color analog sample is then amplified by amplifier 125 and provided to an analog data input of analog-to-digital (A/D) converter 128. This converter, under control of suitable timing and control signals appearing on leads 204 generated by timing generator gate array 200, converts each analog sample into an equivalent eight-bit digital value. Each of these linear digital values, appearing in parallel fashion on leads 130, is then applied to a data input of look-up table 135. This table, implemented in read only memory (ROM) , contains pre-defined compressed logarithmic function 138b in eight-bit resolution. For linear input function 137, resulting compressed logarithmic function 138b, shown in graphical form, approximates an ideal logarithmic function for relatively high level input values and deviates through a non-zero offset value from ideal logarithmic function 138a, shown in dotted lines, for relatively low level input values so as to provide a degree of data compression. This compression advantageously provides a noticeable degree of noise suppression at low light values at the expense of a slight loss in color fidelity at these low levels. The eight-bit log exposure pixel values produced by look-up table 135 are routed by leads 140 to an input of missing green pixel interpolation gate array 210.
Missing green pixel interpolation gate array 210 provides three functions. Defect correction function 211 implements one of these functions; while the remaining two functions are implemented within missing green pixel interpolation function 216. First, whenever a defective pixel location is scanned, this gate array, in conjunction with defective pixel ROM 160, substitutes the color value associated with an immediately prior pixel of the same color as that of the present pixel for the value of the present pixel. Thereafter, the gate array calculates the green value associated with each non-green pixel value. This calculated green value, referred to as a missing green pixel value, is then appropriately inserted at the proper time interval into a stream of eight-bit green values that appears on leads 218 and collectively forms a green color plane which contains a green value for each pixel produced by CCD area imager 20. In addition, for each non-green pixel value that occurs in the scanned image, the gate array provides a parallel nine-bit value, on leads 217, that represents the color difference that occurs between the non-green (i.e. red or blue) value and the missing green pixel value associated with this non-green image pixel. Consequently, whenever a non-green pixel occurs in the scanned image, the array substantially simultaneously provides both a missing green pixel value on leads 217 and a corresponding red-green or blue-green color difference value on leads 218. Timing generator gate array 200 generates and, via leads 169, applies suitable timing signals to control the operation of missing green pixel interpolation gate array 210.
In particular, during manufacture of system 100, the performance of CCD area imager 20 is determined through appropriate testing. A defective pixel location is assumed to be any pixel location at which the output voltage produced by the CCD imager produces a corresponding optical intensity that is excessively bright or dim. These locations, particularly those that remain excessively bright, when displayed over several frames of an image scanned by this CCD imager, become, over time, very noticeable and quite annoying to a viewer. As such, during manufacture of system 100, the relative locations of all defective pixels, in terms of their horizontal and vertical addresses within the scanned image field, are stored in a look-up table in defective pixel ROM 160. Now while system 100 is scanning an image, timing generator gate array 200 produces suitable pixel clock and addressing signals on leads 163. These signals provide the address within the image of each pixel value that will next appear on leads 140. If this address is stored within defective pixel ROM 160, then this ROM will produce a suitable logic level on lead 166 which in turn is routed to a LOCATION ("LOC") input to defect correction function 211, implemented within missing green pixel interpolator gate array 210, in order to identify the current pixel as being defective. At the same time, an immediately prior pixel value for the same color pixel as that of the defective pixel is supplied over eight-bit path 213 from missing green pixel interpolator function 216 which is also located within missing green pixel interpolator gate array 210. Defect correction function 211, in response to this level and the prior pixel value, substitutes the color value associated with this immediately prior pixel for that of the present defective pixel. A resulting corrected stream of eight-bit single color pixel values is routed over eight-bit path 214 to missing green pixel interpolator function 216. Missing green pixel interpolator function 216 calculates the green pixel value that is associated with each non-green, i.e. red or blue, pixel value. In addition, as shown in Fig. IA, missing green pixel interpolator function 216 also provides, for each non-green image pixel value, a nine-bit value on leads 217 that represents the color difference, in two's complement form, that occurs between that non-green (i.e., blue or red) image pixel value and the missing green pixel value corresponding thereto. For each non-green image pixel, the values appearing over leads 217 and 218 occur substantially simultaneously and are routed directly and through respective single line delay elements 220 to chroma interpolator gate array 230. Chroma interpolator gate array 230, shown in Fig. IB, interpolates color difference values in both horizontal and vertical directions in order to transform the scanned image from single color pixel values into a reconstructed image that contains three full color planes. As such, each pixel in the reconstructed image has separate log exposure values for the red, green and blue color content that occurs at the same corresponding pixel location in the scanned image. In addition, chroma interpolator gate array 230 also provides edge enhancement and coring to sharpen image edges and suppress high frequency, low amplitude image noise.
Specifically, chroma interpolator gate array 230 implements vertical color difference interpolator function 232, edge enhancement and coring function 235 and horizontal chroma interpolation and recombination function 237. Vertical color difference interpolator function 232 determines both red-green and blue-green color differences for each green image pixel value that is vertically situated between two of the same type of color difference values. For example, to provide vertically interpolated blue-green pixels, the vertical color difference interpolator function would determine the vertically interpolated blue-green color difference value associated with the green pixel value by averaging vertically adjacent blue-green color difference values. Likewise, vertical color difference interpolator function 232, shown in Fig. IB, would similarly and successively determine interpolated red-green color difference values for all green pixels situated at locations that are vertically positioned between pixel locations occupied by two red-green color difference values.
Color difference values are separately though identically determined for the blue-green and red-green color differences and occur in proper temporal sequence on leads 233 and 234, as shown in Fig. IB, and occur coincident with corresponding enhanced green pixel values that occur on leads 236, thereby substantially simultaneously generating vertically interpolated B-G and R-G values and enhanced green values.
To perform the vertical interpolation, vertical color difference interpolator 232 utilizes color difference values that are associated with the current scan line, i.e. scan line n, and those that are associated with the immediately prior and next preceding scan lines, i.e. scan lines n-1 and n-2. As such, color difference values are directly applied over leads 217 to one input of vertical color difference interpolator function 232 situated within gate array 230 and also successively through separate one line array elements 222 and 224. The nine-bit outputs of delay elements 222 and 224, which respectively occur at delays of one or two scan lines, are separately applied over leads 225 and 227, respectively, to separate inputs of vertical color difference interpolator function 232.
At the same time that color difference interpolation is occurring within function 232, image edges are enhanced and high frequency, low amplitude noise is suppressed by edge enhancement and coring function 235. This function provides edge enhancement and coring on all the green pixel values which includes both the green pixel values that were generated by the CCD imager and the missing green pixel values determined by missing green pixel interpolator function 216. Edge enhancement and coring occurs at levels defined by two parameters loaded by micro-controller system 180, via serial link 181, as shown in Figs. 1A-1D, into edge enhancement and coring function 235. The value of one of these parameters specifies the level of edge enhancement; while the value of the other parameter specifies the coring level, i.e. a threshold level below which undesirable image noise is said to occur. All high frequency, low amplitude intensity values are taken to be image noise and are suppressed through coring. While coring, depending upon the level chosen, does eliminate some subtleties that occur at low amplitudes in the image, this technique is particularly effective in removing noise. An operator can separately change both the enhancement and coring levels by successively depressing an appropriate pushbutton(s) located within user pushbuttons 192 until the desired levels are reached. Edge enhancement and coring are performed on the green pixel values because, since the CCD imager generates three times as many green pixel values as red and blue pixel values, the green pixel values contain more image resolution than do the red or blue pixel values. Line delay 226 is used to delay the incoming green pixel values applied to edge enhancement and coring function 235 by an interval equivalent to one scan line. This delay is necessary to maintain proper temporal synchronization between each enhanced green pixel value produced by function 235 and appearing on leads 236 and each color difference value produced by function 232 and appearing on leads 233 and 234. One line delay elements 222, 224 and 226 are each implemented through illustratively a 570 location eight-bit shift register that operates at the pixel clock frequency.
The synchronized red-green and blue-green color difference values along with the substantially simultaneously occurring and corresponding enhanced green pixel values are applied over leads 233, 234 and 236, respectively, to horizontal chroma interpolator and recombination function 237. Now, within function 237, all the blue-green color difference values, including those found through vertical interpolation, are themselves horizontally interpolated to yield a value for each of the pixel locations associated with three green image pixels that are horizontally situated to the right. In performing the horizontal interpolation, the three pixel locations, situated to t e right of any given pixel locations that contains a B-G color difference (including a vertically interpolated value) , are assigned a decreasing fractional B-G color difference value equal to .75, .5 and .25 of the B-G color difference value occurring at the given pixel location. The same horizontal interpolation process for red-green color difference values occurs within function 237, shown in Figs. 1A-1D, for the three pixel locations that would be horizontally situated to the left of a pixel location associated with a R-G color difference value. Once this horizontal interpolation has fully occurred, each pixel location would have three values associated with it: a red-green color difference value, a blue-green color difference value and an enhanced green pixel value. Now, to generate separate enhanced red, blue and green values for each pixel in the reconstructed image, a recombination function provided by horizontal chroma interpolator and recombination function 237 separately adds the eight-bit enhanced green value associated with that pixel to each of the two eight-bit color difference values that are associated with that pixel. At this point, three resulting separate enhanced eight-bit log exposure values (i.e. enhanced blue value, enhanced red value and enhanced green value) for each pixel (i,j) in the scanned image produced by the CCD imager (i.e. B (i,j), R (i,j) and G (i,j)) substantially simultaneously appear on leads 239 and are routed thereby as separate eight-bit digital signals to appropriate color inputs to color correction accumulator (CCA) 240 as shown in Figs. 1A-1D. Timing generator gate array 200 generates and, via leads 209, applies suitable timing signals to control the operation of chroma interpolator gate array 230.
Under the control of micro-controller 180, color correction accumulator 240 calculates an accumulated log exposure value for each group of 56 horizontally contiguous pixels in any scan line. Inasmuch as an active scan line contains 560 pixels that are used for color correction, ten such groups of 56 pixels occur along a scan line. Owing to signal processing delays that occur within the CCA, the CCA, under control of micro-controller 180, accumulates two specific groups of pixels for any one color within any scan line. Five scans are required for the CCA to fully accumulate all the pixel groups for each color; thereby necessitating the need for fifteen separate substantially identical scans, as noted above, of the image on transparency 10 in order to accumulate pixel groups for the three primary colors, red, green and blue. The accumulated value for each accumulated pixel group is provided by CCA 240, via eight-bit parallel data output leads 243, to micro-controller system 180. The operation of the CCA is synchronized to that of CCD imager 20, sample/hold 123, A/D converter 128, gate arrays 210 and 230 by various timing and control signals produced by timing generator gate array 200 and appearing on leads 206 and 208. Specifically, the specific groups of 56 pixels that are accumulated on any scan line are specified by the value of three BLOCK SELECT bits that are supplied from the micro-controller system, via eight-bit control leads 184, to CCA 240 and, via leads 185, to timing generator gate array 200.
After all pixel accumulations have occurred for an image scan, the micro-controller changes the values of these bits, during an ensuing composite (vertical and horizontal) blanking interval, in order to select the appropriate pixel groups that are to be accumulated during the next scan of the image. At the same time, the micro-controller also specifies to the CCA, via leads 184, which particular primary color (R, G or B) pixels it will accumulate. The CCA accumulates pixel values for a selected color as long as a BLOCK ID pulse from timing generator 200, that appears on leads 208 and is routed via leads 207 to the micro-controller system, remains high. As soon as 56 successive pixels have occurred, the timing generator terminates this pulse. The trailing edge of this pulse causes an interrupt to the micro-controller system and by so doing signifies that an accumulated pixel value data is available at the output of CCA 240 to be subsequently read by the micro-controller. As such, the BLOCK ID pulse, when high, defines an accumulation window for use by the CCA. Now, through use of the value of the BLOCK SELECT bits provided by the micro-controller to timing generator gate array 200 via leads 185, the timing generator temporally offsets the start of the accumulation window for a corresponding interval of time appropriate to the given pixel group that will be accumulated next. In addition, further signals are provided over leads 208 by timing generator gate array 200 for use in appropriately synchronizing the operation of CCA 240: a pulse, HORIZ CLOCK, that occurs at the start of every scan line (i.e. at approximately a 15.75 KHz rate); a timing pulse, VERTICAL INDEX, that occurs at the start of every scan; a pixel clock signal, PIXEL CLOCK, that provides a pulse coincident with the occurrence of a pixel; and the ACTIVE VIDEO signal which, when high, indicates pixels occurring within a central 560 pixel by 240 line region within the scanned image. Furthermore, to synchronize the operation of the micro-controller system to the start of each image scan, timing generator gate array 200 provides the VERTICAL INDEX signal and a COMPOSITE BLANKING signal, via leads 206 and 207, to the micro-controller system. This blanking signal indicates the start of the composite blanking interval for each image scan. The CCA is configured and envoked by the micro-controller system through suitable control signals supplied over eight-bit parallel leads 184.
While the CCA provides the accumulated values to the micro-controller via leads 243, the micro-controller calculates and stores local average values for all the pixel groups, or "paxels", that collectively form an image scan. Thereafter, once all the local average values have been stored, the micro-controller converts all the local averages to the printing density domain. The printing density domain local average values are then used by the micro-controller in calculating appropriate red, green and blue offset correction values in the printing density domain. Next, the micro-controller converts the three printing density domain color correction offset values into the log exposure domain.
The CCA also contains three color offset registers. In addition, unidirectional serial link 183 runs from the micro-controller to CCA 240. In conjunction with serial clock pulses generated by the micro-controller and appearing on lead 182, the micro-controller is able to load an appropriate color correction offset value into any of the three color correction. offset registers within the CCA. Consequently, once the micro-controller system has converted the three printing density domain color correction offset values into the log exposure domain, the micro-controller system then serially loads the three resulting log exposure color correction offset values, via lead 183, into appropriate offset registers within CCA 240 for subsequent use in color balancing a subsequent scan of the image.
The system can also automatically set the aperture within iris 113 to achieve a proper level of illumination for the particular image being scanned and hence control image brightness. To accomplish this, CCA 240, once suitably instructed by micro-controller system 180, also provides the function of determining the maximum pixel value that occurs within a segment of a scan line. With this information, the micro-controller is then able to determine the maximum pixel intensity value that occurs throughout a paxel. The CCD imager is instructed by the micro-controller system to scan transparency 10 that has been placed into the light path. During this scan (which precedes the fifteen local average determination scans), the CCA in conjunction with the micro-controller provides the maximum pixel values produced by the CCD imager for a number of paxels that occur throughout the scanned image area. Based upon whether a pre-defined number of maximum pixel values, here illustratively 3% of the total number of maximum pixel values obtained, exceed a given eight-bit threshold value, here the decimal value "240" out of a maximum value of "255", the micro-controller will generate a suitable control signal over leads 193 in order to instruct motor controller 194 to apply appropriate drive voltages to aperture adjust motor 120 in order to incrementally open the aperture. This process iteratively continues until the threshold is reached at which point the aperture will have reached a proper opening. This process is reversed if significantly more than the pre-defined number
(illustratively 3%) of the maximum pixel values are produced which exceed the threshold thereby indicating that the scanned image is excessively bright. Now, to actually color balance a scanned -20- image, the CCA, once instructed by micro-controller 180, adds the appropriate color correction offset value to every pixel that exists in the corresponding color plane. The resulting color balanced RGB eight-bit log exposure pixel values, Rc , G„ and Bc, appearing at corresponding outputs R, G_ and B , of the CCA are routed, via leads 245, to respective inputs of multi-paged RAM 250 for gamma correction and creation of area dependent video special effects, if desired.
RAM 250 consists of three separate look-up tables 252, 254 and 256 which respectively receive corrected red, green and blue log exposure pixel values and collectively and substantially simultaneously provide corresponding appropriate output red, green and blue pixel values, R C,γ'
GC„_γ, and BC-,γ. Data for each of the three look-up tables is loaded within RAM memory 250 by micro-controller system 180 through leads 255. The page selection of the three multi-paged
RAM look-up tables 250 is controlled by control signal 251 designated "WINDOW1A". The WINDOW1A control signal 251 is generated by timing generator gate array 200. The digital value of the WINDOW1A signal 251 is different for areas within and outside of a region defined as a rectangular area in the image. The coordinates which determine the specific positioning of the rectangular region are illustrated in Fig. 3 and discussed in detail below in connection therewith. The WINDOW1A signal 251 selects different pages of the multi-paged RAM look-up tables 250 for regions within and outside of the rectangular window region.
The location of the rectangular region in . the image, and the special effects features to be used within the outside of the rectangular region, are selected using user pushbuttons 192, which are connected to micro-controller system 180 via signal lines 191. The micro-controller system 180 programs the multi-paged RAM 250 look-up tables appropriately to achieve the desired special effect using LUT DATA lines 255. For example, to obtain the effect of a red outer rectangular border surrounding a normally-appearing video image, one of the pages of the multi-paged RAM 250 look-up tables are programmed so that all eight-bit digital Re input values to the red look-up table 252 give an output Rcγ equal to eight bit digital value 255. The corresponding pages of the green look-up table 254 and blue look-up table 256 are programmed so that all eight-bit digital Gc and Be input values give Gcγ and Bcγ values equal to 0. The other pages of the red, green, and blue look-up tables 252, 254, and 256 are programmed to provide a normal log to gamma correction curveshape so that the area of the image which uses these look-up table curveshapes appears as a normal video image. The multiple pages of the red, green, and blue look-up tables 252, 254, 256 can be implemented using RAM memories with nine-bit address lines. The most significant bit of the address line is controlled by WINDOW1A signal 251, and the eight least significant bits of the nine-bit address line are controlled by inputs Re, Gc, and Be 245, respectively. The rectangular window region is defined by the digital value of WINDOW1A signal 251 provided by timing gate array 200. If a special effect display is not desired, the window region is defined in such a way that only the normal log to gamma correction curveshapes are used for the entire active video -22- image area. The four boundary edges of the rectangular window are provided as digital coordinate values to timing gate array 200 from a serial port of micro-controller system 180 via SER_DATA and SER_CLK signal lines 201. The specific circuit in the timing gate array 200 which receives the digital coordinate values from signal lines 201 and produces the WINDOW1A signal 251 is illustrated in Fig. 4 and discussed in detail below in connection therewith.
The output RGB values from RAM 250 are applied, via leads 259, to color cross-talk matrix gate array 260 for colorimetry corrections. This correction is performed by multiplying the gamma corrected color values for all corresponding RGB pixel values by a 3-by-3 matrix with pre-settable coefficient values. Specifically, for any image pixel (i,j) the color cross-talk matrix implements the following equations: RCC " <CRR * RCγ> + GCC - CRG * RCγ> + BCC - <CRB * RCγ> +
Figure imgf000024_0001
where:
Rcc, Gcc and Bcc are the colorimetry corrected red, green and blue pixel values for image pixel (i,j), diagonal coefficients, C-.^, C„„ and
C„B, are programmed to any value, in 1/16 increments, situated either in the range -15/16 to +15/16 or in the range of +1/16 to +47/16, and off-diagonal coefficients, CGR, C_R,
CRG, CβG, CRB and CBG are programmed to any value, in 1/16 increments, in the range of -15/16 to
+15/16. In addition to eliminating unwanted color cross-talk, the color cross-talk matrix through suitable selection of the coefficients can also provide digital color boost and reduction, and/or contrast (gamma) manipulation. The desired value for each particular coefficient is loaded, via leads 263, by micro-controller system 180. The specific values to be used are chosen based upon regression analysis of the chromatic response of film and the phosphors in a typical video display monitor. The colorimetry corrected red, green and blue pixels provided by color cross-talk matrix gate array 260 are routed over leads 265 to digital to analog (D/A) converters 270 which includes separate D/A converters 272, 274 and 276 for the red, green and blue values appearing on leads 265. These converters convert the eight-bit digital color values into separate corresponding RGB analog video signals. To substantially remove any high frequency noise from these video signals, the separate RGB analog video signals are routed through low pass filters 280 which contains separate filters 282, 284 and 286 for the red, green and blue analog signals.
The analog RGB video signals are applied over leads 283, 285 and 287, respectively, to corresponding amplifiers 294, 296 and 298 situated within amplifiers 290. These amplifiers provide buffering and sufficient drive capability to these analog signals. In addition, to synthesize a composite NTSC video signal, the separate RGB analog video signals are applied to respective inputs of NTSC video encoder 175 along with suitable NTSC timing and synchronization signals appearing over leads 205 and generated by timing generator gate array 200. A composite video synchronization signal appearing on leads 205 is also applied to amplifier -24- 292 to impart sufficient drive capability to the signal. The RGB analog outputs, the amplified synchronization signal from amplifiers 290 and the NTSC composite video signal are collectively routed over leads 295 as the analog video output signals available from system 100.
Micro-controller system 180 also provides a VCR PAUSE CONTROL signal on lead 186 to appropriately start and stop an external video cassette recorder (VCR) in recording video information for each transferred transparency. A serial RS-232 port is also provided to the micro-controller system as an interface to an external device, such as a suitable remote computer or dedicated remote control unit. Front panel user pushbuttons 192, connected via leads 191, allow an operator to suitably instruct the micro-controller system to appropriately alter system operation. In addition, micro-controller system 180 is interfaced, via leads 189, to LED (light emitting diode) Display 190. This display, typically three 7-segment LED numeric digits, provides a numeric indication of system operation, e.g. the number of a transparency presently being transferred to video, as well as various error codes, codes for various user programmable settings and the like. Various limit switches provide current positional information over leads 195 regarding the moveable film transport and scanning components within system 100, e.g. whether a slide tray has reached a "home" position, whether the CCD imager is near a home position, whether a slide is in position in the light path and the position of the armatures of the various drive motors, i.e. aperture adjust motor 120, a motor (not- shown) to move a current slide (up/down) into or out of the light path, a motor (not shown) to rotate the slide tray, and slide position motor(s) (also not shown) for incrementally moving a slide situated in the light path in the directions indicated by arrows 107. All these motors are controlled by motor controllers 194 which operate in response to suitable signals appearing over leads 193 and generated by micro-controller system 180.
Micro-controller system 180 illustratively uses a model 8031 eight-bit micro-computer currently manufactured by the Intel Corporation of Santa Clara, California as a processing element. The micro-computer contains on-board input/output ports and utilizes external data (RAM) and program (ROM) memory.
All the gate arrays that are used within system 100, notably timing generator gate array 200, missing green pixel interpolation gate array 210, chroma interpolator gate array 230, CCA 240, and color cross-talk matrix gate array 260 are semi-custom gate arrays, i.e. so-called application specific integrated circuits. All these gate arrays are currently manufactured by the Eastman Kodak Company located in Rochester, New York under the following part numbers, with alternate manufacturer designations listed in parentheses: 232830 (G507) for the timing generator, 232826 (G402) for the missing green pixel interpolator gate array, 232827 (G502) for the chroma interpolator gate array, 232829 (G504) for the CCA, and 232828 (G503) for the color cross-talk matrix. All the functions provided by these gate arrays as described above are implemented through appropriate logical functions that have been transformed into custom metallization patterns that interconnect standard digital logic -26- components that exist within these arrays.
Referring now to Fig. 2A, there is shown a video display 10 from the output of the film to video transfer system 100 in Figs. 1A-D which depicts one possible special effect feature which can be obtained from this invention. The video display 10 consists of a center rectangular region 20 containing a normal video image scanned from the film transparency 10 of Fig. IA, and an outer border region 30 which is colored red. The location of the borders of the rectangular region is controlled by the user and is defined as shown in Fig. 3 and discussed in detail below in connection therewith. For pixels in the center region 20 of the video image 10, one of the pages of the multi-paged RAM 250 in Fig. 1C are programmed by the microsystem controller 180 in Fig. 1C to provide the RED-0 look-up table curveshape 22, GREEN-0 look-up table curveshape 24, and BLUE-0 look-up table curveshape 26 which convert the eight-bit log exposure pixel values R„c, Gc„ and Bc on leads 245 in Fig3. 1C in order to provide the gamma correction needed to obtain a video image with the proper tone scale. For pixels in the outer region 30 of the video image 10, the RED-1 look-up table curveshape 32, GREEN-1 look-up table curveshape 34, and BLUE-1 look-up table curveshape 36 are programmed into a second page of the multi-paged RAM 250 in Fig. 1C to provide a red border region. This occurs because every possible eight-bit input value to the RED-1 look-up table 32 give an output value equal to 255, while every possible input value to the GREEN-1 look-up table 34 and BLUE-1 look-up table 36 give an output value equal to 0. Those skilled in the art will recognize that any other border color desired can be provided by programming look-up tables 32, 34, and 36 so that all input values map to the red, green, and blue output values which provide the desired color. The color of the border can be controlled via user pushbuttons 192 in Fig. ID.
Fig. 2B depicts a second type of special effect feature which can be obtained from this invention. The video display 40 consists of a center rectangular region 50 containing a video image with a normal brightness level, and an outer region 60 which appears darker. This feature can be usefully employed to draw the viewer's attention towards the brighter region. For pixels in the center region 50 of the video image 40, the RED-0 look-up table curveshape 52, GREEN-0 look-up table curveshape 54, and BLUE-0 look-up table curveshape 56 are programmed into one page of the multi-paged RAM 250 in Fig. 1C to provide normal gamma correction. For pixels in the outer region 60 of the video image 40, the RED-1 look-up table curveshape 62, GREEN-1 look-up table curveshape 64, and BLUE-1 look-up table curveshape 66 are programmed into a second page of the multi-paged RAM 250 in Fig. 1C to reduce the brightness of this region. This occurs because the output values are compressed such that all eight-bit output values are significantly less than 255.
Fig. 2C depicts a third type of special effect feature which can be obtained from this invention. The video display 70 consists of a center rectangular region 80 containing a video image with a normal appearance, and an outer region 90 which is composed entirely of a small number of distinct colors and therefore appears "posterized". For pixels in the center region 80 of the video image 70, the RED-0 look-up table curveshape 82, GREEN-0 look-up table curveshape 84, and BLUE-0 look-up table curveshape 86 are programmed into one page of the multi-paged RAM 250 in Fig. IC to provide normal gamma correction. For pixels in the outer region 90 of the video image 70, the RED-1 look-up table curveshape 92, GREEN-1 look-up table curveshape 94, and BLUE-1 look-up table curveshape 96 are programmed into a second page of the multi-paged RAM 250 in Fig. IC to provide only a limited number of output code values for each color. This occurs because the curveshapes are programmed to be "stairstep" functions where multiple input code values map to the same output code value.
While the special effects features shown in Figs. 2A-C depict some particular special effects which may be implemented using this invention, it should be obvious to those skilled in the art that many other special effects, such as false color or tinting, may be provided in either of the rectangular regions of the image by properly programming the multi-paged look-up table 250 of Fig. IC. Fig. 3 depicts a rectangular region 20 referred to as the "window area" within the active video region 10. The digital value of the WINDOW1A signal 251 of Fig. IC is equal to 1 inside the window area 20 and is equal to 0 outside of this window area. The WINDOW1A signal 251 of Fig. IC is generated as shown in Fig. 4 and discussed in detail below in connection therewith. The size and location of the window area 20 are defined by four digital values, the Y Start value 40, Y Stop value - 42, X Start value 50, and X Stop value 52. The Y Start 40 and Y Stop 42 digital values are referenced to the Window Y Reference Line 30 which defines the location of the digital 0 value, and the X Start 50 and X Stop 52 digital values are referenced to the Window X Reference Line 32 which defines the location of the digital 0 value. The Window Y Reference Line 30 and Window X Reference Line 32 are defined outside the active video region 10 so that the window area 20 can be positioned so that it does not affect the active video region if an area dependent special effect is not desired.
Fig. 4 is a schematic drawing of the portions of the timing generator gate array 200 in Fig. IA which generate the WINDOW1A signal 251 in Fig. IC. The digital values of the Y Start 40, Y Stop 42, X Start 50, and X Stop 52 coordinates of the window area in Fig. 3 are serially loaded via SER_DATA input 10 into the X_STOP, X_START, Y_STOP, and Y_START serial shift registers 20, 30, 40, and 50, respectively, from the serial port of the micro-controller system 180 via signal lines 201 of Fig. IC. The loading of data into the SER_DATA 10 input is controlled by the SER_CLK 12 serial shift register clock input which also is provided by the serial port of the micro-controller system 180 via signal lines 201 of Fig. IC and is used to serially shift the data through registers 20, 30, 40 and 50 via serial clock inputs 24, 34, 44, and 54. The data is serially loaded from the SER_DATA 10 input through the serial input 22 of X_STOP shift register 20 and then from the serial output 26 of X_STOP shift register 20 to the serial input 32 of X_START shift register 30, and then from the serial output 36 of X_START shift register 30 to the serial input 42 of Y_STOP shift register 40, and finally from the serial output 46 of Y_STOP shift register 40 to the serial input 52 of X_START shift register 50. Since the X_STOP 20 and X_START 30 registers each contain ten bit values and the Y_STOP 40 and Y_START 50 registers each contain eight bit values, a total of thirty-six SER_CLK clock cycles are required to fully load shift registers 20, 30, 40 and 50.
The 10-bit digital value in X_STOP shift register 20 is loaded from the parallel outputs 28 into the preset data inputs 62 of a 10 bit down counter 60 at the start of each new video line when Y_CLOCK 16 cycles high. The 10-bit down counter 60 counts down from the X_STOP preset value loaded from X_STOP shift register 20 by one count every time the clock input 64 cycles high. Clock input 64 is connected to X_CLOCK signal line 14, which cycles high for each new horizontal pixel. Therefore, counter 60 counts down from X_STOP by one count for each horizontal pixel, until it reaches the value 0, which it maintains until the start of the next line when Y_CLOCK 16 again cycles high, loading the X_STOP value into counter 60. The 10-bit outputs from counter 60 are connected to a 10 input OR gate 68. The output of OR gate 68 equals a digital 1 value from the beginning of the line until the
X_STOP coordinate 52 in Fig. 3 has been reached, at which point the output of OR gate 68 changes to a 0 value for the remainder of the line.
In a similar fashion, the 10 bit digital value in X_START shift register 30 is loaded from the parallel outputs 38 into the preset data inputs 72 of a 10-bit down counter 70 at the start of each new video line when Y_CLOCK 16 cycles high. The 10-bit counter 70 counts down from the X-START preset value loaded from X_START shift register 30 by one count every time the clock input 74 cycles high. Clock input 74 is connected to X_CLOCK signal line 14, which cycles high for each new horizontal pixel. Therefore, counter 70 counts down from X_START by one count for each horizontal pixel, until it reaches the value 0, which it maintains until the start of the next line when Y_CLOCK 16 again cycles high, loading the X_START value into counter 70. The 10-bit outputs from counter 70 are connected to a 10-input NOR gate 78. The output of NOR gate 78 equals 0 from the beginning of the line until the X_START coordinate 50 in Fig. 3 has been reached, at which point the output of NOR gate 78 changes to a digital 1 value for the remainder of the line. Thus, the horizontal extent of the window area 20 of Fig. 3 is defined by the area in the active video region where the outputs of both NOR gate 78 and OR gate 68 equal a digital 1 value. A similar circuit is used to define the vertical extent of the window area 20 of Fig. 3.
Only eight bit counters are needed, however, because there are less than 256 active lines per video field. The 8 bit digital value in Y_STOP shift register 40 is loaded from the parallel outputs 48 into the preset data inputs 82 of an 8 bit down counter 80 at the start of each new video field when FIELD_CLOCK 18 cycles high. The eight bit down counter 80 counts down from the Y-STOP preset value loaded from Y_STOP shift register 40 by one count every time the clock input 84 cycles high. Clock input 84 is connected to Y_CLOCK signal line 16, which cycles high for each new vertical line. Therefore, counter 80 counts down from Y_STOP by one count for each vertical line, until it reaches the value 0, which it maintains until the start of the -32- next field when FIELD_CLOCK 18 again cycles high, loading the Y_STOP value into counter 80. The 8 bit outputs from counter 80 are connected to an 8 input OR gate 88. The output of OR gate 88 equals a digital 1 value from the beginning of the field until the Y_STOP coordinate 42 in Fig. 3 has been reached, at which point the output of OR gate 88 changes to a 0 value for the remainder of the field. In a similar fashion, the 8 bit digital value in Y_START shift register 50 is loaded from the parallel outputs 58 into the preset data inputs 92 of an 8 bit down counter 90 at the start of each new video field when FIELD_CLOCK 18 cycles high. The 8 bit down counter 90 counts down from the Y_START preset value loaded from Y_START shift register 50 by one count every time the clock input 94 cycles high. Clock input 94 is connected to Y_CLOCK signal line 16, which cycles high for each new horizontal pixel. Therefore, counter 90 counts down from Y_START by one count for each vertical line until it reaches the value 0, which it maintains until the start of the next line when FIELD_CLOCK 18 again cycles high, loading the Y_START value into counter 90. The 8 bit outputs from counter 90 are connected to an 8 input NOR gate 98. The output of NOR gate 98 equals 0 from the beginning of the field until the Y_START coordinate 40 in Fig. 3 has been reached, at which point the output of NOR gate 98 changes to a digital 1 value for the remainder of the line. Thus, the vertical extent of the window area 10 of Fig. 3 is defined by the area in the active video region where the outputs of both NOR gate 98 and OR gate 88 equal a digital one value. The window area 20 in Fig. 3 is . therefore defined as the area where the WINDOW1A signal output 120 of the four input AND gate 110 equals a digital 1 value.
Referring now to Fig. 5, there is shown in basic form a flow chart for the software program for microsystem controller 180 in Fig. IC which controls the area dependent video special effects features in the film to video transfer system in Figs. 1A-D. The first operation 10 is to detect the user desire for a windowed special effect feature by detecting the condition of the user pushbuttons 192 in Fig.
ID. The next operation 20 is to receive the X_Start 50, X_Stop 52, Y_Start 40, and Y_Stop 42 values in Fig. 3 from the user via user pushbuttons 192 in Fig. ID. In operation 30, the X_Start, X_Stop, Y_Start, and Y_Stop values are serially input to the timing gate array generator 200 via SER_DATA and SER_CLK signal lines 201 in Fig. 1. In operation 40, parameters which define the type of video special effect and the appearance of the active video region 10 and window area 20 in Fig. 3 are received from the user via user pushbuttons 192 in Fig. ID. In operation 50, the parameters received in step 40 are used to calculate appropriate RAM look-up table curveshapes for the active video region 10 and window area 20 in Fig. 3. In operation 60, the look-up table data calculated in step 50 is loaded into multi-paged RAM 250 via LUT DATA lines 255 in Fig. IC.
Although the present invention has been described in relation to a single rectangular special effects window, it is obvious that video special effects with multiple rectangular windows could be defined by using multiple circuits similar to the circuit depicted in Fig. 4 to define the windows, and a multi-page RAM memory 250 in Fig. IC with the appropriate number of look-up table pages for the number of windows used. This allows a number of more elaborate video special effects. For example, multiple-colored borders can be generated, or more than one region in the image can be highlighted. Furthermore, although the present invention has been described in relation to rectangularly shaped windows, those skilled in the art will recognize that windows with other shapes, such as diamonds or circles, could be used by replacing the circuit depicted in Fig. 4 with a circuit which generates a window signal representing the desired shape which then would be used to select the appropriate page from a multi-page RAM memory. The invention has been described in detail with particular reference to a presently preferred embodiment, but it will be understood that variations and modifications can be effected within the spirit and scope of the invention.

Claims

What Is Claimed Is:
1. An apparatus for creating special effects in a video image, characterized by: a digital look-up table curveshaper (250) with a multiplicity of look-up table pages; a plurality of look-up tables (252, 254, 256) programmed with differing transfer functions; a means (192, 180, 200) for defining a window in a certain location in the image for processing in accordance with a selected one of said look-up tables; and a means (251) for selecting one of said look-up tables in accordance with the location in said image of said window.
2. The apparatus as claimed in claim 1 wherein said look-up tables operate on red, green and blue image data to provide color video special effects.
3. The apparatus as claimed in claim 1 wherein said means for defining uses start and stop pixel and line addresses to define at least one rectangular window.
4. An apparatus for converting a film image (10) to a video signal incorporating area dependent video special effects, characterized by: an image forming means (5, 103, 110, 113, 117); at least one image sensing means (20); an image digitizing means (128); a plurality of look-up tables (252, 254,
256) programmed with differing transfer functions; a means (192, 180, 200) for defining a window in a certain location in the image for processing in accordance with a selected one of said look-up tables; and a means (251) for selecting one of said look-up tables in accordance with the location in said image of said window.
5. The apparatus as claimed in claim 4 wherein said look-up tables operate on red, green and blue image data to provide color video special effects.
6. The apparatus as claimed in claim 4 wherein said means for defining uses start and stop pixel and line addresses to define at least one rectangular window.
PCT/US1990/005142 1989-09-11 1990-09-11 A digital circuit for creating area dependent video special effects WO1991003903A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US40581689A 1989-09-11 1989-09-11
US405,816 1989-09-11

Publications (1)

Publication Number Publication Date
WO1991003903A1 true WO1991003903A1 (en) 1991-03-21

Family

ID=23605370

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US1990/005142 WO1991003903A1 (en) 1989-09-11 1990-09-11 A digital circuit for creating area dependent video special effects

Country Status (1)

Country Link
WO (1) WO1991003903A1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0581996A2 (en) * 1992-08-06 1994-02-09 Craig P. Mowry Video system for producing video image simulating the appearance of motion picture or other photographic film
US5457491A (en) * 1990-10-11 1995-10-10 Mowry; Craig P. System for producing image on first medium, such as video, simulating the appearance of image on second medium, such as motion picture or other photographic film
US7010354B1 (en) 1999-09-02 2006-03-07 The Bionic Ear Institute Sound processor for cochlear implants

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0083176A2 (en) * 1981-12-21 1983-07-06 Image Resource Corporation System and apparatus for the conversion of video signals into images on a light-responsive recording surface
EP0088583A1 (en) * 1982-03-02 1983-09-14 Sony Corporation Image processing apparatus
US4771336A (en) * 1986-11-11 1988-09-13 Dainippon Screen Mfg. Co., Ltd. Device for setting trimming areas of an original
GB2207023A (en) * 1987-06-11 1989-01-18 Seikosha Kk Video printer

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0083176A2 (en) * 1981-12-21 1983-07-06 Image Resource Corporation System and apparatus for the conversion of video signals into images on a light-responsive recording surface
EP0088583A1 (en) * 1982-03-02 1983-09-14 Sony Corporation Image processing apparatus
US4771336A (en) * 1986-11-11 1988-09-13 Dainippon Screen Mfg. Co., Ltd. Device for setting trimming areas of an original
GB2207023A (en) * 1987-06-11 1989-01-18 Seikosha Kk Video printer

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5406326A (en) * 1990-10-11 1995-04-11 Harry E. Mowry Video system for producing video image simulating the appearance of motion picture or other photographic film
US5457491A (en) * 1990-10-11 1995-10-10 Mowry; Craig P. System for producing image on first medium, such as video, simulating the appearance of image on second medium, such as motion picture or other photographic film
EP0581996A2 (en) * 1992-08-06 1994-02-09 Craig P. Mowry Video system for producing video image simulating the appearance of motion picture or other photographic film
EP0581996A3 (en) * 1992-08-06 1994-07-06 Craig P Mowry Video system for producing video image simulating the appearance of motion picture or other photographic film
US7010354B1 (en) 1999-09-02 2006-03-07 The Bionic Ear Institute Sound processor for cochlear implants

Similar Documents

Publication Publication Date Title
US4945406A (en) Apparatus and accompanying methods for achieving automatic color balancing in a film to video transfer system
US5038216A (en) Automatic brightness algorithm in a slide to video transfer unit
EP0391094B1 (en) Television scan line doubler including temporal median filter
US6115022A (en) Method and apparatus for adjusting multiple projected raster images
US4967271A (en) Television scan line doubler including temporal median filter
EP0401360A1 (en) Optical image to video transfer system having enhanced resolution and contrast for dark areas of the image
US5185666A (en) Digitized film image processing system with bordered split screen display
US5321500A (en) Non-real-time film scanning system
US5258829A (en) Color display apparatus for use with input signals having different color reproduction characteristics
WO2006019209A1 (en) Method and apparatus for compensating image sensor lens shading
US5031036A (en) Electronic endoscope apparatus simultaneously displaying an original picture image and special picture image on a single displaying picture surface
US20070229675A1 (en) Imaging apparatus, high frequency component detection circuit, high frequency component detection method and computer program product
US5216493A (en) Multipoint digital automatic white balance for a video system
US5181100A (en) Digital video processing system with mixing prefilter
EP0391690A1 (en) Image pickup device capable of picking up images while electronically enlarging the same
EP0652671A2 (en) Mapping colour digital image
US4860092A (en) Color image signal processing circuit with white balance control and gain control
US6188434B1 (en) Apparatus and method for controlling exposure in a color image pickup device
US5166783A (en) Digital video color processor with anti-aliasing filter
EP0862334A2 (en) A signal processing system
WO1991003903A1 (en) A digital circuit for creating area dependent video special effects
US5223936A (en) Picture display and video signal processing circuit
US5059872A (en) Digital convergence correction device
GB2283384A (en) High definition colour correction for use in telecine
JPH0614268A (en) Infrared ray image pickup device

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): JP

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): AT BE CH DE DK ES FR GB IT LU NL SE

CFP Corrected version of a pamphlet front page
CR1 Correction of entry in section i

Free format text: IN PAT.BUL.07/91,UNDER INID (51) "IPC" REPLACE "H04N 1/46, 9/74, 5/262" BY "H04N 1/46, 5/262,9/74"