Video coding using segmented frames and retransmission to overcome channel errors
First Claim
1. A method for communicating, the method comprising:
- generating a first sequence of frames of a moving image;
spatially partitioning the moving image into a set of sub-sequences, wherein each sub-sequence contains a series of frame segments which are portions of the frames;
encoding each frame segment as a digital code, wherein each digital code is independent of the content of sub-sequences which do not include the frame segment encoded by the digital code; and
transmitting a signal representing the digital codes.
1 Assignment
0 Petitions
Accused Products
Abstract
A communication system and protocol uses retransmission techniques for video transmission on mobile/wireless channels. The system partitions frames of a moving image into frame segments, and combines a sequence of frame segments to form a sub-sequence of the moving image. The sub-sequences are treated as separate images which are separately encoded and transmitted to a receiver and then are combined to reassemble the moving image. A sender transmits to the receiver data packets, each data packet representing all or part of a digital code for a frame segment. The receiver requests retransmission of data packets containing detectable errors, indicates in a status buffer which digital codes have been received and whether the digital codes are intra or inter codes, and displays a frame only after all required data packets have been received without detectable errors. The segmented frames limit occasional failures to accurately retransmit data to individual sub-sequences, so that the failure to accurately transmit data is compensated for by subsequent transmission an intra coded digital code for a frame segment.
251 Citations
21 Claims
-
1. A method for communicating, the method comprising:
-
generating a first sequence of frames of a moving image; spatially partitioning the moving image into a set of sub-sequences, wherein each sub-sequence contains a series of frame segments which are portions of the frames; encoding each frame segment as a digital code, wherein each digital code is independent of the content of sub-sequences which do not include the frame segment encoded by the digital code; and transmitting a signal representing the digital codes. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. A method for communicating, the method comprising:
-
determining a threshold length for packets transmitted on a channel which connects a sender to a receiver, wherein the threshold length depends on a pattern of errors on the channel; generating a first sequence of frames of a moving image; encoding each frame as a series of digital values; transmitting a signal from the sender to the receiver via the channel, wherein; the signal represents sets of packets; each set of packets corresponds to a frame; each packet contains digital values from the series for the corresponding frame; and each packet has a length that is less than the threshold length; determining whether any of the transmitted packets contain an error when received by the receiver; sending from the receiver to the sender a request for retransmission of a packet containing an error; retransmitting the packet from the sender to the receiver; and converting packets received by the receiver without an error to digital values representing a second sequence of frames. - View Dependent Claims (14, 15)
-
-
16. A video encoder comprising:
-
counters which correspond to regions of a moving image, wherein each counter also corresponds to frame segments which indicate the content of the region which corresponds to that counter; and an encoding circuit adapted to partition a frame of the moving image into frame segments which correspond to the regions, to select inter coding or intra coding as a coding process for each frame segment, and to use the selected coding process for a frame segment to generate a digital code for that frame, wherein the encoding circuit selects the coding process for each frame segment according to a count in the one of the counters which corresponds to that frame segment. - View Dependent Claims (17, 18, 19)
-
-
20. A video decoder, comprising:
-
a receiving buffer for data packets which represent portions of frame segments; a status buffer containing an array of entries, each entry corresponding to a frame segment and indicating whether one or more data packets for that frame segment have been received without an error, wherein a frame segment for which all data packets have been received without an error has a corresponding entry which indicates whether the data packets for the frame segment represent an inter code or an intra code; and a decoding circuit coupled to the receiving buffer and the status buffer, wherein the decoding circuit decodes a frame after checking the entries in the status buffer and determining the frame is the most recent frame for which all digital packets required for decoding have been received without an error.
-
-
21. A method for communicating, comprising the steps of:
-
generating a first sequence of frames of a moving image; spatially partitioning the moving image into a set of sub-sequences, wherein each sub-sequence contains a series of frame segments which are portions of the frames; encoding each frame segment as a digital code, wherein each digital code is independent of the content of sub-sequences which do not include the frame segment encoded by the digital code; transmitting a signal representing the digital code; indicating if the digital code is received without an error; and indicating a coding process for the digital code, wherein possible coding processes include inter coding and intra coding.
-
Specification