Patents by Inventor Richard Newcombe
Richard Newcombe 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: 20160134492Abstract: A resource delivery network and method for distributing content in the network is disclosed herein. The network comprises a plurality of servers arranged in tiers and partitioned. Each server includes a resource store with a set of resources for distribution to a successive tier. Updates to each successive tier are provided by a pull-forward client on servers in the tier. This forward propagation mechanism maximizes resource availability at edge servers in the network. Resources transmitted to the edge tier servers may be transformed, combined, and rendered without taxing lower tier servers. Transformation and pre-rendering of data can be performed by low priority CPU tasks at each layer of the system.Type: ApplicationFiled: January 13, 2016Publication date: May 12, 2016Inventors: Joseph L. Ellsworth, Brandon William Porter, Christopher Allen Suver, Christopher Richard Newcombe
-
Patent number: 9242171Abstract: Real-time camera tracking using depth maps is described. In an embodiment depth map frames are captured by a mobile depth camera at over 20 frames per second and used to dynamically update in real-time a set of registration parameters which specify how the mobile depth camera has moved. In examples the real-time camera tracking output is used for computer game applications and robotics. In an example, an iterative closest point process is used with projective data association and a point-to-plane error metric in order to compute the updated registration parameters. In an example, a graphics processing unit (GPU) implementation is used to optimize the error metric in real-time. In some embodiments, a dense 3D model of the mobile camera environment is used.Type: GrantFiled: February 23, 2013Date of Patent: January 26, 2016Assignee: Microsoft Technology Licensing, LLCInventors: Richard Newcombe, Shahram Izadi, David Molyneaux, Otmar Hilliges, David Kim, Jamie Daniel Joseph Shotton, Pushmeet Kohli, Andrew Fitzgibbon, Stephen Edward Hodges, David Alexander Butler
-
Patent number: 9246776Abstract: A resource delivery network and method for distributing content in the network is disclosed herein. The network comprises a plurality of servers arranged in tiers and partitioned. Each server includes a resource store with a set of resources for distribution to a successive tier. Updates to each successive tier are provided by a pull-forward client on servers in the tier. This forward propagation mechanism maximizes resource availability at edge servers in the network. Resources transmitted to the edge tier servers may be transformed, combined, and rendered without taxing lower tier servers. Transformation and pre-rendering of data can be performed by low priority CPU tasks at each layer of the system.Type: GrantFiled: March 10, 2015Date of Patent: January 26, 2016Assignee: Amazon Technologies, Inc.Inventors: Joseph L. Ellsworth, Brandon William Porter, Christopher Allen Suver, Christopher Richard Newcombe
-
Publication number: 20140279929Abstract: A database system may include a database service and a separate distributed storage service. The database service (or a database engine head node thereof) may be responsible for query parsing, optimization, and execution, transactionality, and consistency, while the storage service may be responsible for generating data pages from redo log records and for durability of those data pages. For example, in response to a write request directed to a particular data page, the database engine head node may generate a redo log record and send it, but not the data page, to a storage service node. The storage service node may store the redo log record and return a write acknowledgement to the database service prior to applying the redo log record. The server node may apply the redo log record and other redo log records to a previously stored version of the data page to create a current version.Type: ApplicationFiled: March 7, 2014Publication date: September 18, 2014Applicant: AMAZON TECHNOLOGIES, INC.Inventors: ANURAG WINDLASS GUPTA, NEAL FACHAN, SAMUEL JAMES MCKELVIE, LAURION DARRELL BURCHALL, CHRISTOPHER RICHARD NEWCOMBE, PRADEEP JNANA MADHAVARAPU, BENJAMIN TOBLER, JAMES MCCLELLAN COREY
-
Patent number: 8711206Abstract: Mobile camera localization using depth maps is described for robotics, immersive gaming, augmented reality and other applications. In an embodiment a mobile depth camera is tracked in an environment at the same time as a 3D model of the environment is formed using the sensed depth data. In an embodiment, when camera tracking fails, this is detected and the camera is relocalized either by using previously gathered keyframes or in other ways. In an embodiment, loop closures are detected in which the mobile camera revisits a location, by comparing features of a current depth map with the 3D model in real time. In embodiments the detected loop closures are used to improve the consistency and accuracy of the 3D model of the environment.Type: GrantFiled: January 31, 2011Date of Patent: April 29, 2014Assignee: Microsoft CorporationInventors: Richard Newcombe, Shahram Izadi, David Molyneaux, Otmar Hilliges, David Kim, Jamie Daniel Joseph Shotton, Pushmeet Kohli, Andrew Fitzgibbon, Stephen Edward Hodges, David Alexander Butler
-
Patent number: 8661557Abstract: A method and system for granting access to system and content is provided. A key is provided that allows access by a client computer to content that includes a plurality of resources. A server is accessed and the key is provided to the server. Based on the key, access is granted to the content. A program on the client computer requests a resource of the plurality of resources. If the resource is located locally, the resource is provided to the program. Otherwise, the resource is downloaded from the content server and stored locally. A data structure is modified to indicate that the resource is stored locally and the resource is provided to the program.Type: GrantFiled: December 21, 2011Date of Patent: February 25, 2014Assignee: Valve CorporationInventors: Richard Donald Ellis, Christopher Richard Newcombe, Paul David Jones, Derrick Jason Birum, Harold Michael Dunkle, Mikel Howard Thompson
-
Patent number: 8587583Abstract: Three-dimensional environment reconstruction is described. In an example, a 3D model of a real-world environment is generated in a 3D volume made up of voxels stored on a memory device. The model is built from data describing a camera location and orientation, and a depth image with pixels indicating a distance from the camera to a point in the environment. A separate execution thread is assigned to each voxel in a plane of the volume. Each thread uses the camera location and orientation to determine a corresponding depth image location for its associated voxel, determines a factor relating to the distance between the associated voxel and the point in the environment at the corresponding location, and updates a stored value at the associated voxel using the factor. Each thread iterates through an equivalent voxel in the remaining planes of the volume, repeating the process to update the stored value.Type: GrantFiled: January 31, 2011Date of Patent: November 19, 2013Assignee: Microsoft CorporationInventors: Richard Newcombe, Shahram Izadi, David Molyneaux, Otmar Hilliges, David Kim, Jamie Daniel Joseph Shotton, Stephen Edward Hodges, David Alexander Butler, Andrew Fitzgibbon, Pushmeet Kohli
-
Publication number: 20130244782Abstract: Real-time camera tracking using depth maps is described. In an embodiment depth map frames are captured by a mobile depth camera at over 20 frames per second and used to dynamically update in real-time a set of registration parameters which specify how the mobile depth camera has moved. In examples the real-time camera tracking output is used for computer game applications and robotics. In an example, an iterative closest point process is used with projective data association and a point-to-plane error metric in order to compute the updated registration parameters. In an example, a graphics processing unit (GPU) implementation is used to optimize the error metric in real-time. In some embodiments, a dense 3D model of the mobile camera environment is used.Type: ApplicationFiled: February 23, 2013Publication date: September 19, 2013Applicant: MICROSOFT CORPORATIONInventors: Richard Newcombe, Shahram Izadi, David Molyneaux, Otmar Hilliges, David Kim, Jamie Daniel Joseph Shotton, Pushmeet Kohli, Andrew Fitzgibbon, Stephen Edward Hodges, David Alexander Butler
-
Patent number: 8539038Abstract: A method and system for preloading data is provided. Resources are preloaded on a client before they are needed by an application. Application hints and static resources lists may be used to indicate resources are needed. The application may begin execution before receiving all of the resources associated with the application. Preloading may be done during execution of an application, or when the application is not executing. Preloading allows an application to run smoothly without consuming more resources than are needed by an application. A prediction graph may be generated that is used in predicting the resources that are likely to be needed by the application. An analyzer may also be used to simulate the system and adjust parameters used in creating the prediction graph.Type: GrantFiled: February 17, 2011Date of Patent: September 17, 2013Assignee: Valve CorporationInventors: Paul David Jones, Christopher Richard Newcombe, Richard Donald Ellis, Derrick Jason Birum, Mikel Howard Thompson
-
Patent number: 8401242Abstract: Real-time camera tracking using depth maps is described. In an embodiment depth map frames are captured by a mobile depth camera at over 20 frames per second and used to dynamically update in real-time a set of registration parameters which specify how the mobile depth camera has moved. In examples the real-time camera tracking output is used for computer game applications and robotics. In an example, an iterative closest point process is used with projective data association and a point-to-plane error metric in order to compute the updated registration parameters. In an example, a graphics processing unit (GPU) implementation is used to optimize the error metric in real-time. In some embodiments, a dense 3D model of the mobile camera environment is used.Type: GrantFiled: January 31, 2011Date of Patent: March 19, 2013Assignee: Microsoft CorporationInventors: Richard Newcombe, Shahram Izadi, David Molyneaux, Otmar Hilliges, David Kim, Jamie Daniel Joseph Shotton, Pushmeet Kohli, Andrew Fitzgibbon, Stephen Edward Hodges, David Alexander Butler
-
Patent number: 8401225Abstract: Moving object segmentation using depth images is described. In an example, a moving object is segmented from the background of a depth image of a scene received from a mobile depth camera. A previous depth image of the scene is retrieved, and compared to the current depth image using an iterative closest point algorithm. The iterative closest point algorithm includes a determination of a set of points that correspond between the current depth image and the previous depth image. During the determination of the set of points, one or more outlying points are detected that do not correspond between the two depth images, and the image elements at these outlying points are labeled as belonging to the moving object. In examples, the iterative closest point algorithm is executed as part of an algorithm for tracking the mobile depth camera, and hence the segmentation does not add substantial additional computational complexity.Type: GrantFiled: January 31, 2011Date of Patent: March 19, 2013Assignee: Microsoft CorporationInventors: Richard Newcombe, Shahram Izadi, Otmar Hilliges, David Kim, David Molyneaux, Jamie Daniel Joseph Shotton, Pushmeet Kohli, Andrew Fitzgibbon, Stephen Edward Hodges, David Alexander Butler
-
Patent number: 8341753Abstract: A system, method, and apparatus are arranged to enable loading of an application, such as a game application, prior to a formal release date of the application. An end-user is provided components of the application either over a network, CD, DVD, or the like. At least one component of the application is encrypted. The end-user may register with an application provider. At a pre-defined time, such as a release date for the application, a decryption key is made available to the end-user. The decryption key may be employed to decrypt the encrypted component(s) of the application, such that the application may be readied for execution. In addition, bug fixes, additions, or the like, may also be pre-loaded to release of the application, thereby ensuring that the end-user has the most current application configuration.Type: GrantFiled: March 8, 2006Date of Patent: December 25, 2012Assignee: Valve CorporationInventors: Derrick Jason Birum, Erik Axel Johnson, Christopher Richard Newcombe
-
Publication number: 20120195471Abstract: Moving object segmentation using depth images is described. In an example, a moving object is segmented from the background of a depth image of a scene received from a mobile depth camera. A previous depth image of the scene is retrieved, and compared to the current depth image using an iterative closest point algorithm. The iterative closest point algorithm includes a determination of a set of points that correspond between the current depth image and the previous depth image. During the determination of the set of points, one or more outlying points are detected that do not correspond between the two depth images, and the image elements at these outlying points are labeled as belonging to the moving object. In examples, the iterative closest point algorithm is executed as part of an algorithm for tracking the mobile depth camera, and hence the segmentation does not add substantial additional computational complexity.Type: ApplicationFiled: January 31, 2011Publication date: August 2, 2012Applicant: Microsoft CorporationInventors: Richard NEWCOMBE, Shahram IZADI, Otmar HILLIGES, David KIM, David MOLYNEAUX, Jamie Daniel Joseph SHOTTON, Pushmeet KOHLI, Andrew FITZGIBBON, Stephen Edward HODGES, David Alexander BUTLER
-
Publication number: 20120196679Abstract: Real-time camera tracking using depth maps is described. In an embodiment depth map frames are captured by a mobile depth camera at over 20 frames per second and used to dynamically update in real-time a set of registration parameters which specify how the mobile depth camera has moved. In examples the real-time camera tracking output is used for computer game applications and robotics. In an example, an iterative closest point process is used with projective data association and a point-to-plane error metric in order to compute the updated registration parameters. In an example, a graphics processing unit (GPU) implementation is used to optimize the error metric in real-time. In some embodiments, a dense 3D model of the mobile camera environment is used.Type: ApplicationFiled: January 31, 2011Publication date: August 2, 2012Applicant: Microsoft CorporationInventors: Richard Newcombe, Shahram Izadi, David Molyneaux, Otmar Hilliges, David Kim, Jamie Daniel Joseph Shotton, Pushmeet Kohli, Andrew Fitzgibbon, Stephen Edward Hodges, David Alexander Butler
-
Publication number: 20120194644Abstract: Mobile camera localization using depth maps is described for robotics, immersive gaming, augmented reality and other applications. In an embodiment a mobile depth camera is tracked in an environment at the same time as a 3D model of the environment is formed using the sensed depth data. In an embodiment, when camera tracking fails, this is detected and the camera is relocalized either by using previously gathered keyframes or in other ways. In an embodiment, loop closures are detected in which the mobile camera revisits a location, by comparing features of a current depth map with the 3D model in real time. In embodiments the detected loop closures are used to improve the consistency and accuracy of the 3D model of the environment.Type: ApplicationFiled: January 31, 2011Publication date: August 2, 2012Applicant: Microsoft CorporationInventors: Richard Newcombe, Shahram Izadi, David Molyneaux, Otmar Hilliges, David Kim, Jamie Daniel Joseph Shotton, Pushmeet Kohli, Andrew Fitzgibbon, Stephen Edward Hodges, David Alexander Butler
-
Publication number: 20120194516Abstract: Three-dimensional environment reconstruction is described. In an example, a 3D model of a real-world environment is generated in a 3D volume made up of voxels stored on a memory device. The model is built from data describing a camera location and orientation, and a depth image with pixels indicating a distance from the camera to a point in the environment. A separate execution thread is assigned to each voxel in a plane of the volume. Each thread uses the camera location and orientation to determine a corresponding depth image location for its associated voxel, determines a factor relating to the distance between the associated voxel and the point in the environment at the corresponding location, and updates a stored value at the associated voxel using the factor. Each thread iterates through an equivalent voxel in the remaining planes of the volume, repeating the process to update the stored value.Type: ApplicationFiled: January 31, 2011Publication date: August 2, 2012Applicant: Microsoft CorporationInventors: Richard Newcombe, Shahram Izadi, David Molyneaux, Otmar Hilliges, David Kim, Jamie Daniel Joseph Shotton, Stephen Edward Hodges, David Alexander Butler, Andrew Fitzgibbon, Pushmeet Kohli
-
Publication number: 20120095816Abstract: A method and system for granting access to system and content is provided. A key is provided that allows access by a client computer to content that includes a plurality of resources. A server is accessed and the key is provided to the server. Based on the key, access is granted to the content. A program on the client computer requests a resource of the plurality of resources. If the resource is located locally, the resource is provided to the program. Otherwise, the resource is downloaded from the content server and stored locally. A data structure is modified to indicate that the resource is stored locally and the resource is provided to the program.Type: ApplicationFiled: December 21, 2011Publication date: April 19, 2012Applicant: Valve CorporationInventors: Richard Donald ELLIS, Christopher Richard Newcombe, Paul David Jones, Derrick Jason Birum, Harold Michael Dunkle, Mikel Howard Thompson
-
Patent number: 8108687Abstract: A method and system for granting access to system and content is provided. A key is provided that allows access by a client computer to content that includes a plurality of resources. A server is accessed and the key is provided to the server. Based on the key, access is granted to the content. A program on the client computer requests a resource of the plurality of resources. If the resource is located locally, the resource is provided to the program. Otherwise, the resource is downloaded from the content server and stored locally. A data structure is modified to indicate that the resource is stored locally and the resource is provided to the program.Type: GrantFiled: December 11, 2002Date of Patent: January 31, 2012Assignee: Valve CorporationInventors: Richard Donald Ellis, Christopher Richard Newcombe, Paul David Jones, Derrick Jason Birum, Harold Michael Dunkle, Mikel Howard Thompson
-
Publication number: 20110145362Abstract: A method and system for preloading data is provided. Resources are preloaded on a client before they are needed by an application. Application hints and static resources lists may be used to indicate resources are needed. The application may begin execution before receiving all of the resources associated with the application. Preloading may be done during execution of an application, or when the application is not executing. Preloading allows an application to run smoothly without consuming more resources than are needed by an application. A prediction graph may be generated that is used in predicting the resources that are likely to be needed by the application. An analyzer may also be used to simulate the system and adjust parameters used in creating the prediction graph.Type: ApplicationFiled: February 17, 2011Publication date: June 16, 2011Applicant: Valve LLCInventors: Paul David JONES, Christopher Richard NEWCOMBE, Richard Donald ELLIS, Derrick Jason BIRUM, Mikel Howard THOMPSON
-
Patent number: 7895261Abstract: A method and system for preloading data is provided. Resources are preloaded on a client before they are needed by an application. Application hints and static resources lists may be used to indicate resources are needed. The application may begin execution before receiving all of the resources associated with the application. Preloading may be done during execution of an application, or when the application is not executing. Preloading allows an application to run smoothly without consuming more resources than are needed by an application. A prediction graph may be generated that is used in predicting the resources that are likely to be needed by the application. An analyzer may also be used to simulate the system and adjust parameters used in creating the prediction graph.Type: GrantFiled: December 12, 2002Date of Patent: February 22, 2011Assignee: Valve CorporationInventors: Paul David Jones, Christopher Richard Newcombe, Richard Donald Ellis, Derrick Jason Birum, Mikel Howard Thompson