Сжатие
Поначалу всех удивляет, что в цифровом видео размер трехминутного ролика может измеряться гигабайтами, а не мега – или килобайтами. Именно поэтому все видео, независимо от того, где оно используется, всегда сжимается. Как мы отметили в предыдущей главе, когда сжатие применяется к источнику данных, неизбежно теряется информация. Однако выбор метода сжатия влияет на величину этой потери.
Существуют две формы сжатия: временная и пространственная.
Пространственное сжатие обрезает каждый кадр фильма, выискивая цвета, которые в нем не используются. Этот тип сжатия обычно используется в видео, где много движения камеры или объекта съемки. Например, видео, показывающее постоянно движущуюся толпу людей, выиграет от пространственного сжатия.
Временное сжатие, используемое кодеком Spark, задействованным в приложении Flash MX, игнорирует отдельные кадры и берет в расчет только изменения между ними. Кадры, расположенные между ключевыми, называются кадрами приращения (difference), или дельта-кадрами. Чем больше количество ключевых кадров, тем лучше качество видео и больше размер файла. Дельта-кадры значительно меньше по объему, чем ключевые. Это происходит потому, что пиксели, не меняющиеся между ключевыми кадрами, просто удаляются, за счет чего временное сжатие значительно уменьшает размер файла. Недостатком этого метода является то, что отыскать оптимальный баланс между качеством и размером файла можно только методом проб и ошибок, а этот процесс отнимает массу времени.
Временное и пространственное сжатие достигаются посредством применения кодеков. (Слово codec в данном случае является сокращением от Compressor/Decompressor. Такой же аббревиатурой иногда называют понятие Coder/Decoder. В этой главе под словом кодек будем подразумевать первое значение. – Прим, пер.) При просмотре цифрового видео люди редко понимают, что форматы QuickTime, AVI или MPEG могут использовать самые разные методы сжатия, в том числе и ни один из них.
Наиболее популярными кодеками являются Cinepak (от компании Sorenson) и Indeo Video. Мы расскажем только об одном кодеке – Sorenson Spark, который поддерживается и используется во Flash MX. Когда в фильм Flash MX добавляется видео, файл сжимает именно Spark. Когда фильм воспроизводится из Web или с другого носителя, Spark его распаковывает. Это – очень важный момент. Когда воспроизводится фильм QuickTime, загружается вспомогательное приложение QuickTime Movie Player, которое и занимается задачами декомпрессии. Во Flash MX эта функция встроена в файл .swf, что уменьшает нагрузку на процессор компьютера и требования к оперативной памяти.
Компания Sorensen предлагает также и утилиту сторонней компании – Squeeze, – подготавливающую и интегрирующую цифровое видео во Flash MX. Ниже вы узнаете об этой утилите подробнее.