Flif: FLIF — Free Lossless Image Format

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. Но мы пойдем дальше: какую еще практическую пользу несет формат, кроме меньшего размера для большинства типов изображений (в частности, для типов без потерь качества)?


Даже если взять наиболее подходящий для определенного типа изображений формат из PNG, JPEG 2000, WebP или BPG, то сжатие по FLIF оказывается в среднем на 12% лучше. А если тот же тест провести на 16-битных изображениях, которые не поддерживаются WebP или BPG, то FLIF окажется лучше на 19%.

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

Работает для любого типа изображений

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

Недавно появившиеся форматы WebP и BPG тоже не подходят для всех случаев, поскольку у них есть свои плюсы и минусы.

Преимущество FLIF заключается в том, что он хорошо работает для разных типов изображений. Поэтому конечному пользователю не придется делать выбор используемого формата на основе типа изображений. По ссылке представлена таблица в Google Docs, где показано сравнение разных типов изображений и разных форматов сжатия, примененных к ним. FLIF «побеждает» для всех типов изображений.

Например, для фотографий PNG работает недостаточно хорошо, а WebP, BPG и JPEG 2000 дают лучшее сжатие.

На медицинских снимках PNG и WebP работают относительно плохо, а BPG и JPEG 2000 – гораздо лучше.

На географических картах BPG и JPEG 2000 показывают очень плохие результаты, в то время как PNG и WebP дают хорошее сжатие.

Но на всех 3-х примерах выше FLIF работает лучше остальных.

Последовательная загрузка и без потерь

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

Другие форматы тоже поддерживают последовательную загрузку, например PNG c чересстрочной оптимизацией Adam7, но FLIF работает лучше.

→ По ссылке показано сравнение FLIF и PNG (Adam7)

Создан адаптивным

Разработка адаптивных сайтов, таких, которые подстраиваются под размеры экрана пользователя, является сейчас «горячей темой», и не удивительно.

Сейчас к сайтам обращаются с большего числа самых разных устройств. Настольные компьютеры, ноутбуки, смартфоны, планшеты, а с недавних пор еще и «умные» телевизоры, носимые устройства типа Apple Watch и другие – разнообразие возможных разрешений экрана невероятно. HTML5 и CSS3 значительно облегчает разработку адаптивных сайтов, но одна из сохраняющихся проблем – работа с изображениями.

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

При использовании формата FLIF на сайте нужен только один файл с изображением — на все случаи жизни. Изображение в формате FLIF может быть скачано в разных размерах из одного и того же исходного файла на сервере. Это достигается частичной загрузкой файла. Благодаря этому FLIF отлично подходит для создания адаптивных сайтов. Поскольку файл всегда один, браузер может начать скачивание его немедленно, не дожидаясь определения размера экрана. Скачивание может быть остановлено тогда, когда будет определено, что скачано достаточно большое изображение. Более того, можно продолжить скачивание с того же места, если потребуется увеличить размер, например, пользователь увеличил масштаб просмотра страницы.

FLIF помогает более эффективно использовать ресурсы на стороне клиента, определяя требуемый размер файла в данный момент на основании чего-либо из следующего:

  • Разрешения экрана и места на экране под это изображение
  • Доступная в данный момент скорость скачивания
  • Свободное место на диске и в памяти
  • Видимо ли в данный момент это изображение на экране

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

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

Даже если не рассматривать ширину канала как ограничитель, FLIF может упростить использование файлов во многих ситуациях. Например, большие файлы могут содержать небольшие превью-версии изображений в заголовках. В случае формата RAW на многих камерах, в файлах содержится полноразмерное «превью» с использованием формата JPEG с потерями в качестве и меньшей глубиной цвета. Кроме того, многие операционные системы создают кэшируемые миниатюры изображений. Их единственная цель – ускорить показ списка иконок, и FLIF это совершенно не нужно.

Бесплатно и без патентов

В отличие от таких форматов как BPG или JPEG 2000, FLIF полностью свободен от необходимости делать какие-либо отчисления и не защищается никакими патентами. FLIF использует арифметическое кодирование, но все патенты, связанные с арифметическим кодированием, утратили срок действия.

Поддержка формата

Пока никакие браузеры не поддерживают FLIF. Соответствующие запросы запущены в Mozilla и в Chromium.

Из графических редакторов FLIF поддерживают ImageMagick и ExifTool.

Для просмотра изображений можно воспользоваться XnView, плагином для Windows FLIF Windows Codec или плагином QT FLIF для QT4 и QT5.

