IPC분류정보
국가/구분 |
United States(US) Patent
등록
|
국제특허분류(IPC7판) |
|
출원번호 |
US-0177258
(2005-07-08)
|
등록번호 |
US-7366172
(2008-04-29)
|
발명자
/ 주소 |
- Chou,Philip
- Wang,Albert
- Mehrotra,Sanjeev
- Mohr,Alexander
|
출원인 / 주소 |
|
대리인 / 주소 |
|
인용정보 |
피인용 횟수 :
15 인용 특허 :
7 |
초록
▼
A system and method for correcting errors and losses occurring during a receiver-driven layered multicast (RLM) of real-time media over a heterogeneous packet network such as the Internet. This is accomplished by augmenting RLM with one or more layers of error correction information. This allows eac
A system and method for correcting errors and losses occurring during a receiver-driven layered multicast (RLM) of real-time media over a heterogeneous packet network such as the Internet. This is accomplished by augmenting RLM with one or more layers of error correction information. This allows each receiver to separately optimize the quality of received audio and video information by subscribing to at least one error correction layer. Ideally, each source layer in a RLM would have one or more multicasted error correction data streams (i.e., layers) associated therewith. Each of the error correction layers would contain information that can be used to replace lost packets from the associated source layer. More than one error correction layer is proposed as some of the error correction packets contained in the data stream needed to replace the packets lost in the associated source stream may themselves be lost in transmission. A preferred process for generating the error correction streams involves the use of a unique adaptation of the Forward Error Correction (FEC) techniques. This process encodes the transmission data using a linear transform which adds redundant elements. The redundancy permits losses to be corrected because any of the original data elements can be derived from any of the encoded elements. Thus, as long as enough of the encoded data elements are received so as to equal the number of the original data elements, it is possible to derive all the original elements.
대표청구항
▼
What is claimed is: 1. A computer-implemented error correction process for use in a receiver-driven layered multicast of real-time media over a heterogeneous packet network to a plurality of receivers, wherein the real-time media is transmitted over the network in multiple streams of packetized sou
What is claimed is: 1. A computer-implemented error correction process for use in a receiver-driven layered multicast of real-time media over a heterogeneous packet network to a plurality of receivers, wherein the real-time media is transmitted over the network in multiple streams of packetized source data forming hierarchical layers of information, said error correction process comprising: a producing step for producing multiple streams of packetized error correction information for each of the streams of packetized source data, wherein each error correction stream comprises parity packets encoded from packets of the source data which have been subjected to a linear transform, said linear transform producing a series of parity packets which can be employed by a receiver to assist in the recovery of lost source data packets using a reverse transform; a multicasting step for multicasting each stream of packetized error correction information to said receivers to allow each receiver to recover packets of source data lost during transmission, said multicasting step comprising, an associating step for associating each stream of packetized error correction information with a one of the multiple streams of packetized source data, a first incorporating step for incorporating in each error correction stream information necessary to assist a receiver in recovering said packets of lost source data belonging to a particular stream of packetized source data associated with the error correction stream, wherein said information incorporated in each error correction stream associated with a same source data stream makes the streams redundant thereby making it possible for a receiver to employ more than one error correction stream and obtain a desired amount of the error correction information needed to replace packets in an associated source data stream that were lost during the transmission even if some of the error correction stream packets themselves are lost in transmission, and a second incorporating step for incorporating an identifier into each packet in each of the streams of packetized error correction information wherein a different identifier is employed for each of the error correction information streams, thereby allowing each receiver to select the number of error correction information streams to be received by specifying that only packets having particular identifiers be routed over the network to the receiver. 2. The process of claim 1, further comprising an improving step for a receiver improving the quality of the received multicast by first selecting a desired number of source data streams while leaving enough bandwidth available to also select a number of error correction information streams for one or more of the source data streams that will compensate, at least partially, for an inherent packet loss rate associated with the receiver's connection to the network, and then selecting said number of error correction information streams. 3. A computer-implemented process for multicasting real-time media over a heterogeneous packet network to a plurality of receivers, comprising: a forming step for forming a series of source data streams from a media signal, said source data streams comprising a base stream representing the media signal at a least acceptable level of quality, and at least one enhancement stream which when combined with the base stream improves the level of quality of the media signal derivable therefrom; for each source data stream, a creating step for creating at least one error correction information stream from the source data stream, wherein each error correction stream comprises parity packets encoded from packets of the source data stream which have been subjected to a linear transform, said linear transform producing a series of parity packets which can be employed to assist in the recovery of lost source data packets using a reverse transform, and wherein said creating step for creating each error correction stream comprises, (a) a partitioning step for partitioning the source data stream into a plurality of data blocks each containing k data packets, wherein k is an integer, (b) a selecting step for selecting a previously unselected data block, (c) an applying step for applying a Forward Error Correction (FEC) encoding technique to the chosen data block to produce n-k parity packets for that block where n>k, wherein n is an integer, (d) an assigning step for assigning each parity packet to a different error correction stream, and (e) a first repeating step for repeating steps (b) through (d) for each data block; a multicasting step for respectively multicasting each source layer data stream and error correction stream to a different network address for routing on to a receiver; and for each receiver, a receiving step for receiving at least one source data stream and at least one error correction stream, and reconstructing a media signal from the at least one source data stream after having used the at least one error correction stream to recover source data packets lost in transmission of the source data stream, wherein said receiving step comprises, a subscribing step for subscribing over the network to at least one source data stream and at least one error correction information stream, and for each subscribed to source data stream, performing, (i) a source packet receiving step for receiving source data stream packets comprising a next incoming source data block of the subscribed to source data stream, (ii) a parity packet receiving step for receiving parity packets associated with the incoming source data block in the subscribed to error correction information stream or streams, (iii) a determining step for determining whether the total number of source data stream packets and parity packets received for the incoming source data block is at least equal the number of source data stream packets multicast for the block, (iv) whenever the total number of source data stream packets and parity packets received for the incoming source data block equals or exceeds the number of source data stream packets multicast for the block, a recovering step for recovering all the source data stream packets missing in the incoming source data block using the received parity packets, (v) a replacing step for replacing said missing source data stream packets using the recovered packets, and (vi) a second repeating step for repeating steps (i) through (v) for each successive incoming source data block. 4. The process of claim 3, wherein the subscribing step comprises: a bandwidth determining step for determining a currently available bandwidth associated with the receiver's connection to the network; a packet loss rate determining step for determining a current packet loss rate associated with receiving data over the network; a data stream selecting step for selecting at least one source data stream and at least one associated error correction stream which are to be received so as to allow the best possible level of quality in a media signal reconstructed from received source data streams, wherein said selecting is based on the currently available bandwidth and the current packet loss rate; and a data stream subscribing step for subscribing to each selected source data stream and each selected error correction information stream.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.