The present invention is directed generally to methods and apparatuses for encoding video data prior to transmission, and more particularly to a method and apparatus for encoding video data prior to transmission of video in a video on demand system.
Video transcoding to reduce the bit rate for the purpose of increasing a number of Video On Demand (VOD) sessions that can be supported can be very expensive and/or very complex.
In one existing system, an expensive brute-force approach is used where transcoding is provided for every transport stream. This implementation is very expensive.
In another system, existing sessions are transitioned from non-transcoded sessions to transcoded sessions to reclaim bandwidth. This implementation is rather complex.
The present invention is therefore directed to the problem of developing a method and apparatus for reducing bandwidth in a VOD system so that more VOD sessions can be supported in a cost-effective and simple manner.
The present invention solves these and other problems by providing inter alia centralized transcoding so that a relatively small amount of transcoding equipment is required, as opposed to transcoding every transport stream. The embodiments of the present invention do not require transitions from non-transcoded sessions to transcoded sessions.
According to one aspect of the present invention, bandwidth is reserved at the node groups for transcoded services, and transcoding is initiated before the node group exceeds its assigned bandwidth. This method provides the opportunity to add additional transcoded services and start decreasing bandwidth allocations to individual channels or services without interrupting existing sessions.
Other aspects of the present invention will be apparent to those reviewing the following drawings in light of the specification.
It is worthy to note that any reference herein to “one embodiment” or “an embodiment” means that a particular feature, structure, or characteristic described in connection with the embodiment is included in at least one embodiment of the invention. The appearances of the phrase “in one embodiment” in various places in the specification are not necessarily all referring to the same embodiment.
A centralized transcoder function enables MSO's to allow maximize use of bandwidth on the cable plant. There are generally a fixed number of QAM RF carriers available at the edge of the system providing a fixed amount of bandwidth to service the cable subscribers. Transcoding reduces the bit rate of digital video signals to allow extra video services to be squeezed into the available bandwidth in exchange for a reduction in video quality. Without transcoding the MSO would either have to size the system to provide enough edge devices and frequency space to meet peak demand, or they would have to deny service requests when capacity is exceeded during periods of peak utilization. A centralized transcoding solution allows the MSO to size the system to satisfy demand during normal usage and apply transcoding only when needed to satisfy peak demands.
The present invention provides inter alia an approach to centralized transcoding that is more cost-effective and simpler than existing implementations.
A high-level network diagram of an exemplary embodiment 10 for a centralized transcoding architecture is shown in
The central transcoder 15 has the ability to compress video services sourced by the VOD servers 12a-c, creating modified versions that have lower bit rates than the original services. When the demand for services exceeds the available bandwidth at a Node Group, the transcoder 15 can reduce the overall bandwidth requirement for video services, allowing additional services to be included in the transport streams. Depending on the rate of compression that can be tolerated, a significant increase in the number of services that can be transmitted on a node group is possible.
The central encryption resource 16 is shown here since it is likely to be part of a system that uses centralized transcoding. In such a system, the central encryptor 16 would process those services that require encryption after any transcoding.
In normal subscriber load situations transcoding would not be required and the services would be sent directly from the VOD server 12a-c to the edge device 14a-c, possible being encrypted first. As the load increased on a node group and bandwidth is consumed, services being directed to the node group are first processed by the central transcoder 15 to lower their bit rate. This is accomplished in a way that allows the MSO to target the transcoding resources only at the node groups that need additional capacity, thereby providing the same overall subscriber service capacity at less cost than dedicating more edge devices and frequency space to the node group.
Centralized transcoding can be expensive and/or difficult to implement. The brute force approach provides transcoding for every multiplex that will be delivered to the system edge. This permits complete flexibility to transcode services as needed and can save on the number of edge devices and the physical frequency space required, but can be extremely expensive to implement overall due to the relatively high cost of transcoding.
An approach that reduces the amount of transcoding needed provides only enough transcoding resources to meet peak demand, and makes transcoding available to where transcoding is needed in the system at any instant in time. Being able to switch transcoding in at specific services and node groups as needed accomplishes this capability. The difficulty in this approach is that once the QAM resources at a node group are used up and transcoding is needed to free up some bandwidth for additional services, it is very difficult to turn on transcoding for existing sessions without creating errors or glitches in the video services. Such switching on transcoding can be accomplished without glitches, but the design and implementation have added complexity. This complexity includes: (1) having a VOD server output a second instance of a stream advanced in time to make up for the transcoder latency; (2) the transcoder synchronizing the post-transcoded material with the pre-transcoded material at some instance in time; and (3) a mechanism to signal an edge device or a router to synchronously replace the pre-transcoded material with the post-transcoded material.
The following approach overcomes these shortcomings and complexities.
According to one aspect of the present invention, an exemplary embodiment of centralized transcoding provides a straightforward way to provide limited, centralized transcoding resources sufficient for satisfying peak demands. This scheme avoids having to apply transcoding to existing sessions by reserving some amount of bandwidth at a node group for transcoded sessions. As part of system setup, each node group is configured to have a portion of one or more QAMs reserved for transcoding. As sessions are created on a node group the video services are delivered without transcoding until there is no space available that has not been reserved for transcoding. Additional sessions on that node group are then sent through the transcoder before being delivered to the edge. Note that there is initially no reduction in bandwidth or degradation in video quality since there is still enough bandwidth available for service. As the number of sessions on the node group continues to increase the transcoder begins to reduce bandwidth on the transcoded services as necessary. The result is that additional services can be delivered on the node group and no services had to go through a transition from non-transcoded to transcoded.
As old sessions on the node group drop off, new sessions can be routed through the transcoder to provide space for more sessions or to improve video quality, if necessary. As demand drops off, new sessions can be routed around the transcoder so the transcoding resources can be directed to another node group.
VOD sessions can be converted from non-transcode to transcode (and vice versa) without glitching the video during trick-play transitions (e.g., a pause, fast forward, etc.). Even though the VOD session is still active, the entry into trick play interrupts the video and provide an opportunity to re-route the video through (or bypass) a transcoder. The Resource Manager that maintains awareness of trick-play transitions can take advantage of this.
Using the Resource Manager to monitor and analyze usage patterns can help determine how much bandwidth to reserve at a node group and when to begin switching in transcoders. Different node groups are likely to have different utilization patterns with peaks occurring at different times and building up at different rates. In some cases, it may be necessary to reserve only a small amount of bandwidth for transcoding (say, one or two service worth) and rely on dropped sessions and trick-play transitions to provide opportunities to switch in additional transcoding. In other cases, a significant percentage of the overall node group bandwidth may need to be reserved for transcoding.
Transcoding is most efficient when services are grouped into statistical multiplexes or stat-muxes. The more services in a stat-mux the more efficient compression because bandwidth peaks in the individual services will tend to spread out rather than occur all at once. This approach would make use of stat-muxex to group the transcoded services, but this is not absolutely necessary. The bandwidth of a single service can be reduced by a transcoder, but the result will be more degradation to the video quality.
The transcoder may create stat-mux groups in two ways. One approach is for the transcoder to process all the services in the stat-mux group and create a multi-program transport stream (MPTS) at a constant bit rate for delivery to the edge device. The other approach is for the transcoder to create a collection of single-program transport streams (SPTS), each of variable bit rate that add up to a total bit rate that will fir into the targeted QAM signal at the edge. In this approach the edge device multiplexes the SPTSs into an MPTS before modulating.
Operational Scenario
An exemplary embodiment 20 of a representation of the QAM resources at a node group is shown in
As VOD sessions come on-line, the slots are used for video services as shown in
In the next diagram,
While transcoding will certainly enable an increase in the amount of channels carried over the same bandwidth, the increase in capacity is dependent on the type of transcoding, which is not limited by the methods herein. Once central transcoding is being provided, of any capability, the methods of the present invention enable a simple utilization of this central transcoding resource without the normal concomitant problems associated with converting an existing video session to a transcoded session from a non-transcoded session. By reserving some bandwidth of one or more multiplexers in each node group for transcoded services before the capacity of the one or more multiplexers is used up, the methods of the present invention permit utilization of the central transcoding without interrupting existing video sessions or complicating the system architecture to avoid interrupting existing video sessions.
Note that video service bit-rates and compression ratios shown here are only examples. More drastic compression is also possible with increased video degradation. The amount of bandwidth resource reserved for transcoding at the node group is also for example only. If may be sufficient to reserve only 25% of a node group's bandwidth for transcoding depending on usage patterns. It is important, however, to reserve a large enough segment of bandwidth to make stat-muxing efficient to minimize degradation to video quality.
Eventually a second stat-mux group may be formed on another QAM as shown in
Also shown in
As demand at the node group falls off the transcoding resources can be removed and applied to other areas of the system as needed.
Turning to
In step 91, a portion of bandwidth in one or more multiplexers of a node group is reserved for future transcoding.
In step 92, new video sessions are assigned to unused slots in each multiplexer of the node group until all unreserved bandwidth is allocated.
In step 93, subsequent new video sessions are routed through a central transcoder after all unreserved bandwidth of a node group or multiplexer is used up.
In step 94, bandwidth that becomes available from terminated sessions on a given multiplexer in the node group is assigned for use by the central transcoder to form a transcoded group of channels for the given multiplexer. An example of a transcoded group of channels includes a statistical multiplexed group of channels. The statistical multiplexed group can be created by creating a multi-program transport stream at a constant bit rate for delivery to an edge device from all services in the statistical multiplex group or by creating a plurality of single-program transport streams during transcoding, each having a variable bit rate that adds up to a total bit rate that will fit into the multiplexer. In the latter case, the single-program transport streams are multiplexed at the edge device into a multi-program transport stream before subsequent modulating by the edge device.
In step 95, an existing transcoded group of channels output by the central transcoder to a given multiplexer in the node group is expanded using bandwidth from terminated video sessions on the given multiplexer.
In step 96, a video session is converted from a transcoded service to a non-transcoded service or from a non-transcoded service to a transcoded service during a trick-play transition. An example of a trick play transition includes a transition from a playback operation to an fast-forward operation, a rewind operation or a pause operation. By interrupting the video stream, the user provides the system the opportunity to switch the video from or to a transcoding operation, without a glitch being apparent to the user.
According to another aspect of the present invention, a method for processing channels in a communications system includes reserving a predetermined amount of bandwidth in a multiplexer for future transcoding, and performing transcoding on one or more new channels after all unreserved bandwidth of the multiplexer is allocated. In this embodiment, one or more new channels are assigned to one or more unused slots in the multiplexer until all unreserved bandwidth is allocated before performing said transcoding.
The above embodiments may be implemented in Motorola's Smartstream Central Transcoder (SCT), the Smartstream Resource Manager (SRM) and other related VOD devices and systems. Other hardware implementations will be apparent to those of skill in this art upon review of the above.
Although various embodiments are specifically illustrated and described herein, it will be appreciated that modifications and variations of the invention are covered by the above teachings and are within the purview of the appended claims without departing from the spirit and intended scope of the invention. For example, a number of channels and multiplexers are shown for each node group, however, other numbers could easily be implemented without departing from the scope of the present invention. Furthermore, these examples should not be interpreted to limit the modifications and variations of the invention covered by the claims but are merely illustrative of possible variations.