Sign In to Follow Application
View All Documents & Correspondence

Enhanced Media Quality Management

Abstract: A method of transmitting a media stream over a network, the method comprising: maintaining a measure of network quality indicative of available bandwidth over the network; using the measure of network quality to detect a reduction in network quality indicative of a reduced available bandwidth and, responsive to detecting said reduction, estimating a first bitrate corresponding to the reduced available bandwidth; responsive to estimating the first bitrate, determining a second bitrate lower than the first bitrate; transmitting the media stream at a transmission bitrate substantially equal to the second bitrate for a first period of time; and increasing the transmission bitrate from the second bitrate to the first bitrate over a second period of time.

Get Free WhatsApp Updates!
Notices, Deadlines & Correspondence

Patent Information

Application #
Filing Date
01 April 2015
Publication Number
23/2016
Publication Type
INA
Invention Field
COMMUNICATION
Status
Email
docket@khuranaandkhurana.com
Parent Application
Patent Number
Legal Status
Grant Date
2024-01-15
Renewal Date

Applicants

IMAGINATION TECHNOLOGIES LIMITED
Imagination House, Home Park Estate, Kings Langley, Hertfordshire WD4 8LZ United Kingdom

Inventors

1. MANI, Senthil Kumar
c/o Imagination Technologies Limited, 8-2-703, Road No. 12, Banjara Hills, Hyderabad - 500 034, Andhra Pradesh, India
2. PURAM, Bala Manikya Prasad
c/o Imagination Technologies Limited, 8-2-703, Road No. 12, Banjara Hills, Hyderabad - 500 034, Andhra Pradesh, India
3. MANNAVA, Sowmya
c/o Imagination Technologies Limited, 8-2-703, Road No. 12, Banjara Hills, Hyderabad - 500 034, Andhra Pradesh, India

Specification

