Patent application number | Description | Published |
20080232469 | Rate Control for a Multimedia Compression and Encoding System - A rate controller for allocating a bit budget for video frames to be encoded is disclosed. The rate controller of the present invention considers many different factors when determining the frame bit budget including: desired video quality, target bit rate, frame type (intra-frame or inter-frame), frame duration, intra-frame frequency, frame complexity, intra-block frequency within an intra-frame, buffer overflow, buffer underflow, and the encoded video frame quality for a possible second pass. | 09-25-2008 |
20080232475 | VIDEO ENCODING AND DECODING - A method for encoding video with a two-dimensional (2D) transform separable to two one-dimensional ( | 09-25-2008 |
20080240600 | ADAPTIVELY POST FILTERING ENCODED VIDEO - Some embodiments of the invention provide a method of decoding an encoded video signal that includes a plurality of successive encoded images. The method initially receives an encoded image of the video signal. It then decodes the encoded image. The method next examines the decoded image to determine whether the decoded image satisfies at least one criterion for performing a post-filter operation on the decoded image. Only if the decoded image satisfies the criterion, the method performs the post-filter operation on the decoded image. The criterion in some embodiments is whether the amount of time for applying the post-filter operation exceeds the remaining amount of time that the method has to process the received image. Some embodiments of the invention provide a method of post-filtering a current image that was decoded from an encoded video signal, which includes a plurality of successive encoded images. The current image has several sub-sections. The method selects a sub-section of the current image. It then determines whether the selected sub-section satisfies at least one condition for performing a post-filter operation on the selected sub-section. The method next performs the post-filter operation on the selected sub-section only if the selected sub-section satisfies the criterion. | 10-02-2008 |
20090010325 | METHOD OF PERFORMING RATE CONTROL FOR A COMPRESSION SYSTEM - A rate controller for allocating a bit budget for video frames to be encoded is disclosed. The rate controller of the present invention considers many different factors when determining the frame bit budget including: desired video quality, target bit rate, frame type (intra-frame or inter-frame), frame duration, intra-frame frequency, frame complexity, intra-block frequency within an intra-frame, buffer overflow, buffer underflow, and the encoded video frame quality for a possible second pass. | 01-08-2009 |
20100189178 | VIDEO ENCODING IN A VIDEO CONFERENCE - Some embodiments provide an architecture for establishing multi-participant video conferences. This architecture has a central distributor that receives video images from two or more participants. From the received images, the central distributor generates composite images that the central distributor transmits back to the participants. Each composite image includes a set of sub images, where each sub image belongs to one participant. In some embodiments, the central distributor saves network bandwidth by removing each particular participant's image from the composite image that the central distributor sends to the particular participant. In some embodiments, images received from each participant are arranged in the composite in a non-interleaved manner. For instance, in some embodiments, the composite image includes at most one sub-image for each participant, and no two sub-images are interleaved. | 07-29-2010 |
20110007798 | METHOD FOR IMPLEMENTING A QUANTIZER IN A MULTIMEDIA COMPRESSION AND ENCODING SYSTEM - Method For Implementing A Quantizer In A Multimedia Compression And Encoding System is disclosed. In the Quantizer system of the present invention, several new quantization ideas are disclosed. In one embodiment, adjacent macroblocks are grouped together into macroblock groups. The macroblock groups are then assigned a common quantizer value. The common quantizer value may be selected based upon how the macroblocks are encoded, the type of macroblocks within the macroblock group (intra-blocks or inter-blocks), the history of the motion vectors associated with the macroblocks in the macroblock group, the residuals of the macroblocks in the macroblock group, and the energy of the macroblocks in the macroblock group. The quantizer value may be adjusted in a manner that is dependent on the current quantizer value. Specifically, if the quantizer value is at the low end of the quantizer scale, then only small adjustments are made. If the quantizer value is at the high end then larger adjustments may be made to the quantizer. Finally, in one embodiment, the quantizer is implemented along with an inverse quantizer for efficient operation. | 01-13-2011 |
20110019879 | Adaptive Motion Estimation - Some embodiments of the invention provide a method for adaptively performing motion estimation. In some embodiments, the method initially performs a first motion estimation operation. It then determines whether the estimated error in the result of the first motion estimation is greater than a particular threshold. If not, the method uses the results of the first motion estimation operation. Otherwise, the method selects another motion estimation operation. The method continues in this manner until it performs a motion estimation operation that results in an acceptable estimated error, or until it tries all the motion estimation operations at its disposal. When the method cannot identify a motion estimation operation that produces results with an acceptable estimated error, the method selects the result of the motion estimation operation that produced the best results. | 01-27-2011 |
20110182360 | ENCODING VIDEO - Some embodiments of the invention provide a method for encoding a video signal that is formed by a series of successive images. Each image includes several sections, and each section has a set of image values. To encode a particular section of a particular image, the method initially partitions the particular section into several sub-sections. For each of at least two particular sub-sections, the method then computes a statistical parameter regarding the image values of the particular sub-section. The method compares the computed statistical parameters, and based on the comparison, selects an encoding technique from a set of encoding techniques to encode the particular section. In some embodiments, the set of encoding schemes includes a first scheme that encodes the selected section without reference to any other section of any other image, and a second scheme that encodes the selected section by reference to at least one other section. | 07-28-2011 |
20110188575 | ENCODING VIDEO - Some embodiments of the invention provide a method for encoding a video signal that is formed by a series of successive images. Each image includes several sections, and each section has a set of image values. To encode a particular section of a particular image, the method initially partitions the particular section into several sub-sections. For each of at least two particular sub-sections, the method then computes a statistical parameter regarding the image values of the particular sub-section. The method compares the computed statistical parameters, and based on the comparison, selects an encoding technique from a set of encoding techniques to encode the particular section. In some embodiments, the set of encoding schemes includes a first scheme that encodes the selected section without reference to any other section of any other image, and a second scheme that encodes the selected section by reference to at least one other section. | 08-04-2011 |
20110243218 | METHOD OF IMPLEMENTING IMPROVED RATE CONTROL FOR A MULTIMEDIA COMPRESSION AND ENCODING SYSTEM - The rate controller in a digital video encoding system is responsible for allocating a bit budget for video frames to be encoded. The rate controller considers many different factors when determining the frame bit budget. One of the factors considered is the complexity of the frames being compressed. Occasionally there will be a very complex frame that is not representative of the overall video frame sequence. Such a rare complex frame may cause a disproportionate affect on the bit budget allocation. The system of the present invention limits the amount that a very complex frame can change the bit budget allocation. The rate controller of the present invention also includes a relaxation factor. The relaxation factor allows a user to determine if the rate controller should strictly allocate its bit budget or relax its standards such that the rate controller may not be so conservative when allocating bits to frames. | 10-06-2011 |
20110249073 | Establishing a Video Conference During a Phone Call - 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. | 10-13-2011 |
20110249074 | In Conference Display Adjustments - Some embodiments provide a method for modifying a composite display of a first mobile device that is engaged in a video conference with a second device. The method presents, on the first device, the composite display having a first video captured by the first device and a second video captured by the second device. The method receives, at the first device, an input for modifying the composite display during the video conference. The method modifies the composite display based on the received input. | 10-13-2011 |
20110249075 | Remote Control Operations in a Video Conference - Some embodiments provide a method for allowing a first device that is in a video conference with a second mobile device to remotely control the second mobile device. The method sends images captured by a camera of the first device to the second device. The method receives images captured by a camera of the second device. The method sends a command through a communication channel of a real-time communication session to the second device. The command is for instructing the second device to perform an operation that modifies the images captured by the camera of the second device. | 10-13-2011 |
20110249076 | Different Rate Controller Configurations for Different Cameras of a Mobile Device - Some embodiments provide a method for encoding video pictures captured by a mobile device having at least first and second cameras. The method identifies a first rate controller parameter that is based on at least a first value that quantifies one characteristic of the first camera. The method uses the first rate controller parameter to configure a set of rate controllers to adjust a bit rate for encoding video pictures captured by the first camera. The method identifies a second rate controller parameter that is based on at least a second value that quantifies the same characteristic of the second camera. The first and second values are different, and the difference causes the first and second rate controller parameters to be different. The method uses the second rate controller parameter to configure the set of rate controllers to adjust a bit rate for encoding video pictures captured by the second camera. | 10-13-2011 |
20110249077 | Video Conference Network Management for a Mobile Device - Some embodiments provide a method for managing a video conference between a first device and a second device. The method identifies a first ceiling bit rate for transmitting video conference data to the second device through the communication channel. The method identifies a current bit rate that is less than the first ceiling bit rate. The method receives networking data regarding the communication channel from the second device. The method determines, from the received network data, that the communication channel will sustain an increase in the current bit rate. The method increments the current bit rate. The method iteratively performs the receiving, determining, and incrementing operations until a determination is made that the communication channel will not sustain the increase in the current bit rate. | 10-13-2011 |
20110249078 | Switching Cameras During a Video Conference of a Multi-Camera Mobile Device - Some embodiments provide a method for conducting a video conference between a first mobile device and a second device. The first mobile device includes first and second cameras. The method selects the first camera for capturing images. The method transmits images captured by the first camera to the second device. The method receives selections of the second camera for capturing images during the video conference. The method terminates the transmission of images captured by the first camera and transmits images captured by the second camera of the first mobile device to the second device during the video conference. | 10-13-2011 |
20120008695 | ENCODING WITH VISUAL MASKING - Some embodiments of the invention encode a sequence of video images based on “visual masking” attributes of the video images and/or portions of the video images. Visual masking of an image or a portion of the image is an indication of how much coding artifacts can be tolerated in the image or image portion. To express the visual masking attribute of an image or an image portion, some embodiments compute a visual masking strength that quantifies the brightness energy of the image or the image portion. In some embodiments, the brightness energy is measured as a function of the average luma or pixel energy of the image or image portion. | 01-12-2012 |
20120155541 | PRUNING DURING VIDEO ENCODING - A method for encoding a first set of pixels in a first image in a sequence of images. From a set of encoding modes, the method selects a first mode for encoding the first set of pixels. The method then determines whether encoding the first set of pixels in the first mode satisfies a set of quality criteria. The method foregoes encoding the first set of pixels in a second mode from the set of encoding modes, when the first mode encoding satisfies the set of quality criteria. Some embodiments provide a video encoding method that examines different methods for encoding a set of pixels in a first image. From a list of possible encoding modes, the method eliminates a set of encoding modes that are not likely to provide a suitable encoding solution. The method then examines different encoding solutions based on the remaining encoding modes in the list. | 06-21-2012 |
20120250761 | MULTI-PASS VIDEO ENCODING - Some embodiments of the invention provide a multi-pass encoding method that encodes several images (e.g., several frames of a video sequence). The method iteratively performs an encoding operation that encodes these images. The encoding operation is based on a nominal quantization parameter, which the method uses to compute quantization parameters for the images. During several different iterations of the encoding operation, the method uses several different nominal quantization parameters. The method stops its iterations when it reaches a terminating criterion (e.g., it identifies an acceptable encoding of the images). | 10-04-2012 |
20120281715 | ADAPTIVE BANDWIDTH ESTIMATION - Some embodiments provide a method of combining multiple streams of data packets into a single combined stream in a manner that facilitates accurate estimation of bandwidth of a connection over a network between two devices. When combining the streams into the combined stream, the method associates a set of packets from a first stream and a reference packet from a second stream to form a longer sequence of packets in the combined stream. The method sends the combined stream from a first device to a second device so that the second device can estimate the bandwidth of the connection between the first and second devices based on the inter-arrival times of the packets in the sequence of packets. | 11-08-2012 |
20120287227 | VIDEO ENCODING IN A VIDEO CONFERENCE - Some embodiments provide an architecture for establishing multi-participant video conferences. This architecture has a central distributor that receives video images from two or more participants. From the received images, the central distributor generates composite images that the central distributor transmits back to the participants. Each composite image includes a set of sub images, where each sub image belongs to one participant. In some embodiments, the central distributor saves network bandwidth by removing each particular participant's image from the composite image that the central distributor sends to the particular participant. In some embodiments, images received from each participant are arranged in the composite in a non-interleaved manner. For instance, in some embodiments, the composite image includes at most one sub-image for each participant, and no two sub-images are interleaved. | 11-15-2012 |
20130265378 | Switching Cameras During a Video Conference of a Multi-Camera Mobile Device - Some embodiments provide a method for conducting a video conference between a first mobile device and a second device. The first mobile device includes first and second cameras. The method selects the first camera for capturing images. The method transmits images captured by the first camera to the second device. The method receives selections of the second camera for capturing images during the video conference. The method terminates the transmission of images captured by the first camera and transmits images captured by the second camera of the first mobile device to the second device during the video conference. | 10-10-2013 |
20130297875 | Encoding and Decoding Images - Some embodiments provide a method for encoding a first set of pixels in a first image by reference to a second image in a video sequence. In a first search window within a second image, the method searches to identify a first particular portion in the second image that best matches the first set of pixels in the first image. In the first search window within the second image, the method identifies a first location corresponding to the first particular portion. In a second search window within the second image, the method then searches to identify a second particular portion in the second image that best matches the first set of pixels in the first image, where the second search window is defined about the first location. | 11-07-2013 |
20140354759 | Establishing a Video Conference During a Phone Call - 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. | 12-04-2014 |
20150103135 | Compositing Pairs Of Image Frames From Different Cameras Of A Mobile Device To Generate A Video Stream - 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. | 04-16-2015 |