IP Library Granted Patent US 10,854,241
Granted Patent B2
US 10,854,241 · App. 16/402,908 · Granted Dec 1, 2020

Generation of media diff files

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 10,854,241
App. No.
16/402,908
Filed
May 3, 2019
Granted
Dec 1, 2020
Kind
B2
Art Unit
2484
USPC
386/353
Abstract

A method is disclosed in which first payload data included in a first file container and second payload data included in a second file container are determined. The first payload data is decoded to determine first un-encoded data representing first content, and the second payload data is decoded to determine second un-encoded data representing second content. At least one difference is determined between the first un-encoded data and the second un-encoded data, and third un-encoded data corresponding to the at least one difference is determined. The third un-encoded data is encoded to generate third payload data representing third content, and a third file container is generated that includes the third payload data.

Claims (83)

1. A method, comprising:

determining first payload data included in a first media file container, wherein the first payload data represents first content;

decoding the first payload data to determine first un-encoded data representing the first content;

determining second payload data included in a second media file container, wherein the second payload data represents second content;

decoding the second payload data to determine second un-encoded data representing the second content;

determining at least one difference between the first un-encoded data and the second un-encoded data;

determining third un-encoded data corresponding to the at least one difference;

encoding the third un-encoded data to generate third payload data representing third content; and

generating a third media file container that includes the third payload data, wherein the third media file container is formatted to enable a media player or viewer to use the third media file container, without accessing any other media file containers, to cause a computing device to output the third content based on the third payload data.

2. The method of claim 1 , wherein the first un-encoded data comprises a first sequence of bits, the second un-encoded data comprises a second sequence of bits, each of the bits in the second sequence corresponds to a respective one of the bits in the first sequence, and determining the at least one difference further comprises:

determining that a first value of at least one of the bits in the first sequence is different than a second value of a corresponding one of the bits in the second sequence.

3. The method of claim 2 , wherein determining that the first value is different than the second value further comprises:

determining first hash values corresponding to first groups of bits in the first sequence;

determining second hash values corresponding to second groups of bits in the second sequence; and

comparing at least one of the first hash values and at least one of the second hash values.

4. The method of claim 1 , further comprising:

converting the first un-encoded data from a first format having a first number of bits to a second format having a second number of bits; and

determining the at least one difference based at least in part on the first un-encoded data in the second format.

5. The method of claim 1 , wherein the first media file container, the second media file container, and the third media file container each conforms to a same digital media file format.

6. The method of claim 1 , wherein determining the at least one difference further comprises:

determining, within the first un-encoded data, first frames of video data;

determining, within the second un-encoded data, second frames of video data; and

comparing at least one of the first frames and at least one of the second frames to determine the at least one difference.

7. The method of claim 6 , wherein comparing the at least one of the first frames and the at least one of the second frames further comprises:

determining first hash values corresponding to the first frames;

determining second hash values corresponding to the second frames; and

comparing at least one of the first hash values and at least one of the second hash values to determine the at least one difference.

8. The method of claim 1 , wherein determining the at least one difference further comprises:

determining, within the first un-encoded data, first samples of audio data;

determining, within the second un-encoded data, second samples of audio data; and

determining the at least one difference based at least in part on at least one of the first samples and at least one of the second samples.

9. At least one non-transitory computer-readable medium encoded with instructions which, when executed by at least one processor, cause the at least one processor to:

determine first payload data included in a first media file container, wherein the first payload data represents first content;

decode the first payload data to determine first un-encoded data representing the first content;

determine second payload data included in a second media file container, wherein the second payload data represents second content;

decode the second payload data to determine second un-encoded data representing the second content;

determine at least one difference between the first un-encoded data and the second un-encoded data;

determine third un-encoded data corresponding to the at least one difference;

encode the third un-encoded data to generate third payload data representing third content; and

generate a third media file container that includes the third payload data, wherein the third media file container is formatted to enable a media player or viewer to use the third media file container, without accessing any other media file containers, to cause a computing device to output the third content based on the third payload data.

