Опубликован: 07.08.2007 | Уровень: специалист | Доступ: платный | ВУЗ: Московский физико-технический институт
Лекция 6:

Стандарт mpeg-4, -7, -21

Эталонные программы: экспериментальная модель

Цели

Программы XM являются основой для эталонных кодов стандарта MPEG-7. Они используют нормативные компоненты MPEG-7:

  • дескрипторы (D);
  • схемы описания (DS);
  • схемы кодирования (CS);
  • язык описания определений DDL (Description Definition Language) и
  • компоненты систем BiM.

Кроме нормативных компонентов, симуляционной платформе необходимы также некоторые ненормативные компоненты, существенные для реализации некоторых процедурных программ, которые выполняются для нормативных информационных структур. Информационные структуры и процедурные программы образуют приложения. Для большинства D или DS существует как минимум одно приложение в программном пакете, позволяющее проверить функциональность каждого нормативного компонента. Приложения показывают, как извлечь метаданные из медиаматериала или как метаданные могут использоваться в простых приложениях. Следовательно, XM реализует только базовые типы элементарных приложений, а не приложения реального мира. Более того, программы XM имеют только интерфейс командной строки, который не допускает какого-либо взаимодействия в процессе исполнения.

Модули программного обеспечения XM разработаны так, что все они используют специфицированные интерфейсы. Это позволяет облегчить навигацию среди множества различных модулей для разных D и DS. С другой стороны, применение фиксированного интерфейса позволяет повторно использовать отдельные модули и объединять их в большие приложения.

Извлечение и приложения клиента

В рамках программного обеспечения XM приложения соотносятся с одним конкретным дескриптором или схемой описания. Так как стандартизовано много дескрипторов и схем описания (DS), существует также много приложений, интегрированных в программный пакет. Приложения, формирующие дескриптор (D) или схему описания (DS), которые они тестируют, называются приложениями выборки. С другой стороны, приложения, которые используют тестируемые D или DS (DUT), называются приложениями клиента. Извлекающие приложения нужны, если D или DS являются дескриптором низкого уровня — это означает, что описание может быть извлечено из мультимедийного материала автоматически. Для D или DS высокого уровня выборка не может быть реализована аналогично. Однако в большинстве случаев выборка может быть основана на предварительной информации. Это означает, что процесс выборки читает эти дополнительные данные помимо медийного материала, чтобы получить описания. Таким образом, набор мультимедийного материала расширяется путем добавления данных высокого уровня.

Модульность XM-программ

По умолчанию модули для всех D и DS скомпилированы так, чтобы создать один большой исполнимый модуль, который может затем вызвать приложение для индивидуального D или DS. Однако результирующий исполняемый модуль становится необыкновенно большим, из-за массы индивидуальных D и DS, определяемых стандартом. Компиляция с целью получения исполняемого модуля может выдать файл размером более 100 Мбайт (в случае, если включен режим отладки). Следовательно, программное обеспечение MPEG-7 XM сконструировано так, чтобы поддерживать частичную компиляцию с использованием только одного D или DS. С другой стороны, во многих случаях желательно комбинировать субнаборы D или DS. Более того, комбинирование D и DS также необходимо, когда DS строится иерархически из других D и DS. При этом сценарии важно не только обеспечить частичную компиляцию, но и сконструировать программу так, чтобы код можно было использовать повторно. Таким образом, все приложения построены из модулей. Среди этих модулей:

  • класс медийного декодера;
  • класс мультимедийных данных;
  • класс средства выборки (только для приложений выборки);
  • класс дескриптора;
  • класс схемы кодирования;
  • класс средства поиска (только для приложений клиента).

Чтобы увеличить возможность повторного использования, все эти классы используют специальные интерфейсы, независящие от D или DS, к которым они принадлежат. Таким образом, чтобы программу можно было использовать повторно, нужно, например, применить средство выборки D или DS для других D или DS без глубокого знания, как это делается в данном средстве. Это возможно, если только известно, как использовать интерфейс этого средства выборки. Модули, перечисленные выше, скомбинированы или соединены друг с другом так, чтобы образовать цепочку обработки. Это сделано в классах приложений, которые могут относиться к классам выборки или приложения клиента.

Модули приложения

