Patents by Inventor Joseph P. Bratt

Joseph P. Bratt 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).

  • Publication number: 20130321677
    Abstract: Systems and methods for processing raw image data are provided. One example of such a system may include memory to store image data in raw format from a digital imaging device and an image signal processor to process the image data. The image signal processor may include data conversion logic and a raw image processing pipeline. The data conversion logic may convert the image data into a signed format to preserve negative noise from the digital imaging device. The raw image processing pipeline may at least partly process the image data in the signed format. The raw image processing pipeline may also include, among other things, black level compensation logic, fixed pattern noise reduction logic, temporal filtering logic, defective pixel correction logic, spatial noise filtering logic, lens shading correction logic, and highlight recovery logic.
    Type: Application
    Filed: May 31, 2012
    Publication date: December 5, 2013
    Applicant: APPLE INC.
    Inventors: Guy Cote, Sheng Lin, Suk Hwan Lim, D. Amnon Silverstein, David Hayward, Simon Wolfenden Butler, Joseph Anthony Petolino, JR., Joseph P. Bratt
  • Publication number: 20130322745
    Abstract: Systems and methods for generating local image statistics are provided. In one example, an image signal processing system may include a statistics pipeline with image processing logic and local image statistics collection logic. The image processing logic may receive and process pixels of raw image data. The local image statistics collection logic may generate a local histogram associated with a luminance of the pixels of a first block of pixels of the raw image data or a thumbnail in which a pixel of the thumbnail represents a downscaled version of the luminance of the pixels of the first block of the pixel. The raw image data may include many other blocks of pixels of the same size as the first block of pixels.
    Type: Application
    Filed: May 31, 2012
    Publication date: December 5, 2013
    Applicant: APPLE INC.
    Inventors: Suk Hwan Lim, D. Amnon Silverstein, Guy Cote, Steven David Hordley, Graham Finlayson, Weichun Ku, Joseph P. Bratt
  • Publication number: 20130322753
    Abstract: Systems and methods for local tone mapping are provided. In one example, an electronic device includes an electronic display, an imaging device, and an image signal processor. The electronic display may display images of a first bit depth, and the imaging device may include an image sensor that obtains image data of a higher bit depth than the first bit depth. The image signal processor may process the image data, and may include local tone mapping logic that may apply a spatially varying local tone curve to a pixel of the image data to preserve local contrast when displayed on the display. The local tone mapping logic may smooth the local tone curve applied to the intensity difference between the pixel and another nearby pixel exceeds a threshold.
    Type: Application
    Filed: May 31, 2012
    Publication date: December 5, 2013
    Applicant: APPLE INC.
    Inventors: Suk Hwan Lim, D. Amnon Silverstein, Guy Cote, Steven David Hordley, Graham Finlayson, Weichun Ku, Joseph P. Bratt
  • Publication number: 20130321675
    Abstract: Systems and methods for down-scaling are provided. In one example, a method for processing image data includes determining a plurality of output pixel locations using a position value stored by a position register, using the current position value to select a center input pixel from the image data and selecting an index value, selecting a set of input pixels adjacent to the center input pixel, selecting a set of filtering coefficients from a filter coefficient lookup table using the index value, filtering the set of source input pixels to apply a respective one of the set of filtering coefficients to each of the set of source input pixels to determine an output value for the current output pixel at the current position value, and correcting chromatic aberrations in the set of source input pixels.
    Type: Application
    Filed: May 31, 2012
    Publication date: December 5, 2013
    Applicant: APPLE INC.
    Inventors: Guy Cote, Simon Wolfenden Butler, Joseph Anthony Petolino, JR., Joseph P. Bratt
  • Publication number: 20130321674
    Abstract: Systems and methods for correcting geometric distortion are provided. In one example, an electronic device may include an imaging device, which may obtain image data of a first resolution, and geometric distortion and scaling logic. The imaging device may include a sensor and a lens that causes some geometric distortion in the image data. The geometric distortion correction and scaling logic may scale and correct for geometric distortion in the image data by determining first pixel coordinates in uncorrected or partially corrected image data that, when resampled, would produce corrected output image data at second pixel coordinates. The geometric distortion correction and scaling logic may resample pixels around the image data at the first pixel coordinates to obtain the corrected output image data at the second pixel coordinates. The corrected output image data may be of a second resolution.
    Type: Application
    Filed: May 31, 2012
    Publication date: December 5, 2013
    Applicant: APPLE INC.
    Inventors: Guy Cote, Simon Wolfenden Butler, Joseph P. Bratt
  • Publication number: 20130322746
    Abstract: Systems and methods for processing YCC image data provided. In one example, an electronic device includes memory to store image data in RGB or YCC format and a YCC image processing pipeline to process the image data. The YCC image processing pipeline may include receiving logic configured to receive the image data in RGB or YCC format and color space conversion logic configured to, when the image data is received in RGB format, convert the image data into YCC format. The YCC image processing logic may also include luma sharpening and chroma suppression logic; brightness, contrast, and color adjustment logic; gamma logic; chroma decimation logic; scaling logic; and chromanoise reduction logic.
    Type: Application
    Filed: May 31, 2012
    Publication date: December 5, 2013
    Applicant: APPLE INC.
    Inventors: Guy Cote, Sheng Lin, Suk Hwan Lim, D. Amnon Silverstein, Simon Wolfenden Butler, Mark A. Zimmer, Joseph P. Bratt
  • Patent number: 8533513
    Abstract: A system and method is disclosed for efficiently managing power distribution among the various functional blocks used within portable electronic devices. The method includes allowing each functional block to be independently controlled, containing its own low-level software and power controls for setting the local power state of the functional block. For each power control domain in the implementation, hardware uses these local power states and determines and sets the actual operating state of the power control domain accordingly.
    Type: Grant
    Filed: June 14, 2011
    Date of Patent: September 10, 2013
    Assignee: Apple Inc.
    Inventors: David G. Conroy, Timothy J. Millett, Joseph P. Bratt
  • Patent number: 8525895
    Abstract: Various techniques for applying binning compensation filtering to binned raw image data acquired by an image sensor are provided. In one embodiment, a binning compensation filter (BCF) includes separate digital differential analyzers (DDA) for vertical and horizontal scaling. A current position of an output pixel is determined by incrementing the DDA based upon a step size. Using the known output pixel position, a center source input pixel and an index corresponding to the between-pixel fractional position of the output pixel position relative to the input pixels may be selected for filtering. Using the selected center input pixel, one or more same-colored neighboring source pixels may be selected. The number of selected source pixels may depend on the number of taps used by the scaling logic, and may depend on whether horizontal or vertical scaling is being applied.
    Type: Grant
    Filed: July 29, 2010
    Date of Patent: September 3, 2013
    Assignee: Apple Inc.
    Inventors: Guy Côté, Jeffrey E. Frederiksen, Joseph P. Bratt
  • Patent number: 8508612
    Abstract: The present disclosure provides techniques relates to the implementation of a raw pixel processing unit using a set of line buffers. In one embodiment, the set of line buffers may include a first subset and second subset. Various logical units of the raw pixel processing unit may be implemented using the first and second subsets of line buffers in a shared manner. For instance, in one embodiment, defective pixel correction and detection logic may be implemented using the first subset of line buffers. The second subset of line buffers may be used to implement lens shading correction logic, gain, offset, and clamping logic, and demosaicing logic. Further, noise reduction may also be implemented using at least a portion of each of the first and second subsets of line buffers.
    Type: Grant
    Filed: September 30, 2010
    Date of Patent: August 13, 2013
    Assignee: Apple Inc.
    Inventors: Guy Côté, Jeffrey E. Frederiksen, Joseph P. Bratt
  • Patent number: 8508621
    Abstract: Certain embodiments of the present disclosure provide a flexible memory input/output controller that is configured to the storing and reading of multiple types of pixels and pixel memory formats. For instance, the memory I/O controller may support the storing and reading of raw image pixels at various bits of precision, such as 8-bit, 10-bit, 12-bit, 14-bit, and 16-bit. Pixel formats that are unaligned with memory bytes (e.g., not being a multiple of 8-bits) may be stored in a packed manner. The memory I/O controller may also support various formats of RGB pixel sets and YCC pixel sets.
    Type: Grant
    Filed: September 30, 2010
    Date of Patent: August 13, 2013
    Assignee: Apple Inc.
    Inventors: Guy Côté, Jeffrey E. Frederiksen, Joseph P. Bratt, Jung Wook Cho
  • Patent number: 8493482
    Abstract: Various techniques are provided for processing image data acquired using a digital image sensor. In accordance with aspects of the present disclosure, one such technique may relate to the processing of image data in a system that supports multiple image sensors. In one embodiment, the image processing system may include control circuitry configured to determine whether a device is operating in a single sensor mode (one active sensor) or a dual sensor mode (two active sensors). When operating in the single sensor mode, data may be provided directly to a front-end pixel processing unit from the sensor interface of the active sensor. When operating in a dual sensor mode, the image frames from the first and second sensors are provided to the front-end pixel processing unit in an interleaved manner. For instance, in one embodiment, the image frames from the first and second sensors are written to a memory, and then read out to the front-end pixel processing unit in an interleaved manner.
    Type: Grant
    Filed: August 18, 2010
    Date of Patent: July 23, 2013
    Assignee: Apple Inc.
    Inventors: Guy Cote, Jeffrey E. Frederiksen, Joseph P. Bratt, Shun Wai Go, Timothy J. Millet
  • Patent number: 8405668
    Abstract: In an embodiment, a display pipe includes one or more translation units corresponding to images that the display pipe is reading for display. Each translation unit may be configured to prefetch translations ahead of the image data fetches, which may prevent translation misses in the display pipe (at least in most cases). The translation units may maintain translations in first-in, first-out (FIFO) fashion, and the display pipe fetch hardware may inform the translation unit when a given translation or translation is no longer needed. The translation unit may invalidate the identified translations and prefetch additional translation for virtual pages that are contiguous with the most recently prefetched virtual page.
    Type: Grant
    Filed: November 19, 2010
    Date of Patent: March 26, 2013
    Assignee: Apple Inc.
    Inventors: Joseph P. Bratt, Peter F. Holland
  • Patent number: 8321605
    Abstract: Techniques are disclosed relating to detecting and interjecting a programmed input/output (PIO) operation into a direct memory access (DMA) operation. In one embodiment, an integrated circuit may include a DMA controller that may contain a control circuit, a DMA unit, and a PIO unit. The control circuit may be configured to detect a pending PIO operation during a DMA operation and interject the PIO operation onto a shared path during the same clock cycle as or the first clock cycle following the detection of the pending PIO operation. The DMA operation may consist of multiple single-clock-cycle beats. In one embodiment, a PIO operation may be interjected onto the shared path between beats of a DMA operation, on consecutive clock cycles. At the next clock cycle following the PIO operation, the control circuit may resume the next beat of the DMA operation.
    Type: Grant
    Filed: December 13, 2010
    Date of Patent: November 27, 2012
    Assignee: Apple Inc.
    Inventors: Joseph P. Bratt, Lakshmi Rao
  • Publication number: 20120288089
    Abstract: Disclosed herein are systems, methods, and non-transitory computer-readable storage media for generating a device dependent cryptographic key in a rate-limited way. A system configured to practice the method first receives data associated with a user. The data associated with the user can be a password, a personal identification number (PIN), or a hash of the password. Then the system performs a first encryption operation on the user data based on a device-specific value to yield first intermediate data and performs a second encryption operation on the first intermediate data based on the device-specific value to yield second intermediate data. Then the system iteratively repeats the second encryption operation until a threshold is met, wherein each second encryption operation is performed on the second intermediate data from a previous second encryption operation. The iterations produce a final cryptographic key which the system can then output or use for a cryptographic operation.
    Type: Application
    Filed: May 12, 2011
    Publication date: November 15, 2012
    Applicant: Apple Inc.
    Inventors: Conrad Sauerwald, Joseph P. Bratt, Joshua Phillips de Cesare, Timothy John Millet, Weihua Mao
  • Publication number: 20120206468
    Abstract: A video display pipe used for processing pixels of video and/or image frames may include edge Alpha registers for storing edge Alpha values corresponding to the edges of an image to be translated across a display screen. The edge Alpha values may be specified based on the fractional pixel value by which the image is to be moved in the current frame. The video pipe may copy the column and row of pixels that are in the direction of travel, and may apply the edge Alpha values to the copied column and row. The edge Alpha values may control blending of the additional column and row of the translated image with the adjacent pixels in the original frame, providing the effect of the partial pixel movement, simulating a sub-pixel rate of movement.
    Type: Application
    Filed: February 14, 2011
    Publication date: August 16, 2012
    Inventors: Joseph P. Bratt, Peter F. Holland, Gokhan Avkarogullari
  • Publication number: 20120206657
    Abstract: A display pipe unit for processing pixels of video and/or image frames may be injected with dither-noise during processing of the pixels. A random noise generator implemented using Linear Feedback Shift Registers (LFSRs) produces pseudo-random numbers that are injected into the display pipe as dither-noise. Typically, such LFSRs shift freely during operation and the values of the LFSRs are used as needed. By shifting the LFSRs when the values are used to inject noise into newly received data, and not shifting the LFSRs when no new data is received, variations in the delays of receiving the data do not affect the pattern of noise applied to the frames. Therefore, dither-noise can be deterministically injected into the display pipe during testing/debug operation. By updating the LFSRs when new pixel data is available from the host interface instead of updating the LFSRs every cycle, the same dither-noise can be injected for the same received data.
    Type: Application
    Filed: February 14, 2011
    Publication date: August 16, 2012
    Inventors: Joseph P. Bratt, Peter F. Holland
  • Publication number: 20120151104
    Abstract: Techniques are disclosed relating to detecting and interjecting a programmed input/output (PIO) operation into a direct memory access (DMA) operation. In one embodiment, an integrated circuit may include a DMA controller that may contain a control circuit, a DMA unit, and a PIO unit. The control circuit may be configured to detect a pending PIO operation during a DMA operation and interject the PIO operation onto a shared path during the same clock cycle as or the first clock cycle following the detection of the pending PIO operation. The DMA operation may consist of multiple single-clock-cycle beats. In one embodiment, a PIO operation may be interjected onto the shared path between beats of a DMA operation, on consecutive clock cycles. At the next clock cycle following the PIO operation, the control circuit may resume the next beat of the DMA operation.
    Type: Application
    Filed: December 13, 2010
    Publication date: June 14, 2012
    Inventors: Joseph P. Bratt, Lakshmi Rao
  • Publication number: 20120127193
    Abstract: A display pipe may include fetch circuitry and a scaler unit, and registers programmable with information that defines active regions of an image frame. Pixels within the active regions are active pixels to be displayed, pixels outside of the active regions are inactive pixels not to be displayed. The fetch circuitry may retrieve frames from memory, retrieving the active pixels and not retrieving the inactive pixels as defined by the programmed contents of the registers. A scaler unit may produce scaled pixels from the fetched pixels, basing each scaled pixel on a respective corresponding set of pixels. When a given pixel of the respective corresponding set of pixels is an inactive pixel, the scaler unit may assign an estimated value to the given pixel based on one or more active pixels in the respective corresponding set of pixels. The scaler unit may provide the scaled pixels to a blend unit for blending with other pixels.
    Type: Application
    Filed: November 19, 2010
    Publication date: May 24, 2012
    Inventors: Joseph P. Bratt, Peter F. Holland
  • Publication number: 20120127364
    Abstract: A display pipe may include a video pipe outputting pixels of a video stream in a first color space, e.g. YCbCr color space. The display pipe may also include a first color space converter to convert the output pixels to a second color space, e.g. to RGB color space, producing a conversion output in which some of the converted output pixels have values that are invalid pixel values in the second color space. The display pipe may also include a blend unit that performs blending operations in the second color space on the converted output pixels to produce a blended conversion output that includes blended pixels in the second color space. A second color space converter in the display pipe may convert the blended pixels from the second color space to the first color space, and correctly display the converted blended pixels on a display screen.
    Type: Application
    Filed: November 19, 2010
    Publication date: May 24, 2012
    Inventors: Joseph P. Bratt, Peter F. Holland
  • Publication number: 20120127187
    Abstract: Video display pipes may terminate with a FIFO (first-in first-out) buffer from which pixels are provided to a display controller to display the pixels on a graphics/video display. The display pipes may frequently process the pixels at a much higher rate than at which the display controller fetches the pixels from the FIFO buffer. In an error-checking only mode, the FIFO may be disabled, and an error-checking (e.g. CRC) block connected in front of the FIFO may receive the pixels processed by the display pipes as fast as the display pipes are capable of processing the pixels. Accordingly, the length of test/simulation time required to perform a test may be determined by the rate at which pixels are generated rather than the rate at which the display controller displays the pixels. It also becomes possible to perform testing/simulation in environments where a display is not supported or is not available.
    Type: Application
    Filed: November 19, 2010
    Publication date: May 24, 2012
    Inventors: Joseph P. Bratt, Peter F. Holland, David L. Bowman