Размещение фрагментов субтрека для потоковой передачи видеоданных

Иллюстрации

Показать все

Изобретение относится к средствам хранения и транспортировки кодированных видеоданных. Техническим результатом является обеспечение извлечения кодированных изображений конкретного иерархического слоя во фрагменте видео посредством использования единственного запроса. В способе собирают кодированные видеоданные во фрагмент видеофайла, содержащий фрагменты субтрека, содержащие множество иерархически связанных кодированных видеоизображений кодированных видеоданных, размещенных непрерывно в порядке декодирования в пределах соответствующего фрагмента субтрека, каждое из иерархически связанных кодированных видеоизображений соответствует общему иерархическому слою; выводят данные; принимают запрос в соответствии с протоколом потоковой передачи, задающий фрагмент субтрека. В способе запрос содержит запрос частичного GET протокола передачи гипертекста (HTTP), который задает байтовый диапазон, соответствующий фрагменту субтрека; выводят иерархически связанные кодированные видеоизображения фрагмента субтрека. 8 н. и 36 з.п. ф-лы, 9 ил., 3 табл.

Реферат

ОБЛАСТЬ ТЕХНИКИ, К КОТОРОЙ ОТНОСИТСЯ ИЗОБРЕТЕНИЕ

Данные раскрытие относится к хранению и транспортировке кодированных видеоданных.

УРОВЕНЬ ТЕХНИКИ

Возможности цифрового видео могут быть встроены в разнообразные устройства, включая цифровые телевизоры, системы непосредственного цифрового вещания, системы беспроводного вещания, персональные цифровые помощники (PDA), портативные или настольные компьютеры, цифровые камеры, цифровые записывающие устройства, цифровые медиапроигрыватели, видеоигровые устройства, видеоигровые приставки, сотовые или спутниковые радиотелефоны, устройства для видеотелеконференций и т.п. Цифровые видеоустройства осуществляют методы сжатия видео, такие как те, которые описаны в стандартах, определенных в MPEG-2, MPEG-4, ITU-T H.263 или ITU-T H.264/MPEG-4, Part 10, усовершенствованное видеокодирование (AVC) и расширениях таких стандартов, для более эффективной передачи и приема цифровой видеоинформации.

Методы сжатия видео выполняют пространственное предсказание и/или временное предсказание для уменьшения или удаления избыточности, присущей видеопоследовательностям. Для видеокодирования на основе блоков видеокадр или слайс может разделяться на макроблоки. Каждый макроблок может дополнительно разделяться. Макроблоки во внутренне кодированном (I) кадре или слайсе кодируются с использованием пространственного предсказания в отношении соседних макроблоков. Макроблоки во внешне кодированном (P или B) кадре или слайсе могут использовать пространственное предсказание в отношении соседних макроблоков в этом же кадре или слайсе или временное предсказание в отношении других опорных кадров.

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

Были предприняты попытки разработать новые стандарты видеокодирования, основанные на H.264/AVC. Одним таким стандартом является стандарт масштабируемого видеокодирования (SVC), который представляет собой масштабируемое расширение H.264/AVC. Другим стандартом является многовидовое видеокодирование (MVC), которое становится многовидовым расширением H.264/AVC. Совместный проект MVC описан в JVT-AB204, «Joint Draft 8.0 on Multiview Video Coding,» 28th JVT meeting, Hannover, Germany, July 2008, доступном по адресу http://wftp3.itu.int/av-arch/jvt-site/2008_07_Hannover/JVT-AB204.zip. Версия, встроенная в стандарт AVC, описана в JVT-AD007, «Editors' draft revision to ITU-T Rec. H.264 | ISO/IEC 14496-10 Advanced Video Coding - in preparation for ITU-T SG 16 AAP Consent (in integrated form)», 30th JVT meeting, Geneva, CH, Feb. 2009, доступном по адресу http://wftp3.itu.int/av-arch/jvt-site/2009_01_Geneva/JVT-AD007.zip.

СУЩНОСТЬ ИЗОБРЕТЕНИЯ

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

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

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

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

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

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

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

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

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

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

КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ

Фиг.1 представляет собой блок-схему, иллюстрирующую примерную систему, в которой устройство источника аудио/видео (A/V) посылает аудио- и видеоданные на устройство назначения A/V.

Фиг.2 представляет собой блок-схему, иллюстрирующую компоненты примерного блока инкапсуляции.

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

Фиг.4A представляет собой блок-схему, иллюстрирующую примерный фрагмент фильма.

Фиг.4B представляет собой блок-схему, иллюстрирующую примерный фрагмент фильма, который включает в себя объекты повторного сборщика.

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

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

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

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

Фиг.9 представляет собой схему концептуального представления, иллюстрирующую примерный шаблон предсказания MVC.

ПОДРОБНОЕ ОПИСАНИЕ

В общем, данное раскрытие описывает методы для размещения фрагментов субтрека (субдорожки) видеофайлов для поддержки потоковой передачи видеоданных. В частности, кодированные видеоизображения фрагмента трека (дорожки) могут размещаться в соответствии с иерархическим слоем, к которому принадлежат кодированные видеоизображения. В данном раскрытии, кодированные видеоизображения также могут упоминаться как кодированные сэмплы (выборки) видео, или просто как «сэмплы» или «изображения». Таким образом, кодированные видеоизображения общего слоя могут размещаться рядом в видеофайле. Следовательно, устройство назначения может извлекать кодированные изображения конкретного иерархического слоя во фрагменте фильма, используя единственный запрос. Для примера потоковой передачи протокола передачи гипертекста (HTTP), единственный запрос может содержать запрос частичного GET HTTP, задающий байтовый диапазон кодированных видеоизображений до требуемого иерархического слоя.

Фрагмент трека может представлять собой фрагмент представления видео базового формата медиафайлов ISO или фрагмент системного потока MPEG-2, который может быть любого вида из следующих: пакетированный элементарный поток (PES), программный поток (PS) или транспортный поток (TS). В транспортном потоке (TS) MPEG-2 пакеты, соответствующие блокам доступа, обычно упорядочиваются по порядку декодирования. Блок доступа может сегментироваться на многочисленные транспортные пакеты в потоке TS. В случае, если фрагмент трека определяется как непрерывная часть системного потока MPEG-2, фрагмент трека может быть представлен как файловый блок, например, файл или сегмент файла. Методы данного раскрытия могут включать в себя переупорядочение блока доступа во фрагменте в несколько фрагментов субтрека, каждый из которых может соответствовать соответствующему иерархическому слою блоков доступа (кодированных изображений), так что и кодированные изображения общего иерархического слоя представляются непрерывно в части потока. Фрагменты субтрека во фрагменте трека могут размещаться в соответствии с порядком декодирования. Таким образом, кодированные видеоизображения общего слоя могут размещаться рядом в видеофайле. Следовательно, устройство назначения может извлекать все кодированные изображения до конкретного иерархического слоя во фрагменте фильма, используя единственный запрос, например, запрос частичного GET HTTP, задающий байтовый диапазон кодированных видеоизображений до требуемого иерархического слоя.

В качестве примера, формат файлов усовершенствованного видеокодирования (AVC) определяет, что кодированные видеоизображения размещаются в порядке декодирования в любом фрагменте трека или фрагменте фильма. Группа изображений (GOP) может иметь некоторое количество изображений, кодированных с использованием различных схем предсказания, например, внутреннее предсказание (I-изображения) и внешнее предсказание (P-изображения и B-изображения). I-изображения могут кодироваться без ссылки на другие изображения, P-изображения могут кодироваться относительно одного или более опорных изображений в одном направлении, и B-изображения могут кодироваться относительно одного или более изображения в обоих направлениях (вперед и назад в видеопоследовательности).

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

Таблица 1
Изображения в порядке отображения I0 B1 B2 B3 P4 B5 B6 B7 P8
Временной иерархический уровень 0 2 1 2 0 2 1 2 0
Порядок декодирования 0 3 2 4 1 7 6 8 5

