exponenta event banner

Конфигурирование интервалов гашения

Потоковые видеопротоколы имеют два интервала гашения: горизонтальный и вертикальный. Интервал горизонтального гашения - это период неактивных циклов между концом одной строки и началом следующей строки. Интервал вертикального гашения - это период неактивных линий между концом кадра и началом следующего кадра.

На этой кадровой схеме синие затененные области слева и справа от активного кадра указывают интервал горизонтального гашения. Оранжевые затененные области над и под активной рамкой указывают интервал вертикального гашения.

В блоке Frame To Pixels интервал гашения по горизонтали равен Total pixels per line - Active pixels per line или, что эквивалентно, Front porch + Back porch. Интервал вертикального гашения равен Total video lines - Active video lines или, что эквивалентно, Start active line + Ending active line - Active video lines.

Например, блок Frame To Pixels, параметры которого показаны на этом изображении, имеет интервал гашения по горизонтали 140 пикселей и интервал гашения по вертикали 80 строк.

Frame To Pixels block parameters.

Формат потокового видео должен иметь достаточно длинный интервал гашения, чтобы операция над предыдущей строкой или кадром завершалась до начала следующей строки или кадра. Неадекватный интервал горизонтального или вертикального гашения приводит к повреждению выходных кадров. Стандартные форматы потокового видео используют интервал горизонтального гашения около 25% ширины строки. Этот интервал намного больше, чем задержка обычной операции. Однако при использовании пользовательского формата видео необходимо включать интервалы гашения, соответствующие продолжительности операций в проекте.

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

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

Рекомендуемый минимальный интервал горизонтального гашения составляет 2 × Kw при использовании заполнения или 12 циклов при установке для параметра метода Padding значения None. Этот интервал включает некоторый запас для более длительного времени обработки ядра поверх задержки буфера строки.

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

Примечание

При использовании блока потоковой передачи пикселей в разрешенной подсистеме (Simulink) шаблон разрешенного сигнала должен поддерживать синхронизацию потока пикселей, включая минимальные интервалы гашения. Возможно, потребуется увеличить интервалы гашения, чтобы выдержать циклы при низком значении параметра enable.

Устранение неполадок с интервалом гашения

Если интервал гашения слишком мал, можно увидеть следующее:

  • Пустые выходные кадры

  • Частичные выходные кадры

  • Поврежденные шаблоны сигналов управления потоком пикселей (например, отсутствуют vEnd или hEnd сигналы или дублирование End или Start сигналы)

  • Алгоритм работает с непрерывными допустимыми входными пикселями на каждой строке, но не при наличии промежутков между допустимыми пикселями в строке

  • Алгоритм работает в Simulink ®, но не работает при моделировании HDL

Библиотека Vision HDL Toolbox™ блокирует этапы аппаратного конвейера модели в качестве задержки, применяемой на выходе. В соответствующих реализациях ЛПВП этапы конвейера распределены по вычислениям. Это различие означает, что для данного цикла блок может находиться в состоянии занятости при моделировании ЛПВП, но в Simulink он может быть неактивным. Когда период гашения слишком короткий, это различие может привести к тому, что сформированный стенд для тестирования ЛПВП покажет несовпадения между сигналами Simulink и ЛПВП, особенно на выходных управляющих сигналах.

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

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

В этой модели показан блок фильтра изображения, настроенный с включенным ядром фильтра 12 на 12 и дополнением края. Формат потока пикселей - это пользовательский формат, который имеет только 8 пикселов горизонтального гашения, как показано блоком измерения синхронизации на входном потоке. Поскольку интервал горизонтального гашения меньше ширины ядра, выходной кадр остается пустым. Блок Measure Timing на выходе фильтра показывает повреждение формата.

Вы также можете увидеть повреждение, посмотрев на выходные управляющие сигналы в приложении Logic Analyzer. Форма сигнала показывает входные и выходные сигналы блока фильтра изображения. Красные стрелки указывают на отсутствие hStart сигналы и другой шаблон на выходе valid сигнал от блока.

В этой модели показан блок Edge Detector, настроенный для использования ядра фильтра 3 на 3 Sobel с включенным дополнением края. Этот формат потока пикселей имеет только два пикселя горизонтального гашения, как показано блоком измерения синхронизации на входном потоке. В этом случае выходной кадр включает в себя только каждую вторую строку. Блок Measure Timing на выходе фильтра показывает повреждение формата.

Вы также можете увидеть повреждение, посмотрев на выходные управляющие сигналы в приложении Logic Analyzer. Форма сигнала показывает входные и выходные сигналы блока пограничного детектора. Красный круг указывает на отсутствие hStart и hEnd сигналы, а красная стрелка указывает на другой шаблон на выходе valid сигнал от блока.

Если изменить формат ввода таким образом, чтобы интервал гашения по горизонтали составлял 3 пиксела, эта модель возвращает правильные выходные кадры в Simulink. Однако при запуске созданного тестового стенда HDL тестовый стенд сообщает о несоответствиях между сигналами, захваченными в Simulink, и поведением сигнала в HDL. Это изображение журнала тестового стенда высвечивает несоответствие в выходных данных hEnd и vEnd сигналы.

Этот сигнал, полученный при моделировании испытательного стенда ЛПВП, показывает, что hEnd и vEnd отсутствуют сигналы в конце первого кадра. Синие сигналы являются ожидаемым выходным сигналом, полученным при моделировании Simulink. Красные сигналы являются выходными сигналами алгоритма при моделировании ЛПВП. Красные стрелки указывают, где отсутствуют ожидаемые импульсы управляющего сигнала.

Чтобы зафиксировать модель «Фильтр изображения» и модель «Детектор краев», установите интервал горизонтального гашения не менее 2 × Kw пикселей, где Kw - ширина ядра фильтра. Для модели «Фильтр изображений» задайте значение не менее 24 пикселей. Для модели Edge Detector задайте значение не менее 8 пикселей.

См. также

|

Связанные темы