Patent ID: 8400566

Claim:
A method for calculating synchronization errors between destination video content and destination audio content, wherein the method comprises: receiving reference video signatures representing one or more video features of a reference video signal, reference audio signatures representing one or more audio features of a reference audio signal, and indications of relative temporal alignment of the video and audio features; generating one or more destination video signatures in response to one or more video features extracted from the destination video content; generating one or more destination audio signatures in response to one or more audio features extracted from the destination audio content; comparing a sequence of destination video signatures with a sequence of reference video signatures to find a match between the destination video content and the reference video content used to generate the reference video signatures; comparing a sequence of destination audio signatures with a sequence of reference audio signatures to find a match between the destination audio content and the reference audio content used to generate the reference audio signatures; calculating a synchronization error between the destination video content and the destination audio content by calculating a temporal misalignment between the identified destination video content and the identified destination audio content as compared with the relative temporal alignment of the video and audio features of the reference video signal and the reference audio signal; analyzing past synchronization errors and selecting a model of past synchronization errors that best represents the past synchronization errors, wherein the model may be selected from models that represent a sequence of synchronization errors that are constant, that increase or decrease at a linear rate, or that include an abrupt change in value, and wherein parameters for the selected model are derived to minimize differences between the selected model output and the past synchronization errors; storing the choice of the selected model and its parameters in a buffer; deriving a measure of reliability in the synchronization error from a difference between the calculated temporal misalignment and a predicted misalignment obtained from a sequence of previously calculated temporal misalignments; using the buffer of stored models to predict the synchronization error for intervals where the measures of reliability are below a threshold; and displaying the synchronization error, or correcting the synchronization error by delaying one or both of the destination video and the destination audio to bring them into proper temporal alignment.