# US 8,787,459 B2 · Video coding methods and apparatus

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 8,787,459 B2
- Document ID: US8787459B2
- Status: Granted
- Kind: B2
- Application number: 12/942,909
- Filed: 2010-11-09
- Published: 2012-05-10
- Granted: 2014-07-22
- Earliest claimed: 2010-11-09
- Assignees: Sony Computer Entertainment Inc.
- Applicants: Jason N. Wang
- Inventors: Jason N. Wang
- Web page: https://patentgrep.com/patent/US8787459B2

## CPC

- H04N 11/02: with bandwidth reduction (H04N11/04 {, H04N11/24} take precedence)
- H04N 7/12: Systems in which the television signal is transmitted via one channel or a plurality of parallel channels, the bandwidth of each channel being less than the bandwidth of the television signal (H04N7/24 takes precedence)
- H04N 19/197: {including determination of the initial value of an encoding parameter (H04N19/56 takes precedence)}
- H04N 19/198: {including smoothing of a sequence of encoding parameters, e.g. by averaging, by choice of the maximum, minimum or median value}
- H04N 19/44: Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
- H04N 19/463: by compressing encoding parameters before transmission
- H04N 19/517: by encoding
- H04N 19/52: by predictive encoding
- H04N 19/61: in combination with predictive coding
- H04N 19/62: by frequency transforming in three dimensions [3D] (H04N19/63 takes precedence)
- H04N: PICTORIAL COMMUNICATION, e.g. TELEVISION

## Abstract

In methods for encoding and decoding digital pictures certain prediction parameters may be omitted from the output on the encoder side or the input on the decoder side. An encoder can identify prediction parameter values that can be omitted by determining whether a decoder emulator can reproduce the prediction parameter values from other information, such as predicted pixel and prediction error values of one or more previously decoded sections from the same or a different picture.

## Claims

### Claim 1

A method for encoding a current section of a digital picture, comprising:
a) generating a set of transform coefficients from a set of prediction errors for a current section of a picture using an encoder device;
b) determining a first set of one or more prediction parameter values for the current section of the digital picture using the encoder device;
c) determining a second set of one or more prediction parameter values for the current section of the digital picture with a decoder emulator using predicted pixel and prediction error values of one or more previously decoded sections, wherein the determining the second set includes, with the decoder emulator, applying an inverse transform to the set of transform coefficients to re-generate the set of prediction errors for the current section;
d) comparing the first set of prediction parameters with the second set of prediction parameters to identify one or more prediction parameter values common to the first set and the second set;
z) identifying a third set of prediction parameter values, the third set of prediction parameter values being selected from the first set but omitting the prediction parameter values common to the first set and the second set; and
e) transmitting, into a compressed stream for a decoder, the set of transform coefficients and the third set of prediction parameter values with the prediction parameter values common to the first set and the second set omitted from the compressed stream.

### Claim 2 (depends on 1)

The method of claim 1, wherein the one or more prediction parameter values in the first, second, and third sets include one or more components of a three-dimensional motion vector.

### Claim 3 (depends on 2)

The method of claim 2 wherein b) includes determining the three dimensional motion vector using intra-prediction.

### Claim 4 (depends on 2)

The method of claim 2, wherein b) includes determining the three dimensional motion vector using inter-prediction.

### Claim 5 (depends on 2)

The method of claim 2, wherein the three dimensional motion vector includes a 3-parameter vector that characterizes a three dimensional translation of the current section.

### Claim 6 (depends on 2)

The method of claim 2, wherein the three dimensional motion vector includes a 3-parameter vector that characterizes a three dimensional rotation of the current section.

### Claim 7 (depends on 1)

The method of claim 1, wherein the one or more prediction parameter values in the first, second, and third sets include a 3-parameter vector to characterize chrominance and luminance in the current section.

### Claim 8 (depends on 1)

The method of claim 1, wherein the one or more prediction parameter values in the first, second, and third sets include a parameter that characterizes light diffusion in the current section.

### Claim 9 (depends on 1)

The method of claim 1, wherein the one or more prediction parameter values in the first, second, and third sets include a parameter identifying a reference section being used in conjunction with the one or more prediction parameter values.