В заключение отметим, что формат кажется чрезвычайно интересным, как в плане банальной экономии на объеме файлов, так и более удобной реализацией адаптивного веб-дизайна. Будем надеяться, Adobe, Apple, Microsoft, Google и Mozilla поддержат этот формат как можно скорее.

Формат FLIF – Фотоконвертер

FLIF – формат, который разработан в качестве свободной альтернативы общепринятым разрешениям: PNG, WebP, BPG, JPG. Изображения, сохраненные в этом разрешении, на 74% занимают меньше пространства на накопителе без существенных потерь качества. Это достигается за счет использования особого алгоритма кодировки – Adam7.

Формат FLIF поддерживается всеми популярными графическими редакторами и программами для чтения файлов с изображениями.

Как конвертировать FLIF файлы?

Есть несколько способов конвертации FLIF файлов. Самый простой способ – это онлайн конвертация. В процессе, ваши файлы загружаются на сервер, и там обрабатываются. Такой вариант будет удобен, если вам нужно конвертировать всего несколько файлов.

Другой способ – установить Фотоконвертер. Установленная программа работает быстрее и эффективнее онлайн конвертации, так как все файлы обрабатываются на локальном диске. Фотоконвертер – это хороший вариант конвертировать множество файлов FLIF за раз, не загружая файлы на сервер.

Преобразовать FLIF в другой формат

JPEG  JPG  PNG  GIF  TIFF  TIF  BMP  ICO  EMF  WMF  AI  PDF  EPS  PS  EPI  WEBP  WEBPLL  JP2  PCX  TGA  DWG  DWF  DXF  DGN  WMZ  CGM  DRW  SHP  GBR  PCT  MIF  PLT  PCL  SVG  WPG  CIN  DCX  DIS  HRU  MTV  DB  PRC  RAD  PIC  RLA  QRT  SGI  XBM  XPM  SWF  CAL  FAX  FITS  PSD  JXR  BPG  APNG  DDS  SVGZ  CG4  AVIF 

Перевести в формат FLIF

JPEG  JPG  PNG  GIF  TIFF  TIF  BMP  ICO  EMF  WMF  AI  PDF  EPS  PS  EPI  ARW  BAY  BMQ  CR2  CRW  CS1  DC2  DCR  DNG  ERF  IA  K25  KC2  KDC  MDC  MOS  MRW  NEF  ORF  PEF  PXN  RAF  RAW  RDC  SR2  SRF  X3F  STI  FFF  WEBP  WEBPLL  JP2  PCX  TGA  DWG  DWF  DXF  DGN  WMZ  CGM  DRW  SHP  GBR  PCT  MIF  PLT  PCL  SVG  WPG  CIN  DCX  DIS  HRU  MTV  DB  PRC  RAD  PIC  RLA  QRT  SGI  XBM  XPM  SWF  IMG  RLE  IMA  ARF  G4  ACE  ACORN  PHP  OCP  NAV  PIX  ALS  ALIAS  BM  2D  AMI  IFF  BLK  INFO  CPC  ATK  HDRU  ART  A64  AIP  ARN  SIM  AFX  GM  GM2  GM4  EPA  SSP  B3D  BFL  BFLI  SIR  BFX  PI  BOB  TIL  BRK  301  BRT  CAL  CALS  CDU  CMU  CP8  CPI  CRG  CAN  BIG  CAM  CMT  CLO  RIX  SCX  CE  CE1  CE2  IDC  CDR  PAT  BMF  CMX  CPT  NCD  NCT  DBW  MAP  FPG  DPX  SD0  SD1  SD2  PC  LBM  DCM  TDIM  GRAF  CMP  DOO  DD  JJ  CUT  DRZ  ECC  C4  EI  EIDI  !C  SCR  SNA  ESM  TDI  FIT  G3  FAX  FI  FITS  FTS  FBM  CBM  GEO  SUL  XCF  BIF  4BT  CLP  HF  GRO  GRB  ZBR  MDL  JTF  HPI  M8  HED  HIR  LIF  KPS  PSE  IM5  IMT  ICA  ISS  ICB  MIFF  ISH  ISM  RLC2  B&W  B_W  G3N  IIM  IPH  IPT  ITG  CIT  CT  IIMG  JIF  VI  BTN  VIF  VIFF  XV  SKN  CEL  KOA  GG  PCC  KFX  KQP  LVP  LDA  LWI  LFF  PZP  MAG  MGR  MAC  MPNT  PICT  FRE  PD  MRF  411  PDX  BLD  FRM  PBT  MIL  MSP  IPG  PDB  SC2  MNG  NCR  NITF  CAR  NEO  NMP  STW  NLM  NOL  OAZ  BGA  OFX  OIL  ABS  B16  PM  PMG  JBF  PFR  PSP  MSK  TUB  TEX  PXA  PXS  PDD  FSY  PSF  CAT  APX  P64  PXR  PICIO  PIXAR  IB7  I17  I18  IF9  PXB  PDS  2BP  PRF  PBM  RPBM  PGF  PGC  CVP  BUM  PPS  PPT  BS  PG  GB  PRI  MBM  PPP  PZL  Q0  QDV  WAL  VPB  QTIF  QTI  ICN  RP  RGH  RSB  J6I  001  PIG  RPM  ST4  STX  ST5  ST6  ST7  ST8  DAT  SAR  SCI  SCT  SC  SFW  PWP  SJ1  RGB  BW  IRIS  HRZ  PAN  SI  PMP  TIM  SPU  SPC  SPS  SSI  PAC  SEQ  SDG  X  AVS  MBFS  MBFAVS  JPS  RAS  RAST  SUN  SR  RS  VFF  SUNIFF  TAAC  SYNU  SYN  TG4  73I  82I  83I  85I  86I  89I  92I  HR  TNL  TNY  TN1  TN2  TN3  GAF  PST  UPI  PE4  FAC  FACE  VIT  VIC  VICAR  VID  VDA  VST  VOB  RLB  FXM  FXS  FXO  ANI  XWD  X11  P7  XAR  XIF  XIM  SMP  YUV  QTL  UYVY  MIM  PCD  WBC  WBP  WBZ  WB1  WB0  PSD  HDR  MIX  FPX  PPM  PGM  SID  E00  NAP  $S  $C  JXR  CINE  RW2  MEF  NRW  QTK  NVA  DOC  DOCX  RTF  HPG  HP2  3FR  CAP  DCS  DRF  EIP  IIQ  PTX  R3D  RWL  RWZ  SRW  OBM  ARI  SK  SK1  XFIG  AFF  DJVU  BPG  VSD  STL  VDX  VSDM  VSDX  APNG  DIB  JPF  JPX  J2C  J2K  JPC  PDP  PNM  JPM  XPS  OXPS  ADT  BMG  IBG  BMX  BPR  BSG  CIP  CPA  CRD  DDS  DOL  DSI  DTA  EFX  EF3  EXR  F96  FCX  FMF  FP2  FUN  FPR  FPT  FTF  FX3  G16  GIG  GIH  GMF  GUN  IFL  ICL  ICNS  IMI  JIG  KAP  MH  MIC  MPH  NPM  NSR  PH  BN  GRO2  GRO4  PAX  PCP  PSA  PSB  PSPBRUSH  PSPFRAME  PSPMASK  SST  SYJ  TM2  TJP  TRP  TSK  UNI  V  VFX  WFX  WZL  KRA  ORB  PSPIMAGE  ABC  ABIC  AFP  AWD  CMW  FLC  HDP  JBG  PTK  SFF  PTOCA  IM1  FLI  WDP  JBIG  SVGZ  JFI  JFIF  JIFF  JPE  CG4  HEIC  HEIF  SVS  CR3  DWFX  BOT  DRD  DRL  GBL  GBO  GBP  GBS  GBX  GKO  GM1  GPB  GTL  GTO  GTP  GTS  PLC  PLS  SMB  SMT  SOL  SSB  STC  STS  TAP  TOP  XLN  3D  3DS  3MF  AC  AC3D  ACC  AMJ  ASE  ASK  BLEND  BVH  C4D  COB  CSM  DAE  ENFF  FBX  GITF  GLB  HMB  HMP  IRR  IRRMESH  LWO  LWS  LXO  M3D  MD2  MD3  MD5  MESH  MOT  MS3D  NDO  NFF  OFF  OGEX  PK3  PLY  PMX  PRJ  Q3D  Q3O  Q3S  SCN  SIB  SMD  STEP  STP  TER  UC  VTA  X3D  XGL  ZGL  000  BNA  GEOJSON  GML  GMT  GPX  GTM  GTZ  GTX  KML  KMZ  NTF  REC  TAB  EMZ  DST  OBJ  AVIF 

Интерфейс командной строки

Опытные пользователи могут использовать конвертер FLIF через командную строку в ручном или автоматическом режиме.

За дополнительной помощью по использованию по использованию командной строки обращайтесь в службу поддержки пользователей.

УСТАНОВИТЕ ФОТОКОНВЕРТЕР

Быстрый и эффективный пакетный конвертер файлов FLIF формата.

