Patents by Inventor Guo-Wei Shieh
Guo-Wei Shieh 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: 9479276Abstract: A method of compensating for jitter in a packet stream is described. The method comprises placing undecoded frames extracted from packets in the packet stream into a jitter buffer while decoding frames from the jitter buffer and placing the decoded frames into a sample buffer at a rate determined using an average playout delay. The average playout delay is the running average of the playout delay calculated for each packet as each packet becomes available. The playout delay for each packet is the sum of a sample buffer delay and a jitter buffer delay. As each packet is received, the average playout delay is adjusted based on a comparison of the playout delay associated with the received packet to the current average playout delay.Type: GrantFiled: July 9, 2013Date of Patent: October 25, 2016Assignee: MICROSOFT TECHNOLOGY LICENSING, LLCInventors: Hosam A. Khalil, Guo-Wei Shieh, Tian Wang
-
Patent number: 9398314Abstract: Architecture for enhancing the compression (e.g., luma, chroma) of a video signal and improving the perceptual quality of the video compression schemes. The architecture operates to reshape the normal multimodal energy distribution of the input video signal to a new energy distribution. In the context of luma, the algorithm maps the black and white (or contrast) information of a picture to a new energy distribution. For example, the contrast can be enhanced in the middle range of the luma spectrum, thereby improving the contrast between a light foreground object and a dark background. At the same time, the algorithm reduces the bit-rate requirements at a particular quantization step size. The algorithm can be utilized also in post-processing to improve the quality of decoded video.Type: GrantFiled: February 5, 2008Date of Patent: July 19, 2016Assignee: Microsoft Technology Licensing, LLCInventors: Walid Ali, Shankar Regunathan, Guo-Wei Shieh, Bruce Lin, Bharath Siravara, Ce Wang
-
Publication number: 20130294463Abstract: A method of compensating for jitter in a packet stream is described. The method comprises placing undecoded frames extracted from packets in the packet stream into a jitter buffer while decoding frames from the jitter buffer and placing the decoded frames into a sample buffer at a rate determined using an average playout delay. The average playout delay is the running average of the playout delay calculated for each packet as each packet becomes available. The playout delay for each packet is the sum of a sample buffer delay and a jitter buffer delay. As each packet is received, the average playout delay is adjusted based on a comparison of the playout delay associated with the received packet to the current average playout delay.Type: ApplicationFiled: July 9, 2013Publication date: November 7, 2013Inventors: Hosam A. Khalil, Guo-Wei Shieh, Tian Wang
-
Patent number: 8483243Abstract: A method of compensating for jitter in a packet stream is described. The method comprises placing undecoded frames extracted from packets in the packet stream into a jitter buffer while decoding frames from the jitter buffer and placing the decoded frames into a sample buffer at a rate determined using an average playout delay. The average playout delay is the running average of the playout delay calculated for each packet as each packet becomes available. The playout delay for each packet is the sum of a sample buffer delay and a jitter buffer delay. As each packet is received, the average playout delay is adjusted based on a comparison of the playout delay associated with the received packet to the current average playout delay.Type: GrantFiled: September 15, 2006Date of Patent: July 9, 2013Assignee: Microsoft CorporationInventors: Hosam A Khalil, Guo-Wei Shieh, Tian Wang
-
Patent number: 8441930Abstract: Embodiments are configured to provide communication features, including providing channel condition estimates for a communication path, such as packet loss, jitter, and/or available bandwidth, but are not so limited. In an embodiment, a method uses aspects of in-band data packets to provide channel condition estimates. In one embodiment, a system includes a bandwidth estimation component that operates to classify payload packets as part of performing capacity estimation and available bandwidth estimation operations.Type: GrantFiled: December 21, 2009Date of Patent: May 14, 2013Assignee: Microsoft CorporationInventors: Jin Li, Humayun Mukhtar Khan, Guo-Wei Shieh, Manish Jain
-
Patent number: 8189492Abstract: Architecture for enabling a communications endpoint to quickly recover from a packet loss, reducing duration of a signal dropout. A communications component sends a downlink of dependency-structured signals, such as audio and/or video signals using compressed frames between key frames. A multipoint control component (MCC) is located between the communications component and multiple endpoints, and distributes the downlink to the multiple endpoints. A frame caching component caches a key frame of the downlink. If a key frame is lost at one of the endpoints, the endpoint sends a packet loss report to the frame caching component. The key frame is resent from the frame caching component to the endpoint in response to the key frame loss. In this way, the frame caching component can respond to specific frame loss situations on any of the endpoints, without interfering with the performance on the other endpoints.Type: GrantFiled: March 18, 2009Date of Patent: May 29, 2012Assignee: Microsoft CorporationInventors: Jingyu Qiu, Shiwei Wang, Regis J. Crinon, Guo-Wei Shieh
-
Patent number: 8005670Abstract: To reduce audio glitch rendering buffer of an audio application is pre-filled with natural sounding audio rather than zeros. For every frame of audio sent for rendering, the rendering buffer is also pre-filled or the signal is stretched in the buffer in anticipation of a glitch. If the glitch does not occur, then the stretched signal is overwritten and the end user does not notice it. If the glitch does occur, then the rendering buffer is already filled with a stretched version of the previous audio and may result in sound that is acceptable. After recovery from the glitch, any new data is smoothly merged into the fake audio that was generated before.Type: GrantFiled: October 17, 2007Date of Patent: August 23, 2011Assignee: Microsoft CorporationInventors: Hosam A. Khalil, Guo-Wei Shieh
-
Publication number: 20110149751Abstract: Embodiments are configured to provide communication features, including providing channel condition estimates for a communication path, such as packet loss, jitter, and/or available bandwidth, but are not so limited. In an embodiment, a method uses aspects of in-band data packets to provide channel condition estimates. In one embodiment, a system includes a bandwidth estimation component that operates to classify payload packets as part of performing capacity estimation and available bandwidth estimation operations.Type: ApplicationFiled: December 21, 2009Publication date: June 23, 2011Applicant: Microsoft CorporationInventors: Jin Li, Humayun Mukhtar Khan, Guo-Wei Shieh, Manish Jain
-
Patent number: 7957307Abstract: An error correction system determines a level of error correction protection to apply to a frame of video data to be transmitted by a sending endpoint to a receiving endpoint based on the predicted impact of packet loss as well as the importance of the frame based on inter-frame dependencies, frame size, packet loss probability, historical packet loss pattern, central processing unit (CPU) load, and available network bandwidth. At the receiving endpoint, when packet loss is detected for a particular frame, the receiving endpoint will attempt to recover the frame using protection packets received along with the video data.Type: GrantFiled: March 14, 2007Date of Patent: June 7, 2011Assignee: Microsoft CorporationInventors: Jingyu Qiu, Timothy M. Moore, Guo-Wei Shieh, Zong Zong Yuan, Regis Crinon, Arvind Jayasundar
-
Publication number: 20100238789Abstract: Architecture for enabling a communications endpoint to quickly recover from a packet loss, reducing duration of a signal dropout. A communications component sends a downlink of dependency-structured signals, such as audio and/or video signals using compressed frames between key frames. A multipoint control component (MCC) is located between the communications component and multiple endpoints, and distributes the downlink to the multiple endpoints. A frame caching component caches a key frame of the downlink. If a key frame is lost at one of the endpoints, the endpoint sends a packet loss report to the frame caching component. The key frame is resent from the frame caching component to the endpoint in response to the key frame loss. In this way, the frame caching component can respond to specific frame loss situations on any of the endpoints, without interfering with the performance on the other endpoints.Type: ApplicationFiled: March 18, 2009Publication date: September 23, 2010Applicant: Microsoft CorporationInventors: Jingyu Qiu, Shiwei Wang, Regis J. Crinon, Guo-Wei Shieh
-
Patent number: 7676806Abstract: Techniques for deploying, maintaining and configuring complex hardware and software systems are provided. An abstract configuration of the system describes the system's desired state. Each component of the system declares the general form of the resources it requires and an abstract representation of the versions of the services it both requires and provides. A configuration process uses the abstract configuration of the system and the descriptions of each of the components in the system to validate that the system can operate effectively, ensures that each component is in the correct state and at the right version, and generates the necessary interconnections for the application components to interoperate with each other.Type: GrantFiled: September 27, 2005Date of Patent: March 9, 2010Assignee: Microsoft CorporationInventors: Pavel Curtis, Robert Schumaker, David A. Nichols, Eshwar Somashekar, Guo-Wei Shieh, Puja Gomber, Adil Faisal
-
Patent number: 7664246Abstract: Systems, methods, and/or techniques (“tools”) are described that sort speakers in a network-enabled conference. In some cases, this sorted list of speakers indicates which speaker is dominant. With this sorted list, a participant's communication device may provide context about the speakers. In some cases a participant's communication device has a display that presents real-time video of the speakers or other visual indicia, such as each or the most dominant speaker's name, picture, title, or location. These and other context about speakers may help participants better understand discussions in network-enabled conferences.Type: GrantFiled: January 13, 2006Date of Patent: February 16, 2010Assignee: Microsoft CorporationInventors: Anton W. Krantz, Dalibor Kukoleca, Wei Zhong, Guo-Wei Shieh, Zong Zong Yuan, Tim M Moore, Danny Levin, Michael R VanBuskirk
-
Patent number: 7603669Abstract: Techniques for upgrading and/or downgrading a data resource deployed on a machine from one version to another version are provided. An application component that defines the data resource may provide an up/down tool for use in changing the data resource component from one version to another version. The up/down tool comprises an up/down process and one or more version conversion rules. The up/down process utilizes the provided version conversion rules to determine the ability of the up/down tool to deploy the data resource and to actually deploy the data resource.Type: GrantFiled: September 27, 2005Date of Patent: October 13, 2009Assignee: Microsoft CorporationInventors: Pavel Curtis, Robert Schumaker, David A. Nichols, Eshwar Somashekar, Guo-Wei Shieh, Puja Gomber
-
Patent number: 7596720Abstract: Techniques for determining a complete address of a test point of an application from a relative address of the test point and a configuration of a system are provided. An application component that defines the application includes a relative address of the test point. An abstract configuration of a system specifies a location where an instance of the application is to be deployed within the system. The complete address of the test point is then formulated using the relative address of the test point and the indication of the location where an instance of the application is to be deployed within the system. The complete address of the test point can then be used to perform a health check of the instance of the application.Type: GrantFiled: September 27, 2005Date of Patent: September 29, 2009Assignee: Microsoft CorporationInventors: Pavel Curtis, Robert Schumaker, David A. Nichols, Eshwar Somashekar, Guo-Wei Shieh, Puja Gomber, Travis Muhlestein, Sergei Meleshchuk
-
Publication number: 20090196338Abstract: Architecture for enhancing the compression (e.g., luma, chroma) of a video signal and improving the perceptual quality of the video compression schemes. The architecture operates to reshape the normal multimodal energy distribution of the input video signal to a new energy distribution. In the context of luma, the algorithm maps the black and white (or contrast) information of a picture to a new energy distribution. For example, the contrast can be enhanced in the middle range of the luma spectrum, thereby improving the contrast between a light foreground object and a dark background. At the same time, the algorithm reduces the bit-rate requirements at a particular quantization step size. The algorithm can be utilized also in post-processing to improve the quality of decoded video.Type: ApplicationFiled: February 5, 2008Publication date: August 6, 2009Applicant: Microsoft CorporationInventors: Walid Ali, Shankar Regunathan, Guo-Wei Shieh, Bruce Lin, Bharath Siravara, Ce Wang
-
Publication number: 20090106020Abstract: To reduce audio glitch rendering buffer of an audio application is pre-filled with natural sounding audio rather than zeros. For every frame of audio sent for rendering, the rendering buffer is also pre-filled or the signal is stretched in the buffer in anticipation of a glitch. If the glitch does not occur, then the stretched signal is overwritten and the end user does not notice it. If the glitch does occur, then the rendering buffer is already filled with a stretched version of the previous audio and may result in sound that is acceptable. After recovery from the glitch, any new data is smoothly merged into the fake audio that was generated before.Type: ApplicationFiled: October 17, 2007Publication date: April 23, 2009Applicant: Microsoft CorporationInventors: Hosam A. Khalil, Guo-Wei Shieh
-
Publication number: 20080225735Abstract: An error correction system determines a level of error correction protection to apply to a frame of video data to be transmitted by a sending endpoint to a receiving endpoint based on the predicted impact of packet loss as well as the importance of the frame based on inter-frame dependencies, frame size, packet loss probability, historical packet loss pattern, central processing unit (CPU) load, and available network bandwidth. At the receiving endpoint, when packet loss is detected for a particular frame, the receiving endpoint will attempt to recover the frame using protection packets received along with the video data.Type: ApplicationFiled: March 14, 2007Publication date: September 18, 2008Applicant: Microsoft CorporationInventors: Jingyu Qiu, Timothy M. Moore, Guo-Wei Shieh, Zong Zong Yuan, Regis Crinon, Arvind Jayasundar
-
Publication number: 20080069127Abstract: A method of compensating for jitter in a packet stream is described. The method comprises placing undecoded frames extracted from packets in the packet stream into a jitter buffer while decoding frames from the jitter buffer and placing the decoded frames into a sample buffer at a rate determined using an average playout delay. The average playout delay is the running average of the playout delay calculated for each packet as each packet becomes available. The playout delay for each packet is the sum of a sample buffer delay and a jitter buffer delay. As each packet is received, the average playout delay is adjusted based on a comparison of the playout delay associated with the received packet to the current average playout delay.Type: ApplicationFiled: September 15, 2006Publication date: March 20, 2008Applicant: Microsoft CorporationInventors: Hosam A. Khalil, Guo-Wei Shieh, Tian Wang
-
Publication number: 20070165820Abstract: Systems, methods, and/or techniques (“tools”) are described that sort speakers in a network-enabled conference. In some cases, this sorted list of speakers indicates which speaker is dominant. With this sorted list, a participant's communication device may provide context about the speakers. In some cases a participant's communication device has a display that presents real-time video of the speakers or other visual indicia, such as each or the most dominant speaker's name, picture, title, or location. These and other context about speakers may help participants better understand discussions in network-enabled conferences.Type: ApplicationFiled: January 13, 2006Publication date: July 19, 2007Applicant: Microsoft CorporationInventors: Anton Krantz, Dalibor Kukoleca, Wei Zhong, Guo-Wei Shieh, Zong Zong Yuan, Tim Moore, Danny Levin, Michael VanBuskirk
-
Publication number: 20070074204Abstract: Techniques for upgrading and/or downgrading a data resource deployed on a machine from one version to another version are provided. An application component that defines the data resource may provide an up/down tool for use in changing the data resource component from one version to another version. The up/down tool comprises an up/down process and one or more version conversion rules. The up/down process utilizes the provided version conversion rules to determine the ability of the up/down tool to deploy the data resource and to actually deploy the data resource.Type: ApplicationFiled: September 27, 2005Publication date: March 29, 2007Applicant: Microsoft CorporationInventors: Pavel Curtis, Robert Schumaker, David Nichols, Eshwar Somashekar, Guo-Wei Shieh, Puja Gomber