Video data processing method and apparatus for processing video data

A video data displaying device is disclosed. The video data displaying device is used to drive a displayer according to a first display data set to display a first picture, the displaying device comprises a memory for storing the first display data set, and a display engine which is electrically connected to the memory for storing a part of the first display data set stored in the memory, wherein the display engine selects a specific display data set from the first display data set according to a display area of the displayer, and the display engine does not output the specific display data to the displayer.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The invention relates to a video processing method and apparatus, and more particularly, to a video processing method and apparatus capable of saving bandwidth.

2. Description of the Prior Art

Following the development and popularization of consumer electronics products, video and audio entertainment products have become a large part of life. Furthermore, the progress of technology gives people more and more different entertainment choices. Taking TV for example, previously TV only received signals from broadcast TV stations, and consumers could only choose a limited number of channels. Because of cable TV, the number of channels has increased significantly and consumers have more choices. In recent years, in order to provide consumers better display quality, many display standards have been issued. Among these innovations, the most important one is the invention of digital TV, which started a brand-new field. For example, a digital TV can be utilized with a multimedia computer system, and furthermore, a digital TV has better display quality.

Generally speaking, a digital TV system utilizes a bus structure to communicate among its internal elements. Please refer toFIG. 1, which is a block diagram of a typical digital TV10. The digital TV10comprises a memory12, a front-end processor14, a MPEG decoder16, a display engine17, a display panel18, and a bus20to which the aforementioned elements are coupled. The memory12is utilized to store video data, and the memory12can be divided into two memory blocks22,24, wherein the memory block22is utilized to store un-decoded video data, and the memory block24is utilized to store decoded video data. The front-end processor14receives un-decoded video data from an antenna or other sources, performs pre-processing on the received video data, and stores the processed video data in the memory block22of the memory12through the bus20. The MPEG decoder16then reads out the un-decoded video data from the memory block22of the memory12, performs MPEG decoding, and writes back the decoded display data in the memory block24of the memory12through the bus20. Finally, the display engine17reads the display data from the memory block24, and drives the panel18according to the display data to display images corresponding to the digital TV signals received by the digital TV10.

Because data transferred by the digital signal is generally quite large, the bandwidth of the bus20or of the memory12often becomes a bottleneck in the system structure of a digital TV system, and should be considered during system design. However, in a digital TV system, many features utilizing digital data processing, such as picture-in-picture (PIP), or on-screen display (OSD), often generate overlapping pictures. For example, a sub-picture covers a part of a main picture, or OSD covers a video picture, resulting in a part of the processed and decoded video data is not shown in the panel18because it is covered. In the above-mentioned situation, it is obvious that the bandwidth used to process the covered area is wasted, because the video data corresponding to the covered area used considerable bandwidth during decoding and processing but not shown in the panel18.

SUMMARY OF THE INVENTION

It is therefore one of the many objectives of the claimed invention to provide a video processing method and apparatus for saving bandwidth of a bus or a memory.

According to embodiments of the invention, a video data displaying apparatus for driving a displayer to display a first picture according to a first display data set is disclosed, the apparatus comprising: a memory for storing the first display data set; and a display engine coupled to the memory for reading a part of the first display data set stored in the memory to drive the displayer, wherein the display engine selects a specific display data set of the first display data set according to a display area on the displayer, and the display data set outputted by the display engine to the displayer does not comprise the specific data set.

Furthermore, a method of processing a video data set for driving a displayer to display a first display data set is disclosed, the method comprising: storing the first display data set; selecting a specific display data set of the first display data set according to a display area on the displayer; and reading a part of the first display data set to drive the displayer to display the first picture, wherein a display data set transferred to the displayer does not comprise the specific display data set.

According to embodiments of the invention, a display apparatus is also disclosed. The display apparatus comprises a memory for storing a first set of display data; a display engine coupled to the memory, for identifying a portion of the first set of display data; and a displayer coupled to the display engine, for displaying an image according to the control of the display engine; wherein the display engine drives the displayer to display the image by reading out from the memory the first set of display data other than the identified portion.

DETAILED DESCRIPTION

