22. Кодирование векторов движенияБольшая часть текущего кадра (возможно, его половина) может быть преобразована в векторы движения, поэтому кодирование этих векторов весьма актуально. Это кодирование должно быть без потерь. Известны два свойства векторов движения, которые позволяют сформулировать принципы их кодирования. Первое свойство заключается в том, что соседние блоки имеют близкие векторы движения. Второе свойство определяется тем, что векторы, как правило, направлены в одну, реже в две стороны; значит векторы распределены неравномерно. На сегодняшний день не существует единого общего метода кодирования, который был бы идеальным для всех случаев. Обычно для этих целей применяется арифметическое кодирование, адаптивное кодирование Хаффмана в совокупности с алгоритмами прогнозирования «соседних» векторов движения. Например, в MPEG-1 поступают таким образом. Строится прогноз вектора движения по его предшественникам, находящимся в той же строке и том же столбце текущего кадра. Затем, вычисляется разность между прогнозом и истинным значением вектора движения и эти разности кодируются методом Хаффмана.
|