IP Library › Granted Patent US 12,348,794
Granted Patent B2
US 12,348,794 · App. 18/654,949 · Granted Jul 1, 2025

Methods, systems, and media for synchronizing video streams

Inventors: Jue Wang (San Jose, CA); James S. Wong (Sunnyvale, CA)
Assignee: Google LLC
H04N21/23418H04N21/235
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,348,794
App. No.
18/654,949
Granted
Jul 1, 2025
Kind
B2
Abstract

Methods, systems, and media for synchronizing video streams are provided. In some embodiments, the method comprises: identifying a target video stream and a reference video stream, wherein the target video stream and the reference video stream are two different broadcasts of a program; generating, for the target video stream, a sequence of fingerprints; determining a time shift at which the sequence of fingerprints appears within the reference video stream; determining whether the target video stream is synchronized with the reference video stream by determining whether the time shift exceeds a predetermined threshold; and, in response to determining that the target video stream is not synchronized with the reference video stream, causing an electronic programming guide that includes an indication of the target video stream to be modified based on the time shift.

Claims (49)

1. A method comprising:

identifying, by a computing system, a target video stream and a reference video stream, wherein the target video stream and the reference video stream are two different broadcasts of a program;

generating, by the computing system, a plurality of fingerprints for the target video stream;

determining, by the computing system, one or more unsynchronized portions of the target video stream based on a time shift at which a plurality of corresponding fingerprints appears within the reference video stream, the plurality of corresponding fingerprints matching the plurality of fingerprints;

determining, by the computing system, whether a length of the one or more unsynchronized portions of the target video stream exceeds a predetermined length threshold; and

in response to determining that the length of the one or more unsynchronized portions of the target video stream exceeds the predetermined length threshold, transmitting, by the computing system, an alert to a user indicating the target video stream is not synchronized.

2. The method of claim 1 , further comprising causing, by the computing system, an electronic programming guide that includes an indication of the target video stream to be modified based on the time shift.

3. The method of claim 1 , wherein the alert includes a duration of the time shift.

4. The method of claim 1 , wherein the plurality of fingerprints is a sequence of fingerprints.

5. The method of claim 1 , further comprising determining, by the computing system, an error type associated with the time shift.

6. The method of claim 5 , wherein the error type indicates that the target video stream did not begin at a correct time.

7. The method of claim 5 , wherein the error type indicates that the target video stream will not end at a correct time.

8. The method of claim 1 , wherein the target video stream is identified based on metadata associated with the target video stream.

9. The method of claim 1 , wherein the target video stream is a first target video stream, the method further comprising:

identifying, by the computing system, a plurality of second target video streams; for each second target video stream of the plurality of second target video streams:

generating, by the computing system, a plurality of second fingerprints for the second target video stream;

determining, by the computing system, a second time shift at which the plurality of corresponding fingerprints appears within the reference video stream, the plurality of corresponding fingerprints matching the plurality of second fingerprints;

determining, by the computing system, whether the second target video stream is synchronized with the reference video stream by determining whether the second time shift exceeds a predetermined threshold; and

in response to determining that the second target video stream is not synchronized with the reference video stream, transmitting, by the computing system, an alert to the user indicating the second target video stream is not synchronized.

10. The method of claim 9 , wherein for each second target video stream of the plurality of second target video streams:

the alert includes a duration of the second time shift for the second target video stream that is not synchronized.

11. A computing system comprising:

a memory that stores instructions; and

processing circuitry that executes the instructions to:

identify a target video stream and a reference video stream, wherein the target video stream and the reference video stream are two different broadcasts of a program;

generate a plurality of fingerprints for the target video stream;

determine one or more unsynchronized portions of the target video stream based on a time shift at which a plurality of corresponding fingerprints appears within the reference video stream, the plurality of corresponding fingerprints matching the plurality of fingerprints;

determine whether a length of the one or more unsynchronized portions of the target video stream exceeds a predetermined length threshold; and

in response to determining that the length of the one or more unsynchronized portions of the target video stream exceeds the predetermined length threshold, transmit an alert to a user indicating the target video stream is not synchronized.

12. The computing system, of claim 11 , wherein the processing circuitry further executes the instructions to cause an electronic programming guide that includes an indication of the target video stream to be modified based on the time shift.

13. The computing system, of claim 11 , wherein the alert includes a duration of the time shift.

14. The computing system, of claim 11 , wherein the plurality of fingerprints is a sequence of fingerprints.

15. The computing system, of claim 11 , wherein the processing circuitry further executes the instructions to determine an error type associated with the time shift.

16. The computing system, of claim 15 , wherein the error type indicates that the target video stream did not begin at a correct time.

17. The computing system, of claim 15 , wherein the error type indicates that the target video stream will not end at a correct time.

18. The computing system, of claim 11 , wherein the target video stream is identified based on metadata associated with the target video stream.

19. The computing system, of claim 11 , wherein the target video stream is a first target video stream and the processing circuitry further executes the instructions to:

identify a plurality of second target video streams;

for each second target video stream of the plurality of second target video streams:

generate a plurality of second fingerprints for the second target video stream;