Please refer toFIG. 2, which is a block diagram of a digital TV30according to an embodiment of the present invention. The digital TV30comprises a memory32, a front-end processor34, a MPEG decoder36, a display engine37, a display panel38, and a bus40. The memory32is used to store video data, and the memory32can be conceptually divided into two memory blocks42,44, where the memory block42is used to store un-decoded (raw) video data, and the memory block44is used to store decoded video data. For example, the memory block44may be a frame buffer for storing all of the display data for all pixels in a frame. The front-end processor34receives un-decoded video data from an antenna or other sources, pre-processes the received video data set, for example by performing a de-multiplexing operation on the received video data set, and writes the pre-processed video data set in the memory block42of the memory32through the bus20. The MPEG decoder36then reads the un-decoded video data set from the memory block42of the memory32, decodes the un-decoded video data set, and writes a display data set back into the memory block44of the memory32through the bus40. Finally, the display engine37reads the display data set from the memory block44, and drives the display panel38to display images, which corresponds to the received digital TV signal of the digital TV30, according to the display data set. Please note that in this embodiment, the decoder36conforms to MPEG standard (such as MPEG2 or MPEG4). However, those skilled in the art can understand that the decoder36can also utilize other encoding/decoding schemes.

In this embodiment, when the display engine37reads a specific video data set from the memory block44of the memory32to drive the panel38, the display engine37can, according to outlook of the specific video data set eventually being shown on the display panel38, identify a portion of the specific video data set, and choose not to read the display data corresponding to said portion of the video data set out from the memory block44. For example, when, due to being covered by other overlapping images in the context of a PIP, OSD, or other application, the display data corresponding to the above-mentioned portion of said video data set is not to be seen on the display panel38, whether the display engine37reads out the display data corresponding to the said portion of the data set from the memory block44or not does not affects the display result. Therefore, in this embodiment, the display engine37does not read the display data corresponding to said portion of video data set from the memory block44through the bus40.

For performing the above-mentioned function, as shown inFIG. 2, in this embodiment the display engine37has an arithmetic unit46and a temporary storing unit48. The arithmetic unit46determines the display area corresponding to said portion of video data set according to the displaying result on the panel38in the context of, for example, a PIP, OSD, or other application, and temporarily stores display coordinates corresponding to the display area on the panel38in the temporary storing unit48. Then, the display engine37utilizes the display coordinates stored in the temporary storing unit48to determine the display data that are not to be read out, corresponding to the display area.

Please refer toFIG. 2in conjunction withFIG. 3, whereFIG. 3is an illustration of an embodiment of the display engine37shown inFIG. 2processing a video data set. As shown inFIG. 3, assuming that two pictures110,120are to be shown on the display panel38, wherein the two pictures110,120partially overlap with each other in a display area130on the panel38, and the picture120is on top of the picture110; that is, the picture120partially covers the picture110in the display area130, for example, when the picture120is used to display a subtitle or an OSD image. Because the portion of the picture110in the display area130is not to be shown and seen due to the cover-up, in this embodiment the display engine37does not need to read the display data set corresponding to the display area130of the picture110from the memory block44, and therefore the bandwidth used for reading the display data set corresponding to the display area130from the memory block44is spared. For example, when the display engine37reads the video data set corresponding to the picture110, the arithmetic unit46stores the display coordinates of the display area130in the temporary storing unit48. As shown inFIG. 3, pixel A lies in a corner of the display area130and pixel A has a horizontal display coordinate X and a vertical display coordinate Y on the display panel; furthermore, the size of the display area130is d1pixels horizontally and d2pixels vertically. Therefore, the arithmetic unit46stores the horizontal display coordinate X, the vertical display coordinate Y, the horizontal distance d1, and the vertical distance d2in the temporary storing unit48, and the display area130can be defined by the horizontal display coordinate X, the vertical display coordinate Y, the horizontal distance d1, and the vertical distance d2. In this embodiment, when the display engine37reads the display data set corresponding to the picture110from the memory block44to drive the panel38, the display engine37reads out, according to the stored coordinate information, the required display data, which does not include the display data corresponding to the covered display area130.

