Use of frame caching to improve packet loss recovery
First Claim
Patent Images
1. A method of decoding a signal transmitted over a network, comprising:
- receiving, at a decoder, a compressed stream containing a sequence of encoded frames comprising key frames and predicted frames, the key frames having been intra-coded, the predicted frames having been encoded using motion-compensated predictive encoding with reference to respective one or more reference frames, at least some of the encoded frames having code elements designating said frames that have the code elements to be a cached frame corresponding to a frame cached at the encoder;
upon receiving any frame designated to be a cached frame, retaining temporarily said any designated frame in a frame cache, at the decoder;
with said any designated frame retained in the frame cache at the decoder, detecting packet loss affecting a subsequent one of the encoded frames sent to the decoder;
with the decoder, sending a packet loss detection signal to the encoder indicating that packet loss has been detected;
in response to the packet loss detection, the decoder receiving, from the encoder, a generated frame having been encoded by the encoder using motion-compensated inter-picture compression encoding with reference to said frame cached at the encoder as a substitute frame for the frame affected by the packet loss, the generated frame being marked to indicate that the generated frame can be decoded from said any designated frame retained in the frame cache at the decoder;
with the decoder, decoding the generated frame with reference to said any designated frame retained in the frame cache at the decoder which corresponds to the frame cached at the encoder; and
with the decoder, producing a reconstructed frame sequence with an uncompressed frame based at least in part on said decoding of the generated frame.
2 Assignments
0 Petitions
Accused Products
Abstract
Various new and non-obvious apparatus and methods for using frame caching to improve packet loss recovery are disclosed. One of the disclosed embodiments is a method for using periodical and synchronized frame caching within an encoder and its corresponding decoder. When the decoder discovers packet loss, it informs the encoder which then generates a frame based on one of the shared frames stored at both the encoder and the decoder. When the decoder receives this generated frame it can decode it using its locally cached frame.
-
Citations
33 Claims
-
1. A method of decoding a signal transmitted over a network, comprising:
-
receiving, at a decoder, a compressed stream containing a sequence of encoded frames comprising key frames and predicted frames, the key frames having been intra-coded, the predicted frames having been encoded using motion-compensated predictive encoding with reference to respective one or more reference frames, at least some of the encoded frames having code elements designating said frames that have the code elements to be a cached frame corresponding to a frame cached at the encoder; upon receiving any frame designated to be a cached frame, retaining temporarily said any designated frame in a frame cache, at the decoder; with said any designated frame retained in the frame cache at the decoder, detecting packet loss affecting a subsequent one of the encoded frames sent to the decoder; with the decoder, sending a packet loss detection signal to the encoder indicating that packet loss has been detected; in response to the packet loss detection, the decoder receiving, from the encoder, a generated frame having been encoded by the encoder using motion-compensated inter-picture compression encoding with reference to said frame cached at the encoder as a substitute frame for the frame affected by the packet loss, the generated frame being marked to indicate that the generated frame can be decoded from said any designated frame retained in the frame cache at the decoder; with the decoder, decoding the generated frame with reference to said any designated frame retained in the frame cache at the decoder which corresponds to the frame cached at the encoder; and with the decoder, producing a reconstructed frame sequence with an uncompressed frame based at least in part on said decoding of the generated frame. - View Dependent Claims (2, 3, 4, 5, 6, 7, 12, 13, 14, 17, 18, 19, 20, 21)
-
-
8. A computer-readable storage device or memory storing computer-executable instructions for causing a computer system to perform a method comprising:
-
receiving, at a decoder, a compressed stream containing a sequence of encoded frames comprising key frames and predicted frames, the key frames having been intra-coded, the predicted frames having been encoded using motion-compensated predictive encoding with reference to respective one or more reference frames, at least some of the encoded frames having code elements designating said frames that have the code elements to be a cached frame corresponding to a frame cached at the encoder; upon receiving any frame designated to be a cached frame, retaining temporarily said any designated frame in a frame cache, at the decoder; with said any designated frame retained in the frame cache at the decoder, detecting packet loss affecting a subsequent one of the encoded frames sent to the decoder; with the decoder, sending a packet loss detection signal to the encoder indicating that packet loss has been detected; in response to the packet loss detection, the decoder receiving, from the encoder, a generated frame having been encoded by the encoder using motion-compensated inter-picture compression encoding with reference to said frame cached at the encoder as a substitute frame for the frame affected by the packet loss, the generated frame being marked to indicate that the generated frame can be decoded from said any designated frame retained in the frame cache at the decoder; with the decoder, decoding the generated frame with reference to said any designated frame retained in the frame cache at the decoder which corresponds to the frame cached at the encoder; and with the decoder, producing a reconstructed frame sequence with an uncompressed frame based at least in part on said decoding of the generated frame. - View Dependent Claims (22, 23, 24, 25, 26, 27, 28, 29, 30)
-
-
9. A system of streaming video within a lossy network comprising:
-
a decoder operable to receive data packets for a compressed stream containing a sequence of encoded frames comprising key frames and predicted frames from an encoder, the key frames having been intra-coded, the predicted frames having been encoded using motion-compensated predictive encoding with reference to respective one or more reference frames, at least some of the encoded frames having code elements designating said frames that have the code elements to be a cached frame corresponding to a frame cached at the encoder; a frame cache at the decoder; the decoder operable upon receiving any frame designated to be a cached frame from the encoder to retain said any designated frame in the frame cache; the decoder operable to decode the key frames received from the encoder;
the decoder operable to decode the motion-compensated predicted frames received from the encoder with reference to their respective reference frames;the decoder being operable to detect packet loss that affects a subsequent one of the encoded frames; and
upon such detection, operable to signal said packet loss to the encoder and receive back from the encoder in response a generated frame having been encoded by the encoder using motion-compensated inter-picture compression encoding with respect to the frame cached at the encoder as replacement for the frame affected by the packet loss, the generated frame being marked to indicate that the generated frame can be decoded from said any designated frame retained in the frame cache at the decoder; andupon receipt of said generated frame from the encoder, the decoder operable to decode the generated frame with reference to the frame retained in the frame cache at the decoder, and to reconstruct a sequence of frames decoded from the compressed stream having an uncompressed frame based at least in part on said decoding of the generated frame. - View Dependent Claims (10, 15, 16)
-
-
11. A video processor, comprising:
-
a decoder with a frame cache, operable to retain a copy of a frame designated for caching in the frame cache and transmitted to the decoder from an encoder; the decoder operable to receive data packets for a compressed stream containing a sequence of encoded frames comprising key frames and predicted frames from an encoder, the key frames having been intra-coded, the predicted frames having been encoded using motion-compensated predictive encoding with reference to respective one or more reference frames, at least some of the encoded frames having code elements designating said frames that have the code elements as corresponding to a frame cached at the encoder for caching in the frame cache; the decoder operable to decode the key frames, and to decode the predicted frames with reference to their respective one or more reference frames; the decoder operable to retain temporarily said any designated frame in a frame cache; the decoder operable to detect packet loss that affects a subsequent frame during transmission from the encoder; the decoder operable to transmit location of the packet loss to the encoder; the decoder operable to receive from the encoder in response to the transmitted location of the packet loss a generated frame designated with a header code as having been encoded by the encoder using motion-compensated inter-picture compression encoding with reference to the frame cached at the encoder as a replacement for the frame affected by the packet loss; the decoder operable to decode the generated frame designated with the header code as a replacement frame with reference to the copy of the frame retained in the frame cache of the decoder; and the decoder operable to reconstruct a sequence of frames decoded from the compressed stream. - View Dependent Claims (31, 32, 33)
-
Specification