Читать в оригинале

<< ПредыдущаяОглавлениеСледующая >>


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

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

Пусть Е текущий макроблок, часть макроблока или часть подмакроблока, А его левый соседний блок деления, В блок сверху от Е, а С блок, расположенный выше и правее Е. Если у блока Е имеется более одного соседнего блока слева, то в качестве А выбирается самый верхний из них. Если сверху от Е лежит более одного блока, то через В обозначается самый левый из них. Рисунок 6.18 иллюстрирует случай, когда все соседние блоки имеют одинаковый размер (например, 16 х 16), а на рис. 6.19 изображен пример выбора разделения на части, при котором соседние блоки имеют размеры, отличные от размеров блока Е.

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

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

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

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

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

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

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

 



<< ПредыдущаяОглавлениеСледующая >>