Медиа-декодер (класс MediaIO) поддерживает широкий диапазон возможных входных медийных форматов. Среди них:

  • аудиоданные в файлах WAV;
  • видеопотоки MPEG-1;
  • векторы перемещения из видеопотоков MPEG-1 (обрабатываемые как статическое изображение);
  • статические изображения (JPEG, GIF, PNM и многие другие);
  • список ключевых точек 4D ( t, x, y, z );
  • список ключевых точек nD ( t, x [0…n.1] );
  • другие частные входные форматы для информации верхнего уровня.

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

  • библиотека Afsp для аудиофайлов и
  • ImageMagick для статических изображений.

Особым случаем являются видеопоследовательности, так как декодированное и не компрессированное представление является слишком емким для того, чтобы производиться в памяти. Следовательно, класс MediaIO записывает декомпрессированные изображения во временные файлы, которые могут быть затем загружены с помощью программ для статических изображений. Тот же механизм применяется для векторов перемещения, но здесь декодирование видеопоследовательностей останавливается после получения векторов перемещения.

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

Класс MultiMedia хранит загруженные медиа-данные в памяти. Видеопоследовательности не загружаются в память (в память могут заноситься лишь отдельные кадры).

Для статических изображений XM использует сокращенную структуру данных MoMuSys Vop из модели верификации MPEG-4 (VM). Ключевые точки записываются в двухмерный связанный список: одно измерение — для временных точек (один кадр), содержащих второе измерение, которое включает в себя все ключевые точки для этого кадра.

Средство выборки выполняет выборку из базы данных характеристики одного элемента мультимедиа. Процесс выборки не является нормативным средством в стандарте MPEG-7. Чтобы извлечь характеристику материала, средство выборки воспринимает ссылку на медиа-данные, являющиеся входными для данной операции и в то же время ссылкой для описания, которое записывает результаты процесса выборки.

Так как в случае обработки видеопоследовательности невозможно предоставить все входные данные одновременно, выборка производится покадрово. Это означает, что имеется три функции, которые используются для реализации процедуры выборки:

  • InitExtracting, которое вызывается до обработки первого кадра;
  • StartExtracting, которое вызывается в цикле для всех кадров, чтобы извлечь часть описания;
  • PostExtracting, которое вызывается после того, как все кадры обработаны. Это необходимо, если некоторая часть описания может быть сформирована после того, как все данные доступны (например, число кадров в последовательности).

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

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

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

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

В программах XM имеется два различных способа конструирования классов D или DS. В случае визуальных D этот класс использует простой подход класса C++. Во всех других случаях этот класс реализуется с помощью общего модуля, который в XM называется GenericDS. Этот класс является интерфейсом между программами C++ XM и реализацией парсера DDL. Здесь применяется XML-парсер, предоставляющий DOM-API (Data Object Model — Application Programming Interface — прикладной программный интерфейс объектной модели данных). Следовательно, GenericDS является интерфейсом между XM и парсером DOM-API. Управление памятью для описательных данных выполняется посредством библиотеки парсера DOM. Оба подхода могут комбинироваться с помощью функций ImportDDL и ExportDLL реализованных классов дескриптора C++.

Схема кодирования включает в себя нормативный кодировщик и декодер для D или DS. В большинстве случаев схема кодирования определена только заданием схемы DDL. Здесь кодирование представляет собой вывод описания в файл, а декодирование является разборкой (parsing) и загрузкой файла описания в память. Описание запоминается с использованием класса GenericDS, который является оболочкой для DOM-API. Следовательно, мы можем использовать библиотеку парсера DOM-API для кодирования и декодирования. Эти функции встроены XM с помощью класса GenericDSCS (CS = схема кодирования). Помимо ASCII-представления XML-файла, MPEG-7 стандартизует также двоичное представление описаний (BiM).

Другим подходом является использование визуальной группы MPEG-7. Здесь каждый D имеет также индивидуальное двоичное представление. Это позволяет специфицировать число бит, которое следует использовать для кодирования индивидуальных элементов описания. Примером может служить число бит, используемых для кодирования каждой ячейки гистограммы.

В качестве средств извлечения и поиска используется ненормативное средство стандарта. Оно берет одно описание из базы данных и одно описание запроса, причем запрос может не соответствовать нормативам MPEG-7 D или DS. Средство поиска анализирует описание и обрабатывает нужные входные данные так, как это требуется для специфицированного приложения.

