Улучшение отношения сигнал/шум при микшировании видео изображения, сжатого по стандарту MPEG2, страница 10

Если флаг concealment_motion_vectors=1, то вектора компенсации движения кодируются вместе с интра макроблоками, иначе они не кодируются.

Флаг q_scale_type влияет на процесс инверсного квантования, флаги intra_vlc_format и alternate_scan – на декодирование коэффициентов предсказания.

Флаг repeat_first_field применяется только в КК, в ПК он равен 0. В КК он совместно с другими флагами определяет порядок декодирования полей кадра.

Флаг chroma_420_type – если формат 4:2:0, то он должен быть равен progressive_frame, иначе – 0. Этот флаг существует для совместимости.

Флаг progressive_frame равен нулю, если кадр состоит из двух чересстрочных полей и равен 1, если развертка - прогрессивная. Его значение влияет на значения некоторых других флагов.

Флаг composite_display_flag равен 1, если изображение до кодирования было представлено в композитном аналоговом формате. Различные элементы, присутствующие в потоке, если флаг равен 1, не влияют на процесс декодирования. Существуют также флаги специфичные только для PAL-систем – v_axis и field_sequence.

Флаг sub_carrier и параметр sub_carrier_phase связаны с фазой поднесущего колебания, в параметре burst_amplitude содержится информация об амплитуде импульса (только для NTSC и PAL систем). Так как все эти флаги не влияют на процесс декодирования, они могут быть применены для переноса информации.

Дополнения матрицы квантования

При декодировании sequence_header_code все матрицы устанавливаются в значения по умолчанию. Далее могут быть применены пользовательские матрицы, описываемые в sequence_header() или quant_matrix_extension().

При 4:2:0 используются 2 матрицы квантования – одна для внутрикадрового кодирования, другая – для межкадрового.

При 4:2:2 и при 4:4:4 используются 4 матрицы квантования – для яркостной и цветоразностной компоненты применяются обычно разные матрицы.

Ниже представлена матрица по умолчанию для интра блоков:

8

16

19

22

26

27

29

34

16

16

22

24

27

29

34

37

19

22

26

27

29

34

34

38

22

22

26

27

29

34

37

40

22

26

27

29

32

35

40

48

26

27

29

32

35

40

48

58

26

27

29

34

38

46

56

69

27

29

35

38

46

56

69

83

А вот матрица по умолчанию для межкадрового кодирования

16

16

16

16

16

16

16

16

16

16

16

16

16

16

16

16

16

16

16

16

16

16

16

16

16

16

16

16

16

16

16

16

16

16

16

16

16

16

16

16

16

16

16

16

16

16

16

16

16

16

16

16

16

16

16

16

16

16

16

16

16

16

16

16

Флаг load_intra_quantiser_matrix равен 1 если далее следует intra_quantiser_matrix.

intra_quantiser_matrix есть список из 64 8-битных значений. Эти значения в зигзагообразном порядке записываются в таблицу квантования, замещая имеющиеся значения. Первое значение всегда равно 8, нулевые значения не допускаются.

Точно также далее идет флаг load_non_intra_quantiser_matrix и в случае его равенства 1, структура non_intra_quantiser_matrix. Далее идет флаг load_chroma_intra_quantiser_matrix и chroma_intra_quantiser_matrix, затем флаг load_chroma_non_intra_quantiser_matrix и числа chroma_non_intra_quantiser_matrix. Значения матриц квантования могут быть модулированы дополнительной информацией.