Reconstructing efficiently encoded video frames in a distributed video coding environment
First Claim
1. A method, comprising:
- reconstructing, by a computing device, a sequence of video frames received from a sending device, in which at least some of the video frames are key video frames and others of the video frames are non-key video frames, at least one pixel block of at least one of the non-key video frames is indicated for reconstruction via a corresponding previous pixel block of a previous video frame, and at least one pixel block of at least one of the non-key video frames is not indicated for reconstruction via the corresponding previous pixel block of the previous video frame, said reconstructing comprises, for each video frame of the sequence of video frames;
if the video frame is a key video frame, then reconstructing the key video frame based on decoding an encoding of the key video frame, the encoding of the key video frame is received from the sending device; and
if the video frame is a non-key video frame, then reconstructing the non-key video frame, said reconstructing comprises, for each particular pixel block of one or more pixel blocks of the non-key video frame;
if the particular pixel block is indicated for reconstruction via the corresponding previous pixel block of the previous video frame, then reconstructing the particular pixel block of the non-key video frame based on the corresponding previous pixel block of the previous video frame; and
if the particular pixel block is not indicated for reconstruction via the corresponding previous pixel block of the previous video frame, then reconstructing the particular pixel block of the non-key video frame based on decoding an encoding of the particular pixel block of the non-key video frame received from the sending device, the encoding of the particular pixel block based at least in part on contents of the non-key video frame that contains the particular pixel block and not on contents of the previous key video frame, nor on contents of any other video frame positioned between the previous key video frame and the non-key video frame in the sequence of video frames.
2 Assignments
0 Petitions
Accused Products
Abstract
Systems and methods are presented for reconstructing sequences of video frames received from a sending device in a distributed video coding environment. Some of the video frames are received as key video frames fully encoded at the sending device. Others are received as non-key video frames partitioned into pixel blocks. Some of the pixel blocks are indicated for reconstruction via a corresponding previous pixel block of a previous video frame, while other pixel blocks are to be reconstructed by decoding encodings of those pixel blocks received from the sending device. Each received encoding of a pixel block is based on contents of the non-key video frame that contains the pixel block and not on contents of the previous key video frame, nor on contents of any other video frame positioned between the previous key video frame and the non-key video frame in the sequence of video frames.
4 Citations
20 Claims
-
1. A method, comprising:
reconstructing, by a computing device, a sequence of video frames received from a sending device, in which at least some of the video frames are key video frames and others of the video frames are non-key video frames, at least one pixel block of at least one of the non-key video frames is indicated for reconstruction via a corresponding previous pixel block of a previous video frame, and at least one pixel block of at least one of the non-key video frames is not indicated for reconstruction via the corresponding previous pixel block of the previous video frame, said reconstructing comprises, for each video frame of the sequence of video frames; if the video frame is a key video frame, then reconstructing the key video frame based on decoding an encoding of the key video frame, the encoding of the key video frame is received from the sending device; and if the video frame is a non-key video frame, then reconstructing the non-key video frame, said reconstructing comprises, for each particular pixel block of one or more pixel blocks of the non-key video frame; if the particular pixel block is indicated for reconstruction via the corresponding previous pixel block of the previous video frame, then reconstructing the particular pixel block of the non-key video frame based on the corresponding previous pixel block of the previous video frame; and if the particular pixel block is not indicated for reconstruction via the corresponding previous pixel block of the previous video frame, then reconstructing the particular pixel block of the non-key video frame based on decoding an encoding of the particular pixel block of the non-key video frame received from the sending device, the encoding of the particular pixel block based at least in part on contents of the non-key video frame that contains the particular pixel block and not on contents of the previous key video frame, nor on contents of any other video frame positioned between the previous key video frame and the non-key video frame in the sequence of video frames. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
8. A system, comprising:
-
a processor; and a memory coupled to the processor, wherein the memory stores program instructions for; reconstructing a sequence of video frames received from a sending device, in which at least some of the video frames are key video frames and others of the video frames are non-key video frames, at least one pixel block of at least one of the non-key video frames is indicated for reconstruction via a corresponding previous pixel block of a previous video frame, and at least one pixel block of at least one of the non-key video frames is not indicated for reconstruction via the corresponding previous pixel block of the previous video frame, said reconstructing comprises, for video frames of the sequence of video frames; if the video frame is a key video frame, then reconstructing the key video frame based on decoding an encoding of the key video frame, the encoding of the key video frame received from the sending device; and if the video frame is a non-key video frame, then reconstructing the non-key video frame, said reconstructing comprising, for each particular pixel block of one or more pixel blocks of the non-key video frame; if the particular pixel block is indicated for reconstruction via the corresponding previous pixel block of the previous video frame, then reconstructing the particular pixel block of the non-key video frame based on the corresponding previous pixel block of the previous video frame; and if the particular pixel block is not indicated for reconstruction via the corresponding previous pixel block of the previous video frame, then reconstructing the particular pixel block of the non-key video frame based on decoding an encoding of the particular pixel block of the non-key video frame received from the sending device, the encoding of the particular pixel block based on contents of the non-key video frame that contains the particular pixel block and not on contents of the previous key video frame, nor on contents of any other video frame positioned between the previous key video frame and the non-key video frame in the sequence of video frames. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. A tangible computer-readable storage device comprising instructions stored thereon that, responsive to execution by a computing device, causes the computing device to perform operations comprising:
reconstructing a sequence of video frames received from a sending device, in which at least some of the video frames are key video frames and others of the video frames are non-key video frames, at least one pixel block of at least one of the non-key video frames is indicated for reconstruction via a corresponding previous pixel block of a previous video frame, and at least one pixel block of at least one of the non-key video frames is not indicated for reconstruction via the corresponding previous pixel block of the previous video frame, said reconstructing comprises, for video frames of the sequence of video frames; if the video frame is a key video frame, then reconstructing the key video frame based on decoding an encoding of the key video frame, the encoding of the key video frame received from the sending device; and if the video frame is a non-key video frame, then reconstructing the non-key video frame, said reconstructing comprises, for each particular pixel block of one or more pixel blocks of the non-key video frame; if the particular pixel block is indicated for reconstruction via the corresponding previous pixel block of the previous video frame, then reconstructing the particular pixel block of the non-key video frame based on the corresponding previous pixel block of the previous video frame; and if the particular pixel block is not indicated for reconstruction via the corresponding previous pixel block of the previous video frame, then reconstructing the particular pixel block of the non-key video frame based on decoding an encoding of the particular pixel block of the non-key video frame received from the sending device, the encoding of the particular pixel block based on contents of the non-key video frame that contains the particular pixel block and not on contents of the previous key video frame, nor on contents of any other video frame positioned between the previous key video frame and the non-key video frame in the sequence of video frames. - View Dependent Claims (16, 17, 18, 19, 20)
Specification