IP Library Granted Patent US 12,278,856
Granted Patent B1
US 12,278,856 · App. 18/584,775 · Granted Apr 15, 2025

Validating media data based on encoded metadata

Inventors: Jason Lealand Crawforth (Boise, ID); Michael Robert Blood (Boise, ID)
Assignee: SWEAR Inc.
H04L65/75G06F21/602H04L9/0643G06F21/1066H04L9/50H04L67/10H04L2209/16
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,278,856
App. No.
18/584,775
Filed
Feb 22, 2024
Granted
Apr 15, 2025
Kind
B1
Art Unit
2498
USPC
713/164
Abstract

Methods, systems, and devices that support determining whether media data has been altered are described. Captured media data may be segmented into one or more subsets, and cryptographic representations (e.g., hashes) based on the subsets may be written to an immutable ledger, possibly along with metadata and other related data. A block of a blockchain may be created for each entry in the immutable ledger. A set of media data may be validated, if a corresponding immutable ledger exists, based on segmenting the set of media data into one or more subsets in accordance with the segmenting upon capture, creating candidate cryptographic representations (e.g., hashes) based on the subsets, and comparing the candidate cryptographic representations with contents of the corresponding immutable ledger.

Claims (93)

1. A method, comprising:

receiving, by a first computer system, an altered set of media data that comprises an altered version of a set of media data, wherein the altered set of media data comprises a result of metadata for the set of media data being encoded into the set of media data;

creating, by the first computer system, a candidate cryptographic representation of at least a portion of the altered set of media data;

determining a level of validity for at least the portion of the altered set of media data based at least in part on whether the candidate cryptographic representation matches a trusted cryptographic representation of at least the portion of the altered set of media data, wherein the trusted cryptographic representation corresponds to an entry in an immutable ledger that is remote from the first computer system; and

presenting, by the first computer system, an indication of the level of validity for at least the portion of the altered set of media data.

2. The method of claim 1 , further comprising:

decoding the altered set of media data to obtain the metadata for the set of media data; and

presenting, by the first computer system, a representation of the metadata obtained by decoding the altered set of media data.

3. The method of claim 2 , wherein:

determining the level of validity for the altered set of media data is further based at least in part on the metadata obtained by decoding the altered set of media data.

4. The method of claim 1 , further comprising:

creating, by the first computer system, a plurality of additional candidate cryptographic representations, wherein the plurality of additional candidate cryptographic representations comprises respective candidate cryptographic representations for a plurality of additional portions of the altered set of media data;

determining a plurality of additional levels of validity based at least in part on whether the plurality of additional candidate cryptographic representations match respective trusted cryptographic representations for the plurality of additional portions of the altered set of media data, wherein the respective trusted cryptographic representations correspond to respective additional entries in the immutable ledger, and wherein the plurality of additional levels of validity comprises respective levels of validity for the plurality of additional portions of the altered set of media data; and

presenting, by the first computer system, the plurality of additional levels of validity.

5. The method of claim 4 , wherein each of the plurality of additional portions of the altered set of media data comprises a result of respective metadata for a corresponding portion of the set of media data being encoded into the corresponding portion of the set of media data, the method further comprising:

decoding each of the plurality of additional portions of the altered set of media data to obtain the respective metadata for the corresponding portion of the set of media data; and

presenting, by the first computer system, for each of the plurality of additional portions of the altered set of media data, a respective representation of the respective metadata for the additional portion of the altered set of media data.

6. The method of claim 1 , wherein the metadata for the set of media data being encoded into the set of media data comprises the metadata being written into the set of media data.

7. The method of claim 1 , wherein the metadata for the set of media data being encoded into the set of media data comprises a watermark being applied to the set of media data.

8. The method of claim 1 , wherein the candidate cryptographic representation of at least the portion of the altered set of media data comprises a cryptographic representation of video data, audio data, or image data included in at least the portion of the altered set of media data.

9. The method of claim 1 , wherein creating the candidate cryptographic representation comprises hashing at least the portion of the altered set of media data based at least in part on a cryptographic algorithm.

10. The method of claim 1 , wherein:

the immutable ledger comprises a blockchain; and

the entry in the immutable ledger comprises a block of the blockchain.

