Patents by Inventor Paul Nicholas Whatmough

Paul Nicholas Whatmough 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).

  • Publication number: 20210097130
    Abstract: The present disclosure advantageously provides a system method for efficiently multiplying matrices with elements that have a value of 0. A bitmap is generated for each matrix. Each bitmap includes a bit position for each matrix element. The value of each bit is set to 0 when the value of the corresponding matrix element is 0, and to 1 when the value of the corresponding matrix element is not 0. Each matrix is compressed into a compressed matrix, which will have fewer elements with a value of 0 than the original matrix. Each bitmap is then adjusted based on the corresponding compressed matrix. The compressed matrices are then multiplied to generate an output matrix. For each element i,j in the output matrix, a dot product of the ith row of the first compressed matrix and the jth column of the second compressed matrix is calculated based on the bitmaps.
    Type: Application
    Filed: September 27, 2019
    Publication date: April 1, 2021
    Inventors: Zhi-Gang Liu, Matthew Mattina, Paul Nicholas Whatmough
  • Publication number: 20210089889
    Abstract: The present disclosure advantageously provides a mixed precision computation (MPC) unit for executing one or more mixed-precision layers of an artificial neural network (ANN). The MPC unit includes a multiplier circuit configured to input a pair of operands and output a product, a first adder circuit coupled to the multiplier circuit, a second adder circuit, coupled to the first adder circuit, configured to input a pair of operands, an accumulator circuit, coupled to the multiplier circuit and the first adder circuit, configured to output an accumulated value, and a controller, coupled to the multiplier circuit, the first adder circuit, the second adder circuit and the accumulator circuit, configured to input a mode control signal. The controller has a plurality of operating modes including a high precision mode, a low precision add mode and a low precision multiply mode.
    Type: Application
    Filed: March 31, 2020
    Publication date: March 25, 2021
    Applicant: Arm Limited
    Inventors: Dibakar Gope, Jesse Garrett Beu, Paul Nicholas Whatmough, Matthew Mattina
  • Publication number: 20210089888
    Abstract: The present disclosure advantageously provides a system including a memory, a processor, and a circuitry to execute one or more mixed precision layers of an artificial neural network (ANN), each mixed precision layer including high-precision weight filters and low precision weight filters. The circuitry is configured to perform one or more calculations on an input feature map having a plurality of input channels (cin) using the high precision weight filters to create a high precision output feature map having a first number of output channels (k), perform one or more calculations on the input feature map using the low precision weight filters to create a low precision output feature map having a second number of output channels (cout?k), and concatenate the high precision output feature map and the low precision output feature map to create a unified output feature map having a plurality of output channels (cout).
    Type: Application
    Filed: March 31, 2020
    Publication date: March 25, 2021
    Applicant: Arm Limited
    Inventors: Dibakar Gope, Jesse Garrett Beu, Paul Nicholas Whatmough, Matthew Mattina
  • Publication number: 20200412374
    Abstract: In a particular implementation, a method of data conversion is disclosed. For example, for each word-line of a plurality of word-lines in a memory array, the method includes: 1) determining, by a digital comparator, if digital data exceeds a particular threshold, and 2) in response to the digital data determined to be above the threshold, transmitting, by the digital comparator, an output signal corresponding to the digital data to a digital-to-analog converter (DAC) device. Additionally, the DAC is configured to generate an analog signal.
    Type: Application
    Filed: June 28, 2019
    Publication date: December 31, 2020
    Inventor: Paul Nicholas Whatmough
  • Patent number: 10878315
    Abstract: In a particular implementation, a method of data conversion is disclosed. For example, for each word-line of a plurality of word-lines in a memory array, the method includes: 1) determining, by a digital comparator, if digital data exceeds a particular threshold, and 2) in response to the digital data determined to be above the threshold, transmitting, by the digital comparator, an output signal corresponding to the digital data to a digital-to-analog converter (DAC) device. Additionally, the DAC is configured to generate an analog signal.
    Type: Grant
    Filed: June 28, 2019
    Date of Patent: December 29, 2020
    Assignee: Arm Limited
    Inventor: Paul Nicholas Whatmough
  • Patent number: 10867390
    Abstract: A data processing apparatus detects motion between frames in a sequence of frames. The data processing apparatus then selects and/or tracks a region of interest in the sequence of frames based on the detected motion. An artificial neural network is then implemented to process image data for the selected region of interest in an attempt to classify an object within the region of interest. The data processing apparatus can provide an efficient way of performing computer vision processing.
    Type: Grant
    Filed: September 10, 2018
    Date of Patent: December 15, 2020
    Assignee: Arm Limited
    Inventors: Yuhao Zhu, Paul Nicholas Whatmough
  • Publication number: 20200372097
    Abstract: There is provided a data processing apparatus to perform an operation on a first matrix and a second matrix. The data processing apparatus includes receiver circuitry to receive elements of the first matrix, elements of the second matrix, and correspondence data to indicate where the elements of the first matrix are located in the first matrix. Determination circuitry performs, using the correspondence data, a determination of whether, for a given element of the first matrix in column i of the first matrix, a given element of the second matrix occurs in row i of the second matrix. Aggregation circuitry calculates an aggregation between a given row in the first matrix and a given column in the second matrix and includes: functional circuitry to perform, in dependence on the determination, a function on the given element of the first matrix and the given element of the second matrix to produce a partial result.
    Type: Application
    Filed: May 21, 2019
    Publication date: November 26, 2020
    Inventors: Matthew MATTINA, Zhigang LIU, Paul Nicholas WHATMOUGH, David Hennah MANSELL
  • Publication number: 20200326938
    Abstract: A data processor receives a first set of processor instructions for combining a first matrix with a second matrix to produce a third matrix and generates a second set of processor instructions therefrom by identifying values of non-zero elements of the first matrix stored in a memory of the data processor and determining memory locations of elements of the second matrix. An instruction of the second set of processor instructions includes a determined memory location and/or an explicit value of an identified non-zero element. The second set of processor instructions is executed by the data processor. The second set of processor instructions may be generated by just-in-time compilation of the first set of processor instructions and may include instructions of a custom instruction set architecture.
    Type: Application
    Filed: April 11, 2019
    Publication date: October 15, 2020
    Inventors: Zhigang Liu, Matthew Mattina, Paul Nicholas Whatmough, Jesse Garrett Beu
  • Patent number: 10797915
    Abstract: An apparatus and method are provided for processing a received input signal comprising a sequence of data blocks. Counter circuitry within the apparatus is arranged to receive a digital representation of the input signal, and for each data block generates a count value indicative of occurrences of a property of the digital representation (for example a rising edge or a falling edge) during an associated data block transmission period. Quantization circuitry then maps each count value to a soft decision value from amongst a predetermined set of soft decision values, where the number of soft decision values in the predetermined set exceeds a number of possible data values of the data block. The output circuitry then generates a digital output signal in dependence on the soft decision values.
    Type: Grant
    Filed: September 12, 2016
    Date of Patent: October 6, 2020
    Assignee: ARM Limited
    Inventors: Paul Nicholas Whatmough, Shidhartha Das
  • Patent number: 10747845
    Abstract: A system, apparatus and method for exposing input data operands and input weight operands to elements of a two-dimensional array so that two pairs of operands are exposed to each element of the array.
    Type: Grant
    Filed: August 31, 2018
    Date of Patent: August 18, 2020
    Assignee: Arm Limited
    Inventors: Paul Nicholas Whatmough, Matthew Mattina, Zhigang Liu
  • Patent number: 10708600
    Abstract: A method of processing a video is provided. The method includes detecting a region of interest in a detection frame of the video. The method includes estimating a motion of the region of interest between the detection frame and an estimation frame of the video subsequent to the detection frame. The estimating is based on tracking of a characteristic of the detected region of interest into at least one portion of the estimation frame. The method includes, based on the estimated motion, estimating a location of the region of interest in the estimation frame. An apparatus for processing a video is also provided. A related non-transitory computer-readable storage medium comprising a set of computer-readable instructions is also provided.
    Type: Grant
    Filed: January 19, 2018
    Date of Patent: July 7, 2020
    Assignee: Arm Limited
    Inventors: Yuhao Zhu, Paul Nicholas Whatmough
  • Publication number: 20200133831
    Abstract: A system, apparatus and method for utilizing a transpose function to generate a two-dimensional array from three-dimensional input data. The use of the transpose function reduces redundant elements in the resultant two-dimensional array thereby increasing efficiency and decreasing power consumption.
    Type: Application
    Filed: October 24, 2018
    Publication date: April 30, 2020
    Applicant: Arm Limited
    Inventor: Paul Nicholas WHATMOUGH
  • Publication number: 20200082544
    Abstract: A data processing apparatus detects motion between frames in a sequence of frames. The data processing apparatus then selects and/or tracks a region of interest in the sequence of frames based on the detected motion. An artificial neural network is then implemented to process image data for the selected region of interest in an attempt to classify an object within the region of interest. The data processing apparatus can provide an efficient way of performing computer vision processing.
    Type: Application
    Filed: September 10, 2018
    Publication date: March 12, 2020
    Applicant: Arm Limited
    Inventors: Yuhao Zhu, Paul Nicholas Whatmough
  • Publication number: 20200073911
    Abstract: A system, apparatus and method for exposing input data operands and input weight operands to elements of a two-dimensional array so that two pairs of operands are exposed to each element of the array.
    Type: Application
    Filed: August 31, 2018
    Publication date: March 5, 2020
    Applicant: Arm Limited
    Inventors: Paul Nicholas Whatmough, Matthew Mattina, Zhigang Liu
  • Patent number: 10579126
    Abstract: An electronic device (20) has a clock path (24) for propagating a clock signal and a clock propagating element (26) on the clock path. An analogue element (30) coupled to the clock path (24) varies, in dependence on an analogue level of a first signal (32), a switching delay for the clock propagating element (26) to trigger a transition of the clock signal. The first signal is a digitally sampled signal. This provides a mechanism for providing a fast reduction in clock frequency even if the first signal is a metastable signal, which is useful for avoiding errors causes by voltage drops.
    Type: Grant
    Filed: March 13, 2015
    Date of Patent: March 3, 2020
    Assignee: ARM Limited
    Inventors: Paul Nicholas Whatmough, David Michael Bull, Shidhartha Das
  • Publication number: 20200042877
    Abstract: An system, apparatus and method for utilizing software and hardware portions of a neural network to fix, or hardwire, certain portions while modifying other portions. A first set of weights for layers of the first neural network are established, and selected weights are modified to generate a second set of weights, based on a second dataset. The second set of weights is then used to train a second neural network.
    Type: Application
    Filed: August 3, 2018
    Publication date: February 6, 2020
    Applicant: Arm Limited
    Inventors: Paul Nicholas WHATMOUGH, Matthew MATTINA, Jesse Garrett BEU
  • Patent number: 10447412
    Abstract: A device comprises a coupling configured to couple signals to and from a communications path including at least a part of a human or animal body; a data transmitter coupled to the coupling and configured to transmit, from time to time, a data signal of at least a predetermined temporal duration via the communications path; and a data receiver coupled to the coupling and configured to detect the presence of a signal on the communications path at sets of one or more successive detection instances disposed between successive transmissions of the data signal by the data transmitter, the data receiver being configured so that the successive detection instances of a set are temporally separated by no more than the predetermined temporal duration; the device being configured to initiate a processing operation in response to a detection by the data receiver of the presence of a signal on the communications path.
    Type: Grant
    Filed: April 15, 2016
    Date of Patent: October 15, 2019
    Assignee: ARM Limited
    Inventors: Paul Nicholas Whatmough, George Smart, Shidhartha Das, David Michael Bull
  • Publication number: 20190311243
    Abstract: A circuit and method are provided for performing convolutional neural network computations for a neural network. The circuit includes a transposing buffer configured to receive actuation feature vectors along a first dimension and to output feature component vectors along a second dimension, a weight buffer configured to store kernel weight vectors along a first dimension and further configured to output kernel component vectors along a second dimension, and a systolic array configured to receive the kernel weight vectors along a first dimension and to receive the feature component vectors along a second dimension. The systolic array includes an array of multiply and accumulate (MAC) processing cells. Each processing cell is associated with an output value. The actuation feature vectors may be shifted into the transposing buffer along the first dimension and output feature component vectors may shifted out of the transposing buffer along the second dimension, providing efficient dataflow.
    Type: Application
    Filed: April 5, 2018
    Publication date: October 10, 2019
    Applicant: Arm Limited
    Inventors: Paul Nicholas Whatmough, Ian Rudolf Bratt, Matthew Mattina
  • Publication number: 20190230367
    Abstract: A method of processing a video is provided. The method includes detecting a region of interest in a detection frame of the video. The method includes estimating a motion of the region of interest between the detection frame and an estimation frame of the video subsequent to the detection frame. The estimating is based on tracking of a characteristic of the detected region of interest into at least one portion of the estimation frame. The method includes, based on the estimated motion, estimating a location of the region of interest in the estimation frame. An apparatus for processing a video is also provided. A related non-transitory computer-readable storage medium comprising a set of computer-readable instructions is also provided.
    Type: Application
    Filed: January 19, 2018
    Publication date: July 25, 2019
    Inventors: Yuhao ZHU, Paul Nicholas WHATMOUGH
  • Publication number: 20180278445
    Abstract: An apparatus and method are provided for processing a received input signal comprising a sequence of data blocks. Counter circuitry within the apparatus is arranged to receive a digital representation of the input signal, and for each data block generates a count value indicative of occurrences of a property of the digital representation (for example a rising edge or a falling edge) during an associated data block transmission period. Quantization circuitry then maps each count value to a soft decision value from amongst a predetermined set of soft decision values, where the number of soft decision values in the predetermined set exceeds a number of possible data values of the data block. The output circuitry then generates a digital output signal in dependence on the soft decision values.
    Type: Application
    Filed: September 12, 2016
    Publication date: September 27, 2018
    Inventors: Paul Nicholas WHATMOUGH, Shidhartha DAS