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:
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:
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:
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.
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:
A system obtains a data set representing immersive video content for display at a display time, including first data representing the content according to a first level of detail, and second data representing the content according to a second higher level of detail. During one or more first times prior to the display time, the system causes at least a portion of the first data to be stored in a buffer. During one or more second times prior to the display time, the system generates a prediction of a viewport for displaying the content to a user at the display time, identifies a portion of the second data corresponding to the prediction of the viewport, and causes the identified portion of the second data to be stored in the video buffer. At the display time, the system causes the content to be displayed to the user using the video buffer.