WO1997016814A1 - Filtre video yuv place a l'extremite arriere - Google Patents

Filtre video yuv place a l'extremite arriere Download PDF

Info

Publication number
WO1997016814A1
WO1997016814A1 PCT/US1996/017547 US9617547W WO9716814A1 WO 1997016814 A1 WO1997016814 A1 WO 1997016814A1 US 9617547 W US9617547 W US 9617547W WO 9716814 A1 WO9716814 A1 WO 9716814A1
Authority
WO
WIPO (PCT)
Prior art keywords
values
video data
format
data
die
Prior art date
Application number
PCT/US1996/017547
Other languages
English (en)
Inventor
Donald Robert Parnell
Original Assignee
Sierra Semiconductor Corporation
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 Sierra Semiconductor Corporation filed Critical Sierra Semiconductor Corporation
Publication of WO1997016814A1 publication Critical patent/WO1997016814A1/fr

Links

Classifications

    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/02Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the way in which colour is displayed

Definitions

  • the present invention relates generally to color video display circuitry. More particularly, the present invention provides a method and apparatus for converting color video data from a first format into a second format to enable full color, live motion video to be displayed.
  • Video display devices such as computer monitors or television receivers, receive and display video pixel data in RGB (Red-Green-Blue) format, in which each pixel is defined by a set of RGB data.
  • Computer graphics software has been developed to process video information in the RGB format.
  • full motion video is typically transmitted and stored in a format known as YUV, YCrCb, or composite video. In this format, the video information contains luminance
  • Each value Y, U, and V contains 8 bits of video information.
  • YUV data may be transmitted or stored in various formats, including a format known as 24-bit 4:4:4, in which the YUV data is arranged in sets as YnUnVn, YoUoVo, etc.
  • each 24-bit set (comprising three 8-bit values) of YUV data defmes a video pixel, and may be converted into RGB data for display on a monitor.
  • YUV data may also be transmitted or stored in an 16-bit 4:2:2 format, in which the YUV data is arranged in sets as UnYnVnYo, UpYpVpYq, etc.
  • each 32-bit set of UYVY data is used to defme two video pixels where the chroma is sub-sampled.
  • the UYVY data For a 32-bit set of UYVY data to define multiple pixels, the UYVY data must be converted to YUV or RGB data.
  • YUV video info ⁇ nation In order to display YUV video info ⁇ nation on a RGB monitor or screen, it is known to provide separate memory buffers or separate areas of a shared frame buffer. The YUV data is then merged with RGB data in the video "backend".
  • the video backend of a display system retrieves video data stored in a frame buffer or memory and sends the video data to a display device at the device's frame refresh rate.
  • This video backend method typically requires a large capacity off-screen memory buffer to store the video data, which is not always available in all modes of operation, and is typically capable of supporting only one video window. Further, the video backend method requires a very large memory bandwidth, since video data is read at the monitor's refresh frame rate. When scaling down, the peak memory bandwidth rate can be even higher.
  • the video frontend receives raw video data representing frames of video information, and manipulates or formats the raw data for storage in the frame buffer to support the display of one or more video windows on the display device. Converting YUV data to RGB data at the frontend enables a display system to support multiple video windows, but results in poor video quality for 8-bit or 16-bit desktop graphics monitors. This is because YUV data stored in an 8-bit format does not provide sufficient information for conversion to each of the 256 possible RGB color values, because YUV data stored in a 16-bit format does not supply full color range without visible banding effects, due to only 5-bits of data for each RGB digital-to-analog convertor (DAC). Since full color is not available, dithering hardware is implemented to dither or mix the available RGB color values to imitate the appearance of full color.
  • DAC digital-to-analog convertor
  • Typical YUV/RGB converters require YUV data in the 24-bit 4:4:4 format as an input to convert to RGB video data.
  • the 24-bit 4:4:4 data consisting of 8 bits of Y (luminance data), 8 bits of U (hue data), and 8 bits of V (saturation data) into 8 bits of R (red data), 8 bits of G (green data), and 8 bits of B (blue data). Because there is a one-to-one correspondence between 24-bit YUV data and the 24-bits of desired RGB data, all RGB color values may be specified by YUV video data. However, where the YUV data is in an 8-bit or 16-bit format, there is not a one-to-one correspondence between the YUV data and the desired RGB data.
  • Live motion video can be displayed using 16-bit formats, but requires either the UV data to be repeated twice or interpolated from the next UV pair.
  • an apparatus which includes means, such as one or more buffers, for receiving first and second sets of video data.
  • Each set of video data includes luminance values and chrominance values.
  • Exemplary embodiments of the apparatus further include means, such as an adder/shift register combination, for generating average luminance and chrominance values from the luminance values of the first and second sets of video data.
  • Exemplary embodiments of the apparatus further include means, such as one or more multiplexers, for selectively outputting a combination value including one luminance value or average luminance value and one chrominance value or average chrominance value.
  • an apparatus of the present invention can further include means for selectively causing the combination value to include one luminance value and one chrominance value (no average values) when the second set of data is an empty set.
  • An apparatus of the present invention can further include means for selecting an 8-bit mode of operation or a 16-bit mode of operation, in which a reduced number of combination values are output.
  • an apparatus of the present invention can also include means for identifying the type of data received from the frame buffer.
  • the video data is RGB data
  • no conversion is required and the data is supplied to the display unit
  • the video data is 24-bit YUV data
  • no format conversion is required and the video data is supplied to a YUV/RGB converter
  • the video data is 8-bit or 16-bit YUV data, format conversion is required and the video data is processed in an exemplary apparatus according to the present invention.
  • first and second sets of video data including luminance and chrominance values, are received in means such as one or more buffers.
  • Average luminance and chrominance values are calculated by, for example, an adder/shift register combination, and a combination value including one luminance value or average luminance value and one chrominance value or average chrominance value is generated.
  • Exemplary embodiments of the method of the present invention may further include the step of selectively bypassing the averaging fimction when the second set of data is an empty set.
  • the method of the present invention may further include the step of selecting between an 8-bit mode of operation and a 16-bit mode of operation.
  • the method of the present invention may further include the step of identifying the data stored in the frame buffer, and if the video data is RGB data, the data is sent to a display device; if the video data is 24-bit YUV data, the format conversion process according to exemplary embodiments of the method of the present invention is bypassed; if the video data is 8-bit or 16-bit YUV data, the video data is converted to 24-bit YUV data according to exemplary embodiments of die method of the present invention.
  • YUV data stored in an 8-bit or 16-bit format may be converted to a 24-bit YUV format for input to a YUV/RGB converter. This conversion enables live motion, full color video to be displayed on an 8-bit or 16-bit desktop monitor in a cost-effective manner in multiple video windows in all graphic modes without requiring an increased memory capacity.
  • FIG. 1 is a block diagram showing a video filter according to an exemplary embodiment of the present invention
  • FIG. 2 is a block diagram of an adder/shift register combination which may be used in the filter of FIG. 1; and FIG. 3 is a block diagram of an exemplary alternate embodiment of a video filter in accordance with the present invention.
  • Video filter 10 for converting YUV video data stored in an 8-bit or 16-bit 4:2:2 format to a 24-bit 4:4:4 format is shown.
  • Video filter 10 may be implemented in a PC video architecture such as that described in a copending application entitled "Split Video Architecture for PC's", assigned to the assignee of the present invention, and which is herein incorporated by reference.
  • the filter 10 will be described first using the 8-bit 4:2:2 YUV video data as an example. That is, each 32-bit set of UYVY data (e.g.
  • UnYnVnYo, UpYpVpYq, etc. is used to define four video pixels.
  • the UYVY set of data In order for a 32-bit set of UYVY data to define four unique video pixels, the UYVY set of data must be converted to four unique YUV sets of data. Filter 10 accomplishes this conversion in a manner which will now be described.
  • Filter 10 includes first and second buffers 12 and 14 for receiving and storing a next quad of UYVY data and a current quad of UYVY data, respectively from a memory (not shown).
  • the current quad consists of the four 8-bit values Un, Yn, Vn, and Yo and die next quad consists of the four 8-bit values Up, Yp, Vp, and Yq.
  • Each quad of UYVY video data thus includes 32 bits of information. In the 8-bit case, each quad of data is used to define four pixels.
  • Filter 10 converts the current quad of UYVY data, UnYnVnYo, into four unique YUV sets of video data. The conversion is accomplished by averaging or interpolating the current UYVY quad widi the next UYVY quad to generate four YUV sets of video data, as will be described in more detail below.
  • Filter 10 further includes luminance averaging circuits 16A and 16B, and chrominance averaging circuits 18A-C and 20A-C.
  • Liiniinance averaging circuit 16A receives pixel values Yn and Yo as inputs, and generates a value Yno which is, for example, a 50% average of Yn and Yo.
  • Luminance averaging circuit 16B receives pixel values Yo and Yp as inputs, and generates a value Yop which is, for example, a 50% average of Yo and Yp.
  • Pixel values Yn, Yno, Yo, and Yp are provided as inputs to multiplexer 22.
  • Chrominance averaging is performed by hue averaging circuits 18 A-C and saturation averaging circuits 20A-C.
  • Hue averaging circuit 18B receives hue values Un and Up as inputs, and generates hue value Unnpp which is, for example, a 50% average of Un and Up.
  • Hue averaging circuit 18 A receives hue values Un and Up as inputs, and generates a hue value Unppp which is, for example, a 25/75 weighted average of pixel values Un and Up.
  • Hue averaging circuit 18C receives hue values Un and Up as inputs, and generates a hue value Unnnp which is, for example, a 75/25 weighted average of hue values Un and Up. It will be appreciated that other weighings may be used.
  • Saturation averaging circuits 20A-C operate in substantially the same manner as hue averaging circuits 18 A-C, and generate average saturation values Vnnnp, Vnnpp, and Vnppp. Saturation values Vn, Vnnnp, Vnnpp, and Vnppp are supplied as inputs to multiplexer 26.
  • Averaging circuits 16 A-B, 18 A-C, and 20 A-C function to generate average luminance and chrominance values by linear interpolation.
  • the current luminance and chrominance values from the current UYVY quad, together with the average luminance and chrominance values generated by averaging circuits 16 A-B, 18 A-C, and 20A-C, enable four sets of YUV data to be generated from each set of UYVY data.
  • the luminance and chrominance pixel values from the current quad and the average luminance and chrominance values generated by averaging circuit 16A-B, 18A-C, and 20A-C include four luminance values (Yn, Yno, Yo, and Yop), four hue values (Un, Unnnp, Unnpp, and Unppp), and four saturation values (Vn, Vnnnp, Vnnpp, and Vnppp). These values are provided to multiplexers 22, 24, and 26, which output four YUV sets of data YnUnVn, YnoUnnnp Vnnnp, YoUnnpp Vnnpp, and YopUnppp Vnppp.
  • the YUV data is loaded into output buffer 28 and input to YUV RGB converter 30, where it is converted to RGB data for display on a monitor (not shown).
  • This conversion of YUV data in an 8-bit 4:2:2 data format to YUV data in a 24-bit 4:4:4 data format enables converter 30 to provide high quality, live motion, full color video in an RGB format for display on a monitor.
  • control signals S0-S3 which are generated by byte counter 32.
  • Byte counter 32 which may include a flip-flop 33 and multiplexers 35 and 37, or other suitable elements, generates a cycle of logic signals 00, 01, 10, and 11 on lines 34 and 36.
  • the control signals S0-S3 are all logic 0, and multiplexers 22, 24, and 26 output values Yn, Un and Vn, respectively, to output buffer 28.
  • control signals S0-S3 are all at logic 1, and multiplexers 22, 24, and 26 output values Yop, Unppp, and Vnppp, respectively to output buffer 28. It will be appreciated diat after converting a number of UYVY quads of video data to YUV data, the video application requiring the conversion may be interrupted or terminated. At die termination of me video application, there will be only a current UYVY quad, and diere will not be a next UYVY quad of video data.
  • video filter 10 further includes means for selectively reducing d e number of combination values which may be output by multiplexers 22, 24 and 26 to output buffer 28 when the next quad of video data is an empty set.
  • a LAST_QUAD# signal is provided for indicating when the current quad of video data stored in current buffer 14 is the last quad.
  • the LAST_QUAD# signal will change from logic 1 to logic 0 to disable some of ie averaging function of filter 10.
  • the LAST_QUAD# signal is provided as one input to AND gates 40, 42, and 44.
  • Line 34 is provided as a second input to AND gates 40 and 42, and line 36 is provided as a second input to AND gate 44.
  • a gate 46 has been added in conjunction widi gate 40 to control multiplexer 22 to create YnUnVn for the first pixel, YnoUnVn for the second pixel, and YoUnVn for me last two pixels of a four pixel set.
  • LAST_QUAD# an alternate logic convention for the LAST_QUAD# signal can be used.
  • the LAST-QUAD signal can be used to cause the filter to eliminate any filtering of data stored in die buffers 12 and 14.
  • the filter paths can be configured such uiat video data stored in uie current buffer 14 is multiplexed directly to the outputs of multiplexers 22, 24 and 26, or to provide a limited averaging capability (e.g., provide only the averaging of averaging circuit 16A). It will be further appreciated that other suitable means may be used to selectively bypass d e averaging function of die filter 10 under appropriate circumstances, and diat die invention is not limited to die exemplary embodiment illustrated.
  • Video filter 10 further includes a mode selection means for selectively operating in an 8-bit or 16-bit mode.
  • a mode select signal MODE is provided to byte counter 32.
  • the MODE signal state indicates whedier the YUV data is in the 8-bit 4:2:2 format and die filter 10 is operating in an 8-bit mode, or whether the data is in me 16-bit 4:2:2 format and me filter 10 is operating in the 16-bit mode.
  • die MODE signal causes byte counter 32 to output logic values 00 (d at is, the logic values on lines 34 and 36 are both 0) and 10 (that is, the logic value on line 34 is 1 and die logic value on line 36 is 0) only.
  • multiplexers 22, 24, and 26 output values Yn, Un, and Vn (for logic value 00) or Yo, Unnpp, and Vnnpp (for logic value 10) only when die filter 10 is operating in die 16- bit mode.
  • each 32-bit set of UYVY data is used to define 2 video pixels. That is, each cu ⁇ ent UYVY quad is converted into two YUV sets of video data by interpolating or averaging the individual U, Y and V values of the current UYVY quad with die U, Y and V values of die next UYVY quad.
  • YUV values YnUnVn and YoUnnpp Vnnpp may be generated from a current quad UnYnVnYo and a next quad UpYpVpYq.
  • each quad in die 16-bit mode provides more info ⁇ nation and it is therefore not necessary to perform as much interpolation or averaging as in the 8-bit mode.
  • a routing circuit, tag map, addressing data, or other suitable means may be implemented to cause de data to be routed directly to die display device, direcdy to die YUV/RGB converter, or to die buffers 12 and 14 of filter 10. That is, if data retrieved from die frame buffer is RGB data, die data does not require conversion and dierefore is sent directly to the display device. If die data retrieved from the frame buffer is 24-bit YUV video data, die video data only requires conversion to die RGB format and dierefore is sent directly to YUV/RGB converter 30.
  • the video data is supplied to buffers 12 and 14, and die data is converted to die 24-bit 4:4:4 format for input to YUV/RGB converter 30.
  • the means for identifying and routing data may be implemented by an off-screen tag map which may be fetched when YUV data (24-bit, 16-bit, or 8-bit) data is retrieved from the frame buffer, or other suitable means.
  • the adder/shift register circuit 50 includes an adder 52 for adding two or more binary addends of n bits each to generate a sum of n+ 1 bits.
  • the adder/shift register circuit 50 further includes a shift register 54 for storing the sum and shifting the sum of n+l bits to u e right by one bit to effectively divide the sum by 2 to generate an average.
  • two 8-bit addends such a Un and Up are added to generate an 8-bit or 9-bit sum.
  • This 8-bit or 9-bit sum is shifted to the right by one bit to generate an 8-bit value Unnpp which is a 50% average of Un and Up.
  • Unnpp which is a 50% average of Un and Up.
  • diat o ier suitable circuits or methods may be used to implement die averaging function of averaging circuits 16 A-B, 18 A-C, and 20A-C.
  • averaging circuits such as averaging circuits 18A and 18C in FIG. 1 can obtain input terms from 18B to form a term of, for example, a 75 %/25% value.
  • diat d e filter according to the exemplary embodiments of me present invention described above may be readily modified to accommodate other input or output data formats, and diat me number and weighing of interpolated values may be adjusted to allow format conversion to and from a wide variety of formats.
  • alternate 4:2:2 formats such as UYVY, VYUY, YUYV, YVYU or any other formats can be supported in accordance widi the present invention.
  • d at the present invention may also be readily applied to me format conversion of many types of data, and is not limited to video data applications. Further, in accordance widi exemplary embodiments, one pixel clipping can be used to change boundary conditions.

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Color Television Systems (AREA)

Abstract

Un filtre vidéo (10) est destiné à la conversion de données vidéo couleur (12, 14) mémorisées sous un format approprié à une utilisation dans un environnement d'appareil de bureau 8 bits ou 16 bits en un format 24 bits approprié à la conversion vers des données vidéo RGB (30) pour l'affichage de vidéos en direct, tout en couleur. A des taux de pixels très élévés, le filtre (10) comprend un ou plusieurs tampons (12, 14) pour stocker des ensembles de données vidéo de format UYVY, des circuits de mesure des valeurs moyennes (16, 18, 20) pour produire des valeurs moyennes Y, U, et V en se basant sur des ensembles successifs de données vidéo dans le format UYVY, et un ou plusieurs multiplexeurs (22, 24, 26) pour la conversion en données RGB. Le filtre (10) comprend en outre des moyens permettant de bypasser sélectivement la fonction de calcul des moyennes lorsqu'il n'y a pas d'ensemble successif de données UYVY, ainsi que des moyens de sélection entre des fonctionnements en mode 8 bits et en mode 16 bits. Le filtre (10) peut être bypassé si une conversion n'est pas nécessaire.
PCT/US1996/017547 1995-11-03 1996-11-01 Filtre video yuv place a l'extremite arriere WO1997016814A1 (fr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US55277495A 1995-11-03 1995-11-03
US08/552,774 1995-11-03

Publications (1)

Publication Number Publication Date
WO1997016814A1 true WO1997016814A1 (fr) 1997-05-09

Family

ID=24206753

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US1996/017547 WO1997016814A1 (fr) 1995-11-03 1996-11-01 Filtre video yuv place a l'extremite arriere

Country Status (1)

Country Link
WO (1) WO1997016814A1 (fr)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8241667B2 (en) 2001-11-06 2012-08-14 Osmotica Kereskedelmi és Szolgáltató KFT Dual controlled release osmotic device

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4897799A (en) * 1987-09-15 1990-01-30 Bell Communications Research, Inc. Format independent visual communications
US5086295A (en) * 1988-01-12 1992-02-04 Boettcher Eric R Apparatus for increasing color and spatial resolutions of a raster graphics system
US5122784A (en) * 1988-09-14 1992-06-16 International Business Machines Corporation Method and apparatus for color conversion
US5384582A (en) * 1993-06-16 1995-01-24 Intel Corporation Conversion of image data from subsampled format to clut format

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4897799A (en) * 1987-09-15 1990-01-30 Bell Communications Research, Inc. Format independent visual communications
US5086295A (en) * 1988-01-12 1992-02-04 Boettcher Eric R Apparatus for increasing color and spatial resolutions of a raster graphics system
US5122784A (en) * 1988-09-14 1992-06-16 International Business Machines Corporation Method and apparatus for color conversion
US5384582A (en) * 1993-06-16 1995-01-24 Intel Corporation Conversion of image data from subsampled format to clut format

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8241667B2 (en) 2001-11-06 2012-08-14 Osmotica Kereskedelmi és Szolgáltató KFT Dual controlled release osmotic device

Similar Documents

Publication Publication Date Title
US5097257A (en) Apparatus for providing output filtering from a frame buffer storing both video and graphics signals
US5124688A (en) Method and apparatus for converting digital YUV video signals to RGB video signals
US5896140A (en) Method and apparatus for simultaneously displaying graphics and video data on a computer display
US6466224B1 (en) Image data composition and display apparatus
US5473342A (en) Method and apparatus for on-the-fly multiple display mode switching in high-resolution bitmapped graphics system
CA1229441A (fr) Circuit de conversion de signaux couleur
US4772881A (en) Pixel mapping apparatus for color graphics display
US6828982B2 (en) Apparatus and method for converting of pixels from YUV format to RGB format using color look-up tables
US5784050A (en) System and method for converting video data between the RGB and YUV color spaces
EP0457297B1 (fr) Dispositif d'affichage
US5446866A (en) Architecture for transferring pixel streams, without control information, in a plurality of formats utilizing addressable source and destination channels associated with the source and destination components
US5384582A (en) Conversion of image data from subsampled format to clut format
US4771275A (en) Method and apparatus for assigning color values to bit map memory display locations
JPH0651752A (ja) ビジュアルデータ処理装置
US6154195A (en) System and method for performing dithering with a graphics unit having an oversampling buffer
US5943097A (en) Image processing means for processing image signals of different signal formats
US6259439B1 (en) Color lookup table blending
US5231385A (en) Blending/comparing digital images from different display window on a per-pixel basis
JP3016016B2 (ja) カラーlcd駆動装置
JP3062068B2 (ja) 映像画素データの形式を識別する方法、映像グラフィックス装置中の回路、及びコンピュータ・システム
US6020921A (en) Simple gamma correction circuit for multimedia
JP4672821B2 (ja) 補間用のラインバッファを画素のルックアップテーブルとして用いる方法及び装置
US5140312A (en) Display apparatus
US20070109314A1 (en) Adaptive pixel-based blending method and system
US5900861A (en) Table-driven color conversion using interleaved indices

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): CA JP KR

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): AT BE CH DE DK ES FI FR GB GR IE IT LU MC NL PT SE

121 Ep: the epo has been informed by wipo that ep was designated in this application
122 Ep: pct application non-entry in european phase