Patents by Inventor Nicholas J Fang

Nicholas J Fang 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: 20160255379
    Abstract: Contextual data, which may describe user activity, preferences and/or a device status, is aggregated from a number of devices and/or resources. Program information is aggregated from several resources including an on-demand resource and other resources, such as a broadcast resource. Configurations disclosed herein utilize the contextual data to select content items to be added to a cross-platform programming playlist, which is configured to invoke viewing sessions from on-demand resources as well as other devices, such as a digital video recorder (DVR). Configurations disclosed herein also utilize the contextual data to determine if the selected content items are to be recorded by a device or accessed from an on-demand resource. In some configurations, recorded content items are deleted from storage depending on the availability of alternate resources sharing the recorded content items and/or other contextual information.
    Type: Application
    Filed: February 27, 2015
    Publication date: September 1, 2016
    Inventors: Thomas A. Langan, Cory J. Healey, Ying Hao, Joseph Chauvin, Nicholas J. Fang, Nitin Rathee, Shailendra Mishra, Ashley C. Speicher, Dan E. Walther
  • Publication number: 20160255397
    Abstract: Technologies are described herein for providing contextually aware management of resources. Recorded content items are deleted from or added to a storage device depending on the availability of alternate resources sharing the content items and/or other contextual information. For example, if a storage device of a DVR has reached a threshold with respect to a storage capacity and/or other conditions develop, configurations disclosed herein analyze the content items stored in the DVR to determine if the content items are provided by an on-demand resource. If one or more stored content items are available on at least one on-demand resource, the system may delete the one or more content items from the DVR and generate a link to access the one or more content items from the on-demand resource. The link and a description of the one or more content items may then be added to the cross-platform programming playlist.
    Type: Application
    Filed: February 27, 2015
    Publication date: September 1, 2016
    Inventors: Thomas A. Langan, Dan E. Walther, Ying Hao, Joseph Chauvin, Shailendra Mishra, Nitin Rathee, Ashley C. Speicher, Cory J. Healey, Nicholas J. Fang
  • Publication number: 20160227279
    Abstract: A user-specified custom channel includes media content programs having any number of respective program sources. The custom channel has an associated lineup that defines the date/time at which individual media content programs are available via the custom channel. A custom channel may be represented in an electronic program guide, and a custom channel may be published by the user that created the custom channel to make the custom channel available to other users.
    Type: Application
    Filed: January 30, 2015
    Publication date: August 4, 2016
    Inventors: Nicholas J. Fang, William Brandon Blazer, Blake Carlton Farmer, Thomas A. Langan, Andrew Thomas Rich, Ashley C. Speicher
  • Patent number: 8793303
    Abstract: A media server in a home entertainment network coordinates with a media receiver connected with the network to provide a media representation with a combined user interface on an attached display device. The media server receives compositing information from the media receiver over the network regarding the placemement of UI components generated by the media receiver. In response, the media server may adjust the positioning of graphics, media control information, metadata, media presentation windows, and other UI components for presentation by the media receiver such that the UI components generated by the media server do not interfere with the UI generated by the media receiver when rendered to the display device. Alternately, the media receiver may adjust the position of UI components such that the UI components generated by the media receiver do not interfere with the UI generated by the media server upon presentation.
    Type: Grant
    Filed: June 29, 2006
    Date of Patent: July 29, 2014
    Assignee: Microsoft Corporation
    Inventors: Ashley C. Speicher, Nicholas J. Fang, Todd Bowra
  • Patent number: 8380864
    Abstract: Transrate/transcode functionality of media processing units in devices distributed within a networked media system are harnessed to enable media streaming to devices across networks while overcoming insufficient bandwidth to transmit the source content or while providing reformatted media to devices that do not support the source format. A policy engine may reallocate media processing resources for greater efficiency. The policy engine may further schedule time-slicing of media segments in available hardware and software-based codecs. Time-slicing may be used to transformatively process one or more media streams across potentially multiple media processing units connected within a network. The media streams are divided into independently processable segments based upon knowledge of underlying media formats. Processing requirements and a priority processing order may be determined for and assigned to each independently processable segment.
    Type: Grant
    Filed: December 27, 2006
    Date of Patent: February 19, 2013
    Assignee: Microsoft Corporation
    Inventors: Todd Bowra, Ashley C. Speicher, Nicholas J. Fang
  • Patent number: 8352544
    Abstract: A media server in a home entertainment network coordinates with a media player connected with the network to provide a media presentation with a combined user interface (UI) on an attached display device. Media content is sourced locally on a networked media player. The media player extracts metadata related to the media content and transmits the metadata to the media server. The media server creates the UI to include components related to the media content rendered by the media player. The media server then transmits the UI to the media player for combination with the rendered media content for a composite output to a presentation device. The media server may further develop and transmit compositing instructions and additional media content to the media player for inclusion in the composite output.
    Type: Grant
    Filed: November 29, 2010
    Date of Patent: January 8, 2013
    Assignee: Microsoft Corporation
    Inventors: Nicholas J. Fang, Todd Bowra, Ashley C. Speicher
  • Patent number: 8081756
    Abstract: A technique wherein a first electronic device, such as a server, provides to a second electronic device, such as a client device, a first portion of a digital-content stream. The first electronic device receives an identifier of a protection policy to be applied to the digital-content stream. The first electronic device provides to the second electronic device a data set that includes the policy and a key. In an embodiment, the data set is provided concurrently with providing the digital-content stream to the second electronic device. The first electronic device provides to the second electronic device a second portion of the digital-content stream that is encrypted using the key.
    Type: Grant
    Filed: September 26, 2005
    Date of Patent: December 20, 2011
    Assignee: Microsoft Corporation
    Inventor: Nicholas J. Fang
  • Patent number: 8082507
    Abstract: The scaling of a user interface according to network or device limitations is disclosed. One embodiment provides a method of scaling a user interface, comprising sending a user interface over a network to a networked device, detecting a performance limitation of the user interface in at least one of the network or the networked device, and scaling a parameter of the user interface in response to the detected limitation to improve the performance of the user interface. In this manner, a user interface may be scaled in response to limitations on performance and end-user experience can be improved.
    Type: Grant
    Filed: June 12, 2007
    Date of Patent: December 20, 2011
    Assignee: Microsoft Corporation
    Inventors: Ashley C Speicher, Todd Bowra, Nicholas J Fang, Sudhakar V Prabhu
  • Patent number: 8069260
    Abstract: Improved responsiveness and reduced latency of media playback on a media player is achieved by dynamic adjustment of storage parameters for the jitter buffer in the media player. Decreasing the size of the jitter buffer to a smaller constant value may provide acceptable, starvation-free playback in many cases. Playback of more demanding files requiring more buffered data for decode are addressed by dynamic adjustment of the jitter buffer parameters. An algorithmic or heuristic process is used to dynamically set the size of the jitter buffer before and during media playback. The jitter buffer size and/or preroll duration may be adjusted based upon the quality of playback experience. If playback starves, the jitter buffer size, starvation threshold, and/or preroll duration is increased before rebuffering and resuming playback.
    Type: Grant
    Filed: January 12, 2007
    Date of Patent: November 29, 2011
    Assignee: Microsoft Corporation
    Inventors: Ashley C. Speicher, Nicholas J. Fang, Todd Z. Bowra
  • Publication number: 20110072081
    Abstract: A media server in a home entertainment network coordinates with a media player connected with the network to provide a media presentation with a combined user interface (UI) on an attached display device. Media content is sourced locally on a networked media player. The media player extracts metadata related to the media content and transmits the metadata to the media server. The media server creates the UI to include components related to the media content rendered by the media player. The media server then transmits the UI to the media player for combination with the rendered media content for a composite output to a presentation device. The media server may further develop and transmit compositing instructions and additional media content to the media player for inclusion in the composite output.
    Type: Application
    Filed: November 29, 2010
    Publication date: March 24, 2011
    Applicant: MICROSOFT CORPORATION
    Inventors: Nicholas J. Fang, Todd Bowra, Ashley C. Speicher
  • Patent number: 7890985
    Abstract: A media server in a home entertainment network allows a media rendering device to act as a digital media receiver. The media server enables trick mode functions such as scan forward or reverse, slow motion, pause, and seek on rendering devices with capabilities limited to 1× playback. The media server receives commands from user input at the rendering device transmitted over the network to the media server. The media server manipulates the media stream before transmission over the network by deleting or adding frames to the media stream as necessary to emulate the desired playback functions and replacing frame timestamps to create a media stream that appears to the media rendering device as a sequential 1× stream. The transmitted media stream may not contain all of the media content stored in the corresponding media file on the media server, thus avoiding limitations on the download bandwidth and local client storage.
    Type: Grant
    Filed: May 22, 2006
    Date of Patent: February 15, 2011
    Assignee: Microsoft Corporation
    Inventors: Todd Bowra, Ashley C. Speicher, Nicholas J. Fang
  • Patent number: 7844661
    Abstract: A media server in a home entertainment network coordinates with a media player connected with the network to provide a media presentation with a combined user interface (UI) on an attached display device. Media content is sourced locally on a networked media player. The media player extracts metadata related to the media content and transmits the metadata to the media server. The media server creates the UI to include components related to the media content rendered by the media player. The media server then transmits the UI to the media player for combination with the rendered media content for a composite output to a presentation device. The media server may further develop and transmit compositing instructions and additional media content to the media player for inclusion in the composite output.
    Type: Grant
    Filed: June 15, 2006
    Date of Patent: November 30, 2010
    Assignee: Microsoft Corporation
    Inventors: Nicholas J. Fang, Todd Bowra, Ashley C. Speicher
  • Patent number: 7802006
    Abstract: The multi-location buffering of streaming media data is disclosed. One embodiment comprises buffering a first segment of media data associated with a current playback location, and buffering a second segment of media data associated with a seek point separated from the first segment of media data by a segment of unbuffered data. In this manner, data at seek points in the media stream may be buffered before a user requests a seek operation. Playback at a seek point may therefore begin with lessened or no perceived lag when a user inputs a seek command.
    Type: Grant
    Filed: June 13, 2007
    Date of Patent: September 21, 2010
    Assignee: Microsoft Corporation
    Inventors: Todd Bowra, Ashley C Speicher, Nicholas J Fang, Sudhakar V Prabhu, David M Davis
  • Patent number: 7693280
    Abstract: A sequence of content keys are shared between a receiver of pieces of digital content and a computing device upon which the content is to be rendered. The receiver encrypts each piece of content according to a corresponding content key in the sequence and forwards the encrypted content to the computing device and the computing device decrypts the encrypted content according to the corresponding content key. The receiver initially transmits to the computing device an initialization digital license with an initial content key (CK0) therein. Each of the receiver and the computing device derive a new content key (CKx) in the sequence from the initial content key (CK(0)) in the sequence on an as-needed basis and in a coordinated fashion. The initialization license is required only once for the sequence of content keys, and the receiver need not explicitly communicate (CKx) to the computing device for each piece of content.
    Type: Grant
    Filed: April 22, 2005
    Date of Patent: April 6, 2010
    Assignee: Microsoft Corporation
    Inventors: Brian P. Evans, Clifford P. Strom, Daniel Rosenstein, Anand D. Paka, Nicholas J. Fang, Eduardo Oliveria
  • Patent number: 7558760
    Abstract: The real-time generation of key frames in a media data stream is disclosed. One embodiment provides a method of processing encoded media data comprising receiving a request to play back the encoded media data from a media receiver, generating one or more key frames from the encoded media data, and sending the generated key frame or key frames to the media receiver. The key frames are generated by decoding the media data, and then encoding the key frames from the decoded media data. In this manner, a frequency of key frames in a media data stream may be increased to improve trick mode and 1× playback.
    Type: Grant
    Filed: June 12, 2007
    Date of Patent: July 7, 2009
    Assignee: Microsoft Corporation
    Inventors: Nicholas J Fang, Ashley C Speicher, Todd Bowra, Sudhakar V Prabhu
  • Publication number: 20080313555
    Abstract: The scaling of a user interface according to network or device limitations is disclosed. One embodiment provides a method of scaling a user interface, comprising sending a user interface over a network to a networked device, detecting a performance limitation of the user interface in at least one of the network or the networked device, and scaling a parameter of the user interface in response to the detected limitation to improve the performance of the user interface. In this manner, a user interface may be scaled in response to limitations on performance and end-user experience can be improved.
    Type: Application
    Filed: June 12, 2007
    Publication date: December 18, 2008
    Applicant: MICROSOFT CORPORATION
    Inventors: Ashley C. Speicher, Todd Bowra, Nicholas J. Fang, Sudhakar V. Prabhu
  • Publication number: 20080310496
    Abstract: The real-time generation of key frames in a media data stream is disclosed. One embodiment provides a method of processing encoded media data comprising receiving a request to play back the encoded media data from a media receiver, generating one or more key frames from the encoded media data, and sending the generated key frame or key frames to the media receiver. The key frames are generated by decoding the media data, and then encoding the key frames from the decoded media data. In this manner, a frequency of key frames in a media data stream may be increased to improve trick mode and 1× playback.
    Type: Application
    Filed: June 12, 2007
    Publication date: December 18, 2008
    Applicant: MICROSOFT CORPORATION
    Inventors: Nicholas J. Fang, Ashley C. Speicher, Todd Bowra, Sudhakar V. Prabhu
  • Publication number: 20080310825
    Abstract: The recording of digital media according to one or more of playback device capabilities, network performance and user preference is disclosed. One embodiment provides a method for recording digital video comprising determining a first set of capabilities of a first networked playback device, receiving media in at least one of a first format and a first bit rate, and recording the media in at least one of a second format and a second bit rate according to the first set of capabilities. In this manner, playback considerations may be incorporated while the digital media is recorded, thus improving the playback of the digital media at a later time.
    Type: Application
    Filed: June 12, 2007
    Publication date: December 18, 2008
    Applicant: MICROSOFT CORPORATION
    Inventors: Nicholas J. Fang, Ashley C. Speicher, Todd Bowra, Sudhakar V. Prabhu
  • Publication number: 20080310814
    Abstract: The multi-location buffering of streaming media data is disclosed. One embodiment comprises buffering a first segment of media data associated with a current playback location, and buffering a second segment of media data associated with a seek point separated from the first segment of media data by a segment of unbuffered data. In this manner, data at seek points in the media stream may be buffered before a user requests a seek operation. Playback at a seek point may therefore begin with lessened or no perceived lag when a user inputs a seek command.
    Type: Application
    Filed: June 13, 2007
    Publication date: December 18, 2008
    Applicant: MICROSOFT CORPORATION
    Inventors: Todd Bowra, Ashley C. Speicher, Nicholas J. Fang, Sudhakar V. Prabhu, David M. Davis
  • Publication number: 20080205389
    Abstract: A host computer manages and processes multiple requests for transmission of media content to other devices within a network. Hardware or software-driven media processing units format media content for streaming to the network devices. A policy engine manages processing constraints of the media processing units to determine the best combination of transrate/transcode processes to provide the highest quality transmissions without overloading the processing capacity of the host computer. The policy engine also considers available network bandwidth when determining transformation instructions for the media processing units. The policy engine identifies target formats, bit rates, and image resolutions for output for each media stream or for storage for later transmission and instructs the media processing units to transrate and/or transcode the media content appropriately to meet the demand.
    Type: Application
    Filed: February 26, 2007
    Publication date: August 28, 2008
    Applicant: Microsoft Corporation
    Inventors: Nicholas J. Fang, Todd Z. Bowra, Ashley C. Speicher