EP2070331B1

Video encoding adapted to the complexity of the encoding tools and of the target decoder

Abstract

This record has no abstract on file.

EP2070331B1, drawing sheet 1
Sheet 1 of 13

Term

1 yearleft in the term

Expires 11 September 2027.

  1. Priority
  2. Filed
  3. Granted
  4. Today
  5. Expires

10 claims: 7 independent, 3 dependent

  1. 1
    A method for encoding a set of data, comprising:receiving a set of data to be encoded wherein the set of data comprises one or more frames of video data;characterized by : pre-processing (804) the set of data wherein pre-processing the set of data is based on a state of a target decoder and a complexity of the set of data;and encoding (806) the pre-processed set of data based at least in part upon the state of the target decoder (106) to which the encoded set of data (104) is to be provided, wherein encoding (806) the pre-processed set of data based at least in part upon the state of the target decoder (106) comprises: determining a target decoding complexity for the encoded set of data (104), identifying a set of encoding tools to encode the pre-processed set of data, identifying decoding complexity costs of each of the identified encoding tools determining whether, based at least in part on the identified decoding complexity cost of each encoding tool in the set, a sum of the decoding complexity costs of the set of encoding tools exceeds the target decoding complexity, and if the sum of the decoding complexity costs of the set of encoding tools does not exceed the target decoding complexity, encoding the pre-processed set of data according to the identified set of encoding tools, otherwise, revising the set of encoding tools to decrease the sum of the decoding complexity costs below the target decoding complexity.
  2. 3
    A method as recited in claims 1 and 2, wherein the target decoding complexity is determined at least in part by one of the following:a constraint associated with the target decoder (106), a relative importance of the set of data, a decoding complexity of a second set of data that precedes the first set of data in a sequence of data sets, a decoding complexity of a second set of data that occurs subsequent to the first set of data in a sequence of data sets, a simulation of the target decoder (106) using a model of the target decoder (106).
  3. 4
    A method as recited in any preceding claim, the method further comprising employing one or more scalability layers when encoding the set of data.
  4. 5
    A method as recited in any preceding claim, wherein the target decoder (106) is included in a set of target decoders and wherein encoding the set of data comprises custom encoding the set of data for the set of target decoders with quality scalability.
  5. 7
    A method as recited in any preceding claim, further comprising providing the encoded set of data (104) to the target decoder (106).
  6. 8
    A system for encoding a set of data, comprising:a processor configured to: receive a set of data to be encoded wherein the set of data comprises one or more frames of video data;characterized by : pre-process the set of data to be encoded, wherein pre-processing the set of data is based on a state of a target decoder and a complexity of the set of data;and encode the pre-processed set of data based at least in part upon the state of the target decoder (106) to which the encoded set of data (104) is to be provided, wherein encoding the pre-processed set of data based at least in part upon the state of the target decoder (106) comprises: determining a target decoding complexity for the encoded set of data (104), identifying a set of encoding tools to encode the pre-processed set of data, identifying decoding complexity costs of each of the identified encoding tools, determining whether, based at least in part on the identified decoding complexity cost of each encoding tool in the set, a sum of the decoding complexity costs of the set of encoding tools exceeds the target decoding complexity, and if the sum of the decoding complexity costs of the set of encoding tools does not exceed the target decoding complexity, encoding the pre-processed set of data according to the identified set of encoding tools;otherwise, revising the set of encoding tools to decrease the sum of the decoding complexity costs below the target decoding complexity and a memory coupled to the processor and configured to provide instructions to the processor.
  7. 10
    A computer program product for encoding a set of data, the computer program product being embodied in a computer readable medium and comprising computer instructions for:receiving a set of data to be encoded wherein the set of data comprises one or more frames of video data;characterized by : pre-processing the set of data wherein pre-processing the set of data is based on a state of a target decoder and a complexity of the set of data;and encoding the pre-processed set of data based at least in part upon the state of the target decoder to which the encoded set of data is to be provided, wherein encoding the pre-processed set of data based at least in part upon the state of the target decoder (106) comprises: determining a target decoding complexity for the encoded set of data (104), identifying a set of encoding tools to encode the pre-processed set of data, and identifying decoding complexity costs of each of the identified encoding tools determining whether, based at least in part on the identified decoding complexity cost of each encoding tool in the set, a sum of the decoding complexity costs of the set of encoding tools exceeds the target decoding complexity, and if the sum of the decoding complexity costs of the set of encoding tools does not exceed the target decoding complexity, encoding the pre-processed set of data according to the identified set of encoding tools, otherwise, revising the set of encoding tools to decrease the sum of the decoding complexity costs below the target decoding complexity.