Upgrade to Pro — share decks privately, control downloads, hide ads and more …

История пиксельных котиков. Что изменилось за 30 лет?

История пиксельных котиков. Что изменилось за 30 лет?

О том как разобраться в хаосе форматов видео и изображений

C27317d1ebe4e4a01504acab9d87fe61?s=128

Polina Gurtovaya

March 20, 2021
Tweet

Transcript

  1. История пиксельных котиков. Что изменилось за 30 лет?

  2. 2

  3. None
  4. None
  5. История пиксельных котиков. Что изменилось за 30 лет?

  6. 6 История? Серьезно?

  7. 7 30 лет назад…

  8. 8 Сколько весит не пожатая картинка? rgb(253, 204, 163);

  9. 9 И мы используем JPEG до сих пор. Почему?

  10. 10 YUV (YCbCr, Y’CbCr)

  11. 11 Subsampling

  12. 12 Разбиваем на блоки

  13. Обычный базис 13

  14. 14 DCT-преобразование

  15. Quantization 15 128 -163 7 -27 -3 3 -8 -

    3 103 122 73 -1 -15 -17 0 6 148 20 -24 -44 -13 6 -6 - 3 12 -36 -67 4 13 -5 2 - 4 -41 -5 -1 -21 6 0 5 3 -40 -3 5 -2 5 7 -4 - 1 -35 11 10 16 -1 -2 -2 - 1 -7 -4 10 15 1 0 -5 - 3 8 8 8 9 13 19 28 4 3 8 9 10 14 17 20 27 3 8 8 10 12 16 22 31 46 6 8 9 14 16 20 27 37 53 7 8 13 17 22 27 35 47 66 9 5 19 20 31 37 47 62 85 11 9 28 27 46 53 66 85 113 15 6 43 38 68 78 95 119 156 20 9
  16. 16 -19 1 -2 0 0 0 0 13 14

    7 0 0 0 0 0 18 2 -1 -2 0 0 0 0 1 -2 -3 0 0 0 0 0 -2 0 0 0 0 0 0 0 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Quantization 16 8 8 8 9 13 19 28 4 3 8 9 10 14 17 20 27 3 8 8 10 12 16 22 31 46 6 8 9 14 16 20 27 37 53 7 8 13 17 22 27 35 47 66 9 5 19 20 31 37 47 62 85 11 9 28 27 46 53 66 85 113 15 6 43 38 68 78 95 119 156 20 9
  17. Итого: 17 Меняем Сolor Space Subsampling Разбиваем на блоки Трансформируем

    блоки Вносим потери (Quantization) Сжимаем без потерь
  18. Compresson: inter & intra 18

  19. 19 Современный кодек, это набор инструментов

  20. 20

  21. 21 VP* (WebP), AV1 (AVIF) - royalty-free А у JPEG

    все патенты уже истекли :)
  22. 22

  23. 23

  24. 24

  25. Codec-agnostic and generic image container format: ISO/IEC 23000–12 standard (a.k.a.

    HEIF) от MPEG 25
  26. 26

  27. 27

  28. 28

  29. 29

  30. 30

  31. 31 Иерархия блоков

  32. 32 Можно вытащить еще больше из spatial locality

  33. 33 Предсказания по направлениям

  34. 34 Экзотические предсказания (AV1) 1. DC 2. Smooth (Vertical +

    Horizontal) 3. Recursive-based fi ltering 4. Chroma from luma 5. Color Palette 6. Intra Block Copy
  35. 35 Фильтры 1. Deblocking fi lter 2. Constrained directional enhancement

    fi lter 3. Loop restoration fi lters
  36. 36 Transforms 1. DCT (I, II) 2. Wavelets (JPEG-2000) 3.

    DST 4. ADST ( fl ipADST)
  37. 37 Adaptive transforms, fi lters & quantization

  38. 38 Бонус 1. Film Grain Synthesis 2. Superscaling

  39. 39 Multithreading & hardware 1. Hardware extensions 2. Tiles /

    Slices
  40. 40 JPEG H.264 VP8(WebP) H.265 AV1 (AVIF) Блоки Фиксированные 8

    x 8 Дерево От 16 x 16 до 4 x 4 Дерево От 16 x 16 до 4 x 4 Дерево От 64 x 64 до 4 x 4 Дерево От 128 x 128 До 4 x 4 Фильтры - Deblocking Deblocking Deblocking + … Deblocking + CDEF + еще 2 Предсказания - DC/ directional(V+H)/ Plane DC/directional (V + H)/TM DC/directional (33)/Planar DC/directional (56 directions)/Paeth/ Smooth/CfL/IBC Transform DCT DCT DCT/WHT DCT/DST DCT/ADST/ FlipADST/IDTX Сжатие без потерь Hu ff man Boolean Arithmetic Coder Boolean Arithmetic Coder CABAC Multi-symbol Entropy Coding Quantization Одна произвольная матрица на весь файл Adaptive Adaptive Adaptive Adaptive Royalty-free
  41. 41 Так что же лучше?

  42. 42 Так что же лучше?

  43. 43 Так что же лучше?

  44. 44 Так что же лучше? Есть стандарт и есть реализация

    У каждой реализации есть свой набор параметров Важно выбрать правильную метрику Важно выбрать правильные данные для сравнения
  45. 45 Метрики PSNR SSIM MS-SSIM CIEDE2000 VMAF

  46. Итого: 46 Меняем Сolor Space Subsampling Разбиваем на блоки Предсказания

    Трансформируем блоки Вносим потери (Quantization) Добавляем фильтры Сжимаем без потерь
  47. FFmpeg x265, x264, libvpx libaom SVT-AV1 rav1e dav1d 47 Инструменты

  48. 48 Что дальше? Новые форматы: JPEG-XL, VVC, WebP v2 Более

    мощные encoders ML победит всех Больше аппаратной поддержки JPEG останется доминирующим форматом
  49. Что можно использовать? H.264 (FF + Chromium + Safari) VP9

    (FF + Chromium) H.265 (Safari) AV1 (FF + Chromium) JPEG (FF + Chromium + Safari) WebP (FF + Chromium + Safari) AVIF (FF* + Chromium) 49
  50. 50 Спасибо! @polina_gurtovaya @pgurtovaya hellsquirrel@evl.ms 50 @evilmartians @evilmartians_ru evilmartians.com https:/

    /github.com/HellSquirrel/cats-pixels-images