×
10.12.2013
216.012.8aa6

МЕДИАПРОЦЕССОР ДЛЯ ОРГАНИЗАЦИИ МУЛЬТИМЕДИЙНЫХ ДАННЫХ

Вид РИД

Изобретение

Юридическая информация Свернуть Развернуть
№ охранного документа
0002501176
Дата охранного документа
10.12.2013
Краткое описание РИД Свернуть Развернуть
Аннотация: Изобретение относится к способу и машиночитаемому носителю для выполнения последовательности мультимедийных операций над одним или несколькими потоками мультимедийных данных в медиапроцессоре. Техническим результатом является расширение функциональных возможностей. Способ состоит в том, что определяют местоположение одного или нескольких мультимедийных компонентов, выходы которых подключены ко входу устройства приемника, опрашивают мультимедийные компоненты на предмет доступности выборки, проверяя входы мультимедийных компонентов, если выборка недоступна, в случае отсутствия доступной выборки на входах проверяют медиаисточник, выдающий мультимедийные компоненты, на предмет выборки, в случае отсутствия доступной выборки на медиаисточнике выполняют функцию завершения файла или объявляют состояние ошибки, в случае доступности выборки передают выборку на следующий мультимедийный компонент из мультимедийных компонентов. 2 н. и 1 з.п. ф-лы, 6 ил.
Реферат Свернуть Развернуть

Область техники

Данное изобретение относится, в целом, к вычислениям и, в частности, к обработке мультимедийных данных в вычислительной среде.

Предпосылки изобретения

По мере того как возможности компьютеров распространяются на развлекательные жанры, которые требуют отдельных электронных компонентов, желательно повысить эффективность и дружественность к пользователю. Одним из решений является DirectShow® от фирмы Microsoft®, которая обеспечивает воспроизведение мультимедийных потоков из локальных файлов или интернет-серверов, захват мультимедийных потоков от устройств и преобразование форматов мультимедийных потоков. DirectShow® позволяет воспроизводить видео- и аудиоконтент таких типов файлов, как Windows Media Audio, Windows Media Video, MPEG, QuickTime® от Apple®, Audio-Video Interleaved (AVI) и WAV. DirectShow® включает в себя систему подключаемых фильтрующих компонентов. Фильтры являются объектами, которые поддерживают интерфейсы DirectShow® и могут выполнять в отношении потоков данных операции чтения, копирования, изменения и записи данных в файл. Основные типы фильтров включают в себя фильтр источника, который принимает данные из некоторого источника, например файла на диске, спутниковой антенны, интернет-сервера или видеомагнитофона, и вводят их в граф фильтров, который является соединением фильтров. Граф фильтров обеспечивает преобразующий фильтр, который преобразует формат данных, фильтр синхронизации и источника, который принимает данные и передает данные, и фильтр преобразования (визуализации), который преобразует данные, например, для вывода на устройство отображения. Данные также можно преобразовывать для любого устройства, которое воспринимает медиа. Другие типы фильтров, входящих в состав DirectShow®, включают в себя фильтры эффектов, которые добавляют эффекты, не изменяя тип данных, и фильтры-анализаторы, которые понимают формат данных источника и знают, как читать правильные байты, создавать метки времени и осуществлять поиски.

Поэтому все данные проходят от фильтра к фильтру совместно со значительным количеством управляющей информации. Когда фильтры соединены с использованием отводов, создается граф (схема) фильтров. Для управления потоком данных и соединениями в графе фильтров DirectShow® содержит администратор графа фильтров. Администратор графа фильтров способствует обеспечению правильного порядка соединения фильтров, но данные и большинство управляющих сигналов не проходят через администратор графа фильтров. Фильтры должны соединяться надлежащим образом. Например, администратор графа фильтров должен искать конфигурацию визуализации, определять имеющиеся типы фильтров, связывать фильтры в надлежащем порядке для данного типа данных и обеспечивать соответствующий фильтр визуализации.