Следовательно, обычное устройство источника может размещать данную примерную последовательность кодированных изображений в соответствии с их порядком декодирования. Обычно, изображения внутри GOP (в примере таблицы 1 размер GOP равен 4) с одинаковым временным иерархическим уровнем могут отделяться от изображений в других GOP этого же иерархического уровня. Например, B2 и B6 оба представляют собой изображения временного иерархического уровня 1 в примере таблицы 1, но разделяться изображениями с другими временными уровнями, если будут размещены в порядке декодирования. Даже изображения с одним и тем же временным уровнем в одной GOP могут разделяться изображениями с разными временными уровнями. Предположим в отношении фрагмента, который содержит, например, 10 GOP, что изображения с идентичным временным уровнем могут распределяться в этом фрагменте как многочисленные отдельные экземпляры.

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

Таблица 2
Изображения в порядке отображения I0 B1 B2 B3 P4 B5 B6 B7 P8
Временной иерархический уровень 0 2 1 2 0 2 1 2 0
Порядок декодирования 0 4 3 5 2 7 6 8 1
Порядок в файле 0 5 3 6 1 7 4 8 2

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

Например, устройство назначения может быть выполнено с возможностью извлечения изображений до иерархического уровня один, который может соответствовать двум фрагментам субтрека: 0 и 1. Устройство назначения может выдавать запрос, основанный на байтовых диапазонах фрагментов субтрека 0 и 1. В ответ на этот примерный запрос устройство источника может предоставить изображения во фрагменте 0 и 1 субтрека, имеющем порядок отображения 0, 8, 4, 2, 6 и т.д.

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

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

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

Методы данного раскрытия могут применяться к видеофайлам, соответствующим любому из базового формата медиафайлов ISO, формата файлов усовершенствованного видеокодирования (AVC), формата файлов Проекта партнерства по созданию системы третьего поколения (3GPP), формата файлов масштабируемого видеокодирования (SVC) и/или формата файлов многовидового видеокодирования (MVC), или других подобных форматов видеофайлов. Кроме того, иерархический уровень может представлять собой любой иерархический уровень в соответствии с этими или другими форматами видеофайлов. Например, что касается SVC, иерархические уровни могут соответствовать различным слоям кодирования, например, базовому слою и одному или более улучшающим слоям. В качестве другого примера, что касается MVC, иерархические уровни могут соответствовать различным видам.

Базовый формат медиафайлов ISO разработан для того, чтобы содержать информацию о временных медиа для представления в гибком, расширяемом формате, который способствует обмену, управлению, редактированию и представлению медиа. Базовый формат медиафайлов ISO (ISO/IEC 14496-12:2004) определен в MPEG-4 Part-12, который определяет общую структуру для основанных на времени медиафайлов. Он используется в качестве основы для других форматов файлов в семействе, таких как формат файлов AVC (ISO/IEC 14496-15), который определяет поддержку сжатия видео H.264/MPEG-4 AVC, формат файлов 3GPP, формат файлов SVC и формат файлов MVC. Формат файлов 3GPP и формат файлов MVC представляют собой расширения формата файлов AVC. Базовый формат медиафайлов ISO содержит временную информацию, информацию о структуре и медиа для временных последовательностей медиаданных, таких как аудиовизуальные представления. Структура файлов может быть объектно-ориентированной. Файл может быть разбит на базовые объекты очень просто, и структура объектов предполагается из их типа.

В примерах MPEG-1 и MPEG-2 B-кодированные изображения обеспечивают естественную временную масштабируемость. Трек видеофайла, соответствующего MPEG-1 или MPEG-2, может включать в себя полный набор I-кодированных изображений, P-кодированных изображений и B-кодированных изображений. Отбрасывая B-кодированные изображения, видеофайл может получать соответствующие представления видео с половинным разрешением. MPEG-1 и MPEG-2 также обеспечивают понятие базового слоя и улучшающего слоя для кодирования двух временных слоев, причем изображения улучшающего слоя могут выбирать для каждого направления предсказания изображение или из базового слоя, или из улучшающего слоя в качестве опорного. Следовательно, устройство назначения может запрашивать, и устройство источника может обеспечивать, меньшее количество кодированных изображений, чем полный набор I-, P- и B-кодированных изображений, включенных в видеофайл. Видеоданные, представляемые устройством источника на устройство назначения, тем не менее, могут соответствовать MPEG-1 и MPEG-2 и могут иметь половинное (или меньшее) разрешение кроме исходного, полного набора кодированных изображений.

