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).
-
Publication number: 20160094854Abstract: To decode encoded video using a computer with a central processing unit and a graphics processing unit as a coprocessor, parameters applied to blocks of intermediate image data are transferred from the central processing unit to the graphics processing unit. When the operation being performed applies to a small portion of the blocks of intermediate image data, then the central processing unit can transfer to the graphics processing unit the parameters for only those blocks to which the operation applies. In particular, the central processing unit can transfer a set of parameters for a limited number of blocks of intermediate image data, with an indication of the block to which each set of parameters applies, which both can improve speed of operation and can reduce power consumption.Type: ApplicationFiled: September 25, 2014Publication date: March 31, 2016Inventors: Matthew Wozniak, Yongjun Wu, Yuechuan Li, Shyam Sadhwani
-
Publication number: 20160094847Abstract: Innovations in the area of sample metadata processing can help a media playback tool avoid loss of synchronization between sample metadata and media samples. For example, a media playback tool identifies encoded data and sample metadata for a current media sample, then couples the sample metadata with the current media sample. The media playback tool provides the sample metadata and encoded data for the current media sample to a media decoder, which maintains the coupling between at least one element of the sample metadata and the current media sample during at least one stage of decoding, even when the current media sample is dropped, delayed, split, or repeated. For example, the media playback tool can determine whether to drop the current media sample and, if the current media sample is dropped, also drop the sample metadata that is coupled with the current media sample.Type: ApplicationFiled: September 25, 2014Publication date: March 31, 2016Applicant: Microsoft CorporationInventors: Ziyad A. Ibrahim, Yongjun Wu, Shyam Sadhwani
-
Publication number: 20160080756Abstract: Techniques and tools described herein help manage memory efficiently during video decoding, especially when multiple video clips are concurrently decoded. For example, with clip-adaptive memory usage, a decoder determines first memory usage settings expected to be sufficient for decoding of a video clip. The decoder also determines second memory usage settings known to be sufficient for decoding of the clip. During decoding, memory usage is initially set according to the first settings. Memory usage is adaptively increased during decoding, subject to theoretical limits in the second settings. With adaptive early release of side information, the decoder can release side information memory for a picture earlier than the decoder releases image plane memory for the picture. The decoder can also adapt memory usage for decoded transform coefficients depending on whether the coefficients are for intra-coded blocks or inter-coded blocks, and also exploit the relative sparseness of non-zero coefficient values.Type: ApplicationFiled: November 23, 2015Publication date: March 17, 2016Applicant: Microsoft Technology Licensing, LLCInventors: Yongjun Wu, Shyam Sadhwani
-
Publication number: 20160070887Abstract: Innovations in the area of hardware-protected digital rights management (“DRM”) systems are presented. For example, a hardware-protected DRM system includes a trusted layer and untrusted layer. In the untrusted layer, a control module receives source media data that includes encrypted media data. The control module processes metadata about the media data. The metadata, possibly exposed by a module in the trusted layer, is not opaque within the untrusted layer. In the trusted layer, using key data, a module decrypts encrypted media data, which can be the encrypted media data from the source media data or a transcrypted version thereof. A module in the trusted layer decodes the decrypted media data. A host decoder in the untrusted layer uses the metadata to manage at least some aspects of the decoding, rendering and display in the trusted layer, without exposure of decrypted media data or key data within the untrusted layer.Type: ApplicationFiled: September 10, 2014Publication date: March 10, 2016Applicant: MICROSOFT CORPORATIONInventors: Yongjun Wu, Shyam Sadhwani, Samuel J. Wenker, Brian P. Evans, Hany Farag, Lucia Darsa
-
Publication number: 20160072773Abstract: Lossy data stream decoder techniques are described herein. In response to a request for decoded content from a consuming application, a decoder may validate headers and identify portions of the data that are considered pertinent to the request. The decoder then performs lossy extraction to form incomplete data that is provided to the consuming application in response to the request. The full data for the data stream is not exposed to the consuming application or other downstream components. In this way, the consuming application is provided data sufficient to perform requested graphics processing and resource management operations, while at the same time the risk of piracy is mitigated since the consuming application is unable to get a full version of the data in the clear and the data have been validated by the decoder.Type: ApplicationFiled: September 5, 2014Publication date: March 10, 2016Inventors: Yongjun Wu, Fedir Yuriyovych Kyslov, Shyam Sadhwani, Samuel John Wenker, Brian P. Evans, Hany Farag
-
Publication number: 20160064039Abstract: Thumbnail generation techniques are described. In one or more implementations, at least one thumbnail is generated by a device from video received at the device. The generation of the at least one thumbnail includes decoding at least one I-picture included in the video when present that is to serve as a basis for the at least one thumbnail and skipping decoding of non-I-pictures that describe differences in relation to the at least one I-picture included in the video such that the non-I-pictures are not utilized in the generating of the at least one thumbnail. For robust thumbnail generation, when at least one I-picture has not been identified in the video in a predetermined time, falling back to decoding subsequent non-I-pictures in the video to generate the thumbnail from non-I-pictures.Type: ApplicationFiled: August 26, 2014Publication date: March 3, 2016Inventors: Yongjun Wu, Shyam Sadhwani
-
Patent number: 9264658Abstract: A video bit stream with pictures comprising inter-coded content can be decoded upon receiving a channel start or file seek instruction. Pictures for beginning decoding and display of the bit stream can be selected based at least in part on one or more tuning parameters that set a preference between a latency of beginning to display video and possible defects in the displayed video. In some embodiments, to implement decoding upon a channel start or file seek, one or more types of data are generated for one or more pictures. For example, picture order counts are generated for pictures after a channel start or file seek operation. As another example, a decoder generates a frame number value that triggers re-initialization of a reference picture buffer before decoding after a channel start or file seek operation.Type: GrantFiled: December 24, 2012Date of Patent: February 16, 2016Assignee: Microsoft Technology Licensing, LLCInventors: Yongjun Wu, Gang Ji, Shyam Sadhwani, Naveen Thumpudi, Eric S. Christoffersen
-
Patent number: 9262419Abstract: A container format processing tool performs syntax-aware manipulation of hierarchically organized syntax elements defined according to a container format in a media file. For example, a container format verifier checks conformance of a media file to a container format, which can help ensure interoperability between diverse sources of media content and playback equipment. Conformance verification can include verification of individual syntax elements, cross-verification, verification that any mandatory syntax elements are present and/or verification of synchronization. Or, a container format “fuzzer” simulates corruption of a media file, which can help test the resilience of playback equipment to errors in the media files. The container format fuzzer can simulate random bit flipping errors, an audio recording failure or incorrect termination of recording. Or, a container format editor can otherwise edit the media file in the container format.Type: GrantFiled: April 5, 2013Date of Patent: February 16, 2016Assignee: Microsoft Technology Licensing, LLCInventors: Firoz Dalal, Yongjun Wu
-
Patent number: 9247316Abstract: Disclosed herein are representative embodiments of tools and techniques for facilitating decoding of protected media information using a secure operating system. According to one exemplary technique, encoded media information that is encrypted is received at a secure process of a secure operating system of a computing system. At least a portion of the encoded media information that is encrypted is decrypted in the secure process. The portion of the encoded media information includes header information. Additionally, the header information is sent from the secure operating system to a software decoder for control of decoding hardware. The software decoder is included in a process for an application. Also, the decoding hardware is securely provided access to the encoded media information for decoding of the encoded media information to produce decoded media information.Type: GrantFiled: April 23, 2013Date of Patent: January 26, 2016Assignee: Microsoft Technology Licensing, LLCInventors: Glenn F. Evans, Shyam Sadhwani, Yongjun Wu
-
Patent number: 9241167Abstract: A video decoder is disclosed that uses metadata in order to make optimization decisions. In one embodiment, metadata is used to choose which of multiple available decoder engines should receive a video sequence. In another embodiment, the optimization decisions can be based on length and location metadata information associated with a video sequence. Using such metadata information, a decoder engine can skip start-code scanning to make the decoding process more efficient. Also based on the choice of decoder engine, it can decide whether emulation prevention byte removal shall happen together with start code scanning or not.Type: GrantFiled: February 17, 2012Date of Patent: January 19, 2016Assignee: Microsoft Technology Licensing, LLCInventors: Yongjun Wu, Shyam Sadhwani, Naveen Thumpudi
-
Publication number: 20150378228Abstract: 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: ApplicationFiled: June 23, 2015Publication date: December 31, 2015Inventors: Dandan QIN, Zhaokeng CAO, Yongjun WU
-
Patent number: 9215471Abstract: Disclosed herein are representative embodiments of methods, apparatus, and systems for manipulating bitstreams of digital media data compressed according to a compression standard. Also disclosed are representative embodiments of methods, apparatus, and systems for evaluating compliance of an encoded bitstream of digital media data with a compression standard. In one exemplary embodiment, a conforming bitstream of compressed digital media data is input. One or more of the parameters in the bitstream are selectively altered into parameters that do not conform to the video compression standard. The selective alteration can be performed such that parameters that would make the bitstream non-decodable if altered are bypassed and left unaltered. A non-conforming bitstream that includes the one or more selectively altered parameters is output.Type: GrantFiled: November 12, 2010Date of Patent: December 15, 2015Assignee: Microsoft Technology Licensing, LLCInventors: Jarred Bonaparte, Firoz Dalal, Yongjun Wu
-
Patent number: 9210421Abstract: Techniques and tools described herein help manage memory efficiently during video decoding, especially when multiple video clips are concurrently decoded. For example, with clip-adaptive memory usage, a decoder determines first memory usage settings expected to be sufficient for decoding of a video clip. The decoder also determines second memory usage settings known to be sufficient for decoding of the clip. During decoding, memory usage is initially set according to the first settings. Memory usage is adaptively increased during decoding, subject to theoretical limits in the second settings. With adaptive early release of side information, the decoder can release side information memory for a picture earlier than the decoder releases image plane memory for the picture. The decoder can also adapt memory usage for decoded transform coefficients depending on whether the coefficients are for intra-coded blocks or inter-coded blocks, and also exploit the relative sparseness of non-zero coefficient values.Type: GrantFiled: April 18, 2014Date of Patent: December 8, 2015Assignee: Microsoft Technology Licensing, LLCInventors: Yongjun Wu, Shyam Sadhwani
-
Publication number: 20150288965Abstract: According to a first aspect of the innovations described herein video encoding, such as game video encoding, is improved with a goal to generate substantially constant video quality and the average target bitrate within a desired tolerance, which improves an overall user experience on video playback. An adaptive solution uses intelligent bias on bit allocation and quantization decisions, locally within a frame and globally across different frames, based on a current quality level and within an allowed bitrate variable tolerance. Bit allocation is increased on high complexity frames and redundant bits are avoided, which might have been wasted for static scenes and low complexity aspects. Statistics can be used from the encoding process. The solution can address similar video coding quality problems for video game recording on a variety of gaming platforms.Type: ApplicationFiled: September 24, 2014Publication date: October 8, 2015Inventors: Yuechuan Li, Yongjun Wu, Sudhakar V. Prabhu, Haoyun Wu
-
Publication number: 20150269967Abstract: In a computing device that implements an encoder, a method comprises receiving an encoded video sequence with a file container, receiving input to execute a trimming operation to create a frame accurate target segment of one or more desired pictures from the encoded video sequence and trimming to frame accuracy. Trimming to frame accuracy is accomplished by changing the parameter identifications of leading and trailing portions, if supported, or changing the parameters, and using the changed parameters or parameter identifications in re-encoding the leading and trailing portions, while an untouched middle portion between the leading and trailing portions is re-muxed without re-encoding.Type: ApplicationFiled: May 22, 2014Publication date: September 24, 2015Applicant: Microsoft CorporationInventors: Srinivas Dandu, Yongjun Wu, Shankaranand Arunachalam
-
Patent number: 9131241Abstract: Adjustment of hardware acceleration level in a video decoder utilizing hardware acceleration is described. Errors are detected in a bitstream as it is decoded using different levels of error detection based on decoding characteristics. A statistical analysis is performed on the error values as they are detected. In one technique, if the bitstream is categorized as fitting a high error rate state in a bitstream model, then hardware acceleration is dropped. In another technique, error statistics based on run-lengths of good and bad bitstream units are kept, and compared to predetermined thresholds. If the thresholds are exceeded, the hardware acceleration level is dropped. The level is dropped in order to take advantage of superior error handing abilities of software-based decoding over hardware-accelerated decoding.Type: GrantFiled: November 25, 2008Date of Patent: September 8, 2015Assignee: Microsoft Technology Licensing, LLCInventors: Gang Ji, Naveen Thumpudi, Shyam Sadhwani, Yongjun Wu
-
Publication number: 20150237356Abstract: By controlling decisions for high layers of bitstream syntax for encoded video, a host encoder provides consistent behaviors even when used with accelerator hardware from different vendors across different hardware platforms. For example, the host encoder controls high-level behaviors of encoding and sets values of syntax elements for sequence layer and picture layer of an output bitstream (and possibly other layers such as slice-header layer), while using only a small amount of computational resources. An accelerator that includes the accelerator hardware then controls encoding decisions for lower layers of syntax, in a manner consistent with the values of syntax elements set by the host encoder, setting values of syntax elements for the lower layers of syntax, which allows the accelerator some flexibility in making its encoding decisions.Type: ApplicationFiled: February 18, 2014Publication date: August 20, 2015Applicant: MICROSOFT CORPORATIONInventors: Yongjun Wu, Gary J. Sullivan, Shyam Sadhwani
-
Publication number: 20150237381Abstract: 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: ApplicationFiled: April 30, 2015Publication date: August 20, 2015Applicant: Microsoft Technology Licensing, LLCInventors: Wenfeng Gao, Yongjun Wu, Shyam Sadhwani
-
Publication number: 20150222917Abstract: 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: ApplicationFiled: February 4, 2014Publication date: August 6, 2015Applicant: Microsoft CorporationInventors: Yongjun Wu, Sudhakar Visweswara Prabhu
-
Publication number: 20150208084Abstract: Innovations in intra block copy (“BC”) prediction as well as innovations in encoder-side search patterns and approaches to partitioning. For example, some of the innovations relate to use of asymmetric partitions for intra BC prediction. Other innovations relate to search patterns or approaches that an encoder uses during block vector estimation (for intra BC prediction) or motion estimation. Still other innovations relate to uses of BV search ranges that have a horizontal or vertical bias during BV estimation.Type: ApplicationFiled: August 8, 2014Publication date: July 23, 2015Applicant: MICROSOFT CORPORATIONInventors: Lihua Zhu, Yongjun Wu, Gary J. Sullivan