Вы меня сильно рассмешили. Этот тип файла и есть сжатый файл. И сжимать его дальше нет смысла.Например, файл типа *.jpg при архивации только увеличивается.
Вы меня сильно рассмешили. Этот тип файла и есть сжатый файл. И сжимать его дальше нет смысла.Например, файл типа *.jpg при архивации только увеличивается.
Цель - отобразить текущую картинку на экране размером "128...200 строк по 330 точек" с 24-битным цветом и обновлять картинку 100 (ну, ладно, 60...) раз в секундуОбсуждение максимума без конкретной цели применения не имеет смысла. Что Вы собрались делать с этими "128...200 строк по 330 точек" ? - исходя из цели уже можно обсуждать, имеет смысл стремиться к максимуму или нет
любой файл - это данные.Вы меня сильно рассмешили. Этот тип файла и есть сжатый файл. И сжимать его дальше нет смысла.
еще бы. ведь сам файл jpg - это сжатая картинкаархиваторы хорошо сожмут, если в файле по тыще одинаковых бит подряд. Это далеко не всегда.
Например, файл типа *.jpg при архивации только увеличивается.
Зачем??Цель - отобразить текущую картинку на экране размером "128...200 строк по 330 точек" с 24-битным цветом и обновлять картинку 100 (ну, ладно, 60...) раз в секунду
правильно, до выключения питаниячто "задвинутая" в адресную ленту на WS 2812 строка будет "торчать" там до тех пор, пока не задвинут следующую?
То есть Вы хотите сказать, если я сожму хотя бы в RAR или ZIP архив исполняемый файл, он потеряет часть информации?а тут утверждали выше, что архиватор сжимает какие угодно данные без потери качества. Это неверно.
тогда 60 герц, наверное, действительно хватит..правильно, до выключения питания
неверно не то, что без потери качества, а неверно, что любой файл уменьшит свой объем после сжатия.То есть Вы хотите сказать, если я сожму хотя бы в RAR или ZIP архив исполняемый файл, он потеряет часть информации?
А как же он работает тогда после распаковки?
Между входным потоком и выводом на экран стоит мощный многогигагерцовый и многозвенный "аппарат". Ethernet (или Wi-Fi) обслуживает микрокомпьютер, который принимает поток и очищает его от служебной информации, потом стоит некий аналог видеокарты (с бесчисленными параллельными обработками практически на аппаратном уровне и на умопомрачительных частотах) - расшифровывает поток и превращает его - та-дам! - в HDMI, а там... для 4К - полоса от 10Гбит/сек (и может увеличиваться до 48Гбит/сек для поддержки большей битности или частоты кадров)! Т.е., по сжатому входному потоку нельзя судить о скорости передачи на устройство отображения, которым являются в Вашем случае - адресные ленты.В современном телевизоре изображение 3840 × 2160 х 60Гц х 24 бит = 12 000 000 000 - 12 миллиардов бит в секунду, в 1000 раз больше,
и работает при скорости интернета от 20-30 Мбит/с.
Почитайте, например, здесь. Любое устройство отображения имеет нелинейную зависимость яркости от уровня подаваемого сигнала. Наше восприятие имеет тоже такую зависимость. Светодиоды, в частности, имеют слабые изменения в яркости при подаче сигналов, соответствующих самым ярким оттенкам, и сильные - при тёмных. Таким образом, при 256 уровнях на цвет, разница в уровне 255 и 256 (если нумерацию уровней делать от 1, а не от 0, как в байтовом представлении) будет абсолютно неразличима, а 1->2 - чрезмерно велика. Чтобы это устранить применяются таблицы пересчёта (как правило) - можете посмотреть проекты Алекса, там они, в большинстве случаев применяются. Описание есть также в FastLED.А зачем нужна "адаптация"? 24 бита на каждый пиксель однозначно указывает на один из 16,7 миллионов цветовых оттенков.
Что и зачем нужно ещё адаптировать?
вот-вот, сделайте это сами.Или перечитайте ветку сначала, чтобы вспомнить, о чём речь...
Спасибо за подробное описание, это всё понятно и полезно.@avan, попытаюсь пооппонировать. Извините, если буду говорить о том, что Вы и так знаете, но, к сожалению, вижу, что либо намеренно, либо нет - но пропускаете.
Между входным потоком и выводом на экран стоит мощный многогигагерцовый и многозвенный "аппарат". Ethernet (или Wi-Fi) обслуживает микрокомпьютер, который принимает поток и очищает его от служебной информации, потом стоит некий аналог видеокарты (с бесчисленными параллельными обработками практически на аппаратном уровне и на умопомрачительных частотах) - расшифровывает поток и превращает его - та-дам! - в HDMI, а там... для 4К - полоса от 10Гбит/сек (и может увеличиваться до 48Гбит/сек для поддержки большей битности или частоты кадров)! Т.е., по сжатому входному потоку нельзя судить о скорости передачи на устройство отображения, которым являются в Вашем случае - адресные ленты.
Почитайте, например, здесь. Любое устройство отображения имеет нелинейную зависимость яркости от уровня подаваемого сигнала. Наше восприятие имеет тоже такую зависимость. Светодиоды, в частности, имеют слабые изменения в яркости при подаче сигналов, соответствующих самым ярким оттенкам, и сильные - при тёмных. Таким образом, при 256 уровнях на цвет, разница в уровне 255 и 256 (если нумерацию уровней делать от 1, а не от 0, как в байтовом представлении) будет абсолютно неразличима, а 1->2 - чрезмерно велика. Чтобы это устранить применяются таблицы пересчёта (как правило) - можете посмотреть проекты Алекса, там они, в большинстве случаев применяются. Описание есть также в FastLED.
Вторая часть "марализонского балета" состоит в том, что белый цвет в RGB состоит не из одинаковой яркости его составляющих, больше того, есть даже понятие "цветовая температура", в которой белый цвет оценивается в градусах Кельвина. Т.е., есть белый цвет 2700К, есть 6500К - и это довольно сильно отличающиеся белые. Вы об этом, наверное, знаете - LED-лампы сейчас весьма распространены (тёплый белый, холодный белый...). Для того, чтобы обеспечить яркость всех цветов в палитре приходится использовать не весь диапазон, например, зелёного, поскольку он воспринимается ярче синего. Т.е., 255, 255, 255 - это лишь код белого, конкретные величины, передаваемые на светодиоды будут отличаться и, для сохранения яркости при изменении цвета, быть всегда меньше 255. Это ещё больше ограничивает диапазон изменений яркости светодиодов.
P.S.
По поводу цели: мерцание и частота кадров - это несколько разные вещи. Вы уже упоминали телевизоры, которые перешли на 100, и даже на 400Гц развёртку, но... откуда же они брали сигнал? Правильно, с DVD (до 60Гц максимум) или с эфира (до 30Гц interleave). Для устранения мерцания и размытия при движении устройства отображения (LED-матрицы), а не для отображения сменяющейся картинки с такой частотой.
Вот и здесь нужно понимать, если Вы пытаетесь высокоскоростную картинку отобразить на лентах, то нужна жёсткая предобработки и их скорости будет всё равно недостаточно для адекватного отображения без смазывания, чем бы Вы их не управляли. Если речь идёт об относительно плавных изменениях, то обновлять со скоростью 100 Гц, или даже 60Гц - это чрезмерно.
цель имеется - вполне конкретная, я её изложил в ветке, и не раз.А сейчас, как я уже сказал выше, без конкретной цели это не обсуждение, а пустой флейм.
никто и не называл его исходным файлом данных.JPG никак не есть исходным файлом данных.
с этим также никто не спорит.JPG уже сжат.
Неверно по двум причинам. Во-первых, потому, что понятия "информации" и "размера" - разные вещи. Во-вторых, качество - понятие субъективное.уменьшение информации в 1000 раз во столько же уменьшит и её качество.
Не означает, что изменяется размер (сжимается). Думаю, именно это было неправильно понято.Они сжимают данные (не важно какие ) без потери качества.
О чем о другом? Вы переговорили про кучу всего. А вопрос то толком так и не раскрыли для себя. Так вот, я занимаюсь эффектами для прошивки лампы с такими диодами, в основном адаптирую найденные в инете, но иногда пишу и сам. И могу ответственно заявить, что если просто в двух циклах for выводит на матрицу из такой ленты просто один цвет. То уже на 32х32 (1024 диода) 100ФПС вы не получите никогда (esp8266). По ряду причин. Если же эффекты требуют хотя бы мало мальских рассчетов + обслуживание связи - 40-50 гора. а эффекты более менее, да на субпикселе - 18-30 ФПС.речь была о другом
То понятно, но вы же говорили еще, что можно несколько лент к одной плате включать@kostyamat, почему все забывают про скорость интерфейса самой ленты WSxxxx? Она вполне жёстко задана и довольно низкая по сравнению с SPI лентами, дело вообще не в микроконтроллере