- •Содержание Введение Программное обеспечение (software)
- •Инструментальное по (software tools)
- •Язык программирования (Programming Language)
- •Лекция 2 Программно-технические средства реализации компьютерных технологий. Классы операций компьютерных технологий.
- •Лекция 3 Технология обработки текстовой информации Классификация информации по разным признакам
- •Понятие информации, информатики. Технология обработки информации Понятие информации
- •Классификация информации
- •Технология обработки информации
- •Текстовые процессоры
- •Типовая структура интерфейса
- •Режим вставки и замены символов
- •Редактирование текста.
- •Понятие фрагмента текста и его выделение.
- •Копирование и перемещение фрагментов текста
- •Удаление текста
- •Операция откатки
- •Форматирование текста
- •Понятие абзаца
- •Лекция 4 Технология обработки финансово-экономической и статической информации Системы обработки финансово-экономической информации
- •Компьютерные информационные технологии в бухгалтерском учете
- •Технология компьютерной обработки учетной информации на малом предприятии
- •Нейросетевые технологии в финансово-экономической деятельности
- •Лекция 5 Основы компьютерной графики Введение в компьютерную графику и анимацию
- •Классы программ для работы с графикой
- •Понятие цвета в компьютерной графике
- •Битовая глубина (глубина цвета, цветовое разрешение)
- •Цветовые модели
- •Цветовая палитра
- •Основы растровой графики
- •Связь между параметрами изображения и размерами файла
- •Лекция 6 Основы векторной графики
- •Математические основы векторной графики.
- •Фрактальная графика.
- •Основные понятия векторной графики.
- •Лекция 7 Редактирование графических изображений Масштабирование растровых изображений
- •Увеличиваем число пикселов в изображении Нестрогое сравнение различных реализаций функции Resample
- •Откуда взять недостающие пикселы?
- •Мини-тестирование на основе реального изображения
- •Выводы (вернее, рекомендации)
- •Интерполяция
- •Уменьшение числа пикселов в изображении
- •Анализ реального изображения
- •Лекция 8 Преобразование форматов файлов
- •Лекция 9 Системы автоматизированного проектирования (сапр)
- •Структура сапр
- •Разновидности сапр
- •Понятие о cals-технологиях
- •Техническое обеспечение сапр
- •Особенности технических средств в асутп
- •Лекция 10 Системы параметрического автоматизированного проектирования и черчения
- •Лекция 11 Графический редактор
- •Достоинства CorelDraw
- •Недостатки CorelDraw
- •Требования к системным ресурсам
- •Интерфейс программы
- •Строка меню
- •Окно документа
- •Рабочая страница
- •Линейки
- •Лекция 12 Мультимедийная информация
- •1. Rle, Run Length Encoding, Кодирование Длин Повторов.
- •2. Sem (Separate Exponents and Mantissas). Отделение мантиссы числа от экспоненты.
- •3. Mtf (Move To Front, Сдвиг к Вершине) и dc (Distance Coding, Кодирование Расстояний) хорошо описаны в bwt-faq-e Вадима Юкина.
- •8. Vq, Vector Quantization. Векторная квантизация.
- •Список литературы
Строка меню
Строка основного меню располагается в верхней части экрана CorelDraw сразу же под строкой заголовка. Это единственный элемент окна программы, который имеет фиксированное положение и не может быть перемещен в произвольное место экрана. Основное меню по умолчанию содержит 11 пунктов, каждый из которых служит для вызова соответствующего меню со списком команд. Вы можете дополнить основное меню своими собственными наборами команд.
Окно документа
Основной областью главного окна является окно документа с областью рабочей страницы. Оно занимает большую часть экрана. Допускается размещать объекты в любом месте окна документа, в том числе и за пределами рабочей страницы (но в этом случае они не будут выводиться на печать).
По умолчанию объекты отображаются со всеми атрибутами контура и заливки. Этот режим просмотра, называемый Enhanced, автоматически устанавливается сразу после запуска CorelDraw. Начиная с 7-й версии, в CorelDraw наряду с этим режимом предусмотрена возможность использования еще четырех режимов просмотра и редактирования. Их выбор определяется соотношением скорости просмотра и качества отображения редактируемого документа. При работе в режимах Draft (Черновик), Simple Wire frame (Упрощенный каркас) и Wire frame (Каркас) объекты отображаются на экране с сокращенным количеством деталей, что приводит к существенному повышению быстродействия программы. Режимы просмотра Normal (Обычный) и Enhanced (Улучшенный) предъявляют повышенные требования к ресурсам вашей системы в плане быстродействия и объема ОЗУ.
Рабочая страница
Рабочая страница представляет собой прямоугольник (выделенный падающей тенью), который расположен в центре окна документа. Его размеры задаются в соответствии с размерами листа бумаги, устанавливаемыми с помощью команды Layout > Page Setup (Макет > Макет страницы). Наряду с понятием рабочей страницы в CorelDraw используется понятие печатной страницы. При соответствующей настройке размеров рабочей страницы их можно сделать идентичными. В противном случае следует помнить, что печатается только та часть документа, которая находится внутри печатной страницы.
Линейки
Линейки (горизонтальная и вертикальная) позволяют визуально оценить размер и текущее положение объектов на странице и курсора в тексте. Однако в CorelDraw линейки выполняют дополнительные, возможно, более важные функции.
Лекция 12 Мультимедийная информация
Мультимедийной информацией (ММИ) называют, как правило, звук (поток audio), двумерные картинки, video (поток двумерных картинок), трехмерные образы.
В течение века не менее актуальными станут и другие виды - поток трехмерных образов, поток запахов.
В чем отличия ММИ от других видов информации ?
1) Источник ее - приборы, измеряющие параметры физического мира. С некоторой натяжкой любую информацию, получаемую цифровым устройством из физического мира через измерительные (оцифровывающие) устройства, можно назвать ММИ (например, сила тока, скорость движения, направление ветра). Процесс называют аналого-цифровым преобразованием (АЦП) или «оцифровкой» (обратный процесс - цифро-аналоговое преобразование - ЦАП). Результат процесса оцифровки - мультимедийные данные (ММД), форма ММИ.
Неизбежны неточности при измерении, и допустимо «округление» в нужную сторону, в том числе такое, в результате которого сжатие будет лучше. Если же известно, что ПРИЕМНИК заданного блока ММД - органы чувств человека (в первую очередь глаза или уши), то можно «округлять» с учетом их свойств.
Можно учитывать и особенности канала связи, по которому будут передаваться оцифрованные ММД (медные провода, кварцевое оптоволокно, воздух, вода...)
2) Размерность. Для хранения числа-результата каждого измерения обычно используется от 4-х битов (16 значений) до 32-х (2 в 32-й степени =4 с лишним миллиарда), но как правило,- 16, 24 или 32. То есть размерность байта R=16, 24 или 32, а не 8, как в большинстве других случаев: исполнимый код для процессоров семейства x86, восьмибитный ASCII-текст, базы данных (16-битный UNICODE-текст и исполнимый код для других процессоров в целом менее актуальны в настоящее время).
Причем блок ММД состоит исключительно из байтов одной размерности R, в отличие от баз данных, кода для x86 и т.д.
3) Линейность. Измерения проводятся через равные интервалы времени (поток звука - audio, поток картинок - video, и др.) и через равные расстояния в пространстве (двумерные картинки, трехмерные образы...).
Байты-значения измерений записываются в блок ММД последовательно.
Иногда при записи ММД в блоки их периодически «выравнивают», чтобы расстояние от начала блока до границы выравниваемого фрагмента удовлетворяло некоторому критерию. Например, в .BMP-картинках каждая новая строка изображения должна начинаться с адреса, кратного четырем, а в .RAS-файлах - кратного двум. Но байты, лежащие между фрагментами, не несут полезной информации о блоке ММД.
Если же все-таки несут, то это уже блок обработанных ММД (ОММД), и процесс его сжатия должен ориентироваться на вид этой обработки, иначе сжатие будет существенно хуже, чем в случае учета обработки.
За исключением случаев «палитризованных» картинок и иных блоков ОММД, каждое значение байта _линейно_ зависит _только_ от значений соседних в пространстве-времени байтов.
В случае текста оно зависит еще и от языка (русский, английский, китайский...) и типа файла (DOS текст, Unix текст, текст на Си, на HTML). В случае исполнимого кода - от типа процессора и компилятора. И алгоритмы сжатия/расжатия должны либо заранее знать особенности обрабатываемых блоков, либо описывать-передавать-получать-использовать эти особенности в процессе работы.
В случае ММД таких осложнений нет: свойства физического мира всегда одинаковы.
4) Каналы. Три первых пункта описывают блок одноканальных ММД.
Как правило, блок ММД содержит информацию о нескольких каналах ММД.
Например, в случае стерео звука это два канала - левый и правый. А в случае картинки можно считать каналом либо каждую строку, либо каждый столбец цифрового изображения. Или же вовсе не трактовать столбцы или строки как разные каналы, а просто считать, что окрестность каждого байта - двумерная, а не одномерная. Тем более что, во-первых, если двумерная картинка описывает поверхность трехмерного объекта (допустим, шара), то длины каналов будут разными, а их выбор проблематичным. Во-вторых, каждый квант изображения (точка, пиксел) обычно состоит из нескольких компонент: например, RGB - яркость красного (red), зеленого (green), синего (blue); HSB - тон цвета (hue), насыщенность (saturation) и яркость (brightness). Эти компоненты тоже можно считать разными каналами, и, как правило, именно это удобнее, так как их обычно 2, 3 или 4, а не столько, сколько строк или столбцов (от десятков до тысяч).
В общем случае, если блок ММД описывает N каналов, то либо он состоит из N фрагментов длиной X байт, либо из X фрагментов по N байт. То есть N каналов идут либо последовательно, либо параллельно. Это и будет определением канала. Содержимое (множество байтов) каждого канала зависит либо от всех остальных каналов (RGB, HSB и т.д.), либо только от соседних (строки, столбцы).
Вот, собственно, и все. Первый пункт будем далее считать определением ММД, а отклонения от свойств 2, 3 или 4 - особыми случаями ММД.
Как использовать эти четыре особенности ММД для их сжатия ?
Несколько слов о сжатии вообще. Существует два подхода к сжатию - беспотерьное сжатие (lossless), и сжатие с потерями (lossy). Именно второй применяют при сжатии ММД чаще, из-за особенностей Источника и Приемника.
Теоретически любой «потерьный» алгоритм можно сделать «беспотерьным», но чаще всего такой искусственно переориентированный алгоритм оказывается намного менее эффективным, чем алгоритмы, идущие к той же цели другими путями, и изначально ориентированные на lossless - сжатие без потерь.
С другой стороны, блоки/потоки данных любого типа .ABZ можно сжимать с «потерями» (возможно, даже улучшающими содержимое с точки зрения Приемника) алгоритмом, специально «заточенным» под данные этого типа .ABZ (например, DocumentPress Игоря Павлова[22], оптимизация таблиц в заголовках EXE-файлов).
Базовых же стратегий сжатия три:
«Окно-Словарь» (Трансформация Потока).
Описание поступающих данных на основании уже имеющихся. Например, LZ-методы для потоков/блоков слов, т.е. когда комбинации поступающих байтов предсказуемы по уже обработанным комбинациям. Преобразование по таблице, RLE, LPC, DC, MTF, SEM, Subband Coding - для байтов, т.е. когда не имеет смысла рассматривать комбинации длиной два и более байта (или «запоминать» эти комбинации, в случае Linear Prediction Coding). Никаких вероятностей, в отличие от второго случая, не вычисляется. В результате трансформации формируются, как правило, несколько потоков (за исключением LZ78, LZW и т.п.) Даже если суммарный объем потоков увеличивается, их структура улучшается, и последующее сжатие идет проще, быстрее и лучше.
Статистика.
а) Адаптивная (поточная).
Вычисление вероятностей для поступающих данных на основании статистики по уже обработанным. Кодирование с использованием этих вычисленных вероятностей. Например, семейство PPM-методов[2] -для слов, адаптивные Huffman, Shannon-Fano, Арифметическое Кодирование - для байтов. В отличие от первого случая, давно собраная статистика имеет тот же вес, что и недавняя, если алгоритм не борется с этим специально. Кроме того, считаются вероятными все комбинации, в том числе те, что еще не встречались в потоке, и, скорее всего, никогда не встретятся.
б) Блочная. Отдельно кодируется и добавляется к сжатому блоку его статистика.
Статические Huffman/Shannon-Fano и Arithmetic для байтов. Статический (pre-conditioned) PPM для слов.
Трансформация Блока.
Входящие данные разбиваются на блоки, которые затем трансформируются целиком (а в случае однородных данных лучше брать весь блок, который требуется сжать). BlockSorting-методы, в том числе BWT[3], здесь же Fourier Transform, Discrete Cosine Transform, Discrete Wavelet Transform, фрактальные преобразования, Enumerative Coding.
Как и в первом случае, в результате могут формироваться несколько блоков, а не один. Опять же, даже если суммарная длина блоков не уменьшается, их структура значительно улучшается, и последующее сжатие происходит проще, быстрее и лучше.
Одним предложением: алгоритм сжатия может быть или статистическим, или трансформирующим, и обрабатывать данные либо поточно, либо блоками, причем чем больше и однороднее данные и память, тем эффективнее блочные алгоритмы; чем меньше и неоднороднее данные и память, тем эффективней поточные методы; чем сложнее Источник, тем сильнее улучшит сжатие оптимальная трансформация, чем проще Источник, тем эффективней прямолинейное статистическое решение «в лоб» (так называемые источники Бернулли и Маркова).
Комплексные, более совершенные алгоритмы сжатия будут синтезировать все стратегии, но пока таких нет, и базовых стратегий - три. Все ныне существующие компрессоры используют для блоков слов либо метод из семейства LZ, либо из семейства BlockSorting, либо из PPM, но никак не синтез всех трех или хотя бы двух стратегий.
Впрочем, некоторые синтезирующие алгоритмы существуют давно.
Во-первых, успешно совмещают поточную и блочную стратегии фавориты интернета MP3, MPEG и JPEG (о них написаны тысячи научных и популярных статей, в том числе о дискретном косинусном преобразовании, главном из используемых ими алгоритмов, поэтому дальше о них речи не пойдет.
Во-вторых, правильный компрессор последовательно применяет три-четыре алгоритма (препроцессинг-фильтрация, сжатие слов, затем байтов, наконец битов), и последний из них, как правило, статистический, хотя первые два-три могут быть и трансформирующими.
Из-за наличия у ММД характерных свойств - линейность, размерность, каналы - трансформации улучшают сжатие практически всегда.
Далее, ММД поступают, как правило, достаточно большими и однородными блоками, да и памяти доступно все больше. Поэтому более эффективные кодеки (пара компрессор плюс декомпрессор) первичным методом, применяемым к истинным ММД и определяющим эффективность всего процесса (вторичные алгоритмы работают с ОММД), используют один из методов третьей стратегии (Трансформация Блоков).
Какие существуют трансформации ?
