Abstract:
A method of reinserting Vertical Blanking Interval (VBI) data in a digital video signal includes creating a gray scale palette in a an On Screen Display (OSD) memory; sizing a VBI area in an OSD memory; locating a VBI area in an OSD memory; generating a VBI luma waveform bitmap; and overlaying the VBI luma waveform bitmap in a DVB video bit stream according to the gray scale palette, size and location data stored in the OSD memory.

Description:
CROSS-REFERENCE TO RELATED APPLICATIONS  
       [0001]     None.  
       STATEMENT REGARDING FEDERALLY SPONSORED RESEARCH OR DEVELOPMENT  
       [0002]     Not Applicable.  
       APPENDIX  
       [0003]     Not Applicable.  
       BACKGROUND OF THE INVENTION  
       [0004]     1. Field of the Invention  
         [0005]     This invention involves the re-insertion of Video Blanking Interval (VBI) data into a video signal using an On-Screen Display (OSD) processor.  
         [0006]     2. Related Art  
         [0007]     A single video image as seen on a television screen is called a frame. Thirty (30) frames appear per second. A frame consists of two (2) interlaced vertical fields; an odd field and an even field. The image frame is scanned twice at a 60 Hz rate, once for each field. The lines of the second field are offset to fall between the lines of the first field in a process called interlacing. For a National Television Systems Committee (NTSC) standard frame of 525 lines, each vertical field will have 262.5 lines.  
         [0008]     After scanning each field, the electron gun used to illuminate the image inside a television monitor&#39;s cathode ray tube (“CRT”) must move back up to the top of the tube to begin the next field. In order to prevent unwanted illumination of the CRT during this vertical retrace, the signal must remain blank until the gun is in position to begin scanning the next field. Accordingly, at the beginning of each vertical field, a period equal to several horizontal lines (40 lines under NTSB standards) is used for a vertical blanking interval, which corresponds to the amount of time it takes the electron gun to return to the top of the screen.  
         [0009]     The vertical blanking interval (VBI) portion of the television signal is commonly used to carry information other than video or audio, such as closed-captioned text or stock market data. Such data is called VBI data. It generally originates at an uplink or original video source.  
         [0010]     In digital systems, VBI data is transmitted separately from the general video signal, in order to conserve bandwidth. Accordingly, systems have been developed for the reinsertion of the VBI data into the video signal, as that signal is processed. These systems generally require separate, additional components or modules in the receiving hardware.  
         [0011]     VBI data is seldom if ever compressed, since it can be more than adequately transmitted in 2 to 48 bytes of data. Frequently VBI data is simply sent with header information in digital broadcasting bitstreams. It generally has packet identifiers that are different than the basic video bitstream. VBI data such as “line 21,” “WINK,” “AMOL,” are sent according to known standards, such as EN 301-775 or ATSCA 53. They are sent with different packet identifiers than media content data. Proprietary standards may also be used.  
         [0012]     Because the VBI data is separately transmitted, separate hardware has had to be developed in order to re-insert it into the general video signal at the receiver. The typical approach was to use the video encoder (DENC). This works for analog systems, but not for digital video output streams. Accordingly, other hardware had to be developed such as with Field Programmable Gate Arrays. Later, decompression chips have been developed that had a separate component for generating VBI waveforms for VBI insertion. As a result, expense and complexity for such hardware has increased. There is a need in the industry for more efficient, faster and more economical method and apparatus for the reinsertion of VBI data.  
         [0013]     Separately, it is typical for television equipment to display other information on the display screen during the viewing of a program. This information may include text menus, as for programming guides, graphics such as a logo, or local weather announcements. Since this data generally originates locally, from sources other than the original source of the video, separate processing components have been developed for its display. In particular, On-Screen Display, (OSD), is executed by a component usually included on the decompression chips used for decompressing digital video signals such as digital MPEG. OSD processors typically overwrite video in order to display text on the video screen. Typically, a decompression chip prepares bitmap data for the display of a field of video, and then the OSD processor sums in the OSD data to overwrite the video data.  
         [0014]     OSD components vary, however they generally provide for the storage or repeated regeneration of the following: a gray scale (or color) palette, dimensions for the size of the OSD text to be displayed and a location for it to be displayed. Typically an OSD controller is combined with an OSD data area in an Application Specific Integrated Chip (ASIC), all of which are usually supplemental to the decompression functions of the same ASIC.  
       SUMMARY OF THE INVENTION  
       [0015]     The present invention is an on-screen display processor configured to reinsert VBI data into a digital video bitstream and a method for executing the same.  
         [0016]     In one aspect of the present invention, an OSD processor reinserting VBI data into a DVB bitstream includes an OSD processor, and OSD data area or memory configured to maintain a gray scale palette, a VBI data size and VBI data location identification. An input buffer for receiving VBI data and an output buffer for sending VBI data onwards into the DVB bitstream are in operative communication with the OSD.  
         [0017]     In one aspect of the present invention VBI is reinserted into a DVB bitstream by creating a gray scale palette in an OSD data area or memory, sizing a VBI data area, locating a VBI area and optionally storing both in an OSD data storage area or other memory associated with it. Alternatively this data may be regenerated upon demand. The information is used by the OSD for generating a VBI luma waveform bitmap. The OSD overlays the VBI luma waveform bitmap onto an uncompressed digital video signal for display output.  
         [0018]     Further features and advantages of the present invention, as well as the structure and operation of various embodiments of the present invention, are described in detail below with reference to the accompanying drawings.  
     
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0019]      FIG. 1  is a block diagram of the components of an integrated receiver decoder.  
         [0020]      FIG. 2  is a block diagram of a OSD controller configured for VBI reinsertion.  
         [0021]      FIG. 3  is a flow chart depicted a method for VBI reinsertion set up in an OSD.  
         [0022]      FIG. 4  is a flow chart for reinsertion of VBI using OSD.  
     
    
     DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS  
       [0023]     Referring now to the figures in which like reference numerals indicate like elements,  FIG. 1  is a block diagram of a typical integrated receiver/decoder unit. The IRD  10  receives a radio frequency input comprising a standardized digital video broadcast bitstream according to the MPEG protocol from satellite dish  20 . Components within the IRD  10 , all which are in operative communication with one another, include the control processor  30 , tuner  32 , RAM  34 , packet identification filters  36 , buffer  38 , MPEG decoder  40 , digital analog converter  42 , buffer  44 , UART  46 , a link to an Ethernet or LAN  48 , and an operator interface comprised of a LCD display  50  and a keyboard  52 . The digital analog converter outputs a signal comprising video, audio or other data to display devices such as a television or speakers (not shown). The operation of IRD  10  is more fully described in U.S. patent application Ser. Nos. 10/350,930 and 10/400,972 incorporated by reference herein.  
         [0024]      FIG. 2  discloses some of the components within the control processor  50 . The control processor  50  may be configured in a variety of ways. A separate microprocessor  110  may work in conjunction with a video decoder chip  120 , or a single ASIC may include both functions as separate modules. In either case a memory region is dedicated to OSD.  
         [0025]     Within microprocessor  110  is a dedicated VBI waveform builder module  112 . In the depicted embodiment, raw VBI data is retained in buffer  105 , after it has been decrypted and demultiplexed. The raw data is fed to the wave form builder  112  on demand. Optionally, separate buffers (not shown) may be used for even and odd field data. The waveform builder produces one or more pixel values for each byte of data to be transmitted, as specified by the applicable VBI standard. For example, it may sinusoidally shape the edges of the video transitions. Ancillary waveforms, such as a clock run-in preamble, may be added as well, by the waveform builder.  
         [0026]     The OSD memory region  130  is configurable to include multiple OSD memory regions  132  dedicated to various tasks. Within each OSD memory region dedicated to inserting VBI data, a portion will be configured for storing information locating the VBI display according to an XY position  134 . A single pixel among the horizontal array of pixels, 720 in NTSC format, is identified as the beginning X position. Similarly one of the lines in the vertical array is identified as the starting Y position. Memory region  132  will also have a horizontal and vertical size  136  configured. Size is defined by a number of pixels (horizontal length) by a number of lines (vertical height). These positions and dimensions are largely hardware specific. A 256 byte gray scale palette is also stored at  138 . Finally, a memory component for the actual bitmap data  140  is configured and associated with the palette and position and size data. The bitmap data is received from the VBI waveform builder module  112  and temporarily stored in the bitmap data region  140 .  
         [0027]     A palette is a lookup table. Different memory regions may each have their own palette, as in the depicted embodiment, or each memory region may alternatively refer to a palette stored in a different memory region. Palettes may be configured for different ranges of color. For example, if two bytes are allocated per pixel, four colors are available. If eight bytes are allocated per pixel, sixteen colors are available. If eight bytes are allocated per pixel, 256 colors are available. Different palette sizes may be used within the scope of the present invention according to available memory capacity and speed requirements. In the depicted embodiment, eight bytes are used per pixel.  
         [0028]     In one embodiment of the invention, there will be two memory regions dedicated to VBI data insertion. These correspond to the two fields of even lines and odd lines that together form a single frame of video image. If necessary, an input buffer and an output buffer may be used.  
         [0029]     During the display of an image, a small state machine first picks up the palette from SDRAM and loads it into the lookup table. Then the OSD region start and stop addresses are read. When the display reaches the OSD start position (defined in the bitmap) the bitmap is sent pixel by pixel to the lookup table and the display switches from video to the output of the lookup table, or a mixture of both.  
         [0030]     Line numbers are used to define the top and the bottom of the OSD region. The positions of the left and right edges of an OSD region are defined as units of pixel clock cycles from the falling edge of the horizontal synchronization signal.  
         [0031]     The video decoder chip  120  is largely dedicated to decompression of the main video stream. The compressed video data is received from the satellite dish through the tuner and decompressed at the video decompression component  150 . The video decoder chip  120  will also have the OSD controller  160 . The digital video output  170  combines the two signals and forwards them to a video encoder chip  180 . The digital video output  170  includes a mixing unit. Mixing is typically, but not necessarily, done by summing the luma and, if applicable, chroma values of each pixel. Optionally, a digital video serializer  190  may also receive the digital video output.  
         [0032]     For reinsertion of the VBI data, the OSD controller receives the information from the VBI memory region  132 , alternating between receiving the even and the odd field data. The VBI data is then summed into the decompressed digital video bitstream at the digital video output  170 . A mixing function may provide for a percentage of weight given to OSD inserted data, ranging from zero, which is transparent and allows the underlying video signal to be seen, to 100% which is completely opaque, and completely obscures the underlying video.  
         [0033]     In the present invention, an OSD region  132  is dedicated to receiving the VBI waveform builder bitmap and is configured so that a separate region of screen space is dedicated to display of VBI data. This may be executed by a single VBI data region, or two VBI data regions; one for each field. As separate field VBI/OSD data regions are configured, they may each have a separate palette or may share the same palette.  
         [0034]      FIG. 3  is a flow chart for setup of the OSD memory dedicated to VBI reinsertion ( 132 ). At set up  152  the first step  154  is to initialize the position data in the OSD memory region  134 . A second step  156  is to initialize the vertical and horizontal size information in the OSD memory region  136  and a final step  158  is to create the gray scale palette for the VBI/OSD region  138 . After executing these steps the OSD memory region is prepared for accepting VBI data and reinserting it into the overall data digital video broadcasting bitstream.  
         [0035]     In operation, the depicted embodiment maintains separate OSD memory regions  132 A and  132 B for insertion of first even field VBI data and second odd field VBI data. Accordingly, they will be read from and written to alternatively. Because each field takes 16.7 milliseconds to display, the VBI waveform builder module  112  is capable of building a next waveform in adequate time for the method of the present invention to be applied through only a single OSD memory region configured for the VBI data insertion. Extra processing for executing the method of the present invention through a single OSD memory region would include changing the bitmap data to skip every other line for an even field and skip the alternate lines for the odd field.  
         [0036]     However, the operation of the depicted embodiment is that while an even field is displayed, the VBI waveform builder will write the bitmap to the odd field memory region  132 B. After receipt of the next vertical sync, the decoder chip will request the odd field VBI insertion data, and it will be read from odd OSD memory region  132 B. At this time, the VBI waveform builder will write to the even field OSD memory region  132 A its next bitmap.  
         [0037]      FIG. 4  is a flow chart for the actual insertion of the VBI waveform video OSD region. This flowchart depicts a single writing to a single OSD memory region. When a vertical sync is received  302 , the VBI waveform builder  112  calls  306  for the next field&#39;s raw VBI data  304  held in the raw VBI data buffer  105  ( FIG. 2 ). The VBI waveform bitmap is generated  308 . The VBI waveform builder  112  then writes the VBI waveform bitmap it has generated to the opposite field OSD memory region  132  at step  310 . The VBI waveform builder module then waits for the next vertical sync to execute these steps again with the original field&#39;s next unit of VBI data.  
         [0038]     Having read the opposite fields VBI data from buffer  132 , the OSD controller overwrites it onto the decompressed video at the digital video output.  
         [0039]     In view of the foregoing, it will be seen that the several advantages of the invention are achieved and attained.  
         [0040]     The embodiments were chosen and described in order to best explain the principles of the invention and its practical application to thereby enable others skilled in the art to best utilize the invention in various embodiments and with various modifications as are suited to the particular use contemplated.  
         [0041]     As various modifications could be made in the constructions and methods herein described and illustrated without departing from the scope of the invention, it is intended that all matter contained in the foregoing description or shown in the accompanying drawings shall be interpreted as illustrative rather than limiting. Thus, the breadth and scope of the present invention should not be limited by any of the above-described exemplary embodiments, but should be defined only in accordance with the following claims appended hereto and their equivalents.