Методы кодирования без потерь уменьшают размер цифровых файлов.
Кодирование без потерь или сжатие без потерь относится к процессу более эффективного кодирования данных, чтобы они занимали меньше битов или байтов, но таким образом, что исходные данные могут быть восстановлены побитно, когда данные распакованный. Преимущество методов кодирования без потерь заключается в том, что они создают точную копию исходных данных, но они также имеют некоторые недостатки по сравнению с методами кодирования с потерями.
Коэффициент сжатия
Методы кодирования без потерь не могут обеспечить высокий уровень сжатия. Немногие методы кодирования без потерь могут обеспечить степень сжатия выше 8: 1, что неблагоприятно по сравнению с так называемыми методами кодирования с потерями. Методы кодирования с потерями, которые обеспечивают сжатие путем отбрасывания некоторых исходных данных, могут достичь степени сжатия 10: 1 для звука и 300: 1 для видео с незначительной потерей или отсутствием ощутимой потери качественный. По данным New Biggin Photography Group, это 24-битное цветное изображение RGB с разрешением 1943 на 1702 пикселей и исходным размером 9,9 мегабайт. может быть уменьшено только до 6,5 мегабайт с использованием формата PNG без потерь, но может быть уменьшено до 1 мегабайта с использованием JPEG с потерями формат.
Видео дня
Время передачи
Любое приложение, которое включает в себя хранение или распространение цифровых изображений, или и то, и другое, предполагает, что эти операции могут быть выполнены в разумные сроки. Время, необходимое для передачи цифрового изображения, зависит от размера сжатого изображения и степени сжатия, которая может быть достигнута с помощью Методы кодирования без потерь намного ниже, чем методы кодирования с потерями, методы кодирования без потерь не подходят для этих приложений.
Кодирование Хаффмана
Многие методы кодирования без потерь, включая PNG, используют форму кодирования, известную как кодирование Хаффмана. При кодировании Хаффмана чем чаще символ встречается в исходных данных, тем короче двоичная строка, используемая для его представления в сжатых данных. Однако для кодирования Хаффмана требуется два прохода: один для построения статистической модели данных, а второй - для ее кодирования, поэтому это относительно медленный процесс. Это, в свою очередь, означает, что методы кодирования без потерь, использующие кодирование Хаффмана, заметно медленнее, чем другие методы при чтении или записи файлов.
Расшифровка
Другой недостаток кодирования Хаффмана состоит в том, что все двоичные строки или коды в закодированных данных имеют разную длину. Это затрудняет программному обеспечению декодирования определение, когда оно достигло последнего бита данных и были ли закодированные данные поврежден - другими словами, он содержит ложные биты или имеет недостающие биты - он будет неправильно декодирован, и на выходе будет ерунда.