Generating a stitched data stream
First Claim
1. A method comprising:
- receiving, at a server computer, a plurality of messages from a plurality of user computing devices, each message of the plurality of messages comprising a data stream;
determining, by the server computer, a subset of messages of the plurality of messages associated with a similar geolocation and time period;
extracting, by the server computer, an audio fingerprint for each message in the subset of messages;
grouping, by the server computer, the subset of messages into a plurality of pairs of messages, each pair of messages comprising a first message and a second message;
comparing, by the server computer, audio fingerprints of the first message and the second message in each pair of messages to determine a match score for each pair of messages;
determining, by the server computer, a set of messages of the subset of messages associated with a common audio timeline based on the match score for each pair of messages;
generating, by the server computer, a stitched data stream from the data streams of each message of the set of messages by performing operations comprising;
determining, for each message, a time period corresponding to the common audio timeline;
determining, a start message for the stitched data stream based on a message with a time period occurring first in the common audio timeline; and
stitching together, by the server computer, the set of messages starting with the start message to generate the stitched data stream from the data streams for each message of the set of messages based on the time period for each message, wherein the stitched data stream comprises messages with data streams that overlap in time periods such that there is more than one data stream for at least one time period in the stitched data stream; and
providing, by the server computer, the stitched data stream to one or more user computing devices, to be displayed on the one or more computing devices as a continuous data stream that transitions from one message data stream to a next message data stream to a continuous common audio stream.
1 Assignment
0 Petitions
Accused Products
Abstract
Systems and methods provide for a server computer to receive a plurality of messages from a plurality of user computing devices, each message of the plurality of messages comprising a data stream, determine a subset of messages of the plurality of messages associated with a similar geolocation and time period, determine a set of messages of the subset of messages based on a match score for each pair of messages, and stitch together the set of messages to generate a stitched data stream from the data streams for each message of the set of messages based on a time period for each message, wherein the stitched data stream comprises messages with data streams that overlap in time periods such that there may be more than one data stream for a given time period.
340 Citations
20 Claims
-
1. A method comprising:
-
receiving, at a server computer, a plurality of messages from a plurality of user computing devices, each message of the plurality of messages comprising a data stream; determining, by the server computer, a subset of messages of the plurality of messages associated with a similar geolocation and time period; extracting, by the server computer, an audio fingerprint for each message in the subset of messages; grouping, by the server computer, the subset of messages into a plurality of pairs of messages, each pair of messages comprising a first message and a second message; comparing, by the server computer, audio fingerprints of the first message and the second message in each pair of messages to determine a match score for each pair of messages; determining, by the server computer, a set of messages of the subset of messages associated with a common audio timeline based on the match score for each pair of messages; generating, by the server computer, a stitched data stream from the data streams of each message of the set of messages by performing operations comprising; determining, for each message, a time period corresponding to the common audio timeline; determining, a start message for the stitched data stream based on a message with a time period occurring first in the common audio timeline; and stitching together, by the server computer, the set of messages starting with the start message to generate the stitched data stream from the data streams for each message of the set of messages based on the time period for each message, wherein the stitched data stream comprises messages with data streams that overlap in time periods such that there is more than one data stream for at least one time period in the stitched data stream; and providing, by the server computer, the stitched data stream to one or more user computing devices, to be displayed on the one or more computing devices as a continuous data stream that transitions from one message data stream to a next message data stream to a continuous common audio stream. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A server computer comprising:
-
a processor; and a computer readable medium coupled with the processor, the computer readable medium comprising instructions stored thereon that are executable by the processor to cause a computing device to perform operations comprising; receiving a plurality of messages from a plurality of user computing devices, each message of the plurality of messages comprising a data stream; determining a subset of messages of the plurality of messages associated with a similar geolocation and time period; extracting an audio fingerprint for each message in the subset of messages; grouping the subset of messages into a plurality of pairs of messages, each pair of messages comprising a first message and a second message; comparing audio fingerprints of the first message and the second message in each pair of messages to determine a match score for each pair of messages; determining a set of messages of the subset of messages associated with a common audio timeline based on the match score for each pair of messages; generating a stitched data stream from the data streams of each message of the set of messages by performing operations comprising; determining for each message, a time period corresponding to the common audio timeline; determining, a start message for the stitched data stream based on a message with a time period occurring first in the common audio timeline; and stitching together the set of messages starting with the start message to generate the stitched data stream from the data streams for each message of the set of messages based on the time period for each message, wherein the stitched data stream comprises messages with data streams that overlap in time periods such that there is more than one data stream for at least one time period in the stitched data stream; and providing the stitched data stream to one or more user computing devices, to be displayed on the one or more computing devices as a continuous data stream that transitions from one message data stream to a next message data stream to a continuous common audio stream. - View Dependent Claims (12, 13, 14, 15, 16, 17)
-
-
18. A non-transitory computer readable medium comprising instructions stored thereon that are executable by at least one processor to cause a computing device to perform operations comprising:
-
receiving a plurality of messages from a plurality of user computing devices, each message of the plurality of messages comprising a data stream; determining a subset of messages of the plurality of messages associated with a similar geolocation and time period; extracting an audio fingerprint for each message in the subset of messages; grouping the subset of messages into a plurality of pairs of messages, each pair of messages comprising a first message and a second message; comparing audio fingerprints of the first message and the second message in each pair of messages to determine a match score for each pair of messages; determining a set of messages of the subset of messages associated with a con on audio timeline based on the match score for each pair of messages; generating a stitched data stream from the data streams of each message of the set of messages by performing operations comprising; determining, for each message, a time period corresponding to the common timeline; determining, a start message for the stitched data stream based on a message with a time period occurring first in the common audio timeline; and stitching together the set of messages starting with the start message to generate the stitched data stream from the data streams for each message of the set of messages based on the time period for each message, wherein the stitched data stream comprises messages with data streams that overlap in time periods such that there is more than one data stream for at least one time period in the stitched data stream; and providing the stitched data stream to one or more user computing devices, to be displayed on the one or more computing devices as a continuous data stream that transitions from one message data stream to a next message data stream to a continuous common audio stream. - View Dependent Claims (19, 20)
-
Specification