Все потоки
Поиск
Написать публикацию
Обновить
0.8

Сжатие данных *

Упаковываем и распаковываем информацию

Сначала показывать
Порог рейтинга
Уровень сложности

Как развитие алгоритмов сжатия остановилось 20 лет назад, или о новом конкурсе на 200 тысяч евро

Время на прочтение18 мин
Количество просмотров74K

В октябре прошлого года я опубликовал статью «О талантах, деньгах и алгоритмах сжатия данных», где с юмором описал, как «изобретают» новые алгоритмы сжатия люди, не имеющие достаточно навыков для реализации своих идей. А заодно рассказал про существующие конкурсы по новым алгоритмам, в том числе двигавшийся тогда к завершению конкурс алгоритмов сжатия с призовым фондом 50 тысяч евро.

Пост набрал 206 «плюсов», вышел на 2 место топа недели и вызвал оживленную дискуссию, в которой мне больше всего понравился комментарий: «Коммерческого интереса эффективность по сжатию алгоритмов сжатия без потерь сегодня не представляет, в силу отсутствия принципиально более эффективных алгоритмов. Деньги сегодня — в сжатии аудио-видео. И там и алгоритмы другие. Тема сжатия без потерь удобна именно лёгкостью верификации алгоритма, и не слегка устарела. Лет на 20.» 

Поскольку я сам уже 20 лет в области сжатия видео, с ее бурным развитием мне спорить сложно. А вот что сжатие без потерь развиваться перестало… Хотя логика тут понятна каждому. Я до сих пор пользуюсь ZIP, все мои друзья пользуются ZIP с 1989 года — значит, ничего нового не появляется. Так ведь? Похоже рассуждают сторонники плоской земли. ))) Я не видел, знакомые не видели, и даже некоторые авторитеты утверждают, значит, это так! 

О том, как Intel просили меня не прекращать читать курс по сжатию, ибо людей нет новые алгоритмы делать, я в прошлый раз писал. Но тут и Huawei в ту же дуду дует! Вместо того, чтобы раздать призы и должности победителям, а затем успокоиться, поскольку развитие давно встало, эти эксцентричные люди посчитали конкурс крайне успешным и запустили новый с призовым фондом 200 тысяч EUR.

Развивались ли алгоритмы сжатия без потерь в последние 20 лет? Чем закончился прошлый конкурс и на сколько опередили baseline? Сколько денег получили русские таланты, а сколько зарубежные? И есть ли вообще жизнь на Марсе в сжатии без потерь? 

Кому интересно — добро пожаловать под кат! 
Читать дальше →

Защищает ли Netflix свой контент?

Время на прочтение9 мин
Количество просмотров31K

Наверное всё, что нужно знать про DRM, защиту контента и продвинутые водяные знаки.

Часть I, про DRM




Главная проблема для Netflix'а и других стримингов — слив контента на торренты, в общий доступ. Ну и последующее снижение количества подписчиков сервиса.

Чтобы избежать плачевной ситуации онлайн-кинотеатры защищают контент всеми силами, используя DRM и водяные знаки по указке правообладателей. Сначала расскажу про DRM.
Читать дальше →

Расширенные возможности MessagePack

Время на прочтение11 мин
Количество просмотров12K

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

В этой статье я не буду рассказывать, как устроен MessagePack или сравнивать его с аналогами: материалов на эту тему в Интернете предостаточно. Чего действительно не хватает, так это информации о расширенной системе типов MessagePack. Я постараюсь объяснить и показать на примерах, что это такое и как с помощью дополнительных типов сделать сериализацию еще более эффективной.

Читать далее

Профессор Яаков Зив: автор метода сжатия данных без потерь

Время на прочтение7 мин
Количество просмотров21K

Яаков Зив разработал то, что мы привыкли называть термином lossless data compression — сжатие данных без потерь. Его работы стали основой для технологий, которыми мы пользуемся и по сей день, от GIF и PDF до ZIP и MP3. 

Должно быть, Зив сказочно богат? Увы, нет.

Читать далее

Почему tar.xz-файлы, созданные с Python tar, оказались в 15 раз меньше, чем у macOS tar

Время на прочтение3 мин
Количество просмотров22K

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

