`

СПЕЦИАЛЬНЫЕ
ПАРТНЕРЫ
ПРОЕКТА

Архив номеров

Как изменилось финансирование ИТ-направления в вашей организации?

Best CIO

Определение наиболее профессиональных ИТ-управленцев, лидеров и экспертов в своих отраслях

Человек года

Кто внес наибольший вклад в развитие украинского ИТ-рынка.

Продукт года

Награды «Продукт года» еженедельника «Компьютерное обозрение» за наиболее выдающиеся ИТ-товары

 

DivX ;-) Из пиратов в каперы

0 
 

Еще вчера их "разыскивали по всем морям", сегодня они вполне уважаемые люди. Год назад их обвиняли во всех смертных грехах, теперь же некоторые корпорации не считают зазорным скупить кое-что из "ворованных" вещей. С регистрацией компании DivX Networks "пираты" получили "лицензию на убийство" и вовсю торгуют плодами уже своей интеллектуальной собственности.
Какими мы были

Событие, положившее начало эпопее с форматом DivX, помнят все, и ему уже отведено место на скрижалях истории. Французскому хакеру Джерому Рота (Jerome Rota), более известному под прозвищем Gej, посчастливилось совершить революцию в индустрии цифрового кино, когда ему исполнилось всего 27 лет. Подобно своим соотечественникам, братьям Люмьер, он открыл миру кино, на этот раз -- Internet-кино. В феврале 2000 г. в сети появилась взломанная Рота версия кодека MPEG-4 от Microsoft. По иронии судьбы возможность использовать формат видео, который считается неофициальным стандартом в среде компьютерных крэкеров, пиратов и прочих обитателей андеграунда, "подарила" им столь нелюбимая корпорация.

Рота утверждает, что его эксперимент, вылившийся в миллиардные убытки для кино- и видеоиндустрии, не содержал преступных целей. Во всяком случае, поначалу... В результате небольшой модификации кодек получил возможность сохранять и воспроизводить видео из AVI-файлов. Кроме того, были сняты ограничения со скорости передачи (bitrate), что открывало дорогу для изготовления высококачественных видеороликов. Как говорит Рота, эта функциональность изначально была заложена при его написании, однако впоследствии соответствующую поддержку исключили из готового продукта, оставив пользователей только с закрытым потоковым ASF-форматом. Задача состояла в восстановлении портфеля оцифрованных видеоработ. Не подозревая о грядущих переменах, Рота успешно применял кодек Microsoft для записи видеофрагментов на CD-ROM, но осенью 1999 г. появилась новая версия Windows Media, не позволявшая более сохранять ролики в формате AVI. Ко всему прочему старые работы Рота невозможно было даже воспроизводить. "Не стоит путать технологию с ее использованием. DivX создавалась не для копирования DVD-фильмов, а для достижения высокого качества видео при малых размерах файлов. Так что Голливуд -- это только часть истории, -- утверждает знаменитый хакер. -- Я освободил информацию, и это заняло всего около недели".

Деньги правят миром, они лежат в основе почти каждой истории, и DivX не исключение. Как только кодек приобрел определенную популярность, на сцене появился человек, умеющий делать деньги на рискованных во всех смыслах изобретениях. Джордан Гринхолл (Jordan "Logos" Greenhall) -- 29 лет, бывший участник проекта MP3.com, юрист по образованию, "белый воротничок", именно он предложил Рота основать компанию, которая занялась бы извлечением прибылей из пухнущей как на дрожжах армии пользователей DivX. Гринхолл, несмотря на приверженность строгому деловому стилю в одежде, в душе не слишком далеко ушел от мальчишки, мечтающего подложить кирпич на трамвайные рельсы и посмотреть, что произойдет дальше. "Индустрию можно рассматривать как множество взаимодействующих сил, и когда вы преподносите новую технологию, подобную DivX, это оказывает воздействие на всю систему в целом. Вы должны предпринять попытку и понять, что же в результате получится, и это как раз то, что мы пытаемся делать сейчас", -- говорит Джордан. Летом 2000 г. под его влиянием Рота перебирается из Франции, где он вел вполне безмятежную жизнь в городке Монтпелье (Montpellier), в Сан-Диего. И тут все завертелось...

Вместе с Джо Биздиком (Joe Bezdek) Гринхолл и Рота основывают компанию, уже одно название которой способно довести боссов медиагигантов до невменяемого состояния -- DivX Networks. Кстати, друзья-коллеги снимают офис именно в том самом кирпичном здании, где начинал свою карьеру столь же многообещающий и столь же скандальный портал MP3.com. Осенью 2000 г. стартап получил первое финансовое вливание в размере 5 млн. долл. от ряда инвесторов, в том числе от Zone Ventures и Тима Дрэйпера (Tim Draper).

Internet-проект обретает лицо в виде сайта ProjectMayo.com: загадочное название (производная от любимой приправы Рота -- майонеза) вовсе не связано с исчезнувшей доколумбовой цивилизацией. Основная часть персонала находится очень далеко от Сан-Диего и общается между собой и руководством исключительно посредством Internet. Граждане Китая составляют львиную долю программистов, создававших первую версию кодека, выпущенную уже под новой маркой. После того как DivX ;-) Deux появилась в Сети, было решено открыть код и привлечь к разработке добровольцев. Успех начинания был ошеломляющим в прямом смысле этого слова -- в первую неделю к организаторам обратилось около тысячи человек со всего мира. Теперь возникла новая проблема -- чем занять такую ораву жаждущих труда программистов. Но это куда более приятное занятие...


Друзья-соперники

Трудно дать исчерпывающую характеристику взаимоотношениям между разработчиками различных версий кодека DivX. Да и выражение "различные версии DivX" не является достаточно точным. С одной стороны, все они в некотором смысле коллеги и единомышленники Рота, с другой -- как любые порядочные и амбициозные люди "тянут одеяло на себя". Наиболее показательна история проекта 3ivx. Его корни произрастают из Mac-платформы, которая, как это обычно случается в последнее время, вынуждена играть в догонялки со своим "младшим" PC-собратом.

После победоносного триумфа DivX для Windows сторонники Mac, как и пользователи других платформ, оказались на обочине революции. Впрочем, уныние продлилось недолго -- некий не лишенный практической сметки парень под псевдонимом Capt. Stux Jedi сделал с пакетом воспроизведения MPEG-4 для Mac -- WiMP 6.x for Macintosh -- то же самое, что Gej сотворил с его собратом. Наконец-то владельцы "яблок" сумели посмотреть с обыкновенного компакта перекодированную до неузнаваемости пиратами "Матрицу". Единственное, что вызывало возмущение, так это исключительная медлительность сотворенного "капитаном джедаев" гибрида. Кроме того, программа не поддерживала файлов с использованием переменного битрейта VBR для звуковой дорожки, которая, как известно, хранится в DivX-видео в формате MP3.

В это время другая группа программистов написала с нуля свой, абсолютно не зависимый ни от кого кодек MPEG-4 для Linux -- ffmpeg, и его удалось довольно безболезненно портировать под Mac OS X, поскольку версия X функционирует на Unix-совместимом ядре. Данный факт стал катализатором процесса, завершившегося анонсом проекта 3ivx -- первого истинно многоплатформенного кодека MPEG-4. Его версии доступны как для Windows, так и для Linux, BeOS, Amiga и Mac.


Вместе -- дружная семья

Итак, если вы помните, мы ненадолго оставили ProjectMayo в покое, чтобы разобраться с конкурирующими прожектами, как раз в тот момент, когда у инициаторов разработки появилась дешевая рабочая сила в неограниченном количестве. И, следует признать, они сумели направить энтузиазм поклонников в нужное русло: сейчас на сайте projectmayo.com представлено множество беспрестанно обновляемых и совершенствуемых продуктов.

Начнем с последней и наиболее модной тенденции -- мобилизации всего и вся. На рынок самых разнообразных PDA, Web-планшетов и интеллектуальных мобильных телефонов ориентирован Pocket DivX Player. Программа основывается на уже упомянутом выше ffmpeg-декодере и поддерживает весь ассортимент MPEG-форматов, включая MP3, но за исключением MPEG-2. Среди функций утилиты: масштабирование, фильтрация, вращение изображения, менеджмент списков воспроизведения.

DivX for Linux, Open DivX for Amiga и DivX for Mac -- ответ на откровенно провокационный промоушн 3ivx. Честно говоря, ответ слабый и неполноценный, скорее для галочки, чем реальная попытка завоевать соответствующие рынки. Первый пакет представляет собой библиотеку функций (для нее существует довесок в виде плейера X Movie Player System), а DivX for Mac является просто хорошим (но не более того) декодером без возможности подключить его к QuickTime и тем более создавать собственные ролики, что не решает всех проблем пользователей Mac. Какие-то шаги по интеграции драйвера в систему делаются, и в пятой версии с помощью некоторых ухищрений иногда удается открыть видео посредством QuickTime. Open DivX for Amiga поставляется в комплекте с плейером MooVId, адаптированным для воспроизведения DivX-видео. В принципе, наиболее полезны именно пакеты с приставкой Open -- таковые уже имеются в арсенале программистов Windows, Amiga и Mac. Документированные библиотеки функций позволяют каждому желающему включиться в процесс создания необходимого инструментария на охваченных "открытым" ПО платформах.

The Playa -- известен любому, кто загружал полные пакеты DivX, начиная с четвертой версии. Плейер обладает минимально необходимой функциональностью, но его нельзя даже сравнивать с такими мощными утилитами, как SASAMI Player. Степень его отлаженности традиционно невысока, хотя последние версии более или менее стабильны.

Особый упор делается на проект Open DivX Streaming. Там нашлось место для применения действительно новых и любопытных технологий потоковой передачи видео. Что ж, это называется возвращением к истокам, как говорится, откуда начали -- тем и закончили. Изначально MS-MPEG-4 позиционировался как кодек для трансляции видео в сети -- хакеры во главе с Рота решительно отвергли такое мировоззрение. Теперь, когда они задумались о возможности извлечь выгоду из своего труда, оказалось, что Microsoft выбрала не такую уж неверную стратегию. С точки зрения рыночной ситуации трудно понять, на что рассчитывает DivX Networks. Коммерческие потребители средств потоковой трансляции и так плотно поделены между двумя брэндами рынка Internet-мультимедиа: Microsoft и RealNetworks. Изюминка DivX Streaming -- в технологии Adaptive Video Streaming, созданной исследователями Массачусетского технологического.

Основы методики адаптивных видеопотоков содержатся в работе, которую написал студент Николас Фимстер (Nicholas Feamster), завершая обучение в магистратуре. Известно, что наибольшей проблемой, возникающей перед тем отважным, кто сделает попытку передавать сжатый видеопоток через Internet в реальном времени, является потеря пакетов. Поскольку кадры в последовательности (P- и B-кадры) преимущественно есть производная выполнения некоторых математических операций над соседними кадрами, то потеря даже одного из них приводит к длительной цепочке ошибок. Корректность изображения восстанавливается только после получения клиентом очередного опорного I-кадра, упакованного изолированно от всех прочих. Идеальным вариантом для сетевой трансляции является поток, состоящий исключительно из I-кадров, однако низкая пропускная способность сети не позволит реализовать эту простую идею в обозримом будущем, не говоря уже о том, что такой подход крайне неэффективен.

С другой стороны, попытка повторной передачи каждого потерянного пакета, особенно учитывая взаимосвязь сетевых заторов и количества потерянных пакетов, приведет к нежелательным задержкам в воспроизведении. Фемстер в своей работе следует принципу избирательной надежности (selective reliability). От прочих похожих концепций фемстеровская отличается использованием элементов данных уровня приложений -- ALF (Application Level Framing). Таким образом, приложения изначально делят поток на логически независимые фрагменты, каждый из которых становится индивидуальным субъектом алгоритма коррекции ошибок.

Пропускная способность сети постоянно меняется, адаптивный алгоритм должен уметь динамически подстраивать скорость передачи и качество видео под реально имеющиеся ресурсы. Клиент и сервер, помимо этого, должны отслеживать такие параметры, как время прохождения пакетов и колебания пропускной способности. Используя математическую модель, эмулирующую действие механизма коррекции ошибок (congestion control) протокола TCP, можно предсказывать его поведение и соответствующим образом изменять параметры видеопотока. Дело в том, что, как это было уже подробно описано (""Фрактальная катастрофа" TCP/IP", "Компьютерное Обозрение", # 9, 2001), при потере пакета происходит существенное снижение скорости передачи (размер буфера--окна передачи сбрасывается в 1), за которым следует медленное восстановление производительности. Колебания буфера TCP позволяют нивелировать буфер клиентского приложения, а моделирование помогает своевременно корректировать скорость передачи данных. Подробное описание Adaptive Video Streaming читайте в документе, опубликованном по адресу nms.lcs.mit.edu/papers/feamster-thesis.pdf.


DivX 5

5 марта вышел новый релиз драйверов DivX под номером 5. Первое и главное, что отличает эту версию от всех предыдущих, -- серьезная коммерческая направленность. Руководство проекта решило наконец отделить мух от котлет, выпустив два варианта DivX: профессиональный с приставкой Pro в названии и обычный. Но даже в стандартном пакете нашлось место для большого количества нововведений. Во-первых, как всегда повысилось быстродействие кодека -- как при воспроизведении, так и при записи. Оптимизация алгоритмов от версии к версии стала своеобразной традицией проекта. Впрочем, столь значительное ускорение работы программы всегда вызывает подозрение -- если есть возможность оптимизации, следовательно, изначально было много ошибок.

Но не будем умалять значение и некоторых важных новшеств. Например, новый алгоритм двухпроходного кодирования, использующий во время второго прохода данные о компенсации движения, полученные в ходе первого. Целый букет новых методик должен повысить качество сжатого видео и тем самым обеспечить экономию пропускной способности (объема на диске) при сопоставимом с результатом работы предыдущих версий качестве. Снижение "толщины" потока должно составить от 41%, если сравнивать с версией 4.12, и 25% -- с непрофессиональным вариантом. Во многом такой прогресс обусловлен именно препроцессингом -- как написано в тексте релиза, существенную долю пропускной способности отнимают разнообразные дефекты изображения (так называемый "снег" и т. д.). Удалив их еще на этапе предварительной обработки, удается повысить эффективность кодирования.

Еще одна технология, использованием которой чрезвычайно гордятся создатели кодека, -- психовизуальное кодирование. Для каждого кадра вычисляется Psychovisual Complexity Rating (PCR), определяющий сложность распознавания человеком его элементов. В зависимости от этого параметра подбирается степень сжатия. Помимо этого, введены B-кадры или двунаправленные кадры, отличающиеся от применявшихся ранее P-кадров тем, что для их построения используется информация как из предыдущего, так и из следующего кадра последовательности. Очевидно, что это снижает требования к пропускной способности. Значительно улучшить качество и эффективность отображения некоторых сцен должна технология глобальной компенсации движения. Идея очевидна -- использовать неизменные по структуре части изображения при кодировании масштабирования или панорамирования. И наконец, сравнение кадров последовательности выполняется теперь на "0,25-пиксельной" основе. Это улучшает точность предсказаний, с помощью которых осуществляется реконструкция P- и B-кадров.

Отдельного упоминания заслуживают поддерживаемые форматы файлов. В частности, DivX в пятой версии позволяет создавать полностью совместимые со стандартом MPEG-4 ролики -- это решает все проблемы, связанные с воспроизведением видео на аппаратных устройствах (PDA, цифровых видеомагнитофонах, мобильных телефонах). Теперь генерируемый видеопоток можно еще и поделить (partitioning), что изменит расположение данных в файле и сделает его более устойчивым к ошибкам в процессе передачи. В ближайшем будущем авторы DivX обещают нам формат, который будет поддерживать многочисленные потоки аудио и видео, субтитры, инкапсулированные метаданные, т. е. фактически прямого конкурента DVD Video.

В отдельную категорию стоит отнести функции, свойственные скорее пакетам обработки видео, чем кодекам. Деинтерлейсер, позволяющий аккуратно обрабатывать видео, передающееся полями (ТВ-изображение): четные и нечетные строки раздельно. DivX 5.0 реализует также масштабирование и обрезку неформатных роликов. При необходимости можно выполнить даже такую экзотическую операцию, как удаление дублирующихся кадров, которые обычно вставляют при адаптации киноматериала, записанного с кадровой частотой 24 для аналогового видеооборудования, требующего, как правило, неизменных 30 кадров в секунду. Помимо всего прочего, DivX в состоянии работать со смешанными роликами, над различными фрагментами которых требуется выполнить разные типы преобразования: деинтерлейсинг или подстройку кадровой частоты. И, как итог своего стремления встать в ряд профессиональных средств редактирования видео, DivX 5.0 Pro обзавелся интерфейсом VfW (Video for Windows), что одним махом решило проблему с интеграцией кодека с пакетами сторонних производителей.

Несколько слов в заключение -- несмотря на весь бум вокруг DivX, технология находится в самой ранней фазе развития. До появления настоящего, многоплатформенного, отлаженного в коммерческом понимании этого слова решения, судя по нынешним достижениям DivX Networks, еще далеко. Но это вовсе не исключает возможности использовать существующий арсенал средств и для воспроизведения, и для кодирования видео. Тем более что пакет DivX 5.0 Pro весьма выгодно отличается от аналогов по качеству итоговой картинки, а стоимость лицензии -- всего $30.
0 
 

Напечатать Отправить другу

Читайте также

 
 
IDC
Реклама

  •  Home  •  Рынок  •  ИТ-директор  •  CloudComputing  •  Hard  •  Soft  •  Сети  •  Безопасность  •  Наука  •  IoT