Сейчас на форуме: Kybyx (+1 невидимый пользователь)

 eXeL@B —› Оффтоп —› Максимальная компрессия картинок
<< . 1 . 2 . 3 . >>
Посл.ответ Сообщение

Ранг: 54.0 (постоянный), 49thx
Активность: 0.711.1
Статус: Участник

Создано: 01 января 2020 14:51 · Поправил: SDK
· Личное сообщение · #1

Всех С Новым Годом - Большим Доходом!
Хотел у вас спросить какой самый маленький формат сжатия картинки. вот пример.

(его и нужно ужать разрешение менять нельзя)
хочу узнать самый максимум до скольки можно ужать (например 2кб) и потом архиватором например 7z kgb zip уже ужать еще раза в 3-4 ну например до 0.1 кб вот интересно реально ли это сделать или нет .
и если реально то как бы вы решили задачу а если нет то почему.
(Алгоритм задания.\Уменьшить размер без уменьшения разрешения но можно использовать конвертирование в другой формат, что бы оригинал был больше его копии ,а потом копию и оригинал тоже сжать архиватором и получить разницу раз в 5.)
Всем спасибо.Если есть вопросы я уточню.



Ранг: 54.0 (постоянный), 49thx
Активность: 0.711.1
Статус: Участник

Создано: 02 января 2020 10:55
· Личное сообщение · #2

f13nd ну давай что нибудь сожмёмс




Ранг: 271.4 (наставник), 331thx
Активность: 0.321.49
Статус: Участник

Создано: 02 января 2020 11:30
· Личное сообщение · #3

Вот твоя картинка. Пробелами разбита на группы не более 15 элементов (только что пришло в голову, что 0 элементов нафиг не надо и можно было на 16, но пофигу совершенно). Справа выписано {<число символов>,<код символа>}.
Code:
  1. FFFFFFFFFFFFFFF FFFFF BBB FFFFFFFFFFFFFFF FFFFF       {15,f},{5,f},{15,f},{5,f}
  2. FFFFFFFFFFFFFFF F BBBBBBBB FFFFFFFFFFFFFFF FFFF       {15,f},{1,f},{8,b},{15,f},{4,f}
  3. FFFFFFFFFFFF BBBBBBBBBBBBBB FFFFFFFFFFFFFFF FF        {12,f},{14,b},{15,f},{2,f}
  4. FFFFFFFFFFFF BBBBBBBBBBBBBBB B FFFFFFFFFFFFFFF        {12,f},{15,b},{1,b},{15,f}
  5. FFFFFFFFFFFF BBBBBBBBBBBBBBB BBB FFFFFFFFFFFFF        {12,f},{15,b},{3,b},{13,f}
  6. FFFFFFFFFFFF BBBBBBBBBBBBBBB BBB FFFFFFFFFFFFF        {12,f},{15,b},{3,b},{13,f}
  7. FFFFFFFFFFFF BBBBBBBBBBBBBBB BBBBB FFFFFFFFFFF        {12,f},{15,b},{5,b},{11,f}
  8. FFFFFFFFFFFF BBBBBBBBBBBBBBB BBBBBBB FFFFFFFFF        {12,f},{15,b},{7,b},{9,f}
  9. FFFFFFFFFFFF BBBBBBBBBBBBBBB BBBBBBBBB FFFFFFF        {12,f},{15,b},{9,b},{7,f}
  10. FFFFFFFFFFFF BBBBBBBBBB FF BBBBBBBBBBBBB FFFFFF       {12,f},{10,b},{2,f},{13,b},{6,f}
  11. FFFFFFFFFFFF BBBBBBBBBB FFFF BBBBBBBBBBBBB FFFF       {12,f},{10,b},{4,f},{13,b},{4,f}
  12. FFF BBBBBBBBBBBBBBB BBBBBBBBBBBBBBB BBBBBBB FFF       {3,f},{15,b},{15,b},{7,b},{7,b}
  13. FFFF BBBBBBBBBBBBBBB BBBBBBBBBBBBBBB BBBBBB FFF       {4,f},{15,b},{15,b},{6,b},{3,f}
  14. FFFFFF BBBBBBBBBBBBBBB BBBBBBBBBBBBBBB BBBB FFF       {6,f},{15,b},{15,b},{4,b},{3,f}
  15. FFFFFFF BBBBBBBBBBBBBBB BBBBBBBBBBBBBBB BB FFFF       {7,f},{15,b},{15,b},{2,b},{4,f}
  16. FFFFFFFFF BBBBBBBBBBBBBBB BBBBBBBBBBBBBB FFFFF        {9,f},{15,b},{14,b},{5,f}
  17. FFFFFFFFFFFF BBBBBBBBBBBBBBB BBBBBBBBBB FFFFFF        {12,f},{15,b},{10,b},{6,f}
  18. FFFFFFFFFFFF BBBBBBBBBBB FFFFFFFFFFFFFFF FFFFF        {12,f},{11,b},{15,f},{5,f}
  19. FFFFFFFFFFFF BBBBBBBBBBB FFFFFFFFFFFFFFF FFFFF        {12,f},{11,b},{15,f},{5,f}
  20. FFFFFFFFFFFF BBBBBBBBBBB FFFFFFFFFFFFFFF FFFFF        {12,f},{11,b},{15,f},{5,f}
  21. FFFFFFFFFFFF BBBBBBBBBBB FFFFFFFFFFFFFFF FFFFF        {12,f},{11,b},{15,f},{5,f}
  22. FFFFFFFFFFFF BBBBBBBBBBB FFFFFFFFFFFFFFF FFFFF        {12,f},{11,b},{15,f},{5,f}
  23. FFFFFFFFFFFF BBBBBBBBBB FFFFFFFFFFFFFFF FFFFFF        {12,f},{10,b},{15,f},{6,f}
  24. FFFFFFFFFFFF BBBBB FFFFFFFFFFFFFFF FFFFFFFFFFF        {12,f},{5,b},{15,f},{11,f}
  25. FFFFFFFFFFFF FFFFFFFFFFFFFFF FFFFFFFFFFFFFFF F        {12,f},{15,f},{15,f},{1,f}

