Patents by Inventor Peter F. Holland

Peter F. Holland 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: 8669993
    Abstract: A user interface unit in a graphics processing display pipe may include registers programmable with information that defines active regions of an image frame. Pixels within the active regions of the image frame are meant to be displayed, while pixels outside of the active regions of the image frame are not to be displayed. Fetch circuitry within the user interface unit may fetch frames from memory, fetching only the pixels within the active regions of the image frames as defined by the programmed contents of the registers. The user interface unit may then provide the fetched pixels to a blend unit to blend the fetched pixels with pixels from other frames or pixels of a video stream to produce output frames. When blended with pixels of a video stream, the fetched pixels may be displayed as a graphics overlay on top of the video stream.
    Type: Grant
    Filed: January 11, 2010
    Date of Patent: March 11, 2014
    Assignee: Apple Inc.
    Inventors: Joseph P. Bratt, Shing Choo, Peter F. Holland, 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
  • Publication number: 20130057567
    Abstract: The same pixel stream may be displayed on an internal display and an external display while maintaining the original aspect ratio corresponding to the internal display dimensions. A connector with limited number of pins may only support a two-wire display port interface to the external display, which may not provide enough bandwidth to transmit the full resolution image to the external display. To transmit the full resolution image, a color space conversion from RGB space to YCbCr color space may be performed. The Luma component may be transmitted at full resolution, while the chroma components may be scaled. Accordingly, there is no loss of image resolution, while some amount of color resolution may be lost. However, there is no need to retime frames within the system on chip (SOC), and the same pixel stream may be used as the basis for display on both the internal and the external display.
    Type: Application
    Filed: September 7, 2011
    Publication date: March 7, 2013
    Inventors: Michael Frank, Brijesh Tripathi, Peter F. Holland
  • Publication number: 20120306926
    Abstract: A scaling unit is disclosed that is within a computing device having an internal display and an external interface. The scaling unit facilitates the concurrent presentation of images on the internal display and an external display connected to the external interface. In configurations in which the external interface does not have sufficient data width to concurrently display images on the external display at the same resolution as the internal display, the scaling unit may be used to reduce the number of pixels in a line, thus reducing bandwidth requirements at the external interface. The scaling unit may also scale further to maintain an aspect ratio of the image displayed on the internal display. Further vertical scaling may be performed outside the computing device (e.g., by a dongle coupled between the computing device and the external display), such that the scaling unit may be implemented with reduced memory requirements.
    Type: Application
    Filed: July 29, 2011
    Publication date: December 6, 2012
    Applicant: APPLE INC.
    Inventors: Timothy John Millet, Brijesh Tripathi, Peter F. Holland
  • Publication number: 20120307141
    Abstract: An inline scaling unit configured to retime an input video frame is disclosed. The scaling unit is configured to receive pixels within a line of a video frame to be displayed on a primary display that is within a first clock domain. The scaling unit down-scales the group of pixels and writes the down-scaled pixels to a buffer circuit in the first clock domain. The scaling unit includes a control circuit configured to generate horizontal and vertical control signals for the retimed video frame to be displayed on a secondary display that is within a second clock domain. The horizontal and vertical control signals are then used to enable reading from the buffer circuit in the second clock domain. The scaling unit outputs the down-scaled pixels and the generated control signals within the retimed video frame such that input video frame and the retimed video frame may be displayed concurrently.
    Type: Application
    Filed: July 29, 2011
    Publication date: December 6, 2012
    Applicant: APPLE INC.
    Inventors: Timothy John Millet, Brijesh Tripathi, Peter F. Holland
  • Publication number: 20120206474
    Abstract: A blend unit in a display pipe for processing pixels of video and/or image frames may include multiple blend stages, where each blend stage may include multiple levels for blending pixels according to a blend equation. The blending operation includes blending pixel color values and Alpha values. A multiplication may be performed at each blend level, necessitating Alpha value normalizations in the form of divisions to obtain pixel color values having a specified bit-length. Color value normalizations are not needed when the desired result is an actual color value. In order to reduce the compounding of errors that may result from the introduction of an error at each division, Alpha value normalizations may not be performed at each blend level, carrying the intermediate results forward in fractional form—through one or multiple blend stages—until the end of the blending operation.
    Type: Application
    Filed: February 14, 2011
    Publication date: August 16, 2012
    Inventors: Peter F. Holland, Vaughn T. Arnold
  • 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: 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: 20120131306
    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: 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
  • 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: 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: 20110169848
    Abstract: A graphics system may include one or more processing units for processing a current display frame, each processing unit including a plurality of parameter registers for storing parameter settings used in processing the current display frame. A parameter buffer in the graphics system may store frame packets, with each frame packet containing information corresponding to parameter settings to be used for at least one display frame. A control circuit coupled to the buffer and to the one or more processing units may retrieve and process a top frame packet from the parameter buffer to update one or more of the parameter registers according to the contents of the top frame packet. The control circuit may issue DMA requests to fill the parameter buffer with frame packets transferred from system memory, where the frame packets may be written by an application (or software) executing on a central processing unit.
    Type: Application
    Filed: January 11, 2010
    Publication date: July 14, 2011
    Inventors: Joseph P. Bratt, Shing Choo, Peter F. Holland, Timothy J. Millet
  • Publication number: 20110169849
    Abstract: A graphics system may include a display pipe with a buffer configured to store pixels to be processed by a display controller for displaying on a display device, with a buffer control circuit coupled to the buffer to supply pixels to the display controller. When the buffer control circuit detects an underrun of the buffer responsive to the display controller attempting to read pixels from the buffer that have not yet been written to the buffer, the buffer control circuit may supply an underrun pixel to the display. The underrun pixel may be selected from a set of previously stored set of underrun pixels, which may include a most recent valid pixel read by the display controller. A read pointer representative of the location in the buffer from where the display controller is currently attempting to read may be advanced even when an underrun condition occurs.
    Type: Application
    Filed: January 11, 2010
    Publication date: July 14, 2011
    Inventors: Joseph P. Bratt, Shing Choo, Peter F. Holland, Timothy J. Millet, Brijesh Tripathi
  • Publication number: 20110169847
    Abstract: A user interface unit in a graphics processing display pipe may include registers programmable with information that defines active regions of an image frame. Pixels within the active regions of the image frame are meant to be displayed, while pixels outside of the active regions of the image frame are not to be displayed. Fetch circuitry within the user interface unit may fetch frames from memory, fetching only the pixels within the active regions of the image frames as defined by the programmed contents of the registers. The user interface unit may then provide the fetched pixels to a blend unit to blend the fetched pixels with pixels from other frames or pixels of a video stream to produce output frames. When blended with pixels of a video stream, the fetched pixels may be displayed as a graphics overlay on top of the video stream.
    Type: Application
    Filed: January 11, 2010
    Publication date: July 14, 2011
    Inventors: Joseph P. Bratt, Shing Choo, Peter F. Holland, Timothy J. Millet