GB2527365A - A telecommunication end-point device data transmission controller - Google Patents

A telecommunication end-point device data transmission controller Download PDF

Info

Publication number
GB2527365A
GB2527365A GB1411040.7A GB201411040A GB2527365A GB 2527365 A GB2527365 A GB 2527365A GB 201411040 A GB201411040 A GB 201411040A GB 2527365 A GB2527365 A GB 2527365A
Authority
GB
United Kingdom
Prior art keywords
rate
data
audio
telecommunication
transfer rate
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
GB1411040.7A
Other versions
GB2527365B (en
GB201411040D0 (en
Inventor
Richard Piers Heatley
Samuel Thomas Jansen
Nicholas Ian Moss
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.)
Starleaf Ltd
Original Assignee
Starleaf Ltd
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 Starleaf Ltd filed Critical Starleaf Ltd
Priority to GB1800060.4A priority Critical patent/GB2555755A/en
Priority to GB1411040.7A priority patent/GB2527365B/en
Publication of GB201411040D0 publication Critical patent/GB201411040D0/en
Priority to US14/745,289 priority patent/US9398256B2/en
Publication of GB2527365A publication Critical patent/GB2527365A/en
Application granted granted Critical
Publication of GB2527365B publication Critical patent/GB2527365B/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/14Systems for two-way working
    • H04N7/141Systems for two-way working between two video terminals, e.g. videophone
    • H04N7/147Communication arrangements, e.g. identifying the communication as a video-communication, intermediate storage of the signals
    • 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/0014Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the source 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/0015Systems modifying transmission characteristics according to link quality, e.g. power backoff characterised by the adaptation strategy
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0041Arrangements at the transmitter end
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/08Arrangements for detecting or preventing errors in the information received by repeating transmission, e.g. Verdan system
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0823Configuration setting characterised by the purposes of a change of settings, e.g. optimising configuration for enhancing reliability
    • H04L41/083Configuration setting characterised by the purposes of a change of settings, e.g. optimising configuration for enhancing reliability for increasing network speed
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0823Errors, e.g. transmission errors
    • H04L43/0829Packet loss
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0852Delays
    • H04L43/0864Round trip delays
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0876Network utilisation, e.g. volume of load or congestion level
    • H04L43/0882Utilisation of link capacity
    • 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/12Avoiding congestion; Recovering from congestion
    • 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/25Flow control; Congestion control with rate being modified by the source upon detecting a change of network conditions

Abstract

A data transmission controller forming part of a telecommunication device, e.g. video phone, encodes and transmits data at a channel bit rate comprising a data rate and a redundancy rate, e.g. a forward error correction (FEC) rate. After detecting packet loss attributable to a competing event in a bandwidth-constrained link 56, 64, the controller determines whether the event has finished so that the data rate may be increased. This involves increasing the channel bit rate in stepwise fashion 68 by increasing the redundancy/FEC rate and reducing or maintaining the data rate, and then checking for an increase in error rate. If the error rate does not increase then the competing event has finished and additional bandwidth is available. In this case the FEC rate is decreased and the data rate is increased. Also disclosed is an audio encoder comprises first and second encoders to encode the same audio data at different data transfer rates and output the two encodings in different data packets (figure 6). A corresponding decoder is also disclosed.

Description

A TELECOMMUNICATION END-POINT DEVICE DATA TRANSMISSION CONTROLLER
FIELD OF THE INVENTION
The present invention relates to a telecommunication end-point device data transmission controller and a method of controlling data transmission. The present invention is particularly applicable to data transmission in the form of media streams from a telecommunication end-point device and especially a videophone.
BACKGROUND OF THE INVENTION
Many telecommunications networks, such as for making video calls using videophones, operate over a network and in particular the Internet that is used for other purposes. The bandwidth requirements of a video call over a video phone are high and for a good quality call experience it is important that those bandwidth requirements are consistently met from the network even in the presence of other data for other purposes using the network.
Current compressed media streams used for video phone calls are vulnerable to lost packets because information in the current packet often makes reference to information which should have been received in a previous packet. So, if that previous packet is not delivered the decoder at the far-end of the video phone call must somehow recover from the situation. This is typically achieved by requesting retransmission of the lost information or filling in with made-up information. In either case, the user will observe a discontinuity of video or audio which is not desirable.
Media devices such as telephones and videophones that work across such networks and in particular the Internet require some mechanism whereby they can efficiently share the network infrastructure with other network devices, such as computers and other non-video phone usage, taking into consideration the requirements of media streams to and from the devices and how they differ from those of ordinary data.
Examples of known telecommunication arrangements for achieving this are illustrated in Figures 1 and 2. The example arrangements illustrated have been simplified to aid understanding.
In the telecommunication network 7 of Figure 1, a media device 2 in the form of a video phone is illustrated connected to the Internet 1 via a bandwidth-constrained link 4 controlled by a router 6. The media device 2 sends media, including a packetized audio stream and a packetized video stream,to a receiving device 3 in the form of another video phone. A competing device on the network, a personal computer (PC) 5 will also attempt to send information to the Internet over the same link causing what is described herein as a competing event. Under these circumstances, some compromise must be reached whereby the importance of the various data streams will determine the proportion of bandwidth that should be dedicated to them on the constrained link 4.
Wide-area networks such as the Internet 1 also have a very small randomly distributed packet loss. This is because the Internet is made up of small networks 31 (three such small networks are illustrated in Figure 1 as a simple example) that are connected together by high bandwidth trunks 32 and there is often oversubscription on these high bandwidth trunks 32. However, these high bandwidth trunks or links carry so much traffic that the prior art considers that individual end users or media devices 2,3 will not be significantly impacted upon and so they are typically ignored in this context.
Real-time media streams for a call between video phones 2,3 typically have a minimum bandwidth threshold below which the media stream quality will be considered too bad to be acceptable. The router 6 controlling the constrained-bandwidth link 4 is configured to prioritise the traffic from real-time media streams up to this minimum bandwidth threshold and above this threshold to balance traffic from competing events such as from other sources, such as PC 5.
Since the router 6 allows bandwidth balancing for bandwidth between the minimum bandwidth threshold and the maximum bandwidth, if this region is used for the media stream between video phones 2,3 there will inevitably be unexpected packet loss which will result in the undesirable discontinuities whilst the streams recover.
There are two known types of arrangement that attempt to address this problem as follows.
One known attempt to address this problem is for the transmitting endpoint or video phone 2 to limit the media stream rate to the minimum bandwidth threshold. This ensures that packet loss is unlikely, but when no other device (such as PC 5) is using the bandwidth above the minimum threshold, this bandwidth is wasted instead of being used to improve video or audio quality of the media stream between video phones 2,3.
The other known attempt to address this problem is for the transmitting endpoint or video phone 2 to begin transmitting at maximum media stream rate and to react to packet loss, reducing the stream bitrate, until the packet loss rate is acceptable. Figure 2 illustrates, in the form of a graph, how such an arrangement behaves. Broadly, the bandwidth 10 used by the media device 2 starts off at the maximum bandwidth 12, but data transmission from the PC 5 at times indicated by 13, 14 and 15 cause the media bitrate to drop to the minimum bandwidth indicated by 16.
The graph horizontal axis 11 is time and the area 10 shows the bandwidth utilisation by the media stream. The media stream begins transmitting at the maximum available bandwidth rate 12. After a while, at 13, the PC sends some data to the Internet 1 via router 6 and constrained link 4. This causes packet loss in the media stream in the constrained link.
The receiving telephone 3 detects this loss and the transmitting phone 2 reacts by reducing the bitrate generated for the media stream. After a second period, at 14, the PC sends a larger chunk of data which causes more packet loss in the media stream in the constrained link. The transmitting telephone reacts again by reducing the bitrate yet further, which is, in this example, the minimum bandwidth threshold 16 for the media stream between the video phones 2,3. Later on, at 15, the PC sends a relatively small chunk of data. However, there has been no increase in the bandwidth available to the media stream between the video phones 2,3. So, in practice, this arrangement is no better off for at least some of the time illustrated than in the first solution described above as regards bandwidth available to the media stream between video phones 2,3, and the user has experienced two discontinuities in video or audio. Indeed, in practice, often the media stream bandwidth available between videophones 2,3 drops very quickly to the minimum bandwidth threshold and communication is largely effectively as the first arrangement described above.
It is considered that, if the transmitting telephone 2 attempts to increase the media bitrate in the hope that the competing event has finished, there is a high probability that packet loss will occur which will cause discontinuities that the user of the video phone end point devices 2,3 will notice. For this reason, it is considered beneficial in known implementations as explained above to remain at the lower bit rate for the remainder of the video phone call.
Another problem is evident in Internet telephony, which involves audio streams being sent over a wide-area network. The streams are sent as a series of packets containing timestamps and sequence numbers. The packets are not guaranteed to be delivered, and there is often a small but observable packet loss as a stream is sent across sections of the public Internet. The packet loss is usually a result of two effects. Firstly, too much data may be sent along a comparatively low bitrate "last-mile" connection (a communication connection near the target location, such as a local broadband connection). For example, during a telephone call an e-mail may be sent by a user using the same local broadband connection that causes the local broadband connection to become congested. In this circumstance, bandwidth management can be used to adjust the audio codec parameters to reduce the bitrate to allow both audio and email to share the connection. Secondly, the loss may be due to oversubscription on the trunks connecting Internet Service Providers (such as the high bandwidth trunks 32 of Figure 1). In this circumstance, the amounts of data are so large that a single user cannot make a significant impact on the packet loss, and so adjusting a codec's bitrate will not alleviate the problem. This type of loss appears as a constant low background loss level as explained above.
When the packet loss is due to background losses, the two approaches to managing the problem are either to hide the missing packets by error concealment techniques such as playing the last packet again, or using forward error correction (FEC) to recover the contents of the missing packet.
Most FEC techniques allow a missing packet to be reconstructed by extra information held in the following N packets. If N is small then the size of the extra data must be large, but if N is large then it will take a long time for the missing packet to be reconstructed.
Since Internet telephony must be low latency, N must be kept small which means that to reconstruct the missing packets using known FEC techniques there must be a large overhead. For minimum latency N must be 1, and therefore the data rate must be doubled.
SUMMARY OF THE INVENTION
Generally, embodiments of the present invention provide a more reliable telecommunication network. Embodiments of the invention described herein address the problems of the prior art described above by providing a method and system which enable voice and videotelephony devices to make use of the shared bandwidth between the minimum bandwidth threshold and the maximum available bandwidth without compromising the integrity of the media streams.
Embodiments of the present invention include a system for managing media stream bitrates within channels of varying bandwidth. As a result of embodiments of the present invention, a telephone or video-telephone device connected to a network such as the Internet comprising bandwidth-constrained connections which are shared with other unrelated or bandwidth-competing devices compete for that bandwidth can efficiently use the available bandwidth without compromising the integrity of the media streams.
The inventors of the present application have also appreciated that, as well as unexpected loss on the constrained-bandwidth link 4 damaging the media stream, that the fairly constant small background loss on the high bandwidth trunks 32 also have an impact and needs to be anticipated and handled.
Embodiments of the present invention also relate to a system, device and method for providing forward error correction on low latency audio streams without large bandwidth overheads or significantly increasing overhead. These embodiments of the present invention also allow efficient use of the available bandwidth. They can be used in a stepwise increase of the FEC ratio (the ratio of data to redundancy) utilized in the embodiments of the present invention regarding managing media stream bitrates within channels of varying bandwidth.
Embodiments of the present invention provide a device and method that provide a compromise between providing no forward error correction but only relying on error concealment, and providing full forward error correction and doubling the bandwidth of the audio stream.
The system of embodiments of the present invention simultaneously runs two codecs, a high quality, high bitrate codec, and a lower quality, lower bitrate codec. The invention in its various aspects is defined in the independent claims below to which reference should now be made. Advantageous features are set forth in the dependent claims.
Arrangements are described in more detail below and take the form of a telecommunication channel data transmission controller for controlling data transmission in a telecommunication channel that typically forms part of a telecommunication end point device, such as a video phone. The data transmission controller is configured to encode and transmit data in a telecommunication channel at a channel bit rate comprising a data rate and a redundancy rate; and maintain an increase in channel bit rate, if a packet loss rate in the telecommunication channel does not increase by increasing the channel bit rate including reducing or maintaining the data rate and increasing the redundancy rate.
In a first aspect of the present invention, there is provided a telecommunication channel data transmission controller for controlling data transmission in a telecommunication channel, the data transmission controller being configured to: encode and transmit data in a telecommunication channel at a channel bit rate comprising a data rate and a redundancy rate; maintain an increase in channel bit rate, if a packet loss rate in the telecommunication channel does not increase by increasing the channel bit rate including reducing or maintaining the data rate and increasing the redundancy rate.
The data may comprise a representation of audio data and a representation of video data.
The telecommunication channel may be, at least in part, over the Internet.
The data transmission controller may be further configured to: determine a background error rate in the telecommunication channel and determine a background error rate compensation telecommunication channel bit rate comprising a data rate and a redundancy rate to provide a packet loss rate in the telecommunication channel at a predetermined level to compensate the background error rate; and encode and transmit data at the background error compensation telecommunication bit rate if this provides a packet loss rate at or below the predetermined level otherwise transmit data at a channel bit rate less than the background error rate compensation telecommunication channel bit rate.
The telecommunication channel data transmission controller may be further configured to determine the background error compensation telecommunication bit rate as the bit rate to compensate for a data rate: following a determination of no correlation between the packet loss rate and data rate following a reduction in data rate, stepwise further reducing the data rate until the packet loss rate is determined as constant after a stepwise reduction in the data rate.
The telecommunication channel data transmission controller may be further configured to encode and transmit at a maximum channel bit rate corresponding to the background error compensation telecommunication bit rate.
Packet loss may be caused by a competing event on the telecommunication channel caused by computer data traffic or non-video phone traffic.
The telecommunication channel data transmission controller may be further configured to: measure and store round-trip time for round-trip data transmission to and from a target; and in response to a reduction in round-trip time, carry out the step of increasing the channel bit rate including reducing or maintaining the data rate and increasing the redundancy rate.
The telecommunication channel data transmission controller may comprise an input for telecommunication data from a video phone separate from the telecommunication channel data transmission controller and the telecommunication channel data transmission controller encodes and transmits data input at the input from a video phone.
A video phone may comprise the telecommunication channel data transmission controller described above.
In another aspect of the present invention, there is provided a method of controlling telecommunication channel data encoding and transmission, the method comprising: encoding and transmitting data in a telecommunication channel at a channel bit rate comprising a data rate and a redundancy rate; maintaining an increase in channel bit rate, if a packet loss rate in the telecommunication channel does not increase by increasing the channel bit rate including reducing or maintaining the data rate and increasing the redundancy rate.
In another aspect of the present invention, there is provided an audio encoder for encoding audio for transmission on a telecommunication network, the audio encoder comprising: an audio input to input audio for encoding; a first encoder configured to encode the audio input at the audio input at a first data transfer rate; and a second encoder configured to encode the audio input at the audio input at a second data transfer rate less than the first data transfer rate the audio encoder being configured to output the encoded audio at the first transfer rate and encoded audio at the second transfer rate in different data packets.
In this way, a low overhead encoder such as a FEC encoder may be provided.
The audio encoder may be further configured to output at least some of the encoded audio at the first transfer rate and at least some of the encoded audio at the second transfer rate in adjacent data packets.
The audio encoder may be further configured to output at least a first time portion of the encoded audio at the first transfer rate and at least a second time portion of the encoded audio at the second transfer rate in the same data packet.
The first time portion may be adjacent the second time portion.
In another aspect of the present invention, there is provided an audio decoder for decoding audio for transmission on a telecommunication network, wherein the audio decoder is configured to: decode audio encoded at a second data transfer rate if the same audio encoded at a first data transfer rate cannot be decoded, wherein the second data transfer rate is less than the first data transfer rate and the audio encoded at the first transfer rate and the same audio encoded at the second transfer rate are in different data packets.
In this way, a low overhead decoder such as a FEC decoder may be provided.
The audio encoded at the first transfer rate and the audio encoded at the second transfer rate may be in adjacent data packets.
At least a first time portion of the audio encoded at the first transfer rate and at least a second time portion of the audio encoded at the second transfer rate may be in the same data packet.
The first time portion may be adjacent the second time portion.
The audio encoded at a first data transfer rate may not be decoded as a data packet in which it is carried is lost.
An audio codec may comprise the audio encoder and the audio encoder as described above. A video phone may comprise the audio encoder and the audio decoder described above.
The audio encoder may be a FEC encoder. The audio decoder may be a FEC decoder.
In another aspect of the present invention, there is provided a method of encoding audio for transmission on a telecommunication network, the method comprising: inputting at an audio input audio for encoding; a first encoder encoding the audio input at the audio input at a first data transfer rate; and a second encoder encoding the audio input at the audio input at a second data transfer rate less than the first data transfer rate; and outputting the encoded audio at the first transfer rate and encoded audio at the second transfer rate in different data packets.
The method may further comprise outputting at least some of the encoded audio at the first transfer rate and at least some of the encoded audio at the second transfer rate in adjacent data packets.
The method may further comprise outputting at least a first time portion of the encoded audio at the first transfer rate and at least a second time portion of the encoded audio at the second transfer rate in the same data packet.
The first time portion may be adjacent the second time portion.
In another aspect of the present invention, there is provided a method of decoding audio for transmission on a telecommunication network, the method comprising: decoding audio encoded at a second data transfer rate if the same audio encoded at a first data transfer rate cannot be decoded, wherein the second data transfer rate is less than the first data transfer rate and the audio encoded at the first transfer rate and the same audio encoded at the second transfer rate are in different data packets.
The audio encoded at the first transfer rate and the audio encoded at the second transfer rate may be in adjacent data packets.
At least a first time portion of the audio encoded at the first transfer rate and at least a second time portion of the audio encoded at the second transfer rate may be in the same data packet.
The first time portion may be adjacent the second time portion.
The audio encoded at a first data transfer rate may not be decoded as a data packet in which it is carried is lost.
A computer program may be configured to carry out the various methods described above.
A computer-readable medium may contain a set of instructions that causes a computer to perform the methods described above.
BRIEF DESCRIPTION OF THE DRAWINGS
The invention will be described in more detail, by way of example, with reference to the accompanying drawings, in which: Figure 1 (prior art) is a schematic diagram of a known telecommunication network; Figure 2 (prior art) is a graph illustrating an example method of controlling bandwidth available to media devices on the telecommunication network of Figure 1; Figure 3 is a schematic illustrating a video phone including a telecommunication channel data transmission controller embodying an aspect of the present invention; Figure 4 is a flow diagram illustrating the method implemented by the telecommunication end-point device data transmission controller of Figure 3; Figure 5 is a graph illustrating the method implemented by the telecommunication end-point device data transmission controller of Figure 3; Figure 6 is a schematic illustrating an audio codec embodying another aspect of the present invention; and Figure 7 is a schematic illustrating an audio data stream created by the audio codec of Figure 6.
DETAILED DESCRIPTION
A TELECOMMUNICATION CHANNEL DATA TRANSMISSION CONTROLLER FOR
CONTROLLING DATA TRANSMISSION
An example telecommunication channel data transmission controller 20 for controlling data transmission on a telecommunication channel or bandwidth management system and method of controlling telecommunication channel data transmission will now be described with reference to Figures 3 to 5. Generally, like features of the arrangement of Figures 3 to have been given the same reference numerals as like features of the arrangement of Figures 1 and 2.
In the example of Figure 3, the data transmission controller 20 is integrated with a telephony device in the form of a video phone 2 Ihe data transmission controller may be a dedicated hardware device or implemented in software or as a computer program.
Alternatively (and not illustrated), the data transmission controller 20 may be implemented in software or as a computer program on a computer such as a desktop computer, a laptop computer, a tablet computer or a smart phone. The software or computer program may be provided on a computer readable medium or storage device or devices of the computers such as a hard disk drive or solid state memory.
In practice, the router 6 of Figure 1 may be connected to a plurality of telecommunication end point devices 2 each including a data transmission controller 20. However, in this example, a single telecommunication end point device 2 including a data transmission controller 20 is illustrated for simplicity of explanation.
The data transmission controller 20 includes a codec 22 that encodes the digital media stream for output to the router 6 from output 24 and decodes the digital media stream received from the router providing for error correction and detection.
Media data including a representation of both video and audio data is transmitted or output from output 24 of controller 20 of video phone 2. The data is packetized and encoded by the codec 22 to include redundancy to detect and correct errors in it caused by packet losses during transmission to the target video phone 3. Detection and correction of such losses may be by known techniques, which are typically different depending on the type of data.
For audio traffic or data, the small constant loss caused by oversubscription of high bandwidth trunks 32 in the Internet as described above is most easily hidden by error concealment techniques, for example, by replaying the last few received samples, or by using a low-latency Forward Error Correction (FEC) applied by the codec such as duplicating audio blocks in subsequent packets.
For video traffic, the codec is typically configured to request retransmission or have some mechanism for FEC such as a Reed Solomon code.
In this FEC technique, a message or data is encoded in a redundant way by using an error-correcting code. The redundancy allows a receiver of the data to reconstruct a limited number of missing packets from a stream of packets using extra information held in the surrounding packets. The more redundancy that is encoded in the messages or data the greater the number of packet-loss errors that can be corrected at the receiver.
As mentioned above, the inventors of the present application have appreciated that the fairly constant small background loss on the high bandwidth trunks 32 of the Internet (illustrated in Figure 1) have an impact on the quality of the media stream. The inventors of the present application have appreciated that this background loss needs to be anticipated and handled as well as the loss on the constrained-bandwidth link 4. However, the cause of packet loss whether on the constrained link 4 or high bandwidth trunks 32 needs to be found so that it can be properly remedied. To address this, the controller 20 in video phone 2 of embodiments of the present invention operate or carry out the method as illustrated in the flow diagram of Figure 4. The controller also assesses when one or more competing event is over and the bit rate available to the video phone is then increased accordingly and up to a maximum allowed for the end-to-end path, including FEC compensation for losses in the high bandwidth trunks 32.
At the start of a video call (with video and audio) from video phone 2, the transmission controller 20 takes media streams or data from the video phones capture sources and selects a starting bitrate (step 48 of Figure 4) arbitrarily and sends media (including video and audio data) from the video phone 2 at that bitrate. Packet loss may then be experienced before the media reaches the target video phone for the video call 3, which could be as a result of the small background loss on high bandwidth trunks 32, or it could be because of a competing event on the constrained link 4 (such as indicated in Figure 2 by reference numerals 13, 14, or 15). This packet loss is measured by the receiving video phone 3 and sent back to the transmitting video phone 2 (step 50 of Figure 4). The transmitting phone's controller 20 then assesses if the packet loss is greater than a predetermined amount (step 52 of Figure 4). This predetermined amount is the amount that would detrimentally affect the quality of the video and/or audio experienced by the target video phone 3. If the packet loss is greater than this predetermined amount, then the controller determines the cause of the loss (background losses or due to a competing event on the constrained link) otherwise transmission continues at the same bit rate.
In order to determine the cause of the loss, the controller 20 in video phone 2 systematically or stepwise reduces the bitrate of the media stream 41 (step 54 of Figure 4) and looks or measures the packet loss rate that results from each stepwise bitrate reduction and assesses whether there is correlation between the packet loss rate and the bitrate indicating that the packet loss is a result of a competing event on the constrained linK (step Sb ot Figure 4).
If there is no such correlation that is, the error rate remains constant regardless of bitrate), then the error rate is measured and recorded as the current background error rate (or packet loss rate) for the high bandwidth trunk 32. During the stepwise reduction, the largest bit rate at which packet loss rate remained at the background error rate is stored (step 58 of Figure 4) and is now used as the new transmission bitrate. Adequate redundancy is then applied to the data stream by, in this example, applying a FEC to the media data by the controller 20 that is then output from output or channel 24 to compensate for the background error rate (step 62 of Figure 4). This defines a background error compensation telecommunication bit rate. The stored bit rate then defines this new rate ceiling and this is used as the new channel bitrate output from output 24 of the controller forming a channel to the target video phone 3.
If there is a correlation between the packet loss rate and the bitrate, then the bitrate is reduced until there is no further reduction in packet loss for any reduction in bit rate. The FEC is adjusted (step 64 of Figure 4) until the residual packet loss is compensated (the packet loss rate is less than a predetermined amount) (step 66 of Figure 4) so that the receiving telephone 3 can reconstruct a clear media stream.
Once the media bitrate for the channel has been reduced in response to a competing event, the problem that the telecommunication system faces is that it does not know whether the competing event has finished and whether bandwidth on the bandwidth-constrained link 4 is now wasted (not being used), or if the competing event is still in progress.
Instead of arbitrarily increasing the media bitrate that is output from output 24 as in the prior art, significantly, the example transmission controller 20 embodying the present invention, systematically changes the FEC parameters stepwise or increases the amount of redundant data in the data stream output from output 24 of the videophone 2 to slightly increase both the transmission bitrate and the ability for the FEC to recover from lost packets whilst keeping the media bitrate the same (maintain it) or, if necessary, slightly reducing it (step 68 of Figure 4). By doing this, the inventors of the present application have appreciated that the video phone 2 can increase the load on the network, expect the additional packet loss and recover from it. Packet loss continues to be measured during the stepwise increase of the channel bit rate including stepwise reducing or maintaining the data rate and stepwise increasing the redundancy rate (step 68 of Figure 4) while there is no increase in the error rate (step 72 of Figure 4) or the packet!oss or availab!e bit rate is at the desired level (the background error compensation bit rate), then the stepwise increasing of the bit rate is terminated and transmission from the video phone 2 is restored to background error compensation bit rate (step 70 of Figure 4). In other words, if increased packet loss does not happen, then the transmission controller 20 in the video phone 2 reduces the FEC ratio (or reduces the redundancy in the data) and increases the media bitrate and hence provides an improved quality video or audio experience for the user. The process of measuring packet loss and assessing whether packet loss is greater than a predetermined amount is then repeated until either significant packet loss occurs or the maximum channel bandwidth is reached.
However, if there is an increase in the bit error rate, after the transmission controller 20 in video telephone 2 has changed the FEC parameters stepwise to increase the amount of redundant data in the data stream output from output 24 of the video telephone 2 to slightly increase the transmission bitrate whilst maintaining the media bitrate (or slightly reducing it) and if packet loss is greater than a predetermined amount then it is concluded that the competing event is still in progress, and the bitrate and FEC ratio are returned to their previous settings or levels (step 74 of Figure 4). The controller 20 then waits for a short period (step 76 of Figure 4) and then again the controller stepwise increases the bit rate including increasing the transmission bitrate whilst maintaining the media bitrate (or slightly reducing it) (step 68 of Figure 4) and the process continues.
Figure 5 is a graph that illustrates the method implemented by the telecommunication end-point device data transmission controller 20 of Figure 3 and illustrated in the flow diagram of Figure 4.
As in the graph of the prior art of Figure 2, the graph horizontal axis 11 in Figure 5 is time and the area 10 shows the bandwidth utilisation or bit rate used by the media stream as well as the FEC rate. The media stream begins transmitting at the maximum available bandwidth rate 12 (step 48 of Figure 4). The packet loss is measured (step 50 of Figure 4).
After a while, at 13, a PC sends some data to the Internet 1 via router 6' and constrained link 4. In other words, a competing event is initiated, but the transmission controller 20 of video telephone 2 does not know the reason for the packet losses caused. In practice, packet loss in the media stream is caused in the constrained link when traffic on the link exceeds the capacity of the link. The transmission controller 20 reacts by stepwise reducing the bitrate or data rate (step 54 of Figure 4) or stepping down of bitrate (reference numeral 41 in Figure 5) to ascertain whether this loss is due to a competing event or to background error. in this case, a correlation between packet ioss and bit rate is detected (step 56 of Figure 4) and bitrate continues to be reduced stepwise until the packet loss stops (step 64 and 66 of Figure 4, reference numeral 46 of Figure 5). After a short period, the transmission controller 20 then increases the redundant data or increases the FEC rate stepwise (step 68 of Figure 4, reference numeral 80 of Figure 5) to probe the channel to discover whether the competing event 13 is still in progress or not. To do this, the controller 20 stepwise increases the bit rate including increasing the transmission bitrate and maybe reducing the media bitrate (step 68 of Figure 4, reference numeral 80 of Figure 5). However, as this increases the error rate (as the competing event l3is still underway), the transmission controller 20 returns the bit rate and the FEC or redundancy rate back to their previous levels (step 74 of Figure 4). After a short wait or period (step 76 of Figure 4), the transmission controller 20 again stepwise increases the bit rate including increasing the transmission bitrate and reducing the media bitrate (step 68 of Figure 4, reference numeral 43 of Figure 5). As the competing event 13 has now finished, the measurement of the error rate caused by the stepwise increase in transmission bit rate does not increase the error rate (step 72 of Figure 4) and the bit rate is continued to be stepwise increased (reference numeral 82 of Figure 5, step 68 of Figure 4) until the desired bit rate is met (reference numeral 84 of Figure 5, step 70 of Figure 4).
Thus, the recovery mechanism to restore the channel to full bandwidth after the event 13 has completed is illustrated.
In an alternative example, the sending video telephone 2 and the receiving video telephone 3 or target measure the round-trip time on the end-to-end connection between them. This is usually monitored as an interesting measurable statistic because it can be used to indicate the existence of a problem somewhere along the connection. Round trip latency increases when a link is being shared because packet queuing starts to occur on the link.
In this example, when the controller 20 is waiting momentarily and the bit rate and the FEC or redundancy rate are level before probing to ascertain whether a competing event has ended by stepwise increasing the bit rate including reducing the media rate and increasing the redundancy as illustrated in Figure 4 state 76, the transmission controller 20 can observe by measuring and storing the round-trip latency or time and look for reductions in latency. Reduction in latency can be an indication that less queuing is occurring and so the competing event may be over. This can be used to trigger a new test, state 68 of Figure 4, when a stepwise increase in the bit rate (including reducing or maintaining the media or data rate and increasing the redundancy rate) is made in response to a reduction in round-trip time.
AUDIO CODEC
As mentioned in the background section above, in the known telecommunication network 7 of Figure 1, a media device 2 in the form of a video phone is illustrated connected to the Internet 1. The media device 2 sends media to a receiving media device 3 in the form of another video phone. This media includes an audio stream containing packetized audio data.
In embodiments of the present invention, the media devices 2, 3 also include an audio codec 100 as illustrated in Figure 6. As mentioned above, the media devices or video phones may be dedicated hardware devices or implemented in software on a computer such as a desktop computer, laptop computer, tablet or smart phone. The codec of the video phones may be implemented in software as a computer program on these devices (in which case, a computer-readable medium such as a hard disk drive or solid state memory containing a set of instructions is provided that causes a computer to perform the relevant method) or as dedicated hardware.
As illustrated in Figure 6, an audio encoder of the codec 100 includes an audio input 102 to input audio for encoding. There are a pair of encoders 104, 106 forming the audio encoder. The first encoder 104 encodes the audio input at the audio input at a first data transfer rate or quality. The second encoder 106 encodes the same audio input at the audio input at a second data transfer rate or quality that is less than the first data transfer rate or quality. The audio encoder has an output 108 to output the encoded audio at the first transfer rate and encoded audio at the second transfer rate in different data packets.
This arrangement of redundant information forms a FEC mechanism for correcting packet-loss errors.
Similarly, an audio decoder of the codec 100 receives encoded audio data from a telecommunication network at an input 110. The encoded audio data includes the same audio encoded at a first data transfer rate and at a second data transfer rate, in which the audio encoded at a first data transfer rate is in different data packets to the audio encoded at the second data transfer rate. The audio decoder includes a pair of decoders, a first decoder 112 and a second decoder 114. The first decoder decodes FEC encoded audio at the first data transfer rate and the second decoder decodes FEC encoded audio at the second data transfer rate. The codec includes a controller 116 that receives electrical signals from and transmits electrical signals to the decoders, including a signal from the first decoder indicating that it cannot decode encoded audio data received at the input 110.
If the same audio encoded at a first data transfer rate cannot be decoded by the first decoder, then a signal is sent from the controller to the second decoder to decode the same audio encoded at the second transfer rate. The decoded data (either at the first or second data rate) is output from output 118 of the codec.
Thus, the system effectively simultaneously runs two audio codecs or encoders, a high quality high bitrate codec or encoder and a lower quality lower bitrate codec encoder. For example, the higher quality codec may be G.71 1 at 64kbps and the lower quality codec may be G.729 at 8kbps.
For each group of audio samples, the equivalent blocks of encoded data are created.
Generally, the audio packets of tha packetized audio stream output from the audio encoder include at least some of the encoded audio at the first transfer rate and at least some of the encoded audio at the second transfer rate in adjacent data packets. At least a first time portion of the encoded audio at the first transfer rate and at least a second time portion, adjacent the second time portion, of the encoded audio at the second transfer rate are in the same data packet. In the example described below, the media packets are constructed to include both the current block from the high quality codec, and the previous block from the low quality cadec.
Figure 7 illustrates three data packets constructed and output by the audio encoder of the codec that may be received by another codec to be a decoder of its codec. It illustrates a sequence of audio packets 200, 202, 204 output from and travelling from media endpoint or video phone 2 to media endpoint or video phone 3.
In the example of Figure 7, each packet 200, 202, 204 has a header 206 and also contains two payloads. The first packet 200 contains the high quality payload of the first group of samples 208. The second packet 202 contains the high quality payload of the second group of samples 210 and the low quality payload of the first group of samples 212 (that is to say, a low quality payload equivalent to the high quality payload of the previous-in-time packet). The third packet contains the high quality payload for the third group of samples 214 and the low quality payload for the second group of samples 216.
The receiving system or codec 100 on observing a dropped packet can then decode the lower quality payload from the following packet in order to provide an approximation for the audio from the missing high quality packet.
This means that a usable error-correction for random packet loss in the stream has been achieved for a relatively small overhead in extra packet size, in this example, approximately 10% overhead in packet size taking packet headers into consideration.
There are variations to this technique that may be made.
For example, the choice of low-quality codec may be made based on the processing capabilities of the endsystem or videophone and the bandwidth requirements. For example, instead of G729 at 8kbps for the low-quality codec, 0726 at 32kbps could be used for a less than 50% overhead after packet headers have been included in the calculation, but a much lower algorithm complexity.
For example, the system may make use of bitstream codecs such as 0726 if the codec state is either transmitted at the start of each payload, or reset at the start of each packet.
For example, the same codecs may be used for both the high and low quality codec. This situation could be useful if a high quality codec is being used with no error correction but packet loss is predicted due to some network event and it would be beneficial to enable error correction without increasing bandwidth, To achieve this, byway of example, the system may usually use Gill 64kbps for the unprotected codec, and switch to G726 32kbps for both current and delayed streams. A user may notice a small drop in audio quality but not be impacted as much as for packet loss on an unprotected high quality stream. In this situation, bitstream codecs may be used without needing to handle the loss of state since the previously encoded packet would be available in the other stream.
Embodiments of the present invention have been described. It will be appreciated that variations and modifications may be made to the described embodiments within the scope of the present invention.

