Как стать автором
Обновить
5.6

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

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

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

Как стажировка в большой компании может преобразить студенческий проект

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров3.5K

Добрый день! Меня зовут Дмитрий Грязнов, я студент УрФу и начинающий разработчик. 

Вместе с товарищами мы подумали, что всем студентам и школьникам, которые ищут в интернете информацию, был бы полезен сервис, который может делать смысловую выжимку из текста любого объёма. Мы решили разработать именно такое приложение и выступить с этой идеей на конкурсе «Большие вызовы для студентов». Собрали ансамбль моделей, изучили, много чего переработали.

Коротко: мы используем пайплайн из сжимающих T5, Pegasus, экстракции TextRank, парафразер Bart. Сначала один алгоритм определяет вес каждого предложения и передаёт на вход абстрактивной модели 20% самых значимых предложений. А затем второй перефразирует полученный текст, чтобы сделать его более связанным. Очень много интеграционного кода и тюнинга, чтобы это всё заработало нормально. Сейчас расскажу, как дело было.

Читать далее
Всего голосов 35: ↑33 и ↓2+32
Комментарии5

Как заразить видео. Поиск уязвимостей в декодерах H.264

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


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

Если посмотреть на экосистему декодирования, то здесь в связке работают инструменты на нескольких уровнях из аппаратных ускорителей на CPU и GPU (список производителей аппаратных декодеров), драйверов и привилегированных программных компонентов. Все вместе они образуют сложнейший неоднородный коктейль привилегированного, практически нетестируемого и уязвимого кода.

В итоге мы приближаемся к тому, что вирусы можно будет незаметно интегрировать в видеоролики и распространять через популярные видеоплатформы, эксплуатируя уязвимости в аппаратных декодерах на смартфонах и в программных декодерах браузеров на ПК.
Читать дальше →
Всего голосов 15: ↑12 и ↓3+15
Комментарии15

RSync на стероидах с поддержкой Windows

Уровень сложностиСредний
Время на прочтение5 мин
Количество просмотров37K


На Хабре периодически рассказывают о новых инструментах для синхронизации данных. Это интересная тема. Такие программы используются:

  • для синхронизации файлов на разных устройствах,
  • дедупликации,
  • резервного копирования,
  • сжатия.

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

Кроме того, инструменты синхронизации интересны с алгоритмической точки зрения. Любопытно, как люди умудряются оптимизировать базовые алгоритмы типа rsync, которые вроде бы работают идеально. Но нет, всегда можно придумать что-то получше.
Читать дальше →
Всего голосов 62: ↑62 и ↓0+62
Комментарии30

Webpack. Создание WebP вместе с Jpeg и Png

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

Как вы знаете, формат изображений WebP в большинстве случаев имеет меньший вес, по сравнению со своими братьями: png и jpeg. Поэтому использовать его в своих приложениях - это хорошая практика.

Читать далее
Всего голосов 6: ↑4 и ↓2+5
Комментарии15

Истории

Как мы создаём корпоративную почтовую систему нового поколения Mailion. Оптимизация стоимости хранения данных

Уровень сложностиСредний
Время на прочтение22 мин
Количество просмотров3K

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

Одна из наиболее ресурсоемких категорий софта сегодня — это системы хранения данных. К ним можно отнести как классические СУБД, так и хранилища различного назначения. В корпоративной почтовой системе Mailion мы используем объектное хранилище собственной разработки — Dispersed Object Store (DOS). Mailion поддерживает одновременную работу до миллиона пользователей, и подобный уровень нагрузки выдвигает существенные требования к производительности и экономической эффективности системы.

Под катом рассказываем, как мы искали оптимальную конфигурацию нашего объектного хранилища, и какие уроки извлекли из этого поиска.

Читать далее
Всего голосов 26: ↑25 и ↓1+27
Комментарии2

Величайшие программисты XXI века. Юрки Алакуйяла — гений сжатия

Уровень сложностиПростой
Время на прочтение8 мин
Количество просмотров18K
Пару дней назад на Хабре обсуждали, что сжатие информации — главная концепция нашей жизни. И вот перед нами представитель этой самой индустрии. Человек, который видит мир через призму теории информации, энтропии, хаоса и закономерностей.

Мало кто слышал имя Юрки Алакуйяла (@jyzg), но все мы используем его разработки. Картинки JPEG частенько генерируются фантастическим JPEG-энкодером guetzli с применением психовизуальных моделей, а HTTP-трафик в интернете жмётся кодеком brotli, тоже лучшим в своём классе.

Д-р Юрки Алакуйяла — активный член опенсорсного сообщества и исследователь. Работает техлидом Google Research Europe (Швейцария). Среди последних разработок — алгоритмы сжатия JPEG XL, WebP lossless и др.
Читать дальше →
Всего голосов 88: ↑88 и ↓0+88
Комментарии5

Революционный метод сжатия изображений

Уровень сложностиСредний
Время на прочтение5 мин
Количество просмотров24K

