Рисунок 8 - Разбиение поддиапазона на кодовые блоки

advertisement
ВКР 0606700256.00.00.00
1
1.ОПИСАНИЕ ФОРМАТОВ ХРАНЕНИЯ ГРАФИЧЕСКОЙ ИНФОРМАЦИИ.
По способу представления в компьютере все графические данные можно подразделить на два больших класса:
растровые и векторные данные, которым соответствуют свои
форматы файлов для обмена этими данными.
1.1. Векторные форматы
Векторы — математическое описание объектов относительно точки начала координат. Векторное представление —
это набор геометрических примитивов. Кроме того, большинство векторных форматов могут также содержать внедренные в файл растровые объекты или ссылку на соответствующий растровый файл (технология OPI). Различные векторные форматы отличаются набором команд и способом их
кодирования. Особенности некоторых векторных форматов
приведены в таблице 1.
Таблица 1 - Некоторые векторные форматы
Название формата
WMF
Windows MetaFile
EPS Encapsulated
PostScript
Программы, которые могут открывать файлы
Большинство приложений WINDOWS
Большинство настольных издательских систем и
векторных программ, некоторые растровые программы
DXF Drawing
Все программы САПР, многие векторные редак-
Interchange
торы, некоторые настольные издательские си-
Format
стемы
CGM Computer
Большинство программ редактирования векторных
Graphics Metafile
рисунков, САПР и издательские системы
1.2. Растровые форматы
ВКР 0606700256.00.00.00
2
В файлах растровых форматов запоминаются:
- размер изображения — количество видео пикселей в
рисунке по горизонтали и вертикали
- битовая глубина — число битов, используемых для
хранения цвета одного видео пикселя
- данные, описывающие рисунок (цвет каждого видео
пикселя рисунка), а также некоторая дополнительная
информация.
В файлах растровой графики разных форматов эти
характеристики хранятся различными способами.
Поскольку размер изображения хранится в виде
отдельной записи, цвета всех видео пикселей рисунка
запоминаются как один большой блок данных.
Изображения фотографического качества, полученные с
помощью сканеров с высокой разрешающей способностью,
часто занимают несколько мегабайт. Например, если размер
изображения 1766 х 1528, а количество используемых
цветов — 16777216, то объём растрового файла составляет
около 8 Мб (информация о цвете видео пикселей в файле
занимает 1766 х 1528 х 24 / 8 / 1024 / 1024 Мб).
Решением проблемы хранения растровых изображений
является сжатие, т. е. уменьшение размера файла за счёт
изменения способа организации данных. Никому пока не
удалось даже приблизиться к созданию идеального
алгоритма сжатия. Каждый алгоритм хорошо сжимает только
данные вполне определённой структуры.
Методы сжатия делятся на две категории:
• сжатие файла с помощью программ — архиваторов;
• сжатие, алгоритм которого включён в формат файла.
В первом случае специальная программа считывает
3
ВКР 0606700256.00.00.00
исходный файл, применяет к нему некоторый сжимающий
алгоритм (архивирует) и создаёт новый файл. Выигрыш в
размере нового файла может быть значительным. Однако
этот файл не может быть использован ни одной программой
до тех пор, пока он не будет преобразован в исходное
состояние (разархивирован). Поэтому такое сжатие
применимо только для длительного хранения и пересылки
данных, но для повседневной работы оно неудобно. В
системах DOS и WINDOWS наиболее популярными программами
сжатия файлов являются ZIP, ARJ, RAR и другие.
Если же алгоритм сжатия включён в формат файла, то
соответствующие программы чтения правильно
интерпретируют сжатые данные. Таким образом, такой вид
сжатия очень удобен для постоянной работы с графическими
файлами большого размера.
Описание некоторых форматов растровых изображений и
методы сжатия, применяемые в них, приведены в таблице 2.
Таблица 2 - Некоторые форматы растровых изображений
Название
Программы, которые могут откры-
формата
вать файлы
BMP
Windows Device
Все программы WINDOWS, использу-
Independent
ющие растровую графику
Bitmap
PCX
Z - Soft
PaintBrush
Почти все графические приложения
для PC
Метод сжатия
RLE для 4- и 8битных изображений (по желанию)
RLE (всегда)
4
ВКР 0606700256.00.00.00
GIF
Почти все растровые редакторы;
Graphic
большинство издательских паке-
Interchange
тов; векторные редакторы, под-
Format
держивающие растровые объекты
TIFF
Tagged Image
File Format
TGA
TrueVision
Большинство растровых редакторов
и настольных издательских си-
LZW (по желанию)
стем; векторные редакторы, под-
и др.
держивающие растровые объекты
Программы редактирования растровой графики
Targa
PPM
IMG
Digital Research GEM Bit-
LZW (всегда)
Почти все программы, использующие растровую графику
RLE (по желанию)
-
Некоторые настольные издательские системы и редакторы изобра-
RLE (всегда)
жений WINDOWS
map
JPEG
Последние версии программ редак-
Joint Photo-
тирования растровой графики;
graphic Experts
векторные редакторы, поддержива-
Group
ющие растровые объекты
JPEG-2000
Joint Photo-
Последние версии программ редак-
graphic Experts
тирования растровой графики
Group
JPEG (можно выбрать степень
сжатия)
JPEG2000 (можно
выбрать степень
сжатия)
2. Алгоритмы сжатия
На сегодняшний день качественная, высокопроизводительная компьютерная графика является одной из важнейших
задач разработчиков программного обеспечения. Огромные
средства вкладываются в разработку эффективного оборудования для различных графических и мультимедийных систем.
В последние годы появились компьютеры способные в реаль-
ВКР 0606700256.00.00.00
5
ном времени воспроизводить сложнейшие визуальные образы,
давно превзошедшие по качеству телевизионные или полиграфические. Это способствовало появлению огромного количества программ, использующих эти возможности: компьютерные игры, видео-приложения, 3d-анимация и т.д. Но у
всех этих программ есть одна отличительная особенность:
графические данные, с которыми они работают, занимают
очень много места.
В то время уже были достаточно распространены среди
пользователей персональных компьютеров такие графические
форматы, как BMP, PCX, GIF. Но даже уменьшение объема
графической информации в два раза оказалось недостаточным для современных графических систем. В связи с этим с
конца 80х годов две крупнейшие в мире организации стандартов CCITT и ISO объединили свои усилия для выработки
единого стандарта формата графического файла, сжатого с
потерями. Новый стандарт получил свое название JPEG по
имени группы разработчиков Joint Photographic Experts
Group.
Сделаем небольшое замечание: JPEG прежде всего является методом сжатия. Его нельзя рассматривать в качестве
полноценного стандарта представления изображений. Поэтому в нем не задаются такие специфические параметры изображения, как геометрический размер пикселя, пространство
цветов или чередование битовых строк. То же можно сказать и о JPEG2000, и о JPEG-LS — это методы сжатия, а не
полноценные стандарты.
1.1. JPEG
ВКР 0606700256.00.00.00
6
Рассмотрим алгоритм работы простейшего кодера JPEG с потерями. Весь процесс состоит из следующих основных этапов:
Рисунок 1 - Шаги работы кодера JPEG

Препроцессинг — этап, на котором выполняется
предварительная обработка изображения, приводящая его к
удобному для последующего кодирования виду.

Дискретное косинусное преобразование (ДКП)
используется кодером JPEG для преобразования изображения
от его пространственного представления к спектральному.

Округление (квантование) — этап, на котором
происходит основная потеря информации за счет округления
несущественных, высокочастотных ДКП-коэффициентов.

Сжатие — кодирование полученных данных стандартными
методами (кодирование повторов, арифметическое
кодирование и т.д.)
2.1.1. Препроцессинг
Если изображение содержит более одной компоненты, то они
кодируются по отдельности. В связи с этим, на данном
этапе выполняется перевод графического изображения из
его компонентного представления в цветоразностное, яркостное представление (ICT — Irreversible Color
Transform). В связи с тем, что человеческий глаз более
ВКР 0606700256.00.00.00
7
восприимчив к яркостному сигналу, чем к цветовому, это
преобразование позволит добиться больших результатов
сжатия при меньших визуальных потерях. Далее будет рассматриваться кодирование одной отдельной компоненты.
Рисунок 2 - Пример работы ICT преобразования
Рисунок 3 - Матрица ICT преобразования
Помимо ICT преобразования, на данном этапе исходное
изображение разбивается на малые квадратные блоки и выполняется сдвиг основания значений цвета относительно
нуля для корректного пространственного представления
изображения: [0,2p - 1] -> [-2p-1, 2p-1 - 1]. Эти шаги важны для эффективной работы кодера на следующем этапе.
2.1.2. ДКП
Являясь ключевым шагом алгоритма сжатия, дискретное косинусное преобразование (далее ДКП) представляет собой
ВКР 0606700256.00.00.00
8
разновидность преобразования Фурье и, также как и последнее, имеет обратное преобразование (ОДКП). Если рассматривать изображение как совокупность пространственных
волн, где оси X и Y соответствуют ширине и высоте картинки, а по оси Z откладываются значения цвета соответствующих пикселей, то можно перейти от пространственного
представления картинки к ее спектральному представлению
и обратно. ДКП преобразует матрицу пикселей размера N x
N в матрицу частотных коэффициентов соответствующего
размера.
Рисунок 4 - Формулы ДКП
В получаемой матрице низкочастотные компоненты расположены ближе к левому верхнему углу, а более высокочастотные смещаются вправо вниз. В связи с тем, что основная часть графических образов на экране состоит из низкочастотной информации, используя полученную матрицу
можно дифференцированно отбрасывать наименее важную информацию с минимальными визуальными потерями. Таким образом ДКП позволяет выбрать информацию, которую можно
безболезненно отбросить, не внося серьезных искажений в
картинку. Трудно представить, как можно было бы выполнить эту задачу на исходном изображении.
ВКР 0606700256.00.00.00
9
Из формул (на рисунке 4) видно, что вычисление одного элемента результирующей матрицы требует O(N2) времени, поэтому почти невозможно выполнить преобразование
всей матрицы целиком. Группа разработчиков JPEG предложила оптимальный вариант решения этой проблемы: разбивать исходную матрицу на квадраты стандартного размера
8x8 и выполнять преобразование каждого из них. Использование блоков большего размера позволит улучшить качество
сжатия, но не до бесконечности, так как слишком мала вероятность того, что сильно отдаленные точки похожи друг
на друга.
Стоит отметить, что в ходе вычислений используется только 32 заранее вычисленных значения косинусов, что позволяет заметно увеличить скорость работы преобразования.
Это уже, несомненно, приводит к частичной потери информации, но ее объемы относительно несущественны.
Небольшого увеличения производительности можно добиться,
если при вычислениях использовать только целочисленную
арифметику, что, правда, является актуальным только для
старых вычислительных машин, так как в современных компьютерах стоимость операций над числами с плавающей запятой не отличается от операций над целыми. Также использование целочисленной арифметике негативно сказывается на качестве сжимаемого изображения, что делает этот
метод неприемлемым для современных компьютеров. Так как
ДКП является разновидностью преобразования Фурье, то все
методы увеличения производительности преобразования
Фурье могут быть использованы и здесь.
2.1.3. Округление
10
ВКР 0606700256.00.00.00
Следующим этапом, на котором и происходит основная потеря информации, является округление или квантование. Как
видно, ДКП не выполняет какого-либо сжатия или кодирования. Основной его задачей является преобразование исходного изображения к виду, удобному для последующих операций над ним.
Округлением называется процесс уменьшения объема информации, необходимого для хранения матрицы ДКП, с частичной потерей точности. По стандарту JPEG для этого используется матрица округления (МО). Каждому элементу исходной матрицы ДКП соответствует элемент МО. Результирующая матрица получается делением исходной матрица на МО.
При этом низкочастотным значениям в матрице ДКП соответствуют меньшие коэффициенты МО, что позволяет оставлять
более значимую, низкочастотную информацию и отбрасывать
менее важную высокочастотную. В связи с тем, что низкочастотные компоненты сосредоточены в левом верхнем углу
матрицы ДКП, значения МО растут слева направо и сверху
вниз.
3
5
7
9
11
13 15
17
5
7
9
11
13
15 17
19
7
9
11
13
15
17 19
21
9
11 13
15
17
19 21
23
11 13 15
17
19
21 23
25
13 15 17
19
21
23 25
27
15 17 19
21
23
25 27
29
11
ВКР 0606700256.00.00.00
17 19 21
23
25
27 29
31
Пример матрицы округления с фактором качества равным 2.
Результаты округления и качества восстановленного изображения напрямую зависят от выбранной матрицы округления. Стандарт JPEG позволяет использовать любую МО, однако ISO в ходе долгих экспериментальных тестирований
разработала набор матриц, позволяющих добиться оптимальных результатов.
2.1.4. Сжатие
Последний этап работы алгоритма кодирования JPEG — это
сжатие. После обработки матрицы ДКП с помощью МО, в результирующей матрице появляется большое количество нулей, особенно в высокочастотной области (правый нижний
угол).
Первым шагом значение в левом верхнем углу результирующей матрицы заменяется на относительное. Так как соседние блоки изображения похожи друг на друга, то кодирование очередного элемента (0,0) через разницу с предыдущим
будет более эффективным. Вторым шагом является непосредственно применение алгоритма кодирования повторов (LZW),
для обработки большого количества подряд идущих нулей.
Экспериментальные тестирования показали, что наилучших
результатов можно добиться, если обходить матрицу зигзагом, как показано на рисунке ниже.
ВКР 0606700256.00.00.00
12
Рисунок 5 - Порядок обхода матрицы зигзагом.
Наконец, на третьем и заключительном шаге полученный результат сжимается, как обычные данные с помощью алгоритма Хаффмана или арифметического кодирования в зависимости от реализации. Этот этап носит название «кодирование
энтропии» (в терминологии JPEG).
2.1.5. Декодирование
Так как ДКП является преобразованием Фурье, к нему существует обратное дискретное косинусное преобразование
(ОДКП). Алгоритм декодирования повторяет алгоритм кодирования в обратном порядке.
2.2. JPEG2000
Изначально новый стандарт разрабатывался как база для
будущего стандарта сжатия без потерь JPEG-LS, но позднее
был отвергнут в связи с появлением более эффективных алгоритмов. В связи с развитием технологий стандарт JPEG
ВКР 0606700256.00.00.00
13
постепенно терял свою актуальность. Разработчики
JPEG2000 надеялись создать стандарт, который исправил бы
многие ошибки уже существующих стандартов. Среди их задач были:

Устранение неэффективного сжатия в области низких
частот. Существующие алгоритмы неплохо справлялись со
сжатием среднечастотных и высокочастотных областей, но в
области низких частот они показывали плохие результаты.

Сжатие с потерями и без потерь. На момент разработки
не существовало стандарта, позволяющего сжимать с
потерями и без потерь в едином сжимающем потоке.

Обработка больших изображений. Существующие
алгоритмы не позволяли эффективно сжимать изображения
размером более 64Kx64K без разбиения на тайлы.

Единая структура алгоритма сжатия. Текущая
реализация JPEG поддерживала 44 модификации, большая
часть которых была специфичной для некоторых приложений
и не поддерживалась большей частью декодеров.

Помехоустойчивость. Во время разработки JPEG сетевые
технологии не были еще достаточно развиты, и
проектировщики JPEG не задумывались над
помехоустойчивостью при передаче изображений по
небезопасным каналам и возможностью восстановления
изображения в случае его повреждения в результате
передачи.

Компьютерно-сгенерированные изображения. Исходные
алгоритмы неплохо работали на цифровых фотографиях и
изображениях, полученных с помощью цифровой фотокамеры
или сканера, но неэффективно обрабатывали изображения,
ВКР 0606700256.00.00.00
14
созданные на компьютере, например, с помощью графических
редакторов.

