Multi-channel Synchronization

Source: Internet
Author: User
I. Summary

Multi-channel projection is a typical realization of Virtual Reality. Multi-Channel projection can be multiple CRT, LCD display, or DLP projector. An important issue in multi-channel display is to keep the display screen synchronized between different channels.

For a multi-channel system with a channel corresponding to <one computer or one monitor>, the synchronization problem involves three levels: datalock, swaplock, and genlock.

1. datalock:

It is used to ensure that the rendering computer uses the same scenario data (including the data to be updated for each frame and the intermittent data similar to messages) for updates during each rendering cycle, to avoid inconsistency between different computers.

2. swaplock

It is used to ensure that each rendering Computer switches frame caching in the same instant during each rendering cycle to avoid inconsistency during screen switching.

3. framelock & genlock

Framelock indicates that the display scanning frequency of each rendering computer is consistent with that of each other, while genlock (generatorlock) means that the scanning frequency of the display is consistent with that of an external frequency source. Framelock and genlock can be synchronized at the pixel level, scan row level, and frame level. What I see is frame-level synchronization. Framelock & genlock is particularly important in stereo display, because the frame rate of each channel display must be synchronized with the switching frequency of the stereo glasses shutter switch [1].

2. datalock

Datalock is usually implemented by software, and data synchronization is achieved by controlling the transmission, receipt, and processing of network data.

Iii. swaplock

Swaplock can also be achieved by software compromise. Generally, the locking error of swaplock is within 1 ms through the network. for interactive programs, this is enough. Swaplock also supports hardware, such as NVIDIA Quadro g graphics card, which can be achieved with OpenGL extension.

I will write about the software implementation of datalock and swaplock in the next article. The following describes how framelock & genlock is implemented.

4. framelock & genlock hardware implementation:

Currently, professional graphics cards are supported for framelock & genlock, such as 3 dlabs wildcat4 7210, NVIDIA Quadro FX 3000g, and Quadro
FX 4000, Quadro fx 4500, Quadro FX 5500. A nvidia video card is connected to an external synchronization source signal (implementing genlock) when it is used, and is used as a master using the NVIDIA Control Panel; other video cards are connected to the master video card (framelock is implemented), and the control panel is used as the slave. NVIDIA OpenGL extensions provide corresponding software function calls. For more information, see NVIDIA
Framelock manual.

Software Implementation:

More specifically, it is the implementation method of combining hardware and software. The difference between this method and the above method is that it does not use professional graphics cards, you can just create or purchase a few small plug-ins to connect to the computer port and graphics card when using the software to use a consumer-level graphics card to achieve framelock & genlock.

Software: softgenlock: http://www.hlrs.de/organization/vis/people/aumueller/genlock/ in Linux

Software in Windows: winsgl http://graphics.ethz.ch /~ Mwaschbu/winsgl/

The two have the same principle, which is collectively referred to as SGL.

As shown in figure 1, SGL connects external 0-5 V pulse signals (such as TTL signals) through the computer parallel port, and The SGL driver reads the signal frequency, which is provided by PowerStrip (provided by entech) functions and DirectDraw
The API obtains the vedio timing information of the computer graphics card. The SGL application compares the two to obtain the corresponding method for adjusting the video timing (see the next section ), the PowerStrip function executes this method to control the display frequency to be consistent with that of the external source.

Figure 1 SGL running Structure

The video Timing Method of the video card is to adjust the vertical front-end porch time. Because when a display displays a frame of a screen, it is not just scanning the area that the user can see, but scanning the circular invisible area around the visible area is necessary (these scans are useful, as shown in figure 2, only the red part is visible. SGL is used to change the vertical in the invisible area.
The time occupied by the porch scan is used to adjust the screen scan time of each frame, so as to fine-tune the display frequency so that it is consistent with the external synchronization source.

Figure 2 video timing

Therefore, you only need to set the external synchronization source frequency (such as 60.000Hz), use your own plug to connect the external synchronization signal to the computer parallel port, and observe the synchronization signal through the VGA port, then run the software.

The following is my experiment:

Hardware devices include:

1. NVIDIA geforce 6800gt card

2. viewsonic ve710b LCD at 60Hz refresh rate

3. square form clock = enerator at about 60Hz, 5 V TTL

4. Windows 2000 OS

5. sg1646a signal generator (as shown in figure 3)

Figure 3 sg1646a Signal Generator

The running screen is shown in Figure 4:


 

Figure 4 winsgl running Screen

The meaning of a single line of modeline:

1024 pixels: horizontal active period

40 pixels: horizontal front porch

136 pixels: horizontal sync width

144 pixels: horizontal back porch

768 lines: vertical active period

12 lines: vertical front porch

6 lines: vertical sync width

16 lines: vertical back porch

This is the result of an experiment a year ago. The performance is unstable and sometimes lost sync occurs. I don't know what's going on now...

References:



[1] http://http.download.nvidia.com/XFree86/Linux-x86/1.0-9629/README/appendix-x.html

2. http://www.nvidia.com/object/IO_10794.html

3. http://www.hlrs.de/organization/vis/people/aumueller/genlock/

4. http://www.nvidia.com/object/IO_10753.html

5. Software-genlock for windowsk, Michael duller

6. NVIDIA framelock User's Guide

7. winsgl: Software genlocking for cost-tive Display Synchronization under Microsoft Windows

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.