Хотя фильтры допускают большой объем повторного использования программ, использование фильтров также создает некоторые неожиданные проблемы. Одна из проблем, создаваемых фильтрами, состоит в появлении большого количества API (программный интерфейс приложений) для фильтров. По существу, каждый фильтр имеет отдельный API. Поэтому данный фильтр должен быть способен взаимодействовать с API для каждого фильтра, к которому он может быть присоединен. Кроме того, использование фильтров создает проблему, связанную с отключением данного фильтра. Когда данный фильтр в графе отключен, любой фильтр, который взаимодействует с отключенным фильтром, требует другого связанного интерфейса. В целом, программировать фильтр так, чтобы изящно обрабатывать потерю интерфейса, трудно, поскольку состояние фильтра на момент потери интерфейса может быть неизвестно. Поэтому потеря интерфейсов обычно приводит к непредсказуемому поведению фильтров и, в конце концов, к нарушению работы программ. Кроме того, общее управление в DirectShow® распределено между двумя блоками. Интерфейс между фильтрами управляет потоком данных, а администратор фильтров управляет установлением и удалением фильтров. Такого рода распределение управления делает конфигурацию программного обеспечения громоздкой вследствие неизбежного наличия некоторых функций управления, которые пересекают границу между блоками. Другая проблема, связанная с DirectShow®, состоит в том, что фильтры берут на себя ответственность за согласование форматов сред и функции управления буферизацией. Для выполнения этой задачи фильтры связываются с другими фильтрами. Зависимость от фильтров приводит к тому, что построение приложений на основе DirectShow подвержено ошибкам и неэффективностям, которые могут быть запрограммированы в фильтре. Таким образом, плохо написанный фильтр может легко привести к неправильной работе графа фильтров и приложения, связанного с графом фильтров.

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

Сущность изобретения

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

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

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

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

Краткое описание чертежей

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

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

фиг.2 - блок-схема системы организации медиа согласно вариантам осуществления настоящего изобретения;

фиг.3 - блок-схема алгоритма примера передачи данных в медиамашине, необходимого для воспроизведения DVD, согласно вариантам осуществления настоящего изобретения;

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

фиг.5 - блок-схема алгоритма динамического изменения топологии в медиапроцессоре согласно вариантам осуществления настоящего изобретения;

фиг.6 - блок-схема алгоритма, иллюстрирующая процесс прореживания согласно вариантам осуществления настоящего изобретения.

Подробное описание изобретения

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

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

Компоненты вычислительного устройства 100 обычно включают в себя, но не исключительно, процессор 120, системную память 130 и системную шину 121, которая подключает различные компоненты системы, включая системную память 130, к процессору 120. Системная шина 121 может относиться к любому из нескольких типов шинных структур, включая шину памяти или контроллер памяти, периферийную шину и локальную шину, с использованием разнообразных шинных архитектур. В порядке примера, но не ограничения, такие архитектуры включают в себя шину архитектуры промышленного стандарта (ISA), шину микроканальной архитектуры (MCA), шину расширенного стандарта ISA (EISA), локальную шину Ассоциации по стандартам в области видеоэлектроники (VESA) и шину подключений периферийных компонентов (PCI), также именуемую шиной расширения.

Вычислительное устройство 100 обычно содержит разнообразные считываемые компьютером носители. Считываемые компьютером носители могут представлять собой любые имеющиеся носители, к которым может осуществлять доступ вычислительное устройство 100, и включают в себя энергозависимые и энергонезависимые носители, сменные и стационарные носители. В порядке примера, но не ограничения, считываемый компьютером носитель может представлять собой компьютерный носитель данных или среду обмена данными. Компьютерные носители данных включают в себя энергозависимые и энергонезависимые, сменные и стационарные носители, реализованные посредством любого способа или технологии для хранения информации, например, считываемых компьютером команд, структур данных, программных модулей или других данных. Компьютерные носители данных включают в себя, но не исключительно, ОЗУ, ПЗУ, ЭСППЗУ, флэш-память или другую технологию памяти, CD-ROM, цифровые универсальные диски (DVD) или иные оптические дисковые носители данных, магнитные кассеты, магнитную ленту, магнитные дисковые носители данных или иные магнитные запоминающие устройства или любой другой носитель, который можно использовать для хранения полезной информации и к которому можно осуществлять доступ с помощью вычислительного устройства 100. Среды обмена данными обычно воплощают компьютерно-считываемые команды, структуры данных, программные модули или другие данные в виде модулированного сигнала данных, например сигнала несущей или иного транспортного механизма. Среды обмена данными также включают в себя любые среды доставки информации. Термин «модулированный сигнал данных» означает сигнал, одна или несколько характеристик которого изменяется так, чтобы кодировать информацию в сигнале. В порядке примера, но не ограничения, среды обмена данными содержат проводные среды, например проводную сеть или прямое проводное соединение, и беспроводные среды, например акустические, РЧ, инфракрасные и другие беспроводные среды. В число считываемых компьютером сред входят также комбинации любых из вышеперечисленных позиций.