Сложные документы. JPEG показывал очень плохие
результаты при обработке сложных двумерных изображений
(в частности изображений текста).
На следующей диаграмме представлены основные шаги работы
кодера JPEG2000.
Рисунок 6 - Шаги работы кодера JPEG2000
2.2.1. Препроцессинг
Рисунок 7 - Препроцессинг
ВКР 0606700256.00.00.00
15
В отличие от JPEG кодер JPEG2000 не требует разбиения
изображения на малые квадратные блоки, так как используемое в ходе работы алгоритма ДВП (дискретное вейвлетное
преобразование) работает на фрагментах любого размера. С
другой стороны иногда, в случае, если объем памяти, доступный кодеру для работы, меньше, чем объем памяти, необходимый для кодирования всего изображения, выполняется
разбиение изображения на квадратные тайлы, которые кодируются независимо друг от друга. Далее будет рассматриваться кодирование одного тайла. Остальные шаги аналогичны JPEG.
Рисунок 8 - Пример разбиения изображения на тайлы
2.2.2. ДВП
JPEG2000 использует дискретное вейвлетное преобразование
(Discrete Wavelet Transformation), для разбиения изображения на высокочастотные и низкочастотные области. ДВП
обрабатывает каждую строку и столбец исходного изображения с помощью частотного фильтра.
ВКР 0606700256.00.00.00
16
Рисунок 9 - Схема работы частотного фильтра
В связи с тем, что каждый проход с использованием частотного фильтра на выходе увеличивает объем информации
в два раза, после обработки размер изображения уменьшается в два раза. После одного этапа ДВП обрабатываемый
фрагмент делится на четыре сегмента:

LL – низкие частоты по строкам и столбцам

HL – высокие частоты по строкам и низкие по столбцам

LH – низкие частоты по строкам и высокие по столбцам

