Patents by Inventor Shyam Sadhwani

Shyam Sadhwani 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: 10205966
    Abstract: Syntax structures that indicate the completion of coded regions of pictures are described. For example, a syntax structure in an elementary bitstream indicates the completion of a coded region of a picture. The syntax structure can be a type of network abstraction layer unit, a type of supplemental enhancement information message or another syntax structure. For example, a media processing tool such as an encoder can detect completion of a coded region of a picture, then output, in a predefined order in an elementary bitstream, syntax structure(s) that contain the coded region as well as a different syntax structure that indicates the completion of the coded region. Another media processing tool such as a decoder can receive, in a predefined order in an elementary bitstream, syntax structure(s) that contain a coded region of a picture as well as a different syntax structure that indicates the completion of the coded region.
    Type: Grant
    Filed: September 22, 2017
    Date of Patent: February 12, 2019
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Yongjun Wu, Lihua Zhu, Shyam Sadhwani, Gary J. Sullivan
  • Publication number: 20190045237
    Abstract: A media processing tool adds custom data to an elementary media bitstream or media container. The custom data indicates nominal range of samples of media content, but the meaning of the custom data is not defined in the codec format or media container format. For example, the custom data indicates the nominal range is full range or limited range. For playback, a media processing tool parses the custom data and determines an indication of media content type. A rendering engine performs color conversion operations whose logic changes based at least in part on the media content type. In this way, a codec format or media container format can in effect be extended to support full nominal range media content as well as limited nominal range media content, and hence preserve full or correct color fidelity, while maintaining backward compatibility and conformance with the codec format or media container format.
    Type: Application
    Filed: August 10, 2018
    Publication date: February 7, 2019
    Applicant: Microsoft Technology Licensing, LLC
    Inventors: Yongjun Wu, Naveen Thumpudi, Shyam Sadhwani
  • Patent number: 10200707
    Abstract: Aspects extend to methods, systems, and computer program products for video bit stream decoding. Aspects include flexible definition and detection of surface alignment requirements for decoding hardware. Surface alignment requirements can be handled by render cropping (e.g., cropping at a video output device), through adjustment and modification of original syntax values in a video bit stream and relaxed media type negotiation in a software (host) decoder. Resolution changes can be hidden with the aligned surface allocation when applicable. Performance can be improved and power consumption reduced by using hidden resolution changes.
    Type: Grant
    Filed: October 29, 2015
    Date of Patent: February 5, 2019
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Yongjun Wu, Shyam Sadhwani, Bakkama Srinath Reddy
  • Publication number: 20180341777
    Abstract: Techniques are described for communicating encoded data using start code emulation prevention. The described techniques include obtaining at least one partially encrypted packet, identifying at least one portion of the packet that is unencrypted, and determining that the identified unencrypted portion(s) emulates a start code. Start code emulation prevention data or emulation prevention bytes (EPBs) may be inserted into only the encrypted portion of the packet. The modified packet may be communicated to another device/storage, along with an indication of which portion(s) of the packet are unencrypted. Upon receiving the packet and indication, the receiving device may identify and remove the EPBs in the identified unencrypted portion(s) of the packet, and decrypt the packet to recover the data. In some aspects, upon identifying the indication, the receiving device may only search for EPBs in the unencrypted portion(s) of the packet, thus yielding a more efficient start code emulation prevention process.
    Type: Application
    Filed: July 18, 2018
    Publication date: November 29, 2018
    Inventors: Yongjun WU, Shyam SADHWANI, Robert K. HUGHES
  • Patent number: 10129566
    Abstract: Disclosed herein are innovations in decoding compressed video media data. The disclosed innovations facilitate decoding operations with improved computational efficiency, faster speeds, reduced power, reduced memory usage, and/or reduced latency. In one embodiment, for example, an encoded bitstream of video media data is input from an external video content provider, the encoded bitstream being encoded according to a video codec standard. A decoder is then configured to decode the encoded bitstream based at least in part on supplemental information that identifies a property of the encoded bitstream but that is supplemental to the encoded bitstream (e.g., supplemental information that is not part of the encoded bitstream or its associated media container and that is specific (or related) to the application for which the bitstream is used and/or the standard by which the bitstream is encoded and/or encrypted).
    Type: Grant
    Filed: May 22, 2015
    Date of Patent: November 13, 2018
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Shyam Sadhwani, Yongjun Wu, Wenbo Zhang, Sudhakar V. Prabhu
  • Patent number: 10075748
    Abstract: A media processing tool adds custom data to an elementary media bitstream or media container. The custom data indicates nominal range of samples of media content, but the meaning of the custom data is not defined in the codec format or media container format. For example, the custom data indicates the nominal range is full range or limited range. For playback, a media processing tool parses the custom data and determines an indication of media content type. A rendering engine performs color conversion operations whose logic changes based at least in part on the media content type. In this way, a codec format or media container format can in effect be extended to support full nominal range media content as well as limited nominal range media content, and hence preserve full or correct color fidelity, while maintaining backward compatibility and conformance with the codec format or media container format.
    Type: Grant
    Filed: September 22, 2016
    Date of Patent: September 11, 2018
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Yongjun Wu, Naveen Thumpudi, Shyam Sadhwani
  • Publication number: 20180234686
    Abstract: Video frames of a higher-resolution chroma sampling format such as YUV 4:4:4 are packed into video frames of a lower-resolution chroma sampling format such as YUV 4:2:0 for purposes of video encoding. For example, sample values for a frame in YUV 4:4:4 format are packed into two frames in YUV 4:2:0 format. After decoding, the video frames of the lower-resolution chroma sampling format can be unpacked to reconstruct the video frames of the higher-resolution chroma sampling format. In this way, available encoders and decoders operating at the lower-resolution chroma sampling format can be used, while still retaining higher resolution chroma information. In example implementations, frames in YUV 4:4:4 format are packed into frames in YUV 4:2:0 format such that geometric correspondence is maintained between Y, U and V components for the frames in YUV 4:2:0 format.
    Type: Application
    Filed: April 17, 2018
    Publication date: August 16, 2018
    Applicant: Microsoft Technology Licensing, LLC
    Inventors: Lihua Zhu, Sridhar Sankuratri, B. Anil Kumar, Yongjun Wu, Sandeep Kanumuri, Shyam Sadhwani, Gary J. Sullivan
  • Patent number: 10051290
    Abstract: Multi-threaded implementations of deblock filtering improve encoding and/or decoding efficiency. For example, a video encoder or decoder partitions a video picture into multiple segments. The encoder/decoder selects between multiple different patterns for splitting operations of deblock filtering into multiple passes. The encoder/decoder organizes the deblock filtering as multiple tasks, where a given task includes the operations of one of the passes for one of the segments. The encoder/decoder then performs the tasks with multiple threads. The performance of the tasks is constrained by task dependencies which, in general, are based at least in part on which lines of the picture are in the respective segments and which deblock filtering operations are in the respective passes. The task dependencies can include a cross-pass, cross-segment dependency between a given pass of a given segment and an adjacent pass of an adjacent segment.
    Type: Grant
    Filed: April 30, 2015
    Date of Patent: August 14, 2018
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Wenfeng Gao, Yongjun Wu, Shyam Sadhwani
  • Patent number: 10032034
    Abstract: Techniques are described for communicating encoded data using start code emulation prevention. The described techniques include obtaining at least one partially encrypted packet, identifying at least one portion of the packet that is unencrypted, and determining that the identified unencrypted portion(s) emulates a start code. Start code emulation prevention data or emulation prevention bytes (EPBs) may be inserted into only the encrypted portion of the packet. The modified packet may be communicated to another device/storage, along with an indication of which portion(s) of the packet are unencrypted. Upon receiving the packet and indication, the receiving device may identify and remove the EPBs in the identified unencrypted portion(s) of the packet, and decrypt the packet to recover the data. In some aspects, upon identifying the indication, the receiving device may only search for EPBs in the unencrypted portion(s) of the packet, thus yielding a more efficient start code emulation prevention process.
    Type: Grant
    Filed: February 19, 2016
    Date of Patent: July 24, 2018
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Yongjun Wu, Shyam Sadhwani, Robert K. Hughes
  • Publication number: 20180174619
    Abstract: Innovations in reconstruction and rendering of panoramic video are described, including the use of a platform rendering engine to provide a screen projection based on a view direction specified for an application through an interface. For example, based at least in part on the view direction specified for the application, at least a section of panoramic video in an input projection is identified. At least some of sample values of the at least a section of the picture of panoramic video in the input projection are mapped to a screen projection. The screen projection is output for display to a buffer for the application. Thus, an application may use panoramic video, including updating a view direction, without itself having to render a screen projection for the panoramic video.
    Type: Application
    Filed: December 19, 2016
    Publication date: June 21, 2018
    Applicant: Microsoft Technology Licensing, LLC
    Inventors: Dibyajyoti Roy, Vladislav Alexandrov, David H. Mebane, Aaron Oneal, Matthew Wozniak, Bakkama Srinath Reddy, Shyam Sadhwani
  • Patent number: 10003811
    Abstract: A graphics pipeline with components that process frames by portions (e.g., pixels or rows) or slices to reduce end-to-end latency. Components of a pipeline process portions of a same frame at the same time. For example, as graphics data for a frame is being generated and fills a framebuffer, once a certain portion of video data less than the whole frame (slice or sub-frame) becomes available, before the corresponding frame is finished filling the framebuffer, the next pipeline component after the framebuffer, for instance a video processor for color conversion or an encoder, begins to process the portion of the frame. While one portion of a frame is accumulating in the frame buffer, another portion of the same frame is being encoded by an encoder, and another portion of the frame might be being packaged by a multiplexer, and a network socket might start streaming the multiplexed portion.
    Type: Grant
    Filed: September 1, 2015
    Date of Patent: June 19, 2018
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Shyam Sadhwani, Sudhakar Prabhu, Carol Greenbaum, Saswata Mandal, Yongjun Wu
  • Patent number: 9998745
    Abstract: Aspects extend to methods, systems, and computer program products for transforming video bit streams for parallel decoding. Aspects of the invention can be used to break segment coding structure limitations in video bit streams. Aspects can be used to maximize parallelization of video decoding tasks, including motion compensation processing, to more efficiently utilize multi-core and multi-processor computer systems. Multiple portions of intra-segment data can be processed in parallel to speed up single frame processing. Video communication latency and memory requirements are also reduced.
    Type: Grant
    Filed: October 29, 2015
    Date of Patent: June 12, 2018
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Yuechuan Li, Yongjun Wu, Shyam Sadhwani, Bakkama Srinath Reddy, Matthew R. Wozniak, Victor V. Cherepanov
  • Publication number: 20180152663
    Abstract: Innovations in reconstruction and rendering of panoramic video are described. For example, a view-dependent operation controller of a panoramic video playback system receives an indication of a view direction for an application and, based at least in part on the view direction, identifies a section of a picture of panoramic video in an input projection. The view-dependent operation controller limits operations of a color converter, video decoder, and/or streaming controller to the identified section. In this way, the panoramic video playback system can avoid performing operations to reconstruct sections of the picture of panoramic video that will not be viewed. As another example, a mapper of a panoramic video playback system re-projects at least some sample values in an input flat projection towards a center location for a view direction, producing an output flat projection, which an application can use to generate one or more screen projections.
    Type: Application
    Filed: December 19, 2016
    Publication date: May 31, 2018
    Applicant: Microsoft Technology Licensing, LLC
    Inventors: Matthew Wozniak, Bakkama Srinath Reddy, Vladislav Alexandrov, David H. Mebane, Dibyajyoti Roy, Shyam Sadhwani
  • Publication number: 20180152682
    Abstract: Innovations in reconstruction and rendering of panoramic video are described. For example, a view-dependent operation controller of a panoramic video playback system receives an indication of a view direction for an application and, based at least in part on the view direction, identifies a section of a picture of panoramic video in an input projection. The view-dependent operation controller limits operations of a color converter, video decoder, and/or streaming controller to the identified section. In this way, the panoramic video playback system can avoid performing operations to reconstruct sections of the picture of panoramic video that will not be viewed. As another example, a mapper of a panoramic video playback system re-projects at least some sample values in an input flat projection towards a center location for a view direction, producing an output flat projection, which an application can use to generate one or more screen projections.
    Type: Application
    Filed: December 19, 2016
    Publication date: May 31, 2018
    Applicant: Microsoft Technology Licensing, LLC
    Inventors: Matthew Wozniak, Bakkama Srinath Reddy, Vladislav Alexandrov, David H. Mebane, Dibyajyoti Roy, Shyam Sadhwani
  • Patent number: 9979983
    Abstract: Disclosed herein are innovations in decoding compressed video media data. The disclosed innovations facilitate decoding operations with improved computational efficiency, faster speeds, reduced power, reduced memory usage, and/or reduced latency. In one embodiment, for example, an encoded bitstream of video media data is input from an external video content provider, the encoded bitstream being encoded according to a video codec standard. A decoder is then configured to decode the encoded bitstream based at least in part on supplemental information that identifies a property of the encoded bitstream but that is supplemental to the encoded bitstream (e.g., supplemental information that is not part of the encoded bitstream or its associated media container and that is specific (or related) to the application for which the bitstream is used and/or the standard by which the bitstream is encoded and/or encrypted).
    Type: Grant
    Filed: May 22, 2015
    Date of Patent: May 22, 2018
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Shyam Sadhwani, Yongjun Wu, Wenbo Zhang, Sudhakar V. Prabhu
  • Patent number: 9979960
    Abstract: Video frames of a higher-resolution chroma sampling format such as YUV 4:4:4 are packed into video frames of a lower-resolution chroma sampling format such as YUV 4:2:0 for purposes of video encoding. For example, sample values for a frame in YUV 4:4:4 format are packed into two frames in YUV 4:2:0 format. After decoding, the video frames of the lower-resolution chroma sampling format can be unpacked to reconstruct the video frames of the higher-resolution chroma sampling format. In this way, available encoders and decoders operating at the lower-resolution chroma sampling format can be used, while still retaining higher resolution chroma information. In example implementations, frames in YUV 4:4:4 format are packed into frames in YUV 4:2:0 format such that geometric correspondence is maintained between Y, U and V components for the frames in YUV 4:2:0 format.
    Type: Grant
    Filed: September 13, 2013
    Date of Patent: May 22, 2018
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Lihua Zhu, Sridhar Sankuratri, B. Anil Kumar, Yongjun Wu, Sandeep Kanumuri, Shyam Sadhwani, Gary J. Sullivan
  • Patent number: 9973562
    Abstract: Techniques are described for split processing of streaming segments in which processing operations are split between a source component and a decoder component. For example, the source component can perform operations for receiving a streaming segment, demultiplexing the streaming segment to separate a video content bit stream, scanning the video content bit stream to find a location at which decoding can begin (e.g., scanning up to a first decodable I-picture, for which header parameter sets are available for decoding), and send the video content bit stream to the decoder component beginning at the location (e.g., the first decodable I-picture). The decoder component can begin decoding at the identified location (e.g., the first decodable I-picture). The decoder component can also discard subsequent pictures that reference a reference picture not present in the video content bit stream (e.g., when decoding starts with a new streaming segment).
    Type: Grant
    Filed: April 17, 2015
    Date of Patent: May 15, 2018
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Yongjun Wu, Shyam Sadhwani, Wenbo Zhang, Sudhakar V. Prabhu
  • Patent number: 9967577
    Abstract: A host decoder and accelerator communicate across an acceleration interface. The host decoder receives at least part of a bitstream for video, and it manages certain decoding operations of the accelerator across the acceleration interface. The accelerator receives data from the host decoder across the acceleration interface, then performs decoding operations. For a given frame, settings based on an uncompressed frame header can be transferred in a different buffer of the acceleration interface than a compressed frame header and compressed frame data. Among other features, the host decoder can assign settings used by the accelerator that override values of bitstream syntax elements, can assign surface index values used by the accelerator to update reference frame buffers, and can handle skipped frames without invoking the accelerator. Among other features, the accelerator can use surface index values to update reference frame buffers, and can handle changes in spatial resolution at non-key frames.
    Type: Grant
    Filed: August 31, 2015
    Date of Patent: May 8, 2018
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Yongjun Wu, Shyam Sadhwani, Abo Talib Mahfoodh
  • Publication number: 20180063543
    Abstract: Approaches to selectively using start code emulation prevention (“SCEP”) on encoded data for media content are described herein. For example, a media encoder selectively performs SCEP processing on encoded data for media content, and sets a value of a syntax element that indicates whether or not to perform SCEP processing on the encoded data. The encoder stores the encoded data for output as part of a bitstream, where the syntax element is signaled in association with the bitstream. A media decoder receives the encoded data, determines, from the value of the syntax element, whether or not to perform SCEP processing on the encoded data, and selectively performs SCEP processing on the encoded data. In this way, the computational cost of scanning operations for SCEP processing can be avoided in many scenarios, and bit rate increases due to insertion of SCPE bytes can be limited.
    Type: Application
    Filed: August 31, 2016
    Publication date: March 1, 2018
    Applicant: Microsoft Technology Licensing, LLC
    Inventors: Srinath Reddy, Shyam Sadhwani, Victor Cherepanov
  • Patent number: 9883194
    Abstract: In a video processing system including a video decoder, to handle frequent changes in the bit rate of an encoded bitstream, a video decoder can be configured to process a change in bit rates without reinitializing. The video decoder can be configured to reduce memory utilization. The video decoder can be configured both to process a change in bit rate without reinitializing while reducing memory utilization. In one implementation, the video processing system can include an interface between an application running on a host processor and the video decoder which allows the video decoder to communicate with the host application about the configuration of the video decoder.
    Type: Grant
    Filed: June 15, 2015
    Date of Patent: January 30, 2018
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Yongjun Wu, Haoyun Wu, Shyam Sadhwani, Sudhakar Prabhu, Glenn Evans