The invention relates to clipping of media data transmitted in a network, and more particularly to a method and an apparatus for clipping at least one of two media data streams transmitted in a network from a source device to a destination device for rendering in a multi-window display.
Media data, such as audio/video data, may be transmitted from a source device to a destination device, wherein the media data is processed to be displayed on a screen. However, interconnecting different electronic equipment, such as a video player, a digital video disk (DVD) player, a personal computer (PC), etc., capable of providing a media data stream in a local area network, such as a home network, is becoming increasingly common. The local area network may in turn be operatively connected to a wide area network to which even more source devices providing media data streams are operatively connected.
Interconnecting the source devices and at least one destination device in a network provides the possibility to display a number of media data streams in different windows of a single multi-window display operatively connected to the destination device. A first media data stream is e.g. provided by a video recorder and a second media data stream is provided by a PC. It may happen that the first media data stream is displayed in a first window as a main image covering the complete display area, and that the second media data stream is displayed in a second window as a picture in the picture (PiP) window covering parts of the first window. Consequently, those parts of the first window being overlapped by the second window are invisible to a viewer. Further, if the destination device receives multiple media data streams this may happen for several of the associated windows displayed in the multi-window display.
In the network, the available capacity or bandwidth for transmitting data is limited. Transmitting several media data streams from one or several source devices to a destination device requires a certain amount of bandwidth. However, if some amount of the displayed media data stream is displayed in a window area covered by other windows bandwidth is wasted, as the covered area of the window is invisible. Thus, there is a need for a method and an apparatus for more efficiently transmitting media data streams, which will be displayed in a multi-window display.
It is an object of the invention to save bandwidth in a network when multiple media data streams are transmitted from one or several source devices to at least one destination device, wherein the media data streams are rendered in different windows of a multi-window display.
The above object is achieved by a method and an apparatus for receiving multiple media data streams to be displayed in different windows of a multi-window display of a destination device. According to the method, clipping information of at least one of the received media data streams being at least partly covered when displayed in a first window of the multi-window display are calculated by the destination device. A second window displaying a second media data stream is covering the first window. Consequently, as the covered part of any window can not be seen by a viewer, the media data relating to the covered part is not needed in the destination device. Therefore, the clipping information is transmitted to the source device providing the media data stream displayed in the at least partly covered window. When the source device has clipped the media data stream based on the clipping information and possibly stored image processing information, the destination device receives a clipped media data stream to be displayed in the first window.
A method and apparatus for transmitting media data to a destination device also achieve the above object. According to the invention an apparatus, such as a source device, receives clipping information provided by at least one destination device displaying a media data stream. The source device is configured to calculate a window area for which media data is not needed by the destination device, said area is a part of a first window of a multi-window display being covered by a another window. The apparatus is further configured to not provide any media data relating to the calculated area to the destination device, wherein only a clipped media data stream is provided to the destination device.
These and other aspects of the invention will be apparent from and elucidated with reference to the embodiments described hereinafter.
The invention will now be described, by way of example, with reference to the accompanying drawings, wherein:
Processing of media data, such as digital audio/video data, is well known in image processing. A media data stream may be transmitted from several source devices operatively connected in a network, said media data streams being received by one or several destination devices operatively connected to the network. The network may be a local area network, such as a home network, which in turn is connected to a wide area network such as the Internet. If each received media data stream is to be displayed in a separate window of a multi-window display, one window may overlap the other. According to the invention, at least parts of the media data covered when displayed in a window of the multi-window display need not be transmitted by the source device to the destination device. This is possible as media data algorithms are usually processed independently of their appearance on the final display. In a multi-window environment, this leads to at lot of unnecessary processing in the hidden areas. By utilizing the method according to the invention, transmitting and processing media data not being rendered is avoided.
In an alternative embodiment, the source device 101, 102 also comprises a switcher 125 operatively connected to the network coordinator 123 and to the encoder block 122. The switcher 125 is configured to combine a clipped media data stream with at least a second media data stream to a multi-window image comprising at least two windows. The display coordinates of each window of the multi-window is received from the destination device 103.
The invention will now be further explained in relation to some exemplifying embodiments. Multiple media data streams are transmitted from one or several source devices 101, 102 to one or several destination devices 103. Each media data stream will be received by the receiver 105 of the destination device 103, decoded by the decoder block 107 and forwarded to respective image processors 108, 109, 110, which will generate images that are joined by the switcher 113 to be displayed on a multi-window display in different windows.
As can be seen in
For providing relevant clipping information to a specific source device 101, 102 it is necessary to know where in the multi-window display overlap occurs, i.e. the relevant display coordinates. A viewer of the images presented in the main window 201 and the PiP windows 202, 203 can determine the size and position of each PiP window on the multi-window display, by e.g. sending a message to the system controller 112 of the destination device 103 using e.g. a remote control or a mouse. In one embodiment, the system controller 112 generates the demanded display coordinates for each window, which are forwarded to the switcher 113, possibly via the window controller 111. The switcher is configured to join the main window 201 generated by e.g. the first image processor 108 and the PiP windows 202, 203 generated by e.g. the second and third image processors 109, 110, respectively. The system controller 112 verifies by means of the window controller 111 whether overlaps between any of the windows 201, 202, 203 occur, wherein the window controller 111 extracts the display coordinates of the overlapped area(s), said coordinates being transmitted to the image processors 108, 109, 110. Also, the image processors 108, 109, 110 have image processing information of whether any neighboring pixels are involved in the processing of an output pixel. This processing information is known by the destination device 103, or communicated from the source device 101, 102 to the system controller 112. The processing information is e.g. stored in a register of the system controller 112. Consequently, the image processors 108, 109, 110 can determine the pixels, for which processing of media data is not to be executed, and for which media data is not necessary. Further, the display coordinates of the overlapped area(s) are also transmitted by the transmitter 106 to each source device 101, 102 providing the media data being overlapped when displayed in a window 201, 202, 203.
In an alternative embodiment, the original or previous window coordinates of the covered area(s) are adjusted by the window controller 111 taking the overhead areas, i.e. areas involved in processing a shown pixel but not shown in itself, into account. Then, the adjusted window coordinates of the covered area(s), such as the shaded area 204, are transmitted to the source device 101, 102 via the transmitter 106.
As can be seen in the example of
Every time the user of the destination device 103 moves a window 201, 202, 203, or changes the size of said windows, new areas will be covered and others uncovered, wherein new clipping information is re-calculated and transmitted to the source devices 101, 102, and the image processors 108, 109, 110 concerned. Preferably, the clipping information is generated and transmitted to the concerned source device 101, 102 within a maximum time interval of a few hundred milliseconds. If the clipping information is provided with a high enough frequency, no synchronization problems between the source device 101, 102 and the destination device 103 will occur, as both the source devices 101, 102 and the image processors 108, 109, 110 of the destination device 103 have window coordinates and both can calculate the coordinates of the covered areas. Consequently, the calculation of the covered area by the source device 101, 102 will not lag behind the actual covered area at the destination device 103.
In an alternative embodiment, synchronization problems between the source device 101, 102, and the destination device 103 can be avoided although the clipping information is not generated and transmitted within the above-mentioned interval. In this embodiment, the clipping information is first generated by the destination device 103, such as set out above, and transmitted to the source device 101, 102. The clipping information is also transmitted to the image processors 108, 109, 110, which in this embodiment are set to not apply the new clipping information until an acknowledgement that the clipping information has been applied by the source device 101, 102 is received. The processors 108, 109, 110 will wait until the acknowledgement is received. When the source device 101, 102 receives the clipping information, it will act on said clipping information as will be described in the following. Additionally, the source device 101, 102 will prepare and transmit an acknowledgement together with the clipped media data stream to the destination device 103 concerned. In one embodiment, the clipping information will act as an acknowledgement. Alternatively a separate acknowledgement that the clipping information is received and applied may be generated and transmitted. When the destination device 103 receives the acknowledgement, the image processors 108, 109, 110 may start applying the new clipping information.
A certain source device 101, 102 may serve one or several destination devices by multicasting or unicasting media data streams. When multicasting is provided, the source device 101, 102 may receive clipping information from each destination device that receives at least one media data stream from said source device, as described above. In a multicasting environment, the network coordinator 123 of the source device 101, 102 combines the clipping information received from each operatively connected destination device 103, calculates the area of a window being covered in all destination devices and clips those parts of the media data stream not being needed by anyone of the destination devices accordingly. Consequently, in a multicasting environment the network coordinator retrieves the media data from the media data repository 124 and clips said media data using the combined clipping information before transmitting the media data stream to each connected destination device 103. As is understood, one source device 101, 102 may provide several media data streams, wherein it is configured to receive clipping information from one or several destination devices relating to each media data stream provided.
In a unicasting environment, the source device 101, 102 is configured to clip each media data stream transmitted to a specific destination device 103 differently according to received clipping information from that destination device. Consequently, in the unicasting environment the network coordinator 123 does not have to combine the clipping information received from different destination devices 103. The media data stream retrieved from the media data repository 124 is only clipped according to clipping information received from a specific destination device 103.
The source devices 101, 102 will act on clipping information by e.g. removing data relating to the area calculated by the network coordinator 123 from the media data packets of the media data stream transmitted to the destination device 103. In the preferred embodiment of the invention, full transmission of the base layer is provided. However, enhancement media data blocks of the enhancement layer relating to the media data not needed by the destination device 103 will not be transmitted to the destination device. The media data blocks not transmitted are extracted based on the calculation provided by the network coordinator 123, as described above. In another embodiment, the encoder block 122 of the source device 101, 102 may be set, e.g. by the network coordinator 123, to not encode and transmit the enhancement media data blocks of the enhancement layer relating to the media data not needed by the destination device, which is calculated by the network coordinator 123.
When the clipped media data stream is received by the destination device 103, the media data stream is decoded and it is determined which pixels are not to be processed to derive the output data stream supplied to the switcher 113. Then, the clipped media data stream may be processed and outputted to the switcher 113 producing an output media stream comprising a multi-window image. However, if the source device 101, 102 provides a complete multi-window image, the clipped media-data streams do not have to be processed by the destination device, wherein the received clipped media data stream only has to be decoded before outputted as an output media data stream. In an embodiment wherein the source device 101, 102 prepares the multi-window image, the destination device may not comprise any image processors 108, 109, 110.
In one embodiment, in step 404 the media data stream is clipped in that data blocks relating to the media data not needed by the destination device are removed from the media data stream transmitted to the destination device 103. In another embodiment, in step 404 the media data stream is clipped in that the encoder block 122 is instructed not to encode the blocks relating to said not needed media data. Finally in step 405, the clipped media data stream is encoded and transmitted to the destination device 103 that provided the clipping information being utilized for clipping the media data stream, or to each connected destination device in a multicasting environment.
In the embodiment wherein one source device 101, 102 provides a preprocessed clipped multi-window image, the network coordinator 123 provides several media data streams, of which at least one is clipped, based on received clipping information. Then the clipped media data stream and the at least one other media data stream are combined to a multi-window image, which is encoded and transmitted in step 405.
It will be understood that the different embodiments of the invention are not limited to the exact order of the above-described steps as the timing of some steps can be interchanged without affecting the overall operation of the invention. Furthermore, the term “comprising” does not exclude other elements or steps, the terms “a” and “an” do not exclude a plurality, and a single processor or other unit may fulfill the functions of several of the units or circuits recited in the claims.
Number | Date | Country | Kind |
---|---|---|---|
02080363.1 | Dec 2002 | EP | regional |
Filing Document | Filing Date | Country | Kind | 371c Date |
---|---|---|---|---|
PCT/IB03/05329 | 11/18/2003 | WO | 6/15/2005 |