Adaptative forward error control scheme
Abstract
The present invention is applied to a packet transmission network. The present invention proposes an adaptive forward error control scheme implemented at the application level, which makes it possible to take into account the maximum allowable packet error rate. According to the present invention, the amount of duplicate packets is adapted to provide a correction capability that allows to take into account the maximum allowable packet error rate. Advantageously, said maximum allowable packet error rate is set by the application.

Term
Term ended
Expired 16 October 2023, 2.9 years ago.
- Priority
- Filed
- Granted
- Expired
- Today
10 claims: 4 independent, 6 dependent
- 1적어도, 송신기, 시간에 따라 변하는 상태를 가지는 송신 네트워크, 수신기를 포함하는 송신 시스템으로서, 상기 송신기는 n과 k는 정수로서, n개의 패킷으로 된 송신 블록을 구성하도록, k개의 미디어 패킷으로부터 n-k개의 중복 패킷을 생성하는 인코더를 포함하며, 상기 수신기는 분석기를 포함하며, 상기 분석기는 - 수신된 송신 블록들의 특정 세트에 대해, n에서 최소 값인 k min 사이에서 변하는 k의 다른 값 각각으로부터 획득된 각각의 패킷 에러율을 계산하며, 특정 값 k에 대한 상기 패킷 에러율은, 상기 특정 값 k에 연관되고 정정될 수 있는 최대 패킷 수에 대응하는 에러 정정 성능으로 상기 수신된 송신 블록들의 특정 세트에서의 패킷을 정정한 후에 남는 패킷 에러의 수의 평균값으로부터 계산되며, - 상기 패킷 에러율이 최대 허용 패킷 에러율을 초과하지 않는 k의 최대 값을 k의 최적 값으로 설정하도록, 설계되는 것을 특징으로 하며, 상기 수신기는, 상기 인코더가 상기 최적 값을 사용하도록 상기 송신기로 k의 상기 최적 값을 피드백하는 피드백 수단을 더 포함하는 것을 특징으로 하는, 송신 시스템.
- 2제 1 항에 있어서, 상기 분석기는 특정 송신 블록의 패킷의 정정 후에 남는 패킷 에러의 수에 가중치를 부여하도록 설계되며, 상기 가중치는 상기 특정 송신 블록의 수신 시점에 의존하여, 수신 시점이 최근인 송신 블록에 더 높은 가중치를 부여하는, 송신 시스템.
- 3제 1 항에 있어서, 상기 송신기는 적응가능 미디어 비트율로 상기 미디어 패킷을 발신하는 미디어 소스를 포함하며, 상기 인코더는 해당 인코더에 의해 현재 추가되는 중복 패킷의 양에 따라 상기 미디어 비트율을 적응시키기 위한 순서를 상기 미디어 소스에 보내도록 설계되는, 송신 시스템.
- 4시간에 따라 변하는 상태를 가지는 송신 네트워크를 통해 송신기에 의해 송신된 송신 블록들을 수신하는 수신기로서, 상기 송신 블록은 n과 k는 정수로서, k개의 미디어 패킷과 상기 k개의 미디어 패킷으로부터 생성된 n-k개의 중복 패킷을 포함하고, 상기 수신기는 분석기를 포함하며, 상기 분석기는, - 수신된 송신 블록들의 특정 세트에 대해, n에서 최소 값인 k min 사이에서 변하는 k의 다른 값 각각으로부터 획득된 각각의 패킷 에러율을 계산하며, 특정 값 k에 대한 상기 패킷 에러율은, 상기 특정 값 k에 연관되고 정정될 수 있는 최대 패킷 수에 대응하는 에러 정정 성능으로 상기 수신된 송신 블록들의 특정 세트에서의 패킷을 정정한 후에 남는 패킷 에러의 수의 평균값으로부터 계산되며, - 상기 패킷 에러율이 최대 허용 패킷 에러율을 초과하지 않는 k의 최대 값을 k의 최적 값으로 설정하도록, 설계되는 것을 특징으로 하며, 상기 수신기는, 인코더가 상기 최적 값을 사용하도록 상기 송신기로 k의 상기 최적 값을 피드백하는 피드백 수단을 더 포함하는 것을 특징으로 하는, 수신기.
- 5제 4 항에 있어서, 상기 분석기는 특정 송신 블록의 패킷의 정정 후에 남는 패킷 에러의 수에 가중치를 부여하도록 설계되며, 상기 가중치는 상기 특정 송신 블록의 수신 시점에 의존하여, 수신 시점이 최근인 송신 블록에 더 높은 가중치를 부여하는, 수신기.
- 6제 4 항에 있어서, 수신된 상기 미디어 패킷은 임의의 애플리케이션에 의해 사용되도록 의도되며, 상기 최대 허용 패킷 에러율은 상기 애플리케이션에 의해 설정되는, 수신기.
- 7n 개의 패킷으로 된 송신 블록을 구성하도록, 송신기 측에서 k개의 미디어 패킷으로부터 n-k개의 중복 패킷이 생성되며, n과 k는 정수인, 순방향 에러 정정 구조에서 사용될 중복 패킷의 양을 결정하는 방법으로서, - 수신된 송신 블록들의 특정 세트에 대해, n에서 최소 값인 k min 사이에서 변하는 k의 다른 값 각각으로부터 획득된 각각의 패킷 에러율을 계산하는 단계로서, 특정 값 k에 대한 상기 패킷 에러율은, 상기 특정 값 k에 연관되고 정정될 수 있는 최대 패킷 수에 대응하는 에러 정정 성능으로 상기 수신된 송신 블록들의 특정 세트에서의 패킷을 정정한 후에 남는 패킷 에러의 수의 평균값으로부터 계산되는 계산 단계;- 상기 패킷 에러율이 최대 허용 패킷 에러율을 초과하지 않는 k의 최대 값을 k의 최적 값으로 설정하는 단계;및 - 인코더가 상기 최적 값을 사용하도록 상기 송신기로 k의 상기 최적 값을 피드백하는 단계를 포함하는 것을 특징으로 하는, 순방향 에러 정정 구조에서 사용될 중복 패킷의 양을 결정하는 방법.
- 8제 7항에 있어서, 특정 송신 블록의 패킷의 정정 후에 남는 패킷 에러의 수에 가중치를 부여하는 단계로서, 상기 가중치는 상기 특정 송신 블록의 수신 시점에 의존하여, 수신 시점이 최근인 송신 블록에 더 높은 가중치를 부여하는, 가중치부여 단계를 포함하는, 순방향 에러 정정 구조에서 사용될 중복 패킷의 양을 결정하는 방법.
- 9프로그램을 기록한 컴퓨터 판독가능 매체로서, 상기 프로그램은 프로세서에 의해 실행될 때 제 8 항에 기재된 방법을 구현하기 위한 지령들을 포함하는, 컴퓨터 판독가능 매체.
- 10삭제
Independent claims10
55 paragraphs, as filed
Adaptive Forward Error Control SCHEME
The present invention relates to an adaptive Forward Error Correction scheme (FEC), which aims to provide resilient data transmission over a packet-switched transmission network.
The present invention also relates to a transmission system, a transmitter, and a receiver implementing such a forward error control scheme.
The present invention also relates to a method for determining the amount of redundancy to be used in such a forward error correction scheme.
The invention is advantageously applied to data transmission over transmission networks having a time-varying state, such as, for example, mobile transmission networks.
International patent application WO99/04338 describes an adaptive forward error correction scheme to be used for transmission over a wireless satellite link.
The forward error correction scheme described in this article operates at the data link level of the OSI reference model (one forward error correction code is included in each frame for error correction of that frame). This includes calculating a byte error rate, determining a forward error correction code length based on the byte error rate, and feeding back the forward error correction code length to a transmitter. The value of the forward error correction code length is selected from a table storing inverse byte error rate values associated with the forward error correction code lengths.
Because it is implemented at the data link level, the proposed method is not suitable for heterogeneous transmission networks such as the Internet. If the above-described method is used in a heterogeneous transmission network, the forward error correction scheme will have to be adapted separately in each network section passed through. This would be very complex to implement.
Moreover, using a table to determine the forward correction code length has several disadvantages.
First, specific assumptions are made about the size of the error and repartition to derive the values stored in the table. Consequently, the proposed method is not suitable for a transmission network whose status can be changed in a significant way, such as a mobile network such as GSM, UMTS, GPRS....
Second, the values stored in the table are derived to obtain a certain quality after correction. What this means is that the receiver has to store as many tables as there are qualities it can achieve.
It is an object of the present invention to propose an adaptive forward error control scheme that overcomes these shortcomings.
The object is to determine the amount of redundancy to be used in the transmission system defined in claims 1 to 3, the receiver defined in claims 4 to 6, the transmitter defined in claims 7 and 8, and the forward error control scheme defined in claim 9. A method of determining, achieved by the program defined in claim 10 .
In the adaptive forward error correction architecture of the present invention, duplicate packets are generated at the application layer of the sender from media packets. Thus, when erroneous packets are discarded by the transport layer on the receiver side, this application layer can recover a certain number of packets from the packets received at the receiver. According to the present invention, the amount of redundant packets added at the transmitter side is adapted so as to obtain a correction performance that makes it possible to take into account the maximum allowable packet error rate. According to the present invention, the quality of the transmission network is estimated by observing the packet error rate.
Since the above is implemented at the application layer, the method of the present invention is transparent to the corresponding transmission network. Therefore, the method of the present invention can be easily applied to a heterogeneous transmission network.
Because the quality of the sending network is estimated using the packet error rate and not the byte error rate, there is no need to use a table.
The present invention fully guarantees the maximum allowable packet error. Advantageously, the maximum allowable packet error rate is set by the application using the received media packet.
In one advantageous embodiment of the invention, the bit rate of the media packet is adapted as a function of k so as to compensate for variations in the bit rate of duplicate packets.
These and other aspects of the invention are further described with reference to the accompanying drawings.
1 is a schematic diagram of a transmission system according to the present invention;
Fig. 2 is a schematic diagram showing generation of a transmission block;
Fig. 3 is a schematic diagram showing that the amount of redundant packets included in a transmission block is adapted according to a state of a transmission network;
4 is a block diagram of a method for determining the amount of redundant packets to be used in a forward error correction scheme in accordance with the present invention;
The present invention applies to any FEC structure. In the example described later, the FEC code is characterized by two parameters k and n, where k is the number of media packets and (nk) is the number of duplicate packets generated from k media packets. The parameter n has a constant integer value. The amount of duplicate packets is adapted by changing the value of parameter k. This is not limiting.
1 shows an example of a transmission system comprising a transmitter 1 , a transmission network 2 and a receiver 3 according to the invention. In this example, the transmission network 2 is composed of an Internet network and a radio access network (eg, a network conforming to the GPRS or UMTS standard). Transmitter 1 is the media implements the first four layers of the OSI reference model, with a media source 10 sending media packets, an FEC encoder 12 generating redundant packets from media packets received from the media source 10, and and a transmit/receive block 14 for In this example, the network protocol (3rd OSI layer) is IP (Internet Protocol), and the transport protocol (4th OSI layer) is RTP (Real time Transfer Protocol) via UDP (User Datagram Protocol). The receiver 3 includes a transmit/receive block 32 implementing the first four layers of the OSI reference model, an analyzer 34 , an FEC decoder 36 , and an application block 38 .
As shown in Fig. 2, the encoder 12 has k media packets M<sb>1</sb>(i), ..., M<sb>k</sb>(nk) duplicate packets R from (i)<sb>1</sb>(i), ..., R<sb>nk</sb>create (i). (nk) overlapping packets and k media packets form one transmission block TB(i). This duplicate packet has the purpose of providing correction capability of the Q(k) packet at the receiver.
On the receiver side, the UDP protocol controls the UDP checksum for each received packet. The UDP protocol discards packets in which at least one bit error is detected. The correctly received packet is passed to the FEC decoder 36 . The FEC decoder 36 may recover the discarded packets from the received packets when the number of discarded packets is less than or equal to Q(k).
Advantageously, the code used to generate the duplicate packet is the Reed-Solomon code RS(n,k). The correction performance of the Reed-Solomon code RS(n,k) is Q(k) = n - k.
According to the present invention, the amount of redundant packets is adapted according to the state of the network so as to use the bandwidth in an optimal manner. If the sending network is in good shape, the amount of duplicate packets will be reduced, allowing a larger portion of the bandwidth to be dedicated to the transmission of media packets. Conversely, if the sending network is in a bad state, the amount of duplicate packets will be increased, allowing the receiver side to increase the likelihood of recovering discarded meteor packets.
Advantageously, k is the minimum value k corresponding to the maximum allowed amount of redundant packets.<sb>min</sb>will not be smaller than
An example of such an adaptation is schematically illustrated in FIG. 3 . Curve S gives the change in state S(t) of the transmit network as a function of time t. Mark G on the Y-axis indicates good condition. Mark D on the Y-axis indicates poor condition. The combination of transmission blocks TB(i) is shown in relation to the curve S. Number of media packets transmitted to transmission block TB(i) k<sb>It's</sb>It can be seen that is larger when the state of the corresponding network is better.
The adaptation of the amount of redundant packets contained in the transmission block TB(i) is controlled by the analyzer 34 . The analyzer 34 analyzes packet errors occurring on the transmission network and generates an order packet 42 for the FEC encoder 12 . This ordered packet 42 is the optimal value k to be used by the FEC encoder 12<sb>optimal</sb>includes These are transmitted to the transmitter 1 using an RTCP feedback message.
The operation of the analyzer 34 will now be described in more detail with reference to FIG. 4 .
k<sb>optimal</sb>To calculate , the analyzer 34 calculates the number P of packet errors in the received transmission block TB(i).<sb>It's</sb>maintain the history of Preferably, this history corresponds to some Round Trip Time through the transmitting network. The number of packet errors in the transmission block TB(i) is equal to the number of lost packets. Packet loss is detected using the RTP sequence number (the header of an RTP packet contains a sequence number, the value of which is incremented by one every time one packet is transmitted; at the receiver, the missing sequence number is the lost packet corresponds to).
If the analyzer 34 detects the end of the transmission block TB(i) (box T1 in Fig. 4), the analyzer determines the number of packet errors P in this transmission block.<sb>It's</sb>Calculate and store (box T2).
Then the analyzer 34 runs from n to k<sb>min</sb>The following operations are performed for k that changes up to .
- The analyzer estimates the correction performance Q(k) (box T4).
- number of packet errors P<sb>It's</sb>and correction performance Q(k), the analyzer 34 calculates the number of packet errors after correction P<sb>It's</sb>Calculate '(k) (box T5):
<img file="KR101021071B1_D0001.tif" />
- the analyzer 34 determines the number of packet errors after correction P<sb>It's</sb>Calculate the mean value M(k) of '(k) (box T6). Advantageously, greater importance is given to the last packet error in the calculation of the average value M(k), since this last packet error is more meaningful for knowing the current network state. This enables a faster response to fluctuations in the transmission network. for example:
<img file="KR101021071B1_D0002.tif" />
where m is the number of transmission blocks in the history, and also:
<img file="KR101021071B1_D0003.tif" />
- The corresponding packet error rate R(k) = M(k)/n is the maximum allowable packet error rate PER<sb>MAX</sb>compared to (box T7). If R(k) PER<sb>MAX</sb>or k = k<sb>min</sb> If, k<sb>optimal</sb>is set to the current value of k (k<sb>optimal</sb> = k), which is sent in the form of a feedback message to the FEC encoder 12 (box T8). Otherwise, k is decremented by 1 (box T9), and the above-mentioned operations are performed for this new value of k.
In the preferred embodiment, the maximum allowed packet error rate is set by the application block 38 (arrow 39 in Fig. 1). Therefore, different applications can set different maximum tolerated packet error rates.
The optimal value of k is the maximum allowable packet error rate PER after correction<sb>MAX</sb>It is the highest value of k that makes it possible to consider
Alternatively, k<sb>optimal</sb>The new value of is fed back to the transmitter only when this value is different from the previous value.
Advantageously, the media source 10 sends media packets at an adaptable bit rate called the media bit rate, and in order to adapt this media bit rate as a function of k to compensate for variations in the overlapping packet bit rate, the media source 10 uses an FEC encoder (12) is controlled by In a first embodiment, the media source is a real-time encoder whose encoding bitrate is changed while receiving an order packet from the RCE encoder. In a second embodiment, the media source 10 comprises a file switcher intended to switch between several pre-encoded files, each pre-encoded file corresponding to one particular media bit rate. For applications operating at constant bitrate CB, the media bitrate MB(k) of the pre-encoded file is advantageously chosen as follows:
<img file="KR101021071B1_D0004.tif" />
In another embodiment (not shown), the transmitter comprises a bit rate control block intended to estimate the current channel bit rate and control the media source 10 . In this embodiment, the media source sets the media bitrate according to k and according to the ordered packets received from the bitrate control block such that the total bitrate (equal to the sum of the media bitrate and the overlapping packet bitrate) matches the current channel bitrate. adapt
The functions of the analyzer 34 just described are implemented in software form on the processor of the receiver 3 .
Modifications and improvements may be proposed in the described systems, transmitters, receivers, and methods of determining the amount of redundant packets to be added to a media packet without departing from the scope of the present invention. Accordingly, the present invention is not limited to the examples presented.
In particular, the media packets and their respective corresponding duplicate packets need not be transmitted in transport blocks of constant size. The ordered packets fed back by the receiver need not be the optimal value of k. This may be anything representing the optimal amount of redundant packets to be added to that media packet {this may be, for example, the optimal value of (nk) or the optimal value of the overhead; this overhead is traditionally<img file="KR101021071B1_D0005.tif" />is defined as).
The present invention is not limited to the Reed-Solomon code. Any correction code whose correction performance is a function of k and n can be used. The term "comprises" and its conjugations does not exclude the presence of elements or steps other than those recited in the claim. The singular form of an element or step does not exclude the presence of a plural of such element or step.
As described above, the present invention is applicable to an adaptive Forward Error Correction scheme (FEC), which aims to provide resilient data transmission over a packet-switched transmission network. The present invention is also applicable to transmission systems, transmitters, and receivers implementing such forward error control schemes. The present invention is also applicable to a method for determining the amount of redundancy to be used in such a forward error correction scheme. The invention is advantageously applicable to data transmission via a transmission network having a state that varies with time, such as, for example, a mobile transmission network.
10 sheets
Sheet 1 Sheet 2 Sheet 3 Sheet 4 Sheet 5 Sheet 6 Sheet 7 Sheet 8 Sheet 9 Sheet 10
Every citation, both ways
| Document | Relation | Office | Cited during |
|---|---|---|---|
| KR19990022018A | Cites | Republic of Korea | Search report |
| KR19990022018A | Cites | Republic of Korea | Examiner |
| US5699365A | Cites | United States of America | Examiner |
| US5699365A | Cites | United States of America | Search report |
| US6170075B1 | Cites | United States of America | Examiner |
| US6170075B1 | Cites | United States of America | Search report |
| KR1019990022018A | Cites | Republic of Korea | – |
12 members in 7 offices
Priority claims2
| Document | Office | Kind | Date |
|---|---|---|---|
| 022927073 | European Patent Office (EPO) | – | |
| 02292707 | European Patent Office (EPO) | A |
Members12
| Document | Office | Kind | |
|---|---|---|---|
| WO2004040831A1 | World Intellectual Property Organization (WIPO) | A1 | |
| AU2003269352A1 | Australia | A1 | |
| KR20050074505A | Republic of Korea | A | |
| EP1559229A1 | European Patent Office (EPO) | A1 | |
| CN1708934A | China | A | |
| JP2006505177A | Japan | A | |
| US2006031738A1 | United States of America | A1 | |
| US7328394B2 | United States of America | B2 | |
| JP4460455B2 | Japan | B2 | |
| CN1708934B | China | B | |
| KR101021071B1This record | Republic of Korea | B1 | |
| KR101021071B1This record | Republic of Korea | B1 |
9 legal events, as the office reported them to INPADOC
Over the term
Point at a mark for the eventEvents
| Event | Code | |
|---|---|---|
| Changes to party contact information recordedST27 STATUS EVENT CODE: A-5-5-R10-R18-OTH-X000 (AS PROVIDED BY THE NATIONAL OFFICE)R18 | R18 | |
| Lapse due to unpaid annual feeLapsedLAPS | LAPS | |
| Annual fee paymentFPAY | FPAY | |
| Annual fee paymentFPAY | FPAY | |
| Annual fee paymentFPAY | FPAY | |
| Written decision to grantGRNT | GRNT | |
| Decision to grant or registration of patent rightE701 | E701 | |
| Notification of reason for refusalE902 | E902 | |
| Request for examinationA201 | A201 |
Numbers
- Publication
- 10-1021071
- Application
- 1020057007319
Titles2
- Korean
- 적응 순방향 에러 제어 구조
- English
- Adaptive Forward Error Control Architecture
Classification
- CPC, 5
- H04L1/0009
- H04L1/00
- H04L1/0025
- H04L2012/5603
- H03M13/00
- IPC, 2
- H04L1 00
- H04L12 56