Мультизональное измерение

Этот пример показывает, как использовать блок Image Statistics, чтобы выполнить измерение мультизоны, чтобы извлечь видимую область (ROI).

Существуют многочисленные приложения, где входное видео разделено на несколько зон, и статистическая величина затем вычисляется по каждой зоне. Например, много алгоритмов автовоздействия вычисляют различие в средней интенсивности между зонами. Это позволяет контроллеру затвора логику, чтобы определить, недоэкспонируется ли изображение (в целом низкое освещение), правильно представлено (универсальное освещение) или переэкспонировано (у одного или нескольких КОРОЛЕЙ есть большее среднее значение).

Введение

Систему MultizoneMeteringHDL.slx показывают ниже.

Зеленый и красные линии представляют обработку полного кадра и обработку пиксельного потока, соответственно. Цветовое различие указывает на изменение в уровне изображений на ответвлении потоковой передачи модели. Этот переход уровня состоит в том, потому что пиксельный поток отослан за то же количество времени как полные кадры видео, и поэтому это передается на более высоком уровне.

В этом примере подсистема экстракции ROI Пиксельного Потока вычисляет среднее значение интенсивности более чем 12 предопределенных КОРОЛЕЙ в кадре и выводит индекс (1-12), который соответствует самому освещенному ROI. Нисходящая подсистема Выбора Маски принимает этот индекс и выводит связанный бинарный рисунок маски. Бинарный рисунок маски применяется к исходному видео, чтобы отобразить только самый освещенный ROI и маску от других 11 КОРОЛЕЙ. Блок Delay в верхнем уровне модели используется, чтобы совпадать с задержкой, введенной обработкой пиксельного потока.

Один кадр исходного изображения, бинарного рисунка маски, и ROI вывод, показывают слева направо в схеме ниже.

Можно сгенерировать HDL-код от подсистемы Экстракции ROI Пиксельного Потока.

Источник видеосигнала

Формат видео составляет 240 пунктов. Каждый кадр состоит из 240 строк и 320 пикселей на строку. В этом примере кадры видео разделены на 12 неперекрывающихся прямоугольных КОРОЛЕЙ, обозначенных как ROI номер 1 - 12, как показано в схеме ниже. Каждый ROI включает один ключ входного изображения клавиатуры.

ROI номер 1 имеет 107 пикселей шириной и 60 пикселей высотой, и (x, y), координата его верхнего левого пикселя (1,1). ROI номер 2 имеет 107 пикселей шириной и 60 пикселей высотой, и координата его левого верхнего пикселя (108,1) и так далее. Первый кадр входного видео имеет более яркие пиксели в ROI номер 1, как показано выше. Второй кадр имеет более яркие пиксели в ROI номер 2 и так далее.

Кадр к пикселям: генерация пиксельного потока

Кадр К Пикселям преобразовывает изображение полного кадра в пиксельный поток. Чтобы моделировать эффект горизонтальных и вертикальных времен гашения обратного хода, найденных в реальных аппаратных системах видео, активное изображение увеличивается с неданными изображения. Для получения дополнительной информации о пиксельном протоколе потоковой передачи смотрите Пиксельный Интерфейс Потоковой передачи. Блок Frame To Pixels сконфигурирован как показано:

Номер поля компонентов определяется к 1 для входа полутонового изображения, и поле Формата видео составляет 240 пунктов, чтобы совпадать с тем из источника видеосигнала.

В этом примере Активная Видео область соответствует 240x320 матрица исходного изображения. Шесть других параметров, а именно, Общие пиксели на строку, Общие видео строки, Запуская активную строку, Заканчивая активную строку, Передний подъезд и Заднее крыльцо задают, сколько неданных изображения будет увеличено на четырех сторонах Активного Видео. Для получения дополнительной информации смотрите страницу с описанием блока Frame To Pixels.

Обратите внимание на то, что шаг расчета Источника видеосигнала определяется продуктом Общих пикселей на строку и Общих видео строк.

Экстракция ROI пиксельного потока

Подсистема Экстракции ROI Пиксельного Потока содержит две подсистемы, а именно, Мультизональное Измерение и Индексатор ROI.

Подсистема Измерения Мультизоны вычисляет среднее значение интенсивности по 12 предопределенным КОРОЛЯМ. Получившиеся 12 средних значений передаются нисходящей подсистеме Индексатора ROI. Выходные параметры ROI Indexer индекс (1-12) ROI, который имеет максимальное среднее значение интенсивности (или эквивалентно, самый освещенный ROI) среди этих 12 кандидатов.

Структуру подсистемы Измерения Мультизоны показывают в схеме ниже.

Подсистема Измерения Мультизоны содержит 12 идентичных подсистем ROIStatistic. Каждый экземпляр ROIStatistic вычисляет среднее значение интенсивности по одному ROI. Все 12 подсистем ROIStatistic берут пиксель и ctrl как их первые два входных параметров. Остающиеся четыре входных параметров задают, какой ROI эта подсистема продолжает работать, и они отличаются от одной подсистемы до другого. Например, подсистема ROIStaticstic1 фокусируется на ROI номер 1 путем принятия (x, y) координата левого верхнего пикселя (1,1), ширина ROI 107, и высота 60. Точно так же подсистема ROIStaticstic12 фокусируется на ROI номер 12, чей (x, y) координата левого верхнего пикселя (215,181), и чья ширина и высота равняются 106 и 60, соответственно.

ROIStatistic1 - подсистемы ROIStatistic12 совместно используют ту же структуру, показанную ниже.

Это содержит подсистему ROI, сопровождаемую блоком Image Statistics. Подсистема ROI управляет управляющим сигналом исходного 240p изображения и создает управляющие сигналы, сопоставленные только с ROI, заданным (x, y) пара, ROIWidth и ROIHeight.

Выбор маски

Структуру подсистемы Выбора Маски показывают ниже.

Двенадцать рисунков маски доступны, соответствуя 12 различным КОРОЛЯМ. Эти шаблоны маски показываются BM {1} к BM {12} в вышеупомянутой схеме. Когда вы открываете модель, модель загружает предопределенный массив ячеек BM в рабочую область. Маски являются двухуровневыми изображениями с форматом видео на 240 пунктов. Для маски BM {n} (n=1,2..., 12), ROI номер n заполнен (белыми) пикселями логической единицы, и все другие 11 КОРОЛЕЙ переполнены (черными) пикселями логического ноля. На основе индексного входа (1-12), подсистема Выбора Маски выводит связанный бинарный рисунок маски.

Генерация HDL-кода

Проверять и сгенерировать HDL-код сослались в этом примере, у вас должна быть лицензия HDL Coder™.

Чтобы сгенерировать HDL-код, используйте следующую команду.

makehdl('MultizoneMeteringHDL/Pixel-Stream ROI Extraction')

Чтобы сгенерировать испытательный стенд, используйте следующую команду. Обратите внимание на то, что генерация испытательного стенда занимает много времени из-за большого размера данных. Можно хотеть уменьшать время симуляции прежде, чем сгенерировать испытательный стенд.

makehdltb('MultizoneMeteringHDL/Pixel-Stream ROI Extraction')