Системная память 130 содержит компьютерные носители данных в виде энергозависимой и/или энергонезависимой памяти, например постоянной памяти (ПЗУ) 131 и оперативной памяти (ОЗУ) 132. Базовая система ввода/вывода (BIOS) 133, содержащая основные процедуры, которые помогают передавать информацию между элементами компьютера 110, например при запуске, хранится в ПЗУ 131. ОЗУ 132 обычно содержит данные и/или программные модули, которые непосредственно доступны процессору 120 и/или в данный момент обрабатываются им. В порядке примера, но не ограничения, на фиг.1 показаны операционная система 134, прикладные программы 135, другие программные модули 136 и программные данные 137.

Вычислительное устройство 100 может также включать в себя другие сменные/стационарные, энергозависимые/энергонезависимые компьютерные носители данных. В порядке примера, на фиг.1 показан жесткий диск 141, который производит считывание со стационарного энергонезависимого магнитного носителя и запись на него, привод 151 магнитного диска, который производит считывание со сменного энергонезависимого магнитного диска 152 и запись на него, и привод 155 оптического диска, который производит считывание со сменного энергонезависимого оптического диска 156, например CD-ROM или другого оптического носителя, и запись на него. Другие сменные/стационарные, энергозависимые/энергонезависимые компьютерные носители данных, которые можно использовать в иллюстративной вычислительной среде, включают в себя, но не исключительно, кассеты с магнитной лентой, карты флэш-памяти, цифровые универсальные диски, ленту для цифрового видео, полупроводниковое ОЗУ, полупроводниковое ПЗУ и т.д. Жесткий диск 141 обычно подключен к системной шине 121 посредством интерфейса стационарной памяти, например интерфейса 140, а привод 151 магнитного диска и привод 155 оптического диска обычно подключены к системной шине 121 посредством интерфейса сменной памяти, например интерфейса 150.

Приводы и соответствующие компьютерные носители данных, описанные выше и показанные на фиг.1, обеспечивают хранение компьютерно-считываемых команд, структур данных, программных модулей и других данных для вычислительного устройства 100. Например, на фиг.1 показано, что на жестком диске 141 хранятся операционная система 144, прикладные программы 145, другие программные модули 146 и программные данные 147. Заметим, что эти компоненты могут быть идентичны операционной системе 134, прикладным программам 135, другим программным модулям 136 и программным данным 137 или отличны от них. Операционная система 144, прикладные программы 145, другие программные модули 146 и программные данные 147 обозначены здесь различными позициями, чтобы показать, что они, как минимум, представляют собой разные копии. Пользователь может вводить команды и информацию в вычислительное устройство 100 через устройства ввода, например клавиатуру 162 и указательное устройство 161, под которым обычно понимают мышь, шаровой манипулятор или сенсорную панель. Другие устройства ввода (не показаны) могут включать в себя микрофон, джойстик, игровую панель, спутниковую антенну, сканер и т.п. Эти и другие устройства ввода часто подключают к процессору 120 через интерфейс 160 пользовательского ввода, который подключен к системной шине, но можно подключать посредством других структур интерфейса и шины, например параллельного порта, игрового порта или универсальной последовательной шины (USB). Монитор 191 или устройство отображения другого типа может также быть подключен к системной шине 121 через интерфейс, например видеоинтерфейс 190. Помимо монитора компьютеры могут содержать другие периферийные устройства вывода, например громкоговорители 197 и принтер 196, которые могут быть подключены через интерфейс 195 периферийных устройств вывода.

Вычислительное устройство 100 работает в сетевой среде, например, показанной на фиг.1, с использованием логических соединений с одним или несколькими удаленными компьютерами. На фиг.1 показано общее сетевое соединение 171 с удаленным вычислительным устройством 180. Общее сетевое соединение 171 может относиться к любому из различных типов сетевых соединений, включая локальную сеть (ЛС), глобальную сеть (ГС), сети, согласующиеся с протоколом Ethernet, протоколом Token-Ring, или другие логические или физические сети, например Интернет или всемирная паутина.

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

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

На фиг.2 изображена блок-схема системы 200 организации (среды передачи информации). Уровень 201 ядра содержит медиаисточник 210, преобразователи 208 и медиаприемник 230. Показано, что система 200 организации среды передачи информации подключена к приложению 202 для приема и передачи медиапотоков. Уровень 201 управления включает в себя медиамашину 260, медиасеанс 240, медиапроцессор 220 и загрузчик 250 топологии. Организация среды 200 предусматривает передачу данных от медиаисточника 210 в медиасеанс 240, а затем в медиапроцессор 220. Из медиапроцессора 220 данные поступают в преобразователи 208 и обратно в медиапроцессор 220 один или несколько раз. Затем данные поступают из медиапроцессора 220 в медиасеанс 240, а затем на приемники 212 потоков. Медиамашина 260 обеспечивает управление интерфейсом приложения 202 и обеспечивает общее управление на уровне 201 управления, а загрузчик 250 топологии гарантирует наступление событий, предписанных в топологии. Система 200 организации среды обеспечивает интерфейсы и схему соединения потоковых медиаобъектов.