BACKGROUND OF THE INVENTION This invention relates to methods and systems for managing the transmission of a media stream in changeable network conditions. Real-time streaming of media content over the internet has become an increasingly common application in recent years. A wide range of media applications, such as Voice over Internet Protocol (VoIP), on-demand TV, live TV viewing, video conferencing, net meetings, video telephony and many others rely on end-to-end streaming solutions. Unlike a "downloaded" media file, which may be retrieved first and played back later, streaming media applications require a media source to encode and to transmit media over a network to a receiver, which must decode and play the media in real time. Problems can arise when a media stream is transmitted across a networkdue to the changing network conditions typically experienced by the stream. For example, a drop in the bandwidth available to a media stream due to network congestion or due to the limited throughput capacity of 2G/3G networks can adversely affect the timely transmission of the packets of the stream and lead to packet loss or late delivery of data packets of the stream. For a media stream between VoIP end points, such issues can affect the quality and reliability of VoIP calls.On the other hand, whenever bandwidth availability is high, highest voice quality can be provided to the end user for best end user experience. There is a need for a method of managing and adapting the transmission of media over networks having changeable properties so as to optimise, or improve, the quality of a media stream received at a receiving device. SUMMARY According to a first aspect there is provided a device for transmitting a media stream over a network, the device comprising: a quality estimator configured to maintain a measure of network quality indicative of available bandwidth over the network;a configuration manager configured to:use the measure of network quality to detect a reduction in network quality indicative of a reduced available bandwidth and, responsive to detecting said reduction, estimate a first bitrate corresponding to the reduced available bandwidth;in response to estimating the first bitrate, determine a second bitrate lower than the first bitrate; anda transceiver configured to transmit the media stream at a transmission bitrate substantially equal to the second bitrate for a first period of time, wherein the configuration manager is further configured to cause an increase of the transmission bitrate from the second bitrate to the first bitrate over a second period of time. The second bitrate may be determined in dependence on the measure of the reduced network quality. The first and second bitrates may be determined from a plurality of predefined transmission configurations, each transmission configuration being associated with a codec for encoding media for the media stream and with a packet size for transmitting packets comprising the media stream, each transmission configuration corresponding to a bitrate that is different to the bitrates corresponding to the other transmission configurations. The configuration manager may be configured to estimate the first bitrate by selecting a first transmission configuration from the plurality of predefined transmission configurations corresponding to the greatest bitrate that is less than the reduced available bandwidth, the first transmission configuration corresponding to the first bitrate. The configuration manager may be configured to determine the second bit rate by selecting a second transmission configuration from the plurality of predefined transmission configurations corresponding to a bitrate that is less than the first bitrate, the second transmission configuration corresponding to the second bitrate. The device may further comprising an encoder configured to:encode media in accordance with a first codec so as to generate encoded data for transmitting the media stream at the second bitrate; andencode media in accordance with a second, different, codec so as to generate encoded data for transmitting the media stream at the first bitrate. The transmission bitrate for transmitting the media stream may be increased from the second bitrate to the first bitrate at a first rate, the first rate being dependent on a difference in magnitude between the first bitrate and the second bitrate. According to a second aspect there is provided a method of transmitting a media stream over a network, the method comprising: maintaining a measure of network quality indicative of available bandwidth over the network;using the measure of network quality to detect a reduction in network quality indicative of a reduced available bandwidth and, responsive to detecting said reduction, estimating a first bitrate corresponding to the reduced available bandwidth;responsive to estimating the first bitrate, determining a second bitrate lower than the first bitrate;transmitting the media stream at a transmission bitrate substantially equal to the second bitrate for a first period of time; andincreasing the transmission bitrate from the second bitrate to the first bitrate over a second period of time. The second bitrate may be determined in dependence on the measure of the reduced network quality. The first and second bitrates may be determined from a plurality of predefined transmission configurations, each transmission configuration being associated with a codec for encoding media for the media stream and with a packet size for transmitting packets comprising the media stream, each transmission configuration corresponding to a bitrate that is different to the bitrates corresponding to the other transmission configurations. The step of estimating the first bitrate may comprise selecting a first transmission configuration from the plurality of predefined transmission configurations corresponding to the greatest bitrate that is less than the reduced available bandwidth, the first transmission configuration corresponding to the first bitrate. The determining step may comprise selecting a second transmission configuration from the plurality of predefined transmission configurations corresponding to a bitrate that is less than the first bitrate, the second transmission configuration corresponding to the second bitrate. The method may further comprise the steps of: encoding media in accordance with a first codec so as to generate encoded data for transmitting the media stream at the second bitrate; encoding media in accordance with a second, different, codec so as to generate encoded data for transmitting the media stream at the first bitrate. The transmission bitrate for transmitting the media stream may be increased from the second bitrate to the first bitrate at a first rate, the first rate being dependent on a difference in magnitude between the first bitrate and the second bitrate. According to a third aspect there is provided a device for controlling a transmission bitrate for a media stream, the device comprising:a quality estimator configured to determine a measure of network quality indicative of available bandwidth over the network;a configuration manager configured to detect an oscillation of the transmission bitrate between a first bitrate below the available bandwidth and a second bitrate above the available bandwidth; anda transceiver configured to, for a first oscillation period, transmit at the first bitrate for a first duration and transmit at the second bitrate for a second duration, the configuration manager being further configured to, for a second oscillation period subsequent to the first oscillation period, cause an increase in the first duration relative to the second duration such that the proportion of time transmitting at the first bitrate is greater for the second oscillation period than for the first oscillation period. The first and second bitrates may be determined from a plurality of predefined transmission configurations, each transmission configuration being associated with a codec for encoding media for the media stream and with a packet size for transmitting packets comprising the media stream, each transmission configuration corresponding to a bitrate that is different to the bitrates corresponding to the other transmission configurations. The configuration manager may be configured to select a first transmission configuration from the plurality of predefined transmission configurations corresponding to the greatest bitrate that is less than the available bandwidth, the first transmission configuration corresponding to the first bitrate. The second bitrate may correspond to a second transmission configuration from the plurality of predefined transmission configurations, the second transmission configuration corresponding to the lowest bitrate that is greater than the available bandwidth. The oscillation period may be a time period for the transmission bitrate to change from the first bitrate to the second bitrate and back to the first bitrate. The measure of network quality may be dependent on measuring a time between expecting to receive a packet of the media stream and receiving said expected packet. The measure of network quality may be dependent on measuring a network delay time, the delay time comprising a time taken for a first packet to be received, at a first device, from a second device and a time taken for a second packet to be received, at the second device, from the first device. The second packet may comprise an indication of a time when the first packet was generated. The quality estimator may determine the measure of network quality by determining a measure of packet loss over the network, a measure of network jitter and/or a measure of burst loss. The configuration manager may be configured to select one or more codecs in dependence on the measure of network quality, and the transceiver is configured to send information identifying said selected one or more codecs to another device so as to cause said another device to transmit, over the network, a media stream encoded in accordance with one of said selected one or more codecs. The configuration manager may be configured to determine an amount of error correction data in dependence on the measure of network quality, the transmitted media stream comprising the determined error correction data. The media stream may be a Voice over Internet Protocol stream. According to a fourth aspect there is provided a method of controlling a transmission bitrate for a media stream, the method comprising the steps of:determining a measure of network quality indicative of available bandwidth over the network;detecting an oscillation of the transmission bitrate between a first bitrate below the available bandwidth and a second bitrate above the available bandwidth;for a first oscillation period, transmitting at the first bitrate for a first duration and transmitting at the second bitrate for a second duration; andfor a second oscillation period subsequent to the first oscillation period, increasing the first duration relative to the second duration such that the proportion of time transmitting at the first bitrate is greater for the second oscillation period than for the first oscillation period. The first and second bitrates may be determined from a plurality of predefined transmission configurations, each transmission configuration being associated with a codec for encoding media for the media stream and with a packet size for transmitting packets comprising the media stream, each transmission configuration corresponding to a bitrate that is different to the bitrates corresponding to the other transmission configurations. The method may further comprise the step of selecting a first transmission configuration from the plurality of predefined transmission configurations corresponding to the greatest bitrate that is less than the available bandwidth, the first transmission configuration corresponding to the first bitrate. The second bitrate may correspond to a second transmission configuration from the plurality of predefined transmission configurations, the second transmission configuration corresponding to the lowest bitrate that is greater than the available bandwidth. The oscillation period may be time period for the transmission bitrate to change from the first bitrate to the second bitrate and back to the first bitrate. The measure of network quality may be dependent on measuring a time between expecting to receive a packet of the media stream and receiving said expected packet. The measure of network quality may be dependent on measuring a network delay time, the delay time comprising a time taken for a first packet to be received, at a first device, from a second device and a time taken for a second packet to be received, at the second device, from the first device. The second packet may comprise an indication of a time when the first packet was generated. Determining said measure may comprise determining a measure of packet loss over the network, a measure of network jitter and/or a measure of burst loss. The methods may further comprise the steps of: selecting one or more codecs in dependence on the measure of network quality; and sending information identifying said selected one or more codecs to another device so as to cause said another device to transmit, over the network, a media stream encoded in accordance with one of said selected one or more codecs. The methods may further comprise the step of determining an amount of error correction data in dependence on the measure of network quality, the transmitted media stream comprising the determined error correction data. The media stream may be a Voice over Internet Protocol stream. According to a fifth aspect there is provided a machine readable code for generating the device. According to a sixth aspect there is provided a machine readable storage medium having encoded thereon non-transitory machine readable code for generating the device. According to a seventh aspect there is provided a machine readable code for implementing the method. According to an eighth aspect there is provided a machine readable storage medium having encoded thereon non-transitory machine readable code for implementing the method. BRIEF DESCRIPTION OF THE DRAWINGS The present invention will now be described by way of example with reference to the accompanying drawings. In the drawings: Figure 1shows a schematic diagram of a device capable of transmitting a media stream over a network; Figure 2 shows a flowchart illustrating a process for transmitting media at an optimal bitrate; Figure 2a shows a chart illustrating an example of the change in transmission bitrate over time when there is a change in the available bandwidth; Figure 3 shows a flowchart illustrating a process for controlling transmission bitrate oscillation; Figure 3ashows a chart illustrating the oscillation control of a transmission bitrate; and Figure 4 depicts a process for estimating network delay. DETAILED DESCRIPTION OF THE DRAWINGS The following description is presented to enable any person skilled in the art to make and use the invention, and is provided in the context of a particular application. Various modifications to the disclosed embodiments will be readily apparent to those skilled in the art. The general principles defined herein may be applied to other embodiments and applications without departing from the spirit and scope of the present invention. Thus, the present invention is not intended to be limited to the embodiments shown, but is to be accorded the widest scope consistent with the principles and features disclosed herein. Figure 1 depicts a transmitting device 10, which may be any suitable device that is capable of generating packet based data such as a computer, smartphone, IP-phone, etc. The transmitting device 10 comprises a transceiver 11 for connection to a communications network 12 such as the internet or other packet based networks. The transmitting device 10 can transmit and/or receive data packets to and/or from the communications network 12 via the transceiver 11. The transmitting device 10 comprises an encoder 13 for encoding media that is to be transmitted over the communications network 12 to a receiving device 20. The transmitting device 10 can comprise a quality estimator 14 that can estimate the quality of the network 12 and a configuration manager 15 that can determine parameters for transmitting media over the network 12. The configuration manager 15 can determine the transmission parameters in dependence on the estimate of the quality of the network 12. If there is a change in thecondition or state of the network 12 (such as a change in the bandwidth availability), which is indicated by the quality estimate, the transmission parameters can be adapted by the configuration manager to provide an optimal stream for the new state of the network 12. The configuration manager 15 may determine parameters such as parameters of the codec used for encoding and decoding media and the packet size for packets comprising the encoded media. The configuration manager 15 may determine and store a number of different configurations in a table during, for example, the session start-up. As shown in the example configuration table below, each configuration may have an associated packet size, codec and codec mode (if any). Each codec (and mode) may have an encoding rate associated with it. Also, generally, the overhead associated with packetisation increases as the packet size decreases and so the transmission bitrate can be varied by varying the packet size. Thus, the transmission bitrate BRn for each configuration can be calculated. The configurations can be sorted in a decreasing bitrate order. More or fewerconfigurations than those shown in the configuration table below may be utilised. Configuration Packet Size Codec CodecMode(if any) Bitrate C1 PS1 Cd1 CM1 BR10 C2 PS2 Cd1 CM1 BR9 C3 PS3 Cd1 CM1 BR8 C4 PS1 Cd2 CM1 BR7 C5 PS1 Cd2 CM2 BR6 C6 PS2 Cd2 CM2 BR5 C7 PS2 Cd3 None BR4 C8 PS3 Cd4 None BR3 C9 PS4 Cd3 None BR2 C10 PS4 Cd4 None BR1 Table 1: configuration table In the table, Cn identifies a configuration, PSn is a packet size, Cdn is a codec CMn is a codec mode and BRn is the transmission bitrate for that configuration. BR10 > BR9 > BR8>… BR1 and PS4> PS3> PS2> PS1. Each configuration has a different combination of codec (and codec modes, if available) and packet size, which leads to different transmission bitrates. Thus, when the available network bandwidth changes, an appropriate configuration can be selected so that the configuration with the maximum bitrate that is not greater thanthe available bandwidth can be utilised. The quality estimator 14can periodically determine the quality of the network, e.g. at a rate of once every 100ms to give some suitable examples. When there is decreasein the quality of the network as indicated by the quality estimate (i.e. the transmission quality provided by the network) which leads to a decrease in the available bandwidth, the configuration manager 15 determines the configuration, Cn, with the highest bitrate,BRn, that is not greater thanthe available bandwidth (hereinafter referred to as the “optimal bitrate”). However, if there is a significant decrease in the available bandwidth, the configuration manager 15 does not immediately utilise the optimal bitrate. Instead, the configuration manager 15 determines a reduced bitrate that is lower than the optimal bitrate to utilise. Thus, when the significant decrease in available bandwidth is detected, the configuration manager 15 switches the transmission bitrate from a currently utilised bitrate to the reduced bitrate and not to the optimal bitrate. A significant decrease in the available bandwidth may, for example, be considered to be any decrease that would cause the configuration manger 15 to change the current bitrate to a bitrate that this lower than the next available lower bitrate. For example, if currently transmitting at BR10, a decrease in the available bandwidth would be considered to be significant if the optimal bitrate is BR8 or lower. Packets which are transmitted from the transmitting device 10 may be queued at various points in the network path. For example, queuing may occur if the packets are transmitted at a higher bitrate than the bandwidth supported bythe current network conditions. By switching to the reduced bitrate instead of the optimal bitrate, the transmitting device 10 can clear any queued up packets in the network path before switching to the optimal bandwidth. This helps reduce the delay in receiving the transmitted packets atthe receiving device 20. The queuing up of packets may be caused by, for example, a delay between the change in the available bandwidth and detecting that change and so the transmitting device 10 may transmit packets at a bitrate that is above the available bandwidth during that delay. This can lead to a build-up of packets and queuing of packets at various points in the network path such as various network interfaces, access points, ENodeB, etc. By utilising the reduced bitrate, the build-up of packets can be cleared before switching to the optimal bitrate.This allows transmitted packets to arrive at the receiving device 20 in a timely manner, which is advantageous for real-time media streaming applications such as VoIP. The amount of bitrate reduction from the optimal bitrate may be dependent on the amount of reductionin the available bandwidth. Generally, the amount of bitrate reduction may be proportional to the reduction in the available bandwidth. The amount of bitrate reduction can be made sufficient so as to allow clearance of the packet build up over a short period of time (e.g. over a time period in the range from 5 to 7 seconds and preferably 6 seconds). For example, if a stream was being transmitted usingconfiguration C1 and a relatively small drop in the available bandwidth was detected, for which the optimal bitrate is BR9, the configuration manager 15 may switch to C4 (which has a reduced bitrate of BR7) for a period of time to clear any build-up of packets, before switching to C2 to transmit at the optimal bitrate, BR9. If a much larger drop in available bandwidth was detected (for example, > 8Kbps in certain VoIP applications), the bitrate may need to be reduced to a greater extent to clear a relatively larger build-up of packets. For example,if the optimal bitrate is now BR5 (instead of BR9), then the configuration manager 15 may switch to configuration C10, which will reduce the bitrate to a greater extent to clear a relatively larger build-up of packets, before switching to C6(which may be done in quick adaptive steps)to transmit at the optimal bitrate, BR5. In some circumstances, a bitrate reduction from the optimal configuration may not be applied. For example, if there is a relatively small drop in the available bandwidth (e.g. if only the next lowest configuration is optimal), the configuration manager 15 may not apply the bitrate reduction and may immediately switch to the optimal bitrate. In another example, if the optimal bitrate following a drop in the available bandwidth corresponds to the lowest available configuration (e.g. C10) then the configuration manager 15 may immediately switch to that configuration. Alternatively or additionally, the amount of time transmitting at the reduced bitrate may be proportional to the amount of reduction in the available bandwidth. For example, if the large drop in the available bandwidth was detected, for which the optimal bitrate is BR5, the configuration manager 15 may switch to C8 instead of C10, as described above, and transmit using C8 for a longer period of time than if transmitting at C10before switching to C6 to transmit at the optimal bitrate, BR5. This will also clear the large build-up of packets and allow a higher quality configuration to be utilised, however at the expense of a larger delay. After a suitable amount of time transmitting at the reduced bitrate, the configuration manager 15 may quickly change the transmission bitrate to the optimal bitrate. The rate at which the transmission bitrate is changed may be dependent on the amount that the bitrate is reduced from the optimal bitrate. Generally, the greater the amount that the bitrate has been reduced, the greater the rate at which the bitrate is increased from the reduced bitrate to the optimal bitrate. For example, if the reduced bitrate was BR7 and the optimal bitrate was BR9, the configuration manager 15 may switch from C4 to C3 to C2 over t amount of time. Whereas if the reduced bitrate was BR1 and the optimal bitrate was BR5 the configuration manager may switch from C10 to C8 to C6 over the same t period of time. Thus the rate at which the bitrate is increased is greater. The media stream is then transmitted at the optimal bitrate for the new network condition. Figure 2 is a flow diagram which describes an exemplary process (using the configuration table example above) for adapting the transmission bitrate of a media stream over a network with changeable conditions. Figure 2a shows the change in the transmission bitrate (solid line) when there is a change in the available bandwidth (dashed line) for the example described in relation to figure 2. The x-axis represents time, where x is an amount of time.This amount of time may be a suitable amount of time based on how often the configuration manager 15 is to select a transmission configuration (which may be a new or the same configuration). At step 201, the transmitting device 10 transmits a media stream over the network using configuration C1. Thus media is encoded at the encoder 13 using codec Cd1 (in mode CM1) and the encoded media is packetised at a PS1 packet size at thepacketiser 16. The packets are transmitted over the network 12 at transmission bitrate BR10, as shown in figure 2a. At step 202, the quality estimator 14 determines the quality of the network 12 (i.e. the transmission quality provided by the network 12 to the transmitting device 10), which can indicate the available bandwidth over the network 12. At step 203, if a significant reduction in the available bandwidth is detected, then the process moves on to step 204. If there is not a significant reduction in the available bandwidth (e.g. if there is no change or an increase in the available bandwidth), the process moves back to step 201 andmaintains the current configuration or, if available and allowed by the available bandwidth, switches to a configuration with a higher bitrate. At step 204, an optimal bitrate for the available bandwidth is determined. For example, if the available bandwidthcorresponds to a bitrate between BR5 and BR6 (as shown by the dashed line from time = 2x onwards in figure 2a) the configuration manager 15 will determine that BR5 is the optimal bitrate as it is the highest selectable bitrate that is not greater than the available bandwidth. At step 205, the configuration manager 15 determines a bitrate that is less than the optimal bitrate BR5to thereby select a reduced bitrate. Continuing with the above example, the reduced bitrate may be selected to be BR1, as shown in Figure 2a. At step 206, the configuration manager 15 then changes the configuration from C1 to C10 and causes the encoder 13 to encode media using codec Cd4 and the packetiser 16 to use packet size PS4. The packets are then transmitted over the network 12 at transmission bitrate BR1. Asshown in figure 2a, the transmission bitrate is reduced from BR10 to BR1 at time = 2x. At step 207 after an appropriate amount of time, the configuration manager 15 switches the configuration of the transmitting device 10 from C10 to C6(which corresponds to the optimum bitrate BR5)by causing the encoder 13 to use codec Cd2 (in mode CM2) and the packetiser 16 to packetise the encoded media at a PS2 packet size. As shown in figure 2a, the increasing of the transmission bitrate from BR1 to BR5 may be done in a step-wise manner by increasing from BR1 to BR3(by switching the configuration from C10 to C8 by causing the encoder 13 to use codec Cd4and the packetiser 16 to packetise the encoded media at a PS3 packet size) and then to BR5. Increasing the transmission bitrate in a step-wise manner (rather than immediately switching to the optimal bitrate) provides a smooth transition in the voice quality as perceived by user at the receiving device 20. At step 208, the media stream is transmitted at the optimal bitrate BR5, as shown from time 4x onwards in Figure 2a. The process may periodically repeat itselfwith the measurement of quality estimate (e.g. every 100ms) to continually adapt to changeable network conditions in real-time by returning to step 202. When the available bandwidth is relatively stable, there may be some circumstances which can cause the transmission bitrate of the transmitting device 10 to oscillate between bitrates higher and lower than the available bandwidth. This oscillation may be due to, for example, a finite number oftransmission bitrates available to the transmitting device 10. For example, if theavailable bandwidth corresponds to a bitrate that is between BR5 and BR6 the configuration manager 15 will set the optimum bitrate to be BR5. The quality estimator 14 may then indicate that there is slightly more bandwidth available in the network, which can cause the configuration manager 15 to increase the bitrate to BR6, which is greater than the available bandwidth. The quality estimator 14 may then indicate to the configuration manager 15 that there is slightly less bandwidth available than BR6 and so the configuration manager 15 decreases the bitrate back down to BR5. This oscillation between BR5 and BR6 continues when the available bandwidth is between the two bitrates. Oscillation of the transmission bitrate may also occur due to tolerances in the bandwidth measurement, short term variations in the bandwidth, etc. Figure 3 is a flow diagram which describes an exemplary process for controlling the oscillation of the transmission bitrate of a media stream. Figure 3a shows the change in the transmission bitrate (solid line) over time and in relation to the available bandwidth (dashed line). At step 301, the transmitting device 10 transmits a media stream over the network using, for example, configurationC6. At step 302, the quality estimator 14 determines the quality of the network 12 (i.e. the transmission quality provided by the network 12 to the transmitting device 10), which can indicate the available bandwidth over the network 12. At step 303, if a change in the quality measure is detected, then the process moves on to step 304, where an appropriate configuration is selected in dependence of that change. For example, if there is an increase in the available bandwidth, a new configuration with a higher transmission bitrate than the previous configuration is selected. If there is a decrease in the available bandwidth, a new configuration with a lower transmission bitrate than the previous configuration is selected (for example, via steps 204 to 208 of figure 2). The media stream is then transmitted with the newly selected configuration at step 301. If, at step 303, there is no change in the quality measure, the process moves tostep 307, where current transmission bitrate is maintained. The media stream is then transmitted with the current transmission bitrate at step 301. As mentioned above, when the available bandwidth corresponds to a bitrate that is between two transmission bitrate, the quality estimator may indicate that there is more or less bandwidth in the network. Due to the loop of steps 301 to 302 to 303 to 304 and back to 301, an oscillation in the transmission bitrate may occur even though there is no actual change in the network bandwidth. At step 305, the configuration manager 15 detects if the transmission bitrate is oscillatingbetween two bitrates. An oscillation period is a time period in which the transmission bitrate changes from a first bitrate to a second bitrate and back to the first bitrate. A single oscillation period or a repetition of the change from the first bitrate to the second bitrate and back to the first bitrate over subsequent, adjacent oscillation periods can indicate that the transmission bitrate is oscillating. In the example shown in figure 3a, an oscillation may be detected by the configuration manager 15 when the bitrate changes from BR5to BR6and back to BR5during period time t1. If, at step305, the configuration manager 15 detects that an oscillation is occurring, the process moves on to step 306 where the configuration manager 15 can increase the duration at which the transmitting device 10 transmits at the lower of the two bitrates compared to the duration transmitting at the higher bitrate. For each period of oscillation, the configuration manager 15 can progressively increase the duration transmitting at the lower bitrate relative to the duration transmitting at the higher bitrate. If, at step 305, there is no oscillation detected, the process moves back to step 301 via step 307, where the media stream is transmitted using the current configuration. In the exampleshown in figure 3a, the transmission bitrate (solid line) oscillates above and below the available bandwidth (dashed line) at BR6 and BR5. For each period of oscillation, the configuration manager 15 increases the duration for transmitting at BR5. For the first period t1, the duration for transmitting at BR5 and BR6 is x. The configuration manager 15 then detects that an oscillation is occurring at the end of t1. The configuration manager 15 then increases the duration for transmitting at BR5 by an amount, e.g. to 1.5x, compared to x for transmitting at BR6 for the second period t2. Thus, in this example, t2 = 1.25t1. If periods t1, t2, etc were to be kept to the same duration, i.e. t2 = t1, then for periodt2 the configuration manager 15 can increase the duration transmitting at BR5(e.g. to x + y) and correspondingly decrease the duration transmitting at BR6 (e.g. to x – y), where y is some duration, with y

