Patents by Inventor Renat Vafin
Renat Vafin has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).
-
Patent number: 11044290Abstract: There is provided a method of controlling a rate at which content data is received at a receiver over a network, wherein the receiver has caused a first strew of real-time communication event data to be received at the receiver, and a second stream of content data to be received at the receiver, the method comprising steps of: dynamically measuring network conditions of the network based on the real-time communication event data; and limiting the rate at which the content data is received at the receiver based on the dynamically measured network conditions.Type: GrantFiled: January 16, 2018Date of Patent: June 22, 2021Assignee: Microsoft Technology Licensing, LLCInventors: Mingyu Chen, Adriana Dumitras, Mattias Nilsson, Renat Vafin, Christoffer Asgaard Rödbro
-
Patent number: 10903853Abstract: Correction data units for data packets of a data stream are generated. A correction data unit is based on a set of the data packets of the stream. The stream is transmitted over a communication channel. A performance measure to be optimized is selected, which relates to the recovery of lost data packets of the stream. To optimize the performance measure, a plurality of correction data vectors are determined, and a plurality of a plurality of non-recovery probabilities, corresponding to the correction data vectors, are initialized. One or more of the correction data vectors are selected that contribute towards a non-recovery probability of an original data packet. The non-recovery probability associated with the original data packet is then minimized based on the selected one or more correction data vectors. The selected one or more correction data vectors are then used to determine which of the original data packets or data correction units to transmit.Type: GrantFiled: August 14, 2018Date of Patent: January 26, 2021Assignee: Microsoft Technology Licensing, LLCInventors: Renat Vafin, Soren Vang Andersen, Mattias Nilsson
-
Patent number: 10498359Abstract: Correction data units for data packets of a data stream are generated. A correction data unit is based on a set of the data packets of the stream. The stream is transmitted over a lossy communication channel. A performance measure to be optimized is selected, which relates to the recovery of lost data packets of the stream. A coding requirement is determined. For the generation of the correction data units, it is determined, within the constraints of the coding requirement and based on previously generated correction data units, which of the data packets in the stream to include in the set on which the generation of the correction data unit is to be based to thereby optimize the selected performance measure. A generated correction data unit is generated based on a respective set of the data packets of the stream. The generated correction data units are included in the stream.Type: GrantFiled: October 15, 2013Date of Patent: December 3, 2019Assignee: Microsoft Technology Licensing, LLCInventors: Renat Vafin, Soren Vang Andersen, Mattias Nilsson
-
Publication number: 20190007060Abstract: Correction data units for data packets of a data stream are generated. A correction data unit is based on a set of the data packets of the stream. The stream is transmitted over a communication channel. A performance measure to be optimized is selected, which relates to the recovery of lost data packets of the stream. To optimize the performance measure, a plurality of correction data vectors are determined, and a plurality of a plurality of non-recovery probabilities, corresponding to the correction data vectors, are initialized. One or more of the correction data vectors are selected that contribute towards a non-recovery probability of an original data packet. The non-recovery probability associated with the original data packet is then minimized based on the selected one or more correction data vectors. The selected one or more correction data vectors are then used to determine which of the original data packets or data correction units to transmit.Type: ApplicationFiled: August 14, 2018Publication date: January 3, 2019Inventors: Renat Vafin, Soren Vang Andersen, Mattias Nilsson
-
Publication number: 20180278664Abstract: There is provided a method of controlling a rate at which content data is received at a receiver over a network, wherein the receiver has caused a first strew of real-time communication event data to be received at the receiver, and a second stream of content data to be received at the receiver, the method comprising steps of: dynamically measuring network conditions of the network based on the real-time communication event data; and limiting the rate at which the content data is received at the receiver based on the dynamically measured network conditions.Type: ApplicationFiled: January 16, 2018Publication date: September 27, 2018Inventors: Mingyu Chen, Adriana Dumitras, Mattias Nilsson, Renat Vafin, Christoffer Asgaard Rödbro
-
Publication number: 20180224948Abstract: Methods and systems for controlling a computing-based device based on gestures made within a predetermined range of a camera wherein the predetermined range is a subset of the field of view of the camera. Any gestures made outside of the predetermined range are ignored and do not cause the computing-based device to perform any action. In some examples, the gestures are used to control a drawing canvas that is implemented in a video conference session. In these examples, a single camera may be used to generate an image of a video conference user which is used to detect gestures in the predetermined range and provide other parties to the video conference session a visual image of the user.Type: ApplicationFiled: April 3, 2018Publication date: August 9, 2018Inventors: Henrik Turbell, Mattias Nilsson, Renat Vafin, Jekaterina Pinding, Antonio Criminisi, Indeera Munasinghe
-
Patent number: 9900357Abstract: There is provided a method of controlling a rate at which content data is received at a receiver over a network, wherein the receiver has caused a first stream of real-time communication event data to be received at the receiver, and a second stream of content data to be received at the receiver, the method comprising steps of: dynamically measuring network conditions of the network based on the real-time communication event data; and limiting the rate at which the content data is received at the receiver based on the dynamically measured network conditions.Type: GrantFiled: September 10, 2013Date of Patent: February 20, 2018Assignee: Microsoft Technology Licensing, LLCInventors: Mingyu Chen, Adriana Dumitras, Mattias Nilsson, Renat Vafin, Christoffer Asgaard Rödbro
-
Patent number: 9854274Abstract: A method of performing a rate-distortion optimization process comprising selecting a preferred encoding mode by optimizing a function comprising an estimate of distortion for a target image portion and a measure of bit rate required to encode that portion. The estimate of distortion is based on source coding distortion and an estimate of error propagation distortion due to loss. The method further comprises transmitting the same encoded version of the video stream from the transmitting terminal to each of a plurality of receiving terminals over respective lossy channels, using the same rate-distortion optimization process in relation to each of the plurality of receiving terminals, making the same encoding mode selection per target image portion based on the same optimization of said function. The estimate of error propagation distortion comprises an aggregate estimate of error propagation distortion that would be experienced due to possible loss over the plurality of channels.Type: GrantFiled: October 17, 2011Date of Patent: December 26, 2017Assignee: SKYPE LIMITEDInventors: Mattias Nilsson, Renat Vafin, Soren Vang Andersen
-
Patent number: 9819358Abstract: An encoder stage, and corresponding encoded bitstream and decoder. The encoder stage comprises: a variable length encoder for encoding an input signal; and a counter configured to dynamically detect an observed frequency at which different symbols are found to occur within each of a plurality of predetermined portions of the input signal, prior to the symbols of each respective portion being encoded by the variable length encoder. The variable length encoder is configured to encode the symbols of each portion using variable length coding performed in dependence on the observed frequencies detected within the respective portion of the input signal, to generate an encoded bitstream comprising the encoded symbols along with an additional element indicating information regarding the observed frequencies detected for each portion, and to output the encoded bitstream to at least one of a storage medium and a transmission medium for supply to a decoder.Type: GrantFiled: July 16, 2010Date of Patent: November 14, 2017Assignee: SkypeInventors: Renat Vafin, Lazar Bivolarsky, Mattias Nilsson, Soren Vang Andersen
-
Patent number: 9609342Abstract: A method of selecting reference blocks for intra or inter prediction coding of a current block of a video signal. Each reference blocks is selected by: (i) determining a group of candidate blocks comprising at least some candidate blocks other than immediately adjacent spatial neighbors of the current block; and (ii) selecting one of the candidate blocks as the reference block based on a second metric, different from the first metric, the second metric relating to a number of bits that would be required in the encoded bitstream to encode both the residual block and the side information identifying the respective reference block.Type: GrantFiled: July 16, 2010Date of Patent: March 28, 2017Assignee: SkypeInventors: Lazar Bivolarsky, Mattias Nilsson, Renat Vafin, Soren Vang Andersen
-
Patent number: 9558451Abstract: The disclosure relates to a communication client application for running on a user terminal to conduct calls over a network. The client is configured to access a model which models quality of user experience for calls based on a set of technical parameters of each call. The model itself is based on user feedback indicating subjective quality of multiple past calls as experienced by multiple users, modeled with respect to the technical parameters collected from each of the past calls. The model generates a predicted call quality score predicting the quality of user experience for the call given its technical parameters. Based on this process, one or more of the technical parameters of the call can be adapted to try to increase the quality experienced by the user.Type: GrantFiled: March 6, 2014Date of Patent: January 31, 2017Assignee: Microsoft Technology Licensing, LLCInventors: Mattias Nilsson, Ando Saabas, Renat Vafin, Markus Vaalgamaa, Adriana Dumitras, Teele Tamme, Andre Veski
-
Patent number: 9437216Abstract: A method of receiving at a terminal a first signal transmitted via a communication network, said method comprising the steps of; receiving at the terminal the first signal comprising a plurality of data elements; analyzing characteristics of the first signal; receiving from a user of the terminal a second signal to be transmitted from the terminal; analyzing characteristics of the second signal to detect audio activity in the second signal; and applying a delay between receiving at the terminal and outputting from the terminal at least one of said plurality of data elements; and adjusting the delay based on the analyzed characteristics of the first signal and on the detection of audio activity in the second signal.Type: GrantFiled: February 22, 2013Date of Patent: September 6, 2016Assignee: SkypeInventors: Renat Vafin, Jonas Lindblom, Markus Vaalgamaa
-
Patent number: 9338473Abstract: A method of performing a rate-distortion optimization process comprising, for each of a plurality of target image portions to be encoded in each of a plurality of frames, selecting a preferred one of a set of encoding modes by optimizing a function comprising an estimate of distortion for the target image portion and a measure of bit rate required to encode the target image portion, wherein the estimate of distortion is based on source coding distortion and an estimate of a distortion that would be experienced due to possible loss over the channel; encoding the target image portion into the encoded video stream using the selected encoding mode; and transmitting the encoded video stream over the channel. The rate-distortion optimization process for a current one of the frames is performed in dependence on feedback received from the receiving terminal based on an earlier one of the frames.Type: GrantFiled: October 17, 2011Date of Patent: May 10, 2016Assignee: SkypeInventors: David Zhao, Mattias Nilsson, Renat Vafin, Andrei Jefremov, Sören Vang Andersen, Pontus Carlsson
-
Patent number: 9313526Abstract: The present invention provides a technique for performing one or more aspects of video coding such as quantization, intra prediction coding or inter prediction coding in dependence on a perceptual model taking into account human sensitivity to data in the video signal. The perceptual model may relate to spatial frequency, temporal frequency, contrast sensitivity, color sensitivity, a structural metric, and/or one or more parameters affecting perception such as motion in the video, the distance of a recipient user from the screen, and the size, aspect ratio or resolution of the screen of the recipient terminal.Type: GrantFiled: February 17, 2011Date of Patent: April 12, 2016Assignee: SkypeInventors: Lazar Bivolarsky, Renat Vafin, Mattias Nilsson, Soren Vang Andersen
-
Patent number: 9307265Abstract: A method comprising: encoding a video image at each of a plurality of frames, including by using inter frame encoding to encode at least portions of some of the frames, thereby generating an encoded video stream; transmitting the encoded video stream over a lossy channel to be decoded at a receiver to produce decoded video; and performing a recovery operation to refresh the encoding of the video image, cutting off error propagation that has occurred in the decoded video due to an effect of inter prediction in presence of loss over said channel; wherein said recovery operation is triggered by a report fed back from the receiver indicative of loss; and wherein the recovery operation is performed over a plural number of frames, refreshing the encoding of different partial frame regions at different respective frames.Type: GrantFiled: November 17, 2014Date of Patent: April 5, 2016Assignee: SkypeInventors: Mattias Nilsson, Renat Vafin, Soren Vang Andersen
-
Patent number: 9276606Abstract: Various embodiments provide a method for processing encoded data bits transmitted over a lossy communication channel. In some embodiments, the method receives the encoded data bits over the communication channel, the encoded data bits including redundant data units; decodes the encoded data bits at an error correction decoder, wherein the recovery of lost data is implemented at the error correction decoder using at least one of the redundant data units; determining if at least one data bit is unable to be recovered due to the decoder finding a plurality of candidate bit values for the at least one data bit; receives information relating to the transmitter; analyzing the plurality of candidate bit values to exclude at least one of the candidate bit values for the at least one data bit using information relating to the transmitter; and resolves the at least one data bit based on the analysis.Type: GrantFiled: November 1, 2012Date of Patent: March 1, 2016Assignee: Microsoft Technology Licensing, LLCInventors: Renat Vafin, Soren Vang Andersen, Mattias Nilsson
-
Patent number: 9246644Abstract: Methods, transmitter, receiver and computer program product for transmitting or receiving data of a real-time communication event, the data being transmitted from the transmitter to a jitter buffer of the receiver. At least one processing parameter describing how data is to be processed for transmission from the transmitter to the jitter buffer in the real-time communication event is determined at the transmitter. Data is processed for transmission from the transmitter to the jitter buffer in accordance with the determined at least one processing parameter. Control information based on the determined at least one processing parameter is transmitted from the transmitter to the receiver, wherein the control information is for use by the receiver to control a state of the jitter buffer. The processed data is transmitted from the transmitter to the jitter buffer of the receiver in the real-time communication event.Type: GrantFiled: January 5, 2015Date of Patent: January 26, 2016Assignee: Microsoft Technology Licensing, LLCInventors: Renat Vafin, Mattias Nilsson, Soren Vang Andersen, Andrei Jefremov
-
Patent number: 9166735Abstract: Correction data units for data packets of a data stream are generated. A correction data unit is based on a set of the data packets of the stream. The stream is transmitted over a lossy communication channel. A performance measure to be optimized is selected, which relates to the recovery of lost data packets of the stream. A coding requirement is determined. For the generation of the correction data units, it is determined, within the constraints of the coding requirement and based on previously generated correction data units, which of the data packets in the stream to include in the set on which the generation of the correction data unit is to be based to thereby optimize the selected performance measure. A generated correction data unit is generated based on a respective set of the data packets of the stream. The generated correction data units are included in the stream.Type: GrantFiled: November 14, 2011Date of Patent: October 20, 2015Assignee: SkypeInventors: Renat Vafin, Sören Vang Andersen, Mattias Nilsson
-
Patent number: 9143806Abstract: A video coding method includes for each target image portion to be encoded, selecting a preferred one of a set of encoding modes by optimizing a function comprising an estimate of distortion and a measure of bit rate required to encode the target image portion, the encoding modes comprising at least an intra frame mode and an inter frame mode; and transmitting the encoded video stream over a lossy channel. The estimate of distortion is based on a contribution from possible new loss over the channel comprising possible loss of the target block, and on a contribution from possible past loss over the channel comprising possible loss in a history of the encoded video stream upon which decoding of the target portion depends. The method includes accumulating the contribution from past loss over time, such that the estimate of distortion grows irrespective of the contribution from new loss.Type: GrantFiled: October 17, 2011Date of Patent: September 22, 2015Assignee: SkypeInventors: Mattias Nilsson, Renat Vafin, Soren Vang Andersen
-
Patent number: 9131248Abstract: A method of encoding an outgoing video stream comprising a plurality of frames, each frame comprising a plurality of image portions, the method including for each target image portion to be encoded, selecting a preferred one of a set of encoding modes by optimizing a function comprising an estimate of distortion and a measure of bit rate required to encode the target image portion; encoding the target image portion into the outgoing video stream using the selected encoding mode; and transmitting the encoded outgoing video stream over a lossy channel. The estimate of distortion comprises a first term representing source coding distortion, and a bias term representing an estimate of distortion that would be experienced due to loss over said channel. The bias term is determined based on a trained parameter trained based on a sample video stream.Type: GrantFiled: October 17, 2011Date of Patent: September 8, 2015Assignee: SkypeInventors: Mattias Nilsson, Renat Vafin, Soren Vang Andersen