Abstract:
Systems, methods, and computer readable media for removing noise from the luminance (luma) channel in a digital image represented in the YUV color space are described. In general, an element from the luma channel may be selected and a region about that element defined. Using a threshold that is based on the selected luma element's value, similar luma values within the defined region may be identified and combined to provide a substitute value. The substitute value may be blended with the value of the selected element within the image's luma channel. In another implementation, element values from both an image's luma and chroma channels may be used to identify similar luma values.
Abstract:
Systems, methods, and a computer readable medium for performing an improved blowout prevention process in an image capture device are provided to compensate for occurrences of exposure “blowouts,” i.e., areas in a captured image where pixel brightness exceeds the sensor's dynamic range of capturing capability. In one embodiment, the captured image's histogram may be analyzed to determine if the image is indicative of the presence of exposure blowouts. Once it has been determined that there likely are blowouts in the image, an exposure bias for the image capture device may be set accordingly. Particularly, the exposure value (EV) for the image capture device may be gradually corrected, e.g., by one-eighth of a stop per captured frame, until the image histogram is no longer indicative of blown out regions, at which point the image capture device's exposure value may gradually be corrected back to “normal,” i.e., non-exposure bias compensated, levels.
Abstract:
A framework for performing graphics animation and compositing operations has a layer tree for interfacing with the application and a render tree for interfacing with a render engine. Layers in the layer tree can be content, windows, views, video, images, text, media, or any other type of object for a user interface of an application. The application commits change to the state of the layers of the layer tree. The application does not need to include explicit code for animating the changes to the layers. Instead, an animation is determined for animating the change in state. The determined animation is explicitly applied to the affected layers in the render tree. A render engine renders from the render tree into a frame buffer for display on the processing device. Those portions of the render tree that have changed relative to prior versions can be tracked to improve resource management.
Abstract:
This disclosure pertains to devices, methods, and computer readable media for performing positional sensor-assisted panoramic photography techniques in handheld personal electronic devices. Generalized steps that may be used to carry out the panoramic photography techniques described herein include, but are not necessarily limited to: 1.) acquiring image data from the electronic device's image sensor; 2.) performing “motion filtering” on the acquired image data, e.g., using information returned from positional sensors of the electronic device to inform the processing of the image data; 3.) performing image registration between adjacent captured images; 4.) performing geometric corrections on captured image data, e.g., due to perspective changes and/or camera rotation about a non-center of perspective (COP) camera point; and 5.) “stitching” the captured images together to create the panoramic scene, e.g., blending the image data in the overlap area between adjacent captured images. The resultant stitched panoramic image may be cropped before final storage.
Abstract:
Increasing color saturation and contrast in images generally leads to more pleasing images; however, doing so uniformly to all colors in the image can make skin tones appear with an overly red tint. One embodiment of an improved method of skin tone aware color boosting identifies areas of the image which look like skin tones and areas that do not look like skin tones. A blurred “skin tone mask” can then be created over the image. One large boost operation and one small boost operation can be applied to the image. A final version of the image may then be created, applying the pixel values resulting from the small boosting operation to the skin tone regions and applying the pixel values resulting from the large boosting operation to the non-skin tone regions, using the blurred mask to provide a smooth transition between the skin tone and non-skin tone regions.
Abstract:
Methods and apparatuses for anti-aliasing scan conversion. In one aspect of the invention, an exemplary method to scan convert an image on a data processing system includes: sampling the image in a first direction to generate first signals for points along a second line in a second direction using a closed form solution for a convolution integral with a first kernel; and weighting the first signals for the points according to a second kernel in the second direction to generate a second signal for a pixel. In one example according to this aspect, the closed form solution is tabulated in a look up table. After entries are looked up from the look up table according to the image along a first line in the first direction on a first point of the points, the entries are combined to generate one of the first signals for the first point.
Abstract:
A system, computer readable medium, and method for dynamically setting a camera's exposure parameters based on face detection are disclosed. When taking a picture or video of a person in front of a bright background, standard exposure algorithms tend to overexpose the background. In one embodiment disclosed herein, a face detection algorithm is run on the current picture or video frame, and the exposure metering region is inset over the detected face. Exposure time, gain, or other exposure parameters may be set based on the pixels within the exposure metering region. In another embodiment, the exposure metering region tracks a moving face according to lag parameters so that the exposure metering region remains substantially over the face. In yet another embodiment, a plurality of faces may be tracked, with the exposure parameters set based on a weighted average of the pixels within the plurality of face-containing exposure metering regions.
Abstract:
Systems, methods, and a computer readable medium for performing an improved blowout prevention process in an image capture device are provided to compensate for occurrences of exposure “blowouts,” i.e., areas in a captured image where pixel brightness exceeds the sensor's dynamic range of capturing capability. In one embodiment, the captured image's histogram may be analyzed to determine if the image is indicative of the presence of exposure blowouts. Once it has been determined that there likely are blowouts in the image, an exposure bias for the image capture device may be set accordingly. Particularly, the exposure value (EV) for the image capture device may be gradually corrected, e.g., by one-eighth of a stop per captured frame, until the image histogram is no longer indicative of blown out regions, at which point the image capture device's exposure value may gradually be corrected back to “normal,” i.e., non-exposure bias compensated, levels.
Abstract:
A framework for performing graphics animation and compositing operations has a layer tree for interfacing with the application and a render tree for interfacing with a render engine. Layers in the layer tree can be content, windows, views, video, images, text, media, or any other type of object for a user interface of an application. The application commits change to the state of the layers of the layer tree. The application does not need to include explicit code for animating the changes to the layers. Instead, an animation is determined for animating the change in state. In determining the animation, the framework can define a set of predetermined animations based on motion, visibility, and transition. The determined animation is explicitly applied to the affected layers in the render tree. A render engine renders from the render tree into a frame buffer for display on the processing device. Those portions of the render tree that have changed relative to prior versions can be tracked to improve resource management.
Abstract:
Methods and apparatuses for anti-aliasing scan conversion. In one aspect of the invention, an exemplary method to scan convert an image on a data processing system includes: sampling the image in a first direction to generate first signals for points along a second line in a second direction using a closed form solution for a convolution integral with a first kernel; and weighting the first signals for the points according to a second kernel in the second direction to generate a second signal for a pixel. In one example according to this aspect, the closed form solution is tabulated in a look up table. After entries are looked up from the look up table according to the image along a first line in the first direction on a first point of the points, the entries are combined to generate one of the first signals for the first point.