Video encoding in a video conference
First Claim
1. A computing device for distributing video image data during a multi-participant conference, said computing device comprising:
- a set of receiving modules for receiving image data from participant devices of the multi-participant conference; and
an encoding module for generating, from the received image data, composite image data that includes sub-images from the participant devices, wherein the encoding module generates the composite image data by inter-block encoding each of the sub-images by examining blocks that are aligned with sub-pixel locations, wherein said examining comprises calculating a value for a sub-pixel location by performing interpolation operations on sets of pixels vertically and horizontally aligned with the sub-pixel location, wherein a set of constraints is applied to a region within which the interpolation operations are performed to allow the encoding of the sub-image to be independent of the encoding of any other sub-image.
0 Assignments
0 Petitions
Accused Products
Abstract
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.
-
Citations
34 Claims
-
1. A computing device for distributing video image data during a multi-participant conference, said computing device comprising:
-
a set of receiving modules for receiving image data from participant devices of the multi-participant conference; and an encoding module for generating, from the received image data, composite image data that includes sub-images from the participant devices, wherein the encoding module generates the composite image data by inter-block encoding each of the sub-images by examining blocks that are aligned with sub-pixel locations, wherein said examining comprises calculating a value for a sub-pixel location by performing interpolation operations on sets of pixels vertically and horizontally aligned with the sub-pixel location, wherein a set of constraints is applied to a region within which the interpolation operations are performed to allow the encoding of the sub-image to be independent of the encoding of any other sub-image. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A method of distributing video content in a multi-participant conference, the method comprising:
-
receiving an inter-encoded video image from a first participant device; detecting a condition that an expected inter-encoded video image has not been received from a second participant device; requesting an intra-encoded video image from the second participant device; receiving the requested intra-encoded video image; and transmitting, to at least the first participant device, a composite video image that comprises the intra-encoded video image received from the second participant device. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18)
-
-
19. A non-transitory computer readable medium storing a computer program that when executed by at least one processing unit distributes video content in a multi-participant conference, the computer program comprising:
-
a set of instructions for receiving an inter-encoded video image from a first participant device; a set of instructions for detecting that an expected inter-encoded video image has not been received from a second participant device; a set of instructions for requesting an intra-encoded video image from the second participant device; a set of instructions for receiving the requested intra-encoded video image; and a set of instructions for transmitting, to at least the first participant device, a composite video image that comprises the intra-encoded image received from the second participant device. - View Dependent Claims (20, 21, 22)
-
-
23. A method for encoding an image during a video conference with multiple participant devices, the method comprising:
-
generating a composite image comprising at least two sub-images from at least two participant devices; and inter-block encoding each sub-image by examining blocks that are aligned with sub-pixel locations, wherein said examining comprises calculating a value for a sub-pixel location by performing interpolation operations on sets of pixels vertically and horizontally aligned with the sub-pixel location, wherein a set of constraints is applied to a region within which the interpolation operations are performed to allow the encoding of the sub-image to be independent of the encoding of any other sub-image. - View Dependent Claims (24, 25, 26, 27, 28, 29)
-
-
30. A non-transitory computer readable medium storing a computer program that when executed by at least one processing unit encodes an image during a video conference with multiple participant devices, the computer program comprising sets of instructions for:
-
generating a composite image comprising at least two sub-images from at least two participant devices; and inter-block encoding each sub-image by examining blocks that are aligned with sub-pixel locations, wherein said examining comprises calculating a value for a sub-pixel location by performing interpolation operations on sets of pixels vertically and horizontally aligned with the sub-pixel location, wherein a set of constraints is applied to a region within which the interpolation operations are performed to allow the encoding of the sub-image to be independent of the encoding of any other sub-image. - View Dependent Claims (31, 32, 33, 34)
-
Specification