Patents by Inventor Benjamin C. Constable
Benjamin C. Constable 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: 9324299Abstract: Atlasing and virtual surface techniques are described. In one or more implementations, virtual surface functionality is exposed by an operating system for access by one or more applications of the computing device. A virtual surface is created in response to a request from the one or more applications to be used to render visuals for display by a display device. The virtual surface is allocated in memory of the computing device by the exposed virtual surface functionality to have an area that is larger than an area to be used to display the visuals from the one or more applications.Type: GrantFiled: September 9, 2011Date of Patent: April 26, 2016Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC.Inventors: Leonardo E. Blanco, Silvana Patricia Moncayo, Hang Li, Mary Luo, Imran Majid, Joshua Warren Priestley, Benjamin C. Constable, Anuj B. Gosalia, Aleksandar Antonijevic, Daniel N. Wood, Max McMullen
-
Patent number: 9152476Abstract: One or more application programming interfaces (APIs) are exposed by a host program running on a device to facilitate a control program displaying content in a window in which the host program displays content. As part of an API, a method is exposed that the control program can invoke to pass to the host program a definition of a surface presenter to be created by the host program. Additionally, the control program can store content that the control program desires to have presented in a buffer of the surface presenter, and invoke another method exposed as part of an API to pass to the host program an indication of the content that the control program desires to have displayed in the window in which the host program displays content.Type: GrantFiled: March 15, 2013Date of Patent: October 6, 2015Assignee: Microsoft Technology Licensing, LLCInventors: Benjamin C. Constable, Cenk Ergan, Christian Fortini
-
Patent number: 8976189Abstract: Various embodiments provide techniques for enabling multiple graphics interfaces to be accessed to perform graphics-related operations. In at least some embodiments, techniques determine if the multiple graphics interfaces can share a memory resource for performing graphics operations. If the multiple graphics interfaces can share the memory resource, a coalescing graphics element is provided that can be used by applications to perform multiple graphics operations.Type: GrantFiled: April 25, 2011Date of Patent: March 10, 2015Assignee: Microsoft CorporationInventors: Benjamin C. Constable, Blake D. Pelton
-
Patent number: 8913080Abstract: Various embodiments provide techniques for partitioning high resolution images into sub-images for display. In at least some embodiments, the techniques can enable a device to display an image in its native resolution (e.g., the image capture resolution) even when the image exceeds a threshold image size for the device. In example implementations, techniques determine that a size of an image exceeds a threshold image size for a system. Further to some embodiments, the techniques can determine that the image is to be partitioned into multiple sub-images that can each be processed and reassembled to display the image. The sub-images can each be rendered by a graphics processing functionality (e.g., a graphics processing unit) and displayed on a display device to present a version of the image in its native resolution.Type: GrantFiled: May 9, 2011Date of Patent: December 16, 2014Assignee: Microsoft CorporationInventors: Richard K. James, Benjamin C. Constable, Rafael V. Cintron
-
Patent number: 8773442Abstract: An event, such as a vertical blank interrupt or signal, received from a display adapter in a system is identified. Activation of a timer-driven animation routine that updates a state of an animation and activation of a paint controller module that identifies updates to the state of the animation and composes a frame that includes the updates to the state of the animation are aligned, both being activated based on the identified event in the system.Type: GrantFiled: July 6, 2012Date of Patent: July 8, 2014Assignee: Microsoft CorporationInventors: Cenk Ergan, Benjamin C. Constable
-
Patent number: 8599210Abstract: Techniques for surface caching are described in which a cache for surfaces is provided to enable existing surfaces to be reused. Surfaces in the cache can be assigned to one of multiple surface lists used to service requests for surfaces. The multiple lists can include at least a main list and an auxiliary list configured to group existing surfaces according to corresponding surface constraints. When a surface is requested, the multiple lists can be searched to find an existing surface based on constraints including, for example, the type of surface and size requirements for the requested surface. If an existing surface is discovered, the existing surface can be returned to service the request. If a suitable surface is not found in the multiple lists, a new surface is created for the request and the new surface can be added to a corresponding one of the multiple surface lists.Type: GrantFiled: June 8, 2011Date of Patent: December 3, 2013Assignee: Microsoft CorporationInventors: Benjamin C. Constable, Brian E. Manthos, Li-Hsin Huang, Rafael V. Cintron, Samuel R. Fortiner, Jia Zhu
-
Patent number: 8424025Abstract: One or more application programming interfaces (APIs) are exposed by a host program running on a device to facilitate a control program displaying content in a window in which the host program displays content. As part of an API, a method is exposed that the control program can invoke to pass to the host program a definition of a surface presenter to be created by the host program. Additionally, the control program can store content that the control program desires to have presented in a buffer of the surface presenter, and invoke another method exposed as part of an API to pass to the host program an indication of the content that the control program desires to have displayed in the window in which the host program displays content.Type: GrantFiled: February 22, 2011Date of Patent: April 16, 2013Assignee: Microsoft CorporationInventors: Benjamin C. Constable, Cenk Ergan, Christian Fortini
-
Patent number: 8411036Abstract: Techniques for hardware accelerated caret rendering are described in which a system based caret is emulated using hardware acceleration technology. The hardware accelerated caret can be rendered using dedicated graphics processing hardware to look and feel like a system caret. This can involve using pixel shaders to produce the hardware accelerated caret and a employing a back-up texture to remove the caret after it is drawn and cause the caret to blink. In addition, rendering of the caret can be coordinated with other animations and/or other presentations of a frame buffer to piggy back drawing of the caret onto other drawing operations. This can reduce the number of times the frame buffer is presented and therefore improve performance.Type: GrantFiled: June 14, 2012Date of Patent: April 2, 2013Assignee: Microsoft CorporationInventors: Rafael V. Cintron, Richard K. James, Benjamin C. Constable, Cenk Ergan
-
Publication number: 20130067502Abstract: Atlasing and virtual surface techniques are described. In one or more implementations, virtual surface functionality is exposed by an operating system for access by one or more applications of the computing device. A virtual surface is created in response to a request from the one or more applications to be used to render visuals for display by a display device. The virtual surface is allocated in memory of the computing device by the exposed virtual surface functionality to have an area that is larger than an area to be used to display the visuals from the one or more applications.Type: ApplicationFiled: September 9, 2011Publication date: March 14, 2013Applicant: Microsoft CorporationInventors: Leonardo E. Blanco, Silvana Patricia Moncayo, Hang Li, Mary Luo, Imran Majid, Joshua Warren Priestley, Benjamin C. Constable, Anuj B. Gosalia, Aleksandar Antonijevic, Daniel N. Wood, Max McMullen
-
Publication number: 20120306900Abstract: Techniques for hardware accelerated caret rendering are described in which a system based caret is emulated using hardware acceleration technology. The hardware accelerated caret can be rendered using dedicated graphics processing hardware to look and feel like a system caret. This can involve using pixel shaders to produce the hardware accelerated caret and a employing a back-up texture to remove the caret after it is drawn and cause the caret to blink. In addition, rendering of the caret can be coordinated with other animations and/or other presentations of a frame buffer to piggy back drawing of the caret onto other drawing operations. This can reduce the number of times the frame buffer is presented and therefore improve performance.Type: ApplicationFiled: June 14, 2012Publication date: December 6, 2012Applicant: Microsoft CorporationInventors: Rafael V. Cintron, Richard K. James, Benjamin C. Constable, Cenk Ergan
-
Publication number: 20120297160Abstract: Techniques for surface caching are described in which a cache for surfaces is provided to enable existing surfaces to be reused. Surfaces in the cache can be assigned to one of multiple surface lists used to service requests for surfaces. The multiple lists can include at least a main list and an auxiliary list configured to group existing surfaces according to corresponding surface constraints. When a surface is requested, the multiple lists can be searched to find an existing surface based on constraints including, for example, the type of surface and size requirements for the requested surface. If an existing surface is discovered, the existing surface can be returned to service the request. If a suitable surface is not found in the multiple lists, a new surface is created for the request and the new surface can be added to a corresponding one of the multiple surface lists.Type: ApplicationFiled: June 8, 2011Publication date: November 22, 2012Applicant: Microsoft CorporationInventors: Benjamin C. Constable, Brian E. Manthos, Li-Hsin Huang, Rafael V. Cintron, Samuel R. Fortiner, Jia Zhu
-
Publication number: 20120287151Abstract: Various embodiments provide techniques for partitioning high resolution images into sub-images for display. In at least some embodiments, the techniques can enable a device to display an image in its native resolution (e.g., the image capture resolution) even when the image exceeds a threshold image size for the device. In example implementations, techniques determine that a size of an image exceeds a threshold image size for a system. Further to some embodiments, the techniques can determine that the image is to be partitioned into multiple sub-images that can each be processed and reassembled to display the image. The sub-images can each be rendered by a graphics processing functionality (e.g., a graphics processing unit) and displayed on a display device to present a version of the image in its native resolution.Type: ApplicationFiled: May 9, 2011Publication date: November 15, 2012Applicant: MICROSOFT CORPORATIONInventors: Richard K. James, Benjamin C. Constable, Rafael V. Cintron
-
Publication number: 20120274645Abstract: An event, such as a vertical blank interrupt or signal, received from a display adapter in a system is identified. Activation of a timer-driven animation routine that updates a state of an animation and activation of a paint controller module that identifies updates to the state of the animation and composes a frame that includes the updates to the state of the animation are aligned, both being activated based on the identified event in the system.Type: ApplicationFiled: July 6, 2012Publication date: November 1, 2012Applicant: Microsoft CorporationInventors: Cenk Ergan, Benjamin C. Constable
-
Publication number: 20120268473Abstract: Various embodiments provide techniques for enabling multiple graphics interfaces to be accessed to perform graphics-related operations. In at least some embodiments, techniques determine if the multiple graphics interfaces can share a memory resource for performing graphics operations. If the multiple graphics interfaces can share the memory resource, a coalescing graphics element is provided that can be used by applications to perform multiple graphics operations.Type: ApplicationFiled: April 25, 2011Publication date: October 25, 2012Applicant: MICROSOFT CORPORATIONInventors: Benjamin C. Constable, Blake D. Pelton
-
Publication number: 20120216217Abstract: One or more application programming interfaces (APIs) are exposed by a host program running on a device to facilitate a control program displaying content in a window in which the host program displays content. As part of an API, a method is exposed that the control program can invoke to pass to the host program a definition of a surface presenter to be created by the host program. Additionally, the control program can store content that the control program desires to have presented in a buffer of the surface presenter, and invoke another method exposed as part of an API to pass to the host program an indication of the content that the control program desires to have displayed in the window in which the host program displays content.Type: ApplicationFiled: February 22, 2011Publication date: August 23, 2012Applicant: MICROSOFT CORPORATIONInventors: Benjamin C. Constable, Cenk Ergan, Christian Fortini
-
Patent number: 8243079Abstract: An event, such as a vertical blank interrupt or signal, received from a display adapter in a system is identified. Activation of a timer-driven animation routine that updates a state of an animation and activation of a paint controller module that identifies updates to the state of the animation and composes a frame that includes the updates to the state of the animation are aligned, both being activated based on the identified event in the system.Type: GrantFiled: September 14, 2010Date of Patent: August 14, 2012Assignee: Microsoft CorporationInventors: Cenk Ergan, Benjamin C. Constable
-
Patent number: 8223123Abstract: Techniques for hardware accelerated caret rendering are described in which a system based caret is emulated using hardware acceleration technology. The hardware accelerated caret can be rendered using dedicated graphics processing hardware to look and feel like a system caret. This can involve using pixel shaders to produce the hardware accelerated caret and a employing a back-up texture to remove the caret after it is drawn and cause the caret to blink. In addition, rendering of the caret can be coordinated with other animations and/or other presentations of a frame buffer to piggy back drawing of the caret onto other drawing operations. This can reduce the number of times the frame buffer is presented and therefore improve performance.Type: GrantFiled: June 17, 2011Date of Patent: July 17, 2012Assignee: Microsoft CorporationInventors: Rafael V. Cintron, Richard K. James, Benjamin C. Constable, Cenk Ergan
-
Patent number: 8139075Abstract: A system, a method and computer-readable media for rendering text with a graphics processing unit (GPU). The system, method, and media includes a GPU that may be configured to receive a plurality of compressed glyph bitmap and create a plurality of glyph textures from the bitmap. The GPU may be further configured to pack a plurality of rows of data from a glyph bitmap into a single row of a glyph texture. The GPU may be also be configured to merge the plurality of glyph textures into a merged texture to identify overlapping rows of color. Additionally, the GPU maybe configured to filter the merged texture to create a grayscale texture containing a plurality of merged glyphs and rendering the grayscale texture to display the plurality of merged glyphs.Type: GrantFiled: December 10, 2008Date of Patent: March 20, 2012Assignee: Microsoft Corp.Inventors: Miles Mark Cohen, Anthony John Rolls Hodsdon, Louri Vladimirovitch Tarassov, Niklas Erik Borson, Mark Andrew Lawrence, Mikhail Mikhailovich Lyapunov, Benjamin C. Constable, Christopher Nathaniel Raubacher
-
Publication number: 20120050297Abstract: An event, such as a vertical blank interrupt or signal, received from a display adapter in a system is identified. Activation of a timer-driven animation routine that updates a state of an animation and activation of a paint controller module that identifies updates to the state of the animation and composes a frame that includes the updates to the state of the animation are aligned, both being activated based on the identified event in the system.Type: ApplicationFiled: September 14, 2010Publication date: March 1, 2012Applicant: MICROSOFT CORPORATIONInventors: Cenk Ergan, Benjamin C. Constable
-
Publication number: 20100141670Abstract: A system, a method and computer-readable media for rendering text with a graphics processing unit (GPU). The system, method, and media includes a GPU that may be configured to receive a plurality of compressed glyph bitmap and create a plurality of glyph textures from the bitmap. The GPU may be further configured to pack a plurality of rows of data from a glyph bitmap into a single row of a glyph texture. The GPU may be also be configured to merge the plurality of glyph textures into a merged texture to identify overlapping rows of color. Additionally, the GPU maybe configured to filter the merged texture to create a grayscale texture containing a plurality of merged glyphs and rendering the grayscale texture to display the plurality of merged glyphs.Type: ApplicationFiled: December 10, 2008Publication date: June 10, 2010Applicant: MICROSOFT CORPORATIONInventors: Miles Mark Cohen, Anthony John Rolls Hodsdon, Iouri Vladimirovitch Tarassov, Niklas Erik Borson, Mark Andrew Lawrence, Mikhail Mikhailovich Lyapunov, Benjamin C. Constable, Christopher Nathaniel Raubacher