СПОСОБ И УСТРОЙСТВО ДЛЯ ИНКАПСУЛЯЦИИ АКТИВОВ МЕДИАТРАНСПОРТА СТАНДАРТА ЭКСПЕРТНОЙ ГРУППЫ ПО ДВИЖУЩИМСЯ ИЗОБРАЖЕНИЯМ В МЕЖДУНАРОДНОЙ ОРГАНИЗАЦИИ СТАНДАРТИЗАЦИИ БАЗОВЫХ МЕДИАФАЙЛОВ
METHOD AND APPARATUS FOR ENCAPSULATION OF MOTION PICTURE EXPERTS GROUP MEDIA TRANSPORT ASSETS IN INTERNATIONAL ORGANISATION FOR STANDARDISATION BASE MEDIA FILES

ОБЛАСТЬ ТЕХНИКИ, К КОТОРОЙ ОТНОСИТСЯ ИЗОБРЕТЕНИЕ
Это раскрытие относится в целом к способу и устройству, передающему медиаконтент для инкапсуляции активов медиатранспорта (Media Transport, MMT) стандарта экспертной группы по движущимся изображениям (Motion Picture Experts Group, MPEG) в Международной организации по стандартизации (International Organization for Standardization, ISO) базовых медиафайлов.
УРОВЕНЬ ТЕХНИКИ ИЗОБРЕТЕНИЯ
Медиатранспорт (MMT) стандарта экспертной группы по движущимся изображениям (MPEG) определяет технологии для доставки кодированных медиаданных для мультимедийных служб через окружающие среды гетерогенных сетей протокола Интернет (Internet Protocol, IP). Доставляемые кодированные медиаданные включают в себя как (i) аудиовизуальные медиаданные, из которых блоки данных имеют собственную временную шкалу (то есть синхронизированные данные), так и (ii) другие типы данных, которые не имеют собственную временную шкалу среди их блоков данных (то есть не синхронизированные данные).
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
ТЕХНИЧЕСКАЯ ЗАДАЧА
Технология MMT разработана в предположении, что кодированные медиаданные доставляются через сеть доставки на основе пакетов с использованием Интернет-протоколов, таких как транспортный протокол реального времени (Realtime Transport Protocol, RTP), протокол управления передачей (Transmission Control Protocol, TCP) и протокол передачи дейтаграмм пользователя (User Datagram Protocol, UDP).
РЕШЕНИЕ ЗАДАЧИ
Это раскрытие предоставляет способ и устройство для инкапсуляции активов медиатранспорта (MMT) стандарта экспертной группы по движущимся изображениям (MPEG) в Международной организации по стандартизации (ISO) базовых медиафайлов.
В первом варианте осуществления, устройство включает в себя схему тракта приема, выполненную с возможностью приема MMT-контейнера. Устройство также включает в себя устройтство обработки, выполненное с возможностью идентифицирования местоположений одного или более блоков медиафрагментов (media fragment units, MFU) в MMT-контейнере с использованием дорожки подсказки в MMT-контейнере.
Во втором варианте осуществления, устройство включает в себя схему тракта передачи, выполненную с возможностью передачи MMT-контейнера. Устройство также включает в себя устройство обработки, выполненное с возможностью идентифицирования местоположений одного или более блоков медиафрагментов (MFU) в MMT-контейнере с использованием дорожки подсказки в MMT-контейнере.
В третьем варианте осуществления, способ включает в себя прием MMT-контейнера. Способ также включает в себя идентифицирование местоположений одного или более блоков медиафрагментов (MFU) в MMT-контейнере с использованием дорожки подсказки в MMT-контейнере.
В четвертом варианте осуществления, способ включает в себя прием блоков MFU MMT-контейнера, идентифицируя недостающие блоки MFU, отмечая их соответствующим образом или устанавливая метаданные для правильной обработки.
Другие технические свойства могут быть вполне очевидны специалисту в данной области техники из следующих чертежей, описаний и пунктов формулы изобретения.
Прежде чем приступить к подробному описанию ниже, может быть полезным изложить определения конкретных слов и фраз, используемых по всему этому патентному документу. Термины "включает в себя" и "содержит", а также их производные, означают включение без ограничения. Термин "или" является включительным, означающим и/или. Фраза "ассоциированный с", а также ее производные, может означать включает в себя, включаемый в, соединяет с, содержит, содержащийся в, подключает к или в, связывает к или с, является коммуникабельным с, сотрудничает с, перемежает, помещает рядом, находится вблизи к, связанный к или с, имеет, имеет свойство, имеет отношение к или с или т.п. Термин "контроллер" означает любое устройство, систему или часть из этого, которое управляет по меньшей мере одной операцией, и такое устройство может осуществляться в аппаратном обеспечении или в сочетании аппаратного обеспечения и программного обеспечения/встроенного программного обеспечения. Следует отметить, что функциональные возможности, ассоциированные с любым конкретным контроллером, могут быть централизованными или распределенными, либо локально или удаленно. Фраза "по меньшей мере один из", когда используется со списком элементов, означает то, что различные сочетания одного или более перечисленных элементов могут использоваться, и только один элемент в списке может быть необходимым. Например, "по меньшей мере один из: A, B, и C" включает в себя любое из следующих сочетаний: A, B, C, A и B, A и C, B и C, и A и B и C. Определения для конкретных слов и фраз предоставляются по всему этому патентному документу, и специалистам в данной области техники следует понимать, что во многих если не в большинстве случаев, такие определения применяются для предыдущих, а также будущих использований таким образом определенных слов и фраз.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
Для более полного понимания этого раскрытия и его преимуществ, теперь делается ссылка на следующее описание, которое берется в сочетании с прилагаемыми чертежами, на которых подобные ссылочные номера представляют подобные части:
Фиг. 1 иллюстрирует примерную доставку масштабируемого видео через гетерогенную сеть к различным клиентам в соответствии с этим раскрытием;
Фиг. 2 иллюстрирует примерное MMT-устройство в соответствии с этим раскрытием;
Фиг. 3 иллюстрирует примерные функциональные возможности, предоставляемые посредством медиатранспорта (MMT) стандарта экспертной группы по движущимся изображениям (MPEG) в соответствии с этим раскрытием;
Фиг. 4 иллюстрирует примерную MMT-инкапсуляцию в соответствии с этим раскрытием;
Фиг. 5 иллюстрирует примерную MMT-инкапсуляцию с дорожкой подсказки уровня выборки и медиадорожкой уровня выборки синхронизованного медиав соответствии с этим раскрытием;
Фиг. 6 иллюстрирует примерную MMT-инкапсуляцию медиа, которое не включает в себя синхронизованное медиав соответствии с этим раскрытием; и
Фиг. 7 иллюстрирует примерный способ для приема блоков медиафрагментов (MFU) в соответствии с этим раскрытием.
ЛУЧШИЙ ВАРИАНТ ОСУЩЕСТВЛЕНИЯ ИЗОБРЕТЕНИЯ
Фигуры 1-7, обсуждаемые ниже, и различные варианты осуществления, используемые для описания принципов этого раскрытия в этом патентном документе, приведены только в качестве иллюстрации и не должны быть истолкованы никоим образом, чтобы ограничивать область действия упомянутого раскрытия. Специалистам в данной области техники будет понятно, что принципы этого раскрытия могут осуществляться в любом подходящем устройстве или системе.
Фиг. 1 иллюстрирует примерную доставку масштабируемого видео через гетерогенную сеть к различным клиентам в соответствием с этим раскрытием. Эти варианты осуществления, изображенные на Фиг. 1, предназначены только для иллюстрации. Другие варианты осуществления могут использоваться без отклонения от области действия этого раскрытия.
Гетерогенная сеть 102 включает в себя сервер 104 медиатранспорта (MMT) стандарта экспертной группы по движущимся изображениям (MPEG), который обслуживает медиаконтент (такой как контент изображений, аудио контент и видео контент) для MMT-клиентов 106-114. MMT-сервер 104 и MMT-клиенты 106-114 представляют MMT-устройства и могут осуществляться как показано на Фиг. 2 или любым другим подходящим образом. MMT-сервер 104 может передавать с полным разрешением видеопотоки 116 через гетерогенную сеть 102 к MMT-клиентам 106-114. MMT-клиенты 106-114 принимают некоторые или все из видеопотоков 116 с одной или более битовыми скоростями 118-126 и одним или более разрешениями 130-138 на основе (среди других вещей) типа соединения с гетерогенной сетью 102 и типом MMT-клиента. Типы и битовые скорости соединений с гетерогенной сетью 102 могут включать в себя высокоскоростное магистральное сетевое соединение 128, 1000 мегабит в секунду (megabit per second, Mbps, Мбит/с) соединение 118, 312 килобит в секунду (kilobit per second, kbps, кбит/с) соединение 120, 1 Мбит/с соединение 122, 4 Мбит/с соединение 124, 2 Мбит/с соединение 126 и так далее. Разрешения 130-138 могут включать в себя 1080 прогрессивное при 60 Герц (1080 progressive at 60 Hertz, 1080p@60Hz, 1080p@60 Гц) разрешение 130, четвертного общего промежуточного формата (quarter common intermediate format, QCIF) при 10 Гц разрешение 132, стандартное при 24 Гц разрешение (standard definition, SD) 134, 720 прогрессивное (720 progressive, 720p) при 60 Гц разрешение 136, 720p при 30 Гц разрешение 138 и т.д. Типы клиентов 106-114 могут включать в себя настольный компьютер 106, мобильный телефон 108, персональный цифровой помощник (PDA) 110, портативный компьютер 112 и планшетный компьютер 114.
Медиаконтент, также называемый как MMT-актив, передается через MMT-контейнеры от MMT-сервера 104 к MMT-клиентам 106-114 через один или более блоков MFU. MMT-актив может потребляться MMT-клиентами 106-114, даже когда не все из блоков MFU принимаются MMT-клиентами 106-114. MMT-контейнер идентифицирует блоки MFU, которые были приняты и которые не были приняты, так что MMT-клиенты 106-114 могут визуализировать блоки MFU, которые были приняты и не визуализировать блоки MFU, которые не были приняты.
Фиг. 2 иллюстрирует примерное MMT-устройство 202 в соответствием с этим раскрытием. Вариант осуществления MMT-устройства 202, изображенный на Фиг. 2, приводится только для иллюстрации. Другие варианты осуществления MMT-устройства могут использоваться без отклонения от области действия этого раскрытия.
MMT-устройство 202 включает в себя антенну 205, радиочастотный (RF) приемопередатчик 210, схему 215 обработки передачи (TX), микрофон 220 и схему 225 обработки приема (RX). MMT-устройство 202 также включает в себя громкоговоритель 230, блок 240 обработки, интерфейс (IF) 245 ввода/вывода (I/O), клавиатуру 250, дисплей 255 и память 260. MMT-устройство 202 может включать в себя любое число каждого из этих компонентов.
Блок 240 обработки включает в себя схему обработки, выполненную с возможностью выполнения инструкций, таких как инструкций, хранящихся в памяти 260 или внутренне в блоке 240 обработки. Память 260 включает в себя программу 261 базовой операционной системы (OS) и одно или более приложений 262. MMT-устройство 202 может представлять любое подходящее устройство, которое использует MMT, такое как MMT-клиент 106-114 или MMT-сервер 104. В конкретных вариантах осуществления, MMT-устройство 202 представляет мобильный терминал, смартфон, персональный цифровой помощник (PDA) или планшетный компьютер. MMT-устройство 202 передает, принимает или отображает медиаконтент через MMT.
RF-приемопередатчик 210 принимает, от антенны 205, поступающий RF-сигнал, передаваемый посредством базовой станции или другого устройства в беспроводной сети. RF-приемопередатчик 210 преобразует вниз по частоте приходящий RF-сигнал, чтобы получить сигнал промежуточной частоты (IF) или сигнал основной полосы частот. IF-сигнал или сигнал основной полосы частот передается на схему 225 обработки RX, с помощью которой получается обработанный сигнал основной полосы частот (например, посредством фильтрации, декодирования и/или преобразования в цифровую форму сигнала основной полосы частот или IF-сигнала). Схема 225 обработки RX может предоставлять обработанный сигнал основной полосы частот на громкоговоритель 230 (для голосовых данных) или на блок 240 обработки для дальнейшей обработки (например, для просмотра веб-страниц или других данных).
Схема 215 обработки TX принимает аналоговые или цифровые голосовые данные от микрофона 220 или другие исходящие данные основной полосы (например, веб-данные, данные электронной почты или интерактивные видео игровые данные) от блока 240 обработки. Схема 215 обработки TX кодирует, мультиплексирует и/или переводит в цифровую форму исходящие данные основной полосы, чтобы получить обработанный сигнал основной полосы или IF-сигнал. RF-приемопередатчик 210 принимает исходящий обработанный сигнал основной полосы или IF-сигнал от схемы 215 обработки TX и преобразует вверх по частоте сигнал основной полосы или IF-сигнал в RF-сигнал, который передается через антенну 205.
В некоторых вариантах осуществления, блок 240 обработки включает в себя центральный процессор (CPU) 242 и графический процессор (GPU) 244, осуществляемые в одном или более дискретных устройствах. В некоторых вариантах осуществления, CPU 242 и GPU 244 осуществляются как одна или более интегральные схемы, которые расположены на одной или нескольких печатных платах. Память 260 связана с блоком 240 обработки. В некоторых вариантах осуществления, часть памяти 260 представляет оперативную память (RAM) и другая часть памяти 260 представляет флэш-память, действующую как постоянная память (ROM).
В некоторых вариантах осуществления, память 260 является компьютерно-читаемым носителем, который хранит программные инструкции для передачи медиаконтента через MMT. Когда программные инструкции выполняются блоком 240 обработки, программные инструкции вызывают один или более из блока 240 обработки, CPU 242 и GPU 244 выполнять различные функции и программы в соответствии с вариантами осуществления этого раскрытия.
Блок 240 обработки выполняет программу 261 базовой OS, хранящуюся в памяти 260, для того, чтобы контролировать полную работу MMT-устройства 202. Например, блок обработки 240 может контролировать RF-приемопередатчик 210, схему 225 обработки RX, схему 215 обработки TX в соответствии с хорошо известными принципами, чтобы контролировать прием сигналов прямого канала и передачу сигналов обратного канала.
Блок 240 обработки также способен выполнять другие процессы и программы, постоянно находящиеся в памяти 260, такие как операции для идентифицирования местоположения MFU через дорожки подсказки как описано более подробно ниже. Блок 240 обработки может также перемещать данные в или из памяти 260 как требуется выполняющимся процессом. В некоторых вариантах осуществления, блок 240 обработки конфигурируется для выполнения множества приложений 262. Блок обработки 240 может управлять приложениями 262 на основе OS программы 261 или в ответ на сигнал, принимаемый от базовой станции. Блок 240 обработки связан с I/O интерфейсом 245, который предоставляет MMT-устройство 202 с возможностью подключения к другим устройствам, таким как портативные компьютеры, карманные компьютеры и серверные компьютеры. I/O интерфейс 245 является каналом связи между этими аксессуарами и блоком 240 обработки.
Блок 240 обработки также опционально связан с клавиатурой 250 и блоком 255 дисплея. Оператор MMT-устройства 202 использует клавиатуру 250 для ввода данных в MMT-устройство 202. Дисплей 255 может быть жидкокристаллическим дисплеем, светодиодным (LED) дисплеем или другим дисплеем, способным визуализировать текст и/или по меньшей мере ограниченную графику от веб-сайтов. Альтернативные варианты осуществления могут использовать другие типы устройств ввода/вывода и дисплеев.
Для результативной и эффективной доставки кодированных медиаданных через окружения гетерогенной сети протокола Интернет (IP), MMT предоставляет следующие элементы:
- логическая модель, чтобы строить контент, составленный из различных компонентов для гибридных приложений;
- структура данных транспортировки информации о кодированных медиаданных для обработки уровня доставки, такой как пакетирование и адаптация;
- способ пакетирования и структура пакета для доставки медиаконтента, независимого для конкретного типа способа кодирования или медиа, используемого через TCP или UDP включая гибридную доставку;
- формат сообщений сигнализации для управления представлением и доставкой медиаконтента;
- формат сообщений сигнализации для управления представлением и доставкой медиаконтента; и
- формат информации, предназначенной для обмена информацией через уровни для облегчения связи между уровнями.
Фиг. 3 иллюстрирует примерные функциональные возможности, предоставляемые посредством MMT в соответствии с этим раскрытием. Вариант осуществления, изображенный на Фиг. 3, приводится только для иллюстрации. Другие варианты осуществления могут использоваться без отклонения от области действия этого раскрытия.
Функциональные возможности, предоставляемые посредством MMT, распределяются по категориям на три функциональные области, а именно на уровень 302 инкапсуляции, уровень 304 доставки и уровень 306 сигнализации. Уровень 302 инкапсуляции определяет логическую структуру медиаконтента, MMT-пакет и формат блоков данных, предназначенных для обработки посредством MMT-совместимого объекта. MMT-пакет включает в себя один или более компонентов, имеющих медиаконтент и описания взаимных отношений между компонентами, чтобы предоставлять информацию для расположенного внизу уровня 304 доставки для адаптивной работы. Формат блоков данных определяется для инкапсуляции кодированных медиаданных медиаконтента, предназначенного для хранения или передаваемого как полезная нагрузка протокола доставки и предназначенного для свободного конвертирования между различными протоколами доставки.
Уровень 304 доставки определяет протокол уровня приложения и формат полезной нагрузки. Протокол уровня приложения предоставляет расширенные свойства, такие как мультиплексирование, для доставки кодированных медиаданных, по сравнению с традиционными протоколами уровня приложения для доставки медиаконтента (также называемого как "мультимедиа"). Формат полезной нагрузки определяется для передачи кодированных медиаданных независимо от конкретного типа медиаили способа кодирования.
Уровень 306 сигнализации определяет формат сообщений, чтобы управлять доставкой и потреблением MMT пакетов. Сообщения для управления потреблением используются, чтобы сигнализировать структуру MMT пакета. Сообщения для управления доставкой используются, чтобы сигнализировать структуру формата полезной нагрузки и конфигурацию протокола.
Уровень 302 инкапсуляции определяет логическую структуру и реализацию MMT пакета в пределах базового формата медиафайлов (ISOBMFF) Международной организации по стандартизации (ISO) для распределенного хранения и адаптивной доставки посредством сетевого объекта. Здесь, MMT-пакет определяет логический объект, агрегирующий кодированные медиаданные медиаконтента (а именно MMT-активов) и информацию для обработки уровня доставки. MMT-актив определяет логическую структуру, передающую кодированные медиаданные. MMT-активы могут коллективно ссылаться на несколько блоков медиаобработки (media processing units, MPU) с той же идентификацией (ID) MMT-актива.
Любой тип данных, которые могут индивидуально потребляться посредством объекта, непосредственно подключенного к MMT-клиенту, является MMT-активом. Это включает в себя не только кодированные медиаданные, декодируемые посредством отдельного медиакодека, но также другие типы данных, которые уже были мультиплексированы. Блоки MPU предоставляют информацию о медиаданных для адаптивного пакетирования в соответствии с ограничениями размера пакета, расположенного внизу уровня доставки, такими как границы и размеры небольших фрагментов данных, передаваемых в блоке MPU. Такие небольшие фрагменты известны как блоки медиафрагментов (MFU). Это позволяет объекту лежащего внизу уровня доставки динамически осуществлять пакетирование блоков MPU адаптивно на основе размера максимального блока передачи уровня 304 доставки. Блоки MFU передают небольшие фрагменты кодированных медиаданных, для которых такие фрагменты могут независимо декодироваться или отбрасываться, такие как блок сетевого абстрактного уровня (NAL) битового потока улучшенного кодирования видео (AVC).
Формат MMT-инкапсуляции, подвергаемый обработке с помощью ISOBMFF, включает в себя несколько свойств, чтобы правильно захватывать логическую структуру MMT-пакета и достигать MMT целей и преимуществ, которые включают в себя:
- обратная совместимость, при которой MMT-инкапсуляция повторно использует ISOBMFF насколько это возможно, и ISOBMFF разбирает и получает доступ/извлекает медиаданные из файла, хранящего MMT-пакет;
- устойчивость к ошибкам, чтобы правильно восстановить первоначальную структуру даже в случае пропуска блоков MFU;
- внешняя адресация, чтобы эффективно определять местонахождение и осуществлять адресацию блоков MPU независимо верхними уровнями и объектом доставки без конкретного размещения блоков MPU;
- поддержка единообразной структуры для доставки и хранения синхронизованных данных и не синхронизованных данных;
- облегчение доступа к блокам MPU и блокам MFU, чтобы легко извлекать MPU-метаданные и блоки MFU для адаптированной пакетированной доставки и, чтобы позволить легко осуществлять преобразование между форматами доставки и форматами хранения, в идеале с форматом хранения эквивалентным формату доставки;
- поддержка инкапсуляции унаследованных форматов данных, таких как транспортный поток (TS) MPEG-2; и
- низкая избыточность.
Предыдущие MMT разработки имеют несколько известных проблем, включающих в себя:
- присутствие MFU "поля" для каждого блока MFU в потоке, что приводит к большому количеству MFU полей и очень высоким накладным расходам (таким как размер MFU-поля составляет 100 байт и размер NAL составляет 1000 байт, что приводит к 10% накладным расходам);
- MFU-поле ссылается на медиаданные там, ограничивая гибкость того, как осуществлять пакетирование медиаконтента через уровень доставки;
- формат хранения отличается от формата доставки, и формат доставки не определен ясно; и
- не синхронизованные медиаданные хранятся таким способом, который не является обратно совместимым.
В дополнение, ISOBMFF не предоставляет различные свойства MMT, включающие в себя:
- независимая адресация или потребление фрагментов фильма;
- правильный разбор и потребление фрагмента фильма, если имеются пропущенные части или пакеты в течение пакетированной доставки; и
- общее использование дорожек подсказки для поддержки пакетирования, которое является адаптивным для размера максимального блока передачи (maximum transmission unit, MTU) расположенной внизу сети доставки.
Варианты осуществления этого раскрытия осуществляют инкапсуляцию MMT контента в ISOBMFF посредством определения дорожки подсказки для MFU-структуры. Каждый блок MFU описывается в выборке подсказки дорожки подсказки MMT. Выборка посказки MMT дорожки подсказки соответствует MFU-заголовку, который используется для доставки MFU. MMT выборка подсказки передает информацию о местоположении соответствующих медиаданных. MMT-устройство использует эту информацию, вместе с номером последовательности MFU, номером последовательности MPU и идентификатором актива, для восстановления первоначальной структуры MMT-актива, в то время как осуществялется правильное идентифицирование блоков MFU, пропущенных в доставке.
В некоторых вариантах осуществления, MMT выборки подсказки эквивалентны заколовкам блоков фрагментации MMT, как иллюстрировано и рассмотрено в связи с Фиг. 4. Некоторые варианты осуществления могут также иметь выборки дорожки подсказки MMT и выборки медиадорожки MMT, перемежающиеся на основе выборки, так как когда каждый блок MFU является одной выборкой и каждая часть данных включает в себя одну выборку в обеих дорожке подсказки и медиадорожке, как иллюстрировано и рассмотрено в связи с фигурами Фиг. 5 и Фиг. 6.
Фиг. 4 иллюстрирует примерную MMT-инкапсуляцию в соответствием с этим раскрытием. Вариант осуществления, изображенный на Фиг. 4, приводится только для иллюстрации. Другие варианты осуществления могут использоваться без отклонения от области действия этого раскрытия.
Как показано на Фиг. 4, MMT-актив (mast) 402 и MPU-поле (mmpu) 404 разделяются раздельными полями. Эти поля способствуют внешней адресуемости. Формат хранения показан здесь в другой форме по сравнению с форматом доставки, и MMT-сервер использует дорожки 406 подсказки MMT, чтобы конвертировать формат хранения в формат доставки в течение операции пакетирования. MMT-сервер хранит синхронизованное медиакак дорожку ISOBMFF, которая содержит отдельную медиадорожку 408. MMT-сервер хранит не синхронизованное медиакак часть метаданных в ISOBMFF.
Медиадорожка 408 ISOBMFF индексируются через "moov" поле 410 полностью обратно совместимым способом. MPU-поле 404 заканчивает завершение файла или перед началом следующего блока MPU, чтобы неявно указывать границы блока MPU и позволять больше гибкости в редактировании, записи и постепенно увеличивающейся генерации динамическрго контента. В некоторых вариантах осуществления, медиадорожка 408 ISOBMFF индексируются посредством "moof" поля (такого как moof поле 502 на Фиг. 5).
Дорожка 406 подсказки MMT направляет объект уровня доставки, такой как MMT-сервер 104 или MMT-клиенты 106-114, при конвертировании хранящегося MMT-актива 402 в пакетированный медиапоток. Пакетированный медиапоток доставляется посредством MMT-сервера к MMT-клиенту с использованием MMT-протокола (MMTP) кка протокола доставки.
Дорожка 408 подсказки MMT предоставляет объекту, генерирующему пакеты доставки, такому как MMT-сервер 104, информацию местоположения блоков MFU блока MPU для адаптивного пакетирования и решений доставки. Пакетирование и решения доставки включают в себя статистическое мультиплексирование и отбрасывание некоторых блоков MFU, чтобы справиться с мновенной перегрузкой сети. Медиаданные MMT-актива в MMT-контейнере извлекаются, вместе с выборками подсказки MMT, чтобы генерировать MMT-пакеты. Один или более блоков MFU могут затем использоваться для построения одного MMTP-пакета. В результате, форматы хранения являются не точно такими же, как формат доставки, что требует активный сетевой объект, который способен извлекать и осуществлять инкапсуляцию медиаданных на ходу, чтобы строить MMTP-пакеты. Медиаданные могут храниться таким способом, каким ISOBMFF-совместимый объект может разбирать медиаданные.
Дорожка 406 подсказки MMT предоставляет информацию о блоках MFU для сетевых объектов для генерации MMT-пакетов. Если дальнейшая фрагментация блока MPU для доставки не требуется, то дорожка 406 подсказки может быть полностью пропущена.
В некоторых вариантах осуществления, дорожки подсказки MMT (такие как дорожка 406 подсказки) являются дорожками подсказки с форматом ввода в описании выборки "mmth" и могут определяться, например, как:
aligned(8) class MMTHintSampleEntry() extends SampleEntry('mmtp' {
unsigned int(16) hinttrackversion=1;
unsigned int(16) highestcompatibleversion=1;
unsigned int(1) has_mfus_flag;
unsigned int(1) is_timed;
unsigned int(6) reserved;
MMTAsset asset;
}
Описание формата выборки, показанное выше, приводится только для иллюстрации. Другие варианты осуществления могут использоваться без отклонения от области действия этого раскрытия. Семантика приведенного выше описания формата выборки включает в себя:
- has_mfus_flag указывает то, предоставляют ли блоки MPU информацию о блоках MFU, предоставляет ли дорожка подсказки полные блоки MPU, так что каждый блок MFU, идентифицируемый посредством дорожки подсказки, может иметь отдельную выборку, когда блоки MPU не предоставляют информацию о блоках MFU, и относится ли каждая выборка подсказки к блоку MFU, когда блоки MPU предоставляют информацию о блоках MFU; и
- is_timed: указывает, синхронизировано или не синхронизировано медиа, подсказываемое посредством этой дорожки.
Каждая медиавыборка назначается одному или более блокам MFU. Каждая выборка дорожки подсказки MMT может генерировать один или более блоков MFU, которые могут использовать следующий синтаксис:
aligned(8) class MMTHSample {
unsigned int(32) sequence_number;
if (is_timed) {
signed int(8) trackrefindex;
unsigned int(32) samplenumber;
unsigned int(16) offset;
unsigned int(32) length;
} else {
unsigned int(16) item_ID;
}
unsigned int(1) mfu_lost_flag;
Unsigned int(7) reserved;
}
Формат выборки, показанный выше, приводится только для иллюстрации. Другие варианты осуществления могут использоваться без отклонения от области действия этого раскрытия. Синтаксис приведенного выше формата выборки включает в себя:
- sequence_number является номером последовательности, назначаемой этому блоку MFU;
- trackrefindex является идентификацией медиадорожки, из которой MFU-данные извлекаются;
- samplenumber является номером последовательности, назначаемой выборке, из которой этот блок MFU извлекается;
- item_ID ссылается на элемент, который строит этот блок MFU для не синхронизованных медиаданных;
- offset дает смещение медиаданных, и основа смещения является началом "mdat" поля, содержащего эту выборку;
- length дает длину блока MFU в байтах; и
- mfu_lost_flag указывает, был ли потерян блок MFU, как например, пропущены ли соответствующие медиаданные или нет.
Фиг. 5 иллюстрирует примерную MMT-инкапсуляцию с дорожкой подсказки уровня выборки и медиадорожкой уровня выборки синхронизованного медиав соответствием с этим раскрытием. Вариант осуществления, показанный на Фиг. 5, приводится только для иллюстрации. Другие варианты осуществления могут использоваться без отклонения от области действия этого раскрытия.
При перемежении на основе выборки для доставки выборки, формат доставки соответствует формату полезной нагрузки MMT и включает в себя MFU-заголовок и MFU медиаданные. MFU-заголовок является копией выборки посказки, которая способствует созданию MMTP полезной нагрузки и пакетов.
На Фиг. 5, дорожка 504 подсказки и медиадорожка 506 подвергаются перемежению на уровне выборки внутри "moof" поля 502 MMT-контейнера 508. Это приводит к одной выборке на часть данных и прямому процессу пакетирования. MMT-контейнер 508 также включает в себя "mast" поле 510, "moov" поле 512, "mmpu" поле 514, "moof" поля 502 и 518 и "mdat" поля 516 и 520. Поля moof 502 и 518 включают в себя дорожки 504 и 522 подсказки MMT и медиадорожки 506 и 524. Поля mdat 516 и 520 включают в себя один или более блоков MFU 522. Блоки MFU 522 включают в себя MFU-заголовки 524 и полезную нагрузку 526. Каждый MFU-заголовок 524 включает в себя номер последовательности MFU и опционально включает в себя mfu_lost_flag.
Фиг. 6 иллюстрирует примерную MMT-инкапсуляцию медиа, которое не включает в себя синхронизованное медиав соответствием с этим раскрытием. Вариант осуществления, показанный на Фиг. 6, приводится только для иллюстрации. Другие варианты осуществления могут использоваться без отклонения от области действия этого раскрытия.
На Фиг. 6, дорожка 602 подсказки находится внутри "moov" поля 604 MMT-контейнера 606. MMT-контейнер 606 включает в себя "mast" поле 610, "moov" поле 604, "mmpu" поле 614, "meta" поле 632 и "mdat" поле 620. Поле moov 604 включает в себя дорожку 602 подсказки MMT. Поле meta 632 включает в себя "hdlr" поле 602, "iloc" поле 630 и "iinf" поле 628. Поле mdat 620 включает в себя один или более MFU 622, каждый из которых включает в себя MFU-заголовок 624 и полезную нагрузку 626.
Фиг. 7 иллюстрирует примерный способ для приема блоков MFU в соответствием с этим раскрытием. Процесс, изображенный на Фиг. 7, может осуществляться любым подходящим способом, таким как посредством схемы обработки в MMT-сервере 104, MMT-клиенте 106-114 или другом устройстве.
В блоке 702, MMT-устройство, такое как MMT-сервер 104 или клиент 106-114, принимает блок MFU контейнера MMT. MFU является одним или более блоками MFU, используемыми для передачи медиаконтента, содержащегося в MMT-контейнере. В блоке 704, MMT-устройство разбивает блок MFU на MFU-заголовок и MFU медиаданные. В блоке 706, MMT-устройство использует MPU-метаданные и номер последовательности MFU из MFU-заголовка, чтобы определить местонахождение выборки подсказки MFU в MMT-контейнере. В некоторых вариантах осуществления, MMT-устройство разбирает MFU-заголовок, который соответствует выборке подсказки MFU.
В блоке 708, MMT-устройство определяет, включает ли в себя медиаконтент MMT-контейнера синхронизованное медиа. Если медиаконтент включает в себя синхронизованное медиа, то процесс продолжается к блоку 710. Если медиаконтент не включает в себя синхронизованное медиа, то процесс продолжается к блоку 712. В блоке 710, MMT-устройство использует MPU-метаданные и информацию выборки MFU, чтобы определить местонахождение MFU медиаданных из принятого блока MFU в MMT-контейнере. Процесс затем продолжается к блоку 714. В блоке 712, MMT-устройство использует MPU-метаданные и идентификатор элемента, чтобы определить местонахождение медиаданных в MMT-контейнере. Процесс затем продолжается к блоку 714.
В блоке 714, MMT-устройство отмечает пропущенные блоки MFU в MPU метаданных в MMT-контейнере. В некоторых вариантах осуществления, пропущенные блоки MFU отмечаются через использование значения mfu_lost_flag для каждого блока MFU в "mdat" поле MMT-контейнера.
Если MMT-актив включает в себя синхронизованное медиа, то MMT-устройство размещает выборку подсказки MMT в правильной позиции в MMT-контейнере в течение обработки. Размещение основывается на номере последовательности MFU, который транслируется в номер выборки в выборке подсказки. MMT-устройство также использует информацию выборки и информацию смещения в MFU-заголовке, вместе с таблицами выборок медиадорожки (такими как "stco" "stsz" и "stsc" таблицами или "trun" таблицей), чтобы определить местонахождение позиции медиаданных в MMT-контейнере. Если имеются какие-либо пропущенные блоки MFU в течение доставки, то соответствующая область в MMT-контейнере остается пустой. Делая так, MMT-устройство может безопасно определять местонахождение данных для блоков MFU, которые правильно приняты, и пропускать блоки MFU, которые пропущены в доставке.
Хотя различные свойства были показаны на фигурах и описаны выше, различные изменения могут быть сделаны для упомянутых фигур. Например, размер, форма, размещение и планировка компонентов, показанных на фигурах, приведены только для иллюстрации. Каждый компонент может иметь любую подходящую величину, форму и размеры, и несколько компонентов могут иметь любое подходящее размещение и планировку. Также, различные компоненты на фигурах могут объединяться, далее подразделяться или пропускаться, и дополнительные компоненты могут добавляться в соответствии с конкретными требованиями. Далее, каждый компонент в устройстве или системе может осуществляться с использованием любой подходящей структуры (структур) для выполнения описанной функции (функций). В дополнение, пока Фиг. 7 иллюстрирует различные последовательности этапов, различные этапы на Фиг. 7 могут перекрываться, осуществляться параллельно, осуществляться несколько раз или осуществляться в различном порядке.
Пока в этом раскрытии описаны конкретные варианты осуществления и в целом связанные способы, изменения и перестановки этих вариантов осуществления и способы будут очевидны для специалистов в данной области техники. Соответственно, приведенное выше описание примерных вариантов осуществления не определяет или ограничивает это раскрытие. Другие изменения, замещения и изменения являются также возможными без отклонения от идеи и области действия этого раскрытия, как определено посредством следующих пунктов формулы изобретения.