×

Model-based video encoding and decoding

  • US 9,578,345 B2
  • Filed: 12/21/2012
  • Issued: 02/21/2017
  • Est. Priority Date: 03/31/2005
  • Status: Active Grant
First Claim
Patent Images

1. A method of encoding video data, comprising:

  • encoding raw video data using a multiple fidelities encoder executed via at least one computer processor by;

    encoding the raw video data at multiple levels of fidelities for a model-based compression, such that encodings are provided at the multiple levels of fidelities;

    (A) a macroblock encoding level, (B) a macroblock as feature encoding level, (C) a feature encoding level, and (D) an object encoding level, wherein the (A) macroblock encoding level uses a block-based motion estimation and compensation (BBMEC) application to find predictions for each tile from a limited search space in previously decoded reference frames, the macroblock encoding level generating an H.264 macroblock encoding prediction for a target macroblock;

    wherein the (B) macroblock as feature encoding level (i) uses a first BBMEC application identical to the macroblock encoding level to find a first prediction for the target macroblock from a most-recent reference frame, (ii) uses a second BBMEC application to find a second prediction for the first prediction by searching in a second-most-recent frame, (iii) creates a track for the target macroblock by applying BBMEC applications through progressively older frames, and (iv) generates a macroblock as feature encoding level prediction from among the resulting track instances for the target macroblock;

    wherein the (C) feature encoding level detects and tracks features independent of the macroblock grid and associates a feature with an overlapping macroblock such that a corresponding feature track of a feature overlapping the target macroblock is used to navigate previously-decoded reference frames to find a better match (prediction) for the overlapping macroblock by using offsets between the target macroblock and respective feature track instances to generate an indirect prediction for the target macroblock; and

    if multiple features overlap the target macroblock, of the multiple features, the feature with greatest overlap with the target macroblock is selected to model the target macroblock, andwherein the (D) object encoding level detects and tracks objects (features that overlap at least portions of multiple macroblocks including the target macroblock), such that object tracks are used to navigate previously-decoded reference frames to find better matches (predictions) for all macroblocks overlapping the object by using offsets between the target macroblock and respective object track instances to generate an indirect prediction for the overlapping macroblocks, so that a single motion vector is calculated for all of the macroblocks associated with the object resulting in computation and encoding size savings, the better matches having the most encoding size savings;

    comparing compression efficiency of the (A) macroblock encoding level, (B) macroblock as feature encoding level, (C) feature encoding level, and (D) object encoding level; and

    selecting, based on the comparison of compression efficiency, which one of the encodings has the fewest number of bits;

    (A) macroblock encoding level, (B) macroblock as feature encoding level, (C) feature encoding level, and (D) object encoding level.

View all claims
  • 3 Assignments
Timeline View
Assignment View
    ×
    ×