Abstract:
Computing devices may implement instant video communication connections for video communications. Connection information for mobile computing devices may be maintained. A request to initiate an instant video communication may be received, and if authorized, the connection information for the particular recipient mobile computing device may be accessed. Video communication data may then be sent to the recipient mobile computing device according to the connection information so that the video communication data may be displayed at the recipient device as it is received. New connection information for different mobile computing devices may be added, or updates to existing connection information may also be performed. Connection information for some mobile computing devices may be removed.
Abstract:
Methods and systems provide video compression to reduce a “popping” effect caused by differences in quality between a refresh frame (e.g., I-frame or IDR-frame) and neighboring frame(s). In an embodiment, a quality of a pre-definable number of frames preceding a refresh frame (“preceding frames”) may be increased. A quantization parameter may be decreased for a region within at least one of the preceding frame(s). In an embodiment, preceding frames may be coded according to an open group of pictures (“GOP”) structure. In an embodiment, a refresh frame may be first coded as a P-frame, then coded based on the coded P-frame. In an embodiment, preceding frames may be first coded based on the refresh frame, then coded based on the coded frames without referencing the refresh frame. Each of these methods may increase consistency of quality in a sequence of frames, and, correspondingly, minimize or remove I-frame popping.
Abstract:
Computing devices may implement instant video communication connections for video communications. Connection information for mobile computing devices may be maintained. A request to initiate an instant video communication may be received, and if authorized, the connection information for the particular recipient mobile computing device may be accessed. Video communication data may then be sent to the recipient mobile computing device according to the connection information so that the video communication data may be displayed at the recipient device as it is received. New connection information for different mobile computing devices may be added, or updates to existing connection information may also be performed. Connection information for some mobile computing devices may be removed.
Abstract:
In a communication system, parallel encoding and decoding of serially-coded data occurs in a manner that supports low latency communication. A plurality of data items may be coded as serially-coded data sequences and a transmission sequence may be built from them. An index table may be built having a plurality of entries representing respective start points of the serially-coded data sequences within the transmission sequence. The transmission sequence may be transmitted to a channel and, thereafter, the index table may be transmitted. Latencies otherwise involved in inserting an index table into the beginning of a transmission sequence may be avoided.
Abstract:
Systems and processes for improved video editing, summarization and navigation based on generation and analysis of metadata are described. The metadata may be content-based (e.g., differences between neighboring frames, exposure data, key frame identification data, motion data, or face detection data) or non-content-based (e.g., exposure, focus, location, time) and used to prioritize and/or classify portions of video. The metadata may be generated at the time of image capture or during post-processing. Prioritization information, such as a score for various portions of the image data may be based on the metadata and/or image data. Classification information such as the type or quality of a scene may be determined based on the metadata and/or image data. The classification and prioritization information may be metadata and may be used to automatically remove undesirable portions of the video, generate suggestions during editing or automatically generate summary video.
Abstract:
Computing devices may implement instant video communication connections for video communications. Connection information for mobile computing devices may be maintained. A request to initiate an instant video communication may be received, and if authorized, the connection information for the particular recipient mobile computing device may be accessed. Video communication data may then be sent to the recipient mobile computing device according to the connection information so that the video communication data may be displayed at the recipient device as it is received. New connection information for different mobile computing devices may be added, or updates to existing connection information may also be performed. Connection information for some mobile computing devices may be removed.
Abstract:
A method and system for caching and streaming media content, including predictively delivering and/or acquiring content is provided. In the system, client devices may be communicatively coupled in a network, and may access and share cached content. Video segments making up a media stream may be selectively delivered to the clients such that a complete media stream may be formed from the different segments delivered to the different clients. Video segments may be pushed by the server to the client or requested by the client according to a prioritization scheme, including downloading: partial items on a client's subscription log, lower quality version(s) of content before higher quality version(s), higher bitrate segments before lower bitrate segments, summaries of full-length content, advertisements and splash screens common to multiple video clips.
Abstract:
Chroma deblock filtering of reconstructed video samples may be performed to remove blockiness artifacts and reduce color artifacts without over-smoothing. In a first method, chroma deblocking may be performed for boundary samples of a smallest transform size, regardless of partitions and coding modes. In a second method, chroma deblocking may be performed when a boundary strength is greater than 0. In a third method, chroma deblocking may be performed regardless of boundary strengths. In a fourth method, the type of chroma deblocking to be performed may be signaled in a slice header by a flag. Furthermore, luma deblock filtering techniques may be applied to chroma deblock filtering.
Abstract:
An encoding system may include a video source that provides video data to be coded, a video coder, a transmitter, and a controller to manage operation of the system. The controller may control the video coder to code and compress the image information from the video source into video data, based upon one or more motion prediction parameters. The transmitter may transmit the video data. A decoding system may decode the video data based upon the motion prediction parameters.
Abstract:
Embodiments of the present invention generate estimates of device motion from two data sources on a computing device—a motion sensor and a camera. The device may compare the estimates to each other to determine if they agree. If they agree, the device may confirm that device motion estimates based on the motion sensor are accurate and may output those estimates to an application within the device. If the device motion estimates disagree, the device may alter the motion estimates obtained from the motion sensor before outputting them to the application.