Установить

FLIF — пример

FLIF — пример

Вот пример, иллюстрирующий некоторые сильные стороны FLIF. Рассмотрим следующее изображение с сайта pngimg.com. Это изображение размером 1969×1307 с четырьмя 8-битными каналами (три для цвета RGB и один для альфа-канала/прозрачности).

Сжатие без потерь

Вот размеры этого изображения в различных форматах файлов изображений:

  • 10 293 932 байт для несжатого RGBA
  • 693075 байт для PNG с чересстрочной разверткой Adam7
  • 657 022 байт для PNG с чередованием Adam7 после грубой силы pngcrush
  • 562 214 байт для JPEG 2000 (без потерь)
  • 533 004 байт для исходного файла PNG, найденного на pngimg. com
  • 495 625 байт для PNG, после грубой силы pngcrush
  • 447 419 байт для PNG с использованием PNGOUT
  • 334 889 байт для BPG (без потерь)
  • 328 650
    байт для WebP (без потерь)
  • 299 643 байт для FLIF
  • 282 655 байт для FLIF без чередования

Итак, в сжатии без потерь выигрывает FLIF (хотя BPG и WebP не сильно отстают).

Сжатие с потерями

Как насчет сжатия с потерями?

  • WebP, JPEG 2000 и BPG имеют режим с потерями (на самом деле это их режим по умолчанию), поэтому мы можем использовать его для создания файлов меньшего размера.
  • FLIF не имеет режима с потерями, но чересстрочные файлы можно декодировать прогрессивно, поэтому мы можем просто использовать что-то вроде dd if=lossless.flif of=lossy. flif bs=1024 count=50 для создания файла с потерями произвольного формата. размер (в данном случае 50 КБ).
  • PNG также не имеет режима с потерями, но чересстрочные файлы Adam7 можно декодировать прогрессивно.

Сравним артефакты сжатия разных форматов. Мы рассмотрим частичные файлы FLIF и PNG и сравним их с файлами WebP с потерями, JPEG 2000 с потерями, BPG с потерями и старыми стандартными форматами GIF и JPEG.

Заметьте, что то, что мы будем делать, не будет честным сравнением. Это сильно ущемляет FLIF и PNG, потому что мы смотрим на первые части разного размера в одном файле (тот, который в конечном итоге приводит к изображению без потерь), в то время как для других форматов мы смотрим на несколько файлов , каждый из которых оптимизирован. для определенного параметра качества.

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

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

Оригинал (без потерь) Частично загруженный FLIF (16 977 первых байтов файла размером 299 643 байта) Частично загруженный PNG (16,977 первых байт файла размером 657 022 байта) Частично загруженный GIF с потерями (16 977 первых байтов файла размером 219 377 байт) BPG с потерями (15 411 байт) WebP с потерями JPEG 2000 с потерями (16 962 байта) JPEG с потерями (16 977 байт)
нет WebP для этого размера

Победитель? На мой взгляд, BPG здесь выглядит лучше всего. Но имейте в виду, что это совершенно другой файл BPG, чем файл BPG без потерь. Кроме того, кодировщик BPG очень медленный.

Самый маленький файл WebP, который я смог создать (используя cwebp -q 1 -alpha_q 1 -m 6 ), имеет размер 22 702 байта. Давайте посмотрим:

Оригинал (без потерь) Частично загруженный FLIF (22 702 первых байта файла размером 299 643 байта) Частично загруженный PNG (22 702 первых байта файла размером 657 022 байта) Частично загруженный GIF с потерями (22 702 первых байта файла размером 219 377 байт) BPG с потерями (22 024 байта) WebP с потерями (22 702 байта) JPEG 2000 с потерями (22 676 байт) JPEG с потерями (22 749 байт)

Опять же, файл BPG выглядит лучше всего. Я бы сказал, что FLIF занимает второе место. Теперь давайте дадим WebP еще несколько байтов для работы. С cwebp -q 20 -alpha_q 20 -m 6 ) Я получил файл .webp размером 40 100 байт.

Оригинал (без потерь) Частично загруженный FLIF (40 100 первых байтов файла размером 299 643 байта) Частично загруженный PNG (40 100 первых байтов файла размером 657 022 байта) Частично загруженный GIF с потерями (40 100 первых байтов файла размером 219 377 байт) BPG с потерями (38 590 байт) WebP с потерями (40 100 байт) JPEG 2000 с потерями (40 024 байта) JPEG с потерями (40 442 байта)

Прогрессивное декодирование