Уровень ядра включает в себя компонент 210 медиаисточника и компонент 320 медиаприемника. Также в его состав входят источники 214 потоков, которые действуют под управлением медиаисточника 210, и приемники 212 потоков, которые действуют под управлением медиаприемника 230. Источники 214 потоков передают мультимедийные данные из устройств хранения или захвата на уровень 201 управления, а приемники 212 потоков передают мультимедийные данные от медиамашины 260 на устройства визуализации или хранения (не показаны). Компонент 230 медиаисточника реализует конечные автоматы, которые обеспечивают управление источниками 214 потоков. Компонент 230 медиаприемника реализует конечные автоматы, которые обеспечивают управление приемниками 212 потоков. В каждом случае обработка состояний и передача данных разделены.

Медиаисточник 210, медиаприемник 230 и преобразователи 208, совместно с источниками 214 потоков и приемниками 212 потоков включают в себя объекты, которые составляют часть уровня 211 ядра. Эти компоненты являются программными объектами, реализующими определенную функцию. Медиаисточник 210 и источники 214 потоков обеспечивают либо захват, либо извлечение мультимедийных данных и подачу этих данных в медиасеанс 240. Источники данных включают в себя, но не исключительно, диск, например, жесткий диск CD или DVD, интернет, оперативную память (ОЗУ), видеопамять, видеокамеры, сканнеры, фотокамеры и микрофоны. Медиаприемник 230 включает в себя объекты, которые управляют передачей данных в приемниках 212 потоков. Приемники 212 потоков состоят из объектов, которые принимают данные из уровня 201 управления для хранения или визуализации. Приемники данных включают в себя, но не исключительно, диск, например жесткий диск, записываемый CD или записываемый DVD, вещание в компьютерной сети, например в Интернет, принтеры, устройства отображения, например мониторы, и громкоговорители. Передача данных для медиаисточника 210 и медиаприемника 230 может осуществляться во многих средах, включая, но не исключительно, Ethernet, беспроводные сети, аналоговые кабели до оцифровки, USB, IEEE 1384, параллельный порт, последовательный порт и дисковые интерфейсы.

Преобразователи 208 включают в себя объекты, манипулирующие данными. Эти преобразователи могут включать в себя кодеры, декодеры, разветвители, мультиплексоры, блоки обработки аудиосигнала, например регуляторы низких и высоких частот для добавления таких эффектов, как искусственное эхо, блоки обработки видеосигнала, например маски настройки цветов, регуляторы четкости, контрастности или яркости. Кодеры и декодеры обрабатывают аудио-, видеоданные и данные изображения. Типы видеоданных могут включать в себя MPEG, Apple Quicktime®, AVI и Н.263 и Windows Media Video (WMV). Заметим, что многие стандарты видео являются истинными мультимедийными стандартами в том смысле, что эти стандарты предусматривают передачу как аудио, так и видео. Форматы данных изображения включают в себя JPEG, GIF, Fax и TIFF. Стандарты аудио могут включать в себя MP3, PCM, ADPCM, а также стандарты для воспроизведения CD и Windows Media Audio (WMA). Преобразователи 208 можно использовать для преобразования данных из одного формата в другой. Например, преобразователь 208 может преобразовывать изображение JPEG в формат, пригодный для отображения на мониторе.

