Patents Assigned to Imagination Technologies, Ltd.
  • Publication number: 20140306959
    Abstract: Aspects relate to tracing rays in 3-D scenes that comprise objects that are defined by or with implicit geometry. In an example, a trapping element defines a portion of 3-D space in which implicit geometry exist. When a ray is found to intersect a trapping element, a trapping element procedure is executed. The trapping element procedure may comprise marching a ray through a 3-D volume and evaluating a function that defines the implicit geometry for each current 3-D position of the ray. An intersection detected with the implicit geometry may be found concurrently with intersections for the same ray with explicitly-defined geometry, and data describing these intersections may be stored with the ray and resolved.
    Type: Application
    Filed: March 10, 2014
    Publication date: October 16, 2014
    Applicant: Imagination Technologies, Ltd.
    Inventors: Cuneyt OZDAS, Luke Tilman PETERSON, Steven BLACKMON, Steven John CLOHSET
  • Patent number: 8723860
    Abstract: There are provided methods and apparatus for generating a 3-dimensional computer image. The image includes a number of objects and is divided into separate areas. Control data to link to object data stored in a memory for each object is derived for two objects at a time. Two or more separate areas can be processed in parallel by deriving control data for the two separate areas at a time. To avoid fetching data for both areas, which is actually only applicable to one area, encoding is used in the control data. The object data can be stored on one or across two memory pages, and the control data includes one memory page address in the former case and two memory page addresses in the latter case. The object data can also be stored across two non-contiguous memory pages, by using a look-up table with contiguous portions allocated for each object's object data.
    Type: Grant
    Filed: November 21, 2007
    Date of Patent: May 13, 2014
    Assignee: Imagination Technologies, Ltd.
    Inventors: Jonathan Redshaw, Xile Yang
  • Patent number: 8717357
    Abstract: Systems and methods for producing an acceleration structure provide for subdividing a 3-D scene into a plurality of volumetric portions, which have different sizes, each being addressable using a multipart address indicating a location and a relative size of each volumetric portion. A stream of primitives is processed by characterizing each according to one or more criteria, selecting a relative size of volumetric portions for use in bounding the primitive, and finding a set of volumetric portions of that relative size which bound the primitive. A primitive ID is stored in each location of a cache associated with each volumetric portion of the set of volumetric portions. A cache location is selected for eviction, responsive to each cache eviction decision made during the processing. An element of an acceleration structure according to the contents of the evicted cache location is generated, responsive to the evicted cache location.
    Type: Grant
    Filed: August 4, 2012
    Date of Patent: May 6, 2014
    Assignee: Imagination Technologies, Ltd.
    Inventors: James Alexander McCombe, Aaron Dwyer, Luke Tilman Peterson, Neils Nesse
  • Patent number: 8707077
    Abstract: A wireless media distribution system is provided comprising an access point (6) for broadcasting media and a plurality of stations (2) for reception and playback of media. Each station is configured for receiving and decoding a timestamp in a beacon frame transmitted repeatedly from the access point. This is used to control the output signal of a station physical layer clock (12) which is then used as a clock source for an application layer time synchronization protocol. This application layer time synchronization protocol can then be used in the station to control an operating system clock (8) for regulating playback of media.
    Type: Grant
    Filed: September 20, 2012
    Date of Patent: April 22, 2014
    Assignee: Imagination Technologies, Ltd.
    Inventor: Ian R Knowles
  • Patent number: 8686998
    Abstract: An apparatus and a method for generating 3-dimensional computer graphic images. The image is first sub-divided into a plurality of rectangular areas. A display list memory is loaded with object data for each rectangular area. The image and shading data for each picture element of each rectangular area are derived from the object data in the image synthesis processor and a texturizing and shading processor. A depth range generator derives a depth range for each rectangular area from the object data as the imaging and shading data is derived. This is compared with the depth of each new object to be provided to the image synthesis processor and the object may be prevented from being provided to the image synthesis processor independence on the result of the comparison.
    Type: Grant
    Filed: December 4, 2007
    Date of Patent: April 1, 2014
    Assignee: Imagination Technologies, Ltd.
    Inventor: Stephen Morphet
  • Patent number: 8670483
    Abstract: A method and apparatus are provided for motion estimation in a sequence of images. One or more motion vectors representing movement of a camera or viewer position or direction are determined between each pair of fields or frames in the sequence of images. A set of candidate motion vectors is then determined for deriving positions of objects in a field or frame from the positions of objects in a previous field or frame. This set of candidate motion vectors is adjusted using the motion vectors representing movement of the camera or viewer position and thus a set of motion vectors is derived for a sequence of images using the adjusted set of candidate motion vectors.
    Type: Grant
    Filed: February 24, 2011
    Date of Patent: March 11, 2014
    Assignee: Imagination Technologies, Ltd.
    Inventors: Stephen Morphet, Steven Fishwick
  • Patent number: 8669987
    Abstract: Memory management system and method for use with systems for generating 3-dimensional computer generated images are provided.
    Type: Grant
    Filed: February 15, 2007
    Date of Patent: March 11, 2014
    Assignee: Imagination Technologies, Ltd.
    Inventors: Jonathan Redshaw, Steve Morphet
  • Patent number: 8656400
    Abstract: Method and apparatus are provided for a synchronizing execution of a plurality of threads on a multi-threaded processor. Each thread is provided with a number of synchronization points corresponding to points where it is advantageous or preferable that execution should be synchronized with another thread. Execution of a thread is paused when it reaches a synchronization point until at least one other thread with which it is intended to be synchronized reaches a corresponding synchronization point. Execution is subsequently resumed. Where an executing thread branches over a section of code which included a synchronization point then execution is paused at the end of the branch until the at least one other thread reaches the synchronization point of the end of the corresponding branch.
    Type: Grant
    Filed: May 30, 2012
    Date of Patent: February 18, 2014
    Assignee: Imagination Technologies, Ltd.
    Inventor: Yoong Chert Foo
  • Patent number: 8654146
    Abstract: A method and apparatus for rendering a computer generated image using a stencil buffer is described. The method divides an arbitrary closed polygonal contour into first and higher level primitives, where first level primitives correspond to contiguous vertices in the arbitrary closed polygonal contour and higher level primitives correspond to the end vertices of consecutive primitives of the immediately preceding primitive level. The method reduces the level of overdraw when rendering the arbitrary polygonal contour using a stencil buffer compared to other image space methods. A method of producing the primitives in an interleaved order, with second and higher level primitives being produced before the final first level primitives of the contour, is described which improves cache hit rate by reusing more vertices between primitives as they are produced.
    Type: Grant
    Filed: May 17, 2010
    Date of Patent: February 18, 2014
    Assignee: Imagination Technologies, Ltd.
    Inventor: Simon Fenney
  • Patent number: 8631180
    Abstract: Aspects relate to methods and systems for processing requests and sending data in a bus architecture. At least one master device is connected to at least two slave devices via a bus. An allocator allocates incoming requests from the master device to a target slave device. Incoming requests are buffered for the respective slave device. The master device sends a read request for a first slave device to the bus; the allocator generates a current-state indicator associated with the read request. The allocator generates a priority indicator associated with the read request. If the initial value of the current-state indicator equals the value of the priority indicator, the read request is processed; or if the initial value of the current-state indicator does not equal the value of priority indicator, the read request is deferred until a later time.
    Type: Grant
    Filed: September 12, 2012
    Date of Patent: January 14, 2014
    Assignee: Imagination Technologies, Ltd.
    Inventor: Jason Meredith
  • Patent number: 8625673
    Abstract: Systems and methods of determining motion vectors, such as for video encoding, are disclosed. In one example, motion vectors are determined for a current frame, using sampled pixel information from a reference frame. Sampled pixel information is obtained using a sampling pattern. The sampling pattern, in one example, includes subsampling pixels at different rates for horizontal and vertical directions. The subsampling rate can differ, based on an amount of motion represented by a matching block (e.g., the farther a match is found away from an origin of the block, the more subsampling can be done). In another example, a full pixel resolution is maintained proximal an original location of the block; as distance increases in one or more directions, subsampling can begin and/or increase. Sampled pixels can be stored. Interpolation of the sampled pixels can be performed and the sampled and resulting interpolated pixels can be used for comparison.
    Type: Grant
    Filed: March 5, 2012
    Date of Patent: January 7, 2014
    Assignee: Imagination Technologies, Ltd.
    Inventor: Simon Nicholas Heyward
  • Patent number: 8595541
    Abstract: A method and apparatus are provided for docking data processing modules, which require differing average clock frequencies, and for transferring data between the modules. This comprises a means for providing a common dock signal to modules. Clock pulses are deleted from the common clock signal to individual modules in dependence on the docking frequency required by each module. Clock pulses are applied to modules between which data is to be transferred at times consistent with the data transfer.
    Type: Grant
    Filed: June 27, 2008
    Date of Patent: November 26, 2013
    Assignee: Imagination Technologies, Ltd.
    Inventor: Paul Rowland
  • Patent number: 8527924
    Abstract: A method and apparatus are provided for use in synthesis of RTL integrated circuit design to determine the functional equivalence of designs. For example, the receiver receives a plurality of designs for synthesis in RTL and a data flow graph is derived for each design. Internal bit widths in the data flow graph representations are restricted (52) to provide a first modified version of each of the designs. These first modified versions are compared each with the design from which it was derived in a comparison unit (54). The input bit widths of the data flow graph representation are then restricted to be no wider than the output bit widths (56) to derive second modified versions of the designs (58). These second modified versions are compared with each other (60) to determine which are equivalent. Equivalent designs can be passed to an RTL synthesis unit 62, or otherwise further evaluated.
    Type: Grant
    Filed: April 6, 2012
    Date of Patent: September 3, 2013
    Assignee: Imagination Technologies, Ltd.
    Inventors: Theo Alan Drane, Freddie Rupert Exall
  • Publication number: 20130219145
    Abstract: A multithreaded processor can concurrently execute a plurality of threads in a processor core. The threads can access a shared main memory through a memory interface; the threads can generate read and write transactions that cause shared main memory access. An incoherency detection module prevents incoherency by maintaining a record of outstanding global writes, and detecting a conflicting global read. A barrier is sequenced with the conflicting global write. The conflicting global read is allowed to proceed after the sequence of the conflicting global write and the barrier are cleared. The sequence can be maintained by a separate queue for each thread of the plurality.
    Type: Application
    Filed: July 23, 2012
    Publication date: August 22, 2013
    Applicant: Imagination Technologies, Ltd.
    Inventors: Robert Graham Isherwood, Yin Nam Ko
  • Publication number: 20130191604
    Abstract: Memory access in a digital signal processing system is described. In one example, the digital signal processing system comprises a multi-port memory that is constructed from a memory interface connected to a number of single-port memory devices. The memory interface provides access ports that processors can use to access data stored on the single-port memory devices using a single address space. A processor can be connected to several access ports, and use these to request access to data at several different memory addresses at the same time. The digital signal processing system is configured such that the total number of single-port memory devices connected to the memory interface is a prime number greater than or equal to three. Because a prime number of memory devices are used, the likelihood of the data for the different memory addresses being on the same single-port memory device is minimised, increasing memory access speed.
    Type: Application
    Filed: July 31, 2012
    Publication date: July 25, 2013
    Applicant: Imagination Technologies, Ltd.
    Inventors: Adrian John Anderson, Gary Christopher Wass
  • Publication number: 20130179665
    Abstract: A technique for restoring a register renaming map is described. In one example, a restore table having a number of storage locations saves a copy of the register renaming map whenever a flow-risk instruction is passed to a re-order buffer. When all storage locations are full, further instructions still pass to the re-order buffer, but a copy of the map is not saved. A storage location subsequently becomes available when its associated flow-risk instruction is executed. A register renaming map state for an unrecorded flow-risk instruction passed to the re-order buffer whilst the storage locations were full is generated and stored in the available location. This is generated using the restore table entry for a previous flow-risk instruction and re-order buffer values for intervening instructions between the previous and unrecorded flow-risk instructions. The restore table can be used to restore the map if an unexpected change in instruction flow occurs.
    Type: Application
    Filed: July 31, 2012
    Publication date: July 11, 2013
    Applicant: Imagination Technologies, Ltd.
    Inventor: Hugh Jackson
  • Publication number: 20130152030
    Abstract: A method and apparatus are provided for use in synthesis of RTL integrated circuit design to determine the functional equivalence of designs. For example, the receiver receives a plurality of designs for synthesis in RTL and a data flow graph is derived for each design. Internal bit widths in the data flow graph representations are restricted (52) to provide a first modified version of each of the designs. These first modified versions are compared each with the design from which it was derived in a comparison unit (54). The input bit widths of the data flow graph representation are then restricted to be no wider than the output bit widths (56) to derive second modified versions of the designs (58). These second modified versions are compared with each other (60) to determine which are equivalent. Equivalent designs can be passed to an RTL synthesis unit 62, or otherwise further evaluated.
    Type: Application
    Filed: April 6, 2012
    Publication date: June 13, 2013
    Applicant: Imagination Technologies, Ltd.
    Inventors: Theo Alan Drane, Freddie Rupert Exall
  • Publication number: 20130120285
    Abstract: A method and apparatus are provided for displaying data on a touch sensitive display (2) a detector (4) and CPU (6) detect contact with the touch sensitive display (2) and control the display of data. The system is responsive to a predetermined swiping duration of a finger on the display or to a manual selectable switch to change the display of data between a scrolling of data and a paging of data.
    Type: Application
    Filed: May 3, 2012
    Publication date: May 16, 2013
    Applicant: Imagination Technologies, Ltd.
    Inventor: Ian Knowles
  • Publication number: 20130101041
    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: Application
    Filed: July 31, 2012
    Publication date: April 25, 2013
    Applicant: Imagination Technologies, Ltd.
    Inventors: Steven Fishwick, Stephen Morphet
  • Patent number: 8407454
    Abstract: There is provided a method and processor for processing a thread. The thread comprises a plurality of sequential instructions, the plurality of sequential instructions comprising some short-latency instructions and some long-latency instructions and at least one hazard instruction, the hazard instruction requiring one or more preceding instructions to be processed before the hazard instruction is processed. The method comprises the steps of: a) before processing each long-latency instruction, incrementing by one, a counter associated with the thread; b) after each long-latency instruction has been processed, decrementing by one, the counter associated with the thread; c) before processing each hazard instruction, checking the value of the counter associated with the thread, and i) if the counter value is zero, processing the hazard instruction, or ii) if the counter value is non-zero, pausing processing of the hazard instruction until a later time.
    Type: Grant
    Filed: June 3, 2012
    Date of Patent: March 26, 2013
    Assignee: Imagination Technologies, Ltd.
    Inventors: Morrie Berglas, Yoong Chert Foo