Patents by Inventor John Howson

John Howson 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: 10311539
    Abstract: A SIMD processing unit processes a plurality of tasks which each include up to a predetermined maximum number of work items. The work items of a task are arranged for executing a common sequence of instructions on respective data items. The data items are arranged into blocks, with some of the blocks including at least one invalid data item. Work items which relate to invalid data items are invalid work items. The SIMD processing unit comprises a group of processing lanes configured to execute instructions of work items of a particular task over a plurality of processing cycles. A control module assembles work items into the tasks based on the validity of the work items, so that invalid work items of the particular task are temporally aligned across the processing lanes. In this way the number of wasted processing slots due to invalid work items may be reduced.
    Type: Grant
    Filed: November 2, 2016
    Date of Patent: June 4, 2019
    Assignee: Imagination Technologies Limited
    Inventors: John Howson, Jonathan Redshaw, Yoong Chert Foo
  • Patent number: 10255653
    Abstract: A cache system in a graphics processing system stores graphics data items for use in rendering primitives. It is determined whether graphics data items relating to primitives to be rendered are present in the cache, and if not then computation instances for generating the graphics data items are created. Computation instances are allocated to tasks using a task assembly unit which stores task entries for respective tasks. The task entries indicate which computation instances have been allocated to the respective tasks. The task entries are associated with characteristics of computation instances which can be allocated to the respective tasks. A computation instance to be executed is allocated to a task based on the characteristics of the computation instance. SIMD processing logic executes computation instances of a task outputted from the task assembly unit to thereby determine graphics data items, which can be used to render the primitives.
    Type: Grant
    Filed: March 7, 2017
    Date of Patent: April 9, 2019
    Assignee: Imagination Technologies Limited
    Inventors: Andrea Sansottera, Xile Yang, John Howson, Jonathan Redshaw
  • Publication number: 20180174269
    Abstract: A tile-based graphics system has a rendering space sub-divided into a plurality of tiles which are to be processed. Graphics data items, such as parameters or texels, are fetched into a cache for use in processing one of the tiles. Indicators are determined for the graphics data items, whereby the indicator for a graphics data item indicates the number of tiles with which that graphics data item is associated. The graphics data items are evicted from the cache in accordance with the indicators of the graphics data items. For example, the indicator for a graphics data item may be a count of the number of tiles with which that graphics data item is associated, whereby the graphics data item(s) with the lowest count(s) is (are) evicted from the cache.
    Type: Application
    Filed: February 13, 2018
    Publication date: June 21, 2018
    Inventors: Steven John FISHWICK, John HOWSON
  • Patent number: 9934549
    Abstract: A tile-based graphics system has a rendering space sub-divided into a plurality of tiles which are to be processed. Graphics data items, such as parameters or texels, are fetched into a cache for use in processing one of the tiles. Indicators are determined for the graphics data items, whereby the indicator for a graphics data item indicates the number of tiles with which that graphics data item is associated. The graphics data items are evicted from the cache in accordance with the indicators of the graphics data items. For example, the indicator for a graphics data item may be a count of the number of tiles with which that graphics data item is associated, whereby the graphics data item(s) with the lowest count(s) is (are) evicted from the cache.
    Type: Grant
    Filed: February 3, 2017
    Date of Patent: April 3, 2018
    Assignee: Imagination Technologies Limited
    Inventors: Steven John Fishwick, John Howson
  • Patent number: 9928563
    Abstract: A tile-based graphics system has a rendering space sub-divided into a plurality of tiles which are to be processed. Graphics data items, such as parameters or texels, are fetched into a cache for use in processing one of the tiles. Indicators are determined for the graphics data items, whereby the indicator for a graphics data item indicates the number of tiles with which that graphics data item is associated. The graphics data items are evicted from the cache in accordance with the indicators of the graphics data items. For example, the indicator for a graphics data item may be a count of the number of tiles with which that graphics data item is associated, whereby the graphics data item(s) with the lowest count(s) is (are) evicted from the cache.
    Type: Grant
    Filed: March 18, 2014
    Date of Patent: March 27, 2018
    Assignee: Imagination Technologies Limited
    Inventors: Steven John Fishwick, John Howson
  • Publication number: 20180033187
    Abstract: A graphics processing system performs hidden surface removal and texturing/shading on fragments of primitives. The system includes a primary depth buffer (PDB) for storing depth values of resolved fragments, and a secondary depth buffer (SDB) for storing depth values of unresolved fragments. Incoming fragments are depth tested against depth values from either the PDB or the SDB. When a fragment passes a depth test, its depth value is stored in the PDB if it is a resolved fragment (e.g. if it is opaque or translucent), and its depth value is stored in the SDB if it is an unresolved fragment (e.g. if it is a punch through fragment). This provides more opportunities for subsequent opaque objects to overwrite punch through fragments which passed a depth test, thereby reducing unnecessary processing and time which may be spent on fragments which ultimately will not contribute to the final rendered image.
    Type: Application
    Filed: October 6, 2017
    Publication date: February 1, 2018
    Inventor: John Howson
  • Patent number: 9799137
    Abstract: A graphics processing system performs hidden surface removal and texturing/shading on fragments of primitives. The system includes a primary depth buffer (PDB) for storing depth values of resolved fragments, and a secondary depth buffer (SDB) for storing depth values of unresolved fragments. Incoming fragments are depth tested against depth values from either the PDB or the SDB. When a fragment passes a depth test, its depth value is stored in the PDB if it is a resolved fragment (e.g. if it is opaque or translucent), and its depth value is stored in the SDB if it is an unresolved fragment (e.g. if it is a punch through fragment). This provides more opportunities for subsequent opaque objects to overwrite punch through fragments which passed a depth test, thereby reducing unnecessary processing and time which may be spent on fragments which ultimately will not contribute to the final rendered image.
    Type: Grant
    Filed: January 27, 2016
    Date of Patent: October 24, 2017
    Assignee: Imagination Technologies Limited
    Inventor: John Howson
  • Publication number: 20170256020
    Abstract: A cache system in a graphics processing system stores graphics data items for use in rendering primitives. It is determined whether graphics data items relating to primitives to be rendered are present in the cache, and if not then computation instances for generating the graphics data items are created. Computation instances are allocated to tasks using a task assembly unit which stores task entries for respective tasks. The task entries indicate which computation instances have been allocated to the respective tasks. The task entries are associated with characteristics of computation instances which can be allocated to the respective tasks. A computation instance to be executed is allocated to a task based on the characteristics of the computation instance. SIMD processing logic executes computation instances of a task outputted from the task assembly unit to thereby determine graphics data items, which can be used to render the primitives.
    Type: Application
    Filed: March 7, 2017
    Publication date: September 7, 2017
    Inventors: Andrea Sansottera, Xile Yang, John Howson, Jonathan Redshaw
  • Publication number: 20170148130
    Abstract: A tile-based graphics system has a rendering space sub-divided into a plurality of tiles which are to be processed. Graphics data items, such as parameters or texels, are fetched into a cache for use in processing one of the tiles. Indicators are determined for the graphics data items, whereby the indicator for a graphics data item indicates the number of tiles with which that graphics data item is associated. The graphics data items are evicted from the cache in accordance with the indicators of the graphics data items. For example, the indicator for a graphics data item may be a count of the number of tiles with which that graphics data item is associated, whereby the graphics data item(s) with the lowest count(s) is (are) evicted from the cache.
    Type: Application
    Filed: February 3, 2017
    Publication date: May 25, 2017
    Inventors: Steven John Fishwick, John Howson
  • Publication number: 20170076420
    Abstract: A SIMD processing unit processes a plurality of tasks which each include up to a predetermined maximum number of work items. The work items of a task are arranged for executing a common sequence of instructions on respective data items. The data items are arranged into blocks, with some of the blocks including at least one invalid data item. Work items which relate to invalid data items are invalid work items. The SIMD processing unit comprises a group of processing lanes configured to execute instructions of work items of a particular task over a plurality of processing cycles. A control module assembles work items into the tasks based on the validity of the work items, so that invalid work items of the particular task are temporally aligned across the processing lanes. In this way the number of wasted processing slots due to invalid work items may be reduced.
    Type: Application
    Filed: November 2, 2016
    Publication date: March 16, 2017
    Inventors: John Howson, Jonathan Redshaw, Yoong Chert Foo
  • Patent number: 9513963
    Abstract: A SIMD processing unit processes a plurality of tasks which each include up to a predetermined maximum number of work items. The work items of a task are arranged for executing a common sequence of instructions on respective data items. The data items are arranged into blocks, with some of the blocks including at least one invalid data item. Work items which relate to invalid data items are invalid work items. The SIMD processing unit comprises a group of processing lanes configured to execute instructions of work items of a particular task over a plurality of processing cycles. A control module assembles work items into the tasks based on the validity of the work items, so that invalid work items of the particular task are temporally aligned across the processing lanes. In this way the number of wasted processing slots due to invalid work items may be reduced.
    Type: Grant
    Filed: December 17, 2014
    Date of Patent: December 6, 2016
    Assignee: Imagination Technologies Limited
    Inventors: John Howson, Jonathan Redshaw, Yoong Chert Foo
  • Patent number: 9409092
    Abstract: Systems, methods, and articles of manufacture provide for new features and functionality of slot-style games. In some embodiments, one or more music components, music-related game objects and/or other types of musical features may be integrated into a game.
    Type: Grant
    Filed: August 1, 2014
    Date of Patent: August 9, 2016
    Assignee: Gamesys Ltd.
    Inventor: Gregory John Howson
  • Publication number: 20160217608
    Abstract: A graphics processing system performs hidden surface removal and texturing/shading on fragments of primitives. The system includes a primary depth buffer (PDB) for storing depth values of resolved fragments, and a secondary depth buffer (SDB) for storing depth values of unresolved fragments. Incoming fragments are depth tested against depth values from either the PDB or the SDB. When a fragment passes a depth test, its depth value is stored in the PDB if it is a resolved fragment (e.g. if it is opaque or translucent), and its depth value is stored in the SDB if it is an unresolved fragment (e.g. if it is a punch through fragment). This provides more opportunities for subsequent opaque objects to overwrite punch through fragments which passed a depth test, thereby reducing unnecessary processing and time which may be spent on fragments which ultimately will not contribute to the final rendered image.
    Type: Application
    Filed: January 27, 2016
    Publication date: July 28, 2016
    Inventor: John Howson
  • Patent number: 9352456
    Abstract: A power tool includes a housing, a motor disposed in the housing, a transmission disposed in the housing and coupled to the motor, an output end effector coupled to the transmission, a control circuit for controlling power delivery from a power source to the motor, and a force sensing electronic clutch including a force sensor coupled to a substantially stationary element of the transmission. The force sensor senses a reaction torque transmitted from the end effector to at least a portion of the transmission. The sensor is configured to generate a first electronic signal corresponding to an amount of the reaction torque. The control circuit compares the first electronic signal with a second electronic signal corresponding to a desired threshold torque value, and initiates a protective operation when a value of the first electronic signal indicates that the reaction torque has exceeded the desired threshold torque value.
    Type: Grant
    Filed: October 18, 2012
    Date of Patent: May 31, 2016
    Assignee: Black & Decker Inc.
    Inventors: Sankarshan Murthy, John Howson, Tal Gottesman, Scott J. Eshleman, Russell David Hester, Craig Alan Schell, Daniel Puzio, Daniel L. Schwartz
  • Patent number: 9314900
    Abstract: A handheld grinder comprising a housing; a grinding disk; a motor; an output shaft connected to the grinding disk and the motor to impart rotary motion thereto; and a circuit board residing in the housing and having thereon a rectifier that receives an alternating current and converts the alternating current to a direct current, a switching arrangement having a plurality of motor switches connected electrically between the rectifier and the motor and operates to deliver the direct current from the rectifier to the motor, a capacitor connected electrically between the rectifier and the switching arrangement, wherein the capacitor is coupled in parallel across the rectifier, a driver circuit interfaced with the motor switches and operable to control switching operation of the motor switches, and a power switch connected electrically between the rectifier and the driver circuit and operable to selectively energize the driver circuit and power on the grinder disk.
    Type: Grant
    Filed: October 18, 2013
    Date of Patent: April 19, 2016
    Assignee: BLACK & DECKER INC.
    Inventors: John C. Vanko, Michael K. Forster, Matthew J. Velderman, John Howson
  • Publication number: 20160098856
    Abstract: A graphics processing system includes a tiling unit for performing tiling calculations and a hidden surface removal (HSR) unit for performing HSR on fragments of the primitives. Primitive depth information is calculated in the tiling unit and forwarded for use by the HSR unit in performing HSR on the fragments. This takes advantage of the tiling unit having access to the primitive data before the HSR unit performs the HSR on the primitive fragments, to determine some depth information which can simplify the HSR performed by the HSR unit. Therefore, the final values of a depth buffer determined in the tiling unit can be used in the HSR unit to determine that a particular fragment will be subsequently hidden by a fragment of a primitive which is yet to be processed in the HSR unit, such that the particular fragment can be culled.
    Type: Application
    Filed: October 6, 2015
    Publication date: April 7, 2016
    Inventors: Richard Broadhurst, John Howson, Robert Theed
  • Patent number: 9299187
    Abstract: Non-opaque primitives (e.g. translucent or punch-through primitives) often include some fragments which do not need to be treated as non-opaque fragments. For example, some fragments of a translucent primitive may be entirely opaque or entirely transparent. However, typically, the opacity states (e.g. alpha states) of the fragments are not known until texturing has been applied because it is the texture that includes the opacity information (e.g. the alpha values). However, as described herein, an opacity test is performed up front (e.g. before texturing is applied to fragments of a non-opaque primitive) to see if the processing of the fragments can be simplified. For example, if fragments are fully transparent then they may be discarded. As another example, if fragments are fully opaque then they may be handled as if they have an opaque object type such that the subsequent processing of the fragments is simplified.
    Type: Grant
    Filed: February 6, 2015
    Date of Patent: March 29, 2016
    Assignee: Imagination Technologies Limited
    Inventor: John Howson
  • Patent number: 9250961
    Abstract: A SIMD processing unit processes a plurality of tasks which each include up to a predetermined maximum number of work items. The work items of a task are arranged for executing a common sequence of instructions on respective data items. The data items are arranged into blocks, with some of the blocks including at least one invalid data item. Work items which relate to invalid data items are invalid work items. The SIMD processing unit comprises a group of processing lanes configured to execute instructions of work items of a particular task over a plurality of processing cycles. A control module assembles work items into the tasks based on the validity of the work items, so that invalid work items of the particular task are temporally aligned across the processing lanes. In this way the number of wasted processing slots due to invalid work items may be reduced.
    Type: Grant
    Filed: December 17, 2014
    Date of Patent: February 2, 2016
    Assignee: Imagination Technologies Limited
    Inventors: John Howson, Jonathan Redshaw, Yoong Chert Foo
  • Publication number: 20150221127
    Abstract: Non-opaque primitives (e.g. translucent or punch-through primitives) often include some fragments which do not need to be treated as non-opaque fragments. For example, some fragments of a translucent primitive may be entirely opaque or entirely transparent. However, typically, the opacity states (e.g. alpha states) of the fragments are not known until texturing has been applied because it is the texture that includes the opacity information (e.g. the alpha values). However, as described herein, an opacity test is performed up front (e.g. before texturing is applied to fragments of a non-opaque primitive) to see if the processing of the fragments can be simplified. For example, if fragments are fully transparent then they may be discarded. As another example, if fragments are fully opaque then they may be handled as if they have an opaque object type such that the subsequent processing of the fragments is simplified.
    Type: Application
    Filed: February 6, 2015
    Publication date: August 6, 2015
    Inventor: John Howson
  • Publication number: 20150169370
    Abstract: A SIMD processing unit processes a plurality of tasks which each include up to a predetermined maximum number of work items. The work items of a task are arranged for executing a common sequence of instructions on respective data items. The data items are arranged into blocks, with some of the blocks including at least one invalid data item. Work items which relate to invalid data items are invalid work items. The SIMD processing unit comprises a group of processing lanes configured to execute instructions of work items of a particular task over a plurality of processing cycles. A control module assembles work items into the tasks based on the validity of the work items, so that invalid work items of the particular task are temporally aligned across the processing lanes. In this way the number of wasted processing slots due to invalid work items may be reduced.
    Type: Application
    Filed: December 17, 2014
    Publication date: June 18, 2015
    Inventors: John Howson, Jonathan Redshaw, Yoong Chert Foo