На фиг.3 изображена блок-схема последовательности операций типичной обработки мультимедиа. Предположим, пользователь желает посмотреть DVD. Запускается приложение, позволяющее пользователю смотреть DVD. Приложение имеет графический интерфейс пользователя (ГИП), позволяющий пользователю осуществлять такие функции, как включение воспроизведения, остановку, паузу, перемотку вперед и назад. На этапе 302 пользователь выбирает кнопку «воспроизведение», и приложение посылает сообщение на компонент медиамашины в организации медиа (среды передачи информации). Сообщение содержит информацию, что приложение желает смотреть DVD. На этапе 304 медиамашина отправляет на медиасеанс и загрузчик топологии сообщения, предписывающие этим блокам начать воспроизведение DVD. На этапе 306 загрузчик топологии устанавливает топологию. Топология обеспечивает путь потоков данных через источники медиа и потоков, преобразователи и приемники медиа и потоков. На этапе 308 загрузчик топологии передает эту топологию медиапроцессору. Медиапроцессор устанавливает и реализует топологию. На этапе 310 медиапроцессор отправляет сообщения на компоненты уровня ядра, чтобы реализовать объекты, вызванные загрузчиком топологии. Помимо вызова объектов уровня ядра в правильном порядке и передачи данных между объектами, скорость передачи данных регулируется так, чтобы обеспечить синхронизацию аудио и видео и их воспроизведение на нужной скорости. Скорость передачи данных может определяться в медиасеансе. На этапе 312 медиасеанс опрашивает каждый объект, чтобы определить, что нужная скорость может поддерживаться, и передает сообщение на медиапроцессор совместно с информацией скорости. На этапе 314 медиапроцессор определяет тактовую частоту объекта определения скорости на уровне ядра, обычно медиаприемника, и устанавливает эту тактовую частоту. На этапе 316 медиапроцессор вызывает уровень ядра и передает данные между объектами согласно требованиям топологии. Наконец, медиаприемники воспроизводят данные на громкоговорителях и мониторе.

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

На фиг.4 показана топология. Поток данных, инициированный пользователем, требует извлечения выборки для одного из медиа-потоков медиапроцессора. Рассмотрим верхний путь на фиг.4. Поток данных начинается с выходного объекта в топологии (объекта 412 приемника) и проходит, рекурсивно, через список объектов, которые генерируют данные. Процесс на верхнем пути фиг.4 начинается с объекта 412 приемника. Единственным выходным узлом, подключенным ко входу 416, является выход 418, подключенный к объекту 408 преобразования. При наличии доступной выборки на объекте 408 преобразования медиапроцессор 220 считывает выборку и записывает выборку в объект 412 приемника. Если на объекте 408 преобразования не имеется доступной выборки, медиапроцессор 220 проверяет вход объекта 408 преобразования, обозначенный позицией 420, который подключен к выходу 422 объекта 404 преобразования. Затем объект 404 преобразования опрашивается на предмет выборки. Если выборка доступна, медиапроцессор 220 считывает выборку и записывает ее в объект 408 преобразования. Если выборка недоступна, медиапроцессор 220 вновь перемещается на один узел влево и опрашивает объект 403 медиапотока на предмет доступности выборки. Загрузка в объект 403 медиапотока осуществляется через объект 402 источника. При доступности выборки на объекте 403 медиапотока, выборка извлекается из объекта 403 медиапотока в объект 404 преобразования. Если выборка не найдена, то медиапроцессор запрашивает этот объект 403 медиапотока прочитать источник. Всякий раз при нахождении достоверной выборки и передаче ее в следующий блок процесс возобновляется. Процесс завершается оперированием объектами, как только данные обнаружены. Объект 404 преобразования оперирует данными и передает преобразованные данные объекту 408 преобразования для оперирования над данными, которые затем поступают на объект 412 приемника для завершения процесса генерирования выборки на выходе. В одном варианте осуществления медиапроцессор поддерживает объекты списка, имеющие входные данные для других объектов. С помощью этого списка медиапроцессор может просматривать выходной объект и определять, из какого объекта медиапроцессору нужно извлечь медиаданные.

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

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

В одном варианте осуществления медиапроцессор 220 не распоряжается каждым аспектом потока данных. Например, в одном варианте осуществления медиапроцессор 220 не управляет медиавыборками.

Применительно к общей архитектуре организации медиа (среды), медиапроцессор обычно используется в контексте медиамашины. Медиамашина 260 - это компонент, непосредственно используемый приложением 202 при использовании архитектуры организации медиа, показанной на фиг.2. Приложение 202 может настраивать медиамашину 260, задавая источник данных (обычно имя файла, URL или устройство, или сложную конфигурацию, задающую несколько простых источников) и пункт назначения данных (например, выходной мультимедийный файл или устройство визуализации, например видеокарту). Затем в ходе работы медиамашина 260 действует под управлением таких команд, как «начать», «остановить» и т.п. Таким образом, медиамашина 260 использует для осуществления этих функций другие компоненты организации медиасреды и является главным объектом, который приложение 202 использует для выполнения мультимедийных операций. Медиапроцессор 220 может работать под непосредственным управлением сеанса обработки медиа и использоваться совместно с загрузчиком 250 топологии. Сеанс обработки медиа - это объект, который медиамашина 260 использует для оперирования медиаисточниками 210, медиапроцессором 220, медиаприемниками 230 и загрузчиком 250 топологии.

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

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

