Configuring a Video Wall with Bezel Compensation
Layout Overview
A bezel is the physical frame around the display area of a panel, which usually contains a border of black (inactive) pixels that separate that display area from the display area on adjacent panels. If there is no compensation for the bezel, it can cause alignment issues. Bezel compensation, which discards the display content under the central bezels, should be applied to video walls to ensure that displayed images move smoothly across adjacent panels.
Calculating Bezel Size
You must know the screen width and height to calculate the bezel size. The formula to calculate the size of a screen bezel in pixels from millimeters is:
(Screen width/height in pixels) X (Bezel size in millimeters) / (Screen width/height in millimeters) = Bezel size in pixels
See the example below for more information.
Note that bezels on the ‘outside of the layout’ aren’t included, meaning no matter how large they are, if a zone is placed at [0, 0] on the zone layout canvas, it will indeed start at the top left of the first screen in the layout.
Example
This example uses a four panel display wall (see Image 1) where the panel dimensions are 1100mm (1920 pixels) by 620mm (1080 pixels), the horizontal bezel is 17mm, and the vertical bezel is 20mm.
To get the number of pixels in the horizontal bezel area, multiply the screen width in pixels by the bezel in millimeters, then divide by the screen width in millimeters:
(1920p x 17mm) / 1100mm = 30 pixels
To get the number of pixels in the vertical bezel area, multiply the screen height in pixels by the bezel in millimeters, then divide by the screen height in millimeters:
(1080p x 20mm) / 620mm = 35 pixels.
To get the total bezel-adjusted resolution, add the width to the height:
(1920p + 30p + 1920p) + (1080p + 35p + 1080p) = (3870 x 2195 pixels)
Configuring a Video Wall with Bezel Compensation
To configure a 1x2 video wall with bezel compensation:
vm = CreateObject("roVideoMode")
sm = vm.GetScreenModes()
sm[0].video_mode = "1920x1080x60p"
sm[0].transform = "normal"
sm[0].display_x = 0
sm[0].display_y = 0
sm[0].enabled = true
sm[1].video_mode = "1920x1080x60p"
sm[1].transform = "normal"
sm[1].display_x = 0
sm[1].display_y = 1100 'Bezel compensation of 20 pixels
sm[1].enabled = true
sm[2].enabled = "false"
sm[3].enabled = "false"
vm.SetScreenModes(sm)