Итого:
Code:
  1. FF 5F FF 5F FF 1F 8B FF 4F CF EB FF 2F CF FB 1B
  2. FF CF FB 3B DF CF FB 3B DF CF FB 5B BF CF FB 7B
  3. 9F CF FB 9B 7F CF AB 2F DB 6F CF AB 4F DB 4F 3F
  4. FB FB 7B 7B 4F FB FB 6B 3F 6F FB FB 4B 3F 7F FB
  5. FB 2B 4F 9F FB EB 5F CF FB AB 6F CF BB FF 5F CF
  6. BB FF 5F CF BB FF 5F CF BB FF 5F CF BB FF 5F CF
  7. AB FF 6F CF 5B FF BF CF FF FF 1F

107 байт, накинуть два байта на заголовок (длина строки) и готов формат сжатых в RLE 16-цветных картинок. Прочитай уже наконец книжку какую-нибудь, если сам сообразить не можешь.

Добавлено спустя 13 минут
С группировкой по 16 символов вышло бы на 3 байта дешевле, догадайся почему.

-----
2 оттенка серого




Ранг: 63.5 (постоянный), 35thx
Активность: 0.280.96
Статус: Участник

Создано: 02 января 2020 12:05
· Личное сообщение · #4

Просто все уже было.
Жпег - не самый лучший метод для сжатия индексных картинок, откройте для себя RLE, LZW, Хафмана и прочий CCITT



Ранг: 54.0 (постоянный), 49thx
Активность: 0.711.1
Статус: Участник

Создано: 02 января 2020 14:58
· Личное сообщение · #5

