Abstract:
Semiconductor devices and back side illumination (BSI) sensor manufacturing methods are disclosed. In one embodiment, a method of manufacturing a semiconductor device includes providing a workpiece and forming an integrated circuit on a front side of the workpiece. A grid of a conductive material is formed on a back side of the workpiece using a damascene process.
Abstract:
Semiconductor devices and back side illumination (BSI) sensor manufacturing methods are disclosed. In one embodiment, a method of manufacturing a semiconductor device includes providing a workpiece and forming an integrated circuit on a front side of the workpiece. A grid of a conductive material is formed on a back side of the workpiece using a damascene process.
Abstract:
The quality and robustness of audio echo cancellation is enhanced by selectively applying glitch recovery processes based on a quality measurement of the relative offset between capture and render audio streams. For example, large and small glitch detection is enabled for low relative offset variance; large glitch detection is enabled in a medium range of relative offset variance; and neither enabled at high variance. Further, a fast glitch recovery process suspends updating the adaptive filter coefficients of the audio echo cancellation while buffers are re-aligned to recover from the glitch, so as to avoid resetting the adaptive filter. When clock drift exists between capture and render audio streams, a multi-step compensation method is applied to improve AEC output quality in case the drifting rate is low; and a resampler is used to compensate the drift in case the drifting rate is high. An anti-clipping process detects clipping of the signals, and also suspends adaptive filter updating during clipping.
Abstract:
Subscriptions in a video conference may be provided using multiple bit rate streams. A video conference server may receive video streams from each client in a video conference and may receive subscription requests from each client. The subscription requests may include requests to see video streams from specific other clients at a given resolution and/or frame rate. The video conference server may match up the received video streams with the subscription requests in order to send the subscribing clients their desired video streams. The server may also be able to request different versions of video streams from participants (e.g. different resolutions) and/or alter the video streams in order to better comply with the subscription request.
Abstract:
A method and system for dynamically altering the transmission settings of one or more computing devices engaged in a real-time communication session is presented. The devices exchange meaningful and dummy control packets according to a standard control protocol. The approximate bandwidth available on the network is then calculated based on the difference in arrival times between at least one of the dummy control packets and at least one of the meaningful control packets. Once the approximate bandwidth available on the network is computed, the one or more devices adjust outgoing audio and video data streams using a quality control mechanism. The quality control mechanism enables the one or more devices to transmit data in a way that maximizes the user experience during the real-time communication session.
Abstract:
A technique for reducing information reception delays is provided. The technique reduces delays that may be caused by protocols that guarantee order and delivery, such as TCP/IP. The technique creates multiple connections between a sender and recipient computing devices and sends messages from the sender to the recipient on the multiple corrections redundantly. The recipient can then use the first arriving message and ignore the subsequently arriving redundant messages. The recipient can also wait for a period of time before determining which of the arrived messages to use. The technique may dynamically add connections if messages are not consistently received in a timely manner on multiple connections. Conversely, the technique may remove connections if messages are consistently received in a timely manner on multiple connections. The technique can accordingly be used with applications that are intolerant of data reception delays such as Voice over IP, real-time streaming audio, or real-time streaming video.
Abstract:
Video conference rate matching may be provided. A video conference server may receive video source streams from clients on a video conference. The server may analyze each client's capabilities and choose a video stream to send to each client based on those capabilities. For example, a client capable of encoding and decoding a high definition video stream may provide three source video streams—a high definition stream, a medium resolution stream, and a low resolution stream. The server may send only the low resolution stream to a client with a low amount of available bandwidth. The server may send the medium resolution stream to another client with sufficient bandwidth for the high definition stream, but which lacks the ability to decode the high definition stream.
Abstract:
An architecture for an extensible real-time collaboration system is provided. The architecture presents a unified application program interface for writing application programs that use communications protocols. The architecture has activity objects, endpoint objects, and multiple media stacks. These objects may use various communications protocols, such as Session Initiation Protocol or Real-Time Transport Protocol to send and receive messages. The activity objects, endpoint objects, and multiple media stacks may each have one or more APIs that an application developer can use to access or provide collaboration-related functionality. These objects map the API to the underlying implementation provided by other objects. Using the activity objects enables a developer to provide less application logic than would otherwise be necessary to provide complex collaboration services.
Abstract:
A technique for reducing information reception delays is provided. The technique reduces delays that may be caused by protocols that guarantee order and delivery, such as TCP/IP. The technique creates multiple connections between a sender and recipient computing devices and sends messages from the sender to the recipient on the multiple corrections redundantly. The recipient can then use the first arriving message and ignore the subsequently arriving redundant messages. The recipient can also wait for a period of time before determining which of the arrived messages to use. The technique may dynamically add connections if messages are not consistently received in a timely manner on multiple connections. Conversely, the technique may remove connections if messages are consistently received in a timely manner on multiple connections. The technique can accordingly be used with applications that are intolerant of data reception delays such as Voice over IP, real-time streaming audio, or real-time streaming video.
Abstract:
Various strategies for rate/quality control and loss resiliency in an audio codec are described. The various strategies can be used in combination or independently. For example, a real-time speech codec uses intra frame coding/decoding, adaptive multi-mode forward error correction [“FEC”], and rate/quality control techniques. Intra frames help a decoder recover quickly from packet losses, while compression efficiency is still emphasized with predicted frames. Various strategies for inserting intra frames and signaling intra/predicted frames are described. With the adaptive multi-mode FEC, an encoder adaptively selects between multiple modes to efficiently and quickly provide a level of FEC that takes into account the bandwidth currently available for FEC. The FEC information itself may be predictively encoded and decoded relative to primary encoded information. Various rate/quality and FEC control strategies allow additional adaptation to available bandwidth and network conditions.