11. The method of claim 1 , wherein determining the level of validity for at least the portion of the altered set of media data based at least in part on whether the candidate cryptographic representation matches the trusted cryptographic representation comprises:

receiving the trusted cryptographic representation by the first computer system; and

comparing, by the first computer system, the trusted cryptographic representation to the candidate cryptographic representation.

12. The method of claim 1 , wherein determining the level of validity for at least the portion of the altered set of media data based at least in part on whether the candidate cryptographic representation matches the trusted cryptographic representation comprises:

transmitting the trusted cryptographic representation from the first computer system to a second computer system; and

receiving, by the first computer system from the second computer system, an indication of whether the candidate cryptographic representation matches the trusted cryptographic representation.

13. An apparatus, comprising:

at least one processor;

memory coupled with the at least one processor; and

instructions stored in the memory and executable by the at least one processor to cause the apparatus to:

receive, by a first computer system, an altered set of media data that comprises an altered version of a set of media data, wherein the altered set of media data comprises a result of metadata for the set of media data being encoded into the set of media data;

create, by the first computer system, a candidate cryptographic representation of at least a portion of the altered set of media data;

determine a level of validity for at least the portion of the altered set of media data based at least in part on whether the candidate cryptographic representation matches a trusted cryptographic representation of at least the portion of the altered set of media data, wherein the trusted cryptographic representation corresponds to an entry in an immutable ledger that is remote from the first computer system; and

present, by the first computer system, an indication of the level of validity for at least the portion of the altered set of media data.

14. The apparatus of claim 13 , wherein the instructions are further executable by the at least one processor to cause the apparatus to:

decode the altered set of media data to obtain the metadata for the set of media data; and

present, by the first computer system, a representation of the metadata obtained by decoding the altered set of media data.

15. The apparatus of claim 14 , wherein the instructions are further executable by the at least one processor to cause the apparatus to:

determine the level of validity for the altered set of media data further based at least in part on the metadata obtained by decoding the altered set of media data.

16. The apparatus of claim 13 , wherein the instructions are further executable by the at least one processor to cause the apparatus to:

create, by the first computer system, a plurality of additional candidate cryptographic representations, wherein the plurality of additional candidate cryptographic representations comprises respective candidate cryptographic representations for a plurality of additional portions of the altered set of media data;

determine a plurality of additional levels of validity based at least in part on whether the plurality of additional candidate cryptographic representations match respective trusted cryptographic representations for the plurality of additional portions of the altered set of media data, wherein the respective trusted cryptographic representations correspond to respective additional entries in the immutable ledger, and wherein the plurality of additional levels of validity comprises respective levels of validity for the plurality of additional portions of the altered set of media data; and

present, by the first computer system, the plurality of additional levels of validity.

17. The apparatus of claim 16 , wherein each of the plurality of additional portions of the altered set of media data is a result of respective metadata for a corresponding portion of the set of media data being encoded into the corresponding portion of the set of media data, and wherein the instructions are further executable by the at least one processor to cause the apparatus to:

decode each of the plurality of additional portions of the altered set of media data to obtain the respective metadata for the corresponding portion of the set of media data; and

present, by the first computer system, for each of the plurality of additional portions of the altered set of media data, a respective representation of the respective metadata for the additional portion of the altered set of media data.

18. The apparatus of claim 13 , wherein, to determine the level of validity for at least the portion of the altered set of media data based at least in part on whether the candidate cryptographic representation matches the trusted cryptographic representation, the instructions are executable by the at least one processor to cause the apparatus to:

receive the trusted cryptographic representation by the first computer system; and

compare, by the first computer system, the trusted cryptographic representation to the candidate cryptographic representation.

19. The apparatus of claim 13 , wherein, to determine the level of validity for at least the portion of the altered set of media data based at least in part on whether the candidate cryptographic representation matches the trusted cryptographic representation, the instructions are executable by the at least one processor to cause the apparatus to:

transmit the trusted cryptographic representation from the first computer system to a second computer system; and

receive, by the first computer system from the second computer system, an indication of whether the candidate cryptographic representation matches the trusted cryptographic representation.

20. An apparatus, comprising:

means for receiving, by a first computer system, an altered set of media data that comprises an altered version of a set of media data, wherein the altered set of media data comprises a result of metadata for the set of media data being encoded into the set of media data;