_MBK_ я читал про эти алгоритмы сжатия они если я не ощибаюсь от 50х до 90х годов нового не придумали если не считать mp3 и жпэг но это уже сжатие с потерями на глаз не видно на слух не слышно но программа увидит отличие. в этих старых алгоритмах нельзя сжать вот такую строчку (так говорят)
Code:
  1. CD 94 6C E8 3C 52 15 0D B8 A5 EF DA 85 48 59 C3 6B 4D 58 10 C1 2D 71 77 4F 8A 52 68 F2 05 38 C1 CF 5B A1 7B E0 1B 27 B7 D8 9F 14 A9 07 93 D7 18 84 25 98 05 49 81 96 2E C1 9E F0 1D 50 40 95 AD E7 84 83 2D EA 19 FE 00 A5 50 0F 8E 8A 3B 79 76 0B D3 C9 1E 76 F3 18 74 29 11 0B 5F B6 DC C6 85 B0 F2 3E D3 CA 8D 0E A9 54 A9 84 13 E6 B9 5A 30 DA 32 A1 C2 3C E6 69 79 6E 6A 74 A6 D8 6B 70 DC 95 1B B9 7F 9D 97 AF 24 F9 FD 6B BF 69 5F 13 24 9C 55 4C A0 22 1F 71 A7 9C FF 8C 6C 92 25 8C 15 31 1C 06 5B 9F 5D 72 0E AA EE CF BC D2 0B 3B 44 0F 0E EC 09 66 1B 3C AA A8 7A 8C 59 26 68 FD E9 88 28 61 40 AA 27 CF 84 36 73 82 DA 99 99 29 12 78 B0 6E 47 99 06 A8 64 82 45 BD 32 CA AF A5 D2 A6 0D BA 93 5C 38 93 1B 96 43 17 A5 D7 59 3E 36 EF FF 2B 0E 2C 86 B0 56 6C A0 30 EA 40 AD BF D6 16 1B AD 0F A7 0F 10 82 A6 96 BE 2D EB 45 52 B7 C0 FA 3E 95 2F 24 B0 D2 34 79 9C AB 85 D5 85 33 E0 93 9F F4 59 9C B7 F9 C8 DC 6F 04 AB C0 E2 20 FF 22 B0 0B E1 5B 2A E5 91 4A E9 EC 0E 8B CE 7B DE FB 15 DC 00 2E 69 09 70 EE DA 0F 80 C6 5E DB 90 80 3A 35 7E 28 B7 4C A9 34 1E CD 93 A4 23 EC 44 90 98 2A 8D 40 1B 97 48 51 11 4D E7 DA FB 3A 40 29 55 39 0D 72 07 D5 50 F0 16 BD 73 D0 EF 36
как думаете правда сжать не возможно такую последовательность?



Ранг: 63.5 (постоянный), 35thx
Активность: 0.280.96
Статус: Участник

Создано: 02 января 2020 16:02
· Личное сообщение · #6

На самом деле, степень сжатия сильно зависит от выбора алгоритма, применительно к типу данных. К примеру, вот только что мы все могли убедиться в том, что самое простое и дубовое RLE для однобитных изображений на несколько порядков эффективнее, чем жпеговское велвет преобразование. Если доберусь наконец до компа, попробую эту же битовую карту запаковать LZW или ссытом. А вот ваша последовательность байт к графике видимого отношения не имеет и энтропия ее на первый взгляд достаточно велика - любая компрессия малоэффективна будет.



Ранг: 54.0 (постоянный), 49thx
Активность: 0.711.1
Статус: Участник

Создано: 02 января 2020 16:08
· Личное сообщение · #7

_MBK_ пишет:
любая компрессия малоэффективна будет.

энтропия там 100% но если брать последовательность по два символа CD 94 6C E8
ну а если по одному CD946"C"E8 то вот уже есть повтор )



Ранг: 63.5 (постоянный), 35thx
Активность: 0.280.96
Статус: Участник

Создано: 02 января 2020 18:25
· Личное сообщение · #8

И толку с такой компрессии? Энтропия не может быть стопроцентной
https://youtu.be/wHDfCwRycwM



Ранг: 54.0 (постоянный), 49thx
Активность: 0.711.1
Статус: Участник

Создано: 02 января 2020 19:10
· Личное сообщение · #9

_MBK_ пишет:
И толку с такой компрессии?

это когда говорят вот файл с цепочкой не повторяемых данных попробуй ужать хоть на 1 то по моей схеме можно сделать вот так цель добится еще лучшего сжатия уже сжатых файлов вот оно чего попробуйте может еще что придумаете.




Ранг: 338.5 (мудрец), 349thx
Активность: 2.112.42
Статус: Участник

Создано: 02 января 2020 19:18
· Личное сообщение · #10

_MBK_

Рядом тему закрыли и я не успел твоё глупое мнение послушать.

Ты говорил что можно быстро отладить апп - верно, потому что это принцип в архитектуре, по большей части код нэйтив и для него есть отладочные символы. Это сделано для удобства отладки и поиска ошибок. Часть защиты типо патчгварда виртуализирована, что бы в ней не копались тем же отладчиком. Искать строки в отладчике любой школьник может, вот только это если диз найдёт ссылку на строку. А иначе что ты будешь делать ?

-----
vx




Ранг: 63.5 (постоянный), 35thx
Активность: 0.280.96
Статус: Участник

Создано: 02 января 2020 19:25
· Личное сообщение · #11

