60
x1 k + 1/2, y1 k + 1/2,
x1 k - 1/2, y1 k + 1/2,
x1 k + 1/2, y1 k - 1/2,
x1 k - 1/2, y1 k - 1/2,
x1 k, y1 k + 1/2,
x1 k, y1 k - 1/2.
Таким образом, для каждого из 4 прогнозов опорного субфрагмента четного поля формируются 9 прогнозов в нечетном поле.
Окончательные 36 прогнозов для субмакроблока четного поля получаются усреднением значений прогнозов четного и нечетного опорных полей. Для небольших значений векторов некоторые из 36 прогнозов могут оказаться совпадающими друг с другом.
- Аналогичные процедуры проводятся для кодируемого субмакроблока нечетного поля. Из опорного суб
фрагмента нечетного (т. е. совпадающего по четности с кодируемым) поля формируются 4 прогноза с соответствующими начальными координатами (x2k, y2k), где k = 1...4 — номер прогноза. Координаты прогнозов вычисляются: x21 = x0, y21 = y0, x22 = x0 + 1/2, y22 = y0, x23 = x0, y23 = y0 + 1/2, x24 = x0 + 1/2, y24 = y0 + 1/2.
Соответствующие значения векторов движения равны dx2k = x2k - x2 и dy2k = y2k - y2.
Значения векторов движения экстраполируются для четного опорного поля с аналогичным округлением и получением начальных координат прогнозов четного опорного поля для субмакроблока нечетного поля: x4k = = x2 + dx3k, y4k = y2 + dy3k, где dx3k = dx2k/2, dy3k = (dy2k - 1)/2. Для субмакроблока нечетного поля также
усреднением значений полученных прогнозов четного и нечетного опорных полей формируется 36 прогнозов.
- Единый прогноз всего макроблока образуется объединением наилучших прогнозов субмакроблоков.
- В элементарный поток заносятся значения вектора для совпадающей четности кодируемого и опорного полей (т. е. dx0k, dy0k и dx2k, dy2k при выбранном k) и уточняющие (дифференциальные) значения векторов (т. е. 0 или ± 1/2 по каждой из координат и для каждого субмакроблока) для альтернативной четности строк.
Данный способ имеет повышенную сложность и применяется только в целях обеспечения малой задержки кодирования-декодирования сигналов. Кроме того, многие приемники-декодеры не поддерживают этот способ кодирования как устаревший, поэтому прогноз двойной опоры не рекомендуется использовать при кодировании сигналов ЦТВЧ-2, ЦТВЧ-3 в вещательных целях.
А.5.2 Формирование прогнозов для предсказания вперед при кодировании полей
При кодировании полей каждые два соседних поля (изображения) считаются относящимися к одному кадру. Опорными для кодирования P-полей могут быть поля, в совокупности образующие кадры вида: «/-поле+/-поле»; «/-поле+Р-поле»; «Р-поле+Р-поле».
Для первого P-поля (из двух в кодируемом кадре) производится формирование четырех прогнозов по одному из ранее переданных /- или P-полей. Прогнозы формируются так же, как при кодировании Р-кадра (см. таблицы А.3 и А.4). При передаче вектора движения в элементарном потоке указывается поле, из которого сформирован прогноз. Первое кодируемое поле может быть как верхним (четным), так и нижним (нечетным).
Для второго P-поля прогнозы могут быть сформированы аналогичным образом. Кроме того, допускается формирование прогнозов из реконструированного (кодированного, а затем декодированного) Р- или /-поля самого кодируемого кадра. Специальный прогноз двойной опоры вычисляется так же, как и при кодировании кадров, но только в том случае, если первое поле в каждой паре полей одного кадра четно (является верхним). Если это не так, то расчет прогнозов должен быть соответствующим образом скорректирован. Для кадров вида «/-поле+P-поле» данная разновидность прогнозов не используется.