Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

кодирование хаффмана - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Ход конем http://www.cyberforum.ru/cpp-beginners/thread518740.html
На шахматной доске (8х8) стоят конь и пешка. Конь располагается на поле А, пешка - на поле B. Найти минимальное количество ходов, за которые конь доберется до пешки, если последняя стоит на месте....
C++ Вычитание целых и комплексных чисел Помогите пожалуйста с решением... Написать перегруженные функции и основную программу, а) для вычитания целых чисел; б) для вычитания комплексных чисел. http://www.cyberforum.ru/cpp-beginners/thread518731.html
C++ Пропущенные цифры
Подскажите как реализовать на С? Добавлено через 17 минут Всё получилось. Тема закрыта
Получение данных из реестра C++
Вот кусок кода для проверки: HKEY fKey; DWORD pcbData = 255; char* pvData = new char; if(RegOpenKeyEx(HKEY_CLASSES_ROOT, ".xml", 0, KEY_QUERY_VALUE, &fKey) == ERROR_SUCCESS) ...
C++ Вычислить сумму элементов матрицы лежащих слева от побочной диагонали. http://www.cyberforum.ru/cpp-beginners/thread518655.html
Вычислить сумму элементов матрицы Q (10x10), лежащих слева от побочной диагонали. заранее спасибо)
C++ Деление многочленов, нахождение НОД При реализации НОД у меня многочлен делится на производную идет вот такой порядок: f(x) = g(x)∙q1(x) + r1(x), (1) затем, если r1(x) ≠ 0, – второго данного многочлена, g(x), на первый остаток – на... подробнее

Показать сообщение отдельно
rozochka90
0 / 0 / 0
Регистрация: 14.09.2011
Сообщений: 20
19.03.2012, 11:23  [ТС]
для конкретного jpeg сжатия для дерева АС Y у меня в моей программе получились коды в зависимости от вероятности повторений
символы(в 16-ричной системе) - длины 5:
6F - 01010
76 - 01011
77 - 01100
7B - 01101
7D - 01110
81 - 01111
длины 4:
8A - 0000
8D - 0001
9A - 0010
88 - 0011
79 - 0100
и код длины 1:
80 - 1

а в программе jpegsnoop при декодировании моего сохраненного jpeg файла те же самые символы получаются декодированы кодами:
длины 5:
11010
11011
11100
11101
11110
11111
длины 4:
1000
1001
1010
1011
1100
длины 1:
0

а вот с AC-коэффициентами цветоразности получились разные совсем коды:
символы - коды длиной 6
7B - 011110
7C - 011111
символы - коды длиной 5
7F - 00000
86 - 00001
8A - 00010
8B - 00011
8C - 00100
8E - 00101
84 - 01110
символы - коды длиной 4
7E - 0011
7D - 0100
82 - 0101
81 - 0110
символы - коды длиной 1
80 - 1
а в программе jpegsnoop при декодировании тех же символов получаются коды
длины 6:
111110
111111
длины 5:
11000
11001
11010
11011
11100
11101
11110
длины 4:
1000
1001
1010
1011
длины 1:
0
получается различие кодов...а почему непонятно..из-за этого я так понимаю ошибки в маркере закодированных данных....

Добавлено через 12 минут
еще в программе jpegsnoop такую ошибку *** ERROR: @ 0x00000127.7, num_coeffs>64 [68]

*** ERROR: @ 0x00000127.7, num_coeffs>64 [68]
*** ERROR: Bad scan data in MCU(0,0): Lum AC CSS(0,0) @ Offset 0x00000128.0
MCU located at pixel=(0,0)
*** ERROR: @ 0x0000012E.2, num_coeffs>64 [69]
*** ERROR: Bad scan data in MCU(1,0): Lum AC CSS(1,0) @ Offset 0x0000012E.3
MCU located at pixel=(16,0)


и еще такой вопрос...может ли отсутствовать коэффициент EOB(и вообще я не очень понимаю зачем он нужен)...
и вообще правильно ли я понимаю....я перед тем как создавать дерево хаффмана прибавила 128 к каждому кодируемому символу для того чтобы не было отрицательных чисел...нулей у меня нет..все числа положительные. у меня расхождение в мыслях- то ли EOB это коэффициент чтобы закодировать нули(которых у меня нет)...то ли это коэффициент что это конец кодируемого блока 8 на 8...или что???
извините что так много вопросов...просто никак не могу с этим разобраться....
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru