Отобразите фильтр

2D КИХ-фильтрация

Описание

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

Этот блок использует пиксельный интерфейс потоковой передачи с шиной для сигналов управления кадром. Этот интерфейс позволяет блоку действовать независимо от размера изображения и формата. Все блоки Vision HDL Toolbox™ используют тот же интерфейс потоковой передачи. Блок принимает и возвращает и скалярное пиксельное значение и шину, содержащую пять управляющих сигналов. Управляющие сигналы указывают на валидность каждого пикселя и его местоположения в кадре. Чтобы преобразовать кадр (пиксельная матрица) в последовательный пиксельный поток и управляющие сигналы, используйте блок Frame To Pixels. Для полного описания интерфейса смотрите Пиксельный Интерфейс Потоковой передачи.

Атрибуты сигнала

ПортНаправлениеОписаниеТип данных
pixelВходной параметрОдин пиксель изображения в пиксельном потоке, заданном как скалярное значение.
  • uint или int

  • fixdt()

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

ctrlВвод/вывод

Управляющие сигналы, сопровождающие пиксельный поток, заданный как шина pixelcontrol, содержащая пять сигналов. Сигналы описывают валидность пикселя и его местоположения в кадре. Для получения дополнительной информации смотрите Пиксельную Шину управления.

pixelcontrol
coeffВходной параметр

Задайте коэффициенты фильтра как матрицу.

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

Dependencies

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

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

  • uint или int

  • fixdt()

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

pixelВывод Один пиксель изображения в пиксельном потоке, возвращенном как скалярное значение. Можно задать тип выходных данных с помощью параметра Output.
  • uint или int

  • fixdt()

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

Параметры

Основной

Filter coefficients source

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

  • Property (значение по умолчанию) — Выбор это значение, чтобы задать коэффициенты фильтра с помощью параметра Filter coefficients.

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

Filter coefficients

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

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

Padding method

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

  • Constant (значение по умолчанию) — Интерпретирует пиксели вне фрейма изображения как наличие постоянного значения.

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

  • Symmetric — Добавьте дополнительные пиксели, чтобы зеркально отразить ребро изображения.

Padding value

Постоянное значение раньше заполняло контур входного изображения.

Этот параметр появляется, когда вы устанавливаете Padding method на Constant. Блок бросает это значение к совпадающему типу данных как входной пиксель. Значением по умолчанию является 0.

Line buffer size

Размер буфера памяти строки, заданного как целое число.

Выберите степень двойки, которая размещает количество активных пикселей в горизонтальной строке. Если вы задаете значение, которое не является степенью двойки, блок использует следующую самую большую степень двойки. Блок выделяет (coefficient rows – 1)-by-Line buffer size ячейки памяти, чтобы сохранить пиксели. Значением по умолчанию является 2048.

Типы данных

Rounding mode

Выберите округляющийся режим для внутренних вычислений фиксированной точки. Значением по умолчанию является Floor.

Saturate on integer overflow

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

Coefficients

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

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

Значением по умолчанию является Inherit: Same as first input.

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

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

Output

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

Значением по умолчанию является Inherit: Same as first input.

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

Lock data type settings against changes by the fixed-point tools

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

Алгоритм

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

Можно оптимизировать множители для генерации HDL-кода с помощью представления канонической цифры со знаком (CSD) или учтенного представления CSD. Щелкните правой кнопкой по блоку, выберите HDL Code> HDL Block Properties и установите параметр ConstMultiplierOptimization на csd или fcsd.

Задержка

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

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

Примечание

Горизонтальный интервал гашения пиксельного потокового формата должен быть больше, чем задержка блока. Этот интервал позволяет блоку закончить обрабатывать одну строку, прежде чем это начнет обрабатывать следующее. Если вы используете пользовательский формат видео, установите горизонтальный интервал гашения с помощью Кадра Для Пиксельных параметров блоков. Горизонтальный интервал гашения равен Total pixels per lineActive pixels per line или, эквивалентно, Front porch + Back porch. Стандартные форматы потокового видео используют горизонтальный интервал гашения приблизительно 25% ширины кадра. Этот интервал намного больше, чем фильтры применились к каждому кадру.

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

Представленный в R2015a