Все таки советую вам покурить матчасть, математику, как сказал мой великий тезка, уж затем учить надо, что она ум в порядок приводит. Вот, например, сходу: https://ru.m.wikipedia.org/wiki/%D0%A2%D0%B5%D0%BE%D1%80%D0%B5%D0%BC%D1%8B_%D0%A8%D0%B5%D0%BD%D0%BD%D0%BE%D0%BD%D0%B0_%D0%B4%D0%BB%D1%8F_%D0%B8%D1%81%D1%82%D0%BE%D1%87%D0%BD%D0%B8%D0%BA%D0%B0_%D0%BE%D0%B1%D1%89%D0%B5%D0%B3%D0%BE_%D0%B2%D0%B8%D0%B4%D0%B0
В переводе на простой язык - все попытки изобрести метод достаточно сильного сжатия уже жатого файла сродни изобретению перпетум мобиле

Добавлено спустя 6 минут
difexacaw пишет:
и я не успел твоё глупое мнение послушать.

Извиняюсь, ничего личного, я тут новенький,но, случайно не Вас в соседнем топике дефекатором и местным дурачком назвали?



Ранг: 54.0 (постоянный), 49thx
Активность: 0.711.1
Статус: Участник

Создано: 02 января 2020 19:43
· Личное сообщение · #12

_MBK_ пишет:
В переводе на простой язык - все попытки изобрести метод достаточно сильного сжатия уже жатого файла сродни изобретению перпетум мобиле

Это всё потому что у вас изолирован и неразвит Bios. ну а так что про мобили и перпетумы почитайте про земляную батарею или про воздушные алюминий графитовые батареи ну или про детекторный приёмник и заряды которые уже содержит проволока растянутая на столбе .если у вас в голове этого не бывает то я согласен и с вами и с сотрудником финдом и я даже скажу больше я в доле с вами дайте мне денег я буду всем говорить что ничего не бывает и завтра не взойдёт солнце и не будет новый день.
и так на последок прежде чем что то утверждать проведите эксперемент и когда у вас не получится вспомните эдисона с его лампочкой которую он чтобы смастерить провёл более 2 тысяч эксперементов.а так не бывает не могу я взять и спаять теливизор значит телевизоров не бывает

Добавлено спустя 7 минут
_MBK_ пишет:
Извиняюсь, ничего личного

Милейший Я Дико извиняюсь,а вы что мальчик в пионерских штанишках ?



Ранг: 63.5 (постоянный), 35thx
Активность: 0.280.96
Статус: Участник

Создано: 02 января 2020 19:57
· Личное сообщение · #13

Милейший, вы, наверное, будете смеяться, но я очень старый дядя, правда, без бороды.
К науке, которую я в данный момент представляю, это не имеет никакого отношения.



Ранг: 54.0 (постоянный), 49thx
Активность: 0.711.1
Статус: Участник

Создано: 02 января 2020 20:05
· Личное сообщение · #14

_MBK_ пишет:
очень старый

Так вот Сударь это если варить то старый не пойдёт а так этот случай вполне типический и вполне объяснимый.




Ранг: 271.4 (наставник), 331thx
Активность: 0.321.49
Статус: Участник

Создано: 02 января 2020 20:05 · Поправил: f13nd
· Личное сообщение · #15

_MBK_ пишет:
все попытки изобрести метод достаточно сильного сжатия уже жатого файла сродни изобретению перпетум мобиле

Понятие энтропии явным образом в информатику из термодинамики пришло, а у сдк как раз крестовый поход против начал термодинамики. Если не в практической части, то хотя бы на форуме все вокруг этими влажными фантазиями о перпетум мобилях обмазать.

-----
2 оттенка серого




Ранг: 54.0 (постоянный), 49thx
Активность: 0.711.1
Статус: Участник

Создано: 02 января 2020 20:12 · Поправил: SDK
· Личное сообщение · #16

f13nd Товарищ информатор а правда что ваши сведения схожи с густыми соплями которые и не высморкать и не проглотить?



Ранг: 63.5 (постоянный), 35thx
Активность: 0.280.96
Статус: Участник

Создано: 02 января 2020 20:14
· Личное сообщение · #17

У меня всегда была тройка по физике, поэтому начала термодинамики я, конечно, умом приемлю, но вижу вокруг множество "почти вечных мобилей" навроде Солнца, земного ядра или расширяющейся вселенной. Что касается математики, там все четко - чувства полностью согласны со здравым смыслом: ведь, если любой любой информации можно было бы сжать некоим революционным алгоритмом в ничто, то, соответственно, из одного бита можно было бы восстановить любой обьем любой информации, не так ли?




Ранг: 271.4 (наставник), 331thx
Активность: 0.321.49
Статус: Участник

Создано: 02 января 2020 20:17
· Личное сообщение · #18

SDK пишет:
Товарищ информатор а правда что ваши сведения схожи с густыми соплями которые и не высморкать и не проглотить?