determine a second time shift at which the plurality of corresponding fingerprints appears within the reference video stream, the plurality of corresponding fingerprints matching the plurality of second fingerprints;

determine whether the second target video stream is synchronized with the reference video stream by determining whether the second time shift exceeds a predetermined threshold; and

in response to determining that the second target video stream is not synchronized with the reference video stream, transmit an alert to the user indicating the second target video stream is not synchronized.

20. A non-transitory computer-readable storage medium comprising instructions that, when executed by processing circuitry of a computing device, cause the processing circuitry to:

identify a target video stream and a reference video stream, wherein the target video stream and the reference video stream are two different broadcasts of a program;

generate a plurality of fingerprints for the target video stream;

determine one or more unsynchronized portions of the target video stream based on a time shift at which a plurality of corresponding fingerprints appears within the reference video stream, the plurality of corresponding fingerprints matching the plurality of fingerprints;

determine whether a length of the one or more unsynchronized portions of the target video stream exceeds a predetermined length threshold; and

in response to determining that the length of the one or more unsynchronized portions of the target video stream exceeds the predetermined length threshold, transmit an alert to a user indicating the target video stream is not synchronized.

Continuity (2)
Continuation 17802399
Related Publication 20240292040A1 · Aug 29, 2024
References Cited (41)
US 8522280B2 · Tokashiki · 2013 [cited by examiner]
US 8817183B2 · Oostveen et al. · 2014 [cited by applicant]
US 8819731B2 · Leley et al. · 2014 [cited by applicant]
US 9251796B2 · Wang · 2016 [cited by applicant]
US 9300927B2 · Hoogenstraaten et al. · 2016 [cited by applicant]
US 9712853B2 · Oostveen et al. · 2017 [cited by applicant]
US 10205970B2 · Krahnstoever et al. · 2019 [cited by applicant]
US 20020067909A1 · Iivonen · 2002 [cited by examiner]
US 20080062315A1 · Oostveen et al. · 2008 [cited by applicant]
US 20120324510A1 · Leley et al. · 2012 [cited by applicant]
US 20130169869A1 · Demoulin et al. · 2013 [cited by applicant]
US 20140289754A1 · Riethmueller · 2014 [cited by applicant]
US 20160234570A1 · Van Deventer · 2016 [cited by examiner]
US 20170099515A1 · Stokking · 2017 [cited by examiner]
US 20190342594A1 · Korte et al. · 2019 [cited by applicant]
US 20230087174A1 · Wang et al. · 2023 [cited by applicant]
JP 2007528144A · 2007 [cited by applicant]
JP 2013521674A · 2013 [cited by applicant]
KR 1020060037403A · 2006 [cited by applicant]
KR 1020090019830A · 2009 [cited by applicant]
KR 1020130023267A · 2013 [cited by applicant]
KR 1020130077796A · 2013 [cited by applicant]
WO 2005006758A1 · 2005 [cited by applicant]
WO 2011106601A2 · 2011 [cited by applicant]
WO 2013149989A1 · 2013 [cited by applicant]
WO 2017151596A1 · 2017 [cited by applicant]
WO 2018183841A1 · 2018 [cited by applicant]
WO 2020036667A1 · 2020 [cited by applicant]
Examination Report dated Jan. 31, 2023 in IN Patent Application No. 202247060349. [cited by applicant]
First Examination Report from counterpart Indian Application No. 202247060349 dated Jan. 31, 2023, 6 pp. [cited by applicant]
International Preliminary Report on Patentability from International Application No. PCT/US2020/026306 dated Sep. 29, 2022, 8 pp. [cited by applicant]
International Search Report and Written Opinion of International Application No. PCT/US2020/026306 dated Nov. 16, 2020, 10 pp. [cited by applicant]
Notice of Intent to Grant from counterpart Japanese Application No. 2022-560083 dated Jan. 9, 2024, 3 pp. [cited by applicant]
Prosecution History from U.S. Appl. No. 17/802,399, dated Aug. 25, 2022 through Apr. 3, 2024, 55 pp. [cited by applicant]
Response to First Examination Report dated Jan. 31, 2023, from counterpart Indian Application No. 202247060349 filed Jul. 31, 2023, 5 pp. [cited by applicant]
Office Action, and translation thereof, from counterpart Korean Application No. 10-2022-7035518 dated Mar. 11, 2024, 11 pp. [cited by applicant]
Response to Office Action dated Mar. 11, 2024, from counterpart Korean Application No. 10-2022-7035518 filed May 13, 2024, 24 pp. [cited by applicant]
Notice of Intent to Grant from counterpart Korean Application No. 10-2022-7035518 dated Oct. 28, 2024, 11 pp. [cited by applicant]
Communication pursuant to Article 94(3) EPC from counterpart European Application No. 20722414.8 dated Mar. 17, 2025, 7 pp. [cited by applicant]
Notice of Intent to Grant, and translation thereof, from counterpart Japanese Application No. 2024-017451 dated Apr. 8, 2025, 6 pp. [cited by applicant]
Office Action, and translation thereof, from counterpart Chinese Application No. 202080098715.9 dated Apr. 14, 2025, 14 pp. [cited by applicant]