Patents by Inventor Gagan Gupta

Gagan Gupta 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: 20200151520
    Abstract: The present invention discloses methods and systems for recognizing an object in an input image based on stored training images. An object recognition system the input image, computes a signature of the input image, compares the signature with one or more stored signatures and retrieves one or more matching images from the set of training images. The matching images are then displayed to the user for further action.
    Type: Application
    Filed: December 11, 2018
    Publication date: May 14, 2020
    Inventors: Vaidhi Nathan, Gagan Gupta, Nitin Jindal, Chandan Gope
  • Publication number: 20200089503
    Abstract: Systems and methods are disclosed for executing instructions with a block-based processor. Instructions can be executed in any order as their dependencies arrive, but the individual instructions are committed in a serial fashion. Further, exception handling can be performed by storing transient state for an instruction block and resuming by restoring the transient state. This allows programmers to see intermediate state for the instruction block before the subject block has committed. In one examples of the disclosed technology, a method of operating a processor executing a block-based instruction set architecture includes executing at least one instruction encoded for an instruction block, responsive to determining that an individual instruction of the instruction block can commit, advancing a commit frontier for the instruction block to include all instructions in the instruction block that can commit, and committing one or more instructions inside the advanced commit frontier.
    Type: Application
    Filed: December 18, 2018
    Publication date: March 19, 2020
    Applicant: Microsoft Technology Licensing, LLC
    Inventors: Gagan Gupta, David T. Harper
  • Publication number: 20190371315
    Abstract: Systems and processes for providing a virtual assistant service are provided. In accordance with one or more examples, a method includes receiving, from an accessory device communicatively coupled to the first electronic device, a representation of a speech input representing a user request. The method further includes detecting a second electronic device and transmitting, from the first electronic device, a representation of the user request and data associated with the detected second electronic device to a third electronic device. The method further includes receiving, from the third electronic device, a determination of whether a task is to be performed by the second electronic device in accordance with the user request; and in accordance with a determination that a task is to be performed by the second electronic device, requesting the second electronic device to performed the task in accordance with the user request.
    Type: Application
    Filed: August 31, 2018
    Publication date: December 5, 2019
    Inventors: Brandon J. NEWENDORP, Anumita BISWAS, Gagan A. GUPTA, Benjamin S. PHIPPS, Kisun YOU
  • Publication number: 20190236009
    Abstract: Systems and methods are disclosed for performing wide memory operations for a wide data cache line. In some examples of the disclosed technology, a processor having two or more execution lanes includes a data cache coupled to memory, a wide memory load circuit that concurrently loads two or more words from a cache line of the data cache, and a writeback circuit situated to send a respective word of the concurrently-loaded words to a selected execution lane of the processor, either into an operand buffer or bypassing the operand buffer. In some examples, a sharding circuit is provided that allows bitwise, byte-wise, and/or word-wise manipulation of memory operation data. In some examples, wide cache loads allows for concurrent execution of plural execution lanes of the processor.
    Type: Application
    Filed: February 2, 2018
    Publication date: August 1, 2019
    Applicant: Microsoft Technology Licensing, LLC
    Inventors: Douglas C. Burger, Aaron L. Smith, Gagan Gupta, David T. Harper
  • Patent number: 10275641
    Abstract: The present invention discloses methods and systems face recognition. Face recognition involves receiving an image/frame, detecting one or more faces in the image, detecting feature points for each of the detected faces in the image, aligning and normalizing the detected feature points, extracting feature descriptors based on the detected feature points and matching the extracted feature descriptors with a set of pre-stored images for face recognition.
    Type: Grant
    Filed: September 14, 2016
    Date of Patent: April 30, 2019
    Assignee: IntelliVision Technologies Corp
    Inventors: Chandan Gope, Gagan Gupta, Nitin Jindal, Amit Agarwal
  • Patent number: 10209997
    Abstract: A system for parallel execution of program portions on different processors permits speculative execution of the program portions before a determination is made as to whether there is a data dependency between the portion and older but unexecuted portions. Before commitment of the program portions in a sequential execution order, data dependencies are resolved through a token system that tracks read access and write access to data elements accessed by the program portions.
    Type: Grant
    Filed: June 2, 2015
    Date of Patent: February 19, 2019
    Assignee: Wisconsin Alumni Research Foundation
    Inventors: Gagan Gupta, Gurindar S. Sohi
  • Patent number: 10185569
    Abstract: Interrupt handling on a multiprocessor computer executing multiple computational operations in parallel is provided by establishing a total ordering of the multiple computational operations and defining an architectural state at the time of the interrupt as if the computational operations executed in the total ordering.
    Type: Grant
    Filed: February 13, 2013
    Date of Patent: January 22, 2019
    Assignee: Wisconsin Alumni Research Foundation
    Inventors: Gagan Gupta, Gurindar S. Sohi
  • Patent number: 10169684
    Abstract: The present invention discloses methods and systems for recognizing an object in an input image based on stored training images. An object recognition system the input image, computes a signature of the input image, compares the signature with one or more stored signatures and retrieves one or more matching images from the set of training images. The matching images are then displayed to the user for further action.
    Type: Grant
    Filed: June 10, 2016
    Date of Patent: January 1, 2019
    Assignee: IntelliVision technologies Corp.
    Inventors: Vaidhi Nathan, Gagan Gupta, Nitin Jindal, Chandan Gope
  • Publication number: 20180267807
    Abstract: Systems and methods are disclosed for supporting debugging of programs in block-based processor architectures. In one example of the disclosed technology, a processor includes an exception event handler, a memory interface, at least one block-based processor core coupled to the memory interface and configured to responsive to receiving an exception event signal while executing an instruction block, store state data for the core generated by executing the instruction block, transfer control of the core to a second instruction block, and resume execution of the first instruction by restoring state for the processor core from the stored state data.
    Type: Application
    Filed: May 15, 2017
    Publication date: September 20, 2018
    Applicant: Microsoft Technology Licensing, LLC
    Inventors: Douglas C. Burger, Gagan Gupta
  • Publication number: 20180225124
    Abstract: Systems and methods are disclosed for allocating resources to contexts in block-based processor architectures. In one example of the disclosed technology, a processor is configured to spatially allocate resources between multiple contexts being executed by the processor, including caches, functional units, and register files. In a second example of the disclosed technology, a processor is configured to temporally allocate resources between multiple contexts, for example, on a clock cycle basis, including caches, register files, and branch predictors. Each context is guaranteed access to its allocated resources to avoid starvation from contexts competing for resources of the processor. A results buffer can be used for folding larger instruction blocks into portions that can be mapped to smaller-sized instruction windows. The results buffer stores operand results that can be passed to subsequent portions of an instruction block.
    Type: Application
    Filed: February 6, 2017
    Publication date: August 9, 2018
    Applicant: Microsoft Technology Licensing, LLC
    Inventors: Gagan Gupta, Douglas C. Burger
  • Patent number: 9830157
    Abstract: A system and method of parallelizing programs employs runtime instructions to identify data accessed by program portions and to assign those program portions to particular processors based on potential overlap between the access data. Data dependence between different program portions may be identified and used to look for pending “predicate” program portions that could create data dependencies and to postpone program portions that may be dependent while permitting parallel execution of other program portions.
    Type: Grant
    Filed: August 18, 2010
    Date of Patent: November 28, 2017
    Assignee: Wisconsin ALumni Research Foundation
    Inventors: Gagan Gupta, Gurindar S. Sohi, Srinath Sridharan
  • Publication number: 20170300786
    Abstract: The present invention discloses methods, systems and computer programmable products for detecting license plates and recognizing characters in the licence plates. The system receives an image and identifies one or more regions including a license plate. The one or more regions are converted into a plurality of binarized images, which are then filtered to remove noise. Next, one or more clusters of characters are identified in the plurality of binarized images. The one or more clusters of characters are analyzed to recognize a set of characters, wherein each character in the set includes a confidence value.
    Type: Application
    Filed: September 14, 2016
    Publication date: October 19, 2017
    Inventors: Chandan Gope, Gagan Gupta, Nitin Jindal, Amit Agarwal
  • Publication number: 20170213081
    Abstract: The present invention discloses methods and systems for detecting a human body in an image using a machine learning model. The method includes selecting one or more candidate regions from one or more regions in an image based on a pre-defined threshold. Then, a body is detected in a candidate region of the one or more candidate regions, based on a set of pair-wise constraints. The body detection further includes detection of various body parts. Thereafter, a score is computed for each detected body part and a final score for the candidate region is computed, based on the scores of the detected body parts.
    Type: Application
    Filed: August 2, 2016
    Publication date: July 27, 2017
    Inventors: Vaidhi Nathan, Gagan Gupta, Nitin Jindal, Chandan Gope
  • Publication number: 20170213080
    Abstract: The present invention discloses methods and systems for detecting a human body in an image using a machine learning model. The method includes selecting one or more candidate regions from one or more regions in an image based on a pre-defined threshold. Then, a body is detected in a candidate region of the one or more candidate regions, based on a set of pair-wise constraints. The body detection further includes detection of various body parts. Thereafter, a score is computed for each detected body part and a final score for the candidate region is computed, based on the scores of the detected body parts.
    Type: Application
    Filed: August 2, 2016
    Publication date: July 27, 2017
    Inventors: Vaidhi Nathan, Gagan Gupta, Nitin Jindal, Chandan Gope
  • Patent number: 9652301
    Abstract: A system and method of parallelizing programs assigns write tokens and read tokens to data objects accessed by computational operations. During run time, the write sets and read sets for computational operations are resolved and the computational operations executed only after they have obtained the necessary tokens for data objects corresponding to the resolved write and read sets. A data object may have unlimited read tokens but only a single write token and the write token may be released only if no read tokens are outstanding. Data objects provide a wait list which serves as an ordered queue for computational operations waiting for tokens.
    Type: Grant
    Filed: September 15, 2010
    Date of Patent: May 16, 2017
    Assignee: Wisconsin Alumni Research Foundation
    Inventors: Gagan Gupta, Gurindar S. Sohi, Srinath Sridharan
  • Publication number: 20170098119
    Abstract: The present invention discloses methods and systems face recognition. Face recognition involves receiving an image/frame, detecting one or more faces in the image, detecting feature points for each of the detected faces in the image, aligning and normalizing the detected feature points, extracting feature descriptors based on the detected feature points and matching the extracted feature descriptors with a set of pre-stored images for face recognition.
    Type: Application
    Filed: September 14, 2016
    Publication date: April 6, 2017
    Inventors: Chandan Gope, Gagan Gupta, Nitin Jindal, Amit Agarwal
  • Publication number: 20160357608
    Abstract: A system for parallel execution of program portions on different processors permits speculative execution of the program portions before a determination is made as to whether there is a data dependency between the portion and older but unexecuted portions. Before commitment of the program portions in a sequential execution order, data dependencies are resolved through a token system that tracks read access and write access to data elements accessed by the program portions.
    Type: Application
    Filed: June 2, 2015
    Publication date: December 8, 2016
    Inventors: Gagan Gupta, Gurindar S. Sohi
  • Patent number: 8843932
    Abstract: Execution of a computer program on a multiprocessor system is monitored to detect possible excess parallelism causing resource contention and the like and, in response, to controllably limit the number of processors applied to parallelize program components.
    Type: Grant
    Filed: January 12, 2011
    Date of Patent: September 23, 2014
    Assignee: Wisconsin Alumni Research Foundation
    Inventors: Gurindar S. Sohi, Srinath Sridharan, Gagan Gupta
  • Publication number: 20120180062
    Abstract: Execution of a computer program on a multiprocessor system is monitored to detect possible excess parallelism causing resource contention and the like and, in response, to controllably limit the number of processors applied to parallelize program components.
    Type: Application
    Filed: January 12, 2011
    Publication date: July 12, 2012
    Inventors: Gurindar S. Sohi, Srinath Sridharan, Gagan Gupta
  • Publication number: 20120066690
    Abstract: A system and method of parallelizing programs assigns write tokens and read tokens to data objects accessed by computational operations. During run time, the write sets and read sets for computational operations are resolved and the computational operations executed only after they have obtained the necessary tokens for data objects corresponding to the resolved write and read sets. A data object may have unlimited read tokens but only a single write token and the write token may be released only if no read tokens are outstanding. Data objects provide a wait list which serves as an ordered queue for computational operations waiting for tokens.
    Type: Application
    Filed: September 15, 2010
    Publication date: March 15, 2012
    Inventors: Gagan Gupta, Gurindar S. Sohi, Srinath Sridharan