...
...

OpenML. Первый взгляд

Вступление

Мировые лидеры в области электронных и информационных технологий объединяются, чтобы создать единый всеобщий прикладной интерфейс программирования (API) - OpenML.

"3dfx, 3Dlabs, ATI, Compaq, Dell, Discreet, Evans&Sutherland, IBM, Intel, S3 и SGI объявляют об основании SIG-группы Khronos." Лас-Вегас, 11 апреля 2000 года.

Такими заголовками пестрели многие новостные сайты. Ажиотаж по поводу этой новости в данном случае был вполне оправдан. Такого еще не бывало. Ну, альянсом 2-3 компаний сейчас никого уже не удивить, но чтобы так массово! Да, одиннадцать лидеров компьютерной индустрии 11 апреля на пресс-конференции в Лас-Вегасе обнародовали свое коллективное решение о ведении разработки и активной поддержке стандартного прикладного интерфейса программирования (API), предназначенного для работы с трехмерной графикой, видео- и аудиоустройствами под названием OpenML.

Обратите внимание, что среди этих компаний нет Microsoft. По-видимому, Microsoft по-прежнему собирается работать над проектом Fahrenheit, который преследует те же цели, что и OpenML. Вот только похоже, что в данном случае Microsoft осталась в одиночестве.

В этом списке отсутствует и nVidia, что вполне предсказуемо. Если вы помните, nVidia заключила с Microsoft крупный контракт на разработку и производство чипов NV25 для будущей приставки X-Box. Учитывая данный факт, а также то, что этой компании необходимо выпускать чипы NV15 для карт на GeForce2 и разрабатывать, помимо NV25, еще и NV20, который будет анонсирован осенью, можно сделать два вывода. Первый - nVidia в ближайшее время в деньгах нуждаться не будет благодаря крупному контракту с Microsoft и популярности GeForce/GeForce2. И второй - эта небольшая по масштабу компания в ближайшее время будет слишком занята разработками и производством процессоров, чтобы участвовать еще в каком-либо проекте, да еще и открытом (то есть, читай - не приносящим быстрых денег). Компании же, вошедшие в данный проект, оказались более дальновидными. Открытый проект OpenML не принесет мгновенного обогащения, прибыль будет лишь спустя несколько лет и после многочисленных капиталовложений. Но этот факт не пугает ни одну из компаний-основательниц. Они смело вкладывают денежные средства, собственные интеллектуальные разработки и патенты, а также сотни человеко-часов работы программистов в этот проект, твердо веря, что за OpenML будущее.

Несколько слов о стандарте OpenML и его разработчиках

OpenML - это новая спецификация, предназначенная для стандартизации целого семейства весьма перспективных технологий, будет разрабатываться и развиваться благодаря объединенным усилиям членов SIG-группы Khronos (SIG - Special Interest Group - группа с особой целью). Цель этой группы состоит в том, чтобы разработать технологию, которая могла бы эффективно интегрировать и синхронизировать одновременный вывод видео, компьютерной графики и звуковой информации на любых платформах, аппаратных устройствах и операционных системах. То есть создать настоящий кроссплатформенный API, подобно OpenGL, но при этом обеспечить помимо графики и еще единообразную работу со звуком и потоковым видео. Создатели этой технологии обладают обширным опытом в разработке индустриальных компьютерных стандартов. Каждая из одиннадцати компаний-основателей, так или иначе, включила своих сотрудников (хочется верить, что лучших) в состав группы разработчиков Khronos. Для быстрого охвата всех поставленных перед ними проблем члены группы Khronos сформировали несколько специализированных рабочих групп. Каждая из групп независимо друг от друга разрабатывает, тестирует, отлаживает программные и аппаратные разработки в рамках своей тематики и, добившись результата, представляет конечный продукт для рассмотрения, стандартизации и интеграции с другими разработками группы Khronos. На текущий момент уже созданы рабочие группы для работы со звуком, расширениями OpenGL и для разработки технологий ввода/вывода.

Почему такая инициатива необходима?

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

Создание единого стандартизированного API OpenML позволит разработчикам прикладных приложений без особых усилий объединять потоковое видео, компьютерную графику и звук в своих программах и сделать их приложения гораздо более переносимыми между многочисленными платформами и операционными системами. Но разработчики не ограничатся только программным API. Помимо этого, параллельно будут вестись разработки многочисленных аппаратных устройств, предназначенных для работы OpenML. Более того, будет разрабатываться специальная архитектура центрального процессора, которая предназначена для использования именно с этим API, так же как раньше выпускались компьютеры, предназначенные только для работы с OpenGL. OpenML является открытым стандартом, об этом говорит присутствие слова Open в названии. Этот факт должен послужить популяризации нового стандарта. Возможно, что он вскоре станет гораздо популярнее своего предшественника - OpenGL.

Структура OpenML

Новый стандарт будет иметь структуру, напоминающую структуру текущего индустриального стандарта в области профессиональной 3D графики - OpenGL(r). API OpenML будет состоять из базовой технологии ввода/вывода цифрового видео, 3D графики и аудиоданных в реальном времени. Эта технология будет создаваться на базе многолетних разработок SGI. Помимо этого, данный API будет включать в себя все уже существующие и совершенно новые расширения OpenGL для поддержки интеграции и качественной стыковки видео и трехмерной графики.

Вот несколько уже известных компонентов:

- Низкий уровень абстракции, который обеспечивает API для приложений, и общий интерфейс устройств для взаимодействия на аппаратном уровне;

- Базовая модель ввода/вывода, основанная на dmSDK 2.0 от SGI;

- Все существующие OpenGL расширения;

- Единообразный интерфейс программирования для работы с различными типами видео- и аудиоданных. Поддерживаются файлы QuickTime, AAF и MPEG. Обеспечивается взаимодействие между разными устройствами и одновременный вывод компьютерной графики, видео и звука;

