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: 9479276
    Abstract: 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: Grant
    Filed: July 9, 2013
    Date of Patent: October 25, 2016
    Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
    Inventors: Hosam A. Khalil, Guo-Wei Shieh, Tian Wang
  • Patent number: 9398314
    Abstract: 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: Grant
    Filed: February 5, 2008
    Date of Patent: July 19, 2016
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Walid Ali, Shankar Regunathan, Guo-Wei Shieh, Bruce Lin, Bharath Siravara, Ce Wang
  • Publication number: 20130294463
    Abstract: 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: Application
    Filed: July 9, 2013
    Publication date: November 7, 2013
    Inventors: Hosam A. Khalil, Guo-Wei Shieh, Tian Wang
  • Patent number: 8483243
    Abstract: 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: Grant
    Filed: September 15, 2006
    Date of Patent: July 9, 2013
    Assignee: Microsoft Corporation
    Inventors: Hosam A Khalil, Guo-Wei Shieh, Tian Wang
  • Patent number: 8441930
    Abstract: 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: Grant
    Filed: December 21, 2009
    Date of Patent: May 14, 2013
    Assignee: Microsoft Corporation
    Inventors: Jin Li, Humayun Mukhtar Khan, Guo-Wei Shieh, Manish Jain
  • Patent number: 8189492
    Abstract: 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: Grant
    Filed: March 18, 2009
    Date of Patent: May 29, 2012
    Assignee: Microsoft Corporation
    Inventors: Jingyu Qiu, Shiwei Wang, Regis J. Crinon, Guo-Wei Shieh
  • Patent number: 8005670
    Abstract: 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: Grant
    Filed: October 17, 2007
    Date of Patent: August 23, 2011
    Assignee: Microsoft Corporation
    Inventors: Hosam A. Khalil, Guo-Wei Shieh
  • Publication number: 20110149751
    Abstract: 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: Application
    Filed: December 21, 2009
    Publication date: June 23, 2011
    Applicant: Microsoft Corporation
    Inventors: Jin Li, Humayun Mukhtar Khan, Guo-Wei Shieh, Manish Jain
  • Patent number: 7957307
    Abstract: 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: Grant
    Filed: March 14, 2007
    Date of Patent: June 7, 2011
    Assignee: Microsoft Corporation
    Inventors: Jingyu Qiu, Timothy M. Moore, Guo-Wei Shieh, Zong Zong Yuan, Regis Crinon, Arvind Jayasundar
  • Publication number: 20100238789
    Abstract: 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: Application
    Filed: March 18, 2009
    Publication date: September 23, 2010
    Applicant: Microsoft Corporation
    Inventors: Jingyu Qiu, Shiwei Wang, Regis J. Crinon, Guo-Wei Shieh
  • Patent number: 7676806
    Abstract: 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: Grant
    Filed: September 27, 2005
    Date of Patent: March 9, 2010
    Assignee: Microsoft Corporation
    Inventors: Pavel Curtis, Robert Schumaker, David A. Nichols, Eshwar Somashekar, Guo-Wei Shieh, Puja Gomber, Adil Faisal
  • Patent number: 7664246
    Abstract: 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: Grant
    Filed: January 13, 2006
    Date of Patent: February 16, 2010
    Assignee: Microsoft Corporation
    Inventors: Anton W. Krantz, Dalibor Kukoleca, Wei Zhong, Guo-Wei Shieh, Zong Zong Yuan, Tim M Moore, Danny Levin, Michael R VanBuskirk
  • Patent number: 7603669
    Abstract: 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: Grant
    Filed: September 27, 2005
    Date of Patent: October 13, 2009
    Assignee: Microsoft Corporation
    Inventors: Pavel Curtis, Robert Schumaker, David A. Nichols, Eshwar Somashekar, Guo-Wei Shieh, Puja Gomber
  • Patent number: 7596720
    Abstract: 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: Grant
    Filed: September 27, 2005
    Date of Patent: September 29, 2009
    Assignee: Microsoft Corporation
    Inventors: Pavel Curtis, Robert Schumaker, David A. Nichols, Eshwar Somashekar, Guo-Wei Shieh, Puja Gomber, Travis Muhlestein, Sergei Meleshchuk
  • Publication number: 20090196338
    Abstract: 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: Application
    Filed: February 5, 2008
    Publication date: August 6, 2009
    Applicant: Microsoft Corporation
    Inventors: Walid Ali, Shankar Regunathan, Guo-Wei Shieh, Bruce Lin, Bharath Siravara, Ce Wang
  • Publication number: 20090106020
    Abstract: 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: Application
    Filed: October 17, 2007
    Publication date: April 23, 2009
    Applicant: Microsoft Corporation
    Inventors: Hosam A. Khalil, Guo-Wei Shieh
  • Publication number: 20080225735
    Abstract: 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: Application
    Filed: March 14, 2007
    Publication date: September 18, 2008
    Applicant: Microsoft Corporation
    Inventors: Jingyu Qiu, Timothy M. Moore, Guo-Wei Shieh, Zong Zong Yuan, Regis Crinon, Arvind Jayasundar
  • Publication number: 20080069127
    Abstract: 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: Application
    Filed: September 15, 2006
    Publication date: March 20, 2008
    Applicant: Microsoft Corporation
    Inventors: Hosam A. Khalil, Guo-Wei Shieh, Tian Wang
  • Publication number: 20070165820
    Abstract: 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: Application
    Filed: January 13, 2006
    Publication date: July 19, 2007
    Applicant: Microsoft Corporation
    Inventors: Anton Krantz, Dalibor Kukoleca, Wei Zhong, Guo-Wei Shieh, Zong Zong Yuan, Tim Moore, Danny Levin, Michael VanBuskirk
  • Publication number: 20070074204
    Abstract: 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: Application
    Filed: September 27, 2005
    Publication date: March 29, 2007
    Applicant: Microsoft Corporation
    Inventors: Pavel Curtis, Robert Schumaker, David Nichols, Eshwar Somashekar, Guo-Wei Shieh, Puja Gomber