В случае, когда узел имеет более одного выхода, медиапроцессору 220 нужно больше информации о выходах. Загрузчик топологии будет указывать свойства выхода, который может быть либо первичным (основным), либо отменяемым.

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

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

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

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

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

На фиг.5 показана блок-схема последовательности операций динамического изменения топологии. На этапе 502 медиапроцессор принимает запрос на изменение топологии. На этапе 504 медиапроцессор 220 сначала делает любые извещения пользователю, которые запрошены, например, об изменении форматов медиаисточника. На этапе 506 медиапроцессор 220 останавливает обработку и поддерживает свое состояние так, что он может возобновить обработку на любых узлах, которые остаются в новой топологии. Медиапроцессор 220 также переходит в такое состояние, что любая попытка пользователя продолжить работу будет просто ждать, пока не завершится изменение топологии. На этапе 508 медиапроцессор 220 принимает новую топологию. Новая топология может поступить от загрузчика топологии или от приложения. На этапе 510 медиапроцессор 220 обновляет свою внутреннюю топологию, чтобы соответствовать новой топологии. На этапе 512 медиапроцессор 220 сообщает приложению, что новая топология на месте, и возобновляет обработку.

Медиапроцессор 220 способен поддерживать работу на произвольных скоростях. Интерфейс медиаисточника является интерфейсом извлечения; то есть пользователь может извлекать выборки так быстро, как возможно. По этой причине медиапроцессор 220 автоматически поддерживает произвольные скорости. Однако во многих случаях медиаисточники или преобразователи также имеют оптимизации или улучшенное поведение, когда они знают скорость. Таким образом, когда пользователь явно предписывает медиапроцессору 220 работать на данной скорости, медиапроцессор 220 опрашивает любые медиаисточники и преобразователи в топологии, чтобы определить их возможности по скорости. Если данная скорость поддерживается всеми медиаисточниками и преобразователями, медиапроцессор 220 устанавливает скорость всех объектов медиаисточника и объектов преобразования так, чтобы медиаисточники и объекты преобразования могли произвести соответствующие изменения в своем поведении. Запуск мультимедийного потока в обратном направлении является частным случаем изменения скорости.

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

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

На фиг.6 показана блок-схема последовательности операций процесса, используемого для оптимизации прореживания. Этап 602 предусматривает, что медиапроцессор 220 применяет логические средства к каждой выборке, генерируемой на узле, в отношении кэширования данных выборки. Этап 604 принятия решения предусматривает, что, решая, кэшировать ли данные выборки, медиапроцессор сначала определяет, кэшированы ли данные выборки. Если да, то этап 606 предусматривает отсутствие действия. Если нет, то этап 608 предусматривает, что медиапроцессор 220 определяет настройки кэширования, установленные пользователем. Настройки кэширования могут включать в себя идентификацию узлов, для которых желательно кэширование, частоту кэширования, максимальный объем памяти, используемой для кэширования и т.д. Этап 610 предусматривает применение настроек для определения, кэшировать выборку или нет, и кэширование по необходимости.

Этап 612 предусматривает, что медиапроцессор 220 принимает «поиск» данных, выданный приложением 202. Поиск данных может представлять собой, например, запрос следующего кадра данных для обеспечения покадрового продвижения видеопотока. Получив поиск, медиапроцессор 220 для каждого узла проверяет на этапе 614 принятия решения, присутствуют ли запрошенные данные в кэш-памяти. Если присутствуют, то этап 616 предусматривает отправку данных обратно приложению 202 вместо повторной генерации данных выборки. Если отсутствуют, то этап 618 предусматривает использование соответствующего преобразователя, источника или другого надлежащего компонента для генерации данных выборки.

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

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


МЕДИАПРОЦЕССОР ДЛЯ ОРГАНИЗАЦИИ МУЛЬТИМЕДИЙНЫХ ДАННЫХ
МЕДИАПРОЦЕССОР ДЛЯ ОРГАНИЗАЦИИ МУЛЬТИМЕДИЙНЫХ ДАННЫХ
МЕДИАПРОЦЕССОР ДЛЯ ОРГАНИЗАЦИИ МУЛЬТИМЕДИЙНЫХ ДАННЫХ
МЕДИАПРОЦЕССОР ДЛЯ ОРГАНИЗАЦИИ МУЛЬТИМЕДИЙНЫХ ДАННЫХ
МЕДИАПРОЦЕССОР ДЛЯ ОРГАНИЗАЦИИ МУЛЬТИМЕДИЙНЫХ ДАННЫХ
МЕДИАПРОЦЕССОР ДЛЯ ОРГАНИЗАЦИИ МУЛЬТИМЕДИЙНЫХ ДАННЫХ
Источник поступления информации: Роспатент

