Abstract:
Techniques for coding video data estimate depths of different elements within video content and identify regions within the video content based on the estimated depths. One of the regions may be assigned as an area of interest. Thereafter, video content of a region that is not an area of interest may be masked out and the resultant video content obtained from the masking may be coded. The coded video content may be transmitted to a channel. These techniques permit a coding terminal to mask out captured video content prior to coding in order to support coding policies that account for privacy interests or video composition features during a video coding session.
Abstract:
A video coder, responsive to detection of a zooming transition in source video, estimates a scale factor and a zooming rectangle for a reference frame, scales content of the reference frame within the zooming rectangle according to the scaling factor, codes content of a new frame of the source video predictively using the scaled reference frame as a basis of prediction, and transmits coded video data obtained from the predictive coding to a decoder along with an indication of the scaling factor and zooming rectangle.
Abstract:
A method for decoding a compressed video data sequence containing one or more coded pixel blocks. The compressed video sequence is buffered. Prediction information for each of the coded pixel blocks is reviewed. One or more groups of coded pixel blocks are formed based on the reviewed prediction information such that the coded pixel blocks within a given group have similar prediction dependencies and/or at least do not depend on a reconstructed pixel within a group of received pixel blocks to enable parallel decoding. The formed groups are scheduled for processing and subsequently decoded to produce a decoded video data sequence.
Abstract:
Systems and methods are provided for processing high quality video data, such as data having a higher than standard bit depth, a high dynamic range, or a wide or custom color gamut, to be compatible with conventional encoders and decoders without significant loss of quality. High quality data is encoded into a plurality of layers with a base layer having the standard quality data and one or more higher quality layers. Decoding systems and methods may map the base layer to the dynamic range or color gamut of the enhancement layer, combine the layers, and map the combined layers to a dynamic range or color gamut appropriate for the target display. Each of the standard quality and the high quality data may be encoded as a plurality of tiers of increasing quality and reference lower level tiers as sources of prediction during predictive coding.
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.
Abstract:
Some embodiments provide a novel method for in-conference adjustment of encoded video pictures captured by a mobile device having at least first and second cameras. The method may involve real-time modifications of composite video displays that are generated by the mobile devices involved in such a conference. Specifically, in some embodiments, the mobile devices generate composite displays that simultaneously display multiple videos captured by multiple cameras of one or more devices. In some cases, the composite displays place the videos in adjacent display areas (e.g., in adjacent windows). In other cases, the composite display is a picture-in-picture (PIP) display that includes at least two display areas that show two different videos where one of the display areas is a background main display area and the other is a foreground inset display area that overlaps the background main display area.
Abstract:
A system may include a detector, a controller, and an encoder. The detector may receive data from video input to detect a group of pixels in a video sequence, and may determine whether the group of pixels needs additional bits for encoding. The controller may determine the number of bits for the additional bits and may allocate the additional bits with the number of bits in a data stream. The encoder may by controlled by the controller to encode the group of pixels with the additional bits, and output to the encoded output.
Abstract:
Some embodiments provide a method for initiating a video conference using a first mobile device. The method presents, during an audio call through a wireless communication network with a second device, a selectable user-interface (UI) item on the first mobile device for switching from the audio call to the video conference. The method receives a selection of the selectable UI item. The method initiates the video conference without terminating the audio call. The method terminates the audio call before allowing the first and second devices to present audio and video data exchanged through the video conference.
Abstract:
YCbCr image data may be dithered and converted into RGB data shown on a 8-bit or other bit display. Dither methods and image processors are provided which generate the banding artifact free image data during this process. Some methods and image processors may applying a stronger dither having a same mean with a larger variance to the image data before it is converted to RGB data. Others methods and image processors may calculate a quantization or encoding error and diffuse the calculated error among one or more neighboring pixel blocks.
Abstract:
Coded video data may be transmitted between an encoder and a decoder using multiple FEC codes and/or packets for error detection and correction. Only a subset of the FEC packets need be transmitted between the encoder and decoder. The FEC packets of each FEC group may take, as inputs, data packets of a current FEC group and also an untransmitted FEC packet of a preceding FEC group. Due to relationships among the FEC packets, when transmission errors arise and data packets are lost, there remain opportunities for a decoder to recover lost data packets from earlier-received FEC groups when later-received FEC groups are decoded. This opportunity to recover data packets from earlier FEC groups may be useful in video coding and other systems, in which later-received data often cannot be decoded unless earlier-received data is decoded properly.