Image Filter

2-D конечная импульсная характеристика

  • Библиотека:
  • Vision HDL Toolbox/Фильтрация

  • Image Filter block

Описание

Блок Image Filter выполняет двумерную фильтрацию с конечной импульсной характеристикой (КИХ) на потоке пикселей и поддерживает использование программируемых коэффициентов фильтра.

Порты

Этот блок использует интерфейс потокового пикселя с шиной для сигналов управления системой координат. Этот интерфейс позволяет блоку работать независимо от размера и формата изображения. Порты pixel на этом блоке поддерживают потоковую передачу с одним пикселем или многопиксельную потоковую передачу. Потоковая передача с одним пикселем принимает и возвращает одно значение пикселя каждый такт. Мультипиксельная потоковая передача принимает и возвращает 4 или 8 пикселей за тактовый цикл для поддержки форматов с высокой частотой кадров или с высоким разрешением. Вместе с пикселем блок принимает и возвращает pixelcontrol шина, которая содержит пять управляющих сигналов. Сигналы управления указывают валидность каждого пикселя и их местоположение в системе координат. Для многопиксельной потоковой передачи один набор управляющих сигналов применяется ко всем четырем или восьми пикселям в векторе. Чтобы преобразовать систему координат (пиксельную матрицу) в последовательный поток пикселей и сигналы управления, используйте блок Frame To Pixels. Полное описание интерфейса см. в разделе Потоковый пиксельный интерфейс.

Вход

расширить все

Этот блок поддерживает потоковую передачу с одним пикселем или многопиксельную потоковую передачу. Для потоковой передачи с одним пикселем задайте один входной пиксель в качестве значения скалярной интенсивности. Для многопиксельной потоковой передачи задайте вектор с четырьмя или восемью значениями интенсивности пикселя. Для получения дополнительной информации о том, как настроить модель для мультипиксельной потоковой передачи, смотрите Filter Multipixel Video Streams.

Этот блок не поддерживает многокомпонентную потоковую передачу. Чтобы обработать многокомпонентные потоки, реплицируйте блок для каждого компонента. The pixelcontrol шина для всех компонентов идентична, поэтому можно подключить одну шину к нескольким реплицированным блокам.

double и single типы данных поддерживаются для симуляции, но не для генерации HDL-кода.

Типы данных: uint8 | uint16 | uint32 | int8 | int16 | int32 | fixed point | Boolean | double | single

The pixelcontrol шина содержит пять сигналов. Сигналы описывают валидность пикселя и его местоположение в системе координат. Для получения дополнительной информации смотрите Pixel Control Bus.

Для многопиксельной потоковой передачи каждый вектор значений пикселей имеет один набор сигналов управления. Потому что вектор имеет только один valid сигнал, пиксели в векторе должны быть либо все допустимые, либо все недопустимые. The hStart и vStart сигналы применяются к пикселю с самым низким индексом в векторе. The hEnd и vEnd сигналы применяются к пикселю с самым высоким индексом в векторе.

Типы данных: bus

Задайте коэффициенты фильтра как 2-D матрицу числовых значений. Каждая размерность матрицы должно иметь не менее 2 элементов, но не более 64 элементов.

double и single типы данных поддерживаются для симуляции, но не для генерации HDL-кода.

Блок производит выборку значений из coeff порта только в начале системы координат и игнорирует любые изменения в системе координат.

Зависимости

Чтобы включить этот порт, установите параметр Filter coefficients source равным Input port.

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | fixed point

Выход

расширить все

Этот блок поддерживает потоковую передачу с одним пикселем или многопиксельную потоковую передачу. При использовании потоковой передачи с одним пикселем блок возвращает один пиксель в качестве значения скалярной интенсивности. При использовании многопиксельной потоковой передачи блок возвращает вектор значений интенсивности. Этот вектор имеет тот же размер, что и входной pixel вектор. Для получения дополнительной информации о том, как настроить модель для мультипиксельной потоковой передачи, смотрите Filter Multipixel Video Streams.

Тип выходов пикселя совпадает с типом данных входных пикселей.

double и single типы данных поддерживаются для симуляции, но не для генерации HDL-кода.

Типы данных: uint8 | uint16 | uint32 | int8 | int16 | int32 | fixed point | Boolean | double | single

The pixelcontrol шина содержит пять сигналов. Сигналы описывают валидность пикселя и его местоположение в системе координат. Для получения дополнительной информации смотрите Pixel Control Bus.

Для многопиксельной потоковой передачи каждый вектор значений пикселей имеет один набор сигналов управления. Потому что вектор имеет только один valid сигнал, пиксели в векторе должны быть либо все допустимые, либо все недопустимые. The hStart и vStart сигналы применяются к пикселю с самым низким индексом в векторе. The hEnd и vEnd сигналы применяются к пикселю с самым высоким индексом в векторе.

Типы данных: bus

Параметры

расширить все

Главный

Выберите источник для определения коэффициентов фильтра.

  • Property (по умолчанию) - Используйте это значение для задания коэффициентов фильтра с помощью параметра Filter coefficients.

  • Input port - Используйте это значение, чтобы задать коэффициенты фильтра через coeff входной порт.

