СПОСОБ И УСТРОЙСТВО ДЛЯ УПРАВЛЕНИЯ ДОСТАВКОЙ МЕДИАДАННЫХ
METHOD AND DEVICE FOR MEDIADATA DELIVERY MANAGEMENT

Область техники, к которой относится изобретение
Настоящая заявка относится в общем случае к доставке видеоданных в системе передачи и, в частности, касается управления доставкой и представлением медиаданных.
Уровень техники
Транспортировка медиаданных (MMT) Экспертной группы по кинематографии (MPEG) является цифровым контейнерным стандартом или контейнерным форматом, который задает технологии доставки кодированных медиаданных для мультимедийных услуг через гетерогенные сетевые среды протокола IP. Доставляемые кодированные медиаданные включают в себя как аудиовизуальные медиаданные, требующие синхронизированного декодирования и представления конкретного блока данных в назначенное время, а именно, таймированные данные, так и данные других типов, которые декодируют и представляют в произвольный момент времени в зависимости от контекста сервиса или действий со стороны пользователя, а именно, не таймированные данные.
Сущность изобретения
Техническая проблема
Стандарт MMT разработан в предположении, что кодированные медиаданные будут доставляться через пакетную сеть доставки с использованием протоколов (IP) сети Интернет, таких как Протокол транспортировки в режиме реального времени (RTP), Протокол управления передачей (TCP), Протокол пользовательских дейтаграмм (UDP)и т.д. Протокол MMT разработан также с учетом характеристик различных сред доставки. Например, сквозная транзитная задержка доставки каждого пакета от отправляющего объекта к приемному объекту не всегда может быть постоянной, и тогда базовые сетевые провайдеры должны обеспечить способ, позволяющий различать сигнальные сообщения и медиаданные. Соответственно, имеется потребность в усовершенствованных стандартах, используемых при доставке медиаданных стандарта MMT (MMT данных).
Решение проблемы
Варианты осуществления настоящего изобретения обеспечивают способ и устройство для управления доставкой медиаданных в системе передачи.
В одном примерном варианте осуществления обеспечен способ функционирования отправляющего объекта в системе передачи. Способ включает в себя идентификацию фиксированной задержки, связанной с передачей медиаданных в упомянутой системе передачи. Способ также включает в себя отправку информации о фиксированной задержке в виде требования к длине временного интервала после передачи, по истечении которого медиаданные передают на компоненту прикладного уровня или представляют пользователю принимающего объекта.
В другом примерном варианте осуществления обеспечен способ функционирования принимающего объекта в системе передачи. Способ включает в себя прием медиаданных и информации о фиксированной задержке, связанной с указанными медиаданными. Способ также включает в себя идентификацию требования к длине временного интервала после передачи, по истечении которого медиаданные передают на компоненту прикладного уровня или представляют пользователю из информации о фиксированной задержке.
Еще в одном примерном варианте осуществления обеспечено устройство в отправляющем объекте в системе передачи. Устройство включает в себя контроллер, выполненный с возможностью идентификации фиксированной задержки, связанной с передачей медиаданных в упомянутой системе передачи. Устройство также включает в себя передатчик, выполненный с возможностью отправки информации об указанной фиксированной задержке в виде требования к длине временного интервала после передачи, по истечении которого медиаданные передают на компоненту прикладного уровня или представляют пользователю принимающего объекта.
В следующем примерном варианте осуществления обеспечено устройство в принимающем объекте в системе передачи. Устройство включает в себя приемник, выполненный с возможностью приема медиаданных и информации о фиксированной задержке, связанной с указанными медиаданными. Устройство также включает в себя контроллер, выполненный с возможностью идентификации требования к длине временного интервала после передачи, по истечении которого медиаданные передают на компоненту прикладного уровня или представляют пользователю из информации о фиксированной задержке.
Прежде чем перейти к подробному описанию изобретения, следует ознакомиться с определениями некоторых слов и словосочетаний, использованных во всем этом патентном документе: термины «включает в себя» и «содержит», а также их производные означают включение без ограничения; термин «или» является инклюзивным, то есть, означающим и/или; словосочетания «связанный с» и «связанный с вышеупомянутым», а также их производные могут означать, «включать», «быть включенным в», «связь между», «содержать в себе», «содержаться в», «подсоединен к» или «соединен с», «подсоединен к» или «связан с», «имеет возможность связи с», «действует вместе с», «чередуется с», «сочленен с», «находиться рядом с», «быть привязанным к», «быть связанным с», «иметь», «иметь свойство…» или т. п.; а термин «контроллер» означает любое устройство, систему или ее часть, которая управляет по меньшей мере одной операцией, так что устройство можно реализовать аппаратными средствами, программно-аппаратными средствами или программными средствами, либо некоторой комбинацией по меньшей мере из двух вышеупомянутых средств. Следует заметить, что функциональные возможности, связанные с любым конкретным контроллером, могут быть централизованными или распределенными, будь то локально или дистанционно. Определения для некоторых слов и словосочетаний распространяются на весь патентный документ, так что специалистам в данной области техники следует понимать, что во многих, если не в большинстве случаев указанные определения применимы как к предшествующему, так и к последующему использованию упомянутых определенных слов и словосочетаний.
Краткое описание чертежей
Для более полного понимания настоящего изобретения и его преимуществ обратимся к нижеследующему описанию вместе с сопроводительными чертежами, на которых подобные ссылочные позиции представляют подобные детали:
фиг. 1 - пример системы передачи, в которой можно реализовать различные варианты осуществления настоящего изобретения;
фиг. 2 - блок-схема ввода/вывода по Протоколу MMT в среде передачи MMT медиаданных согласно различным вариантам осуществления настоящего изобретения;
фиг. 3 - блок-схема модели буфера приемника для моделирования поведения приемника на стороне отправителя и оценки требования к задержке и размеру буфера согласно различным вариантам осуществления настоящего изобретения;
фиг. 4 - временная диаграмма обработки MMTP пакета в буфере MMTP декапсуляции по фиг. 3 согласно различным вариантам осуществления настоящего изобретения;
фиг. 5 - процесс функционирования отправляющего объекта в системе передачи согласно иллюстративному варианту осуществления настоящего изобретения;
фиг. 6 - процесс функционирования принимающего объекта в системе передачи согласно иллюстративному варианту осуществления настоящего изобретения;
фиг. 7 - примерное электронное устройство, в котором можно реализовать различные варианты осуществления настоящего изобретения.
Осуществление изобретения
Фигуры 1-7, обсуждаемые ниже, а также различные варианты осуществления изобретения, использованные для описания основных принципов настоящего изобретения в этом патентном документе носят исключительно иллюстративный характер, и их не следует трактовать как какое-либо ограничение объема изобретения. Специалистам в данной области техники очевидно, что основные принципы настоящего изобретения можно реализовать в любой системе или устройстве, скомпонованном соответствующим образом. MMT кодирование и доставка медиаданных обсуждаются в следующем документе и описании стандартов: ISO/IEC JTC 1/SC29/WG11, High efficiency coding and media delivery in heterogeneous environments Part 1: MPEG Media Transport (MMT), July 2012, которые целиком включены в настоящее изобретение по ссылке. Для оперативной и успешной доставки кодированных медиаданных через гетерогенные IP сетевые среды стандарт MMT обеспечивает: логическую модель для построения контента, состоящего из различных компонент для мэшап-приложений; структуру данных, переносящих информацию о кодированных медиаданных, для обработки на уровне доставки, такой как пакетирование и адаптация; способ пакетирования и структуру пакета для доставки медиаконтента, независимо от конкретного типа медиаданных или способа кодирования, используемого через Протокол NCP или UDP, включая гибридную доставку; формат сигнальных сообщений для управления представлением и доставкой медиаконтента; формат сигнальных сообщений для управления представлением и доставкой медиаконтента; формат информации, которой обмениваются упомянутые уровни для обеспечения связи между уровнями.
Стандарт МMT определяет три функциональные области, в том числе инкапсуляцию, доставку и сигнализацию. Функциональная область инкапсуляции определяет логическую структуру медиаконтента, MMT пакет и формат блоков данных, обрабатываемый объектом, совместимым с MMT. MMT пакет задает компоненты, в том числе медиаконтент и взаимосвязи в медиаконтенте, для обеспечения информации, необходимой для адаптивной доставки. Формат блоков данных определяется для инкапсуляции кодированных медиаданных, которые подлежат либо запоминанию, либо переносу в виде полезной нагрузки протокола доставки и которые можно без труда преобразовать из варианта для хранения в вариант для переноса и обратно. Функциональная область доставки определяет протокол прикладного уровня и формат полезной нагрузки. Протокол прикладного уровня обеспечивает усовершенствованные функциональные возможности, в том числе мультиплексирование, для доставки MMT пакета по сравнению с известными протоколами прикладного уровня для доставки мультимедиа. Формат полезной нагрузки определяется для переноса кодированных медиаданных независимо от конкретного типа медиаданных или способа кодирования. Функциональная область сигнализации определяет формат сообщений для управления доставкой и расходом MMT пакетов. Сообщения для управления расходом используют для сигнализации о структуре MMT пакета, а сообщения для управления доставкой используют для сигнализации о структуре формата полезной нагрузки и конфигурации протокола.
Стандарт MMT определяет новую среду для непрерывных мультимедийных данных, таких как аудио, видео, а также другой статический контент, например, виджеты, файлы и т.д. Стандарт MMT задает протокол (то есть MMTP) для доставки MMT пакета принимающему объекту. Сигналы протокола MMTP сообщают время передачи MMTP пакета в виде заголовка протокола. Это время позволяет принимающему объекту устранить флуктуации посредством проверки времени передачи и времени приема каждого входящего MMT пакета.
Варианты осуществления настоящего изобретения показывают, что внешние условия приема медиаданных могут отличаться в зависимости от тракта передачи, форматов передачи и типов приемных устройств, что сказывается на задержке между передачей и приемом (например, сквозная транзитная задержка). Например, разные среды передачи (например, беспроводная передача данных (LTE, HSPA, 3G, Wi-Fi и т.д.), физическая среда (например, проводная, кабельная, Ethernet, оптоволоконная и т.д.), спутниковое широковещание и т.д.) имеют разные соответствующие задержки передачи. В вариантах осуществления настоящего изобретения установлено, что вдобавок к задержке передачи флуктуация может быть вызвана другими источниками. Например, декодирование с прямой коррекцией ошибок (FEC) может внести дополнительную задержку, необходимую для восстановления потерянных пакетов, что потребует приема достаточного количества исходных пакетов и пакетов для контроля четности. Другие источники задержки могут появиться из-за перемежения данных, которое может выполняться в процессе передачи. Из вариантов осуществления настоящего изобретения также следует, что на задержку также могут влиять компоненты приемного устройства. Устройства, такие как компьютеры, отличающиеся большим объемом памяти и более высокой скоростью обработки, могут иметь меньшую задержку, чем другие устройства, такие как телевизионные приставки, имеющие меньший объем памяти и более низкую скорость обработки.
В вариантах осуществления настоящего изобретения установлено, что в некоторых средах, таких как широковещание, важно иметь фиксированную сквозную задержку, то есть, каждый переданный пакет должен иметь одинаковую задержку в системе передачи «точка-множество точек», пока в принимающем объекте остается стек MMT обработки. Например, варианты осуществления настоящего изобретения показывают, что важно обеспечить или гарантировать одновременный прием одной и той же программы для всех клиентов независимо от реализации устройства, протокола или передаваемых медиаданных. Вдобавок, что касается возможности аппаратной реализации приемников, то в вариантах осуществления настоящего изобретения показано, что возможно понадобится обеспечить верхнюю границу для требуемого объема памяти, чтобы гарантировать фиксированную задержку доставки пакетов. В зависимости от особенностей сети и настройки сервиса MMT пакеты могут испытывать флуктуации в широком диапазоне, что приводит к разным требованиям к буферу. Например, для сервиса, который предлагает FEC защиту на больших исходных блоках и который выполняется через Интернет, может потребоваться больший объем буферизации, чем для сервиса, который переносится на управляемое широковещание, причем без FEC защиты.
Соответственно, варианты осуществления настоящего изобретения обеспечивают способ и устройство, обеспечивающие, исполняющие и/или гарантирующие фиксированную сквозную задержку и ограниченное требование к памяти для буферизации входящих MMT пакетов. Вариант осуществления настоящего изобретения также обеспечивают инструменты для передачи сигналов о требовании к буферу и о фиксированной задержке на принимающие объекты.
На фиг. 1 показан пример системы 100 передачи, в которой можно реализовать различные варианты осуществления настоящего изобретения. В показанном здесь варианте осуществления система 100 включает в себя отправляющий объект 101, сеть 105, принимающие объекты 110-116, точки беспроводной передачи (например, усовершенствованный узел B (eNB), узел B) такой, как базовая станция (BS) 102, базовая станция (BS) 103, а также другие аналогичные базовые станции или ретрансляционные станции (не показаны). Отправляющий объект 101 находится на связи с базовой станцией и базовой станцией 103 через сеть 105, которой может быть, например, Интернет, медийная широковещательная сеть или система связи на основе протоколов IP. Принимающие объекты 110-116 находятся на связи с отправляющим объектом 101 через сеть 105 и/или базовые станции 102 и 103.
Базовая станция 102 обеспечивает беспроводной доступ к сети 105 для первого множества принимающих объектов (например, пользовательское оборудование, мобильный телефон, мобильная станция, абонентская станция) в зоне 120 покрытия базовой станции 102. Первое множество принимающих объектов включает в себя: пользовательское оборудование 111, которое может находиться в малом предприятии (SB); пользовательское оборудование 112, которое может находиться в крупном предприятии (Е); пользовательское оборудование 113, которое может находиться в точке доступа (HS) Wi-Fi; пользовательское оборудование 114, которое может находиться в первом жилом здании (R); пользовательское оборудование 115, которое может находиться во втором жилом здании (R); и пользовательское оборудование 116, которое может представлять собой мобильное устройство (M), такое как сотовый телефон, компьютер типа лэптоп с функцией беспроводной связи, PDA с функцией беспроводной связи, планшетный компьютер или т.п.
Базовая станция 103 обеспечивает беспроводной доступ к сети 105 для второго множества пользовательского оборудования в зоне 125 покрытия базовой станции 103. Второе множество пользовательского оборудования включает в себя пользовательское оборудование 115 и пользовательское оборудование 116. В примерном варианте осуществления базовые станции 101-103 могут осуществлять связь друг с другом и с пользовательским оборудованием 111-116, используя технологии OFDM или OFDMA.
Хотя на фиг. 1 показано только шесть комплектов пользовательского оборудования, очевидно, что система 100 может обеспечить беспроводной широкополосный сетевой доступ к дополнительному пользовательскому оборудованию. Заметим, что пользовательское оборудование 115 и пользовательское оборудование 116 находятся по краям зоны 120 покрытия и зоны 125 покрытия. Пользовательское оборудование 115 и пользовательское оборудование 116 осуществляют связь каждое с обеими базовыми станциями 102 и 103, и могут работать, можно сказать, в режиме передачи управления, известном специалистам в данной области техники.
Пользовательское оборудование 111-116 может иметь доступ к сервисам передачи речи, данных, видео, видеоконференции и/или другим широкополосным сервисам. В примерном варианте осуществления с точкой (AP) доступа Wi-Fi сети WLAN может быть связан один или несколько комплектов пользовательского оборудования 111-116. Пользовательское оборудование 116 может содержать любое количество мобильных устройств, в том числе компьютер типа лэптоп, персональный цифровой помощник, ноутбук, карманное устройство или иное устройство с функцией беспроводной связи. Пользовательское оборудование 114 и 115 может представлять собой, например, персональный компьютер (PC), компьютер типа лэптоп, шлюз или другое устройство с функцией беспроводной связи.
На фиг. 2 показана блок-схема ввода/вывода по протоколу MMT в среде 200 передачи MMT медиаданных. В показанном примере отправляющий объект 205 отправляет медиаданные через среду передачи на принимающий объект 210 согласно протоколу MMTP. В отправляющем объекте 205 медиаданные 215 обрабатываются согласно протоколу MMTP. Например, отправляющий объект 205 может выполнить инкапсуляцию MMT пакета, кодирование, доставку и сигнализацию для медиаданных в виде блоков MMT обработки (MPU) и блоков MMT фрагментации (MFU) 215 (например, фрагменты MPU). Затем обработанные медиаданные отправляются (например, в виде пакетов) на принимающий объект 210 для обработки (например, декапсуляция, декодирование и т.д.) согласно протоколу MMTP. Затем медиаданные, обработанные в принимающем объекте 210, направляются для программирования на верхнем уровне (например, программа прикладного уровня, такая как медиаплеер) в виде блоков MPU и/или MFU для представления пользователю, завершающему доставку медиаданных.
На фиг. 3 представлена блок-схема модели 300 буфера приемника для имитации поведения приемника на стороне отправителя и для оценки требований к буферной задержке и размеру буфера согласно различным вариантам осуществления настоящего изобретения. В различных вариантах осуществления настоящего изобретения отправляющий объект 205, такой как сервер доставки медиаданных (или другой узел, поддерживающий MMT) вычисляет, определяет и/или идентифицирует фиксированную сквозную задержку доставки медиаданных в системе передачи «точка-множество точек». Например, отправляющий объект 205 может использовать модель 300 для определения результатов обработки медиаданных, выполняемой на пакетном потоке при ограничениях на прием в приемнике принимающего объекта 210. Например, отправляющий объект 205 может использовать эту модель для определения необходимой задержки буферизации и необходимого размера буфера и передать эту информацию на объекты, принимающие упомянутые медиаданные.
В этом иллюстративном примере буфер 305 FEC декодирования представляет собой модель для оценки требований к задержке и/или размеру буфера, связанных с FEC декодированием. FEC декодирование является типовым способом декодирования для многих приложений, где передача на более низком уровне может оказаться недостаточной для восстановления с учетом канальных ошибок, или когда перегрузка в сети может привести к пропаданию пакетов или недопустимо большим задержкам. Для выполнения FEC декодирования принимающий объект 210 использует буфер, где хранятся входящие пакеты, пока имеются в наличии достаточно исходных («S») данных и данных для восстановления («P» данные для контроля четности) для выполнения FEC декодирования.
s
В этом иллюстративном примере отправляющий объект 205 использует модель буфера 305 FEC декодирования для определения действий, которые принимающий объект 210 предпримет в отношении FEC декодирования для оценки задержки, связанной с FEC декодированием. Другими словами, отправляющий объект 205 использует модель буфера 305 EC декодирования для предсказания действий, предпринимаемых принимающим объектом 210 для оценки задержки FEC декодирования. Указанное моделирование буфера 305 FEC декодирования отправляющим объектом 205 начинается в предположении, что буфер 305 FEC декодирования изначально пуст. Затем, с каждым входящим пакетом i с временной меткой t передачи принимающий объект 210 сохраняет пакет i, используя буфер 305 FEC декодирования, если выполняется неравенство buffer_occupancy+packet_size<max_buffer_size. В противном случае, принимающий объект 210 отбрасывает пакет i как не несовместимый с моделью буфера. Затем принимающий объект 210 определяет, применяется ли FEC коррекция к пакету i. Если применяется, то принимающий объект 210 определяет исходный блок j, которому принадлежит пакет i, определяет время t вставки первого пакета исходного блока j, в момент времени t+FEC_buffer_time перемещает все пакеты (после FEC коррекции, если это необходимо) исходного блока j в буфер устранения флуктуаций и сбрасывает пакеты восстановления. Отправляющий объект 205 использует FEC_buffer_time в качестве требуемого буферного времени для FEC декодирования с момента приема первого пакета исходного блока и до тех пор, пока продолжается выполнение FEC декодирования. Это время, как правило, вычисляют на основе размера FEC блока.
Буфер 310 устранения флуктуаций представляет собой модель, используемую отправляющим объектом для оценки требований к задержке и/или размеру буфера, связанных с устранением флуктуаций пакетов, то есть, устранения флуктуаций задержки пакетов. В конце концов, буфер устранения флуктуаций гарантирует фиксированную задержку передачи MMTP пакетов от источника до вывода стека протокола MMTP, в предположении, что имеет место максимальная задержка передачи. Принимающий объект 210 может отбросить те блоки данных, которые испытывают задержку передачи, превышающую указанную максимальную задержку передачи, как сильно запоздавшие.
s
s
Указанное моделирование буфера 310 устранения флуктуаций отправляющим объектом 205 начинается с предположения о том, что буфер устранения флуктуаций изначально пуст. Затем принимающий объект 210 вводит MMTP пакет в буфер 310 устранения флуктуаций по его прибытии. Далее принимающий объект 210 удаляет этот MMTP пакет в момент t+Δ, где t - временная метка передачи MMTP пакета, а Δ - фиксированная сквозная задержка для медиаданных, о которой уведомляется принимающий объект. После устранения флуктуаций все правильно поступившие MMTP пакеты (или которые были восстановлены посредством FEC коррекции/повторной передачи) будут иметь одинаковую сквозную задержку.
Буфер 315 MMTP декапсуляции представляет собой модель, используемую отправляющим объектом для оценки требований к задержке и/или размеру буфера, связанных с MMTP обработкой, перед прохождением выходных данных на более высокий уровень. Выходные данные MMTP обработки могут представлять собой полезную нагрузку в виде блоков MFU (в операциях с низкой задержкой), законченный фрагмент кинофильма или законченный блок MPU. Блоки MPU могут быть разбиты на более мелкие пакеты или скомпонованы в более крупные пакеты в зависимости от их размера. Затем в качестве части MMTP обработки выполняется декапсуляция (устранение заголовков MMTP пакетов и полезной нагрузки) и необходимая дефрагментация/деагрегация указанных пакетов. Эта процедура может привести к некоторой задержке буферизации, называемой задержкой декапсуляции, для выполнения сборки, когда MPU разбит на множество MMTP пакетов. Однако в этом приведенном в качестве примера варианте осуществления задержку декапсуляции можно не рассматривать как часть фиксированной сквозной задержки, а наличие MPU для использования уровнем кодированных медиаданных может быть гарантировано объектом, разбивающим MPU на множество MMTP пакетов, независимо от задержки декапсуляции.
На фиг. 4 представлена временная диаграмма 400 обработки MMTP пакетов в буфере 315 MMTP декапсуляции согласно различным вариантам осуществления настоящего изобретения. Временная диаграмма 400 является примером функционирования во времени уровня буфера в буфере 15 декапсуляции MMTP, когда MMTP пакеты обрабатываются и выводятся на более высокие уровни. Например, временная диаграмма 400 иллюстрирует оценку требования к буферу, связанного с обработкой MMTP пакетов.
Моделирование буфера 315 MMTP декапсуляции отправляющим объектом 205 начинается с предположения о том, что буфер MMTP декапсуляции изначально пуст. Принимающий объект 210 вводит MMTP пакет в буфер 315 MMTP декапсуляции после устранения флуктуаций. Для MMTP пакетов, несущих агрегированную полезную нагрузку, принимающий объект 210 удаляет заголовок пакета и полезной нагрузки и расщепляет агрегат на отдельные блоки MPU. Для MMTP пакетов, несущих фрагментированную полезную нагрузку, принимающий объект 210 удерживает пакет в буфере 315 MMTP декапсуляции, пока не будут правильно приняты соответствующие фрагменты, или пока не будет принят пакет, не принадлежащий тому же самому фрагментированному MPU. Если все фрагменты MPU приняты (например, в момент времени 405 или 410) принимающий объект 210 удаляет заголовок MMTP пакета и полезной нагрузки, вновь собирает MPU и направляет восстановленный MPU на более высокий уровень. В противном случае, если некоторые фрагменты MPU не приняты, то принимающий объект 210 может отбросить фрагменты некомплектного MPU.
На основе этой модели 300 буфера приемника отправляющий объект 205 способен определить график передачи, размер буфера и задержку буферизации, сократить и/или исключить потери пакетов в предположении, что в целевом тракте имеет место максимальная задержка доставки. Отправляющий объект 205 обеспечивает и/или гарантирует, что пакеты, испытывающие задержку передачи ниже установленного порога, будут выведены на более высокий уровень по истечении постоянной задержки через систему передачи «точка-множество точек», причем без переполнения или исчезновения значащих разрядов клиентского буфера.
После определения необходимого размера буфера и фиксированной сквозной задержки для текущих медиаданных отправляющий объект 205 передает эту информацию на принимающий объект 210. Например, отправляющий объект 205 может передать эту информацию на принимающий объект 210, используя протокол сигнализации между отправляющим и принимающим объектами. В различных вариантах осуществления отправляющий объект 205 может непрерывно поддерживать модель 300 буфера приемника, проверяя согласованность выбранной сквозной задержки и выбранного размера буфера, и не допуская неполного завершения обработки или переполнения буфера. На стороне приемника сигнализация о фиксированной задержке дает указание принимающему объекту 210 выполнить буферизацию, так чтобы каждый блок данных испытывал указанную фиксированную сквозную задержку, до направления этого блока данных на более высокие уровни. Если предположить, что тактовые импульсы между отправляющим объектом и принимающим объектом синхронизированы, то принимающий объект 210 может вычислить время вывода данных на основе временной метки передачи и фиксированной сквозной задержки, указанной в сигнализации.
В некоторых вариантах осуществления отправляющий объект 205 выполняет упомянутую сигнализацию, используя файл описания сеансов, такой как файл протокола описания сеансов (SDP). В протоколе SDP описан сеанс для медиаданных, которые доставляются с использованием протокола MMTP. Сеанс медиаданных включает в себя фиксированную сквозную задержку и/или требуемый размер буфера. В Таблице 1, приведенной ниже, показан один пример описания сеанса медиаданных SDP файла, который указывает фиксированную сквозную задержку и требование к размеру буфера.
Таблица 1:
m=asset 23442 UDP/MMTP 1
a=assetid: 1 MP4
a=min-buffer-size: 1000000
a=end-to-end-delay: 2500
В другом варианте осуществления сигнализация о фиксированной сквозной задержке и требовании к размеру буфера выполняется с использованием функции сигнализации протокола MMTP. В указанном варианте осуществления изобретения предложено новое сигнальное сообщение для переноса вышеуказанной информации.
В этом примере размер буфера задается в байтах, а фиксированная сквозная задержка задается в миллисекундах. В других вариантах осуществления отправляющий объект 205 может выполнять сигнализацию, используя сигнальные сообщения протокола MMTP, где, либо определен специальный тип сигнального сообщения, либо указанная информация включена в существующее сигнальное сообщение.
При определении фиксированной задержки отправляющий объект 205 оценивает предполагаемую максимальную и допустимую задержку передачи в тракте передачи к приемникам. Если используется FEC коррекция, то отправляющий объект 205 добавляет задержку EC буферизации, которая покрывает временной период, необходимый для сборки исходного блока (например, раскрытый выше FEC_buffer_time), в ситуации, когда для восстановления потерянных MMTP пакетов требуется FEC декодирование. Вдобавок, отправляющий объект 205 добавляет задержки, которые могли быть обусловлены фрагментацией пакетов. Отправляющий объект 205 передает результирующую оценку задержки MMTP доставки в качестве фиксированной сквозной задержки. Один пример оценки фиксированной сквозной задержки представлен уравнением 1, приведенным ниже:
фиксированная сквозная задержка = максимальная задержка передачи + FEC_buffer_time (Уравнение 1)
В различных вариантах осуществления для оценки результирующего требования к буферу отправляющий объект может использовать фиксированную сквозную задержку за вычетом минимальной задержки передачи для тракта передачи к приемнику в качестве оценки максимального интервала времени, необходимого для буферизации данных отправляющим объектом 205. Затем отправляющий объект 205 может оценить требование к размеру буфера в виде максимальной скорости передачи в битах MMTP потока, умноженной на вычисленный интервал буферизированных данных. Один пример оценки фиксированной сквозной задержки представлен уравнением 2, приведенным ниже:
размер буфера = (максимальная задержка - минимальная задержка)*максимальная скорость передачи в битах (Уравнение 2)
Хотя в описанных здесь вариантах осуществления обсуждается передача MMT данных, следует заметить, что различные варианты осуществления настоящего изобретения не ограничены MMT передачей. Например, определение фиксированной задержки и размера буфера может применяться к любому подходящему типу доставки данных или медиаконтента и/или любому подходящему типу системы передачи в соответствии с указанными принципами настоящего изобретения.
На фиг. 5 показан процесс функционирования отправляющего объекта в системе передачи согласно иллюстративному варианту осуществления настоящего изобретения. Например, процесс, показанный на фиг. 5, может выполняться отправляющим объектом 205 по фиг. 2. Этот процесс также может быть реализован отправляющим объектом 101, показанным на фиг. 1.
Процесс начинается с идентификации отправляющим объектом фиксированной задержки, связанной с передачей медиаданных (шаг 505). Например, на шаге 505 отправляющим объектом может быть медиасервер в системе передачи «точка-множество точек», который доставляет зависимый от времени контент на множество различных устройств посредством использования множества различных сред связи. Для идентификации указанной задержки отправляющий объект может оценить задержку или идентифицировать предварительно вычисленную или стандартизированную задержку из другого источника. В одном примере отправляющий объект может оценить задержку передачи, связанную с трактом передачи (например, беспроводная связь, Ethernet, спутниковое широковещание и т.д.), от отправляющего объекта к одному или нескольким принимающим объектам в системе связи «точка-множество точек». Например, задержка передачи может представлять собой оценку максимальной задержки передачи на основе передаваемых медиаданных и типов устройств, связанных с каждым из принимающих объектов в системе многоточечной передачи. Отправляющий объект может также оценить задержку буферизации, связанную с обработкой принятых пакетов для медиаданных в принимающем объекте. Затем принимающий объект может вычислить фиксированную задержку на основе задержки передачи и задержки буферизации.
Далее отправляющий объект определяет требование к размеру буфера для принимающего объекта (шаг 510). Например, на шаге 510 отправляющий объект может определить ожидаемый интервал времени, необходимый принимающему объекту для буферизации данных, в виде фиксированной задержки за вычетом минимальной задержи передачи. Затем отправляющий объект может вычислить требуемый размер буфера на основе указанного интервала буферизации и скорости передачи в битах, связанной с указанными медиаданными.
После этого отправляющий объект отправляет информацию об указанной фиксированной задержке и требовании к размеру буфера (шаг 515). Например, на шаге 515 отправляющий объект может передать требование к размеру буфера в сообщении отдельно от отправки медиаданных, в предшествующих метаданных или одновременно с передачей текущих медиаданных. В этих примерах фиксированная задержка представляет собой требуемый интервал времени после передачи, по истечении которого упомянутые медиаданные представляют пользователю принимающего объекта. Другими словами, фиксированная задержка - это временной интервал, после которого отправляющему объекту разрешено передавать медиаданные программе более высокого уровня для окончательного представления указанных медиаданных пользователю. В этих примерах отправляющий объект обеспечивает и/или гарантирует отображение медиаданных примерно в одно и тоже время независимо от среды передачи или типа приемного устройства в множестве приемных устройств, которые могут находиться в среде передачи «точка-множество точек».
На фиг. 6 показан процесс функционирования принимающего объекта в системе передачи согласно иллюстративному варианту осуществления настоящего изобретения. Например, процесс, показанный на фиг. 6, может выполняться принимающим объектом 210 по фиг. 2. Этот процесс также может быть реализован принимающим объектом 110 по фиг. 1.
Процесс начинается с приема принимающим объектом медиаданных и информации о фиксированной задержке, связанной с указанными медиаданными (шаг 605). Например, на шаге 605 принимающий объект может получить указанную информацию вместе с медиаданными или заранее.
Затем принимающий объект идентифицирует требование к длине временного интервала после передачи, по истечении которого медиаданные представляют пользователю (шаг 610). Например, на шаге 610 принимающий объект может использовать упомянутую фиксированную задержку в качестве временного интервала для определения того, когда передавать полученные медиаданные на более высокий уровень для окончательного представления их пользователю.
Далее принимающий объект сохраняет полученные данные, связанные с указанными медиаданными, в буфере (шаг 615). Например, на шаге 615 принимающий объект может сохранить медиаданные после приема, пока не истечет время с временной метки передачи, связанной с полученными данными, плюс упомянутая фиксированная задержка. Затем принимающий объект определяет, соответствует ли текущий момент времени временной метке передачи плюс указанная фиксированная задержка (шаг 620). Если момент времени (временная метка передачи плюс фиксированная задержка) еще не наступил, то тогда отправляющий объект продолжает буферизацию медиаданных для их дальнейшего представления и доставки. Если момент времени (временная метка передачи плюс фиксированная задержка) уже прошел, то тогда отправляющий объект может отбросить данные как принятые слишком поздно.
Однако, если момент времени (временная метка передачи плюс фиксированная задержка) наступил, то тогда принимающий объект предоставляет полученные данные пользователю через пользовательский интерфейс (шаг 625), завершая процесс обработки. Например, на шаге 625 принимающий объект может переслать медиаданные в программу прикладного уровня для представления медиаданных пользователю. В этих примерах принимающий объект идентифицирует и соблюдает фиксированную задержку для медиаданных, чтобы обеспечить отображение медиаданных в принимающем объекте примерно в одно и то же время с другими принимающими объектами, которые могут находиться в среде передачи «точка-множество точек».
Хотя на фигурах 5 и 6 показаны примеры процессов соответственно для отправляющего и принимающего объектов в системе передачи, в эти фигуры могут быть внесены различные изменения. Например, хотя из этих фигур следует, что показанные шаги выполняются последовательно, различные шаги на каждой из фигур могут выполняться с временным перекрытием, одновременно, последовательно, но в другом порядке, или выполняться несколько раз.
На фиг. 7 показано примерное электронное устройство 700, в котором можно реализовать различные варианты осуществления настоящего изобретения. В данном примере электронное устройство 700 включает в себя контроллер 704, память 706, устройство постоянного хранения 708, блок 710 связи, блок 712 ввода/вывода (I/O) и дисплей 714. В этих иллюстративных примерах электронное устройство 700 представляет собой пример одной реализации отправляющего объекта 101 и/или принимающих объектов 110-116 по фиг. 1. Также электронное устройство 700 является примером отправляющего объекта 205 и/или принимающего объекта 210 по фиг. 2.
Контроллер 704 представляет собой любое устройство, систему или ее часть, которая управляет по меньшей мере одной операцией. Указанное устройство можно реализовать аппаратными средствами, программно-аппаратными средствами, программными средствами либо некоторой комбинацией по меньшей мере из двух упомянутых средств. Например, контроллер 704 может включать в себя аппаратный блок обработки и/или программу программного обеспечения, выполненную с возможностью управления операциями электронного устройства 700. Например, контроллер 704 обрабатывает команды для программного обеспечения, которые могут быть загружены в память 706. Контроллер 704 может включать в себя несколько процессоров, многопроцессорное ядро или процессор другого типа в зависимости от конкретной реализации. Кроме того, контроллер 704 можно реализовать, используя несколько гетерогенных процессорных систем, в которых главный процессор расположен вместе со вторичными процессорами на одном кристалле. В качестве другого иллюстративного примера контроллер 704 может включать в себя симметричную многопроцессорную систему, содержащую множество процессоров одного и того же типа.
Память 706 и устройство 708 постоянного хранения являются примерами запоминающих устройств 716. Запоминающее устройство является частью аппаратного обеспечения, способной сохранять информацию, такую как, например (но не только), данные, программный код в функциональном виде и/или другую подходящую информацию на временной и/или постоянной основе. В этих примерах память 706 может представлять собой память с произвольной выборкой или любое другое подходящее энергозависимое или энергонезависимое запоминающее устройство. Например, устройство 708 постоянного хранения может содержать одну или несколько компонент или устройств. Устройство 708 постоянного хранения может представлять собой накопитель на жестких дисках, флеш-память, оптический диск либо некоторую комбинацию из вышеперечисленного. Носители, используемые устройством 708 постоянного хранения, также могут быть съемными. Например, для устройства 708 постоянного хранения может быть использован съемный накопитель на жестком диске.
Блок 710 связи обеспечивает связь с другими системами или устройствами обработки данных. В этих примерах блок 710 связи может включать в себя беспроводной (сотовый, Wi-Fi и т.д.) передатчик, приемник и/или передатчик, карту сетевого интерфейса и/или любые другие подходящие аппаратные средства для отправки и/или приема передач через физическую или беспроводную среду передачи. Блок 710 связи может обеспечить связь посредством использования любой одной или обеих линий связи - физической и/или беспроводной.
Блок 712 ввода/вывода позволяет вводить и выводить данные с использованием других устройств, которые можно подсоединять к электронному устройству 700 или которые являются его частью. Например, блок 712 ввода/вывода может включать в себя сенсорную панель, воспринимающую сенсорные входные воздействия пользователя, микрофон для приема входных аудиосигналов, динамик, обеспечивающий вывод аудиосигнала, и/или привод, обеспечивающий гаптические выходные воздействия. Блок 712 ввода/вывода является одним из примеров пользовательского интерфейса для обеспечения и доставки медиаданных (например, аудиоданных) пользователю электронного устройства 700. В другом примере блок 712 ввода/вывода может предоставить пользователю соединение для ввода через клавиатуру, мышь, внешний громкоговоритель, внешний микрофон и/или какое-либо другое подходящее устройство ввода/вывода. Кроме того, блок 712 ввода/вывода может послать выходной сигнал на принтер. Дисплей 714 обеспечивает механизм для отображения информации пользователю и является одним из примеров пользовательского интерфейса для обеспечения и доставки медиаданных (например, данных изображения и/или видео) пользователю электронного устройства 700.
Программный код для операционной системы, приложений или других программ может находиться в запоминающих устройствах 716, находящихся на связи с контроллером 704. В некоторых вариантах осуществления программный код представлен в функциональном виде в устройстве 708 постоянного хранения. Указанные команды могут загружаться в память 706 для обработки контроллером 704. Процессы, описанные в различных вариантах осуществления изобретения, могут выполняться контроллером 704 с использованием реализуемых на компьютере команд, которые могут находиться в памяти 706. Например, контроллер 704 может выполнять процессы для одного или нескольких модулей и/или устройств, описанных выше.
В некоторых вариантах осуществления различные вышеописанные функции реализуются или поддерживаются компьютерным программным продуктом, который сформирован из считываемого компьютером программного кода, и который воплощен в машиночитаемом носителе. Программный код для компьютерного программного продукта может находиться в функциональном виде в машиночитаемом запоминающем устройстве, которое является, при необходимости, съемным и может загружаться или пересылаться в электронное устройство 700 для обработки контроллером 704. В некоторых иллюстративных вариантах осуществления программный код может быть загружен через сеть в устройство 708 постоянного хранения из другого устройства или системы обработки данных для использования в электронном устройстве 700. Например, программный код, сохраненный на машиночитаемом носителе информации в серверной системе обработки данных, может быть загружен через сеть из сервера в электронное устройство 700. Система обработки данных, обеспечивающая программный код, может представлять собой компьютер-сервер, клиентский компьютер, либо иное устройство, способное хранить и передавать программные коды.
В вариантах осуществления настоящего изобретения установлено, что протокол MMTP разработан для усовершенствования и замены существующих транспортных протоколов путем обеспечения общего протокола, подходящего для доставки медиаданных. Протокол MMTP предназначен для приложений, устойчивых к задержке, а также приложений с малой задержкой в режиме реального времени, таких как потоковая передача в прямом эфире. Для обеспечения согласованной работы протокола MMTP в приемниках, и доступности необходимого буферного пространства для клиентов, в вариантах осуществления настоящего изобретения обеспечены способы и устройства для определения сквозной задержки, оценки требуемого буферного пространства и передачи этой сигнальной информации на приемник. Указанные функциональные возможности особенно важны для приемников широковещания, когда принимающий объект реализован аппаратным средствами (например, телевизионная приставка).
Хотя настоящее изобретение было описано с использованием примерных вариантов его осуществления, специалисты в данной области техники могут предложить различные изменения и модификации. Предполагается, что настоящее изобретение охватывает указанные изменения и модификации, как находящиеся в рамках объема прилагаемой формулы изобретения.