Если вы когда-либо были на хоккее/баскетболе/гандболе или смотрели игру по телевизору, то вы видели, что у игры показывают два главных параметра - счет и время. Сначала, когда трава была зеленее и мороженое вкуснее, использовали обычный секундомер для времени и грифельную доску для отображения счета. Спустя некоторое время появились электронные табло с отображением счета и времени. Для них потребовался пульт ввода данных (чтобы выставить счет) и внутри пульта были встроены часы, которые вели отсчет времени матча. Это и есть матч-контроллер. Виды спорта обрастали правилами и регламентами - в матч-контроллеры интегрировались табло атаки, заворотные фонари, удаления, данные о голах и прочая-прочая информация. Сейчас матч-контроллер это весьма комплексное устройство с большим количеством функций и интеграций, не всегда очевидных на первый взгляд.
Аппаратные матч-контроллеры очень редко поддерживают только один вид спорта. Чаще всего это устройства поддерживающие множество дисциплин, так как на одном и том же поле проводятся соревнования по разным видам спорта, да и создавать десяток устройств под каждый вид спорта не очень разумно. Как это ни странно, но программные матч-контроллеры чаще являются моно-спортивными. Они больше ориентированы «вглубь» - у вас есть все детали матча, нежели «вширь» - охватить максимальное количество видов спорта. С программными матч-контроллерами поддержка различных видов идет через разные реализации программы для каждой дисциплины. Для программных контроллеров возможны достаточно интересные решения - консоли дополнительного ввода данных, супервайзеры, автоматическое медиа-сопровождение матча и т.д. Естественно, что чем больше элементов в системе, тем она менее надежна, это априори, поэтому в строительстве сложных спортивных систем так важно чтобы все делалось квалифицированными людьми.
Немного про видео-гол.
Для видов спорта с чистым временем (хоккей/баскетбол) в судействе используются системы видео-гол - это синхронная съемка спортивного события большим количеством камер с впечатыванием текущего времени матча в каждый кадр. Это позволяет понять действительно ли шайба пересекла линию ворот до истечения последней доли секунды или когда отпустил мяч баскетболист. И здесь важна технология синхронизации времени между системой записи и матч-контроллером.
Самый простой способ, который применяется и сейчас - одна из камер пишет видео спортивного табло и оператор визуально отмечает закончилось время тайма или нет. Как ни странно это вполне допустимый вариант… был до недавнего времени. Проблема в том, что формированием картинки спортивного табло сейчас зачастую занимаются отдельные вспомогательные системы и подготовка отображения может занимать некоторое время, что вносит свою задержку и отставание от времени внутри матч-контроллера.
Второй, текущий стандарт де-факто - опорное время от матч-контроллера передается через TCP/IP или последовательный интерфейс от матч-контроллера. В плюсы - простота реализации, в минусы задержка (до 0.1 с для последовательных интерфейсов) и без дополнительных настроек TCP/IP передается без константного времени прохождения данных, что вызывает споры на тему того, что приход и обработка опорного времени «гуляет». Плюс к этому периодически возникают баталии на тему насколько программные матч-контроллеры вообще могут выполнять роль опорного времени, поскольку они не являются системами реального времени.
Третий - метод, который пока только тестируется некоторыми участниками рынка - передавать не опорное время, а синхронизировать часы узлов системы и передавать события. Такой подход обеспечит максимальную синхронность времени в узлах системы и, соответственно, время впечатываемое в кадр будет с точностью в 1 микросекунду синхронно с временем события внутри матч-контроллера.
С ростом требований к точности времени все* приходят примерно к одной архитектуре - синхронизация узлов и управление событиями. Такие решения используются в сотовой связи, в спортивном хронометраже, в системах высокоскоростной съемки GigE Vision и т.д.
Таким образом, обычные часы внезапно стали высокоточной системой с множеством элементов.
*при контроле стоимости:)