Patents by Inventor David Yuheng Zhao
David Yuheng Zhao 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).
-
Publication number: 20190089755Abstract: Multiple data streams are transmitted from a transmitting device via an end-to-end or process-to-process channel to a receiving device. At the transmitting device a media data stream is generated. A maximum packet size for another data stream is determined based on a determined end-to-end or process-to-process bandwidth and using playout information pertaining to the media data, which conveys a desired playout rate of the media data. At the transmitting device, based on the determined maximum packet size, a plurality of data packets of the other data stream is generated, each having a packet size no more than the determined maximum. The media and other data streams are multiplexed onto the channel at the transmitting device, thereby transmitting both of the data streams from the transmitting device to the receiving device via the same channel.Type: ApplicationFiled: November 16, 2018Publication date: March 21, 2019Inventors: Sergey Sablin, Sergei Nikiforov, Matthieu Michel Jean-Alexis Moinard, Victor Miguel Barbero, David Yuheng Zhao, Mattias D. Nilsson
-
Patent number: 10177899Abstract: A receiver receives a first data stream and a second data stream from a transmitting device over a packet-based communication network, the first data stream being of a first media type (e.g. audio) and the second data stream being of a second media type (e.g. video). The first jitter buffer will buffer each of a plurality of portions of the first data stream as they are received via the receiver, and apply a de-jittering delay before outputting each portion of the first data stream (e.g. audio stream) to be played out through the receiving device. The jitter buffer controller receives information on the second data stream (e.g. video stream), and adapts the de-jittering delay of the first jitter buffer (e.g. audio jitter buffer) in dependence on the information on the second data stream (e.g. information on the video stream).Type: GrantFiled: February 19, 2014Date of Patent: January 8, 2019Assignee: Microsoft Technology Licensing, LLCInventors: Ermin Kozica, Wei Chen, David Yuheng Zhao, Christopher Asgaard Rödbro, Jesus de Vicente Peña
-
Patent number: 10165024Abstract: Multiple data streams are transmitted from a transmitting device via an end-to-end or process-to-process channel to a receiving device. At the transmitting device a media data stream is generated. A maximum packet size for another data stream is determined based on a determined end-to-end or process-to-process bandwidth and using playout information pertaining to the media data, which conveys a desired playout rate of the media data. At the transmitting device, based on the determined maximum packet size, a plurality of data packets of the other data stream is generated, each having a packet size no more than the determined maximum. The media and other data streams are multiplexed onto the channel at the transmitting device, thereby transmitting both of the data streams from the transmitting device to the receiving device via the same channel.Type: GrantFiled: April 29, 2016Date of Patent: December 25, 2018Assignee: Microsoft Technology Licensing, LLCInventors: Sergey Sablin, Sergei Nikiforov, Matthieu Michel Jean-Alexis Moinard, Victor Miguel Barbero, David Yuheng Zhao, Mattias D. Nilsson
-
Publication number: 20170126758Abstract: Multiple data streams are transmitted from a transmitting device via an end-to-end or process-to-process channel to a receiving device. At the transmitting device a media data stream is generated. A maximum packet size for another data stream is determined based on a determined end-to-end or process-to-process bandwidth and using playout information pertaining to the media data, which conveys a desired playout rate of the media data. At the transmitting device, based on the determined maximum packet size, a plurality of data packets of the other data stream is generated, each having a packet size no more than the determined maximum. The media and other data streams are multiplexed onto the channel at the transmitting device, thereby transmitting both of the data streams from the transmitting device to the receiving device via the same channel.Type: ApplicationFiled: April 29, 2016Publication date: May 4, 2017Applicant: Microsoft Technology Licensing, LLCInventors: Sergey Sablin, Sergei Nikiforov, Matthieu Michel Jean-Alexis Moinard, Victor Miguel Barbero, David Yuheng Zhao, Mattias D. Nilsson
-
Patent number: 9609321Abstract: A receiving apparatus comprises a receiver for receiving a video signal, an output for outputting the video signal to a screen, storage device or further terminal; and a concealment module for applying a concealment algorithm to a lost area of the video signal. The concealment module is configured to determine an estimate of concealment quality selectively directed toward a region of interest within the area in question, and based on this estimate to determine whether or not to apply the concealment algorithm.Type: GrantFiled: March 14, 2013Date of Patent: March 28, 2017Assignee: Microsoft Technology Licensing, LLCInventors: David Yuheng Zhao, Sergei Nikiforov, Konrad Hofbauer, Magnus Hemmendorff, Pontus Carlsson
-
Publication number: 20170070738Abstract: A transmitting device for generating a plurality of encoded portions of a video to be transmitted to a receiving device over a network configured to: receive an error message over a feedback channel from the receiving device indicating at least one of said plurality of encoded portions that has been lost at the receiving device; encode a recovery portion responsive to said receiving said error message; and transmit said recovery portion to the receiving device over said network; wherein said error message includes information pertaining to a decoded portion successfully decoded at the receiving device and said recovery portion is encoded relative to said decoded portion.Type: ApplicationFiled: September 8, 2015Publication date: March 9, 2017Inventors: Ming-Chieh Lee, Amy Lu, Pontus Carlsson, Mattias Dan Nilsson, Sergey Sablin, Sergey Silkin, David Yuheng Zhao, Magnus Hemmendorff, Sergei Nikiforov
-
Publication number: 20170070739Abstract: A transmitting device for generating a plurality of encoded portions of a video to be transmitted to a receiving device over a network configured to: receive an error message over a feedback channel from the receiving device indicating at least one of said plurality of encoded portions that has been lost at the receiving device; encode a recovery portion responsive to said receiving said error message; and transmit said recovery portion to the receiving device over said network; wherein said error message includes information pertaining to a decoded portion successfully decoded at the receiving device and said recovery portion is encoded relative to said decoded portion.Type: ApplicationFiled: September 8, 2015Publication date: March 9, 2017Inventors: Ming-Chieh Lee, Amy Lu, Pontus Carlsson, Mattias Dan Nilsson, Sergey Sablin, Sergey Silkin, David Yuheng Zhao, Magnus Hemmendorff, Sergei Nikiforov
-
Publication number: 20160100165Abstract: A device, computer program and method for encoding a video signal representing a video image of a scene captured by a camera. The device comprises a controller for receiving skeletal tracking information from a skeletal tracking algorithm relating to one or more skeletal features of a user when present in the scene, wherein the controller is configured to adapt a current value of one or more motion-related properties of the encoding in dependence on the skeletal tracking information as currently relating to the scene.Type: ApplicationFiled: December 3, 2014Publication date: April 7, 2016Inventor: David Yuheng Zhao
-
Patent number: 9307195Abstract: A user terminal for participating in video calls comprises: an encoder having a frame size, being the size in pixels at which it encodes frames of video; and a pre-processing stage which supplies a sequence of frames to the encoder at that frame size, each frame comprising at least an image region representing a source video image at a respective moment in time. The pre-processing stage is configured to supply at least some of the frames to the encoder in a modified form, by resizing the source video image to produce the image region of each modified frame with a size smaller than the frame size of the encoder, and combining with a border region such that the modified frame matches the frame size of the encoder. The encoder encodes the frames at the frame size and transmits them to a receiving terminal as part of a live video call.Type: GrantFiled: February 19, 2014Date of Patent: April 5, 2016Assignee: Microsoft Technology Licensing, LLCInventors: Pontus Carlsson, Magnus Hemmendorff, Konrad Hofbauer, Sergei Nikiforov, David Yuheng Zhao
-
Publication number: 20150149638Abstract: There is disclosed a resource allocation module configured to: allocate a first set of communication event resources for receiving communication event data at the computer device; allocate a second set of communication event resources for transmitting communication event data from the computer device; and reallocate resources from one of said sets to the other of said sets in dependence on an indication of the relative importance of the received communication event data compared to the transmitted communication event data. There is also provided a method and a computer program product.Type: ApplicationFiled: February 28, 2014Publication date: May 28, 2015Applicant: Microsoft CorporationInventors: David Yuheng Zhao, Markus Vaalgamaa, Mattias Nilsson, Yariv Trablesi
-
Publication number: 20150110134Abstract: A receiver receives a first data stream and a second data stream from a transmitting device over a packet-based communication network, the first data stream being of a first media type (e.g. audio) and the second data stream being of a second media type (e.g. video). The first jitter buffer will buffer each of a plurality of portions of the first data stream as they are received via the receiver, and apply a de-jittering delay before outputting each portion of the first data stream (e.g. audio stream) to be played out through the receiving device. The jitter buffer controller receives information on the second data stream (e.g. video stream), and adapts the de-jittering delay of the first jitter buffer (e.g. audio jitter buffer) in dependence on the information on the second data stream (e.g. information on the video stream).Type: ApplicationFiled: February 19, 2014Publication date: April 23, 2015Applicant: MICROSOFT CORPORATIONInventors: Ermin Kozica, Wei Chen, David Yuheng Zhao, Christoffer Asgaard Rödbro, Jesus de Vicente Peña
-
Publication number: 20150109406Abstract: A user terminal for participating in video calls comprises: an encoder having a frame size, being the size in pixels at which it encodes frames of video; and a pre-processing stage which supplies a sequence of frames to the encoder at that frame size, each frame comprising at least an image region representing a source video image at a respective moment in time. The pre-processing stage is configured to supply at least some of the frames to the encoder in a modified form, by resizing the source video image to produce the image region of each modified frame with a size smaller than the frame size of the encoder, and combining with a border region such that the modified frame matches the frame size of the encoder. The encoder encodes the frames at the frame size and transmits them to a receiving terminal as part of a live video call.Type: ApplicationFiled: February 19, 2014Publication date: April 23, 2015Applicant: Microsoft CorporationInventors: Pontus Carlsson, Magnus Hemmendorff, Konrad Hofbauer, Sergei Nikiforov, David Yuheng Zhao
-
Publication number: 20140211028Abstract: Method, device and computer program product for stabilizing a video signal. A plurality of frames of the video signal are captured using a camera. A motion sensor associated with the camera is used to generate a plurality of samples representing motion of the camera. The samples are used to determine a displacement of the camera between a first time and a second time, wherein the first time corresponds to an exposure time midpoint of a first frame of the video signal and the second time corresponds to an exposure time midpoint of a second frame of the video signal. The determined displacement is used to compensate for motion in the video signal between the first and second frames caused by the motion of the camera, to thereby stabilize the video signal.Type: ApplicationFiled: April 1, 2014Publication date: July 31, 2014Applicant: Microsoft CorporationInventors: Andrei Jefremov, David Yuheng Zhao, Pontus Carlsson