means for creating, by the first computer system, a candidate cryptographic representation of at least a portion of the altered set of media data;

means for determining a level of validity for at least the portion of the altered set of media data based at least in part on whether the candidate cryptographic representation matches a trusted cryptographic representation of at least the portion of the altered set of media data, wherein the trusted cryptographic representation corresponds to an entry in an immutable ledger that is remote from the first computer system; and

means for presenting, by the first computer system, an indication of the level of validity for at least the portion of the altered set of media data.

21. The apparatus of claim 20 , wherein the means for determining the level of validity for at least the portion of the altered set of media data based at least in part on whether the candidate cryptographic representation matches the trusted cryptographic representation comprises:

means for receiving the trusted cryptographic representation by the first computer system; and

means for comparing, by the first computer system, the trusted cryptographic representation to the candidate cryptographic representation.

22. The apparatus of claim 20 , wherein the means for determining the level of validity for at least the portion of the altered set of media data based at least in part on whether the candidate cryptographic representation matches the trusted cryptographic representation comprises:

means for transmitting the trusted cryptographic representation from the first computer system to a second computer system; and

means for receiving, by the first computer system from the second computer system, an indication of whether the candidate cryptographic representation matches the trusted cryptographic representation.

23. The apparatus of claim 20 , further comprising:

means for decoding the altered set of media data to obtain the metadata for the set of media data; and

means for presenting, by the first computer system, a representation of the metadata obtained by decoding the altered set of media data.

24. A non-transitory computer-readable medium storing code, the code comprising instructions executable by at least one processor to:

receive, by a first computer system, an altered set of media data that comprises an altered version of a set of media data, wherein the altered set of media data comprises a result of metadata for the set of media data being encoded into the set of media data;

create, by the first computer system, a candidate cryptographic representation of at least a portion of the altered set of media data;

determine a level of validity for at least the portion of the altered set of media data based at least in part on whether the candidate cryptographic representation matches a trusted cryptographic representation of at least the portion of the altered set of media data, wherein the trusted cryptographic representation corresponds to an entry in an immutable ledger that is remote from the first computer system; and

present, by the first computer system, an indication of the level of validity for at least the portion of the altered set of media data.

25. The non-transitory computer-readable medium of claim 24 , wherein, to determine the level of validity for at least the portion of the altered set of media data based at least in part on whether the candidate cryptographic representation matches the trusted cryptographic representation, the instructions are executable by the at least one processor to:

receive the trusted cryptographic representation by the first computer system; and

compare, by the first computer system, the trusted cryptographic representation to the candidate cryptographic representation.

26. The non-transitory computer-readable medium of claim 24 , wherein, to determine the level of validity for at least the portion of the altered set of media data based at least in part on whether the candidate cryptographic representation matches the trusted cryptographic representation, the instructions are executable by the at least one processor to:

transmit the trusted cryptographic representation from the first computer system to a second computer system; and

receive, by the first computer system from the second computer system, an indication of whether the candidate cryptographic representation matches the trusted cryptographic representation.

27. The non-transitory computer-readable medium of claim 24 , wherein the instructions are further executable by the at least one processor to:

decode the altered set of media data to obtain the metadata for the set of media data; and

present, by the first computer system, a representation of the metadata obtained by decoding the altered set of media data.

28. The non-transitory computer-readable medium of claim 27 , wherein:

the instructions are executable by the at least one processor to determine the level of validity for the altered set of media data based at least in part on the metadata obtained by decoding the altered set of media data.

29. The non-transitory computer-readable medium of claim 24 , wherein the instructions are further executable by the at least one processor to:

create, by the first computer system, a plurality of additional candidate cryptographic representations, wherein the plurality of additional candidate cryptographic representations comprises respective candidate cryptographic representations for a plurality of additional portions of the altered set of media data;

determine a plurality of additional levels of validity based at least in part on whether the plurality of additional candidate cryptographic representations match respective trusted cryptographic representations for the plurality of additional portions of the altered set of media data, wherein the respective trusted cryptographic representations correspond to respective additional entries in the immutable ledger, and wherein the plurality of additional levels of validity comprises respective levels of validity for the plurality of additional portions of the altered set of media data; and

present, by the first computer system, the plurality of additional levels of validity.

