The present invention generally relates to Digital Subscriber Line (DSL) systems and, more particularly, to a method and apparatus for enabling a fast channel change in a DSL system using parallel streams.
In a commercial video over DSL broadcast system, it is desirable to allow end users to be able to change channels rapidly. Popular video compression standards, such as MPEG-2 and JVT/H.264/MPEG AVC use intra and inter coding. For proper decoding, a decoder must decode a compressed video sequence beginning with an intra-coded (I) picture, and then continue to decode the subsequent inter-coded (P and B) pictures. A Group of Pictures (GOP) may include an I picture and several subsequent P and B pictures. I pictures typically require many more bits to code than does a P or B picture of equivalent video quality, in the range of 3 to 10 times more bits. When a receiver initially begins receiving a program on a particular channel, following a channel change or initial turning on of the receiver, it must wait until an I picture is received to begin decoding properly, which causes a delay.
To minimize channel change delay in digital video broadcast systems, I pictures are typically sent frequently, for example every N pictures. For example, to enable a ½ second delay (of the video compression portion of the system), it is common to use N=15 for 30 frames per second (fps) content. Since compressed I pictures are so much larger than compressed P and B pictures, this considerably increases the bitrate over what would be required if I pictures were not inserted so frequently.
In some systems, instead of sending full I pictures frequently, a technique called “progressive refresh” is used, where sections of pictures are intra coded. Typically, all macroblocks in the picture are intra-coded at least once during an N-picture period. I pictures typically require significantly more bits to encode than P and B pictures.
In the JVT/H.264/MPEG AVC compression standard, P and B pictures may be predicted using multiple reference pictures, including the pictures before a preceding I picture. The standard identifies random access points as Independent Decoder Refreshes, or IDRs, which constrain that no reference pictures before the IDR are used in predicting pictures following the IDR. Pictures may be coded using slices of different types. A picture in which all coded slices are of type I may be referred to as an I picture.
The JVT/H.264/MPEG AVC compression standard includes a tool called redundant pictures, defined in the standard as follows:
The slice header contains a redundant_pic_cnt field, whose semantics are defined in the JVT/H.264/MPEG AVC compression standard as follows:
A system has been proposed wherein a channel change stream is encoded and transmitted along with the normal video bitstream. The channel change stream includes lower quality I pictures that are sent at a higher frequency than I pictures in the normal bitstream. When a user tunes to a new channel, playback could begin upon receipt of the first I pictures, in either the normal or channel change stream. This system is targeted at an end-to-end broadcast system, without any upstream indication of a channel change or possibility for storage at intermediate points in the system.
Another system has been proposed wherein a reduced resolution update codec is employed such that prediction residuals can be coded at lower resolutions for some of the coded pictures in a sequence, while other coded pictures in a sequence are coded at the full resolution. However, this system does not provide any capability for improved channel change efficiency.
Still another system has been proposed where a channel change stream is encoded and transmitted along with a normal bitstream over the regional broadband network. These streams may be stored at the DSLAM. When user channel change requests are received at the DSLAM, the channel change stream is sent over the DSL local loop for a short transition period, and then the normal stream is sent. If a channel change stream coded picture is larger than its corresponding normal stream coded picture, the instantaneous bandwidth requirements of the DSL local loop would be increased. This may cause problems with encoder rate control and buffer overflow/underflow at the decoder and the DSLAM. This problem can be avoided by limiting the size of the channel change stream coded pictures, which leads to lower quality video during a transitional period following a channel change.
These and other drawbacks and disadvantages of the prior art are addressed by the present invention, which is directed to a method and apparatus for enabling a fast channel change in a Digital Subscriber Line (DSL) system using parallel streams.
According to an aspect of the present invention, in a Digital Subscriber Line Access Multiplexer (DSLAM) of a Digital Subscriber Line (DSL) system, there is provided a channel change processing unit for enabling a channel change. The channel change processing unit includes a selector for receiving at least two video streams corresponding to a same program, and for selecting one of the at least two video streams for transmission based upon a position of intra-coded pictures in the at least two video streams.
According to another aspect of the present invention, there is provided a video encoder for enabling a channel change in a Digital Subscriber Line (DSL) system. The video encoder includes an encoder for coding at least two video streams corresponding to a same program such that the at least two video streams include intra-coded pictures that occur at different positions in the at least two video streams.
According to still another aspect of the present invention, in a Digital Subscriber Line Access Multiplexer (DSLAM) of a Digital Subscriber Line (DSL) system, there is provided a method for enabling a channel change. The method includes the steps of receiving at least two video streams corresponding to a same program, and selecting one of the at least two video streams for transmission based upon a position of intra-coded pictures in the at least two video streams.
According to a further aspect of the present invention, there is provided an encoding method for enabling a channel change in a Digital Subscriber Line (DSL) system. The method includes the step of coding at least two video streams corresponding to a same program such that the at least two video streams include intra-coded pictures that occur at different positions in the at least two video streams.
These and other aspects, features and advantages of the present invention will become apparent from the following detailed description of exemplary embodiments, which is to be read in connection with the accompanying drawings.
The present invention may be better understood in accordance with the following exemplary figures, in which:
The present invention is directed to a method and apparatus for enabling a fast channel change in a Digital Subscriber Line (DSL) system using parallel streams. The DSL local loop is the most bandwidth constrained link of an end-to-end video over DSL system. Advantageously, the present invention provides a method and apparatus for allowing low channel change delay while minimizing the DSL local loop bandwidth. Moreover, in accordance with the present invention, a desired channel change delay can be achieved without requiring I pictures to be sent over the DSL local loop as frequently as is done in prior art systems.
The present description illustrates the principles of the present invention. It will thus be appreciated that those skilled in the art will be able to devise various arrangements that, although not explicitly described or shown herein, embody the principles of the invention and are included within its spirit and scope.
All examples and conditional language recited herein are intended for pedagogical purposes to aid the reader in understanding the principles of the invention and the concepts contributed by the inventor to furthering the art, and are to be construed as being without limitation to such specifically recited examples and conditions.
Moreover, all statements herein reciting principles, aspects, and embodiments of the invention, as well as specific examples thereof, are intended to encompass both structural and functional equivalents thereof. Additionally, it is intended that such equivalents include both currently known equivalents as well as equivalents developed in the future, i.e., any elements developed that perform the same function, regardless of structure.
Thus, for example, it will be appreciated by those skilled in the art that the block diagrams presented herein represent conceptual views of illustrative circuitry embodying the principles of the invention. Similarly, it will be appreciated that any flow charts, flow diagrams, state transition diagrams, pseudocode, and the like represent various processes which may be substantially represented in computer readable media and so executed by a computer or processor, whether or not such computer or processor is explicitly shown.
The functions of the various elements shown in the figures may be provided through the use of dedicated hardware as well as hardware capable of executing software in association with appropriate software. When provided by a processor, the functions may be provided by a single dedicated processor, by a single shared processor, or by a plurality of individual processors, some of which may be shared. Moreover, explicit use of the term “processor” or “controller” should not be construed to refer exclusively to hardware capable of executing software, and may implicitly include, without limitation, digital signal processor (“DSP”) hardware, read-only memory (“ROM”) for storing software, random access memory (“RAM”), and non-volatile storage.
Other hardware, conventional and/or custom, may also be included. Similarly, any switches shown in the figures are conceptual only. Their function may be carried out through the operation of program logic, through dedicated logic, through the interaction of program control and dedicated logic, or even manually, the particular technique being selectable by the implementer as more specifically understood from the context.
In the claims hereof, any element expressed as a means for performing a specified function is intended to encompass any way of performing that function including, for example, a) a combination of circuit elements that performs that function or b) software in any form, including, therefore, firmware, microcode or the like, combined with appropriate circuitry for executing that software to perform the function. The invention as defined by such claims resides in the fact that the functionalities provided by the various recited means are combined and brought together in the manner which the claims call for. Applicant thus regards any means that can provide those functionalities as equivalent to those shown herein.
In accordance with the principles of the present invention, a desired channel change delay can be achieved without requiring I pictures to be sent over the DSL local loop as frequently as is done in prior art systems. Two or more parallel video bitstreams are created at the encoder, each of which contains I pictures that occur in the bitstream at different picture positions, with any desired spacing. The I-picture spacing for one of the parallel video streams is greater than the spacing of I-pictures of the combined bitstreams. Video decoding following a channel change can begin following any I-picture of the combined bitstreams. Only a single one of the parallel video bitstreams is sent over the DSL local loop at any time for a given program, so the DSL local loop bitrate requirement is reduced by allowing a larger I-picture spacing, while still allowing for quick channel change response.
Turning to
The DSLAM 130 includes a demultiplexer 132 having a first and a second output in signal communication with a first and second input, respectively, of a selector 134. The first input of the DSLAM 130 is connected in signal communication with an input of the demultiplexer 132, a second input of the DSLAM 130 is connected in signal communication with a third input of the selector 134, and an output of the DSLAM 130 is connected in signal communication with an output of the selector 134. The third input and the output of the DSLAM 130 are connected in signal communication with the local loop 140. It is to be appreciated that the DSLAM 130 is also interchangeably referred to herein as a “channel change processing unit”.
The STB 150 includes a user interface 152 and a video decoder 154. An output of the STB 150 is connected in signal communication with the local loop 140 and with the user interface 152, and an input of the STB 150 is connected in signal communication with the local loop 140 and with the video decoder 154.
The video encoder 112 creates two parallel video bitstreams. The two parallel video bitstreams are multiplexed together and transmitted over the regional broadband network 120 to a DSL Access Multiplexer (DSLAM) 130. For the sake of simplicity, only a single program's encoder is shown in
When playback of a particular program is requested by a user, either because of a channel change or initial turning on of the STB 150, a request is sent to the DSLAM 130 through the local loop 140. The DSLAM 130 then selects one of the parallel video bitstreams to send over the DSL local loop 140 to the STB 150.
Bandwidth requirements over the regional broadband network 120 are increased in accordance with this invention, because two or more parallel video bitstreams are transmitted for each program. Bandwidth requirements over the DSL local loop 140 are reduced, because fewer I pictures are transmitted over the DSL local loop 140. I pictures typically require significantly more bits than P and B pictures of the same image quality.
Turning to
It is to be appreciated that
Each of the parallel video streams can be encoded to obey any desired rate control and buffer model. It is expected that each of the parallel video streams representing the same program be encoded to obey the same rate control and buffer model. When the DSLAM 130 receives a request to begin transmitting a particular program, it will select one of the parallel video streams to send to the STB 150. The DSLAM 130 will continue to send the selected stream to the STB 150 until the program is to cease being displayed, e.g., the STB 150 is turned off, or the channel is changed to a different program. No specific support is required at the STB 150 to support this feature, and the video quality is consistent after a channel change. There will be an initial delay in presentation of the video representing the newly requested channel, but after that initial delay is passed, smooth playback at the STB 150 can be achieved with the transmission of the bitstream from the DSLAM 130 to the STB 150 over the DSL local loop 140 at the average bitrate. This differs from the above-described system that may store a channel change stream at a DSLAM, which can be used with either full quality or lower quality channel change stream pictures. In that above-described system, when full quality channel change pictures are used, a higher instantaneous bandwidth over the local loop is required for smooth playback. In that above-described system, when lower quality channel change pictures are used, the video quality is temporarily reduced upon video playback. In the present invention, neither higher instantaneous bandwidth over the DSL local loop 140 or temporarily reduced video quality is necessary. However, in this invention, the bandwidth requirement over the regional broadband network 120 is increased.
One exemplary method that the DSLAM 130 could use to select which of the parallel video streams to send would be to monitor the incoming packets from each of the streams until an I picture is present in one of the streams. Then, the DSLAM 130 could select that stream that includes the I picture to send to the STB 150, and continue to send that selected stream. Fields in the packet header could be set to indicate that the packet contains an I picture, in order to simplify the operations needed at the DSLAM 130 to identify when an I picture has arrived in a particular stream. Alternatively, the location of I pictures in the parallel streams can be transmitted using some other means, such as user data fields, or can follow a fixed required pattern. If more than one of the parallel streams includes an I picture at the same picture position, any of those streams can be selected for transmission.
The bandwidth requirement over the regional broadband network 120 can be reduced in some cases, using an optional embodiment of the present invention. Turning to
Turning to
A description will now be given of some of the many attendant advantages/features of the present invention. For example, one advantage/feature is a channel change processing unit at the DSLAM which receives two or more video streams corresponding to the same program, and selects one of the streams to transmit based upon the position of intra-coded pictures in the streams. Another advantage/feature is the channel change processing unit as described above, wherein the presence of intra-coded pictures is determined by a field in the packet header. Moreover, another advantage/feature is the channel change processing unit as described above, wherein the location of intra-coded pictures follows a pre-determined pattern. Still another advantage/feature is a video encoder that creates two or more video bitstreams representing the same program, which include intra-coded pictures occurring at different positions in the separate video bitstreams. Also, another advantage/feature is the encoder as described above, wherein the maximum interval between intra-coded pictures of the combined video bitstreams is limited based on desired channel change acquisition time.
These and other features and advantages of the present invention may be readily ascertained by one of ordinary skill in the pertinent art based on the teachings herein. It is to be understood that the teachings of the present invention may be implemented in various forms of hardware, software, firmware, special purpose processors, or combinations thereof.
Most preferably, the teachings of the present invention are implemented as a combination of hardware and software. Moreover, the software is preferably implemented as an application program tangibly embodied on a program storage unit. The application program may be uploaded to, and executed by, a machine comprising any suitable architecture. Preferably, the machine is implemented on a computer platform having hardware such as one or more central processing units (“CPU”), a random access memory (“RAM”), and input/output (“I/O”) interfaces. The computer platform may also include an operating system and microinstruction code. The various processes and functions described herein may be either part of the microinstruction code or part of the application program, or any combination thereof, which may be executed by a CPU. In addition, various other peripheral units may be connected to the computer platform such as an additional data storage unit and a printing unit.
It is to be further understood that, because some of the constituent system components and methods depicted in the accompanying drawings are preferably implemented in software, the actual connections between the system components or the process function blocks may differ depending upon the manner in which the present invention is programmed. Given the teachings herein, one of ordinary skill in the pertinent art will be able to contemplate these and similar implementations or configurations of the present invention.
Although the illustrative embodiments have been described herein with reference to the accompanying drawings, it is to be understood that the present invention is not limited to those precise embodiments, and that various changes and modifications may be effected therein by one of ordinary skill in the pertinent art without departing from the scope or spirit of the present invention. All such changes and modifications are intended to be included within the scope of the present invention as set forth in the appended claims.
This application claims the benefit of U.S. Provisional Application Ser. No. 60/586,117, filed 7 Jul. 2004, which is incorporated by reference herein in its entirety.
Filing Document | Filing Date | Country | Kind | 371c Date |
---|---|---|---|---|
PCT/US05/20029 | 6/8/2005 | WO | 1/3/2007 |
Number | Date | Country | |
---|---|---|---|
60586117 | Jul 2004 | US |