Обработка видеоинформации при кодировании - поиск по квадратам

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

Двумерный логарифмический поиск. Этот многошаговый алгоритм сокращает область поиска на каждом шаге, пока она не сведется к одному блоку. Предположим, что текущий блок В локализован в точке (а, Ь) текущего кадра. Эта точка берется за центр поиска. Алгоритм зависит от параметра d, задающего удаление от центра поиска. Этот параметр контролируется пользователем. Квадратная область поиска состоит из (2

Шаг 1: Размер шага вычисляется по формуле s = 2t-log2rf-l-1, и алгоритм сравнивает блок В с пятью блоками в точках с координатами (а,6), (а, 6+5), (а, b — s), (а + 5,6) и (а — s, Ь) на предыдущем кадре. Эти пять блоков образуют шаблон в форме знака +. Шаг 2: Выбирается наилучший из этих пяти блоков. Обозначим его координаты через (х,у). Если (ж,у) = (а, 6), то s делится пополам (поэтому алгоритм называется логарифмическим). В противном случае шаг s не меняется, а центр поиска (а, Ь) перемещается в точку (ж,у).

Шаг 3: Если s = 1, то оцениваются девять блоков вокруг центра поиска (а, 6), и наилучший блок становится результатом работы алгоритма. В противном случае делается переход на Шаг 2. Если нужный алгоритму блок выходит за пределы области поиска, то он игнорируется и не используется. Возможен случай, когда d = 8. Для простоты предполагается, что текущий блок В имеет координаты (0,0). Поиск ограничивается областью из 17 х 17 блоков с центром в В. На шаге 1 вычисляется 5 = 23"1 = 4, и изучаются пять блоков с координатами (0,0), (4,0), (—4,0), (0,4), (0, —4).

Предположим, что наилучшее значение имеет блок (0,4), который становится центром нового поиска. Теперь на втором шаге изучаются три блока (помеченные цифрой 2) с координатами (4,-4), (4,4), (8,0). Если лучшим среди них будет блок (4,4), то на следующем шаге будут исследоваться 2 блока с меткой 3 с координатами (8,4) и (4,8), блок (4,4) с меткой 2 и два блока (0,4) и (4,0), имеющие метку 1. Предположим, что на следующем шаге наилучшим выбором будет блок (4,4). Поскольку этот блок находится в центре знака +, то после деления на 2 переменная s станет равна 4. На этом шаге исследуются блоки, помеченные цифрой 4 с центром в (4,4). Предположим, что наилучшим блок имеет координаты (6,4). Тогда исследуются два блока с меткой 5. Пусть опять наилучшим блоком служит (6,4). Делим s на два и исследуем шесть блоков, помеченных цифрой 6. Диаграмма показывает, что окончательным оптимальным выбором алгоритма станет блок с координатами (7,4).

-----------------------------