Altifigence Academy

13 / 24 · Теория

Строчные буферы и окна 3×3

При W=8,H=6 вычислите места хранения, индекс первого достоверного принятого входа и общее число окон.

Держите перекрывающиеся данные рядом

Операции 3×3 с обходом по строкам нужны текущий пиксель и значения того же столбца двух предыдущих строк. Две строчные задержки подают эти строки. Горизонтальные сдвиговые регистры удерживают по три отсчёта каждой строки, формируя окно. Это избегает хранения целого кадра, но самые ранние отсчёты не образуют полного окна. Сохранённые данные и достоверный выход — разные условия.

Начинаем с одного канала, 3×3 без дополнения, шага один и прореживания один. Два массива строк ширины W и явное окно 3×3 содержат 2W+9 мест отсчётов. Это хранение учебной модели, а не универсальный минимум. Дополнение, прореживание, другие шаги или несколько каналов требуют нового анализа задержки и достоверности.

Разобранная последовательность поступления

Подайте потоком вход 4×4 со значениями от одного до шестнадцати. Нулевой индекс принятого входа десять несёт значение одиннадцать в строке два, столбце два. Первое полное окно — [1,2,3;5,6,7;9,10,11]. Значение двенадцать даёт [2,3,4;6,7,8;10,11,12]. Значения тринадцать и четырнадцать начинают новую строку и имеют недостаточную горизонтальную историю. Пятнадцать и шестнадцать дают последние два окна.

Таким образом шестнадцать принятых входов дают четыре окна на индексах [10,11,14,15]. Даже при пикселе за такт инициализация и границы строк создают пропуски. Отличайте полнокадровую скорость 4/16 от мгновенной выходной скорости внутри достоверного участка.

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

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

Путь полного окна 3x3
  1. Входной пиксель: Продвигать только при принятой передаче
  2. Две задержки строк: Получить значения двух предыдущих строк
  3. Окно 3x3: Достоверно начиная со строки 2 и столбца 2
  4. Потребитель MAC: Обработать или сохранить полное окно

Попробуйте сами

При W=8,H=6 вычислите места хранения, индекс первого достоверного принятого входа и общее число окон.

Прочитать объяснение

Хранение — 25 мест. Первая достоверная позиция — строка два,столбец два, индекс 2×8+2=18. Выход — 4×6, то есть 24 окна.

Выбор действует в этом браузере. Его можно изменить внизу страницы.