1. Field of the Invention
The present invention relates to a system and a method for on-the-fly switching between multiple description coding (MDC) and scalable coding (SC), based on channel characteristics. The system and method of the present invention can also be realized using a scalable or prioritized coded stream and forward error correction (FEC) protection.
2. Description of Related Art
Multiple Description Coding (MDC) is aimed at transmission over best-effort networks, while scalable coding (SC) is often aimed at transmission over networks with some quality-of-service (QoS) guarantee. Multiple description coding (MDC) is a form of MD coding designed to combat the problem of error propagation by coding the video into multiple independently decodable streams, each with its own prediction process and state. If one stream is lost, the other streams can still be decoded to produce usable video, and, most importantly, the correctly received streams provide bi-directional (previous and future) information that enables improved state recovery of the corrupted stream. A path diversity transmission system for packet networks can be employed for MDC transmission that explicitly sends different subsets of packets over different paths, as opposed to the default scenarios where the packets proceed along a single path, thereby enabling the end-to-end video application to effectively see a virtual channel with improved loss characteristics. For example, the application effectively sees an average path behavior, which generally provides better performance than seeing the behavior of any individual random path.
Layered or scalable approaches essentially prioritize data and thereby support intelligent discarding of the data (the enhancement data can be lost or discarded while still maintaining usable video), however the video can be completely lost if there is an error in the base layer.
Multiple Description Coding attempts to overcome this problem by coding a signal into multiple bitstreams such that any one bitstream can be used to decode a baseline signal, and any additional bitstreams improve upon the quality of the reconstructed signal.
MDC can also be successfully combined with scalable coding, to improve the coding efficiency of scalable coding when path diversity can be used. For instance, if the network can prioritize packets, scalable coding can be used for coding the various descriptions.
A generalized Multiple Description (MD) source coding technique that employs Forward Error Correction (FEC) Codes is one approach that has been proposed to achieve robust and efficient video streaming and multicast over best effort networks (e.g. the Internet), see R. Puri and K. Ramchandran, “Multiple Description Source Coding Through Forward Error Correction Codes,” 33rd Asilomar Conference on Signals, Systems and Computers, Pacific Grove, Calif. , October 1999, which is hereby incorporated by reference as if fully set forth herein. In this approach, a Progressive bitstream from the source coder is partitioned into N layers or quality levels and can be scalably coded or not. These streams can be prioritized as shown in
Alternatively, a progressive bitstream can be also used for prioritized transmission using different channels and FEC can also be used to provide additional resilience to the encoding, see P. A. Chou, A. E. Hohr, A. Wang and S. Mehrotra, “FEC and Pseudo-ARQ for Receiver Driven Hierarchical FEC,” DCC, Snowbird, Utah, March 2000, which is hereby incorporated by reference as if fully set forth herein.
MDC coding is targeted to best effort transmission, while SC focuses on transmission over networks with QoS that support prioritized transmission and/or differential protection. Hence, if the channel characteristics change dynamically or across the network as the stream traverses different networks, one or the other method can become inefficient and is no longer robust. The system and method of the present invention allows for flexible adaptation to these varying channel characteristics, while also providing the advantage that the video and channel data can be coded just once and the video stream can still be adapted to varying network characteristics.
The present invention comprises a pair of multi-channel transmission protocols (see
In a preferred embodiment a raw video stream is coded so that the coded information is prioritized 703. This prioritized video stream 703 is then respectively rearranged and transmitted either as an MDC or SC stream, depending on channel conditions, using the respective format of
This invention can be used in the implementation of multimedia gateways which require robust streaming video and multimedia servers that play media from networked storage.
Currently, network switches (gateways) in the internet do not interpret either the structure or content of packets, treating all packets alike. Further, gateways do not provide congestion feedback. Only end-to-end feedback (i.e., from the receiver) is available to a sender, and the sender typically has to probe the network to obtain information regarding connection conditions. Once encoded, and encoded video stream cannot be reformatted in transit to accommodate changing network conditions.
This mismatch between the needs of streaming video and the Internet transport protocol is addressed by the system and method of the present invention. According to the present invention, a prioritized coded video stream is formatted using the best choice of MDC (
FEC based MD coding transforms a “prioritized” multi-resolution bit stream into an “unprioritized” MD packet stream. Given a progressive bit stream marked at n different positions 10, see
The system and method of the present invention allows transmission of both unicast & multicast applications.
Thus, a preferred embodiment of the present invention addresses the following two scenarios:
A. Best-effort→Gateway→QoS Network
Originally the data is coded using any coding method that prioritizes the stream such that the prioritized components of the stream can be mapped across n-description and FEC coded. By way of example and not limitation, a progressive stream is SC encoded and the packets of the base layer BL and various enhancement layers EL are split across multiple descriptions and FEC coded, as illustrated in
In splitting the SC video stream across the multiple descriptions the Nsource layers of decreasing importance are protected by N channel codes of decreasing strength. FEC is used because of its relatively small transmission delay. FEC adds redundant information to a compressed video bit stream to enable reconstruction of the original video in case of packet loss.
Then, if a change in network conditions indicates a change in MDC to SC when the stream reaches a gateway, the various streams are collected into the format illustrated in
B. QoS Network→Gateway→Best-Effort
The raw video stream is progressively encoded and the prioritized layers are FEC coded and organized as illustrated in
C. Mapping Between MDC and SC
In either scenario, changing between MDC and SC can be done on the fly and does not require any recoding/transcoding of the video data or channel coding (see
D. Multi-Channel Streaming Model
In another preferred embodiment, the multi-channel streaming system is designed to allow for multi-channel transmission of either MDC or SC by enabling multiple hinting tracks associated with the two video-coding and channel coding formats.
E. Encoding the Raw Video Stream
This embodiment can be realized with any coder that can prioritize the coded information. For instance, a scalable coder (e.g. FGS, wavelet coding) or non-scalable coder (e.g. a coder that prioritizes I, P and B-frames or prioritizes the data in several partitions using different priorities, using for instance data partitioning etc.) can be used.
Since other modifications and changes appropriate to particular network requirements and environments will be apparent to those skilled in the art, this invention is not considered limited to the examples chosen for purposes of this disclosure, and covers all changes and modifications which are within the scope of the appended claims.
Filing Document | Filing Date | Country | Kind | 371c Date |
---|---|---|---|---|
PCT/IB03/05874 | 12/11/2003 | WO | 12/1/2005 |
Number | Date | Country | |
---|---|---|---|
60433313 | Dec 2002 | US |