Всем привет! Курс компьютерной графики в том или ином виде присутствует в образовательной программе любой ИТ-специальности. В числе прочего там обязательно проходят форматы графических файлов и затрагивают алгоритмы сжатия изображений. Сегодня я расскажу о новом, современном методе сжатия изображений, который ещё не вошёл ни в один учебник.
Читать дальше →
Всего голосов 91: ↑69 и ↓22+76
Комментарии123

Сжатие без потерь — главная концепция в нашей жизни

Уровень сложностиПростой
Время на прочтение7 мин
Количество просмотров19K

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

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

Все мы знаем и используем компьютерные архиваторы: ZIP, RAR, Brotli и т. д. Но мало кто видит в них модель интеллекта. Это даже как-то странно на первый взгляд. Хотя если подумать, то идеальное сжатие — это синоним понимания.
Читать дальше →
Всего голосов 60: ↑53 и ↓7+65
Комментарии47

Как смотрели нюдсы на древних компьютерах?

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


Формат JPEG представили в 1993 году, а GIF — в 1987-м. Но тогда непонятно, как смотрели фотографии девушек на этой прекрасной машине образца 1983 года?

Такой вопрос пришёл мне от читателя обзора портативного компьютера Compaq Portable. Ответ оказался сложнее, чем мы думали. Давайте разберёмся.
Читать дальше →
Всего голосов 72: ↑70 и ↓2+94
Комментарии93

Применение нейросетей для сжатия данных при интерактивной визуализации

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

]


Одна из самых приятных вещей в жизни разработчика архитектуры ПО и технологического эксперта Intel — возможность наблюдать за фантастическими достижениями Центров передового опыта (CoE) OneAPI по всему миру. Недавно лаборатория UC Davis Visualization & Interface Design Innovation (VIDI) Lab поделилась опытом применения глубокого обучения в создании интерактивной визуализации для науки. Подробности — к старту флагмансокго курса по Data Science.

Читать дальше →
Всего голосов 4: ↑4 и ↓0+4
Комментарии1

Хакинг метрик качества видео или как с приходом ИИ все становится намного сложнее

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

Сейчас модно писать, что ML пришел туда и все стало отлично, DL пришел сюда и все стало замечательно. А к кому-то пришел сам AI, и там все стало просто сказочно! Возможна ли ситуация, когда к нам пришел волшебный ML/DL и все стало сложнее, тяжелее и на порядок запутаннее? Безусловно! Разберем такой пример.

Десятки лет при сравнении кодеков и алгоритмов обработки видео исследователи использовали старые добрые метрики PSNR и SSIM с довольно простыми формулами и были счастливы. Но прогресс невозможно остановить! На их место пришли новые метрики и… тут выяснилось, что они взламываются.

— Погодите, погодите… — скажет взволнованный читатель, — А как это вообще выглядит, взломать метрику??? 
— Добро пожаловать в 21 век, дорогой товарищ! Благодаря неудержимому прогрессу, сегодня можно хакнуть не только утюг, колонку, автопилот машины и домашний пылесос, но и метрику качества видео.

В этот момент собеседники обычно дружно спрашивают, кому это надо? О, поверьте, есть люди, которым не просто надо, а сильно надо! Представьте себе, что вы руководитель подразделения и у вас жесткие KPI (маркетинг требует обогнать конкурентов, от этого зависят нехилые годовые бонусы у всех сотрудников и особенно у вас). Чтобы улучшить видеокодек на условные 4%, требуются десятки человеко-месяцев труда весьма высокооплачиваемых инженеров, причем, бывает, получается, а бывает, не очень. И тут выясняется, что можно за пару недель работы одного зеленого стажера подшаманить метрику на 7%. Ваши действия? Вспоминается жизненный анекдот «тут-то мне карта и поперла»…

Далее мы популярно затронем взлом методом черного ящика, белого ящика, взлом недифференцируемых метрик (привет дистилляция!) и цирк с дифференцируемыми.

Впрочем обо всем по порядку…

Кому интересен цирк с конями взлом метрик — го под кат.

Читать далее
Всего голосов 65: ↑64 и ↓1+87
Комментарии38

Что Chrome сделал с JPEG XL и почему делать этого не стоило

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

Аргументы в защиту формата в лонгриде под катом — к старту курса по Fullstack-разработке на Python.



Разработчики Chrome недавно анонсировали своё решение о прекращении поддержки формата JPEG XL, который ранее был «убран за флажок». Это решение объясняется так:

Читать дальше →
Всего голосов 11: ↑10 и ↓1+12
Комментарии20

Один, два…десять! Когда скорость восстановления имеет значение

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

Привет, Хабр! Сегодня я предлагаю поговорить о скорости восстановления из резервной копии. Иногда именно этот параметр оказывается критически недооцененным при внедрении систем резервного копирования для небольших отделов и не самых критичных задач (ведь для критичных RTO и RPO прописывают еще на этапе проектирования). В этом посте мы остановимся на 10 способах сократить время, которое ваши системы будут простаивать, если вдруг не дай бог чего случится. А если вы знаете еще и другие методы, делитесь ими в комментариях.

Читать далее
Всего голосов 14: ↑14 и ↓0+14
Комментарии0

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

