СИСТЕМА И СПОСОБ ХРАНЕНИЯ МУЛЬТИМЕДИЙНЫХ ПРЕЗЕНТАЦИЙ, ИМЕЮЩИХ НЕСКОЛЬКО ИСТОЧНИКОВ
SYSTEM AND METHOD TO STORE MULTIMEDIA PRESENTATIONS HAVING SEVERAL SOURCES

Ссылка на связанные заявки
По настоящей заявке испрашивается приоритет согласно предварительной заявке на патент США №61/103897, поданной 8 октября 2008 года.
Область техники
Различные варианты осуществления настоящего изобретения относятся к хранению мультимедийных презентаций и, в частности, к хранению в файлах мультимедийных презентаций, имеющих несколько источников, для локального воспроизведения или передачи, при этом мультимедийными презентациями, имеющими несколько источников, называют мультимедийные презентации, которые отображают более одного мультимедийного потока по меньшей мере одного типа мультимедийных данных.
Предпосылки создания изобретения
Данный раздел предназначен для описания предпосылок к созданию изобретения, охарактеризованного в формуле изобретения. Описание данного раздела может включать идеи, которые могли быть реализованы, но не обязательно те идеи, которые уже были предложены или разработаны ранее. Таким образом, если не указано иное, данный раздел не является описанием уровня техники для предлагаемого изобретения и не признается таковым вследствие включения в настоящий раздел.
Формат файла является важным элементом при производстве, обработке, передаче и использовании мультимедийного контента. Формат файла отличается от формата кодирования. Формат кодирования связан с работой специального алгоритма кодирования, с помощью которого информацию контента кодируют в битовый поток. В отличие от этого, формат файла включает механизмы организации формируемого битового потока таким образом, чтобы обеспечить возможность его локального декодирования и воспроизведения, а также механизмы его передачи в виде файла или потока с применением различных архитектур хранения и передачи информации. Кроме того, формат файла может использоваться для упрощения обмена мультимедийными данными и их редактирования. Например, многие приложения потоковой передачи требуют, чтобы предварительно закодированный битовый поток сопровождался на стороне сервера метаданными (хранимыми в дорожках-« подсказках» (hint tracks)), которые помогают серверу осуществлять потоковую передачу видеоданных клиенту. Дорожка-«подсказка» не содержит мультимедийных данных, а содержит инструкции по упаковке одной или более дорожек в канал потоковой передачи.
rd
Существующие стандарты форматов мультимедийных файлов включают базовый формат мультимедийных файлов Международной организации по стандартизации (International Organisation for Standardization, ISO) (ISO/IEC (International Electrotechnical Commission, Международная электротехническая комиссия) 14496-12) (также называемый форматом ISO), формат файла Группы экспертов по движущимся изображениям (Moving Picture Experts Group) MPEG-4 (ISO/IEC 14496-14), формат файла усовершенствованного видеокодирования (Advanced Video Coding, AVC) (ISO/IEC 14496-15) и формат файла Консорциума третьего поколения (3Generation Partnership Project, 3GPP) (3GPP TS 26.244). Группа MPEG ведет работу по разработке формата файла масштабируемого видеокодирования (Scalable Video Coding, SVC) и многоракурсного видеокодирования (Multiview Video Coding, MVC), которые предположительно станут двумя поправками к формату файла AVC.
Формат файла ISO является основой для получения всех упомянутых выше форматов файла (за исключением самого формата файла ISO). Эти форматы файлов (включая формат файлов ISO) называют семейством форматов файлов ISO. В соответствии с семейством форматов файлов ISO каждый файл включает ровно один блок фильма (movie box), который соответствует одной презентации. Блок фильма может содержать одну или более дорожек, при этом каждая дорожка размещена в блоке дорожки. Для представления одного типа мультимедийных данных (например, аудио- или видеоданных), как правило, выбирают одну дорожку, тем не менее, возможно использование более одной дорожки, хранящей информацию конкретного типа мультимедийных данных. Подмножество этих дорожек может образовывать группу альтернативных дорожек, в которой каждая дорожка может быть независимо декодирована и выбрана для воспроизведения.
При многосторонней конференц-связи приемники обычно отображают видео выбранного поднабора участников на многооконном экране, например, в конфигурации, проиллюстрированной на фиг.6. Блок управления многоточечной конференцией (multipoint control unit, MCU) может кодировать входящие видеопотоки выбранного поднабора участников в один видеопоток, включающий весь видеоконтент упомянутого выбранного поднабора участников. Альтернативно, блок MCU может просто перенаправлять входящие видеопотоки выбранного поднабора участников в приемники, после чего каждый видеопоток независимо декодируют.
У принимающей стороны может возникнуть желание сохранить презентацию многосторонней конференц-связи для будущего использования. Однако существующие модели форматов файлов не поддерживают сохранение презентаций многосторонних видеоконференций в случае, когда блок MCU перенаправляет видеопотоки участникам. В соответствии с моделями существующих форматов файлов, таких как базовый формат мультимедийных файлов ISO, приемник может хранить видеопотоки, предназначенные для отображения, в отдельных видеодорожках. Однако в этом случае проигрыватель, получающий этот файл на входе, не может определить, какие видеодорожки нужно декодировать и как отображать соответствующие видеодорожки.
В других сценариях применения возможны другие типы мультимедийных презентаций, имеющих несколько источников и отображающих более одного мультимедийного потока по меньшей мере одного типа мультимедийных данных. Примеры таких сценариев применения включают, например, записываемую видеотелефонию с двумя участниками -вызывающей и принимающей стороной; видеонаблюдение, в котором может быть много камер (возможно, оснащенных аудиодатчиками), передающих аудио-визуальные сигналы в центр управления; а также записанные презентации учебного типа, в которых могут быть записаны слайды и один или более докладчиков в отдельных медиапотоках, которые будут совместно отображены впоследствии.
Кроме того, полезной представляется возможность простого определения из файла, для какого сценария применения предназначена презентация, имеющая несколько источников, для предоставления контекста при будущем использовании файла. Также желательно иметь возможность определять из файла дополнительную контекстную информацию, например, имена участников, телефонные номера, информацию о том, кто выполнил запись видеотелефонии/конференции, или идентификаторы камер и/или описание их расположения в случае видеонаблюдения. Также, что касается видеонаблюдения, могут иметь место несколько источников аудиоданных, каждый из которых связан с отдельным источником видеоданных. Однако в существующих системах и способах не обеспечен механизм установления соответствия между источником аудиоданных (хранящихся в аудиодорожке) и источником видеоданных (хранящихся в видеодорожке).
Кроме того, в таких сценариях применения как видеотелефония, конференц-связь и видеонаблюдение, как правило, желательно отображать активную сторону или активный источник более заметным образом, чем остальные стороны/источники. Следовательно, если в файле будет присутствовать информация об активной стороне или источнике (аудио- и/или визуальная информация), впоследствии проигрыватели файла без затруднений смогут автоматически отображать активную сторону или активный источник в соответствии с этой информацией. Наконец, для аудио- и/или визуальной презентации периоды молчания, в которые нет активности ни в аудиосцене, ни в визуальной сцене, являются наименее информативными. Следовательно, было бы полезно исключить воспроизведение подобных периодов молчания, особенно для целей быстрого просмотра. Таким образом, желательно иметь информацию, указывающую периоды молчания.
Сущность изобретения
В различных вариантах настоящего изобретения предлагается модель формата файлов, поддерживающая хранение мультимедийных презентаций, имеющих несколько источников. Такая поддержка обеспечивается путем включения указаний на то, является ли презентация презентацией, имеющей несколько источников, и одним типом мультимедийных данных, дорожки которой получены от различных источников и должны быть воспроизведены одновременно. Если упомянутая презентация является презентацией, имеющей несколько источников, могут предоставляться дополнительные указания, включая, не ограничиваясь этим, указание типа хранимой презентации, имеющей несколько источников; указания, касающиеся источника каждой дорожки и того, какие дорожки имеют один и тот же источник; указания информации о различных участниках, такой как телефонные номера, имена участников, идентификаторы камер, описание их расположения и т.п.; указания того, как отображать декодированные видеопотоки на многооконном экране; а также указания уровня аудио- или визуальной активности.
При наличии подобного механизма проигрыватель способен воспроизводить записанную презентацию видеотелефонии, многосторонней видеоконференции, видеонаблюдения или записанную презентацию учебного типа так же (или практически так же), как она была представлена во время фактического сеанса связи. Кроме того, проигрыватель способен автоматически выполнять над презентацией манипуляции для повышения ее информативности или эффективности. Модель формата файлов в соответствии с различными вариантами осуществления изобретения поддерживает также хранение других типов презентаций, имеющих несколько источников и отображающих более одного потока по меньшей мере одного типа мультимедийных данных.
Эти и другие преимущества и функции настоящего изобретения, структура и способ его работы будут понятны из последующего подробного описания с приложенными чертежами, на которых аналогичные элементы обозначены одинаковыми числами.
Краткое описание чертежей
На фиг.1 представлена типовая мультимедийная система связи для использования различных вариантов осуществления настоящего изобретения.
На фиг.2 представлена блок-схема алгоритма, иллюстрирующая примеры процессов, выполняемых в процедуре кодирования в соответствии с различными вариантами осуществления настоящего изобретения.
На фиг.3 представлена блок-схема алгоритма, иллюстрирующая примеры процессов, выполняемых в процедуре декодирования в соответствии с различными вариантами осуществления настоящего изобретения.
На фиг.4 представлен вид в перспективе электронного устройства, которое может использоваться в связи с различными вариантами осуществления настоящего изобретения.
На фиг.5 представлена структура электронной схемы, которая может входить в состав электронного устройства, показанного на фиг.4.
На фиг.6 представлена конфигурация многооконного экрана.
Подробное описание изобретения
Различные варианты осуществления настоящего изобретения включают модель формата файлов с поддержкой хранения мультимедийных презентаций, имеющих несколько источников, которая обеспечивается путем включения указаний на то, является ли презентация презентацией, имеющей несколько источников, и одним типом мультимедийных данных, дорожки которой получены от различных источников и должны быть воспроизведены одновременно. Если презентация является презентацией, имеющей несколько источников, могут обеспечиваться дополнительные указания. Такие дополнительные указания/указатели могут включать, не ограничиваясь этим, указание типа хранимой презентации, имеющей несколько источников;
указания, касающиеся источника каждой дорожки и того, какие дорожки имеют один и тот же источник; указания информации о различных участниках, такой как телефонные номера, имена участников, идентификаторы камер, описание их расположения и т.п.; указания того, как отображать декодированные видеопотоки на многооконном экране; а также указания уровня аудио- или визуальной активности. Следовательно, проигрыватель способен воспроизвести, например, записанную презентацию видеотелефонии, многосторонней видеоконференции, видеонаблюдения или записанную презентацию учебного типа так же (или практически так же), как она была представлена во время фактического сеанса связи. Кроме того, проигрыватель способен автоматически выполнять над презентацией манипуляции для повышения ее информативности или эффективности. Модель формата файлов в соответствии с различными вариантами осуществления изобретения поддерживает также хранение других типов презентаций, имеющих несколько источников и отображающих более одного потока по меньшей мере одного типа мультимедийных данных.
В одном из вариантов осуществления изобретения изменяют стандартный блок MovieHeaderBox (блок заголовка фильма), как будет приведено ниже, так что некоторые из зарезервированных битов используют, например, в качестве указателей для указания на то, является ли презентация, содержащаяся в файле, презентацией, имеющей несколько источников, и, если это так, для указания типа этой презентации.
aligned(8) class MovieHeaderBox extends FullBox('mvhd', version, 0) { if(version=1) {
unsigned int(64) creation time;
unsigned int(64) modification time;
unsigned int(32) timescale;
unsigned int(64) duration;
} else {// version==0
unsigned int(32) creation time;
unsigned int(32) modification time;
unsigned int(32) timescale;
unsigned int(32) duration;
}
template int(32) rate=0×00010000; // как правило, 1.0
template int(16) volume=0×0100; // как правило,
максимальное значение unsigned int(8) multisource_presentation;
const bit(8) reserved=0;
const unsigned int(32)[2] reserved=0;
template int(32)[9] matrix=
{0×00010000,0,0,0,0×00010000,0,0,0,0×40000000};
// единичная матрица
bit(32)[6] pre defined=0;
unsigned int(32) next track ID;
}
Значение параметра multisource_presentation, равное О, указывает на то, что презентация, хранящаяся в данном файле, не является презентацией, имеющей несколько источников, а значение multisource_presentation, не равное 0, указывает на то, что презентация, хранящаяся в данном файле, является презентацией, имеющей несколько источников. Заданное значение этого параметра определяет тип презентации, имеющей несколько источников. Например, значение параметра multisource_presentation, равное 1, может указывать на презентацию видеотелефонии, 2 - на презентацию видеоконференции, 3 - на презентацию видеонаблюдения, 4 - на презентацию учебного типа и т.д. Следует отметить, что в соответствии с различными вариантами осуществления изобретения могут быть указаны/определены и другие типы презентаций, имеющих несколько источников, при этом упомянутые указатели/индикаторы, представляющие различные типы презентаций, имеющих несколько источников, могут быть сконфигурированы по желанию.
Как указано выше, в соответствии с данным вариантом осуществления изобретения, если
значение параметра multisource_presentation не равно 0, то все дорожки принадлежат презентации, имеющей несколько источников. В случае, когда определенный набор дорожек образует группу альтернативных дорожек, для воспроизведения выбирают только одну из них.
Кроме того, если значение параметра multisource_presentation не равно 0, для такого файла определяют новый блок, который помещают в блок фильма. Этот новый блок называют блоком группирования дорожек от нескольких источников (Multisource Track Grouping Box) и определяют следующим образом:
Тип блока: 'mstg'
Контейнер: Блок фильма ('moov')
Обязателен: Нет
Количество: Ноль или один
Этот блок определяет группирование дорожек для презентации, имеющей несколько источников. Пример синтаксиса, используемого при реализации данного варианта осуществления изобретения, может быть следующим:
aligned(8) class MultisourceTrackGroupingBox extends FullBox('mstg', version=0, flags=0)
{
int i,j,k;
unsigned int(8) num_media_types;
for(i=0; i<num_media_types; i++) {
unsigned int(32) media_type_name;
unsigned int(16) num_media_sources;
for(j=0; j'<num_media_sources; j++) {
unsigned int(16) media_source_id;
string sourcejnfo;
unsigned int(8) num_alternate_tracks;
for(k=0; k<num_alternate_tracks; k++)
unsigned int(32) alternate_track_id;
}
}
}
Семантика, соответствующая приведенному выше синтаксису, следующая. Параметр version относится к целому числу, которое указывает версию данного блока (равен 0 в этом примере). Параметр flags является 24-битным целым с флагами (равен 0 в этом примере). Параметр num_media_types указывает количество типов мультимедийных данных, используемых в данной презентации, имеющей несколько источников. Например, если в презентации используют только аудио- и видеоданные, значение num_media_types равно 2. Параметр media_type_name определяет имя текущего типа мультимедийных данных (соответствующего значению i), который может быть тем же, что и определяемый целым параметром handler_type в блоке указания обработчика (Handler Reference Box). Например, 'vide' определяет тип мультимедийных данных "видео", a 'soun' определяет тип мультимедийных данных "аудио".
Параметр num_media_sources определяет количество источников для текущего типа мультимедийных данных (соответствующего значению i). Параметр media_source_id определяет идентификатор текущего источника мультимедийных данных (соответствующего значению j) для текущего типа мультимедийных данных (соответствующего значению i). Следует отметить, что идентификатор источника может представлять собой идентификатор любого типа, кроме 16-битного целого числа без знака, например, универсальный уникальный идентификатор (Universal Unique Identifier, UUID), унифицированный указатель ресурса (Uniform Resource Locator, URL), адрес Интернет-протокола (Internet Protocol, IP), адрес уровня доступа к среде передачи (Medium Access Control, MAC), местоположение и ориентацию или любую их комбинацию. Параметр source_info является строкой символов в кодировке UTF-8 с завершающим 0 (null-terminated) и предоставляет информацию об источнике в удобном для человека виде. Например, если значение параметра multisource_presentation (в блоке MovieHeaderBox) равно 1 (видеотелефония) или 2 (видеоконференция), в source_info заносят имя участника, телефонный номер и/или другую релевантную информацию об этом источнике. Если значение multisource_presentation равно 3 (видеонаблюдение), то в строку source_info этого источника включают идентификатор камеры и описание ее расположения. Параметр num_alternate_tracks определяет количество альтернативных дорожек для текущего источника (соответствующего значению j) текущего типа мультимедийных данных (соответствующего значению i). Параметр alternate_track)id определяет идентификатор текущей альтернативной дорожки (соответствующей значению к) для текущего источника (соответствующего значению j) текущего типа мультимедийных данных (соответствующего значению i). Для одного источника мультимедийных данных одного типа выбирают только одну из упомянутых альтернативных дорожек для декодирования и отображения.
Одному и тому же значению идентификатора источника мультимедийных данных, определяемого параметром media_source_id, могут быть поставлены в соответствие различные типы мультимедийных данных. Например, в презентации типа "видеонаблюдение" аудиодорожка и видеодорожка, имеющие одинаковые идентификаторы источника мультимедийных данных, считают происходящими от одного источника (т.е. датчик в одном и том же местоположении захватывает и видео- и аудиосигналы).
Различные варианты осуществления изобретения включают также обеспечение тех же указаний (описанных выше) локально в каждой дорожке, вместо глобальных указаний, связанных с блоками MovieHeaderBox и MultisourceTrackGroupingBox. В одном из вариантов осуществления изобретения определяют новые типы указания дорожки, каждый из которых соответствует одному типу презентации, имеющей несколько источников. Например, определяют типы указания 'tlfn', 'conf, 'surv' и 'pres' для видеотелефонии, видеоконференций, видеонаблюдения и презентаций учебного типа, соответственно. В данном варианте осуществления изобретения для каждого типа мультимедийных данных каждая дорожка, принадлежащая презентации, имеющей несколько источников, содержит блок TrackReferenceTypeBox одного из четырех описанных выше типов (т.е. с параметром reference_type, значение которого равно одному из четырех упомянутых типов). Значение параметра track_ID каждой дорожки, принадлежащей одной и той же презентации конференц-связи, которая имеет несколько источников, равно одному из значений параметра track_ID, находящихся в блоке TrackReferenceTypeBox одного из описанных выше четырех типов, В данном варианте осуществления изобретения считыватель файлов может получить информацию о том, какие дорожки принадлежат презентации, имеющей несколько источников, путем проверки всех дорожек. В случае, когда несколько дорожек, содержащих блок TrackReferenceTypeBox одного из четырех упомянутых типов, образуют группу альтернативных дорожек, для воспроизведения выбирают только одну из них. Альтернативно, вместо указания дорожки для каждого типа презентации, имеющей несколько источников, определяют только одно новое указание дорожки 'msrc' для всех типов мультимедийных презентаций, имеющих несколько источников, так что для каждой из других дорожек с тем же источником включают идентификатор track_ID в блок TrackReferenceTypeBox типа 'msrc'. В таком случае тип презентации может быть включен в другом месте, например, в одном из блоков уровня дорожки.
Для установления соответствия между источниками аудиодорожек и видеодорожек в каждой дорожке включают идентификатор источника либо в новый блок, либо в один из блоков уровня дорожки, например, в блок мультимедийной информации или блок заголовка дорожки. Идентификатор источника может представлять собой идентификатор любого типа, например, целое число без знака, универсальный уникальный идентификатор (UUID), унифицированный указатель ресурса (URL), адрес Интернет-протокола (IP), адрес уровня доступа к среде передачи (MAC), местоположение и ориентацию или любую их комбинацию. Если для включения идентификатора источника используют новый блок, то этот новый блок может содержаться в одном из блоков уровня дорожки, например, в блоке мультимедийной информации или блоке заголовка дорожки. В таком случае наличие этого нового блока, содержащего идентификатор источника, может быть использовано как указание на то, что данная дорожка принадлежит презентации, имеющей несколькио источников. Для конкретного типа мультимедийных данных, например, видеоданных, проигрыватель может выбирать по одной дорожке для каждого значения идентификатора источника и проигрывать все эти дорожки от различных источников одновременно. В тот же блок могут быть включены имена и телефонные номера участников или идентификаторы и описание положения камер и т.п.
Различные варианты осуществления изобретения включают также обеспечение указаний на то, как отображать декодированные видеопотоки на многооконном экране. В соответствии с одним из вариантов осуществления изобретения определяют новый тип группирования выборок (sample) 'sswp' для задания положения на многооконном экране, в котором должна быть отображена каждая выборка дорожки. При такой схеме каждая видеодорожка, принадлежащая презентации, имеющей несколько источников, включает блок SampleToGroupBox со значением параметра grouping_type, равным 'sswp', и блок SampleGroupDescriptionBox со значением параметра grouping_type, равным 'sswp'. Блок SampleToGroupBox ставит в соответствие каждой выборке группу выборок положения на многооконном экране, при этом каждая группа выборок, как правило, содержит множество выборок. Для каждой группы выборок положения на многооконном экране в блок SampleGroupDescriptionBox включают запись SswpSampleGroupEntry, соответствующую дальнейшему описанию, для указания положения на многооконном экране, в котором должна быть отображена каждая выборка соответствующей группы выборок:
aligned(8) class SswpSampleGroupEntryQ extends VisualSampleGroupEntry('sswp') {
unsigned int(8) sswp_x;
unsigned int(8) sswp_y;
unsigned int(8) sswp_w;
unsigned int(8) sswp_h;
}
Вся область для одного источника видеоданных, представленного выборками соответствующей группы выборок, может быть отображена в нескольких окнах многооконного экрана или в одном окне многооконного экрана. Весь экран разделен на окна, при этом каждое из таких окон либо не содержит источника видеоданных, либо вся его область занята только одним источником видеоданных. В приведенном выше определении параметр sswp_x задает горизонтальную координату окна многооконного экрана, в котором должна быть отображена верхняя левая область, представленная выборками соответствующей группы выборок. В данном варианте осуществления изобретения верхнее левое окно многооконного экрана имеет значение sswp_x, равное 0. Параметр sswp_y задает вертикальную координату окна многооконного экрана, в котором должна быть отображена верхняя левая область, представленная выборками соответствующей группы выборок. В данном варианте осуществления изобретения верхнее левое окно многооконного экрана имеет значение sswp_y, равное 0. Параметр sswp_w задает ширину области экрана, в которой должны быть отображены выборки соответствующей группы выборок. Единицей измерения является ширина окна многооконного экрана. Параметр sswp_h задает высоту области экрана, в которой должны быть отображены выборки соответствующей группы выборок. Единицей измерения является высота окна многооконного экрана. Выборки отображают в окне многооконного экрана, имеющего горизонтальные координаты в диапазоне от sswp_x до (sswp_x+sswp_w-1), включительно, и вертикальные координаты в диапазоне от sswp_y до (sswp_y+sswp_h-1), включительно. Если sswp_w и sswp_h равны 1, выборки отображают в одном окне многооконного экрана с координатами (sswp_x, sswp_y).
В другом варианте осуществления изобретения в каждую дорожку включают новый блок для сообщения такой же информации об отображении, что была приведена выше, для каждого сегмента времени декодирования или времени формирования (т.е. отображения).
В соответствии с различными вариантами осуществления изобретения, описанными выше, если в какой-то период времени отображают декодированные видеоданные только одного источника, то видеоданные других источников не были переданы в течение реального сеанса связи. Следовательно, для этого периода времени эти невидимые дорожки будут иметь списки редактирования, а проигрыватель может на основании этих дорожек определить, какую дорожку следует отображать, предпочтительно в полноэкранном размере, согласно одному из вариантов осуществления изобретения.
Различные варианты осуществления изобретения включают также предоставление указаний активности стороны или участника. В одном из вариантов осуществления изобретения определяют новый тип 'actv' группирования выборок для определения того, активна ли сторона или участник во время каждой выборки данной дорожки. При такой схеме каждая дорожка, принадлежащая презентации, имеющей несколько источников, включает блок SampleToGroupBox со значением параметра grouping_type, равным 'actv'. Блок SampleToGroupBox ставит каждую выборку в соответствие группе активных или неактивных выборок, при этом каждая группа выборок включает, как правило, множество выборок. Для каждой группы выборок типа 'actv' в блок SampleGroupDescriptionBox включают запись ActiveSampleGroupEntry, в соответствии с приведенным ниже определением, для указания того, активны или неактивны выборки в соответствующей группе выборок.
aligned(8) class ActiveSampleGroupEntry() extends VisualSampleGroupEntry('actv') {
unsigned int(8) sample_active;
}
Значение параметра sample_active, равное 0, указывает на то, что выборки соответствующей группы выборок неактивны, в то время как значение параметра sample_active, равное 1, указывает на то, что выборки соответствующей группы выборок активны. В другом варианте осуществления изобретения значение параметра sample_active определяет относительный уровень активности выборок соответствующей группы, при этом значение 0 указывает на полностью неактивные выборки, а значение 255 указывает на максимальный уровень активности. Более высокое значение параметра sample_active может быть использовано для указания на более высокий уровень активности. В другом варианте осуществления изобретения эту информацию указывают в новом глобальном блоке, например, в глобальном блоке, содержащемся в блоке фильма. При использовании вариантов осуществления изобретения проигрыватель файла может автоматически определять, какой (какие) из участников говорят в данный момент, и выбирать видеоданные этого участника (участников) для отображения в более крупном размере - во все окно, во весь экран и т.п.При быстром просмотре презентации видеонаблюдения проигрыватель может избежать проигрывания неактивных периодов.
В другом варианте осуществления изобретения определяют новый блок для включения в каждый блок дорожки. Этот новый блок включает цикл, количество записей которого равно количеству выборок в этой дорожке. Каждая запись цикла содержит 8-битное поле sample_active, семантика которого аналогична описанной выше. В другом варианте осуществления изобретения для каждой мультимедийной дорожки в файл включают дорожку синхронизированных метаданных. Выборки дорожки синхронизированных метаданных синхронизированы во времени с выборками соответствующей мультимедийной дорожки. Дополнительно, с помощью 8-битного поля sample_active в соответствующей выборке синхронизированных метаданных может быть указана активность каждой мультимедийной выборки, при этом семантика sample_active также аналогична описанной выше.
Следует отметить, что в соответствии с различными вариантами осуществления изобретения структуры, определения, указания и т.п., описанные в связи с рассмотренными вариантами осуществления изобретения, могут быть применены к дорожкам-«подсказкам», каждая из которых соответствует мультимедийной дорожке (например, аудиодорожке или видеодорожке).
На фиг.1 проиллюстрировано графическое представление обобщенной мультимедийной системы связи, в которой могут быть реализованы различные варианты осуществления изобретения. Как показано на фиг.1, источник 100 данных обеспечивает исходный сигнал или в аналоговом, или несжатом цифровом, или сжатом цифровом форматах, или в любой комбинации этих форматов. Кодер 110 кодирует исходный сигнал в кодированный битовый поток. Следует отметить, что битовый поток для декодирования может быть принят непосредственно или косвенно от удаленного устройства, расположенного практически в любом типе сети. Дополнительно, битовый поток может быть принят от локального аппаратного или программного обеспечения. Кодер 110 может иметь возможность кодирования более чем одного типа мультимедийных данных, например, аудиоданных и видеоданных, или может потребоваться более чем один кодер 110 для кодирования различных типов мультимедийных данных исходного сигнала. Кодер 110 может также получать синтетически образованный входной сигнал, например, графику и текст, или может иметь возможность создавать кодированный битовый поток синтетических мультимедийных данных. Далее для упрощения описания рассматривается обработка кодированного битового потока мультимедийных данных только одного типа. Следует отметить, однако, что обычно вещательные службы реального времени содержат несколько потоков (обычно по меньшей мере аудиопоток, видеопоток и текстовый субтитровый поток). Также следует отметить, что система может содержать множество кодеров, но на фиг.7 для упрощения описания представлен только кодер 110. Должно быть понятно, что, несмотря на то, что описание и примеры относятся конкретно к процессу кодирования, такие же концепции и принципы также применимы к соответствующему процессу декодирования, и наоборот.
Кодированный битовый поток мультимедийных данных передается в память 120. Память 120 может включать любой тип массовой памяти для хранения кодированного битового потока мультимедийных данных. Формат кодированного битового потока мультимедийных данных в памяти 120 может быть форматом элементарного независимого битового потока, либо один или более кодированных битовых потоков мультимедийных данных могут быть инкапсулированы в файл контейнера. Некоторые системы работают «на лету», т.е. не используют память, и передают напрямую кодированный битовый поток мультимедийных данных от кодера 110 к отправителю 130. Кодированный битовый поток мультимедийных данных затем передается к отправителю 130, также называемому сервером, по мере необходимости. Формат, используемый в этой передаче, может быть форматом элементарного независимого битового потока, форматом пакетного потока, либо один или более кодированных битовых потоков мультимедийных данных могут быть инкапсулированы в файл контейнера. Кодер 110, память 120 и сервер 130 могут находиться в одном физическом устройстве или в отдельных устройствах. Кодер 110 и сервер 130 могут работать с контентом реального времени, в этом случае кодированный битовый поток мультимедийных данных обычно не сохраняется постоянно, а буферизируется на малые периоды времени в кодере 110 контента и/или в сервере 130 для сглаживания вариаций в задержке обработки, задержке передачи и скорости кодированного битового потока мультимедийных данных.
Сервер 130 передает кодированный битовый поток мультимедийных данных, используя стек протоколов связи. Этот стек может включать, не ограничиваясь этим, транспортный протокол реального времени (RTP, Real-Time Transport Protocol), протокол датаграмм пользователя (UDP, User Datagram Protocol) и Интернет-протокол (IP, Internet Protocol). Если стек протокола связи является пакетно-ориентированным, сервер 130 инкапсулирует кодированный битовый поток мультимедийных данных в пакеты. Например, если используется протокол RTP, сервер 130 инкапсулирует кодированный битовый поток мультимедийных данных в пакеты протокола RTP, в соответствии с форматом полезной нагрузки протокола RTP. Обычно каждый тип мультимедийных данных имеет специальный формат полезной нагрузки протокола RTP. Следует отметить, что система может содержать более чем один сервер 130, но для упрощения в последующем описании будет рассматриваться только один сервер 130.
Сервер 130 может соединяться или не соединяться со шлюзом 140 через сеть связи. Шлюз 140 может выполнять различные типы функций, такие как преобразование пакетного потока из одного стека протоколов связи в другой стек протоколов связи, объединение и разветвление потоков данных, и манипуляция потоком данных в соответствии с возможностями нисходящего канала и/или приемника, например, управление скоростью битов перенаправляемого потока согласно преобладающим условиям нисходящего канала сети. Примеры шлюзов 140 включают MCU, шлюзы между системами видеотелефонии с коммутацией каналов и коммутацией пакетов, серверы сотовой связи «нажми и говори» (РоС, Push-to-talk over Cellular), инкапсуляторы IP в системах мобильной широковещательной передачи цифрового видео (DVB-H, digital video broadcasting-handheld) или цифровые телевизионные приставки, которые направляют широковещательные передачи локально к домашним беспроводным сетям. Если используется протокол RTP, то шлюз 140 называется микшером RTP или транслятором RTP и обычно действует как конечная точка соединения RTP.
Система содержит один или более приемников 150, обычно имеющих возможность приема, демодуляции и извлечения передаваемого сигнала в кодированный битовый поток мультимедийных данных. Кодированный битовый поток мультимедийных данных передается в запоминающее устройство 155. Запоминающее устройство 155 может включать любой тип массовой памяти для хранения кодированного битового потока мультимедийных данных. Запоминающее устройство 155 может альтернативно или дополнительно содержать вычислительную память, такую как память с произвольным доступом. Формат кодированного битового потока мультимедийных данных в запоминающем устройстве 155 может быть форматом элементарного независимого битового потока, либо один или более кодированных битовых потоков мультимедийных данных могут быть инкапсулированы в файл контейнера. Если имеется множество кодированных битовых потоков мультимедийных данных, например, аудиопоток и видеопоток, ассоциированные друг с другом, обычно используется файл контейнера, и приемник 150 содержит генератор файла контейнера или присоединен к генератору файла контейнера, создающему файл контейнера из входных потоков. Некоторые системы работают «на лету», т.е. не используют запоминающее устройство 155, и непосредственно передают кодированный битовый поток мультимедийных данных от приемника 150 к декодеру 160. В некоторых системах только последняя часть записанного потока, например, последний 10-минутный отрывок записанного потока, сохраняется в запоминающем устройстве 155, в то время как любые более ранние записанные данные отбрасываются из запоминающего устройства 155.
Кодированный битовый поток мультимедийных данных передается из запоминающего устройства 155 декодеру 160. Если имеется множество кодированных битовых потоков мультимедийных данных, например, аудиопоток и видеопоток, ассоциированные друг с другом и инкапсулированные в файл контейнера, применяется анализатор файла (не показан) для извлечения каждого кодированного битового потока из файла контейнера. Запоминающее устройство 155 или декодер 160 могут содержать анализатор файла, или анализатор файла может присоединяться к запоминающему устройству 155 или декодеру 160.
Кодированный битовый поток мультимедийных данных обычно далее обрабатывается декодером 160, на выходе которого выдаются один или более несжатых потоков мультимедийных данных. В конечном счете, устройство 170 воспроизведения может воспроизвести несжатые потоки мультимедийных данных, например, с помощью громкоговорителя или дисплея. Приемник 150, запоминающее устройство 155, декодер 160 и устройство 170 воспроизведения могут находиться в одном физическом устройстве или могут быть включены в отдельные устройства.
На фиг.2 представлена блок-схема, иллюстрирующая примеры процессов, выполняемых в процедуре формирования файла в соответствии с различными вариантами осуществления настоящего изобретения. Следует отметить, что в соответствии с различными вариантами осуществления изобретения количество выполняемых процессов может отличаться. На шаге 200 осуществляют сохранение файла, содержащего множество дорожек. На шаге 210 в этом файле обеспечивают по меньшей мере первое указание о том, является ли презентация, которой принадлежит множество дорожек, презентацией, имеющей несколько источников и отображающей более одного потока по меньшей мере одного типа мультимедийных данных. На шаге 220 в упомянутом файле обеспечивают второе указание о том, как отображать множество дорожек, принадлежащих презентации, имеющей несколько источников.
На фиг.3 представлена блок-схема, иллюстрирующая примеры процессов, выполняемых в процедуре анализа файла в соответствии с различными вариантами осуществления изобретения. Следует отметить, что в соответствии с различными вариантами осуществления изобретения количество выполняемых процессов может отличаться. На шаге 300 посредством по меньшей мере первого определения определяют, что множество дорожек в файле принадлежит презентации, имеющей несколько источников и отображающей более одного потока мультимедийных данных по меньшей мере одного типа. На шаге 310 из файла извлекают второе указание о том, как отображать множество дорожек, принадлежащих презентации, имеющей несколько источников. На шаге 320 отображают каждую дорожку, определенную как принадлежащую презентации, имеющей несколько источников.
Устройства связи в соответствии с настоящим изобретением могут осуществлять связь с использованием различных технологий передачи данных, включая, не ограничиваясь этим, множественный доступ с кодовым разделением каналов (Code Division Multiple Access, CDMA), глобальную систему мобильной связи (Global System for Mobile Communications, GSM), универсальную систему мобильной связи (Universal Mobile Telecommunication System, UMTS), множественный доступ с временным разделением каналов (Time Division Multiple Access, TDMA), множественный доступ с частотным разделением каналов (Frequency Division Multiple Access, FDMA), протокол управления передачей / Интернет-протокол (Transmission Control Protocol/Internet Protocol, TCP/IP), службу коротких сообщений (Short Messaging Service, SMS), службу мультимедийных сообщений (Multimedia Messaging Service, MMS), электронную почту, службу мгновенной передачи сообщений (Instant Messaging Service, IMS), Bluetooth, IEEE 802.11, и др. Устройство связи способно осуществлять связь с использованием различной среды передачи, включая, не ограничиваясь этим, радио, инфракрасное, лазерное, кабельное соединения и т.п.
На фиг.4 и 5 показано типовое электронное устройство 12, в котором могут быть реализованы различные варианты осуществления настоящего изобретения. Однако необходимо понимать, что различные варианты осуществления изобретения не ограничиваются конкретным видом устройства. Электронное устройство 12 на фиг.4 и 5 включает корпус 30, экран 32 в виде жидкокристаллического дисплея, клавиатуру 34, микрофон 36, головной телефон 38, аккумулятор 40, инфракрасный порт 42, антенну 44, смарт-карту 46 в виде UICC, в соответствии с одним из вариантов осуществления изобретения, считыватель 48 с карты, схему радиоинтерфейса 52, схему кодека 54, контроллер 56 и память 58. Все отдельные цепи и элементы хорошо известны из уровня техники.
Различные варианты осуществления изобретения были описаны в общем контексте шагов способа или процессов, которые могут быть реализованы в одном из вариантов осуществления изобретения с помощью компьютерного программного продукта, размещенного на машиночитаемом носителе и включающего машиночитаемые инструкции (например, программный код), исполняемые компьютером в сетевом окружении. Машиночитаемый носитель может включать съемные и несъемные устройства хранения, включая, не ограничиваясь этим, постоянное запоминающее устройство (ROM, Read Only Memory), оперативную память (RAM, Random Access Memory), компакт-диски (CD, compact disc), цифровые универсальные диски (DVD, digital versatile disc) и т.д. Обычно программные модули могут содержать процедуры, программы, объекты, компоненты, структуры данных и т.д., которые выполняют определенные задачи или реализуют определенные абстрактные типы данных. Исполняемые инструкции, ассоциированные структуры данных и программные модули представляют примеры программного кода для выполнения описанных выше шагов способов. Определенная последовательность таких исполняемых инструкций или ассоциированных структур данных представляет примеры соответствующих действий для реализации функций, описанных в таких шагах или процессах.
Варианты осуществления изобретения могут быть реализованы программно, аппаратно, с помощью специализированной логики или с помощью комбинации программных средств, аппаратных средств и специализированной логики. Программные средства, специализированная логика и/или аппаратные средства могут находиться, например, в наборе микросхем (чипсете), мобильном устройстве, настольном компьютере, ноутбуке или сервере. Программное обеспечение и сетевые реализации различных вариантов осуществления изобретения могут быть реализованы с помощью стандартных технологий программирования, с логикой на базе правил или другой логикой для осуществления различных этапов или процессов поиска в базе данных, этапов или процессов корреляции, сравнения и решения. Различные варианты осуществления изобретения могут быть также реализованы полностью или частично в сетевых элементах или модулях. Следует отметить, что слова «компонент» и «модуль», используемые в описании и формуле изобретения, обозначают реализации с использованием одной или более строк программного кода и/или аппаратные реализации, и/или оборудование для приема данных, вводимых вручную.
Отдельные и конкретные структуры, описанные в вышеприведенных примерах, следует понимать как образующие типовые структуры средств для выполнения конкретных функций, описанных в нижеследующей формуле изобретения, хотя признаки формулы изобретения не должны истолковываться как "средство плюс функция" в случае, когда термин "средство" в них не используется. Кроме того, использование термина "шаг" в вышеприведенном описании не должен использоваться для истолкования любого признака формулы как "шаг плюс функция". Упомянутые в этом документе отдельные ссылки, включая выданные патенты, заявки на патент, и публикации, не относящиеся к патентам, не предназначены и не должны истолковываться как ограничивающие формулу изобретения.
Вышеизложенное описание вариантов осуществления изобретения было представлено с целью иллюстрации. Оно не является исчерпывающим и не ограничивает варианты осуществления данного изобретения конкретным описанным вариантом, возможны различные модификации и изменения в свете вышеприведенных идей или в результате практического применения вариантов осуществления изобретения. Рассмотренные варианты осуществления изобретения были выбраны и описаны для объяснения принципов и характера различных вариантов осуществления изобретения и его практического применения, чтобы позволить специалисту использовать настоящее изобретение в различных вариантах осуществления и с различными изменениями, которые подходят для конкретного использования. Описанные признаки вариантов осуществления изобретения могут объединяться в любые сочетания способов, устройств, модулей, систем и программных продуктов.