HH – высокие частоты по строкам и столбцам
По стандарту количество этапов может быть от 0 до 32.
Для обычного изображения используют от 4-х до 8-ми этапов. На каждом следующем этапе обрабатывается только
низкочастотная область (LL), так как в высокочастотных
областях обычно не содержится важной информации.
ВКР 0606700256.00.00.00
17
Рисунок 10 - Схема выполнения одного этапа ДВП
Рисунок 11 - Последовательное применение ДВП к
изображению
2.2.3. Округление
Для округления коэффициентов ДВП используется постоянный
квантователь с мертвой зоной (на рисунке 14) Для каждого
фрагмента используется постоянное значение шага округления для всех коэффициентов этого фрагмента. Формула вычисления округленных значений представлена на рисунке
12. Здесь y - исходное значение коэффициента, sign(y)
определяет знак коэффициента, а Δb - значение шага
ВКР 0606700256.00.00.00
18
округления. Мертвая зона квантователя - это интервал
диапазоном 2Δb около нуля, она дает большее количество
нулей на выходе.
Рисунок 12 - Формула округления коэффициентов
Рисунок 13 - Пример округления коэффициента
Рисунок 14 - Схема работы постоянного квантователя с
мертвой зоной
Рисунок 15 - Пример работы квантователя
2.2.4. Кодирование
Кодирование полученных округленных коэффициентов
выполняется поблочно. По стандарту JPEG2000
ВКР 0606700256.00.00.00
19
непосредственно перед кодированием фрагменты разбиваются
на достаточно малые блоки (например, размером 32x32 или
64x64) так, чтобы все блоки одного фрагмента были
одинакового размера. Разбиение на блоки выполняется для
того, чтобы осуществить более гибкую организацию сжатой
информации для повышения помехоустойчивости и так далее.
Рисунок 16 - Пример разбиения фрагментов изображения
на блоки.
В JPEG2000 каждый блок кодируется по отдельности.
Алгоритм кодирования обходит матрицу коэффициентов
округления каждого блока полосами, как показано на рисунке 17. Блоки разбиваются на блоки с номинальной высотой 4. Далее полосы сканируются сверху вниз, а колонки в
каждой полосе обходятся слева направо.
Рисунок 17 - Порядок кодирования блоков
ВКР 0606700256.00.00.00
20
В процессе кодирования коэффициенты в блоке виртуально
представляются в виде битовых плоскостей. Одну из таких
плоскостей составляют знаки коэффициентов; остальные
плоскости соответствуют различным разрядам величин коэффициентов (положение бита в плоскости соответствует положению коэффициента в блоке). Кодирование осуществляется по плоскостям: сначала кодируется плоскость, соответствующая старшему разряду коэффициентов, затем следующая
по убыванию, и т.д. Может случиться так, что N наиболее
приоритетных битовых плоскостей (НПБ-плоскостей), не будут содержать единиц. В этом случае НПБ-плоскостью становится первая по порядку плоскость, содержащая хотя бы
одну единицу. Предшествующие ей пустые плоскости опускаются при кодировании, а информация о их количестве заносится в заголовок блока.
Арифметическое кодирование основано на контекстнозависимой модели. Контекст формируется как функция от
значений битов, окружающих кодируемый бит. Каждая битовая плоскость, кроме НБП, обычно кодируется в три прохода. Во время первого кодового прохода осуществляется
распространение информации о значимости коэффициентов.
Во время кодирования каждому коэффициенту в кодируемом
блоке ставится в соответствие параметр значимость. Коэффициент называется значимым, если в уже закодированных
на дынный момент битовых плоскостях, присутствует хотя
бы один ненулевой разряд данного коэффициента.
Для каждого бита плоскости, если соответствующий коэффициент еще не является значимым, и если хоть один соседний коэффициент уже является значимым, осуществляется
кодирование факта значимости для текущего коэффициента,
ВКР 0606700256.00.00.00
21
то есть фактически осуществляется кодирование значения
данного бита текущей кодируемой плоскости. Если кодируемый бит оказался ненулевым, сразу после его обработки
кодируется соответствующий бит битовой плоскости знаков
коэффициентов (кодирование знака).
Рисунок 18 - Схема определения значимости текущего бита
Рисунок 19 - Формулы вычисления контекстно-зависимой
значимости бита.
σ(i,j) - значимость бита в ячейке с координатами
(i,j).
ВКР 0606700256.00.00.00
22
Во время второго прохода выполняется кодирование нетронутых в первом проходе битов коэффициентов, значимых
на данный момент. В отличие от предыдущего прохода, когда решение о кодировании принималось на основе информации о значимости соседних коэффициентов, во время данного прохода биты кодируются в обязательном порядке.
Во время третьего, заключительного прохода выполняется обработка тех битов, которые не были обработаны во
время первого и второго проходов. Во время этого заключительного этапа арифметическое кодирование применяется
совместно с групповым кодированием.
Существенной деталью, предусмотренной стандартом,
является возможность пропуска кодовых проходов, что является еще одним источником повышения эффективности за
счет информационных потерь (первым, наиболее явным источником является квантование). Данная возможность активно используется для осуществления контроля над скоростью генерации кода.
2.2.5. Организация данных
Важным преимуществом рассматриваемого стандарта является возможность доступа к отдельным элементам изображения без полного декодирования его представления. Обеспечивается такая возможность, во-первых, разбиением исходного изображения на непересекающиеся области (тайлы),
которые кодируются как отдельные изображения, а вовторых, представлением кода отдельного тайла в виде частей (слоев), каждая из которых является суммарным кодом
коэффициентов, соответствующих некоторой его (тайла) об-
ВКР 0606700256.00.00.00
23
ласти. Слои в свою очередь делятся на так называемые пакеты, содержащие код блоков коэффициентов на разных
уровнях декомпозиции. Для того, чтобы декодировать какую-либо область изображения, достаточно определить, каким тайлам она принадлежит, и какие слои, относящиеся к
этим тайлам, содержат код блоков коэффициентов, необходимых для восстановления требуемой области.
Рисунок 15 - Схема организации кода
Безусловно, «удобное» представление изображения не
может быть выгодным с точки зрения эффективности сжатия.
Действительно, с уменьшением размера структурных элементов (тайлов, областей тайлов, образующих слои и др.) эффективность сжатия несколько снижается. Стандарт в данном случае оставляет нам выбор: с одной стороны, мы имеем возможность получать информационные представления,
позволяющие достаточно быстро извлекать и редактировать
части изображения, с другой стороны, стандарт не препятствует созданию информационных представлений, эффективных по объему.
ВКР 0606700256.00.00.00
24
Для обеспечения помехоустойчивости и удобства доступа к информации в стандарте JPEG2000 предусмотрена система маркеров и маркерных сегментов. Маркерные сегменты
содержат в себе параметры фрагментов информации ограниченных маркерами. Данные, начинающиеся с маркера, могут
быть корректно проинтерпретированы без какой-либо дополнительной информации (это не означает возможность восстановления целого по фрагментам), что обеспечивает возможность частичного восстановления изображения, представление которого было повреждено. Введение элементов
помехоустойчивости дает зеленый свет использованию стандарта во всевозможных телекоммуникационных приложениях.
Достижение высокого качества сжатия, безусловно, было
одной из главных задач при создании стандарта, и здесь
разработчики добились явного прогресса. Стандарт
JPEG2000 превосходит по эффективности стандарт JPEG примерно в 2 раза при сжатии с потерями и на 5-20% при сжатии без потерь. Что же касается эффективности сжатия с
потерями, здесь стандарт позволяет получать результаты,
близкие к наилучшим на сегодняшний день результатам для
подобного рода методов.
2.3. Основные преимущества JPEG 2000 по сравнению с
JPEG
- Большая степень сжатия: на высоких битрейтах, где
артефакты незначительны, JPEG 2000 имеет степень сжатия
в среднем на 20 %, больше, чем JPEG. На низких битрейтах
JPEG 2000 также имеет преимущество над основными режимами JPEG. Большая степень сжатия достигается благодаря
ВКР 0606700256.00.00.00
25
использованию дискретного вейвлет-преобразования и более
сложного энтропийного кодирования.
- Масштабируемость фрагментов изображений: JPEG 2000
обеспечивает бесшовное сжатие разных компонентов изображения, с каждым компонентом хранится от 1 до 16 бит на
семпл. Благодаря разбиению на блоки можно хранить изображения разных разрешений в одном кодовом потоке.
- Произвольный доступ к кодовому потоку, также иногда называемый доступом к областям интереса: кодовый поток JPEG 2000 обеспечивает несколько механизмов для поддержки произвольного доступа, также поддерживается несколько степеней разбиения на части (области интереса).
- Гибкий формат файла: форматы файлов JP2 и JPX
обеспечивают хранение информации о цветовых пространствах, метаданных и информации для согласованного доступа в сетевых приложениях, взаимодействующих с помощью
протокола JPEG Part 9 JPIP.
3. Сравнение c ICER и PNG
3.1. Сходства с ICER
JPEG 2000 во многом сходен с форматом сжатия
изображений ICER, используемым NASA для сжатия
изображений в космических экспериментах.
ICER также основан на вейвлетах и обеспечивает:
- прогрессивное кодирование,
- сжатие без потерь (в отличие от JPEG 2000, ICER в
этом режиме использует модифицированный компрессор LOCO
(с английского Low Complexity Lossless Compression)),
ВКР 0606700256.00.00.00
26
- сжатие с потерями,
- коррекцию ошибок, позволяющую ограничить эффект
потери данных в канале связи.
ICER в целом обеспечивает сжатие, сравнимое с JPEG
2000. Функциональные возможности ICER, сходные с JPEG
2000, состоят в том, что оба компрессора:
- обеспечивают разбиение изображения на блоки для
увеличения эффективности сжатия, позволяя более эффективно использовать канал связи, оперативную память и
процессорное время;
- позволяют варьировать степень сжатия в зависимости
от размера изображения (в байтах);
- позволяют варьировать степень сжатия в зависимости
от качества (хотя ICER варьирует степень сжатия с 1%-й
погрешностью).
Отличия между ICER и JPEG 2000:
- JPEG 2000 использует арифметику с плавающей запятой, ICER — только целочисленную арифметику;
- ICER использует модифицированный LOCO-компрессор
для сжатия без потерь;
- JPEG 2000 использует несколько разных моделей сжатия без потерь, с помощью переключения вейвлеткомпрессора в режим сжатия без потерь
- ICER и JPEG 2000 используют разные цветовые пространства;
- ICER в своей нынешней форме лучше сжимает монохромные изображения, чем цветные.
ВКР 0606700256.00.00.00
27
3.2 Сравнение с PNG
Хотя формат JPEG 2000 поддерживает сжатие без потерь, он не предназначен для усовершенствования наилучшего формата сжатия без потерь.
Формат PNG (Portable Network Graphics) более эффективен для изображений, содержащих одноцветные области
(при небольшом количестве цветов — например, < 1000), и
поддерживает специальные функциональные возможности, которых нет у JPEG 2000.
Считается, что в текущей реализации стандартов применение PNG более эффективно для сжатия диаграмм, а JPEG
2000 — для сжатия фотографических изображений.
JPEG-2000
JPEG-2000 стандарт поддерживает сжатие без потерь и
с потерями однокомпонентного (например, серая шкала) и
многокомпонентного (например, цвет)
полнение к этому основному сжатию,
гие функции обеспечивают,
изображения. В дооднако, многие дру-
включая:
1) прогрессивное восстановление изображения на точность или разрешение;
2) кодирование региона интересов, при котором различные части изображения могут быть закодированы с различной точностью;
3) случайный доступ к отдельным регионам изображения
без необходимости декодировать целый кодовый поток;
4) гибкий формат файла с положения для задания прозрачности информации и последовательностей изображений;
ВКР 0606700256.00.00.00
28
5) хорошая устойчивость к ошибкам.
Благодаря их отличной производительности кодирования
и многих привлекательны черт, JPEG 2000 имеет очень
большой
потенциал базового приложения. Возможные обла-
сти применения: архивации изображений, интернет, просмотра веб-страниц, графическое представление документов, цифровая фотография, рентгенография, дистанционное
зондирование и настольные издательские системы.
Почему JPEG2000?
Работа над стандартом JPEG2000 началась с первичного
вызова вклада в марте 1997. Цель нового стандарта была
двоякой. Во-первых, это бы решило целый ряд недостатков
в существующем стандарте JPEG2000. Во-вторых, это даст
целый ряд функций, которые недоступны в стандартном формате
JPEG. В предыдущих пунктах привели ряд ключевых
задач для нового стандарта, а именно:
1) разрешить эффективное сжатие с потерями и без потерь в единой структуре кодирования;
2) обеспечивать превосходное качество изображения и
субъективно на низкой скорости передачи данных;
3) поддерживать дополнительные функции, такие как
размер и масштабируемость разрешения, кодирование региона интересов, а также более гибкий формат;
4) избегать
чрезмерной вычислительной сложности и
сложности памяти.
Несомненно, большая часть успеха оригинального JPEG
стандарта может быть связана с безгонорарной природой.
29
ВКР 0606700256.00.00.00
Структура стандарта
JPEG-2000 стандарт состоит из множества частей, перечисленных в таблице 1.
Таблица 1
Часть
Название
Цель
1
Основная система
Определяет основной (или мини-
кодирования
мальной функциональности) кодек
JPEG2000.
2
Расширения
Определяет дополнительные функциональные возможности, которые
являются полезными в некоторых
приложениях, не должны быть поддержаны всеми кодеками.
3
Движение
Определяет расширения JPEG2000
для внутрикадрового стиля сжатия
видео.
4
Проверка соответ-
Определяет процедуры, которые
ствия
будут использоваться для проверки на соответствие.
5
Справочные про-
Содержит реализации пример про-
граммы
грамм стандарта, использующиеся
для руководства для разработчиков.
6
Формат файла со-
Определяет формат файла для со-
ставного изобра-
ставных документов.
жения
8
Обеспечение
Определяет механизмы обусловлен-
JPEG2000
ного доступа, целостно-
ВКР 0606700256.00.00.00
30
сти/аутентификации и защиты прав
интеллектуальной собственности.
9
Взаимодействующие
Определяет протокол клиент-
инструменты, API
сервера для эффективного обмена
и протоколы
информации данных изображения
JPEG2000 по сети.
10
3D и данные с
Содержит расширения для работы с
плавающей точкой
3D (например, объемный) и данными с плавающей точкой/
11
Беспроводная
Обеспечивает кодирование каналов
и инструментами защиты от ошибок
для беспроводных приложений/
12
13
Основной мульти-
Определяет общий мультимедийный
медийный формат
формат файла для движения
файла ISO
JPEG2000 и MPEG4.
Кодер JPEG2000
Определяет кодер JPEG2000
начального уровня
начального уровня.
Для удобства мы будем называть кодеки стандарта,
определенные в части 1, в качестве основного кодека. Основной кодек просто основная система кодирования
JPEG2000. Часть 2 описывает расширения основных кодеков,
которые являются полезными для определенных "нишевых"
приложений, пока часть 3 описывает внутрикадрового стиля
сжатие видео. Часть 5 содержит две реализации пример
программ стандарта кодека 1 части и 4 часть содержит методологию для тестирования реализаций на соответствие
стандарту.
В данной работе мы, по большой части, огра-
ничим наше обсуждение основного кодека. Некоторые из
31
ВКР 0606700256.00.00.00
расширений, включенных в часть 2, так же будет обсуждаться кратко.
Если не указано иное, наше описание рассматривает
только основную систему.
По большей части, JPEG-2000 стандарт написан с точки
зрения декодера. То есть, декодер определяется достаточно точно множеством деталей, имеющий нормативный характер (например, необходимое для соответствия требованиям), в то время как многие части декодера менее жестко
определены. Очевидно, что разработчики должны сделать
очень четкое различие между нормативной и информативной
статьей в стандарте. Для целей нашего обсуждения, однако, мы будем только делать такие различия в случае крайней необходимости.
Кодек JPEG2000
После кратко представления JPEG-2000 стандарта, мы
теперь в состоянии приступить к изучению JPEG-2000 кодека в деталях. Кодек основан на вейвлет /поддиапазонном
методе. Кодек обрабатывает сжатие с потерями и без потерь, используя ту же структуру, основанную на преобразовании, и заимствует идеи встроенного блочного кодирования с оптимизированной транзакцией (EBCOT). В целях
содействия с потерями и без потерь кодирования эффективным способом, обратимое целое к целому
реального в реальное
и необратимое
преобразование работают. Для коди-
рования преобразованных данных, кодек использует кодирование битовой плоскости. Для статического кодирования
контекстно-ориентированный кодер двоичной арифметики ис-
ВКР 0606700256.00.00.00
32
пользуется, в частности, MQ кодер от стандарта JBIG2.
Два уровня синтаксиса используются для представления закодированных изображения: поток кода и синтаксис файла
формата. Синтаксис потока кода похож по духу, который
используется в стандарте JPEG.
Модель исходного изображения
Прежде чем рассматривать свойства кодека, важно понять модель изображения, которую он использует. С точки
зрения кодека зрения, изображение состоит из одного или
нескольких компонентов (в размере до 214), как показано
на рисунке 1а. Как показано на рисунке на рисунке 1 (б),
каждый компонент состоит из прямоугольного массива выборок.
ВКР 0606700256.00.00.00
33
Рисунок 1 – Модель исходного изображения. (а) Изображение с N компонентами. (б) Индивидуальный
компонент.
Выборочные значения для каждого компонента являются
целочисленными, и может быть со знаком или без знака с
точностью от 1 до 38 бит/выборка. Знаковость и точность
выборки данных задаются на базе каждого компонента.
Все компоненты
связаны с тем же пространством в ис-
ходном изображении, но представляют различную спектральную или вспомогательную информацию. Например, изображение RGB цвет состоит из трех компонентов с одним из компонентов, представляющих каждый из красного, зеленого и
синего цветовых плоскостей. В простейшем случае чернобелого изображения есть только один компонент, соответствующий яркости плоскости. Различные компоненты изображения не должны быть выбраны с тем же разрешением. Таким
образом, компоненты сами по себе могут иметь различные
размеры. Например, когда цветовые изображения представлены в цветовом пространстве яркости-цветности, информа-
34
ВКР 0606700256.00.00.00
ция о яркости
зачастую более точно выбрана, чем данные
о цвете.
Координатная сетка
Учитывая изображения, кодек описывает геометрию различных компонентов на основе прямоугольной сеткой,
называемой координатной сеткой. Координатная сетка имеет
общий вид, показанный на рисунке 2. Сетка имеет размер
Xsiz × Ysiz, с началом, расположенном на ее левом верхнем
углу. Область с верхним левым углом (XOsiz; YOsiz)
нижним углом (Xsiz = 1; YOsiz − 1)
и правым
называется область изобра-
жения, и соответствует данным изображения представленным. Ширина и высота координатной сетки не может превышать 232-1 единицам измерения, внушительный верхний предел размера изображения, которые могут быть обработаны
кодеком.
Все компоненты отображаются на области изображения
координатной сетки. Поскольку компоненты не должны быть
выбраны в полном разрешении координатной сетки, требуется дополнительная информация для того, чтобы установить
это отображение. Для каждого компонента укажем горизонтальной и вертикальной период дискретизации в единицах
системы координат, обозначаемые, как XRsiz и YRsiz соответственно. Эти два параметра однозначно определяют
(прямоугольную) сетку выборки, состоящую из всех точек
позиций по горизонтали и вертикали,
соответственно.
кратных XRsiz и YRsiz
35
ВКР 0606700256.00.00.00
Рисунок 2 - Координатная сетка
Все эти точки, которые попадают в область изображения, представляют собой выборку компонента. Таким образом, с точки зрения его собственной системе координат,
Xsiz
XOsiz
Ysiz
YOsiz
компонент будет иметь размер (
−
) × (YRsiz − YRsiz), и
XRsiz
XRsiz
его левая верхняя выборка будет соответствовать точке
XOsiz YOsiz
(XRsiz , YRsiz). Обратите внимание, что система координат также устанавливает
определенное выравнивание выборки из
различных компонентов относительно друг друга.
Из диаграммы, размер области изображения - (Xsiz −
XOsiz) × (Ysiz − YOsiz). Для данного изображения, множество
комбинаций параметров Xsiz, Ysiz, XOsiz и YOsiz могут быть
выбраны для получения области изображения с тем же размером. Таким образом, можно задаться вопросом, почему
параметры XOsiz и YOsiz не являются фиксированными на нуле, а параметры Xsiz и Ysiz устанавливают размер изображения. Как выяснилось, есть тонкие последствия для изменения XOsiz и YOsiz параметров (при сохранении размера обла-
36
ВКР 0606700256.00.00.00
сти изображения постоянным). Такие изменения влияют на
поведение кодеков в нескольких важных аспектах, описанных ниже. Такое поведение позволяет нескольким основным
операциям выполняться более эффективно для закодированных изображений, таким как кадрирование,
горизонталь-
ное/ вертикальное транспонирование и поворот на целое
число, кратное 90 градусам.
Фрагментация изображения
В некоторых случаях, изображение может быть достаточно большим по сравнению с объемом памяти, доступным
для кодека. Следовательно, это не всегда возможно кодирование всего изображения в качестве одного элементарного блока. Чтобы решить эту проблему, кодек позволяет
изображение разбивать на более мелкие куски, каждый из
которых независимо закодированы. В частности, изображение разбивается на одну или несколько отдельных прямоугольных областей, называемые мозаикой. Как показано на
рисунке 3, это разбиение осуществляется в отношении координатной сетки путем наложения координатной сетки с
прямоугольной сеткой мозаики, имеющие горизонтальные и
вертикальные расстояния от XTsiz и YTsiz соответственно.
Начало мозаичной сетки устанавливается в точке
(XTOsiz, YTOsiz). Мозаики имеют номинальный размер XTsiz ×
YTsiz, но те, которые граничат по краям области изображения, могут иметь размер, которые отличается от номинального размера. Мозаики нумеруются в порядке растрового
сканирования (начиная с нуля).
ВКР 0606700256.00.00.00
37
Рисунок 3 - Фрагментация изображения на координатной
сетке
Отображение положение мозаики от системы координат к
системе координат отдельных компонентов, разбиение самих
компонентов получается. Например, предположим, что мозаика имеет верхний левый угол и нижний правый угол с координатами (txo , tyo ) и (tx1 − 1, ty1 − 1), соответственно.
Тогда в пространстве координат конкретного компонента, мозаика будет иметь верхний левый угол и правый нижний угол с координатами (tcxo , tcyo ) и (tcx1 − 1, tcy1 − 1) соответственно, где
ВКР 0606700256.00.00.00
txo
tyo
(tcxo , tcyo ) = (
,
) (1a)
XRsiz YRsiz
tx1
ty1
(tcx1 , tcy1 ) = (
,
) (1b)
XRsiz YRsiz
Эти уравнения соответствуют иллюстрации на рисунке
38
4. Часть компоненты, что соответствует одной мозаике,
называется компонентом мозаики. Несмотря на то, сетка
мозаики стандартная по отношению к координатной сетке,
важно отметить, что сетка не обязательно быть стандартной по отношению к системе координат компоненты.
Рисунок 4 - Координатная система компоненты мозаики
Структура кодека
Общая структура кодека приведена на рисунке 5 форма
кодера задана рисунке 5 (а) и декодера задана рисунке 5
(б). Из этих схем, основные процессы, связанные с кодеком можно выделить:
ВКР 0606700256.00.00.00
39
1) предварительная обработка / заключительная обработка,
2) межкомпонентные преобразования,
3) внутри компонентные преобразования,
4) квантование / деквантование,
5) кодирование 1 уровня,
6) кодирование 2 уровня и
7) регулирование скорости.
Структура декодера по существу отражает то, что кодер. То есть, за исключением регулирования скорости,
есть однозначное соответствие между функциональными блоками кодера и декодера. Каждый функциональный блок декодера точно или приблизительно инвертирует действия соответствующего блока кодера. С мозаикой кодируются независимо друг от друга, входные изображения (концептуально,
по крайней мере) обрабатываются одной мозаикой за один
раз. В последующих разделах, каждый из этих процессов
рассматривается более подробно.
Рисунок 5 - Структура кодека. Структура кодера (а) и
декодера (б).
40
ВКР 0606700256.00.00.00
Рисунок 6 - Реализация подъема 1-D
2-канального PR
UMDFB. Сторона анализа(а). Сторона синтеза (б).
Предварительная обработка/заключительная обработка
Кодек ожидает вводные выборочные данные, имеющие номинальный динамический диапазон, примерно центром в нуле. Предварительная обработка кодера просто гарантирует,
что этот результат подходит. Предположим, что определенный компонент имеет P бит на выборку. Выборки могут быть
либо со знаком или без знака, что приводит к номинальному динамическому диапазону [−2P−1 , 2P−1 − 1] или [0, 2P−1 − 1],
соответственно. Если значение выборки без знака, номинальный динамический диапазон, безусловно, не с центром
в нуле. Таким образом, номинальный динамический диапазон
ВКР 0606700256.00.00.00
41
выборки уменьшается на смещение , 2P−1 из каждого значения
выборки. Если значение выборки для компонента будет со
знаком, номинальный динамический диапазон уже сосредоточен будет около нуля, и не обработка не требуется.
Гарантируя, что номинальный динамический диапазон
сосредоточен около нуля, ряд упрощающих допущений может
быть сделан в схеме кодека (например, по отношению к
контекстному моделирование, цифровому переполнению и
т.д.).
Заключительная обработка декодера по существу отменяет действия предварительной обработки кодера. Если
значение выборки для компонента без знака, оригинальный
номинальный динамический диапазон будет восстановлен.
Наконец, в случае с потерями кодирование, кадрирование
проводится для того, чтобы выборочные значения не превышали допустимый диапазон.
Рисунок 7 - Структура поддиапазона
ВКР 0606700256.00.00.00
42
Рисунок 8 - Разбиение поддиапазона на кодовые блоки
Рисунок 9 - Образец для выбора контекста. 4-связные
(а) или 8-связные (б) соседи
ВКР 0606700256.00.00.00
43
Межкомпонентное преобразование
В кодере, этап предварительной обработки следует перед этапом межкомпонентного преобразования. Здесь межкомпонентное преобразование может быть применено к данным компоненты
мозаики. Такое преобразование действует
на все компоненты вместе, и служит для уменьшения соотношения компонентов, что приводит к улучшению эффективности кодирования.
Рисунок 10 - Пример порядка сканирования в блоке кода
Только два межкомпонентных преобразования определены
в базовом кодеке JPEG-2000: необратимое преобразование
цвета (ICT) и обратимое преобразование цвета (RCT). ICT
является необратимым и реальной к реальному в природе, а
RCT является обратимым и целое к целому. Оба эти преобразования по существу преобразовывают данные изображения
из цветового пространства RGB в YCrCb. Преобразования
определены для работы с первыми тремя компонентами изображения, предполагая, что компоненты 0, 1 и 2 соответ-
ВКР 0606700256.00.00.00
44
ствуют красной, зеленой и синей цветовым плоскостям. В
связи со свойством этих преобразований, компоненты, с
которыми они работают, должны быть выбраны с тем же разрешением (то есть, имеют одинаковый размер). В результате вышеуказанных фактов, ICT и RCT могут быть использованы, когда изображение кодируется, по крайней мере, три
компонентами, и первые три компоненты выбираются при том
же разрешении. ICT может использоваться только в случае
кодирования с потерями, а RCT - с потерями и без потерь.
Даже если преобразование законно, не стоит это делать.
То есть, выбор об использовании многокомпонентного преобразования остается на усмотрение кодера. После этапа
межкомпонентного преобразования в кодере, данные по каждому компоненту рассматриваются отдельно.
Рисунок 11 - Разделение разрешения на участки.
ВКР 0606700256.00.00.00
45
Рисунок 12 - Порядок сканирования кодового блока в
участке
ICT является не более чем классическим преобразованием цветового пространства из RGB в YCrCb. Прямое преобразование определяется как
V0 (x, y)
U0 (x, y)
0.299
0.587
0.114
[V1 (x, y)] = [−0.16875 −0.33126
0.5 ] [U1 (x, y)]
0.5
−0.41869 −0.08131 U2 (x, y)
V2 (x, y)
где U0 (x, y), U1 (x, y) и U2 (x, y) являются входными компонентами, соответствующими красной, зеленой и синей цветовым плоскостям, соответственно, и V0 (x, y), и V1 (x, y)и
V2 (x, y)является выходными компонентами, соответствующими
Y, Cr, Cb плоскостям, соответственно. Обратное преобразование может быть представлено так
U0 (x, y)
V0 (x, y)
1
0
1.402
[U1 (x, y)] = [1 −0.34413 −0.71414] [V1 (x, y)]
1
−1.772
0
U2 (x, y)
V2 (x, y)
RCT - простое обратимое целое к целому приближение к
ICТ. Прямое преобразование задается:
1
V0 (x, y) = (U0 (x, y) + 2U1 (x, y) + U2 (x, y)) (4a)
4
V1 (x, y) = U2 (x, y) − U1 (x, y) (4b)
V2 (x, y) = U0 (x, y) − U1 (x, y) (4c)
где U0 (x, y), U1 (x, y), U2 (x, y), V0 (x, y), V1 (x, y) и V2 (x, y)определены выше.
46
ВКР 0606700256.00.00.00
Обратное преобразование может быть представлено так:
1
U1 (x, y) = V0 (x, y) − (V1 (x, y) + V2 (x, y)) (5a)
4
(x,
(x,
U0 y) = V2 y) + U1 (x, y) (5b)
U2 (x, y) = V1 (x, y) + U1 (x, y) (5c)
Этап
обратного межкомпонентного преобразования в
кодере по существу отменяет действия этап прямого межкомпонентного преобразования в кодере.
Если многокомпо-
нентное преобразование было применено во время кодирования, обратное применяется здесь.
Кроме того, что преоб-
разование является обратимым, однако, обратное преобразование может быть лишь приблизительным из-за действий
конечной точности арифметики.
Внутри компонентное преобразование
После этапа межкомпонентного преобразования в кодере
следует этап внутри компонентного преобразования. На
этом этапе преобразования,
действующие на отдельные
компоненты, могут быть применены. Конкретный вид оператора, используемый для этой цели, является вейвлетпреобразованием. За счет применения вейвлетпреобразования, компонент разделен на множество частотных диапазонов (например, поддиапазоны). Благодаря статистическим свойствам этих поддиапазонов сигналов, преобразованные данные обычно могут быть закодированы более
эффективно, чем оригинальные непреобразованные данные.
И обратимое целое к целому и необратимое реальное к
реальному вейвлет-преобразования работают в базовом кодеке. Основным стандартным блоком для таких преобразований является 1-D 2-канальный совершенно-
ВКР 0606700256.00.00.00
47
преобразованный(PR) равномерно-максимальноуничтожающий(UMD) блок фильтров(FB), который имеет общий вид, показанный на рисунке 6. Здесь мы сосредоточимся на реализации подъема UMDFB, так как он может быть
использован для реализации обратимого целого к целому и
необратимого реального к реальному вейвлетпреобразования, используемого базовым кодеком.
На самом деле, по этой причине, вполне вероятно, что
это реализация стратегии будет использоваться многими
реализациями кодеками. Сторона анализа UMDFB, изображенная на рисунке 6 (а), связана с прямым преобразованием,
в то время как сторона синтеза, изображенная на рисунке
6 (б), связана с обратным преобразованием.
λ−1
1
На схеме: {Ai (z)}λ−1
i=0 , {Q i (z)}i=0 и {si }i=0 обозначены функции
преобразования фильтра, операции квантования и скалярные
увеличения, соответственно.
Для получения целое к целому преобразования данных,
{Q i (z)}λ−1
i=0 выбирается так, что они всегда дает целые значения, и {si }1i=0 выбираются как целое. Для real2real преобразования данных {Q i (z)}λ−1
i=0 выбираем в качестве идентичности.
Чтобы облегчить фильтрацию границы сигнала симметрическое расширение используется. Так как изображение –
2-D сигнал, мы, безусловно, нуждаемся в 2-D UMDFB. Используя 1-D UMDFB как в горизонтальном, так и вертикальном направлениях,
фактически получаем 2-DUMDFB.
Вейвлет-преобразование рассчитывается путем рекурсивного
применения 2-D UMDFB на сигналах нижних поддиапазонов,
полученных на каждом уровне разложения.
48
ВКР 0606700256.00.00.00
Предположим, что вейвлет-преобразование (R − 1)
уровня должно быть использовано. Для вычисления прямого
преобразования мы применяем сторону анализа 2-D UMDFB к
данным компоненты мозаики итеративным образом, в результате чего ряд сигналов поддиапазонов производится. Каждое приложение стороны анализа 2-D UMDFB дает четыре
поддиапазона: 1) по горизонтали и вертикали нижних частот (LL), 2) по горизонтали и по вертикали нижних частот ФВЧ (LH), 3) по горизонтали и по вертикали верхних
нижних (HL) и 4) по горизонтали и вертикали верхних
(HH). Вейвлет-разложение (R − 1) уровня связано с уровнем
разрешения R, пронумерованным от 0 до (R − 1)
(R − 1)
, 0 и
соответствует самому несовершенному и совершенно-
му разрешению, соответственно. Каждый поддиапазон разложения определяется его ориентацией (например, LL, LH,
HL, HH) и соответствующим уровнем разрешения (например,
0, 1, ..(R − 1)) . Входной сигнал компоненты мозаики считается группой LLR−1 . На каждом уровне разрешения (за исключением самого низкого) LL группа далее разлагается на
составные части. Например, LLR−1
группа распадается на
составные части с получением групп LLR−2 , LHR−2 , HLR−2 и
HHR−2 . Затем, на следующем уровне, группа LLR−2 разлагается на составные части, и так далее. Этот процесс повторяется, пока не получится LL0 , и результаты в структуре поддиапазонов показаны на рисунке 7. В худшем случае, когда не применяется преобразование, R = 1, и мы
фактически имеем только один поддиапазон (например, LL0
группа).
ВКР 0606700256.00.00.00
49
Как описано выше, вейвлет-разложение может быть связано с данными на R различных разрешениях. Предположим,
что верхняя левая и нижняя правая выборки компоненты мозаики имеют координаты (tcx0 , tcy0 ) и
(tcx1 − 1, tcy1 − 1), соот-
ветственно. Это не так, верхняя левая и нижняя правая
выборки компоненты мозаики при разрешении r имеет координаты(trx0 , try0 ) и
(trx1 − 1, try1 − 1), соответственно, равные
(trx0 , try0 ) = (
tcx0
tcy0
) (6a)
2
2R−r−1
tcx1
tcy1
(trx1 , try1 ) = ( R−r−1 , R−r−1 ) (6b)
2
2
где r – отдельное разрешение интересов. Таким обра,
R−r−1
зом, сигнал компоненты мозаики в отдельном разрешении
имеет размер (trx1 − trx0 ) × (try1 − try0 ).
Мало того, что системы координат уровня разрешения
важны, но так же являются системами координат для различных поддиапазонов. Предположим, что мы обозначим координаты левой верхней и правой нижней выборок в поддиапазоне как (tbx0 , tby0 ) и (tbx1 − 1, tby1 − 1), соответственно.
Эти величины вычисляются как
tсx0
,
R−r−1
tсy0
) для LL группы
2R−r−1
1 tсy0
( R−r−1 − , R−r−1 ) для HL группы
2
2 2
(tbx0 , tby0 ) =
(7a)
tсx0
tсy0
1
( R−r−1 , R−r−1 − ) для LH группы
2
2
2
tсx0
1 tсy0
1
(( R−r−1 − , R−r−1 − )) для HH группы
2 2
2
{ 2
(
2
tсx0
ВКР 0606700256.00.00.00
tсx1
tсy1
( R−r−1 , R−r−1 ) для LL группы
2
2
tсx1
1 tсy1
( R−r−1 − , R−r−1 ) для HL группы
2
2 2
(tbx1 , tby1 ) =
(7b)
tсx1
tсy1
1
( R−r−1 , R−r−1 − ) для LH группы
2
2
2
tсx1
1 tсy1
1
(( R−r−1 − , R−r−1 − )) для HH группы
2 2
2
{ 2
50
где r - уровень разрешения, к которому принадлежит
группа, R -
число уровней разрешения и tcx0 , tcy0 , t tcx1 и
tcy1 определены в (1). Таким образом, определенная группа
имеет размер (tbx1 − tbx0 ) × (tby1 − tby0 ). Из приведенного выше
уравнения, мы также можем видеть, что (tbx0 , tby0 ) = (trx0 , try0 )
и (tbx1 , tby1 ) = (trx1 , try1 ) для группы LLR , как и следовало
ожидать. (Это должно быть в случае с группой LLR эквивалентно уменьшенной версии разрешения исходных данных).
Как будет видно, системы координат для различных разрешений и поддиапазонов компоненты мозаики играет важную
роль в поведении кодека.
Исследуя (1), (6) и (7), заметим, что координаты левой верхней выборки для конкретного поддиапазона, обозначаемого (tbx0 , tby0 ), частично определяются параметрами
XOsiz и YOsiz координатной сетки. На каждом уровне разложения, контроль по четности (т.е. нечетность/четность)
tbx0 и tby0 влияет на исход процесса субдискретизации
(субдискретизация - вариант сдвига). Таким образом, параметры XOsiz и YOsiz
имеют тонкое, но важное, влияние на
вычисление преобразования.
Описав общие структуры преобразования, мы сейчас
опишем два конкретных вейвлет-преобразования, поддерживаемые базовым кодеком: 5/3 и 9/7 преобразование.
5/3
ВКР 0606700256.00.00.00
51
преобразование обратимое, целое к целым, и нелинейное.
5/3 преобразование имеет базовый 1-D UMDFB с параметрами
1
1
λ = 2, A0 (z) = − (z + 1), A1 (z) = (1 + z −1 ), (8)
2
4
1
Q 0 (x) = x, Q1 (x) = x + , s0 = s1 = 1.
2
9/7 преобразование - необратимое и реальной к реальному. Это преобразование также используется в ФБР для
стандарта сжатия отпечатков пальцев (хотя нормирования
отличаются). 9/7 преобразование имеет базовый 1-D UMDFB
с параметрами:
λ = 4, A0 (z) = α0 (z + 1), A1 (z) = α1 (1 + z −1 ), (9)
A2 (z) = α2 (z + 1), A3 (z) = α3 (1 + z −1 ),
Q i (x) = x для i = 0,1,2,3,
α0 ≈ −1.586134, α1 ≈ −0.052980, α1 ≈ 0.882911,
α3 ≈ 0.443506, s0 ≈
1
1
, s1 = − .
1.230174
s0
Так как 5/3 преобразование обратимое, оно может быть
использовано для кодирования с потерями или без потерь.
Преобразование 9/7 с отсутствием обратимых свойств может
быть использовано только для кодирования с потерями. Количество уровней разрешения уровней - параметр каждого
преобразования. Обычное значение этого параметра равно
шести (при достаточно больших изображений). Кодер может
преобразовать все, ничего, или подмножество компонентов.
Этот выбор на усмотрение кодера.
Этап обратного внутри компонентного преобразования в
декодере по существу отменяет действия этапа прямого
внутри компонентного преобразования в кодере. Если преобразование было применено на конкретный компонент во
время кодирования, соответствующее обратное преобразова-
ВКР 0606700256.00.00.00
52
ние применяется здесь. В связи с последствиями конечной
точности арифметики, процесс инверсии не гарантируется,
если будет точным, если обратимые преобразования работают.
Квантование/деквантование
В кодере после преобразования данных компоненты мозаики (с помощью межкомпонентных и / или внутри компонентных преобразований), в коэффициенты результатов
квантуются. Квантование позволяет достичь большего сжатия, путем представления коэффициентов преобразования
только с минимальной точностью, необходимой для получения требуемого уровня качества изображения. Квантование
коэффициентов преобразования является одним из двух основных источников потерь информации при кодировании
(другим источником является отбрасывание кодируемых передаваемых данных, как будет описано ниже).
Преобразование коэффициентов квантуется использованием
скалярного квантования с мертвой зоной. Различный квантователь используется для коэффициентов каждого поддиапазона, и каждый квантователь имеет только один параметр, его размер шага. Математически, процесс квантования определяется как
V(x, y) =
U(x,y)
∆
∙ sgnU(x, y)(10),
где ∆ - размер шага квантования,
U(x, y) - входной сигнал поддиапазона,
V(x, y) - выходной индекс квантования для поддиапазона.
53
ВКР 0606700256.00.00.00
Так как это уравнение указано в информационном пункте стандарта, кодеры не должны использовать эту точную
формулу. При этом, вполне вероятно, что многие кодеры,
по сути, используют это уравнение.
Базовый кодек имеет два различных режима работы, как
режим integer и режим real. В режиме integer, все преобразования используют integer2integer (например, RCT, 5/3
вейвлет-преобразование). В режиме real,
real2real пре-
образование используется (например, ICT, 9/7 вейвлетпреобразование). В режиме integer, размеры шагов квантования всегда фиксируются на одном, фактически минуя
квантование и заставляя индексы квантования и коэффициенты преобразования быть одними и теми же. В этом случае
кодирования с потерями по-прежнему возможно, но регулирование скорости достигается за счет другого механизма
(которые будут обсуждаться позже). В случае режима real
(что подразумевает потери кодирования), размер шага
квантования выбирается в сочетании с регулированием скорости. Многочисленные стратегии возможны при выборе размера шага квантования, как будет показано ниже в разделе
III-L.
Как и следовало ожидать, размеры шага квантования,
используемые кодером, передаются на декодер с помощью
кодового потока. Попутно отметим, что этот
размеры ша-
га, указанные в кодовом потоке, являются относительными,
а не абсолютными величинами. То есть, размер шага квантования для каждого диапазона определяется по отношению
к номинальному динамическому диапазону сигнала поддиапазона.
U(x, y) = (V(x, y) + r ∙ sgn(V(x, y))) ∆ (11)
ВКР 0606700256.00.00.00
54
где ∆ - размер шага квантования,
r – параметр смещения,
V(x, y) - входные индексы квантования поддиапазона,
U(x, y) - восстановленный сигнал поддиапазона.
Хотя величина r не нормативно указано в стандарте,
вполне вероятно, что многие декодеры будут использовать
значение половины.
Кодирование 1 уровня
После квантования осуществленного в кодере, происходит кодирование 1 уровня. Это первый из двух этапов кодирования. Индексы квантования для каждой поддиапазона
разбиты на кодовые блоки. Кодовые блоки имеют прямоугольную форму, а их номинальный размер является свободным параметром процесса кодирования, при условии соблюдения определенных ограничений, в частности: 1) номинальная ширина и высота блока кода должна быть целой и
равной степени двух, и 2) произведение номинальной ширины высоты не может превышать 4096.
Предположим, что номинальный размер блока кода предварительно выбран 2xcb × 2ycb . В кодировании 2 уровня, еще
предстоит обсудить, кодовые блоки, сгруппированные в так
называемые участки. Так как кодовые блоки не имеют права
пересекать границы участка, снижение номинального размера блока кода может понадобиться, если размер участка
достаточно мала. Предположим, что номинальный размер кодового блока после такой настройки 2xcb′ × 2ycb′, где xcb′ ≤
xcb и ycb′ ≤ ycb. Поддиапазоны разбиваются на кодовые блоки
путем наложения поддиапазонов с прямоугольной сеткой с
горизонтальным и вертикальным расстоянием от 2xcb′ и 2ycb′ ,
55
ВКР 0606700256.00.00.00
соответственно, как показано на рисунке 8. Начало этой
сетки закреплено в точке (0, 0) в системе координат, в
поддиапазоне. Обычный выбор для номинального размера кодового блока 64 × 64 (то есть, xcb = 6 и ycb = 6).
Давайте еще раз обозначим координаты левой верхней
выборки в поддиапазоне,
как (tbx0 , tby0 ). Как объяснено в
Разделе III-G, величина (tbx0 , tby0 ) частично определяется
параметрами координатной сетки XOsiz и YOsiz. В свою очередь, величина (tbx0 , tby0 )влияет на положение границы
ко-
дового блока, в пределах поддиапазона. Таким образом,
параметры XOsiz и YOsiz оказывают существенное влияние на
поведение процесс кодирования 1-уровня (то есть, они
влияют на положение границ кодового блока).
После разбиения поддиапазона на кодовые блоки, каждый из кодовых блоков независимо кодируется. Кодирование
осуществляется с помощью кодера битовой плоскости, описанное ниже в разделе III-J. Для каждого кодового блока
производится встроенный код, состоящий из многочисленных
проходов кодирования. Вывод процесса кодирования 1 уровня, таким образом, - коллекция проходов кодирования для
различных кодовых блоков.
На стороне декодера, кодирование битовой плоскости
происходит для различных кодовых блоков, как вход для
декодера 1 уровня, эти проходы декодируются, и в результате данные собраны в поддиапазонах. Таким образом, мы
получаем восстановленные индексы квантования для каждой
поддиапазона. В случае кодирования с потерями, восстановленные индексы квантования могут быть только приближениями к индексам квантования, первоначально доступные
ВКР 0606700256.00.00.00
56
на кодере. Это связано с тем, что кодовый поток может
включать только подмножество проходов кодирования в процессе кодирования 1 уровня. В случае потерь, восстановленные индексы квантования должен быть таким же, как
оригинальные индексы со стороны кодера, так как все проходы кодирования должны быть включены для кодирования
без потерь.
Кодирование битовой плоскости
Процесс кодирования 1 уровня заключается, прежде
всего, в битовом кодировании. После разбиения всех поддиапазонов на кодовые блоки, каждый из полученных кодовых блоков независимо кодируются с помощью кодера битовой плоскости. Технология кодирования битовой плоскости
работает аналогично тем, которые используются во встроенном вейвлет кодировании нулевого дерева (EZW) и кодеках установления разбиения в иерархических деревьях
(SPIHT). Но есть два важных отличия: 1) не используются
межзонные зависимости, и 2) есть три прохода кодирования
за битовую плоскость вместо двух. Первое различие вытекает из того факта, что каждый кодовый блок полностью
содержится в одном поддиапазоне, и кодовые блоки кодируются независимо друг от друга. Без использования межзонных зависимостей, повышение устойчивости к ошибкам может
быть достигнуто. Второе отличие заключается, вероятно,
менее фундаментально. Используя три прохода кодирования
за битовую плоскость вместо двух, сокращается объем данных, связанный с каждым проходом кодирования, способствуя более полного контроля над скоростью. Кроме того,
используя дополнительный проход за битовой плоскостью,
57
ВКР 0606700256.00.00.00
разрешается лучше приоритет важных данных, что приводит
к улучшению эффективности кодирования.
Как отмечалось выше, существуют три прохода кодирования за битовую плоскость. Проходы располагаются следующим образом: 1) значение, 2) уточнение и 3) очистка.
Все три типа кодирования проходит проверку выборки кодовых блоков в том же установленном порядке, как показано
на рисунке 10. Кодовый блок разбивается на горизонтальные полосы, каждая из которых имеет номинальную высоту в
4 отсчета. Если высота кодового блока не является кратным четырем, высота нижней полосы будет меньше, чем это
номинальное значение. Как показано на схеме, полосы просматриваются сверху вниз. В полосе, столбцы проверяются
слева направо. В столбце, выборки проверяются сверху донизу.
Процесс кодирования битовой плоскости генерирует последовательность символов для каждого прохода кодирования. Некоторые или все эти символы могут быть закодированы статично. Для целей статичного кодирования, контекстно-ориентированный адаптивный кодер двоичной арифметики используется, в частности, MQ кодер от стандартного JBIG2. Для каждого прохода, все символы, либо арифметически закодированные или необработанные закодированные (то есть двоичных символы выделяются в качестве
необработанных битов с простой вставкой битов). Процессы
арифметического и необработанного кодирования
гаранти-
ровать, что некоторые битовые комбинации никогда не
встречаются на выводе, позволяя такие модели, которые
будут использоваться для цели устойчивости к ошибкам.
ВКР 0606700256.00.00.00
58
Проход значений
Первый проход кодирования для каждой битовой плоскости –
проход значений. Этот проход используется для передачи
значения и (при необходимости) знаковой информации для
выборки, которые еще не оказались значительными и, по
прогнозам, становятся существенными при обработке текущей битовой плоскости. Выборки в кодовом блоке проверяются в порядке, указанном ранее на рисунке 10. Если выборка до сих пор не оказалась значительной, и, по прогнозам, становятся существенной, значение выборки кодируется с помощью одного двоичного символа. Если выборка
также оказывается существенным, знак кодируется с помощью одного двоичного символа. В форме псевдокода проход
значений описывается алгоритмом 1.
Алгоритм 1 - Алгоритм прохода значений
For каждой выборки в кодовом блоке do
If каждая выборка предыдущая незначительна и по прогнозам, становится существенной в текущей битовой плоскости
then
значение кода выборки /* 1 двоичный символ */
If значение выборки then
знак кода выборки /* 1 двоичный символ */
endif
endif
endfor
Если самая старшая битовая плоскость обрабатывается,
все выборки, по прогнозам, останутся незначительными. В
противном случае, выборка, по прогнозам, станет значимой, если любой 8-связный сосед уже оказался существенным. Как следствие этого предсказания политики, проходы
ВКР 0606700256.00.00.00
59
значения и уточнения для наиболее значимой битовой плоскости всегда пусты и явно не закодированы.
Символы, образующиеся при проходе значений, могут
или не могут быть арифметически закодированными. Если
арифметическое кодирование используется, информация о
значении передачи двоичного символа кодируется с помощью
одного из девяти контекстов. Использование конкретного
контекста выбирается в зависимости от значения 8-связных
соседей выборки и ориентации поддиапазона, с которым
связана выборка (например, LL, LH, HL, HH). В случае, в
котором арифметическое кодирование используется, знак
выборки кодируется как разница между фактическим и предсказанным знаком. В противном случае, знак кодируется
напрямую. Прогнозирование знака осуществляется с использованием значения и знаковой информации для 4-связных
соседей.
Проход уточнения
Второй проход кодирования для каждой битовой плоскости проход уточнения. Этот проход сигнализирует последующие
биты после самого
старшего бита для каждой выборки. Вы-
борки кодового блока проверяются только в порядке, показанном ранее на рисунке 10. Если выборка оказалась значительная в предыдущей битовой плоскости, следующий
наиболее значимый бит выборки передается с помощью одного двоичного символа. Этот процесс описан в форме псевдокода алгоритма 2.
Алгоритм 2 - Алгоритм прохода уточнения
1: For каждой выборки в кодовый блок do
2: if выборка нашла значение в предыдущей битовой then
3: кодируем следующий наиболее значащий бит в выборке
ВКР 0606700256.00.00.00
60
/ * 1 двоичный символ */
4: endif
5: endfor
Как проход значения, символами прохода уточнения могут или не могут быть арифметически закодированы. Если
арифметическое кодирование используется, каждый символ
уточнения кодируется с помощью одного из трех условий.
Конкретный используемый контекст выбирается в зависимости от того, если вторая позиция MSB уточняется и значение 8-связных соседей.
Проход очистки
Третий (и последний) проход кодирования для каждой
битовой
плоскости – проход очистки. Этот про-
ход используется для передачи значения и (при необходимости) знаковой информации для тех выборок, которые еще
не оказались значительными и, по прогнозам, остаются незначительным во время обработки текущей битовой плоскости.
Концептуально, проход очистки не сильно отличается
от прохода значения. Основное различие в том, что проход
очистки передает сведения о выборках, которые, по прогнозам, останутся незначительными, а не те, которые, по
прогнозам, становятся существенными. Алгоритмически, однако, есть одно важное различие между проходами очистки
и значения. В случае прохода очистки, иногда выборки обрабатываются в группах, а не по отдельности, как проход
значения.
Напомним о растровом изображении для выборки в кодовом блоке, показанном ранее на рисунке 10. Кодовый блок
разбивается на полосы с номинальной высотой в четыре от-
ВКР 0606700256.00.00.00
61
счета. Затем полосы просматриваются сверху вниз, а
столбцы в пределах полосы просматриваются слева направо.
Для удобства мы будем называть каждый столбец с полоской
вертикальной развертки. То есть, каждая вертикальная
стрелка на диаграмме соответствует так называемой вертикальной развертки. Как скоро стало очевидно, проход
очистки лучше всего объяснить, как работает на вертикальной развертке (а не просто отдельные выборки).
Проход очистки просто обрабатывает каждую вертикальную развертку по порядку, каждая вертикальная развертка
обрабатывается следующим образом. Если вертикальная развертка содержит четыре выборки (т. е. полное сканирование), информация о значении необходима для всех этих выборок, и все выборки, по прогнозам, останутся незначительными, вводится специальный режим, называемый режимом
соединения. В этом режиме число ведущих незначительных
выборок в вертикальной развертке кодируется. Затем выборки, информация о значении которых передается путем
соединения, пропускаются, и процесс продолжается с
остальными выборками вертикальной развертки точно так,
как это делается в проходе значений. В форме псевдокода
этот процесс описывает алгоритм 3.
Рисунок 13 - Структура сегмента маркера
Алгоритм 3 - Алгоритм прохода очистки
1: for каждой вертикальной развертки в кодовом блоке do
2: if
четыре отсчета в вертикальной развертке and все
ВКР 0606700256.00.00.00
62
ранее незначительные и не посещённые and никто не имеет значительных 8-связный соседей, then
3: кодируем число ведущих незначительных выборок через соединение
4: пропустим любые выборки, обозначенные, как незначительные для соединения
5: endif
6: while большее количество выборок для обработки в вертикальном развертке do
7: if выборка предыдущая незначительная и не
посещенная then
8: кодируем значение выборки, если уже не подразумевается в запуске
/ * 1 двоичный символ * /
9: if выборка значительная then
10: код знака образца / * 1 двоичный символ * /
11: endif
12: endif
13: endwhile
14: endfor
При введении режим соединения, рассматриваются четыре выборки вертикальной развертки. Если все четыре выборки незначительны, символ всех незначительных соединений кодируется и выполняется обработка вертикальной развертки. В противном случае, символ некоторых значимых
соединений кодируется, и два двоичных символа используются для кодирования числа ведущих незначительных выборок в вертикальной развертке.
ВКР 0606700256.00.00.00
63
Рисунок 14 - Структура кодового потока
Символы, образующиеся при проходе очистки, всегда
арифметически кодируется. В режиме соединения, символ
соединения кодируется с помощью одного контекста, а длина серии двух символов кодируется с помощью одного контекста с фиксированным равномерным распределением вероятностей. Когда режим соединения не используется, функция кодирования значения и знака такая же, как и в случае прохода значения.
ВКР 0606700256.00.00.00
64
Рисунок 15 - Структура блока
Кодирование 2 уровня
В кодере за кодированием 1 уровня следует кодирование 2 уровня. Ввод в кодирование 2 уровня является набор
проходов кодирования битовой плоскости, образующийся при
кодировании 1уровня. В кодировании 2 уровня информация
прохода кодирования упаковывается в блоки данных, или
пакеты, в процессе, называемом пакетированием. В процессе пакетирования, которое затем выводится в финальный
кодовый поток. Процесс пакетирования накладывает определенную организацию по кодируемым данным прохода в выходной кодовый поток. Эта организация помогает многим желаемым функциям кодека, включая масштабируемость скорости
и постепенное восстановление на точность или разрешение.
Пакет не более чем совокупность закодированных данных
прохода. Каждый пакет состоит из двух частей: заголовка
и тела. Заголовок указывает, какие проходы кодирования
включены в пакет, а тело содержит в себе реальные закодированные данные прохода. В кодовом потоке, заголовок и
тело могут появиться вместе или по отдельности, в зависимости от вариантов
кодирования в результате.
Масштабируемость скорости достигается за счет (качества) слоев. Закодированные данные для каждой мозаики
состоят из L слоев, пронумерованные от 0 до L − 1, где L ≥
1. Каждый проход кодирования либо
назначает один из L
ВКР 0606700256.00.00.00
65
слоев или выбрасывает. Проход кодирования содержит самые
важные данные, включенные в нижние слои, в то время как
проходы кодирования связаны с более четкими деталями,
включенными в более высокие слои. Во время декодирования, восстановленное качество изображения улучшается постепенно с каждым последующим обработанным слоем. В случае сжатия с потерями, некоторые проходы кодирования могут быть отброшены (то есть, не включенные в любом
слой), в которых регулирование скорости должно решить,
какие проходы включены в окончательный кодовый поток. В
случае потерь, все проходы кодирования должны быть включены. Если несколько слоев используются (например,L > 1),
регулирование скорости должно решить, в каком слое каждый проход кодирования должен быть включен. Поскольку
некоторые проходы кодирования могут быть отброшены, кодирование 2 уровня является вторым основным источником
потерь информации при кодировании.
Напомним, в разделе III-I, что каждый проход кодирования связан с определенным компонентом, уровнем разрешения, поддиапазоном и кодовым блоком. В кодировании 2
уровня, один пакет создается для каждого компонента,
уровня разрешения, слоя и участка и 4-кортеж участка.
Пакет не обязательно содержит закодированные данные прохода кодирования везде. Это означает, что пакет может
быть пустым. Пустые пакеты иногда необходимы, так как
пакет должен быть создан для каждой комбинации компонента-разрешения-слоя, даже если в результате пакет не
несет никакой новой информации.
ВКР 0606700256.00.00.00
66
Как уже упоминалось в разделе III-Г, участки по существу, группирует кодовые блоки в поддиапазоне. Разбиение участков для конкретного поддиапазона получается из
разбиения его родительской LL группы (например, LL группы на следующем более высоком уровне разрешения). Каждый
уровень разрешения имеет номинальный размер участка. Номинальная ширина и высота участка должны быть кратны
степени двойки, с учетом определенных ограничений
(например, максимальная ширина и высота - 215). Группа
LL, связанная с каждым уровнем разрешения, делится на
участки. Это достигается путем наложения LL группы на
регулярную сетку с горизонтальным и вертикальным расстояниями от 2PPx и 2PPy, соответственно, как показано на рисунке 11, где сетка выравнивается от начала системы координат LL группы. Граница участков на краю поддиапазона
может иметь размеры меньше, чем номинальный размер. Каждый из конечных регионов участка отображается в дочерние
поддиапазоны (если таковые имеются) на следующем более
низком уровне разрешения.
Это достигается с помощью преобразования координат
(u, v) = (x/2, y/2), где (u, v) и (x, y) - координаты точек в группе LL и дочернего поддиапазона, соответственно. Из-за
того, каким образом разбиение участка выполняется, границы участка всегда совпадают с границами кодового блока. Некоторые участки могут быть пустыми. Предположим,
что Номинальный размер кодового блока кода2xcb′ × 2ycb′. Это
′
приводит к номинальным 2PPx −xcb′ × 2PPy′−ycb′ группам кодовым
блокам в участок, где
PPx для r = 0
(12)
PPx ′ = {
PPx − 1 для r > 0
ВКР 0606700256.00.00.00
PPy ′ = {
67
PPy для r = 0
(13)
PPy − 1 для r > 0
где r – уровень разрешения.
Так как данные прохода кодирования из различных
участков кодируются в отдельных пакетах, используя меньше участков, уменьшает количество данных, содержащихся в
каждом пакете. Если меньше данных содержится в пакете,
ошибка в разряде может привести к меньшей потере информации (так, в некоторой степени, ошибка в одном пакете,
не влияет на декодирование других пакетов). Таким образом, использование меньших размеров участка приводит к
улучшению устойчивости ошибки, в то время как эффективность кодирования снижается в связи с увеличением
накладных расходов, имеющих большее количество пакетов.
Более чем одно упорядочение пакетов в кодовом потоке
поддерживается. Такие упорядочения называются прогрессиями. Пять встроенных прогрессий определено здесь: 1)
упорядочение слой-разрешение- компонент-положение 2)
упорядочение разрешение-слой-компонент-позиция, 3) упорядочение разрешение-положение-компонент-слой, 4) позиция-компонент-разрешение-слой, и 5) упорядочение компонент-положение-разрешение-слой. Порядок сортировки для
пакетов задается имя порядка, где положение определяется
номером участка, и ключи сортировки перечислены от
наиболее значимых до наименее значимых. Например, в случае первого упорядочения, приведенного выше, пакеты содержат сначала слой, второе - разрешение, третий - компонент, а последний - участок. Это соответствует постепенному восстановлению по сценарию точности. Второй упорядочение выше, связано с прогрессивным восстановлением
ВКР 0606700256.00.00.00
68
разрешением. Остальные три упорядочения более эзотерические. Кроме того, можно указать дополнительные пользовательские прогрессии за счет издержек повышенного кодирования.
В простейшем сценарии, все пакеты с определенной мозаикой появляются вместе в кодовом потоке. Обеспечения
существуют, однако, чередование пакетов из разных мозаик
представляет большую гибкость по упорядочению данных.
Если, например, требуется прогрессивное восстановление
мозаичного изображения,
оно может, вероятно, включать в
себя все пакеты, связанные с первым слоем различных мозаик, а затем эти пакеты, связанные со вторым слоем, и
так далее.
В декодер, декодирование 2 уровня извлекает различные проходы кодирования в кодовый поток (например, пакетирование) и связывает каждый проход кодирования с соответствующим кодовым блоком. В случае с потерями, не все
проходы кодирования гарантированно присутствуют, так как
некоторые, возможно, были выброшены кодером. В случае
потерь, все проходы кодирования должно присутствовать в
кодовом потоке.
В следующих разделах мы опишем процесс кодирования
пакетов более подробно. Для простоты понимания, мы хотим
объяснить этот процесс с точки зрения кодера. Алгоритмы
декодера, однако, могут легко выводиться из кодера.
Кодирование заголовка пакета
Заголовку пакета соответствует определенный компонент, уровень разрешения, слой, и участок, кодируемые
следующим образом. Во-первых, один двоичный символ коди-
ВКР 0606700256.00.00.00
69
руется, чтобы указать, если есть данные прохода кодирования, включенные в пакет (например, если пакет не является пустым). Если пакет пуст, дальнейшая обработка не
требуется, и алгоритм завершает свою работу. В противном
случае, мы перейдем к рассмотрению каждого поддиапазона
в уровне разрешения в установленном порядке. Для каждой
поддиапазона, мы посещаем кодовый блок, принадлежащий к
участку интереса в порядке растрового сканирования, как
показано на рисунке 12. Для обработки одного кодового
блока, мы начинаем с определения того, любые новые данные прохода кодирования должны быть включены. Если данные прохода кодирования до сих пор не включены к этому
кодовому блоку, информация о включении передается через
процедуры кодирования на основе квадродерева. В противном случае двоичный символ выделяется с указанием наличия или отсутствия новых данных прохода кодирования. Если не включены новые проходы кодирования, мы переходим к
обработке следующего блока кода на участке. Если предположить, что новые данные прохода кодирования должны быть
включены, мы продолжаем с нашей обработки текущего кодового блока. Если в первый раз данные прохода кодирования
были включены для кодового блока, мы кодируем число ведущих незначительных битовых плоскостей в кодовом блоке
с помощью алгоритм кодирования на основе квадродерева.
Тогда число новых проходов кодирования и длина данных,
связанных с этими проходами, кодируется. Алгоритм заполнения битов применяется ко всем данным заголовка пакета
для гарантии, что для определенной конфигурации битов,
не встречающей на выходе, будет использоваться для цели
ВКР 0606700256.00.00.00
70
устойчивости к ошибкам. Процесс кодирования целого заголовка пакета показан в алгоритме 4.
Алгоритм 4 - Алгоритм кодирования заголовка пакета
1: if пакет не пуст, then
2: кодируем показатель непустого пакета / * 1 двоичный
символ * /
3: for каждой поддиапазон в уровне разрешения do
4: for каждого кодового блока в участка поддиапазона do
5: информация о включении кода / * 1 двоичный символ или
дерево тэгов* /
6: if новые проходы кодирования не включены, then
7: перейти к следующему кодовому блоку
8: endif
9: if первое включение блока кода, then
10: кодируем число ведущих незначительных битовых плоскостей
/ * дерево тэгов * /
11 endif
12: кодируем число новых проходов кодирования
13: кодируем показатель увеличения длины
14: кодируем длину данных прохода кодирования
15: endfor
16: endfor
17: else
18: кодируем показатель пустой пакета / * 1 двоичный
символ * /
19: endif
20: заполняем границу байта
Кодирование тела пакета
ВКР 0606700256.00.00.00
71
Алгоритм, используемый для кодирования пакетов тела
относительно прост. Кодовые блоки рассматриваются в том
же порядке, как и в случае с заголовком пакета. Если новые проходы были указаны в соответствующем заголовке пакета, данные для этих проходов кодирования объединяются
в тело пакета. Этот процесс представлен Алгоритмом 5.
Алгоритм 5 - Алгоритм кодирования тела пакета
1: for каждой поддиапазона в уровне разрешения do
2: for каждого кодового блока в участке поддиапазона do
3: if (новые проходы кодирования включены для кодового
блока), then
4: выводим данные прохода кодирования
5: endif
6: endfor
7: endfor
Регулирование скорости
В кодере, регулирование скорости может быть достигнуто с помощью двух отдельных механизмов: 1) выбор размера шага квантования, и 2) выбор множества проходов кодирования, включенных в кодовом потоке. Когда режим кодирования integer используются (например, когда только
преобразование integer2integer используются) только первый механизм может быть использован, так как размеры шага квантования должен быть установлены в один. Когда режим кодирования real используется, то один или оба из
этих механизмов регулирования скорости могут быть использованы.
Если первый механизм работает, размеры шага квантования корректируются, чтобы контролировать скорость. Как
размеры шага увеличиваются, скорость уменьшается, за
72
ВКР 0606700256.00.00.00
счет больших искажений. Хотя этот механизм регулирования
скорости концептуально прост, у него есть один потенциальный недостаток. Каждый раз, когда размеры шага квантования изменяются, изменяются индексы квантования и кодирование 1 уровня должны быть выполнено заново. Так как
кодирование 1 уровня требует значительного объема вычислений, такой подход к регулированию скорости
не может
быть практичным в вычислительно-ограниченных кодерах.
Когда второй механизм используется, кодер может принять решение отказаться от прохода кодирования для того,
чтобы регулировать скорость. Кодер знает, тот вклад, который каждый проход кодирования позволяет оценить, а
также может рассчитать уменьшение искажения, связанных с
каждым проходом кодирования. Используя эту информацию,
кодер может включать проходы кодирования в порядке
уменьшения искажений на единицу скорости, пока баланс
битов исчерпан. Этот подход является очень гибким в том,
что различные показатели искажения могут быть легко подгоняться (например, среднеквадратическая ошибка, визуально взвешенная среднеквадратическая ошибка, и т.д.).
Кодирование региона интересов
Кодек позволяет разным регионам изображения кодироваться с различной точностью. Эта функция известна как
кодирование региона интересов. Для того, чтобы поддерживать кодирование ROI, очень простой, но гибкий метод используется, описанный ниже. Когда изображение синтезируется из его коэффициентов преобразования, каждый коэффициент содействует только с конкретным регионом, в вос-
73
ВКР 0606700256.00.00.00
становлении. Таким образом, один из способов кодирования
ROI с большей точностью, чем остальная часть изображения, будет определять коэффициенты, содействующие ROI, а
затем для кодирования все или некоторые из этих коэффициентов с большей точностью, чем другие. Это, по сути,
основная предпосылка технологии кодирования
ROI, ис-
пользуемая в JPEG-2000 кодеке.
Если изображение должно быть закодировано с помощью
ROI, некоторые коэффициенты преобразования определены
как более важные, чем другие. Коэффициенты большей важности, называются коэффициенты ROI, а остальные коэффициенты известны как коэффициенты фона. Отметив, что существует взаимно однозначное соответствие между коэффициентами преобразования и индексами квантования, мы также определяем индексы квантования для коэффициентов ROI
и фона, как индексы квантования ROI и фона, соответственно. С этой введенной терминологией, теперь мы в состоянии описать, как ROI кодирование вписывается в
остальной части структуры кодирования.
Функциональность кодирования ROI влияет на процесс
кодирования 1 уровня. В кодере, до квантования индексов
для различных поддиапазонов кодируется битовая плоскость, индексы квантования ROI увеличиваются по степени
двойки (т.е. сдвиг влево битов). Это увеличение осуществляется таким образом, чтобы гарантировать, что все
биты индексов квантования лежат в более значимой битовой
плоскости, чем потенциально ненулевые биты индексов
квантования фона. Как следствие, вся информация об индексах квантования ROI будет пониматься, прежде чем информация об индексах фоне ROI. Таким образом, ROI может
ВКР 0606700256.00.00.00
74
быть восстановлен c более высокой точностью, чем фон.
Перед индексами квантования кодируются битовая плоскость, кодер рассматривает индексы квантования фона для
всех поддиапазонов, просматриваемых для индекса с самым
большим значением. Предположим, что этот индекс имеет
свой наиболее значимый бит в битовой позиции N − 1. Все
индексы ROI затем сдвигается на N битов влево, и кодирование битовой плоскости происходит
как не в случае ROI.
Сдвиг значения ROI на N включается в кодовый поток.
Во время декодирования, любой индекс квантования с
ненулевыми битами, лежащий в битовой плоскости N, может
принадлежать множеству ROI. После восстановленных индексов квантования получаются из процесса декодирования битовой плоскости, все индексы во множестве ROI затем
уменьшаются сдвигом вправо на N бит. Это отменяет эффект
масштабирования на стороне кодера.
Множество ROI выбирает соответствующие коэффициенты
преобразования, которые затрагивают на определенный регион на изображении или подмножество тех, затрагивающих
регион. Эта технология кодирования ROI имеет ряд желательных свойств. Во-первых, ROI может иметь произвольную
форму и может состоять из нескольких непересекающихся.
Во-вторых, нет необходимости однозначно сигнализировать
множество ROI, так как оно может быть выведено декодером
от значения сдвига ROI сдвига и величины индексов квантования.
Кодовый поток.
Для того чтобы указать кодовое представление изображения, два разных уровня синтаксиса используются кодеком. Самый низкий уровень синтаксиса связано с так назы-
ВКР 0606700256.00.00.00
75
ваемым кодовым потоком. Кодовый поток, по существу последовательность отмеченных записей и сопровождающих их
данных.
Основным стандартным блоком кодового потока является
сегмент маркера. Как показано на рисунке 13, сегмент
маркера состоит из трех полей: тип, длина и поля параметров. Поле типа (или маркера) указывает конкретный вид
сегмента маркера. Поля длины определяет число байтов в
сегменте маркера. Поле параметров предоставляет дополнительную информацию, относящуюся к типу маркера. Не все
типы сегментов маркера имеют поля длины и параметров.
Наличие (или отсутствие) этих полей определяется типом
сегмента маркера. Каждый тип сегмента маркера сигнализирует свой особый класс информации.
Кодовый поток - просто последовательность сегментов
маркера и вспомогательных данных (например, пакетные
данные), организованная, как показано на рисунке 14. Кодовый поток состоит из основного заголовка, следуемого
за заголовком части мозаики
и пар тела, а затем и ос-
новного трейлера. Список некоторых из наиболее важных
сегментов маркера приведены в таблице 2. Параметры, указанные в сегментах маркера в основном заголовке служить
по умолчанию для всего кодового потока. Эти настройки по
умолчанию, однако, могут быть отменены для конкретной
мозаики, указав новые значения в сегмент маркера в заголовке мозаики.
Все сегменты маркера, заголовки пакетов и тела пакетов кратны 8 бит в длину. Как следствие, все маркеры
байт-синхронизированные и кодовый поток всегда целое
число байт.
ВКР 0606700256.00.00.00
76
Формат файла
Кодовый поток дает лишь самые основные сведения, необходимые для декодирования изображений (например, достаточная информация для вывода значения прохода декодированного изображения). Хотя в некоторых простых приложений этой информации достаточно, в других приложениях
дополнительные данные требуются. Для отображения декодированного изображения, например, часто бывает необходимо
знать дополнительные характеристики изображения, такие
как цветовое пространство данных изображения и атрибуты
прозрачности. Кроме того, в некоторых ситуациях полезно
знать другую информацию об изображении (например, право
собственности, начало и т.д.) В целях разрешения указанных выше типов данных, которые будут указаны, используется дополнительный уровень синтаксиса кодеком. Этот
уровень синтаксиса называется форматом файла. Формат используется для передачи кодированных данных изображения
и вспомогательной информации об изображении. Хотя этот
формат не является обязательным, он, несомненно, будут
широко использоваться многими приложениями, в частности,
компьютерно-ориентированными приложениями.
Основным стандартным блоком формата называется блоком. Как показано на рисунке 15, коробка номинально состоит из четырех полей: поля LBox, TBox, XLBox и DBox.
Поле LBox определяет длину блока в байтах. Поле TBox
указывает тип блока (например, характер информации, содержащейся в блоке). Поле XLBox представляет собой расширенный индикатор длины, которая представляет собой механизм для определения длины блока, размер которого
слишком велик, чтобы быть закодированным в единственное
ВКР 0606700256.00.00.00
77
поле длины. Если поле LBox равно 1, то поле XLBox присутствует и содержит правильную длину блока. В противном
случае, поля XLBox нет. Поле DBox содержит данные, специфичные для конкретного типа блока. Некоторые типы блоков могут содержать другие блоки в виде данных. Дело в
терминологии, блок, который содержит другие блоки в поле
DBox,
называется супер блоком. Некоторые из наиболее
важных типов блоков приведены в таблице 3.
Файл представляет собой последовательность блоков. С
определенными типами блоков, определенными для содержания других, имеется естественная иерархическая структура
в файл. Общая структура файла показана на рисунке 16.
Блок сигнатуры JPEG-2000 является всегда первым, обеспечивая указания на поток байтов, по сути, правильно отформатированный. Блок типа файла всегда второй, с указанием версии формата, который соответствует потоку байтов. Хотя некоторые ограничения
существуют на упорядо-
чение оставшихся блоков, некоторая гибкость также допускается. Блок заголовка содержит число других блоков. В
блоке заголовка
изображения указываются несколько ос-
новных характеристик изображения (в том числе размер,
количество компонентов и т.д.). Биты за блок компонента
показывает точность и знаковость выборки компоненты.
Блок спецификация цвета определяет цветовое пространство
данных изображений (для наглядности) и указывает, какие
компоненты соответствуют определенному типу спектральной
информации (например, соответствие между компонентами и
плоскостями цвета/прозрачности). Каждый файл должен содержать хотя бы один непрерывный блок кодового потока.
(Несколько смежных блоков кодовых потоков допускаются в
ВКР 0606700256.00.00.00
78
целях содействия описания последовательности изображений
для поддержки тривиального эффекта анимации). Каждый непрерывный блок кодового потока содержит кодовый поток
как данные. Таким образом, кодированные данные изображения встраиваются в файл. В дополнение к типам блоков,
обсуждаемых до сих пор, есть также типы блоков для указания захвата и разрешение экрана для изображения, палитру информации, информации об интеллектуальной собственности, а также данные о поставщике и прикладные
данные.
Хотя некоторая информация, хранящейся на уровне формата, является избыточной (то есть, он также указан
на уровне кодового потока), эта избыточность разрешает тривиальные манипуляции файлами без знания синтаксиса кодового потока. Расширение имени файла
"JP2" будет использоваться для идентификации файлов,
содержащих данные в формате JP2.
Расширения
Хотя базовые кодеки вполне универсальны, есть некоторые приложения, из которых можно извлечь пользу из дополнительных возможностей, не находящих в базовой системе. Для этого, часть 2 стандарта определяет множество
расширений к базовому кодеку. Некоторые из этих расширений включают следующие:
1)дополнительные межкомпонентные преобразования
(например, многомерные вейвлет/поддиапазонные преобразования);
2)дополнительные внутри компонентные преобразований
(например, преобразования поддиапазонов, основанные
ВКР 0606700256.00.00.00
79
на произвольных фильтрах и декомпозиционных деревьях, различных фильтрах в горизонтальном и вертикальном направлении);
3)перекрывающиеся вейвлет преобразования;
4)дополнительные методы квантования, такие как квантование, решетчатым кодом;
5)улучшенная поддержка ROI (например, механизм для
явной формы сигнализации ROI и произвольное значение
сдвига)
6)расширения формата файла, включая поддержку дополнительных цветовых пространств и составных документов.
Таблица 2 - Типы сегментов маркера
Типы
Начало кодового потока
(SOC)
Описание
Сигнализирует о начале кода потока.
Всегда первый сегмент маркера в кодовом потоке (например, первый сегмент
маркера в основном заголовке).
Конец кодо-
Сигнализирует о конце кода потока.
вого потока
Всегда последний сегмент маркера в ко-
(EOC)
довом потоке
Начало части
Указывает на начало заголовка части
мозаики
мозаики. Всегда первый сегмент маркера
(SOT)
в заголовке части мозаики
Сигнализирует о конце заголовка части
Начало данных (SOD)
мозаики. Всегда последний сегмент маркера в заголовке части мозаики. Тело
мозаики следует непосредственно после
этого сегмента маркера.
ВКР 0606700256.00.00.00
80
Передает основные характеристики изобРазмер изоб- ражения (например, размер изображения,
ражения и
количество компонентов, точность выбо-
мозаики
рочных значений), и параметры мозаики.
(SIZ)
Всегда второй сегмент маркера в кодовом потоке.
Стиль кодирования по
умолчанию
(COD)
Определяет параметры кодирования
(например, многокомпонентные преобразования, вейвлет / поддиапазонные преобразования, параметры кодирования 1
уровня и 2 уровня, и т.д.).
Компонент
стиля коди-
Определяет множество параметров коди-
рования
рования для одного компонента.
(COC)
Квантование
Определяет параметры квантования
по умолчанию
(например, тип квантования, параметры
(QCD)
квантования).
Компонент
квантования
(QCC)
Регион интересов (RGN)
Определяет параметры квантования для
одного компонента
Определяет параметры кодирования регионов интересов.
4. Экономическое обоснование
4.1. Описание проекта и отрасли
Проект представляет собой бизнес по продаже и усовершенствованию программного продукта обработки изображения.
81
ВКР 0606700256.00.00.00
Разрабатываемый бизнес принадлежит к рынку информационных технологий (IT). На основе итогов 2010 года эксперты выделяют основные тенденции развития IT-сектора в
России: распространение направления в регионах, развитие
производственной индустрии в направлениях разработки ПО,
а
также
более
широкое
разворачивание
компьютеризации,
доступа в сеть и сетей нового поколения при поддержке
государства.
В 2010 году IT-рынок в России вырос на 10%, превысив
показатели докризисного 2008 года
Основной прирост рынка IT произошёл в сфере компьютерного «железа» (58%) и ПО (24%)
В корпоративном секторе за счёт снижения доли госзакупок кризисный спад достигал 30-50% на фоне 20-25% в
клиентском сегменте, прирост в 2010 году составил 10%.
По итогам 2010 года показатели IT-рынка в России выросли приблизительно на 10%, тем самым даже превысив результаты в целом благополучного 2008 года. Эксперты рынка отмечают, что основной прирост в минувшем году произошёл
в
секторах
по
продаже
компьютеров
(мобильных,
нетбуков, моноблоков, серверов), программного обеспечения, мультимедийных устройств (веб-камер, колонок), дисковых
накопителей
и
периферийных
устройств
(устройств
ввода, лазерных принтеров). Не обошлось и без аутсайдеров — ими оказались расходные материалы, мониторы, ИБП,
факсы и сканеры.
Несмотря на заметный прирост сегментов программного
обеспечения и услуг, более половины рынка IT пришлось на
продажи
оборудования.
Лидирует
компьютерное
«железо»
82
ВКР 0606700256.00.00.00
(57%),
среди
которого
наиболее
динамично
развивается
секторы компьютеров (20%) и ноутбуков (17% рынка).
Доля программного обеспечения в обороте компьютерной
розницы в 2010 году выросла на 27% и составила четверть
рынка, различные услуги и сервисы — на 50%, достигнув по
итогам года 18%. При этом системные интеграторы по случаю падения выручки от продаж IT-техники снизили её долю
с 57% до 47% и увеличили долю программного обеспечения и
услуг.
В секторе ПО 42% занимают операционные системы и сетевое программное обеспечение, 23% — средства для обеспечения
безопасности.
Среди
сервисных
услуг
половина
примерно – ремонт компьютерной техники, остальные услуги
востребованы заметно меньше.
Что касается каналов продаж, то основными игроками
среди каналов дистрибуции в общем объеме IT-рынка остаются традиционная компьютерная розница и системная интеграция, однако вес их из года в год становится менее
значительным. Между тем кризисный спад сильнее всего затронул корпоративный сектор, и особенно госзакупки. Если
до кризиса он показывал впечатляющие темпы роста, то в
II–III кварталах 2009-го спад продаж достигал 30–50%, в
то время как розничные продавцы ограничивались снижением
в размере 20–25%. По итогам 2010-го прирост составил
лишь 10% к показателям 2009-го, что объясняется более
медленным восстановлением корпоративных продаж на фоне
розничных.
Как видим из обзора, рынок программного обеспечения
является развивающимся и востребован. Основным потреби-
83
ВКР 0606700256.00.00.00
телем продаваемого проектируемым бизнесом программного
продукта
будет
являться
государственный
сектор
ввиду
специфичности проекта. Также возможны потребители в корпоративном секторе (например, фирмы, занимающиеся дизайном), наименее вероятны потребители-частные лица.
4.2. Описание продукции (услуги)
Продаваемая программа относится к программам обработки и просмотра графических файлов. Поддерживает следующие форматы файлов:
 Windows Bitmap (BMP);
 JPEG2000;
