Кодирование видео информации, методы поиска данных - ортогональный, перекрестный, иерархический и другие

Поиск за три шага. Этот метод похож на процедуру двумерного логарифмического поиска. На каждом шаге тестируется восемь блоков вместо четырех вокруг центра поиска, после чего размер шага делится на два. Если в начале s = 4, то алгоритм завершится в три шага, что объясняет его название.

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

Лучший из них становится центром следующего поиска. Если размер шага s равен 1, то алгоритм обрывается и возвращаются координаты наилучшего блока, найденного на текущем шаге. В противном случае s делится на два, после чего совершается новый шаг, состоящий из горизонтального и вертикального поиска.

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

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

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

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