Patents by Inventor Timothy J. Millet

Timothy J. Millet 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: 7984317
    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 sets the actual operating state of the power control domain accordingly.
    Type: Grant
    Filed: March 24, 2008
    Date of Patent: July 19, 2011
    Assignee: Apple Inc.
    Inventors: David G. Conroy, Timothy J. Millet, Joseph P. Bratt
  • 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
  • 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: 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: 20110010502
    Abstract: In an embodiment, a cache stores tags for cache blocks stored in the cache. Each tag may include an indication identifying which of two or more replacement policies supported by the cache is in use for the corresponding cache block, and a replacement record indicating the status of the corresponding cache block in the replacement policy. Requests may include a replacement attribute that identifies the desired replacement policy for the cache block accessed by the request. If the request is a miss in the cache, a cache block storage location may be allocated to store the corresponding cache block. The tag associated with the cache block storage location may be updated to include the indication of the desired replacement policy, and the cache may manage the block in accordance with the policy. For example, in an embodiment, the cache may support both an LRR and an LRU policy.
    Type: Application
    Filed: July 10, 2009
    Publication date: January 13, 2011
    Inventors: James Wang, Zongjian Chen, James B. Keller, Timothy J. Millet
  • Publication number: 20110010504
    Abstract: In one embodiment, a memory that is delineated into transparent and non-transparent portions. The transparent portion may be controlled by a control unit coupled to the memory, along with a corresponding tag memory. The non-transparent portion may be software controlled by directly accessing the non-transparent portion via an input address. In an embodiment, the memory may include a decoder configured to decode the address and select a location in either the transparent or non-transparent portion. Each request may include a non-transparent attribute identifying the request as either transparent or non-transparent. In an embodiment, the size of the transparent portion may be programmable. Based on the non-transparent attribute indicating transparent, the decoder may selectively mask bits of the address based on the size to ensure that the decoder only selects a location in the transparent portion.
    Type: Application
    Filed: July 10, 2009
    Publication date: January 13, 2011
    Inventors: James Wang, Zongjian Chen, James B. Keller, Timothy J. Millet
  • Publication number: 20110010520
    Abstract: In an embodiment, a non-transparent memory unit is provided which includes a non-transparent memory and a control circuit. The control circuit may manage the non-transparent memory as a set of non-transparent memory blocks. Software executing on one or more processors may request a non-transparent memory block in which to process data. The control circuit may allocate a first block, and may return an address (or other indication) of the allocated block so that the software can access the block. The control circuit may also provide automatic data movement between the non-transparent memory and a main memory system to which the non-transparent memory unit is coupled. For example, the automatic data movement may include filling data from the main memory system to the allocated block, or flushing the data in the allocated block to the main memory system after the processing of the allocated block is complete.
    Type: Application
    Filed: July 10, 2009
    Publication date: January 13, 2011
    Inventors: James Wang, Zongjian Chen, James B. Keller, Timothy J. Millet
  • Publication number: 20100085290
    Abstract: A method and system is disclosed for improving the response time of displays, such as liquid crystal displays (LCDs). The method includes receiving a target picture frame and comparing it to a current picture frame. If the comparison shows that a display may be unable to transition from a current pixel intensity level to a target pixel intensity level within a specified time period, then the pixels that correspond to those current pixel intensities that may not be reach target pixel intensities may be overdriven. This overdriving of one or more pixels may allow the pixel to reach the target pixel intensity within the specified time period.
    Type: Application
    Filed: January 22, 2009
    Publication date: April 8, 2010
    Applicant: Apple Inc.
    Inventors: Michael Culbert, Timothy J. Millet
  • Publication number: 20100082849
    Abstract: A method and system is disclosed for passing data processed by a DMA controller through a transmission filter. The method includes the DMA controller accessing data for transfer between an origination location in the system and a destination location in the system. The accessed data is passed through the DMA controller before being sent to the destination location. While the data is being passed through the DMA controller, it is passed through a transmission filter for processing. This processing may include the addition or removal of transmission protocol headers and footers, and determination of the destination of the data. This processing may also include hash-based packet classification and checksum generation and checking. Upon completion of the processing, the data is sent directly to a prescribed destination location, typically either a memory circuit or an I/O device.
    Type: Application
    Filed: January 14, 2009
    Publication date: April 1, 2010
    Applicant: Apple Inc.
    Inventors: Timothy J. Millet, David G. Conroy, Michael Culbert
  • Publication number: 20100060792
    Abstract: A media processing system with an improved method and device for rotating a video image is provided. Embodiments of the media processing system include a video decoder with the ability to output decoded video in a landscape or portrait orientation. In some embodiments, the video output orientation is based on the physical orientation of the display as indicated by an electronic sensor.
    Type: Application
    Filed: December 30, 2008
    Publication date: March 11, 2010
    Inventors: Barry Corlett, David G. Conroy, Timothy J. Millet, Michael Culbert
  • Publication number: 20090313484
    Abstract: A method of operating a media player is provided. In one embodiment the method includes receiving a plurality of initially configured video settings for viewing a video segment on the media player for a desired playback duration. The method further includes determining power required to play the video segment based on the initial video settings and playing the video segment if the required power matches or is less than total power available to the media player. In another embodiment, the method may further include, if the required power exceeds the total power available to the media player, adjusting one or more of the initial video settings, either automatically or by user inputs, to reduce the power required to play the requested video segment for the desired playback duration.
    Type: Application
    Filed: June 17, 2008
    Publication date: December 17, 2009
    Applicant: Apple Inc.
    Inventors: TIMOTHY J. MILLET, Michael Culbert, William C. Athas
  • Publication number: 20090257507
    Abstract: A technique is provided for processing decoded video data to mask visual compression artifacts resulting from video compression. In accordance with this technique, a hardware block is provided for generating and adding random noise to the decoded video stream. In one embodiment, a random number is generated for each pixel of the decoded video data and compared against one or more threshold values to determine a threshold range. In such an embodiment, a noise addend value is selected based upon the threshold comparison and summed with the current pixel. While the present technique may not eliminate the compression artifacts, the addition of random noise renders the compression artifacts less noticeable to the human eye and, therefore, more aesthetically pleasing to a viewer.
    Type: Application
    Filed: April 14, 2008
    Publication date: October 15, 2009
    Applicant: Apple Inc.
    Inventors: HAITAO GUO, Sally Fung, Timothy J. Millet
  • Publication number: 20090248911
    Abstract: A method and system is disclosed for accessing I/O and memory devices utilizing a DMA controller. Each device may be connected to the DMA controller through an individual channel. Clocking circuitry in the DMA may allow the DMA controller to send signals to each device at a prescribed frequency. Furthermore, the DMA controller is capable of activating and deactivating a channel clock, used in sending signals to the devices, based on the operational status of the individual devices. The DMA controller is also capable of tuning the channel clock dependant on the capabilities of any active devices. In this manner, the amount of bandwidth used during a DMA data transfer can be tailored to the specific requirements of the devices involved with the data transfer.
    Type: Application
    Filed: March 27, 2008
    Publication date: October 1, 2009
    Applicant: Apple Inc.
    Inventors: DAVID G. CONROY, Timothy J. Millet, Joseph P. Bratt
  • Publication number: 20090248910
    Abstract: A method and system is disclosed for transforming of data by a DMA controller without first saving the transmitted data on an intermediate medium. The method includes the DMA controller accessing data for transfer between an origination location in the system and a destination location in the system. The accessed data is passed through the DMA controller before being sent to the destination location. While the data is being passed through the DMA controller, it is transformed into a modified state. This transformation may include encryption or decryption of the data. The transformation may also include adding error correction bits to the data through an encoding process or decoding previously encoded data. Upon completion of the transformation, the data is sent directly to a prescribed destination location, typically either a memory circuit or an I/O device. Also disclosed is a DMA controller capable of performing the data transformation.
    Type: Application
    Filed: April 1, 2008
    Publication date: October 1, 2009
    Applicant: Apple Inc.
    Inventors: David G. Conroy, Timothy J. Millet, Michael J. Smith, Joshua P. de Cesare
  • Publication number: 20090240959
    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 sets the actual operating state of the power control domain accordingly.
    Type: Application
    Filed: March 24, 2008
    Publication date: September 24, 2009
    Applicant: APPLE INC.
    Inventors: David G. Conroy, Timothy J. Millet, Joseph P. Bratt
  • Patent number: 7430203
    Abstract: The present invention provides a system and a method for filtering a plurality of frames sent between devices coupled to a fabric by Fiber Channel connections. Frames are reviewed against a set of individual frame filters. Each frame filter is associated with an action, and actions selected by filter matches are prioritized. Groups of devices are “zoned” together and frame filtering ensures that restrictions placed upon communications between devices within the same zone are enforced. Zone group filtering is also used to prevent devices not within the same zone from communicating. Zoning may also be used to create LUN-level zones, protocol zones, and access control zones. In addition, individual frame filters may be created that reference selected portions of frame header or frame payload fields.
    Type: Grant
    Filed: January 29, 2004
    Date of Patent: September 30, 2008
    Assignee: Brocade Communications Systems, Inc.
    Inventors: Timothy J. Millet, Surya P. Varanasi, Indraneel Ghosh, Zahid Hussain
  • Patent number: 7042460
    Abstract: A method and apparatus for efficiently rasterizing graphics is provided. The method is intended to be used in combination with a frame buffer that provides fast tile-based addressing. Within this environment, frame buffer memory locations are organized into a tile hierarchy. For this hierarchy, smaller low-level tiles combine to form larger mid-level tiles. Mid-level tiles combine to form high-level tiles. The tile hierarchy may be expanded to include more levels, or collapsed to included fewer levels. A graphics primitive is rasterized by selecting an starting vertex. The low-level tile that includes the starting vertex is then rasterized. The remaining low-level tiles that are included in the same mid-level tile as the starting vertex are then rasterized. Rasterization continues with the mid-level tiles that are included in the same high-level tile as the starting vertex. These mid-level tiles are rasterized by rasterizing their component low-level tiles.
    Type: Grant
    Filed: March 7, 2003
    Date of Patent: May 9, 2006
    Assignee: Microsoft Corporation
    Inventors: Zahid S. Hussain, Timothy J. Millet
  • Patent number: 6972768
    Abstract: A method and apparatus for efficiently rasterizing graphics is provided. The method is intended to be used in combination with a frame buffer that provides fast tile-based addressing. Within this environment, frame buffer memory locations are organized into a tile hierarchy. For this hierarchy, smaller low-level tiles combine to form larger mid-level tiles. Mid-level tiles combine to form high-level tiles. The tile hierarchy may be expanded to include more levels, or collapsed to included fewer levels. A graphics primitive is rasterized by selecting an starting vertex. The low-level tile that includes the starting vertex is then rasterized. The remaining low-level tiles that are included in the same mid-level tile as the starting vertex are then rasterized. Rasterization continues with the mid-level tiles that are included in the same high-level tile as the starting vertex. These mid-level tiles are rasterized by rasterizing their component low-level tiles.
    Type: Grant
    Filed: November 24, 2004
    Date of Patent: December 6, 2005
    Assignee: Microsoft Corporation
    Inventors: Zahid S. Hussain, Timothy J. Millet
  • Patent number: 6611272
    Abstract: A method and apparatus for efficiently rasterizing graphics is provided. The method is intended to be used in combination with a frame buffer that provides fast tile-based addressing. Within this environment, frame buffer memory locations are organized into a tile hierarchy. For this hierarchy, smaller low-level tiles combine to form larger mid-level tiles. Mid-level tiles combine to form high-level tiles. The tile hierarchy may be expanded to include more levels, or collapsed to included fewer levels. A graphics primitive is rasterized by selecting an starting vertex. The low-level tile that includes the starting vertex is then rasterized. The remaining low-level tiles that are included in the same mid-level tile as the starting vertex are then rasterized. Rasterization continues with the mid-level tiles that are included in the same high-level tile as the starting vertex. These mid-level tiles are rasterized by rasterizing their component low-level tiles.
    Type: Grant
    Filed: September 2, 1998
    Date of Patent: August 26, 2003
    Assignee: Microsoft Corporation
    Inventors: Zahid S. Hussain, Timothy J. Millet
  • Publication number: 20030142103
    Abstract: A method and apparatus for efficiently rasterizing graphics is provided. The method is intended to be used in combination with a frame buffer that provides fast tile-based addressing. Within this environment, frame buffer memory locations are organized into a tile hierarchy. For this hierarchy, smaller low-level tiles combine to form larger mid-level tiles. Mid-level tiles combine to form high-level tiles. The tile hierarchy may be expanded to include more levels, or collapsed to included fewer levels. A graphics primitive is rasterized by selecting an starting vertex. The low-level tile that includes the starting vertex is then rasterized. The remaining low-level tiles that are included in the same mid-level tile as the starting vertex are then rasterized. Rasterization continues with the mid-level tiles that are included in the same high-level tile as the starting vertex. These mid-level tiles are rasterized by rasterizing their component low-level tiles.
    Type: Application
    Filed: March 7, 2003
    Publication date: July 31, 2003
    Inventors: Zahid S. Hussain, Timothy J. Millet