В качестве другого примера, H.264/AVC использует иерархические B-кодированные изображения для поддержки временной масштабируемости. Первое изображение видеопоследовательности в H.264/AVC может упоминаться как изображение мгновенного обновления декодера (IDR), также известное как ключевое изображение. Ключевые изображения обычно кодируются в регулярных или нерегулярных интервалах, которые являются или внутренне кодированными, или внешне кодированными, с использованием предыдущего ключевого изображения в качестве опорного для предсказания с компенсацией движения. Группа изображений (GOP) обычно включает в себя ключевое изображение и все изображения, которые временно располагаются между ключевым изображением и предыдущим ключевым изображением. GOP может быть разделена на две части, одна представляет собой ключевое изображение, и другая включает в себя неключевые изображения. Неключевые изображения иерархически предсказываются посредством 2 опорных изображений, которыми являются ближайшие изображения более низкого временного уровня из прошлого и будущего времени.

Значение временного идентификатора может назначаться каждому изображению для указания иерархического положения изображения, т.е. иерархического слоя, которому соответствует изображение. Таким образом, изображения со значениями временного идентификатора до N могут образовывать сегмент видео с частотой кадров, которая в два раза больше частоты сегмента видео, образованного изображениями со значениями временного идентификатора до N-1. Следовательно, методы данного раскрытия также могут использоваться для достижения временной масштабируемости в H.264/AVC посредством размещения кодированных видеоизображений во фрагменты субтрека, так что устройство назначения может запрашивать один или более фрагментов субтрека, но может запрашивать меньшее количество, чем полный набор фрагментов субтрека фрагмента фильма. Т.е. устройство назначения может запрашивать фрагменты субтрека, имеющие временные идентификаторы, меньшие или равные N.

Файлы, соответствующие базовому формату медиафайлов ISO (и их расширениям), могут быть образованы в виде последовательностей объектов, называемых «боксами». Данные в базовом формате медиафайлов ISO содержатся в боксах, так что нет необходимости другим данным содержаться в файле вне боксов. Он включает в себя любую начальную сигнатуру, требуемую конкретным форматом файлов. «Бокс» может представлять собой объектно-ориентированный стандартный блок, определенный уникальным идентификатором типа и длиной. Обычно, представление содержится в одном файле, и представление медиа является автономным. Контейнер фильма (бокс фильма) может содержать метаданные медиа, и кадры видео и аудио могут содержаться в контейнере медиаданных и могут быть в других файлах.

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

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

Каждый медиапоток может содержаться в треке, специализированном для этого типа медиа (аудио, видео и т.д.) и может дополнительно параметризоваться элементом сэмпла. Элемент сэмпла может содержать «имя» точного типа медиа (тип декодера, необходимый для декодирования потока) и любую параметризацию этого необходимого декодера. Имя также может принимать вид четырехсимвольного кода, например, «moov» или «trak». Определяются форматы элементов сэмпла не только для медиа MPEG-4, но также для типов медиа, используемых другими организациями, использующими это семейство форматов файлов.

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

В базовом формате медиафайлов ISO группирование сэмплов представляет собой назначение каждого из сэмплов в треке членом одной группы сэмплов. Не требуется, чтобы сэмплы в группе сэмплов были рядом. Например, при представлении H.264/AVC в формате файлов AVC сэмплы видео на одном временном уровне могут отбираться в одну группу сэмплов. Группы сэмплов могут представляться двумя структурами данных: боксом SampleToGroup (sbdp) и боксом SampleGroupDescription. Бокс SampleToGroup представляет назначение сэмплов группам сэмплов. Может быть один экземпляр бокса SampleGroupDescription для каждого элемента группы сэмплов для описания свойств соответствующей группы.

