Image processing using linear light values and other image processing improvements
First Claim
1. A method for processing image information in a linear form, comprising:
- receiving image information in an interlaced nonlinear form;
converting the image information into a linear form by applying a transfer function to the image information;
converting the image information into a progressive form by de-interlacing the image information; and
performing processing on the image information in the progressive linear form.
2 Assignments
0 Petitions
Accused Products
Abstract
Strategies are described for processing image information in a linear form to reduce the amount of artifacts (compared to processing the data in nonlinear form). Exemplary types of processing operations can include, scaling, compositing, alpha-blending, edge detection, and so forth. In a more specific implementation, strategies are described for processing image information that is: a) linear; b) in the RGB color space; c) high precision (e.g., provided by floating point representation); d) progressive; and e) full channel. Other improvements provide strategies for: a) processing image information in a pseudo-linear space to improve processing speed; b) implementing an improved error dispersion technique; c) dynamically calculating and applying filter kernels; d) producing pipeline code in an optimal manner; and e) implementing various processing tasks using novel pixel shader techniques.
153 Citations
62 Claims
-
1. A method for processing image information in a linear form, comprising:
-
receiving image information in an interlaced nonlinear form;
converting the image information into a linear form by applying a transfer function to the image information;
converting the image information into a progressive form by de-interlacing the image information; and
performing processing on the image information in the progressive linear form. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43)
-
-
44. A method for processing image information in a linear form, comprising:
-
receiving image information in a nonlinear form;
converting the image information into a high precision linear RGB format; and
performing processing on the image information in the high precision linear RGB format. - View Dependent Claims (45, 46)
-
-
47. A method for quantizing and dithering original image information to produce quantized image information, comprising:
-
quantizing a sum that combines an original value taken from the image information, a noise value, and an error term, to produce a quantized value; and
calculating an error term for a subsequent quantizing operation by computing a difference between the quantized value and the original value. - View Dependent Claims (48, 49)
-
-
50. A method for processing image information in pseudo-linear form, comprising:
-
receiving image information in a nonlinear form;
converting the image information into a pseudo-linear form using a transfer function; and
performing processing on the image information in the pseudo-linear form using at least one algorithm that is tailored to process linear information. - View Dependent Claims (51, 52)
-
-
53. A method for performing a scaling operation on image information using a filter by:
-
computing, based on scaling to be performed, a number of filter kernels required to implement the filter, and the number of taps required for each filter kernel;
pre-computing and storing the number of filter kernels;
applying the filter kernels to a row or column of the image information by repeatedly sequencing through the filter kernels if there are more pixel elements in the row or column than there are pre-calculated filter kernels. - View Dependent Claims (54, 55)
-
-
56. A method for generating code used to implement an image processing pipeline, comprising:
-
inputting requirements of the image processing pipeline; and
assembling code modules from a library of code modules that can be used to implement the requirements, wherein code modules that are not required are not used in the generated code. - View Dependent Claims (57, 58, 59)
-
-
60. A method for performing at least one processing task in an image processing pipeline using a pixel shader of a graphical processing unit, comprising:
-
assigning weighting information to at least one texture unit of the pixel shader;
assigning delta-shifted versions of input image information to plural other texture units of the pixel shader; and
performing an operation using the pixel shader based on the information from the texture units, to thereby provide an output result. - View Dependent Claims (61, 62)
-
Specification