Возможности программы:
1. Сжатие изображения:
 С потерями (CDF 9/7);
 Без потерь (CDF 5/3).
2. Изменение количества уровней свертки вейвлет
3. Работа с изображениями любого размера и с любым соотношением сторон
4. Настройка яркости.
Наличие возможности изменения количества уровней
свертки вейвлет делает данную программу единственной в
своём роде.
4.1. Оценка конкурентов и маркетинг
84
ВКР 0606700256.00.00.00
Приведём сравнение продукта проектируемого предприятия и предприятий-конкурентов в виде матрицы сравнительных преимуществ (таблица 1).
Таблица 1 - Матрица сравнительных преимуществ
Возможные (предпола-
Проектируемое
гаемые) сравнитель-
предприятие
ные показатели
Признанное имя фирмы
(имидж)
Стоимость единицы
продукции
Поддержка различной
степени сжатия
Обработка цветных
изображений
Предприятия-конкуренты
FastStone Soft
Adobe
Systems
-
+
+
Низкая
Высокая
Низкая
+
-
-
+
+
+
Программный продукт будет распространяться через
сеть Интернет при помощи сайта. Для его продвижения будем использовать рекламу в виде баннеров и регистрацию в
поисковых системах. Регистрация в поисковых системах
проводится бесплатно, а цены на использование баннеров
приведём в таблице 2.
Таблица 2 - Стоимость рекламы в сети Интернет
Вид работы/услуги/продукта
Изготовление баннера размером 468x120
Размещение баннера на сайте
primpogoda.ru
Стоимость
500 руб.
45 990 руб./мес.
85
ВКР 0606700256.00.00.00
При определении цены на товар будут учитываться
среднерыночные цены.
4.4. Производственный план
Разработка и усовершенствование программного продукта будет проводиться по месту жительства владельца бизнеса. Для эффективной работы потребуются следующие виды
ресурсов:
- персональный компьютер;
- операционная система для персонального компьютера;
- среда разработки программного обеспечения;
- мебель (компьютерный стол и кресло);
- источник напряжения переменного тока номиналом 220
B и частотой 50 Гц.
Для распространения программы потребуется сайт типа
«интернет-магазин».
Приведём стоимость требуемых ресурсов в таблице 3.
Ресурс
Стоимость
Ноутбук DELL Inspiron
N5110-7984 Black
20 490 руб.
+ ОС Windows 7
Среда разработки Visual
Studio Professional
Стол компьютерный КС-0049
Кресло CH-993-Low/red
Разработка Интернетмагазина
22 538 руб.
6 780 руб.
6 600 руб.
50 000 руб.
86
ВКР 0606700256.00.00.00
Использование электроэнер-
2,05 руб.
гии (кВт/час)
Использование веб-хостинга
378 руб./мес.
Регистрация домена
600 руб./год
Работником проектируемой фирмы будет являться только
владелец-программист, дополнительного персонала не требуется.
4.5. Организационный план
Организационно-правовой формой проектируемого предприятия будет являться индивидуальный предприниматель
(ИП) ввиду того, что не требуется никаких дополнительных
сотрудников, кроме самого предпринимателя, а также помещения (будет использовано место постоянной регистрации
владельца бизнеса). Для регистрации ИП самостоятельно,
требуется уплатить госпошлину в размере 800 рублей. Также необходимо производить фиксированный платёж в социальные фонды вне зависимости от дохода в размере
руб.
17208,25
в год.
Заработная плата индивидуального предпринимателя со-
ставит 25 000 рублей в месяц.
4.6. Финансовый план
Выделим постоянные и единовременные затраты предприятия. Постоянные затраты приведём в таблице 4, а единовременные – а таблице 5.
Таблица 4. Постоянные затраты предприятия
Вид затрат
Заработная плата
Стоимость,
руб./мес.
25000
Примечание
87
ВКР 0606700256.00.00.00
Амортизационные
918
отчисления
Отчисления
в со-
1434
циальные фонды
Регистрация домена
50
Плата за использо-
330
вание веб-хостинга
Расходы на рекламу
45990
Электроэнергия
50 Вт*8 ч*22
26
дня*2,93=8,8
кВт*2,93
Погашение банковского кредита
Итого
Кредит на 1 год
11000
под 15% годовых
84748 руб.
Таблица 5. Единовременные затраты предприятия
Вид затрат
Стоимость
Амортизация
20 490 руб.
570 руб.
22 538 руб.
188 руб.
Стол компьютерный КС-0049
6 780 руб.
81 руб.
Кресло CH-993-Low/red
6 600 руб.
79 руб.
50 000 руб.
0 руб.
106 408 руб.
918 руб.
DELL Inspiron N5110-7984
Black + ОС Windows 7
Среда разработки Visual
Studio Professional
Разработка Интернетмагазина
Итого:
Величина амортизации определяется линейным способом
по формуле:
88
ВКР 0606700256.00.00.00
Ц∙а
,
100
где А – величина амортизации, руб,
А=
Ц - первоначальная стоимость оборудования с учетом
количества единиц,
а – норма амортизационных отчислений.
В свою очередь норма амортизационных отчислений вычисляется по следующей формуле:
1
∙ 100,
Тп
где Тп – срок полезного использования объекта, выраа=
женный в месяцах.
Далее приведен расчет амортизации для ПЭВМ:
Ц = 20 490 руб.
Так
как
ПЭВМ
относится
ко
второй
амортизационной
группе (срок от 2 до 3 лет включительно, согласно постановлению «О КЛАССИФИКАЦИИ ОСНОВНЫХ СРЕДСТВ, ВКЛЮЧАЕМЫХ В
АМОРТИЗАЦИОННЫЕ ГРУППЫ»), то:
а = (1 / 36) * 100
= 2,77
Отсюда:
А = 20 490
Норма
руб. * 2,77
амортизации
на
/ 100
= 570 руб.
программное
обеспечение
MS
Visual Studio устанавливаются в расчете на срок полезного использования, равный 10 годам.
Себестоимость единицы продукции (услуги) может определяться по формуле:
S=
где
(VC+FC)
N
,
S − себестоимость единицы продукции,
VC − переменные расходы,
FC − постоянные расходы,
89
ВКР 0606700256.00.00.00
N − объем производства.
Рассчитаем себестоимость, взяв период, равный одному
году и объем продукции, равный 20 штук:
84748 ∙ 12
= 50848.8 руб. ≈ 50849 руб.
20
Рассчитаем цену одной единицы продукции согласно
S=
формуле:
P = S + 0.15 ∙ S,
где
P − цена одной единицы продукции,
0,15 – торговая наценка(10 – 30
%).
P = 50849 + 0,15 ∙ 50849 = 58476 руб.
4.6.2. Расчёт точки безубыточности
Продаваемая продукция должна облагаться некоторыми
налогами:
А)
Налог
на
добавленную
стоимость
(НДС) —
косвенный
налог, форма изъятия в бюджет государства части добавленной стоимости, ставка которого с января 2004 года на
большинство товаров (услуг)
составляет 18%.
Б) Налог на прибыль — прямой налог, взимаемый с прибыли
организации
(предприятия,
банка,
страховой
и т. д.). Базовая ставка составляет 20%: 2%
компании
— зачисля-
ется в федеральный бюджет, 18% — зачисляется в бюджеты
субъектов Российской Федерации. Приведём отчёт о прибылях и убытках в таблице 6.
Таблица 6 – Прибыль и убытки
Наименование
Месяцы
показателей
1
2
Коммерческие расходы, руб.
3
4
90
ВКР 0606700256.00.00.00
Реклама
45990
45990
45990
45990
Электроэнергия
26
26
26
26
Веб-хостинг
330
330
330
330
Домен
50
50
50
50
11000
11000
11000
11000
57396
57396
57396
57396
Банковский кредит
Итого:
Управленческие расходы, руб.
Заработная плата персоналу
Отчисления в
фонды
Итого:
25000
25000
25000
25000
1434
1434
1434
1434
26434
26434
26434
26434
Расчётные данные
Объем продукции
Цена за 1 ед.
продукции
Выручка (с НДС)
Выручка(без
НДС)
Валовые затраты
за 1 месяц
Прибыль от продаж
Налог на прибыль
Чистая прибыль
1
2
3
4
58476
58476
58476
58476
58476
116952
175428
233904
49555,93
99111,86
83830
83830
83830
-34274,07
15281,86
64837,8
0
3056,37
12967,56
22878,67
-34274,07
12255,49
51870,24
91514,7
148667,80 198223,73
83830
114393,
37
Валовые затраты определятся суммой коммерческих расходов и управленческих.
Прибыль от продаж определяется
91
ВКР 0606700256.00.00.00
разностью Выручки с НДС и Валовых затрат. Чистая прибыль
определяется разностью прибыли от продаж и налогом на
прибыль.
Рассчитаем точку безубыточности графическим способом. Для этого по рассчитанным выручке и валовым затратам строится график (рисунок 1).
250000
Выручка, руб.
200000
150000
100000
50000
0
0
1
2
3
Объём продаж
Выручка
Валовые затраты
4
Рисунок 1 - Определение точки безубыточности графическим методом
Из графика видим, что точка безубыточности находится
в районе одной единицы продаваемой продукции, следовательно, чтобы предприниматель не терпел убытков, необходимо продавать не менее 2 единиц продукции.
Сумма первоначального капитала составляет затраты на
приобретение необходимого оборудования, начальной рекламы, а также расходы за один месяц работы. Итого
107208+84748=191956. На эту сумму будет взят кредит под
15 % годовых на один год.
ВКР 0606700256.00.00.00
92
Для того чтобы определить время, которое требуется
предприятию для возмещения первоначальных расходов выполняется оценка эффективности проекта. Она может быть
произведена упрощенно – по показателю “срок окупаемости
инвестиций”.
𝐼
𝑃𝑃 = ,
𝑃
Где PP – срок окупаемости инвестиций;
I – сумма инвестиций в проект;
P – среднегодовая (среднемесячная прибыль).
191956
= 1.6
116952
Таким образом, срок окупаемости инвестиций вложенных
𝑃𝑃 =
в проект составит 1.6 месяца.
5.Охрана труда
Охрана труда играет важную роль в любом виде деятельности, т.к. везде необходимо гарантировать сохранение жизни и здоровья человека.
5.1. Техника безопасности
Перечень работ:
- разработка программного обеспечения для ПК
ВКР 0606700256.00.00.00
93
- тестирование и отладка программного обеспечения
для ПК;
- разработка программного обеспечения для отладочной
платы;
- тестирование и отладка программного обеспечения
для отладочной платы.
Используемое оборудование:
- компьютер IBM PC;
- отладочная платформа DM6437 DVDP;
- ПУ.
5.1.1. Возможные причины несчастных случаев
Основная опасность для работников лаборатории вычислительной техники – это поражение электрическим током,
но не исключена возможность возникновения иных несчастных случаев бытового характера. Такие несчастные случаи
могут вызвать следующие факторы:
- неисправность мебели на рабочем месте оператора;
- неисправность оконных рам и дверей;
- ветхое состояние стен, пола и потолка компьютерного класса;
- неосторожное обращение с системой воздушного охлаждения компьютера.
Поражение электрическим током могут вызвать следующие факторы:
- прикосновение к металлическим нетоковедущим частям, которые могут оказаться под напряжением вследствие
нарушения изоляции проводников и замыкания фазы на корпус;
ВКР 0606700256.00.00.00
94
- прикосновение к неизолированным токоведущим частям
ЭВМ, находящимся под напряжением при эксплуатации, работе по тестированию
и отладке устройства;
- отсутствие или неисправность средств электрозащиты;
5.1.2. Мероприятия по предупреждению несчастных случаев
Основными нормативными документами являются «Правила
устройства электроустановок» (ПУЭ) и «Межотраслевые правила по охране труда (правила безопасности) при эксплуатации электроустановок» ПОТ РМ-016-2001.
Для предотвращения поражения электрическим током в
конструкции ЭВМ и ПУ предусмотрено следующее:
- применение основной (рабочей) или двойной (состоящей из основной и дополнительной) изоляции;
- защитное заземление оборудования;
- применение малых напряжений (питание используемых
устройств
осуществляется от источников напряжения ±5В,
9В и ±12В);
- защитное автоматическое отключение (УЗО, реагирующие на появление напряжения на корпусе);
- применение блокировочных устройств (для отключения
оборудования при вскрытии корпуса);
- использование сигнальных устройств (индикация);
Требования к безопасности при эксплуатации ВТ, ПУ
При эксплуатации вычислительной техники необходимо
выполнять ряд требований (по ТИ Р 02-02-03-2005):
1.Требования безопасности перед началом работы:
ВКР 0606700256.00.00.00
95
- визуальный контроль состояния изоляции;
- визуальный контроль состояния заземляющих
устройств;
- правильность сборки рабочей схемы;
2.Требования безопасности во время работы:
- запрещается прикасаться к задней панели системного блока при включенном питании;
- переключать разъемы интерфейсных кабелей периферийных устройств при включенном питании;
- отключать оборудование от электросети и выдергивать вилку, держась за шнур.
3.Требования безопасности по окончанию работы:
- отключить питание компьютера и отладочной платформы;
- привести в порядок рабочее место;
Требования безопасности при техническом обслуживании
и ремонте ВТ, ПУ:
1. Требования к обслуживающему персоналу:
Общие требования к обслуживающему персоналу описаны в ПОТ РМ-016-2001 и ТОИ Р-45-084-01(Типовая инструкция по охране труда при работе на персональном
компьютере), а также в технических условиях к используемому изделию. К самостоятельной работе с вычислительной техникой допускаются:
- Лица не моложе 18 лет;
- Не имеющие медицинских противопоказаний для работы с ВТ;
- Имеющие группу допуска не ниже II при эксплуатации и группу допуска не ниже III при техниче-
ВКР 0606700256.00.00.00
96
ском обслуживании и ремонте вычислительной техники;
2. Требования безопасности при техобслуживании и ремонте с полным снятием напряжения:
- Отключение компьютера и отладочной платы от сети
с видимым разрывом;
- Принятие мер по предупреждению случайной подачи
напряжения: извлечь предохранитель, отсоединить кабели питания;
- Проверка питания и снятие остаточного напряжения;
3. Меры безопасности при работе с отладочной платформой:
- плотное соединение
устройства с портом компьюте-
ра;
- размещение устройства на твёрдой ровной поверхности;
- устройство должно быть расположено в местах, где
предусмотрено непопадание воды;
- включение компьютера в сеть;
4. Меры безопасности при тестировании и отладке (работы без снятия напряжения):
- заземление блоков питания всех устройств;
- выполнение работ на диэлектрическом основании;
- ограждение неизолированных токоведущих частей, доступ к которым при тестировании не нужен;
- использование инструментов, индикаторов с диэлектрическими ручками;
ВКР 0606700256.00.00.00
97
- использование контрольно-измерительных приборов,
рассчитанных на диапазон измерения больше, чем измеряемые параметры величин
- правильное выполнение приёмов работы (соблюдение
технологии и
порядка следования операций);
5. Техническое испытание электрооборудования:
- контроль сопротивления заземляющих устройств;
- контроль сопротивления изоляции токоведущих частей;
- контроль сопротивления нейтральной точки источника
тока, сопротивления повторных заземляющих устройств, нулевого провода, петли «фаза-ноль».
Организационные мероприятия по предупреждению НС:
- надзор за состоянием вычислительной техники, оборудования, инструментов, за соблюдением работниками правил и норм по технике безопасности;
- надзор за организацией и содержанием рабочих мест;
- осуществление допуска к проведению работ.
5.2. Производственная санитария
При работе с ЭВМ, операторы подготовки данных, программисты сталкиваются с воздействием таких физически
опасных и вредных производственных факторов, как:
- повышенный уровень шума;
- повышенная температура внешней среды;
- отсутствие или недостаточная освещённость рабочей
зоны;
- повышенный уровень электромагнитного излучения;
98
ВКР 0606700256.00.00.00
- повышенное содержание вредных веществ;
- повышенный уровень запыленности воздуха;
- пониженная ионизация воздуха;
Воздействие указанных вредных факторов приводит к
снижению работоспособности, вызванное развивающимся
утомлением. Сильный шум вызывает трудности с распознанием цветовых сигналов, снижает быстроту восприятия
цвета, остроту зрения, зрительную адаптацию, нарушает
восприятие визуальной информации, уменьшает на 5 - 12 %
производительность труда. Длительное воздействие шума с
уровнем звукового давления 90 дБ снижает производительность труда на 30 - 60 %, приводит к ухудшению слуха.
Воздействие электромагнитных волн приводят к отклонениям центральной нервной системы и сердечнососудистой
системы человека. Появляется головная боль, сонливость,
утомляемость, слабость, снижение памяти, рассеянность.
Длительное нахождение человека в зоне комбинированного
воздействия различных вредных факторов может привести к
профессиональному заболеванию.
Приведём нормирование параметров труда в виде таблиц.
Таблица 1 - Параметры микроклимата (СанПиН.2.2.4.548-96)
Относительная
Скорость дви-
влажность возду-
жения возду-
ха, %
ха, м/с
22-24
40-60
≤ 0,1
23-25
40-60
≤ 0,1
Период
Температура
года
воздуха, °𝐶
Холодный
Теплый
Таблица 2 - Параметры чистоты воздуха (ГН 2.1.6.1338–03)
99
ВКР 0606700256.00.00.00
Вредное
Источник выде-
вещество
ления вредных
Агрегатное
Класс
ПДК
состояние ве- опасности
мг/м3
веществ
щества
Этанол
Очистка
Пары
4
5
Озон
Монитор
Газ
1
0,16
Принтер
Аэрозоль
4
0,2
Бумажная
пыль
Таблица 3 - Уровни ионизации воздуха
(СанПиН.2.2.2.542-96)
Число ионов в 1 см куб. воздуха
Уровни
n+
n
400
600
1500-3000
3000-5000
50000
50000
Минимально необходимые
Оптимальные
Максимально допустимые
Таблица 4 - Параметры освещения
(СаниН.2.2.1/2.1.1.1278-03, СанПиН.2.2.2/2.4.1340–03)
Вид,
Естественное
разряд,
освещение
подразря
д
зрительн
ой
работы
Вид
КЕО
освещен норм.,
ия
%
Искусственное освещение
Вид
Вид
Тип
Освещё
осве
источни
свет
нность
щени
ка
ильн
норм.,
я
света
ика
лк
100
ВКР 0606700256.00.00.00
Комб
инир
ован
Работа
за
компьюте
Боковое
Лампа
накалив
500
ания Б
ное
1,08
300-
ННО
Люминес
ром Б2
Обще
центная
е
лампа
ЛПО
300
ЛБ
Таблица 5 - Параметры шума и вибрации
(СанПиН.2.2.2/2.4.1340–03)
Шум
Источник
Уровень звука,
дБА
шума
факт
Компьютер
Принтер
Вибрация
ПДУ
2526
50
75
Источн
Уровень
ик
виброскорости,
вибрац
дБ
ии
Принте
р
факт.
ПДУ
30-40
75
Таблица 6 - Параметры излучений
(СанПиН.2.2.2/2.4.1340-03)
Наименование параметров
Напряженность
ВДУ ЭМП
в диапазоне частот 5 Гц - 2 кГц
25 В/м
в диапазоне частот 2 кГц - 400 кГц
2,5 В/м
Плотность магнит-
в диапазоне частот 5 Гц - 2 кГц
250 нТл
ного потока
в диапазоне частот 2 кГц - 400 кГц
25 нТл
электрического
поля
Электростатический потенциал экрана видеомонитора
500 В
Напряжённость электростатического поля
15 кВ/м
ВКР 0606700256.00.00.00
101
Приведём перечень мероприятий по обеспечению нормативных условий труда:
1.Защита от излучения:
- схемотехнические методы:
Необходимо применение мониторов с пониженным
уровнем излучения и различных типов защитных экранов, а также мониторов без ЭЛТ и применение внутренних защитных экранов, которые должны заземляться.
- защита расстоянием:
Расстояние от пользователя до экрана - не менее
50 см, от задней стенки до другого монитора – не менее 2 м. В помещении с несколькими компьютерами,
расстояние между боковыми поверхностями мониторов не менее 1,2 м. Площадь одного рабочего места пользователя ЭВМ с ВДТ на базе ЭЛТ - не менее 6м2, а
объем 20м3; а для ЖК монитора площадь рабочего места
- не менее 4,5 м2.
- защита временем:
Заключается в соблюдении режима работы:
- Рекомендуется организация перерывов на 10 - 15
мин через каждые 45 - 60 мин работы.
- Продолжительность непрерывной работы с ВДТ без
регламентированного перерыва не должна превышать 1
ч.
- При работе в ночную смену продолжительность
регламентированных перерывов следует увеличивать на
30%.
2.Обеспение нормированного уровня освещенности:
102
ВКР 0606700256.00.00.00
- Естественное освещение создаётся природными источниками света. В помещениях используется естественное боковое освещение. Основной поток естественного света должен быть слева.
- Искусственное освещение в помещениях для эксплуатации ПЭВМ должно осуществляться системой общего равномерного освещения
- Помещения, предназначенные для размещения рабочих
мест, оснащённых дисплеями, следует оснащать солнцезащитными устройствами.
- Предельно допустимые значения визуальных параметров ВДТ, контролируемые на рабочих местах, представлены
в таблице 7.
Таблица 7 - Визуальные параметры ВДТ, контролируемые
на рабочих местах
№
Параметры
Допустимые значения
1 Яркость белого поля
Не менее 35 кд/м2
2 Неравномерность яркости рабочего поля
Не более  20 %
3 Контрастность (для монохромного режима)
Не менее 3:1
4 Временная нестабильность изображения (не- Не
должна
фиксиро-
преднамеренное изменение во времени ярко- ваться
сти изображения на экране дисплея)
5 Пространственная нестабильность изображе- Не
более
ния (непреднамеренные изменения положения где L фрагментов изображения на экране)
расстояние
2

