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

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

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

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

Генеративный ИИ — это просто «замыленный JPEG интернета», который убедительно косит под интеллект

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

ИИ чат‑боты любят ловить глюки и выдавать всякую чушь. Так массово, что словом 2023 года признали «галлюционировать». В чем причина такого явления? Является ли генеративный ИИ интеллектом (спойлер — и да, и нет)? И что общего у ChatGPT и копировального аппарата Xerox? Разбираемся, осмысляя неочевидный нюанс в логике работы больших языковых моделей.

Читать далее
Всего голосов 85: ↑82 и ↓3 +79
Комментарии 202

Новости

Как настольная игра и небоскребы вдохновили на разработку QR-кода

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

Про QR код на том же Хабре есть огромное количество информации. Ничего удивительного: сейчас сложно найти отрасль, где бы он не применялся. Тут и банковские операции, и идентификация товаров, и цифровые визитки. Преимущества очевидны: считывается мгновенно любым смартфоном, причем даже если треть QR кода повреждена, а еще хранит до 2935 байт двоичного кода. 

Но сегодня поговорим не про технические нюансы. Вы знали, что его придумали благодаря любви к играм и небоскребам? Если не знали, устраивайтесь поудобнее — поговорим об истории появления QR кода. 

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

Ещё раз про алгоритм сжатия Хаффмана

Уровень сложности Сложный
Время на прочтение 21 мин
Количество просмотров 11K

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

Читать далее
Всего голосов 38: ↑37 и ↓1 +36
Комментарии 13

Сжатие сообщений в Apache Kafka

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

Apache Kafka способен обеспечивать невероятно высокую пропускную способность. Он славится такими впечатляющими достижениями, как поддержка 20 миллионов заказов в час для рассылки тестов на COVID гражданам США во время пандемии. Достичь такого уровня масштабируемости позволяет подход Kafka к партиционированию топиков.

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

Истории

Дорогая техника для прослушивания Lossless Audio. Оно того стоит?

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

Вы слушаете почти всю свою музыку в «сжатом» формате (MP3 и AAC). Эти файлы экономят место, но опускают высококачественные детали оригинальных записей. Наверняка, вы задумывались, как найти несжатый звук (в форматах WAV и AIFF) и точное воспроизведение оригинальной студийной записи, а также встречали термин Lossless Audio или «аудио без потерь».

Хотя это ни в коем случае не новый термин, «Lossless» сравнительно недавно стал мейнстримом благодаря Apple, Amazon и Spotify, принявших его в своих последних аудиоаппаратных и программных продуктах и, понятное дело, рекламирующих его со всех своих платформ.

Аудио без потерь по-прежнему сжимает файлы, но использует специальный алгоритм, который может минимизировать размер ущерба для детализации. К типам файлов без потерь относятся FLAC (Free Lossless Audio Codec) и ALAC (Apple Lossless Audio Codec). Как говорят в Apple, Amazon и Spotify, у их Lossless Audio звук в исходном качестве. Что же это такое Lossless Audio и с чем его едят слушают? В чем разница между Lossless, Lossy и Hi-Res? какое оборудование сегодня есть для Lossless и сколько стоит? Обо всём этом подробно в этой статье.
Читать дальше →
Всего голосов 30: ↑21 и ↓9 +12
Комментарии 34

Сжать и не пожалеть: как работает сжатие без потерь

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

Более 9 миллиардов гигабайт информации ежедневно путешествуют по интернету, заставляя постоянно искать все новые и новые методы упаковки данных. Самые эффективные решения используют подходы, которые позволяют достичь большей плотности за счет "потерь" информации в процессе сжатия. В то же время очень мало внимания уделяется сжатию без потерь. Почему? Ответ прост - методы сжатия без потерь уже невероятно эффективны. С их помощью работает буквально всё, от формата PNG до утилиты PKZip. И это все благодаря студенту, что захотел пропустить экзамен.

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

Приложения алгебры кортежей. Часть 2. Математическая модель вопроса

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

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

Об алгебре кортежей (АК) и ее использовании для логико-семантического анализа было рассказано в моей статье в Хабре. В комментариях к статье предлагалось обратить внимание на функцию SELECT в языке SQL, которая соответствует операции Selection (Выборка) в реляционной алгебре. Эта операцию можно рассматривать как один из вариантов математической модели вопроса.

Предлагаемый здесь вариант смысла вопроса заключается в том, что в вопросе заданы некоторые ограничения (область знания, ситуация, значения некоторых атрибутов и т.д.), которые требуется использовать для того, чтобы найти или вычислить значение определенного атрибута или проверить правильность заданных в вопросе соотношений. Эта семантика применима к восполняющим вопросам типа «Что?», «Где?», «Когда?», к уточняющим вопросам типа «Верно ли, что А?» и к ИЛИ-вопросам типа «Что правильно: А или Б?». Назовем такие вопросы ограничительными. Их можно считать вариантами известной в искусственном интеллекте задачи удовлетворения ограничений.

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

Наполняем до краев: влияние порядка столбцов в таблицах на размеры баз данных PostgresQL

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

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

И что же там прячется?
Всего голосов 59: ↑58 и ↓1 +57
Комментарии 19

Приложения алгебры кортежей. Часть 1. Гибкая система счисления с простыми основаниями

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

В настоящее время известно большое число систем счисления. Подробный перечень (не знаю, насколько полный) приведен в англоязычной Википедии. В этом списке я не нашел ту систему, которая будет изложена здесь. Она относится к классу систем с переменным основанием (mixed radix). Предлагаю ее назвать Flexible number system with a Prime Radixes, сокращенно FPR-системой счисления.

Но для того, чтобы ее понять, необходимы знания некоторых понятий алгебры кортежей (АК) и частично упорядоченных множеств хотя бы в том объеме, который имеется в соответствующей статье в Википедии. Об АК кратко было рассказано в статье «Как совместить логику и семантику в одной алгебраической системе». Там же есть ссылки на публикации с более подробным описанием АК.

В данной статье будут обоснованы следующие преимущества предложенной системы счисления:

• она универсальна - позволяет ТОЧНО выразить все (за исключением нуля) конечные целые и рациональные (с любым ненулевым целым числом в знаменателе) числа, а также некоторые классы иррациональных чисел;

• ее использование позволяет сократить вычислительную сложность алгоритма умножения чисел;

• в ней существенно уменьшается объем памяти для записи и хранения многих больших чисел.

Читать далее
Всего голосов 7: ↑5 и ↓2 +3
Комментарии 30

Сжатие данных управляет Интернетом. Вот как это работает

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

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

Читать далее
Всего голосов 13: ↑11 и ↓2 +9
Комментарии 17

Алгоритмы компрессии данных: принципы и эффективность

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


Автор статьи: Артем Михайлов

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

Компрессия данных — это процесс сокращения объема данных без потерь или с минимальной потерей информации. Путем применения алгоритмов и методов компрессии, мы можем существенно уменьшить размер данных, сохраняя при этом их суть и основные характеристики. Это может быть полезно во множестве ситуаций, начиная от экономии места на хранилище и ускорения передачи данных до минимизации затрат на интернет-трафик и повышения производительности систем обработки и анализа информации.
Читать дальше →
Всего голосов 26: ↑22 и ↓4 +18
Комментарии 2

Кодеки новой эпохи: HEVC, AV1, VVC и нейросети

Уровень сложности Средний
Время на прочтение 6 мин
Количество просмотров 14K
Сжатие с учётом контекста, источник: WaveOne (сайт удалён)

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

В новом поколении кодеков алгоритмы машинного обучения используются для анализа и понимания визуального содержания видео, выявления избыточных данных и более эффективного сжатия. Вместо написанных вручную алгоритмов, тут применяют методы Software 2.0, основанные на обучении. Данная область развивается на протяжении десятилетий, но в последние годы получила сильный толчок. Все знают, что в 2017 году произошёл прорыв в разработке ИИ благодаря изобретению трансформеров. В свою очередь, они основаны на концепции внимания, которую придумали в 90-е. Эта техника впервые позволила соотносить друг с другом отдельные части текста или видеокадра.
Читать дальше →
Всего голосов 61: ↑58 и ↓3 +55
Комментарии 32

