Рубрика «сжатие данных» - 6

В этой статье я расскажу, как использовать описанные в прошлой статье инструменты для исследования игры Felix The Cat для NES. Моя первоначальная цель была, как обычно, разобрать формат уровней игры и добавить её в свой универсальный редактор уровней CadEditor, однако в ходе изучения игры обнаружилось, что описание уровней сжато (это редкость для NES-игр!), поэтому я также разобрал формат компрессии данных, и написал компрессор, позволяющий сжимать отредактированные уровни так же, как это делали разработчики игры.

Использование инструментов исследования NES-игр на примере разбора формата компрессии игры Felix The Cat - 1

Читать полностью »

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

В тесте принимали участие следующие программы.

Для PNG:

1. Leanify 0.4.3 (x64)
2. pingo v0.79c
3. pinga v0.09
4. OptiPNG 0.7.6
5. pngout
6. PngOptimizer 2.5 (x64)
7. advpng aka AdvanceCOMP v1.23
8. ECT 0.6 (x64)
9. TruePNG 0.6.2.2
10. pngwolf-zopfli 1.1.1 (x64)

Для JPEG:

1. Leanify 0.4.3 (x64)
2. pingo v0.79c
3. ECT 0.6 (x64)
4. mozjpeg 3.2 (x64)
5. jhead 3.00
6. jpegoptim v1.4.4 (x64)
7. jpegtran
Читать полностью »

Предисловие

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

Многие, как и мы, хостят свои сайты на т.н. shared hosting. Наш хостер fozzy всем хорош, менять его желания никакого нет, поэтому, когда в google adwords поддержке нас ткнули носом в низкий рейтинг pagespeed insight на мобильной версии, пришлось снова вернуться к вопросу оптимизации изображений.

Несколько месяцев назад этот вопрос уже возникал. Я пытался по всяким мануалам, в том числе с Хабра, добиться высокого рейтинга на pagepseed, но одно дело получить 100 баллов при загрузке страницы:

<html><body>Hello world!</body></html>

и совсем другое дело получить высокую оценку на странице интернет магазина, на котором куча скриптов, которые нельзя отключить или загружать асинхронно.
Читать полностью »

FLIF

Как формат JPEG произвел в свое время революцию среди форматов изображений, так и новый формат FLIF обещает такого же масштаба событие для дизайнеров и веб-разработчиков.

FLIF (Free Lossless Image Format) – новый формат файлов для изображений, обеспечивающий беспрецедентное сжатие без потерь. Файлы получаются:

  • На 14% меньше, чем WebP, без потерь
  • На 22% меньше, чем BPG, без потерь
  • На 33% меньше, чем сжатый через ZopfliPNG PNG-файл
  • На 43% меньше, чем обычные PNG-файлы
  • На 46% меньше, чем оптимизированные по Adam7 чересстрочные PNG-файлы
  • На 53% меньше, чем JPEG 2000, без потерь
  • На 74% меньше, чем JPEG XR, без потерь

На Хабре уже опубликовано пару статей на тему FLIF. Но мы пойдем дальше: какую еще практическую пользу несет формат, кроме меньшего размера для любого типа изображений?
Читать полностью »

Анонс новых функциональных возможностей HPE 3PAR StoreServ от 13 февраля 2017 года был назван некоторыми комментаторами в корпоративном блоге самым важным с момента запуска
семейства 3PAR 7000 четыре года назад. Это очень громкое заявление. За это время в индустрии многое поменялось, флеш-накопители обогнали жесткие диски по объемам продаж, а некоторые компании, производящие системы хранения, потеряли свою независимость или вообще разорились.

Интересно, что 13 февраля были объявлены, по большому счету, только программные улучшения. Единственная аппаратная новинка – это четырехпортовые адаптеры для семейства 3PAR 8000. Это важная вещь для тех, кто использует File Persona или iSCSI, но звания «самого важного анонса» не заслуживает. Так в чем же дело?

Почему февральское обновление HPE 3PAR StoreServ – самое важное с момента запуска линейки - 1
Читать полностью »

