Patents by Inventor Brian McDowell

Brian McDowell 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: 20120092445
    Abstract: A system for automatically tracking movement of a user participating in a video chat application executing in a computing device is disclosed. A capture device connected to the computing device captures a user in a field of view of the capture device and identifies a sub-frame of pixels identifying a position of the head, neck and shoulders of the user in a capture frame of a capture area. The sub-frame of pixels is displayed to a remote user at a remote computing system who is participating in the video chat application with the user. The capture device automatically tracks the position of the head, neck and shoulders of the user as the user moves to a next location within the capture area. A next sub-frame of pixels identifying a position of the head, neck and shoulders of the user in the next location is identified and displayed to the remote user at the remote computing device.
    Type: Application
    Filed: October 14, 2010
    Publication date: April 19, 2012
    Applicant: MICROSOFT CORPORATION
    Inventors: Brian McDowell, Darren Apfel
  • Patent number: 8127233
    Abstract: Frames of user interface graphical data can be remotely rendered at a client during a remote session with a server by providing graphical data commands to the client. The commands include motion commands derived from objects that change position between a current frame and a new frame and delta commands derived from differences between the frames. The delta commands can be generated from a frame update after applying motion commands or without applying motion commands. A server identifies moving objects having a first position in the current frame and a second position in the new frame, generates motion hints for the moving objects, and reduces the motion hints based on collision detection, motion verification and other factors. Motion commands are generated for the reduced set of motion hints and applied to a copy of the current frame at the server. Differences between the modified current frame and the new frame are then encoded as delta commands.
    Type: Grant
    Filed: September 24, 2007
    Date of Patent: February 28, 2012
    Assignee: Microsoft Corporation
    Inventor: Brian McDowell
  • Patent number: 8121423
    Abstract: Raster segment commands are generated by a delta encoder and are encoded for raster segments detected to have moved in the current frame with respect to a location of the raster segment in a previous frame. Raster segment motion commands are stored in a queue and, when written, copy a raster segment into the current frame from a previous payload or cache. When written from the queue to a payload, raster segment motion commands are applied to a copy of the current frame maintained at the server using a copy of the previous payload sent. When copying a raster segment from a raster segment cache, a raster segment cache command retrieves identified raster segment data from the raster segment cache and copies the raster segment into a particular location in the current frame at the client. The raster segment commands are sent to a client via a payload to copy a raster segment from a previous payload into the current frame at the client or from a raster segment cache to the current frame.
    Type: Grant
    Filed: October 12, 2007
    Date of Patent: February 21, 2012
    Assignee: Microsoft Corporation
    Inventor: Brian McDowell
  • Patent number: 8106909
    Abstract: Common key frames are provided to a client during initialization to provide more efficient remoting of user interface graphical information. By storing the common key frames at the client, the common key frames may be loaded quicker and more efficiently at the client without having to resend graphical information for each common key frame each time a common key frame is used to provide a new frame. Differences between a selected common key frame and the new frame are encoded as delta commands. A payload containing a common key frame command, which identifies a common key frame at the client, and delta commands which encode differences between the selected common key frame and new frame is sent to the client. The client receives the payload, sets a cached common key frame as the current frame, applies the delta commands to the selected common key frame, and renders the new frame.
    Type: Grant
    Filed: October 13, 2007
    Date of Patent: January 31, 2012
    Assignee: Microsoft Corporation
    Inventor: Brian McDowell
  • Publication number: 20090097751
    Abstract: Raster segment commands are generated by a delta encoder and are encoded for raster segments detected to have moved in the current frame with respect to a location of the raster segment in a previous frame. Raster segment motion commands are stored in a queue and, when written, copy a raster segment into the current frame from a previous payload or cache. When written from the queue to a payload, raster segment motion commands are applied to a copy of the current frame maintained at the server using a copy of the previous payload sent. When copying a raster segment from a raster segment cache, a raster segment cache command retrieves identified raster segment data from the raster segment cache and copies the raster segment into a particular location in the current frame at the client. The raster segment commands are sent to a client via a payload to copy a raster segment from a previous payload into the current frame at the client or from a raster segment cache to the current frame.
    Type: Application
    Filed: October 12, 2007
    Publication date: April 16, 2009
    Applicant: MICROSOFT CORPORATION
    Inventor: Brian McDowell
  • Publication number: 20090100483
    Abstract: Common key frames are provided to a client during initialization to provide more efficient remoting of user interface graphical information. By storing the common key frames at the client, the common key frames may be loaded quicker and more efficiently at the client without having to resend graphical information for each common key frame each time a common key frame is used to provide a new frame. Differences between a selected common key frame and the new frame are encoded as delta commands. A payload containing a common key frame command, which identifies a common key frame at the client, and delta commands which encode differences between the selected common key frame and new frame is sent to the client. The client receives the payload, sets a cached common key frame as the current frame, applies the delta commands to the selected common key frame, and renders the new frame.
    Type: Application
    Filed: October 13, 2007
    Publication date: April 16, 2009
    Applicant: MICROSOFT CORPORATION
    Inventor: Brian McDowell
  • Publication number: 20090100125
    Abstract: Frames of user interface (UI) graphical data can be remotely rendered more efficiently at a client during a remote session with a server by utilizing graphical data cached at the client to prevent re-sending data to the client that was sent in previous payloads. By using cache memory to remember recurring frames of similar UI data and delta encoding to correct areas that are not similar, encoded payload sizes are greatly reduced. When a cached frame is closer to a new frame than the current frame, the cached frame is selected and delta commands are derived from differences between the selected cache frame and the new frame. The differences between the cached frame and the new frame are then encoded as delta commands and the cache commands and delta commands are sent to the client which receives and applies the commands to render the new frame.
    Type: Application
    Filed: October 11, 2007
    Publication date: April 16, 2009
    Applicant: MICROSOFT CORPORATION
    Inventor: Brian McDowell
  • Publication number: 20090080523
    Abstract: Frames of user interface graphical data can be remotely rendered at a client during a remote session with a server by providing graphical data commands to the client. The commands include motion commands derived from objects that change position between a current frame and a new frame and delta commands derived from differences between the frames. The delta commands can be generated from a frame update after applying motion commands or without applying motion commands. A server identifies moving objects having a first position in the current frame and a second position in the new frame, generates motion hints for the moving objects, and reduces the motion hints based on collision detection, motion verification and other factors. Motion commands are generated for the reduced set of motion hints and applied to a copy of the current frame at the server. Differences between the modified current frame and the new frame are then encoded as delta commands.
    Type: Application
    Filed: September 24, 2007
    Publication date: March 26, 2009
    Applicant: MICROSOFT CORPORATION
    Inventor: Brian McDowell
  • Publication number: 20060037053
    Abstract: The present invention provides for transferring user interface information from a host computing device to an electronic device that typically has limited resources. A request to display a user interface on an electronic device is received. Further, information about the electronic device is received for determining the capabilities of the electronic device. Based on the determination, a video codec is utilized for dynamically generating a video data stream that includes user interface information corresponding to at least a portion of the user interface. The video data stream is then transmitted to the electronic device for rendering the user interface on a display of the electronic device.
    Type: Application
    Filed: September 30, 2004
    Publication date: February 16, 2006
    Applicant: Microsoft Corporation
    Inventors: Brian McDowell, Stephen Evans
  • Publication number: 20060037054
    Abstract: The present invention provides for rendering graphics/image data at an electronic device that typically has limited resources. A video data steam is received at an electronic device, the video data stream including either user interface information or slideshow presentation data coded in a video codec format. A video processor of the electronic device is used to decode at least a portion of the video data stream into video frame data. A portion of the user interface or slideshow presentation is then displayed as video from data on a display of the electronic device.
    Type: Application
    Filed: September 30, 2004
    Publication date: February 16, 2006
    Applicant: Microsoft Corporation
    Inventors: Brian McDowell, Stephen Evans
  • Publication number: 20060037051
    Abstract: The present invention provides for transferring user interface information from a host computing device to an electronic device that typically has limited resources. A request to open a session of an application is received. In response to the request, a host computer opens a session for generating user interface information. A video codec is then utilized for dynamically converting at least a portion of the user interface information into a video data stream, which is capable of being processed at the electronic device by a video processor. The video data stream is then transmitted to the electronic device for displaying the user interface.
    Type: Application
    Filed: August 13, 2004
    Publication date: February 16, 2006
    Inventors: Brian McDowell, Stephen Evans
  • Publication number: 20060037052
    Abstract: The present invention provides for transferring slideshow presentation information from a host computing device to an electronic device that typically has limited resources. A request to display a slideshow presentation on an electronic device is received, the slideshow presentation including image data corresponding to one or more bitmaps. In response to the request, a session of an application is open on the host computer that provides the slideshow presentation data. A video codec is utilized for dynamically converting the slideshow presentation data into a video data stream that represents the slideshow presentation. The video data stream is then transmitted to the electronic device for rendering the slideshow presentation on a display of the electronic device.
    Type: Application
    Filed: September 30, 2004
    Publication date: February 16, 2006
    Applicant: Microsoft Corporation
    Inventors: Brian McDowell, Stephen Evans