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

Предсказание векторов движения

Кодирование векторов движения для всех блоков деления может потребовать большого количества бит, особенно если выбраны малые размеры блоков. Векторы движения близких блоков часто являются коррелированными, и поэтому их можно предсказывать (прогнозировать) по соседним векторам ранее закодированных блоков. Вектор-предсказание MVpформируется на основе ранее вычисленных векторов движения и вектораMVD– разности между текущим вектором движения и вектором предсказания, который кодируется и передается. Метод построения прогнозаMVpзависит от размера блока деления и от доступности ближних векторов.

Пусть Е– текущий макроблок, часть макроблока или часть подмакроблока,А– его левый соседний блок деления,В– блок сверху отЕ, аС– блок, расположенный выше и правееЕ. Если у блокаЕимеется более одного соседнего блока слева, то в качествеАвыбирается самый верхний из них. Если сверху отЕлежит более одного блока, то черезВобозначается самый левый из них. Рис. 3.42 иллюстрирует случай, когда все соседние блоки имеют одинаковый размер (например, 1616 элементов изображения), а на рис. 3.43 изображен пример выбора разделения на части, при котором соседние блоки имеют размеры, отличные от разме­ров блокаЕ[33].

  1. Для переданных блоков, исключая размеры 168 и 816, векторMVpравен медиане векторов движения блоковА,ВиС.

  2. Для блоков размером 168 вектор MVp для верхнего блока 168 прогнозируется по вектору блока В, а для нижнего блока 168 – по вектору А.

  3. Для блоков размером 816 векторMVpдля левого блока 816 прогнозируется по векторуА, а для нижнего блока 816 – по векторуС.

Рис. 3.42.Текущий и соседние блоки деления (одинаковые размеры)

Рис. 3.43.Текущий и соседние блоки деления (разные размеры)

  1. Для пропущенных макроблоков вектор MVpблока 1616 строится как в случае (1) (то есть как если бы этот блок кодировался в модеinter).

Если один или несколько из ранее переданных блоков, показанных на рис. 3.43, недоступны (например, он лежит вне текущего слоя), то выбор MVpмодифицируется соответствующим образом. На приемном конце декодера вектор-прогнозMVpстроится тем же способом, и он добавляется к декодированному остаточному вектору. Если макроблок пропускается, то нет остаточного вектора и вектором движения служит векторMVp.

Прогноз в моде intra

Прогнозируемый блок Рв модеintraформируется по ранее закодированным и реконструированным блокам. Он вычитается из текущего блока перед кодированием. БлокРстроится для каждого блока 44 или целого макроблока 1616 яркостных пикселей. Всего имеется девять дополнительных мод для прогноза блоков 44 и четыре моды для блоков 1616. Обычно кодер выбирает моду прогноза, стараясь минимизировать разность между кодируемым текущим блоком и блокомР.

В отличие от мод прогнозирования блоков яркости 44 прогноз для целого макроблока 1616 делается за одну операцию.

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