Showing 1-10 of 465 items.
10.01.2013
№216.012.1a40

Архитектура для онлайновых коллективных и объединенных взаимодействий

Изобретение относится к различным аспектам архитектуры онлайновых коллективных и объединенных взаимодействий. Технический результат изобретения заключается в обеспечении возможности кроссплатформенного взаимодействия между множеством вычислительных устройств. Данный технический результат...
Тип: Изобретение
Номер охранного документа: 0002472212
Дата охранного документа: 10.01.2013
10.01.2013
№216.012.1a42

Интеллектуальное редактирование реляционных моделей

Изобретение относится к средствам редактирования реляционных моделей. Технический результат заключается в упрощении процесса редактирования пользователем моделей. Принимают жест пользователя, указывающего редактирование, которое будет выполняться, по меньшей мере, для одного целевого объекта в...
Тип: Изобретение
Номер охранного документа: 0002472214
Дата охранного документа: 10.01.2013
20.01.2013
№216.012.1dc2

Создание и развертывание распределенных расширяемых приложений

Изобретение относится к средствам создания распределенного приложения. Технический результат заключается в улучшении расширяемости распределенного приложения. Выбирают службы из списка служб, доступных на удаленном кластере серверов, при этом каждая служба предоставляет различные функциональные...
Тип: Изобретение
Номер охранного документа: 0002473112
Дата охранного документа: 20.01.2013
20.01.2013
№216.012.1dc6

Использование устройства флэш-памяти для препятствования несанкционированному использованию программного обеспечения

Изобретение относится к области использования устройства флэш-памяти для препятствования несанкционированному использованию программного обеспечения. Техническим результатом является обеспечение препятствования несанкционированному использованию приложения программного обеспечения....
Тип: Изобретение
Номер охранного документа: 0002473116
Дата охранного документа: 20.01.2013
20.01.2013
№216.012.1dc8

Гибкое редактирование гетерогенных документов

Изобретение относится к способу, системе для гибкого редактирования гетерогенных документов. Техническим результатом является расширение функциональных возможностей обработки документов за счет организации единого рабочего пространства. Различные типы документов можно организовывать на...
Тип: Изобретение
Номер охранного документа: 0002473118
Дата охранного документа: 20.01.2013
20.01.2013
№216.012.1dcc

Доверительная среда для обнаружения вредоносных программ

Изобретение относится к области обнаружения вредоносных программ. Техническим результатом является повышение эффективности обнаружения вредоносных программ. В одной реализации доверительная среда, которая включает в себя доверительную операционную систему и доверительное антивирусное...
Тип: Изобретение
Номер охранного документа: 0002473122
Дата охранного документа: 20.01.2013
20.01.2013
№216.012.1dd1

Интеграция рекламы и расширяемые темы для операционных систем

Предложены компьютерная система и способ обеспечения интеграции рекламы с пользовательским интерфейсом. Устройство содержит компонент получения, компонент выбора и компонент конфигурации. Компонент получения получает рекламный контент, включающий в себя рекламу продукта или услуги, от...
Тип: Изобретение
Номер охранного документа: 0002473127
Дата охранного документа: 20.01.2013
20.02.2013
№216.012.284d

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

Изобретение относится к области управления сетью. Техническим результатом является повышение эффективности аутентификации принципалов в сетевой среде. Усовершенствованная сетевая архитектура использует суперуполномоченного, имеющего каталог идентификационной информации для направления задач...
Тип: Изобретение
Номер охранного документа: 0002475837
Дата охранного документа: 20.02.2013
20.02.2013
№216.012.284f

Криптографическое управление доступом к документам

Изобретение относится к криптографическому управлению доступом к документам. Технический результат заключается в повышении защиты документов от несанкционированного доступа с использованием криптографического шифрования. Устройство содержит блок обработки данных, состоящий из запрашивающего...
Тип: Изобретение
Номер охранного документа: 0002475839
Дата охранного документа: 20.02.2013
20.02.2013
№216.012.2850

Предоставление цифровых удостоверений

