Patents by Inventor Yongjun Wu
Yongjun Wu 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: 9589540Abstract: A battery operated device, having a display with two or more available refresh rates, has its refresh rate selected so as to match the video frame rate of video data played back on the display. This selection is made by coordinating the resources in the device that are used to process the video from its reception through to its display.Type: GrantFiled: December 5, 2011Date of Patent: March 7, 2017Assignee: Microsoft Technology Licensing, LLCInventors: Yongjun Wu, Shyam Sadhwani, Naveen Thumpudi, Stephen Estrop, Glenn Evans
-
Publication number: 20170064320Abstract: 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: ApplicationFiled: September 1, 2015Publication date: March 2, 2017Inventors: Shyam Sadhwani, Sudhakar Prabhu, Carol Greenbaum, Saswata Mandal, Yongjun Wu
-
Publication number: 20170064313Abstract: 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: ApplicationFiled: August 31, 2015Publication date: March 2, 2017Inventors: Yongjun Wu, Shyam Sadhwani, Abo Talib Mahfoodh
-
Patent number: 9578240Abstract: Video image stabilization provides better performance on a generic platform for computing devices by evaluating available multimedia digital signal processing components, and selecting the available components to utilize according to a hierarchy structure for video stabilization performance for processing parts of the video stabilization. The video stabilization has improved motion vector estimation that employs refinement motion vector searching according to a pyramid block structure relationship starting from a downsampled resolution version of the video frames. The video stabilization also improves global motion transform estimation by performing a random sample consensus approach for processing the local motion vectors, and selection criteria for motion vector reliability. The video stabilization achieves the removal of hand shakiness smoothly by real-time one-pass or off-line two-pass temporal smoothing with error detection and correction.Type: GrantFiled: October 20, 2014Date of Patent: February 21, 2017Assignee: Microsoft Technology Licensing, LLCInventors: Yongjun Wu, Nikola Borisov, Weidong Zhao, Shyam Sadhwani, Naveen Thumpudi
-
Publication number: 20170048532Abstract: An encoded bitstream of video data can include layers of encoded video data. Such layers can be removed by a device in response to, for example, available bandwidth or device capabilities. The encoded bitstream also includes values for reference count parameters that are used by a video decoder to allocate memory when decoding the video data. If layers of the encoded video data are removed from the encoded bitstream, the values for these reference count parameters are modified. By modifying the values of these parameters, the video decoder allocates a different amount of memory and memory utilization is improved. Such modifications can be made by processing the encoded bitstream without re-encoding the encoded video data.Type: ApplicationFiled: August 13, 2015Publication date: February 16, 2017Inventors: Shyam Sadhwani, Yongjun Wu
-
Patent number: 9565454Abstract: A video decoder obtains a first set of picture buffering parameters associated with a current picture of an encoded video bitstream. The first set of picture buffering parameters identifies a set of one or more reference pictures for use in decoding the current picture by a graphics processor. The video decoder revises the first set of picture buffering parameters into a second (different) set of picture buffering parameters for use in decoding the current picture by the graphics processor. The second set of picture buffering parameters is transferred to the graphics processor for decoding the current picture.Type: GrantFiled: June 24, 2013Date of Patent: February 7, 2017Assignee: Microsoft Technology Licensing, LLCInventors: Gary Joseph Sullivan, Yongjun Wu
-
Publication number: 20170034530Abstract: Innovations are provided for encoding and/or decoding video and/or image content using reduced size inverse transforms. For example, a reduced size inverse transform can be performed during encoding or decoding of video or image content using a subset of coefficients (e.g., primarily non-zero coefficients) of a given block. For example, a bounding area can be determined for a block that encompasses the non-zero coefficients of the block. Meta-data for the block can then be generated, including a shortcut code that indicates whether a reduced size inverse transform will be performed. The inverse transform can then be performed using a subset of coefficients for the block (e.g., identified by the bounding area) and the meta-data, which results in decreased utilization of computing resources. The subset of coefficients and the meta-data can be transferred to a graphics processing unit (GPU), which also results in savings in terms of data transfer.Type: ApplicationFiled: July 28, 2015Publication date: February 2, 2017Applicant: MICROSOFT TECHNOLOGY LICENSING, LLCInventors: Victor Cherepanov, Yongjun Wu, Srinath Reddy, Yuechuan Li, Shyam Sadhwani, Chihlung Lin, Binlong Li
-
Patent number: 9554134Abstract: Video decoding innovations for multithreading implementations and graphics processor unit (“GPU”) implementations are described. For example, for multithreaded decoding, a decoder uses innovations in the areas of layered data structures, picture extent discovery, a picture command queue, and/or task scheduling for multithreading. Or, for a GPU implementation, a decoder uses innovations in the areas of inverse transforms, inverse quantization, fractional interpolation, intra prediction using waves, loop filtering using waves, memory usage and/or performance-adaptive loop filtering. Innovations are also described in the areas of error handling and recovery, determination of neighbor availability for operations such as context modeling and intra prediction, CABAC decoding, computation of collocated information for direct mode macroblocks in B slices, reduction of memory consumption, implementation of trick play modes, and picture dropping for quality adjustment.Type: GrantFiled: December 9, 2013Date of Patent: January 24, 2017Assignee: Microsoft Technology Licensing, LLCInventors: Yegnaswamy Sermadevi, Weidong Zhao, Yongjun Wu
-
Patent number: 9549196Abstract: Data unit identification for compressed video streams is described. In one or more implementations, a compressed video stream is received at a computing device and a determination is made as to whether prior knowledge is available that relates to the compressed video stream. Responsive to the determination that prior knowledge is available that relates to the compressed video stream, the prior knowledge is employed by the computing device to perform data unit identification for the compressed video stream. In one or more implementations, SIMD instructions are utilized to perform pattern (0x00 00) search in a batch mode. Then a byte-by-byte search is performed to confirm whether the pattern, 0x00 00, found is part of a start code, 0x00 00 01, or not.Type: GrantFiled: February 4, 2014Date of Patent: January 17, 2017Assignee: Microsoft Technology Licensing, LLCInventors: Yongjun Wu, Sudhakar Visweswara Prabhu
-
Publication number: 20170013286Abstract: 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: ApplicationFiled: September 22, 2016Publication date: January 12, 2017Applicant: Microsoft Technology Licensing, LLCInventors: Yongjun Wu, Naveen Thumpudi, Shyam Sadhwani
-
Publication number: 20170013274Abstract: Embodiments relate to encoding and decoding frames of a video stream. Video frames are encoded as intra-coded frames (Iframes) and predictive coded frames (P/Bframes) and transmitted. When a receiver of the encoded frames is unable to decode a frame, due to transmission problems or otherwise, the encoded video stream can be recovered without requiring a full Iframe to be generated at one time. Instead, intra-coded data is provided by the transmitter in slices. Specifically, frames with only portions of intra-coded data (Islices) are transmitted in sequence until enough intra-coded data is provided to the receiver to recover a frame and resume decoding. The intra-refresh frames may also contain slices predictively encoded (Pslices) based on restricted search spaces of preceding intra-refresh frames.Type: ApplicationFiled: July 9, 2015Publication date: January 12, 2017Inventors: Shyam Sadhwani, Sudhakar Prabhu, Carol Greenbaum, Saswata Mandal, Yongjun Wu
-
Publication number: 20160366424Abstract: 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: ApplicationFiled: June 15, 2015Publication date: December 15, 2016Inventors: Yongjun Wu, Haoyun Wu, Shyam Sadhwani, Sudhakar Prabhu, Glenn Evans
-
Publication number: 20160366430Abstract: 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: ApplicationFiled: June 15, 2015Publication date: December 15, 2016Inventors: Yongjun Wu, Haoyun Wu, Shyam Sadhwani, Sudhakar Prabhu, Glenn Evans
-
Patent number: 9521438Abstract: 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: GrantFiled: March 29, 2013Date of Patent: December 13, 2016Assignee: Microsoft Technology Licensing, LLCInventors: Yongjun Wu, Naveen Thumpudi, Shyam Sadhwani
-
Publication number: 20160360206Abstract: In response to a scene change being detected in screen content, a rate controller instructs a video encoder to generate an intraframe compressed image. The rate controller computes a target size for compressed image data using a function based on a maximum compressed size for a single image, i.e., without buffers for additional image data. For a number of images processed after detection of the scene change, this target size is computed and used to control the video encoder. After this number of images is processed, the rate controller can resume to a prior mode of operation. Such rate control reduces latency in encoding and transmission of screen content, which improves user perception of responsiveness of a host computer, such as for interactive video applications.Type: ApplicationFiled: June 4, 2015Publication date: December 8, 2016Inventors: Yongjun Wu, Weidong Zhao, Shyam Sadhwani
-
Patent number: 9516147Abstract: Technologies for a single-pass/single copy network abstraction layer unit (“NALU”) parser. Such a NALU parser typically reuses source and/or destination buffers, optionally changes endianess of NALU data, optionally processes emulation prevention codes, and optionally processes parameters in slice NALUs, all as part of a single pass/single copy process. The disclosed NALU parser technologies are further suitable for hardware implementation, software implementation, or any combination of the two.Type: GrantFiled: October 30, 2014Date of Patent: December 6, 2016Assignee: MICROSOFT TECHNOLOGY LICENSING, LLCInventors: Ziyad Ibrahim, Yongjun Wu
-
Publication number: 20160353128Abstract: In a computer with a graphics processing unit as a coprocessor of a central processing unit, the graphics processing unit is programmed to perform waves of parallel operations to decode intra-prediction blocks of an image encoded in a certain video coding format. To decode the intra-prediction blocks of an image using the graphics processing unit, the intra-predicted blocks and their reference blocks are identified. The computer identifies whether pixel data from the reference blocks for these intra-predicted blocks are available. Blocks for which pixel data from reference blocks are available are processed in waves of parallel operations on the graphics processing unit as the pixel data becomes available. The process repeats until all intra-predicted blocks are processed. The identification of blocks to process in each wave can be determined by the graphics processing unit or the central processing unit.Type: ApplicationFiled: June 1, 2015Publication date: December 1, 2016Inventors: Matthew Wozniak, Yongjun Wu, Shyam Sadhwani
-
Publication number: 20160345018Abstract: A video encoding system balances memory usage to store interpolated image data with processing resource usage to interpolate image data without encoding quality degradation or with better encoding quality. This balance can be achieved by identifying and interpolating subregions of a reference image. Each subregion is less than the whole reference image, but larger than a search region for any single block of an image for which motion vectors are to be computed. Each interpolated subregion of the reference image is used to compute motion vectors for multiple blocks of an image being encoded. A video encoding system can identify portions of an image being encoded for which sub-pixel resolution motion vectors are not computed. Motion vectors for such portions of the image can be computed using a reference image without interpolation.Type: ApplicationFiled: May 19, 2015Publication date: November 24, 2016Inventors: Shyam Sadhwani, Srinath Reddy, Yongjun Wu, Victor Cherepanov, Yuechuan Li, Chihlung Lin
-
Patent number: 9500924Abstract: The array substrate includes: a substrate; a plurality of scan lines and a plurality of data lines disposed on the substrate intersecting each other to define a plurality of pixel elements and insulated from each other; a first transparent conductive layer disposed on the substrate; and a second transparent conductive layer disposed on the substrate and in parallel to and insulated from the first transparent conductive layer. The data lines, the first transparent conductive layer, and the second transparent conductive layer each comprise a plurality of bended portions, and the bended portions of the second transparent conductive layer are parallel to those of the first transparent conductive layer; additionally or alternatively; the bended portions of the data lines are parallel to those of the first transparent conductive layer or the second transparent conductive layer.Type: GrantFiled: June 23, 2015Date of Patent: November 22, 2016Assignees: SHANGHAI AVIC OPTOELECTRONICS CO., LTD., TIANMA MICRO-ELECTRONICS CO., LTD.Inventors: Dandan Qin, Zhaokeng Cao, Yongjun Wu
-
Publication number: 20160316220Abstract: Innovations in how a host application and video encoder share information and use shared information during video encoding are described. The innovations can help the video encoder perform certain encoding operations and/or help the host application control overall encoding quality and performance. For example, the host application provides regional motion information to the video encoder, which the video encoder can use to speed up motion estimation operations for units of a current picture and more generally improve the accuracy and quality of motion estimation. Or, as another example, the video encoder provides information about the results of encoding the current picture to the host application, which the host application can use to determine when to start a new group of pictures at a scene change boundary. By sharing information in this way, the host application and the video encoder can improve encoding performance, especially for real-time communication scenarios.Type: ApplicationFiled: April 21, 2015Publication date: October 27, 2016Applicant: Microsoft Technology Licensing, LLCInventors: Weidong Zhao, Yongjun Wu, Shyam Sadhwani