Download ppt - Лекция 3

Transcript
Page 1: Лекция 3

ОСНОВЫОСНОВЫЦИФРОВОГОЦИФРОВОГО

ПРЕДСТАВЛЕНИЯПРЕДСТАВЛЕНИЯИЗОБРАЖЕНИЙИЗОБРАЖЕНИЙ

Page 2: Лекция 3

Элементы зрительного восприятияХотя цифровая обработка изображений как прикладная

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

Page 3: Лекция 3

Строение человеческого глазаНа Рис. 2.1 в упрощенном виде показано горизонтальное сечение

человеческого глаза. Глаз имеет почти сферическую форму со средним диаметром около 20 мм. Глаз окружен тремя оболочками: роговица со склерой образуют внешнюю оболочку, под которой последовательно расположены сосудистая оболочка (хороидея) и нейроглиальная оболочка (сетчатка). Роговица — это плотная прозрачная ткань, закрывающая переднюю поверхность глаза. Продолжением ее является склера — непрозрачная оболочка, закрывающая остальную часть оптической сферы глаза.

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

Page 4: Лекция 3
Page 5: Лекция 3

Отверстие в центре радужной оболочки (зрачок) может сужаться или расширяться, регулируя тем самым количество попадающего через роговицу света. Диаметр зрачка может изменяться в пределах от 2 до 8 мм. От цвета пигмента на передней поверхности радужки зависит цвет глаза человека, а пигмент на задней поверхности радужки имеет черный цвет, что также снижает внутреннее рассеяние света.

Хрусталик (хрусталиковая линза), состоящий из наружной капсулы и внутрихрусталикового вещества, закреплен внутри глаза с помощью передней и задней порций волокон ресничного пояска хрусталика, которые проходят между отростками цилиарного тела и вплетаются в зубчатую линию хороидеи. Капсула и внутрихрусталиковое вещество состоят из коллагеновых волокон и содержат от 60% до 70% воды, около 6% жиров и больше белков, чем любые другие ткани глаза. Внутрихрусталиковое вещество имеет слабожелтую пигментацию, которая с возрастом усиливается. Ускоренное помутнение вещества хрусталика, связанное с нарушением его питания, приводит к заболеванию, называемому катарактой, при котором ухудшается цветовое восприятие и острота зрения. В видимом диапазоне спектра хрусталик поглощает около 8% света, и практически не пропускает более коротковолновое излучение. Свет инфракрасного и ультрафиолетового диапазонов существенно поглощается белком хрусталика, и при высокой интенсивности может привести к необратимому нарушению зрения.

Page 6: Лекция 3

Самая внутренняя оболочка глаза — сетчатка — выстилает изнутри задний отдел глаза. При правильной оптической фокусировке глаза свет от наружного объекта проецируется в виде изображения на сетчатку. Зрительное восприятие образов становится возможным благодаря распределению дискретных светочувствительных клеток (рецепторов) по внутренней поверхности сетчатки. Существуют рецепторы двух видов — колбочки и палочки. В глазу насчитывается от 6 до 7 миллионов колбочек, которые обладают высокой чувствительностью к спектральным составляющим света и располагаются преимущественно в центральной области сетчатки, называемой желтым пятном. В центре желтого пятна имеется так называемая центральная ямка — область наибольшей остроты зрения. Человек различает мелкие детали изображения в основном благодаря колбочкам, поскольку каждая из них соединена с отдельным нервным окончанием. Наружные мышцы глаза обеспечивают вращение глазного яблока так, чтобы изображение интересующего объекта попадало в область желтого пятна. Колбочки обеспечивают фотопическое зрение, или зрение в ярком свете.

Количество палочек в глазу намного больше: по поверхности сетчатки их распределено от 75 до 150 миллионов.

Page 7: Лекция 3

Большая, чем у колбочек, область распределения и тот факт, что к одному нервному окончанию присоединено сразу несколько палочек (в среднем около 10), уменьшают возможности различения деталей с помощью этих рецепторов. Палочки позволяют сформировать общую картину всего поля зрения. Они наиболее чувствительны при низких уровнях освещенности и не участвуют в обеспечении функций цветного зрения. Например, предметы, имеющие яркую окраску при дневном свете, при сумеречном освещении выглядят как лишенные цветов образы, поскольку возбуждаются только палочки. Это явление известно как скотопическое (или сумеречное) зрение. Рис. 2.2 иллюстрирует зависимость плотности распределения палочек и колбочек по сетчатке в зависимости от величины угла между зрительной осью и линией, проведенной из центра хрусталика до сетчатки. Изображено горизонтальное сечение правого глаза в месте выхода зрительного нерва. Отсутствие рецепторов в этой области приводит к появлению так называемого слепого пятна (см. Рис. 2.1), В остальной области сетчатки распределение рецепторов центрально симметрично относительно центра желтого пятна.

Page 8: Лекция 3
Page 9: Лекция 3

Из Рис. 2.2 видно, что максимальная плотность колбочек наблюдается в центре сетчатки (в центральной ямке), а плотность палочек возрастает от этой точки приблизительно до угла в 20, после чего плавно снижается вплоть до периферии сетчатки.

Центральная ямка представляет собой углубление круглой формы в сетчатке, с диаметром около 1,5 мм. В контексте дальнейшего обсуждения более естественно говорить о прямоугольных массивах чувствительных элементов. В несколько вольной интерпретации можно рассматривать центральную ямку как квадратный массив чувствительных элементов на площади 1,5 мм х 1,5 мм. Плотность колбочек в этой области сетчатки приблизительно равна 150 тыс. на 1 мм2, следовательно, общее количество колбочек в области наибольшей остроты зрения составляет около 337 тыс. элементов. Если рассуждать только в терминах разрешающей способности, то широко применяемые в современной технике светочувствительные матрицы среднего разрешения на основе приборов с зарядовой связью (ПЗС) содержат такое же количество чувствительных элементов при площади кристалла не более 5 мм х 5 мм. Однако дальнейшее сравнение было бы непродуктивным, поскольку не учитывает способность человека объединять зрение с интеллектом и опытом. В дальнейшем будем просто иметь в виду, что глаз человека по своей разрешающей способности вполне сопоставим с современными электронными устройствами получения изображений.

Page 10: Лекция 3

Формирование изображения в глазуОсновное отличие хрусталика глаза от жесткой оптической линзы

состоит в возможности изменения его оптической силы за счет некоторой вариации его формы (кривизны). Как видно из Рис. 2.1, радиус кривизны передней поверхности капсулы хрусталика больше, чем задней. Изменение формы хрусталика осуществляется путем натяжения или ослабления передней и задней порций волокон ресничного пояска. Для фокусировки зрения на удаленном предмете ресничная мышца расслабляется, хороидея сжимается, натягивая при этом волокна ресничного пояска, в результате чего хрусталик приобретает уплощенную форму. Наоборот, для фокусировки на близкорасположенном предмете ресничная мышца сокращается, что приводит к ослаблению натяжения волокон ресничного пояска и округлению хрусталика, т.е. к увеличению его преломляющей способности.

При изменении преломляющей способности хрусталика с минимального значения до максимального, его фокусное расстояние изменяется соответственно от 17 мм (при фокусировке на дальние предметы) до 14 мм (при фокусировке на близкие предметы). При рассмотрении предметов на удалении более 3 м преломляющая способность хрусталика минимальна, при разглядывании близкорасположенных предметов преломляющая способность хрусталика максимальна. На основе этих данных легко вычислить размеры изображения некоторого объекта на сетчатке.

Page 11: Лекция 3

Например, на Рис. 2.3 наблюдатель видит дерево высотой 15 м с расстояния 100 м. Обозначая h высоту изображения дерева на сетчатке (в мм), получаем пропорцию 15/100=h/17, откуда h=2,55 мм. Как указывалось выше, проецирующееся на сетчатку изображение воспринимается главным образом областью желтого пятна. Расположенные в ней рецепторы возбуждаются в соответствии с интенсивностью падающего света, что приводит к преобразованию энергии светового излучения в электрические нервные импульсы, которые в конечном счете декодируются в мозге человека.

Page 12: Лекция 3

Яркостная адаптация и контрастная чувствительностьПоскольку цифровые изображения воспроизводятся как дискретное

множество элементов с различной яркостью, способность глаза различать отличающиеся уровни яркости необходимо учитывать при представлении результатов обработки изображений. Зрительная система человека способна адаптироваться к огромному, порядка 1010, диапазону значений яркости — от порога чувствительности скотопического зрения до предела ослепляющего блеска. Эксперименты со всей очевидностью показывают, что субъективная яркость (т.е. яркость, как она воспринимается зрительной системой человека) является логарифмической функцией от физической яркости света, попадающего в глаз. На Рис. 2.4 изображен график этой зависимости субъективной яркости от истинной яркости. Длинная сплошная кривая представляет диапазон яркостей, в котором способна адаптироваться зрительная система. При использовании одного фотопического зрения этот диапазон составляет около 106. Постепенный переход от скотопического зрения к фотопическому происходит в диапазоне приблизительно от 0,003 до 0,3 кд/м2 (т.е. от —2,5 до —0,5 по логарифмической шкале), что показано в виде двух ветвей кривой адаптации в этом диапазоне яркостей.

Page 13: Лекция 3
Page 14: Лекция 3

Для правильной интерпретации столь впечатляющего динамического диапазона, изображенного на Рис. 2.4, важно понимать, что зрительная система не способна работать во всем этом диапазоне одновременно. Вместо этого она охватывает такой большой диапазон за счет изменения общей чувствительности. Это явление известно как яркостная адаптация. Общий диапазон одновременно различаемых уровней яркости относительно мал по сравнению со всем диапазоном адаптации. Для любого данного набора внешних условий текущий уровень чувствительности зрительной системы, называемый уровнем яркостной адаптации, соответствует некоторой яркости, например, точке Ва на Рис. 2.4. Короткая кривая, пересекающая основной график, представляет диапазон субъективной яркости, которую способен воспринимать глаз при адаптации к указанному уровню. Этот диапазон достаточно ограничен: все уровни яркости ниже субъективно воспринимаются зрением как черное и, значит, неразличимы. Верхняя (пунктирная) часть этой кривой реально не ограничена, но теряет смысл при большой длине, поскольку при повышении яркости просто повышается уровень адаптации Ва.

Способность зрения различать изменения яркости при данном уровне адаптации также представляет значительный интерес. Классический эксперимент для определения способности зрительной системы человека различать разные уровни яркости состоит в том, что испытуемый смотрит на плоский равномерно освещенный экран достаточно больших размеров, такой, что он занимает все поле зрения.

Page 15: Лекция 3

Как правило, это рассеиватель из матового стекла, освещаемый со стороны, противоположной наблюдателю, световым источником, яр кость I которого можно регулировать. На это равномерное поле накладывается добавочная яркость ΔI в форме кратковременной вспышки в области круглой формы, расположенной в центре равномерно освещенного экрана, как изображено на Рис. 2.5.

Если приращение ΔI недостаточно велико (неразличимо), испытуемый говорит «нет», указывая тем самым на отсутствие видимых изменений. По мере увеличения ΔI в какой-то момент он начнет говорить «да», подтверждая тем самым восприятие изменений яркости.

Наконец, при достаточно большом значении ΔI испытуемый станет говорить «да» на каждую вспышку. Величина ΔIc/i, где ΔIc — величина приращения яркости, различимая в 50% случаев на фоне яркости /, называется отношением Вебера. Малое значение ΔIc / i означает, что различаются очень малые относительные изменения яркости, т.е. имеет место «высокая» контрастная чувствительность. Наоборот, большое значение ΔIc / i означает, что требуется большое относительное изменение яркости, чтобы его заметить; это говорит о «низкой» контрастной чувствительности.

Page 16: Лекция 3
Page 17: Лекция 3

График зависимости величины log(ΔIc / I) от log I имеет общую форму, изображенную на Рис. 2.6. Эта кривая показывает, что низкая контрастная чувствительность (т.е. большое отношение Вебера) наблюдается при малых уровнях яркости, и контрастная чувствительность заметно возрастает (т.е. отношение Вебера уменьшается) при увеличении фоновой яркости. Наличие двух ветвей кривой отражает тот факт, что при малых уровнях яркости зрение осуществляется благодаря действию палочек, тогда как при больших уровнях яркости (которым соответствует высокая контрастная чувствительность) зрительные функции выполняют колбочки сетчатки.

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

Page 18: Лекция 3
Page 19: Лекция 3

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

Известны два явления, ясно доказывающие, что воспринимаемая яркость не является простой функцией истинной яркости. Первое основывается на том факте, что вблизи границ соседних областей с отличающимися, но постоянными яркостями зрение человека склонно «подчеркивать» яркостные перепады, как бы добавляя несуществующие выбросы яркости, что убедительно демонстрирует пример на Рис. 2.7(a).

Page 20: Лекция 3

Хотя яркость каждой из полос постоянна, мы, кроме действительно ступенчатого изменения яркости, видим характерные выбросы вблизи краев полос (Рис. 2.7(б)). Эти полосы с кажущимися изменениями яркости на краях называются полосами Маха в честь Эрнста Маха, впервые описавшего этот феномен в 1865 г.

Второе явление, называемое одновременным контрастом, связано с тем фактом, что воспринимаемая яркость некоторой области не определяется просто ее яркостью, как показывает Рис. 2.8. Здесь все центральные квадраты имеют в точности одинаковую яркость, однако зрительно воспринимаются тем более темными, чем светлее фон. Еще более знакомым примером является лист бумаги, который кажется белым, когда он лежит на столе, но может показаться совершен но черным, если им закрывать глаза, глядя на яркое небо.

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

Page 21: Лекция 3
Page 22: Лекция 3

На Рис. 2.9(a) ясно видны очертания квадрата, вопреки тому факту, что на изображении отсутствуют линии, определяющие такую фигуру. Аналогичный эффект, на этот раз в виде круга, виден на Рис. 2.9(б); заметим, как всего нескольких линий достаточно для получения иллюзии полного круга. Два горизонтальных отрезка на Рис. 2.9(b) имеют одинаковую длину, но один кажется короче другого. Наконец, все проведенные под углом 45° линии на Рис. 2.9(г) параллельны и расположены на одинаковых расстояниях друг от друга. Однако штриховка создает иллюзию, что эти линии далеки от параллельности. Оптические иллюзии относятся к числу не вполне понятных характеристик зрительной системы человека.

Page 23: Лекция 3
Page 24: Лекция 3

Свет и электромагнитный спектрВ 1666 г. сэр Исаак Ньютон открыл, что при прохождении луча

солнечного света сквозь стеклянную призму возникает световой пучок, который имеет не белый цвет, а состоит из непрерывного цветового спектра, цвет которого меняется от фиолетового на одном конце до красного на другом. Как видно из Рис. 2.10, диапазон цветов, которые мы воспринимаем как видимый свет, составляет очень малую часть спектра электромагнитного излучения. На одном конце этого спектра находятся радиоволны, длина которых в миллиарды раз превышает длины волн видимого света, а на другом конце — гаммалучи, длина волны которых в миллионы раз меньше длины световых волн. Компоненты электромагнитного спектра можно выражать в терминах длины волны, частоты колебаний или энергии. Длина волны (λ) и частота (v) связаны соотношением λ=c/v, где с – скорость света (2,998*108 м/с). Энергия составляющей электромагнитного спектра определяется выражением: Е=hv (2.2-2),

где h — постоянная Планка. Длина волны измеряется в метрах, но столь же часто в качестве единиц измерения употребляются микрон (1 мкм = 10-6 м) и нанометр (1 нм = 10-9 м). Частота измеряется в герцах (Гц); 1 Гц соответствует колебанию с частотой один период в секунду. Общеупотребительной единицей измерения энергии фотонов является электрон-вольт (эВ).

Page 25: Лекция 3

Электромагнитные волны можно трактовать как распространяющиеся синусоидальные колебания с длиной волны λ (Рис. 2.11), а можно — как поток частиц с нулевой массой, движущихся со скоростью света. Каждая такая частица не имеет массы, но обладает определенной энергией и называется квантом излучения (фотоном). Из соотношения (2.2-2) видно, что энергия пропорциональна частоте, поэтому электромагнитные колебания более высокой частоты (т.е. с более короткой длиной волны) обладают большей энергией фотона. Таким образом, радиоволны характеризуются малой энергией фотона, у микроволн энергия больше, у инфракрасного излучения еще этому электромагнитные колебания более высокой частоты (т.е. с более короткой длиной волны) обладают большей энергией фотона. Таким образом, радиоволны характеризуются малой энергией фотона, у микроволн энергия больше, у инфракрасного излучения еще больше, далее энергия фотона последовательно возрастает для диапазонов видимого спектра, ультрафиолетового излучения, рентгеновских лучей и, наконец, гаммалучей, обладающих самой большой энергией. Именно по этой причине гамма-излучение так опасно для живых организмов.

Page 26: Лекция 3
Page 27: Лекция 3

Свет является особым видом электромагнитного излучения, которое воспринимается человеческим глазом. Видимый (цветовой) спектр приведен на Рис. 2.10 в растянутом виде только для сведения. Этот видимый диапазон электромагнитного спектра охватывает длину волны приблизительно от 0,43 мкм (фиолетовый цвет) до 0,79 мкм (красный цвет). Для удобства цветовой спектр делят на семь широких полос (цветов): фиолетовый, синий, голубой, зеленый, желтый, оранжевый и красный; но это разграничение не резкое, а, скорее, один цвет плавно переходит в другой, как показано на Рис. 2.10, подобно любой другой составляющей электромагнитного спектра.

Page 28: Лекция 3

Различаемые зрением человека цвета предметов определяются характером света, отраженного от этих предметов. Тело, которое отражает свет приблизительно одинаково во всем видимом диапазоне волн, представляется наблюдателю белым, тогда как тело, отражающее свет в каком-то ограниченном диапазоне длин волн, воспринимается с некоторым цветовым оттенком. Например, зеленый предмет в основном отражает свет с длинами волн 500-570 нм, поглощая большинство энергии в других интервалах длин волн.

Свет, лишенный цветовой окраски, называется ахроматическим или монохроматическим. Единственным параметром такого освещения является его интенсивность, или яркость. Для описания монохроматической яркости также используется термин уровень серого, поскольку яркость изменяется от черного до белого, с промежуточными серыми оттенками. Длины волн электромагнитного излучения для хроматического света, как уже отмечалось, находятся в интервале приблизительно от 0,43 мкм до 0,79 мкм. Хроматические источники света характеризуются тремя основными величинами: энергетическим потоком, световым потоком и (субъективной) яркостью. Энергетический поток — это общее количество энергии, излучаемой источником света, обычно измеряемое в ваттах (Вт). Световой поток, измеряемый в люменах (лм), характеризует количество энергии, которое наблюдатель воспринимает от светового источника.

Page 29: Лекция 3

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

Продолжая обсуждение Рис. 2.10, заметим, что коротковолновая сторона спектра электромагнитного излучения представлена гамма- и рентгеновскими лучами. Жесткое (с высокой энергией) рентгеновское излучение используется для получения изображений в промышленности. Для получения рентгеновских изображений грудной клетки используется верхний (коротковолновый) участок диапазона мягкого рентгеновского излучения, а в стоматологии применяется нижний участок этого диапазона (с меньшей энергией). Мягкие рентгеновские лучи плавно переходят в ближний ультрафиолетовый диапазон, длинноволновый участок которого, в свою очередь — в видимый спектр. Двигаясь дальше в сторону увеличения длин волн, мы встретим инфракрасный диапазон, в котором излучается тепло, что делает его полезным для получения изображений на основе тепловой картины объекта.

Page 30: Лекция 3

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

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

Page 31: Лекция 3

Хотя подавляющее большинство получаемых цифровых изображений основано на энергии излучения электромагнитных волн, это не единственный способ генерации изображений. Например, отраженные от объектов звуковые волны могут использоваться для построения ультразвуковых изображений. Другие важные источники цифровых изображений — электронные пучки, применяемые в электронной микроскопии, и компьютерный синтез, используемый для визуализации и в компьютерной графике.

Считывание и регистрация изображенияИзображение, которое мы рассматриваем, есть двумерное

отображение наблюдаемой сцены (как правило, двух- или трехмерной), возникающее как результат регистрации лучистой энергии, исходящей из наблюдаемой сцены, с помощью некоторого устройства — сенсора (или совокупности сенсоров одновременно). Мы предполагаем, что регистрируемый сенсором сигнал возникает в результате взаимодействия источника «освещения» с элементами изображаемой «сцены» в условиях эффектов отражения и поглощения энергии этого источника.

Page 32: Лекция 3

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

Page 33: Лекция 3

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

На Рис. 2.12 изображены три основные схемы размещения чувствительных элементов (сенсоров), которые используются для преобразования энергии «освещения» в цифровое изображение. Сама идея преобразования очень проста: падающая энергия преобразуется в напряжение благодаря сочетанию материала, обладающего чувствительностью к интересующему виду излучения, и приложенной к нему электрической энергии. В ответ на энергию внешнего излучения такой чувствительный элемент выдает сигнал выходного напряжения, который затем преобразуется в цифровую форму. В этом разделе мы рассмотрим основные способы получения и регистрации изображений, а вопросы дискретизации и квантования изображений обсуждаются далее.

Page 34: Лекция 3

Регистрация изображения с помощью одиночного сенсора

На Рис. 2.12(a) показаны компоненты одиночного сенсора (чувствительного элемента). Вероятно, наиболее известным сенсором такого типа является фотодиод, изготовленный из полупроводникового материала (кремния), напряжение выходного сигнала которого пропорционально освещенности. Установка фильтра перед чувствительным элементом обеспечивает избирательность сенсора. Например, если установить перед сенсором зеленый стеклянный фильтр, то выходной сигнал будет выше для зеленого участка видимого спектра, чем для всех остальных. Для получения двумерного изображения с помощью одиночного сенсора необходимо обеспечить его перемещение в двух взаимно перпендикулярных направлениях (по осям x и у) относительно регистрируемой области.

Page 35: Лекция 3
Page 36: Лекция 3

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

Page 37: Лекция 3
Page 38: Лекция 3

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

Регистрация изображения с помощью линейки сенсоровБолее часто, чем одиночный сенсор, для считывания изображений

используется одномерный массив сенсоров, обычно располагаемых вдоль прямой, как это показано на Рис. 2.12(б). Такая линейка обеспечивает одновременную регистрацию элементов изображения в одном направлении (условно говоря, по строке), а перемещение всей линейки в перпендикулярном направлении позволяет получить все строки изображения (Рис. 2.14(a)). Подобная конструкция применяется в большинстве планшетных сканеров. Удается изготавливать линейки, состоящие из 4000 и более расположенных в ряд чувствительных элементов. Расположение сенсоров в ряд широко используется при аэрофотосъемке, когда система регистрации устанавливается на самолете, летящем с постоянной скоростью и на неизменной высоте над интересующим районом.

Page 39: Лекция 3
Page 40: Лекция 3

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

Кольцеобразные наборы сенсоров применяются в медицине и промышленности для получения изображений поперечного сечения («срезов») трехмерных объектов, как показано на Рис. 2.14(6). Вращающийся рентгеновский источник освещает объект, а расположенные на противоположной стороне кольца детекторы рентгеновского излучения улавливают энергию рентгеновских лучей, прошедших сквозь объект. Таков основной принцип получения изображений в компьютерной томографии (КТ). Важно отметить, что выходные сигналы сенсоров подлежат обработке с помощью алгоритмов реконструкции, задача которых состоит в преобразовании регистрируемых данных в осмысленные изображения поперечных срезов.

Page 41: Лекция 3

Другими словами, изображение среза не может быть получено простой регистрацией принимаемых сигналов одновременно с движением источника, а необходима значительная по объему вычислений обработка этих первичных данных. Трехмерное представление исследуемого объекта, состоящее из серии последовательных срезов, полученных с некоторым шагом, генерируется путем перемещения объекта в направлении, перпендикулярном к плоскости кольца. Существуют и другие способы регистрации изображений с использованием принципа КТ, но на базе иных физических процессов, в частности, получение изображений методом ядерного магнитного резонанса (ЯМР) и позитронной эмиссионной томографии (ПЭТ). В них используются источники освещения и чувствительные элементы других типов, отличается и вид получаемых изображений, но принципиально эти способы регистрации изображений в значительной степени основаны на базовой схеме, показанной на Рис. 2.14(б).

Page 42: Лекция 3

Регистрация изображения с помощью матрицы сенсоровНа Рис. 2.12(в) изображено расположение отдельных сенсоров в форме

двумерного массива (матрицы). Многочисленные электромагнитные и некоторые ультразвуковые устройства ввода данных сегодняшних систем обработки изображений используют именно матрицу сенсоров. Такая же конструкция находится внутри подавляющего числа цифровых камер, в которых типичным чувствительным элементом является матрица на основе приборов с зарядовой связью (ПЗС), которые выпускаются в виде монолитной конструкции, объединяющей 4000x4000 элементов (и более) с широким диапазоном чувствительных свойств. ПЗС-матрицы широко используются в цифровых фото- и видеокамерах, а также других светочувствительных приборах. Ответная реакция каждого элемента пропорциональна интегралу световой энергии, попадающей на поверхность этого элемента за время экспозиции; это свойство используется в астрономии и других приложениях, где требуется получать изображения с низким уровнем шума. Уменьшение шума достигается за счет того, что чувствительным элементам дают возможность интегрировать принимаемый световой сигнал в течение минут или даже часов. Коль скоро изображенная на Рис. 2.15(в) матрица сенсоров двумерна, ее главное достоинство состоит в том, что можно считать сразу все изображение, если сфокусировать на поверхности матрицы отвечающий ему пространственный поток лучистой энергии. Легко видеть, что в таком случае отпадает необходимость в механическом перемещении сенсоров, как это было в рассмотренных выше случаях одиночного сенсора или линейки таких сенсоров.

Page 43: Лекция 3
Page 44: Лекция 3

Рис. 2.15 иллюстрирует главный способ использования матриц сенсоров. Здесь показано, что энергия, излучаемая источником освещения, отражается от объекта сцены (но, как отмечалось в начале, энергия также может и проникать сквозь объекты сцены). Первая функция, выполняемая системой формирования изображения (Рис. 2.15(в)), состоит в том, чтобы собрать поступающую энергию и сфокусировать ее на плоскости изображения. Если для освещения используется источник видимого света, то на входе системы формирования изображения имеется объектив, который проецирует наблюдаемую сцену на плоскость изображения (Рис. 2.15(г)). Совмещенная с этой плоскостью чувствительная матрица генерирует набор выходных сигналов, каждый из которых пропорционален интегралу световой энергии, принятой соответствующим сенсором. С помощью цифровой и аналоговой электроники эти выходные сигналы поочередно преобразуются в комплексный видеосигнал. Тот факт, что регистрация двумерного сигнала осуществляется дискретно расположенными в пространстве сенсорами, обеспечивает пространственную дискретизацию сигнала; квантование его осуществляется в следующем блоке системы формирования изображения. На выходе ее получается цифровое изображение, схематически показанное на Рис. 2.15(д).

Page 45: Лекция 3

Простая модель формирования изображенияКак уже говорилось, мы будем рассматривать

изображение как двумерную функцию вида f(x, у). Значение функции f в точке с пространственными координатами (x, у) является положительной скалярной величиной, физический смысл которой определяется источником изображения. Большинство рассматриваемых изображений являются монохромными (черно-белыми), и их значения находятся в некотором диапазоне яркостей. Если изображение генерируется в результате физического процесса, его значения пропорциональны энергии излучения некоторого физического источника, например, энергии электромагнитных колебаний, вследствие чего функция f (х, у) должна быть ненулевой и конечной, т.е. ),(0 yxf

Page 46: Лекция 3

Функцию f (х, у) можно характеризовать двумя компонентами: (1) величиной светового потока, который падает на наблюдаемую сцену от источника, и (2) относительной долей светового потока, отраженного от объектов этой сцены. Мы будем называть эти компоненты освещенностью и коэффициентом отражения, обозначая их соответственно i(х, у) и r (х, у). Произведение этих функций дает функцию изображения:

Page 47: Лекция 3

где

и

Соотношение (2.3-4) указывает, что коэффициент отражения может меняться в пределах от 0 (полное поглощение) до 1 (полное отражение). Природа функции i(x, у) зависит от источника освещения, тогда как функция r (х, у) определяется свойствами объектов изображаемой сцены. Примечательно, что приведенные выражения в равной мере применимы также и к изображениям, сформированным в проходящем освещении (сквозь наблюдаемый объект), как, например, при рентгене грудной клетки. В подобном случае в качестве функции r (х, у) мы имеем дело с коэффициентом пропускания вместо коэффициента отражения, но пределы ее изменения будут те же, что и в (2.3-4), и функция изображения формируется по той же модели — как произведение (2.3-2).

Page 48: Лекция 3

Пример 1: Некоторые типичные значения освещенности и коэффициента отражения.

Значения, указанные в соотношениях (2.3-3) и (2.3-4), представляют собой теоретические границы. Ниже приводятся средние числовые значения, иллюстрирующие типичный интервал изменения функции i(x, у) для видимого света. В ясный день солнце создает на земной поверхности освещенность 90000 лм/м2 и выше, а в пасмурную погоду эта величина падает до 10000 лм/м2. Безоблачной ночью в полнолуние освещенность земной поверхности составляет около 0,1 лм/м2. В типичных служебных помещениях поддерживается уровень освещенности порядка 1000 лм/м2. Типичные значения коэффициента отражения (т.е. функции r (х, у)) составляют: 0,01 для черного бархата; 0,65 для нержавеющей стали; 0,80 для поверхности стены, окрашенной в ровный белый цвет; 0,90 для посеребренной металлической поверхности; и 0,93 для снега.

В соответствии со сказанным, значение интенсивности черно-белого изображения в произвольной точке с координатами (х0, y0) мы называем уровнем серого (l) или яркостью изображения в этой точке, т.е.

Page 49: Лекция 3

Из соотношений (2.3-2) — (2.3-4) видно, что Из соотношений (2.3-2) — (2.3-4) видно, что ll лежит в лежит в некотором интерваленекотором интервале

Теоретически, к границам этого интервала предъявляются только те требования, чтобы Lmin было положительно, a Lmax — конечно. На практике Lmin = imin rmin, a Lmax = imах rmах. С учетом вышеприведенных типичных значений освещенности в служебных помещениях и коэффициента отражения, можно ожидать типичных пределов Lmin ≈ 10 и Lmax ≈ 1000 для изображений, наблюдаемых в помещениях в отсутствие дополнительного освещения.

Интервал [Lmin, Lmax] называется диапазоном яркостей. На практике его обычно сдвигают по числовой оси, получая интервал [0, L-1], края которого принимаются за уровень черного (l = 0) и уровень белого (l = L - 1). Все промежуточные значения в этом интервале соответствуют некоторым оттенкам серого при изменении от черного до белого.

Page 50: Лекция 3

Дискретизация и квантование изображенияИз сказанного ясно, что несмотря на многочисленные возможные

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

Основные понятия, используемые при дискретизации и квантовании

Главный принцип, лежащий в основе дискретизации и квантования изображений, проиллюстрирован на Рис. 2.16. Здесь (Рис. 2.16(a)) приведено исходное изображение f(x, у), которое мы хотим преобразовать в цифровую форму. Изображение непрерывно по координатам х и у, а также по амплитуде. Чтобы преобразовать эту функцию в цифровую форму, необходимо представить ее отсчетами по обеим координатам и по амплитуде. Представление координат в виде конечного множества отсчетов называется дискретизацией, а представление амплитуды значениями из конечного множества — квантованием.

Page 51: Лекция 3
Page 52: Лекция 3

Изображенная на Рис. 2.16(б) одномерная функция представляет собой график изменения значений яркости непрерывного изображения вдоль отрезка АВ на Рис. 2.16(a). Случайные отклонения на графике вызваны наличием шумов в изображении. Чтобы дискретизовать эту функцию, разобьем отрезок АВ на равные интервалы, как показано засечками на Рис. 2.16(b) внизу. Значения в выбранных точках отсчета представлены небольшими квадратиками на графике функции. Построенный набор значений в точках дискретизации описывает функцию в виде совокупности ее дискретных отсчетов, однако сами эти значения пока еще охватывают весь непрерывный диапазон яркостей (по вертикали). Чтобы построить цифровую функцию, диапазон яркостей также необходимо преобразовать в дискретные величины (проквантовать). Справа на Рис. 2.16(b) изображена шкала яркостей, разбитая на восемь дискретных уровней от черного до белого. Квантование непрерывных значений яркости в точках дискретизации осуществляется простым сопоставлением каждому отсчету одного из восьми дискретных уровней — того, к которому ближе найденное значение яркости. В результате совместных операций дискретизации и квантования возникает отвечающий одной строке изображения дискретный набор цифровых отсчетов, показанный на Рис. 2.16(г). Выполняя такую процедуру построчно, с верхней по нижнюю строки, получаем двумерное цифровое изображение.

Page 53: Лекция 3

Выполнение дискретизации описанным выше способом предполагает, что нам доступно непрерывное по обеим координатам и по яркости изображение. На практике, однако, способ оцифровки определяется конструкцией сенсорного устройства, применяемого для регистрации изображения. Если изображение формируется одиночным сенсором в сочетании с механическим его перемещением (Рис. 2.13), выходной сигнал сенсора квантуется, как описано выше, а дискретизация определяется выбором шагов механического перемещения сенсора в процессе сбора данных. Механическое перемещение может выполняться с очень высокой точностью, так что в принципе почти нет пределов для уменьшения шага дискретизации, однако на практике пределом является несовершенство оптической системы, применяемой для фокусировки светового пятна на чувствительном элементе, точность которой оказывается хуже, чем достигаемая точность механического перемещения сенсора.

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

Page 54: Лекция 3

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

В случае регистрации изображения с помощью матрицы сенсоров механического перемещения нет, и пределы дискретизации изображения по обоим направлениям определяются числом сенсоров в матрице. Квантование их выходных сигналов осуществляется так же, как и раньше. Рис. 2.17 иллюстрирует этой случай. На Рис. 2.17(a) показано непрерывное изображение, спроецированное на плоскость сенсорной матрицы, а Рис. 2.17(6) демонстрирует то же изображение после дискретизации и квантования. Ясно, что качество получаемого представления в большой степени зависит от числа отсчетов в разбиении и числа уровней квантования. Однако, как мы увидим далее, при выборе значений этих количественных параметров важно учитывать содержательное наполнение изображения.

Page 55: Лекция 3
Page 56: Лекция 3

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

матрица действительных чисел. В данной лекции используются два основных способа представления цифровых изображений. Предположим, что в результате дискретизации изображения f (х, у) получена матрица из М строк и N столбцов. Координаты (х, у) становятся теперь дискретными значениями. Для ясности обозначений и большего удобства мы будем использовать для этих дискретных координат целочисленные значения, принимая за начало координат левый верхний угол изображения, где (х, у) = (0, 0). Следующим значением координат вдоль первой строки изображения будет точка (х, у) = (0,1). Важно иметь в виду, что обозначение (0,1) используется лишь для указания на второй отсчет в первой строке, и не означает, что это фактические значения физических координат точек дискретизации. Рис. 2.18 иллюстрирует принятое соглашение о системе координат.

С использованием введенных обозначений мы можем компактно записать полное цифровое изображение размерами MxN форме следующей матрицы:

Page 57: Лекция 3
Page 58: Лекция 3

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

Page 59: Лекция 3

Ясно, что aij =f (х = i, у =j) =f(i,j), поэтому матрицы (2.4-1) и (2.4-2) идентичны.

Иногда может быть полезно выражать операции дискретизации и квантования в более формальных математических терминах. Пусть Z и R обозначают соответственно множества целых и действительных чисел. Процесс дискретизации можно рассматривать как разбиение плоскости ху на сеть, координаты центра каждой ячейки которой суть элементы декартова произведения Z2, т.е. множества всех пар (zi, zj), где zi и zj — элементы множества Z. Следовательно, f(х, у) — цифровое изображение, если (х, у) суть целочисленные пары из Z2, и функция f приписывает каждой паре координат (х, у) конкретное значение яркости, т.е. действительное число из множества R. Такое сопоставление, осуществляемое функцией f очевидно, отвечает описанному выше процессу дискретизации. Если значения яркости также целочисленные, и вместо множества R используется Z, тогда цифровое изображение становится двумерной цифровой функцией, у которой как обе координаты, так и значения — целые числа.

Page 60: Лекция 3

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

Мы предполагаем, что дискретные уровни яркости расположены с постоянным шагом (т.е. используется равномерное квантование) и принимают целые значения в интервале [0, L - 1]. Иногда интервал значений яркости называют динамическим диапазоном изображения, и мы будем говорить об изображениях, интервал яркостей которых занимает значительную часть всего диапазона уровней серого, как об изображениях с большим динамическим диапазоном. Если заметная доля пикселей обладает таким свойством, изображение имеет высокий контраст. Наоборот, изображение с малым динамическим диапазоном обычно выглядит тусклым, размытым и серым.

Page 61: Лекция 3

В Таблице 2.1 приводится число бит, необходимых для хранения квадратных изображений при различных значениях N и k. Количество градаций яркости, соответствующее каждому значению к, указано в скобках. Если пиксели изображения могут принимать 2к значений яркости, то такое изображение часто называют «к-битным»; например, изображение с возможными 256 градациями яркости называют восьмибитным. Из таблицы видно, что для хранения 8-битных изображений размерами 1024x1024 и более элементов требуется существенный объем памяти.

Общее количество битов b, необходимое для хранения цифрового изображения, определяется по формуле

В случае квадратного изображения М= N, и это равенство приобретает вид

Page 62: Лекция 3
Page 63: Лекция 3

Пространственное и яркостное разрешенияДискретизация является главным фактором,

определяющим пространственное разрешение изображения. По существу, пространственное разрешение — это размер мельчайших различимых деталей на изображении. Предположим, что построен чертеж, состоящий из вертикальных линий с шириной W, разделенных промежутками также с шириной W. Парой линий будем называть одну линию с примыкающим с одной стороны промежутком. Таким образом, ширина пары линий составляет 2W, и на единице длины размещается 1/2W таких пар. Широко используемое определение разрешения состоит именно в указании максимального числа различимых пар линий на единицу длины; например, 100 пар линий на миллиметр.

Яркостным (или полутоновым) разрешением, аналогично, называется мельчайшее различимое изменение яркости, но, как отмечалось выше, процесс измерения различимых уровней яркости является в высшей степени субъективным.

Page 64: Лекция 3

Если при дискретизации изображений имеется относительно большая свобода действий при выборе числа отсчетов (т.е. частоты дискретизации), то при выборе числа градаций яркости приходится в значительной степени учитывать особенности аппаратуры; по этим причинам число градаций обычно выбирается равным степени 2. Наиболее частым решением является выбор 8-битного представления (256 градаций яркости), но в некоторых приложениях используется 16 бит, если необходимо иметь более точное представление полутонов. Иногда можно встретить системы, в которых квантование уровней яркости изображения проводится с 10 или 12 битами точности, но это скорее исключение, чем правило.

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

Page 65: Лекция 3

Пример 2: Типичные эффекты при изменении числа отсчетов в цифровом изображении. На Рис. 2.19 слева приведено изображение размерами 1024x1024 пикселей, яркость элементов которого представлена 8 битами. Остальные изображения на этом рисунке получены в результате «прореживания» изображения 1024x1024, которое осуществляется путем отбрасывания соответствующего количества строк и столбцов исходного изображения. Например, изображение размером 512x512 получается путем удаления строк и столбцов через один в изображении 1024x1024; изображение размером 256x256 — путем удаления строк и столбцов через один в изображении 512x512, и т.д. Число допустимых градаций яркости сохраняется равным 256.

Данные изображения демонстрируют пропорциональные изменения размеров при различной частоте дискретизации, однако это затрудняет наблюдение эффектов, вызванных уменьшением пространственного разрешения. Самый простой способ облегчить сопоставление — увеличить все прореженные изображения до размеров исходного (1024x1024) путем дублирования строк и столбцов пикселей. Результаты такой операции приведены на Рис. 2.20(б-е). Рис. 2.20(a) совпадает с исходным изображением 1024x1024 (Рис. 2,19) и повторен здесь для удобства сравнения.

Page 66: Лекция 3
Page 67: Лекция 3

Сравнивая Рис. 2.20(a) с изображением 512x512 (Рис. 2.20(6)) можно заметить, что их практически невозможно различить. Потеря степени детализации слишком мала, чтобы ее можно было увидеть на печатной странице при том масштабе, как эти изображения приведены. Следующее изображение размерами 256x256 (Рис. 2.20(b)) демонстрирует очень слабую ступенчатость на границах между лепестками цветка и черным фоном. Начинает также проявляться слегка более выраженная зернистость по всему полю изображения. Эти эффекты становятся еще более заметными в изображении размерами 128x128 (Рис. 2.20(г)) и совершенно отчетливы в изображениях 64x64 и 32x32, показанных на Рис. 2.20(д) и (е) соответственно.

Page 68: Лекция 3
Page 69: Лекция 3

Пример 3: Типичные эффекты при изменении числа градаций яркости в цифровом изображении. В этом примере мы сохраняем число отсчетов дискретизации постоянным, но постепенно уменьшаем число уровней квантования с 256 до 2, двигаясь по степеням 2. На Рис. 2.21(a) показан полученный методом проекционной КТ рентгеновский снимок размерами 452x374 пикселей с 256 градациями яркости (к = 8). Подобные изображения получаются при закреплении рентгеновского источника в некотором положении, что дает двумерное изображение в нужном направлении. Проекционные КТ-изображения используются для настройки параметров компьютерного томографа, например, угла наклона, количества срезов и диапазона.

Изображения на Рис. 2.21(б-з) были получены путем уменьшения числа бит представления с к = 7 до к = 1, при сохранении постоянного пространственного разрешения 452x374 пикселей. Изображения с 256, 128 и 64 градациями яркости оказываются визуально неотличимыми и в равной мере применимыми.

Page 70: Лекция 3

Однако, на 32-градационном изображении (Рис. 2.21 (г)) появляются почти незаметные мелкие рубчатые структуры в области плавных изменений полутонов, в частности, в области мозга. Этот эффект, вызванный использованием недостаточного числа градаций яркости в областях плавных переходов полутонов, называется появлением ложных контуров, поскольку эти линии напоминают контурные линии горизонталей на топографической карте. Ложные контуры становятся отчетливо видны на изображениях, представленных с равномерным разбиением всего яркостного диапазона на 16 градаций и менее, как видно из Рис. 2.21(д-з).

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

Page 71: Лекция 3

Результаты, показанные на Примерах 2 и 3, иллюстрируют влияние независимого изменения значений N и k на качество изображения. Но это дает лишь частичный ответ на вопрос о влиянии N и k на свойства цифровых изображений, поскольку мы пока не рассматривали возможные взаимосвязи между этими двумя параметрами. В ранних исследованиях [Huang, 1965] делалась попытка измерить экспериментально, как влияет на качество изображения одновременное изменение значений N и k . Эксперимент состоял из набора субъективных тестов, в которых использовались изображения, подобные приведенным на Рис. 2.22. Женское лицо относится к классу изображений с относительно малым содержанием деталей, снимок толпы, напротив, содержит большое число деталей, а изображение кинооператора занимает промежуточное положение по степени наличия деталей.

Page 72: Лекция 3
Page 73: Лекция 3
Page 74: Лекция 3

Генерировался набор изображений указанных трех классов для различных значений N и k, после чего наблюдателю предлагалось упорядочить их в соответствии с субъективно ощущаемым качеством. Результаты эксперимента представлялись в форме так называемых кривых равного предпочтения на плоскости Nk (Рис. 2.23 демонстрирует типичные образцы кривых равного предпочтения для изображений, приведенных на Рис. 2.22). Каждая точка на плоскости Nk соответствует изображению со значениями параметров N и k, равными координатам этой точки. Точки, лежащие на кривой равного предпочтения, соответствуют изображениям одинакового субъективно воспринимаемого качества. В описываемых экспериментах было обнаружено, что кривые равного предпочтения имеют тенденцию к смещению вправо и вверх, однако форма их для каждого из трех рассматриваемых классов изображений отличается и в целом подобна изображенной на Рис. 2.23. В целом результаты не являются неожиданными, поскольку сдвиг кривой вправо и вверх означает просто увеличение значений N и k, что неминуемо ведет к повышению качества изображения.

Page 75: Лекция 3

В контексте нашего обсуждения наиболее важным представляется тот факт, что кривые равного предпочтения приобретают все более вертикальную форму по мере увеличения степени детализации изображения. Такой результат наводит на мысль, что для изображений с большим количеством деталей может оказаться достаточным лишь небольшое число градаций яркости. Например, приведенная на Рис. 2.23 кривая равного предпочтения для изображения толпы почти вертикальна. Это показывает, что для фиксированного значения N воспринимаемое качество изображения такого типа почти не зависит от числа использованных градаций яркости (в показанном на Рис. 2.23 диапазоне). Интересно также отметить, что для других двух типов изображений визуальное качество остается одинаковым в некоторых интервалах, где пространственное разрешение увеличивается при одновременном уменьшении числа градаций яркости. Наиболее вероятная причина такого результата состоит в том, что при уменьшении к повышается видимый контраст изображения, а этот эффект часто субъективно воспринимается человеком как улучшение качества изображения.

Page 76: Лекция 3
Page 77: Лекция 3
Page 78: Лекция 3

Эффекты муара и наложения спектровФункции с конечной площадью под графиком ее абсолютного

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

Page 79: Лекция 3

Оказывается, что за исключением обсуждаемого чуть ниже особого случая, на практике невозможно выполнить условия теоремы отсчетов, поскольку мы можем работать только с выборочными данными конечной длины. Можно искусственно преобразовать функцию, заданную на конечном интервале, в функцию, определенную на всей оси, умножая последнюю на «функцию окна», которая равна 1 на этом интервале и 0 во всех остальных точках. К несчастью, такая функция окна сама состоит из частотных составляющих с неограниченной частотой. Таким образом, сам факт ограничения длины интервала, на котором задана функция, не позволяет ей быть функцией с ограниченным спектром, что приводит к нарушению ключевого условия теоремы отсчетов. Основной метод борьбы с эффектом наложения спектров состоит в ослаблении высокочастотных составляющих изображения путем его сглаживания (расфокусировки) перед дискретизацией. Тем не менее, в дискретных изображениях всегда присутствует эффект наложения спектров, который при определенных условиях принимает характер так называемого муара, обсуждаемого ниже.

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

Page 80: Лекция 3

Если функция является периодической, то эти отсчеты нужно брать с частотой, которая в два раза или более превышает частоту высшей частотной составляющей спектра. Функция может быть точно восстановлена по значениям в этих точках отсчета при условии, что длина всего интервала точек отсчета в точности равна целому числу периодов функции. Этот специальный случай позволяет нам живо проиллюстрировать эффект муара. На Рис. 2.24 показаны два одинаковых периодических узора из расположенных на равном расстоянии вертикальных линий, которые повернуты друг относительно друга и затем наложены путем поэлементного перемножения яркостей двух соответствующих изображений. Эффект муара, вызванный несовпадением периодов, виден на Рис. 2.24 в форме плоской интерференционной волны (похожей на кровлю из гофрированного железа), идущей в вертикальном направлении. Похожие эффекты могут также возникать при оцифровке изображения (например, при помощи сканера) с печатной страницы, на которой оно состоит из периодически расположенных точек.

Page 81: Лекция 3
Page 82: Лекция 3

Увеличение и уменьшение цифровых изображенийМы завершим обсуждение операций дискретизации и квантования

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

Для увеличения необходимы два шага: создание новой матрицы пикселей и затем присвоение этим новым пикселям определенных значений яркости. Начнем с простого примера. Предположим, что имеется изображение размерами 500x500 пикселей, которое мы хотим увеличить в 1,5 раза, до размеров 750x750 пикселей. По идее, простейший способ визуально наблюдать увеличение — это наложить на исходное изображение воображаемую сетку размерами 750x750 элементов. Очевидно, что шаг сетки будет меньше одного пикселя исходного изображения. Чтобы присвоить значение яркости любому элементу наложенного изображения, найдем ближайший к нему пиксель исходного изображения и припишем его яркость данному элементу сетки. Проделав аналогичную операцию для всех элементов сетки, получим искомое увеличенное изображение. Такой способ присвоения значений яркости называется интерполяцией по ближайшему соседу.

Page 83: Лекция 3

Метод дублирования пикселей, который использовался для построения изображений Рис. 2.20(б-е), является частным случаем интерполяции по ближайшему соседу, который имеет место при увеличении изображения в целое число раз. Например, для увеличения изображения вдвое мы вначале дублируем каждый столбец, получая тем самым изображение с удвоенным горизонтальным размером. Затем дублируется каждая строка, чтобы вдвое увеличить вертикальный размер изображения. Чтобы увеличить изображение в любое целое число раз (в 3 раза, 4 раза и т.д.), применяется аналогичная процедура, в которой строки и столбцы дублируются столько раз, сколько требуется для получения изображения необходимых размеров. Здесь назначение одинаковой яркости каждому пикселю в дублируемой группе предопределено тем фактом, что все они в точности соответствуют одному и тому же элементу исходного изображения. Хотя увеличение с интерполяцией по ближайшему соседу выполняется быстро, оно имеет ту нежелательную особенность, что может приводить к заметной ступенчатости, особенно при большой кратности увеличения. Хорошим примером этого эффекта могут служить Рис. 2.20(д) и (е). Немного более сложным способом присвоения яркостей элементам увеличенного изображения является билинейная интерполяция, в которой используются четыре ближайшие соседа данной точки.

Page 84: Лекция 3

где коэффициенты а, b, с, d находятся из системы четырех линейных уравнений с четырьмя неизвестными, выписанной для четырех ближайших соседей точки (х', у') .

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

Пусть (х', у') — координаты точки на увеличенном изображении (которую можно представить себе как точку ранее упоминавшейся наложенной сетки). Обозначим v (х', у') приписываемый этой точке уровень яркости. В случае билинейной интерполяции он задается соотношением

Page 85: Лекция 3

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

Для интерполяции может использоваться большее число соседей, что позволяет аппроксимировать дискретные точки поверхностью более сложного вида; обычно это приводит к получению более гладких результирующих изображений. Это соображение оказывается исключительно важным при генерации изображений в трехмерной компьютерной графике [Watt, 1993] и при обработке медицинских изображений [Lehmann et al., 1999], однако ввиду повышенной вычислительной сложности применение такого подхода в универсальных системах обработки изображений редко бывает оправданным, и обычно для операций увеличения и уменьшения ограничиваются билинейной интерполяцией.

Page 86: Лекция 3

Пример 4: Увеличение изображений с помощью билинейной интерполяции. Рис. 2.25 в верхнем ряду снова повторены изображения Рис. 2.20(г-е). Как уже говорилось, эти изображения размерами 128x128, 64x64 и 32x32 были увеличены до исходных размеров 1024x1024 пикселей с помощью интерполяции по ближайшему соседу. Те же результаты, но с использованием билинейной интерполяции, показаны в нижнем ряду на Рис. 2.25. Общее улучшение визуального качества несомненно, особенно в случаях 128x128 и 64x64. Изображение размерами 32x32 выглядит несколько размытым при увеличении до размеров 1024x1024, однако надо учитывать, что здесь коэффициент увеличения составляет 32. Несмотря на это, показанный на Рис. 2.25(e) результат билинейной интерполяции довольно хорошо передает форму исходного изображения, что совершенно терялось на Рис. 2.25(b).

Page 87: Лекция 3
Page 88: Лекция 3

Некоторые фундаментальные Некоторые фундаментальные отношения между пикселямиотношения между пикселями

Мы рассмотрим некоторые важные взаимосвязи между элементами цифрового изображения. Как указывалось выше, мы будем обозначать изображение в виде функции f (x, у). Ссылаясь на конкретные пиксели, мы будем пользоваться строчными буквами, например, р и q.

Соседи отдельного элементаУ элемента изображения р с координатами (х, у)

имеются четыре соседа по вертикали и горизонтали, координаты которых даются выражениями

Page 89: Лекция 3

Это множество пикселей называется четверкой соседей р и обозначается N4(р). Каждый его элемент находится на единичном расстоянии от (х, у); если же точка (х, у) лежит на краю изображения, то некоторые из соседей оказываются за пределами изображения. Четыре соседа р по диагонали имеют координаты

и обозначаются ND(p). Вместе с четверкой соседей эти точки образуют так называемую восьмерку соседей, обозначаемую N8(p). Как и выше, некоторые точки множеств ND(p) и N8(p) могут оказаться за пределами изображения, если точка (х, у) лежит на его краю.

Смежность, связность, области и границыОтношение смежности между элементами изображения является

фундаментальным понятием, которое упрощает определение большого числа других понятий, связанных с цифровыми изображениями, например, областей и границ. Чтобы установить, что два элемента изображения являются смежными, необходимо, чтобы они были соседями и их уровни яркости удовлетворяли заданному критерию сходства (скажем, были равны друг другу). Например, в бинарном изображении, яркость элементов которого может принимать только два значения 0 и 1, два пикселя могут входить в четверку соседей друг друга, но считаются смежными только в том случае, если их значения совпадают.

Page 90: Лекция 3

Пусть V— множество значений яркости, используемое при определении понятия смежности. В бинарном изображении V= {1}, если смежными считаются соседние пиксели с единичным значением яркости. Для полутоновых изображений идея та же, но множество V обычно состоит из большего числа элементов. Например, при определении понятия смежности для пикселей с диапазоном возможных значений яркости от 0 до 255 множество V может быть любым подмножеством этих 256 значений. Мы будем рассматривать три вида смежности:

1) 4-смежность. Два пикселя р и q со значениями из множества V являются 4-смежными, если q входит в множество N4(p);

2) 8-смежность. Два пикселя р и q со значениями из множества V являются 8-смежными, если q входит в множество N8(p);

3) т-смежность (смешанная). Два пикселя p и q со значениями из множества V являются m-смежными, если:

а) элемент q входит в множество N4(p), илиб) элемент q входит в множество ND(p) и множество N4(р) N4(q) не

содержит элементов изображения со значением яркости из множества V.

Page 91: Лекция 3

Смешанная смежность представляет собой модификацию 8-смежности с целью исключения неоднозначности, часто возникающей при использовании 8-смежности в чистом виде. Рассмотрим, например, изображенную на Рис. 2.26(a) конфигурацию пикселей при V= {1}. Три элемента в верхней части Рис. 2.26(б) демонстрируют неоднозначную 8-смежность, как указано пунктирными линиями. Эта неоднозначность устраняется при использовании m-смежности, что иллюстрирует Рис. 2.26(в). Два подмножества пикселей S1 и S2 называются смежными, если некоторый пиксель из S1 является смежным с некоторым пикселем из S2. В этом и последующих определениях под смежностью подразумевается некоторый фиксированный ее вид, т.е. 4-, 8- или m-смежность.

Page 92: Лекция 3

Дискретным путем (или кривой) от пикселя р с координатами (х, у) до пикселя q с координатами (s, t) называется неповторяющаяся последовательность пикселей с координатами (x0,y0),(х1,y1),...,(хn,уn),

где (х0,у0) = (х,у), (хn,уn) = (s, t) и пиксели (xi,yi) и (xi-1,yi-1) являются смежными при 1 ≤ i ≤ n. В этом случае n называется длиной пути. Если (x0, у0) = (хn, уn), то путь называется замкнутым. Можно определить 4-, 8- или т-путь в соответствии с заданным типом смежности. Например, на Рис. 2.26(б) изображено два 8-пути между правым верхним и правым нижним элементами, а на Рис. 2.26(в) показан m-путь. Заметим, что он является однозначным, в отличие от 8-путей.

Page 93: Лекция 3

Пусть S — некоторое подмножество элементов изображения. Два его элемента р и q называются связными в S, если между ними существует путь, целиком состоящий из элементов подмножества S. Для любого пикселя р из S множество всех пикселей, связных с ним в S, называется связной компонентой (или компонентой связности) S. Если множество S содержит только одну компоненту связности, оно называется связным множеством.

Пусть R — подмножество элементов изображения. Будем называть его областью, если R — связное множество. Границей области R (также называемой замкнутым контуром или краем) назовем множество пикселей этой области, у которых один или более соседей не являются элементами R. Если подмножество R есть все изображение (которое, напомним, является прямоугольной матрицей элементов), то его граница по определению состоит из элементов первого столбца и первой строки, а также элементов последнего столбца и последней строки. Такое доопределение необходимо, поскольку у этих элементов нет соседей за пределами изображения. Обычно, говоря об области, имеется в виду подмножество всего изображения, а элементы на границе области, которые совпадают с краем изображения, безусловно включаются в состав границы этой области.

Page 94: Лекция 3

При обсуждении областей и границ часто возникает понятие контура. Между контуром (в общем случае незамкнутым) и границей существует принципиальная разница. Граница конечной области всегда образует замкнутый путь и поэтому является «глобальным» понятием. Контуры же, состоят из пикселей, на которых значения производной яркости превышают заранее заданный порог. Поэтому по самой своей идее контур является «локальным» понятием, основанным на мере непрерывности уровня яркости в некоторой точке. Контурные точки могут соединяться, образуя сегменты контуров, и эти сегменты иногда соединяются подобно границам, но такой случай имеет место не всегда. Единственным исключением, когда контура и границы соответствуют друг другу, являются бинарные изображения. В зависимости от используемых вида связности и оператора выделения контуров, выделение контуров в бинарной области дает результаты, совпадающие с границей этой области. Ограничимся здесь этим изложением на интуитивном уровне и будем понимать контуры как разрывы яркости, а границы — как замкнутые пути.

Page 95: Лекция 3

Меры расстояния Пусть элементы изображения p, q и z имеют координаты (х,

у), (s, t) и (v, w) соответственно. Функция D называется функцией расстояния или метрикой, если:

а) D(p,q) 0, причем D(p,q) = 0 тогда и только тогда, когда р = q;

б) D(p,q) = D (q,p);

Page 96: Лекция 3
Page 97: Лекция 3
Page 98: Лекция 3

Пиксели с расстоянием D8 = 1 являются восьмеркой соседей для элемента (х, у).

Заметим, что расстояния D4 и D8 между двумя элементами р и q не зависят от каких-либо путей, которые могли существовать между этими пикселями, поскольку в определении этих расстояний участвуют только координаты элементов. Однако, если мы выбираем в качестве меры m-смежность, то расстояние Dm между двумя элементами изображения определяется как длина кратчайшего m-пути между этими элементами. В этом случае расстояние между пикселями будет зависеть от значений всех пикселей вдоль этого пути, равно как и от значений их соседей. Например, рассмотрим следующую конфигурацию пикселей, и пусть элементы p, p2 и p4 имеют значение 1, элементы p1 и р3 могут принимать значения 0 или 1:

Page 99: Лекция 3

Предположим, что рассматривается смежность пикселей со значением 1, т.е. V={1}. Если оба элемента р1 и р3, имеют значения 0, то длина кратчайшего m-пути (т.е. расстояние Dm) между р и р4 равна 2. Если значение р1 равно 1, то элементы р и p2 больше не являются m-смежными (см. определение отношения m-смежности), и длина кратчайшего m-пути становится равной 3 (этот путь проходит через точки p, p1, p2, p4). Аналогичные рассуждения имеют место в том случае, если значение p3 равно 1 (а значение p1 равно 0). В этом случае длина кратчайшего m-пути также равна 3. Наконец, если оба пикселя p1 и р3 имеют единичные значения, то длина кратчайшего m-пути между р и p4 станет равной 4. В таком случае путь проходит через последовательность точек р, р1, р2, p3, р4.

Поэлементные операции над изображениямиВ последующем многократно упоминаются операции, выполняемые над

изображениями, например, деление одного изображения на другое. В определении (2.4-2) изображение было представлено в форме матрицы. Известно, что операция деления матриц в общем случае не определена. Однако, говоря об операции типа «деления одного изображения на другое», мы на самом деле подразумеваем, что деление выполняется для соответственных элементов двух изображений. Таким образом, если, например, f и q суть цифровые изображения, то значение первого элемента изображения, получаемого «делением» f на q, равно результату от деления значения первого пикселя f на значение первого пикселя q; разумеется, в предположении, что все элементы q имеют ненулевые значения. Прочие арифметические и логические операции определяются аналогичным образом и выполняются над соответственными элементами участвующих в операции изображений.

Page 100: Лекция 3

Линейные и нелинейные преобразованияПусть Н — оператор, входом и выходом которого являются

изображения. Говорят, что оператор Н линейный, если для любых двух изображений f и g, и любых двух скалярных значений а и b справедливо равенство

Другими словами, результат применения линейного оператора к линейной комбинации двух изображений (т.е. к их сумме с предварительным умножением соответственно на коэффициенты а и b) идентичен линейной комбинации результатов применения такого оператора к этим изображениям по отдельности. Например, оператор, функция которого состоит в вычислении суммы К изображений, есть линейный оператор. А оператор, вычисляющий модуль разности двух изображений, линейным не является. По определению, оператор, для которого нарушается условие (2.6-1), является нелинейным оператором.

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

Page 101: Лекция 3

JPGJPG

JPEG (произносится «джейпег», англ. Joint Photographic Experts Group, по названию организации-разработчика) — один из популярных графических форматов, применяемый для хранения фотоизображений и подобных им изображений. Файлы, содержащие данные JPEG, обычно имеют расширения .jpeg, .jfif, .jpg, .JPG, или .JPE. Однако из них .jpg самое популярное расширение на всех платформах. MIME-типом является image/jpeg.

Алгоритм JPEG является алгоритмом сжатия данных с потерями.

Page 102: Лекция 3

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

С другой стороны, JPEG малопригоден для сжатия чертежей, текстовой и знаковой графики, где резкий контраст между соседними пикселами приводит к появлению заметных артефактов. Такие изображения целесообразно сохранять в форматах без потерь, таких как TIFF, GIF, PNG или RAW.

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

JPEG не должен использоваться и в тех случаях, когда недопустимы даже минимальные потери, например, при сжатии астрономических или медицинских изображений. В таких случаях может быть рекомендован предусмотренный стандартом JPEG режим сжатия Lossless JPEG (который, к сожалению, не поддерживается большинством популярных кодеков) или стандарт сжатия JPEG-LS.

Page 103: Лекция 3

JPEG был разработан как метод сжатия непрерывно-тоновых образов. Основные цели метода JPEG состоят в следующем:

1. Высокий коэффициент сжатия, особенно для изображений, качество которых расценивается как хорошее или отличное.

2. Большое число параметров, позволяющих искушенному пользователю экспериментировать с настройками метода и добиваться необходимого баланса сжатие/качество.

3. Хорошие результаты для любых типов непрерывно-тоновых изображений независимо от их разрешения, пространства цветов, размера пикселов или других свойств.

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

5. Несколько мод операций: (а) Последовательная мода: все цветные компоненты сжимаются в виде простого сканирования слева неправо и сверху вниз; (b) Прогрессирующая мода: изображение сжимается в виде нескольких блоков (называемых «сканами»), позволяющими делать декомпрессию и видеть сначала грубые, а потом все более четкие детали изображения; (с) Мода без потерь информации (нужная на случай, если пользователь желает сохранить пикселы без изменений; при этом приходится расплачиваться низкой степенью сжатия); и (d) Иерархическая мода, когда изображение сжимается со множеством разрешений, позволяющая создавать блоки низкого разрешения, которые можно наблюдать перед блоками высокого разрешения.

Page 104: Лекция 3

Сокращение JPEG произведено от Joint Photographic Experts Group (объединенная группа по фотографии). Проект JPEG был инициирован совместно комитетом CCITT и ISO (the International Standard Organization, международная организация по стандартам). Он начался в июне 1987 года, а первый черновой алгоритм JPEG был разработан в 1991 году. Стандарт JPEG доказал свою эффективность и стал широко применяться для сжатия изображений, особенно во всемирной паутине.

Основные шаги сжатия метода JPEG, которые будут подробно описываться в следующих параграфах, состоят в следующем. 1.Цветное изображение преобразуется из RGB в представление светимость/цветность (для полутоновых черно-белых изображений этот шаг опускается). Глаз чувствителен к малым изменениям яркости пикселов, но не цветности, поэтому из компоненты цветности можно удалить значительную долю информации для достижения высокого сжатия без заметного визуального ухудшения качества образа. Этот шаг не является обязательным, но он очень важен, так как остальная часть алгоритма будет независимо работать с каждым цветным компонентом. Без преобразования пространства цветов из компонентов RGB нельзя удалить существенную часть информации, что не позволяет сделать сильное сжатие.

Page 105: Лекция 3

2. Цветное изображение разбивается на крупные пикселы (этот шаг делается, если необходимо иерархическое сжатие; он всегда опускается для полутоновых изображений). Эта операция не делается для компоненты яркости. Укрупнение пикселов (рис. 3.48) делается или в соотношении 2:1 по горизонтали и вертикали (так называемое укрупнение 2h2v или «4:1:1» ) или в пропорциях 2:1 по горизонтали и 1:1 по вертикали (укрупнение 2hlv или «4:2:2» ). Поскольку это делается для двух компонентов из трех, 2h2v сокращает изображение до 1/3 + (2/3) х (1/4) = 1/2 его размера, a 2h1v - до 1/3 + (2/3) х (1/2) = 2/3 его размера. Компонента светимости не затрагивается, поэтому не происходит заметной потери качества изображения.

Page 106: Лекция 3

3. Пикселы каждой цветной компоненты собираются в блоки 8x8, которые называются единицами данных. Если число строк или столбцов изображения не кратно 8, то самая нижняя строка и самый правый столбец повторяются нужное число раз. Если мода с чередованием выключена, то кодер сначала работает со всеми единицами данных первой цветной компоненты, затем второй компоненты, а потом третьей компоненты. Если мода с чередованием включены, то кодер обрабатывает три самых верхних левых единицы данных трех компонентов (#1), затем три единицы данных (#2) справа от них и так далее.

4. Затем применяется дискретное косинус-преобразование (DCT) к каждой единице данных, в результате чего получаются блоки 8x8 частот единиц данных. Они содержат среднее значение пикселов единиц данных и следующие поправки для высоких частот. Все это приготавливает данные для основного шага выбрасывания части информации. Поскольку DCT использует трансцендентную функцию косинус, на этом шаге происходит незначительное изменение информации из-за ограниченности точности машинных вычислений. Это означает, что даже без основного шага потери данных (шаг 5 далее), происходит небольшое, крайне слабое искажение изображения.

Page 107: Лекция 3

5. Каждая из 64 компонент частот единиц данных делится на специальное число, называемое коэффициентами квантования (QC), которая округляется до целого. Здесь информация невосполнимо теряется. Большие коэффициенты QC вызывают большую потерю, поэтому высокочастотные компоненты, обычно, имеют большие QC. Все 64 коэффициента QC являются изменяемыми параметрами, которые, в принципе, пользователь может регулировать самостоятельно. Однако большинство приложений используют таблицу QC, рекомендуемую стандартом JPEG для компонентов светимости и цветности.

6. Все 64 квантованных частотных коэффициента (теперь это целые числа) каждой единицы данных кодируются с помощью комбинации RLE и метода Хаффмана. Вместо кодирования Хаффмана может также применяться вариант арифметического кодирования, известный как кодер QM.

7. На последнем шаге добавляется заголовок из использованных параметров JPEG и результат выводится в сжатый файл. Сжатый файл может быть представлен в трех разных форматах: (1) формат обмена, когда файл содержит сжатый образ и все необходимые декодеру таблицы (в основном это таблицы квантования и коды Хаффмана), (2) сокращенный формат для сжатого изображения, где файл может не содержать всех таблиц, (3) сокращенный формат для таблиц, когда файл содержит только таблицы спецификаций без сжатых данных. Второй формат применяется, если при сжатии некоторые параметры и таблицы использовались по умолчанию, поэтому декодер их знает. Третий формат бывает полезен, если сжимается много однотипных изображений с помощью одних и тех же параметров. Если необходимо раскрыть эти изображения, то декодеру сначала направляется файл со спецификациями.

Page 108: Лекция 3

Декодер JPEG совершает обратные действия. (Значит, JPEG является симметричным методом сжатия.)

Прогрессирующая мода является опционной для JPEG. В этой моде высокочастотные коэффициенты DCT записываются в сжатый файл блоками, называемыми «сканами». Каждый прочитанный декодером скан дает возможность подправить и уточнить картинку. Идея заключается в том, что несколько первых сканов используются для быстрого показа изображения низкого качества. Далее происходит или декодирование следующих сканов, или отказ от дальнейшего декодирования. Плата за это заключается в том, что кодер должен хранить в буфере все коэффициенты всех единиц данных до того, как их послать в скан (так как они посылаются в скан в обратном порядке, а не в порядке их генерации). Кроме того приходится делать весь процесс декодирования для каждого скана, что замедляет прогрессирующее декодирование.

На рис. 3.49а показан пример изображения с разрешением 1024 х 512. Это изображение разделено на 128 х 64 = 8192 единиц данных, каждая из которых преобразована с помощью DCT в блок из 64 чисел по 8 бит. На рис 3.49b изображен параллелепипед, длина которого равна 8192 единицам данных, высота равна 64 коэффициентам DCT (коэффициент DC расположен наверху с номером 0), а ширина равна 8 битам каждого коэффициента.

После представления всех единиц данных в буфере памяти, кодер записывает их в сжатый файл одним из двух способов: с помощью отбора спектра или методом последовательных приближений (рис. 3.49c,d). В обоих случаях первый скан состоит из коэффициентов DC.

Page 109: Лекция 3
Page 110: Лекция 3

Если делается отбор спектра, то каждый следующий скан состоит из нескольких последовательных коэффициентов (полосы) АС. При выборе метода последовательных приближений, второй скан состоит из 4 самых значимых битов всех коэффициентов АС, а каждый следующий скан, имеющий номер от 3 до 6, добавляет по одному значащему биту (от третьего до нулевого).

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

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

Мода без потери данных в JPEG вычисляет «прогнозируемые» значения всех пикселов, берет разность между пикселом и его «прогнозом» для относительного кодирования. Кодирование производится как в шаге 5 методом Хаффмана или с помощью арифметического кодирования. Прогнозируемые величины вычисляются с использованием значений пикселов выше и слева от текущего (тех, которые уже закодированы). Далее все шаги алгоритма будут разбираться более подробно.

Page 111: Лекция 3

СветимостьГлавной международной организацией, занимающейся проблемами света и

цвета, является Международный Комитет по Освещению (Commission Internationale de l'Eclairage, CIE). Эта организация отвечает за развитие стандартов и употребление терминов в этой области. Одним из первых достижений СТЕ явилось создание в 1931 году хроматических диаграмм. Было показано, что для правильного отображения цвета достаточно трех компонент. Выражение некоторого цвета в виде триплета (х, у, z) похоже на обозначение точки в трехмерном пространстве, которое по аналогии называется цветовым пространством. Наиболее известным цветовым пространством является пространство RGB, в котором тремя параметрами являются интенсивности красного, синего и зеленого в данном цвете. При отображении цвета на компьютере значения этих трех компонент выбираются в интервале от 0 до 255 (8 бит).

CIE дает определение цвету, как результат восприятия действия света видимого спектрального диапазона с длиной волны от 400 nm до 700 nm, попадающего на сетчатку глаза. Физическая мощность (или радиация) выражается в виде распределения мощности спектра (spectral power distribution, SPD), которое обычно состоит из 31 компоненты, причем каждая компонента представляет 10 nm видимой полосы.

CIE определяет яркость как атрибут визуального восприятия светящейся области глазом человека. Однако невозможно оценить количественно восприятие яркости мозгом человека, поэтому CIE определяет более практическую величину, которая называется светимостью.

Page 112: Лекция 3

Она равна лучистой мощности, разделенной на функцию спектральной чувствительности, которое характеризует зрение. Световая отдача для стандартного наблюдателя определяется как положительная функция длины волны, которая имеет максимум, около 555 nm. Если проинтегрировать функцию распределения мощности спектра, деленную на функцию световой отдачи, то результатом будет светимость по CIE, которая обозначается Y. Светимость является весьма важной характеристикой в области обработки изображений и их сжатия.

Светимость пропорциональна мощности источника света. Она подобна интенсивности, но спектральный состав светимости соотносится с восприятием яркости глазом человека. Основываясь на результатах многочисленных экспериментов, светимость определяется как взвешенная сумма красного, зеленого и синего с весами 77/256, 150/256 и 29/256, соответственно.

Наш глаз очень чувствителен к малым изменениям светимости, поэтому удобно иметь цветовое пространство, в котором число Y является одним из трех компонентов. Простейший способ такого построения - это вычесть компоненту Y из красной и синей компонент RGB и использовать новое цветовое пространство Y, Сb = В - Y и Cr = R — Y. Последние две компоненты называются хроматическими (от греческого chroma - цвет, краска). Они выражают цвет в терминах присутствия или отсутствия синего (Сb) и красного (Сr) при данном значении светимости.

Page 113: Лекция 3

Различные числовые интервалы используются для выражения чисел Cb = В - Y и Сr = R – Y в разных приложениях. Пространство YPbPr оптимизировано для компонентов аналогового видео, а пространство YCbCr лучше приспособлено для цифрового и студийного видео, а также для стандартов JPEG, JPEG 2000 и MPEG-1.

Цветовое пространство YCbCr было разработано как часть рекомендации ITU-R ВТ.601 (бывшая CCIR 601) при выработке всемирного стандарта для цифрового видео. Компонента Y имеет пределы от 16 до 235, а Сb и Сr изменяются от 16 до 240, причем 128 соответствует нулевым значениям. Существует также несколько форматов YCbCr для семплирования, такие как 4:4:4, 4:2:2, 4:1:1, и 4:2:0, которые также описаны в этих рекомендациях.

Связь между пространством RGB в интервале 16-235 и пространством YCbCr устанавливается в виде простых линейных соотношений. Это преобразование пространств можно записать в виде (заметьте, что синий цвет имеет малый вес)

Page 114: Лекция 3

Если перейти из пространства YCbCr в пространство RGB, то значения компонентов будут лежать в интервале 16-235 с возможным попаданием в области 0-15 и 236-255.

Page 115: Лекция 3

DCT Дискретное косинус-преобразование (DCT) уже обсуждалось нами. Комитет JPEG остановил свой выбор именно на этом преобразовании из-за его хороших свойств, а также в силу того, что в нем не делается никаких ограничений на структуру сжимаемых данных. Кроме того, имеются возможности для ускорения DCT.

Стандарт JPEG применяет DCT не ко всему изображению, а к единицам данных (блоков) размера 8x8 пикселов. Дело в том, что (1) применение DCT ко всему изображению использует большое число арифметических операций и поэтому делается медленно. Применение DCT к единицам данных вычисляется значительно быстрее. (2) Из опытов известно, что в непрерывно-тоновых изображениях корреляция пикселов сохраняется в малых областях. Пикселы такого изображения имеют величины (компоненты цвета или градацию серого), близкие значениям окрестных пикселов, но дальние соседи уже не имеют корреляции. Следовательно, применение DCT ко всему изображению не произведет лучшее сжатие.

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

Page 116: Лекция 3

Формулы DCT для JPEG совпадают с (3.9). Мы их повторяем для удобства изложения:

Преобразование DCT является основой сжатия с потерей информации в стандарте JPEG. Метод JPEG «выбрасывает» незначимую часть информации из изображения с помощью деления каждого из 64 коэффициентов DCT (особенно те, которые расположены в правой нижней части блока) на коэффициент квантования QC. В общем случае, каждый коэффициент DCT делится на особый коэффициент QC, но все 64 параметра QC могут изменяться по усмотрению пользователя.

Page 117: Лекция 3

Декодер Декодер JPEGJPEG вычисляет обратное преобразование вычисляет обратное преобразование DCTDCT ( (IDCTIDCT) с ) с помощью уравнений (3.10), которые мы здесь повторяемпомощью уравнений (3.10), которые мы здесь повторяем

Здесь используются квантованные коэффициенты Здесь используются квантованные коэффициенты DCTDCT, а в результате , а в результате получаются значения пикселов получаются значения пикселов ррхуху. . Говоря языком математики, Говоря языком математики, преобразование преобразование DCTDCT является взаимно однозначным линейным является взаимно однозначным линейным отображением 64-мерного векторного пространства изображения в отображением 64-мерного векторного пространства изображения в пространство частот той же размерности. пространство частот той же размерности. IDCTIDCT является обратным является обратным отображением. Если были бы возможны вычисления с абсолютной отображением. Если были бы возможны вычисления с абсолютной точностью, то после применения точностью, то после применения DCTDCT и и IDCTIDCT (без квантования) результат (без квантования) результат совпал бы с исходным блоком. На практике, конечно, используется совпал бы с исходным блоком. На практике, конечно, используется квантование, но если его делать аккуратно, то результатом этих квантование, но если его делать аккуратно, то результатом этих преобразований будет блок, который очень близок исходному блоку преобразований будет блок, который очень близок исходному блоку изображения.изображения.

Page 118: Лекция 3

Практическое DCTУравнения (3.9) легко переводятся на любой язык программирования высокого

уровня. Однако, имеется несколько возможностей для существенного ускорения вычисления этих величин. Эти формулы лежат в самом «сердце» метода JPEG, поэтому ускорение вычислений просто необходимо. Опишем несколько полезных приемов. 1. Независимо от размера изображения, используется только 32 значения функции косинус (см. следующий абзац). Их можно один раз вычислить и использовать много раз в операциях над единицами данных 8x8. Тогда вычисление выражения

будет состоять всего из двух операций умножения. Двойная сумма (3.9) потребует 64 х 2 = 128 умножений и 63 сложений.

(Аргументы функции косинус, используемые в DCT, имеют вид (2х + 1)iPi/16, где х и i - целые числа в интервале [0, 7]. Их можно записать в виде Pin/16, где n - целое из интервала [0,15 х 7]. Поскольку косинус-функция периодическая, для нее cos(32Pi/16) = cos(0Pi/16), cos(33Pi/16) = cos(1Pi/16), и так далее. В результате потребуется только 32 значения cos(nPi/16) при n = 0,1,..., 31.

Page 119: Лекция 3

2. Анализ двойной суммы (3.9) позволяет переписать ее в виде произведения матриц СРСТ, где Р - исходная 8x8 матрица пикселов, а матрица С определяется формулами

а СТ - транспонированная матрица С. В итоге, вычисление одного элемента матрицы CP требует восьми

умножений и семи (ну пусть тоже восьми, для простоты) сложений. Умножение двух матриц С и Р состоит из 64 х 8 = 83 умножений и столько же сложений. Умножение CP на СТ потребует того же числа операций, значит одно DCT единицы данных состоит из 2 х 83 операций умножения (и сложения). Если исходное изображение состоит из n х n пикселов, причем n = 8q, где q - число единиц данных, то для вычисления DCT всех этих единиц понадобиться 2q283 умножений (и столько же сложений). Для сравнения, вычисление одного DCT всего изображения потребует 2n3 = 2q383 = (2q283)q операций. С помощью разделения изображения на единицы данных мы сократили общее число умножений (и сложений) в q раз. К сожалению, число q не может быть слишком большим, поскольку это уменьшает размер единицы данных.

Page 120: Лекция 3

Напомним, что цветное изображение состоит из трех компонент (обычно это RGB, которое преобразуется в YCbCr или в YPbPr). Каждая компонента преобразуется отдельно, что дает общее число операций равное 3 • 2q283 = 3072q2. Для изображения с разрешением 512 х 512 пикселов потребуется сделать 3072 х 642 = 12 582 912 умножений (и сложений).

3. Другой путь ускорения DCT состоит в выполнении арифметических вычислений над числами, представленными в форме с фиксированной точкой, а не в форме с плавающей точкой. Для многих компьютеров операции над числами с фиксированной точкой делаются существенно быстрее операций с плавающей точкой (некоторые высоко производительные компьютеры, вроде CDC 6400, CDC 7600 и различные системы CRAY являются заметными исключениями).

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

Page 121: Лекция 3

КвантованиеПосле вычисления всех коэффициентов DCT их необходимо проквантовать. На

этом шаге происходит отбрасывание части информации (небольшие потери происходят и на предыдущем шаге из-за конечной точности вычислений на компьютере). Каждое число из матриц коэффициентов DCT делится на специальное число из «таблицы квантования», а результат округляется до ближайшего целого. Как уже отмечалось, необходимо иметь три такие таблицы для каждой цветовой компоненты. Стандарт JPEG допускает использование четырех таблиц, и пользователь может выбрать любую из этих таблиц для квантования компонентов цвета. Все 64 числа из таблицы квантования являются параметрами JPEG. В принципе, пользователь может поменять любой коэффициент для достижения большей степени сжатия. На практике весьма сложно экспериментировать с таким большим числом параметров, поэтому программное обеспечение JPEG использует два подхода:

1. Таблица квантования, принятая по умолчанию. Две такие таблицы, одна для компоненты светимости (и для градации серого цвета), а другая - для хроматических компонент, являются результатом продолжительного исследования со множеством экспериментов, проделанных комитетом JPEG. Они являются частью стандарта JPEG и воспроизведены в табл. 3.50. Видно, как коэффициенты QC таблиц растут при движении из левого верхнего угла в правый нижний угол. В этом отражается сокращение коэффициентов DCT, соответствующих высоким пространственным частотам.

2. Вычисляется простая таблица коэффициентов квантования, зависящая от параметра R, который задается пользователем. Простые выражения типа Qij = 1 + (i + j) х R гарантируют убывание коэффициентов из левого верхнего утла в правый нижний.

Page 122: Лекция 3
Page 123: Лекция 3

Если квантование сделано правильно, то в блоке коэффициентов DCT останется всего несколько ненулевых коэффициентов, которые будут сконцентрированы в левом верхнем углу матрицы. Эти числа являются выходом алгоритма JPEG, но их следует еще сжать перед записью в выходной файл. В литературе по JPEG это сжатие называется «энтропийным кодированием». Три технических приема используется при энтропийном кодировании для сжатия целочисленных матриц 8x8.

1. 64 числа выстраиваются одно за другим как при сканировании зигзагом. В начале стоят ненулевые числа, за которыми обычно следует длинный хвост из одних нулей. В файл выводятся только ненулевые числа (после надлежащего кодирования) за которыми следует специальный код ЕОВ (end-of-block, конец блока). Нет необходимости записывать весь хвост нулей (можно также сказать, что ЕОВ кодирует длинную серию нулей).

Пример: В табл. 3.51 приведен список гипотетических коэффициентов DCT, из которых только 4 не равны нулю. При зигзагообразном упорядочении этих чисел получается последовательность

Page 124: Лекция 3

А как написать подпрограмму для считывания элементов матрицы по зигзагу? Простейший способ состоит в ручном прослеживании этого пути и в записи результата в массив структур zz, в котором каждая структура состоит из пары координат клеток, через которые проходит зигзагообразный путь (см. рис. 3.52).

Если компоненты структуры zz обозначить zz.r и zz.с, то путь по зигзагу можно совершить с помощью следующего цикла

2. Ненулевые коэффициенты преобразования сжимаются по методу Хаффмана.

3. Первое из этих чисел (коэффициент DC) обрабатывается отдельно от других чисел (коэффициентов АС).

Page 125: Лекция 3

КодированиеПрежде всего обсудим пункт 3 из конца предыдущего параграфа.

Каждая матрица 8x8 квантованных коэффициентов DCT содержит коэффициент DC [в позиции (0,0) в левом верхнем углу], а также 63 коэффициента АС. Коэффициент DC равен среднему значению всех 64 пикселов исходной единицы. Наблюдения показывают, что при сжатии непрерывно-тоновых изображений, коэффициенты DC соседних единиц обычно являются коррелированными. Известно, что этот коэффициент равен сумме всех пикселов блока с некоторым общим множителем. Все это указывает на то, что коэффициенты DC близких блоков не должны сильно различаться. Поэтому JPEG записывает первый (закодированный) коэффициент DC, а затем кодирует разности коэффициентов DC последовательных блоков.

Пример: Если первые три единицы данных размера 8x8 имеют квантованные коэффициенты DC равные 1118, 1114 и 1119, то JPEG записывает для первого блока число 1118 (закодированное по Хаффману, см. далее), за которым следует 63 закодированных коэффициента АС. Для второго блока на выходе будет стоять число 1114 — 1118 = - 4 (также кодированное по Хаффману) впереди 63 (кодированных) коэффициента АС этого блока. Третьему блоку будет соответствовать кодированная запись 1119 — 1114 = 5 и следующие 63 коэффициента АС. Этот путь также позволяет меньше беспокоиться о проблемах, связанных с переполнением, так как разности обычно малы.

Page 126: Лекция 3

Кодирование разностей коэффициентов DC совершается с помощью табл. 3.53. В этой таблице записаны так называемые унарные коды, которые определяются следующим образом. Унарный код неотрицательного целого числа n состоит из строки в n единиц, за которыми следует один 0 или, наоборот, n нулей и одна 1. Длина унарного кода целого числа n равна n + 1 бит.

Каждая строка табл. 3.53 начинается с ее номера (слева); в конце стоит унарный код строки, а между ними располагаются некоторые числа. В каждой следующей строке записано больше чисел, чем в предыдущей, но они отличаются от чисел всех предыдущих строк. В строке i находятся числа из интервала [-(2i-1), +(2i - 1)], за вычетом чисел интервала [-(2i-1 - 1), +(2i-1 - 1)]. Длина строк растет очень быстро, поэтому такие данные не удобно представлять в виде простого двумерного массива. На самом деле, для их хранения не нужна никакая структура данных, поскольку подходящая программа легко определит позицию числа х в таблице, анализируя биты этого числа.

Page 127: Лекция 3

Первый коэффициент DC из нашего примера, который следует закодировать, равен 1118. Он находится в строке 11 и столбце 930 таблицы (столбцы занумерованы, начиная с нулевого). Тогда оно кодируется последовательностью 111111111110| 01110100010 (унарный код строки 11, за которым следует двоичное представление числа 930 из 11 бит). Вторая разность коэффициентов DC, число -4, расположена в строке 3 и столбце 3; она кодируется в виде 1110|011 (унарный код строки 3 и число 3 в виде 3 бит). Третья разность 5 расположена в строке 3, столбец 5, поэтому ее кодом служит 1110| 101.

Разберемся теперь с пунктом 2 предыдущего параграфа, когда надо кодировать 63 коэффициента АС. Это сжатие использует кодирование RLE в сочетании с методом Хаффмана или с арифметическим кодированием. Идея заключается в том, что в последовательности коэффициентов АС, как правило, имеется всего несколько ненулевых элементов, между которыми стоят серии нулей. Для каждого ненулевого числа х (1) кодер определяет число Z предшествующих ему нулей; (2) затем он находит число х в табл. 3.53 и готовит номер строки и столбца (R и С); (3) пара (R,Z) (не (R,C)!) используется для нахождения соответствующего числа по строке и столбцу в табл. 3.54; (4) наконец, полученный из этой таблицы код Хаффмана присоединяется к С (где С записывается в виде R-битного числа); результатом этих действий служит код, выдаваемый на выход кодером JPEG для этого АС коэффициента х и всех предыдущих нулей.

Page 128: Лекция 3

В табл. 3.54 приведен некоторый произвольный код Хаффмана, не тот, который предлагается комитетом JPEG. А стандарт JPEG рекомендует использовать для этих целей коды из табл. 3.55 и 3.56. При этом разрешается использовать до четырех таблиц Хаффмана, за исключением моды базелины, когда можно использовать только две таблицы. Слушатель обнаружит код ЕОВ в позиции (0,0) и код ZRL в позиции (0,15). Код ЕОВ означает конец блока, а код ZRL замещает 15 последовательных нулей, когда их число превышает 15. Эти коды рекомендованы для компонентов светимости (табл. 3.55). Коды ЕОВ и ZRL, рекомендованные для коэффициентов АС хроматических компонентов из табл. 3.56 равны 00 и 1111111010, соответственно.

Page 129: Лекция 3

Первый АС коэффициент х = 2 не имеет перед собой нулей, то есть, для него Z = 0. Он находится в табл. 3.53 в строке 2 и столбце 2, поэтому, для него R = 2, С = 2. Код Хаффмана из табл. 3.54 в позиции (R, Z) = (2,0) равен 01. Значит, окончательный код для х = 2 будет 01|10. Следующий ненулевой коэффициент -2 имеет один предшествующий нуль, то есть, для него Z = 1. Он стоит в табл. 3.53 в строке 2 и столбце 1, тогда R = 2, С = 1. Код Хаффмана из табл. 3.54 в позиции (R, Z) = (2,1) равен 11011. В итоге кодом числа -2 будет служить последовательность 11011101. Последний ненулевой коэффициент АС равен -1, ему предшествует 13 нулей, и Z = 13. Сам коэффициент расположен в табл. 3.53 в строке 1 и столбце 0, то есть, R = 1,С = 0. Пусть в табл. 3.54 в позиции (R, Z) = (1,13) находится код 1110101. Тогда кодом для -1 будет 1110101|0.

Page 130: Лекция 3
Page 131: Лекция 3

Наконец, хвост из последних нулей кодируется как 1010 (ЕОВ, конец блока). Значит, выходом для всех коэффициентов АС будет последовательность 01101101110111010101010. Мы ранее установили, что кодом коэффициентом DC станет двоичная последовательность 111111111110|1110100010. Итак, окончательным кодом всего 64-пиксельного блока данных будет 46-битовое число

111111111110111010001001101101101111010101010.

Эти 46 бит кодируют одну цветную компоненту единицы данных. Предположим, что две остальные компоненты будут также закодированы 46-битовыми числами. Если каждый пиксел исходно состоял из 24 бит, то получим фактор сжатия равный 64x24/(46x3) = 11.13; очень неплохой результат!

Page 132: Лекция 3
Page 133: Лекция 3

Мода без потери данныхВ этой моде метод JPEG использует комбинации разностей

пикселов для уменьшения их значений перед тем, как они будут сжаты. Эти разности называются прогнозами. Величины некоторых близких пикселов вычитаются из данного пиксела для получения малого числа, которое будет сжиматься по методу Хаффмана или с помощью арифметического кодирования. На рис. 3.57а показан некоторый пиксел X и три соседних пиксела А, В и С. На рис. 3.57b даны восемь возможных линейных комбинаций (прогнозов) пиксела и его соседей. В моде без потерь пользователь может самостоятельно выбрать подходящий прогноз, а декодер вычтет эту комбинацию из пиксела X. Результатом, как правило, является малое число, для которого будет производиться энтропийное кодирование.

Page 134: Лекция 3

Прогноз 0 используется только в иерархической моде JPEG. Прогнозы 1, 2 и 3 называются «одномерными», а прогнозы 4, 5, 6 и 7 -«двумерными».

Следует отметить, что мода без потерь не может быть очень эффективной. Ее фактор сжатия обычно находится около 2, и в этом он значительно проигрывает другим методам сжатия изображений без потерь. По этой причине, многие популярные приложения, в которые встроен JPEG, не предусматривают возможность этой моды. Даже базелинная мода JPEG, если в ней задать в виде параметра минимальную потерю информации, работает недостаточно эффективно. В результате основные приложения не позволяют устанавливать этот параметр в минимальное значение. Достоинство метода JPEG прежде всего заключается в произведении сильно сжатых изображений, которые практически невозможно отличить от оригинала. Поняв это, ISO решило выпустить другой стандарт для сжатия без потерь непрерывно-тоновых изображений. Это хорошо известный метод JPEG-LS.

Page 135: Лекция 3

JPEG создает сжатый файл, в котором находятся все параметры, маркеры и, конечно, сжатые единицы данных изображения. Параметры состоят из слов длины 4 бита (объединяемых в пары), из одного байта или из двух байт. Маркеры необходимы для разделения файла на части. Маркеры имеют длину 2 байта. Первый байт равен 'FF'X, а второй - не ноль и не 'FF'X. Перед маркером может стоять несколько байтов с 'FF'X.

В табл. 3.59 перечислены все маркеры JPEG (первые четыре группы состоят из маркеров начала кадра). Сжатые единицы данных комбинируются в минимальные единицы данных (MCU, minimal data unit), где MCU состоит или из одной единицы (мода без чередования) или из трех единиц данных всех цветных компонент (мода с чередованием).

На рис. 3.58 показаны все основные части выходного файла, сжатого по методу JPEG (части, заключенные в квадратные скобки, могут отсутствовать). Файл начинается с маркера SOI и кончается маркером EOI. Между этими маркерами сжатый образ делится на кадры. В иерархической моде может быть несколько кадров, а во всех других модах имеется только один кадр. В каждом кадре информация об изображении хранится в одном или нескольких сканах; у кадра также имеется заголовок, перед которым могут находиться таблицы (которые, в свою очередь, могут иметь маркеры). За первым сканом может следовать сегмент DNL (define number of lines, определение числа строк), который начинается маркером DNL. В нем записано число строк сжатого образа, содержащегося в кадре. Скан начинается с таблицы (которая может отсутствовать), за которой идет заголовок скана, после которого размещается несколько сегментов энтропийного кода (ECS, entropy-coded segment), которые разделяются маркерами рестарта RST (restart). Каждый ECS состоит из одного или нескольких MCU, где MCU - это или одна единица данных, или три такие единицы.

Page 136: Лекция 3
Page 137: Лекция 3

Алгоритм Хаффмана — адаптивный жадный алгоритм оптимального префиксного кодирования алфавита с минимальной избыточностью. Был разработан в 1952 году аспирантом Массачусетского технологического института Дэвидом Хаффманом при написании им курсовой работы. В настоящее время используется во многих программах сжатия данных.

В отличие от алгоритма Шеннона — Фано, алгоритм Хаффмана остаётся всегда оптимальным и для вторичных алфавитов m2 с более чем двумя символами.

Этот метод кодирования состоит из двух основных этапов:• Построение оптимального кодового дерева.• Построение отображения код-символ на основе

построенного дерева.

Page 138: Лекция 3

Один из первых алгоритмов эффективного кодирования информации был предложен Д. А. Хаффманом в 1952 году. Идея алгоритма состоит в следующем: зная вероятности вхождения символов в сообщение, можно описать процедуру построения кодов переменной длины, состоящих из целого количества битов. Символам с большей вероятностью присваиваются более короткие коды. Коды Хаффмана имеют уникальный префикс, что и позволяет однозначно их декодировать, несмотря на их переменную длину.

Классический алгоритм Хаффмана на входе получает таблицу частот встречаемости символов в сообщении. Далее на основании этой таблицы строится дерево кодирования Хаффмана (Н-дерево). Алгоритм построения Н-дерева прост и элегантен.

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

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

списка.Одной дуге, выходящей из родителя, ставится в соответствие бит 1, другой — бит 0.Шаги, начиная со второго, повторяются до тех пор, пока в списке свободных узлов не

останется только один свободный узел. Он и будет считаться корнем дерева.Допустим, у нас есть следующая таблица частот:

Page 139: Лекция 3

Этот процесс можно представить как построение дерева, корень которого — символ с суммой вероятностей объединенных символов, получившийся при объединении символов из последнего шага, его n0 потомков — символы из предыдущего шага и т. д.

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

Для данной таблицы символов коды Хаффмана будут выглядеть следующим образом.

Page 140: Лекция 3

Поскольку ни один из полученных кодов не является префиксом другого, они могут быть однозначно декодированы при чтений их из потока. Кроме того, наиболее частый символ сообщения А закодирован наименьшим количеством битов, а наиболее редкий символ Д — наибольшим.

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

Page 141: Лекция 3

Адаптивное сжатие позволяет не передавать модель сообщения вместе с ним самим и ограничиться одним проходом по сообщению как при кодировании, так и при декодировании. В создании алгоритма адаптивного кодирования Хаффмана наибольшие сложности возникают при разработке процедуры ОбновитьМодельСимволом(); можно было бы просто вставить внутрь этой процедуры полное построение дерева кодирования Хаффмана. В результате мы получили бы самый медленный в мире алгоритм сжатия, так как построение Н-дерева — это слишком большая работа и производить её при обработке каждого символа неразумно. К счастью, существует способ модифицировать уже существующее Н-дерево так, чтобы отобразить обработку нового символа.

Обновление дерева при считывании очередного символа сообщения состоит из двух операций. Первая — увеличение веса узлов дерева. Вначале увеличиваем вес листа, соответствующего считанному символу, на единицу. Затем увеличиваем вес родителя, чтобы привести его в соответствие с новыми значениями веса у детей. Этот процесс продолжается до тех пор, пока мы не доберемся до корня дерева. Среднее число операций увеличения веса равно среднему количеству битов, необходимых для того, чтобы закодировать символ.

Вторая операция — перестановка узлов дерева — требуется тогда, когда увеличение веса узла приводит к нарушению свойства упорядоченности, то есть тогда, когда увеличенный вес узла стал больше, чем вес следующего по порядку узла. Если и дальше продолжать обрабатывать увеличение веса, двигаясь к корню дерева, то наше дерево перестанет быть деревом Хаффмана.

Чтобы сохранить упорядоченность дерева кодирования, алгоритм работает следующим образом. Пусть новый увеличенный вес узла равен W+1. Тогда начинаем двигаться по списку в сторону увеличения веса, пока не найдем последний узел с весом W. Переставим текущий и найденный узлы между собой в списке, восстанавливая таким образом порядок в дереве. (При этом родители каждого из узлов тоже изменятся.) На этом операция перестановки заканчивается.

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

Page 142: Лекция 3

ПереполнениеВ процессе работы алгоритма сжатия вес узлов в дереве кодирования

Хаффмана неуклонно растет. Первая проблема возникает тогда, когда вес корня дерева начинает превосходить вместимость ячейки, в которой он хранится. Как правило, это 16-битовое значение и, следовательно, не может быть больше, чем 65535. Вторая проблема, заслуживающая ещё большего внимания, может возникнуть значительно раньше, когда размер самого длинного кода Хаффмана превосходит вместимость ячейки, которая используется для того, чтобы передать его в выходной поток. Декодеру все равно, какой длины код он декодирует, поскольку он движется сверху вниз по дереву кодирования, выбирая из входного потока по одному биту. Кодер же должен начинать от листа дерева и двигаться вверх к корню, собирая биты, которые нужно передать. Обычно это происходит с переменной типа «целое», и, когда длина кода Хаффмана превосходит размер типа «целое» в битах, наступает переполнение.

Можно доказать, что максимальную длину код Хаффмана для сообщений с одним и тем же входным алфавитом будет иметь, если частоты символов образует последовательность Фибоначчи. Сообщение с частотами символов, равными числам Фибоначчи до Fib (18), — это отличный способ протестировать работу программы сжатия по Хаффману.

Page 143: Лекция 3

Масштабирование весов узлов дерева ХаффманаПринимая во внимание сказанное выше, алгоритм обновления

дерева Хаффмана должен быть изменен следующим образом: при увеличении веса нужно проверять его на достижение допустимого максимума. Если мы достигли максимума, то необходимо «масштабировать» вес, обычно разделив вес листьев на целое число, например, 2, а потом пересчитав вес всех остальных узлов.

Однако при делении веса пополам возникает проблема, связанная с тем, что после выполнения этой операции дерево может изменить свою форму. Объясняется это тем, что мы делим целые числа и при делении отбрасываем дробную часть.

Правильно организованное дерево Хаффмана после масштабирования может иметь форму, значительно отличающуюся от исходной. Это происходит потому, что масштабирование приводит к потере точности нашей статистики. Но со сбором новой статистики последствия этих «ошибок» практически сходят на нет. Масштабирование веса — довольно дорогостоящая операция, так как она приводит к необходимости заново строить все дерево кодирования. Но, так как необходимость в ней возникает относительно редко, то с этим можно смириться.

Page 144: Лекция 3

Выигрыш от масштабированияМасштабирование веса узлов дерева через определенные

интервалы дает неожиданный результат. Несмотря на то, что при масштабировании происходит потеря точности статистики, тесты показывают, что оно приводит к лучшим показателям сжатия, чем если бы масштабирование откладывалось. Это можно объяснить тем, что текущие символы сжимаемого потока больше «похожи» на своих близких предшественников, чем на тех, которые встречались намного раньше. Масштабирование приводит к уменьшению влияния «давних» символов на статистику и к увеличению влияния на неё «недавних» символов. Это очень сложно измерить количественно, но, в принципе, масштабирование оказывает положительное влияние на степень сжатия информации. Эксперименты с масштабированием в различных точках процесса сжатия показывают, что степень сжатия сильно зависит от момента масштабирования веса, но не существует правила выбора оптимального момента масштабирования для программы, ориентированной на сжатие любых типов информации.