Год без единого байта - 1Об авторе. Арчи Рассел (Archie Russell) — инженер бэкенда во Flickr

Одна из самых затратных статей в работе сервиса вроде Flickr — это хранение. За последние годы мы описывали различные техники для снижения стоимости: использование COS, динамическое изменение размера на GPU и перцептивное сжатие. Эти проекты были очень успешны, но мы продолжали терять много денег на хранении данных.

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

История затрат

Небольшие арифметические расчёты на салфетке показывают, что затраты на хранение представляют собой предмет реального беспокойства. В день с высокой посещаемостью пользователи Flickr загружают до 25 млн фотографий. Каждая из них требует в среднем 3,25 МБ, что в сумме составляет 80 ТБ. Наивно размещая их на облачном хостинге вроде S3 фотографии одного дня потянут на $30 тыс. в год и продолжат генерировать затраты каждый последующий год.
Читать полностью »

Один пиксель вместо тысячи слов - 1

Пару месяцев назад, отдыхая от реализации новых возможностей вроде q_auto и g_auto, я прикалывался в нашем командном чате по поводу того, как различные форматы хранения изображений будут сжимать однопиксельную картинку. В ответ Orly, редактор блога, попросил меня написать пост об этом. Я сказал: «Конечно, почему бы и нет. Но это будет очень короткий пост. Ведь что можно рассказать про один пиксель».

Похоже, я был сильно неправ.

Что можно сделать с одним пикселем?

В ранние годы веба однопиксельные картинки часто использовались как костыли для вещей, которые сейчас делаются через CSS. Создание отступов, линий, прямоугольников, полупрозрачных фонов – много чего можно сделать, просто масштабируя пиксель до нужных размеров. Ещё одно использование пикселей, дожившее до наших дней – маячки, средства для отслеживания и аналитики.

В отзывчивом веб-дизайне однопиксельные картинки используются как временные заглушки в ожидании загрузки страницы. Большинство браузеров не поддерживают HTTP Client Hints, поэтому некоторые варианты с отзывчивыми изображениями ждут полной загрузки страницы, чтобы подсчитать актуальный размер картинок, а затем заменяют однопиксельные картинки нужными изображениями при помощи JavaScript.

Один пиксель вместо тысячи слов - 2
Сломанная картинка
Читать полностью »

Предлагаю вашему внианию перевод статьи Neural Network As Predictor For Image Coding (PNG). Блог автора находится здесь.

Тема исследования

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

Сжатие

Классически PNG-компрессия делится на два шага:

  1. Предварительная фильтрация (с использованием предикторов);
  2. Компрессия (с помощью DEFLATE).

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

В 2012 году на Хабре уже была моя статья про быстрое сжатие в JPEG на видеокарте. С тех пор прошло уже довольно много времени и мне хотелось бы в общих чертах рассказать про результаты, которые были получены по этой теме. Надеюсь, многим будет интересно узнать, какой уровень производительности можно получить на современных видеокартах NVIDIA при решении практических задач на CUDA.
Читать полностью »

Плохой пример хорошего теста

Примечание переводчика:
Изначально статья задумывалась как вольный перевод текста Дона Дрейка (@dondrake) для Cloudera Engineering Blog об опыте сравнения Apache Avro и Apache Parquet при использовании Apache Spark. Однако в процессе перевода я углубился в детали и нашел в тестах массу спорных моментов. Я добавил к статье подзаголовок, а текст снабдил комментариями со злорадным указанием неточностей.

В последнее время в курилках часто возникали дискуссии на тему сравнения производительности различных форматов хранения данных в Apache Hadoop — включая CSV, JSON, Apache Avro и Apache Parquet. Большинство участников сразу отметают текстовые форматы как очевидных аутсайдеров, оставляя главную интригу состязанию между Avro и Parquet.

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

Как любой уважающий себя инженер, я подумал, что было бы неплохо провести полноценные performance-тесты, чтобы наконец проверить, на чьей стороне правда. Результат сравнения — под катом.

Apache Parquet LogoЧитать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js