Abstract:
A system and method is provided for switching between multiple description coding and scalable coding that is dependent on the network characteristics and uses forward error correction (FEC) and scalable or prioritized video.

Description:
BACKGROUND OF THE INVENTION  
       [0001]     1. Field of the Invention  
         [0002]     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.  
         [0003]     2. Description of Related Art  
         [0004]     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.  
         [0005]     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.  
         [0006]     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.  
         [0007]     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.  
         [0008]     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,” 33 rd    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  FIG. 1 . Then, FEC is used to create N partitions (see  FIG. 2 ). These N partitions are then transmitted using different channels (e.g., using different physical paths or different routes).  
         [0009]     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.  
       SUMMARY OF THE INVENTION  
       [0010]     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.  
         [0011]     The present invention comprises a pair of multi-channel transmission protocols (see  FIGS. 4 and 5 ) and a mapping (see  FIG. 6 ) between and the descriptions of an MDC coded stream (see  FIG. 2 ) and the layers of an SC coded stream (see  FIG. 3 ) that use FEC as applied to an initial scalable or prioritized video stream. The appropriate multi-channel transmission protocol is used to transmit the coded stream, which, when received at a gateway, is mapped between MDC and SC as network condition dictate, see  FIG. 7 .  
         [0012]     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  FIG. 2  and  FIG. 3  and the respective multi-channel streaming model of  FIG. 5  and  FIG. 4 . When the packet of this stream arrive at a gateway, the choice of MDC or SC is reevaluated in light of the then current network conditions  707 . If conditions indicate the transmission protocol is no longer efficient, then a mapping between the MDC and SC encoded stream is effected to rearrange the data and the appropriate multi-channel streaming system is used to transmit the rearranged video data. The underlying coding of the prioritized video stream is not changed.  
         [0013]     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. 
     
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0014]      FIG. 1  illustrates a progressive bitstream from the source coder that has been partitioned into N layers or quality levels.  
         [0015]      FIG. 2  illustrates N-description generalized MD codes using forward error correction (FEC) codes.  
         [0016]      FIG. 3  illustrates transmission of a scalable coding (SC) stream using different unequal error protection provided by FEC.  
         [0017]      FIG. 4  illustrates a multi-channel streaming system for a scalable-video and protection transmission.  
         [0018]      FIG. 5  illustrates a multi-channel streaming system for a multiple-description and protection transmission.  
         [0019]      FIG. 6  illustrates a mapping between MDC and SC packet streams, according to the present invention.  
         [0020]      FIG. 7  illustrates an end-to-end transmission and processing events associated with transmission of a raw video stream between a sender and a receiver, according to the present invention.  
     
    
     DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS  
       [0021]     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.  
         [0022]     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 ( FIG. 2 ) and SC ( FIG. 3 ) and then transmitted according to a corresponding multi-channel streaming protocol system ( FIGS. 5 and 4 , respectively), wherein both the format and the streaming protocol are according to the system and method of the present invention. Then, at each gateway in the path from sender to receiver, the choice of MDC and SC is reevaluated in view of existing channel conditions and if a change to the other format is indicated, a mapping of the underlying prioritized coded stream between MDC and SC is accomplish, see  FIG. 6 . The mapping is accomplished on-the-fly, for a whole frame, e.g., for a block of packets, and thus sufficient buffer space is required at each gateway for the mapped stream and transmission of the mapped stream  401 ,  402 . There is no need for any recoding/transcoding of the video data or channel coding at any gateway.  
         [0023]     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  FIG. 2 , each corresponds to a quality or resolution layer. The i th  layer should be decodable when i descriptions get through. This requires splitting the i th  quality layer into i equal parts  11  and applying Reed Solomon encoding to obtain the contribution from the i th  level to each of the n-descriptions the contribution from each of the n quality levels are concatenated to form the n descriptions, as illustrated in  FIG. 2 . In this way, the MD-FEC encoder of a preferred embodiment transforms the input progressive SC encoded bitstream to a robust packet MD stream.  
         [0024]     The system and method of the present invention allows transmission of both unicast &amp; multicast applications.  
         [0025]     Thus, a preferred embodiment of the present invention addresses the following two scenarios:  
         [0000]     A. Best-effort→Gateway→QoS Network  
         [0026]     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  FIG. 2 . Then these multiple descriptions are transmitted as a multi-channel MDC stream, as illustrated in  FIG. 5 .  
         [0027]     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.  
         [0028]     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  FIG. 3  and retransmitted as separate layers, separate FEC streams and even may include an ARQ stream by using the multi-channel SC streaming model shown in  FIG. 4 . That is, the FEC packets in  FIG. 2  are transmitted in separate tracks. Some of the FEC packets can be discarded if the channel conditions are good. Also, a separate Automatic Repeat reQuest (ARQ) track, can be transmitted by copying some of the most important video packets and transmitting them in a delayed fashion.  
         [0000]     B. QoS Network→Gateway→Best-Effort  
         [0029]     The raw video stream is progressively encoded and the prioritized layers are FEC coded and organized as illustrated in  FIG. 3  and then the layers, FEC codes and even an ARQ stream are transmitted as a multi-channel SC stream, as illustrated in  FIG. 4 . Then, at a gateway if channel conditions indicate a change is needed, the SC streams are reorganized using the mapping of the present invention (see  FIG. 6 ) and transmitted using a multi-streaming system dedicated to MDC, as illustrated in  FIG. 5 .  
         [0000]     C. Mapping Between MDC and SC  
         [0030]     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  FIG. 6 ).  
         [0000]     D. Multi-Channel Streaming Model  
         [0031]     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.  
         [0000]     E. Encoding the Raw Video Stream  
         [0032]     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.  
         [0033]     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.