Patents by Inventor Michael Hamilton Coward

Michael Hamilton Coward 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: 10237608
    Abstract: Systems, methods, and non-transitory computer-readable media can generate a first set of fingerprints that correspond to at least one media stream of a content item. A second set of fingerprints that correspond to at least one media stream of an encoded version of the content item are generated. A first curve is generated based at least in part on the first set of fingerprints. A second curve is generated based at least in part on the second set of fingerprints. A determination is made whether the encoded version of the content item is synchronized based at least in part on the first curve and the second curve.
    Type: Grant
    Filed: September 13, 2016
    Date of Patent: March 19, 2019
    Assignee: Facebook, Inc.
    Inventors: Amit Puntambekar, Michael Hamilton Coward
  • Patent number: 10063872
    Abstract: A distributed video encoding system splits an input video into video segments. The video segments are encoded using multiple video encoding nodes. Prior to the process of splitting the sequence into video segments, the video is analyzed to generate a dependency map. Intelligent segmentation is performed using the dependency map so that each video segment includes all the video frames from which other video frames within that segment have been encoded in the input video. For example, picture headers are inspected to determine the temporal distance of the farthest past and future reference frames used for encoding frames of a video.
    Type: Grant
    Filed: September 11, 2015
    Date of Patent: August 28, 2018
    Assignee: Facebook, Inc.
    Inventors: Michael Hamilton Coward, Amit Puntambekar, Thomas George
  • Publication number: 20180190327
    Abstract: Systems, methods, and non-transitory computer-readable media can present one or more base segments of a first stream of a content item in a viewport interface, the content item being composed using a set of streams that each capture at least one scene from a particular direction, wherein the viewport interface is provided through a display screen of the computing device. A determination is made that a direction of the viewport interface has changed to a different direction during playback of a first base segment of the first stream. One or more offset segments of a second stream that correspond to the different direction are presented in the viewport interface, the offset segments being offset from the set of base segments of the first stream.
    Type: Application
    Filed: December 30, 2016
    Publication date: July 5, 2018
    Inventors: Michael Hamilton Coward, Amit Puntambekar, David Young Joon Pio, Evgeny V. Kuzyakov
  • Publication number: 20180191801
    Abstract: An online system more efficiently streams multimedia content over the Internet for play back on client devices with varying computing power and network bandwidths by generating enhanced manifest files that more efficiently identify suitable media representations of the multimedia content. Each media representation has multiple media segments according to predefined byte ranges and a manifest file, which identifies location of the media file, bitrates, resolution, byte range, total duration, and other metadata. The online system customizes a manifest file for a user based on various factors including device capacity, network connectivity type and geolocation of the user. The online system also generates manifest fetch commands, which more efficiently fetch media segments for streaming. In response to changes of streaming server and media file (e.g., increased popularity), the online system dynamically updates corresponding manifest files.
    Type: Application
    Filed: December 30, 2016
    Publication date: July 5, 2018
    Inventors: Minchuan Chen, Amit Puntambekar, Michael Hamilton Coward
  • Publication number: 20180191799
    Abstract: An online system more efficiently streams multimedia content over the Internet for play back on client devices with varying computing power and network bandwidths by generating enhanced manifest files that more efficiently identify suitable media representations of the multimedia content. Each media representation has multiple media segments according to predefined byte ranges and a manifest file, which identifies location of the media file, bitrates, resolution, byte range, total duration, and other metadata. The online system customizes a manifest file for a user based on various factors including device capacity, network connectivity type and geolocation of the user. The online system also generates manifest fetch commands, which more efficiently fetch media segments for streaming. In response to changes of streaming server and media file (e.g., increased popularity), the online system dynamically updates corresponding manifest files.
    Type: Application
    Filed: December 30, 2016
    Publication date: July 5, 2018
    Inventors: Minchuan Chen, Amit Puntambekar, Michael Hamilton Coward
  • Publication number: 20180191586
    Abstract: An online system more efficiently streams multimedia content over the Internet for play back on client devices with varying computing power and network bandwidths by generating enhanced manifest files that more efficiently identify suitable media representations of the multimedia content. Each media representation has multiple media segments according to predefined byte ranges and a manifest file, which identifies location of the media file, bitrates, resolution, byte range, total duration, and other metadata. The online system customizes a manifest file for a user based on various factors including device capacity, network connectivity type and geolocation of the user. The online system also generates manifest fetch commands, which more efficiently fetch media segments for streaming. In response to changes of streaming server and media file (e.g., increased popularity), the online system dynamically updates corresponding manifest files.
    Type: Application
    Filed: December 30, 2016
    Publication date: July 5, 2018
    Inventors: Minchuan Chen, Amit Puntambekar, Michael Hamilton Coward
  • Publication number: 20180191587
    Abstract: An online system more efficiently streams multimedia content over the Internet for play back on client devices with varying computing power and network bandwidths by generating enhanced manifest files that more efficiently identify suitable media representations of the multimedia content. Each media representation has multiple media segments according to predefined byte ranges and a manifest file, which identifies location of the media file, bitrates, resolution, byte range, total duration, and other metadata. The online system customizes a manifest file for a user based on various factors including device capacity, network connectivity type and geolocation of the user. The online system also generates manifest fetch commands, which more efficiently fetch media segments for streaming. In response to changes of streaming server and media file (e.g., increased popularity), the online system dynamically updates corresponding manifest files.
    Type: Application
    Filed: December 30, 2016
    Publication date: July 5, 2018
    Inventors: Minchuan Chen, Amit Puntambekar, Michael Hamilton Coward
  • Publication number: 20180183845
    Abstract: Systems, methods, and non-transitory computer-readable media can determine that a content item is being accessed by a computing device, the content item being associated with a set of streams that are each encoded at a different bit rate, each stream in the set of streams having been partitioned into at least a first set of segments and a second set of segments that span the entirety of the stream. A segment from a first set of segments of a first stream in the set of streams is provided to the computing device. One or more segments from a second set of segments of the first stream are provided to the computing device.
    Type: Application
    Filed: December 22, 2016
    Publication date: June 28, 2018
    Inventors: Michael Hamilton Coward, Amit Puntambekar
  • Publication number: 20180176276
    Abstract: In one embodiment, a computer server machine generates a time map associated with the video stream. The video stream comprises one or more time slices. The computer server machine identifies a non-relevant time frame. The computer machine receives a comment and a localized comment time stamp, and associates the comment with one or more time slices. One or more client devices communicates a request for one or more time slices to the computer server machine, and the computer server machine determines whether the localized comment time stamp is within the requested one or more time slices. When the localized comment time stamp is within the requested one or more time slices, computer server machine transforms the localized time stamp to a synchronized comment time stamp. Computer server machine sends information regarding the synchronized comment time stamp to the one or more client devices.
    Type: Application
    Filed: December 19, 2016
    Publication date: June 21, 2018
    Inventors: Sonal Gandhi, Sabyasachi Roy, Amit Puntambekar, Michael Hamilton Coward, Mathieu R. Henaire
  • Publication number: 20180077445
    Abstract: Systems, methods, and non-transitory computer-readable media can generate a first set of fingerprints that correspond to at least one media stream of a content item. A second set of fingerprints that correspond to at least one media stream of an encoded version of the content item are generated. A first curve is generated based at least in part on the first set of fingerprints. A second curve is generated based at least in part on the second set of fingerprints. A determination is made whether the encoded version of the content item is synchronized based at least in part on the first curve and the second curve.
    Type: Application
    Filed: September 13, 2016
    Publication date: March 15, 2018
    Inventors: Amit Puntambekar, Michael Hamilton Coward
  • Publication number: 20180007269
    Abstract: A neural network learning algorithm obtains a fingerprint of a video sequence. Using the fingerprint, selection of an appropriate video stabilization algorithm, and its parameter settings, is performed. The video thus stabilized is made more appealing for viewing and easier for subsequent video compression. The neural network may be trained during a training phase to select a correct fingerprint of each video sequence based on the effectiveness of resulting video stabilization and/or compression.
    Type: Application
    Filed: December 30, 2016
    Publication date: January 4, 2018
    Inventors: Melanie Sclar, Amit Puntambekar, Michael Hamilton Coward, Wurzel David Parsons-Keir
  • Publication number: 20180007381
    Abstract: Video foreground and background detection is performed on a received video sequence on a macroblock by macroblock basis using motion vector encoding information associated with each macroblock. Some of the macroblocks in each frame, for example, edge or corner macroblocks, may be exempt from the foreground and background detection. The detection information, along with the video data, is passed to an image stabilization algorithm that prepares the video for subsequent video compression.
    Type: Application
    Filed: December 30, 2016
    Publication date: January 4, 2018
    Inventors: Melanie Sclar, Amit Puntambekar, Michael Hamilton Coward, Wurzel David Parsons-Keir
  • Publication number: 20170366854
    Abstract: Systems, methods, and non-transitory computer-readable media can determine a broadcaster request to determine information for conducting a content broadcast through the computing system. One or more parameters for the broadcast can be determined using a machine learning model that has been trained to predict the one or more parameters based at least in part on data describing previously conducted broadcasts. Information that describes at least the one or more parameters is provided to the broadcaster.
    Type: Application
    Filed: August 15, 2016
    Publication date: December 21, 2017
    Inventors: Amit Puntambekar, Michael Hamilton Coward, Maher Afif Saba
  • Publication number: 20170366592
    Abstract: Systems, methods, and non-transitory computer-readable media can determine a broadcaster request to determine information for conducting a content broadcast through the computing system. One or more parameters for the broadcast can be determined using a machine learning model that has been trained to predict the one or more parameters based at least in part on data describing previously conducted broadcasts. Information that describes at least the one or more parameters is provided to the broadcaster.
    Type: Application
    Filed: August 15, 2016
    Publication date: December 21, 2017
    Inventors: Amit Puntambekar, Michael Hamilton Coward, Maher Afif Saba
  • Publication number: 20170078686
    Abstract: Various of the disclosed embodiments relate to multiple video encoders that are used to simultaneously encode a video using encoders configured using different encoding parameters. A segment selector selects an encoded version of the encoded video segment using operational criteria such as video quality and bandwidth. A configuration determination module may analyze the video segment to make a decision about which encoding parameter configurations may be suitable for encoding the video segment. The configuration determination module may be trainable, based on past encoding results.
    Type: Application
    Filed: September 11, 2015
    Publication date: March 16, 2017
    Inventors: Michael Hamilton Coward, Amit Puntambekar, Wurzel David Parsons-Keir
  • Publication number: 20170078574
    Abstract: In a distributed video encoding system, a video is encoded by splitting into video segments and encoding the segments using multiple encoders. Prior to segmenting the video for distributed video encoding, image stabilization is performed on the video. For each frame in the video, a corresponding transform operation is first computed based on an estimated camera movement. Next, the video is segmented into multiple video segments and the corresponding per-frame transform information for the multiple video segments. The video segments are then distributed to multiple processing nodes that perform the image stabilization of the corresponding video segment by applying the corresponding transform. The results from all the stabilized video segments are then stitched back together for further video encoding operation.
    Type: Application
    Filed: September 11, 2015
    Publication date: March 16, 2017
    Inventors: Amit Puntambekar, Michael Hamilton Coward
  • Publication number: 20170078671
    Abstract: Video is transmitted from a user device to a server in the network by minimizing the amount of time it takes to upload the video from the user device to the server while being encoded from a first video encoding format in which the video is stored at the user device to a second video encoding format specified by a user and/or by the server. Operational conditions such as fullness of a transmission buffer at the user device and the target quality of encoded video are used to control the video encoding operation.
    Type: Application
    Filed: September 11, 2015
    Publication date: March 16, 2017
    Inventors: Michael Hamilton Coward, Amit Puntambekar
  • Publication number: 20170078687
    Abstract: A distributed video encoding system splits an input video into video segments. The video segments are encoded using multiple video encoding nodes. Prior to the process of splitting the sequence into video segments, the video is analyzed to generate a dependency map. Intelligent segmentation is performed using the dependency map so that each video segment includes all the video frames from which other video frames within that segment have been encoded in the input video. For example, picture headers are inspected to determine the temporal distance of the farthest past and future reference frames used for encoding frames of a video.
    Type: Application
    Filed: September 11, 2015
    Publication date: March 16, 2017
    Inventors: Michael Hamilton Coward, Amit Puntambekar, Thomas George
  • Publication number: 20170078376
    Abstract: Various of the disclosed embodiments relate to a distributed video encoding or transcoding system may utilize multiple encoding nodes to encode a video sequence by splitting the video into multiple smaller video segments. The assignment of video segments to the encoding nodes is performed to balance the use of the encoding nodes by selecting a node based on its encoding capabilities, e.g., whether the node employed a central processing unit (CPU) based encoding or a graphics processor unit (GPU) based encoding.
    Type: Application
    Filed: September 11, 2015
    Publication date: March 16, 2017
    Inventors: Michael Hamilton Coward, Amit Puntambekar
  • Publication number: 20170078676
    Abstract: A method and system for allocating a variable number of bits per frame in a distributed video encoding using a complexity analyzer is disclosed. The method includes receiving an input video for allocating the number of bits for each segment based on the complexity of the segment. Further, the method includes splitting the input video into plurality of segments. Further, the method includes determining the number of bits to be allocated to the plurality of segments based on the complexity measurement of the input video. In an embodiment, single complexity analyzer can be used to determine the complexity of the plurality of segments. In another embodiment, separate complexity analyzer can be used for each segment to determine the complexity. Further, the method includes allocating the bits to the plurality of segments of the input video. Further, the method includes combining the plurality of segments to form a single output video; thereby, obtaining the encoded output video.
    Type: Application
    Filed: September 11, 2015
    Publication date: March 16, 2017
    Inventors: Michael Hamilton Coward, Amit Puntambekar