Кодирование и декодирование данных

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


Автор статьи: Артем Михайлов

Кодирование и декодирование данных — это процессы, которые стали неотъемлемой частью нашей цифровой жизни. Они позволяют «упаковать» большой объем информации и передать ее по различным каналам связи, в том числе через Интернет. Кодирование и декодирование не ограничиваются только передачей данных. Они также применяются в графике, звуке, видео и многих других областях.

Зачем нужно кодировать и декодировать данные? Ответ состоит в том, что нам нужно сократить объем информации и передать ее за минимальное время и с минимальными потерями. Кодирование позволяет компрессировать данные до необходимого уровня, а декодирование — восстановить их при получении.

Важным примером применения кодирования и декодирования данных является цифровое телевидение и интернет-трансляции. Например, H.264 — это технология кодирования видео, которая позволяет получить максимально высокое качество с минимальным объемом данных. При этом, при передаче через Интернет, данные сжимаются, и после достижения адресата автоматически декодируются.
Читать дальше →
Всего голосов 10: ↑8 и ↓2 +6
Комментарии 3

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

Битва пет-проектов
Дата 25 сентября – 30 ноября
Место Онлайн
Business Code Conference
Дата 30 ноября
Время 17:30 – 00:00
Место Москва
Импульс Т1
Дата 1 декабря
Время 12:30
Место Москва Онлайн
YaTalks 2023 — главная конференция Яндекса для IT сообщества
Дата 5 – 6 декабря
Время 9:00 – 23:59
Место Москва Белград Онлайн

Dedup Windows vs Linux, MS снова “удивит”?

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

Меня давно заинтриговала тема дедупликации данных. Это произошло в далеком 2016 году, когда передо мной встала задача впихнуть не впихуемое, на продакшн-серверах. Но обнаружить доступное решение оказалось невероятно сложно (на тот момент невозможно). Со временем у меня возникли и личные задачи, когда я хотел уменьшить объем третьей или четвертой копии данных, чтобы сэкономить место на диске. Но, возможно, я просто одержим датахордингом, и это тоже не исключено.

Читать далее
Всего голосов 21: ↑20 и ↓1 +19
Комментарии 27

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

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

CassandraDB – она же просто Кассандра – хорошо зарекомендовала себя в нише высокопроизводительных NoSQL баз данных. Но, вот, её активно стала вытеснять ещё более быстрая, надежная и легко масштабируемая ScyllaDB - этакая Кассандра++. Как тут удержаться и не проверить, так ли прекрасна эта зверушка, как про неё говорят её создатели? Тем более вендоры других популярных баз данных того и гляди закроют поддержку для российских пользователей. Нужно иметь под рукой пару-тройку запасных вариантов. Сегодня мы рассмотрим, как одноглазый монстрик приживается в диких условиях кровавого энтерпрайза, и насколько целесообразно его использовать.

Об этом расскажет Илья Орлов, техлид компании STM Labs. Вместе с командой он разрабатывает высоконагруженные решения для всевозможных задач: бизнес-порталов с использованием собственной платформы, мониторинга фискальных данных и прочее. Они любят экспериментировать с разными БД, поэтому статья будет об использовании ScyllaDB на промышленных мощностях.

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

Когда данных слишком много… как оптимизировать хранение

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

Каждый день человечество генерирует порядка 330 млн терабайт данных. Хотя по оценкам экспертов Google всего 10% из них являются свежими и оригинальными, даже копии копий нужно где-то хранить. И эта задача имеет ряд нюансов. Здесь уместно провести аналогию с известным транспортным парадоксом: чем больше дорог строится, тем больше образуется автомобилей, чтобы заполнить их (постулат Льюиса — Могриджа).

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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


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

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

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

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

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

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

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

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

Вклад авторов