Преобразование цветности и субдискретизация.
В цветном изображении каждый компонент сжимается отдельно, поскольку наилучшие результаты достигаются при разделении яркости и цветности. Это связано с тем, что глаз менее чувствителен к изменениям цветов, чем к изменениям яркости. Поэтому цветностные компоненты могут быть закодированы с большими потерями, чем яркостная. Широко применяется схема Y,CR,CB, определенная в рекомендации CCIR 601. Сигнал Y представляет собой черно-белую версию изображения, а CR,CB являются соответственно красным и синим цветоразностными сигналами. Путем матрицирования исходных сигналов в следующих соотношениях::
Y = 0,299 R + 0,587 G + 0,114 B;
Cb = - 0,1687 R - 0,3313 G + 0.5 B + 128;
Cr = 0,5 R - 0,4187 G - 0,0813 B + 128
получаем соответствующие компоненты. Данная операция является линейной и однозначной, поэтому из полученных компонент могут быть без потерь восстановлены RGB – сигналы.
Обратное преобразование модели Y Cb Cr в модель RGB осуществляется с помощью подобных соотношений:
R = Y + 1,402 (Cr-128);
G = Y - 0,34414 (Cb-128) - 0,71414 (Cr-128);
B = Y + 1,772 (Cb-128).
Так как глаз мало чувствителен к изменениям цветности, приемлемое качество изображения может быть восстановлено с использованием существенно меньшего количества выборок Сb и Cr, чем выборок Y. Такой подход называется субдискретизацией. Метод JPEG допускает разные уровни субдискретизации. Наиболее часто используют одну выборку Сb и одну выборку Сr для каждых четырех выборок Y, расположенных в виде прямоугольника 2х2 элемента. Такой формат получил название 4:2:0. При этом удается сэкономить 50% объема исходных данных практически без потерь качества при восприятии изображения. Для критических приложений стандартом предусмотрено еще два уровня субдискретизации: 4:2:2 (по одной выборке каждого из сигналов цветности на каждые две выборки сигнала яркости только в горизонтальном направлении) и 4:4:4 (отсутствие субдискретизации). Последний режим допускает работу в базисе RGB.
Дискретное косинусное преобразование.
На этом этапе обработки в стандарте JPEG использован чисто математический прием под названием "Дискретное косинусное преобразование" (Discrete Cosine Transform - DCT), предложенный В. Ченом в 1981 году. По сути, этот метод сходен с более известным двумерным дискретным преобразованием Фурье и отличается от него только используемыми базисными функциями. Достоинством DCT по сравнению с другими аналогичными ортогональными преобразованиями (синусным, Фурье, Адамара, Хаара и др.) является быстрая сходимость ряда, что обеспечивает меньшую погрешность ошибки преобразования.
Основу для применения DCT составляет тот факт, что в реальных изображениях величины соседних отсчетов вдоль строки, а также в соседних строках - очень похожи друг на друга (коэффициент корреляции между ними составляет 0,9-0,98). Другими словами, полученные на предыдущем этапе обработки матрицы состоят из отсчетов, почти равных между собой по величине, а DCT преобразует информацию о величинах отсчетов в информацию о скорости изменения этих величин. В результате этого исходная матрица отсчетов превращается в такую же по размерам матрицу частотных коэффициентов, которые уже не имеют такой прямой геометрической связи с положением отсчетов сигнала в изображении, а могут рассматриваться как двумерный спектр скоростей изменения изображения в горизонтальном и вертикальном направлениях. Достоинством такой формы записи является то, что для реальных изображений большинство значащих членов в новой матрице оказывается сгруппировано в левом верхнем углу (область малых скоростей изменения величин отсчетов в изображении), а правая нижняя часть матрицы (область больших скоростей) содержит члены с малыми значениями или вообще нулевые.
Дискретное косинусное преобразование осуществляет перевод отдельных блоков изображения, размер которых определен JPEG 8х8 пикселей, из пространственной в область пространственных частот. Для многокомпонентных изображений DСT применяется раздельно к блокам каждого компонента. При применении субдискретизации блоков одних компонентов может оказаться больше, чем других (например, яркостных больше, чем цветоразностных). Пиксели в каждом блоке нумеруются от (0,0) в левом верхнем углу до (N,N) в правом нижнем углу. Двумерное DСT в общем виде ведется по формулам:
ДКП![]()

Формула дискретного косинусного преобразования.
Здесь i, j - координаты в спектральной области;
ДКП (I,j)– коэффициенты DСT;
x, y – координаты элемента изображения в блоке;
pixel(x, y) – значения яркости или цветности.
одкп
ДКП![]()

Формула обратного дискретного косинусного преобразования
Теоретически DСT является однозначной операцией, так что на основании вычисленного массива изображения в частотно-пространственной области с помощью обратного DСT можно восстановить исходное изображение без каких-либо потерь.Формулы DCT матрицы 8х8 имеют вид:


Обратное DСT производится в декодере, и из имеющихся трансформант снова вычисляется оригинал блока в соответствии с формулой

В связи с ограниченной разрядной сеткой таблиц косинусов и перемножителей (особенно, если они различны в кодере и декодере) при JPEG могут возникнуть потери. Для блока 8х8 неокругленные выходные данные DСT приблизительно на 4 бита длиннее входных. Поэтому для входных 8-битных данных для восстановления без потерь нужно не менее 12 бит (для передачи дробных значений). Постоянная составляющая требует 11 бит, так как не имеет знака. В преобразованном блоке коэффициент ДКП(0,0) представляет собой постоянную составляющую. Коэффициенты располагаются таким образом, что в левом верхнем углу находится постоянная составляющая, вправо идет возрастание горизонтальных частот, вниз – вертикальных.