Средства поиска используются во всех клиентских приложениях, которые являются приложениями поиска и доставки ( search & retrieval ) и приложениями медиа-транскодирования ( media transcoding ). В случае приложений поиска и доставки средство поиска сравнивает два входных описания и вычисляет величину их отличия. Для приложения медиа-транскодирования обрабатываются медиа-данные, то есть медийная информация модифицируется на основе описания и запроса. Средство поиска вызывается из приложения транскодирования.

Типы приложений в XM-программах

Выборка из медиа-приложения относится к типам приложений выборки. Обычно все D или DS низкого уровня должны иметь класс приложения этого типа. Как показано на рис. 6.39, приложение извлекает тестируемые D/DS (DUT) из входных медиа-данных. Сначала медиафайл загружается медиа-декодером в мультимедиа-класс, то есть в память. На следующем шаге с помощью средства выборки описание может быть извлечено из мультимедиа-класса. Затем описание проходит через кодировщик и закодированные данные записываются в файл. Этот процесс повторяется для всех мультимедийных файлов медийной базы данных.

Выборка для приложения медийного типа. Описание извлекается из входных медийных данных

Рис. 6.39. Выборка для приложения медийного типа. Описание извлекается из входных медийных данных

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

Поиск и выборка прикладного типа. Сортированная информация из медиа- базы данных получается из описаний и запроса

Рис. 6.40. Поиск и выборка прикладного типа. Сортированная информация из медиа- базы данных получается из описаний и запроса

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

Тип приложения медиа-транскодирования. Из исходной DB создается транскодированная база данных, соответствующая описаниям и опционно запросу

Рис. 6.41. Тип приложения медиа-транскодирования. Из исходной DB создается транскодированная база данных, соответствующая описаниям и опционно запросу

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

Приложение фильтрации описаний

Рис. 6.42. Приложение фильтрации описаний
Модель ключевого приложения MPEG-7

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

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

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

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

Рис. 6.43. Интерфейсная модель ключевых приложений XM. Эта модель показывает супер-набор возможных входов и выходов ключевого приложения XM

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

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

Ключевые приложения против приложений реального мира

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

Пример приложения реального мира, извлекающего два разных описания (XM-Прил 1, XM- Прил 2). Основываясь на первом описании, выбран адекватный набор материала (XM- Прил 3), который затем транскодирован с использованием второго описания (XM- Прил 4). (MDB = медийная база данных, DDB = база данных описаний)

Рис. 6.44. Пример приложения реального мира, извлекающего два разных описания (XM-Прил 1, XM- Прил 2). Основываясь на первом описании, выбран адекватный набор материала (XM- Прил 3), который затем транскодирован с использованием второго описания (XM- Прил 4). (MDB = медийная база данных, DDB = база данных описаний)

На рис. 6.44 приведен пример приложения реального мира. Сначала из медиа-базы извлекаются два объекта. Затем, основываясь на первом объекте, из базы данных выбираются адекватные медиа-файлы. Эти медиа-файлы транскодируются с привлечением второго извлеченного объекта.

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

Быстродействие сетевых каналов уже сегодня позволяет скопировать содержимое DVD-диска за время порядка 10 секунд, сетевые пользователи обмениваются друг с другом дисками, переписывают их друг у друга. Производители программ и других аналогичных продуктов несут огромные убытки. Встают достаточно сложные проблемы, как, сохранив демократичность Интернета, обеспечить права интеллектуальной собственности автора, владельца, распространителя. Эта задача рассматривалась уже в рамках MPEG-4. Именно этой проблеме посвящен готовящийся сейчас стандарт MPEG-21.

Евгений Виноградов
Евгений Виноградов

Прошел экстерном экзамен по курсу перепордготовки "Информационная безопасность". Хочу получить диплом, но не вижу где оплатить? Ну и соответственно , как с получением бумажного документа?

Илья Сидоркин
Илья Сидоркин

Добрый день! Подскажите пожалуйста как и когда получить диплом, после сдичи и оплаты?????

Иван Бузмаков
Иван Бузмаков
Россия, Сарапул
Никита Сомов
Никита Сомов
Россия, Удмуртская республика