Сжимая каталоги по ~1,3 ГБ, в каждом из которых по 1440 файлов JSON, я обнаружил 15-кратную разницу между размером архивов, сжатых с помощью tar на macOS или Raspbian 10 (Buster), и архивов, полученных при использовании библиотеки tarfile, встроенной в Python.

Читать далее

Что такое HDR10+? Разбор

Время на прочтение7 мин
Количество просмотров43K
70% информации о мире человек получает через зрение. Фактически глаза — наш главный орган чувств. Но можем ли мы доверять нашему зрению?

Давайте взглянем на картинку. Вроде ничего необычного. Но что если я вам скажу, что ячейки A и B — совершенного одного цвета.





На самом деле мы не всегда можем отличить светлое от темного. Далеко за примерами ходить не надо: помните сине-черное / бело-золотое платье или появившиеся чуть позже кроссовки?





И все современные экраны пользуются этой особенностью человеческого зрения. Вместо настоящего света и тени нам показывают их имитацию. Мы настолько к этому привыкли, что даже не представляем что может быть как-то иначе. Но на самом деле может. Благодаря технологии HDR, которая намного сложнее и интереснее, чем вы думаете. Поэтому сегодня мы поговорим, что такое настоящее HDR-видео, поговорим про стандарты и сравним HDR10 и HDR10+ на самом продвинутом QLED телевизоре!



На самом деле первое, что надо знать про HDR: это не просто штука, которая правильно хранит видео. Чтобы увидеть HDR-контент нам нужно две составляющие: сам контент, и правильный экран, который его поддерживает. Поэтому смотреть мы сегодня будем на QLED-телевизоре Samsung.

Как Apple H.265 втихую продвигает

Время на прочтение2 мин
Количество просмотров19K

Всем привет! Я являюсь пользователем техники всем известной Купертиновской компании Apple, думаю как и многие из читателей Хабра. Я не ярый фанат яблока, просто меня устраивают устройства которые выпускает Apple. У меня в распоряжении несколько Iphone и планшет Ipad pro, так же не брезгую и устройствами на Android. Осенью 2020-го года у меня выдалось две недели отпуска. Чтобы не поддаваться осенней хандре (а она у меня бывает каждую осень), я решил махнуть в Питер и устроить себе мини путешествие дней на 5-7. Думаю погуляю, поснимаю видео и может сделаю мини ролик о путешествии.

Читать далее

Кодирование для чайников, ч.1

Время на прочтение8 мин
Количество просмотров46K

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

Статья, в первой части, является ликбезом по кодированию как таковому с примерами манипуляций с битовыми кодами, а во второй я бы хотел затронуть простейшие способы кодирования изображений.

Внизу читаем апдейт.

Читать далее

Как мы создаём почтовую систему нового поколения Mailion. Эффективное объектное хранилище для электронной почты

Время на прочтение14 мин
Количество просмотров8.1K

Недавно на Хабре вышли две статьи про новую корпоративную почтовую систему Mailion от МойОфис (1, 2) — уникальную российскую разработку, которая отличается беспрецедентными возможностями масштабирования и способна работать в системах с более чем 1 миллионом пользователей.

Несложно подсчитать, что для обслуживания такого числа пользователей потребуется колоссальный объем дискового пространства вплоть до десятков петабайт. При этом почтовая система должна уметь быстро обрабатывать эту информацию и надежно хранить её. Сегодня мы объясним общие принципы организации хранения данных внутри почтовой системы Mailion и расскажем, к каким оптимизациям мы прибегли, чтобы значительно снизить количество операций ввода/вывода и сократить требования к инфраструктуре.

Читайте далее

Windows 95 на двух флоппиках

Время на прочтение3 мин
Количество просмотров17K
В этом году мы отпраздновали четверть века с Windows 95. Её минимальная установка занимала 30 МБ; народные умельцы ужимали её до 5 МБ после удаления всех «лишних» файлов и сжатия UPX-ом оставшихся. А как насчёт двух флоппиков по 1.44 МБ, вместе с загрузчиком?



