Abstract:
RAW camera images may be processed by a computer system using either a particular application or a system level service. In either case, at least some parameters needed for the processing are preferably separated from the executable binary of the application or service, and are provided in separate, non-executable, data-only files. Each of these files can correspond to a particular camera or other imaging device. When a user of the system attempts to open a RAW image file from an unsupported device, the local system may contact a server for on-demand download and on-the-fly installation of the required support resource.
Abstract:
The techniques disclosed herein use a compass, MEMS accelerometer, GPS module, and MEMS gyrometer to infer a frame of reference for a hand-held device. This can provide a true Frenet frame, i.e., X- and Y-vectors for the display, and also a Z-vector that points perpendicularly to the display. In fact, with various inertial clues from accelerometer, gyrometer, and other instruments that report their states in real time, it is possible to track the Frenet frame of the device in real time to provide a continuous 3D frame-of-reference. Once this continuous frame of reference is known, the position of a user's eyes may either be inferred or calculated directly by using a device's front-facing camera. With the position of the user's eyes and a continuous 3D frame-of-reference for the display, more realistic virtual 3D depictions of the objects on the device's display may be created and interacted with by the user.
Abstract:
An automated RAW image processing method and system are disclosed. A RAW image and metadata related to the RAW image are obtained from a digital camera or other source. The RAW image and the related metadata are automatically processed using an Operating System service of a processing device to produce a resulting image in an absolute color space. When automatically processing, a predetermined tone reproduction curve is applied to the interpolate RAW image to produce the resulting image. The predetermined tone reproduction curve is derived from a plurality of reference images and is selected based on the metadata associated with the RAW image. The resulting image is then made available to an application program executing on the processing device through an application program interface with the Operating System service.
Abstract:
An automated RAW image processing method and system are disclosed. A RAW image and metadata related to the RAW image are obtained from a digital camera or other source. The RAW image and the related metadata are automatically processed using an Operating System service of a processing device to produce a resulting image in an absolute color space. When automatically processing, a predetermined tone reproduction curve is applied to the interpolate RAW image to produce the resulting image. The predetermined tone reproduction curve is derived from a plurality of reference images and is selected based on the metadata associated with the RAW image. The resulting image is then made available to an application program executing on the processing device through an application program interface with the Operating System service.
Abstract:
An automated RAW image processing method and system are disclosed. A RAW image and metadata related to the RAW image are obtained from a digital camera or other source. The RAW image and the related metadata are automatically processed using an Operating System service of a processing device to produce a resulting image in an absolute color space. The resulting image is then made available to an application program executing on the processing device through an application program interface with the Operating System service.
Abstract:
Aspects for utilizing functionality of an application program interface (API) of a computer system through script access to the API are described. A method aspect includes receiving a script of one or more desired events for manipulating a file, the file having a format, identifying whether a compatible format for the file is known by the API and executing the script on the file by the API when a compatible format is known.
Abstract:
Aspects for ensuring the integrity of a cache file utilized by an application program interface of a computer system are provided. A method aspect includes forming a checksum with a modification date value of each of a plurality of files, storing the checksum in the cache file, and utilizing the checksum to validate data in the cache file.
Abstract:
Image sensors have finite ranges of illuminance that may be captured. When the sensors for particular pixels receive an amount of light exceeding these finite ranges, the pixel values clip to the maximum pixel value. Systems and methods for estimating pixel values that are clipped or near clipping are provided. In one example, a method for processing image data includes determining that a first channel of the image data is saturated or near saturation. The method further includes computing a highlight recovery value for the first channel based upon alternative channels in the image data that are not saturated or near saturation. The highlight recovery value is applied to the first channel.
Abstract:
GPU fragment programs can be used to render images in a computer system. These fragment programs are generated from render trees, which specify one or more filters or functions to be applied to an input image to render an output image. It is not uncommon for successive frames to require application of substantially the same filters. Therefore, rather than regenerate and recompile new fragment programs for successive corresponding render trees, the render trees are substantially uniquely identified and cached. Thus, when a render tree is received, it can be identified, and this identifier (such as a hash) can be used to determine whether a corresponding fragment program has already been generated, compiled and cached. If so, the corresponding cached fragment program is retrieved and executed. If not, a fragment program for the newly received render tree is generated and cached.
Abstract:
A technique for optimizing the rendering of such complex render-graphs caches intermediate buffers of nodes that are expected to be re-used after they've been rendered. The render-graph is examined to determine the number of re-uses of each node's output buffer, and the buffer is cached in memory until all the re-uses of the buffer have occurred. Once all the re-uses of the buffer have occurred, the buffer is removed from the cache. This technique guarantees that for a given render-graph, no nodes will be re-rendered, resulting in improved render performance.