Claims (48)

  1. CLAIMS1. A telecommunication channel data transmission controller for controlling data transmission in a telecommunication channel, the data transmission controller being configured to: encode and transmit data in a telecommunication channel at a channel bit rate comprising a data rate and a redundancy rate; maintain an increase in channel bit rate, if a packet loss rate in the telecommunication channel does not increase by increasing the channel bit rate including reducing or maintaining the data rate and increasing the redundancy rate.
  2. 2. A telecommunication channel data transmission controller according to claim 1 wherein the data comprises a representation of audio data and a representation of video data.
  3. 3. A telecommunication channel data transmission controller according to claim 1 or claim 2, wherein the telecommunication channel is, at least in part, over the Internet.
  4. 4. A telecommunication channel data transmission controller according to any of claims 1 to 3, wherein the data transmission controller is further configured to: determine a background error rate in the telecommunication channel and determine a background error rate compensation telecommunication channel bit rate comprising a data rate and a redundancy rate to provide a packet loss rate in the telecommunication channel at a predetermined level to compensate the background error rate; and encode and transmit data at the background error compensation telecommunication bit rate if this provides a packet loss rate at or below the predetermined level otherwise transmit data at a channel bit rate less than the background error rate compensation telecommunication channel bit rate.
  5. 5. A telecommunication channel data transmission controller according to claim 4, further configured to determine the background error compensation telecommunication bit rate as the bit rate to compensate for a data rate: following a determination of no correlation between the packet loss rate and data rate following a reduction in data rate, stepwise further reducing the data rate until the packet loss rate is determined as constant after a stepwise reduction in the data rate.
  6. 6. A telecommunication channel data transmission controller according to claim 4 or claim 5, further configured to encode and transmit at a maximum channel bit rate corresponding to the background error compensation telecommunication bit rate.
  7. 7. A telecommunication channel data transmission controller according to any preceding claim wherein packet loss is caused by a competing event on the telecommunication channel caused by computer data traffic or non-video phone traffic.
  8. 8. A telecommunication channel data transmission controller according to any preceding claim wherein the telecommunication channel data transmission controller is further configured to: measure and store round-trip time for round-trip data transmission to and from a target; and in response to a reduction in round-trip time, carry out the step of increasing the channel bit rate including reducing or maintaining the data rate and increasing the redundancy rate.
  9. 9. A telecommunication channel data transmission controller according to any preceding claim, wherein the telecommunication channel data transmission controller comprises an input for telecommunication data from a video phone separate from the telecommunication channel data transmission controller and the telecommunication channel data transmission controller encodes and transmits data input at the input from a video phone.
  10. 10, A video phone comprising the telecommunication channel data transmission controller of any of claims 1 to 8.
  11. 11. A method of controlling telecommunication channel data encoding and transmission, the method comprising: encoding and transmitting data in a telecommunication channel at a channel bit rate comprising a data rate and a redundancy rate; maintaining an increase in channel bit rate, if a packet loss rate in the telecommunication channel does not increase by increasing the channel bit rate including reducing or maintaining the data rate and increasing the redundancy rate.
  12. 12. A method according to claim 11, wherein the data comprises a representation of audio data and a representation of video data.
  13. 13. A method according to claim 11 or claim 12, wherein the telecommunication channel is, at least in part, over the Internet.
  14. 14. A method according to any of claims 11 to 13, further comprising: determining a background error rate in the telecommunication channel and determining a background error rate compensation telecommunication channel bit rate comprising a data rate and a redundancy rate to provide a packet loss rate in the telecommunication channel at a predetermined level to compensate the background error rate; and encoding and transmitting data at the background error compensation telecommunication bit rate if this provides a packet loss rate at or below the predetermined level otherwise transmit data at a channel bit rate less than the background error rate compensation telecommunication channel bit rate.
  15. 15. A method according to claim 14, further comprising determining the background error compensation telecommunication bit rate as the bit rate to compensate for a data rate: following a determination of no inverse correlation between the packet loss rate and data rate following a reduction in data rate, stepwise further reducing the data rate until the packet loss rate is determined as constant after a stepwise reduction in the data rate.
  16. 16. A method according to claim 14 or claim 15, further comprising encoding and transmitting at a maximum channel bit rate corresponding to the background error compensation telecommunication bit rate.
  17. 17. A method according to any of claims 11 to 16, wherein packet loss is caused by a competing event on the telecommunication channel caused by computer data traffic or non-video phone traffic.
  18. 18. A method according to any of claims 11 to 17, further comprising: measuring and storing round-trip time for round-trip data transmission to and from a target; and in response to a reduction in round-trip time, carrying out the step of increasing the channel bit rate including reducing or maintaining the data rate and increasing the redundancy rate.
  19. 19. A method according to any of claims 11 to 18, further comprising inputting telecommunication data from a video phone and encoding and transmitting data input from the video phone.
  20. 20. A video phone carrying out the method of any of claims 11 to 19.
  21. 21. An audio encoder for encoding audio for transmission on a telecommunication network, the audio encoder comprising: an audio input to input audio for encoding; a first encoder configured to encode the audio input at the audio input at a first data transfer rate; and a second encoder configured to encode the audio input at the audio input at a second data transfer rate less than the first data transfer rate; the audio encoder being configured to output the encoded audio at the first transfer rate and encoded audio at the second transfer rate in different data packets.
  22. 22. An audio encoder according to claim 21, wherein the audio encoder is further configured to output at least some of the encoded audio at the first transfer rate and at least some of the encoded audio at the second transfer rate in adjacent data packets.
  23. 23. An audio encoder according to claim 21 or 22, wherein the audio encoder is further configured to output at least a first time portion of the encoded audio at the first transfer rate and at least a second time portion of the encoded audio at the second transfer rate in the same data packet.
  24. 24. An audio encoder according to claim 23, wherein the first time portion is adjacent the second time portion.
  25. 25. An audio decoder for decoding audio for transmission on a telecommunication network, wherein the audio decoder is configured to: decode audio encoded at a second data transfer rate if the same audio encoded at a first data transfer rate cannot be decoded, wherein the second data transfer rate is less than the first data transfer rate and the audio encoded at the first transfer rate and the same audio encoded at the second transfer rate are in different data packets.
  26. 26. An audio decoder according to claim 25, wherein the audio encoded at the first transfer rate and the audio encoded at the second transfer rate are in adjacent data packets.
  27. 27. An audio decoder according to claim 25 or 26, wherein at least a first time portion of the audio encoded at the first transfer rate and at least a second time portion of the audio encoded at the second transfer rate are in the same data packet.
  28. 28. An audio decoder according to claim 27, wherein the first time portion is adjacent the second time portion.
  29. 29. An audio decoder according to any of claims 25 to 28, wherein the audio encoded at a first data transfer rate cannot be decoded as a data packet in which it is carried is lost.
  30. 30. An audio codec comprising the audio encoder of any of claims 21 to 24 and the audio decoder of any of claims 25 to 29.
  31. 31. A video phone comprising at least one of the audio encoder of any of claims 21 to 24 and the audio decoder of any of claims 25 to 29.
  32. 32. A method of encoding audio for transmission on a telecommunication network, the method comprising: inputting at an audio input audio for encoding; a first encoder encoding the audio input at the audio input at a first data transfer rate; and a second encoder encoding the audio input at the audio input at a second data transfer rate less than the first data transfer rate; and outputting the encoded audio at the first transfer rate and encoded audio at the second transfer rate in different data packets.
  33. 33. A method according to claim 32, further comprising outputting at least some of the encoded audio at the first transfer rate and at least some of the encoded audio at the second transfer rate in adjacent data packets.
  34. 34. A method according to claim 32 or 33, further comprising outputting at least a first time portion of the encoded audio at the first transfer rate and at least a second time portion of the encoded audio at the second transfer rate in the same data packet.
  35. 35. A method according to claim 34, wherein the first time portion is adjacent the second time portion.
  36. 36. A method of decoding audio for transmission on a telecommunication network, the method comprising: decoding audio encoded at a second data transfer rate if the same audio encoded at a first data transfer rate cannot be decoded, wherein the second data transfer rate is less than the first data transfer rate and the audio encoded at the first transfer rate and the same audio encoded at the second transfer rate are in different data packets.
  37. 37. A method according to claim 36, wherein the audio encoded at the first transfer rate and the audio encoded at the second transfer rate are in adjacent data packets.
  38. 38. A method according to claim 36 or 37, wherein at least a first time portion of the audio encoded at the first transfer rate and at least a second time portion of the audio encoded at the second transfer rate are in the same data packet.
  39. 39. A method according to claim 38, wherein the first time portion is adjacent the second time portion.
  40. 40. A method according to any of claims 36 to 39, wherein the audio encoded at a first data transfer rate cannot be decoded as a data packet in which it is carried is lost.
  41. 41. A computer program configured to carry out the method of any of claims 11 to 19 and/or the method of any of claims 32 to 40.
  42. 42. A computer-readable medium containing a set of instructions that causes a computer to perform the method of any of claims 11 to 19 and/or the method of any of claims 32 to 40.
  43. 43. A telecommunication channel data transmission controller as substantially hereinbefore described with reference to, and as illustrated by, the accompanying drawings of Figures 3 to 5.
  44. 44. A method of controlling telecommunication channel data transmission as substantially hereinbefore described with reference to, and as illustrated by, the accompanying drawings of Figures 3 to 5.
  45. 45. An encoder, a decoder, a codec, and/or a videophone as substantially hereinbefore described with reference to, and as illustrated by, the accompanying drawings of Figures 6 and 7.
  46. 46. A method of encoding audio for transmission on a telecommunication network and/or a method of decoding audio for transmission on a telecommunication network as substantially hereinbefore described with reference to, and as illustrated by, the accompanying drawings of Figures 6 and 7.
  47. 47. A computer program as substantially hereinbefore described with reference to, and as illustrated by, the accompanying drawings of Figures 3 to 7.
  48. 48. A computer-readable medium as substantially hereinbefore described with reference to, and as illustrated by, the accompanying drawings of Figures 3 to 7.