Задайте коэффициенты фильтра в виде матрицы. Каждая размерность матрицы должно иметь не менее 2 элементов, но не более 64 элементов.

Зависимости

Чтобы включить этот параметр, установите параметр Filter coefficients source равным Property.

Выберите один из следующих методов для заполнения контура входного изображения. Для получения дополнительной информации об этих методах см. Раздел «Заполнение ребер».

  • Constant - Интерпретируйте пиксели вне системы координат изображения как имеющие постоянное значение.

  • Replicate - Повторите значение пикселей на краю изображения.

  • Symmetric - Установите значение пикселей заполнения, чтобы зеркально отобразить ребро изображения.

  • None - Исключить логику заполнения. Блок не устанавливает пиксели вне системы координат изображения на какое-либо конкретное значение. Эта опция уменьшает аппаратные ресурсы, используемые блоком, и гашение, необходимое между системами координат, но влияет на точность выходных пикселей на ребрах системы координат. Для поддержания синхронизации потока пикселей выхода системы координат совпадает с размером входного кадра. Однако, чтобы избежать использования пикселей, вычисленных из неопределенных значений заполнения, замаскируйте KernelSize/2 пикселя вокруг ребра системы координат для нижестоящих операций. Для получения дополнительной информации смотрите Увеличение пропускной способности при отсутствии заполнения.

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

Зависимости

Чтобы включить этот параметр, установите параметр Padding method равным Constant.

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

Если вы задаете значение, которое не является степенью двойки, блок использует следующую наибольшую степень двойки. Блок выделяет (N - 1) -by - Line buffer size места памяти для хранения пикселей. N представляет строки матрицы коэффициентов.

Типы данных

Выберите режим округления для внутренних вычислений с фиксированной точкой следующим Floor, Ceiling, Convergent, Nearest, Round, и Zero. Для получения дополнительной информации о режимах округления см. Раздел «Режимы округления» (DSP System Toolbox).

Когда вы очищаете этот параметр, значения с фиксированной точкой и целое число оборачиваются к нулю, когда значение переполняет то, что представимо с этим типом данных. Когда вы выбираете этот параметр, значение достигает максимального представимого значения.

Выберите метод для определения типа данных коэффициентов фильтра.

Нажмите кнопку Show data type assistant, чтобы отобразить Data Type Assistant, которая помогает вам задать тип данных параметра Coefficients. Для получения дополнительной информации смотрите Задать типы данных Используя Data Type Assistant (Simulink).

При преобразовании коэффициентов в заданный тип данных блок округлится до ближайшего представимого значения и достигает максимального значения, если значение превышает максимальное значение, представляемое типом данных.

Зависимости

Чтобы включить этот параметр, установите параметр Filter coefficients source равным Property.

Выберите метод для определения типа данных выходного пикселя.

Нажмите кнопку Show data type assistant, чтобы отобразить Data Type Assistant, которая помогает вам задать тип данных параметра Output. Для получения дополнительной информации смотрите Задать типы данных Используя Data Type Assistant (Simulink).

Выберите этот параметр, чтобы заблокировать все настройки типа данных этого блока от изменений с помощью Fixed-Point Tool и Fixed-Point Advisor. Для получения дополнительной информации смотрите Блокировка настройки типа выходных данных (Fixed-Point Designer).

Примеры моделей

Совет

  • Когда вы используете блок с внутренним буфером линии внутри Enabled Subsystem (Simulink), шаблон сигнала включения должен поддерживать синхронизацию потока пикселей, включая минимальные интервалы гашения. Если шаблон enable повреждает синхронизацию потока пикселей, вы можете увидеть частичные выходные системы координат, поврежденные сигналы управления потоком пикселей или несоответствия между Simulink® и результаты симуляции HDL. Вам может потребоваться увеличить интервалы гашения, чтобы соответствовать циклам, когда активация низкая. Дополнительные сведения см. в разделе Настройка интервалов гашения.

Алгоритмы

расширить все

Блок реализует 2-D конечная импульсная характеристика с полностью конвейерной архитектурой. Каждый умножитель имеет по две ступени трубопровода на каждом входе и по две ступени трубопровода на каждом выходе. Сумматор является трубопроводной древовидной структурой. Генерация HDL-кода использует симметричные, единичные или нулевые коэффициенты, чтобы уменьшить количество умножителей.

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

Когда вы предоставляете коэффициенты, используя параметр Filter coefficients, можно оптимизировать умножители для генерации HDL-кода с помощью представления canonical signed digit (CSD) или представления CSD с факторами. Чтобы использовать CSD представления CSD с факторизацией, щелкните правой кнопкой мыши блок, выберите HDL Code > HDL Block Properties и установите параметр ConstMultiplierOptimization на csd или fcsd.

Когда вы предоставляете коэффициенты, используя coeff порт, задержка зависит от размера коэффициентов фильтра. Для матрицы коэффициентов N -by M, предоставленной с использованием порта coeff, блок генерирует N х M умножителей.

Расширенные возможности

.

См. также

| | (Computer Vision Toolbox)

Введенный в R2015a