Общий подход я уже описывал в комментариях: создаётся RAMDRIVE, и на него разворачивается двухтомный SFX-архив. Но есть много тонкостей:

  1. Как видно на видео выше, распакованная папка Windows у меня занимает 6.2 МБ. Я взял за основу список файлов Micro95, и дополнительно удалил файлы, оказавшиеся необязательными — например, шрифты и драйвер dosnet.vxd. Кроме того, vmm32.vxd я распаковал, и удалил бывшие внутри него необязательные драйвера.
Читать дальше →

Использование ИИ для сверхсжатия изображений

Время на прочтение5 мин
Количество просмотров9.3K

Управляемые данными алгоритмы, такие как нейронные сети, взяли мир штурмом. Их развитие вызвано несколькими причинами, в том числе дешевым и мощным оборудованием и огромным объемом данных. Нейронные сети в настоящее время находятся в авангарде во всем, что касается «когнитивных» задач, таких как распознавание изображений, понимание естественного языка и т.д. Но они не должны ограничиваться такими задачами. В этом материале рассказывается о способе сжатия изображений с помощью нейронных сетей, при помощи остаточного обучения. Представленный в статье подход работает быстрее и лучше стандартных кодеков. Схемы, уравнения и, конечно, таблица с тестами под катом.
Приятного чтения!

Ещё один велосипед: храним юникодные строки на 30-60% компактнее, чем UTF-8

Время на прочтение15 мин
Количество просмотров14K


Если вы разработчик и перед вами стоит задача выбора кодировки, то почти всегда правильным решением будет Юникод. Конкретный способ представления зависит от контекста, но чаще всего тут тоже есть универсальный ответ — UTF-8. Он хорош тем, что позволяет использовать все символы Юникода, не тратя слишком много байт в большинстве случаев. Правда, для языков, использующих не только латиницу, «не слишком много» — это как минимум два байта на символ. Можно ли лучше, не возвращаясь к доисторическим кодировкам, ограничивающим нас всего 256 доступными символами?

Ниже предлагаю ознакомиться с моей попыткой дать ответ на этот вопрос и реализацию относительно простого алгоритма, позволяющего хранить строчки на большинстве языков мира, не добавляя той избыточности, которая есть в UTF-8.
Читать дальше →

Сжатие видео на пальцах: как работают современные кодеки?

Время на прочтение13 мин
Количество просмотров39K


Затраты на хранение данных зачастую становятся основным пунктом расходов при создании системы видеонаблюдения. Впрочем, они были бы несравнимо больше, если бы в мире не существовало алгоритмов, способных сжимать видеосигнал. О том, насколько эффективны современные кодеки, и какие принципы лежат в основе их работы, мы и поговорим в сегодняшнем материале.
Читать дальше →

Ближайшие события

Формату MP3 исполнилось 25 лет

Время на прочтение3 мин
Количество просмотров8.9K


25 лет назад, в июле 1995 года, представители немецкого Института интегральных микросхем Фраунгофера (Fraunhofer-Institut für Integrierte Schaltungen, сокращенно Fraunhofer IIS, FIIS) приняли важное решение: использовать расширение .mp3 для обозначения нового стандарта кодирования данных. Дату этого события и принято считать днем рождения MP3.

Формат был создан для передачи аудиофайлов по медленным сетям коммуникаций, изначально — телефонным. В 1995 году существовали и другие стандарты, но с их помощью звуковые файлы нельзя было сжимать настолько же эффективно, как это позволял делать MP3. Он сделал возможным бурное развитие медиаиндустрии, включая разработку цифровых плееров.
Читать дальше →

Discret 11: краткая история шифрования французского телеканала

Время на прочтение6 мин
Количество просмотров16K

Я провёл своё детство во Франции, много играл в футбол и слишком долго смотрел телевизор. В 80-х во Франции было три телеканала. Два из них, Antenne 2 и FR3, финансировались государством и были скучными, а TF1 был частным и показывал много японских мультиков. Моё поколение выросло на «Капитане Цубасе», «Святом Сейя», «Капитане Харлоке» и «Грендайзере».

У нас не было ни кабельного, ни Интернета, телесигнал транслировался по воздуху и на крыше каждого дома стояла ловившая волны антенна.