Documents

Application Documents

# Name Date
1 928-DEL-2015-IntimationOfGrant15-01-2024.pdf 2024-01-15
1 Form_5.pdf 2015-04-13
2 928-DEL-2015-PatentCertificate15-01-2024.pdf 2024-01-15
2 Form 3.pdf 2015-04-13
3 Form 2 Specification.pdf 2015-04-13
3 928-DEL-2015-ABSTRACT [10-07-2020(online)].pdf 2020-07-10
4 DRAWINGS.pdf 2015-04-13
4 928-DEL-2015-CLAIMS [10-07-2020(online)].pdf 2020-07-10
5 928-del-2015-Form-1-(01-06-2015).pdf 2015-06-01
5 928-DEL-2015-COMPLETE SPECIFICATION [10-07-2020(online)].pdf 2020-07-10
6 928-DEL-2015-CORRESPONDENCE [10-07-2020(online)].pdf 2020-07-10
6 928-del-2015-Correspondence Others-(01-06-2015).pdf 2015-06-01
7 928-DEL-2015-DRAWING [10-07-2020(online)].pdf 2020-07-10
7 928-del-2015-Certified Office Copy -(01-06-2015).pdf 2015-06-01
8 Form 3 [07-06-2016(online)].pdf 2016-06-07
8 928-DEL-2015-FER_SER_REPLY [10-07-2020(online)].pdf 2020-07-10
9 928-DEL-2015-FORM 3 [10-07-2020(online)].pdf 2020-07-10
9 Form 3 [16-01-2017(online)].pdf 2017-01-16
10 928-DEL-2015-FORM-26 [10-07-2020(online)].pdf 2020-07-10
10 Form 3 [05-07-2017(online)].pdf 2017-07-05
11 928-DEL-2015-FORM 18 [19-01-2018(online)].pdf 2018-01-19
11 928-DEL-2015-Information under section 8(2) [10-07-2020(online)].pdf 2020-07-10
12 928-DEL-2015-FORM 3 [16-02-2018(online)].pdf 2018-02-16
12 928-DEL-2015-OTHERS [10-07-2020(online)].pdf 2020-07-10
13 928-DEL-2015-FORM 3 [02-05-2019(online)].pdf 2019-05-02
13 928-DEL-2015-PETITION UNDER RULE 137 [10-07-2020(online)].pdf 2020-07-10
14 928-DEL-2015-FER.pdf 2020-03-19
15 928-DEL-2015-FORM 3 [02-05-2019(online)].pdf 2019-05-02
15 928-DEL-2015-PETITION UNDER RULE 137 [10-07-2020(online)].pdf 2020-07-10
16 928-DEL-2015-FORM 3 [16-02-2018(online)].pdf 2018-02-16
16 928-DEL-2015-OTHERS [10-07-2020(online)].pdf 2020-07-10
17 928-DEL-2015-Information under section 8(2) [10-07-2020(online)].pdf 2020-07-10
17 928-DEL-2015-FORM 18 [19-01-2018(online)].pdf 2018-01-19
18 Form 3 [05-07-2017(online)].pdf 2017-07-05
18 928-DEL-2015-FORM-26 [10-07-2020(online)].pdf 2020-07-10
19 928-DEL-2015-FORM 3 [10-07-2020(online)].pdf 2020-07-10
19 Form 3 [16-01-2017(online)].pdf 2017-01-16
20 928-DEL-2015-FER_SER_REPLY [10-07-2020(online)].pdf 2020-07-10
20 Form 3 [07-06-2016(online)].pdf 2016-06-07
21 928-del-2015-Certified Office Copy -(01-06-2015).pdf 2015-06-01
21 928-DEL-2015-DRAWING [10-07-2020(online)].pdf 2020-07-10
22 928-del-2015-Correspondence Others-(01-06-2015).pdf 2015-06-01
22 928-DEL-2015-CORRESPONDENCE [10-07-2020(online)].pdf 2020-07-10
23 928-DEL-2015-COMPLETE SPECIFICATION [10-07-2020(online)].pdf 2020-07-10
23 928-del-2015-Form-1-(01-06-2015).pdf 2015-06-01
24 928-DEL-2015-CLAIMS [10-07-2020(online)].pdf 2020-07-10
24 DRAWINGS.pdf 2015-04-13
25 Form 2 Specification.pdf 2015-04-13
25 928-DEL-2015-ABSTRACT [10-07-2020(online)].pdf 2020-07-10
26 Form 3.pdf 2015-04-13
26 928-DEL-2015-PatentCertificate15-01-2024.pdf 2024-01-15
27 Form_5.pdf 2015-04-13
27 928-DEL-2015-IntimationOfGrant15-01-2024.pdf 2024-01-15

Search Strategy

1 SearchStrategyMatrixE_17-03-2020.pdf

ERegister / Renewals