Technical Paper Publication No. S96/10956 Issue 02 Feb 10, 1997 Interface Document Synchronization of to: Model DA10 Digital Film Sound Processor Model DA20 Digital Film Sound Processor Model CP500 Digital Cinema Processor Del R. Hatch Dolby Laboratories Inc. U.S.A. 100 Potrero Avenue San Francisco, CA 94103 Telephone 415-558-0200 Facsimile 415-863-1373 U.K. Wootton Bassett Wiltshire SN4 8QJ England Telephone 01793-842 100 Facsimile 01793-842 101 Dolby and the Double-D symbol are trademarks of Dolby Laboratories Licensing Corporation 1996 Dolby Laboratories Inc.
Interface Document Synchronization of to Dolby DA10 and DA20 Digital Film Sound Processors and the Dolby CP500 Digital Cinema Processor Purpose This document provides information about the serial data stream coming out of Dolby DA10 and DA20 Digital Film Sound Processors and the Dolby CP500 Digital Cinema Processor. This information is intended to be used to design external equipment which will be synchronized to the Dolby Digital audio signal. Introduction Dolby Digital audio is encoded into digital blocks which are located between the sprocket holes of 35mm motion pictures. In addition to the Dolby Digital audio data itself, each block contains information such as the "reel number" and the "film block number" that may be used to synchronize external equipment. Every Dolby Digital film currently being produced contains the reel and film block number as described below. The Serial Port The serial port is accessible on all DA10s, DA20s and CP500s from a rear panel jack labeled "Serial Data." During the playing of a film this port continuously sends an asynchronous serial data stream generated by a 16550 UART. The signals are driven by a MAX232 IC, producing voltage swings of +/- 9 volts, typical. The receiving serial port should be set for 115,200 baud, 8 bits, and 1 stop bit. The pinout of the Serial Data connector and a short description of each line is given below in Table 1. Pin No. Name Description 1 N/C 2 Data_Out RS232-level data out 3 Data_In RS232-level data in 4 Tied to pin 6 5 GND 6 Tied to pin 4 7 Handshake_Out Leave unconnected 8 Handshake_In Leave unconnected 9 N/C Table 1. Serial Port Pinout Page 1
The figure below shows the Serial Data connector, as seen from the back of the DA10/DA20/CP500. A standard female chassis-mount DB-9 connector is used. Figure 1. Serial Port Pin Numbers Data Format The film block number is contained in a 32 byte long data packet, along with other information. This data packet is transmitted at a nominal rate of 96 packets every second. This rate is a long-term average, and assumes a projector running at 24 frames per second. If the projector is running at 25 frames per second, for example, the long term average will be 100 packets every second. Each data packet contains the following information: Byte Number Name Description 1-4 SynchWords 0x2B, 0x37, 0x69, 0x38 5-12 Data Various Unrelated Data 13 SyncFlag 0x00 indicates the image sync area could not be found. This may indicate that Dolby digital data is not present. See byte number 22 for aother indicator. 14-21 Data Various Unrelated Data 22 OuterCode Equals 0xFF if the data was unreadable. 23-25 Data Various Unrelated Data 26 FilmBlockNumberHighByte These three bytes make up a 24 bit word: The least significant 18 bits are the film block number. 27 FilmBlockNumberMiddleByte The uppermost 6 bits are the reel number. 28 FilmBlockNumberLowerByte 29-32 Data Various Unrelated Data Table 2. Data Packet Definition Unreadable Film Blocks Occasionally the digital reader may not be able to recover the data contained in a digital block. This may be caused by a bad film print, scratches on the film, or by splicing tape covering up the digital blocks. There are also many normal, and unreadable (and thus invalid) blocks early in the reel. For whatever the reason, an interruption in valid blocks will not cause an interruption in the serial data packet stream. Instead, the data packet will mark itself as coming from an "uncorrectable" block. This will be reported by changing the "OuterCode" (byte 22) to a value of 255 (FF hexadecimal). If this is the case, the reel number and the film block number are invalid and should be ignored. Page 2
Reel Number The reel number is contained in the upper six bits of the FilmBlockNumberHighByte. The assigned reel number is constant throughout each reel of film. Most films will be mastered with the first reel being numbered reel #1, but this cannot be guaranteed. It is current practice to have each consecutive reel of film in a movie to be consecutively numbered, but again, this is determined by the engineers mastering the film, and cannot be rigorously guaranteed. Film Block Number Each block of digital data has a "film block number" encoded in its data. The film block number increments for every digital data block, and is sequential throughout the reel of film. This value is sent in the data packet and is contained in three consecutive bytes. These bytes together yield a 24 bit word. The 18 least significant bits of this word make up the film block number. The most significant 6 bits of this word are the reel number, as mentioned above. The film block number values increment sequentially, but will become discontinuous at the start of each new reel. This occurs when reels are spliced together, or when the reel changes due to a projector change-over. Splicing The end of a reel is typically spliced to the following reel. The film block number will not, however, be continuous with the film block number of the previous reel. The first film block number contained in the first digital audio block of each new reel will have a value of approximately 277. Note, however, that the first block number which is readable (and thus available via the serial data stream) may not be 277. This can be caused very easily, for example, if the splicing tape covers that particular digital block. Re-splicing may also cause the first block to have a value other than 277 due to frames being removed during the re-splicing operation. Changeover When two projectors are used, the reels of film are not spliced together. Instead, while one projector plays one reel of film, a second projector holds the next reel of film. A changeover occurs when the projector stops showing the current reel and the second projector starts showing the next reel. When this happens, the digital data stream will be different than previously described. For example, the last few blocks of the first reel may not be read. More importantly, perhaps, is that upon changeover it is unknown where on the second reel of film the next digital block will come from. The film in the second projector may be positioned such that the film block number from the first readable digital block is much greater (or much less) than 277. Page 3
While not likely, the first film block numbers may even be the extremely large numbers seen before the audio portion begins. (These large numbers are discussed below.) Timeline There is a sequence of events relating to when the blocks become valid, what value the film block number takes, and when it begins to track the film. Refer to Figure 2 for the following discussion. Digital blocks begin to appear on the leader of a film before they become valid, that is, before they hold actual data from the film audio track. The point on the figure called "Start of data file" refers to when the master digital audio file begins to show up in the digital film blocks. At this point a region containing 796 blocks is defined. Many of the blocks in this region will be invalid due to title blocks and other non-readable blocks. When the blocks are valid, the film block number will be in the range shown in figure 2. 796 blocks after the start of the data file the blocks become valid, and the film block number is set to 4. The film block number then increments smoothly and continuously from that point. Figure 2. Timeline and Film Block Number Description Relative timing At the moment that a data packet is sent out the serial port, an image is on the movie screen. (In fact, there are four data packets for each image shown on the screen.) The data coming out of the serial port does not give information about the digital audio block which corresponds to the current image being shown on the screen! There is a deterministic relationship between the two, however, and this relationship depends on the hardware being used to play the film, whether it be a DA10, DA20 or CP500. Page 4
Note that the use of the following information does not guarantee perfect synchronization between the data coming out of the serial port and the images on the movie screen. This can be due to the delays in the theater reproduction equipment, the theater itself, or the delay switch settings, which may not be set to the proper values. DA10 The DA10 has a very fixed relationship between the film block number which is coming out of the serial port, and the film block number which corresponds to the audio currently being sent out the Audio Out ports (which is synchronous with the screen image). The serial stream coming from the DA10 is 4 perfs ahead of the audio. This means the film block number is 4 counts greater than the block number for the audio that is currently being played, and which corresponds to the audio for the image currently being displayed on the screen. DA20 With a DA20, the difference between the block number being sent out the serial port and the block number corresponding to the action currently on the screen can be very large. This difference is determined by the setting of rotary switches which are accessible from the DA20 front panel. Figure 3. DA20 Front Panel A delay is set in the DA20 by adjusting the three middle rotary switches. SW1 (uppermost of the three), SW2 (center) and SW3 (lower) select a delay from 16 to 528 perforations. SW1 selects hundreds of perfs, SW2 sets tens of perfs, and SW3 single perfs. The difference between the block number for the action currently on the screen and the block number that is coming out of the serial port is determined by reading the value of these switches, and adding 8. For example, if the switches are set for 1-4 - 5 (upper to lower), then the block coming out the serial port is 153 (145 + 8) perforations ahead of the block corresponding to the audio for the action currently on the screen. Page 5
CP500 To find the delay settings for the CP500 perform the following operations: 1) Press the "Menu" button located under the screen. 2) Press the button for "Alignment" (located next to the screen). 3) Press the button for "Digital Soundhead Delay" (located next to the screen). 4) Read the delay setting. 5) Press the "Cancel" button (located under the screen). This number must have 8 added to it, as for the DA20, to arrive at the proper delay value. Summary The film block number may be used to synchronize external equipment to the Dolby Digital audio signal. This data is available at the serial port, and requires some knowledge of the system to adjust the delays for proper synchronization. Page 6