Да, очень схоже. Ни отсморкаться у тебя не выходит, ни проглотить не хочется.

-----
2 оттенка серого




Ранг: 54.0 (постоянный), 49thx
Активность: 0.711.1
Статус: Участник

Создано: 02 января 2020 20:20
· Личное сообщение · #19

f13nd Это Вас Беспокоит?




Ранг: 271.4 (наставник), 331thx
Активность: 0.321.49
Статус: Участник

Создано: 02 января 2020 20:23
· Личное сообщение · #20

Неа, рефлексирую просто, беспокоиться вроде бы не о чем.

-----
2 оттенка серого




Ранг: 54.0 (постоянный), 49thx
Активность: 0.711.1
Статус: Участник

Создано: 02 января 2020 20:33
· Личное сообщение · #21

f13nd пишет:
беспокоиться вроде бы не о чем.

Почему?




Ранг: 271.4 (наставник), 331thx
Активность: 0.321.49
Статус: Участник

Создано: 02 января 2020 20:34
· Личное сообщение · #22

SDK пишет:
Почему?

Как это почему?

-----
2 оттенка серого




Ранг: 54.0 (постоянный), 49thx
Активность: 0.711.1
Статус: Участник

Создано: 02 января 2020 20:35
· Личное сообщение · #23

f13nd пишет:
Как это почему?

Всем тоже интересно




Ранг: 271.4 (наставник), 331thx
Активность: 0.321.49
Статус: Участник

Создано: 02 января 2020 20:53
· Личное сообщение · #24

SDK пишет:
Всем тоже интересно

Боюсь большинству уже совсем не интересно.

-----
2 оттенка серого




Ранг: 54.0 (постоянный), 49thx
Активность: 0.711.1
Статус: Участник

Создано: 02 января 2020 20:56
· Личное сообщение · #25

f13nd пишет:
Боюсь большинству уже совсем не интересно.

Но почему вы так думаете ?




Ранг: 271.4 (наставник), 331thx
Активность: 0.321.49
Статус: Участник

Создано: 02 января 2020 20:56
· Личное сообщение · #26

SDK пишет:
Но почему вы так думаете ?

А есть основания думать еще как-то?

-----
2 оттенка серого




Ранг: 54.0 (постоянный), 49thx
Активность: 0.711.1
Статус: Участник

Создано: 02 января 2020 21:10
· Личное сообщение · #27

f13nd пишет:
А есть основания думать еще как-то?

А разве это не способствует подготовке и реализации новых предложений или моделей развития в сложившийся структуре?



Ранг: 63.5 (постоянный), 35thx
Активность: 0.280.96
Статус: Участник

Создано: 04 января 2020 15:47 · Поправил: _MBK_
· Личное сообщение · #28

Наброшу ка я еще пожалуй ;)

Каждая точка кодируется 10 битами, всего 21 точка итого 210 бит или около 27 байт
Кто меньше?




Ранг: 271.4 (наставник), 331thx
Активность: 0.321.49
Статус: Участник

Создано: 04 января 2020 16:04 · Поправил: f13nd
· Личное сообщение · #29

21 точка, а линии между ними как кодируются? Заливка как?

-----
2 оттенка серого




Ранг: 63.5 (постоянный), 35thx
Активность: 0.280.96
Статус: Участник

Создано: 04 января 2020 16:14
· Личное сообщение · #30

Линии строятся, допустим, Брезенхэмом с нужной дискретизацией
Единственно, добавить два счетчика - в первом субконтуре 17 точек а во втором 4




Ранг: 271.4 (наставник), 331thx
Активность: 0.321.49
Статус: Участник

Создано: 04 января 2020 16:25 · Поправил: f13nd
· Личное сообщение · #31

Ну значит управляющее поле нужно вводить, где будет минимум 5 бит на число узлов (от 1 до 33), 4 бита на цвет (16 штук) и хотя бы 1 бит, определяющий в какую сторону закрашивать. И налезет все это только на картинки, где нет замкнутых контуров из более чем 33 узлов и не больших, чем 32х32. Чтоб обойти эти ограничения придется вводить переменные длины полей и заголовок, который эти длины (число узлов, координата х, координата у) описывает. Так что на практике побольше 27 байт выйдет. И по большому счету это скорей преобразование в векторную графику, а не сжатие.

-----
2 оттенка серого



<< . 1 . 2 . 3 . >>
 eXeL@B —› Оффтоп —› Максимальная компрессия картинок

У вас должно быть 20 пунктов ранга, чтобы оставлять сообщения в этом подфоруме, но у вас только 0

   Для печати Для печати