Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
345
Добавлен:
15.03.2016
Размер:
2.59 Mб
Скачать

3.2.4. Компенсация движения

Точность предсказания при передаче изображений движущихся объектов можно увеличить за счет оценки вектора движения и компенсации этого движения, которая уменьшает ошибку предсказания.

В стандарте MPEG-2 используется метод компенсации движения, основанный на макроблоках. Два смежных кадра, содержащих только активные строки сигнала яркости (576 активных строк), разбиваются на макроблоки и более крупные зоны поиска. Раз­меры макроблока должны быть согласованы со структурой дискретизации кадра телевизионного изображения. В стандартеMPEG-2 телевизионный кадр разбивается на целое число зон. По вертикали (576 активных строк/16) – это 36 зон, по горизонтали (704 активных отсчета/16) – 44 зоны.

З

Рис. 3.5.Смещение макроблока на вектор движения

она поиска должна быть достаточно большой, чтобы быстро движущийся макроблок изображения первого кадра не вышел из зоны поиска второго кадра. Размеры зоны поиска ограничиваются объемом вычислений, которые необходимо выполнить в реальном масштабе времени. Эти размеры также должны быть согласованы с принятой структурой дискретизации телевизионного кадра. Обычно, они в 4 раза больше размеров отдельного макроблока. Иными словами, размеры зоны поиска – это 6464. Таким образом, в телевизионном кадре создается 576/64 = 9 зон поиска по вертикали и 704/64 = 11 зон по горизонтали.

К примеру, надо определить координаты движения при предсказании вперед. В этом случае для каждого макроблока первого кадра осуществ­ляется поиск наиболее похожей на него прямоугольной области таких же размеров во втором кадре. При этом пос­ледо­вательно перебираются векторы движения (или век­торы смещения) (n,m), гдеn,m– приращения координат по горизонтали и по вертикали, принимающие значения в неко­торых заданных интервалах. Для каждого вектора движения берется область во вто­ром кадре, смещенная на этот вектор относительно анализируемого макро­блока первого кадра (см. рис. 3.5, где тонкими линиями показаны гра­ницы макроблоков первого кадра, а толстыми – положение смещенной об­ласти во втором кадре), и рассчитывается суммаS(n,m) абсолютных значений разностей элементов макроблока первого кадра и смещенной об­ласти второго кадра

,

где – элемент первого кадра;– элемент второго кадра;m, n – дискретные координаты по вертикали и по горизонтали, отсчитываемые, например, от левого верхнего угла блока первого кадра; B – область координат макроблока. Суммирование производится по всем элементам макроблока.

Из всех проверенных векторов (n,m) выбирается тот, который обеспечивает наименьшее значение суммы, найденной в соответствии с выражением . Этот вектор и считается далее вектором движения для данного макроблока. В некоторых случаях вместо суммы абсолютных значений используется корень из суммы квадратов разностей, однако его расчет требует бóльшего объема вычислений.

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

Если в области потока не найдена соответствующая область, отличие которой от данного макроблока (величина S) не превышает установленной пороговой величины, то этот макроблок кодируется во внутрикадровом режиме аналогично макроблокамI-кадров.

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

Компенсация движения, применяемая при компрессии РиВ-кадров, улучшает фактор сжатия в три раза по сравнению с внутрикадровым кодированием, где сохраняется временнáя избыточность.

Компенсация движения, примененная к макроблокам В-кадра, осуществляется с использованием как предшествующего, так и последующего опорного кадра.

Кодирование по стандарту MPEG-2 требуетзапоминания одного или двух кадров опорного макроблока, обеспечивающего данные для предсказания с компенсацией движения. Большой объем компьютерных вычислений занимает поиск и оценка движения для подбора макроблоков в двух кадрах, чтобы найти направление и расстояние, определяющие движение макроблока между кадрами, то есть вектор движения.

Определяемый вектор движения используется для предсказания с компенсацией движения. В кодере вычисляется ошибка предсказания, то есть разность между фактическим и предсказанным с использованием вектора движения блоками изображения, что сокращает временнýю избыточность. Ошибка предсказания подвергается ДКП, квантуется и кодируется в кодере с перемен­ной длиной слова. Такой процесс уменьшает и временнýю, и пространственную, и психофизическую избыточность. Вектор дви­­­жения также кодируется словами переменной длины. Кодированная ошибка предсказания объединяется с кодами вектора движения, после чего формируется передаваемый цифровой поток.

Чем быстрее движутся снимаемые объекты, тем больше отличаются текущий макроблок и опорный макроблок из предыдущего кадра и тем больше данных об ошибке предсказания должно быть передано, а это снижает эффективность компрессии. Компенсация движения при формировании предсказания уменьшает ошибку предсказания, которая на практике не может быть сведена к нулю. Этому мешают и изменения размеров движущегося объекта, его поворота, неточности в определении вектора движения и т.п. Однако предсказание с компенсацией дви­жения позволяет значительно повысить эффективность ДИКМ при видеокомпрессии.

В декодере выполняется инверсное квантование, инверсное ДКП, в результате чего формируется ошибка предсказания. Ошибка предсказания складывается с декодированным изображением предыдущего кадра, образуя декодированное изображение текущего кадра.

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

Оценка вектора движения и определение наилучшей стратегии предсказания требуют применения сложных вычислительных процедур, которые должны осуществляться в реальном времени. Поэтому кодер гораздо сложнее декодера, то есть в стандарте MPEG-2 система компрессии на базе ДИКМ с компенсацией движения является асимметричной.

Соседние файлы в папке 399_Mamchev-Cifrovoe_televizionnoe_veschanie_2012