Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
68
Добавлен:
02.05.2014
Размер:
359.94 Кб
Скачать

Анимация

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

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

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

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

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

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

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

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

Цифровая видеоинформация

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

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

Процесс преобразования видеосигнала в цифровой битовый поток называется аналого-цифровым преобразованием или оцифровкой. Оцифровка включает в себя два этапа:

  1. Дискретизация данных, взятых из видеопотока.

  2. Преобразование каждой дискретизированной величины в цифровой формат.

Каждая дискретизированная величина обычно сохраняется в виде 16-битового целого. Частота, с которой "замеряются" дискретизированные величины, называется частотой дискретизации. Определяется она количеством дискретизированных величин, захваченных за секунду. Оцифровка видеоинформации сопровождается дискретизацией, частота которой достигает миллионов дискретизированных величин в секунду.

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

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

В Соединенных Штатах формат составного видеосигнала определяется стандартом цветной телевизионной системы NTSC. Цветные телевизионные системы PAL и SECAM, действующие в Европе, не совместимы с NTSC. Значительная часть компьютерной видеоаппаратуры может параллельно поддерживать несколько таких стандартов.

Компоненты составного видеосигнала обычно декодируются в три отдельных сигнала, которые соответствуют трем каналам модели цветового пространства, например RGB, YUV или YIQ. Если модель RGB достаточно широко применяется в неподвижных изображениях, то модели YUV, YIQ и YCbCr — чаще в "живом" видео. В телевидении используются YUV или подобные ей цветовые модели, поскольку каналы Y и V позволяют за счет субдискретизации уменьшить объем данных без ущерба для качества изображения.

Три составных канала, о которых мы говорим, аналогичны применяемым на этапе субдискретизации сжатия по схеме JPEG (более подробная информация о JPEG изложена в главе 9).

После преобразования видеосигнала в цифровой формат результирующие значения могут быть представлены в виде пикселей на устройстве отображения. Каждый пиксель является цветной точкой на видеомониторе, а все они упорядочиваются в строки и колонки (подобно растру). Однако в отличие от статичного растра пиксели видеоизображения постоянно обновляются (изменяются их цвет и интенсивность). Такое обновление называется сканированием и производится для видеосигналов NTSC 60 раз в секунду, а для PAL и SECAM — 50 раз в секунду.

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

Один фрейм видеоданных может иметь весьма внушительный размер, например видеофрейм с разрешением 512х482 будет содержать 246784 пикселя. Если каждый пиксель состоит из 24 битов цветовой информации, то для хранения этого фрейма потребуется 740352 байта памяти или дискового пространства. Несложные расчеты позволяют определить объем памяти, необходимый для хранения 10-секундной видеопоследовательности при скорости воспроизведения 30 фреймов в секунду — это 222 Мб! Совершенно очевидно, что развитие компьютерного видео зависит от наличия эффективных методов сжатия видеоданных.

Существует большое количество методов кодирования, обеспечивающих сжатие видеоданных. Большинство из них основано на применении преобразования Фурье или дискретного косинус-преобразования. Такого рода преобразование позволяет физически уменьшить размер видеоданных посредством выборочного отбрасывания избыточной части цифровой информации. Обычно объем оригинальных видеоданных в результате преобразования уменьшается не менее чем на 10—25% (в зависимости от содержимого видеоданных и необходимого качества изображения).

Обычно преобразование выполняется для каждого видеофрейма. Само по себе оно не является операцией сжатия данных — данные, которые не различаются глазом человека, просто отбрасываются. Преобразованные данные, называемые коэффициентами, должны затем сжиматься. Как уже упоминалось, каждый фрейм может быть сжат по алгоритму Хаффмена или посредством арифметического кодирования, но не исключено и применение более сложной схемы сжатия, например JPEG. Степень сжатия при внутрифреймовом кодировании обычно колеблется в пределах от 20:1 до 40:1, что зависит от содержимого фрейма. Однако если рассматривать не отдельно взятый фрейм (неподвижное изображение), а совокупность таких фреймов, то можно достичь и более высокой степени сжатия.

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

Мы ознакомили вас лишь с одним из возможных методов сжатия видеоинформации. Дополнительные сведения по этой теме можно найти в главе 9 и во второй части книги (в описании файловых форматов мультимедиа).

Соседние файлы в папке Лекции по компьютерной графике