Кодер в сжатии изображений, особенности

Обычно, JPEG-LS используется как метод сжатия без потери информации. В этом случае восстановленный файл изображения идентичен исходному файлу. В моде почти без потерь исходный и реконструированный образ могут отличаться. Будем обозначать реконструированный пиксел Rp, а исходный пиксел - р. При кодировании верхней строки контекстные пикселы с, b и d отсутствуют, поэтому их значения считаются нулевыми. Если текущий пиксел находится в начале или конце строки, то пикселы а, с или d не определены. В этом случае для and используется реконструированное значение Rb пиксела b (или нуль для верхней строки), а для с используется реконструированное значение а при кодировании первого символа предыдущей строки. Все это означает, что кодер должен выполнить часть работы декодера, реконструируя некоторые пикселы.

Первый шаг при определении контекста заключается в вычислении значений градиентов Dl-= Rd- Rb, D2 = Rb- Re, D3 = Re- Ra. Если все эти величины равны нулю (или в моде почти без потерь их абсолютные значения не превосходят порога NEAR), то кодер переходит в серийную моду и ищет наибольшую длину серии пикселов, совпадающих с Ra. На шаге 2 кодер сравнивает три градиента Di с некоторыми параметрами и вычисляет зонные числа Qi по некоторым правилам (эти правила здесь не обсуждаются). Каждое зонное число Qi может принимать одно из 9 целых значений в интервале [—4,4], поэтому имеется всего 9x9x 9 = 729 троек зонных чисел.

После того, как прогноз Рх найден, кодер вычисляет ошибку прогноза Errval в виде разности х — Ра;, но меняет знак, если величина SIGN отрицательная. В моде почти без потерь ошибка квантуется, и кодер использует это реконструированное значение Rx пиксела х так же, как это будет делать декодер. При этом используется параметр NEAR, однако имеются некоторые детали, которые здесь не приводятся. Основной шаг реконструкции состоит в нахождении). Ошибка прогноза (после возможного квантования) претерпевает сокращение области (здесь эта процедура опущена). Теперь она готова для главного этапа кодирования.

Коды Голомба. Основной параметр был обозначен через Ь. В JPEG-LS этот параметр обозначается т. Если число т уже выбрано, то код Голомба неотрицательного целого числа п состоит из двух частей. Этот код является идеальным для целых чисел, имеющих геометрическое распределение. Для каждого геометрического распределения найдется такое число, что код Голомба, построенный по нему, имеет наименьшую возможную среднюю длину.

-----------------------------