Patents by Inventor Anantha R. Kancherla
Anantha R. Kancherla has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).
-
Patent number: 8493619Abstract: Methods for mapping color data having at least one color associated therewith to an output device based on an input-device profile and an output-device profile, each profile having a tone curve and a color matrix, are provided. In one embodiment, the method includes receiving color data from an input device and determining whether the color data is in a linear space. If it is determined that the color data is not in a linear space, the method further includes applying the tone curve of the input device profile to the color data to convert it into a linear space. The method further includes converting the color(s) associated with the color data from the input linear space to an output linear space by applying the color matrix of the input device profile and the inverse color matrix of the output device profile to create color-converted image data.Type: GrantFiled: August 12, 2011Date of Patent: July 23, 2013Assignee: Microsoft CorporationInventors: Glenn F. Evans, Benjamin Ellett, David R. Blythe, Anantha R. Kancherla, Bradley P. Gibson, Michael D. Stokes, Steven James White, Denis Demandolx
-
Patent number: 8379035Abstract: Systems and methods for utilizing intermediate target(s) in connection with computer graphics in a computer system allow serialized programs from graphics APIs to support algorithms that exceed the instruction limits of procedural shaders for single programs. The intermediate buffers may also allow sharing of data between programs for other purposes as well, and are atomically accessible. The size of the buffers, i.e., the amount of data stored in the intermediate targets, can be variably set for a varying amount of resolution with respect to the graphics data. In this regard, a single program generates intermediate data, which can then be used, and re-used, by an extension of the same program and/or any number of other programs any number of times as may be desired, enabling considerable flexibility and complexity of shading programs, while maintaining the speed of modern graphics chips.Type: GrantFiled: October 31, 2011Date of Patent: February 19, 2013Assignee: Microsoft CorporationInventors: Michele B Boland, Charles N Boyd, Anantha R Kancherla
-
Publication number: 20120113118Abstract: Utilizing intermediate target(s) in connection with computer graphics in a computer system is provided. In various embodiments, intermediate memory buffers in video memory are provided and utilized to allow serialized programs from graphics APIs to support algorithms that exceed the instruction limits of procedural shaders for single programs. The intermediate buffers may also allow sharing of data between programs for other purposes as well, and are atomically accessible. The size of the buffers can be variably set for a varying amount of resolution with respect to the graphics data. In this regard, a single program generates intermediate data, which can then be used, and re-used, by an extension of the same program and/or any number of other programs any number of times as may be desired, enabling considerable flexibility and complexity of shading programs, while maintaining the speed of modern graphics chips.Type: ApplicationFiled: October 31, 2011Publication date: May 10, 2012Applicant: Microsoft CorporationInventors: Michele B. Boland, Charles N. Boyd, Anantha R. Kancherla
-
Publication number: 20110298819Abstract: Methods for mapping color data having at least one color associated therewith to an output device based on an input-device profile and an output-device profile, each profile having a tone curve and a color matrix, are provided. In one embodiment, the method includes receiving color data from an input device and determining whether the color data is in a linear space. If it is determined that the color data is not in a linear space, the method further includes applying the tone curve of the input device profile to the color data to convert it into a linear space. The method further includes converting the color(s) associated with the color data from the input linear space to an output linear space by applying the color matrix of the input device profile and the inverse color matrix of the output device profile to create color-converted image data.Type: ApplicationFiled: August 12, 2011Publication date: December 8, 2011Applicant: MICROSOFT CORPORATIONInventors: GLENN F. EVANS, BENJAMIN ELLETT, DAVID R. BLYTHE, ANANTHA R. KANCHERLA, BRADLEY P. GIBSON, MICHAEL D. STOKES, STEVEN JAMES WHITE, DENIS DEMANDOLX
-
Patent number: 8063909Abstract: Intermediate target(s) are utilized in connection with computer graphics in a computer system. In various embodiments, intermediate memory buffers in video memory are utilized to allow serialized programs from graphics APIs to support algorithms that exceed the instruction limits of procedural shaders for single programs. The intermediate buffers may also allow sharing of data between programs for other purposes as well, and are atomically accessible. The size of the buffers, i.e., the amount of data stored in the intermediate targets, can be variably set for a varying amount of resolution with respect to the graphics data. In this regard, a single program generates intermediate data, which can then be used, and re-used, by an extension of the same program and/or any number of other programs any number of times, enabling considerable flexibility and complexity of shading programs, while maintaining the speed of modern graphics chips.Type: GrantFiled: June 22, 2009Date of Patent: November 22, 2011Assignee: Microsoft CorporationInventors: Michele B Boland, Charles N Boyd, Anantha R Kancherla
-
Publication number: 20090256849Abstract: Systems and methods for utilizing intermediate target(s) in connection with computer graphics in a computer system are provided. In various embodiments, intermediate memory buffers in video memory are provided and utilized to allow serialized programs from graphics APIs to support algorithms that exceed the instruction limits of procedural shaders for single programs. The intermediate buffers may also allow sharing of data between programs for other purposes as well, and are atomically accessible. The size of the buffers, i.e., the amount of data stored in the intermediate targets, can be variably set for a varying amount of resolution with respect to the graphics data. In this regard, a single program generates intermediate data, which can then be used, and re-used, by an extension of the same program and/or any number of other programs any number of times as may be desired, enabling considerable flexibility and complexity of shading programs, while maintaining the speed of modern graphics chips.Type: ApplicationFiled: June 22, 2009Publication date: October 15, 2009Applicant: Microsoft CorporationInventors: Michele B. Boland, Charles N. Boyd, Anantha R. Kancherla
-
Patent number: 7564460Abstract: Systems and methods for utilizing intermediate target(s) in connection with computer graphics in a computer system are provided. In various embodiments, intermediate memory buffers in video memory are provided and utilized to allow serialized programs from graphics APIs to support algorithms that exceed the instruction limits of procedural shaders for single programs. The intermediate buffers may also allow sharing of data between programs for other purposes as well, and are atomically accessible. The size of the buffers, i.e., the amount of data stored in the intermediate targets, can be variably set for a varying amount of resolution with respect to the graphics data. In this regard, a single program generates intermediate data, which can then be used, and re-used, by an extension of the same program and/or any number of other programs any number of times as may be desired, enabling considerable flexibility and complexity of shading programs, while maintaining the speed of modem graphics chips.Type: GrantFiled: July 16, 2002Date of Patent: July 21, 2009Assignee: Microsoft CorporationInventors: Michele B. Boland, Charles N. Boyd, Anantha R. Kancherla
-
Publication number: 20040164987Abstract: Usage semantics allow for shaders to be authored independently of the actual vertex data and accordingly enables their reuse. Usage semantics define a feature that binds data between distinct components to allow them to work together. In various embodiments, the components include high level language variables that are bound by an application or by vertex data streams, high level language fragments to enable several fragments to be developed separately and compiled at a later time together to form a single shader, assembly language variables that get bound to vertex data streams, and parameters between vertex and pixel shaders. This allows developers to be able to program the shaders in the assembly and high level language with variables that refer to names rather than registers. By allowing this decoupling of registers from the language, developers can work on the language separately from the vertex data and modify and enhance high level language shaders without having to manually manipulate the registers.Type: ApplicationFiled: February 24, 2003Publication date: August 26, 2004Applicant: Microsoft CorporationInventors: David F. Aronson, Amar Patel, Anantha R. Kancherla, Anuj B. Gosalia, Craig Peeper, Daniel K. Baker, Iouri Tarassov, Loren McQuade
-
Publication number: 20030020741Abstract: Systems and methods for utilizing intermediate target(s) in connection with computer graphics in a computer system are provided. In various embodiments, intermediate memory buffers in video memory are provided and utilized to allow serialized programs from graphics APIs to support algorithms that exceed the instruction limits of procedural shaders for single programs. The intermediate buffers may also allow sharing of data between programs for other purposes as well, and are atomically accessible. The size of the buffers, i.e., the amount of data stored in the intermediate targets, can be variably set for a varying amount of resolution with respect to the graphics data. In this regard, a single program generates intermediate data, which can then be used, and re-used, by an extension of the same program and/or any number of other programs any number of times as may be desired, enabling considerable flexibility and complexity of shading programs, while maintaining the speed of modem graphics chips.Type: ApplicationFiled: July 16, 2002Publication date: January 30, 2003Inventors: Michele B. Boland, Charles N. Boyd, Anantha R. Kancherla