10-4L,
проектное
наблюде-
ния, мм
- Для дисплеев на ЭЛТ частота обновления изображения
должна быть не менее 75 Гц при всех режимах разрешения
экрана, гарантируемых нормативной документацией на конкретный тип дисплея, и не менее 60 Гц для дисплеев на
плоских дискретных экранах (жидкокристаллических, плаз-
ВКР 0606700256.00.00.00
103
менных и т.п.).
3.Требования к микроклимату, содержанию аэроионов и
вредных химических веществ в воздухе на рабочих местах,
оборудованных ПЭВМ
- Помещения должны быть оборудованы естественной
вентиляцией, которая осуществляется через неплотности
окон, дверей и организуется при помощи дефлекторов и
аэрации.
- Помещения с ВТУ следует оборудовать установками
кондиционирования воздуха с возможностью ионизации воздуха, которые позволят поддерживать параметры микроклимата в необходимых пределах в течение всех сезонов года.
- Для поддержания производственных микроклиматических параметров в холодное время года используется водяное отопление.
- Для борьбы с запылённостью воздуха необходимо проводить влажную ежедневную уборку и регулярное проветривание помещения.
4.Обеспечение нормированных уровней шума и вибрации
на рабочих местах, оборудованных ПЭВМ
- Применение виброопор, упругих прокладок между основанием машины, прибора и опорной поверхностью.
- Звукопоглощение обеспечивается покрытием стен звукопоглощающей облицовкой.
- Звукоизоляция окон и дверей.
5.Требования к организации и оборудованию рабочих
мест с ПЭВМ:
ВКР 0606700256.00.00.00
104
- Видеомонитор должен быть оборудован поворотной
площадкой, позволяющей перемещать ВТУ в горизонтальной и
вертикальной плоскости в пределах 130 - 220 мм и изменять угол наклона экрана на 10 - 15 градусов.
- Рабочее место должно соответствовать антропометрическим параметрам человека и должно регулироваться.
5.3. Пожарная безопасность
Категория помещения B по взрывопожарной и пожарной
опасности согласно СП 12.13130.2009, так как в рабочем
помещении преобладают твердые горючие и трудно горючие
вещества и материалы (в том числе пыли и волокна).
Возможные причины возгорания в данном помещении:
- короткое замыкание, перегрузка электросетей и
электрооборудования, возникновение больших переходных
сопротивлений;
- несоблюдение обслуживающим персоналом правил пожарной безопасности;
- нарушение работы систем отопления, вентиляции, кондиционирования;
- разряд атмосферного и статического электричества.
Основные мероприятия по предупреждению загораний:
1.Мероприятия, касающиеся электрооборудования:
- выбор электрооборудования в исполнении, соответствующем условиям эксплуатации;
- визуальный контроль и периодическое измерение сопротивления изоляции токоведущих частей;
- ограждение токоведущих частей;
- подключение расчётного числа потребителей;
- соблюдение режимов работы оборудования;
105
ВКР 0606700256.00.00.00
- своевременное и качественное техническое обслуживание электрооборудования;
- применение плавких предохранителей или других защитных устройств;
2.Мероприятия, связанные с обслуживающим персоналом:
- обучение персонала правилам пожарной безопасности;
- контроль за соблюдением обслуживающим персоналом
правил ППБ
- привлечение к ответственности при их нарушении;
- организация комнат для курения;
- обучение персонала правильным условиям эксплуатации ЭВМ;
3.Мероприятия, связанные с обустройством помещений:
- обеспечение эффективности работы систем вентиляции, отопления,
кондиционирования;
- устройство молниезащиты зданий;
- заземление для защиты от статического электричества, применение антистатических полов.
Для
тушения
пожаров
в
помещениях
с
электронно-
вычислительной техникой следует использовать огнетушители углекислотные и хладоновые (в соотв. с п.12 прил.3
ППБ 01-03).
Также необходимо предусмотреть систему внутреннего и
внешнего пожарного водоснабжения.
Для быстрого оповещения и устранения пожара необходимо применение автоматических систем пожарной сигнализации. В качестве датчиков в АПС должны использоваться
комбинированные пожарные извещатели, реагирующие на дым
и температуру.
ВКР 0606700256.00.00.00
106
Также рекомендуется использовать автоматические газовые системы пожаротушения сблокированные с АПС. Для
спасения людей во время пожара необходимо произвести
устройство путей эвакуации.
Пути эвакуации должны удовлетворять следующим требованиям:
Пути должны располагаться так, чтобы движение к
выходам было в противоположном направлении от вероятных
очагов пожара;
- Двери открываются в направлении эвакуации;
- Все коридоры должны иметь искусственное освещение,
а на пути эвакуации не должно быть препятствий, мешающих
движению людей;
- Помещение должно быть оснащено плакатами с
указанием маршрута и путей эвакуации при пожаре;
5.4. Устройство защитного отключения
Основная задача УЗО — защита человека от поражения
электрическим током и от возникновения пожара, вызванного утечкой тока через изношенную изоляцию проводов и некачественные соединения.
Принцип работы УЗО основан на измерении баланса токов между входящими в него токоведущими проводниками с
помощью дифференциального трансформатора тока. Если баланс токов нарушен, то УЗО немедленно размыкает все входящие в него контактные группы, отключая, таким образом,
неисправную нагрузку.
Назначение УЗО:
ВКР 0606700256.00.00.00
107
- Защита человека от поражения электрическим током
при косвенном прикосновении (прикосновение человека к
открытым проводящим нетоковедущим частям электроустановки, оказавшимся под напряжением в случае повреждения
изоляции), а также при непосредственном прикосновении
(прикосновение человека к токоведущим частям электроустановки, находящимся под напряжением). Данную функцию
обеспечивают УЗО соответствующей чувствительности (ток
отсечки не более 30 мА).
- Предотвращение возгораний при возникновении токов
утечки на корпус или на землю.
Рисунок 1 - Принципиальная схема защитного отключения: 1 — корпус электроприемника; 2 — отключающая пружина; 3 — контакты сетевого контактора; 4 — защелка; 5 —
сердечник катушки; б — отключающая катушка; 7, 8 — заземлители; 9 – контакт
Рассмотрим действие защитного отключения при возникновении напряжения на корпусе одиночного электроприемника в результате повреждения его изоляции. Здесь возможны
два случая: электроприемник не заземлен и электроприемник имеет заземление.
Первому случаю соответствует разомкнутое положение
контакта 9 (рисунок 1). На некотором расстоянии от защищаемого электроприемника забивают в землю заземлитель 7
ВКР 0606700256.00.00.00
108
(в том случае, если нет естественных заземлителей, которые не должны иметь электрической связи с корпусом /
электроприемника). Защитный отключатель позволяет произвести разрыв цепи электроснабжения контактами сетевого
контактора при подаче напряжения на катушку 6.
При обесточенном состоянии катушки 6 ее сердечник 5
удерживает защелку 4, не позволяя пружине 2 разомкнуть
контакты 3 (на схеме контакты показаны разомкнутыми, хотя сердечник удерживает защелку). Один конец обмотки катушки присоединен к корпусу 7 электроприемника, второй —
к выносному заземлителю 7. В случае повреждения изоляции
между корпусом электроприемника и выносным заземлителем
7 появится фазное напряжение. Отключающая катушка 6 окажется под напряжением, и по ее обмотке потечет ток. Сердечник 5 втянется и освободит удерживающую защелку 4.
Пружина 2 разомкнет контакты 3 сетевого контактора, и
цепь питания электроустановки разорвется. Напряжение
прикосновения на корпусе электроприемника исчезнет, соприкосновение с ним станет безопасным.
Второму случаю, когда корпус электроприемника заземлен, соответствует замкнутое положение контакта 9. При
возникновении повреждения изоляции на корпусе электроприемника появится напряжение, значение которого будет
определять падение напряжения в заземлителе, равное току
замыкания на землю, умноженному на сопротивление заземления заземлителя. Принципиальной разницы в действии защиты в первом и втором случаях нет.
УЗО измеряет алгебраическую сумму токов, протекающих
по контролируемым проводникам. Если же сумма превышает
допустимое значение, то это означает, что часть тока
ВКР 0606700256.00.00.00
109
проходит помимо УЗО, то есть контролируемая электрическая цепь неисправна — в ней имеет место утечка.
С точки зрения электробезопасности УЗО принципиально
отличаются от устройств защиты от сверхтока (предохранителей) тем, что УЗО предназначены именно для защиты от
поражения электрическим током, поскольку они срабатывают
при утечках тока значительно меньших, чем предохранители. УЗО должны срабатывать за время не более 25-40 мс,
то есть до того, как электрический ток, проходящий через
организм человека, вызовет фибрилляцию сердца — наиболее
частую причину смерти при поражениях электрическим током.
Обнаружение токов утечки при помощи УЗО является дополнительным защитным мероприятием, а не заменой защиты
от сверхтоков при помощи предохранителей, так как УЗО
никак не реагирует на неисправности, если они не сопровождаются утечкой тока (например, короткое замыкание
между фазным и нулевым проводниками).
Download