Необязательный трек метаданных может использоваться для пометки каждого трека «интересующей характеристикой», которую он имеет, для которой его значение может отличаться от других членов группы (например, его скорость передачи битов, размер экрана или язык). Некоторые сэмплы в треке могут иметь специальные характеристики или могут идентифицироваться индивидуально. Одним примером характеристики является точка синхронизации (часто I-кадр видео). Эти точки могут идентифицироваться специальной таблицей в каждом треке. Обычно, сущность зависимостей между сэмплами трека также может документироваться с использованием метаданных. Метаданные могут структурироваться в виде последовательности сэмплов формата файлов, как трек видео. Такой трек может упоминаться как трек метаданных. Каждый сэмпл метаданных может структурироваться как оператор метаданных. Имеются различные виды оператора, соответствующие различным вопросам, которые могут быть заданы о соответствующем сэмпле формата файла или его составляющих сэмплов.

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

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

3GP (формат файлов 3GPP) представляет собой формат мультимедийного контейнера, определенный Проектом партнерства по созданию системы 3-го поколения (3GPP) для мультимедийных услуг универсальной системы мобильной связи (UMTS) третьего поколения (3G). Он обычно используется на мобильных телефонах 3G и других устройствах с возможностями 3G, но также может воспроизводиться на некоторых телефонах и устройствах 2G и 4G. Формат файлов 3GPP основывается на базовом формате медиафайлов ISO. Самый последний 3GP определяется в 3GPP TS26.244 «Transparent end-to-end packet switched streaming service (PSS); 3GPP file format (3GP)». Формат файлов 3GPP хранит видеопотоки в виде MPEG-4 Part 2, или H.263, или MPEG-4 Part 10 (AVC/H.264). 3GPP позволяет использовать кодеки AMR и H.263 в базовом формате медиафайлов ISO (MPEG-4 Part 12), так как 3GPP определяет использование полей Элемент сэмпла и полей шаблона в базовом формате медиафайлов ISO, а также определяет новые боксы, на которые ссылаются кодеки. Для хранения характерной для медиа MPEG-4 информации в файлах 3GP, спецификация 3GP ссылается на формат файлов MP4 и AVC, которые также основываются на базовом формате медиафайлов ISO. Спецификации форматов файлов MP4 и AVC описывают использование контента MPEG-4 в базовом формате медиафайлов ISO.

Спецификация базового формата медиафайлов ISO определяет альтернативную группу треков. Альтернативная группа включает в себя поднабор всех доступных треков, и каждый трек может соответствовать одной альтернативной группе. В общем, устройство назначения может выбирать один трек из каждой альтернативной группы за исключением других треков в альтернативных группах. Спецификация формата файлов 3GPP определяет группу переключения треков, которая подобна альтернативной группе. Во время потоковой передачи загрузки и воспроизведения устройство назначения может переключать между разными треками группы переключения. Т.е. треки в одной и той же группе переключения доступны для переключения во время сеанса, тогда как треки в разных группах переключения обычно недоступны для переключения.

Формат файлов SVC, как расширение формата файлов AVC, обеспечивает структуры экстрактора и слоя. Экстракторы представляют собой указатели, которые предоставляют информацию о положении и размере данных видеокодирования в сэмпле с равным временем декодирования в другом треке. Это позволяет составлять иерархию трека непосредственно в области кодирования. Трек экстрактора в SVC связан с одним или более базовыми треками, из которых он извлекает данные во время выполнения. Экстрактор представляет собой указатель с возможностью отмены ссылки с заголовком блока NAL с расширениями SVC. Если трек, используемый для извлечения, содержит данные видеокодирования с другой частотой кадров, тогда экстрактор также содержит смещение времени декодирования, чтобы обеспечить синхронность между треками. Во время выполнения экстрактор должен быть заменен данными, на которые он указывает, перед тем как поток будет передан на видеодекодер.

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