Apparatus and Method for Efficient Identification of Code Similarity
US-2016127398-A1 · May 5, 2016 · US
US10939162B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-10939162-B2 |
| Application number | US-201915929193-A |
| Country | US |
| Kind code | B2 |
| Filing date | Dec 19, 2019 |
| Priority date | Feb 29, 2016 |
| Publication date | Mar 2, 2021 |
| Grant date | Mar 2, 2021 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
A computing system will compare various reference fingerprints each representing a reference media stream broadcast on a different respective known channel, and the computing system will determine that a plurality of the reference fingerprints match each other, thus defining a multi-match group of the matching reference fingerprints. Further, the computing system will determine that a query fingerprint representing a media stream being rendered by a media presentation device matches the multi-match group, thus raising a question of which channel is carrying the media stream that is being rendered by the media presentation device. By considering one or more attributes of the query fingerprint, the server may then disambiguate and thereby determine the channel at issue, and the server may in turn take channel-specific action.
Opening claim text (preview).
What is claimed is: 1. A method comprising: determining, based on a comparison of reference fingerprints with each other, that a plurality of the reference fingerprints match each other, the plurality of reference fingerprints defining a multi-match group, wherein each reference fingerprint represents a respective reference media stream carried by a respective known channel of media content, so that the multi-match group of the plurality of reference fingerprints corresponds with multiple channels of media content; upon determining that the plurality of reference fingerprints match each other, flagging at least a given one of the reference fingerprints of the plurality as being a member of the multi-match group, wherein flagging the given reference fingerprint as being a member of the multi-match group comprises associating the given reference fingerprint with the multiple channels; detecting that a query fingerprint representing a media stream being rendered by a media presentation device matches the given reference fingerprint; based on having detected that the query fingerprint matches the given reference fingerprint of the plurality, and based on having flagged the given reference fingerprint as being a member of the multi-match group, determining that the query fingerprint matches each reference fingerprint of the plurality; responsive to the determining that the query fingerprint matches each reference fingerprint of the plurality, using one or more attributes of the query fingerprint as a basis to identify a reference fingerprint of the plurality that best matches the query fingerprint; and determining, based on the identified reference fingerprint, what channel carries the media stream being rendered by the media presentation device, wherein determining what channel carries the media stream being rendered by the media presentation device comprises determining, as the channel that carries the media stream being rendered by the media presentation device, the channel on which the reference media stream represented by the identified reference fingerprint is carried. 2. The method of claim 1 , further comprising taking action based on the determining what channel carries the media stream being rendered by the media presentation device. 3. The method of claim 2 , wherein taking action comprises replacing a portion of the media content with alternative content. 4. The method of claim 3 , wherein the alternative content comprises a replacement advertisement. 5. The method of claim 1 , further comprising obtaining by the computing system the reference fingerprints, wherein obtaining the reference fingerprints comprises receiving the reference fingerprints from media-receiver devices, and wherein the media-receiver devices receive the reference media streams on their respective channels and generate and provide the reference fingerprints representing the received reference media streams. 6. The method of claim 1 , further comprising obtaining by the computing system the reference fingerprints, wherein obtaining the reference fingerprints comprises receiving the reference media streams and generating the reference fingerprints based on the received reference media streams. 7. The method of claim 1 , wherein the computing system is an entity other than the media presentation device, and wherein the query fingerprint is generated by the media presentation device, the method further comprising: receiving by the computing system, from the media presentation device, the query fingerprint. 8. The method of claim 1 , wherein each reference media stream and the media stream being rendered by the media presentation device comprises content selected from the group consisting of video content and audio content. 9. A computing system comprising: a network communication interface; a processing unit; non-transitory data storage; and program instructions stored in the data storage and executable by the processing unit to carry out operations including: determining, based on a comparison of reference fingerprints with each other, that a plurality of the reference fingerprints match each other, the plurality of reference fingerprints defining a multi-match group, wherein each reference fingerprint represents a respective reference media stream carried by a respective known channel of media content, so that the multi-match group of the plurality of reference fingerprints corresponds with multiple channels of media content, upon determining that the plurality of reference fingerprints match each other, flagging at least a given one of the reference fingerprints of the plurality as being a member of the multi-match group, wherein flagging the given reference fingerprint as being a member of the multi-match group comprises associating the given reference fingerprint with the multiple channels, detecting that a query fingerprint representing a media stream being rendered by a media presentation device matches the given reference fingerprint, based on having detected that the query fingerprint matches the given reference fingerprint of the plurality, and based on having flagged the given reference fingerprint as being a member of the multi-match group, determining that the query fingerprint matches each reference fingerprint of the plurality, responsive to the determining that the query fingerprint matches each reference fingerprint of the plurality, using one or more attributes of the query fingerprint as a basis to identify a reference fingerprint of the plurality that best matches the query fingerprint, and determining, based on the identified reference fingerprint, what channel carries the media stream being rendered by the media presentation device, wherein determining what channel carries the media stream being rendered by the media presentation device comprises determining, as the channel that carries the media stream being rendered by the media presentation device, the channel on which the reference media stream represented by the identified reference fingerprint is carried. 10. The computing system of claim 9 , wherein the operations further comprise taking action based on the determining of what channel carries the media stream being rendered by the media presentation device. 11. The computing system of claim 10 , wherein the action comprises causing a portion of the media content to be replaced with alternative content. 12. The computing system of claim 11 , wherein the alternative content comprises a replacement advertisement. 13. The computing system of claim 9 , wherein the operations further include obtaining the reference fingerprints, wherein obtaining the reference fingerprints comprises receiving the reference fingerprints via the network communication interface from media-receiver devices, and wherein the media-receiver devices receive the reference media streams on their respective channels and generate and provide the reference fingerprints representing the received reference media streams. 14. The computing system of claim 9 , wherein the operations further include obtaining the reference fingerprints, and wherein obtaining the reference fingerprints comprises receiving the reference media streams and generating the reference fingerprints based on the received reference media streams. 15. The computing system of claim 9 , wherein the computing system is an entity other than the media presentation device, wherein the query fingerprint is generated by the media presentation device, and wherein the operations further include: receiving via the network communication interface, from the media presentation device, the
Analytics of user selections, e.g. selection of programmes or purchase activity (monitoring of user selections in data processing systems G06F11/34; arrangements for monitoring the user's behaviour or opinions in broadcast systems H04H60/33) · CPC title
Accessing a communication channel · CPC title
Monitoring of content usage, e.g. the number of times a movie has been viewed, copied or the amount which has been watched (monitoring of user activities for profile generation for accessing a video database G06F16/739; protecting generic digital content where the protection is independent of the precise nature of the content G06F21/10; arrangements for monitoring the use made of the broadcast services in broadcast systems H04H60/31) · CPC title
for forcing some client operations, e.g. recording {(remote booting in general G06F9/4416)} · CPC title
Multiplexing of additional data and video streams (arrangements for simultaneous broadcast of plural pieces of information H04H20/28) · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.