Patents by Inventor Corneliu Zaharia

Corneliu Zaharia 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: 10497089
    Abstract: A convolutional neural network (CNN) for an image processing system comprises an image cache responsive to a request to read a block of N×M pixels extending from a specified location within an input map to provide a block of N×M pixels at an output port. A convolution engine reads blocks of pixels from the output port, combines blocks of pixels with a corresponding set of weights to provide a product, and subjects the product to an activation function to provide an output pixel value. The image cache comprises a plurality of interleaved memories capable of simultaneously providing the N×M pixels at the output port in a single clock cycle. A controller provides a set of weights to the convolution engine before processing an input map, causes the convolution engine to scan across the input map by incrementing a specified location for successive blocks of pixels and generates an output map within the image cache by writing output pixel values to successive locations within the image cache.
    Type: Grant
    Filed: August 11, 2016
    Date of Patent: December 3, 2019
    Assignee: FotoNation Limited
    Inventors: Mihai Constantine Munteanu, Alexandru Caliman, Corneliu Zaharia, Dragos Dinu
  • Patent number: 10460198
    Abstract: An image processing system comprises a template matching engine (TME). The TME reads an image from the memory; and as each pixel of the image is being read, calculates a respective feature value of a plurality of feature maps as a function of the pixel value. A pre-filter is responsive to a current pixel location comprising a node within a limited detector cascade to be applied to a window within the image to: compare a feature value from a selected one of the plurality of feature maps corresponding to the pixel location to a threshold value; and responsive to pixels for all nodes within a limited detector cascade to be applied to the window having been read, determine a score for the window. A classifier, responsive to the pre-filter indicating that a score for a window is below a window threshold, does not apply a longer detector cascade to the window before indicating that the window does not comprise an object to be detected.
    Type: Grant
    Filed: December 15, 2016
    Date of Patent: October 29, 2019
    Assignee: FotoNation Limited
    Inventors: Nicolae Nicoara, Cristina Raceala, Corneliu Zaharia, Szabolcs Fulop, Oana Iovita
  • Patent number: 10418001
    Abstract: A dynamically reconfigurable heterogeneous systolic array is configured to process a first image frame, and to generate image processing primitives from the image frame, and to store the primitives and the corresponding image frame in a memory store. A characteristic of the image frame is determined. Based on the characteristic, the array is reconfigured to process a following image frame.
    Type: Grant
    Filed: March 24, 2017
    Date of Patent: September 17, 2019
    Assignee: FotoNation Limited
    Inventors: Corneliu Zaharia, Petronel Bigioi, Peter Corcoran
  • Publication number: 20190205691
    Abstract: A method for producing a histogram of oriented gradients (HOG) for at least a portion of an image comprises dividing the image portion into cells, each cell comprising a plurality of image pixels. Then, for each image pixel of a cell, obtaining a horizontal gradient component, gx, and a vertical gradient component, gy, based on differences in pixel values along at least a row of the image and a column of the image respectively including the pixel; and allocating a gradient to one of a plurality of sectors, where n is a sector index, each sector extending through a range of orientation angles and at least some of the sectors being divided from adjacent sectors according to the inequalities: b*16<a*(n+1) where 0?n?5, b=gy and a=gx; and b*16<a*(13?n) where 7?n?12, a=gx+gy and b=gx?gy. At least one sector is associated with a bin; and each instance of a pixel gradient of a cell associated with a bin is accumulated to provide a HOG for the cell.
    Type: Application
    Filed: May 19, 2017
    Publication date: July 4, 2019
    Applicant: FotoNation Limited
    Inventors: Mihai Constantin MUNTEANU, Vlad GEORGESCU, Corneliu ZAHARIA, Iulia SUCIU
  • Publication number: 20190171032
    Abstract: In one example, a camera is provided that includes: a plurality of MEMS electrostatic comb actuators, each actuator operable to exert a force on at least one lens; and an optical image stabilization (OIS) algorithm module operable to command the plurality of actuators to actuate the at least one lens responsive to motion of the camera.
    Type: Application
    Filed: February 11, 2019
    Publication date: June 6, 2019
    Applicant: DigitalOptics Corporation MEMS
    Inventors: Xiaolei LIU, Roman C. GUTIERREZ, Pat K. LEANG, Jose A. MENDEZ, Corneliu ZAHARIA, Alexandru F. DRIMBAREAN, Petronel Gheorghe BIGIOI
  • Publication number: 20190130164
    Abstract: An image processing apparatus comprises a normalisation module operatively connected across a bus to a memory storing an image in which a region of interest (ROI) has been identified within the image. The ROI is bound by a rectangle having a non-orthogonal orientation within the image. In one embodiment, the normalisation module is arranged to divide the ROI into one or more slices, each slice comprising a plurality of adjacent rectangular tiles. For each slice, the apparatus successively reads ROI information for each tile from the memory including: reading a portion of the image extending across at least a width of the slice line-by-line along an extent of a slice. For each tile, the apparatus downsamples the ROI information to a buffer to within a scale SD<2 of a required scale for a normalised version of the ROI.
    Type: Application
    Filed: October 25, 2018
    Publication date: May 2, 2019
    Inventors: Vlad GEORGESCU, Mihai Constantin MUNTEANU, Petronel BIGIOI, Corneliu ZAHARIA, Szabolcs FULOP, Gyorgy SIMON
  • Publication number: 20190065410
    Abstract: A peripheral processing device comprises a physical interface for connecting the processing device to a host computing device through a communications protocol. A local controller connected to local memory across an internal bus provides input/output access to data stored on the processing device to the host through a file system API. A neural processor comprises at least one network processing engine for processing a layer of a neural network according to a network configuration. A memory at least temporarily stores network configuration information, input image information, intermediate image information and output information produced by each network processing engine. The local controller is arranged to receive network configuration information through a file system API write command, to receive input image information through a file system API write command; and to write output information to the local memory for retrieval by the host through a file system API read command.
    Type: Application
    Filed: August 30, 2018
    Publication date: February 28, 2019
    Applicant: FotoNation Limited
    Inventors: Petronel BIGIOI, Corneliu ZAHARIA
  • Patent number: 10203515
    Abstract: In one example, a camera is provided that includes: a plurality of MEMS electrostatic comb actuators, each actuator operable to exert a force on at least one lens; and an optical image stabilization (OIS) algorithm module operable to command the plurality of actuators to actuate the at least one lens responsive to motion of the camera.
    Type: Grant
    Filed: May 30, 2017
    Date of Patent: February 12, 2019
    Assignee: DigitalOptics Corporation MEMS
    Inventors: Xiaolei Liu, Roman C. Gutierrez, Pat K Leang, Jose A. Mendez, Corneliu Zaharia, Alexandru F. Drimbarean, Petronel Gheorghe Bigioi
  • Patent number: 10115003
    Abstract: An image processing apparatus comprises a normalisation module operatively connected across a bus to a memory storing an image in which a region of interest (ROI) has been identified within the image. The ROI is bound by a rectangle having a non-orthogonal orientation within the image. In one embodiment, the normalisation module is arranged to divide the ROI into one or more slices, each slice comprising a plurality of adjacent rectangular tiles. For each slice, the apparatus successively reads ROI information for each tile from the memory including: reading a portion of the image extending across at least a width of the slice line-by-line along an extent of a slice. For each tile, the apparatus downsamples the ROI information to a buffer to within a scale SD<2 of a required scale for a normalised version of the ROI.
    Type: Grant
    Filed: August 25, 2016
    Date of Patent: October 30, 2018
    Assignee: FotoNation Limited
    Inventors: Vlad Georgescu, Mihai Constantin Munteanu, Petronel Bigioi, Corneliu Zaharia, Szabolcs Fulop, Gyorgy Simon
  • Patent number: 9977985
    Abstract: A method for producing a histogram of oriented gradients (HOG) for at least a portion of an image comprises dividing said image portion into cells, each cell comprising a plurality of image pixels. For each image pixel of a cell, a horizontal gradient component, gx, and a vertical gradient component, gy, is obtained based on differences in pixel values along at least a row of said image and a column of said image respectively including the pixel. A gradient is allocated to one of a plurality of sectors, each sector extending through a range of orientation angles. At least some of said sectors are divided from adjacent sectors along lines including gx=2n·gy, where n is any integer value with a magnitude greater than or equal to 1. At least one sector is associated with a bin; and a count of each instance of a pixel gradient of a cell associated with a bin is performed to provide a HOG for said cell.
    Type: Grant
    Filed: May 20, 2016
    Date of Patent: May 22, 2018
    Assignee: FotoNation Limited
    Inventors: Mihai Constantin Munteanu, Vlad Georgescu, Corneliu Zaharia, Iulia Suciu
  • Publication number: 20170329152
    Abstract: In one example, a camera is provided that includes: a plurality of MEMS electrostatic comb actuators, each actuator operable to exert a force on at least one lens; and an optical image stabilization (OIS) algorithm module operable to command the plurality of actuators to actuate the at least one lens responsive to motion of the camera.
    Type: Application
    Filed: May 30, 2017
    Publication date: November 16, 2017
    Inventors: Xiaolei LIU, Roman C. GUTIERREZ, Pat K. LEANG, Jose A. MENDEZ, Corneliu ZAHARIA, Alexandru F. DRIMBAREAN, Petronel Gheorghe BIGIOI
  • Publication number: 20170256239
    Abstract: A dynamically reconfigurable heterogeneous systolic array is configured to process a first image frame, and to generate image processing primitives from the image frame, and to store the primitives and the corresponding image frame in a memory store. A characteristic of the image frame is determined. Based on the characteristic, the array is reconfigured to process a following image frame.
    Type: Application
    Filed: March 24, 2017
    Publication date: September 7, 2017
    Inventors: Corneliu ZAHARIA, Petronel BIGIOI, Peter CORCORAN
  • Publication number: 20170221176
    Abstract: A convolutional neural network (CNN) for an image processing system comprises an image cache responsive to a request to read a block of N×M pixels extending from a specified location within an input map to provide a block of N×M pixels at an output port. A convolution engine reads blocks of pixels from the output port, combines blocks of pixels with a corresponding set of weights to provide a product, and subjects the product to an activation function to provide an output pixel value. The image cache comprises a plurality of interleaved memories capable of simultaneously providing the N×M pixels at the output port in a single clock cycle. A controller provides a set of weights to the convolution engine before processing an input map, causes the convolution engine to scan across the input map by incrementing a specified location for successive blocks of pixels and generates an output map within the image cache by writing output pixel values to successive locations within the image cache.
    Type: Application
    Filed: August 11, 2016
    Publication date: August 3, 2017
    Inventors: Mihai Constantine MUNTEANU, Alexandru CALIMAN, Corneliu ZAHARIA, Dragos DINU
  • Publication number: 20170185864
    Abstract: An image processing system comprises a template matching engine (TME). The TME reads an image from the memory; and as each pixel of the image is being read, calculates a respective feature value of a plurality of feature maps as a function of the pixel value. A pre-filter is responsive to a current pixel location comprising a node within a limited detector cascade to be applied to a window within the image to: compare a feature value from a selected one of the plurality of feature maps corresponding to the pixel location to a threshold value; and responsive to pixels for all nodes within a limited detector cascade to be applied to the window having been read, determine a score for the window. A classifier, responsive to the pre-filter indicating that a score for a window is below a window threshold, does not apply a longer detector cascade to the window before indicating that the window does not comprise an object to be detected.
    Type: Application
    Filed: December 15, 2016
    Publication date: June 29, 2017
    Inventors: Nicolae NICOARA, Cristina RACEALA, Corneliu ZAHARIA, Szabolcs FULOP, Oana IOVITA
  • Patent number: 9665799
    Abstract: A convolutional neural network (CNN) for an image processing system comprises an image cache responsive to a request to read a block of N×M pixels extending from a specified location within an input map to provide a block of N×M pixels at an output port. A convolution engine reads blocks of pixels from the output port, combines blocks of pixels with a corresponding set of weights to provide a product, and subjects the product to an activation function to provide an output pixel value. The image cache comprises a plurality of interleaved memories capable of simultaneously providing the N×M pixels at the output port in a single clock cycle. A controller provides a set of weights to the convolution engine before processing an input map, causes the convolution engine to scan across the input map by incrementing a specified location for successive blocks of pixels and generates an output map within the image cache by writing output pixel values to successive locations within the image cache.
    Type: Grant
    Filed: January 29, 2016
    Date of Patent: May 30, 2017
    Assignee: FOTONATION LIMITED
    Inventors: Mihai Constantine Munteanu, Alexandru Caliman, Corneliu Zaharia
  • Patent number: 9664922
    Abstract: In one example, a camera is provided that includes: a plurality of MEMS electrostatic comb actuators, each actuator operable to exert a force on at least one lens; and an optical image stabilization (OIS) algorithm module operable to command the plurality of actuators to actuate the at least one lens responsive to motion of the camera.
    Type: Grant
    Filed: October 6, 2014
    Date of Patent: May 30, 2017
    Assignee: DIGITALOPTICS CORPORATION MEMS
    Inventors: Xiaolei Liu, Roman C. Gutierrez, Pat K. Leang, Jose A. Mendez, Corneliu Zaharia, Alexandru F. Drimbarean, Petronel Gheorghe Bigioi
  • Patent number: 9639775
    Abstract: A template matching module is configured to program a processor to apply multiple differently-tuned object detection classifier sets in parallel to a digital image to determine one or more of an object type, configuration, orientation, pose or illumination condition, and to dynamically switch between object detection templates to match a determined object type, configuration, orientation, pose, blur, exposure and/or directional illumination condition.
    Type: Grant
    Filed: March 30, 2015
    Date of Patent: May 2, 2017
    Assignee: FotoNation Limited
    Inventors: Bogdan Sultana, Stefan Petrescu, Radu Nicolau, Vlad Ionut Ursachi, Petronel Bigioi, Corneliu Zaharia, Peter Corcoran, Szabolcs Fulop, Mihnea Gangea
  • Publication number: 20170098135
    Abstract: A method for producing a histogram of oriented gradients (HOG) for at least a portion of an image comprises dividing said image portion into cells, each cell comprising a plurality of image pixels. For each image pixel of a cell, a horizontal gradient component, gx, and a vertical gradient component, gy, is obtained based on differences in pixel values along at least a row of said image and a column of said image respectively including the pixel. A gradient is allocated to one of a plurality of sectors, each sector extending through a range of orientation angles. At least some of said sectors are divided from adjacent sectors along lines including gx=2n·gy, where n is any integer value with a magnitude greater than or equal to 1. At least one sector is associated with a bin; and a count of each instance of a pixel gradient of a cell associated with a bin is performed to provide a HOG for said cell.
    Type: Application
    Filed: May 20, 2016
    Publication date: April 6, 2017
    Inventors: Mihai Constantin MUNTEANU, Vlad GEORGESCU, Corneliu ZAHARIA, Iulia SUCIU
  • Patent number: 9607585
    Abstract: A dynamically reconfigurable heterogeneous systolic array is configured to process a first image frame, and to generate image processing primatives from the image frame, and to store the primatives and the corresponding image frame in a memory store. A characteristic of the image frame is determined. Based on the characteristic, the array is reconfigured to process a following image frame.
    Type: Grant
    Filed: October 27, 2014
    Date of Patent: March 28, 2017
    Assignee: FotoNation Limited
    Inventors: Corneliu Zaharia, Petronel Bigioi, Peter Corcoran
  • Publication number: 20170061639
    Abstract: An image processing apparatus comprises a normalisation module operatively connected across a bus to a memory storing an image in which a region of interest (ROI) has been identified within the image. The ROI is bound by a rectangle having a non-orthogonal orientation within the image. In one embodiment, the normalisation module is arranged to divide the ROI into one or more slices, each slice comprising a plurality of adjacent rectangular tiles. For each slice, the apparatus successively reads ROI information for each tile from the memory including: reading a portion of the image extending across at least a width of the slice line-by-line along an extent of a slice. For each tile, the apparatus downsamples the ROI information to a buffer to within a scale SD<2 of a required scale for a normalised version of the ROI.
    Type: Application
    Filed: August 25, 2016
    Publication date: March 2, 2017
    Inventors: Vlad GEORGESCU, Mihai Constantin MUNTEANU, Petronel BIGIOI, Corneliu ZAHARIA, Szabolcs FULOP, Gyorgy SIMON