IP Library › Granted Patent US 7,400,774
Granted Patent B2
US 7,400,774 · App. 10/651,854 · Granted Jul 15, 2008

Encoding and decoding of digital data using cues derivable at a decoder

Assignee: The Regents of the University of California
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,400,774
App. No.
10/651,854
Granted
Jul 15, 2008
Kind
B2
Abstract

Encoding digital data by using cues at a decoder. An encoder selects an index to indicate a target codeword from the complete space of all codewords to a decoder. The index identifies a group or a set of codewords that contain the target codeword. The sets are represented by a bit-length that is smaller than the code word bit-length thus achieving compression. Two or more codewords in such a set are separated by a predetermined distance and all such sets of codewords considered together form the complete space of all codewords. The encoder sends syntax information, including the index, to specify the decoding. The decoder then uses a set of candidate cues in a comparison operation to determine the target codeword from the indexed set. Processing complexity can be allocated among the encoder, decoder and other possible devices as, for example, in a digital network.

Claims (89)

1. A method for encoding digital information, the method comprising

identifying a target code word that represents at least a portion of the digital information;

determining a set of a plurality of code words, wherein the set includes the target code word;

selecting an index, wherein the index indicates the determined set;

determining a check value for the target code word using a result of operating on the target code word with a cue; and

sending the check value and the index to a decoder, the index allowing identification of the set of the plurality of code words and the check value allowing the target code word to be determined from the set when a check value calculated for a code word in the set of the plurality of code words when operated on by a cue indicates a match for the sent check value.

2. The method of claim 1 , further comprising

defining a plurality of sets of code words.

3. The method of claim 2 , further comprising

defining a partition of sets of code words.

4. The method of claim 1 , wherein the target code word indicates one or more pixel values in digital video information.

5. The method of claim 1 , wherein the target code word indicates a macro block in a frame of digital video information.

6. The method of claim 1 , further comprising

quantizing the target code word.

7. The method of claim 6 , wherein the digital information includes digital video information including frames and wherein the target code word is encoded using intra-coding within a given frame of the digital video information.

8. The method of claim 7 , further comprising

using motion prediction is used to determine a correlation noise value; and

using the correlation noise value to partition a plurality of code word values into a plurality of sets.

9. The method of claim 1 , further comprising

transforming at least a portion of the digital information from a spatial domain into a frequency domain.

10. The method of claim 9 , wherein the step of transforming includes a substep of

using a discrete cosine transform.

11. The method of claim 1 , further comprising

classifying blocks of the digital information for subsequent processing.

12. The method of claim 11 , further comprising

skipping encoding a block in response to the step of classifying blocks.

13. The method of claim 11 , further comprising

intra-coding a block in response to the step of classifying blocks.

14. The method of claim 11 , further comprising

performing varying degrees of encoding in response to the step of classifying blocks.

15. An apparatus for encoding digital information, the apparatus comprising

a process for identifying a target code word that represents at least a portion of the digital information;

a process for determining a set of a plurality of code words, wherein the set includes the target code word;

a process for selecting an index, wherein the index indicates the determined set;

a process for determining a check value for the target code word using a result of operating on the target code word with a cue; and

a process for sending the check value and the index to a decoder, the index allowing identification of the set of the plurality of code words and the check value allowing the target code word to be determined from the set when a check value calculated for a code word in the set of the plurality of code words when operated on by a cue indicates a match for the sent check value.

16. A computer-readable medium storing computer instructions for encoding digital information, the computer instructions comprising

one or more instructions for identifying a target code word that represents at least a portion of the digital information;

one or more instructions for determining a set of a plurality of code words, wherein the set includes the target code word;

one or more instructions for selecting an index, wherein the index indicates the determined set;

one or more instructions for determining a check value for the target code word using a result of operating on the target code word with a cue; and

one or more instructions for sending the check value and the index to a decoder, the index allowing identification of the set of the plurality of code words and the check value allowing the target code word to be determined from the set when a check value calculated for a code word in the set of the plurality of code words when operated on by a cue indicates a match for the sent check value.

