Область техники, к которой относится изобретение
Настоящее раскрытие относится к устройству подачи содержания, способу подачи содержания, программе, оконечному устройству и системе подачи содержания и, более конкретно, к устройству подачи содержания, способу подачи содержания, программе, оконечному устройству и системе подачи содержания, которые используются подходящим образом тогда, когда потоковые данные содержания доставляются согласно доставке файлов через однонаправленную транспортировку (FLUTE).
Уровень техники
Известен протокол экспертной группы по вопросам движущегося изображения - динамической адаптивной потоковой передачи данных по HTTP (упоминаемый в дальнейшем как "DASH") (MPEG-DASH), использующий один и тот же HTTP при просмотре веб-сайта в качестве международного стандартизированного протокола доставки движущегося изображения, имеющегося для доставки движущегося изображения через Интернет (например, смотри непатентную литературу 1).
В DASH реализована технология адаптивной потоковой передачи. Другими словами, сторона подачи содержания выполнена с возможностью подготовки множества потоков, которые включают в себя содержание одинаковой тематики и отличаются битовой скоростью в зависимости от разницы в качестве изображения, величины угла зрения или т.п. С другой стороны, приемная сторона может выбрать оптимальный поток среди множества потоков, подготовленных стороной подачи, согласно среде связи Интернет, возможностей декодирования приемной стороны или т.п. и получить и воспроизвести выбранный оптимальный поток.
Кроме того, метафайл, который называется дескриптором представления мультимедиа (MPD), подается со стороны подачи на приемную сторону таким образом, чтобы приемная сторона могла адаптивно выбрать и получить поток.
Адрес (информация url) сервера (источника подачи), который подает потоковые данные (медиаданные, такие как аудио/видео/субтитры) содержания, разделенного на части на приемной стороне, описан в MPD. Приемная сторона может получить доступ к серверу, который служит в качестве источника подачи содержания на основании информации url, запрашивать потоковые данные, и принимать и воспроизводить потоковые данные, доставленные на основе одноадресной передачи и HTTP из сервера согласно запросу.
Фиг. 1 иллюстрирует пример конфигурации системы подачи содержания, которая доставляет содержание способом потоковой передачи на основании DASH.
Система 10 подачи содержания включает в себя множество устройств 20 подачи содержания, которые подают содержание, и множество клиентских частей 30 DASH, которые принимают и воспроизводят содержание. Клиентскую часть 30 DASH можно подсоединить к устройству 20 подачи содержания через сеть 12 доставки содержания (CDN) с использованием Интернет 11.
Устройство 20 подачи содержания доставляет множество потоков, которые включают в себя содержание одинаковой тематики и отличаются битовой скоростью. Устройство 20 подачи содержания включает в себя устройство 21 для потоковой передачи канала, устройство 22 для потоковой передачи сегмента DASH и сервер 23 MPD DASH.
Устройство 21 для потоковой передачи канала управляет данными источника содержания, которые будут доставляться в клиентскую часть 30 DASH, генерирует множество частей потоковых данных, имеющих различные битовые скорости, из данных источника и выводит множество частей потоковых данных в устройство 22 для потоковой передачи сегмента DASH.
Устройство 22 для потоковой передачи сегмента DASH генерирует, например, потоки сегментов, такие как фрагментированный файл МР4, путем разделения во времени каждой части потоковых данных на сегменты, и сохраняет сгенерированные потоки сегментов в виде файлов. Кроме того, устройство 22 для потоковой передачи сегмента DASH доставляет на основе одноадресной передачи и HTTP файл сохраняемого потока сегментов в источник запроса в ответ на запрос (запрос HTTP) из клиентской части 30 DASH как веб-сервер. Устройство 22 для потоковой передачи сегмента DASH уведомляет сервер 23 MPD DASH о метаданных, включающих в себя адрес, показывающий источник подачи файла потока сегментов.
Сервер 23 MPD DASH генерирует MPD, в котором, например, описан адрес, показывающий источник предоставления (то есть устройство 22 для потоковой передачи сегмента DASH) файла потока сегментов. Сервер 23 MPD DASH доставляет на основе одноадресной передачи и HTTP сгенерированный MPD в источник запроса согласно запросу (запросу HTTP) из клиентской части 30 DASH как веб-сервер.
Клиентская часть 30 DASH запрашивает сервер 23 MPD DASH передать MPD и принимает MPD, который доставляется на основе одноадресной передачи и HTTP в ответ на запрос. Клиентская часть 30 DASH запрашивает устройство 22 для потоковой передачи сегмента DASH передать файл потока сегментов на основании принятого MPD и принимает и воспроизводит файл потока сегментов, который доставляется на основе одноадресной передачи и HTTP в ответ на запрос.
CDN 12 включает в себя кэш-сервер (не показан), и кэш-сервер кэширует MPD или файл потока сегментов, который доставляется на основе одноадресной передачи и HTTP через CDN 12. Кэш-сервер может доставить на основе одноадресной передачи и HTTP кэшированный MPD или файл потока сегментов в клиентскую часть 30 DASH источника запроса вместо сервера 23 MPD DASH, который служит в качестве веб-сервера или устройства 22 для потоковой передачи сегмента DASH.
Перечень цитируемой литературы
Непатентная литература
Непатентная литература 1: Mitsuhiro Hirabayashi, "Achieving Uninterrupted Video Streaming Using Existing Web Servers," NIKKEI ELECTRONICS, March 19, 2012.
Раскрытие изобретения
Техническая задача
Как описано выше, в DASH реализована технология адаптивной потоковой передачи, использующая доставку на основе одноадресной передачи и HTTP.
Если приемная сторона может принять поток, то есть, например, осуществить доставку на основе многоадресной передачи и FLUTE или на основе многоадресной передачи и RTP, а также поток, который доставляется на основе одноадресной передачи и HTTP, желательно также доставлять поток с использованием путей доставки и разрешить приемной стороне выбирать поток адаптивным образом.
Другими словами, так как доставка на основе многоадресной передачи и FLUTE и доставка на основе многоадресной передачи и RTP гарантируют QoS (например, гарантированную полосу/задержку), когда доставляется содержание, в котором необходимо свойство реального времени, такое как живое видео, приемная сторона может ожидать более стабильный прием и воспроизведение потока, чем при доставке на основе одноадресной передачи и HTTP.
В данном документе будет рассмотрен случай, в котором потоки сегментов, такие как фрагментированный файл МР4, генерируются из данных источника содержания, захваченных в реальном времени, и затем последовательно доставляются на основе многоадресной передачи и FLUTE.
Фиг. 2 иллюстрирует обзор способа генерирования блока передачи файлов согласно предшествующему уровню техники, когда фрагментированный файл МР4 доставляется на основе FLUTE.
Другими словами, когда фрагментированный файл МР4 доставляется на основе FLUTE, блок передачи файлов генерируется в блоках GOP, которые служат в качестве минимальных блоков фрагментированного файла МР4, который имеет произвольный доступ и доставляется на основе многоадресной передачи и FLUTE. На практике возникают также случаи, в которых блок передачи файлов генерируется в блоках, кратных целому числу GOP, но в данном описании предполагается, что блок передачи файлов генерируется в блоках GOP.
В примере, показанном на фиг. 2, предполагается, что данные диапазона GOP фрагментированного файла МР4 включают в себя выборку(и) (1), выборку(и) (2) и выборку(и) (3) в хронологическом порядке. Блок передачи файлов генерируется после генерирования выборки(ок) (1) - выборки(ок) (3) и затем доставляется на основе многоадресной передачи и FLUTE.
Фиг. 3 иллюстрирует структуру данных блока передачи файлов согласно предшествующему уровню техники, когда фрагментированный файл МР4 доставляется на основе FLUTE.
Блок передачи файлов (Media Segment (сегмент медиа)) включает в себя styp, moof и mdat. moof включает в себя mfhd и traf, и traf включает в себя tfhd, tfdt, trun и sdtp. Номер последовательности sequence_number блока передачи файлов, который последовательно передается, хранится в mfhd, и BaseMediaDecodeTime-1 (основное время декодирования медиа - 1) выборки(ок) (1) в заголовке блока GOP хранится в tfdt из числа traf. Информация, необходимая для вычисления времени представления выборки(ок) (1) - выборки(ок) (3), принадлежащих блоку GOP, хранится в trun из числа traf. Заголовок mdat и выборка(и) (1) - выборка(и) (3) хранятся в mdat.
Фиг. 4 иллюстрирует таймирование для передачи блока передачи файлов. Фиг. 4А иллюстрирует пример, в котором, например, полоса широковещательной сети, в которой передается блок передачи файлов, является достаточно большой по сравнению с количеством данных блока передачи файлов, и в данном случае можно выполнять групповую передачу блока передачи файлов на приемную сторону для каждого GOP без задержки.
Однако на практике полоса широковещательной сети и т.п. не является достаточно большой для того, чтобы иметь возможность выполнять моментально групповую передачу блока передачи файлов, и предполагается, что в будущем качество изображения содержания повысится и увеличится битовая скорость фрагментированного файла MP. В этом случае, как иллюстрировано на фиг. 4В, подача блока передачи файлов может иметь задержку, эта задержка может приводить к задержке времени начала буферизации приемной стороны и, таким образом, оказывать негативное влияние на воспроизведение содержания, имеющего свойство реального времени.
Фиг. 5 иллюстрирует обзор способа решения вышеупомянутой проблемы. Другими словами, чтобы устранить вышеупомянутую проблему, вместо генерирования и передачи блока передачи файлов после генерирования выборки(ок) (1) - выборки(ок) (3) каждого GOP желательно уменьшать размер блока передачи файлов и последовательно передавать результирующие блоки передачи файлов. Однако этот способ не был разработан в прошлом.
Настоящее раскрытие было выполнено на основании вышеизложенного, и желательно передавать блок передачи файлов потока сегментов без задержки.
Решение технической задачи
Согласно первому аспекту настоящего раскрытия выполнено устройство подачи содержания, которое доставляет на основе многоадресной передачи поток фрагментов содержания, причем устройство подачи содержания включает в себя: блок генерирования потока фрагментов, выполненный с возможностью генерирования потока фрагмента на основании данных источника содержания; и блок доставки, выполненный с возможностью генерирования блока передачи файлов в виде блоков вторых блоков данных путем разделения сгенерированного потока фрагментов на первые блоки данных, которые имеют произвольный доступ, и разбиения первого блока данных на вторые блоки данных и доставки на основе многоадресной передачи и FLUTE блока передачи файлов.
Блок доставки может сгенерировать блок передачи файлов, который включает в себя moof, в котором атрибут версии добавлен во второй блок данных первого блока данных потока фрагментов, и mdat, в котором хранятся данные второго блока данных.
Блок доставки может сгенерировать блок передачи файлов, который включает в себя moof, в котором styp, атрибут версии и ntpt добавляются во второй блок данных в заголовке первого блока данных потока фрагментов, и mdat, в котором хранятся данные второго блока данных, и может сгенерировать блок передачи файлов, включающий в себя moof и mdat для другого второго блока данных, отличного от второго блока данных в заголовке первого блока данных.
Блок доставки может хранить численное значение, показывающее версию moof в атрибуте версии, и хранить параметр NTP Time-1 (время-1 NTP), соответствующий BaseMediaDecodeTime-1 второго блока данных в заголовке первого блока данных, в ntpt.
Блок доставки может сгенерировать moof блока передачи файлов, соответствующий другому второму блоку данных, отличному от второго блока данных в заголовке, путем копирования и обновления moof, который включает в себя атрибут версии и ntpt блока передачи файлов, который был сгенерирован ранее.
Согласно первому аспекту настоящего раскрытия выполнен способ подачи содержания устройства подачи содержания, которое доставляет на основе многоадресной передачи поток фрагментов содержания, причем способ подачи содержания включает в себя: этап генерирования потока фрагментов для генерирования, с помощью устройства подачи содержания, потока фрагментов на основании данных источника содержания; и этап доставки для генерирования, с помощью устройства подачи содержания, блока передачи файлов в блоках вторых блоков данных путем разделения сгенерированного потока фрагментов на первые блоки данных, которые имеют произвольный доступ, и разбиения первого блока данных на вторые блоки данных и доставки на основе многоадресной передачи и FLUTE блока передачи файлов.
Согласно первому аспекту настоящего раскрытия выполнена программа, которая предписывает компьютеру, который доставляет на основе многоадресной передачи поток фрагментов содержания, функционировать как: блок генерирования потока фрагментов, выполненный с возможностью генерирования потока фрагментов на основании данных источника содержания; и блок доставки, выполненный с возможностью генерирования блока передачи файлов в блоках вторых блоков данных путем разделения сгенерированного потока фрагментов на первые блоки данных, которые имеют произвольный доступ, и разбиения первого блока данных на вторые блоки данных и доставки на основе многоадресной передачи и FLUTE блока передачи файлов.
В первом аспекте настоящего раскрытия поток фрагментов генерируется на основании данных источника содержания, блок передачи файлов генерируется в блоках вторых блоков данных путем разделения сгенерированного потока фрагментов на первые блоки данных, которые имеют произвольный доступ, и разбиения первого блока данных на вторые блоки данных, и блок передачи файлов доставляется на основе многоадресной передачи и FLUTE.
Согласно второму аспекту настоящего раскрытия выполнено оконечное устройство, которое принимает и воспроизводит содержание, доставленное из устройства подачи содержания, которое доставляет на основе многоадресной передачи поток фрагментов содержания, причем устройство подачи содержания включают в себя блок генерирования потока фрагментов, выполненный с возможностью генерирования потока фрагментов на основании данных источника содержания, и блок доставки, выполненный с возможностью генерирования блока передачи файлов в виде блоков вторых блоков данных путем разделения сгенерированного потока фрагментов на первые блоки данных, которые имеют произвольный доступ, и разбиения первого блока данных на вторые блоки данных и доставки на основе многоадресной передачи и FLUTE блока передачи файлов. Оконечное устройство принимает блок передачи файлов, доставленный на основе многоадресной передачи и FLUTE, выполняет буферизацию до тех пор, пока не будет принято множество блоков передачи файлов, соответствующих первому блоку данных, и воспроизводит блоки передачи файлов в виде блоков множества блоков передачи файлов, соответствующих первому блоку данных.
Во втором аспекте настоящего раскрытия принимается блок передачи файлов, доставленный на основе многоадресной передачи и FLUTE, буферизация выполняется до тех пор, пока не будет принято множество блоков передачи файлов, соответствующих первому блоку данных, и блоки передачи файлов воспроизводятся в виде блоков множества блоков передачи файлов, соответствующих первому блоку данных.
Согласно третьему аспекту настоящего раскрытия выполнена система подачи содержания, включающая в себя: устройство подачи содержания; и оконечное устройство, которое принимает и воспроизводит содержание, доставленное из устройства подачи содержания. Устройство подачи содержания включает в себя блок генерирования потока фрагментов, выполненный с возможностью генерирования потока фрагментов на основании данных источника содержания, и блок доставки, выполненный с возможностью генерирования блока передачи файлов в виде блоков вторых блоков данных путем разделения сгенерированного потока фрагментов на первые блоки данных, которые имеют произвольный доступ, и разбиения первого блока данных на вторые блоки данных и доставки на основе многоадресной передачи и FLUTE блока передачи файлов. Оконечное устройство принимает блок передачи файлов, доставленный на основе многоадресной передачи и FLUTE, выполняет буферизацию до тех пор, пока не будет принято множество блоков передачи файлов, соответствующих первому блоку данных, и воспроизводит блоки передачи файлов в виде блоков множества блоков передачи файлов, соответствующих первому блоку данных.
В третьем аспекте настоящего раскрытия, с помощью устройства подачи содержания, поток фрагментов генерируется на основании данных источника содержания, блок передачи файлов генерируется в блоках вторых блоков данных путем разделения сгенерированного потока фрагментов на первые блоки данных, которые имеют произвольный доступ, и разбиения первого блока данных на вторые блоки данных, и блок передачи файлов доставляется на основе многоадресной передачи и FLUTE. С помощью оконечного устройства принимается блок передачи файлов, доставленный на основе многоадресной передачи и FLUTE, буферизация выполняется до тех пор, пока не будет принято множество блоков передачи файлов, соответствующих первому блоку данных, и блоки передачи файлов генерируются в виде блоков из множества блоков передачи файлов, соответствующих первому блоку данных.
Преимущественные эффекты изобретения
Согласно первому аспекту настоящего раскрытия, можно передавать без задержки блок передачи файлов потока сегментов.
Согласно второму аспекту настоящего раскрытия можно принимать и воспроизводить поток сегментов, который доставляется на основе многоадресной передачи и FLUTE.
Согласно третьему аспекту настоящего раскрытия, блок передачи файлов потока сегментов можно передавать без задержки и затем принимать и воспроизводить через оконечное устройство.
Краткое описание чертежей
Фиг. 1 - блок-схема, иллюстрирующая пример конфигурации системы подачи содержания предшествующего уровня техники.
Фиг. 2 - схема, иллюстрирующая обзор способа генерирования блока передачи файлов предшествующего уровня техники, когда фрагментированный файл МР4 доставляется на основе FLUTE.
Фиг. 3 - схема, иллюстрирующая структуру данных блока передачи файлов предшествующего уровня техники, когда фрагментированный файл МР4 доставляется на основе FLUTE.
Фиг. 4 - схема, иллюстрирующая таймирование передачи блока передачи файлов.
Фиг. 5 - схема, иллюстрирующая таймирование передачи блока передачи файлов.
Фиг. 6 - блок-схема, иллюстрирующая примерную конфигурацию системы подачи содержания, к которой применимо настоящее раскрытие.
Фиг. 7 - схема, иллюстрирующая обзор способа генерирования блока передачи файлов, когда устройство подачи содержания доставляет на основе FLUTE фрагментированный файл МР4.
Фиг. 8 - схема, иллюстрирующая структуру данных, когда устройство подачи содержания доставляет на основе FLUTE фрагментированный файл МР4.
Фиг. 9 - схема, иллюстрирующая расширение спецификации фрагментированного формата файла МР4.
Фиг. 10 - схема, иллюстрирующая расширение спецификации фрагментированного формата файла МР4.
Фиг. 11 - блок-схема последовательности операций для описания процесса доставки потока FLUTE.
Фиг. 12 - блок-схема последовательности операций для описания процесса этапа S4, показанного на фиг. 11.
Фиг. 13 - блок-схема, иллюстрирующая примерную конфигурацию компьютера.
Осуществление изобретения
Описание вариантов осуществления
Ниже представлено подробное описание вариантов осуществления (далее по тексту варианты осуществления) для выполнения настоящего раскрытия.
Примерная конфигурация системы подачи содержания
Фиг. 6 иллюстрирует примерную конфигурацию системы подачи содержания согласно варианту осуществления настоящего раскрытия.
Система 50 подачи содержания включает в себя множество устройств 60 подачи содержания и множество оконечных устройств 70. Устройства 60 подачи содержания можно соединить с оконечными устройствами 70 через сеть 51.
Сеть 51 включает в себя различные широковещательные сети, использующие волны наземного вещания, волны спутникового вещания, мобильное широковещание (e)MBMS или т.п. в дополнение к сети двухсторонней связи, представленной Интернет и CDN, использующей Интернет.
Сервер NTP 52, который предоставляет информацию о системном времени согласно формату времени UTC, соединен с сетью 51. Сервер 52 NTP может предоставить информацию о системном времени каждому из устройств 60 подачи содержания, каждому из оконечных устройств 70 и т.п., и каждое из устройств 60 подачи содержания и каждое из терминальных устройств 70 работают в режиме, в котором системное время синхронизируется с временной осью NTP в соответствии с информацией о системном времени, предоставленной из сервера NTP 52.
Устройства 60 подачи содержания осуществляют доставку содержания на основе одноадресной передачи и HTTP и на основе многоадресной передачи и FLUTE. Устройства 60 подачи содержания включают в себя устройство 61 для потоковой передачи канала, сегментатор 62 DASH, устройство 63 для потоковой передачи FLUTE, генератор 64 MPD, веб-сервер 65 и сервер 66 многоадресной передачи.
Устройство 61 для потоковой передачи канала в сервере 66 многоадресной передачи, установленном в устройствах 60 подачи содержания, можно разместить вместе в одном положении или можно разместить через Интернет путем распределения и т.п.
Устройство 61 для потоковой передачи канала генерирует множество частей потоковых данных, имеющих различные битовые скорости, которые будут доставляться в оконечные устройства 70 из данных источника содержания, захваченных в реальном времени, и выводит множество частей потоковых данных в сегментатор 62 DASH.
Сегментатор 62 DASH генерирует поток сегментов, такой как фрагментированный файл МР4, путем временного деления каждой части потоковых данных на сегменты, и выводит сгенерированный поток сегментов в устройство 63 для потоковой передачи FLUTE и веб-сервер 65. Сегментатор 62 DASH уведомляет генератор 64 MPD о метаданных, включающих в себя адрес, показывающий источник подачи потока сегментов.
Устройство 63 для потоковой передачи FLUTE преобразует потоки сегментов, последовательно введенные из сегментатора 62 DASH в потоки FLUTE, и выводит потоки FLUTE в сервер 66 многоадресной передачи (детали будут описаны позже). Устройство 63 для потоковой передачи FLUTE хранит MPD, сгенерированный генератором 64 MPD в пакете FLUTE, и выводит результирующий пакет FLUTE в сервер 66 многоадресной передачи.
Генератор 64 MPD генерирует MPD, в котором, например, адрес, показывающий источник предоставления (веб-сервер 65) файла потока сегментов, описан на основании метаданных, переданных из сегментатора 62 DASH, и выводит сгенерированный MPD в устройство 63 для потоковой передачи FLUTE и веб-сервер 65.
Веб-сервер 65 доставляет на основе одноадресной передачи и HTTP MPD, введенный из генератора 64 MPD, в источник запроса согласно запросу (запросу HTTP) для MPD из оконечных устройств 70. Веб-сервер 65 доставляет на основе одноадресной передачи и HTTP файл потока сегментов в источник запроса согласно запросу (запросу HTTP) для потока сегментов из оконечных устройств 70.
Сервер 66 многоадресной передачи доставляет на основе многоадресной передачи и FLUTE MPD. Сервер 66 многоадресной передачи доставляет на основе многоадресной передачи и FLUTE поток FLUTE.
Оконечные устройства 70 получают MPD из устройств 60 подачи содержания через сеть 51. В частности оконечные устройства 70 передают запрос HTTP и принимают MPD, который доставляется на основе одноадресной передачи и HTTP или многоадресной передачи и FLUTE в ответ на запрос. Оконечные устройства 70 запрашивают веб-сервер 65 передать поток сегментов на основании полученного MPD и принять и воспроизвести файл потока сегментов, который доставляется на основе многоадресной передачи и HTTP в ответ на запрос. Оконечные устройства 70 принимают и воспроизводят поток FLUTE, доставленный на основе многоадресной передачи и FLUTE. При приеме MPD или потока FLUTE, который доставляется на основе многоадресной передачи и FLUTE, оконечные устройства 70 обращаются к информации сигнализации, в которой описан канал портала сервера 66 многоадресной передачи, который выполняет доставку на основе многоадресной передачи и FLUTE.
Информация сигнализации становится известной через канал взаимодействия или широковещательный/групповой канал, например, с помощью описания услуги пользователя (USD) в MBMS, когда доставка на основе многоадресной передачи и FLUTE выполняется через мобильное широковещание (e)MBMS, включенной в сеть 51. Кроме того, когда доставка на основе многоадресной передачи и FLUTE выполняется через волны наземного вещания или спутниковое вещание, включенное в сеть 51, информация сигнализации становится известной через канал взаимодействия или широковещательный/групповой канал, например, с помощью электронного руководства по обслуживанию (ESG) DVB-H (IPDC).
Генерирование потока FLUTE на основании фрагментированного файла МР4
Как описано выше, в прошлом, когда фрагментированный файл МР4 доставлялся на основе FLUTE, для каждого GOP генерировался и передавался конец передачи файла. В настоящем варианте осуществления блок передачи файлов генерировался последовательно и доставляется даже в середине GOP.
Фиг. 7 иллюстрирует обзор, в котором устройство 63 для потоковой передачи FLUTE генерирует блок передачи файлов потока FLUTE из потока сегментов фрагментированного файла МР4, который вводится последовательно. В примере, показанном на фиг. 7, предполагается, что данные диапазона GOP фрагментированного файла МР4 включают в себя выборку(и) (1), выборку(и) (2) и выборку(и) (3) в хронологическом порядке.
Сначала на стадии, на которой вводится выборка(и) (1), блок передачи файлов, соответствующий выборке(ам) (1), генерируется и доставляется на основе FLUTE, и затем на стадии, на которой вводится выборка(и) (2), блок передачи файлов, соответствующий выборке(ам) (2), генерируется и доставляется на основе FLUTE.
На стадии, на которой вводится выборка(и) (3), блок передачи файлов, соответствующий выборке(ам) (3), генерируется и доставляется на основе FLUTE. Предполагается, что оконечные устройства 70 будут выполнять декодирование на стадии, на которой принимается три блока передачи файлов, соответствующие выборке(ам) (1) - выборке(ам) (3), которые конфигурируют GOP.
Фиг. 8 иллюстрирует структуру данных блока передачи файлов, сгенерированного согласно настоящему варианту осуществления. Блок передачи файлов (Media Segment) включает в себя styp, moof и mdat. moof включает в себя mfhd и traf, и traf включает в себя tfhd, tfdt, ntpt, trun и sdtp.
Как можно увидеть из сравнения между фиг. 8 и фиг. 3, в блоке передачи файлов, сгенерированном согласно настоящему варианту осуществления, атрибут версии, показывающий версию moof, добавляется в mfhd по сравнению с блоком передачи файлов, показанным на фиг. 3. NTP Time Box (поле времени NTP) (ntpt) добавляется в traf из числа moof. Параметр NTP Time-1, соответствующий BaseMediaDecodeTime-1 выборки(ок) (1) в заголовке блока GOP, хранящегося в tfdt, хранится в ntpt.
Блок передачи файлов, соответствующий выборке(ам) (1), включает в себя styp, moof и mdat, sequence_number и version = 1 хранятся в moof/mfhd, BaseMediaDecodeTime-1 выборки(ок) (1) хранится в moof/traf/tfdt, и NTP Time-1, соответствующий BaseMediaDecodeTime-1 хранится в moof/traf/ntpt. Кроме того, информация, необходимая для вычисления времени представления выборки(ок) (1), хранится в moof/traf/trun. Заголовок mdat и выборка(и) (1) хранятся в mdat.
В блоке передачи файлов, соответствующем выборке(ам) (2), styp пропускается, moof блока передачи файлов, соответствующего выборке(ам) (1) копируется в moof, версия moof/mfhd обновляется до 2, и информация, необходимая для вычисления времени представления выборки(ок) (2), добавляется в moof/traf/trun. Выборка(и) (2) хранится в mdat.
В блоке передачи файлов, соответствующем выборке(ам) (3), styp пропускается, moof блока передачи файлов, соответствующего выборке(ам) (2), копируется в moof, версия moof/mfhd обновляется до 3, и информация, необходимая для вычисления времени представления выборки(ок) (3), добавляется в moof/traf/trun. Выборка(и) (3) хранится в mdat.
При сравнении данных блоков передачи файлов, соответствующих выборке(ам) (1), выборке(ам) (2) и выборке(ам) (3), количество данных moof постепенно увеличивается, но количество данных mdat остается по существу одинаковым. Кроме того, при сравнении с количеством данных блока передачи файлов блока GOP предшествующего уровня техники, количество данных может уменьшаться почти на 1/3, и, таким образом, можно дополнительно уменьшить размер блока передачи файлов и постепенно передавать результирующий блок передачи файлов так, как иллюстрировано на фиг. 5.
Расширение спецификации фрагментированного формата файла МР4
Фиг. 9 иллюстрирует расширение спецификации фрагментированного формата файла МР4 для добавления атрибута версии в moof/mfhd.
Другими словами, в настоящем варианте осуществления, расширение выполняется таким образом, чтобы атрибут версии добавлялся в синтаксис, который относится к атрибуту sequence_number moof/mfhd предшествующего уровня техники, иллюстрированного на фиг. 9А, как иллюстрировано на фиг. 9В. Так как атрибут версии установлен, sequence_numbers moof, включенного в блоки передачи файлов, принятые оконечными устройствами 70, являются идентичными, и можно определить, соответствует ли moof только выборке(ам) (1) в заголовке, или соответствует ли moof выборке(ам) (1) - выборке(ам) (3), то есть всей GOP. Кроме того, спецификация формата фрагментированного файла МР4 может быть расширена так, как иллюстрировано на фиг. 9С, путем объединения фиг. 9А с фиг. 9В.
Фиг. 10 иллюстрирует расширение спецификации формата фрагментированного файла МР4 для добавления NTP Time Box (ntpt) в moof/traf. Когда установлен ntpt, можно гарантировать свойство реального времени содержания и доставку на основе многоадресной передачи и FLUTE фрагментированного файла MP 4.
Работа системы 50 подачи содержания
Далее будет описана работа системы 50 подачи содержания.
На фиг. 11 показана блок-схема последовательности операций для описания процесса (именуемого в дальнейшем как "процесс доставки потока FLUTE") доставки потока FLUTE через устройства 60 подачи содержания.
На этапе S1 устройство 61 для потоковой передачи канала генерирует множество частей потоковых данных, имеющих различные битовые скорости, которые будут доставляться в оконечные устройства 70 из данных источника содержания, захваченного в реальном времени, и выводит множество частей потоковых данных в сегментатор 62 DASH. Сегментатор 62 DASH генерирует фрагментированный файл МР4 (поток сегментов) на основании каждой части потоковых данных, и выводит фрагментированный файл МР4 (поток сегментов) в устройство 63 для потоковой передачи FLUTE.
На этапе S2 устройство 63 для потоковой передачи FLUTE генерирует блок передачи файлов, соответствующий выборке(ам) (1) в заголовке GOP фрагментированного файла МР4, который последовательно вводится из сегментатора 62 DASH.
В частности, styp, moof и mdat устанавливаются в качестве блока передачи файлов, соответствующего выборке(ам) (1), sequence_number и version = 1 хранятся в moof/mfhd, BaseMediaDecodeTime-1 выборки(ок) (1) хранится в moof/traf/tfdt, и NTP Time-1, соответствующий BaseMediaDecodeTime-1, хранится в moof/traf/ntpt. Кроме того, информация, необходимая для вычисления времени представления выборки(ок) (1), хранится в moof/traf/trun. Заголовок mdat и выборка(и) (1) хранятся в mdat.
На этапе S3 сервер 16 многоадресной передачи доставляет на основе многоадресной передачи и FLUTE блок передачи файлов, соответствующий выборке(ам) (1) сгенерированной в процессе этапа S2, через сеть 51.
Далее, на этапе S4 устройство 63 для потоковой передачи FLUTE генерирует блок передачи файлов, соответствующий следующей выборке(ам) (выборке(ам) (2) или выборке(ам) (3)) GOP фрагментированного файла МР4, последовательно введенного из сегментатора 62 DASH.
Процесс, выполняемый на этапе S4, будет описан подробно. На фиг. 12 показана блок-схема последовательности операций для подробного описания процесса, выполняемого на этапе S4.
Когда следующей выборкой(ами) является выборка(и) (2), на этапе S11 устройство 63 для потоковой передачи FLUTE пропускает styp и копирует moof из предыдущего блока передачи файлов (в этом случае блока передачи файлов, соответствующего выборке(ам) (1)). На этапе S12 устройство 63 для потоковой передачи FLUTE обновляет версию moof/mfhd до 2. Кроме того, информация, необходимая для вычисления времени представления выборки(ок) (2), добавляется в moof/traf/trun. На этапе S13 устройство 63 для потоковой передачи FLUTE хранит выборку(и) (2) в mdat.
Возвращаясь снова к фиг. 11, на этапе S5 сервер 16 многоадресной передачи доставляет на основе многоадресной передачи и FLUTE блок передачи файлов, сгенерированный на этапе S4, через сеть 51. На этапе S6 устройство 63 для потоковой передачи FLUTE определяет, соответствует или нет блок передачи файлов, сгенерированный на этапе S4, концу GOP. Когда результат определения является отрицательным, процесс возвращается на этап S4, и этап S4 и последующий процесс повторяются. Когда результат определения на этапе S6 является положительным, процесс переходит к этапу S7.
На этапе S7 устройство 63 для потоковой передачи FLUTE определяет, закончился или нет ввод фрагментированного файла МР4 (потока сегментов) из сегментатора 62 DASH. Когда результат определения является отрицательным, процесс возвращается на этап S2, и этап S2 и последующий процесс повторяются. Когда результат определения этапа S7 является положительным, процесс доставки потока FLUTE заканчивается.
Согласно вышеописанному процессу доставки потока FLUTE, когда фрагментированный файл МР4 (поток сегментов) доставляется на основе многоадресной передачи и FLUTE, можно последовательно передавать меньше блоков передачи файлов. Таким образом, когда качество изображения содержания и битовая скорость фрагментированных файлов МР4 будут увеличены в будущем, можно подавить задержку подачи блока передачи файлов. Более того, можно предотвратить ситуацию, в которой задержка приводит к задержке во времени начала буферизации терминального устройства 70, и, таким образом, на воспроизведение содержания, имеющего свойство реального времени, оказывается негативное влияние.
Между прочим, каждое устройство 60 подачи содержания и оконечное устройство 70, которые выполняют ряд процессов, описанных выше, можно сконфигурировать с помощью аппаратных средств или можно реализовать путем выполнения программного обеспечения на компьютере. Примеры компьютера включают в себя компьютер, встроенный в специализированное аппаратное средство, и персональный компьютер общего назначения с возможностью установки различных видов программ и выполнения различных видов функций.
На фиг. 13 показана блок-схема, иллюстрирующая примерную аппаратную конфигурацию компьютера.
В компьютере 100 центральное процессорное устройство (ЦПУ) 101, постоянное запоминающее устройство (ПЗУ) 102 и оперативное запоминающее устройство (ОЗУ) 103 соединены друг с другом через шину 104.
Интерфейс 105 ввода/вывода соединен с шиной 104. Блок 106 ввода, блок 107 вывода, блок 108 памяти, блок 109 связи и дисковод 110 соединены с интерфейсом 105 ввода/вывода.
Блок 106 ввода включает в себя клавиатуру, мышь, микрофон и т.п. Блок 107 вывода включает в себя дисплей, громкоговоритель и т.п. Блок 108 памяти включает в себя жесткий диск, энергонезависимую память и т.п. Блок 109 связи включает в себя сетевой интерфейс. Дисковод 110 приводит в действие съемный носитель 111, такой как магнитный диск, оптический диск, магнитооптический диск или полупроводниковая память.
В компьютере 100, имеющем вышеописанную конфигурацию, например, ряд процессов, описанных выше, выполняются путем загрузки программы, которая хранится в блоке 108 памяти, в ОЗУ 103 через интерфейс 105 ввода/вывода и шину 104 и исполнения загруженной программы в ЦПУ 101.
Например, программу, исполняемую компьютером 100 (ЦПУ 101), можно записать на съемный носитель 111, который служит в качестве упакованного носителя и т.п., и выполнить. Программу можно предоставить через проводную или беспроводную среду передачи, такую как локальная вычислительная сеть, Интернет или цифровое спутниковое вещание.
В компьютере 100 съемный носитель 111 можно установить в дисководе 110, и программу можно установить в блоке 108 памяти через интерфейс 105 ввода/вывода. Программу можно принять с помощью блока 109 связи через проводную или беспроводную среду передачи и установить в блоке 108 памяти. Более того, программу можно установить заранее в ПЗУ 102 или блоке 108 памяти.
Кроме того, программа, исполняемая компьютером 100, может представлять собой программу, в которой процесс выполняется в хронологическом порядке согласно последовательности, описанной в данном описании, или может представлять собой программу, в которой процесс выполняется параллельно или при необходимости с временной синхронизацией, например, когда выполняется вызов.
Вариант осуществления настоящего раскрытия не ограничивается вышеупомянутыми вариантами осуществления, и различные изменения могут быть выполнены в пределах объема без отклонения от сущности настоящего раскрытия.
Дополнительно, настоящую технологию можно также выполнить так, как представлено ниже.
(1) Устройство подачи содержания, выполненное с возможностью доставки на основе многоадресной передачи потока фрагментов содержания, причем устройство подачи содержания включает в себя:
блок генерирования потока фрагментов, генерированный с возможностью генерирования потока фрагментов на основании данных источника содержания; и
блок доставки, выполненный с возможностью генерирования блока передачи файлов в блоках вторых блоков данных посредством разделения сгенерированного потока фрагментов на первые блоки данных, которые имеют произвольный доступ, и разбиения первого блока данных на вторые блоки данных и доставки на основе многоадресной передачи и FLUTE блока передачи файлов.
(2) Устройство подачи содержания по (1),
в котором блок доставки выполнен с возможностью генерирования блока передачи файлов, содержащего moof, в котором атрибут версии добавляется во второй блок данных первого блока данных потока фрагментов, и mdat, в котором хранятся данные второго блока данных.
(3) Устройство подачи содержания по (1) или (2),
в котором блок доставки выполнен с возможностью генерирования блока передачи файлов, содержащего moof, в котором styp, атрибут версии и ntpt добавляются во второй блок данных в заголовке первого блока данных потока фрагментов, и mdat, в котором хранятся данные второго блока данных, при этом
блок доставки выполнен с возможностью генерирования блока передачи файлов, содержащего moof и mdat для другого второго блока данных, отличного от второго блока данных в заголовке первого блока данных.
(4) Устройство подачи содержания по (3),
в котором блок доставки выполнен с возможностью хранения численного значения, показывающего версию moof в атрибуте версии, и хранения NTP Time-1, соответствующего BaseMediaDecodeTime-1 второго блока данных в заголовке первого блока данных, в ntpt.
(5) Устройство подачи содержания по (4),
в котором блок доставки выполнен с возможностью генерирования moof блока передачи файлов, соответствующего другому второму блоку данных, отличному от второго блока данных в заголовке, путем копирования и обновления moof, включающего в себя атрибут версии и ntpt блока передачи файлов, ранее сгенерированного.
Перечень ссылочных позиций
50 - система подачи содержания
51 - сеть
52 - сервер NTP
60 - устройство подачи содержания
61 - устройство потоковой передачи канала
62 - сегментатор DASH
63 - устройство потоковой передачи FLUTE
64 - генератор MPD
65 - веб-сервер
66 - сервер многоадресной передачи
70 - оконечное устройство
100 - компьютер
101 - ЦПУ
Изобретение относится к устройству подачи содержания через однонаправленную транспортировку (FLUTE). Технический результат заключается в обеспечении потоков сегментов, такие как фрагментированный МР4 файл, которые генерируются из данных источника содержания, захваченных в реальном времени, и затем последовательно доставляются на основе многоадресной передачи и доставке файлов через FLUTE. Предложено устройство подачи содержания, которое доставляет на основе многоадресной передачи поток фрагментов содержания, причем устройство подачи содержания содержит блок генерирования потока фрагментов с возможностью генерирования потока фрагментов на основании данных источника содержания; и блок доставки с возможностью генерирования блока передачи файлов в блоках вторых блоков данных путем разделения сгенерированного потока фрагментов на первые блоки данных, которые имеют произвольный доступ, и разбиения первого блока данных на вторые блоки данных и доставки, на основе многоадресной передачи и FLUTE, блока передачи файлов. 6 н. 4 з.п. ф-лы, 13 ил.
1. Устройство подачи содержания для доставки на основе многоадресной передачи, содержания потока фрагментов с использованием протокола доставки файла посредством однонаправленной передачи (FLUTE), содержащее:
блок генерирования содержания потока фрагментов, выполненный с возможностью генерирования содержания потока фрагментов, содержащего блоки групп кадров (GOP), на основании данных источника содержания, формируемого в режиме реального времени; и
блок доставки, выполненный с возможностью последовательного генерирования блока передачи файлов в блоках вторых блоков данных, посредством подразделения последовательно сгенерированного содержания потока фрагментов на вторые блоки данных, имеющие более короткую продолжительность времени, чем у GOP, имеющих произвольный доступ, и последовательной доставки, на основе многоадресной передачи FLUTE, последовательно сгенерированного блока передачи файлов.
2. Устройство подачи содержания по п.1, в котором
блок доставки выполнен с возможностью генерирования блока передачи файлов, содержащего moof, в котором атрибут версии добавлен во второй блок данных GOP содержания потока фрагментов, и mdat, в котором хранятся данные второго блока данных.
3. Устройство подачи содержания по п.2, в котором
блок доставки выполнен с возможностью генерирования блока передачи файлов, содержащего moof, в котором styp, атрибут версии и ntpt добавлены во второй блок данных в заголовке GOP содержания потока фрагментов, и mdat, в котором хранятся данные второго блока данных, при этом
блок доставки выполнен с возможностью генерирования блока передачи файлов, включающего в себя moof и mdat для другого второго блока данных, отличного от второго блока данных в заголовке GOP.
4. Устройство подачи содержания по п.3, в котором
блок доставки выполнен с возможностью хранения численного значения, показывающего версию moof в атрибуте версии, и хранения NTP Time-1, соответствующего BaseMediaDecodeTime-1 второго блока данных в заголовке GOP, в ntpt.
5. Устройство подачи содержания по п.4, в котором
блок доставки выполнен с возможностью генерирования moof блока передачи файлов, соответствующего другому второму блоку данных, отличному от второго блока данных, в заголовке, посредством копирования и обновления moof, включающего в себя атрибут версии и ntpt блока передачи файлов, сгенерированного ранее.
6. Способ подачи содержания устройства подачи содержания, выполненного с возможностью доставки на основе многоадресной передачи содержания потока фрагментов с использованием потока доставки файла посредством однонаправленной передачи (FLUTE), содержащий:
этап генерирования содержания потока фрагментов, на котором генерируют, с помощью устройства подачи содержания, содержание потока фрагментов, содержащего блоки групп кадров (GOP), на основании данных источника содержания, формируемого в режиме реального времени; и
этап доставки, на котором осуществляют последовательное генерирование, с помощью устройства подачи содержания, блока передачи файлов в блоках вторых блоков данных, посредством подразделения последовательно сгенерированного содержания потока фрагментов на вторые блоки данных, имеющие более короткую продолжительность, чем GOP, имеющие произвольный доступ, и последовательную доставку на основе многоадресной передачи FLUTE, последовательно сгенерированного блока передачи файлов.
7. Носитель, хранящий программу, вызывающую функционирование компьютера, выполненного с возможностью доставки, на основе многоадресной передачи, содержания потока фрагментов, в качестве:
блока генерирования содержания потока фрагментов, выполненного с возможностью генерирования содержания потока фрагментов, содержащего блоки групп кадров (GOP), на основании данных источника содержания, формируемого в режиме реального времени; и
блока доставки, выполненного с возможностью последовательного генерирования блока передачи файлов в блоках вторых блоков данных посредством подразделения последовательно сгенерированного содержания потока фрагментов на вторые блоки данных, имеющие более короткую продолжительность, чем GOP, имеющие произвольный доступ, и последовательной доставки, на основе многоадресной передачи FLUTE, последовательно сгенерированного блока передачи файлов.
8. Устройство приема и воспроизведения содержания, доставленного устройством подачи содержания, выполненного с возможностью доставки на основе многоадресной передачи содержания потока фрагментов с использованием потока доставки файла посредством однонаправленной передачи (FLUTE), при этом
содержание потока фрагментов содержит блоки групп кадров (GOP) на основании данных источника содержания, формируемого в режиме реального времени,
блоки передачи файлов в блоках вторых блоков данных сгенерированы посредством подразделения последовательно сгенерированного потока фрагментов на вторые блоки данных, имеющие более короткую продолжительность, чем GOP, имеющие произвольный доступ, при этом
устройство приема характеризуется тем, что выполнено с возможностью приема блока передачи файлов, доставленного на основе многоадресной передачи FLUTE, выполнения буферизации, пока не принято множество блоков передачи файлов, соответствующих GOP, и воспроизведения блоков передачи файлов в блоках из множества блоков передачи файлов, соответствующих GOP.
9. Способ приема и воспроизведения содержания, доставленного устройством подачи содержания, выполненного с возможностью доставки на основе многоадресной передачи содержания потока фрагментов с использованием потока доставки файла посредством однонаправленной передачи (FLUTE), при этом
содержание потока фрагментов содержит блоки групп кадров (GOP) на основании данных источника содержания, формируемого в режиме реального времени,
блоки передачи файлов в блоках вторых блоков данных сгенерированы посредством подразделения последовательно сгенерированного потока фрагментов на вторые блоки данных, имеющие более короткую продолжительность, чем GOP, имеющие произвольный доступ, а способ содержит этапы, на которых
принимают блок передачи файлов, доставленный на основе многоадресной передачи FLUTE, выполнения буферизации, пока не принято множество блоков передачи файлов, соответствующих GOP, и воспроизводят блоки передачи файлов в блоках из множества блоков передачи файлов, соответствующих GOP.
10. Система подачи содержания, содержащая:
устройство подачи содержания для доставки на основе многоадресной передачи, содержания потока фрагментов с использованием потока доставки файла посредством однонаправленной передачи (FLUTE); и
оконечное устройство, выполненное с возможностью приема и воспроизведения содержания, доставленного устройством подачи содержания, причем
устройство подачи содержания содержит:
блок генерирования содержания потока фрагментов, выполненный с возможностью генерирования содержания потока фрагментов, содержащего блоки групп кадров (GOP) на основании данных источника содержания, формируемого в режиме реального времени, и
блок доставки, выполненный с возможностью последовательного генерирования блока передачи файлов в блоках вторых блоков данных посредством подразделения последовательно сгенерированного потока фрагментов на вторые блоки данных, имеющие более короткую продолжительность, чем GOP, имеющие произвольный доступ, и последовательной доставки на основе многоадресной передачи FLUTE, последовательно сгенерированного блока передачи файлов, а
оконечное устройство выполнено с возможностью приема блока передачи файлов, доставленного на основе многоадресной передачи FLUTE, осуществления буферизации, пока не принято множество блоков передачи файлов, соответствующих GOP, и воспроизведения блоков передачи файлов в блоках из множества блоков передачи файлов, соответствующих GOP.
US 2013091251 A1, 2013-04-11 | |||
US 2012259994 A1, 2012-10-11 | |||
US 2013060956 A1, 2013-03-07 | |||
T | |||
Paila et al, FLUTE - File Delivery over Unidirectional Transport, Internet Engineering Task Force (IETF), RFC 6726, November 2012 | |||
ВНЕДРЕНИЕ СООБЩЕНИЯ ОПИСАНИЯ СЕАНСА В СООБЩЕНИЕ ПРОТОКОЛА УПРАВЛЕНИЯ ПЕРЕДАЧЕЙ В РЕАЛЬНОМ МАСШТАБЕ ВРЕМЕНИ (RTCP) | 2004 |
|
RU2372647C2 |
Авторы
Даты
2018-05-30—Публикация
2014-07-08—Подача