Изобретение относится к области защиты информации и может быть использовано для создания и предоставления цифровых удостоверений пользователю. Техническим результатом является улучшение точности и увеличение надежности систем предоставления данных цифровой идентификации. Способ содержит этапы...
Тип: Изобретение
Номер охранного документа: 0002475840
Дата охранного документа: 20.02.2013
Showing 1-10 of 238 items.
10.01.2013
№216.012.1a40

Архитектура для онлайновых коллективных и объединенных взаимодействий

Изобретение относится к различным аспектам архитектуры онлайновых коллективных и объединенных взаимодействий. Технический результат изобретения заключается в обеспечении возможности кроссплатформенного взаимодействия между множеством вычислительных устройств. Данный технический результат...
Тип: Изобретение
Номер охранного документа: 0002472212
Дата охранного документа: 10.01.2013
10.01.2013
№216.012.1a42

Интеллектуальное редактирование реляционных моделей

Изобретение относится к средствам редактирования реляционных моделей. Технический результат заключается в упрощении процесса редактирования пользователем моделей. Принимают жест пользователя, указывающего редактирование, которое будет выполняться, по меньшей мере, для одного целевого объекта в...
Тип: Изобретение
Номер охранного документа: 0002472214
Дата охранного документа: 10.01.2013
20.01.2013
№216.012.1dc2

Создание и развертывание распределенных расширяемых приложений

Изобретение относится к средствам создания распределенного приложения. Технический результат заключается в улучшении расширяемости распределенного приложения. Выбирают службы из списка служб, доступных на удаленном кластере серверов, при этом каждая служба предоставляет различные функциональные...
Тип: Изобретение
Номер охранного документа: 0002473112
Дата охранного документа: 20.01.2013
20.01.2013
№216.012.1dc6

Использование устройства флэш-памяти для препятствования несанкционированному использованию программного обеспечения

Изобретение относится к области использования устройства флэш-памяти для препятствования несанкционированному использованию программного обеспечения. Техническим результатом является обеспечение препятствования несанкционированному использованию приложения программного обеспечения....
Тип: Изобретение
Номер охранного документа: 0002473116
Дата охранного документа: 20.01.2013
20.01.2013
№216.012.1dc8

Гибкое редактирование гетерогенных документов

Изобретение относится к способу, системе для гибкого редактирования гетерогенных документов. Техническим результатом является расширение функциональных возможностей обработки документов за счет организации единого рабочего пространства. Различные типы документов можно организовывать на...
Тип: Изобретение
Номер охранного документа: 0002473118
Дата охранного документа: 20.01.2013
20.01.2013
№216.012.1dcc

Доверительная среда для обнаружения вредоносных программ

Изобретение относится к области обнаружения вредоносных программ. Техническим результатом является повышение эффективности обнаружения вредоносных программ. В одной реализации доверительная среда, которая включает в себя доверительную операционную систему и доверительное антивирусное...
Тип: Изобретение
Номер охранного документа: 0002473122
Дата охранного документа: 20.01.2013
20.01.2013
№216.012.1dd1

Интеграция рекламы и расширяемые темы для операционных систем

Предложены компьютерная система и способ обеспечения интеграции рекламы с пользовательским интерфейсом. Устройство содержит компонент получения, компонент выбора и компонент конфигурации. Компонент получения получает рекламный контент, включающий в себя рекламу продукта или услуги, от...
Тип: Изобретение
Номер охранного документа: 0002473127
Дата охранного документа: 20.01.2013
20.02.2013
№216.012.284d

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

Изобретение относится к области управления сетью. Техническим результатом является повышение эффективности аутентификации принципалов в сетевой среде. Усовершенствованная сетевая архитектура использует суперуполномоченного, имеющего каталог идентификационной информации для направления задач...
Тип: Изобретение
Номер охранного документа: 0002475837
Дата охранного документа: 20.02.2013
20.02.2013
№216.012.284f

Криптографическое управление доступом к документам

Изобретение относится к криптографическому управлению доступом к документам. Технический результат заключается в повышении защиты документов от несанкционированного доступа с использованием криптографического шифрования. Устройство содержит блок обработки данных, состоящий из запрашивающего...
Тип: Изобретение
Номер охранного документа: 0002475839
Дата охранного документа: 20.02.2013
20.02.2013
№216.012.2850

Предоставление цифровых удостоверений

Изобретение относится к области защиты информации и может быть использовано для создания и предоставления цифровых удостоверений пользователю. Техническим результатом является улучшение точности и увеличение надежности систем предоставления данных цифровой идентификации. Способ содержит этапы...
Тип: Изобретение
Номер охранного документа: 0002475840
Дата охранного документа: 20.02.2013
+ добавить свой РИД