Patents by Inventor Sergey Sablin

Sergey Sablin 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: 10313685
    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: Grant
    Filed: September 8, 2015
    Date of Patent: June 4, 2019
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Ming-Chieh Lee, Amy Lu, Pontus Carlsson, Mattias Dan Nilsson, Sergey Sablin, Sergey Silkin, David Yuheng Zhao, Magnus Hemmendorff, Sergei Nikiforov
  • Publication number: 20190098310
    Abstract: Disclosed herein are exemplary embodiments of innovations in the area of encoding pictures or portions of pictures and determining whether and how certain encoding operations should be performed and flagged for performance by the decoder in the bitstream. In particular examples, various implementations for selectively encoding picture portions (e.g., blocks) in a skip mode (e.g., as in the skip mode of the H.265/HEVC standard) are disclosed. Embodiments of the disclosed techniques can be used to improve encoder efficiency, decrease overall encoder resource usage, and/or improve encoder speed. Such embodiments can be used in encoder modes in which efficient, fast encoder performance is desired (e.g., during encoding of live events, such as video conferencing).
    Type: Application
    Filed: November 19, 2018
    Publication date: March 28, 2019
    Applicant: Microsoft Technology Licensing, LLC
    Inventors: You Zhou, Sergey Sablin, Chih-Lung Lin, Ming-Chieh Lee
  • 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: 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
  • Patent number: 10136132
    Abstract: Disclosed herein are exemplary embodiments of innovations in the area of encoding pictures or portions of pictures and determining whether and how certain encoding operations should be performed and flagged for performance by the decoder in the bitstream. In particular examples, various implementations for selectively encoding picture portions (e.g., blocks) in a skip mode (e.g., as in the skip mode of the H.265/HEVC standard) are disclosed. Embodiments of the disclosed techniques can be used to improve encoder efficiency, decrease overall encoder resource usage, and/or improve encoder speed. Such embodiments can be used in encoder modes in which efficient, fast encoder performance is desired (e.g., during encoding of live events, such as video conferencing).
    Type: Grant
    Filed: July 21, 2015
    Date of Patent: November 20, 2018
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: You Zhou, Sergey Sablin, Chih-Lung Lin, Ming-Chieh Lee
  • Publication number: 20180109806
    Abstract: A format for use in encoding moving image data, comprising: a sequence of frames including plurality of the frames in which at least a region is encoded using motion estimation; a respective set of motion vector values representing motion vectors of the motion estimation for each respective one of these frames or each respective one of one or more regions within each of such frames; and at least one respective indicator associated with each of the respective frames or regions, indicating whether the respective motion vector values of the respective frame or region are encoded at a first resolution or a second resolution.
    Type: Application
    Filed: September 21, 2017
    Publication date: April 19, 2018
    Applicant: Microsoft Technology Licensing, LLC
    Inventors: You Zhou, Sergey Silkin, Sergey Sablin, Chih-Lung Lin, Ming-Chieh Lee, Gary J. Sullivan
  • Patent number: 9942560
    Abstract: An input of an encoder receives moving image data comprising a sequence of frames to be encoded, each frame comprising a plurality of blocks in two dimensions with each block comprising a plurality of pixels in those two dimensions. A motion prediction module performs encoding by, for at least part of each of a plurality of said frames, coding each block relative to a respective reference portion of another frame of the sequence, with the respective reference portion being offset from the block by a respective motion vector. According to the present disclosure, the moving image data of this plurality of frames comprises a screen capture stream, and the motion prediction module is configured to restrict each of the motion vectors of the screen capture stream to an integer number of pixels in at least one of said dimensions.
    Type: Grant
    Filed: October 31, 2014
    Date of Patent: April 10, 2018
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Sergey Silkin, Sergey Sablin, You Zhou, Chih-Lung Lin, Ming-Chieh Lee
  • Publication number: 20180077421
    Abstract: Video data is received at a decoding device. An encoded first frame of the video data is received with a current frame description for the first frame comprising: an identifier of the first frame, and an indicator of a storage location at the receiving device for the first frame and its frame identifier. An encoded second frame of the video data is also received with at least one reference frame description for the second frame comprising: a reference frame identifier, and an indicator of said storage location. This allows the decoding device to check that the correct reference frame for decoding the second frame is stored thereat. Corresponding encoding operations are also disclosed.
    Type: Application
    Filed: December 13, 2016
    Publication date: March 15, 2018
    Applicant: Microsoft Technology Licensing, LLC
    Inventors: Sergey Sablin, Adriana Dumitras, Gary J. Sullivan
  • Patent number: 9774881
    Abstract: A format for use in encoding moving image data, comprising: a sequence of frames including plurality of the frames in which at least a region is encoded using motion estimation; a respective set of motion vector values representing motion vectors of the motion estimation for each respective one of these frames or each respective one of one or more regions within each of such frames; and at least one respective indicator associated with each of the respective frames or regions, indicating whether the respective motion vector values of the respective frame or region are encoded at a first resolution or a second resolution.
    Type: Grant
    Filed: October 31, 2014
    Date of Patent: September 26, 2017
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: You Zhou, Sergey Silkin, Sergey Sablin, Chih-Lung Lin, Ming-Chieh Lee, Gary J. Sullivan
  • Patent number: 9762799
    Abstract: Method, device and computer program product for stabilizing a received video signal. A plurality of frames of the video signal is captured using a camera. The video signal is transmitted as an encoded bit stream. Displacement of the camera between successive frames is determined from a motion indication in the bit stream. The determined displacement is used to compensate for motion in the video signal between successive frames caused by the motion of the camera, to thereby stabilize the video signal.
    Type: Grant
    Filed: December 29, 2011
    Date of Patent: September 12, 2017
    Assignee: Skype
    Inventors: Pontus Carlsson, Andrei Jefremov, Sergey Sablin, David Zhao
  • 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
  • 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: 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: 20170026645
    Abstract: Disclosed herein are exemplary embodiments of innovations in the area of encoding pictures or portions of pictures and determining whether and how certain encoding operations should be performed and flagged for performance by the decoder in the bitstream. In particular examples, various implementations for selectively encoding picture portions (e.g., blocks) in a skip mode (e.g., as in the skip mode of the H.265/HEVC standard) are disclosed. Embodiments of the disclosed techniques can be used to improve encoder efficiency, decrease overall encoder resource usage, and/or improve encoder speed. Such embodiments can be used in encoder modes in which efficient, fast encoder performance is desired (e.g., during encoding of live events, such as video conferencing).
    Type: Application
    Filed: July 21, 2015
    Publication date: January 26, 2017
    Applicant: MICROSOFT TECHNOLOGY LICENSING, LLC
    Inventors: You Zhou, Sergey Sablin, Chih-Lung Lin, Ming-Chieh Lee
  • Publication number: 20160373739
    Abstract: The computational complexity of video encoding is reduced by selectively skipping certain evaluation stages when deciding whether to use inter-picture prediction or intra-picture prediction for a unit of a picture. For example, a video encoder receives a current picture of a video sequence and encodes the current picture. As part of the encoding, for a current unit (e.g., coding unit, macroblock) of the current picture, the encoder can skip time-consuming evaluation of intra-picture prediction modes for blocks of the current unit in situations in which motion compensation for the current unit is already expected to provide effective rate-distortion performance, and use of intra-picture prediction is unlikely to improve performance. In particular, evaluation of the intra-picture prediction modes for blocks of the current unit can be skipped when the current unit has little or no movement and intra-picture prediction has not been promising for the collocated unit in the previous picture.
    Type: Application
    Filed: June 16, 2015
    Publication date: December 22, 2016
    Applicant: Microsoft Technology Licensing, LLC
    Inventors: Thomas W. Holcomb, Chih-Lung Lin, You Zhou, Ming-Chieh Lee, Sergey Sablin
  • Publication number: 20150195557
    Abstract: An input of an encoder receives moving image data comprising a sequence of frames to be encoded, each frame comprising a plurality of blocks in two dimensions with each block comprising a plurality of pixels in those two dimensions. A motion prediction module performs encoding by, for at least part of each of a plurality of said frames, coding each block relative to a respective reference portion of another frame of the sequence, with the respective reference portion being offset from the block by a respective motion vector. According to the present disclosure, the moving image data of this plurality of frames comprises a screen capture stream, and the motion prediction module is configured to restrict each of the motion vectors of the screen capture stream to an integer number of pixels in at least one of said dimensions.
    Type: Application
    Filed: October 31, 2014
    Publication date: July 9, 2015
    Inventors: Sergey Silkin, Sergey Sablin, You Zhou, Chih-Lung Lin, Ming-Chieh Lee
  • Publication number: 20150195527
    Abstract: A format for use in encoding moving image data, comprising: a sequence of frames including plurality of the frames in which at least a region is encoded using motion estimation; a respective set of motion vector values representing motion vectors of the motion estimation for each respective one of these frames or each respective one of one or more regions within each of such frames; and at least one respective indicator associated with each of the respective frames or regions, indicating whether the respective motion vector values of the respective frame or region are encoded at a first resolution or a second resolution.
    Type: Application
    Filed: October 31, 2014
    Publication date: July 9, 2015
    Inventors: You Zhou, Sergey Silkin, Sergey Sablin, Chih-Lung Lin, Ming-Chieh Lee, Gary J. Sullivan
  • Publication number: 20140307771
    Abstract: An apparatus for encoding video data, the apparatus comprising a compliance module configured to compare a resource requirement associated with encoding video data to form at least part of an encoded frame using a standard encoding mode with an acceptable resource level and an encoder configured to, responsive to a determination that the resource requirement will exceed the acceptable resource level, form the at least part of an encoded frame by encoding some of the video data using the standard encoding mode and filling a remainder of the at least part of the encoded frame with data that is associated with a lower resource usage than data generated using the standard encoding mode.
    Type: Application
    Filed: June 20, 2013
    Publication date: October 16, 2014
    Inventors: Magnus Hemmendorff, David Zhao, Sergey Sablin, Pontus Carlsson, Konrad Hofbauer, Sergei Nikiforov
  • Publication number: 20130259114
    Abstract: The invention relates to a method of encoding a video stream comprising, receiving a video signal comprising a plurality of frames, each frame comprising one or more portion of video data displaying to a user a video image derived from the video signal; receiving from the user selection of at least one region in the video image, the region represented by a portion of video data; and encoding the video signal, said encoding comprising encoding the portion of video data corresponding to the at least one selected region at a higher quality level than other portions of the video data in the video stream.
    Type: Application
    Filed: June 28, 2012
    Publication date: October 3, 2013
    Inventors: Pontus Carlsson, Andrei Jefremov, Sergey Sablin, David Zhao
  • Publication number: 20130101030
    Abstract: In an embodiment, a method of transmitting video data includes at an encoder encoding the video data as a plurality of frames, including reference frames and intermediate frames, at least some of which are encoded based on multiple reference frames; at the encoder maintaining for each frame a current list of reference frames; and transmitting the plurality of frames, each frame being transmitted in association with a current list of reference frames for that frame.
    Type: Application
    Filed: December 30, 2011
    Publication date: April 25, 2013
    Inventors: Pontus Carlsson, Andrei Jefremov, Sergey Sablin, David Zhao