Patents by Inventor Mei-Hsuan Lu
Mei-Hsuan Lu 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: 9819949Abstract: In various respects, hardware-accelerated decoding is adapted for decoding of video that has been encoded using scalable video coding. For example, for a given picture to be decoded, a host decoder determines whether a corresponding base picture will be stored for use as a reference picture. If so, the host decoder directs decoding with an accelerator such that the some of the same decoding operations can be used for the given picture and the reference base picture. Or, as another example, the host decoder groups encoded data associated with a given layer representation in buffers. The host decoder provides the encoded data for the layer to the accelerator. The host decoder repeats the process layer-after-layer in the order that layers appear in the bitstream, according to a defined call pattern for an acceleration interface, which helps the accelerator determine the layers with which buffers are associated.Type: GrantFiled: December 16, 2011Date of Patent: November 14, 2017Assignee: Microsoft Technology Licensing, LLCInventors: Mei-Hsuan Lu, Yongjun Wu, Ming-Chieh Lee, Gary J. Sullivan
-
Patent number: 9769485Abstract: Innovations described herein provide a generic encoding and decoding framework that includes some features of simulcast and some features of scalable video coding. For example, a bitstream multiplexer multiplexes component bitstreams into a multi-layer encoding (MLE) bitstream that provides temporal scalability, spatial resolution scalability and/or signal to noise ratio scalability. Each of the component bitstreams provides an alternative version of input video, and a given component bitstream can be a non-scalable bitstream or scalable bitstream. The multiplexer follows composition rules for the MLE bitstream and may rewrite values of certain syntax elements of component bitstreams using an approach that avoids bit shifting operations. A corresponding demultiplexer receives an MLE bitstream that includes component bitstreams and demultiplexes at least part of at least one of the component bitstreams from the MLE bitstream, following decomposition rules for the demultiplexing.Type: GrantFiled: January 20, 2017Date of Patent: September 19, 2017Assignee: Microsoft Technology Licensing, LLCInventors: Mei-Hsuan Lu, Ming-Chieh Lee
-
Publication number: 20170134737Abstract: Innovations described herein provide a generic encoding and decoding framework that includes some features of simulcast and some features of scalable video coding. For example, a bitstream multiplexer multiplexes component bitstreams into a multi-layer encoding (MLE) bitstream that provides temporal scalability, spatial resolution scalability and/or signal to noise ratio scalability. Each of the component bitstreams provides an alternative version of input video, and a given component bitstream can be a non-scalable bitstream or scalable bitstream. The multiplexer follows composition rules for the MLE bitstream and may rewrite values of certain syntax elements of component bitstreams using an approach that avoids bit shifting operations. A corresponding demultiplexer receives an MLE bitstream that includes component bitstreams and demultiplexes at least part of at least one of the component bitstreams from the MLE bitstream, following decomposition rules for the demultiplexing.Type: ApplicationFiled: January 20, 2017Publication date: May 11, 2017Applicant: Microsoft Technology Licensing, LLCInventors: Mei-Hsuan Lu, Ming-Chieh Lee
-
Publication number: 20170078705Abstract: Techniques are described for verifying long-term reference (LTR) usage by a video encoder and/or a video decoder. For example, verifying that a video encoder and/or a video decoder is applying LTR correctly can done by encoding and decoding a video sequence in two different ways and comparing the results. In some implementations, verifying LTR usage is accomplished by decoding an encoded video sequence that has been encoded according to an LTR usage pattern, decoding a modified encoded video sequence that has been encoded according to the LTR usage pattern and modified according to a lossy channel model, and comparing decoded video content from both the encoded video sequence and the modified encoded video sequence. For example, the comparison can comprise determining whether both decoded video content match bit-exactly beginning from an LTR recovery point location.Type: ApplicationFiled: September 10, 2015Publication date: March 16, 2017Applicant: Microsoft Technology Licensing, LLCInventors: Mei-Hsuan Lu, Yongjun Wu, Ming-Chieh Lee, Firoz Dalal
-
Patent number: 9591318Abstract: Innovations described herein provide a generic encoding and decoding framework that includes some features of simulcast and some features of scalable video coding. For example, a bitstream multiplexer multiplexes component bitstreams into a multi-layer encoding (MLE) bitstream that provides temporal scalability, spatial resolution scalability and/or signal to noise ratio scalability. Each of the component bitstreams provides an alternative version of input video, and a given component bitstream can be a non-scalable bitstream or scalable bitstream. The multiplexer follows composition rules for the MLE bitstream and may rewrite values of certain syntax elements of component bitstreams using an approach that avoids bit shifting operations. A corresponding demultiplexer receives an MLE bitstream that includes component bitstreams and demultiplexes at least part of at least one of the component bitstreams from the MLE bitstream, following decomposition rules for the demultiplexing.Type: GrantFiled: September 16, 2011Date of Patent: March 7, 2017Assignee: Microsoft Technology Licensing, LLCInventors: Mei-Hsuan Lu, Ming-Chieh Lee
-
Patent number: 9538137Abstract: Ways to mitigate loss in inter-operability scenarios for digital video are presented. For example, a bitstream modification tool (such as a bitstream rewriter running on a network node of a videoconferencing system) receives an incoming bitstream of encoded video (e.g., from an encoder that uses a first loss recovery strategy). The bitstream modification tool processes the incoming bitstream of encoded video to produce an outgoing bitstream of encoded video. In doing so, the bitstream modification tool changes at least one syntax element between the incoming bitstream and the outgoing bitstream so as to mitigate picture loss effects during decoding of the outgoing bitstream under lossy delivery conditions. The bitstream modification tool outputs the outgoing bitstream. In this way, the bitstream modification tool can help avoid blank screens, frozen screens, or other failures during decoding under lossy delivery conditions (e.g., with a decoder that uses a different loss recovery strategy).Type: GrantFiled: April 9, 2015Date of Patent: January 3, 2017Assignee: Microsoft Technology Licensing, LLCInventors: Mei-Hsuan Lu, Ming-Chieh Lee
-
Publication number: 20160381396Abstract: A video bitstream can be encoded and sent over a computer network to a decoding computer system. The bitstream can follow a regular prediction structure when an encoding computer system is not notified of lost data from the bitstream. A notification of lost data in the bitstream can be received. The lost data can include at least a portion of a reference frame of the bitstream. In response, a synchronization predicted frame can be dynamically encoded with a prediction that references one or more other previously-sent frames in the bitstream and that does not reference the lost data. The synchronization predicted frame can be inserted in the bitstream in a position where the regular prediction structure would have dictated inserting a different predicted frame with a prediction that would have referenced the lost data according to the regular prediction structure.Type: ApplicationFiled: September 7, 2016Publication date: December 29, 2016Applicant: Microsoft Technology Licensing, LLCInventors: Mei-Hsuan Lu, Ming-Chieh Lee
-
Publication number: 20160301895Abstract: Ways to mitigate loss in inter-operability scenarios for digital video are presented. For example, a bitstream modification tool (such as a bitstream rewriter running on a network node of a videoconferencing system) receives an incoming bitstream of encoded video (e.g., from an encoder that uses a first loss recovery strategy). The bitstream modification tool processes the incoming bitstream of encoded video to produce an outgoing bitstream of encoded video. In doing so, the bitstream modification tool changes at least one syntax element between the incoming bitstream and the outgoing bitstream so as to mitigate picture loss effects during decoding of the outgoing bitstream under lossy delivery conditions. The bitstream modification tool outputs the outgoing bitstream. In this way, the bitstream modification tool can help avoid blank screens, frozen screens, or other failures during decoding under lossy delivery conditions (e.g., with a decoder that uses a different loss recovery strategy).Type: ApplicationFiled: April 9, 2015Publication date: October 13, 2016Applicant: MICROSOFT TECHNOLOGY LICENSING, LLCInventors: Mei-Hsuan Lu, Ming-Chieh Lee
-
Publication number: 20160234522Abstract: Video content is relayed from a transmitting device to a receiving device via a video relay server. The content comprises a plurality of frames. Before encoding, each of the plurality of frames is formed of a respective array of desired image data to be displayed at the receiving device. Filler image data is added to each of the plurality of frames before encoding. Control data is generated, which comprises cropping data indicating that none, or only some, of the filler image data should be cropped out before the plurality of frames is displayed. The encoded video content and the control data is transmitted to the server. At the server, the filler image data is detected automatically; in response, the cropping data is modified to indicate that all of the filler data should be cropped out before displaying the frames.Type: ApplicationFiled: February 5, 2015Publication date: August 11, 2016Inventors: Mei-Hsuan Lu, Satya Sasikanth Bendapudi
-
Publication number: 20160212468Abstract: A user device within a communication architecture, the user device comprising: an image capture device configured to determine image data for the creation of a video channel defining the shared scene; an intrinsic/extrinsic data determiner configured to determine intrinsic/extrinsic capture device data associated with the image capture device; and a video encoder configured to encode the image data and intrinsic/extrinsic capture device data within the video channel.Type: ApplicationFiled: January 21, 2015Publication date: July 21, 2016Inventors: Ming-Chieh Lee, Mei-Hsuan Lu, Robert Aichner, Ryan S. Menezes, Abhishek Abhishek, Bofan Hsu, Ermin Kozica
-
Patent number: 9204061Abstract: Displaying video on a video display device is disclosed. A first video stream from a first video streaming source is displayed on the display device. A second video stream from a second video streaming source is processed on the display device without displaying the second video stream. Displaying the first video stream is ceased and instead the second video stream is displayed. Supporting operations on a video stream is also disclosed. At least one video chunk is received at a first granularity. A determination is made that an operation is to be performed at a different granularity. At least one video chunk is requested at the different granularity.Type: GrantFiled: February 14, 2013Date of Patent: December 1, 2015Assignee: Conviva Inc.Inventors: Ningning Hu, John W. Heffner, Mei-Hsuan Lu, Aditya R. Ganjam, Ion Stoica
-
Patent number: 9204156Abstract: Innovations described herein facilitate the addition of temporal scalability to non-scalable bitstreams. For example, a bitstream rewriter receives units of encoded video data for a non-scalable bitstream from components of a hardware-based encoder. The bitstream rewriter changes at least some of the units of encoded video data so as to produce a scalable bitstream with temporal scalability. In doing so, the bitstream rewriter can associate an original sequence parameter set (SPS) and original picture parameter set (PPS) with pictures for a temporal base layer, and associate a new SPS and new PPS with pictures for a temporal enhancement layer. The bitstream rewriter can also alter syntax elements in the units of encoded video data, for example, changing syntax elements in a slice header in ways that avoid bit shifting operations for following coded slice data for a unit of encoded video data for the temporal enhancement layer.Type: GrantFiled: November 3, 2011Date of Patent: December 1, 2015Assignee: Microsoft Technology Licensing, LLCInventors: Mei-Hsuan Lu, Ming-Chieh Lee
-
Patent number: 8842159Abstract: Optimization of conference call encoding processes is provided. A first client of a multi-party conference call may receive client capability data, including video scalability support, from each of the other clients to the conference call. Based on the client capability data and the transmission capabilities of the first client, including video scalability support, the first client may determine a total number of data streams and properties for each data stream, such that the total number of data streams and the plurality of properties for each data stream are optimized and supported by the respective client capability data and the transmission capabilities. Subsequently, the first client generates one or more data streams according to the total number of data streams and the properties that were determined for each data stream and transmits the one or more data streams to the other clients of the conference call.Type: GrantFiled: February 13, 2012Date of Patent: September 23, 2014Assignee: Microsoft CorporationInventors: Mei-Hsuan Lu, Ming-Chieh Lee
-
Publication number: 20140153643Abstract: Mean absolute difference (MAD) prediction for video encoding may be provided. Upon receiving a video stream comprising a plurality of quality layers, a first quantization parameter (QP) may be selected for a first frame of the video stream according to a second QP associated with a second frame and a third QP associated with a third frame. The first frame may then be encoded according to the selected first QP.Type: ApplicationFiled: February 3, 2014Publication date: June 5, 2014Applicant: MICROSOFT CORPORATIONInventors: Mei-Hsuan Lu, Tin Qian
-
Patent number: 8644383Abstract: Mean absolute difference (MAD) prediction for video encoding may be provided. Upon receiving a video stream comprising a plurality of quality layers, a first quantization parameter (QP) may be selected for a first frame of the video stream according to a second QP associated with a second frame and a third QP associated with a third frame. The first frame may then be encoded according to the selected first QP.Type: GrantFiled: March 10, 2011Date of Patent: February 4, 2014Assignee: Microsoft CorporationInventors: Mei-Hsuan Lu, Tin Qian
-
Publication number: 20130223524Abstract: A video bitstream can be encoded and sent over a computer network to a decoding computer system. The bitstream can follow a regular prediction structure when an encoding computer system is not notified of lost data from the bitstream. A notification of lost data in the bitstream can be received. The lost data can include at least a portion of a reference frame of the bitstream. In response, a synchronization predicted frame can be dynamically encoded with a prediction that references one or more other previously-sent frames in the bitstream and that does not reference the lost data. The synchronization predicted frame can be inserted in the bitstream in a position where the regular prediction structure would have dictated inserting a different predicted frame with a prediction that would have referenced the lost data according to the regular prediction structure.Type: ApplicationFiled: February 29, 2012Publication date: August 29, 2013Applicant: MICROSOFT CORPORATIONInventors: Mei-Hsuan Lu, Ming-Chieh Lee
-
Publication number: 20130208075Abstract: Optimization of conference call encoding processes is provided. A first client of a multi-party conference call may receive client capability data, including video scalability support, from each of the other clients to the conference call. Based on the client capability data and the transmission capabilities of the first client, including video scalability support, the first client may determine a total number of data streams and properties for each data stream, such that the total number of data streams and the plurality of properties for each data stream are optimized and supported by the respective client capability data and the transmission capabilities. Subsequently, the first client generates one or more data streams according to the total number of data streams and the properties that were determined for each data stream and transmits the one or more data streams to the other clients of the conference call.Type: ApplicationFiled: February 13, 2012Publication date: August 15, 2013Applicant: Microsoft CorporationInventors: Mei-Hsuan Lu, Ming-Chieh Lee
-
Publication number: 20130208809Abstract: Concepts and technologies are described herein for multi-layer rate control. In accordance with the concepts and technologies disclosed herein, a video server obtains video data and encodes the video data into a multi-layer video stream. Layers of the video stream cart be output buffers and the buffers can be monitored to determine bit usage. A rate controller can obtain bit usage feedback for each layer of the encoded video stream and determine, based upon the bit usage feedback, a quantization parameter associated with each layer of the encoded video stream. In determining the quantization parameters, the rate controller can consider not only bitrates of the entire encoded video stream, but also bitrates and bit usage feedback associated with each layer of the encoded video stream. Further encoding can be based upon the quantization parameters determined by the video server.Type: ApplicationFiled: February 14, 2012Publication date: August 15, 2013Applicant: MICROSOFT CORPORATIONInventors: Mei-Hsuan Lu, Ming-Chieh Lee
-
Publication number: 20130177071Abstract: Innovations described herein provide a framework for advertising encoder capabilities, initializing encoder configuration, and signaling run-time control messages for video coding and decoding. For example, an encoding controller receives a request for encoder capability data from a decoding host controller, determines the capability data, and sends the capability data in reply. The capability data can include data that indicate a number of bitstreams, each providing an alternative version of input video, as well as data that indicate scalable video coding capabilities. The decoding host controller creates stream configuration request data based on the encoder capability data, and sends the configuration request data to the encoding controller. During decoding, the decoding host controller can create and send a control message for run-time control of encoding, where the control message includes a stream identifier for a bitstream and layer identifiers for a given layer of the bitstream.Type: ApplicationFiled: January 11, 2012Publication date: July 11, 2013Applicant: Microsoft CorporationInventors: Mei-Hsuan Lu, Ming-Chieh Lee
-
Publication number: 20130156101Abstract: In various respects, hardware-accelerated decoding is adapted for decoding of video that has been encoded using scalable video coding. For example, for a given picture to be decoded, a host decoder determines whether a corresponding base picture will be stored for use as a reference picture. If so, the host decoder directs decoding with an accelerator such that the some of the same decoding operations can be used for the given picture and the reference base picture. Or, as another example, the host decoder groups encoded data associated with a given layer representation in buffers. The host decoder provides the encoded data for the layer to the accelerator. The host decoder repeats the process layer-after-layer in the order that layers appear in the bitstream, according to a defined call pattern for an acceleration interface, which helps the accelerator determine the layers with which buffers are associated.Type: ApplicationFiled: December 16, 2011Publication date: June 20, 2013Applicant: Microsoft CorporationInventors: Mei-Hsuan Lu, Yongjun Wu, Ming-Chieh Lee, Gary J. Sullivan