10. At least one non-transitory computer-readable medium of claim 9 , encoded with additional instructions which, when executed by the at least one processor, further cause the at least one processor to determine the at least one difference at least by:

determining that a first value of at least one bit in a first sequence of bits is different than a second value of a corresponding bit in a second sequence of bits, wherein the first un-encoded data comprises the first sequence of bits, the second un-encoded data comprises the second sequence of bits, and each of the bits in the second sequence corresponds to a respective one of the bits in the first sequence.

11. At least one non-transitory computer-readable medium of claim 10 , encoded with additional instructions which, when executed by the at least one processor, further cause the at least one processor to determine that the first value is different than the second value at least by:

determining first hash values corresponding to first groups of bits in the first sequence;

determining second hash values corresponding to second groups of bits in the second sequence; and

comparing at least one of the first hash values and at least one of the second hash values.

12. At least one non-transitory computer-readable medium of claim 9 , encoded with additional instructions which, when executed by the at least one processor, further cause the at least one processor to:

convert the first un-encoded data from a first format having a first number of bits to a second format having a second number of bits; and

determine the at least one difference based at least in part on the first un-encoded data in the second format.

13. At least one non-transitory computer-readable medium of claim 9 , encoded with additional instructions which, when executed by the at least one processor, further cause the at least one processor to determine the at least one difference at least by:

determining, within the first un-encoded data, first frames of video data;

determining, within the second un-encoded data, second frames of video data; and

comparing at least one of the first frames and at least one of the second frames to determine the at least one difference.

14. At least one non-transitory computer-readable medium of claim 13 , encoded with additional instructions which, when executed by the at least one processor, further cause the at least one processor to compare the at least one of the first frames and the at least one of the second frames at least by:

determining first hash values corresponding to the first frames;

determining second hash values corresponding to the second frames; and

comparing at least one of the first hash values and at least one of the second hash values.

15. At least one non-transitory computer-readable medium of claim 9 , encoded with additional instructions which, when executed by the at least one processor, further cause the at least one processor to determine the at least one difference at least by:

determining, within the first un-encoded data, first samples of audio data;

determining, within the second un-encoded data, second samples of audio data; and

determining the at least one difference based at least in part on at least one of the first samples and at least one of the second samples.

16. A method, comprising:

determining first payload data included in a first media file container, wherein the first payload data represents first non-textual media content;

determining second payload data included in a second media file container, wherein the second payload data represents second non-textual media content;

determining, using the first payload data and the second payload data, at least one difference between the first non-textual media content and second the second non-textual media content;

determining third payload data that represents third non-textual media content corresponding to the at least one difference; and

generating a third media file container that includes the third payload data, wherein the third media file container is formatted to enable a media player or viewer to use the third media file container, without accessing any other media file containers, to cause a computing device to output the third non-textual media content based on the third payload data.

17. The method of claim 16 , wherein determining the at least one difference further comprises:

decoding the first payload data to determine first un-encoded data representing the first non-textual media content;

decoding the second payload data to determine second un-encoded data representing the second non-textual media content; and

comparing the first un-encoded data and the second un-encoded data to determine the at least one difference.

18. The method of claim 17 , wherein comparing the first un-encoded data and the second un-encoded data further comprises:

determining, within the first un-encoded data, first frames of video data;

determining, within the second un-encoded data, second frames of video data; and

comparing at least one of the first frames and at least one of the second frames to determine the at least one difference.

19. The method of claim 18 , wherein comparing the at least one of the first frames and the at least one of the second frames further comprises:

determining first hash values corresponding to the first frames;

determining second hash values corresponding to the second frames; and

comparing at least one of the first hash values and at least one of the second hash values to determine the at least one difference.

20. The method of claim 17 , wherein determining the at least one difference further comprises:

determining, within the first un-encoded data, first samples of audio data;

determining, within the second un-encoded data, second samples of audio data; and

determining the at least one difference based at least in part on at least one of the first samples and at least one of the second samples.