30. The non-transitory computer-readable medium of claim 29 , wherein each of the plurality of additional portions of the altered set of media data comprises a result of respective metadata for a corresponding portion of the set of media data being encoded into the corresponding portion of the set of media data, the instructions further executable by the at least one processor to:

decode each of the plurality of additional portions of the altered set of media data to obtain the respective metadata for the corresponding portion of the set of media data; and

present, by the first computer system, for each of the plurality of additional portions of the altered set of media data, a respective representation of the respective metadata for the additional portion of the altered set of media data.

Continuity (7)
Continuation 18115574 · Feb 28, 2023
Continuation 18075147 · Dec 5, 2022
Continuation 17843511 · Jun 17, 2022
Continuation 17129402 · Dec 21, 2020
Continuation 17078761 · Oct 23, 2020
Division 16420645 · May 23, 2019
Provisional Application 62676129 · May 24, 2018
References Cited (101)
US 6691229B1 · Nelson · 2004 [cited by applicant]
US 7313248B2 · Tonisson · 2007 [cited by examiner]
US 7827150B1 · Wu et al. · 2010 [cited by applicant]
US 8429205B2 · Rhoads · 2013 [cited by examiner]
US 8977860B2 · Barrus et al. · 2015 [cited by applicant]
US 9300678B1 · Stack · 2016 [cited by examiner]
US 9317471B2 · Wiseman · 2016 [cited by examiner]
US 9621565B2 · Stack et al. · 2017 [cited by applicant]
US 9881176B2 · Goldfarb et al. · 2018 [cited by applicant]
US 10042782B2 · Struttmann · 2018 [cited by examiner]
US 10075298B2 · Struttmann · 2018 [cited by examiner]
US 10095877B2 · Stack et al. · 2018 [cited by applicant]
US 10097356B2 · Zinder · 2018 [cited by applicant]
US 10129032B2 · Vandervort · 2018 [cited by applicant]
US 10136098B2 · Altenburger · 2018 [cited by examiner]
US 10157295B2 · Barinov · 2018 [cited by examiner]
US 10193696B2 · Struttmann · 2019 [cited by examiner]
US 10360668B1 · McGregor et al. · 2019 [cited by applicant]
US 10361866B1 · McGregor et al. · 2019 [cited by applicant]
US 10366247B2 · Beecham et al. · 2019 [cited by applicant]
US 10375050B2 · Lyons · 2019 [cited by examiner]
US 10554753B2 · Tormasov · 2020 [cited by examiner]
US 10555023B1 · McCarthy et al. · 2020 [cited by applicant]
US 10594689B1 · Weaver · 2020 [cited by examiner]
US 10726533B2 · McGregor et al. · 2020 [cited by applicant]
US 10733315B2 · Stack et al. · 2020 [cited by applicant]
US 10868674B2 · Beecham et al. · 2020 [cited by applicant]
US 11120013B2 · Bates et al. · 2021 [cited by applicant]
US 11611441B2 · Beecham et al. · 2023 [cited by applicant]
US 20020108043A1 · Tanaka · 2002 [cited by applicant]
US 20030133591A1 · Watanabe et al. · 2003 [cited by applicant]
US 20050125684A1 · Schmidt · 2005 [cited by applicant]
US 20050132195A1 · Dietl · 2005 [cited by applicant]
US 20050248813A1 · Zolla et al. · 2005 [cited by applicant]
US 20060007864A1 · Li et al. · 2006 [cited by applicant]
US 20060010095A1 · Wolff et al. · 2006 [cited by applicant]
US 20060047967A1 · Akhan et al. · 2006 [cited by applicant]
US 20060056402A1 · Gariador et al. · 2006 [cited by applicant]
US 20060126891A1 · Seroussi et al. · 2006 [cited by applicant]
US 20070101147A1 · Brunk et al. · 2007 [cited by applicant]
US 20070283078A1 · Li et al. · 2007 [cited by applicant]
US 20080243898A1 · Gormish et al. · 2008 [cited by applicant]
US 20100088522A1 · Barrus et al. · 2010 [cited by applicant]
US 20110191577A1 · Tian et al. · 2011 [cited by applicant]
US 20110191587A1 · Tian et al. · 2011 [cited by applicant]
US 20130269007A1 · Yoshigaki et al. · 2013 [cited by applicant]
US 20140129669A1 · Wiseman · 2014 [cited by examiner]
US 20140181236A1 · Venkatesh · 2014 [cited by examiner]
US 20140250450A1 · Yu · 2014 [cited by examiner]
US 20140259166A1 · Ghaskadvi · 2014 [cited by examiner]
US 20150254458A1 · Hong et al. · 2015 [cited by applicant]
US 20150339491A1 · Gao et al. · 2015 [cited by applicant]
US 20150372988A1 · Tredoux et al. · 2015 [cited by applicant]
US 20160028552A1 · Spanos et al. · 2016 [cited by applicant]
US 20160098723A1 · Feeney · 2016 [cited by applicant]
US 20160191243A1 · Manning · 2016 [cited by applicant]
US 20160241532A1 · Loughlin-McHugh et al. · 2016 [cited by applicant]
US 20160259794A1 · Hickman et al. · 2016 [cited by applicant]
US 20160267558A1 · Bonnell et al. · 2016 [cited by applicant]
US 20160277793A1 · Eyer et al. · 2016 [cited by applicant]
US 20160328713A1 · Ebrahimi · 2016 [cited by applicant]
US 20160379330A1 · Powers · 2016 [cited by examiner]
US 20170005804A1 · Zinder · 2017 [cited by applicant]
US 20170061565A1 · Tanaka · 2017 [cited by applicant]
US 20170126702A1 · Krishnamurthy · 2017 [cited by applicant]
US 20170134162A1 · Code et al. · 2017 [cited by applicant]
US 20170235970A1 · Conner · 2017 [cited by examiner]
US 20170249482A1 · Takaai et al. · 2017 [cited by applicant]
US 20170331635A1 · Barinov · 2017 [cited by examiner]
US 20170353311A1 · Schukai · 2017 [cited by examiner]
US 20170366353A1 · Struttmann · 2017 [cited by applicant]
US 20170371887A1 · Balasubramanian et al. · 2017 [cited by applicant]
US 20180025181A1 · Barinov et al. · 2018 [cited by applicant]
US 20180068091A1 · Gaidar · 2018 [cited by examiner]
US 20180068666A1 · Riedmiller et al. · 2018 [cited by applicant]
US 20180080392A1 · Janscha · 2018 [cited by applicant]
US 20180082024A1 · Curbera et al. · 2018 [cited by applicant]
US 20180096163A1 · Jacques de Kadt et al. · 2018 [cited by applicant]
US 20180101701A1 · Barinov · 2018 [cited by examiner]
US 20180121635A1 · Tormasov · 2018 [cited by examiner]
US 20180121673A1 · Struttmann · 2018 [cited by applicant]
US 20180137512A1 · Georgiadis · 2018 [cited by applicant]
US 20180205552A1 · Struttmann et al. · 2018 [cited by applicant]
US 20180288362A1 · Altenburger · 2018 [cited by applicant]
US 20180293363A1 · Asati et al. · 2018 [cited by applicant]
US 20180323980A1 · Ahn et al. · 2018 [cited by applicant]
US 20190014176A1 · Tormasov · 2019 [cited by examiner]
US 20190045207A1 · Chen et al. · 2019 [cited by applicant]
US 20190080392A1 · Youb · 2019 [cited by examiner]
US 20190081796A1 · Chow et al. · 2019 [cited by applicant]
US 20190190974A1 · Qian et al. · 2019 [cited by applicant]
US 20190218407A1 · Borras et al. · 2019 [cited by applicant]
US 20190258999A1 · Leonard et al. · 2019 [cited by applicant]
US 20190279204A1 · Norton et al. · 2019 [cited by applicant]
US 20190325432A1 · Ow et al. · 2019 [cited by applicant]
US 20190354693A1 · Yoon et al. · 2019 [cited by applicant]
US 20200012806A1 · Bates et al. · 2020 [cited by applicant]
US 20200372184A1 · Meirosu · 2020 [cited by examiner]
US 20200413141A1 · Loheide et al. · 2020 [cited by applicant]
US 20220198410A1 · Yang et al. · 2022 [cited by applicant]
WO 2019246188A1 · 2019 [cited by applicant]
Cited By (1)
US 12,731,199