Я декодирую файл JPEG.Я сгенерировал таблицы Хаффмана и таблицы квантования, и я дошел до того, что мне нужно декодировать элементы постоянного и переменного тока.Например, допустим, у меня есть следующие данные
FFDA 00 0C 03 01 00 02 11 03 11 00 3F 00 F2 A6 2A FD 54 C5 5F FFD9
Если мы игнорируем несколько байтов маркера SOS, мои реальные данные начинаются с F2
байта.Итак, давайте запишем его в двоичном виде (начиная с байта F2):
1111 0010 1010 0110 0010 1010 1111 1101 0101 0100 1100 0101 0101 1111
F 2 A 6 2 A F D 5 4 C 5 5 F
При декодировании первым элементом является элемент DC яркости, поэтому давайте расшифруем его.
[1111 0]010 1010 0110 0010 1010 1111 1101 0101 0100 1100 0101 0101 1111
F 2 A 6 2 A F D 5 4 C 5 5 F
Итак, 11110 - это код Хаффмана (в моем случае) для элемента 08
.Это означает, что следующие 8 бит являются моим значением постоянного тока.Когда я беру следующие 8 битов, значение равно:
1111 0[010 1010 0]110 0010 1010 1111 1101 0101 0100 1100 0101 0101 1111
F 2 A 6 2 A F D 5 4 C 5 5 F
Значение элемента постоянного тока равно -171.
Вот моя проблема: следующее - значение переменного тока яркости, но я не совсем понимаюстандарт в случае, когда переменный ток не равен нулю?Tnx!