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

Структура jpeg файла - C++

Восстановить пароль Регистрация
 
 
KotovichMX
-32 / 2 / 0
Регистрация: 19.07.2011
Сообщений: 417
30.05.2016, 08:41     Структура jpeg файла #1
не знаю в какой раздел это писать... посему прошу прощения за неточность.. растолкуйте пожалуйста кто врубится в тему как строится zigzag order графический формат JPEG.. я так понимаю каждая ячейка должна маркироваться по горизонтали и вертикали то есть иметь свои координаты но как это реализуется технически я не догоняю простите.
Миниатюры
Структура jpeg файла  
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
vxg
Модератор
 Аватар для vxg
2726 / 1737 / 173
Регистрация: 13.01.2012
Сообщений: 6,505
30.05.2016, 09:07     Структура jpeg файла #2
KotovichMX, минут через 40 скину что есть
vxg
Модератор
 Аватар для vxg
2726 / 1737 / 173
Регистрация: 13.01.2012
Сообщений: 6,505
30.05.2016, 09:56     Структура jpeg файла #3
вот доки по тематике которые в свое время я почему-то пометил как лучшие (см. вложения).
технически зигзаг делается так
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
//------------------------------------------------------------------------------
/*
матрица индексов прямой зигзагообразной перестановки
размер матрицы - 8x8
*/
//------------------------------------------------------------------------------
static const unsigned zzi[64] =
{
015614, 15, 27, 28,
24713, 16, 26, 29, 42,
3812, 17, 25, 30, 41, 43,
911, 18, 24, 31, 40, 44, 53,
10, 19, 23, 32, 39, 45, 52, 54,
20, 22, 33, 38, 46, 51, 55, 60,
21, 34, 37, 47, 50, 56, 59, 61,
35, 36, 48, 49, 57, 58, 62, 63
};
//------------------------------------------------------------------------------
/*
прямая и обратная зигзагообразная перестановка
размеры:
    in, out - матрица 8x8
*/
//------------------------------------------------------------------------------
void fzzt(const int *in, int *out)
{
    /*
    for (unsigned y = 0; y < 8; y++)
        for (unsigned x = 0; x < 8; x++)
            out[item(zzi, y, x, 8)] = item(in, y, x, 8);
    */
 
    const int *p_in = in;
 
    for
    (
        const unsigned
            *p_zzi = zzi,
            *p_zzi_end = zzi + 63;
        p_zzi <= p_zzi_end;
    )
        out[*p_zzi++] = *p_in++;
}
//------------------------------------------------------------------------------
void izzt(const int *in, int *out)
{
    /*
    for (unsigned y = 0; y < 8; y++)
        for (unsigned x = 0; x < 8; x++)
            item(out, y, x, 8) = in[item(zzi, y, x, 8)];
    */
 
    int *p_out = out;
 
    for
    (
        const unsigned
            *p_zzi = zzi,
            *p_zzi_end = zzi + 63;
        p_zzi <= p_zzi_end;
    )
        *p_out++ = in[*p_zzi++];
}
//------------------------------------------------------------------------------
/*
доступ к эл-ту вектора как к эл-ту матрицы
    i - y
    j - x
*/
//------------------------------------------------------------------------------
template <class type>
type &item
(
    type * const base,
    const unsigned i, const unsigned j,
    const unsigned width
)
{
    return *(base + i * width + j);
}
Вложения
Тип файла: zip jpeg-rus.zip (25.8 Кб, 11 просмотров)
Тип файла: zip jpeg_c.zip (76.2 Кб, 8 просмотров)
KotovichMX
-32 / 2 / 0
Регистрация: 19.07.2011
Сообщений: 417
30.05.2016, 10:33  [ТС]     Структура jpeg файла #4
тоесть с помощью с++ происходит обработка пакуется в контейнер и с входящей стороны с помощью опять таки с++ распаковывается и подается на моник?
vxg
Модератор
 Аватар для vxg
2726 / 1737 / 173
Регистрация: 13.01.2012
Сообщений: 6,505
30.05.2016, 10:40     Структура jpeg файла #5
KotovichMX, при чем тут C++? правильнее будет сказать так: некое приложение написанное на неком языке получив некий файл формата JPEG в состоянии прочитать его и построить соответствующий этому файлу растр который может быть неким образом обработан в том числе и выведен на экран ПК
KotovichMX
-32 / 2 / 0
Регистрация: 19.07.2011
Сообщений: 417
30.05.2016, 10:48  [ТС]     Структура jpeg файла #6
ага и для того что бы прочитать или передать должен присутствовать скрипт типа приведенного выше..

