When you are given a project that will require a variety of images and clips to be displayed on LED walls with unusual orientations, how do you prepare for programming? Recently I encountered this scenario and in the process of working out the details, I found a unique solution to this very specific situation that I think deserves sharing.
The method for implementing video into this project involved hanging three sets of four walls (12 walls total) with each wall consisting of a 4×4 array of LED tiles. Sounds straight forward, right? Oh, then each wall was rotated 45 degrees to create a diamond shape. (See Image 1).
Suddenly, things just became a little more complex. Since the LED walls in this show would be rotated, this meant that the image being played back from my server would need to be rotated for each piece of content on a layer to position it correctly on each one of the LED walls in the event. How do you do that without part of one image overlapping another in the raster? It requires the careful positioning of each region of interest in the raster and some good math.
Signal Layout
For the overall signal layout, I wanted to keep things simple and use the two 1920-by-1080 outputs of a single Mbox Designer v4, then sub-divide and repeat the individual signals three times so that we would have each layer displayed on three diamonds in different areas in the event (Layer 1 displayed on three diamonds, Layer 2 on three diamonds and so on). We accomplished this on this project using Image Pros, Datapath X4 boxes and Gefen VDA DVI boxes. (See Image 2).
LED Processor Setup
Once I discussed the signal layout with the LED Engineer, he asked me to give him the X, Y coordinates for the pixel in the upper left corner for each wall. LED processors require the location of the first pixel in the uppermost left corner of a tile (or group of tiles) and can only account for the wall to be hanging at a zero-degree angle. Luckily, the Mbox v4 software could easily give me the pixel coordinates he needed once I had created the mixes, taking the guesswork out (and minimizing the math at the same time).
Resolution and Theorems
This next section required me to bust out my calculator and pencil… With the resolution of each LED tile in the 4×4 array measuring 128×128 pixels, the total resolution for each diamond is 512 by 512. However, the distance between top and bottom tips as well as the left and right tips is more than 512 by 512, so a 512-by-512 image would not fill up the entire wall after the wall is rotated. So, using my calculator, I proceeded to work out what the image size needed to be when the image is rotated. And what I came up with was 725 by 725 (paying attention in math class really does pay off. Remember that little Pythagorean Theorem? 512² + 512² = C²). I tested this with an image I created that was 725 by 725, and success! It filled up the entire diamond tip to tip.
Once I had worked out what the resolution of the images really needed to be (not what the wall actually was), then the next challenge for me as the programmer was coming up with the best process/ simplest method for rotating all content being used in the show on a 45 degree angle, and then resizing to fit and fill the screens as needed. Knowing that I had hundreds of images and clips to be displayed and that the content we would be using consisted of images of all resolution sizes, from SD to HD, creating a scale preset for each image would be tedious and time-consuming. Since I was planning to use Mbox v4 to play back content for the show, I realized I could use a new feature called a Mix to accomplish this. So, I abandoned the idea of using a preset for each image and decided to use a Mix with a Mix Mode to accomplish this more easily.
Configuring the Mixes
First, I created four mixes labeled Wall 1,2,3 or 4 that matched the real pixel dimensions of each of the LED walls (512 by 512) and placed them within a 3840×1080 raster, or as Mbox v4 refers to it, the “Global Surface,” with two per output. (See Image 3). I then created four more mixes that would become the diamonds at 725 x 725, rotated them 45 degrees and positioned them over top of the four wall mixes so that each corner of the 512 by 512 wall mix touched an edge of the 725 by 725 diamond mix. (See Image 4a and Image 4b).
Programming
During the actual show, I used a grandMA2 console to control the Mbox media server, but for this article, I’m using Mbox Director to set up the example. In order to place content on each diamond, I began by assigning a layer to one of the four diamond mixes, and in this case, I used layers 2-6. (See Image 5). Why did I skip layer 1? I kept layer 1 open for a background layer of color (white or black) behind the layers to fill in the edges when an image didn’t completely fill the diamond (some images were smaller than 512-by-512, and I didn’t want to scale the image if at all possible).
Depending on the background of each image (some images looked better against a white background, while others looked better against a black background), using the background layer was only necessary sometimes. One note here: In hindsight, if I were to do this setup again, I’d use 2 layers per each diamond so that I could have a different background on each wall if I wanted, allowing me to use images as backgrounds instead of just colors.
Once I assigned each layer to a diamond Mix, then I Used the Mix Mode called “Center, Rotate, Crop” to position the layer correctly within the mix. As you can see in Image 6, the content will then rotate to a 45 degree angle, which makes sense on walls hanging at a 45 degree angle; the content displayed on each wall will be displayed in the correct position- albeit with some clipping in some cases around the edges.. but, hey, it’s art. (See Image 7.)
When DMX-controlled media servers were introduced into the lighting market, programming with content of a variety of sizes required storing a preset for sizing and scaling of each of the images one-by-one. This can take so much time just setting up each clip that you can end up with very little time left for anything else. For this reason, in this situation, I needed a solution that would essentially size and position the content into the correct location, dimensions and rotation angle to save time. Mbox Designer’s Mix and Mix Mode features gave me a way to accomplish what I needed to do without spending long hours behind those encoder wheels. And that left me more time to work on my lighting cues…and maybe a Sudoku puzzle or two.