Patents by Inventor Steven Fishwick

Steven Fishwick 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: 10387990
    Abstract: A graphics processing unit is configured to process graphics data using a rendering space which is sub-divided into a plurality of tiles. The graphics processing unit comprises one or more processing cores configured to process graphics data. The graphics processing unit also comprises scheduling logic configured to subdivide at least one set of one or more tiles of the rendering space to form a plurality of subunits (e.g. subtiles) and to assign at least some of those subunits to different processing cores for rendering. The subdivision of tiles can be particularly useful for expensive tiles occurring near the end of a render to reduce the impact on the total render time when expensive tiles are scheduled near the end of a render.
    Type: Grant
    Filed: January 11, 2018
    Date of Patent: August 20, 2019
    Assignee: Imagination Technologies Limited
    Inventors: Richard Broadhurst, Steven Fishwick
  • Publication number: 20190253730
    Abstract: A motion estimation technique finds first and second candidate bi-directional motion vectors for a first region of an interpolated frame of video content by performing double ended vector motion estimation on the first region. One of these candidate bi-directional motion vectors is selected, and used to identify a remote region of the interpolated frame. This remote region is located at an off-set location from the first region, and is found based on an endpoint of the selected candidate bi-directional motion vector. A remote motion vector for the remote region of the interpolated frame is obtained, and one or more properties of this remote motion vector are used to bias a selection between the first and second candidate vectors.
    Type: Application
    Filed: April 25, 2019
    Publication date: August 15, 2019
    Inventor: Steven Fishwick
  • Patent number: 10321149
    Abstract: A motion estimation technique finds first and second candidate bi-directional motion vectors for a first region of an interpolated frame of video content by performing double ended vector motion estimation on the first region. One of these candidate bi-directional motion vectors is selected, and used to identify a remote region of the interpolated frame. This remote region is located at an off-set location from the first region, and is found based on an endpoint of the selected candidate bi-directional motion vector. A remote motion vector for the remote region of the interpolated frame is obtained, and one or more properties of this remote motion vector are used to bias a selection between the first and second candidate vectors.
    Type: Grant
    Filed: June 5, 2015
    Date of Patent: June 11, 2019
    Assignee: Imagination Technologies Limited
    Inventor: Steven Fishwick
  • Patent number: 10249016
    Abstract: A graphics processing unit is configured to process graphics data using a rendering space which is sub-divided into a plurality of tiles. The graphics processing unit comprises one or more processing cores configured to process graphics data. The graphics processing unit also comprises cost indication logic configured to obtain a cost indication for each of a plurality of sets of one or more tiles of the rendering space, wherein the cost indication for a set of one or more tiles is suggestive of a cost of processing the set of one or more tiles. The graphics processing unit also comprises scheduling logic configured to schedule, in dependence upon the cost indications, the sets of one or more tiles for processing on the one or more processing cores.
    Type: Grant
    Filed: January 11, 2018
    Date of Patent: April 2, 2019
    Assignee: Imagination Technologies Limited
    Inventors: Richard Broadhurst, John W. Howson, Steven Fishwick
  • Publication number: 20190026857
    Abstract: In an example method and system, image data to an image processing module. Image data is read from memory into a down-scaler, which down-scales the image data to a first resolution, which is stored in a first buffer. A region of image data which the image processing module will request is predicted, and image data corresponding to at least part of the predicted region of image data is stored in a first buffer, in a second resolution, higher than the first. When a request for image data is received, it is then determined whether image data corresponding to the requested image data is in the second buffer, and if so, then image data is provided to the image processing module from the second buffer. If not, then image data from the first buffer is up-scaled, and the up-scaled image data is provided to the image processing module.
    Type: Application
    Filed: September 21, 2018
    Publication date: January 24, 2019
    Inventors: Paul Brasnett, Jonathan Diggins, Steven Fishwick, Stephen Morphet
  • Patent number: 10109032
    Abstract: In an example method and system, image data to an image processing module. Image data is read from memory into a down-scaler, which down-scales the image data to a first resolution, which is stored in a first buffer. A region of image data which the image processing module will request is predicted, and image data corresponding to at least part of the predicted region of image data is stored in a first buffer, in a second resolution, higher than the first. When a request for image data is received, it is then determined whether image data corresponding to the requested image data is in the second buffer, and if so, then image data is provided to the image processing module from the second buffer. If not, then image data from the first buffer is up-scaled, and the up-scaled image data is provided to the image processing module.
    Type: Grant
    Filed: March 13, 2013
    Date of Patent: October 23, 2018
    Assignee: Imagination Technologies Limted
    Inventors: Paul Brasnett, Jonathan Diggins, Steven Fishwick, Stephen Morphet
  • Publication number: 20180197269
    Abstract: A graphics processing unit is configured to process graphics data using a rendering space which is sub-divided into a plurality of tiles. The graphics processing unit comprises one or more processing cores configured to process graphics data. The graphics processing unit also comprises scheduling logic configured to subdivide at least one set of one or more tiles of the rendering space to form a plurality of subunits (e.g. subtiles) and to assign at least some of those subunits to different processing cores for rendering. The subdivision of tiles can be particularly useful for expensive tiles occurring near the end of a render to reduce the impact on the total render time when expensive tiles are scheduled near the end of a render.
    Type: Application
    Filed: January 11, 2018
    Publication date: July 12, 2018
    Inventors: Richard Broadhurst, Steven Fishwick
  • Publication number: 20180197323
    Abstract: A graphics processing unit (GPU) processes graphics data using a rendering space which is sub-divided into a plurality of tiles. The GPU comprises cost indication logic configured to obtain a cost indication for each of a plurality of sets of one or more tiles of the rendering space. The cost indication for a set of tile(s) is suggestive of a cost of processing the set of one or more tiles. The GPU controls a rendering complexity with which primitives are rendered in tiles based on the cost indication for those tiles. This allows tiles to be rendered in a manner that is suitable based on the complexity of the graphics data within the tiles. In turn, this allows the rendering to satisfy constraints such as timing constraints even when the complexity of different tiles may vary significantly within an image.
    Type: Application
    Filed: January 11, 2018
    Publication date: July 12, 2018
    Inventors: John W. Howson, Richard Broadhurst, Steven Fishwick
  • Publication number: 20180197270
    Abstract: A computing system comprises graphics rendering logic and image processing logic. The graphics rendering logic processes graphics data to render an image using a rendering space which is sub-divided into a plurality of tiles. Cost indication logic obtains a cost indication for each of a plurality of sets of one or more tiles of the rendering space, wherein the cost indication for a set of one or more tiles is suggestive of a cost of processing rendered image values for a region of the rendered image corresponding to the set of one or more tiles. The image processing logic processes rendered image values for regions of the rendered image. The computing system causes the image processing logic to process rendered image values for regions of the rendered image in dependence on the cost indications for the corresponding sets of one or more tiles.
    Type: Application
    Filed: January 11, 2018
    Publication date: July 12, 2018
    Inventors: John W. Howson, Richard Broadhurst, Steven Fishwick
  • Publication number: 20180197271
    Abstract: A graphics processing unit is configured to process graphics data using a rendering space which is sub-divided into a plurality of tiles. The graphics processing unit comprises one or more processing cores configured to process graphics data. The graphics processing unit also comprises cost indication logic configured to obtain a cost indication for each of a plurality of sets of one or more tiles of the rendering space, wherein the cost indication for a set of one or more tiles is suggestive of a cost of processing the set of one or more tiles. The graphics processing unit also comprises scheduling logic configured to schedule, in dependence upon the cost indications, the sets of one or more tiles for processing on the one or more processing cores.
    Type: Application
    Filed: January 11, 2018
    Publication date: July 12, 2018
    Inventors: Richard Broadhurst, John W. Howson, Steven Fishwick
  • Patent number: 10015521
    Abstract: Errors in a double-ended motion estimation system are detected. An image space is divided into blocks, and a motion vector is derived for each block. The space is also divided into indication blocks. Each motion vector is used to identify one or more indication blocks, in which a value is modified. In an example, a backward component of the motion vector is used to project a source flag into one indication block, and a forward component of the motion vector is used to project a destination flag into another indication block. After processing each motion vector, an indication block with no flags set is indicative of pixel data that has not been tracked, and therefore indicative of a motion estimation error. Remedial action may then be taken.
    Type: Grant
    Filed: June 5, 2015
    Date of Patent: July 3, 2018
    Assignee: Imagination Technologies Limited
    Inventor: Steven Fishwick
  • Publication number: 20160360225
    Abstract: A data processing system for performing motion estimation comprising: a vector generator configured to form a set of forward vectors for blocks of the first frame and a set of backward vectors for blocks of the second frame, each forward vector identifying a possible mapping of a block into the second frame, and each backward vector identifying a possible mapping of a block into the first frame; and a processor configured to, for a block of an output frame interpolated between the first and second frames, identify a first forward vector formed for the first frame and collocated with the search block and a first backward vector formed for the second frame and collocated with the search block; the processor being configured to, if the first forward and backward vectors are inverse, generate an output vector for the search block from the first forward and backwards vectors.
    Type: Application
    Filed: June 8, 2016
    Publication date: December 8, 2016
    Inventors: Jonathan Diggins, Steven Fishwick
  • Publication number: 20160360226
    Abstract: A data processing system for performing motion estimation in a sequence of frames comprising first and second frames each divided into respective sets of blocks of pixels, the system comprising: a vector generator configured to form motion vector candidates representing mappings of pixels between the first and second frames; and a vector processor configured to, for a search block of the first frame, identify a first motion vector candidate ending in a block of the second frame collocated with the search block and form an output vector for the search block which is substantially parallel to the first motion vector candidate and represents a mapping of pixels from the search block to the second frame.
    Type: Application
    Filed: June 8, 2016
    Publication date: December 8, 2016
    Inventors: Steven Fishwick, Jonathan Diggins
  • Publication number: 20160240000
    Abstract: Graphics processing systems may render multiple views of a scene (e.g. a sequence of frames) in a tile-based manner. Groups of views may be rendered together such that tiles from a group of views are rendered in an interspersed order such that at least one tile from each of the views in the group is rendered before any of the views of the scene in the group are fully rendered. In this way similar tiles from different views within a group may be rendered sequentially. If a particular rendered tile is similar to the next tile to be rendered then data stored in a cache for rendering the particular tile is likely to be useful for rendering the next tile. Therefore, when rendering the next tile less data needs to be fetched from the system memory which can significantly improve the efficiency of the graphics processing system.
    Type: Application
    Filed: January 19, 2016
    Publication date: August 18, 2016
    Inventor: Steven Fishwick
  • Publication number: 20160021386
    Abstract: A motion estimation technique finds first and second candidate bi-directional motion vectors for a first region of an interpolated frame of video content by performing double ended vector motion estimation on the first region. One of these candidate bi-directional motion vectors is selected, and used to identify a remote region of the interpolated frame. This remote region is located at an off-set location from the first region, and is found based on an endpoint of the selected candidate bi-directional motion vector. A remote motion vector for the remote region of the interpolated frame is obtained, and one or more properties of this remote motion vector are used to bias a selection between the first and second candidate vectors.
    Type: Application
    Filed: June 5, 2015
    Publication date: January 21, 2016
    Inventor: Steven Fishwick
  • Publication number: 20150365706
    Abstract: Errors in a double-ended motion estimation system are detected. An image space is divided into blocks, and a motion vector is derived for each block. The space is also divided into indication blocks. Each motion vector is used to identify one or more indication blocks, in which a value is modified. In an example, a backward component of the motion vector is used to project a source flag into one indication block, and a forward component of the motion vector is used to project a destination flag into another indication block. After processing each motion vector, an indication block with no flags set is indicative of pixel data that has not been tracked, and therefore indicative of a motion estimation error. Remedial action may then be taken.
    Type: Application
    Filed: June 5, 2015
    Publication date: December 17, 2015
    Inventor: Steven Fishwick
  • Patent number: 8953687
    Abstract: A method and apparatus are provided for motion compensated video interpolation. Each field or frame in a sequence of video images is subdivided into a plurality of blocks and a motion vector field is derived using block matching for a current video field using data matched to a previous video field or frame. A first time instance is determined at which an interpolated block is to be displayed and a second time instance is determined at which a corresponding interpolated block is to be created. Video data for each block is interpolated at its second time instance for each block and is then output for display at the first time instance.
    Type: Grant
    Filed: April 28, 2011
    Date of Patent: February 10, 2015
    Assignee: Imagination Technologies, Limited
    Inventors: Stephen Morphet, Steven Fishwick
  • Patent number: 8929451
    Abstract: A method and apparatus for motion estimation in a sequence of video images is provided. Each field or frame in a sequence of video images is sub-divided into a plurality of blocks. Each block in each video field or frame has assigned to it a set of candidate motion vectors. The vector which produces a best match to a block in a previous field or frame, from the set of candidate motion vectors, is assigned to that block thus forming the motion vector field for the current video field or frame using the selected vector. The set of candidate motion vectors assigned to a block include one or more candidate vectors derived from an external source vector field and each such vector from an external source vector field is assigned a weighting that biases towards or away from the selection of that vector.
    Type: Grant
    Filed: July 31, 2012
    Date of Patent: January 6, 2015
    Assignee: Imagination Technologies, Limited
    Inventors: Steven Fishwick, Stephen Morphet
  • Publication number: 20140168221
    Abstract: A method and apparatus for comprising primitive data generated by tessellation of patches in a three-dimensional computer graphics rendering system receives domain point indices for a first primitive in a list of primitives defining the tessellated patch, stores the domain point indices for the received primitive, compares domain point indices of a next primitive in the list with stored domain point indices and determines any matches, stores domain point indicates of the next primitive or, if a match was found, stores a reference to the position of the matched index, receives domain point indexes of the next primitive in the list and repeats the step until each primitive in the list has been compressed.
    Type: Application
    Filed: February 20, 2014
    Publication date: June 19, 2014
    Inventor: Steven FISHWICK
  • Patent number: 8736607
    Abstract: A method and apparatus for comprising primitive data generated by tessellation of patches in a three-dimensional computer graphics rendering system receives domain point indices for a first primitive in a list of primitives defining the tessellated patch, stores the domain point indices for the received primitive, compares domain point indices of a next primitive in the list with stored domain point indices and determines any matches, stores domain point indicates of the next primitive or, if a match was found, stores a reference to the position of the matched index, receives domain point indexes of the next primitive in the list and repeats the step until each primitive in the list has been compressed.
    Type: Grant
    Filed: February 20, 2014
    Date of Patent: May 27, 2014
    Assignee: Imagination Technologies, Limited
    Inventor: Steven Fishwick