- Модуль автоматической синхронизации трехмерной графики, потокового видео и звука в реальном времени;

- Предусмотрены богатые возможности для расширения этого стандарта. Другие компоненты, которые будут добавляться по мере необходимости.

3dfx, 3Dlabs, ATI, Evans&Sutherland и S3 отвечают за разработку и развитие спецификаций расширения OpenML для объединения типов видеоданных с 3D графикой. Главными потребителями данного стандарта являются Intel, IBM, Compaq и SGI, которые заявили о том, что синхронизация и интеграция компьютерной графики и множественных аудио-, видеопотоков, то есть именно то, что предоставляет API OpenML, имеет жизненно важное значение для их будущих платформ. Эти же компании являются и самыми крупными спонсорами проекта. Помимо денежных вливаний, будут предоставляться фирменные разработки и патенты. Например, SGI предоставила свою разработку, плод многолетнего труда, - dmSDK 2.0 в качестве основы для стандартизации ввода/вывода видео и аудио.

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

Выгоды OpenML

OpenML будет представлять собой низкоуровневый универсальный API, обеспечивающий возможность работы с трехмерной графикой, подобно OpenGL и Direct3D, со звуком подобно ныне существующему API DirectSound и с потоковым видео, причем поддерживаются множество видеоформатов. В общем, "все в одном". Унифицированность программного интерфейса OpenML устранит потребность в разработке так называемых "native API", то есть интерфейсов прикладного программирования, предназначенных только для одного какого-либо типа устройств, при этом, как правило, несовместимых друг с другом. Из наиболее известных "native API" можно назвать Glide от 3DFX и MeTaL от S3 в области трехмерной графики и EAX и A3D в области звука.

Отпадает необходимость в разработке интерфейсов программирования для различных устройств ввода/вывода - все это изначально будет присутствовать в OpenML. Кроме того, кроссплатформенность данного API позволит достичь совершенно беспрецедентной мобильности программных приложений, даже по сравнению с OpenGL, ведь кроме трехмерной графики унифицируются еще звук и видео. Легкость, с которой можно достичь одновременного рендеринга трехмерной сцены на фоне видеопотока, не может не привлечь создателей спецэффектов для кинофильмов и разработчиков компьютерных игр. Прямое смешивание двумерной и трехмерной графики позволит создавать великолепные эффекты, недостижимые ранее. Функциональные возможности OpenML предоставляют новые пути, которыми программист может легко и быстро получить великолепные визуальные эффекты и при этом обеспечить звуковое сопровождение:

- Простая модель для одновременного управления множественными аудио- и видеопотоками в реальном времени.

- Специализированные видео и графические расширения OpenGL, для поддержки интеграции видео и компьютерной графики.

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

- Поддержка точной синхронизации аудио-, видеопотоков и компьютерной графики.

- OpenGL расширения для предоставления высококачественного рендеринга.

Конкуренты OpenML

Вернее, один конкурент. Напомню, что в 1997 SGI и Microsoft объявили о начале работ над совместным проектом Fahrenheit. Этот проект содержит в себе три API Fahrenheit Scene Graph, Fahrenheit Large Model Visualization и Fahrenheit low level API. Хотя разработки ведутся уже более трех лет, им конца и края не видно. В работе часто случались серьезные простои. Ни для кого не секрет, что Microsoft и SGI частенько ссорились. И бывало, что из-за этих ссор страдали и пользователи. Так, например, после одной из ссор оказалось, что стандартный драйвер OpenGL от Microsoft, входящий в состав Windows 95, 98, оказался преднамеренно замедлен, чтобы подчеркнуть быстродействие Direct3D. Несмотря на то, что эти компании потом всегда примирялись, ссоры неблагоприятно влияли на проект Fahrenheit. И вот, похоже, компания SGI окончательно отдалилась от Microsoft, хотя о размолвке нигде и не было объявлено. Каково будущее проекта? Совершенно ясно, что первые два API Fahrenheit Scene Graph и Fahrenheit Large Model Visualization Microsoft в одиночку, без SGI, не потянуть. Эти API предназначены для многопроцессорных графических станций, которые используются для создания спецэффектов. SGI в этой области, что называется, "собаку съела", а вот Microsoft - новичок. То есть эти API, скорее всего, отложат на неопределенный срок, а вот Fahrenheit low level API попытаются закончить. Этот API предназначен для использования на обычных персональных компьютерах. По сути дела, это объединение возможностей OpenGL и Direct3D в одном программном интерфейсе. Планируется, что Fahrenheit low-level API будет основным графическим интерфейсом как для профессиональных, так и для пользовательских приложений в среде Windows. Как и OpenML, проект Fahrenheit предназначается для вытеснения с рынка "native API" (Glide от 3DFX, MeTaL от S3 и т.д.) и также метит на место единого стандарта 3D графики.

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

Когда же стандарт станет стандартом?

Группа разработчиков Khronos ожидает, что повсеместное принятие технологии OpenML в качестве единого стандарта ввода/вывода трехмерной графики, видео и аудио произойдет не позднее, чем через два года. После окончания разработки OpenML, как ожидают его создатели, быстро вырастет рынок аппаратных устройств, поддерживающих этот стандарт, и многие разработчики профессионального и игрового программного обеспечения будут использовать OpenML при разработке своих программных продуктов. Для ознакомления всех желающих с концепцией OpenML SIG группа Khronos создала в сети Internet сайт, посвященный их разработкам, - http://www.khronos.org. Здесь можно прочитать анонс стандарта OpenML, новости о его дальнейшем развитии.

Дан Гьен

© Компьютерная газета

полезные ссылки
IP камеры видеонаблюдения