Usage ScenariosWhy is external control important? It depends on the usage scenario for the video wall. If the video wall is digital signage, the contents can be automatically changed based on sensor inputs that detect who is looking at the wall. Such sensor systems can detect/guess gender and age of viewers, so the signage contents can be changed to present material appropriate to the audience.
Such sensor systems can detect/guess gender and age of viewers, so the signage contents can be changed to present material appropriate to the audience.
In a control room, systems monitoring factory equipment or network health can bring particular data feeds to the foreground of the video wall if problems are detected. A security operations center could have software monitoring social media feeds and pop up a map on the video wall if it detects threatening comments. A surveillance system could show a video feed if it detects an intruder.
The API also allows integration with third party room controllers, like AMX and Crestron systems, that can provide a simple one-button approach to configuring the LED video wall content, room lighting, speaker volumes, etc. Many video wall customers want such integration, so some sort of API or external control mechanism is essential.
OptionsThere are several ways to implement programmable control for video wall systems. One way is to integrate a scripting language, like Lua or Python. Other industries have taken this approach: several popular multiplayer online games incorporate Lua to allow customization of the user experience. If a video wall system incorporated such a scripting language, developers could write programs that call the video wall system’s API to show and manipulate content. This allows tight integration, but the video wall system must provide mechanisms required for the script programs to communicate with external systems, all of which must be maintained and secured. It also requires that the customers’ programmers learn the specific scripting language chosen by the video wall company. We chose not to take this approach at Hiperwall.
Hiperwall’s Network-based ApproachThe approach we chose is to define a network API called HiperServices loosely based on a Web Services model. In this case, a client program (which can be written in nearly any programming language) sends an HTTP request to the video wall system to ask it for information or to command it to perform a task (show or manipulate an object, for example). These requests can get information about the video wall system itself (walls and their sizes), available content items, as well as content already on the wall. They can also command the wall (using a simple XML statement) to show a specified content item at a certain place with certain properties, including transparency, layering, color filters, and more. In our API, client programs specify an identifier for each object they show on the video wall. This can be thought of as a variable name in a programming language, so that identifier can be used in the future to manipulate that object or close it. XML-based commands can be used to move an object on the video wall or change other properties, making it stand out by turning it red, for example. These “change” commands can be chained and queued with a time parameter, thus animating an object in any way the client program desires. For example, wiggle the object to get attention, make it transparent and show what is behind it, and even more.
This very powerful network-based approach allows programmers to use programming languages they prefer, yet provides a flexible set of tools that can make the video wall and its content do amazing things. One of the earliest examples of the use of the XML-based API is HiperPong, a simple version of the video game Pong written to use the Hiperwall video wall. It is a small Java program that queries the wall size and available contents, then lets the user choose which content items will be used for the paddles and the ball. It then allows the user to control the paddles on each side of the video wall to play pong. Because it can use any object as the ball, for example, it can show a live video stream flying back and forth across the video wall rotating as the paddles hit it. The video below shows HiperPong in action.
The HiperPong program uses very simple physics to determine where the ball should be going, then it uses the HiperServices XML-based API to command the ball to move to the right location over the next 20th of a second, then when that 20th of a second has nearly expired, it does it again. This built-in animation capability allows the ball, paddles, and even the score numbers to move reasonably smoothly on the video wall without having to control the movement each frame (60 times per second).
External control of a video wall system is a powerful feature that allows the video wall and its content to be controlled via client software and third party video wall controllers. It allows the content and layout to react to external events from social media feed monitoring, surveillance systems, or other control systems. Hiperwall’s tool kit, HiperServices, allows a video wall designer to create a dynamic video wall solution that meets the requirements of each unique usage scenario. It also adds animation capabilities that provide freedom and control to empower design creativity.