Всё изменилось в 1984 году с появлением четвёртого канала. Canal Plus (Channel Plus) должен был совершить революцию на рынке телеканалов, показывая современные фильмы, спортивные трансляции со всего мира и не имея при этом рекламы. Для удовлетворения амбиций владельцев «Canal» должен был финансироваться ежемесячной абонентской платой подписчиков.

Техническая трудность такой схемы была совершенно понятна. Как гарантировать, что канал смогут смотреть только заплатившие абоненты, если его сигнал транслируется всем? Легко — достаточно закодировать его технологией под названием «Discret 11».

Алгоритм сжатия Хаффмана

Время на прочтение8 мин
Количество просмотров101K
В преддверии старта курса «Алгоритмы для разработчиков» подготовили для вас перевод еще одного полезного материала.




Кодирование Хаффмана – это алгоритм сжатия данных, который формулирует основную идею сжатия файлов. В этой статье мы будем говорить о кодировании фиксированной и переменной длины, уникально декодируемых кодах, префиксных правилах и построении дерева Хаффмана.

Мы знаем, что каждый символ хранится в виде последовательности из 0 и 1 и занимает 8 бит. Это называется кодированием фиксированной длины, поскольку каждый символ использует одинаковое фиксированное количество битов для хранения.
Читать дальше →

Метод нечеткой индукции и его применение для моделирования знаний и информационных систем

Время на прочтение7 мин
Количество просмотров3.3K

В настоящей статье предложен разработанный автором метод нечеткой индукции как объединение положений нечеткой математики и теории фракталов, введено понятие степени рекурсии нечеткого множества, представлено описание неполной рекурсии множества как его дробной размерности для моделирования предметной области. В качестве сферы применения предлагаемого метода и созданных на его основе моделей знаний как нечетких множеств рассмотрено управление жизненным циклом информационных систем, включая разработку сценариев использования и тестирования программного обеспечения.

Читать дальше →

Нужен ли нам такой формат?.. и немного статистики

Время на прочтение5 мин
Количество просмотров3.1K
Несколько месяцев в свободное время занимался разработкой нового формата изображений.

Акценты сделаны на:
1. Сжатие без потерь
2. Хорошая векторизация одноцветных объектов
3. Более быстрое ДЕкодирование, чем у других форматов
4. Несколько шаблонов кодирования при едином шаблоне декодирования в зависимости от того, что нужно 1, 2, 3 или что-то среднее
5. Сжатие любых векторных изображений (с потерями, но можно указать до какого масштаба необходима абсолютная точность)
6. Стилизация (главным образом для придания уникальности изображению + видеоэффекты и т.д.)
7. Также возможна прогрессивность (отображение по ходу загрузки) при установке неполного сжатия или в 27% случаев
8. Имитация рисования изображения
9. Добавление возможностей с обратной совместимостью


А вот подробная презентация формата:


Читать дальше →

JPEG. Алгоритм сжатия

Время на прочтение3 мин
Количество просмотров29K

И снова здравствуйте! Я нашел эту статью, написанную еще мае 2019-ого года. Это — продолжение серии статей о WAVE и JPEG, Вот первая. Эта публикация включит в себе информацию об алгоритме кодирования изображений и о самом формате в целом.


Щепотку истории


Столовую ложку статьи из Википедии:


JPEG (Joint Photographic Experts Group) — один из популярных растровых графических форматов, применяемый для хранения фотоизображений и подобных им изображений.

Разработан этот стандарт был Объединенной группой экспертов по фотографии еще в 1991 году для эффективного сжатия изображений.

Читать дальше →

Скоростная отказоустойчивая компрессия (Продолжение)

Время на прочтение8 мин
Количество просмотров3K
Данная статья уже вторая в теме о скоростной компрессии данных. В первой статье был описан компрессор работающий со скоростью 10Гбайт/сек. на одно процессорное ядро (минимальное сжатие, RTT-Min).

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

В первой статье также анонсировалась разработка алгоритма компрессии для сжатия резервных копий HDD и SSD дисковых накопителей (среднее сжатие, RTT-Mid) с существенно улучшенными параметрами сжатия данных. К настоящему времени этот компрессор полностью готов и данная статья именно о нем.
Читать дальше →