GB2503211A - Adapting the transmission rate of a bitstream depending on error correction code and loss parameters - Google Patents

Adapting the transmission rate of a bitstream depending on error correction code and loss parameters Download PDF

Info

Publication number
GB2503211A
GB2503211A GB201210073A GB201210073A GB2503211A GB 2503211 A GB2503211 A GB 2503211A GB 201210073 A GB201210073 A GB 201210073A GB 201210073 A GB201210073 A GB 201210073A GB 2503211 A GB2503211 A GB 2503211A
Authority
GB
United Kingdom
Prior art keywords
transmission rate
bitstream
information
value
error correction
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
GB201210073A
Other versions
GB2503211B (en
GB201210073D0 (en
Inventor
Herva Le Floch
Frederic Maze
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to GB201210073A priority Critical patent/GB2503211B/en
Publication of GB201210073D0 publication Critical patent/GB201210073D0/en
Publication of GB2503211A publication Critical patent/GB2503211A/en
Application granted granted Critical
Publication of GB2503211B publication Critical patent/GB2503211B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0001Systems modifying transmission characteristics according to link quality, e.g. power backoff
    • H04L1/0009Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the channel coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0001Systems modifying transmission characteristics according to link quality, e.g. power backoff
    • H04L1/0002Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the transmission rate
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/26Flow control; Congestion control using explicit feedback to the source, e.g. choke packets
    • H04L47/263Rate modification at the source after receiving feedback

Abstract

A bitstream, e.g. video data, is transmitted according to a transmission rate R(n) between a sending device and a receiving device, the bitstream comprising primary information and redundancy information, the redundancy information being generated by an error correction code applied on the primary information. Upon detection of data losses in the bitstream, a new transmission rate R(n+1) is calculated depending on a predetermined parameter of the error correction code, the parameter representing the maximum amount of information that can be recovered based on the amount of redundancy information, i.e. the error capacity of the correction code (N-K), and on a loss parameter, s, representing the amount of information that has been lost. The loss parameter may be compared with the parameter of the error correction code 310 and a decision made as to whether to calculate a new transmission rate. The method maximises the quality of the bitstream.

Description

"Method and device for transmitting data" The present invention concerns a method and a device for transmitting data between a sending device and a receiving device over a communication network.
In the case of a communication network carrying packets, the packets sent by the sending device over the network usually cross several routers before reaching the receiving device. When the traffic is high and the queue of one or several routers is full, some packets can be dropped. Such a situation represents a congestion of the network.
Due to network congestion, the receiving device may experience packets losses. These packet losses can be recovered thanks to either Forward Error Correction (FEC) packets or retransmitted packets.
Retransmission of packets is not recommended for applications where the transmission delay between the sending device and the receiving device has to be kept at a very low level (value), for example when live video is transmitted over a network.
Otherwise, FEC packets may be used. The use of FEC packets enables the reconstruction of lost packets while avoiding packet retransmission.
The number of lost packets at a receiving device can be controlled by a sending device through two parameters: -The proportion of FEC packets that have been generated by the sender device with respect to the other packets sent (the higher the FEC packet proportion, the higher the quantity of lost packets that can be corrected), and -The transmission rate R (the more the transmission rate is high, the more the traffic that has been generated by the sending device is subject to packets dropping in case of congestion).
An FEC packet comprises redundancy information that is used at a receiving device in order to recover lost packets. Thus, for a group of packets, a second group of FEC packets or redundancy packets is generated using FEC codes.
Figure 1 illustrates the generation of FEC packets in an IP network (FEC RIP packets). Based on K video RTP packets, N -K FEC RIP packets are generated.
The generation of these packets consists in generating redundancy information (FEC payload), comprising an FEC packet header enabling the N -K FEC RTP packets to be linked with the corresponding K video RTP packets and redundant data depending on the video data contained in the K video RTP packets, and to insert this payload in an RTP packet (i.e. behind an RTP header) Therefore, N RIP packets are generated.K packets are video RIP packets and N -K packets are FEC RTP packets.
Using FEC packets enables lost packet reconstruction while avoiding lost packet retransmission. Such a protection mechanism is robust when consecutive packets are lost (packet losses by burst). Such kind of losses occurs frequently when a network is in a congestion state.
It should be noted that increasing the redundancy information, that is increasing the number of FEC RIP packets, allows the number of lost packets that can be reconstructed to be increased.
In document US 7 328 394 the amount of redundancy or FEC packets is adapted as a function of a packet loss rate measured at a client.
Thus, when packet loss rate increases a server generates a higher number of FEC packets.
However, a high number of packets containing redundancy information (FEC RIP packets) involves a high delay for generating these packets and a high compression of the data in the packets containing information (for instance video RTP packets).
The present invention is directed to mitigating the aforesaid limitations and to providing a method for transmifting data between a sending device and a receiving device over a communication network, making it possible to optimize the quality of the data received by the receiving device.
To that end, according to a first aspect, the present invention concerns a method for transmitting a bitstream according to a transmission rate between a sending device and a receiving device, the bitstream comprising a first part comprising primary information and a second pad comprising redundant information, the redundant information being generated by an error correction code applied to the primary information.
In accordance with the invention, the method comprises upon detection of data losses in the bitstream, calculating a new transmission rate depending on a predetermined parameter of the error correction code representing the maximum amount of information that can be recovered based on the amount of redundant information, and on a loss parameter representing the amount of information that has been lost.
Thus, the transmission rate is calculated such that the information loss rate does not exceed a predetermined value. This predetermined value corresponds to the error correction capacity of the error correction code used for generating the redundant information.
Thus, for a fixed amount of redundant information, the quantity of primary information received by the receiving device is maximized and retransmission of lost information is avoided. Thus, quality of the received bitstream is maximized.
For example, the new transmission rate depends on the previous transmission rate.
Therefore, the value of the transmission rate is adapted and transformed into a new transmission rate.
In practice, the method for transmitting comprises the following steps: -comparing the loss parameter with the predetermined parameter of the error correction code, and -deciding whether or not calculate the new transmission rate, as a function of the result of said comparison.
Thus, a new transmission rate is calculated or not calculated as a function of the result of the comparison between the error correction capacity of the error correction code used for generating the redundant information, and the amount of information that has been lost.
For example, if in the comparison step the value of said loss parameter is higher than the value of the predetermined parameter of the error correction code, the new transmission rate is calculated.
Thus, since in that case the amount of lost information is higher than the error correction capacity, it is necessary to modify the transmission rate in order to be able to recover the lost information without using retransmission.
Otherwise, if in the comparison step the value of said loss parameter is lower than the value of the predetermined parameter of the error correction code, the method comprises the steps of: -comparing an index representing the number of times that lost information is detected since the previous calculation of a transmission rate with a predetermined value, and -calculating the new transmission rate when in the comparison step said index is higher than the predetermined value.
Therefore, even if the amount of information that has been lost is lower than the error correction capacity of the error correction code used for generating the redundant information (and it is not necessary to modify the transmission rate in order to be able to recover the lost information without using retransmission), the transmission rate may be calculated. Thanks to these features the transmission rate may be continuously adapted.
According to a feature, if the value of said loss parameter is lower than the value of the predetermined parameter of the error correction code, the method comprises the steps of: -comparing a time index representing the time which has elapsed since the previous calculation of a transmission rate with a predetermined time value, and -calculating the new transmission rate when in said comparison step the value of the time index is higher than the predetermined time value.
Thus, a new transmission rate is calculated when the time which has elapsed since the previous calculation of a transmission rate is higher than the predetermined time value. Thus, it is possible to adapt the transmission rate even if the amount of information lost has for a long period of time been lower than the error correction capacity of the error correction code used for generating the redundant information.
Thanks to these features, the transmission rate may be continuously adapted.
According to another feature, the loss parameter corresponds to a maximum loss parameter from among a group of loss parameters, each loss parameter of said group being calculated upon detection of data losses in the bitstream and over a period of time that has elapsed since the previous calculation of a transmission rate.
In practice, the bitstream is organized into N packets, the first part of the bitstream comprising K packets, the second part of the bitstream comprising N-K packets, and the value of the predetermined parameter of the error correction code being N-K.
Thus, the first part of the bitstream comprises primary information that is organized in K packets; the second part of the bitstream comprises redundant information that is organized in N-K packets; and the value of the error correction capacity of the error correction code used for generating the redundant information is N-K.
Therefore, the transmission rate is calculated in order to bound the number of packet losses to N-K packets (N-K is the maximum number of packets that may be recovered).
According to a feature, the new transmission rate is calculated by the receiving device and then transmitted to the sending device.
Thus, the sending device is aware of the needed transmission rate and may adapt the transmission rate in order to transmit the next bitstream according to the transmission rate calculated by the receiving device.
According to a second aspect, the present invention concerns a device for transmitting a bitstream according to a transmission rate between a sending device and a receiving device, the bitstream comprising a first part comprising primary information and a second part comprising redundant information, the redundant information being generated by an error correction code applied on the primary information,.
According to the invention, said device is adapted to calculate, upon detection of data losses in the bitstream, a new transmission rate depending on a predetermined parameter of the error correction code representing the maximum amount of information that can be recovered based on the amount of redundant information, and on a loss parameter representing the amount of information that has been lost.
For example, the transmithng device comprises: -means for comparing the loss parameter with the predetermined parameter of the error correction code, and -means for deciding whether or not calculate the new transmission rate, as a function of the result of said comparison.
According to a feature, the transmitting device further comprises means for comparing an index representing the number of times that lost information is detected since the previous calculation of a transmission rate with a predetermined value, and means for comparing a time index representing the time that has elapsed since the previous calculation of a transmission rate with a predetermined time value.
According to a third aspect, the present invention concerns a means for storing information which can be read by a computer or a microprocessor holding instructions of a computer program, that it is adapted to implement a method for transmitting a bitstream according to the invention, when said information is read by said computer or said microprocessor.
In a particular embodiment, the means for storing information according to the invention is partially or totally removable.
According to a forth aspect, the present invention concerns a computer program product which can be loaded into a programmable apparatus, characterized in that it comprises sequences of instructions for implementing a method for transmitting a bitstream according to the invention, when said computer program product is loaded into and executed by said programmable apparatus.
The advantages and particular features of the transmitting device, of the storage means and of the computer program products are similar to those of the transmitting method that they implement.
Still other particularities and advantages of the invention will appear in the following description, made with reference to the accompanying drawings which are given by way of non-limiting example, and in which: -Figure 1 illustrates the generation of packets; -Figure 2 represents the application context of the present invention; -Figure 3 is a flow chart representing an embodiment of the method in accordance with the invention; -Figures 4a and 4b represents an example of implementation of step 402 of Figure 3; and -Figure 5 represents a particular hardware configuration of a device suitable for implementation of the method according to the invention.
With reference to Figure 2, a description will first of all be given of the context in which the invention is situated.
Figure 2 represents a server device 201, a client device 202 and a communication network 200. The server 201 represents a data sending device, the client 202 represents receiving device and the network 200 represents a system for transmitting a data stream between the server 201 and the client 202.
The network conveys data generated by other servers than server 201. These data are called "cross traffic" 203. The addition of the traffic between the server 201 and the client 202 and of the cross traffic 203 may generate a congestion of the network which may cause packets losses.
The data transmitted by the server 201 to the client 202 over the network 200 are for example video data.
Thus, for example, a live video is acquired through a camera. This live video is encoded by a video encoder (e.g. H264) conducting to a bitstream.
In an embodiment, this bitstream can be transformed into a packetized stream by dividing the stream into packets. In this embodiment, a header is created in each packet, a. This packet header may contain for example, a packet identifier (PID), packet length information, a decoding time stamp (DTS), and a presentation time stamp (PTS).
The bitstream is split into packets that are encapsulated in video RTP packets. In parallel, FEC RTP packets are generated as explained above with respect to Figure 1, and encapsulated in video RTP packets.
An IP header is added to each RTP packet, RTP packets being encapsulated in IP packets.
The RTP FEC packets are used to protect the video RTP packets.
Thus, if missing video RTP packets are detected at the client 202, FEC RTP packets are used for reconstructing the missing RTP packets.
The RTP packets (RTP and FEC RTP packets) are temporary stored in a queue in the server 201 before being transmitted at a given transmission rateR thought the network 200 as IP packets.
When packets are received at the client 202, they are depacketized or decapsulated (IP header is removed from each IP packet) in order to obtain RTP packets that may be either RTP packets or FEC RTP packets. FEC RTP packets are used for correcting the lost non-FEC RTP packets. Next, the bitstream is regenerated by extracting the payload of the RTP packets and the video can be displayed.
Of course, data may be other kind of media data.
For example, the number of packets K corresponding to the first part of the transmitted bitstream or pad of the bitstream containing primary information, is set to N/2. This value of K enables to maximize the quality of a received video.
Thus, error capacity of the error correction code is set to N/2.
Of course, other values of K and N may be used.
With reference to Figure 3, a description is now given of the method for transmitting a bitstream according to an embodiment of the invention.
The flow chart represented in Figure 3 takes place at the client 202.
When RTP packets are received at the client at a reception step 301, a parameter called loss parameter s is calculated at a calculating step 302. This loss parameter s represents the amount of information that has been lost when:1 the transmission between the server 201 and the client 202 is implemented.
In this example, the loss parameter s represents the consecutive number of lost RTP packets. The calculation of the loss parameter s at the calculating step 302 will be described below with respect to Figures 4a and 4b.
Once the loss parameter s is calculated, the value of the loss parameter s is checked in order to know if it is higher than a predefined value, at a step 304 for detecting data losses.
In this example, this predefined value is zero.
If the value of the loss parameters is zero, the process described in this Figure stops while no new incoming RTP packet is received at the receiving step 401.
If the value of the loss parameter s is higher than zero (in this example), an index I representing the number of times that lost information is detected since the previous calculation of a transmission rate, is incremented by one, at an increasing step 309. It should be noted that when starting the implementation of the method, the index lis set to 0.
In parallel, the loss parameter s is stored in a queue 306, at a storing step 305. Thus, a group of loss parameters s is stored in the queue 306, each loss parameter (s) of the group being calculated upon detection of data losses in the bitstream since the instant of time when the previous calculation of a transmission rate (here a new transmission rate R(n+1)) has been calculated.
At a maximum calculation step 307, the value of the last loss parameter s that has been stored is compared to the previous values of loss parameter that have been stored in the queue 306. At a second storing step 308, a new value Sm.x 308 is stored if the last loss parameter s is higher than the values of the previous stored loss parameters s.
In parallel, at a comparing step 310, the loss parameter s is compared with a predetermined parameter of the error correction code N-K.
This parameter corresponds to the error capacity of the error correction code used for generating the redundant information is N-K. The error capacity of an error correction code represents the maximum number of information (here, the maximum number of packets) that may be recovered.
Depending on the result of the comparison at the comparing step 310 a decision is taken about calculating or not calculating the new transmission rate R(n+1).
A positive response at the comparing step 310 (the value of the loss parameter s is higher than the value of the predetermined parameter of the error correction code N-K) means than the number of lost packets is too high for being corrected by the FEC RIP packets received at the receiver, Thus, the transmission rate R(n) have to be adapted and a new transmission rate R(ni-i) have to be calculated. It should be noted that n is a variable that counts the times the transmission rate is modified.
Thus, each time the transmission rate is modified or a new transmission rate R(n+1) is calculated, the value of the variable n is incremented.
When the response to the comparison at the comparing step 310 is positive, at a first step of selling parameters 314, a size parameter Si is set to the value of the loss parameter s, and a security parameter F is set to a predefined value.
In this example, the value of the security parameter F is zero when the response to the comparison at the comparing step 310 is positive.
At a second step of selling parameters 315, a multiplication factor x is calculated as a function of the size parameter SI, the security parameter F and the current transmission rate R(n).
The multiplication factor x is calculated according to the following formula:
N
X(SIF) Where N is the number of RIP packets as described according to Figure 1, Si is the number of consecutive lost RTP packets, and F is the security factor. This security factor F is set to a different predefined value depending on the result of the comparison at the comparing step 310.
Next, a new transmission rate R(n+1) is calculated by multiplying the current transmission rate R(n) by the multiplication factor x at a second calculating step 316.
Next, the calculated new transmission rate R(n+1) is transmitted to the server at a transmitting step 317.
When the response to the comparison at the comparing step 310 is negative (the value of the loss parameter s is lower than the value of the predetermined parameter of the error correction code N-K), the index I representing the number of times that lost information is detected since the previous calculation of a transmission rate R(n+1) is compared with a predetermined value L, at a second comparison step 311.
The predetermined value L is for example 10. Of course, it may present different values.
When the index 115 higher than the predetermined value L at the second comparison step 311, the size parameter Si is set to the value of the maximum loss parameter that has been stored at the second storing step 308, and a security parameter F is set to a second predefined value at a third setting step 313. In this example, when the response to the comparison at the comparing step 310 is negative, the second predefined value is 2.
Of course, the first and second predefined values may be different.
Next, the multiplication factor x is calculated at the second step for selling parameters 315 by using parameters Smax and F set in the third selling step 313. Finally, second calculation step 316 and transmission step 317 are implemented.
According to an embodiment, when the response to the comparison, the second comparing step 311 may comprises the comparison of a time index At representing the time that has elapsed since the previous calculation of a transmission rate R(n+1) with a predetermined time value 1.
If the value of the time index N is higher than the predetermined time value T, the third setting step 313 is implemented.
The comparison of the index I with the predetermined value L and of the time index At with the predetermined time value T may be implemented in different orders.
The implementation of one of them may depend on the result of the other one.
For example, only if the response to the comparison of the index I with the predetermined value L is negative (or positive), the comparison of the time index At with the predetermined time value is implemented.
In another example, the implementation of the comparison of the index I with the predetermined value L depends on the result of the comparison of the time index At with the predetermined time value T. In another example, to two comparisons are implemented without dependence between them.
When the index I is lower than the predetermined value L at the second comparison step 311 and/or the time index At is lower than the predetermined time value T, no operation is conducted and the process restarts at the reception step 301.
The comparison between the index I and the predetermined value L and/or the time index At and the predetermined time value T are useful in order to continuously adapting the transmission rate R(n) even if the transmission rate R(n) that is being used enables the reconstruction of the whole lost RTP packets (the comparison is negative at the comparison step 310).
Thus, the evolution of the cross traffic 203 is followed.
Finally, once the new transmission rate R(n+1) is transmitted to the server at a transmission step 317, the queue 306 is emptied and the index I is set to zero at a step 308.
With reference to Figures 4a and 4b, a description is now given of an example of the calculation of the loss parameter s.
In these two examples, the FEC parameter N is set to 20. Of course, any other values may be used.
Figures 4a and 4b show respectively two sequences 400, 404 of RTP packets. It should be noted that the sequence number of these RTP packets starts at 190 and finishes at 215, the last received packet being the packet with sequence number 215. In the Figures 4a and 4b, the letterR illustrates the reception of the packet at the receiver device and the letterL illustrates the detection of a lost packet.
In Figure 4a, the packets 196, 198, 200, 201, 204, 207, 209, 210, 211, 213 and 214 are detected as lost packets and the loss parameter s is set to it The toss parameter value corresponds to the number of lost packet among these last N packets.
In the Figure 4b, the number of consecutive lost RTP packets is higher than N (in this example, the number of consecutive lost packets is 21).
The value of the loss parameter s is defined as the number of consecutive lost packets and is then set to 21.
Finally, the loss parameter s corresponds to the maximum value between the methods illustrated in the Figure 4a and in the Figure 4b.
In order to perform the method for transmitting a bitstream the structure of the server 201 or client 202 is illustrated, as an example in Figure 5.
The structure of the server 201 or the client 202 is substantially identical and comprises among others a central processing unit 501 (designated CPU in the drawing) which executes the instructions relative to the implementation of the invention. The instructions are stored in a Read Only Memory (ROM) 503 or in other storage means. On powering up, the programs which are stored in a non-volatile memory, for example the ROM 503, are transferred into the main memory 502 that is for example of Random Access Memory (RAM) type 502, and which will then contain the executable code of the invention as well as registers for storing the variables necessary for implementing the invention. In a variant, the program or programs may be received in order to be stored in an identical fashion to that described previously via the communication network 200. The memory capacity thereof can be expanded by an optional RAM connected to an expansion port (not illustrated).
In more general terms, an information storage means, which can be read by a computer or microprocessor, integrated or not into the device, and which may possibly be partially or totally removable stores a program implementing the transmitting method according to the invention.
Instructions relating to the software application may be loaded to the main memory 502 from the hard-disc (HD) 506 or the program ROM 503 for example. Such software application, when executed by the CPU 501, causes the steps of the flowcharts shown in Figure 3.
The communication bus 508 enables communication between the different elements included in the server or client. The representation of the bus 508 is non-limiting and, in particular, the central processing unit 501 may communicate instructions to any element of the server or client directly or by means of another element.
The server 201 or the client 202 also comprises a hard disk 506, used by the central processing unit 201 in a conventional manner via the bus 205.
The server 201 or the client 202 further comprise a network interface 209 that allows the connection of the device to the communication network 200 that is adapted to transmit digital data in the context of the implementation of the invention, and as described previously, RTP packets.
The server 201 integrates all the means of a device for transmitting a bitstream according to the transmitting method which has been described above.
The client 202 also comprises all the means of a device for transmitting a bitstream according to the transmitting method which has been described above.
The client 202 further comprises a user interface 505 to display information to, and/or receive inputs from a user and elements for interface with the user and in particular a keyboard (not illustrated) as well as a screen (not illustrated) for viewing the video signal after reception and decoding.
Naturally various modifications can be made to the examples described above without departing from the scope of the invention.

Claims (20)

  1. CLAIMS1. Method for transmitting a bitstream according to a transmission rate between a sending device and a receiving device, the bitstream comprising a first part comprising primary information and a second part comprising redundant information, the redundant information being generated by an error correction code applied on the primary information, said method comprising, upon detection of data losses in the bitstream, calculating a new transmission rate depending on a predetermined parameter of the error correction code representing the maximum amount of information that can be recovered based on the amount of redundant information, and on a loss parameter representing the amount of information that has been lost.
  2. 2. Method for transmitting according to claim 1, wherein the new transmission rate depends on the previous transmission rate.
  3. 3. Method for transmitting according to one of claims 1 or 2, comprising the following steps: -comparing the loss parameter with the predetermined parameter of the error correction code, and -deciding whether or not calculate the new transmission rate, as a function of the result of said comparison.
  4. 4. Method for transmitting according to claim 3, wherein if in the comparison step the value of said loss parameter is higher than the value of the predetermined parameter of the error correction code, the new transmission rate is calculated.
  5. 5. Method for transmitting according to claim 3, wherein if in the comparison step the value of said loss parameter is lower than the value of the predetermined parameter of the error correction code, the method comprises the steps of: -comparing an index representing the number of times that lost information is detected since the previous calculation of a transmission rate with a predetermined value, and -calculating the new transmission rate when in the comparison step said index is higher than the predetermined value.
  6. 6. Method for transmitting according to one of claims 3 to 5, wherein if the value of said loss parameter is lower than the value of the predetermined parameter of the error correction code, the method comprises the steps of: -comparing a time index representing the time that has elapsed since the previous calculation of a transmission rate with a predetermined time value, and -calculating a new transmission rate when in said comparison step the value of the time index is higher than the predetermined time value.
  7. 7. Method for transmitting according to one of the claims 5 and 6, wherein said loss parameter corresponds to a maximum loss parameter from among a group of loss parameters, each loss parameter of said group being calculated upon detection of data losses in the bitstream and over a period of time that has elapsed since the previous calculation of a transmission rate.
  8. 8. Method for transmitting according to one of claims 1 to 6, wherein said bitstream is organized into N packets, said first part of said bitstream comprising K packets, said second part of said bitstream comprising N-K packets, and the value of said predetermined parameter of the error correction code is N-K.
  9. 9. Method for transmitting according to one of claims 1 to 8, wherein the new transmission rate is calculated by the receiving device and then transmitted to the sending device.
  10. 10. Device for transmitting a bitstream according to a transmission rate between a sending device and a receiving device, the bitstream comprising a first part comprising primary information and a second part comprising redundant information, the redundant information being generated by an error correction code applied on the primary information, said device being adapted to, upon detection of data losses in the bitstream, calculate a new transmission rate depending on a predetermined parameter of the error correction code representing the maximum amount of information that can be recovered based on the amount of redundant information, and on a loss parameter representing the amount of information that has been lost.
  11. 11. Device for transmitting according to claim 10, wherein the new transmission rate depends on the previous transmission rate.
  12. 12. Device for transmitting according to one of claims 10 or 11, comprising: -means for comparing the loss parameter with the predetermined parameter of the error correction code, and -means for deciding whether or not calculate the new transmission rate, as a function of the result of said comparison.
  13. 13. Device for transmitting according to one of claims 10 to 12, further comprising means for comparing an index representing the number of times that lost information is detected since the previous calculation of a transmission rate with a predetermined value, and
  14. 14. Device for transmitting according to one of claims 10 to 13, further comprising means for comparing a time index representing the time that has elapsed since the previous calculation of a transmission rate with a predetermined time value.
  15. 15. Device for transmitting according to one of claims 10 to 14, wherein said bitstream is organized into N packets, said first part of said bitstream comprising K packets, said second part of said bitstream comprising N-K packets, and the value of said predetermined parameter of the error correction code is N-K.
  16. 16. Means for storing information which can be read by a computer or a microprocessor holding instructions of a computer program, characterized in that it is adapted to implement a method for transmitting a bitstream according to any one of claims 1 to 9, when said information is read by said computer or said microprocessor.
  17. 17. Means for storing information according to claim 16, characterized in that it is partially or totally removable.
  18. 18. Computer program product which can be loaded into a programmable apparatus, characterized in that it comprises sequences of instructions for implementing a method for transmitting a bitstream according to any one of claims 1 to 9, when said computer program product is loaded into H and executed by said programmable apparatus.
  19. 19. A device for transmitting a bitstream substantially as hereinbefore described with reference to, and as shown in, Figure 5 of the accompanying drawings.
  20. 20. A method for transmitting a bitstream substantially as hereinbefore described with reference to, and as shown in, Figure 3 of the accompanying drawings.
GB201210073A 2012-06-07 2012-06-07 Method and device for adapting a data transmission rate Active GB2503211B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
GB201210073A GB2503211B (en) 2012-06-07 2012-06-07 Method and device for adapting a data transmission rate

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
GB201210073A GB2503211B (en) 2012-06-07 2012-06-07 Method and device for adapting a data transmission rate

Publications (3)

Publication Number Publication Date
GB201210073D0 GB201210073D0 (en) 2012-07-25
GB2503211A true GB2503211A (en) 2013-12-25
GB2503211B GB2503211B (en) 2015-05-13

Family

ID=46605569

Family Applications (1)

Application Number Title Priority Date Filing Date
GB201210073A Active GB2503211B (en) 2012-06-07 2012-06-07 Method and device for adapting a data transmission rate

Country Status (1)

Country Link
GB (1) GB2503211B (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007016311A2 (en) * 2005-07-28 2007-02-08 Riverbed Technology, Inc. Congestion management over lossy network connections
US20100039937A1 (en) * 2007-10-31 2010-02-18 Architecture Technology Corporation Reliable transport protocol providing receiver-based congestion control
US7821937B1 (en) * 2007-06-29 2010-10-26 Symantec Corporation Network protocol with damage loss resilient congestion control algorithm
GB2485765A (en) * 2010-11-16 2012-05-30 Canon Kk Effecting flow control by notifying loss events to congestion controller dependent upon urgency of reception

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007016311A2 (en) * 2005-07-28 2007-02-08 Riverbed Technology, Inc. Congestion management over lossy network connections
US7821937B1 (en) * 2007-06-29 2010-10-26 Symantec Corporation Network protocol with damage loss resilient congestion control algorithm
US20100039937A1 (en) * 2007-10-31 2010-02-18 Architecture Technology Corporation Reliable transport protocol providing receiver-based congestion control
GB2485765A (en) * 2010-11-16 2012-05-30 Canon Kk Effecting flow control by notifying loss events to congestion controller dependent upon urgency of reception

Also Published As

Publication number Publication date
GB2503211B (en) 2015-05-13
GB201210073D0 (en) 2012-07-25

Similar Documents

Publication Publication Date Title
US11159834B2 (en) Managing congestion response during content delivery
US9781474B2 (en) Content playback information estimation apparatus and method and program
US20170034589A1 (en) Adaptive profile switching system and method for media streaming over ip networks
JP2006262288A (en) Video data delivery server and video data delivery method
JP2017518656A (en) MMTP decapsulation buffer signaling and operation
US11196793B2 (en) Method and apparatus for adaptive streaming based on hybrid TCP and UDP in multiple narrowband wireless communication environment
CN111886875A (en) Congestion response for timely media delivery
US11095699B1 (en) Streaming media file management
US8699520B2 (en) Computer device, receiving device, receiving method, and computer readable storage medium storing instructions of a computer program thereof
GB2559271A (en) Managing congestion response during content delivery
US9774353B2 (en) Generating apparatus, generating method and recording medium
US9697328B2 (en) Transmission apparatus, transmission method, reception apparatus, reception method, and computer program
US8843809B2 (en) Data processing devices, computer readable storage media, and methods
EP1351454A1 (en) Communication device and communication method
GB2503211A (en) Adapting the transmission rate of a bitstream depending on error correction code and loss parameters
JP5535231B2 (en) Reception processing apparatus and program
JP5643242B2 (en) Media player parameter estimation apparatus, method, and program
US10079904B2 (en) Packet transfer system, relay device, packet transfer method, and program
US8126049B2 (en) Method and a device for transmitting images
EP3160068B1 (en) Method and device for controlling reception of broadcast service provided by means of application layer forward error correction
JP2016146571A (en) Error correction function verification device
US10554573B2 (en) Streaming media data transmission method and apparatus
EP3316531A1 (en) Method to transmit an audio/video stream of to a destination device
WO2016203870A1 (en) Transmission apparatus, transmission method, and communication system
JP5123340B2 (en) Video data transmission apparatus, video data transmission method, and video data transmission program