Система однонаправленной передачи информации между речными и морскими судами на основе беспроводной оптики (FSO, free-space optics). Применяется светодиодный передатчик, подключенный к ноутбуку или ПК, кодирующему цифровой сигнал. В качестве приемника используется обычная веб-камера. Была поставлена задача спроектировать алгоритм обработки видеокадров по предоставленной модели кодирования информации и разработать ПО, позволяющее декодировать информацию.
Суть модели кодирования информации — в манипуляции гаммой и яркостью свечения светодиодов. Уровни яркости синего и красного цветов используются для кодирования уровня 0/1, а уровень зеленого цвета применяется в качестве синхронизирующего сигнала.
Зеленый светодиод обозначает каждый бит байта разным уровнем мощности. Уровни подобраны так, что отношение текущего уровня к следующему дает уникальное число, идентифицирующее один из 8 битов в байте.
До передачи каждых 3 байтов происходит передача калибровочной последовательности из 8 кадров. Каждый байт передается также за 8 кадров. Скорость передачи полезной информации составляет 22,5 бита в секунду.
Изначально замысел заказчика состоял в поиске светового пятна в кадре и дальнейшем анализе этого пятна. Практика показала, что такой алгоритм нежизнеспособен, так как процесс очень ресурсоемкий, но в определении физических границ светового пятна нет необходимости.
В ходе проектирования специалистами EDISON был предложен и разработан новый алгоритм, основанный на оценке светимости всего кадра по сравнению с предыдущими. При этом разработаны фильтры, отсекающие информацию с нецелевой части изображения и шумы. Суть предложенного алгоритма заключается в следующем.
- Выбирается исходный кадр, на котором светодиод не светится. Далее этот кадр используется как базовый и вычитается из последующих.
- Когда находится кадр, в котором суммарный объем оставшейся после вычитания информации превосходит установленный порог, что свидетельствует о светящемся светодиоде, выполняются дальнейшие вычисления.
- Из найденного кадра удаляется полностью засвеченное белое пятно и весь постоянный фон исходного кадра. На полученном изображении остается только ореол светового пятна.
- Оставшиеся вне ореола шумы фильтруются с заданным настраиваемым порогом яркости.
- Определяется гамма ореола, интенсивность свечения каждой цветовой компоненты, и по этим параметрам производится декодирование передаваемой кадром информации.
В результате разработки прототипа был сделан вывод, что предложенный способ передачи информации с помощью светодиодов может быть использован на практике. Разработаны алгоритмы, позволяющие считывать и декодировать информацию из такого видеопотока.