The present invention relates to a digital image processing device for on screen display (OSD).
In recent years, digitization of TV broadcasts is in progress in many countries in the world, whereby enjoying high-definition, high-quality video at home has become increasingly popular. Digital broadcast receivers however have a problem of being high in production cost because large-scale signal processing is necessary for such receivers.
One of factors responsible for the increased cost is a large-capacity memory used as a work memory for a video signal processing LSI. To receive a high-definition, high-quality digital broadcast, the transfer data amount per unit time (memory bandwidth) must be increased between a work memory and a signal processing LSI. For this, a number of high-speed work memories must be mounted. In this regard, if the memory bandwidth can be reduced, the number of work memory components will be able to be reduced, or an inexpensive work memory comparatively slow in operation speed will be able to be adopted.
One of causes of access to a work memory is OSD. OSD images include ones transmitted by being multiplexed with a broadcast wave as data of a data broadcast and ones unique to individual TV receivers such as an electronic program guide (EPG) and a channel banner. Such OSD images are normally superimposed on transmitted video to be displayed on a screen. In particular, OSD images unique to TV receivers, which are used as a user interface, have been increasingly used to display distinctive images for individual assembly manufacturers as one of differentiation techniques.
Display of a plurality of OSD images has been becoming popular. Patent Document 1 below discloses an example of the technique for this display.
However, Patent Document 1 described above has the following problems. Since bit streams of a plurality of OSD images are read from a work memory in parallel, the transfer data amount per unit time from the work memory is large. Also, since a plurality of lookup tables are used in parallel at all times, power consumption is large. Moreover, processing of video and processing of the OSD images must be made simultaneously in synchronization with video output. This is not suited to processing by a processor.
Patent Document 2 describes switching of lookup tables but does not specify synthesis of OSD images. In readout of pixel data included in a plurality of OSD images in order of display of a synthesized OSD image, real-time access to memory addresses at random positions is necessary. This makes the memory access complicate, and hence it is disadvantageously difficult to perform burst transfer like one generally used for transfer of image data.
An object of the present invention is reducing the transfer data amount per unit time read from a work memory and yet superimposing a plurality of OSD images on inputted video.
The digital image processing device of an exemplary embodiment of the present invention includes: a sequencer configured to overlay a plurality of OSD images on each other considering their priorities and store a resultant synthesized image in a work memory; a switch signal generation section configured to generate a switch signal indicating which pixel among pixels of the plurality of OSD images should be displayed as a pixel of the synthesized image based on coordinate data indicating regions in which the plurality of OSD images are displayed and the priorities of the plurality of OSD images; and a conversion section configured to store lookup tables each indicating the relationship between index data and data representing a color corresponding to the index data, convert index data of the synthesized image read from the work memory to data representing a corresponding color using the lookup table corresponding to the switch signal, and output the resultant data.
With the above configuration, a synthesized image is obtained from a plurality of OSD images and conversion is made for index data of the synthesized image using an appropriate lookup table. Hence, in display of the plurality of OSD images overlaid on each other, the transfer data amount can be reduced.
According to an exemplary embodiment of the present invention, the transfer data amount per unit time read from the work memory can be reduced, and a plurality of OSD images can be displayed by superimposing them on inputted video. This permits a wide variety of display with a plurality of OSD images while minimizing the cost of the work memory.
Hereinafter, an embodiment of the present invention will be described with reference to the relevant drawings.
Assume herein that an input video signal VIN is a transport stream. The input interface 12 performs processing such as conversion of the stream type for the input video signal VIN and outputs the results to the AV decoder 14. The AV decoder 14 performs MPEG (Moving Picture Experts Group) decoding, for example, for the output of the input interface 12 and outputs the decoded results to the video signal processing section 16. The video signal processing section 16 performs processing such as resizing for the decoded results as required and outputs the resultant video signal processed results to the OSD superimposing section 18. The memory interface 26 is an interface between a work memory 24 and other components.
The work memory 24 is assumed to be external to the digital image processing device of
The index data refers to data indicating any color in a palette having a small number of colors (28 colors, for example) selected in advance from colors (232 colors, for example) to be actually displayed. The colors to be actually displayed as used herein may be colors corresponding to the colors to be actually displayed. The colors selected and put in the palette are called index colors. Data indicating any of the colors to be actually displayed is called full-color data.
The palette is different among OSD images. Assume herein that the index data of each pixel is 8-bit data and corresponds to any of 28 colors out of the 232 colors, for example. In this case, each pixel can be represented by a color selected from the 232 colors with eight bits, not 32 bits; hence the data amount for representing an image can be reduced.
The CPU 34 writes OSD images I1, I2, I3 and I4 in
Priorities are assigned to the OSD images I1 to I4. Assume that the highest priority is given to the OSD image I4 and the priorities of the OSD images I3, I2 and I1 decrease in this order.
The sequencer 32 reads the index data of the OSD images I1 to I4 from the work memory 24 and synthesizes the index data. In other words, the sequencer 32 overlays the OSD images I1 to I4 on one another considering the priorities of these OSD images and determines index data of the OSD image highest in priority for each pixel. For example, for a region in which the OSD image I1 and the OSD image I2 overlap, data of the OSD image I2 is adopted because the priority of the OSD image I2 is higher than the priority of the OSD image I1. As a result of synthesis of index data, index data of one frame like a synthesized image IF in
It is unnecessary to perform the synthesis of index data described above in synchronization with video output. The sequencer 32 and the CPU 34 can therefore perform the processing at any given timing. For example, the processing may be made during a time in which memory access is comparatively small, such as the vertical blanking interval, so that the effect of the synthesis on the memory bandwidth can be reduced.
The LUT memories 36 A to 36D respectively store lookup tables for the OSD images I1 to I4. Each of the lookup tables is a conversion table indicating the relationship between index data (8 bits, for example) and its corresponding full-color data (32 bits, for example) representing a color to be actually displayed, which has been written in advance by the CPU 34. The CPU 34 rewrites the lookup tables stored in the LUT memories 36A to 36D as required. Each of the LUT memories 36A to 36D implements its lookup table by storing a 32-bit value in each of 28 addresses.
The OSD signal processing section 42 sequentially reads the index data of the synthesized image IF in
The region selection signal generation circuit 46 generates a selection signal SEL indicating whether or not the coordinates of pixels of the synthesized image IF are within respective regions of the OSD images I1 to I4. Specifically, the region selection signal generation circuit 46 puts a selection signal SEL1 in a high potential (“H”) during a time period corresponding to a section where the horizontal line HL and the OSD image I1 overlap based on the coordinate data of point A1 and point B1 stored in the region selection register 44. The region selection signal generation circuit 46 puts a selection signal SEL2 in “H” during a time period corresponding to a section where the horizontal line HL and the OSD image I2 overlap based on the coordinate data of point A2 and point B2 stored in the region selection register 44. The region selection signal generation circuit 46 keeps a selection signal SEL3 in a low potential (“L”) because the horizontal line HL and the OSD image I3 do not overlap. The region selection signal generation circuit 46 puts a selection signal SEL4 in “H” during a time period corresponding to a section where the horizontal line HL and the OSD image I4 overlap based on the coordinate data of point A4 and point B4 stored in the region selection register 44.
The region selection signal generation circuit 46, having received information indicating the coordinates of pixels of the read synthesized image IF from the OSD signal processing section 42, outputs the selection signals SEL1 to SEL4 in synchronization with the readout of the synthesized image IF. The region selection signal generation circuit 46 outputs the selection signals SEL1 to SEL4 to the decoder 48 as the selection signal SEL.
The decoder 48 generates the LUT switch signal SWL indicating the OSD image highest in priority, among the OSD images corresponding to any of the selection signals SEL1 to SEL4 whose level is “H”, based on the priorities of the OSD images I1 to I4, and outputs the resultant signal to the multiplexer 38. The LUT switch signal SWL indicates which one of the OSD images I1 to I4 should be displayed as a pixel of the synthesized image IF.
The multiplexer 38 selects the output of one of the LUT memories 36A to 36D that corresponds to the OSD image indicated by the LUT switch signal SWL, and outputs the selected results to the OSD signal processing section 42. Full-color data representing a color to be actually displayed is outputted from the multiplexer 38. In other words, the conversion section 35 converts the index data of the synthesized image read from the work memory to data representing their corresponding colors using the lookup table corresponding to the LUT switch signal SWL, and outputs the converted colors.
The OSD signal processing section 42 performs various types of signal processing such as resizing for the output of the multiplexer 38 and outputs the results to the OSD superimposing section 18. The OSD superimposing section 18 superimposes the output of the OSD signal processing section 42 on the output of the video signal processing section 16, and outputs the results to the output interface section 22. The output interface section 22 changes the output of the OSD superimposing section 18 to a signal of a desired type and outputs the results as the output video signal VOUT.
As described above, in the image processing device of
In the above description, the four OSD images I1 to I4 were superimposed on video. A larger or smaller number of OSD images can also be superimposed easily in a similar manner.
The region selection register 44 does not necessarily store data indicating the regions of the OSD images over the entire display region (frame). A given LUT may be used for a region uncovered by the region selection register 44. Otherwise, fixed data may be outputted, or data stored in a separately placed register may be outputted, for such a region.
The LUT memories 36A to 36D may receive the LUT switch signal SWL, and only a memory among the LUT memories 36A to 36D that stores a lookup table used for the OSD image indicated by the LUT switch signal SWL may be configured to operate. In such a case where only the necessary memory operates, power consumption can be reduced.
The LUT memories 36A to 36D and the multiplexer 38 may be formed of one memory. In this case, by using the value of the LUT switch signal SWL as part of each address, selection of a lookup table to be used for conversion may be made with the LUT switch signal SWL.
The LUT allocation register 252 stores allocation data indicating the relationship between the OSD images I1 to I4 and the lookup tables to be used for the individual OSD images. The decoder 248 determines the OSD image (any of the OSD images I1 to I4) to be displayed as a pixel of the synthesized image IF, like the decoder 48, and further generates a signal indicating a lookup table corresponding to the determined OSD image as the LUT switch signal SWL according to the allocation data.
The allocation data is written into the LUT allocation register 252 by the CPU 34 prior to the readout of the synthesized image IF. While the allocation of the lookup tables to the OSD images I1 to I4 was fixed in the digital image processing device of
The region priority selection register 354 stores the priorities of the OSD images I1 to I4. The decoder 348 operates the same as the decoder 248 except for performing the processing according to the priorities stored in the region priority selection register 354.
The priorities are written in the region priority selection register 354 by the CPU 34 prior to the readout of the synthesized image IF. The CPU 34 also informs the sequencer 32 of the same priorities. In the digital image processing device of
The CPU 34 writes the OSD images I1, I2, I3 and I5 in
The sequencer 32 reads the index data of the OSD images I1 to I3 and the full-color data of the OSD image I5 from the work memory 24, and synthesizes the data. In other words, the sequencer 32 overlays the OSD images I1 to I3 and I5 on one another considering the priorities of these OSD images and determines data of the OSD image highest in priority for each pixel. As a result of synthesis of data, data of one frame like a synthesized image IF in
In the pixel information register 456, pixel information indicating which data, index data representing an index color or full-color data representing a color to be displayed, each of the OSD images I1 to I3 and I5 is composed of is stored by the CPU 34 prior to the readout of the synthesized image IF. The decoder 448, like the decoder 48, determines the switch signal SWL indicating the OSD image (any of the OSD images I1 to I3 and I5) to be displayed as a pixel of the synthesized image IF. Further, if a pixel of the OSD image I5 is to be displayed as a pixel of the synthesized image IF, the decoder 448 generates the switch signal SWL for instructing the multiplexer 38 to output data read from the work memory 24 as it is according to the pixel information in the pixel information register 456.
In the digital image processing device of
In any of the digital image processing devices described above, the synthesized image IF is first prepared and stored in the work memory 24 and then read out. Hence, unlike the case of synthesizing an image while reading the OSD image I1 and the like, it is unnecessary to transfer data for a non-displayed region. Also, since the synthesized image IF can be stored in consecutive addresses in the work memory 24, efficient readout by burst transfer is permitted.
As described above, according to an exemplary embodiment of the present invention, the data amount per unit time read from the work memory can be reduced. The present invention is therefore useful for digital image processing devices and the like.
Number | Date | Country | Kind |
---|---|---|---|
2007-242196 | Sep 2007 | JP | national |
Filing Document | Filing Date | Country | Kind | 371c Date |
---|---|---|---|---|
PCT/JP2008/002522 | 9/11/2008 | WO | 00 | 10/7/2009 |