В этом примере показано, как проектировать аппаратный фильтр изображений с использованием блоков Vision HDL Toolbox™. Он также использует блоки Toolbox™ Computer Vision.
Основные характеристики модели аппаратной обработки видео в Simulink ®:
Потоковый пиксельный интерфейс: Блоки в Vision HDL Toolbox используют потоковый пиксельный интерфейс. Последовательная обработка эффективна для аппаратных решений, поскольку для хранения пиксельных данных для вычислений требуется меньше памяти. Последовательный интерфейс позволяет блоку работать независимо от размера и формата изображения и делает конструкцию более устойчивой к ошибкам синхронизации видео. Дополнительные сведения см. в разделе Потоковый пиксельный интерфейс.
Подсистема, предназначенная для генерации кода HDL: Разработка аппаратной модели потоковой обработки видео с использованием пикселей путем выбора блоков из библиотек Vision HDL Toolbox. Часть проекта, предназначенная для генерации кода HDL, должна быть в отдельной подсистеме.
Преобразование в видео на основе кадров: Для проверки можно отобразить видео на основе кадров или сравнить результат аппаратно совместимой конструкции с выводом поведенческой модели Simulink. Vision HDL Toolbox предоставляет блок, позволяющий десериализовать выходные данные проекта.
В этом учебном пособии для начала работы используется шаблон модели Simulink.
Нажмите кнопку Simulink или введите simulink в командной строке MATLAB ®. На начальной странице Simulink найдите раздел Vision HDL Toolbox и щелкните шаблон базовой модели.
Шаблон создает новую модель, которую можно настроить. Сохраните модель с новым именем.

Шаблон включает в себя блок источника видео, который содержит образец видео 240p. Каждый пиксель является скаляром uint8 значение, представляющее интенсивность. Рекомендуется разрабатывать и отлаживать конструкцию, используя небольшой размер кадра для быстрых циклов отладки, перед масштабированием до больших размеров изображения. Этот источник 240p можно использовать для отладки дизайна, предназначенного для видео 1080p.
Блок «От кадра до пикселей» преобразует кадрированное видео в поток пикселей и структур управления. Этот блок обеспечивает ввод для подсистемы, предназначенной для генерации кода HDL, но сам не поддерживает генерацию кода HDL.
Шаблон включает экземпляр этого блока. Для моделирования со стандартным форматом видео выберите предопределенный формат заполнения видео в соответствии с источником ввода. Чтобы смоделировать изображение пользовательского размера, выберите размеры неактивных областей, которыми нужно окружить изображение. В данном учебном пособии используется стандартный формат видео.
Откройте диалоговое окно блока «От кадра до пикселов» для просмотра настроек. Исходное видео в формате 240p в градациях серого. Скалярное целое число представляет значение интенсивности каждого пикселя. Чтобы сопоставить входное видео, установите для параметра Количество компонентов значение 1, а для параметра Формат видео значение 240p.
Примечание.Время выборки источника видео должно соответствовать общему количеству пикселей в размере кадра, выбранном в блоке «От кадра до пикселей». Установите значение времени выборки «Всего пикселов на строку» × «Всего строк». В InitFcn обратный вызов, шаблон создает переменную рабочей области, totalPixels, для времени выборки кадра 240p.

Разработка подсистемы, предназначенной для генерации кода HDL, путем изменения подсистемы алгоритма HDL. Входные и выходные порты подсистемы используют формат пикселя потоковой передачи, описанный в предыдущем разделе. Откройте подсистему алгоритма HDL, чтобы отредактировать ее.
В браузере библиотеки Simulink выберите «Панель инструментов Vision HDL». Можно также открыть эту библиотеку, введя visionhdllib в командной строке MATLAB.
Выберите блок обработки изображений. В этом примере используется блок «Фильтр изображения» из поддиапазона «Фильтрация». Вы также можете получить доступ к этой библиотеке, введя visionhdlfilter в командной строке MATLAB. Добавьте блок фильтра изображений в подсистему алгоритма HDL и подключите порты.

Откройте блок «Фильтр изображений» и внесите следующие изменения:
Установить коэффициенты фильтра в ones(4,4)/16 для реализации операции размытия 4 × 4.
Задать для метода заполнения значение Symmetric.
Установите размер буфера строки равным 2, что соответствует размеру активной строки наибольшего требуемого формата кадра. Этот параметр не влияет на скорость моделирования, поэтому его не нужно уменьшать при моделировании с помощью небольшого тестового изображения. По умолчанию, 2048, используется формат видео 1080p.
На вкладке «Типы данных» в разделе «Тип данных» задайте для параметра «Коэффициенты» значение fixdt(0,1,4).
Можно визуально или математически сравнить проект, нацеленный на ЛПВП, с поведенческой моделью для проверки аппаратного проекта и мониторинга ошибки квантования. Шаблон включает в себя подсистему поведенческой модели с портами ввода и вывода на основе кадров для этой цели. Дважды щелкните поведенческую модель, чтобы изменить ее.
Для этой обучающей программы добавьте 2-й Фильтр ЕЛИ (Компьютерный Комплект инструментов Видения) блок от Компьютерного Системного Комплекта инструментов Видения. Этот блок фильтрует весь кадр одновременно.
Откройте блок 2-D FIR Filter и внесите следующие изменения в соответствии с конфигурацией блока Image Filter на панели инструментов Vision HDL Toolbox:
Установить коэффициенты в ones(4,4)/16 для реализации операции размытия 4 × 4.
Задать для параметров заполнения значение Symmetric.
На вкладке «Типы данных» в разделе «Тип данных» задайте для параметра «Коэффициенты» значение fixdt(0,2,4).
Используйте блок «Пикселы к кадру», включенный в шаблон, чтобы десериализовать данные для отображения.
Откройте блок «Пикселы к кадру». Задайте свойства размера изображения, соответствующие входному видео и настройкам, заданным в блоке «От кадра до пикселов». В данном учебном пособии для параметра «Количество компонентов» установлено значение 1, а для параметра «Формат видео» - значение 240p. Блок преобразует поток выходных пикселей и управляющих сигналов обратно в матрицу, представляющую кадр.
Используйте блоки Video Viewer, включенные в шаблон, для визуального сравнения выходных кадров. validOut сигнал блока Pixels To Frame подключен к Enable порт средства просмотра. Запустите модель для отображения результатов.



После выполнения моделирования можно использовать Coder™ HDL для создания кода HDL для подсистемы алгоритма HDL. См. раздел Создание кода HDL из Simulink.