Добавлено через 3 минуты
чесно скажу меня больше интересует не алгоритм а аппаратная часть цитирую - ''обработан в том числе и выведен на экран ПК'' . читал про драйвера матриц мониторов но.. как-то так .. далеко не все дошло
vxg
Модератор
 Аватар для vxg
2726 / 1737 / 173
Регистрация: 13.01.2012
Сообщений: 6,505
30.05.2016, 10:55     Структура jpeg файла #7
Цитата Сообщение от KotovichMX Посмотреть сообщение
ага и для того что бы прочитать или передать должен присутствовать скрипт типа приведенного выше..
ну да. почти. для того что бы сделать из файла JPEG растр мне пришлось написать 275 000 байт кода на C++ из 9 000 строк. причем зигзаг по своей сложности даже рядом не стоит с тем что там дальше происходит.
Цитата Сообщение от KotovichMX Посмотреть сообщение
аппаратная часть
тут я ничего не понял. я просто выводил растр средствами среды разработки. помещал на форму компонент картинка. в эту картинку записывал полученный растр. как потом это все дело обрабатывает библиотека среды разработки + операционная система + драйвера + аппаратная часть меня как и 1 млн + 1 разработчиков вообще не интересует. если бы я писал драйвер монитора меня наверное это бы интересовало. но к JPEG это не имеет никакого отношения.
KotovichMX
-32 / 2 / 0
Регистрация: 19.07.2011
Сообщений: 417
30.05.2016, 17:31  [ТС]     Структура jpeg файла #8
у меня страшок что -то упустить.. поэтому пытаюсь просечь все от и до.. хотя ты прав лезть во все дебри сразу это получить кашу в голове. достаточно для начала изучить алгоритм.

Добавлено через 20 секунд
спасибо.

Добавлено через 5 часов 54 минуты
Цитата Сообщение от vxg Посмотреть сообщение
для того что бы сделать из файла JPEG растр мне пришлось написать 275 000 байт кода на C++ из 9 000 строк
вот это как раз то что низзя упустить. можно поподробней?
vxg
Модератор
 Аватар для vxg
2726 / 1737 / 173
Регистрация: 13.01.2012
Сообщений: 6,505
30.05.2016, 17:48     Структура jpeg файла #9
KotovichMX, давно делал программу для восстановления повреждённых фото - диск с моря неудачно записался, решил разобраться с форматом что бы самому восстановить так как не нашёл программ которые могли бы работать на уровне кодовых единиц формата. Программу можно глянуть здесь http://alphacity.netii.net/tree/prjs-graph.htm (называется jpeg recovery).

Добавлено через 1 минуту
Она вроде должна и часть информации о формате показывать если я правильно помню
KotovichMX
-32 / 2 / 0
Регистрация: 19.07.2011
Сообщений: 417
31.05.2016, 04:03  [ТС]     Структура jpeg файла #10
ok! спс

Добавлено через 5 минут
удивительно как с поврежденного диска удалось достать что-то. я юзал кучу прог по восстановлению как графики так и видео и бесполезно. ниразу не удалось чего-либо извлечь.

Добавлено через 9 часов 42 минуты
Цитата Сообщение от vxg Посмотреть сообщение
static const unsigned zzi[64] =
{
0,* 1,* 5,* 6,* 14, 15, 27, 28,
2,* 4,* 7,* 13, 16, 26, 29, 42,
3,* 8,* 12, 17, 25, 30, 41, 43,
9,* 11, 18, 24, 31, 40, 44, 53,
10, 19, 23, 32, 39, 45, 52, 54,
20, 22, 33, 38, 46, 51, 55, 60,
21, 34, 37, 47, 50, 56, 59, 61,
35, 36, 48, 49, 57, 58, 62, 63
};
на первый взгляд всё очень просто - крути зигзаг как хочешь а если усложнить задачу и привязать к каждой ячейке время ее вывода. с таким сталкивался?
vxg
Модератор
 Аватар для vxg