### Claim 10 (depends on 1)

The method of claim 1, wherein e) further comprises transmitting a range of values, within which a decoder may search for parameters omitted from the third set.

### Claim 11 (depends on 1)

The method of claim 1, wherein e) further comprises transmitting an index of neighboring pixels within which a decoder may search for parameters omitted from the third set.

### Claim 12 (depends on 1)

The method of claim 1, wherein the third set includes a set of differences between one or more values in the first set and one or more corresponding values in the second set.

### Claim 13

An apparatus for encoding a current section of a digital picture, comprising:
a processor;
a memory; and
computer coded instructions embodied in the memory and executable by the processor, wherein the computer coded instructions are configured to implement a method for encoding/decoding a current section of a digital picture using three dimensional motion compensation, the method comprising:
a) generating a set of transform coefficients from a set of prediction errors for a current section of a picture using an encoder;
b) determining a first set of one or more prediction parameter values for the current section of the digital picture using the encoder;
c) determining a second set of one or more prediction parameter values for the current section of the digital picture with a decoder emulator using predicted pixel and prediction errors of one or more previously decoded sections, wherein the determining the second set includes, with the decoder emulator, applying an inverse transform to the set of transform coefficients to re-generate the set of prediction errors for the current section;
d) comparing the first set of prediction parameters with the second set of prediction parameters to identify one or more prediction parameter values common to the first set and the second set;
z) identifying a third set of prediction parameter values, the third set of prediction parameter values being selected from the first set but omitting the prediction parameter values common to the first set and the second set; and
e) transmitting, into a compressed stream for a decoder, the set of transform coefficients and the third set of prediction parameter values with the prediction parameter values common to the first set and the second set omitted from the compressed stream.

### Claim 14 (depends on 13)

The apparatus of claim 13, wherein the one or more prediction parameter values in the first, second, and third sets include one or more components of a three-dimensional motion vector.

### Claim 15 (depends on 14)

The apparatus of claim 14, wherein b) includes determining the three dimensional motion vector using intra-prediction.

### Claim 16 (depends on 14)

The apparatus of claim 14, wherein b) includes determining the three dimensional motion vector using inter-prediction.

### Claim 17 (depends on 13)

The apparatus of claim 13, wherein the one or more prediction parameter values include a vector that characterizes a three dimensional shift of the current section.

### Claim 18 (depends on 13)

The apparatus of claim 13, wherein the one or more prediction parameter values include a vector that characterizes a three dimensional rotation of the current section.

### Claim 19 (depends on 13)

The apparatus of claim 13, wherein the one or more prediction parameter values include a vector that characterizes chrominance and luminance within the current section.

### Claim 20 (depends on 13)

The apparatus of claim 13, wherein the one or more prediction parameter values include a parameter that characterizes light diffusion within the current section.

### Claim 21 (depends on 13)

The apparatus of claim 13, wherein the one or more prediction parameter values include a parameter that indicates a reference section being used in conjunction with the three dimensional motion vector.

### Claim 22 (depends on 13)

The apparatus of claim 13, wherein the information identifying a range of values, within which the decoder may look for omitted parameters.

### Claim 23 (depends on 13)

The apparatus of claim 13, wherein e) includes transmitting an index of neighboring pixels within which a decoder may look for omitted parameters.

### Claim 24 (depends on 13)

The apparatus of claim 13, wherein e) includes transmitting the difference between one or more values in the first set and one or more corresponding values in the second set.

### Claim 25

A computer program product comprising:
a non-transitory computer-readable storage medium having computer readable program code embodied in said medium for, the program code including computer-executable instructions that, when executed implement a method for encoding a current section of a digital picture, said method comprising:
a) generating a set of transform coefficients from a set of prediction errors for a current section of a picture using an encoder;
b) determining a first set of one or more prediction parameter values for the current section of the digital picture using the encoder;
c) determining a second set of one or more prediction parameter values for the current section of the digital picture with a decoder emulator using predicted pixels and prediction errors of one or more previously decoded sections, wherein the determining the second set includes, with the decoder emulator, applying an inverse transform to the set of transform coefficients to re-generate the set of prediction errors for the current section;
d) comparing the first set of prediction parameters with the second set of prediction parameters to identify one or more prediction parameter values common to the first set and the second set;
z) identifying a third set of prediction parameter values, the third set of prediction parameter values being selected from the first set but omitting the prediction parameter values common to the first set and the second set; and
e) transmitting, into a compressed stream for a decoder, the set of transform coefficients and the third set of prediction parameter values with the prediction parameter values common to the first set and the second set omitted from the compressed stream.

### Claim 26

A picture decoding method for decoding one or more data packets containing data representing one or more coded sections of one or more digital pictures, wherein the one or more data packets include a set of transform coefficients and a partial set of motion vectors, the method comprising:
a) applying an inverse transform to the transform coefficients with a decoder device to generate a set of prediction error values;
b) estimating one or more estimated motion vectors with the decoder device from a set of predicted pixel and prediction error values of one or more previously decoded sections of the one or more digital pictures; and
c) replacing one or more of the estimated motion vectors with the decoder device with one or more corresponding motion vectors from the partial set of motion vectors to produce an output set of motion vectors; and
d) generating one or more decoded sections with the decoder device using the set of prediction error values and the output set of motion vectors.

### Claim 27 (depends on 26)

The method of claim 26, further comprising displaying one or more decoded digital pictures containing the one or more decoded sections on a display.

### Claim 28 (depends on 26)

The method of claim 26, wherein a) includes determining a best forward transform from the prediction error values and applying a corresponding inverse transform to the transform coefficients.

### Claim 29 (depends on 26)

The method of claim 26, wherein a) includes applying a default inverse transform to transform coefficients for a first section in the one or more digital pictures.

### Claim 30 (depends on 26)

The method of claim 26, wherein the motion vectors are three-dimensional motion vectors.

### Claim 31 (depends on 26)

The method of claim 26, wherein the one or more data packets include a range of values, and wherein d) includes searching within the range for motion vectors omitted from the partial set.

### Claim 32 (depends on 26)

The method of claim 26, wherein the data packets include an index of neighboring pixels and wherein c) includes searching for motion vectors omitted from the partial set using the index.

### Claim 33 (depends on 26)

The method of claim 26, wherein the data packets include a set of motion vector value differences and wherein c) includes combining the differences with the estimated motion vectors.

### Claim 34

An apparatus for decoding a current section of a digital picture using three dimensional motion compensation, comprising:
a processor;
a memory; and
computer coded instructions embodied in the memory and executable by the processor, wherein the computer coded instructions are configured to implement a method for decoding one or more data packets containing data representing one or more coded sections of one or more digital pictures, wherein the one or more data packets include a set of transform coefficients and a partial set of motion vectors, the method comprising:
a) applying an inverse transform to the transform coefficients with a decoder to generate a set of prediction error values;
b) estimating one or more estimated motion vectors with the decoder from a set of predicted pixel and prediction error values of one or more previously decoded sections of the one or more digital pictures; and
c) replacing one or more of the estimated motion vectors with the decoder with one or more corresponding motion vectors from the partial set of motion vectors to produce an output set of motion vectors; and
d) generating one or more decoded sections with the decoder using the set of prediction error values and the output set of motion vectors.

### Claim 35

A computer program product comprising:
a non-transitory computer-readable storage medium having computer readable program code embodied in said medium, the program code including computer-executable instructions that, when executed, implement a method for decoding one or more data packets containing data representing one or more coded sections of one or more digital pictures, wherein the one or more data packets include a set of transform coefficients and a partial set of motion vectors, the method comprising:
a) applying an inverse transform to the transform coefficients with a decoder to generate a set of prediction error values;
b) estimating one or more estimated motion vectors with the decoder from a set of predicted pixel and prediction error values of one or more previously decoded sections of the one or more digital pictures; and
c) replacing one or more of the estimated motion vectors with the decoder with one or more corresponding motion vectors from the partial set of motion vectors to produce an output set of motion vectors; and
d) generating one or more decoded sections with the decoder using the set of prediction error values and the output set of motion vectors.
