2-D конечная импульсная характеристика
Vision HDL Toolbox/Фильтрация
Блок Image Filter выполняет двумерную фильтрацию с конечной импульсной характеристикой (КИХ) на потоке пикселей и поддерживает использование программируемых коэффициентов фильтра.
Этот блок использует интерфейс потокового пикселя с шиной для сигналов управления системой координат. Этот интерфейс позволяет блоку работать независимо от размера и формата изображения. Порты pixel на этом блоке поддерживают потоковую передачу с одним пикселем или многопиксельную потоковую передачу. Потоковая передача с одним пикселем принимает и возвращает одно значение пикселя каждый такт. Мультипиксельная потоковая передача принимает и возвращает 4 или 8 пикселей за тактовый цикл для поддержки форматов с высокой частотой кадров или с высоким разрешением. Вместе с пикселем блок принимает и возвращает pixelcontrol
шина, которая содержит пять управляющих сигналов. Сигналы управления указывают валидность каждого пикселя и их местоположение в системе координат. Для многопиксельной потоковой передачи один набор управляющих сигналов применяется ко всем четырем или восьми пикселям в векторе. Чтобы преобразовать систему координат (пиксельную матрицу) в последовательный поток пикселей и сигналы управления, используйте блок Frame To Pixels. Полное описание интерфейса см. в разделе Потоковый пиксельный интерфейс.
pixel
- Входной пиксель или мультипиксельный векторЭтот блок поддерживает потоковую передачу с одним пикселем или многопиксельную потоковую передачу. Для потоковой передачи с одним пикселем задайте один входной пиксель в качестве значения скалярной интенсивности. Для многопиксельной потоковой передачи задайте вектор с четырьмя или восемью значениями интенсивности пикселя. Для получения дополнительной информации о том, как настроить модель для мультипиксельной потоковой передачи, смотрите Filter Multipixel Video Streams.
Этот блок не поддерживает многокомпонентную потоковую передачу. Чтобы обработать многокомпонентные потоки, реплицируйте блок для каждого компонента. The pixelcontrol
шина для всех компонентов идентична, поэтому можно подключить одну шину к нескольким реплицированным блокам.
double
и single
типы данных поддерживаются для симуляции, но не для генерации HDL-кода.
Типы данных: uint8
| uint16
| uint32
| int8
| int16
| int32
| fixed point
| Boolean
| double
| single
ctrl
- Сигналы управления, сопоставленные с потоком пикселейpixelcontrol
автобусThe pixelcontrol
шина содержит пять сигналов. Сигналы описывают валидность пикселя и его местоположение в системе координат. Для получения дополнительной информации смотрите Pixel Control Bus.
Для многопиксельной потоковой передачи каждый вектор значений пикселей имеет один набор сигналов управления. Потому что вектор имеет только один valid
сигнал, пиксели в векторе должны быть либо все допустимые, либо все недопустимые. The hStart
и vStart
сигналы применяются к пикселю с самым низким индексом в векторе. The hEnd
и vEnd
сигналы применяются к пикселю с самым высоким индексом в векторе.
Типы данных: bus
coeff
- Фильтрация коэффициентовЗадайте коэффициенты фильтра как 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
- Выходной пиксель или мультипиксельный векторЭтот блок поддерживает потоковую передачу с одним пикселем или многопиксельную потоковую передачу. При использовании потоковой передачи с одним пикселем блок возвращает один пиксель в качестве значения скалярной интенсивности. При использовании многопиксельной потоковой передачи блок возвращает вектор значений интенсивности. Этот вектор имеет тот же размер, что и входной pixel вектор. Для получения дополнительной информации о том, как настроить модель для мультипиксельной потоковой передачи, смотрите Filter Multipixel Video Streams.
Тип выходов пикселя совпадает с типом данных входных пикселей.
double
и single
типы данных поддерживаются для симуляции, но не для генерации HDL-кода.
Типы данных: uint8
| uint16
| uint32
| int8
| int16
| int32
| fixed point
| Boolean
| double
| single
ctrl
- Сигналы управления, сопоставленные с потоком пикселейpixelcontrol
автобусThe pixelcontrol
шина содержит пять сигналов. Сигналы описывают валидность пикселя и его местоположение в системе координат. Для получения дополнительной информации смотрите Pixel Control Bus.
Для многопиксельной потоковой передачи каждый вектор значений пикселей имеет один набор сигналов управления. Потому что вектор имеет только один valid
сигнал, пиксели в векторе должны быть либо все допустимые, либо все недопустимые. The hStart
и vStart
сигналы применяются к пикселю с самым низким индексом в векторе. The hEnd
и vEnd
сигналы применяются к пикселю с самым высоким индексом в векторе.
Типы данных: bus
Filter coefficients source
- Источник для обеспечения коэффициентов фильтраProperty
(по умолчанию) | Input port
Выберите источник для определения коэффициентов фильтра.
Property
(по умолчанию) - Используйте это значение для задания коэффициентов фильтра с помощью параметра Filter coefficients.
Input port
- Используйте это значение, чтобы задать коэффициенты фильтра через coeff входной порт.
Filter coefficients
- Коэффициенты фильтра[ 1, 0; 0, -1 ]
(по умолчанию) | матрицаЗадайте коэффициенты фильтра в виде матрицы. Каждая размерность матрицы должно иметь не менее 2 элементов, но не более 64 элементов.
Чтобы включить этот параметр, установите параметр Filter coefficients source равным Property
.
Padding method
- Метод заполненияConstant
(по умолчанию) | Replicate
| Symmetric
| None
Выберите один из следующих методов для заполнения контура входного изображения. Для получения дополнительной информации об этих методах см. Раздел «Заполнение ребер».
Constant
- Интерпретируйте пиксели вне системы координат изображения как имеющие постоянное значение.
Replicate
- Повторите значение пикселей на краю изображения.
Symmetric
- Установите значение пикселей заполнения, чтобы зеркально отобразить ребро изображения.
None
- Исключить логику заполнения. Блок не устанавливает пиксели вне системы координат изображения на какое-либо конкретное значение. Эта опция уменьшает аппаратные ресурсы, используемые блоком, и гашение, необходимое между системами координат, но влияет на точность выходных пикселей на ребрах системы координат. Для поддержания синхронизации потока пикселей выхода системы координат совпадает с размером входного кадра. Однако, чтобы избежать использования пикселей, вычисленных из неопределенных значений заполнения, замаскируйте KernelSize/2 пикселя вокруг ребра системы координат для нижестоящих операций. Для получения дополнительной информации смотрите Увеличение пропускной способности при отсутствии заполнения.
Padding value
- Значение, используемое для заполнения контура входного изображения0
(по умолчанию) | целое числоЗадайте целое число, чтобы дополнить контур входного изображения. Блок переводит это значение в тот совпадающий тип данных, что и входной пиксель.
Чтобы включить этот параметр, установите параметр Padding method равным Constant
.
Line buffer size
- Размер линейного буфера2048
(по умолчанию) | целое числоЗадайте степень двойки, которая будет включать количество активных пикселей в одной горизонтальной линии.
Если вы задаете значение, которое не является степенью двойки, блок использует следующую наибольшую степень двойки. Блок выделяет (N - 1) -by - Line buffer size места памяти для хранения пикселей. N представляет строки матрицы коэффициентов.
Rounding mode
- Режим округления для внутренних вычислений фиксированной точкиFloor
(по умолчанию) | Ceiling
| Convergent
| Nearest
| Round
| Zero
Выберите режим округления для внутренних вычислений с фиксированной точкой следующим Floor
, Ceiling
, Convergent
, Nearest
, Round
, и Zero
. Для получения дополнительной информации о режимах округления см. Раздел «Режимы округления» (DSP System Toolbox).
Saturate on integer overflow
- Действие переполнения для внутренних вычислений с фиксированной точкойoff
(по умолчанию) | on
Когда вы очищаете этот параметр, значения с фиксированной точкой и целое число оборачиваются к нулю, когда значение переполняет то, что представимо с этим типом данных. Когда вы выбираете этот параметр, значение достигает максимального представимого значения.
Coefficients
- Выбор типа данных коэффициентов фильтрацииInherit: Same as first input
(по умолчанию) | fixdt(1, 16, 0)
| <data type expression>
Выберите метод для определения типа данных коэффициентов фильтра.
Нажмите кнопку Show data type assistant, чтобы отобразить Data Type Assistant, которая помогает вам задать тип данных параметра Coefficients. Для получения дополнительной информации смотрите Задать типы данных Используя Data Type Assistant (Simulink).
При преобразовании коэффициентов в заданный тип данных блок округлится до ближайшего представимого значения и достигает максимального значения, если значение превышает максимальное значение, представляемое типом данных.
Чтобы включить этот параметр, установите параметр Filter coefficients source равным Property
.
Output
- Выбор типа выходных данныхInherit: Same as first input
(по умолчанию) | Inherit: Inherit via internal rule
| fixdt(1, 16, 0)
| <data type expression>
Выберите метод для определения типа данных выходного пикселя.
Нажмите кнопку Show data type assistant, чтобы отобразить Data Type Assistant, которая помогает вам задать тип данных параметра Output. Для получения дополнительной информации смотрите Задать типы данных Используя Data Type Assistant (Simulink).
Lock data type settings against changes by the fixed-point tools
- Блокируйте настройки типа данныхoff
(по умолчанию) | on
Выберите этот параметр, чтобы заблокировать все настройки типа данных этого блока от изменений с помощью 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 умножителей.
Задержка блока - это задержка буфера линий плюс задержка вычисления ядра. Задержка буфера линии включает заполнение ребра по умолчанию. Задержка операции заполнения зависит от размера ядра. Если заполнение ребра не обязательно для вашего проекта, можно уменьшить задержку, установив параметр Padding method равным None
. Когда вы используете эту опцию, задержка блока не зависит от размера вашего ядра. Чтобы определить точную задержку для любого строения блока, измерьте количество временных шагов между входом и выходным сигналами управления.
Примечание
Когда вы используете ребро, используйте горизонтальный интервал гашения, больше, чем в два раза ширина ядра. Этот интервал позволяет блоку закончить обработку одной линии до начала обработки следующей, включая добавление пикселей заполнения до и после активных пикселей в линии. Стандартные форматы потокового видео используют горизонтальный интервал гашения, составляющий около 25% ширины системы координат. Этот интервал намного больше, чем фильтры, примененные к каждой системе координат. Когда вы отключаете заполнение ребра, горизонтальный интервал гашения должен быть не менее 12 циклов и не зависит от размера ядра. Если вы используете пользовательский формат видео, установите горизонтальный интервал гашения при помощи Frame To Pixels параметров блоков. Горизонтальный интервал гашения равен Total pixels per line - Active pixels per line или, эквивалентно, Front porch + Back porch. Дополнительные сведения см. в разделе Настройка интервалов гашения.
Этот блок поддерживает генерацию кода C/C + + для режимов Simulink Accelerator и rapid Accelerator и для генерации компонентов DPI.
HDL Coder™ предоставляет дополнительные опции строения, которые влияют на реализацию HDL и синтезированную логику.
Этот блок имеет одну архитектуру HDL по умолчанию.
ConstrainedOutputPipeline | Количество регистров для размещения на выходах путем перемещения существующих задержек в рамках вашего проекта. Распределённая конвейеризация не перераспределяет эти регистры. Значение по умолчанию является |
InputPipeline | Количество входных этапов конвейера для вставки в сгенерированный код. Распределённая конвейеризация и ограниченная выходная конвейеризация могут перемещать эти регистры. Значение по умолчанию является |
OutputPipeline | Количество выходных этапов конвейера для вставки в сгенерированный код. Распределённая конвейеризация и ограниченная выходная конвейеризация могут перемещать эти регистры. Значение по умолчанию является |
Вы не можете сгенерировать HDL-код для этого блока, если он находится внутри Resettable Synchronous Subsystem (HDL Coder).
Frame To Pixels | visionhdl.ImageFilter
| 2-D FIR Filter (Computer Vision Toolbox)
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.