2726 / 1737 / 173
Регистрация: 13.01.2012
Сообщений: 6,505
31.05.2016, 06:33     Структура jpeg файла #11
KotovichMX, а если добавить массу? А если добавить длину волос и баланс банковского счёта? Зачем?
KotovichMX
-32 / 2 / 0
Регистрация: 19.07.2011
Сообщений: 417
31.05.2016, 14:31  [ТС]     Структура jpeg файла #12
я вообщето серьезно. как запустить матрицу в глубокую обработку в режиме типа таймлайн? получится или нет? впрочем сам попробую.
vxg
Модератор
 Аватар для vxg
2726 / 1737 / 173
Регистрация: 13.01.2012
Сообщений: 6,505
31.05.2016, 14:48     Структура jpeg файла #13
Цитата Сообщение от KotovichMX Посмотреть сообщение
как запустить матрицу в глубокую обработку в режиме типа таймлайн?
термины глубокую и тимлайн в данном контексте мне непонятны
KotovichMX
-32 / 2 / 0
Регистрация: 19.07.2011
Сообщений: 417
31.05.2016, 15:25  [ТС]     Структура jpeg файла #14
да похоже не совсем правильно выразился. попробую в более приближенном к научному стиле: "Если в единичной матрице изменить порядок расположения строк, то полученная матрица называется матрицей перестановок"... если подставлять заменяя отдельные строки(у нас 8на8=64 сектора) получаем подстановочную все эти процессы происходят с определенной скоростью или правильно сказать заданой частотой и как вот эту частоту регулируют?

Добавлено через 2 минуты
если посмотреть на твой скрипт выше там нигде нет функций определения каких то временных интервалов. тогда как они задаются?
vxg
Модератор
 Аватар для vxg
2726 / 1737 / 173
Регистрация: 13.01.2012
Сообщений: 6,505
31.05.2016, 15:33     Структура jpeg файла #15
KotovichMX, лично мне применительно к формату JPEG абсолютно не понятно о каких временных интервалах идет речь (у нас графический файл уже время хранить стал??) и зачем нам переставлять строки в матрице (у нас есть конкретный блок пикселей и переставляя в нем строки мы превратим его в фарш)
KotovichMX
-32 / 2 / 0
Регистрация: 19.07.2011
Сообщений: 417
31.05.2016, 15:50  [ТС]     Структура jpeg файла #16
н-да действительно. это если анимация типа gif... тогда как посчитать время затрачиваемое на выполнение зигзага при конвертации скажем из одного формата в другой?

Добавлено через 1 минуту
простите в JPEG.
vxg
Модератор
 Аватар для vxg
2726 / 1737 / 173
Регистрация: 13.01.2012
Сообщений: 6,505
31.05.2016, 15:55     Структура jpeg файла #17
KotovichMX, время работы ЛЮБОЙ функции можно посчитать если сделать так
C++
1
2
3
DWORD t = GetTickCount();
наш код
DWORD dt = GetTickCount() - t;
Добавлено через 1 минуту
и это время будет ничтожно малым если сравнивать его со временем выполнения DCT или декодированием по Хаффману
KotovichMX
-32 / 2 / 0
Регистрация: 19.07.2011
Сообщений: 417
31.05.2016, 15:55  [ТС]     Структура jpeg файла #18
ok! спасибо большое.
vxg
Модератор
 Аватар для vxg
2726 / 1737 / 173
Регистрация: 13.01.2012
Сообщений: 6,505
31.05.2016, 15:56     Структура jpeg файла #19
что вы вообще на этом зигзаге застряли)?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
31.05.2016, 15:59     Структура jpeg файла
Еще ссылки по теме:

Структура ехе файла C++
C++ програма структура из файла
C++ Builder "Jpeg Error #53" при загрузке файла .png (XE7)
C++ Linux Редактирование/создание EXIF заголовка jpeg файла
C++ Структура memo файла DBT

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
KotovichMX
-32 / 2 / 0
Регистрация: 19.07.2011
Сообщений: 417
31.05.2016, 15:59  [ТС]     Структура jpeg файла #20
боюсь что-то упустить. что бы после в бою как говорится не поплыть.
Yandex
Объявления
31.05.2016, 15:59     Структура jpeg файла
Ответ Создать тему
Опции темы

Текущее время: 15:10. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru