×

Method for image data processing utilizing multiple transform engines

  • US 9,204,170 B2
  • Filed: 08/11/2006
  • Issued: 12/01/2015
  • Est. Priority Date: 08/26/2005
  • Status: Active Grant
First Claim
Patent Images

1. A method of transforming a video stream comprising a sequence of images, each image comprising pixels arranged in a first two-dimensional array, said first two-dimensional array comprising a first dimension and a second dimension, said method transforming said sequence of images into a corresponding sequence of sets of multi-level transformed wavelet coefficients, each of said sets of multi-level transformed wavelet coefficients arranged in a second two-dimensional array comprising said first and second dimensions, said transforming performed using asymmetric parallel processing implemented by an encoding system comprising first and second transform engines, a shared memory, and a controller, each of said transform engines configured to receive pairs of input data values and transform each of said pairs of input data values into a pair of output data values, each of said pair of output data values comprising a smooth output data value obtained by applying a first filter to said pair of input data values and a detail output data value obtained by applying a second filter to said pair of input data values, said method comprising the steps of:

  • said first transform engine receiving as first pairs of input data values pairs of pixel values from a first image from said video stream each of said first pairs of input data values comprising a first pixel value of a first pixel and a second pixel value of a second pixel immediately adjacent to said first pixel along said first dimension of said first two-dimensional array;

    said first transform engine applying said first and second filters to said first pairs of input data values, thereby transforming said first pairs of input data values into first pairs of output data values, said first pairs of output data values comprising first level one once transformed wavelet coefficients;

    said controller storing said first level one once transformed wavelet coefficients as a third two-dimensional array comprising said first and second dimensions in a first memory storage area of said shared memory;

    said controller providing said first level one once transformed wavelet coefficients from said first memory storage area to said second transform engine as second pairs of input data values, each of said second pairs of input data values comprising a first first level one once transformed wavelet coefficient from said third two-dimensional array and a second first level one once transformed wavelet coefficient immediately adjacent to said first first level one once transformed wavelet coefficient along said second dimension of said third two-dimensional array;

    said second transform engine applying said first and second filters to said second pairs of input data values, thereby transforming said second pairs of input data values into second pairs of output data values, said second pairs of output data values comprising first level one twice transformed wavelet coefficients;

    said controller storing said first level one twice transformed wavelet coefficients in said third two-dimensional array by overwriting said first level one once transformed wavelet coefficients;

    said controller providing a first portion of said first level one twice transformed wavelet coefficients from said third two-dimensional array to said second transform engine as third pairs of input data values, each of said third pairs of input data values comprising a first first level one twice transformed wavelet coefficient from said third two-dimensional array and a second first level one twice transformed wavelet coefficient immediately adjacent to said first first level one twice transformed wavelet coefficient along said first dimension of said third two-dimensional array;

    said second transform engine applying said first and second filters to said third pairs of input data values, thereby transforming said third pairs of input data values into third pairs of output data values, said third pairs of output data values comprising first level one three-times transformed wavelet coefficients;

    said controller storing said first level one three-times transformed wavelet coefficients in said third two-dimensional array by overwriting said first portion of said first level one twice transformed wavelet coefficients;

    said first transform engine receiving as fourth pairs of input data values pairs of pixel values from a second image from said video stream, each of said fourth pairs of input values comprising a third pixel value of a third pixel and a fourth pixel value of a fourth pixel immediately adjacent to said third pixel along said first dimension of said first two-dimensional array;

    said first transform engine applying said first and second filters to said fourth pairs of input data values, thereby transforming said fourth pairs of input data values into fourth pairs of output data values, said fourth pairs of output data values comprising second level one once transformed wavelet coefficients;

    said controller providing first additional pairs of input data values to said second transform engine, said first additional pairs of input data values comprising pairs of immediately adjacent wavelet coefficients from portions of said third two dimensional array;

    said second transform engine performing a plurality of higher level transformations on said first additional pairs of input data values by applying said first and second filters to said first additional pairs of input data values to generate a first of said sets of multi-level transformed wavelet coefficients stored in said first memory storage area;

    said controller storing said second level one once transformed wavelet coefficients as a fourth two-dimensional array comprising said first and second dimensions in a second memory storage area of said shared memory.

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