Patents by Inventor Ketan Dalal
Ketan Dalal 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: 10552666Abstract: A candidate human head is found in depth video using a head detector. A head region of light intensity video is spatially resolved with a three-dimensional location of the candidate human head in the depth video. Facial recognition is performed on the head region of the light intensity video using a face recognizer.Type: GrantFiled: August 1, 2017Date of Patent: February 4, 2020Assignee: MICROSOFT TECHNOLOGY LICENSING, LLCInventors: Robert M. Craig, Vladimir Tankovich, Craig Peeper, Ketan Dalal, Bhaven Dedhia, Casey Meekhof
-
Publication number: 20180075288Abstract: A candidate human head is found in depth video using a head detector. A head region of light intensity video is spatially resolved with a three-dimensional location of the candidate human head in the depth video. Facial recognition is performed on the head region of the light intensity video using a face recognizer.Type: ApplicationFiled: August 1, 2017Publication date: March 15, 2018Applicant: Microsoft Technology Licensing, LLCInventors: Robert M. Craig, Vladimir Tankovich, Craig Peeper, Ketan Dalal, Bhaven Dedhia, Casey Meekhof
-
Patent number: 9754154Abstract: A candidate human head is found in depth video using a head detector. A head region of light intensity video is spatially resolved with a three-dimensional location of the candidate human head in the depth video. Facial recognition is performed on the head region of the light intensity video using a face recognizer.Type: GrantFiled: December 3, 2014Date of Patent: September 5, 2017Assignee: MICROSOFT TECHNOLOGY LICENSING, LLCInventors: Robert M. Craig, Vladimir Tankovich, Craig Peeper, Ketan Dalal, Bhaven Dedhia, Casey Meekhof
-
Patent number: 9639166Abstract: A computer system comprises a hardware interface, a computer-memory device, an update engine, and a posture-recognition engine. The hardware interface is configured to receive depth video of an environment from a camera. The computer-memory device stores a background model of the environment preservable over a reboot of the computer system, the background model including a plurality of trusted coordinates derived from the depth video. The update engine is configured to update the background model, including moving a trusted coordinate to greater depth if an observed pixel is behind the trusted coordinate over a first duration, but retaining the trusted coordinate if the observed pixel depth is in front of the trusted coordinate over the first duration. The posture-recognition engine is configured to recognize posture of a user in front of a background portion of the video, which is bounded by the trusted coordinates of the background model.Type: GrantFiled: March 11, 2015Date of Patent: May 2, 2017Assignee: MICROSOFT TECHNOLOGY LICENSING, LLCInventors: Casey Meekhof, Robert M. Craig, Craig Peeper, Patrick O. Cook, Ketan Dalal, Vladimir Tankovich, Anton Rakovchuk
-
Publication number: 20160266650Abstract: A computer system comprises a hardware interface, a computer-memory device, an update engine, and a posture-recognition engine. The hardware interface is configured to receive depth video of an environment from a camera. The computer-memory device stores a background model of the environment preservable over a reboot of the computer system, the background model including a plurality of trusted coordinates derived from the depth video. The update engine is configured to update the background model, including moving a trusted coordinate to greater depth if an observed pixel is behind the trusted coordinate over a first duration, but retaining the trusted coordinate if the observed pixel depth is in front of the trusted coordinate over the first duration. The posture-recognition engine is configured to recognize posture of a user in front of a background portion of the video, which is bounded by the trusted coordinates of the background model.Type: ApplicationFiled: March 11, 2015Publication date: September 15, 2016Inventors: Casey Meekhof, Robert M. Craig, Craig Peeper, Patrick O. Cook, Ketan Dalal, Vladimir Tankovich, Anton Rakovchuk
-
Publication number: 20150086108Abstract: A candidate human head is found in depth video using a head detector. A head region of light intensity video is spatially resolved with a three-dimensional location of the candidate human head in the depth video. Facial recognition is performed on the head region of the light intensity video using a face recognizer.Type: ApplicationFiled: December 3, 2014Publication date: March 26, 2015Inventors: Robert M. Craig, Vladimir Tankovich, Craig Peeper, Ketan Dalal, Bhaven Dedhia, Casey Meekhof
-
Patent number: 6708222Abstract: A computer-based method and system for generating a reference to an enclosing object from a reference to an embedded object that is embedded within the enclosing object. The enclosing object has an enclosing class, and the embedded object has an embedded class. Each class inherits a base class that has a reference counting data member. The system redefines the base class such that the reference counting data member is divided into an offset portion and a reference counting portion. The system then instantiates the enclosing object. The enclosing object has an enclosing object address, and the embedded object has an embedded object address. The system stores in the offset portion of the reference counting data member of the base class of the embedded object a difference between the enclosing object address and the embedded object address.Type: GrantFiled: May 1, 1997Date of Patent: March 16, 2004Assignee: Microsoft CorporationInventors: Ketan Dalal, Raja Krishnaswamy
-
Patent number: 6314417Abstract: The present invention uses a segmented caching data structure to cache database objects provided by a database server. The database server provides database objects in response to requests by a number of different programs. The segmented caching data structure is made up of a single central cache and a number of program caches, each corresponding to one of the programs. When a database object is provided by the database server in response to a request by any of the programs, a copy of the database object is stored in the central cache. Another copy of the object is stored in the program cache for the program that requested the database object. When the segmented caching data structure is maintained in this manner, when a request is made by one of the programs a copy of the requested object stored in either of the central cache or the program cache for the program may be used, making it unnecessary for the database server to provide the requested database object.Type: GrantFiled: March 13, 1998Date of Patent: November 6, 2001Assignee: Microsoft CorporationInventors: John G. Bennett, Ketan Dalal
-
Patent number: 6105041Abstract: The present invention uses three-state references to manage access to referenced objects. In a preferred embodiment, a pointer swizzling facility receives a request to swizzle a persistent pointer. In response to the request, the facility copies the persistent pointer to an indirection slot, and replaces the original persistent pointer with a smart pointer containing a pointer to the indirection slot. When the facility subsequently detects an attempt to dereference the smart pointer, the facility loads the referenced object using the persistent pointer stored in the indirection slot pointed to by the smart pointer. The facility further replaces the persistent pointer in the indirection slot with a pointer to the loaded referenced object. The facility also replaces the pointer to the indirection slot in the smart pointer with a pointer to the loaded dereferenced object. Finally, the facility dereferences the pointer to the loaded referenced object in response to the attempt to dereference the smart pointer.Type: GrantFiled: May 21, 1998Date of Patent: August 15, 2000Assignee: Microsoft CorporationInventors: John G. Bennett, Ketan Dalal
-
Patent number: 6064999Abstract: A method and system for efficiently performing database table aggregation is provided. In a preferred embodiment, an aggregation facility efficiently aggregates a source table using indices on an aggregated column of the source table and a grouping column of the source table. The facility uses the index on the aggregated column to identify the contents of the aggregated column in each row of the source table. The facility further uses information derived from the index on the grouping column to identify the contents of the grouping column in each row of the source table. For each row of the source table, the facility aggregates the identified aggregated column contents into a result value for the identified grouping column contents. In a further preferred embodiment, the facility generates a relation mapping from source table row to grouping column, which the facility uses to identify the contents of the grouping column in each row of the source table.Type: GrantFiled: April 15, 1998Date of Patent: May 16, 2000Assignee: Microsoft CorporationInventor: Ketan Dalal
-
Patent number: 5974421Abstract: An improved object loader is provided that is designed to take advantage of the caching architecture of many of today's processors to improve performance. Some of today's most advanced processors, like the PENTIUM processor, have a two-level caching scheme utilizing both a primary cache and a secondary cache, where data contained in the primary cache is accessible 50 to 150 times faster than data in main memory. The improved object loader uses a hash table and an object handle table to load objects, where each of these tables is designed and utilized in such a manner so as to take full advantage of the processor's caching architecture to increase system performance.Type: GrantFiled: December 23, 1996Date of Patent: October 26, 1999Assignee: Microsoft CorporationInventors: Raja Krishnaswamy, Ketan Dalal
-
Patent number: 5835908Abstract: The present invention uses a segmented caching data structure to cache database objects provided by a database server. The database server provides database objects in response to requests by a number of different programs. The segmented caching data structure is made up of a single central cache and a number of program caches, each corresponding to one of the programs. When a database object is provided by the database server in response to a request by any of the programs, a copy of the database object is stored in the central cache. Another copy of the object is stored in the program cache for the program that requested the database object. When the segmented caching data structure is maintained in this manner, when a request is made by one of the programs a copy of the requested object stored in either of the central cache or the program cache for the program may be used, making it unnecessary for the database server to provide the requested database object.Type: GrantFiled: November 19, 1996Date of Patent: November 10, 1998Assignee: Microsoft CorporationInventors: John G. Bennett, Ketan Dalal
-
Patent number: 5794256Abstract: The present invention uses three-state references to manage access to referenced objects. In a preferred embodiment, a pointer swizzling facility receives a request to swizzle a persistent pointer. In response to the request, the facility copies the persistent pointer to an indirection slot, and replaces the original persistent pointer with a smart pointer containing a pointer to the indirection slot. When the facility subsequently detects an attempt to dereference the smart pointer, the facility loads the referenced object using the persistent pointer stored in the indirection slot pointed to by the smart pointer. The facility further replaces the persistent pointer in the indirection slot with a pointer to the loaded referenced object. The facility also replaces the pointer to the indirection slot in the smart pointer with a pointer to the loaded dereferenced object. Finally, the facility dereferences the pointer to the loaded referenced object in response to the attempt to dereference the smart pointer.Type: GrantFiled: December 12, 1996Date of Patent: August 11, 1998Assignee: Microsoft CorporationInventors: John G. Bennett, Ketan Dalal
-
Patent number: 5781896Abstract: A method and system for efficiently performing database table aggregation is provided. In a preferred embodiment, an aggregation facility efficiently aggregates a source table using indices on an aggregated column of the source table and a grouping column of the source table. The facility uses the index on the aggregated column to identify the contents of the aggregated column in each row of the source table. The facility further uses information derived from the index on the grouping column to identify the contents of the grouping column in each row of the source table. For each row of the source table, the facility aggregates the identified aggregated column contents into a result value for the identified grouping column contents. In a further preferred embodiment, the facility generates a relation mapping from source table row to grouping column, which the facility uses to identify the contents of the grouping column in each row of the source table.Type: GrantFiled: April 23, 1996Date of Patent: July 14, 1998Assignee: Microsoft CorporationInventor: Ketan Dalal
-
Patent number: 5594898Abstract: A method and system for efficiently joining database tables using compact row mapping structures is provided. In a preferred embodiment, a one-table row mapping structure is used to join two source tables while enforcing a restriction against a column of one of the source tables. Where the restricted column value satisfies the restriction, an indication is stored in the one-table mapping structure that the source table rows listed in that row of the index satisfy the restriction. When the source tables are joined by merging indices on the join columns of the two tables, only rows of the restricted source table for which an indication is stored in the one-table row mapping structure that it satisfies the restriction are merged. In a further embodiment, an arbitrary number of source tables are joined using a series of two-table row mapping structures, each constructed to represent the joining of two adjacent tables by mapping from rows of one of the adjacent table to rows of the other adjacent table.Type: GrantFiled: March 25, 1994Date of Patent: January 14, 1997Assignee: Microsoft CorporationInventors: Ketan Dalal, Matthew Bellew
-
Patent number: 5537589Abstract: A method and system for efficiently performing database table aggregation is provided. In a preferred embodiment, an aggregation facility efficiently aggregated a source table using indices on an aggregated column of the source table and a grouping column of the source table. The facility uses the index on the aggregated column to identify the contents of the aggregated column in each row of the source table. The facility further uses information derived from the index on the grouping column to identify the contents of the grouping column in each row of the source table. For each row of the source table, the facility aggregates the identified aggregated column contents into a result value for the identified grouping column contents. In a further preferred embodiment, the facility generates a relation mapping from source table row to grouping column, which the facility uses to identify the contents of the grouping column in each row of the source table.Type: GrantFiled: June 30, 1994Date of Patent: July 16, 1996Assignee: Microsoft CorporationInventor: Ketan Dalal