Быстрый и удобный для редактирования способ ассоциирования сэмплов для форматов мультимедийных файлов
Иллюстрации
Показать всеИзобретение относится к области форматов мультимедийных файлов. Техническим результатом является упрощение операции редактирования, особенно в отношении операции удаления начала записи, которая может быть наиболее часто используемой функцией среди применяемых операций редактирования. Раскрыты системы и способы для того, чтобы использовать номера сэмплов для связывания сэмплов синхронизированных метаданных с сэмплами медиаданных или указаний. Сэмпл синхронизированных метаданных может быть ассоциирован с сэмплами медиаданных или указаний, так как номер сэмпла, содержащийся в сэмпле синхронизированных метаданных, представлен относительно соответствующей дорожки медиаданных или указаний. Дополнительно, в сценариях с множеством сэмплов синхронизированных метаданных, смещение номера сэмпла может быть добавлено к предоставляемому номеру сэмпла, чтобы получить фактический номер сэмпла в пределах дорожки медиаданных или указаний. 12 н. и 23 з.п. ф-лы, 2 табл., 10 ил.
Реферат
ОБЛАСТЬ ТЕХНИКИ
[0001] Изобретение в общем касается форматов мультимедийных файлов. Более конкретно, настоящее изобретение касается связывания сэмплов синхронизированных метаданных с сэмплами медиаданных и/или сэмплами указаний для того, чтобы организовать медиаданные и/или мультимедиа-данные.
ПРЕДПОСЫЛКИ ИЗОБРЕТЕНИЯ
[0002] Этот раздел предназначен для представления предпосылок создания изобретения или контекста изобретения, которое изложено в формуле изобретения. Описание здесь может включать концепции, которые могли бы быть осуществлены, но не обязательно те, которые были ранее задуманы или осуществлены. Поэтому, если здесь не указано иное, описанное в этом разделе не является описанием известного уровня техники для описания и формулы изобретения и не признается таковым из-за включения в этот раздел.
[0003] Формат файла-контейнера мультимедийной информации - важный элемент в цепочке производства, обработки, передачи и потребления мультимедийного контента. Формат кодирования (т.е. формат элементарного потока) касается действия определенного алгоритма кодирования, который кодирует информацию контента в битовый поток. Формат файла-контейнера включает средства организации формируемого битового потока таким образом, чтобы он был доступен для локального декодирования и воспроизведения, передачи в виде файла или потоковой передачи; все это выполняется с использованием разнообразных архитектур хранения и транспортировки. Кроме того, файловый формат может облегчать обмен мультимедийной информацией и ее редактирование, а также запись в файл потоков, принимаемых в реальном времени. Таким образом, есть существенные различия между форматом кодирования и форматом файла-контейнера.
[0004] Иерархия форматов файлов мультимедиа показана в целом позицией 100 на фиг.1. Элементарный потоковый формат 110 представляет единственный независимый поток. Аудиофайлы типа .amr и .аас создают согласно элементарному потоковому формату. Формат 120 файла-контейнера - это формат, который может содержать аудио- и видеопотоки в единственном файле. Пример семейства форматов 120 файла-контейнера основан на базовом формате медиафайлов Международной организации по стандартизации (ISO). Непосредственно ниже формата 120 файла-контейнера в иерархии 100 показан формат 130 мультиплексирования. Формат 130 мультиплексирования обычно менее гибок и более плотно упакован, чем аудио/видеофайл, созданный согласно формату 120 файла-контейнера. Файлы, созданные согласно формату 130 мультиплексирования, обычно используются только для целей воспроизведения. Поток программы MPEG-2 - это пример потока, созданного согласно формату 130 мультиплексирования. Формат 140 языка презентации используется для целей типа размещения, взаимодействия, синхронизации аудио/видео и дискретных медиаданных и т.д. Синхронизированный язык интегрирования мультимедиа (SMIL) и масштабируемая видеографика (SVG), оба установленные Консорциумом всемирной сети (W3C), является примерами формата 140 языка презентации. Формат 150 файла презентации характерен наличием всех частей презентации в одном и том же файле. Примеры объектов, созданных согласно формату файла презентации, - файлы PowerPoint и файлы, соответствующие расширенному профилю презентации формата файла 3GP.
[0005] Имеющиеся стандарты формата медиафайла и файла-контейнера включают базовый формат медиафайлов ISO (ISO/IEC 14496-12), формат файла MPEG-4 (ISO/IEC 14496-14, также известный как формат MP4), формат файла расширенного видеокодирования (AVC) (ISO/IEC 14496-15) и формат файла 3GPP (3GPP TS 26.244, также известный как 3GP формат). Есть также проект в группе MPEG по разработке формата файла масштабируемого видеокодирования (SVC), который станет поправкой к формату файла расширенного видеокодирования (AVC). В параллельной разработке группа MPEG определяет формат дорожки указаний (hint track) для доставки файла однонаправленной передачей (FLUTE) и сессии асинхронного многоуровневого кодирования (ALC), которые станут поправкой к базовому формату медиафайлов ISO.
[0006] Организация цифрового видеовещания (DVB) находится в настоящее время в процессе определения формата файла DVB. Главная цель определения формата файла DVB - облегчить обмен контентом между реализациями технологий DVB, таких как абонентские приставки согласно существующим стандартам (DVT-T, DVB-C, DVB-S) и будущим стандартам DVB, телевизионные приемники по протоколу Интернет (IP) и подвижные телевизионные приемники согласно стандарту телевещания для переносных устройств (DVB-H) и его будущей эволюции. Формат файла DVB позволит обеспечить обмен записанными медиаданными (только для чтения) между устройствами от различных изготовителей, обмен контентом с использованием USB-памяти большой емкости или подобных устройств для чтения-записи, и распределенный доступ к общей памяти на диске в домашней сети, также как другие функциональные возможности. Базовый формат медиафайлов ISO - в настоящее время самый сильный кандидат на основу для разработки формата файла DVB. Формат файла ISO - это базис для получения всех вышеупомянутых форматов файла-контейнера (исключая сам формат файла ISO). Эти форматы файла (включая сам формат файла ISO) называются семейством форматов файла ISO.
[0007] Основной "строительный" блок в базовом формате медиафайлов ISO называется "бокс" (box). Каждый бокс включает заголовок и полезную нагрузку. Заголовок бокса указывает тип бокса и размер бокса в байтах. Бокс может включать другие боксы, и формат файла ISO определяет, какие типы бокса разрешены внутри бокса некоторого типа. Кроме того, некоторые боксы обязательно присутствуют в каждом файле, в то время как другие боксы являются опциональными. Кроме того, для некоторых типов боксов в файле может присутствовать больше чем один бокс. Поэтому базовый формат медиафайлов ISO по существу определяет иерархическую структуру боксов.
[0008] Фиг.2 показывает упрощенную структуру файла согласно базовому формату медиафайлов ISO. Согласно семейству форматов файлов ISO, файл 200 включает медиаданные и метаданные, которые включены в отдельные боксы: бокс медиаданных (mdat) 210 и бокс фильма (moov) 220 соответственно. Для файла, чтобы он был рабочим, должны присутствовать оба из этих боксов. Бокс 210 медиаданных содержит видео- и аудиокадры, которые могут чередоваться и быть упорядочены по времени. Бокс 220 фильма может содержать одну или более дорожек, и каждая дорожка находится в одном боксе 240 дорожки. Дорожка может быть одного из следующих типов: дорожка медиаданных (media), дорожка указаний (hint) или синхронизированные метаданные (timed metadata). Дорожка медиаданных относится к сэмплам, отформатированным согласно формату сжатия медиаданных (и его инкапсуляции в базовый формат медиафайлов ISO). Дорожка указаний относится к сэмплам указаний, содержащим команды по созданию пакетов для передачи по заданному протоколу связи. Команды могут содержать руководство по построению заголовка пакета и полезной нагрузки пакета. При построении полезной нагрузки пакета, на данные, находящиеся в других дорожках или элементах, можно сослаться (например, ссылка может указывать, какая часть данных конкретной дорожки или элемента должна быть скопирована в пакет в процессе построения пакета). Дорожка синхронизированных метаданных относится к сэмплам, описывающим сэмплы медиаданных и/или указаний, на которые делается ссылка. Для представления одного типа медиаданных обычно выбирают одну дорожку.
[0009] Дополнительно, сэмплы дорожки неявно связаны с номерами сэмплов, которые увеличиваются на 1 в указанном порядке декодирования сэмплов. Следовательно, первый сэмпл дорожки может быть связан с номером сэмпла "1". Следует отметить, что такое допущение влияет на некоторые формулы, но специалисту понятно, как соответствующим образом изменить такие формулы для других "начальных смещений" номеров сэмплов, например, для начала с номера сэмпла "0".
[0010] Следует отметить, что базовый формат медиафайлов ISO не ограничен представлением, которое содержится только в одном файле. Фактически, представление может содержаться в нескольких файлах. В этом сценарии один файл содержит метаданные для целого представления. Этот файл может также содержать все медиаданные, и тогда представление является автономным. Другие файлы, если они используются, не обязаны быть отформатированными согласно базовому формату медиафайлов ISO. Другие файлы используются для размещения медиаданных, и они могут также содержать неиспользуемые медиаданные или другую информацию. Базовый формат медиафайлов ISO касается только структуры файла, содержащего метаданные. Формат файлов медиаданных ограничен базовым форматом медифайлов ISO или его производными только в том, что медиаданные в медиафайлах должны быть отформатированы так, как определено в базовом формате медиафайлов ISO или производных форматах.
[0011] Фрагменты фильма могут использоваться при записи контента в файл ISO, чтобы избежать потери данных, если записывающее приложение испытывает сбой, или заканчивается диск, или случается некоторый другой инцидент. Без использования фрагментов фильма может произойти потеря данных, потому что формат файла требует, чтобы все метаданные (Movie Box, бокс фильма) были записаны в одной непрерывной области файла. Кроме того, при записи файла объема оперативной памяти может быть недостаточно, чтобы буферизовать бокс фильма, а повторное вычисление содержания бокса фильма, когда фильм закрыт, выполняется слишком медленно. Кроме того, фрагменты фильма могут допускать одновременную запись и воспроизведение файла с использованием обычного синтаксического анализатора файлов ISO. Наконец, меньшая продолжительность начальной буферизации требуется для прогрессивной загрузки (например, одновременного приема и воспроизведения файла, когда используются фрагменты фильма, и начальный бокс фильма является меньшим по сравнению с файлом с тем же самым медиаконтентом, но структурированным без фрагментов фильма).
[0012] Особенность фрагмента фильма допускает разбивание метаданных, которые обычно находятся в боксе 220 moov, на множество частей, каждая из которых соответствует некоторому периоду времени для дорожки. Таким образом, эта особенность фрагмента фильма допускает чередование метаданных и медиаданных файла. Следовательно, размер бокса 220 moov может быть ограничен, и случаи использования, упомянутые выше, могут быть реализованы.
[0013] Сэмплы медиаданных для фрагментов фильма находятся в боксе 210 mdat, как обычно, если они находятся в том же самом файле, что и бокс moov. Для метаданных фрагментов фильма, однако, предусмотрен бокс moof. Он включает информацию для некоторой продолжительности времени воспроизведения, которая ранее находилась бы в боксе 220 moov. Бокс 220 moov все еще самостоятельно представляет корректный фильм, но, кроме того, он включает бокс mvex, указывающий, что фрагменты фильма будут следовать в том же самом файле. Фрагменты фильма расширяют представление, которое связано с боксом moov, во времени.
[0014] Метаданные, которые могут быть включены в бокс moof, ограничены подмножеством метаданных, которые могут быть включены в бокс 220 moov, и кодированы по-другому в некоторых случаях.
[0015] В дополнение к синхронизированным дорожкам, файлы ISO могут содержать любые несинхронизиронные двоичные объекты в метабоксе, или "статических" метаданных. Метабокс может находиться на верхнем уровне файла, в пределах бокса фильма и в пределах бокса дорожки. Не более одного метабокса может появиться на каждом уровне файла, уровне фильма или уровне дорожки. Метабокс обязан содержать бокс "hdlr", указывающий структуру или формат содержания метабокса. Метабокс может содержать любое число двоичных элементов, на которые могут делаться ссылки и каждый из которых может быть связан с именем файла.
[0016] Чтобы поддерживать больше чем один метабокс на любом уровне иерархии (файл, фильм или дорожка), в базовом формате медиафайлов ISO введен бокс контейнера метабоксов ("meco"). Бокс контейнера метабоксов может нести любое число дополнительных метабоксов на любом уровне иерархии (файл, фильм или дорожка). Это позволяет, например, одним и тем же метаданным быть представленными в двух различных альтернативных системах метаданных. Бокс связи метабоксов ("mere") дает возможность описать, как различные метабоксы связаны друг с другом (например, содержат ли они точно те же самые метаданные, но описанные с использованием различных схем, или один из них представляет надмножество другого).
[0017] Что касается фиг.3 и 4, на них проиллюстрировано использование группировки сэмплов в боксы. Группировка сэмплов в базовом формате медиафайлов ISO и его производных, таких как формат файла AVC и формат файла SVC, является назначением каждого сэмпла дорожки членом одной группы сэмплов на основе критерия группировки. Группа сэплов при группировке сэмплов не ограничена непрерывными сэмплами и может содержать несмежные сэмплы. Может быть больше чем одна группировка сэмплов для сэмплов дорожки, и каждая группировка сэмплов имеет поле типа, чтобы указать тип группировки. Группировки сэмплов представлены двумя связанными структурами данных: (1) бокс SampleToGroup (бокс sbgp) представляет назначение сэмплов в группы сэмплов; и (2) бокс SampleGroupDescription (бокс sgpd) содержит запись для каждой группы сэмплов, описывающую свойства группы. Могут существовать множество экземпляров боксов SampleToGroup и SampleGroupDescription, основанных на различных критериях группировки. Их различают по полю типа, используемому для указания типа группировки.
[0018] Фиг.3 показывает упрощенную иерархию боксов, указывающую структуру вложений для боксов групп сэмплов. Боксы групп сэмплов (бокс SampleGroupDescription и бокс SampleToGroup) находятся внутри бокса таблицы сэмплов (stbl), который включен в боксы информации о медиаданных (minf), медиаданных (mdia) и дорожки (в указанном порядке) внутри бокса фильма (moov).
[0019] Боксу SampleToGroup разрешено находиться во фрагменте фильма. Следовательно, группировка сэмплов может быть сделана фрагмент за фрагментом. Фиг.4 поясняет пример файла, содержащего фрагмент фильма, включающий бокс SampleToGroup.
[0020] Формат файла DVB предназначен для обмена (как описано выше), чтобы гарантировать функциональную совместимость между совместимыми устройствами DVB. Он не обязательно является форматом внутреннего хранения для устройств DVB. Формат файла DVB допускает перемещение записанных (доступных только для чтения) медиаданных между устройствами различных изготовителей и, помимо прочего, допускает распределенный доступ к общей памяти на диске в домашней сети.
[0021] Ключевая особенность формата файла DVB известна как дорожки с указаниями о приеме (reception hint track), которые могут использоваться, когда один или более потоков пакетов данных записывают согласно формату файла DVB. Дорожки с указаниями о приеме указывают, помимо прочего, порядок, время приема и содержание принятых пакетов. Плееры для формата файла DVB могут воссоздавать поток пакетов, который был принят, на основании дорожки с указаниями о приеме и обрабатывать воссозданный поток пакетов, как будто он был только что принят. Дорожки с указаниями о приеме имеют структуру, идентичную дорожкам указаний (hint tracks) для серверов, как определено в базовом формате медиафайлов ISO. Например, дорожки с указаниями о приеме могут быть связаны с дорожками элементарных потоков (то есть дорожками медиаданных), которые они несут, посредством ссылок на дорожки типа "указание". Каждый протокол для передачи потоков медиаданных имеет собственный формат сэмпла указаний о приеме.
[0022] Серверы, использующие дорожки с указаниями о приеме как указания для того, чтобы передавать принятые потоки, должны обрабатывать потенциальные деградации принятых потоков, такие как флуктуации задержки передачи сигналов и потерю пакетов, и гарантировать, что ограничения протоколов и форматов данных соблюдаются независимо от потенциальных деградаций принятых потоков.
[0023] Форматы сэмплов дорожек с указаниями о приеме могут давать возможность построения пакетов путем извлечения данных из других дорожек посредством ссылки. Эти другие дорожки могут быть дорожками указаний или дорожками медиаданных. Точная форма этих указателей определена типовым форматом для протокола, но в общем они состоят из четырех частей информации: ссылочный индекс дорожки, номер сэмпла, смещение и длина. Некоторые из них могут быть представлены неявно для конкретного протокола. Эти "указатели" всегда направляют к фактическому источнику данных. Если дорожка указаний сформирована "над" другой дорожкой указаний, то вторая дорожка указаний должна иметь прямые ссылки на дорожку (дорожки) медиаданных, использованную первой, где данные этих дорожек медиаданных помещены в поток.
[0024] Преобразование принятых потоков в дорожки медиаданных позволяет существующим плеерам, совместимым с базовым форматом медиафайлов ISO, обрабатывать файлы DVB, если форматы медиаданных также поддерживаются ими. Однако большинство стандартов кодирования медиаданных определяет только декодирование свободных от ошибок потоков, и, следовательно, должно быть обеспечено, чтобы содержание дорожек медиаданных могло быть правильно декодировано. Плееры для формата файла DVB могут использовать дорожки с указаниями о приеме для того, чтобы обрабатывать деградации, вызванные передачей, то есть содержание, которое не может быть правильно декодировано, расположено только в пределах дорожек с указаниями о приеме. Необходимости иметь дубликаты правильных сэмплов медиаданных и в дорожке медиаданных, и в дорожке с указаниями о приеме можно избежать путем включения данных дорожки медиаданных в дорожку с указаниями о приеме путем ссылки.
[0025] В настоящее время определены два типа дорожек с указаниями о приеме: дорожки с указаниями о приеме транспортного потока MPEG-2 (MPEG2-TS) и дорожки с указаниями о приеме по протоколу передачи в реальном времени (RTP). Сэмплы дорожки с указаниями о приеме MPEG2-TS содержат пакеты MPEG2-TS или указания для составления пакетов MPEG2-TS на основе ссылок на дорожки медиаданных. Транспортный поток MPEG-2 является мультиплексным потоком из элементарных аудио- и видеопотоков программы и некоторой информации метаданных. Он может содержать также несколько аудиовизуальных программ. Дорожка с указаниями о приеме RTP представляет один поток RTP, обычно одного типа медиаданных.
[0026] Протокол RTP используется для передачи непрерывных медиаданных, таких как кодированные аудио- и видеопотоки в сети на основе протокола Интернет (IP). Протокол управления передачей в реальном времени (RTCP) образует пару с протоколом RTP, то есть RTCP должен использоваться, чтобы всегда дополнять RTP, когда это позволяет сетевая и прикладная инфраструктура. RTP и RTCP обычно передаются по протоколу пользовательских дейтаграмм (UDP), который в свою очередь передается по протоколу Интернета (IP). Имеются две версии протокола IP: IPv4 и IPv6, отличающиеся, помимо всего прочего, числом адресуемых конечных точек.
Протокол RTCP используется для того, чтобы контролировать качество услуг, предоставляемых сетью, и передавать информацию об участниках в продолжающемся сеансе связи. Протоколы RTP и RTCP предназначены для сеансов связи, которые находятся в диапазоне от связи один-с-одним до больших групп из тысяч оконечных точек многоадресного вещания. Чтобы управлять полной скоростью передачи данных, вызванной пакетами RTCP в многостороннем сеансе связи, интервал передачи пакетов RTCP, передаваемых одиночной оконечной точкой, должен быть пропорционален числу участников сеанса связи. Каждый формат кодирования медиаданных имеет специфический формат полезной нагрузки RTP, который определяет, как мультимедийные данные структурируются в полезной нагрузке пакета RTP.
[0027] Требования к метаданным для файлового формата DVB можно классифицировать по четырем группам, основанным на типе метаданных: 1) специфические для сэмпла метаданные синхронизации, такие как метки времени представления; 2) индексы; 3) сегментированные метаданные и 4) закладки пользователя (например, для любимых мест в контенте).
[0028] Пример специфических для сэмпла метаданных синхронизации - метки времени представления. Могут существовать различные временные шкалы (timelines), чтобы указывать специфические для сэмпла метаданные синхронизации. Временные шкалы не обязательно охватывают всю длительность записанных потоков, и временные шкалы могут иметь паузы. Например, временная шкала А может быть создана на заключительной стадии монтажа фильма. Позже провайдер услуг может вставить рекламу и предоставить временную шкалу для этой рекламы. В результате временная шкала А может быть приостановлена, пока продолжается реклама. Временные шкалы могут передаваться также после самого контента. В одном из способов сэмплы временной шкалы могут переноситься в элементарных потоках программы (Program Elementary Streams, PES) MPEG-2. Поток PES передает элементарный битовый аудио- или видеопоток, и, следовательно, временные шкалы точно синхронизируются с аудио- и видеокадрами.
[0029] Индексы могут включать, например, точки доступа к видеоданным и поддержку режима спецэффектов (например, ускоренного просмотра вперед/назад, замедленного просмотра). Такие операции могут требовать, например, индикации самодекодируемых изображений, декодирования начальных точек и индикации опорных и неопорных изображений.
[0030] В случае сегментированных метаданных, услуги DVB могут быть описаны согласно определенной схеме метаданных в справочнике услуг, таком как справочник широковещательного контента (Broadcast Content Guide, BCG), "телевидение в любое время" (TV-AnyTime) или электронный справочник услуг (Electronic Service Guide, ESG) для системы вещательной передачи данных согласно протоколу IP (IP Datacasting, IPDC). Описание может применяться только к части потока. Следовательно, файл может иметь информацию нескольких описательных сегментов (например, описание конкретного сегмента программы, такое как "Отпуск на Корсике около Каржеза").
[0031] Кроме того, структуры метаданных и индексации файлового формата DVB должны быть расширяемыми, и должны поддерживаться определяемые пользователем индексы.
[0032] Были предложены различные способы выполнения индексации и реализации сегментированных метаданных, которые включают, например, синхронизированные дорожки метаданных, группы сэмплов, таблицу индексов DVB, виртуальные дорожки медиаданных, а также события сэмплов и свойства сэмплов. При использовании синхронизированных дорожек метаданных создают одну или более синхронизированную дорожку метаданных. Дорожка может содержать индексы конкретного типа или может содержать индексы любого типа. Другими словами, типовой формат допускает мультиплексирование различных типов индексов. Дорожка может также содержать индексы одной программы (например, многопрограммного транспортного потока) или многих программ. Далее, дорожка может содержать индексы одного типа медиаданных или многих типов медиаданных.
[0033] При использовании групп сэмплов, один тип группировки сэмплов может быть выделен для каждого типа индекса, при этом такое же число индексов описания групп сэмплов включено в бокс описания группы сэмплов (Sample Group Description Box), когда имеются различные значения для конкретного типа индекса. Подход с использованием групп сэмплов используется, чтобы связать сэмплы со значениями индексов. Подход с использованием групп сэмплов может использоваться вместе с синхронизированными дорожками метаданных.
[0034] При использовании таблицы индексов DVB (DVBIndexTable), бокс DVBIndexTable вводят в бокс таблицы сэмплов. Бокс DVBIndexTable содержит список записей, в котором каждая запись связана с сэмплом дорожки с указаниями о приеме посредством ее номера сэмпла. Каждая запись далее содержит информацию о точности индекса, о том, какой программы многопрограммного транспортного потока MPEG2 она касается, какой временной метке она соответствует, и значение (значения) индекса (индексов).
[0035] Что касается виртуальных дорожек медиаданных, было предложено, чтобы виртуальные дорожки медиаданных были составлены из дорожек с указаниями о приеме путем ссылки на данные сэмплов дорожек с указаниями о приеме. Следовательно, механизмы индексации для дорожек медиаданных, такие как бокс сэмплов синхронизации, могут косвенно использоваться для принятых медиаданных.
[0036] Наконец, что касается событий сэмплов и свойств сэмплов, было предложено преодолеть два недостатка, присущих группам сэмплов (когда они используются для индексирования). Сначала бокс Sample to Group (сэмпл - в группу) использует кодирование длин серий, чтобы связать сэмплы с индексами описания группы. Другими словами, предоставляется число последовательных сэмплов, отображаемых на один и тот же индекс описания группы. Таким образом, чтобы разрешить индексы описания группы в терминах абсолютных номеров сэмплов, вычисляется кумулятивная сумма числа последовательных сэмплов. Такое вычисление может быть тяжелым для некоторых реализаций. Поэтому предложенная техника использует абсолютные номера сэмплов в боксах Sample to Event и Sample to Property (которые соответствуют боксу Sample to Group), а не кодирование длин серий. Во-вторых, бокс Sample Group Description находится в боксе фильма. Следовательно, либо значения индексов должны быть известны в начале записи (что возможно не для всех типов индексов), либо бокс фильма должен постоянно модифицироваться в течение записи, чтобы реагировать на новые значения индексов. Модифицирование бокса фильма, следовательно, может требовать перемещения других боксов (такого как бокс mdat) в пределах файла, что может быть медленной файловой операцией. Предложенный бокс Sample to Property включает поле значения свойства, которое фактически несет значение индекса и может находиться в каждом фрагменте фильма. Следовательно, первоначальный бокс фильма не должен быть модифицирован из-за новых значений индексов.
[0037] Различные способы могут использоваться, чтобы соединить сэмплы с различных дорожек, то есть ассоциировать сэмплы различных дорожек друг с другом в соответствии с базовым форматом медиафайлов ISO и его производными. Первый способ, называемый "общая шкала времени воспроизведения", используют, когда дорожки медиаданных синхронизированы согласно меткам времени композиции сэмплов медиаданных, которые считают находящимися на одной и той же шкале времени. Другими словами, сэмплы фактически не связаны друг с другом, а только представлены синхронно.
[0038] Альтернативно, способ, называемый "то же самое время декодирования", может использоваться, когда дорожка синхронизированных метаданных содержит ссылку на дорожку медиаданных или дорожку указаний, которую она описывает. Сэмпл синхронизированных метаданных обычно связывается с сэмплом медиаданных посредством времени декодирования, то есть соответствующие сэмплы имеют одинаковую метку времени декодирования, указанную боксом "Время декодирования для сэмпла" (Decoding Time to Sample) (обеих дорожек).
[0039] Еще один способ связывания сэмплов с различных дорожек называется "тот же самый номер сэмпла" и обеспечивает возможность ассоциирования сэмпла синхронизированных метаданных с сэмплом медиаданных путем включения номера сэмпла медиаданных в сэмпл синхронизированных метаданных. Подобный механизм доступен как один из конструкторов пакета для дорожек указаний протокола RTP. Другой пример - формат файла SVC, который включает механизм экстрактора, подобный включению данных сэмплов в сэмплы указаний путем ссылки.
[0040] Кроме того, может использоваться способ, называемый "время декодирования + смещение номера сэмпла, специфичное для сэмпла", где одна дорожка SVC может включать данные путем ссылки, использующей механизм экстрактора, с другой дорожки SVC. Например, одна дорожка SVC содержит основной уровень масштабируемого потока битов, который может быть включен путем ссылки в другую дорожку SVC. Сэмпл (называемый здесь сэмплом места назначения), содержащий экстрактор, сначала связывают посредством его времени декодирования с сэмплом в дорожке, на которую делается ссылка, имеющим номер сэмпла, называемый номером сэмпла источника-кандидата. Тогда смещение номера сэмпла, содержащееся в сэмпле места назначения, добавляют к номеру сэмпла источника-кандидата, чтобы получить связанный номер сэмпла.
[0041] Вообще желательны простые процессы для механизма индексации формата файла DVB. Однако характерная особенность механизма индексации должна соединять индекс и сэмпл с указаниями о приеме (или, в некоторых случаях, сэмпл медиаданных). Следовательно, также желательно не иметь никакого ряда операций, такого как повторяющееся суммирование, для получения конкретного индекса из сэмпла с указаниями о приеме.
[0042] В соответствии с общим способом шкалы времени воспроизведения, описанным выше, связывание сэмплов различных дорожек возможно только после того, как боксы Decoding Time to Sample и Composition Time to Sample будут проанализированы в обеих дорожках. Бокс Decoding Time to Sample кодирован дифференциально, то есть вместо того, чтобы указывать абсолютную временную метку декодирования для каждого сэмпла, предоставляется продолжительность каждого сэмпла. Следовательно, чтобы получить временную метку декодирования для конкретного сэмпла, все продолжительности предшествующих сэмплов нужно суммировать, что является сложным вычислением. Кроме того, временные метки композиции являются непригодными для сэмплов синхронизированных метаданных, поскольку они предоставляются редко, если вообще имеются.
[0043] Способ "то же самое время декодирования" требует синтаксического анализа боксов Decoding Time to Sample обеих дорожек, что является вычислительно сложным, как объяснено выше. Аналогично, способ "тот же самый номер сэмпла" также приводит к сложным операциям редактирования, потому что всякий раз, когда сэмплы вставляют или удаляют с дорожки медиаданных, номера сэмплов, включенные в синхронизированную дорожку метаданных, должны быть перезаписаны. Другими словами, все сэмплы синхронизированных метаданных после точки редактирования должны быть просмотрены, и их содержание должно быть отредактировано. Кроме того, способ "время декодирования+смещение номера сэмпла", подобно способу времени декодирования, требует синтаксического анализа боксов Decoding Time to Sample обеих дорожек, что является вычислительно сложным.
[0044] Следует отметить, что операции редактирования файла могут быть реализованы посредством боксов списков редактирования. Боксы списков редактирования определяют, как шкала времени композиции медиаданных преобразуется в шкалу времени воспроизведения, и допускают разбиение шкалы времени медиаданных на разделы и отображение этих разделов на временные слайсы шкалы времени воспроизведения. Следовательно, списки редактирования позволяют исключить сэмплы медиаданных из воспроизведения, изменить порядок разделов медиаданных при воспроизведении и изменить скорость воспроизведения разделов медиаданных.
Однако боксы списков редактирования не поддерживаются всеми плеерами, потому что, например, гибкость функций, обеспечиваемая боксами списков редактирования, вызывает сложности при реализации плеера. Кроме того, использование боксов списков редактирования не дает возможность освобождать пространство памяти, использованное для непроигрываемых сэмплов медиаданных или для описания непроигрываемых сэмплов медиаданных в боксах moov и moof. Поэтому обычные редакторы файлов вообще не используют боксы списков редактирования, а изменяют файлы другими способами.
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
[0045] Различные системы и способы организации медиаданных и/или мультимедиаданных предлагаются в соответствии с различными вариантами осуществления изобретения. Первый и второй сэмпл сохраняют в файле, при этом первый и второй сэмпл могут быть включены (посредством ссылки), например, в дорожку медиаданных или дорожку указаний. Первый сэмпл связан с первой частью данных, и второй сэмпл связан со второй частью данных, при этом первая и вторая части данных представляют части дорожек указаний или медиаданных. Первый номер сэмпла связан с первым сэмплом, и второй номер сэмпла связан со вторым сэмплом, при этом первый и второй номера сэмплов содержатся, например, в сэмпле синхронизированных метаданных и представлены относительно дорожек указаний и/или медиаданных. Смещение номера сэмпла включено в файл, и первый базовый номер сэмпла, связанный с первой частью данных, также включен в файл. Смещение номера сэмпла применимо к множеству сэмплов синхронизированных метаданных. Следует отметить, что первый номер сэмпла должен быть выводимым из смещения номера сэмпла и первого базового номера сэмпла. В одном способе получения первого номера сэмпла из смещения номера сэмпла и первого базового номера сэмпла смещение номера сэмпла добавляют к первому базовому номеру сэмпла, чтобы получить первый номер сэмпла, то есть фактический первый номер сэмпла в пределах дорожки указаний или медиаданных. Дополнительно, второй базовый номер сэмпла, связанный со второй частью данных, включают в файл, при этом второй номер сэмпла должен быть выводимым из смещения номера сэмпла и второго базового номера сэмпла тем же самым способом, как описанный в отношении первого базового номера сэмпла.
[0046] Поскольку используется смещение номера сэмпла, как описано выше, номера сэмплов в сэмплах синхронизированных метаданных не должны быть перезаписаны после вставки или перемещения сэмплов. Следовательно, различные варианты осуществления изобретения могут, например, упростить операции редактирования, особенно в отношении операции удаления начала записи, которая может быть наиболее часто используемой функцией среди применяемых операций редактирования.
[0047] Эти и другие преимущества и признаки изобретения вместе с его организацией и способом работы станут более очевидными из следующего подробного описания, приводимого вместе с чертежами, где аналогичные элементы имеют аналогичные номера позиций.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
[0048] Фиг.1 - описание иерархии форматов мультимедиафайлов;
[0049] Фиг.2 поясняет пример бокса в соответствии с базовым форматом медиафайлов ISO;
[0050] Фиг.3 - пример бокса, иллюстрирующий группировку сэмплов;
[0051] Фиг.4 поясняет пример бокса, содержащего фрагмент фильма, включая бокс SampleToGroup;
[0052] Фиг.5 - графическое представление примера системы мультимедийной связи, в которой могут использоваться различные варианты осуществления изобретения;
[0053] Фиг.6 - блок-схема, иллюстрирующая способ организации медиаданных и/или мультимедиаданных в соответствии с различными вариантами осуществления изобретения;
[0054] Фиг.7 - блок-схема, иллюстрирующая способ доступа к медиаданным в соответствии с различными вариантами осуществления изобретения;
[0055] Фиг.8 - блок-схема, иллюстрирующая способ декодирования медиаданных и доступа к индексам в соответствии с различными вариантами осуществления изобретения;
[0056] Фиг.9 - вид в перспективе электронного устройства, которое может использоваться в различных вариантах осуществления изобретения; и
[0057] Фиг.10 - схематическое представление схем, которые могут быть включены в электронное устройство, показанное на фиг.9.
ПОДРОБНОЕ ОПИСАНИЕ РАЗЛИЧНЫХ ВАРИАНТОВ ОСУЩЕСТВЛЕНИЯ ИЗОБРЕТЕНИЯ
[0058] Фиг.5 - графическое представление обобщенной мультимедийной системы связи, в которой могут быть использованы различные варианты осуществления настоящего изобретения. Как показано на фиг.1, источник 500 данных подает исходный сигнал в аналоговом, несжатом цифровом или сжатом цифровом формате, или в виде некоторой комбинации этих форматов. Кодер 510 кодирует исходный сигнал, формируя кодированный битовый поток медиаданных. Следует отметить, что битовый поток, который необходимо декодировать, может приниматься непосредственно или опосредованно от удаленного устройства, фактически расположенного в сети любого типа. Кроме того, битовый поток может приниматься от локальных аппаратных или программных средств. Кодер 510 может быть приспособлен для кодирования более одного типа медиаданных, таких как аудио- и видеоданные, или может потребоваться более одного кодера 510 для кодирования различных типов медиаданных исходного сигнала. Кодер 510 может получать также синтетически созданный входной сигнал, такой как графика