Please refer toFIG. 2in conjunction withFIG. 4andFIG. 5, whereFIG. 4andFIG. 5are illustrations of another embodiment of the display engine37shown inFIG. 2processing a video data set. As shown inFIG. 4, the display panel38shows a picture210, wherein an area220, which is to be closed up and is surrounded by a dotted line, is selected by a user. When the panel38displays the close-up area220, as shown inFIG. 5, the panel38only shows a scaled up picture230of the close-up area220. Therefore, when the display engine37drives the panel38to show the picture230, the display engine37only needs the display data set of the selected close-up area220of the picture210. As known by those skilled in the art, the display engine37typically comprises a scaler, which can perform operations such as interpolation, to create the display data set corresponding to the picture230from the display data set corresponding to the close-up area220. Therefore, when the display engine37processes to produce the video data set corresponding to the picture230, the arithmetic unit46determines display coordinates corresponding to the area other than the close-up area220and stores the display coordinates in the temporary storing unit48. In this embodiment, after the MPEG decoder36decodes the video data set corresponding to the picture210, the MPEG decoder36transfers the display data set of the display picture210to the memory block44through the bus40. Since the portion of the picture210outside the close-up area220is not to be shown in the picture230, when the display engine37reads the display data stored in the memory block44, it only reads out the display data set corresponding to the picture230according to the display address in the temporary storing unit48; that is, the portion other than that corresponding to picture220inFIG. 4is not read.

Please note that in the above-mentioned embodiments, when the display engine37processes the video data set corresponding to the picture230, the arithmetic unit46can also store the display coordinates of the close-up area220in the temporary storing unit48and the display engine37only needs to read the display data corresponding to the display coordinates instead of reading all display data from the memory block44.

Please refer toFIG. 2in conjunction withFIG. 6, whereFIG. 6is a flow chart of an embodiment of the present invention processing a video data. The operation by which the display engine37processes the video data comprises the following steps:

Step110: The arithmetic unit46detects a picture to be shown on the panel38;

Step120: The arithmetic unit46determines a display area according to the picture;

Step130: The arithmetic unit46selects display coordinates of the display data set corresponding to the display area and stores the display coordinates in the temporary storing unit48; and

Step140: The display engine37reads the corresponding display data from the memory block44of the memory32except for the display data corresponding to the display coordinates stored in the temporary storing unit48.

Please note that in actual implementations, the arithmetic unit46and the temporary storing unit48can be realized within the display engine37, or the arithmetic unit46and the temporary storing unit48can be designed externally to the display engine37. Furthermore, in this embodiment, the display engine37determines whether the display data is read from the memory36according to the display coordinates of the selected display area stored in the temporary storing unit48. But in fact, all mechanisms capable of determining which display data set does not need to be transferred can be utilized in this invention. That is, the present invention is not limited to utilizing the display coordinates stored in the temporary storing unit48. For example, one embodiment can utilize the header information from a MPEG video data set to determine which video data does not need to be transferred.

In addition, in the embodiment shown inFIG. 3, the selected display area is the overlapping area130. But a subset of the overlapping area130can also be the selected display area; in other words, the selected display data that does not need to be transferred may be merely a part of the display data corresponding to the entire overlapping area. Similarly, in the embodiment shown inFIG. 4andFIG. 5, the selected display area is the whole picture except the close-up area220, but a subset of the whole picture except the close-up area220can also be selected. In other words, the video data that does not need to be transferred may be merely a part of the display corresponding to the picture except the close-up area220. That is, it does not need to be the whole display data corresponding to the picture outside the close-up area220.

Please note that the present invention apparatus and method can be embodied in a digital TV; however, it can also be embodied in a DVD video player, a set top box, a video switch, or any other video processing systems.

It is also to be noted that although in the embodiments of the present invention only panel displays are listed as examples, one of ordinary skill in the art will be able to appreciate that the application of the inventive apparatus and method is not limited to flat panel displays. Any known or new display technologies such as CRT, LCD, plasma display, LOCOS, etc (the output illuminating mechanisms of all of which, such as the tube of CRT, or the panel of LCD, are hereinafter collectively termed as “displayer”) can implement and take the advantage of the invention.

The embodiment apparatus and method can save a large amount of bus or memory bandwidth in the context of picture overlapping or a close-up picture or other similar situation.