Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции по ЦО АВС.doc
Скачиваний:
69
Добавлен:
07.09.2019
Размер:
5.86 Mб
Скачать

4.5.2 Информационные потери в jpeg2000 на разных этапах обработки

  • Предварительная обработка. Изображение, как правило, представляет собой набор неотрицательных целых чисел. На этапе предварительной обработки из него вычитают среднее. Кроме того, если изображение большого размера, то оно может быть разбито на части. Тогда каждая часть сжимается отдельно, а для предотвращения появления заметных линий на стыке восстановленных частей применяются специальные меры. Для преобразования изображения из стандартного цветового представления RGB в яркостно-цветовое представление YCrCb стандартом предусмотрены две процедуры: обратимая и необратимая.  Необратимая  процедура  в  точности  повторяет  классическое  преобразование RGB-> YCrCb,  которое  использовалось,  например,  в  старом  стандарте JPEG.  Обратимая процедура представляет собой достаточно грубое приближение к классической необратимой процедуре. Как следует из названия, данное преобразование не ведет к потере цветовой информации, и может  применяться  в  тех  случаях,  когда  задействуется  режим  сжатия  без  потерь.

  • Вейвлет-преобразование. В первой части определены два вейвлет-фильтра - фильтр Добеши для сжатия с потерями и тоже биортогональный фильтр с целочисленными коэффициентами для сжатия без потерь. Во второй части стандарта разрешается применение любых фильтров, а также не только октавополосное разбиение, но и произвольное (вейвлет-пакеты и т.д.) В стандарте определено, что вейвлет-преобразование осуществляется не путем свертки с импульсными характеристиками фильтров, а на основе алгоритма, известного как лифтинговая схема. Обязательная часть стандарта предписывает использование только двух фильтров: обратимый .5/3. . для сжатия  без  потерь  и  необратимый  .9/3.  .  для  сжатия  с  потерями  (оба  фильтра  являются классическими). Фильтр представляет собой небольшое «окно». Значения яркости и цветности попавших в него пикселей умножаются на заданный набор коэффициентов, а полученные значения суммируются, и «окно» сдвигается для расчета следующего значения. Каждый канал проходит фильтрацию низкочастотным и высокочастотным фильтрами отдельно по строкам и по рядам, в результате чего после первого прохода в каждой части формируются четыре более мелких изображения (subband). Все они несут информацию об исходном изображении, но их информативность сильно отличается. Например, изображение, полученное после низкочастотной фильтрации по строкам и рядам (вверху слева), несет наибольшее количество информации, а полученное после высокочастотной — минимальное. Информативность у изображений, полученных после НЧ-фильтрации строк и ВЧ для столбцов (и наоборот), средняя. Наиболее информативное изображение опять подвергается фильтрации, а полученные составляющие, как и при jpeg-компрессии, квантуются. Так происходит несколько раз: для сжатия без потерь цикл обычно повторяется 3 раза, с потерями — разумным компромиссом между размером, качеством и скоростью декомпрессии считается 10 итераций. В результате получается одно маленькое изображение и набор картинок с мелкими деталями, последовательно и с определенной точностью восстанавливающих его до нормального размера.

  • Квантование. В первой части стандарта определен равномерный квантователь с мертвой зоной, описанный, например, по вейвлетам. В случае сжатия без потерь размер шага квантователя равен 1, иначе он выбирается в зависимости от требуемой степени сжатия. Шаг квантователя постоянен в пределах субполосы. Во второй части стандарта определена возможноть применения решетчатого квантователя - TCQ. Именно  на  этапе квантования  возникают  основные  информационные  потери,  и  именно  за  счет  квантования возможно  существенное  уменьшение  объема  представления  изображения. (в квантовании нет необходимости, если производится сжатие без потерь.)

  • Энтропийное кодирование. Применяется адаптивный арифметический кодер (а в JPEG был кодер Хаффмана). Ввиду патентных ограничений используется не QM-кодер разработки IBM, а чуть худший MQ-кодер, специально разработанный для JPEG2000. Кодирование ведется не всего изображения в целом и даже не отдельных субполос, а более мелких объектов - кодируемых блоков (КБ). Размер кодируемого блока может быть не более 4096 пикселов, высота не менее 4 пикселов. Такое разбиение хотя и снижает несколько коэффициент сжатия, но повышает устойчивость сжатого потока к ошибкам канала связи: ошибка испортит лишь небольшой блок. Кодирование блоков ведется в три этапа, битовыми плоскостями. Каждая битовая плоскость  кодируется  в  три  прохода.  Существенной деталью, предусмотренной стандартом, является возможность пропуска кодовых проходов, что  является еще одним источником повышения эффективности за счет информационных потерь. Использование методов кодирования, учитывающих структуру вейвлет - преобразования, может существенно повысить степень сжатия. Один из широко используемых методов такого типа - метод нуль - дерева (zero - tree compression). Он основан на предположении, что если некоторая область изображения не содержит нетривиальной информации на некотором уровне разрешения, то с большой вероятностью она не будет информативной и на более тонком уровне разрешения. Вейвлет - преобразование изображения можно хранить в виде дерева, корнем которого является сильно сглаженная версия оригинала, а ветви, представляющие отдельные блоки, обрываются на том уровне, где дальнейшая обработка не дает заметного уточнения. Такое дерево можно с успехом сжать обычными методами типа хаффменовского или арифметического кодирования, которые используются почти во всех алгоритмах сжатия.

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