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: 20190089755
    Abstract: 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: Application
    Filed: November 16, 2018
    Publication date: March 21, 2019
    Inventors: Sergey Sablin, Sergei Nikiforov, Matthieu Michel Jean-Alexis Moinard, Victor Miguel Barbero, David Yuheng Zhao, Mattias D. Nilsson
  • Patent number: 10177899
    Abstract: 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: Grant
    Filed: February 19, 2014
    Date of Patent: January 8, 2019
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Ermin Kozica, Wei Chen, David Yuheng Zhao, Christopher Asgaard Rödbro, Jesus de Vicente Peña
  • Patent number: 10165024
    Abstract: 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: Grant
    Filed: April 29, 2016
    Date of Patent: December 25, 2018
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Sergey Sablin, Sergei Nikiforov, Matthieu Michel Jean-Alexis Moinard, Victor Miguel Barbero, David Yuheng Zhao, Mattias D. Nilsson
  • Publication number: 20170126758
    Abstract: 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: Application
    Filed: April 29, 2016
    Publication date: May 4, 2017
    Applicant: Microsoft Technology Licensing, LLC
    Inventors: Sergey Sablin, Sergei Nikiforov, Matthieu Michel Jean-Alexis Moinard, Victor Miguel Barbero, David Yuheng Zhao, Mattias D. Nilsson
  • Patent number: 9609321
    Abstract: 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: Grant
    Filed: March 14, 2013
    Date of Patent: March 28, 2017
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: David Yuheng Zhao, Sergei Nikiforov, Konrad Hofbauer, Magnus Hemmendorff, Pontus Carlsson
  • Publication number: 20170070738
    Abstract: 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: Application
    Filed: September 8, 2015
    Publication date: March 9, 2017
    Inventors: Ming-Chieh Lee, Amy Lu, Pontus Carlsson, Mattias Dan Nilsson, Sergey Sablin, Sergey Silkin, David Yuheng Zhao, Magnus Hemmendorff, Sergei Nikiforov
  • Publication number: 20170070739
    Abstract: 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: Application
    Filed: September 8, 2015
    Publication date: March 9, 2017
    Inventors: Ming-Chieh Lee, Amy Lu, Pontus Carlsson, Mattias Dan Nilsson, Sergey Sablin, Sergey Silkin, David Yuheng Zhao, Magnus Hemmendorff, Sergei Nikiforov
  • Publication number: 20160100165
    Abstract: 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: Application
    Filed: December 3, 2014
    Publication date: April 7, 2016
    Inventor: David Yuheng Zhao
  • Patent number: 9307195
    Abstract: 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: Grant
    Filed: February 19, 2014
    Date of Patent: April 5, 2016
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Pontus Carlsson, Magnus Hemmendorff, Konrad Hofbauer, Sergei Nikiforov, David Yuheng Zhao
  • Publication number: 20150149638
    Abstract: 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: Application
    Filed: February 28, 2014
    Publication date: May 28, 2015
    Applicant: Microsoft Corporation
    Inventors: David Yuheng Zhao, Markus Vaalgamaa, Mattias Nilsson, Yariv Trablesi
  • Publication number: 20150110134
    Abstract: 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: Application
    Filed: February 19, 2014
    Publication date: April 23, 2015
    Applicant: MICROSOFT CORPORATION
    Inventors: Ermin Kozica, Wei Chen, David Yuheng Zhao, Christoffer Asgaard Rödbro, Jesus de Vicente Peña
  • Publication number: 20150109406
    Abstract: 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: Application
    Filed: February 19, 2014
    Publication date: April 23, 2015
    Applicant: Microsoft Corporation
    Inventors: Pontus Carlsson, Magnus Hemmendorff, Konrad Hofbauer, Sergei Nikiforov, David Yuheng Zhao
  • Publication number: 20140211028
    Abstract: 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: Application
    Filed: April 1, 2014
    Publication date: July 31, 2014
    Applicant: Microsoft Corporation
    Inventors: Andrei Jefremov, David Yuheng Zhao, Pontus Carlsson