17. An apparatus for decoding encoded digital information, the apparatus comprising

a process for receiving an index and a check value, the check value generated by an encoder using a result of operating a cue on a target code word;

a process for using the index to determine a set of candidate code words;

a process for inferring a set of cues;

a process for determining a code word by operating on the code words in the set of the candidate code words with a cue;

a process for determining if the determined code word is the target code word when a check value calculated for the code word in the set of the plurality of code words when operated on by the cue indicates a match for the received check value; and

a process for using the target code word in a decoding operation.

18. A computer-readable medium storing computer instructions for decoding encoded digital information, the computer instructions comprising

one or more instructions for receiving an index and a check value, the check value generated by an encoder using a result of operating a cue on a target code word;

one or more instructions for using the index to determine a set of candidate code words;

one or more instructions for inferring a set of cues;

one or more instructions for determining a code word by operating on the code words in the set of the candidate code words with a cue;

one or more instructions for determining if the determined code word is the target code word when a check value calculated for the code word in the set of the plurality of code words when operated on by the cue indicates a match for the received check value; and

one or more instructions for using the target code word in a decoding operation.

19. A method for decoding encoded digital information, the method comprising

receiving an index and a check value, the check value generated by an encoder using a result of operating a cue on a target code word;

using the index to determine a set of candidate code words;

inferring a set of cues;

determining a code word by operating on the code words in the set of candidate code words with a cue;

determining if the determined code word is the target code word when a check value calculated for the code word in the set of the plurality of code words when operated on by the cue indicates a match for the received check value; and

using the target code word in a decoding operation.

20. The method of claim 19 , further comprising

determining a cue in the set of cues;

using the cue to determine a code word in the code words in the set; and

determining whether the code word produces a check value that is in agreement with the received check value.

21. The method of claim 19 , wherein the cue includes a motion-based predictor.

22. The method of claim 21 , wherein the step of inferring a cue includes a substep of

deriving the motion-based predictor.

23. The method of claim 22 , wherein the encoded digital information includes blocks of video information, the method further comprising

decoding the encoded digital information by using the predictor and one or more code words.

24. The method of claim 23 , further comprising

estimating the best way to decode the encoded digital information by using the predictor and the one or more code words.

25. The method of claim 19 , wherein the encoded digital information corresponds to a source that can be compressed by predictive coding, wherein the decoder includes two or more cues that produce a value that is in agreement with the check value to result in successful recovery of the target codeword.

26. A method for sharing processing complexity between an encoding process and a decoding process, wherein the encoding process and the decoding process each use an index for a target codeword, a check value for the target codeword and a set of candidate cues, the method comprising

using the encoder to perform the following steps:

selecting some cues from the set of candidate cues;

operating these cues on the indexed set of codewords;

generating a check value as a result of the operating step;

determining whether the check value matches the check value for the target codeword;

signaling whether the chosen cues were successful in determining the correct codeword to the decoder;

using the decoder to perform the following steps:

selecting other cues from the set of candidate cues;

operating these cues on the indexed set of codewords based on the signal determined by the encoder;

generating a check value as a result of the operating step;

determining whether the result of the operating step produces a value that is in agreement with the check value for the target codeword.

27. The method of claim 26 , wherein the encoding process does not use any of a set of candidate cues corresponding to a lower complexity level, wherein the decoding process uses all of a set of candidate cues corresponding to a higher complexity level.

28. The method of claim 26 , wherein the encoding process uses all of a set of candidate cues corresponding to a higher complexity level, wherein the decoding process uses one of a set of candidate cues corresponding to a lower complexity level.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 18, 2005
From: PURI, ROJIT; RAMCHANDRAN, KANNAN
To: REGENTS OF THE UNIVERSITY OF CALIFORNIA, THE
Reel/Frame 016162/0476 →
Continuity (2)
Provisional Application 6040909300 · Sep 6, 2002
Related Publication 20050031219A1 · Feb 10, 2005