This application relates to a switched digital video distribution infrastructure for selectively distributing transport streams, and to a method of operating a switched digital video infrastructure.
The single program MPEG-2 transport stream or MTS (as defined in ISO 13818-1), sometimes referred to simply as a transport stream, is composed of fixed length packets, each 188 bytes long and having a four byte header. The remaining 184 bytes are payload (video and audio data) or some combination of adaptation field and payload.
A conventional MPEG encoder for receiving uncompressed digital audio and video data and generating MTS packets may include an audio encoder that receives the audio data and produces an audio packetized elementary stream (PES), a video encoder that receives the video data and produces a video PES, a controller that generates timing and other control data, and a multiplexer that operates under control of the controller to select the audio PES, the video PES and the control data in the sequence that is required in order to compose the 188-byte MTS packets.
Transmitting data terminal equipment (DTE) may transmit MTS packets over an Internet Protocol (IP) network on a multicast address. The transmitting DTE includes a network interface driver that receives the MTS packets from the MPEG encoder and constructs an IP packet usually containing seven MTS packets. When the network interface driver receives a packet request, the network interface driver outputs an IP packet onto the network. The receiving DTE includes a network interface driver that receives a sequence of bits from the network as an IP packet and recovers the MTS packets from the IP packet and supplies the MTS packets to an MPEG decoder, which divides the incoming MTS packets into the audio PES, the video PES and control data, decodes the audio data and outputs the decoded audio data as a continuous stream, and decodes the video data and outputs the decoded video data as a continuous stream.
A digital video infrastructure for distributing internet protocol television (IPTV) is shown partially in
The DSLAM also includes a DSL modem 18 for each subscriber output buffer 14. The DSL modem 18 receives the IP packets from the subscriber output buffer 14 and uses the packet data to modulate a high frequency signal that is delivered to the subscriber premise equipment 20 over the carrier network and the subscriber's local loop.
An MPEG transport stream may be transmitted at a variable bit rate (VBR), or unconstrained bit rate, in which case the bit rate varies in a manner that allows an entire picture to be transmitted in the interval between two consecutive decode times, or at a constrained bit rate, which includes both constant bit rate (CBR) and a capped VBR mode, in which the bit rate is not sufficient to allow an entire picture to be transmitted in the interval between two consecutive decode times.
For illustrative purposes, it will be assumed in an exemplary case that the IP packets convey the TS packets at constant bit rate (CBR). In this case, the time taken to deliver the bits for a picture will vary depending on, among other things, whether the picture is a B picture, a P picture or an I picture. For NTSC, the average duration of a frame at CBR is 0.033 s whereas an I frame might have a duration of 0.1 s or longer.
The subscriber premise equipment 20 at each subscriber premise includes a DSL modem 22 which recovers the IP packets from the high frequency DSL signal and supplies the IP packets to a set top box (STB) 30 which is connected to a television set 26. The STB 30 includes a network interface driver 32 which receives the IP packets from the DSL modem 22 and outputs transport stream packets, and an MPEG decoder 34 which receives the transport stream packets. The MPEG decoder includes a decoder buffer into which the transport stream bits are loaded and from which the pictures are read for decoding and presentation.
The decoder buffer in the MPEG decoder is modeled in the encoder or other upstream transmitting equipment by a compressed video buffer, which is referred to as the VBV buffer in MPEG2 and the CPB in H.264. It is helpful to the proper operation of the STB that the decoder buffer should not run dry or underflow. Aspects of the present invention prevent the decoder buffer from running dry or overflowing by controlling the upstream transmitting equipment so that the encoder's compressed video buffer does not overflow.
The subscriber may use a conventional remote control unit 28 to issue commands to the STB to change the channel that is currently being presented by the television set. In the event that the subscriber issues a command for channel change, the STB sends internet group management protocol (IGMP) leave and join requests for the respective multicast groups of the channel being left and for the new requested channel. Thus, the STB requests that it leave the multicast group for stream 1 and join the multicast group for stream 2, for example. In response to the leave and join requests, the router ceases copying the IP packets of stream 1 to the output buffer associated with the requesting STB and instead copies the IP packets of stream 2 to the output buffer.
The rectangle 40 in
It will be understood that there is a delay between the time of arrival of the first bit of a picture at the decoder and the time at which the picture can be decoded, since decoding cannot start until all bits of the picture are available and the buffer delay must be sufficient to accommodate the largest picture in the buffer at the constant bit rate.
Each TS packet containing bits of coded picture vi also contains a decode time stamp value DTSi that is associated with the picture and specifies the time at which the coded picture vi can be safely decoded without the decoder buffer running dry so that the decoder has to repeat frames. The DTS values are shown in
The time difference DTSi−ti is the time from when the decoder reads the first bit of picture i until the decoder can start to decode picture i. The maximum value Ts of the time difference DTSi−ti is the minimum size of the compressed video buffer given in seconds and must be greater than the time taken to load the largest picture in the buffer at the constant bit rate.
The dashed rectangle 42 in
Now suppose that at the time Tx the subscriber caused the STB to issue a request to change from the channel associated with stream v to the channel associated with stream w. The DSLAM will respond to the channel change request at the end of the current picture. Accordingly, at time t3 the bit stream arriving at the STB decoder buffer will change from packets vi to packets wi. The buffer contains all the bits of picture v2 but does not contain bits of picture v3. The decoder cannot start decoding coded pictures of stream w until at least time DTw3, where DTw3 is the decode time for picture w3, in order to allow the buffer to fill with bits of stream w. In addition, the decoder must wait for an I picture before starting to decode the wi bits. The decoder will be able to decode pictures v0, v1 and v2 at times DTS0, DTS1 and DTS2, but assuming a buffer size Ts, and assuming that frame w3 is an I frame, it may not be able to start decoding frames of the stream wi until time t′3+Ts, where t′3 is the time of arrival of the first bit of picture w3. Consequently, the channel change delay depends on the size of the compressed video buffer and the location of any given compressed frames within the buffer. In the case of this example the STB must repeat frame v2 at DTS3, DTS4 and DTS5, at least, before it is able to present a picture of the stream w. Moreover, in general the first frame after a channel change request will not be an I frame, so the number of times that the STB must repeat frame v2 will normally be larger, and the additional channel change delay could be as long as two seconds. This delay may be disturbing to a user who expects a substantially instantaneous response to a channel change request.
For a better understanding of aspects of the invention, and to show how the same may be carried into effect, reference will now be made, by way of example, to the accompanying drawings. It will be understood that this invention is not limited to the precise arrangements and instrumentalities shown.
In the several figures of the drawings, like reference numerals denote like or corresponding components.
An embodiment of the present invention mitigates channel change delay by temporarily reducing the maximum time difference DTSi−ti, by increasing the bit rate so that DTSi−ti is always less than one frame time. This may be accomplished by supplying the STB not only with the CBR regular stream (“SR”) of the requested program but also with a VBR fast channel change stream (“SF”). The fast channel change stream SF may be generated upstream of the DSLAM, but in some embodiments, it is preferred that the fast channel change stream be generated internally of the DSLAM.
Referring to
a) All null (PID 8191) packets in SR are removed.
b) The PAT, PMT, and other tables are placed at the same time (relative to PCR) in SF as in SR.
c) Audio packets and any other non-video and non-table packets are placed at the same time (relative to PCR) in SF as in SR.
d) The coded picture bits, vi, in the TS packets for video frame i are placed in SF such that all the packets are sent no earlier than DTSi-1 and arrive no later than DTSi. This is graphically demonstrated in
e) For any given PID the TS packets in temporal order in SR are (bit-by-bit) identical to the TS packets in SF except that a PCR in the adaptation_field of any TS in SF is adjusted for its position in the stream.
The constraints a)-e) may be applied upstream of the DSLAM or in the DSLAM itself.
The two streams (SR and SF) are transmitted such that if both are sent over the same network interface, TS packets from the two streams whose associated system clocks have the same or very close values will show up on the network interface very close in time.
Constraint a) ensures that the number of bits to be included in the stream SF is kept to a minimum, thus facilitating transmission at VBR. The other constraints ensure that substantially the only difference between the streams is the values of the PCRs.
The R/W circuitry 16 constructs the transport stream that is delivered to each subscriber buffer based on the IGMP leave and join requests received from the subscriber's STB. Thus, if subscriber A issues a command to change from the channel associated with stream X to the channel associated with stream 1, subscriber A's STB issues a leave request with respect to the multicast group for stream X and issues join requests with respect to the multicast groups for both the regular and fast channel change streams for stream 1. The R/W circuitry 16 places packets of the respective streams (SF and SR) in the subscriber A output buffer 14.
As noted above, the conventional MPEG decoder shown in
The upper rectangle in
In the event that the fast channel change stream SF is generated internally of the DSLAM, the block 12A may be considered to represent both the means for generating the stream SF and the input buffer for the stream SF.
Similarly to the case described with reference to
Let us assume as before that the picture v1 is the first I picture of the requested channel after the channel change request. The decoder is able to start decoding picture v1 received in the fast channel change stream within no more than one picture interval after receiving the first bit of picture v1 and without waiting for a time Ts to elapse in order to fill the decoder buffer. Thus, by use of the fast channel change stream, we are able to reduce the maximum time difference DTSi−Ti and thereby reduce the channel change time.
The first picture of the regular stream to be received after the channel change request is picture v3. Therefore, at time DTS3 the regular stream has caught up with the fast channel change stream and the decoder can switch from using the pictures of the fast channel change stream to using the pictures of the regular stream. At time T3 the STB issues a leave request with respect to the fast channel change stream and the R/W circuitry 16 responds by removing subscriber A's STB from the multicast group for the stream SF.
Constraint d) ensures that the audio frames in stream SF are placed in the stream near the decode times for the corresponding video and so can be decoded and played out at the same time as a video frame.
Referring to
The fast channel change stream input buffer has a minimum size g*R bits where g is the maximum time (in seconds) between two consecutive I pictures and R is the peak bit rate (in bits/second) of the stream SF. Accordingly, the SF buffer always contains at least one I picture.
The DSLAM analyzes the IP packets of the stream SF and those that contain the start of an I picture are marked as such in the fast channel change stream buffer.
When the DSLAM receives a join request with respect to the multicast group of a fast channel change stream, the DSLAM creates a pointer for the requesting subscriber having regard to the packets that are marked as containing the start of an I picture. The pointer marks the point from which the router reads IP packets from the SF buffer for copying to the subscriber's output buffer. As packets are copied, the pointer is updated appropriately. Initially, the pointer points logically to the location in the SF buffer containing the IP packet that contains the start of the most recent I picture in the stream SF. Therefore, the first picture that the STB receives in the fast channel change stream is always an I picture. In order to accommodate possible processing delays, it may be necessary that the pointer should initially point to an IP packet that is slightly upstream of the IP packet containing the start of the most recent I picture in the stream SF. Nevertheless, the first picture that the STB receives in the stream SF is the most recent I picture in the stream SF.
The requirement regarding buffer size may be relaxed to g*Ravg, where Ravg is the average bit rate, provided data can be burst at the peak bit rate and time stamps are added to the packets in the buffer to enable them to be burst out at the appropriate time.
When the DSLAM receives a leave request with respect to the multicast group of a fast channel change stream, the DSLAM deletes the pointer for the requesting subscriber.
Referring to
The pictures may be transmitted in unencrypted form, or they may be transmitted in encrypted form and decrypted by the subscriber premise equipment.
It will be appreciated that the invention is not restricted to the particular embodiments that have been described, and that variations may be made therein without departing from the scope of the invention as defined in the appended claims, as interpreted in accordance with principles of prevailing law, including the doctrine of equivalents or any other principle that enlarges the enforceable scope of a claim beyond its literal scope. For example, although in the embodiments described above the regular MPEG transport streams SR are supplied to the STB at constant bit rate, the invention is also applicable to the case in which the regular transport streams are supplied at capped VBR. In addition, although the invention has been described in the context of a DSLAM connected by copper wire to the subscriber premises, the invention may also be implemented in other network access equipment, such as an optical line terminal (OLT) connected to the subscriber premises by optic fiber. Unless the context indicates otherwise, a reference in a claim to the number of instances of an element, be it a reference to one instance or more than one instance, requires at least the stated number of instances of the element but is not intended to exclude from the scope of the claim a structure or method having more instances of that element than stated. The word “comprise” or a derivative thereof, when used in a claim, is used in a nonexclusive sense that is not intended to exclude the presence of other elements or steps in a claimed structure or method.
This application claims benefit of U.S. Provisional Application No. 60/866,971 filed Nov. 22, 2006, the entire disclosure of which is incorporated herein by reference for all purposes.
Number | Date | Country | |
---|---|---|---|
60866971 | Nov 2006 | US |