Лекция: Автоматизация функционально-логического этапа проектирования цифровых узлов и устройств.

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

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

Графические форматы. BMP, GIF и JPEG.

BMP

Хранит данные о цвете только в модели rgb, поддерживает как индексированные цвета, так и true color, причем в режиме индексированных цветов возможна простейшая компрессия RLE. Вся «мультиплатформенность» формата заключается лишь в поддержке Windows и OS/2.

Чтобы восстановить графический образ на экране из формата bmp не надо проводить никаких сложных и ресурсоемких операций по декодированию — достаточно лишь последовательно считывать номера цветов пикселей в палитре rgb и отображать их поток на экране. Такой простой алгоритм не может не сказаться на степени загрузке процессора при обработке файлов bmp. Вот и используют их для хранения логотипов, splash-screen'ов, иконок и прочих графических бирюлек внутри программ. Bmp — официальный графический формат платформы Windows.

GIF

В 1987 году специалисты из фирмы CompuServe поднатужились и явили миру новый формат для хранения изображений в режиме индексированных цветов — gif (Graphics Interchange Format). Как следует из названия, формат был изначально ориентирован на обмен картинками через узкие каналы связи глобальной сети. В 1989 году формат был модифицирован, и его новая версия получила название gif89a. Gif ориентирован в первую очередь на хранение изображений в режиме индексированных цветов (не более 256), также поддерживает компрессию без потерь LZW. Но главная соковыжималка для картинок в формате gif — это, все таки, приведение их к меньшему числу цветов. Само собой, что такое пройдет без последствий лишь на картинках с изначально небольшим количеством цветов: рисованной графике, элементах оформления, маленьких.

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

JPG

Гармонический анализ не имеет пространственной локализации, поскольку не имеют пространственной локализации гармонические функции, поэтому для повышения эффективности методов сжатия необходимо дробить данные на фрагменты и применять преобразования Фурье к каждому фрагменту по отдельности. JPEG является стандартом де-факто для полноцветных изображений. Оперирует областями 8*8, на которых яркость и цвет меняются сравнительно плавно. При разложении матрицы такой области в двойной ряд по косинусам значимыми оказываются только первые коэффициенты. Таким образом, сжатие в JPEG осуществляется за счёт плавности изменения цветов в изображении.

1. Переводим изображение из RGB в YUV (Y – luminance, – яркость, V – хроматический красный, U– хроматический синий). Разбиваем изображение на матрицы 8*8. Если установлена слабая степень сжатия, то компоненты YUV кодируются 8 битами как есть. Если сильная, то каналы цветности усредняются по блокам 2*2 пикселей (YUV 4:2:0), т.е. из матрицы 16*16 получается матрица 8*8. При этом мы теряем 3/4 полезной информации о цветовых составляющих изображения и получаем сразу сжатие в два раза.

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

4. Производим квантование — целочисленное деление рабочей матрицы на матрицу квантования поэлементно. Для каждой компоненты (Y, U и V), в общем случае, задаётся своя матрица квантования q[u, v]. На этом шаге осуществляется управление степенью сжатия, и происходят самые большие потери. Задавая МК с большими коэффициентами, мы получим большую степень сжатия. Матрицы для большей или меньшей степени сжатия получают путём умножения исходной матрицы на некоторое число gamma. При больших значениях коэффициента gamma потери в низких частотах могут быть настолько велики, что изображение распадётся на квадраты 8*8. Потери в высоких частотах могут проявиться в так называемом «эффекте Гиббса».

5. Переводим матрицу 8*8 в 64-элементный вектор при помощи «зигзаг»-сканирования. Таким образом, в начале вектора мы получаем коэффициенты матрицы, соответствующие низким частотам, а в конце – высоким.

6. Свёртываем вектор с помощью алгоритма группового кодирования (аналог RLE). При этом получаем пары типа <пропустить, число>, где «пропустить» является счётчиком пропускаемых нулей, а «число» – значение, которое необходимо поставить в ячейку.

7. Свёртываем получившиеся пары кодированием по Хаффману с фиксированной таблицей.

Характеристики алгоритма JPEG:

• Степень сжатия: 2…200 (задаётся пользователем).

• Класс изображений: Полноцветные 24 битные изображения или изображения в градациях серого без резких переходов цветов (фотографии).

• Симметричность: 1.

• Характерные особенности: в некоторых случаях, алгоритм создает «ореол» вокруг резких горизонтальных и вертикальных границ в изображении (эффект Гиббса). Кроме того, при высокой степени сжатия изображение распадается на блоки 8*8 пикселов.

 

 

еще рефераты
Еще работы по информатике