7 – 8 ноября
Конференция byteoilgas_conf 2024
МоскваОнлайн
7 – 8 ноября
Конференция «Матемаркетинг»
МоскваОнлайн
15 – 16 ноября
IT-конференция Merge Skolkovo
Москва
22 – 24 ноября
Хакатон «AgroCode Hack Genetics'24»
Онлайн
28 ноября
Конференция «TechRec: ITHR CAMPUS»
МоскваОнлайн
25 – 26 апреля
IT-конференция Merge Tatarstan 2025
Казань

Сжатие изображений при помощи модели Stable Diffusion

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

Введение


На сегодняшний день Stable Diffusion является источником вдохновения для сообщества любителей опенсорсного машинного обучения и в то же время источником расстройства для художников всего мира. Мне стало любопытно, что ещё может сделать эта важная технология кроме того, как подвергать угрозе рабочие места профессиональных художников и дизайнеров.

В процессе экспериментов с моделью я обнаружил, что она подходит в качестве чрезвычайно эффективного кодека сжатия изображений с потерями. Прежде чем приступать к описанию своей методики и демонстрации кода, вот несколько результатов модели по сравнению с JPG и WebP с высокой степенью сжатия. Все изображения имеют разрешение 512x512 пикселей:
Читать дальше →
Всего голосов 37: ↑35 и ↓2+39
Комментарии11

Кодирование любой информации до нескольких байт или как уместить петабайты информации на одной дискетке

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

Особенности кодирование и представление информации в современном мире.

Читать далее
Всего голосов 16: ↑1 и ↓15-14
Комментарии2

Сжимаем изображения без потерь: какой формат выбрать?

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

Одна из тестовых фотографий, сжатие без потерь на 41%

Для сжатия изображений без потерь принято использовать PNG. Его обычно применяют для логотипов, скриншотов, диаграмм, где есть сплошные области с одинаковым цветом. Такие области сжимаются лучше всего: все lossless-кодеки используют классический RLE, то есть кодирование повторов. В некоторых случаях это обеспечивает даже лучший коэффициент сжатия, чем JPEG. И никаких искажений.

Но PNG не используют для фотографий — файлы слишком большие. Однако сейчас, с появлением кодеков нового поколения, ситуация должна измениться. Фотографии будут кодировать без потерь в файлы меньшего размера, а PNG наконец-то уйдёт на покой (см. результаты тестирования в конце статьи).
Читать дальше →
Всего голосов 24: ↑23 и ↓1+31
Комментарии49

Кто круче rsync? Интересные алгоритмы для синхронизации данных

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

Тридж, автор rsync

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

Если без шуток, то все знают rsync — инструмент для быстрой синхронизации файлов и каталогов с минимальным трафиком, который пришёл на замену rcp и scp. В нём используется алгоритм со скользящим хешем, разработанный австралийским учёным, программистом и хакером Эндрю Триджеллом по кличке Тридж (на фото).

Алгоритм эффективный, но не оптимальный.
Читать дальше →
Всего голосов 46: ↑45 и ↓1+59
Комментарии10

Нейронная (де)компрессия материала — нелинейное уменьшение размерности основанное на данных

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

В этом посте я возвращаюсь к том, к чему не собирался возвращаться — уменьшению размерности и сжатию полного набора текстур материала (в отличие от единичных текстур) — крайне неисследованной области.

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

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

Читать далее
Всего голосов 10: ↑10 и ↓0+10
Комментарии3

Первый митап фронтенд-гильдии Росбанка: шакализация, GraphQL и микроархитектура

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

Привет! Недавно мы провели небольшой митап для фронтендеров, куда пригласили троих интересных спикеров. Наш коллега Игорь Борзунов рассказал о том, как решать проблемы с плохим качеством изображений. Даниил Водолазкин из X5Tech поведал о неочевидных сложностях работы с GraphQL. И завершил программу Георгий Конюшков из «Леруа Мерлен» с темой «Time to market: микрофронтенды». В этом посте мы свели основные тезисы всех трех докладов.

Читать далее
Всего голосов 5: ↑4 и ↓1+3
Комментарии0

Как Windows 11 уменьшила размер кумулятивных обновлений на 40%

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


Раз в месяц Microsoft выпускает кумулятивное обновление Windows, которое включают в себя все предыдущие. То есть для приведения системы в актуальное состояние требуется установка единственного апдейта.

Учитывая огромное количество исправлений в Windows, кумулятивное обновление без оптимизации может сильно вырасти в размере, что неприемлемо. Например, его не смогут скачать пользователи с медленным подключением к интернету, а только в США таких 20%. Поэтому уменьшение размера обновлений — приоритетная задача. Теперь для неё нашлось решение.

Если вкратце, то раньше каждое обновление включало в себя прямую дельту изменений системы, а также обратную дельту для приведения системы к базовой RTM, чтобы установить новую прямую дельту через месяц. Однако выяснилось, что обратную дельту можно вычислить в процессе установки обновления. Теперь Microsoft намерена запатентовать этот алгоритм.
Читать дальше →
Всего голосов 14: ↑13 и ↓1+23
Комментарии58