Компенсация движения
Точность предсказания при передаче изображений движущихся объектов можно увеличить за счет оценки вектора движения и компенсации этого движения, которая уменьшает ошибку предсказания.
В стандарте MPEG-2 используется метод компенсации движения, основанный на макроблоках. Два смежных кадра, содержащих только активные строки сигнала яркости (576 активных строк), разбиваются на макроблоки и более крупные зоны поиска. Размеры макроблока должны быть согласованы со структурой дискретизации кадра телевизионного изображения. В стандарте MPEG-2 телевизионный кадр разбивается на целое число зон. По вертикали (576 активный строк/16) - это 36 зон, по горизонтали (704 активных отсчета/16) - 44 зоны.
Зона поиска должна быть достаточно большой, чтобы быстро движущийся макроблок изображения первого кадра не вышел из зоны поиска второго кадра. Размеры зоны поиска ограничиваются объемом вычислений, которые необходимо выполнить в реальном масштабе времени. Эти размеры также должны быть согласованы с принятой структурой дискретизации телевизионного кадра. Обычно, они в 4 раза больше размеров отдельного макроблока. Иными словами, размеры зоны поиска - это 64x64. Таким образом, в телевизионном кадре создается 576/64 = 9 зон поиска по вертикали и 704/64 = 11 зон по горизонтали.
К примеру, надо определить координаты движения при предсказании вперед. Для этого берется макроблок отсчетов первого кадра и ищется его новое положение в зоне поиска второго кадра, вычисляются межкадровые разности отсчетов. Положение макроблока, при котором суммарное значение модулей межкадровых разностей макроблока получается наименьшим, принимается за его реальное перемещение, после чего координаты вектора движения рассчитываются как смещение макроблока по вертикали и горизонтали относительно его начального положения.
Компенсация движения, применяемая при компрессии Р- и В- кадров, улучшает фактор сжатия в 3 раза по сравнению с внутри-кадровым кодированием, где сохраняется временная избыточность.
Компенсация движения, примененная к макроблокам В-кадра, осуществляется с использованием как предшествующего, так и последующего опорного кадра.
Кодирование по стандарту MPEG-2 требует запоминания одного или двух кадров опорного макроблока, обеспечивающего данные для предсказания с компенсацией движения. Большой объем компьютерных вычислений занимает поиск и оценка движения для подбора макроблоков в двух кадрах, чтобы найти направление и расстояние, определяющие движение макроблока между кадрами, т.е. вектор движения.
Определяемый вектор движения используется для предсказания с компенсацией движения. В кодере вычисляется ошибка предсказания, т.е. разность между фактическим и предсказанным с использованием вектора движения блоками изображения, что сокращает временную избыточность. Ошибка предсказания подвергается ДКП, квантуется и кодируется в кодере с переменной длиной слова. Такой процесс уменьшает и временную, и пространственную, и психофизическую избыточность. Вектор движения также кодируется словами переменной длины. Кодированная ошибка предсказания объединяется с кодами вектора движения, после чего формируется передаваемый цифровой поток.
Чем быстрее движутся снимаемые объекты, тем больше отличаются текущий макроблок и опорный макроблок из предыдущего кадра и тем больше данных об ошибке предсказания должно быть передано, а это снижает эффективность компрессии. Компенсация движения при формировании предсказания уменьшает ошибку предсказания, которая на практике не может быть сведена к нулю. Этому мешают и изменения размеров движущегося объекта, его поворот, неточности в определении вектора движения и т.п. Однако предсказание с компенсацией движения позволяет значительно повысить эффективность ДИКМ при видеокомпрессии.
В декодере выполняется инверсное квантование, инверсное ДКП, в результате чего формируется ошибка предсказания. Ошибка предсказания складывается с декодированным изображением предыдущего кадра, образуя декодированное изображение текущего кадра.
Предсказатели с компенсацией движения в современных системах видеокомпрессии стандарта MPEG-2 могут использовать целый ряд методов. Например, макроблок может предсказываться на основе предыдущего изображения, на основе последующего изображения, а также на основе и предыдущего, и последующего. В чересстрочных системах поля одного кадра могут предсказываться раздельно с использованием разных векторов движения или вместе с использованием общего вектора. Существует также возможность нулевого предсказания (если не найден подходящий опорный макроблок). При этом сам текущий макроблок будет кодироваться вместо ошибки предсказания, что означает отказ от межкадрового кодирования и переход к внутрикадровому. Для каждого текущего макроблока кодер выбирает метод предсказания, обеспечивающий наивысшее качество декодированного изображения с учетом ограничений на скорость передачи данных. Сведения о методе предсказания включаются в общий поток и передаются декодеру для верного восстановления изображения.
Оценка вектора движения и определение наилучшей стратегии предсказания требуют применения сложных вычислительных процедур, которые должны осуществляться в реальном времени. Поэтому кодер гораздо сложнее декодера, т.е. в стандарте MPEG-2 система компрессии на базе ДИКМ с компенсацией движения является асимметричной.
Дата добавления: 2021-04-21; просмотров: 347;