Hacker News Digest

18 июля 2026 г. в 03:14 • maurycyz.com • ⭐ 537 • 💬 53

OriginalHN

Regressive JPEGs

JPEG-файлы поддерживают постепенную загрузку, разбивая данные на «сканы» — сначала передаются низкочастотные (DC) компоненты, затем детали. Автор экспериментирует с этим, создавая «регрессивные» JPEG, где каждый скан заменяет предыдущий кадр, а не дополняет его. Для этого он объединяет несколько изображений, удалив заголовки и оставив только сканы, — браузер постепенно переключает их при загрузке. Ограничение в 9–90 сканов (в зависимости от браузера) мешает создавать длинные анимации, но использование только DC-сканов (без AC-деталей) позволяет обойти это: каждый кадр — это 1/16-разрешение изображение, но без артефактов «призрачного» наложения. Так можно уместить видео в один файл: например, кот, идущий к камере, загружается как 90 последовательных кадров. Нет тайминга — воспроизведение зависит только от скорости сети. Тем не менее, это работает без JavaScript и CSS: автор создал полноценный HTML-видеоплеер и даже чат-интерфейс, используя только структуру JPEG.