|
Абдул Алиф
Aвтоматический баланс белого FPGA или MK
В цифровом видео правильный цветовой баланс, как правило, достигается с помощью устройства автоматического баланса белого (система обработки изображения так подстраивает и регулирует свою цветовую чувствительность к определённой сцене, что конечное изображение имеет одинаковые уровни всех цветовых составляющих). Устройство баланса белого обычно реализуется на программируемых логических матрицах (FPGA) или на специализированных интегральных сигнальных процессорах, выполняющих массу других функций обработки изображения, причём функции управления камерой в этом случае выполняет относительно простой низкопроизводительный микроконтроллер. В данной статье рассматриваются проблемы построения устройств автоматического баланса белого, а также возможности применения дешёвого высокопроизводительного микроконтроллера как для обработки видеоизображения в реальном времени, так и для выполнения общих функций управления.
Видеоустройства на ПЗС матрицах
В обычной цифровой видеоаппаратуре для получения изображения используются светочувствительные ПЗС матрицы. Свет, падающий на матрицу, формирует заряд на каждой элементарной её ячейке. Аналоговый видеосигнал получается за счёт последовательного считывания зарядов всех ячеек. Этот сигнал усиливается, преобразуется из аналоговой формы в цифровую, обрабатывается в таком виде, а затем передаётся или записывается куда-либо как математическое представление изображения.
Рис. 1
Рис. 1 иллюстрирует принцип действия устройства автоматического баланса белого в обычной цифровой видеокамере. Объектив фокусирует изображение на ПЗС матрице. Она формирует аналоговый сигнал, который затем усиливается и преобразуется в цифровую форму. Цифровые данные обрабатываются специализированной микросхемой цифрового сигнального процессора. Обработанный цифровой видеосигнал записывается в буферное ОЗУ, откуда он поступает на долговременное запоминающее устройство или дисплей. Микроконтроллер обслуживает пользовательский интерфейс и обеспечивает всё полнофункциональное управление видеокамерой. Устройство автоматического баланса белого управляет коэффициентом передачи усилителя с целью получения на изображении нейтрального цветового баланса.
Скорость передачи видеоданных и формат
Для удовлетворения требованиям стандарта NTSC и CCIR 658, а также для совместимости с форматами MPEG1/MPEG2, частота дискретизации выхода ПЗС матрицы должна быть равна 27 МГц (27 млн. пикселей в сек.). Синхроимпульсы с частотой 27 МГц делят каждую горизонтальную строку видеоизображения на пиксели. Чтобы правильно формировать данные, синхроимпульсы должны иметь очень маленькую нестабильность относительно поступающего видеоизображения.
Слова данных в потоке видеоданных мультиплексируются в определённом порядке: U, Y, V, Y, U, Y, V и так далее, где параметр Y описывает яркость, а параметры V и U — цвет. Устройство автоматического баланса белого изменяет усиление тракта с целью балансировки конечных значений параметров U и V.
Видеосигнал содержит цифровые кодовые слова, которые передаются по 8-проводной линии из витых пар. По каждой паре передается мультиплексированный битовый поток каждой из составляющих видеосигнала (U, Y или V, Y). 9-й проводник служит для передачи импульсов синхронизации с частотой 27 МГц. Принцип синхронизации сигналов показан на рис. 2.
Рис. 2. Синхронизация потока видеоданных
Автоматический баланс белого
Описываемый здесь алгоритм автоматического баланса белого основывается на априорном условии, что сцена нейтральна в цвете (по крайней мере, при усреднении по всему кадру). Поэтому, более яркие элементы изображения должны быть пропорциональны нейтральному белому. Для увеличения скорости, алгоритм просматривает только часть всех пикселей, производя их выборку на изображении согласно регулярной сетке, а затем балансирует цвет наиболее ярких из них.
Алгоритм использует четыре строки изображения, расположенные на расстоянии 32 строк друг от друга и просматривает 16 отсчётов, равномерно распределённых по каждой из этих четырёх строк. Для каждого выбранного пикселя при уровне его яркости выше 60% и уровне цветности выше 50% от пикового значения, значение счётчика цветности увеличивается. В противном случае, оно уменьшается. После обработки всех 64 отсчётов, значение счётчика соответствует полному цветовому балансу. Если это значение положительно, то усиление цвета будет уменьшено, если отрицательно, то — увеличено.
Микроконтроллерная реализация баланса белого
Устройство баланса белого обычно реализуется на микросхеме программируемой логики или цифровом сигнальном процессоре, выполняющем многие другие функции обработки изображения. Отдельный микроконтроллер при этом выполняет только функции управления видеокамерой, и его производительности недостаточно для выполнения функций обработки видеоизображения в реальном масштабе времени.
В тоже время, применение относительно недорогого, но высокопроизводительного микроконтроллера позволило бы не только выполнять общие функции управления, но также и обеспечивать управление балансом белого, устраняя необходимость применения FPGA и затраты, связанные с её разработкой и использованием. Такое решение обеспечило бы системе максимальную гибкость и позволило бы по необходимости изменять алгоритм её функционирования. Кроме того, возможность программирования микроконтроллера непосредственно в системе позволила бы значительно сократить производственный цикл изделий.
Ниже представлены главные характеристики микроконтроллера, который нужно рассматривать как замену FPGA.
Высокая рабочая частота
Устройство должно работать на частоте, как минимум, 27 МГц — частоте дискретизации стандарта CCIR 656, чтобы частота внутреннего генератора микроконтроллера могла быть синхронизирована со скоростью потока данных.
Выполнение команд за один цикл
Лучше, если входная тактовая частота будет равна частоте выполнения команд, а не превышать её в целое число раз. В микроконтроллерных устройствах, где входная тактовая частота делится для получения командной тактовой последовательности, фаза командных тактовых импульсов не определена, что представляет собой дополнительную проблему синхронизации команд с потоком данных. В устройствах, использующих входную тактовую последовательность как командную, имеется только один входной фронт импульса, с которым придётся иметь дело.
Детерминированное время выполнения команд
и обработки прерываний
Время выполнения команд и обработки прерываний должны быть точно известны во всех условиях. Это позволяет программе отслеживать число циклов, выполненных после прихода положительного фронта сигнала HREF (рис. 2), включая время обработки прерываний, и правильным образом выбирать пару данных (U, Y или V, Y) в любом месте горизонтальной строки.
Микроконтроллер SX, производства Scenix Semi-conductor представляет собой высокопроизводительное 8-бит устройство, удовлетворяющее всем вышеперечисленным требованиям. Здесь используется четырёхкаскадный конвейер (выборка, декодирование, обработка, запись), обеспечивающий выполнение одной команды за один тактовый цикл. При максимальной рабочей частоте 100 МГц большинство команд выполняется за 10 нс (со скоростью 100 млн. операций в сек.). Время обработки прерывания здесь детерминировано и занимает только три цикла (30 нс) с момента подтверждения прерывания до начала выполнения процедуры прерывания. Микроконтроллер поддерживает функции программирования и отладки “в системе”.
Высокая производительность микроконтроллера SX позволяет устройству обеспечивать не только управление балансом белого, но также и автоматическую регулировку усиления (AGC) во входном аналоговом тракте цифровой видеокамеры. Кроме того, устройство может обслуживать пользовательский интерфейс, осуществлять сканирование кнопок управления и управлять режимами потребления системы.
Рис. 3
На рис. 3 показано, каким образом видеосигналы подаются на микроконтроллер SX18AC. Сигнал CLKIN с частотой 27 МГц (частота дискретизации видеосигнала), а также другие видеосигналы подводятся непосредственно от устройства цифрового сигнального процессора к SX18AC.
Рис. 4
Внутренний тактовый генератор синхронизи-рован относительно сигнала HREF, который соединён с выводом RTTC микроконтроллера (источник прерываний). Вывод VSYNC используется для указания конца кадра. Порт B устройства SX18AC используется для считывания 8-бит потока видеоданных со скоростью 27 МГц (8-бит режим формата ITU-656). Команды баланса белого пересылаются в цифровой сигнальный процессор по шине I2C (сигналы SDA и SCL).
Поставки высокопроизводительных микроконтроллеров серии SX
фирмы «Scenix Semiconductor» осуществляет отделение компании «SEI MACRO» в России — фирма «МАКРО ТИМ» (Москва)
Тел. (095) 306-0026, 306-4721, факс (095) 306-0283
E-mail: sales@sei-macro.msk.ru
http://www.sei-macro.msk.ru
CIE, май 1999 г.
Перевод Ю. Потапова
|