EVA’99-Москва А.Суслов Oracle InterMedia. Управление мультимедийными данными. Андрей Суслов Компания ФОРС, Москва Адрес: 129272, Москва, Трифоновский тупик, 3 e-mail: Телефон: (095) 788-07-75, (095) 788-07-70/71/72/73/74 Факс: (095) 785-10-16 E-mail: asuslov@fors.ru market@fors.ru Новая парадигма вычислений, получившая название Internet Computing, открыла доступ к новым типам данных для миллионов людей со всего мира. Мультимедийные типы данных, такие как изображения, географические карты, видео и аудио клипы однажды стали доступны не только через специализированное программное обеспечение. Сегодня многие web-приложения требуют поддержки управления новыми типами данных со стороны серверов баз данных. Также и многие другие программные решения нуждаются в механизме хранения данных для специальных приложений: финансового инструментария, инженерных диаграмм или, например, молекулярных структур. В свою очередь поддержка сервером типов данных, специфичных для данной предметной области, и механизмов работы с ними открывает широкие возможности построения нового класса масштабируемых многоуровневых приложений, ориентированных на конкретные данные. В дополнение к новым объектно-реляционным расширениям, сервер баз данных Oracle8i открыт разработчикам для усовершенствования благодаря возможности создания собственных типов данных, отражающих специфику данного приложения. Например, можно создать новый тип данных, представляющий выставочный экспонат или картотеку, при этом СУБД будет работать на том же уровне абстракции, что и приложение и, соответственно, пользователь. Кроме того, пользовательские типы данных должны быть тесно интегрированы с сервером данных для того, чтобы обрабатываться наравне со встроенными типами данных, такими как NUMBER или VARCHAR. Только в этом случае можно считать сервер баз данных полностью готовым для применения в новых прикладных областях. Oracle8i предоставляет разработчикам приложений больший контроль над собственными (прикладными) типами данных, позволяя не только полностью контролировать предметную логику и процессы, ассоциируемые с данными, но также определять методы хранения, выборки и интерпретации данных. Oracle8i содержит ряд сервисов, обеспечивающих упаковку абстрактных типов данных и их методов в отдельные компоненты, управляемые ядром СУБД. Эти компоненты называются картриджами. Картриджи данных Картриджи данных – это механизм расширения возможностей сервера данных Oracle. Картриджи могут иметь как функциональную ориентацию (управление изображениями, временными рядами, пространственными данными), так и ориентацию на вертикальные рынки. Oracle имеет некоторые реализации функционально-ориентированных картриджей данных, например для изображений, пространственных и текстовых данных. В тоже время программный интерфейс картриджей открыт для разработчиков на Oracle, заинтересованных в построении собственных картриджей. Картридж данных (или просто картридж) состоит из одного или более пользовательских типов данных, объединенных в пакет и интегрированных с ядром СУБД. Каждый тип данных соотносится с некоторым объектным типом и включает в себя: Атрибуты объекта. Могут принадлежать как встроенному, так и пользовательскому типу данных. 3~3~1 1 EVA’99-Москва А.Суслов Методы объекта, т.е. описание его поведения. Существует возможность программирования методов на PL/SQL™, Java™ и языках третьего поколения, таких как C. В дополнение к определению новых типов данных, картридж интегрирует эти типы с ядром СУБД. Таким образом, сервер может индексировать данные этих типов наиболее подходящим для предметной области способом. Также картридж может давать инструкции ядру СУБД для специальной оптимизации запросов к новым типам данных. СУБД Oracle обеспечивает все необходимые сервисы для эффективного хранения и обработки стандартных типов данных – подсистему хранения, обработки запросов, индексирования, оптимизации запросов и т.д. В пользовательских типах данных существенную роль играет семантика данных, поэтому использование стандартных механизмов может оказаться неэффективным. В Oracle8i стандартные сервисы расширяемы – т.е. картридж может использовать собственную их реализацию. Собственная реализация служб регистрируется на сервере, используя т.н. интерфейсы расширения (extensibility interfaces). Например, при создании собственного картриджа изображений можно описать процедуры создания индекса, занесения нового элемента в индекс, удаления из него, обновления и удаления индекса. Oracle InterMedia Как уже было сказано выше, для некоторых нестандартных, но важных для современных приложений ТД Oracle предоставляет готовые картриджи. В новой вервии сервера данных Oracle8i они объединены в пакет interMedia. InterMedia обеспечивает управление текстовыми данными, документами, электронными изображениями, аудио и видео данными с использованием стандартного языка запросов SQL. Также в InterMedia встроена поддержка основных web-серверов и различных служб Internet. InterMedia доступен для приложений как через реляционный, так и через объектнореляционный интерфейс. Приложения для баз данных, написанные на Java, C++ или традиционных языках программирования могут взаимодействовать с InterMedia через современные интерфейсы библиотек классов или PL/SQL и Oracle Call Interface (API компании Oracle, позволяющее встраивать SQL-вызовы в стандартные языки программирования). Объекты InterMedia ассоциируют описательную информацию (метаданные) с самими данными. InterMedia позволяет хранить сами данные как внутри СУБД, так и вне ее. Это обеспечивает дополнительную гибкость хранения, но снижает управляемость и безопасность данных. Альтернативы для хранения мультимедийных данных следующие: Хранение как внешний файл, поддерживаемый операционной системой (внутренний тип BFILE) URL адрес, указывающий на изображение, аудио или видео данные, хранимые на любом HTTP-сервере, например, Oracle Application Server. Хранение в виде потоковых данных на специализированном сервере, например, Oracle Video Server, Real Networks Streaming Server, Live Pictures Image Server или любом другом источнике потоковых данных. Хранение внутри СУБД как BLOB Данные формате BFILE могут быть доступны пользователям путем использования эффективных механизмов базы данных, и при желании их можно импортировать в формат BLOB. BFILE обеспечивает удобный механизм для управления большими хранилищами мультимедийных файлов, которые хранятся как плоские файлы на перезаписываемых носителях или на носителях “только для чтения”. Oracle interMedia поддерживает и управляет метаданными для всех мультимедийных типов данных и способен автоматически извлекать их для цифровых изображений, видео и аудио данных. Метаданные включают следующую информацию: 3~3~2 2 EVA’99-Москва А.Суслов Тип источника, физическое расположение и имя объекта Время создания, описание и формат объекта MIME – спецификацию (используется для web-приложений и почтовых серверов) Для изображений: размеры, кол-во цветов, формат и тип сжатия Для аудио: кодировку, число каналов, частота записи, длительность воспроизведения, вид компрессии Для видео: размер кадра, разрешение, частота кадров, длительность воспроизведения, число фреймов, тип компрессии, число цветов, частота передачи. Картриджи данных Oracle Image Data Cartridges Интегрированные в InterMedia картриджи данных Oracle Image Cartridge и Oracle Visual Information Retrieval Cartridge расширяют возможности сервера данных Oracle8i для хранения и обработки изображений за счет внедрения типа данных “изображение”. Картриджи поддерживают наиболее популярные форматы файлов и схемы сжатия двумерных статических изображений. Эффективный поиск по содержанию и атрибутам изображения облегчает обнаружение визуально похожих изображений. В картридж данных Oracle VIR Cartridge, базирующийся на технологии VIR фирмы Virage, Inc., лидера разработки программного обеспечения поиска по содержимому, включены описания типов с дополнительными атрибутами данных для сигнатуры изображения как вектора в пространстве характеристик и методов для генерации сигнатуры изображения, сравнения двух сигнатур и определения ранговой упорядоченности (ранжирования). Форматы изображений и организация данных Тремя основными элементами организации данных цифровых изображений являются форматы файлов, схемы сжатия и форматы структуры данных. Картриджи данных Oracle8 Image Data Cartridges поддерживают наиболее популярные форматы изображений настольных издательских систем, в частности, TIFF, JFIF (более известный как JPG), BMP, TARGA, PCX, PICT, GIF, CALS Raster, "SUN", Flashpix (через Live Pictures Image Server) и RPIX. RPIX – формат Oracle interMedia хранения строк пикселов. В силу своей незжатости, он обеспечивает легкий доступ к каждому пикселу и обработку изображения, например, добавление watermark. Oracle interMedia обеспечивает преобразование между этими форматами, называемое перекодировкой. Благодаря тому, что они “понимают” большинство форматов, картриджи могут автоматически извлекать основные атрибуты изображений и делать их доступными в виде атрибутов данных объекта изображения. Oracle interMedia поддерживает наиболее популярные и эффективные схемы сжатия, в том числе, схемы кодирования CCITT G3 / G4 (схемы Хоффмана), которые являются схемами без потери качества и используются для изображения битональных документов; схему кодирования ISO/CCITT JPEG с потерей качества, используемая для фотографических (с непрерывными полутонами) изображений и схемы LZW и RLE. Поддержка схемы сжатия зависит от формата файла. Подобно преобразованию формата файлов, сжатие осуществляется через использование методов объектов и происходит именно в них. Различные параметры схем сжатия, реализующие управление качеством, могут быть сделаны доступными через методы объектов. Данные о каждом пикселе изображения или позиции дискретизации могут быть организованы различным образом. Эти различия затрагивают количество битов на один пиксель, способы упаковки и интерпретации битов, а также организации многополосных (multi-band) изображений. Картриджи поддерживают монохромные (одна полоса - один бит на каждый пиксель) изображения, а также многоцветовые изображения различной глубины вплоть до 32 бит (truecolor). Кроме того, Oracle interMedia поддерживает нормальные и 3~3~3 3 EVA’99-Москва А.Суслов инверсные побитовые отображения, не зависящие от типа устройства, в форматах для Windows и OS/2. Во всех случаях поддержка организации данных зависит от формата файла, и, подобно преобразованию формата файла и сжатию, преобразование организации данных выполняется по запросу пользователя. Обработка изображений В дополнение к перекодировке форматов и сжатию, Oracle interMedia обеспечивает выполняющиеся на сервере функции для независимого масштабирования изображений по осям x и y и обрезанию изображений. Картридж Oracle VIR добавляет поддержку поиска по содержимому изображения, базирующегося на таких внутренних визуальных атрибутах изображений, как цвет, структура и текстура. Oracle VIR картридж эмулирует процесс, при помощи которого люди воспринимают сходство между изображениями. Для этого картридж устанавливает основные характеристики изображений и обеспечивает управление над теми из них, которые являются основными при выборе конкретного решения о соответствии. Эти характеристики включают: Глобальный цвет: представляет количество каждого цвета в пределах изображения, независимо от места его позиционирования. Локальный цвет: представляет распределение цветов с точки зрения того, как они распределены в изображении, например, синий цвет занимает верхнюю часть пейзажа. Текстура: представляет мелкомасштабные элементы изображения, например, зернистость или гладкость. Структура: представляет обнаруженные в изображении формы. В процессе сопоставления пользователь назначает каждому визуальному атрибуту меру значимости, или вес, а затем Oracle interMedia вычисляет меру сходства между двумя изображениями для каждого атрибута. Пользователь может назначить величину отсечения, или порог, для определения, являются ли два изображения аналогичными, или нет, или может получить ранжированный ряд сравнений, чтобы с его помощью идентифицировать, насколько каждое изображение похоже на заданное. Кроме того, результат первого запроса на изображения, которые "выглядят похожими на эту картинку", может быть пространством поиска для повторного запроса. Другими словами, результатом первого поиска могут оказаться несколько изображений, немного отличающихся друг от друга, и одно из них может быть ближе к тому, которое имел в виду пользователь, чем исходный образец. Поддержка текста в Oracle8i interMedia Компонент Oracle interMedia, известный во всем мире как ConText Cartridge, обеспечивает интегрированный подход к управлению важными текстовыми документами, соединяя полную обработку текста и усовершенствованные лингвистические сервисы с базой данных Oracle8i. Oracle interMedia предоставляет пользователям прямой доступ к тексту и обеспечивает многие функции поиска текста, типичные для хороших текстовых процессоров. Основные свойства контекстного анализа: Полная обработка текста с помощью SQL (Structured Query Language). Через SQL доступны многие нетривиальные функции поиска и обработки текста, среди которых функции поиска по слову и фразе, использование многоязычных морфологических форм, функции распознавания неправильного написания и подобия по звучанию и т.д. Обработка текста на многих языках. interMedia поддерживает исследование текста на многих языках, включая полную обработку текста на любом однобайтном языке, поддерживаемом Oracle8i, со специальными морфологическими дополнениями для русского, английского, немецкого, французского, испанского, голландского и 3~3~4 4 EVA’99-Москва А.Суслов итальянского языка. Кроме того, interMedia поддерживает обработку текста на языках с двухбайтным знаком (японский, корейский, упрощенный и традиционный китайский). Обработка текста в разных форматах. interMedia поддерживает поиск текста в наиболее распространенных форматах документа, включая ASCII, HTML, Microsoft Word, Word Perfect и PDF. Существует возможность добавлять практически любой формат документов в поисковый набор. Усовершенствованные лингвистические функции. interMedia включает интегрированный лингвистический инструментарий, который может анализировать содержание документа и автоматически выделять и резюмировать его ключевые темы. Можно осуществлять тематический поиск по документам, касающимся некоторого предмета. Усовершенствованные возможности хранения текстовой информации: Хранение всего текста в одной ячейке типа VARCHAR2, LONG, LONGRAW или LOB. Хранение данных по принципу владелец-подчиненный, когда текст одного документа распределяется между несколькими записями базы данных, привязанными к одной заголовочной. Oracle interMedia автоматически объединяет детальные записи в единый документ и создается впечатление, что документ хранится как монолитный кусок. Это предоставляет дополнительную гибкость для хранения текста. Хранение данных на Web или в файлах операционной системы. Эффективная поддержка хранения и извлечения текстовой информации. Для поддержания эффективной работы с текстовой информацией interMedia использует текст-индексы, содержащие информацию о каждом слове в документах. Текст-индексы могут настраиваться в соответствии с предпочтительным языком и форматом документов, а также с группой предпочтений пользователя (text policy). Текст-индексы хранятся в базе данных как другие индексы и обновляются автоматически. Поддержка аудио и видео данных в Oracle8i interMedia Аудио и видео сервисы Oracle interMedia обеспечивают необходимую поддержку хранения цифровых аудио и видео данных в базе данных Oracle8i. Оцифрованное аудио/видео состоит из самих данных (как потока битов) и атрибутов, описывающих и характеризующих данные. Минимальный набор атрибутов включает: тип источника, его размещение, название, описание, формат файла, MIME тип, тип кодирования, число аудио каналов, частота смены кадров и модуляции, разрешение кадра, общее число кадров, число цветов, тип сжатия и длительность. Эти атрибуты описывают данные в том виде, в каком они были записаны или переведены в цифровую форму, т.е. характеристики записи в оригинале. Каждая характеристика существенно влияет на доступ к данным и определяет качество данных. Audio/Video Formats Oracle interMedia поддерживает промышленные стандарты аудио файлов: AIFF, AIFF-C, AUFF, WAV и аудио формат Real Networks (через потоковый сервер Real Networks). interMedia автоматически извлекает метаданные из этих форматов и сохраняет в атрибутах аудио объекта. Как уже упоминалось выше, сами аудио данные могут храниться как внутри БД, так и во внешних источниках. Также Oracle interMedia воспринимает такие промышленные стандарты хранения видео данных, как QuickTime, AVI, MPEG и видео формат Real Networks (с использованием потокового сервера Real Networks). Как и для аудио данных, Oracle interMedia определяет метаданные для этих форматов и сохраняет как атрибуты видео объекта. Сами данные, опять же, могут храниться как внутри БД, так и на внешнем носителе. Поддержка стандартов дефакто означает возможность эффективного хранения данных для приложений с естественным доступом к ним. 3~3~5 5 EVA’99-Москва А.Суслов Для вышеупомянутых форматов данных Oracle interMedia способен распознавать такие схемы сжатия данных, как ADPCM и MU-LAW для аудио и AVI Indeo для видео данных. Потоковое и пакетное аудио и видео Oracle interMedia умеет взаимодействовать с потоковыми серверами, такими как Oracle Video Server и Real Networks Server, для доставки аудио и видео данных «по требованию». Если аудио/видео данные хранятся на потоковом сервере, Oracle interMedia снабжает приложение информацией о соединении с сервером и указателем на данные. В свою очередь Real Networks Server может доставлять аудио и видео, хранимые в Oracle interMedia. Если же потоковый сервер недоступен, Oracle interMedia доставляет мультимедийную информацию непосредственно клиенту по протоколу SQL*Net в режиме «скачай и играй» (“download and play”). Содержимое аудио и видео клипов посылается приложению, когда приложение запускает соответствующее ПО для воспроизведения. Расширение функциональности картриджей Используя объектно-реляционные механизмы Oracle8i, можно легко настроить и расширить картриджи данных. Целью Oracle interMedia является вооружение разработчиков программных систем и специалистов в данных предметных областях средствами, помогающими им создавать усовершенствованные программные системы под конкретные задачи и области применения. В определенные объекты будут включены дополнительные атрибуты данных и методы, которые осуществляют специализированную обработку. Построенные таким образом расширения известны как композиции. Например, независимый производитель мультимедийных систем может определить объект “мультимедийная библиотека”, куда будет включена информация об экземплярах, авторе, истории поступления и массив объектов нужного типа, каждый из которых представляет один из экземпляров библиотеки. Андрей Суслов , старший консультантй отдела маркетинга компании ФОРС. В 1998 году он с отличием закончил Московский Государственный Университет им. М.В. Ломоносова, ф-т Вычислительной Математики и Кибернетики. Сейчас является аспирантом этого же факультета МГУ. Имеет трехлетний опыт разработки и сопровождения баз данных, навыки программирования в среде UNIX и Windows. С ноября 1998 года является консультантом по продуктам Oracle компании ФОРС. Компания ФОРС основана в августе 1991 г. Финансовой Академией при Правительстве РФ и группой сотрудников Академии Наук. Специализируется в продвижении и поставке современных информационных технологий в различных сферах экономики и бизнеса, включая банки, финансовые, страховые, транспортные и другие компании, промышленные предприятия, госструктуры, медицинские учреждения, учебные заведения и т.д. ФОРС является официальным дистрибутором корпорации Oracle, а также бизнес-партнером фирм IFS, PLATINUM technology, System Access, (программное обеспечение), Bull, Digital, Hewlett-Packard, IBM, NCR, Siemens-Nixdorf, Sun, Sequent, Arthur Andersen (консалтинг). ФОРС имеет филиал в Санкт-Петербурге, располагает широкой сетью дилеров в различных регионах России, поддерживает прочные деловые связи с Казахстаном, Украиной, Узбекистаном, Литвой, Азербайджаном и другими государствами СНГ. 3~3~6 6