System.NullReferenceException: Object reference not set to an instance of an object. at DotNetNuke.Framework.DefaultPage.OnLoad(EventArgs e) in e:\websites\\public_html\Default.aspx.cs:line 791 Maintaining lip sync | TvTechnology

Maintaining lip sync

May 1, 2004

As our industry embraces a variety of compression, storage and delivery schemes, maintaining audio/video timing becomes more difficult. Inserting timing indicators into the signals for later comparison is the obvious solution, but so far a simple method has been elusive. Several complex mathematical models have been proffered, and some out-of-service or path-setup techniques have been developed.

Related Articles

Maintaining ENG Signal Quality

Hitachi to Maintain Comark

Archiving: Maintaining Relevance for the Future

Figure 1. By knowing one DATC value, it is possible to predict all future DATC values in an ideal system. Newly generated DATC data can be added to the video’s associated audio signals by inserting it into AES user bits, aux bits or the LSB of the actual audio data. Click here to see an enlarged diagram.

Our industry has always been completely videocentric. All existing systems and proposed solutions have been carefully designed to accommodate video timings based on frame rate, which isn’t simple — particularly at the 1/1.001 rates (59.94, 29.97 etc) where there are no useful mathematical relationships between video frames and 48kHz audio.

To determine the temporal relationship of several signals with different timing rates, we need a common denominator. There is only one standard that is common to all of the defined world digital television standards — 48kHz audio.

Could digital audio be a timing reference? Absolutely! In the AES audio signal architecture, the largest unit is a data “block.” A block consists of 192 AES frames (384 subframes), which, at 48kHz, results in a rate of exactly 250 blocks per second. This block rate can be used as a timing reference because it has a minimum resolution that ranges from more than four times, to 10 times, that of video frame rates.

Digital audio time code

We will never break video’s hold as the master of all timing systems. So we must use it to generate a timing slave. Generating digital-audio time code (DATC) is straightforward because the SMPTE time code of the associated video signal is delivered to a clock-locked AES reference generator. First, we discard the frame (:FF) information of the incoming time code and convert it into seconds (86,400 seconds for 24 hours). We then monitor the seconds for change. When change occurs, we reset the AES block counter to zero. Then, in each subsequent block, we insert SECONDS.BLOCKS into the AES reference output. The generated DATC data is accurate to +1/-0 blocks (0.4 percent at 48k) in relation to the original time-code seconds.

Like SMPTE 12M, DATC words contain 24 hours of time data. This data is formatted as SECONDS.BLOCKS, and the data word is defined as four bytes: 17 bits for seconds 0 through 86399, 10 bits for blocks 0 through 999, and five bits for data integrity. The 10-bit block number has been chosen to allow DATC to accommodate AES sample rates up to 192kHz.

The DATC numbering system is chosen to provide predictability. This method produces a well-ordered ring of integers, which are modulo the maximum number of AES blocks per day. Therefore, by knowing one DATC value, we can predict all future DATC values in an ideal system. See Figure 1.

Now, we can easily add the newly generated DATC data to the video’s associated audio signals by inserting it into AES user bits, aux bits or even the LSB of the actual audio data. Optionally, we can insert the AES data now containing DATC into video ANC data space.

To measure and/or correct path-latency disparity, we must recover DATC from video ANC data or locally regenerate DATC from time code recovered from the video. Then we compare this value with the DATC of the received audio. The measured offset can then be used to steer a delay-compensation device.

If several video signals have been created from an original source and all signals contain SMPTE time code or DATC, we can use DATC as a common reference to reposition the video signals to have the same temporal relationship. This might be useful in automation systems where one “take” is desired across two or more channels. DATC could be used to reposition signals with disparate frame rates, allowing switching to occur at the next frame boundary of each signal — regardless of the alignment of the frame boundaries.

Because this timing system is based on seconds, continuous DATC reception is not needed. If the DATC data bytes are received periodically, a comparator can regenerate block counts for the input signals to allow an accurate comparison. Consistency of DATC presence only affects the comparison accuracy if the received AES data is no longer at its original sample rate (e.g., if it’s been compressed and regenerated from an asynchronous clock). But, if the clock difference is less than +/-20 percent of the original, the system will maintain the comparison accuracy because the block count is always reset by “second” boundaries. Naturally, a good DATC word needs to be received whenever the signal path varies to ensure latency correction.

For baseband AES signals, DATC would be present consistently. But it is only necessary to receive a DATC word once for each new signal acquisition.

DATC and compression

It is unnecessary for DATC to be received continuously because it can be regenerated with a high degree of accuracy. Therefore, a 32-bit DATC word can be inserted periodically into both audio and video datastreams. The insertion period is variable. As a minimum, DATC needs to be inserted once per content item (although a more frequent rate would eliminate possible error).

A single DATC word received can be used to recreate continuous DATC and SMPTE 12M video time code for audio and video signals. The audio DATC will be regenerated as described previously.

SMPTE 12M is regenerated by converting SECONDS to HH:MM:SS from DATC. At the second change, video V sync is used to increment a new :FF count that is reset each second, which results in the recreation of frame-accurate 12M, provided that the original DATC word was inserted frame accurately. The interchannel accuracy of this regenerated signal will be <-0/+4ms.

Initially, this may seem complex, but it isn’t. Many of you may be skeptical about how audio could ever provide a suitable video reference. But available products now prove that DATC can be a reliable clock for television.

Nigel Spratling is president/CEO of Sigma Electronics. He is author of “The Book” and “The Book II,” published by NVISION.

Receive regular news and technology updates.
Sign up for our free newsletter here.