Как насчет прогрессивного декодирования других форматов без потерь?

  • Lossless WebP не поддерживает прогрессивное декодирование (он просто откажется декодировать неполные файлы).
  • JPEG 2000 предположительно поддерживает прогрессивное декодирование, но я пока не нашел способа сделать это (пожалуйста, помогите мне, если вы знаете способ!).
  • BPG не претендует на прогрессивное декодирование, но попытка декодирования неполного файла иногда срабатывает.

BPG очень хорош при сжатии с потерями, но его файлы без потерь не могут быть очень хорошо декодированы прогрессивно. В этом примере bpgdec хотел декодировать файл BPG без потерь только после того, как было загружено около 90 000 байтов, и тогда все еще кажется, что только альфа-канал в порядке:

Частично загруженный FLIF (90 000 первых байт файла размером 299 643 байта) Частично загруженный BPG (90 000 первых байт файла размером 334 889 байт)

Даже после 200 000 байт файл BPG без потерь выглядит довольно плохо:

Частично загруженный FLIF (200 000 первых байт 29файл размером 9643 байта) Частично загруженный BPG (200 000 первых байт файла размером 334 889 байт)

WebP вообще не поддерживает прогрессивное декодирование. Предполагается, что JPEG 2000 работает, но я не смог найти программу, которая может обрабатывать частичные файлы JPEG 2000. Таким образом, помимо FLIF, единственным реальным выбором для прогрессивной загрузки формата без потерь был бы PNG с чересстрочной разверткой Adam7. Но в этом примере это будет файл в два раза больше. В общем, файлы FLIF составляют около 39% меньше, чем файлы PNG с чересстрочной разверткой Adam7 (даже после их pngcrushing).

Адаптивные изображения

Исходное изображение размером 1969×1307 пикселей, что довольно много. Скорее всего, ваш браузер должен уменьшить изображение, чтобы оно соответствовало доступному пространству:

.

Как было сказано ранее, приведенное выше изображение может быть закодировано в формате FLIF с использованием 299 643 байтов. Однако, используя flif -d -s 2 , уменьшенное изображение можно декодировать в масштабе 1:2, что приводит к следующему изображению 653×985 после чтения только первых 80 389байт файла:

Если масштаб 1:4 достаточно хорош (например, вы просматриваете изображение на смартфоне), то вы можете получить следующее изображение 492×326 из первых 37 014 байт файла FLIF:

FLIF — сжатие с потерями

FLIF — сжатие с потерями

FLIF — это формат без потерь. Тем не менее, если вы хотите, вы можете разрешить кодировщику изменять входное изображение, чтобы улучшить сжатие. Очевидно, что он будет делать это только в том случае, если вы скажете ему об этом, используя параметр командной строки 9.0064 —lossy [качество] .

Преимущества FLIF

с потерями

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

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

Оригинал (без потерь)
104 585 байт PNG
52 848 байт FLIF
FLIF с потерями
37 207 байт
JPEG (mozjpeg, качество 50)
37 379 байт
JPEG (libjpeg, качество 50)
37 923 байта

Сравнение с форматами с потерями

Вот пример одного изображения, чтобы дать вам представление о том, какие артефакты вызывает FLIF с потерями. По нашему мнению, при низком качестве и для фотографий специальные форматы с потерями, такие как WebP, JPEG или BPG, по-прежнему дают лучшие результаты. Однако при очень высоком качестве, мы думаем, что FLIF с потерями — лучший вариант. WebP с потерями имеет обязательную субдискретизацию цветности и преобразование цвета YCbCr, что ограничивает его полезность. при высоких качествах. JPEG также страдает от преобразования YCbCr, которое эффективно уменьшает 24-битный цвет до 22-битного (с большей частью потерь в красных и синих тонах). FLIF, будучи форматом без потерь, не имеет этих ограничений.

FLIF с потерями может конкурировать со специализированными форматами с потерями, такими как JPEG, JPEG XR, JPEG 2000 и WebP, с точки зрения DSSIM (качество восприятия) для данного размера файла, при этом избегая проблемы потери генерации и он хорошо работает со всеми видами изображений, в том числе и с нефотографическими. Вот несколько графиков, демонстрирующих это.

Наилучшее (наименьшее) значение DSSIM, показанное здесь, на самом деле без потерь (которое было бы DSSIM=0, что не может быть показано на логарифмическом графике, подобном этому, поэтому мы изменили значение до 0,000001). Для каждого формата показан полный диапазон качества. Обратите внимание, что WebP на самом деле представляет собой два формата: формат с потерями, основанный на VP8, и формат (почти) без потерь.

alexxlab

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *