02-Изображения-1

Preview:

Citation preview

Часть 0Часть 022. Изображения. ИзображенияЧасть 0Часть 022. Изображения. Изображения

2.1.2.1.ЦЦветовые пространства(ветовые пространства(ссистемы цвето-истемы цвето-представлений)представлений)

2.2.2.2.Типы изображенийТипы изображений

2.2.33..Типы приложенийТипы приложений

2.2.44.. Требования приложений к алгоритмам Требования приложений к алгоритмам компрессиикомпрессии

2.2.55..ММетоды обхода плоскостиетоды обхода плоскости

2.2.66..ССжатие без потерьжатие без потерь

2.2.77..ССжатие с потерямижатие с потерями

2.1.2.1.ЦЦветовые пространства(ветовые пространства(ссистемы цвето-истемы цвето-представлений)представлений)

2.2.2.2.Типы изображенийТипы изображений

2.2.33..Типы приложенийТипы приложений

2.2.44.. Требования приложений к алгоритмам Требования приложений к алгоритмам компрессиикомпрессии

2.2.55..ММетоды обхода плоскостиетоды обхода плоскости

2.2.66..ССжатие без потерьжатие без потерь

2.2.77..ССжатие с потерямижатие с потерями

1.1. Цветовые пространства(системы Цветовые пространства(системы цвето-представлений)цвето-представлений)1.1. Цветовые пространства(системы Цветовые пространства(системы цвето-представлений)цвето-представлений)

Все изображения можно подразделить на две группы с палитрой и без нее. У изображений с палитрой в пикселе (pixel - picture element) хранится число - индекс в некотором одномерном векторе цветов называемом палитрой. Чаще всего встречаются палитры 16 и 256 цветов.

1.1 RGB (Red, Green, Blue)

1.1. Цветовые пространства(системы Цветовые пространства(системы цвето-представлений)цвето-представлений)1.1. Цветовые пространства(системы Цветовые пространства(системы цвето-представлений)цвето-представлений)

RGB32(RGBA) – Красный-8 бит, Зеленый-8 бит, Синии-8 бит, Альфа – 8 бит

RGB24 – Красный-8 бит, Зеленый-8 бит, Синии-8 бит

RGB16(565 или 555) – Красный-5 бит, Зеленый-6 или 5 бит, Синии-5 бит

1.1 RGB (Red, Green, Blue)1.1 RGB (Red, Green, Blue)1.1 RGB (Red, Green, Blue)1.1 RGB (Red, Green, Blue)

1.1 RGB (Red, Green, Blue)1.1 RGB (Red, Green, Blue)1.1 RGB (Red, Green, Blue)1.1 RGB (Red, Green, Blue)

Поскольку сложение- это основная операция синтеза цветов, то модель RGB иногда называют аддитивной (от латинского additivus, что значит прибавляемый).

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

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

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

Еще одним недостатком модели следует считать аппаратную зависимость.

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

Еще один недостаток этой цветовой модели - она является неинтуитивной. Оперируя в ее среде, бывает трудно ответить на самые простые вопросы, относящиеся к цветовому синтезу. Например, как следует изменить цветовые координаты, чтобы сделать текущий цвет немного ярче или уменьшить его насыщенность?

1.2 HSB (Hue, Saturation, Brightness). HSV (Hue, Saturation, Value).Оттенок, насыщенность, яркость.

1.1. Цветовые пространства(системы Цветовые пространства(системы цвето-представлений)цвето-представлений)1.1. Цветовые пространства(системы Цветовые пространства(системы цвето-представлений)цвето-представлений)

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

Насыщенность описывает чистоту цвета. Один и тот же тон может быть тусклым или насыщенным. Изменение насыщенности можно представить как разбавление чистого хроматического цвета белым или серым.

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

1.2 HSB (Hue, Saturation, Brightness). 1.2 HSB (Hue, Saturation, Brightness). HSV (Hue, Saturation, Value)HSV (Hue, Saturation, Value)1.2 HSB (Hue, Saturation, Brightness). 1.2 HSB (Hue, Saturation, Brightness). HSV (Hue, Saturation, Value)HSV (Hue, Saturation, Value)

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

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

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

1.2 HSB (Hue, Saturation, Brightness). 1.2 HSB (Hue, Saturation, Brightness). HSV (Hue, Saturation, Value)HSV (Hue, Saturation, Value)1.2 HSB (Hue, Saturation, Brightness). 1.2 HSB (Hue, Saturation, Brightness). HSV (Hue, Saturation, Value)HSV (Hue, Saturation, Value)

If MAX = MIN (i.e. S = 0), then H is undefined.

If MAX = 0 (i.e. if V = 0), then S is undefined.

                         .

Для цилиндра: Для конуса:

1.2 RGB → HSV

Исходные данные: значения (R,G,B) от 0 до 1

Результат: значения (Н,S,V) 0 ≤ (H mod 360) ≤ 360 , 0 ≤ S ≤ 1 , 0 ≤ V ≤ 1

1.3 CMYK (Cyan, Magenta, Yellow, blacK – Голубой, Пурпурный, Желтый, Черный).

1.1. Цветовые пространства(системы Цветовые пространства(системы цвето-представлений)цвето-представлений)1.1. Цветовые пространства(системы Цветовые пространства(системы цвето-представлений)цвето-представлений)

1.3 CMYK (Cyan, Magenta, Yellow, blacK )1.3 CMYK (Cyan, Magenta, Yellow, blacK )1.3 CMYK (Cyan, Magenta, Yellow, blacK )1.3 CMYK (Cyan, Magenta, Yellow, blacK )

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

1.3 CMYK (Cyan, Magenta, Yellow, blacK )1.3 CMYK (Cyan, Magenta, Yellow, blacK )1.3 CMYK (Cyan, Magenta, Yellow, blacK )1.3 CMYK (Cyan, Magenta, Yellow, blacK )

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

Система CMY с дополнительной черной составляющей (добавляемой для качества черного цвета) называется CMYK. Черный цвет (Black) представлен в названии последней буквой для того, чтобы не путать его в сокращениях и аббревиатурах с синим (Blue). Эта система служит теоретической основой цифровой печати. Цветовые координаты рассматриваются как красители, которые наносятся на поверхность бумаги, поэтому интенсивность каждой координаты измеряется в процентах от 0 (отсутствие краски) до 100 (максимальная плотность краски).

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

1.3 RGB → CMYK

1.3 CMYK (Cyan, Magenta, Yellow, blacK )1.3 CMYK (Cyan, Magenta, Yellow, blacK )1.3 CMYK (Cyan, Magenta, Yellow, blacK )1.3 CMYK (Cyan, Magenta, Yellow, blacK )

1.4 YIQ (Y – luminance, I - intermodulation (In-phase), Q - quadrature ).

1.1. Цветовые пространства(системы Цветовые пространства(системы цвето-представлений)цвето-представлений)1.1. Цветовые пространства(системы Цветовые пространства(системы цвето-представлений)цвето-представлений)

Y – luminance, luminosity, luma - яркость

I – оранжево-голубая ось

Q –зелено-фиолетовая ось Chrominance,Chroma - цветность

1.4 YIQ (Y – luminance, I - 1.4 YIQ (Y – luminance, I - intermodulation (In-phase), Q - intermodulation (In-phase), Q - quadrature ).quadrature ).

1.4 YIQ (Y – luminance, I - 1.4 YIQ (Y – luminance, I - intermodulation (In-phase), Q - intermodulation (In-phase), Q - quadrature ).quadrature ).

1.4 YIQ (Y – luminance, I - 1.4 YIQ (Y – luminance, I - intermodulation (In-phase), Q - intermodulation (In-phase), Q - quadrature ).quadrature ).

1.4 YIQ (Y – luminance, I - 1.4 YIQ (Y – luminance, I - intermodulation (In-phase), Q - intermodulation (In-phase), Q - quadrature ).quadrature ).

YIQ используется в системе телевидения NTSC. Разделение на канал яркости и цвета было необходимо для обратной совместимости с черно-белыми теле-приемниками.

YIQ и RGB

Y= 0.299*R + 0.587*G + 0.114*BI = 0.596*R – 0.275*G – 0.321*BQ= 0.212*R – 0.523*G + 0.311*B

R = Y + 0.956*I + 0.621*QG = Y – 0.272*I – 0.647*QB = Y – 1.107*I + 1.704*Q

1.5 YCrCb (Y – luminance, Cr - Chroma-red, Cb – Chroma-Blue ).

1.1. Цветовые пространства(системы Цветовые пространства(системы цвето-представлений)цвето-представлений)1.1. Цветовые пространства(системы Цветовые пространства(системы цвето-представлений)цвето-представлений)

Y – luminance, luminosity, luma - яркость

Cr – Хроматический красный

Cb– Хроматический синий Chrominance,Chroma - цветность

1.5 YCrCb (Y – luminance, Cr - Chroma-1.5 YCrCb (Y – luminance, Cr - Chroma-red, Cb – Chroma-Blue ).red, Cb – Chroma-Blue ).1.5 YCrCb (Y – luminance, Cr - Chroma-1.5 YCrCb (Y – luminance, Cr - Chroma-red, Cb – Chroma-Blue ).red, Cb – Chroma-Blue ).

1.5 YCrCb (Y – luminance, Cr - Chroma-1.5 YCrCb (Y – luminance, Cr - Chroma-red, Cb – Chroma-Blue ).red, Cb – Chroma-Blue ).1.5 YCrCb (Y – luminance, Cr - Chroma-1.5 YCrCb (Y – luminance, Cr - Chroma-red, Cb – Chroma-Blue ).red, Cb – Chroma-Blue ).

YCrCb используется в Европейских системах телевидения PAL и SECAM. Разделение на канал яркости и цвета было необходимо для обратной совместимости с черно-белыми теле-приемниками. От YIQ отличается повернутыми на 33 градуса хроматическими координатами.

YCrCb и RGB

Y = 0.299R + 0.587G + 0.114BCr = k1(R - Y)Cb = k2(B - Y)

k1 и k2 подбираются так чтобы Cr = 0.5*R + ... Cb = 0.5*B + ...

Cr = 0.5R - 0.419G' - 0.081BCb = - 0.169R - 0.331G + 0.5B

Результат: значения (Y,Cr,Cb) 0 ≤ Y ≤ 1 , -0.5 ≤ Cr ≤ 0.5 , -0.5 ≤ Cr ≤ 0.5

1.5 YUV

1.1. Цветовые пространства(системы Цветовые пространства(системы цвето-представлений)цвето-представлений)1.1. Цветовые пространства(системы Цветовые пространства(системы цвето-представлений)цвето-представлений)

Y – luminance, luminosity, luma - яркость

V – Хроматический красный

U– Хроматический синий Chrominance,Chroma - цветность

YUV и RGB

Y = 0.299R + 0.587G + 0.114BU = 0.492(B - Y)V = 0.877 (R - Y)

U = − 0.147R − 0.289G + 0.436BV = 0.615R − 0.515G − 0.100B

R = Y + 1.140VG = Y – 0.395U – 0.581VB = Y + 2.032U

1.5 YUV1.5 YUV1.5 YUV1.5 YUV

Цветовые подвыборки – кодирование YUV (chroma subsampling )

Кодировка Поток данных Пиксели

4:4:4 Y0 U0 V0 Y1 U1 V1 Y2 U2 V2 Y3 U3 V3 [Y0 U0 V0] [Y1 U1 V1] [Y2 U2 V2] [Y3 U3 V3]

4:2:2 Y0 U0 Y1 V1 Y2 U2 Y3 V3 [Y0 U0 V1] [Y1 U0 V1] [Y2 U2 V3] [Y3 U2 V3]

4:1:1 Y0 U0 Y1 Y2 V2 Y3 [Y0 U0 V2] [Y1 U0 V2] [Y2 U0 V2] [Y3 U0 V2]

4:4:4 4:2:2 4:2:0

YUV YUV YUV YUV   YU YV YU YV   YU YV YU YV

YUV YUV YUV YUV   YU YV YU YV   Y Y Y Y

YUV YUV YUV YUV   YU YV YU YV   YU YV YU YV

YUV YUV YUV YUV   YU YV YU YV   Y Y Y Y

1.5 YUV1.5 YUV1.5 YUV1.5 YUV

Цветовые подвыборки – применение

4:4:4 – Используется как промежуточный формат при High-end сканировании и завершающей обработки (postproduction) кинофильмов

4:2:2 – используется в большинстве high-end цифровой видеотехники (студийного класса). Примеры: Digital Betacam, CCIR 601 / Serial Digital Interface

4:1:1 – «lower-end and consumer applications». Т.е. приложения потребительского класса. Примеры: NTSC DV

4:2:0 – Приложения потребительского класса. Примеры: PAL DV, DVD, MPEG 2

1.6 LAB (L*a*b).

1.1. Цветовые пространства(системы Цветовые пространства(системы цвето-представлений)цвето-представлений)1.1. Цветовые пространства(системы Цветовые пространства(системы цвето-представлений)цвето-представлений)

L – luminance, luminosity, luma - яркость

а и b хроматические составляющие

1.5 1.5 LabLab1.5 1.5 LabLabМеждународной комиссией по освещению еще в 1931 году разработана и учреждена в качестве межотраслевого стандарта цветовая модель, которая после уточнения и доработки получила название Lab (L*a*b). Эта модель разрабатывалась так, чтобы преодолеть недостатки моделей HSB, RGB и CMYK. Модель имеет широкий световой охват и не привязана ни к одному из устройств репродукции света.

Любой цвет в модели определяется значением яркости L (Lightness) и двумя хроматическими координатами - а и Ь. Хроматическая координата а принимает все значения цвета по цветовому кругу - от зеленого до красного. Координата b - от голубого до желтого.

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

22.. ТипыТипы изображенийизображений22.. ТипыТипы изображенийизображений1. Изображения с небольшим количеством цветов(4-16) и большими областями, заполненными одним цветом.Плавные переходы цветов отсутствуют. Примеры: деловаяграфика — гистограммы, диаграммы, графики и т.п.

2. Изображения с плавными переходами цветов,построенные на компьютере. Примеры: графика презентаций, эскизные модели в САПР.

3. Фотореалистичные изображения. Пример: отсканированные фотографии.

4. Фотореалистичные изображения с наложениемделовой графики. Пример: реклама.

3.3. ТипыТипы приложенийприложений3.3. ТипыТипы приложенийприложений

1. Характеризуются высокими требованиями ко времени архивации и разархивации. Пример: Издательские системы в широком смысле этого слова.

2. Характеризуется высокими требованиями к степени архивации и времени разархивации (возможна нессиметричность алгоритма по времени). Примеры: Справочники и энциклопедии на CD-ROM. Игры.

3. Характеризуется очень высокими требованиями к степени архивации. Пример: «Всемирная информационная паутина» — WWW

44.. Требования приложений к Требования приложений к алгоритмам компрессииалгоритмам компрессии44.. Требования приложений к Требования приложений к алгоритмам компрессииалгоритмам компрессии

1. Высокая степень компрессии. 2. Высокое качество изображений. Выполнение этого требования напрямую

противоречит выполнению предыдущего.3. Высокая скорость компрессии. Это требование для некоторых алгоритмов с

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

актуальное для многих приложений.5. Масштабирование изображений. Данное требование подразумевает легкость

изменения размеров изображения до размеров окна активного приложения. 6. Возможность показать огрубленное изображение (низкого разрешения),

использовав только начало файла. 7. Устойчивость к ошибкам. Данное требование означает локальность

нарушений в изображении при порче или потере фрагмента передаваемого файла.

8. Учет специфики изображения. 9. Редактируемость. Под редактируемостью понимается минимальная степень

ухудшения качества изображения при его повторном сохранении после редактирования

10. Небольшая стоимость аппаратной реализации. Эффективность программной реализации.

55.. Методы обхода плоскостиМетоды обхода плоскости55.. Методы обхода плоскостиМетоды обхода плоскости

Задача обхода плоскости возникает при обработке двухмерных данных. Цель: создание одномерного массива D из двухмерного S. Причем если предполагается последующее сжатие D, то желательно создавать его так, чтобы «разрывов» было как можно меньше.

55.1.1 ОБХОД СТРОКАМИОБХОД СТРОКАМИ55.1.1 ОБХОД СТРОКАМИОБХОД СТРОКАМИ

Самый тривиальный метод. Именно он используется в распространенных графических форматах (BMP, TGA, RAS...) для хранения элементов изображений.

55.1.1 ОБХОД СТРОКАМИОБХОД СТРОКАМИ55.1.1 ОБХОД СТРОКАМИОБХОД СТРОКАМИ

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

55.2.2 ОБХОД ПОЛОСАМИОБХОД ПОЛОСАМИ55.2.2 ОБХОД ПОЛОСАМИОБХОД ПОЛОСАМИ

Чаще всего сжатие лучше, если каждая область двухмерного массива S не рассредоточена (равномерно «размазана») по всему одномерному D, а сконцентрирована в D компактно. В случае обхода строками понятие «области» отсутствует: каждый элемент считается «областью». Пытаясь обходить плоскость квадратами размером NxN, можно прийти к идее обхода горизонтальными «полосами» шириной N:

В данном примере ширина полосы N=3. Если N=1, получаем обход строками.

55.3.3 ПОЛОСАМИ С РАЗВОРОТАМИПОЛОСАМИ С РАЗВОРОТАМИ55.3.3 ПОЛОСАМИ С РАЗВОРОТАМИПОЛОСАМИ С РАЗВОРОТАМИ

Разрывов опять нет, но теперь еще и каждая точка принадлежит области, записанной в D компактно, без разрывов: ее элементы расположены внутри одного интервала (D[i], D[i+1], D[i+f]), и элементов из других областей внутри этого интервала нет. Примеры таких областей — каждый из четырех углов размером 3x3 элемента.

1 6 7 12 13

2 5 8 11 14

3 4 9 10 15

28 27 22 21 16

29 26 23 20 17

30 25 24 19 18

55..44 ОБХОД РЕШЕТКАМИОБХОД РЕШЕТКАМИ55..44 ОБХОД РЕШЕТКАМИОБХОД РЕШЕТКАМИ

Для первой порции берем элементы из каждого N-ro столбца каждой М-ой строки. Для второй - то же, но со сдвигом на один столбец. Так же и для следующих, а затем - со сдвигом на одну, две, (М—1) строки. Например, если M=N=2, то имеем четыре порции:

1 13 2 14 3 15 4 16

25 37 26 38 27 39 28 40

5 17 6 18 7 19 8 20

29 41 30 42 31 43 32 44

9 21 10 22 11 23 12 24

33 45 34 46 35 47 36 48

То есть плоскость разбивается на прямоугольники размером MxN, задается обход плоскости прямоугольниками, а также обход внутри самих прямоугольников, и далее делается «одновременный» обход по каждому из них: сначала выбираются их первые элементы, затем вторые, третьи, и так далее, до последнего.

55..55 КОНТУРНЫЙ ОБХОДКОНТУРНЫЙ ОБХОД55..55 КОНТУРНЫЙ ОБХОДКОНТУРНЫЙ ОБХОД

Часть элементов принадлежит одной группе, часть - другой, причем контур задан:

36 элементов - из группы «1», а 12 - из группы «2».

55..55 КОНТУРНЫЙ ОБХОДКОНТУРНЫЙ ОБХОД55..55 КОНТУРНЫЙ ОБХОДКОНТУРНЫЙ ОБХОД

Очевидно, что имеет смысл отдельно оформить элементы группы «1»:

и затем точно так же остальные элементы, принадлежащие группе «2».

1 29 28 27 26 22 21 31

2 30 25 23 20 32

3 24 19 33

4 18 34

5 8 9 13 14 17 35

6 7 10 11 12 15 16 36

55..66 КОНТУРНЫЙ ОБХОД С НЕИЗВЕСТНЫМИ КОНТУРНЫЙ ОБХОД С НЕИЗВЕСТНЫМИ КОНТУРАМИКОНТУРАМИ55..66 КОНТУРНЫЙ ОБХОД С НЕИЗВЕСТНЫМИ КОНТУРНЫЙ ОБХОД С НЕИЗВЕСТНЫМИ КОНТУРАМИКОНТУРАМИ

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

Обходим плоскость «столбцами с разворотами», и, обнаруживая элемент другой группы (в элементах 9, 10, 14...), также делаем разворот на 180 градусов. Затем (шаги 45...48) обходим оставшуюся часть плоскости, содержащую (предположительно) элементы другой группы.

55..77 ЗМЕЙКА (ЗИГЗАГ-СКАНИРОВАНИЕ)ЗМЕЙКА (ЗИГЗАГ-СКАНИРОВАНИЕ)55..77 ЗМЕЙКА (ЗИГЗАГ-СКАНИРОВАНИЕ)ЗМЕЙКА (ЗИГЗАГ-СКАНИРОВАНИЕ)

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

Применяется в алгоритме JPEG для обхода квадрантов (размером 8x8 точек).

1 2 6 7 15 16

3 5 8 14 17 24

4 9 13 18 23 25

10 12 19 22 26 29

11 20 21 27 28 30

55..88 КВАДРАТНАЯ ЗМЕЙКАКВАДРАТНАЯ ЗМЕЙКА55..88 КВАДРАТНАЯ ЗМЕЙКАКВАДРАТНАЯ ЗМЕЙКА

Рекурсивный метод для квадратных областей. Если принять левый верхний элемент за первый, то для квадрата 2x2 возможны два варианта обхода без разрывов:

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

1 4

2 3

и

1 2

4 3

55..88 КВАДРАТНАЯ ЗМЕЙКАКВАДРАТНАЯ ЗМЕЙКА55..88 КВАДРАТНАЯ ЗМЕЙКАКВАДРАТНАЯ ЗМЕЙКА

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

Recommended