GB1411040.7A 2014-06-20 2014-06-20 A telecommunication end-point device data transmission controller Expired - Fee Related GB2527365B (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
GB1800060.4A GB2555755A (en) 2014-06-20 2014-06-20 A telecommuincation end-point device data transmission controller
GB1411040.7A GB2527365B (en) 2014-06-20 2014-06-20 A telecommunication end-point device data transmission controller
US14/745,289 US9398256B2 (en) 2014-06-20 2015-06-19 Telecommunication end-point device data transmission controller

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
GB1411040.7A GB2527365B (en) 2014-06-20 2014-06-20 A telecommunication end-point device data transmission controller

Publications (3)

Publication Number Publication Date
GB201411040D0 GB201411040D0 (en) 2014-08-06
GB2527365A true GB2527365A (en) 2015-12-23
GB2527365B GB2527365B (en) 2018-09-12

Family

ID=51409912

Family Applications (1)

Application Number Title Priority Date Filing Date
GB1411040.7A Expired - Fee Related GB2527365B (en) 2014-06-20 2014-06-20 A telecommunication end-point device data transmission controller

Country Status (2)

Country Link
US (1) US9398256B2 (en)
GB (1) GB2527365B (en)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2529455A (en) 2014-08-20 2016-02-24 Starleaf Ltd A telecommunication network
GB2525948B (en) * 2014-11-04 2017-01-04 Imagination Tech Ltd Packet loss and bandwidth coordination
US9900027B1 (en) * 2015-04-22 2018-02-20 Xilinx, Inc. Method and apparatus for detecting and correcting errors in a communication channel
US20170086100A1 (en) * 2015-09-23 2017-03-23 Qualcomm Incorporated Managing Tune-Away Performance During An Ongoing Voice Communication Session
EP3211828A1 (en) * 2016-02-23 2017-08-30 StarLeaf Ltd A telecommunication network manager
CN110351114B (en) * 2019-05-23 2023-03-28 蓝炬兴业(赤壁)科技有限公司 Industrial computer based secure network acceleration method and system

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2019522A2 (en) * 2007-07-23 2009-01-28 Stephen Botzko System and method for lost packet recovery with congestion avoidance
WO2010000910A1 (en) * 2008-06-30 2010-01-07 Nokia Corporation Transmission capacity probing using adaptive redundancy adjustment
US20100122141A1 (en) * 2008-11-11 2010-05-13 Ram Arye Method and system for sensing available bandwidth over a best effort connection
WO2010141762A1 (en) * 2009-06-04 2010-12-09 Qualcomm Incorporated Systems and methods for preventing the loss of information within a speech frame
US20100328528A1 (en) * 2009-06-30 2010-12-30 Nokia Corporation Transmission capacity probing using adaptive redundancy adjustment
WO2011078995A1 (en) * 2009-12-25 2011-06-30 Cisco Technology, Inc. Increasing transmission rate to a remote device
US20130185062A1 (en) * 2012-01-12 2013-07-18 Qualcomm Incorporated Systems, methods, apparatus, and computer-readable media for criticality threshold control
US20130191121A1 (en) * 2012-01-20 2013-07-25 Qualcomm Incorporated Devices for redundant frame coding and decoding
WO2015054512A1 (en) * 2013-10-11 2015-04-16 Qualcomm Incorporated Systems and methods of communicating redundant frame information

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2306867B (en) * 1995-10-26 1998-06-03 Bosch Gmbh Robert Method of optimizing the transmission of signals
US9635374B2 (en) * 2011-08-01 2017-04-25 Apple Inc. Systems and methods for coding video data using switchable encoders and decoders
KR20140117931A (en) * 2013-03-27 2014-10-08 삼성전자주식회사 Apparatus and method for decoding audio

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2019522A2 (en) * 2007-07-23 2009-01-28 Stephen Botzko System and method for lost packet recovery with congestion avoidance
WO2010000910A1 (en) * 2008-06-30 2010-01-07 Nokia Corporation Transmission capacity probing using adaptive redundancy adjustment
US20100122141A1 (en) * 2008-11-11 2010-05-13 Ram Arye Method and system for sensing available bandwidth over a best effort connection
WO2010141762A1 (en) * 2009-06-04 2010-12-09 Qualcomm Incorporated Systems and methods for preventing the loss of information within a speech frame
US20100328528A1 (en) * 2009-06-30 2010-12-30 Nokia Corporation Transmission capacity probing using adaptive redundancy adjustment
WO2011078995A1 (en) * 2009-12-25 2011-06-30 Cisco Technology, Inc. Increasing transmission rate to a remote device
US20130185062A1 (en) * 2012-01-12 2013-07-18 Qualcomm Incorporated Systems, methods, apparatus, and computer-readable media for criticality threshold control
US20130191121A1 (en) * 2012-01-20 2013-07-25 Qualcomm Incorporated Devices for redundant frame coding and decoding
WO2015054512A1 (en) * 2013-10-11 2015-04-16 Qualcomm Incorporated Systems and methods of communicating redundant frame information

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
"Control Mechanisms for Packet Audio in the Internet", Bolot et al, INFOCOM '96, Proceedings of the 15th Annual Joint Conference of the IEEE Computer Societies, IEEE, 1996, Vol. 1, pages 232-239. *
"Reliable Audio for Use over the Internet", Hardman et al, 1995. Retrieved from the Internet: https://csperkins.org/research/rat/publications/inet95-rat.pdf (Retrieved on 20/5/15) *

Also Published As

Publication number Publication date
US9398256B2 (en) 2016-07-19
US20160028992A1 (en) 2016-01-28
GB2527365B (en) 2018-09-12
GB201411040D0 (en) 2014-08-06

Similar Documents

Publication Publication Date Title
US9398256B2 (en) Telecommunication end-point device data transmission controller
US8633963B2 (en) Determining buffer size based on retransmission latency
US11489621B2 (en) Forward error correction for streaming data
US10027818B2 (en) Seamless codec switching
US9565482B1 (en) Adaptive profile switching system and method for media streaming over IP networks
KR101727450B1 (en) Reducing delay in video telephony
US9600355B2 (en) Redundant encoding
US9246973B2 (en) Identifying and transitioning to an improved VoIP session
US9781488B2 (en) Controlled adaptive rate switching system and method for media streaming over IP networks
US9258348B2 (en) Applying a variable encoding/decoding scheme in a communication network
US10230651B2 (en) Effective intra-frame refresh in multimedia communications over packet networks
US10038734B2 (en) Telecommunication network manager
GB2555755A (en) A telecommuincation end-point device data transmission controller
EP3211828A1 (en) A telecommunication network manager

Legal Events

Date Code Title Description
S30Z Assignments for licence or security reasons

Free format text: APPLICANT: STARLEAF LTD CHARGOR: ( SECURITY AGREEMENT) SILICON VALLEY BANK

PCNP Patent ceased through non-payment of renewal fee

Effective date: 20230620