РЕЖИМЫ БЫСТРОГО ДОСТУПА К ПРОИЗВОЛЬНОЙ ТОЧКЕ ДЛЯ СЕТЕВОЙ ПОТОКОВОЙ ПЕРЕДАЧИ КОДИРОВАННЫХ ВИДЕОДАННЫХ Российский патент 2015 года по МПК H04L29/06 

Описание патента на изобретение RU2571375C2

ОБЛАСТЬ ТЕХНИКИ

[0001] Настоящее раскрытие относится к сохранению и транспортировке закодированных мультимедийных данных.

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

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

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

[0004] После кодирования видеоданных, видеоданные могут быть объединены в пакеты для передачи или хранения. Видеоданные могут быть собраны в видеофайл, соответствующий любому из множества стандартов, таких как базовый формат медиафайла Международной организации по стандартизации (ISO) и их расширения, например, ITU-T H.264/AVC. Такие пакетизированные видеоданные могут быть транспортированы множеством способов, таких как передача по компьютерной сети, используя сетевую потоковую передачу.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

[0030] Фиг. 1 является блок-схемой, иллюстрирующей примерную систему, которая реализует способы для потоковой передачи данных по сети.

[0031] Фиг. 2 является концептуальной диаграммой, иллюстрирующей элементы примерного мультимедийного контента.

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

[0033] Фиг. 4 является концептуальной диаграммой, иллюстрирующей примерный мультимедийный контент, включающий в себя описание медиапрезентации (MPD) и различные группы представлений.

[0034] Фиг. 5 является концептуальной диаграммой, иллюстрирующей другой примерный мультимедийный контент, в котором данные MPD разделены на различные части для различных групп представления.

[0035] Фиг. 6 является концептуальной диаграммой, иллюстрирующей другой примерный мультимедийный контент, который может быть использован для поддержания режимов быстрого доступа к произвольной точке.

[0036] Фиг. 7 является концептуальной диаграммой, иллюстрирующей другой примерный мультимедийный контент, в котором сегменты могут включать в себя поля обновления MPD, чтобы указать, что MPD мультимедийного контента должно быть обновлено.

[0037] Фиг. 8 является последовательностью операций, иллюстрирующей примерный способ для обеспечения индикаций групп представлений посредством устройства сервера и для выбора групп представлений посредством устройства клиента, а также индивидуального представления в выбранной группе представлений.

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

[0039] Фиг. 10 является последовательностью операций, иллюстрирующей примерный способ для обеспечения посредством устройства сервера индикаций, что файл манифеста, такой как MPD, должен быть обновлен, и для обновления MPD посредством устройства клиента.

[0040] Фиг. 11 является последовательностью операций, иллюстрирующей примерный способ для построения и использования данных документа отчета о качестве восприятия (QoE).

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

[0041] В целом, настоящее раскрытие описывает способы для потоковой передачи мультимедийных данных, таких как аудио- и видеоданные, по сети. Способы настоящего раскрытия могут быть использованы вместе с динамической адаптивной потоковой передачей по HTTP (DASH). Настоящее раскрытие описывает различные способы, которые могут быть выполнены вместе с потоковой передачей по сети, любые из которых могут быть реализованы отдельно или в любой комбинации. Как описано более подробно ниже, различные устройства, выполняющие сетевую потоковую передачу, могут быть сконфигурированы для реализации способов настоящего раскрытия.

[0042] В соответствии с DASH и аналогичными способами для потоковой передачи данных по сети, мультимедийный контент (такой, как кино или другой аудио/видеоконтент, который также может включать в себя наложения текста или другие данные) может быть закодирован множеством способов и с множеством характеристик. Устройство подготовки контента может формировать множество представлений одного и того же мультимедийного контента. Каждое представление может соответствовать конкретному набору характеристик, таких как характеристики кодирования и визуализации, чтобы выдавать данные, используемые множеством различных устройств клиента с различными возможностями кодирования и визуализации. Кроме того, представления, имеющие разные скорости передачи битов, могут учитывать адаптацию полосы частот. Таким образом, устройство клиента может определить количество доступной полосы частот, которая в настоящее время является доступной, и выбрать представление на основании количества доступной полосы частот наряду с возможностями кодирования и визуализации устройства клиента.

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

[0044] Устройство подготовки контента может также обеспечивать отдельные местоположения сети для различных частей файла манифеста, таких как файл описания медиапрезентации (MPD) в формате, предписанном посредством 3GPP (проекта партнерства третьего поколения). Таким образом, различные части файла манифеста могут быть независимо адресуемыми, например, посредством различных унифицированных идентификаторов ресурса (идентификаторов URI), таких как унифицированные указатели ресурса (URL). Начальная часть файла манифеста может включать в себя URI, URL или другой идентификатор местоположения другой части файла манифеста. Например, первая часть файла манифеста может включать в себя описания общих характеристик групп представлений, как рассмотрено выше.

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

[0046] Дополнительно или альтернативно, часть файла манифеста может ссылаться на другую часть файла манифеста в других целях. Таким образом, часть файла манифеста может направлять устройство клиента на другую часть файла манифеста для того, чтобы вставить медиаданные удаленного периода в кино во время проигрывания. Удаленный период может соответствовать объявлению, в некоторых примерах. Эти способы могут быть использованы для предназначенного объявления в некоторых примерах. Устройство клиента может выдавать пользовательскую информацию, такую как пользовательский идентификатор, предпочтения пользователя для объявлений и/или пользовательскую демографическую информацию, в устройство сервера, которое может выбрать часть файла манифеста на основании пользовательской информации. Таким образом, при удалении ссылки внешняя часть файла манифеста может быть включена в первоначальный файл манифеста, например, посредством устройства клиента. Устройство сервера может обеспечить местоположение части файла манифеста, ассоциированной с медиаконтентом предназначенного объявления, устройству клиента. Устройство клиента может затем извлечь и предоставить данные медиаконтента предназначенного объявления до извлечения данных конкретного представления периода запрошенного мультимедийного контента. В этом способе первая часть файла манифеста для мультимедийного контента может ссылаться на вторую часть файла манифеста.

[0047] В некоторых случаях пользователь может желать воспроизвести видеоданные способом, кроме как от начала до конца. Например, пользователь может желать воспроизвести видеоданные в режимах ускоренной перемотки вперед или перемотки назад, или начиная с конкретной точки проигрывания. Такие режимы проигрывания видео, которые являются режимами, отличными от воспроизведения от начала до конца, могут называться "режимами быстрого доступа к произвольной точке". В режимах быстрого доступа к произвольной точке, так как не все видеоданные будут в конечном счете воспроизведены, не должны быть извлечены все видеоданные. Настоящее раскрытие обеспечивает способы также для поддержания режимов быстрого доступа к произвольной точке. Например, устройство подготовки контента может обеспечить индикации местоположений байтового диапазона кадров в видеоданных, используемых для режимов быстрого доступа к произвольной точке, таких как картинки мгновенного обновления декодера (IDR). В целом, картинки IDR могут быть декодированы независимо от данных любых кадров, внешних к самим картинкам IDR. Кадры или части картинок IDR в целом закодированы в режиме внутреннего предсказания, чтобы избежать зависимостей от других кадров или частей. В этом способе устройство клиента может извлечь информацию, указывающую местоположения картинок IDR, чтобы загрузить данные только для картинок IDR для использования в отображении видеоданных в режиме быстрого доступа к произвольной точке, таком как ускоренная перемотка вперед. Другие данные также могут быть включены во временную подпоследовательность. Данные могут быть скомпонованы в порядке кодирования таким образом, чтобы данные, используемые для ссылки, имели место раньше, чем (и в непрерывной последовательности байтов с) ссылка на данные. Например, I-кадр может предшествовать кадру P, который может продолжать один или более B-кадров, любые или все из которых могут предшествовать другим кадрам B, которые могут ссылаться на более ранний B-кадр иерархическим способом.

[0048] В некоторых примерах файл манифеста, такой как MPD, может требовать обновлений время от времени. Настоящее раскрытие также обеспечивает способы для сигнализации и приема индикаций, что MPD требует обновления. В частности, устройство подготовки контента может включать в себя данные в сегментах представлений, указывающих, что передача MPD требует обновления. Эти данные могут соответствовать первоначальному элементу сегмента, который может указывать обновления для применения к MPD и/или местоположениям, из которых устройство клиента может извлечь обновления для MPD. Обновления могут содержать полностью новое MPD или инкрементные обновления относительно предыдущего MPD для мультимедийного контента.

[0049] Настоящее раскрытие дополнительно включает в себя способы для обеспечения обратной связи от устройств клиента устройству сервера и/или устройству подготовки контента. Обратная связь может соответствовать, например, информации, указывающей данные, которые были извлечены для мультимедийного контента. Администратор или другой пользователь устройства подготовки контента и/или сервера могут использовать такую информацию множеством способов. Например, пользователь может конфигурировать сеть доставки контента (CDN), чтобы кэшировать данные наиболее часто доступных представлений в прокси устройствах CDN, таких как маршрутизаторы или другие устройства. В качестве другого примера, пользователь может определить представления, к которым наиболее часто получают доступ, для определения, должны ли некоторые представления быть добавлены или удалены к или из текущего мультимедийного контента, и/или как закодировать представления будущего мультимедийного контента.

[0050] Видеофайлы, такие как сегменты представлений медиаконтента, могут соответствовать видеоданным, инкапсулированным, согласно любому формату основного медиафайла ISO, формату файла масштабируемого кодирования видео, (SVC), формату файла усовершенствованного кодирования видео (AVC), формату файла проекта партнерства третьего поколения (3GPP) и/или формату файла мультивидового кодирования видео (MVC), или другим аналогичным форматам видеофайла.

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

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

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

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

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

[0056] Способы настоящего раскрытия могут применяться к протоколам сетевой потоковой передачи, например, потоковой передаче HTTP, например, в соответствии с динамической адаптивной потоковой передачей по HTTP (DASH). В потоковой передаче HTTP часто используемые операции включают в себя GET и частичный GET. Операция GET извлекает целый файл, ассоциированный с заданным унифицированным указателем ресурса (URL) или другим идентификатором, например, URI. Операция частичного GET принимает байтовый диапазон как параметр ввода и извлекает непрерывное количество байтов файла, соответствующего принятому байтовому диапазону. Таким образом, фрагменты кино могут быть обеспечены для потоковой передачи HTTP, так как операция частичного GET может получить один или более индивидуальных фрагментов кино. Должно быть отмечено, что во фрагменте кино может быть несколько фрагментов дорожки различных дорожек. В потоковой передаче HTTP представление медиа может быть структурированной коллекцией данных, которые доступны для клиента. Клиент может запрашивать и загружать информацию о медиаданных для презентации потокового обслуживания пользователю.

[0057] В примере потоковой передачи данных 3GPP, используя потоковую передачу HTTP, могут быть множественные представления для видео- и/или аудиоданных мультимедийного контента. Описание таких представлений может быть определено в структуре данных описания медиапрезентации (MPD). Представление медиа может соответствовать структурированной коллекции данных, которые доступны для устройства клиента потоковой передачи HTTP. Устройство клиента потоковой передачи HTTP может запрашивать и загружать информацию медиаданных для презентации потокового обслуживания пользователю устройства клиента. Представление медиа может быть описано в структуре данных MPD, которая может включать в себя обновления MPD.

[0058] Мультимедийный контент может содержать последовательность из одного или более периодов. Периоды могут быть определены элементом Period (Период) в MPD. Каждый период может иметь атрибут start (Начало) в MPD. MPD может включать в себя атрибут Начало и атрибут availableStartTime в течение каждого периода. Для услуг в реальном времени сумма атрибута Начало периода и атрибута MPD availableStartTime может определять время доступности периода в формате UTC, в частности, первый медиасегмент каждого представления в соответствующем периоде. Для услуги по требованию атрибут Начало первого периода может быть равен 0. В течение любого другого периода атрибут Начало может определять смещение по времени между временем начала соответствующего Периода относительно времени начала первого Периода. Каждый период может длиться до начала следующего Периода или до конца медиапрезентации в случае последнего периода. Время начала периода может быть точным. Оно может отражать фактическую синхронизацию, возникающую в результате воспроизведения медиа всех предшествующих периодов.

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

[0060] Представления конкретного периода могут быть назначены на группу, которая может быть указана атрибутом group (Группа) в MPD. Представления в одной и той же группе в целом считаются альтернативами друг другу. Например, каждое представление видеоданных в течение конкретного периода может быть назначено на одну и ту же группу таким образом, чтобы любое из представлений могло быть выбрано для декодирования, чтобы отображать видеоданные мультимедийного контента в течение соответствующего периода. Медиаконтент в одном периоде может быть представлен или посредством одного представления из группы 0, если есть, или посредством комбинации, главным образом, одного представления из каждой группы, отличной от нуля, в некоторых примерах. Данные синхронизации для каждого представления периода могут быть выражены относительно времени начала периода.

[0061] Представление может включать в себя один или более сегментов. Каждое представление может включать в себя сегмент инициализации, или каждый сегмент представления может быть самоинициализирующимся. При наличии, сегмент инициализации может содержать информацию инициализации для того, чтобы получить доступ к представлению. В целом, сегмент инициализации не содержит медиаданные. На сегмент можно уникально ссылаться посредством идентификатора, такого как унифицированный указатель ресурса (URL). MPD может обеспечить идентификаторы для каждого сегмента. В некоторых примерах MPD может также обеспечить байтовые диапазоны в форме атрибута range (Диапазон), который может соответствовать данным для сегмента в файле, доступном посредством URL или URI.

[0062] Каждое представление может также включать в себя один или более медиакомпонентов, где каждый медиакомпонент может соответствовать закодированной версии одного индивидуального типа медиа, такого как аудио, видео и/или синхронизированный текст (например, для передачи кодированных субтитров). Медиакомпоненты могут быть непрерывными через границы последовательных медиасегментов в пределах одного представления.

[0063] Фиг. 1 является блок-схемой, иллюстрирующей примерную систему 10, которая реализует способы для потоковой передачи медиаданных по сети. В этом примере система 10 включает в себя устройство 20 подготовки контента, устройство 60 сервера и устройство 40 клиента. Устройство 40 клиента и устройство 60 сервера соединены с возможностью связи посредством сети 74, которая может содержать Интернет. В некоторых примерах устройство 20 подготовки контента и устройство 60 сервера могут быть также соединены посредством сети 74 или другой сети, или могут быть непосредственно соединены с возможностью связи. В некоторых примерах устройство подготовки 20 контента и устройство 60 сервера могут содержать одно и то же устройство.

[0064] Устройство подготовки контента 20 в примере согласно Фиг. 1 содержит источник 22 аудио и источник 24 видео. Источник 22 аудио может содержать, например, микрофон, который формирует электрические сигналы, представляющие захваченные аудиоданные, которые должны быть закодированы аудиокодером 26. Альтернативно, источник 22 аудио может содержать запоминающий носитель, сохраняющий ранее записанные аудиоданные, генератор аудиоданных, такой как компьютеризированный синтезатор или любой другой источник аудиоданных. Источник 24 видео может содержать видеокамеру, которая формирует видеоданные, которые должны быть закодированы видеокодером 28, запоминающий носитель, закодированный ранее записанными видеоданными, блок генерирования видеоданных, такой как источник компьютерной графики или любой другой источник видеоданных. Устройство 20 подготовки контента не обязательно соединено с возможностью связи с устройством 60 сервера во всех примерах, но может сохранять мультимедийный контент для отдельного носителя, который считывается устройством 60 сервера.

[0065] Необработанные аудио- и видеоданные могут содержать аналоговые или цифровые данные. Аналоговые данные могут быть переведены в цифровую форму до кодирования аудиокодером 26 и/или видеокодером 28. Источник 22 аудио может получить аудиоданные от говорящего участника в то время как говорящий участник говорит, и источник 24 видео может одновременно получить видеоданные говорящего участника. В других примерах источник 22 аудио может содержать считываемый компьютером запоминающий носитель, содержащий сохраненные аудиоданные, и источник 24 видео может содержать считываемый компьютером запоминающий носитель, содержащий сохраненные видеоданные. В этом способе способы, описанные в настоящем раскрытии, могут применяться к интерактивным аудио- и видеоданным, аудио- и видеоданным потоковой передачи, в режиме реального времени или к заархивированным, предварительно записанным аудио- и видеоданным.

[0066] Аудиокадры, которые соответствуют видеокадрам, в целом являются аудиокадрами, содержащими аудиоданные, которые были захвачены источником 22 аудио одновременно с видеоданными, захваченными источником 24 видео, который содержится в видеокадрах. Например, в то время как говорящий участник в целом производит аудиоданные посредством разговора, источник 22 аудио захватывает аудиоданные, и источник 24 видео захватывает видеоданные говорящего участника в то же самое время, то есть, в то время как источник 22 аудио захватывает аудиоданные. Следовательно, аудиокадр может временно соответствовать одному или более конкретным видеокадрам. Соответственно, аудиокадр, соответствующий видеокадру, в целом соответствует ситуации, в которой аудиоданные и видеоданные были захвачены в то же самое время и для которой аудиокадр и видеокадр содержат, соответственно, аудиоданные и видеоданные, которые были захвачены в то же самое время.

[0067] В некоторых примерах аудиокодер 26 может кодировать временную отметку в каждом закодированном аудиокадре, который представляет время, в которое были записаны аудиоданные для закодированного аудиокадра, и аналогично, видеокодер 28 может кодировать временную отметку в каждом закодированном видеокадре, который представляет время, в которое были записаны видеоданные для закодированного видеокадра. В таких примерах аудиокадр, соответствующий видеокадру, может содержать аудиокадр, содержащий временную отметку, и видеокадр, содержащий одну и ту же временную отметку. Устройство 20 подготовки контента может включать в себя встроенный генератор синхросигнала, от которого аудиокодер 26 и/или видеокодер 28 могут генерировать временные отметки, или которые источник 22 аудио и источник 24 видео могут использовать для ассоциации аудио- и видеоданных, соответственно, с временной отметкой.

[0068] В некоторых примерах источник 22 аудио может посылать данные в аудиокодер 26 соответственно моменту времени, в который были записаны аудиоданные, и источник 24 видео может посылать данные в видеокодер 28, соответственно моменту времени, в который были записаны видеоданные. В некоторых примерах аудиокодер 26 может кодировать идентификатор последовательности в закодированных аудиоданных, чтобы указать относительное временное упорядочение закодированных аудиоданных, но без необходимости указывать абсолютное время, в которое были записаны аудиоданные, и аналогично, видеокодер 28 может также использовать идентификаторы последовательности, чтобы указать относительное временное упорядочение закодированных видеоданных. Аналогично в некоторых примерах, идентификатор последовательности может быть отображен или иначе коррелирован с временной отметкой.

[0069] Аудиокодер 26 в целом формирует поток закодированных аудиоданных, в то время как видеокодер 28 формирует поток закодированных видеоданных. Каждый индивидуальный поток данных (или аудио или видео) может называться элементарным потоком. Элементарный поток является единственным, закодированным в цифровой форме (возможно сжатым) компонентом представления. Например, закодированная видео- или аудиочасть представления может быть элементарным потоком. Элементарный поток может быть преобразован в объединенный в пакеты элементарный поток (PES) до инкапсуляции в видеофайле. В пределах одного и того же представления может быть использован ID потока, чтобы отличить PES-пакеты, принадлежащие одному элементарному потоку, от других. Основной единицей данных элементарного потока является пакет пакетизированного элементарного потока (PES). Таким образом, закодированные видеоданные в целом соответствуют элементарным видеопотокам. Аналогично, аудиоданные соответствуют одному или более соответствующим элементарным потокам.

[0070] Как со многими стандартами кодирования видео, H.264/AVC определяет синтаксис, семантику и процесс декодирования для безошибочных битовых потоков, любой из которых соответствует некоторому профилю или уровню. H.264/AVC не определяет кодер, но кодеру ставят задачу с гарантией, что генерированные битовые потоки совместимы со стандартом для декодера. В контексте стандарта кодирования видео "профиль" соответствует поднабору алгоритмов, признаков или инструментов и ограничений, которые относятся к ним. Как определено в соответствии со стандартом H.264, например, "профиль" является поднабором всего синтаксиса битового потока, который определен в соответствии со стандартом H.264. "Уровень" соответствует ограничениям потребления ресурсов декодера, таких как, например, память декодера и вычисление, которые относятся к разрешению картинок, скорости передачи битов и скорости обработки макроблока (MB). Профиль может быть сигнализирован со значением profile_idc (индикатор профиля), в то время как уровень может быть сигнализирован со значением level_idc (индикатор уровня).

[0071] Стандарт H.264, например, распознает, что в пределах границ, наложенных синтаксисом заданного профиля, все еще возможно потребовать большого изменения в производительности кодеров и декодеров в зависимости от значений, принятых элементами синтаксиса в битовом потоке, таких как указанный размер декодированных картинок. Стандарт H.264 дополнительно распознает, что во многих приложениях ни практично, ни экономично реализовывать декодер, способный заниматься всеми гипотетическими использованиями синтаксиса в пределах конкретного профиля. Соответственно, стандарт H.264 определяет "уровень" как указанный набор ограничений, наложенных на значения элементов синтаксиса в битовом потоке. Эти ограничения могут быть простыми пределами относительно значений. Альтернативно, эти ограничения могут принимать форму ограничений на арифметические комбинации значений (например, ширина картинки, умноженная на высоту картинки, умноженная на количество картинок, декодированных в секунду). Стандарт H.264 дополнительно обеспечивает, что индивидуальные реализации могут поддерживать разный уровень для каждого поддержанного профиля.

[0072] Декодер, соответствующий профилю, обычно поддерживает все признаки, определенные в профиле. Например, в качестве признака кодирования, кодирование В-картинки не поддерживается в базовом профиле H.264/AVC, но поддерживается в других профилях H.264/AVC. Декодер, соответствующий уровню, должен быть способен декодировать любой битовый поток, который не требует ресурсов вне ограничений, определенных в уровне. Определения профилей и уровней могут быть полезны для интерпретируемости. Например, во время видеопередачи пары определения профиля и уровня могут быть установлены и согласованы для целого сеанса передачи. Более конкретно, в H.264/AVC уровень может определить, например, ограничения относительно количества макроблоков, которое должно быть обработано, размера декодированного буфера картинки (DPB), размера кодированного буфера картинки (CPB), диапазона вектора движения по вертикали, максимального количества векторов движения в двух последовательных блоках MB, и может ли B-блок иметь разделение подмакроблока меньше чем 8x8 пикселей. В этом способе декодер может определить, способен ли декодер должным образом декодировать битовый поток.

[0073] Стандарты сжатия видео, такие как ITU-T H.261, H.262, H.263, MPEG-1, MPEG-2, H.264/MPEG-4, часть 10, и развивающийся стандарт кодирования видео с высокой эффективностью (HEVC) используют временное предсказание с компенсацией движения, чтобы уменьшить временную избыточность. Кодер, такой как видеокодер 28, может использовать предсказание с компенсацией движения от некоторых ранее закодированных картинок (также называемых в настоящем описании кадрами), чтобы предсказать текущие закодированные картинки согласно векторам движения. В обычном кодировании видео есть три главных типа картинок. Ими являются intra-кодированная картинка ("I-картинки" "или" I-кадры"), предсказанные картинки ("P-картинки" или "P-кадры") и двунаправленные предсказанные картинки ("В-картинки" или "B-кадры"). P-картинки могут использовать опорную картинку перед текущей картинкой во временном порядке. В В-картинке каждый блок В-картинки может быть предсказан из одной или двух опорных картинок. Эти опорные картинки могут быть расположены до или после текущей картинки во временном порядке.

[0074] Наборы параметров в целом содержат информацию заголовка уровня последовательности в наборах параметров последовательности (SPS) и нечасто изменяющуюся информацию заголовка на уровне картинки в наборах параметров картинки (PPS). С наборами параметров эта нечасто изменяющаяся информация не должна повторяться для каждой последовательности или картинки; следовательно, может быть повышена эффективность кодирования. Кроме того, использование наборов параметров может позволить внеполосную передачу информации заголовка, избегая потребности в избыточных передачах, чтобы достичь устойчивости к ошибкам. При внеполосной передаче блоки набора параметров NAL передаются по отличному каналу, чем другие блоки NAL.

[0075] В примере согласно Фиг. 1 блок 30 инкапсуляции устройства 20 подготовки контента принимает элементарные потоки, содержащие закодированные видеоданные, от видеокодера 28 и элементарные потоки, содержащие закодированные аудиоданные, от аудиокодера 26. В некоторых примерах видеокодер 28 и аудиокодер 26 могут включать в себя формирователи пакетов для формирования пакетов PES из закодированных данных. В других примерах видеокодер 28 и аудиокодер 26 могут связываться с соответствующими формирователями пакетов для формирования пакетов PES из закодированных данных. В еще других примерах блок 30 инкапсуляции может включать в себя формирователи пакетов для формирования пакетов PES из закодированных аудио- и видеоданных.

[0076] Видеокодер 28 может кодировать видеоданные мультимедийного контента множеством способов, чтобы сформировать различные представления мультимедийного контента с различными скоростями передачи битов и с различными характеристиками, такими как пиксельные разрешения, скорости передачи кадров, соответствие различным стандартам кодирования, соответствие различным профилям и/или уровням профилей для различных стандартов кодирования, представления, имеющие один или множественные виды (например, для двумерного или трехмерного проигрывания), или другие такие характеристики. Используемое в настоящем раскрытии представление может содержать комбинацию аудиоданных и видеоданных, например, один или более элементарный поток аудио и один или более элементарных потоков видео. Каждый пакет PES может включать в себя stream_id, который идентифицирует элементарный поток, которому принадлежит пакет PES. Блок 30 инкапсуляции отвечает за сбор элементарных потоков в видеофайлы различных представлений.

[0077] Блок 30 инкапсуляции принимает пакеты PES для элементарных потоков представления от аудиокодера 26 и видеокодера 28 и формирует соответствующие блоки уровня абстракции сети (NAL) из пакетов PES. В примере H.264/AVC (усовершенствованное кодирование видео) закодированные видеосегменты организованы в блоки NAL, которые обеспечивают "благоприятное для сети" видеопредставление, адресующее приложения, такие как видеотелефония, хранение, вещание или потоковая передача. Блоки NAL могут быть отнесены к категориям: блоки NAL уровня кодирования видео (VCL) и блоки NAL не-VCL. Блоки VCL могут содержать основной механизм сжатия и могут включать в себя блок, макроблок и/или данные уровня части. Другие блоки NAL могут быть блоками NAL не-VCL. В некоторых примерах закодированная картинка в одном временном случае, обычно предоставленная как первичная закодированная картинка, может содержаться в блоке доступа, который может включать в себя один или более блоки NAL.

[0078] Блоки NAL не-VCL могут включать в себя блоки NAL набора параметров и блоки NAL SEI, среди прочего. Наборы параметров могут содержать информацию заголовка уровня последовательности (в наборах параметров последовательности (SPS)) и нечасто изменяющуюся информацию заголовка уровня картинки (в наборах параметров картинки (PPS)). Посредством наборов параметров (например, PPS и SPS) нечастое изменение информации не должно повторяться для каждой последовательности или картинки, следовательно, эффективность кодирования может быть повышена. Кроме того, использование наборов параметров может позволить внеполосную передачу важной информации заголовка, избегая потребности в избыточных передачах для устойчивости к ошибкам. В примерах внеполосной передачи блоки NAL набора параметров могут быть переданы по отличному каналу, чем другие блоки NAL, такие как блоки NAL SEI.

[0079] Дополнительная информация усовершенствования (SEI) может содержать информацию, которая не является необходимой для декодирования закодированных выборок картинки от блоков NAL VCL, но может помочь в процессах, связанных с декодированием, отображением, устойчивостью к ошибкам и другими задачами. Сообщения SEI могут содержаться в блоках NAL не-VCL. Сообщения SEI являются нормативной частью спецификаций некоторых стандартов и, таким образом, не всегда являются обязательными для реализации декодера, совместимой со стандартами. Сообщения SEI могут быть сообщениями SEI уровня последовательности или сообщениями SEI уровня картинки. Некоторая информация уровня последовательности может содержаться в сообщениях SEI, таких как сообщения SEI информации масштабируемости в примере SVC и сообщения SEI информации масштабируемости вида в MVC. Эти примерные сообщения SEI могут передавать информацию относительно, например, извлечения точек операции и характеристик точек операции. В дополнение, блок 30 инкапсуляции может формировать файл манифеста, такой как блок описания медиапрезентации (MPD), который описывает характеристики представления. Блок 30 инкапсуляции может форматировать MPD согласно расширяемому языку разметки (XML).

[0080] Блок 30 инкапсуляции может выдавать данные для одного или более представлений мультимедийного контента, наряду с файлом манифеста (например, MPD), в интерфейс 32 вывода. Интерфейс 32 вывода может содержать интерфейс сети или интерфейс для записи на запоминающий носитель, такой как интерфейс универсальной последовательной шины (USB), компакт-диск или DVD записывающее устройство, или устройство для записи на DVD, интерфейс для магнитных или флеш запоминающих носителей, или другие интерфейсы для хранения или передачи медиаданных. Блок 30 инкапсуляции может выдавать данные каждого из представлений мультимедийного контента в интерфейс 32 вывода, который может посылать данные на устройство 60 сервера с помощью передачи сети или запоминающих носителей. В примере Фиг. 1 устройство 60 сервера включает в себя запоминающий носитель 62, который сохраняет различный мультимедийный контент 64, включающий в себя соответствующий файл 66 манифеста и одно или более представлений 68A-68N (представления 68). В соответствии со способами настоящего раскрытия, части файла 66 манифеста могут быть сохранены в отдельных местоположениях, например, местоположениях запоминающего носителя 62 или другого запоминающего носителя, потенциально другого сетевого устройства 74, например, прокси устройства.

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

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

[0083] Файл 66 манифеста может также (то есть, дополнительно или альтернативно) сигнализировать информацию режима быстрого доступа к произвольной точке для одного или более представлений 68. В некоторых примерах, одно или более представлений 68 может включать в себя соответствующую временную подпоследовательность для поддержания режима быстрого доступа к произвольной точке. Режим быстрого доступа к произвольной точке в целом соответствует режиму проигрывания для представления, в котором данные представления не воспроизводятся от начала до конца, но вместо этого, могут начаться в указанном временном местоположении (например, учитывать поиск конкретного временного местоположения) или пропустить один или более кадров или в прямом, или обратном временном направлении (например, ускоренная перемотка вперед или перемотка назад).

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

[0085] В некоторых примерах устройство 20 подготовки контента может подготовить медиаконтент в качестве записанного медиаконтента, например, для «живых» (в реальном времени) услуг. Блоку 30 инкапсуляции в некоторых случаях может быть необходимо периодически обновлять файл манифеста для медиаконтента. Блок 30 инкапсуляции может даже обновить файл манифеста в пределах конкретного периода медиаконтента. В соответствии со способами настоящего раскрытия, блок 30 инкапсуляции может сформировать сегменты представления, которые включают в себя данные, указывающие, что файл манифеста должен быть обновлен. Блок 30 инкапсуляции может обеспечить обновления непосредственно в сегментах или в отдельном местоположении, от которого устройства клиента, такие как устройство клиента 40, могут извлечь обновления для файла манифеста. В этом способе, когда файл 66 манифеста должен быть обновлен в пределах конкретного периода мультимедийного контента 64, блок 30 инкапсуляции может сформировать сегмент одного или более представлений 68, указывающих, что файл 66 манифеста должен быть обновлен.

[0086] В некоторых примерах файл 66 манифеста может включать в себя данные, чтобы вставить данные удаленного периода в мультимедийный контент 64 во время проигрывания. Например, вместо кодирования объявлений в мультимедийном контенте 64, устройство 20 подготовки контента может подготовить один или более отдельные медиаконтенты объявления, которые должны быть включены в мультимедийный контент 64 во время проигрывания. Устройство 40 клиента в некоторых примерах может выдать специфичную для пользователя информацию таким образом, чтобы объявления могли быть предназначены для пользователя устройства 40 клиента таким образом, чтобы пользователь устройства 40 клиента принял объявления, которые являются самыми предпочтительными и информативными для пользователя. В ответ на набор пользовательской информации устройство 60 сервера может обеспечить часть предназначенного объявления файла манифеста устройству 40 клиента, которое может вынуждать устройство 40 клиента извлекать данные мультимедийного контента предназначенного объявления. В этом способе два или более зрителей одного и того же мультимедийного контента 64 могут принять различные целевые объявления таким образом, чтобы объявления были наиболее релевантными и полезными для пользователей.

[0087] Устройство 60 сервера включает в себя блок 70 обработки запроса и интерфейс 72 сети. В некоторых примерах устройство 60 сервера может включать в себя множество интерфейсов сети. Кроме того, любые из признаков устройства 60 сервера могут быть реализованы на других устройствах сети доставки контента, таких как маршрутизаторы, мосты, прокси устройства, переключатели или другие устройства. В некоторых примерах промежуточные устройства сети доставки контента могут кэшировать данные мультимедийного контента 64 и включать в себя компоненты, которые соответствуют по существу таковым из устройства 60 сервера. В целом, интерфейс 72 сети сконфигурирован для посылки и приема данных с помощью сети 74.

[0088] Блок 70 обработки запроса сконфигурирован для приема запросов сети от устройств клиента, таких как устройство 40 клиента, для данных запоминающего носителя 72. Например, блок 70 обработки запроса может реализовать гипертекстовый протокол передачи (HTTP), версия 1.1, как описано в RFC 2616, "Hypertext Transfer Protocol - HTTP/1.1" R. Fielding и другие, Network Working Group, IETF, июнь 1999. Таким образом, блок 70 обработки запроса может быть сконфигурирован для приема запросов GET или частичных GET HTTP и выдачи данных мультимедийного контента 64 в ответ на запросы. Запросы могут определить сегмент одного из представлений 68, например, используя URL сегмента. В некоторых примерах запросы могут также определить один или более байтовых диапазонов сегмента, таким образом, содержащие запросы частичного GET. Блок 70 обработки запроса может быть дополнительно сконфигурирован для обслуживания запросов HEAD HTTP, чтобы выдать данные заголовка сегмента одного из представлений 68. В любом случае, блок 70 обработки запроса может быть сконфигурирован для обработки запросов, чтобы выдать запрошенные данные в запрашивающее устройство, такое как устройство 40 клиента.

[0089] Как иллюстрировано в примере на Фиг. 1, мультимедийный контент 64 включает в себя файл 66 манифеста, который может соответствовать описанию медиапрезентации (MPD). Файл 66 манифеста может содержать описания различных альтернативных представлений 68 (например, видеоуслуг с различными качествами), и описание может включать в себя, например, информацию кодека, значение профиля, значение уровня, скорость передачи битов и другие описательные характеристики представлений 68. Устройство 40 клиента может извлечь MPD медиапрезентации, чтобы определить, как получить доступ к сегментам представлений 68.

[0090] В частности, веб-приложение 52 может извлечь данные конфигурации (не показаны) устройства 40 клиента, чтобы определить возможности декодирования видеодекодера 48 и возможности визуализации вывода 44 видео. Данные конфигурации могут также включать в себя любое одно или все из: языковое предпочтение, выбранное пользователем устройства 40 клиента, один или более ракурсы камеры, соответствующие предпочтению глубины, установленному пользователем устройства 40 клиента, и/или предпочтению рейтинга, выбранному пользователем устройства 40 клиента. Веб-приложение 52 может содержать, например, веб-браузер или медиаклиент, сконфигурированный для подачи запросов GET и частичного GET HTTP. Веб-приложение 52 может соответствовать командам программного обеспечения, выполненным одним или более процессорами или блоками обработки (не показаны) устройства 40 клиента. В некоторых примерах все или части функциональных возможностей, описанных относительно веб-приложения 52, могут быть реализованы в аппаратном обеспечении или комбинации аппаратного обеспечения, программного обеспечения и/или программно-аппаратного обеспечения, где необходимое аппаратное обеспечение может быть обеспечено для выполнения команд для программного обеспечения или программно-аппаратного обеспечения.

[0091] Веб-приложение 52 может сравнивать возможности декодирования и визуализации устройства 40 клиента с характеристиками представлений 68, указанными информацией файла 66 манифеста. Веб-приложение 52 может первоначально извлекать по меньшей мере часть файла 66 манифеста, чтобы определить характеристики представлений 68. Например, веб-приложение 52 может запросить часть файла 66 манифеста, который описывает характеристики одной или более групп представлений, в соответствии со способами настоящего раскрытия. Веб-приложение 52 может выбирать поднабор представлений 68 (например, группу представлений), имеющих характеристики, которые могут быть удовлетворены возможностями кодирования и визуализации устройства 40 клиента. Веб-приложение 52 может затем определить скорости передачи битов для представлений в группе представлений, чтобы определить в настоящее время доступное количество полосы частот сети и извлечь сегменты от одного из представлений, имеющих скорость передачи битов, которая может быть удовлетворена полосой частот сети.

[0092] В целом, представления с более высокой скоростью передачи битов могут привести к более высокому качественному проигрывания видео, в то время как представления с более низкой скоростью передачи битов могут обеспечить достаточно качественное проигрывание видео, когда доступная полоса частот сети уменьшается. Соответственно, когда доступная полоса частот сети является относительно высокой, веб-приложение 52 может извлечь данные из представлений с относительно высокой скоростью передачи битов, в то время как, когда доступная полоса частот сети является низкой, веб-приложение 52 может извлечь данные из представлений относительно с низкой скоростью передачи битов. В этом способе устройство 40 клиента может передавать в виде потока мультимедийные данные по сети 74, также приспосабливаясь к изменяющейся доступности полосы частот сети в сети 74.

[0093] Как было отмечено выше, в некоторых примерах устройство 40 клиента может выдавать пользовательскую информацию, например, в устройство 60 сервера или другие устройства сети доставки контента. Веб-приложение 52, например, может собрать пользовательский идентификатор, предпочтения пользователя и/или пользовательскую демографическую информацию, и выдать такую пользовательскую информацию в устройство 60 сервера. Веб-приложение 52 может затем принять файл манифеста, ассоциированный с медиаконтентом предназначенного объявления, чтобы использовать для вставки данных от медиаконтента предназначенного объявления в медиаданные запрошенного медиаконтента во время проигрывания.

[0094] Время от времени пользователь 40 устройства клиента может взаимодействовать с веб-браузером 52, используя пользовательские интерфейсы устройства 40 клиента, такие как клавиатура, мышь, стилус, интерфейс сенсорного экрана, кнопки или другие интерфейсы для запроса, чтобы выбранное одно из представлений 68 было воспроизведено в режиме быстрого доступа к произвольной точке. Например, пользователь может выбрать конкретное временное местоположение, от которого начать воспроизведение, или пропустить, или найти конкретное временное местоположение. В качестве другого примера, пользователь может выбрать быстро перемотать вперед или перемотать назад представление.

[0095] В ответ на такие запросы от пользователя веб-приложение 52 может определить, включает ли в себя одно из представлений 68 временную подпоследовательность, чтобы выполнить запрошенный режим быстрого доступа к произвольной точке. В качестве примера, пользователь может выбрать воспроизвести видеоданные в режиме ускоренной перемотки вперед. Вместо извлечения всех данных сегментов представления, веб-приложение 52 может определить местоположения данных представления, соответствующих временной подпоследовательности представления. Данные временной подпоследовательности могут соответствовать, например, набору мгновенного обновления декодера (IDR) картинки представления.

[0096] Может иметь место приблизительная временная продолжительность между картинками IDR представления, например, 2 секунды, 10 секунд или другие приблизительные временные продолжительности. Кроме того, картинки IDR могут быть закодированы в режиме внутри предсказания, и, таким образом, веб-приложение 52 не должно извлекать данные, кроме картинок IDR. Веб-приложение 52 может вынуждать картинки IDR отображаться с той же скоростью передачи кадра, с которой будут иначе отображены видеоданные представления. Однако, так как много кадров данных между картинками IDR могут быть пропущены, получающиеся в результате видеоданные могут быть проиграны с увеличенной скоростью передачи кадра, таким образом, достигая желаемого режима быстрого доступа к произвольной точке.

[0097] Веб-приложение 52 может определить местоположения данных для временной подпоследовательности, используя различные способы. В некоторых примерах веб-приложение 52 может анализировать данные файла 66 манифеста, чтобы определить местоположения картинки IDR. Местоположения картинок IDR могут быть указаны, используя байтовые диапазоны в пределах сегментов конкретного представления. В других примерах конкретное поле сегментов представлений, таких как поле индекса подфрагмента (также называемое полем индекса подсегмента), может обеспечить индикации местоположений данных для временной подпоследовательности. Например, поле индекса подфрагмента может включать в себя данные, представляющие байтовые диапазоны для картинок IDR в пределах соответствующего сегмента. В еще других примерах как файл 66 манифеста, так и представления 68 могут включать в себя информацию, используемую веб-приложением 52, чтобы извлечь данные для временной подпоследовательности. В любом случае веб-приложение 52 может определить, что байтовые диапазоны картинок IDR в сегментах, чтобы построить запросы частичного GET для картинок IDR, чтобы избежать извлечения данных, которые не будут использованы для декодирования или отображения.

[0098] В некоторых примерах блок 30 инкапсуляции может формировать сегменты таким образом, чтобы картинки IDR были смежными в пределах сегментов. Таким образом, блок 30 инкапсуляции может гарантировать, что байты сегментов, соответствующих картинкам IDR, являются смежными, без вмешивающихся байтов для других типов картинок. В этом способе веб-приложение 52 должно определить только единственный байтовый диапазон сегментов представления, чтобы извлечь данные для временной подпоследовательности представления. В некоторых примерах картинки открытого обновления декодера (ODR) могут быть также использованы для выполнения режимов быстрого доступа к произвольной точке.

[0099] В некоторых примерах веб-приложение 52 может определить, что часть принятого сегмента указывает, что файл манифеста должен быть обновлен. Веб-приложение 52 может быть сконфигурировано для анализа конкретной части каждого сегмента, такого как часть заголовка или другая первоначальная часть сегмента, чтобы определиьт, указывает ли сегмент, что файл манифеста должен быть обновлен. Когда сегмент указывает, что файл манифеста должен быть обновлен, веб-приложение 52 может обновить локально сохраненную копию файла манифеста, или используя данные сегмента, или посредством извлечения данных, чтобы обновить файл манифеста от удаленного местоположения, например, от сервера 60. После обновления файла манифеста веб-приложение 52 может предоставлять будущие запросы данных представлений 68 на основании данных обновленного файла манифеста.

[0100] В качестве примера, устройство 20 подготовки контента может кодировать интерактивные медиаданные, такие как интерактивное спортивное событие, политическое событие или другое важное событие, которое обычно передается в реальном или почти реальном времени, а не записывается заранее. В таких случаях сегменты, соответствующие медиаданным до конкретного времени, могут быть назначенными идентификаторами, такими как URL, включенными в первоначальный файл манифеста. Однако после истечения промежутка времени, сегменты после конкретного времени могут быть закодированными и назначенными идентификаторами, такими как URL. Блок 30 инкапсуляции устройства 20 подготовки контента может обеспечить указатели URL для сегментов после конкретного времени обновленному файлу описания. Соответственно, чтобы определить, как извлечь сегменты после конкретного времени, устройство 40 клиента может принять информацию, указывающую обновленный файл манифеста, чтобы построить запросы для извлечения сегментов после конкретного времени.

[0101] В некоторых примерах сегмент может указывать, является ли он последним сегментом представления. Когда сегмент является последним сегментом представления, новый файл манифеста должен быть извлечен, чтобы определить представления последующего периода соответствующего мультимедийного контента. Соответственно, когда веб-приложение 52 определяет, что сегмент является последним сегментом представления в периоде мультимедийного контента, веб-приложение 52 может извлечь обновленный файл манифеста для мультимедийного контента, например, обновленную версию файла 66 манифеста мультимедийного контента 64.

[0102] В некоторых примерах устройство 40 клиента может поддерживать структуру данных, указывающую конкретные представления 68, от которых устройство 40 клиента запросило данные для мультимедийного контента 64. Устройство 40 клиента может также поддерживать индикации относительно того, что было точно воспроизведено и в какое время. Таким образом, структура данных может выдавать информацию, указывающую время начала и конца, как в режиме реального (или "физического") времени, так и во времени презентации. Структура данных может дополнительно выдавать информацию, указывающую первоначальное время запуска и начало проигрывания. После завершения проигрывания мультимедийного контента 64, устройство 40 клиента может послать структуру данных на устройство 60 сервера и/или устройство 20 подготовки контента. Устройство 60 сервера и/или устройство 20 подготовки контента могут использовать информацию, принятую от устройства 40 клиента, чтобы определить более оптимальные способы улучшения качества восприятия, например, чтобы уменьшить паузы в проигрывании.

[0103] Интерфейс 54 сети может принимать и выдавать данные сегментов выбранного представления в веб-приложение 52, которое, в свою очередь, может выдавать сегменты в блок 50 декапсулирования. Блок 50 декапсулирования может декапсулировать элементы видеофайла на составляющие потоки PES, депакетировать потоки PES, чтобы извлечь закодированные данные, и послать закодированные данные или в аудиодекодер 46, или в видеодекодер 48, в зависимости от того, являются ли закодированные данные частью аудио- или видеопотока, например, как указано заголовками пакета PES потока. Аудиодекодер 46 декодирует закодированные аудиоданные и посылает декодированные аудиоданные в вывод 42 аудио, в то время как видеодекодер 48 декодирует закодированные видеоданные и посылает декодированные видеоданные, которые могут включать в себя множество видов потока, в вывод 44 видео.

[0104] Видеокодер 28, видеодекодер 48, аудиокодер 26, аудиодекодер 46, блок 30 инкапсуляции, веб-приложение 52 и блок 50 декапсулирования могут быть реализованы как любое из множества, в которое входят подходящая схема обработки, в зависимости от конкретного случая, такая как один или более микропроцессоры, цифровые сигнальные процессоры (процессоры DSP), специализированные интегральные схемы (схемы ASIC), программируемые пользователем вентильные матрицы (матрицы FPGA), дискретная логическая схема, программное обеспечение, аппаратное обеспечение, программно-аппаратное обеспечение или любая их комбинация. Каждый видеокодер 28 и видеодекодер 48 может быть включен в один или более кодеров или декодеров, любой из которых может интегрироваться как часть объединенного видеокодера/декодера (CODEC). Аналогично, каждый аудиокодер 26 и аудиодекодер 46 может быть включен в один или более кодеров или декодеров, любой из которых может интегрироваться как часть объединенного CODEC. Устройство, включающее в себя видеокодер 28, видеодекодер 48, аудиокодер 26, аудиодекодер 46, блок 30 инкапсуляции, веб-приложение 52 и/или блок 50 декапсулирования, может содержать интегральную схему, микропроцессор и/или устройство беспроводной связи, такое как сотовый телефон.

[0105] Фиг. 2 является концептуальной диаграммой, иллюстрирующей элементы примерного мультимедийного контента 100. Мультимедийный контент 100 может соответствовать мультимедийному контенту 64 (Фиг. 1) или другому мультимедийному контенту, сохраненному в памяти 62. В примере на Фиг. 2 мультимедийный контент 100 включает в себя описание 102 медиапрезентации (MPD) и множество представлений 110-120. Представление 110 включает в себя дополнительные данные 112 заголовка и делится на сегменты 114A-114N (сегменты 114), в то время как представление 120 включает в себя дополнительные данные 122 заголовка и сегменты 124A-124N (сегменты 124). Буква N используется для определения последнего фрагмента кино в каждом из представлений 110, 120, как удобство. В некоторых примерах может быть разное количество фрагментов кино между представлениями 110, 120.

[0106] MPD 102 может содержать структуру данных, отдельную от представлений 110-120. MPD 102 может соответствовать файлу 66 манифеста согласно Фиг. 1. Аналогично, представления 110-120 могут соответствовать представлениям 68 согласно Фиг. 1. В целом, MPD 102 может включать в себя данные, которые в целом описывают характеристики представлений 110-120, такие как характеристики кодирования и визуализации, группы представлений, профиль, которому соответствует MPD 102, информация типа текста, информация угла камеры, информация рейтинга, информация режима быстрого доступа к произвольной точке (например, информация, указывающая представления, которые включают в себя временные подпоследовательности) и/или информация для извлечения удаленных периодов (например, для вставки предназначенного объявления в медиаконтент во время проигрывания). Удаленные периоды могут также называться внешними периодами. Фиг. 4-7, рассмотренные более подробно ниже, иллюстрируют различные примеры мультимедийного контента с различными элементами, включенными в любой из двух или оба вместе из: MPD так и/или представления (например, в сегментах представлений или данных заголовка представлений). Любые из описаний MPD Фиг. 4-7 могут по существу соответствовать MPD 102 Фиг. 2.

[0107] Данные 112 заголовка, если есть, могут описывать характеристики сегментов 114, например, временные местоположения случайных точек доступа, какой из сегментов 114 включает в себя случайные точки доступа, смещения в байтах к случайным точкам доступа в пределах сегментов 114, унифицированные указатели ресурса (URL) сегментов 114 или другие аспекты сегментов 114. Данные 122 заголовка, если есть, могут описывать аналогичные характеристики для сегментов 124. Дополнительно или альтернативно, такие характеристики могут быть полностью включены в пределы MPD 102.

[0108] Сегменты 114 включают в себя одну или более закодированные видеовыборки, каждая из которых может включать в себя кадры или части видеоданных. Каждая из закодированных видеовыборок сегментов 114 может иметь аналогичные характеристики, например, высоту, ширину и требования к полосе частот. Такие характеристики могут быть описаны данными MPD 102, хотя такие данные не иллюстрированы в примере Фиг. 2. MPD 102 может включать в себя характеристики, которые описаны спецификацией 3GPP, с дополнением любой или всех из: сигнализированной информации, описанной в настоящем раскрытии.

[0109] Каждый из сегментов 114, 124 может быть ассоциирован с уникальным унифицированным идентификатором ресурса (URI), например, унифицированным указателем ресурса (URL). Таким образом, каждый из сегментов 114, 124 может независимо восстанавливаться, используя сетевой протокол потоковой передачи, такой как DASH. В этом способе устройство предназначения (адресат), такое как устройство 40 клиента, может использовать запрос GET HTTP, чтобы извлечь сегменты 114 или 124. В некоторых примерах устройство 40 клиента может использовать запросы частичного GET HTTP, чтобы извлечь специфичные байтовые диапазоны сегментов 114 или 124.

[0110] Как отмечено выше, MPD 102 может соответствовать конкретному профилю MPD. MPD 102 может включать в себя информацию, указывающую тип многоцелевого расширения почты (MIME) для MPD 102 и/или мультимедийный контент 100. Однако типы MIME в целом не указывают, какой кодек необходим для презентации мультимедийного контента. В целом, предполагается, что если устройство может извлечь MPD для мультимедийного контента, такого как MPD 102, то устройство может проиграть данные мультимедийного контента, соответствующего MPD. Однако это предположение не всегда может быть допустимым. Поэтому в некоторых примерах MPD 102 может включать в себя информацию, указывающую профиль, которому соответствует MPD 102.

[0111] Может быть относительно небольшое количество профилей, которым могут соответствовать описания MPD. Профили могут поддерживаться уровнями, чтобы направлять возможности аналогично способу, в котором H.264/AVC включает в себя профили и уровни для кодирования видео. Профили MPD могут быть очищены от слоев, так что более высокий профиль может включать в себя все признаки всех более низких профилей. Может иметь место процесс регистрации с правом регистрации зарегистрировать различные профили. В некоторых примерах устройство клиента, такое как устройство 40 клиента, может быть сконфигурировано для извлечения информации, указывающей профиль для MPD, такого как MPD 102, до извлечения других данных MPD, таких как характеристики представлений 110-120, сигнализированные посредством MPD 102. В этом способе может быть сигнализирован профиль для MPD 102 до обеспечения доступа к MPD 102.

[0112] Идентификатор профиля может быть обеспечен в простом тексте (например, как простое название) или полностью измененном доменном имени. Простые названия могут быть зарезервированы посредством права регистрации, таким как 3GPP или другое право регистрации. Профиль можно считаться требованием и разрешением в том смысле, что профиль может утверждать, что соответствующий мультимедийный контент соответствует профилю и дает разрешение устройству считывания (например, устройству клиента), которое реализовывает этот профиль, считать MPD, интерпретировать то, что оно распознает, и игнорировать материал, который оно не понимает.

[0113] Профили могут описывать характеристики такие как, например, признаки MPD 102, использование сети, медиаформат(ы), используемый кодек(и), форматы защиты и/или количественные измерения, такие как скорости передачи битов, размеры экрана и т.п. В этом способе профиль MPD 102 может выдать информацию, указывающую, какие кодеки должны поддерживаться для извлечения данных MPD 102 и/или мультимедийного контента 100. Профили могут быть также описаны как "точки согласования". Профили, которым подчиняется MPD, могут быть указаны в атрибуте "Профили" MPD. Таким образом, устройство клиента может быть сконфигурировано для извлечения части MPD 102, включающего в себя информацию, относящуюся к атрибуту "Профили", до извлечения дополнительных данных MPD 102. Альтернативно, профили могут быть указаны как параметр в типе MIME MPD. Например, профили "X, Y и Z" могут быть сигнализированы следующим способом:

video/vnd.mpeg.mpd;profiles= "X, Y, Z".

[0114] В некоторых примерах MPD 102 может ссылаться на данные внешних периодов (также называемых удаленными периодами). Период в целом соответствует конкретной временной секции мультимедийного контента. Каждый период может включать в себя одно или более представлений, такие как представления 110-120. Внешний период, однако, может быть вставлен в пределы или между периодами мультимедийного контента 100. Внешний период может включать в себя мультимедийные данные в дополнение к мультимедийным данным мультимедийного контента. Например, внешние периоды могут включать в себя данные объявления.

[0115] Периоды могут быть определены своей продолжительностью, то есть, время начала Периода может зависеть от продолжительности предыдущего Периода. Устройство клиента может отображать внешние периоды в структуру MPD. Для услуг в реальном времени конкатенация описаний MPD может достигаться динамическим созданием MPD на сервере, таком как устройство 60 сервера, с подходящими процедурами обновления. Другие технологии сети могут быть также использованы. Указатели URL в течение внешне определенных периодов могут быть обработаны в реальном времени, чтобы генерировать новый период, содержащий объявления, предназначенные пользователю устройства 40 клиента. Устройство 40 клиента может предоставлять дополнительную информацию с запросом, который может быть использован для указания предназначения объявления, например, пользовательский идентификатор, предпочтения пользователя, пользовательскую демографическую информацию или другую информацию.

[0116] Таблица 1, представленная ниже, иллюстрирует примерный набор информации, которая может быть предоставлена в MPD 102, чтобы описать один или более Периодов мультимедийного контента и указать наличие внешних периодов:

Таблица 1 ИНФОРМАЦИЯ ПЕРИОДА MPD Период E 1…N M Выдает информацию Периода PeriodAttributes Список M Уже существующие атрибуты периода periodDuration A O Обеспечивает продолжительность периода, может быть использован как альтернатива атрибуту Начало следующего Периода representationGroup ListURI A O URI, который указывает на документ, который содержит список Представлений RepresentationGroups E 0…N Этот элемент содержит описание Группы Представлений periodListURI A M URI, который указывает на документ, который содержит один или несколько элементов Периода

[0117] В этом способе элемент Периода MPD 102 может ссылаться на внешние (или удаленные) периоды, например, используя periodListURI. Для контента По Требованию индикации продолжительностей периода могут быть более полезными для устройств клиента, таких как устройство 40 клиента, чем время начала для поддержания внешних периодов. MPD может включать в себя последовательность Периодов, где Периоды могут быть внутренними или внешними. Использование таких удаленных Периодов, наряду со специфичной для пользователя информацией, может учитывать предназначенное пользовательского объявления. Устройство 60 сервера и/или устройство 20 подготовки контента могут быть сконфигурированы для динамического генерирования отдельных описаний MPD для каждого пользователя или для каждого устройства клиента. Устройство 40 клиента или другое устройство может конкатенировать проигрывание предназначенного объявления и услугу в реальном времени, например, используя динамически созданное MPD.

[0118] В этом способе способы настоящего раскрытия могут поддерживать ситуации, в которых поставщик услуг предлагает контент По Требованию через AHS 3GPP. Контент может включать в себя несколько сцен, и между каждой сценой может быть добавлено объявление. Объявление может различаться для каждого пользователя. Таким образом, может быть добавлено предназначенное объявление. В дополнение, каждое объявление может иметь разную продолжительность. Аналогично, поставщик услуг может предложить конкретную услугу в реальном времени (например, бесплатную услугу). При получении доступа к услуге в реальном времени поставщик услуг может добавить объявление, которое может или может не быть предназначено пользователю. Продолжительность объявления может отличаться, в зависимости от времени доступа, местоположения доступа, пользователя и т.п. Устройство 60 сервера может быть сконфигурировано только для обеспечения URL услуги в реальном времени после того, как было завершено объявление, чтобы гарантировать, что объявление видно.

[0119] Фиг. 3 является блок-схемой, иллюстрирующей элементы примерного видеофайла 150, который может соответствовать сегменту представления, такому как один из сегментов 114, 124 Фиг. 2. Каждый из сегментов 114, 124 может включать в себя данные, которые соответствуют по существу компоновке данных, иллюстрированных в примере Фиг. 3. Аналогично, сегменты Фиг. 4-7, рассмотренных ниже, также могут соответствовать по существу структуре видеофайла 150. Как описано выше, видеофайлы в соответствии с форматом основного медиафайла ISO и его расширениями хранят данные в последовательности объектов, называемых "полями". В примере согласно Фиг. 3 видеофайл 150 включает в себя поле 152 типа файла (FTYP), поле 154 кино (MOOV), поле 162 фрагмента кино (MOOF) и поле 164 произвольного доступа к фрагменту кино (MFRA).

[0120] Поле 152 типа файла (FTYP) в целом описывает тип файла для видеофайла 150. Поле 152 типа файла может включать в себя данные, которые идентифицируют спецификацию, которая описывает наилучшее использование для видеофайла 150. Поле 152 типа файла может быть размещено перед полем 154 MOOV, полями 162 фрагмента кино и полем 164 MFRA.

[0121] В некоторых примерах сегмент, например, видеофайл 150, может включать в себя поле обновления MPD (не показано) перед полем 152 FTYP. Поле обновления MPD может включать в себя информацию, указывающую, что MPD, соответствующее представлению, включающему в себя видеофайл 150, должно быть обновлено, наряду с информацией для обновления MPD. Например, поле обновления MPD может обеспечить URI или URL для ресурса, который должен быть использован для обновления MPD. В качестве другого примера, поле обновления MPD может включать в себя данные для обновления MPD. В некоторых примерах поле обновления MPD может немедленно следовать за полем типа сегмента (STYP) (не показано) видеофайла 150, где поле STYP может определить тип сегмента для видеофайла 150. Фиг. 7, рассмотренная более подробно ниже, предоставляет дополнительную информацию относительно поля обновления MPD.

[0122] Поле 154 MOOV в примере согласно Фиг. 3 включает в себя поле 156 заголовка кино (MVHD), поле 158 дорожки (TRAK) и одно или более полей 160 расширения кино (MVEX). В целом, поле 156 MVHD может описывать общие характеристики видеофайла 150. Например, поле 156 MVHD может включать в себя данные, которые описывают, когда видеофайл 150 был первоначально создан, когда видеофайл 150 был последний раз изменен, шкалу времени для видеофайла 150, продолжительность проигрывания для видеофайла 150 или другие данные, которые в целом описывают видеофайл 150.

[0123] Поле 158 TRAK может включать в себя данные для дорожки видеофайла 150. Поле 158 TRAK может включать в себя поле заголовка дорожки записи (TKHD), которое описывает характеристики дорожки, соответствующие полю 158 TRAK. В некоторых примерах поле 158 TRAK может включать в себя закодированные видеокартинки, в то время как в других примерах закодированные видеокартинки дорожки могут быть включены во фрагменты 162 кино, на которые могут ссылаться данные поля 158 TRAK.

[0124] В некоторых примерах видеофайл 150 может включать в себя более чем одну дорожку. Соответственно, поле 154 MOOV может включать в себя ряд полей TRAK, равных количеству дорожек в видеофайле 150. Поле 158 TRAK может описывать характеристики соответствующей дорожки видеофайла 150. Например, поле 158 TRAK может описывать временную и/или пространственную информацию для соответствующей дорожки. Поле TRAK, аналогичное полю 158 TRAK поля 154 MOOV, может описывать характеристики дорожки набора параметров, когда блок 30 инкапсуляции (Фиг. 1) включает дорожку набора параметров в видеофайл, такой как видеофайл 150. Блок 30 инкапсуляции может сигнализировать наличие сообщений SEI уровня последовательности в дорожке набора параметров в поле TRAK, описывающем дорожку набора параметров.

[0125] Поля 160 MVEX могут описывать характеристики соответствующих фрагментов 162 кино, например, сигнализировать, что видеофайл 150 включает в себя фрагменты 162 кино в дополнение к видеоданным, включенным в поле 154 MOOV, если таковые имеются. В контексте текущих видеоданных закодированные видеокартинки могут быть включены во фрагменты 162 кино, а не в поле 154 MOOV. Соответственно, все закодированные видеовыборки могут быть включены во фрагменты 162 кино, а не в поле 154 MOOV.

[0126] Поле 154 MOOV может включать в себя ряд полей 160 MVEX, равных количеству фрагментов 162 кино в видеофайле 150. Каждое из полей 160 MVEX может описывать характеристики соответствующего одного из фрагментов 162 кино. Например, каждое поле MVEX может включать в себя поле заголовка расширения кино (MEHD), которое описывает временную продолжительность для соответствующего одного из фрагментов 162 кино.

[0127] Как было отмечено выше, блок 30 инкапсуляции может сохранять набор данных последовательности в видеовыборке, которая не включает в себя фактические закодированные видеоданные. Видеовыборка может в целом соответствовать блоку доступа, который является представлением закодированной картинки в конкретном случае времени. В контексте AVC закодированная картинка включает в себя один или более блоков NAL VCL, которые содержат информацию для построения всех пикселей блока доступа, и другие ассоциированные блоки NAL не-VCL, такие как сообщения SEI. Соответственно, блок 30 инкапсуляции может включать в себя набор данных последовательности, который может включать в себя уровень последовательности сообщения SEI, в одном из фрагментов 162 кино. Блок 30 инкапсуляции может дополнительно сигнализировать наличие набора данных последовательности и/или сообщений SEI уровня последовательности, которые присутствуют в одном из фрагментов 162 кино в одном из полей 160 MVEX, соответствующих одному из фрагментов 162 кино.

[0128] Фрагменты 162 кино могут включать в себя одну или более закодированных видеокартинок. В некоторых примерах фрагменты 162 кино могут включать в себя одну или более групп картинок (группы GOP), каждая из которых может включать в себя многие закодированные видеокартинки, например, кадры или картинки. В дополнение, как описано выше, фрагменты 162 кино могут включать в себя наборы данных последовательности в некоторых примерах. Каждый из фрагментов 162 кино может включать в себя поле заголовка фрагмента кино (MFHD, не показанное на Фиг. 3). Поле MFHD может описывать характеристики соответствующего фрагмента кино, такие как количество последовательностей для фрагмента кино. Фрагменты 162 кино могут быть включены в порядке количества последовательностей в видео 150 файле.

[0129] Поле 164 MFRA может описывать случайные точки доступа в пределах фрагментов 162 кино видеофайла 150. Это может помочь выполнению режимов быстрого доступа к произвольной точке, например, выполнение поиска конкретных временных местоположений в пределах видеофайла 150. Поле 164 MFRA в целом является дополнительным и не должно быть включено в видеофайлы в некоторых примерах. Аналогично, устройство клиента, такое как устройство 40 клиента, не обязательно должно ссылаться на поле 164 MFRA, чтобы корректно декодировать и отображать видеоданные видеофайла 150. Поле 164 MFRA может включать в себя ряд полей произвольного доступа к фрагменту дорожки (TFRA) (не показаны), равных количеству дорожек видеофайла 150 или в некоторых примерах равных количеству медиадорожек (например, дорожек без подсказки) видеофайла 150.

[0130] В некоторых примерах фрагменты 162 кино могут включать в себя одну или более картинок IDR и/или ODR. Аналогично, поле 164 MFRA может обеспечить индикации местоположений в пределах видеофайла 150 картинок IDR и ODR. Соответственно, временная подпоследовательность видеофайла 150 может быть сформирована из картинок IDR и ODR видеофайла 150. Временная подпоследовательность может также включать в себя другие картинки, такие как P-кадры и/или B-кадры, которые зависят от картинок IDR и/или ODR. Кадры и/или части временной подпоследовательности могут быть скомпонованы в пределах сегментов таким образом, чтобы кадры/части временной подпоследовательности, которые зависят от других кадров/частей подпоследовательности, могли быть должным образом декодированы. Например, в иерархической компоновке данных данные, используемые для предсказания для других данных, также могут быть включены во временную подпоследовательность. Кроме того, данные могут быть скомпонованы в непрерывной подпоследовательности таким образом, чтобы единственный байтовый диапазон мог быть определен в запросе частичного GET, чтобы извлечь все данные конкретного сегмента, используемого для временной подпоследовательности. Устройство клиента, такое как устройство 40 клиента, может извлекать временную подпоследовательность видеофайла 150 посредством определения байтовых диапазонов фрагментов 162 кино (или части фрагментов 162 кино), соответствующих картинкам IDR и/или ODR. Как будет рассмотрено более подробно ниже, видеофайлы, такие как видеофайл 150, могут включать в себя поле индекса подфрагмента и/или поле фрагмента поддорожки, любой из двух или оба вместе из которых могут включать в себя данные для извлечения временной подпоследовательности видеофайла 150.

[0131] Фиг. 4 является концептуальной диаграммой, иллюстрирующей примерный мультимедийный контент 200, включающий в себя MPD 202 и группы представлений 210-220. Мультимедийный контент 200 может соответствовать мультимедийному контенту 64 (Фиг. 1) или другому мультимедийному контенту, сохраненному в памяти 62. В этом примере представления мультимедийного контента 200 скомпонованы посредством группы представлений. Таким образом, представления с единым набором характеристик могут быть сформированы в группу представлений, которая предусматривает упрощенную адаптацию полосы частот сети.

[0132] В этом примере MPD 202 включает в себя общие характеристики 204A представления, которые включают в себя информацию, описывающую общие характеристики группы 210 представлений, и общие характеристики 204B представления, описывающие общие характеристики группы 220 представлений. Общие характеристики могут включать в себя характеристики кодирования и/или визуализации представлений, например, кодек, профиль и уровень кодека, которому соответствуют представления в представлении, разрешение пикселя, скорость передачи кадра или другие характеристики представлений.

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

[0134] Значение угла камеры может описывать реальную горизонтальную позицию камеры для используемой камеры (или физически или концептуально), чтобы генерировать закодированные видеоданные соответствующих представлений. Используя углы камеры, устройство клиента может выбрать данные из двух или более представлений, которые по существу должны быть отображены одновременно, например, чтобы сформировать трехмерный эффект проигрывания видео. Горизонтальные реальные местоположения камеры могут позволить устройству клиента выбрать представления, чтобы увеличить или уменьшить относительную степень глубины в трехмерном проигрывании видеоданных.

[0135] Рейтинг может описывать доступность контента для конкретной аудитории. Например, в Соединенных Штатах Американская ассоциация кинокомпаний определяет рейтинги, включающие в себя G, PG, PG-13, R и NC-17. В качестве другого примера, в Великобритании Британское Бюро классификации кинофильмов определяет рейтинги, включающие в себя U, PG, 12A, 12, 15, 18 и R18. Еще в качестве другого примера, в республике Китай (Тайвань) категории кинофильмов включают в себя общую категорию аудитории, защищенную категорию, категорию аудитории с разрешения родителей и ограниченную категорию.

[0136] Посредством обеспечения общих характеристик 204 соответствующих групп представления, например, групп 210-220 представлений, устройство клиента (например, устройство 40 клиента) может выбрать подходящую одну из групп 210-220 представлений на основании, по меньшей мере частично, соответствующих общих характеристик 204 представления. В примере согласно Фиг. 4 MPD 202 также включает в себя индивидуальные характеристики 206A, 206B, 208A и 208B представления, соответствующие, соответственно, представлениям 212A, 212B, 222A, 222B. Индивидуальные характеристики 206A, 206B, 208A и 208B представления могут включать в себя информацию, представляющую характеристики 212A, 212B, 222A, 222B представлений, не указанных в соответствии с общими характеристиками 204 представления. Например, индивидуальные характеристики 206A, 206B, 208A и 208B представления могут включать в себя информацию, представляющую скорости передачи битов для соответствующих представлений 212A, 212B, 222A, 222B.

[0137] Представления группы представлений могут считаться взаимно исключительными, причем они могут представлять один и тот же контент (одно и тоже видео, аудио на одном и том же языке и т.д.) с различным кодированием или другими параметрами. MPD 202 может выдавать информацию для выбора одной из групп 210-220 представлений, например, общие характеристики 204 представления. Эта информация может включать в себя информацию, указывающую, может ли клиент декодировать и визуализировать заданное представление. В этом способе устройство клиента может удалить из рассмотрения представления, которые устройство клиента неспособно декодировать и/или визуализировать. Соответственно, устройство 40 клиента может выбрать подходящую группу представлений, которая может быть декодирована и визуализирована, затем выбрать представление из группы на основании, например, доступности полосы частот сети.

[0138] Устройство 40 клиента также может быть сконфигурировано с предпочтениями пользователя, например, рейтингом, языком и/или глубиной. Соответственно, устройство 40 клиента может также выбрать одну или более групп представлений таким образом, чтобы выбранные группы соответствовали предпочтениям пользователя. Устройство 40 клиента может затем выбрать поднабор доступных групп представлений, которые могут быть воспроизведены одновременно. Когда устройство 40 клиента способно только отображать один вид, устройство 40 клиента может выбрать извлечь данные только из одного представления. С другой стороны, когда устройство 40 клиента способно отображать в стерео виде или мультивидах, устройство 40 клиента может извлекать данные из двух или более представлений.

[0139] После выбора одной или более групп представлений, устройство 40 клиента может выбрать представления из групп представлений на основании, например, доступной полосы частот сети. Так как доступная полоса частот сети изменяется (например, увеличивается или уменьшается), устройство 40 клиента может приспособить выборы представлений из групп представлений, чтобы приспособиться к условиям изменяющейся полосы частот сети. Конечно, устройство 40 клиента может также изменить выборы представления, если изменяются предпочтения пользователя или возможности устройства (например, возможности декодирования и визуализации).

[0140] Общие характеристики 204 представления могут соответствовать элементам RepresentationGroup XML MPD 202 в некоторых примерах. Индивидуальные характеристики представления могут соответствовать подэлементам передачи элементов RepresentationGroup MPD 202 в некоторых примерах.

[0141] Посредством группировки общих характеристик представлений, может быть достигнута различная оптимизация. Например, многие представления могут иметь одни и те же значения для различных параметров. Таким образом, индивидуально сигнализируемые характеристики в MPD могут привести к существенному дублированию в MPD, чтобы сигнализировать характеристики индивидуально. Многие устройства клиента сконфигурированы для того, чтобы отвергнуть подавляющее большинство MPD, которое принято. Поэтому может быть оптимизация в части MPD, которая принимает устройство клиента. Кроме того, если Группа Представлений отвергается, устройству клиента нет необходимости получать доступ к информации, в настоящее время представленной в MPD (URL и т.д.), для отвергнутого представления или группы представлений. Устройство клиента может также избежать ненужных обновлений URL, которые имеют тенденцию часто обновляться в течение, например, сетевой потоковой передачи в реальном времени видеоданных для интерактивных событий. Даже если избыток в MPD будет устранен, то устройство 40 клиента все еще должно будет разобрать полное MPD после приема и реконструкции, на что может быть потрачено значительное количество времени вычисления.

[0142] Фиг. 5 является концептуальной диаграммой, иллюстрирующей другой примерный мультимедийный контент 250, в котором данные MPD разделены на различные части для различных групп представлений. Мультимедийный контент 250 может соответствовать мультимедийному контенту 64 (Фиг. 1) или другому мультимедийному контенту, сохраненному в памяти 62. В частности, файл манифеста для мультимедийного контента 250 включает в себя часть MPD 252, которая в целом включает в себя данные, относящиеся к группам представлений. В этом примере часть MPD 252 включает в себя данные 254A и 254B группы представлений (данные 254 группы представлений), которые соответствуют соответствующим группам 270-280 представлений, как иллюстрировано стрелками, указывающими от данных группы 254 представлений к соответствующим группам 270-280 представления.

[0143] В этом примере данные 254A группы представлений включают в себя общие характеристики 256A группы представлений и местоположение части MPD для группы 258A представлений. Таким образом, местоположение части MPD для группы 258A представлений указывает местоположение части MPD для группы 260A представлений. Местоположение части MPD для группы 258A представлений может соответствовать, например, URI или URL части MPD для группы 260A представлений. Аналогично данные группы 254B представлений включают в себя общие характеристики 256B группы представлений и местоположение части MPD для группы 258B представлений, соответствующей части MPD для группы 260B представлений.

[0144] Часть MPD для группы 260A представлений включает в себя информацию, представляющую характеристики специфичных представлений 272A, 272B (представления 272) группы 270 представлений. Аналогично, часть MPD для группы 260B представлений включает в себя информацию, представляющую характеристики специфичных представлений 282A, 282B (представлений 282) группы 280 представлений.

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

[0146] Данные мультимедийного контента 250 в целом могут соответствовать по существу соответствующим элементам мультимедийного контента 200. Однако мультимедийный контент 250 может упростить иерархическую загрузку данных MPD для мультимедийного контента 250 посредством устройств клиента. Например, вместо того, чтобы извлечь полный файл манифеста, который может включать в себя данные сигнализации для всех представлений, устройство клиента может просто определить одну или более групп представлений, затем извлечь части MPD, соответствующие этим группам представлений, не извлекая части MPD, соответствующие другим группам представлений, которые не будут извлечены устройством клиента (например, так как устройство клиента не поддерживает процедуры декодирования и/или визуализации, чтобы декодировать и отобразить представления). В этом способе данные мультимедийного контента 250 могут уменьшить неэффективность ненужной разгрузки и структурного разбора.

[0147] Таблица 2, представленная ниже, обеспечивает примерный элемент, который может быть добавлен к MPD, такому как MPD 202 Фиг. 4 и/или часть MPD 252 Фиг. 5, которое описывает характеристики групп представлений. Общие характеристики 204 представления (Фиг. 4) и/или общие характеристики 256 группы представлений могут быть отформатированы согласно структуре Таблицы 2.

Таблица 2 RepresentationGroup Е 1…N M Этот элемент содержит описание Группы Представлений. RepresentationGroupAttribut Список Элементов и Аттрибутов Описывает параметры по умолчанию для этой группы. Может включать в себя информацию профиля. Representation Е 0…N O Этот элемент содержит описание Представления. RepresentationAttribut Список Элементов и Аттрибутов 0,1 O Описывает атрибуты Представления, которые являются специфичными для Представления. representationListURI А 0…N O URI, который указывает на документ, который содержит список Представлений.

[0148] XML ниже обеспечивает примеры элементов Группы Представлений структуры данных MPD:

[0149] Таблица 3 ниже обеспечивает примерный набор данных, которые могут быть включены для представлений. Эти данные могут быть предоставлены для индивидуальных представлений в некоторых примерах, в то время как в других примерах все или часть данных могут быть предоставлены для групп представлений, согласно, например, Таблице 2, представленной выше.

Таблица 3 Представление E 1…N M Этот элемент содержит описание Представления. Полоса частот A M Минимальная полоса частот канала скорости передачи битов гипотетической константы в битах в секунду (бит/сек), по которому представление может быть поставлено так, чтобы клиенту после буферизации для точного minBufferTime могло быть гарантировано наличие достаточного количества данных для непрерывного воспроизведения. texttype A O Идентифицирует тип текста. Опции:
подзаголовок
передача кодированных субтитров
<другое, которое должно быть идентифицировано>
cameraangle A O Обеспечивает угол камеры. Простая аннотация, например, основное поле, среднее поле, вид игроков. Рейтинг E 0…N Обеспечивает информацию рейтинга. SchemeInformation E 0,1 O Этот элемент предоставляет информацию относительно используемой схемы рейтинга. Элемент может быть расширен, чтобы выдать больше специфичной для схемы информации. schemeIdUri A O Обеспечивает абсолютный URL для идентификации схемы. Определение этого элемента является специфичным для схемы, используемой для рейтинга.

[0150] В некоторых примерах данные для групп представлений и данные для индивидуальных представлений в таких группах могут быть представлены в пределах MPD, такого как MPD 202, с иерархическим соотношениям. Таким образом, индивидуальные представления могут быть сигнализированы как дочерние элементы на соответствующий элемент группы представлений, например, MPD 202. Аналогично, для части MPD 252 и частей MPD для групп 260 представлений индивидуальные характеристики 262, 264 представления могут соответствовать дочерним элементам общих характеристик 256 групп представлений.

[0151] Фиг. 6 является концептуальной диаграммой, иллюстрирующей другой примерный мультимедийный контент 300, который может быть использован для поддержания режимов быстрого доступа к произвольной точке. Мультимедийный контент 300 может соответствовать мультимедийному контенту 64 (Фиг. 1) или другому мультимедийному контенту, сохраненному в памяти 62. В этом примере MPD 302 включает в себя информацию 304 представления, которая может включать в себя информацию 306 временной подпоследовательности. Информация 304 представления включает в себя характеристики представления 310, в этом примере. Представление 310 включает в себя сегменты 312A-312D (сегменты 312). В этом примере каждый из сегментов 312 включает в себя соответствующее поле индекса 314 подфрагмента и данные 316 случайной точки доступа (RAP). В других примерах некоторые сегменты могут не включать в себя случайные точки доступа, в то время как некоторые сегменты могут включать в себя множественные случайные точки доступа. Случайные точки доступа могут включать в себя картинки IDR или ODR.

[0152] Устройство 40 клиента может извлечь временную подпоследовательность из представления 310. Например, устройство 40 клиента может извлечь каждые точки RAP 316, чтобы сформировать временную подпоследовательность представления 310. Альтернативно, устройство 40 клиента может извлечь поднабор точек RAP 316, таких как RAP 316A и 316C, или 316A и 316D. Посредством извлечения и проигрывания только случайных точек 316 доступа (или их поднабора), устройство 40 клиента может воспроизвести представление 310 в режиме быстрого доступа к произвольной точке, например, ускоренной перемотки вперед или перемотки назад. Аналогично устройство 40 клиента может пропустить или искать конкретную одну из случайных точек 316 доступа, чтобы начать проигрывание с запрошенной временной позиции.

[0153] Мультимедийный контент может включать в себя любое из двух или оба вместе из: информацию 306 временной подпоследовательности и/или поля 314 SFIX, чтобы указать информацию для режимов быстрого доступа к произвольной точке. Информация 306 временной подпоследовательности может включать в себя элемент "Режима быстрого доступа к произвольной точке" MPD 302, такого как определен Таблицей 4, представленной ниже:

Таблица 4 TrickMode (режим быстрого доступа к произвольной точке) E 0,1 O Выдает информацию для режима быстрого доступа к произвольной точке. Также указывает, что Представление может быть использовано в качестве Представления режима быстрого доступа к произвольной точке. alternatePlayoutRate A O Определяет максимальную скорость воспроизведения как множество регулярных скоростей воспроизведения, которые поддерживает это Представление с одними и теми же требованиями к профилю и уровню декодера, как нормальная скорость воспроизведения. TemporalSubSequence E 0…N O Определяет, что это Представление содержит временную подпоследовательность, которая может быть легко доступна посредством байтовых диапазонов, использующих информацию поля индекса подфрагмента ('sfix). frameRate A M Определяет скорость передачи кадра временной подпоследовательности. Полоса частот A O Определяет минимальную полосу частот канала скорости передачи битов гипотетической константы в битах в секунду (бит/сек), по которому временная подпоследовательность может быть поставлена так, чтобы клиенту после буферизации для точного minBufferTime могло быть гарантировано наличие достаточного количества данных для непрерывного воспроизведения. alternatePlayoutRate A O Определяет максимальную скорость воспроизведения как множество регулярных скоростей воспроизведения, которые поддерживает это Представление с одними и теми же требованиями к профилю и уровню декодера как нормальная скорость воспроизведения.

[0154] В примере Таблицы 4 элемент Режим быстрого доступа к произвольной точке включает в себя элемент Временной Подпоследовательности, который определяет, что соответствующее представление содержит временную подпоследовательность, которая может быть доступна посредством байтовых диапазонов, используя информацию поля 314 индекса подфрагмента. Точки RAP 316 могут соответствовать частям фрагментов кино, таким как фрагменты 162 кино, иллюстрированные на Фиг. 3.

[0155] Поля 314 индекса подфрагмента могут в целом описывать местоположения байтового диапазона случайных точек 316 доступа соответствующих сегментов 312. В целом, поля 314 индекса подфрагмента могут появляться после поля индекса сегмента (SIDX) (не показано на Фиг. 6) сегментов 312 и обеспечивать размеры префикса фрагмента кино для фрагментов кино, на которые ссылаются в непосредственно предшествующем поле индекса сегмента. Таблица 5, представленная ниже, обеспечивает свойства примерного поля SFIX.

Таблица 5 Свойства поля индеса подфрагмента Тип поля SFIX Контейнер Нет Обязательно Нет Количество Один для каждого поля индекса сегмента

[0156] Псевдокод, представленный ниже, обеспечивает примерный синтаксис для полей 314 индекса подфрагмента:

[0157] Описание, представленное ниже, обеспечивает примерный набор семантики для синтаксиса, описанного выше:

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

sub_fragment_count определяет количество подфрагментов для каждого фрагмента

prefix_size определяет размер префикса фрагмента i, занятого подфрагментом j.

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

[0159] Поле фрагмента поддорожки может определить повторное упорядочивание данных выборки фрагмента дорожки таким образом, что выборки каждого фрагмента поддорожки предшествовали всем выборкам, которые появляются только в более высоких фрагментах поддорожки. Выборки фрагмента поддорожки, которые не появляются ни в каком более низком фрагменте поддорожки, могут быть размещены рядом в файле (например, соответствующий один из сегментов 312) в том же порядке, как они появляются в поле Прогона Дорожки. Это может учитывать выборки, которые должны быть сохранены в порядке временного уровня масштабируемости в пределах фрагмента дорожки. Когда это поле присутствует, может быть только одно поле Прогона Дорожки.

[0160] Таблица 6 описывает свойства поля фрагмента поддорожки:

Таблица 6 Свойства поля индеса поддорожки Тип поля SFIX Контейнер Поле фрагмента дорожки (''TRAF'') Обязательно Нет Количество Ноль или один

[0161] Псевдокод, представленный ниже, иллюстрирует примерный синтаксис для поля фрагмента поддорожки:

[0162] Описание, представленное ниже, обеспечивает примерную семантику для примерного синтаксиса поля фрагмента поддорожки, описанного выше:

sub_track_count указывает количество фрагментов поддорожки; Когда это поле присутствует, sub_track_count может быть равен или больше 2.

sample_count [i] указывает количество выборок во фрагменте поддорожки с индексом i+1. Выборки фрагмента поддорожки считаются членами всех фрагментов поддорожки с меньшими значениями индекса. Количество выборок во фрагменте поддорожки 0 эквивалентно количеству нолей первой битовой строки в последующем цикле. Количество выборок во фрагменте поддорожки с индексом sub_track_count-1, который является sample_count [sub_track_count-1], равно количеству выборок во Фрагменте Дорожки.

cur_sub_track_flag, равный 1 в итерации i внешнего цикла, указывает, что выборка принадлежит фрагменту поддорожки с индексом i+1. Это значение, равное 0 в итерации внешнего цикла, указывает, что выборка принадлежит фрагменту поддорожки с индексом, меньшим чем i+1. Должно быть отмечено: Таким образом, первая итерация цикла содержит флаги sample_count [0], указывающие позиции выборок в sub-track-fragment 1, которые не находятся также в sub-track-fragment 0. Вторая итерация цикла содержит флаги sample_count [1], указывающие позиции выборок в sub-track-fragment 2 и не также в sub-track-fragment 1 и т.д. sample_count [sub_track_count-1] считается равным количеству выборок во Фрагменте Дорожки.

[0163] Режимы быстрого доступа к произвольной точке могут применяться ко множеству различных сценариев. Например, режимы быстрого доступа к произвольной точке могут быть использованы, чтобы временно приостановить обслуживание, возобновить обслуживание после паузы, перемотать назад на какой-то период времени и/или перемотать вперед, чтобы перейти к желаемой временной позиции (например, после прерывания проигрывания, или чтобы найти конкретную желаемую временную позицию).

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

[0165] Фиг. 7 является концептуальной диаграммой, иллюстрирующей другой примерный мультимедийный контент 350, в котором сегменты 362A-362D могут включать в себя поля обновления MPD 364, чтобы указать, что MPD 352 должно быть обновлено. Мультимедийный контент 350 может соответствовать мультимедийному контенту 64 (Фиг. 1) или другому мультимедийному контенту, сохраненному в памяти 62. В целом, MPD 352 включает в себя информацию 354 представления для представления 360, такого как характеристики представления 360 и идентификаторы URI или URL сегментов 362 представления 360. В некоторых случаях, представление 360 может быть сформировано из интерактивного контента, например, спортивного события, и поэтому идентификаторы URI сегментов 362 не могут быть определены заранее. Поэтому, так как сегменты представления 360 сформированы, один или более сегментов могут включать в себя поля обновления MPD, чтобы указать, что MPD 352 должно быть обновлено.

[0166] Например, на Фиг. 7, сегмент 362A включает в себя поле обновления MPD 364 и данные 366A сегмента. Данные 366A сегмента могут в целом быть сформированы согласно видеофайлу 150 (Фиг. 3). Однако сегмент 362A также включает в себя поле 364A обновления MPD. В этом способе устройство 40 клиента может обновить MPD 352 на основании данных поля 364A обновления MPD. Поле 364A обновления MPD может включать в себя обновления в MPD 352 или может включать в себя URI или URL обновления для MPD 352. Должно быть понятно, что данные полей 364 обновления MPD не обязательно включены в явные поля. Например, данные, которые соответствуют по существу данным полей 364 обновления MPD, могут быть включены в другие поля сегментов 362 или в части заголовка сегментов 362. В этом способе "часть" сегментов 362, которая включает в себя информацию обновления MPD, может соответствовать части заголовка, полю обновления MPD, аналогичному полям 364 обновления MPD, или данным, включенным в одно или более другие поля сегментов 362.

[0167] В этом способе после извлечения данных сегмента 362A, устройство 40 клиента может анализировать поле 364A обновления MPD, чтобы обновить MPD 352. Устройство 40 клиента может затем использовать обновленную версию MPD 352, чтобы извлечь сегменты 362B и 362C. Сегменты 362B и 362C включают в себя данные 366B, 366C сегмента, которые снова могут быть отформатированы согласно видеофайлу 150 Фиг. 3. Устройство 40 клиента может также извлечь данные сегмента 362D. В этом примере сегмент 362D включает в себя поле обновления MPD 364B, которое может использовать устройство 40 клиента для выполнения другого обновления для MPD 352 способом, который по существу соответствует первому обновлению. Соответственно, чтобы принять сегменты вне сегмента 362D представления 360, устройство 40 клиента может использовать недавно обновленную версию MPD 352 на основании обновлений, выполненных относительно данных поля обновления MPD 364B.

[0168] Поле обновления MPD, такое как поля 364A, 364B обновления MPD, может включать в себя свойства согласно Таблице 7, представленной ниже:

Таблица 6 Свойства поля обновления MPD Тип поля MUPE Контейнер Нет Обязательно Нет Количество Ноль или один

[0169] Следующий синтаксис может быть использован для определения поля обновления MPD, в некоторых примерах:

[0170] Примерный набор семантики для примерного синтаксиса поля обновления MPD предоставлен ниже:

mpd_information_flags содержит логическое ИЛИ ноля или более из следующего:

0х00 обновление описания медиапрезентации сейчас

0x01 обновление описания медиапрезентации вперед

0x02 конец презентации

0x03-0x07 зарезервирован

new_location_flag, если установлен в 1, то новое описание медиапрезентации доступно в новом местоположении, определенном в mpd_location.

latest_mpd_update_time определяет время в миллисекундах посредством того, когда обновление MPD является необходимым относительно времени выдачи MPD последнего MPD. Клиент может выбрать обновить MPD в любое время между ними.

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

[0171] В этом способе, сигнализация внутри частотного диапазона на уровне сегмента может быть использована для указания обновлений для MPD 302. Обновления могут быть предоставлены в границах сегмента в некоторых примерах. Таким образом, поля 364 обновления MPD могут иметь место только в начале или в конце соответствующих сегментов в различных примерах. В некоторых примерах, если полоса частот обновлений MPD представляет проблему, устройство 60 сервера (Фиг. 1) может предложить описания MPD для некоторых возможностей устройства, таким образом, чтобы только эти части были обновлены. Кроме того, элемент MPD MPD 302 может обеспечить время опубликования в физическое время MPD 302. Это может обеспечить уникальное время опубликования MPD, которое может обеспечить уникальный идентификатор для MPD, и когда MPD было выдано. Это может также обеспечить привязку для процедур обновления. Кроме того, устройство 60 сервера и/или устройство 20 подготовки контента могут оптимизировать обновления MPD, используя иерархические структуры, например, чтобы обновить только части MPD 302, которые требуют обновлений, не изменяя другие части MPD 302, которые не нуждаются в обновлении.

[0172] Вставка объявления, такая как вставка предназначенного объявления, может быть также выполнена, используя поля обновления MPD, аналогичные полям Фиг. 7. Таким образом, поле обновления MPD может быть обеспечено, чтобы дать команду устройству 40 клиента извлечь данные из мультимедийного контента объявления. Это может иметь место во время перерывов или других действий в спортивных событиях, которые задерживают воспроизведение игры, и аналогично в перерывах или задержках побуждающего действия для проигрывания видео. Поскольку такие события могут иметь место несколько случайным образом, время, в которое должны быть вставлены объявления, может не быть известно априори.

[0173] Обновление MPD 302 может выполняться асинхронным способом для поставки сегментов. Устройство 60 сервера может обеспечить гарантии устройству клиента 40, что MPD не будет обновлено в течение конкретного количества времени. Однако устройство 60 сервера не должно явно сигнализировать, когда MPD обновляется перед минимальным периодом обновления. Полностью синхронное воспроизведение может быть достигнуто с трудом, так как устройства клиента могут воздействовать на различные случаи обновления MPD. Поэтому, клиенты могут испытывать бездействие. Обзор смещения во времени может быть обеспечен устройством 60 сервера и/или устройством 20 подготовки контента.

[0174] Фиг. 8 является последовательностью операций, иллюстрирующей примерный способ для обеспечения индикаций групп представлений устройством сервера и для выбора групп представлений устройством клиента, а также индивидуального представления в выбранной группе представлений. Хотя способ согласно Фиг. 8 описан относительно устройства 60 сервера и устройства 40 клиента, должно быть понятно, что другие устройства могут реализовать способы, аналогичные таковым из способа согласно Фиг. 8. Например, устройство 20 подготовки контента или одно или более сетевых устройств сети доставки контента, может выполнять некоторые или все функции, относящиеся к устройству 60 сервера.

[0175] Устройство 60 сервера может первоначально получить (например, создать или принять от устройства 20 подготовки контента) данные для набора представлений мультимедийного контента, где представления в наборе имеют одну или более общих характеристик, а также файл манифеста для мультимедийного контента. Набор представлений может соответствовать группе представлений. Устройство 60 сервера может обеспечить индикации групп представлений устройству 40 клиента (этап 400). Например, устройство 60 сервера может обеспечить MPD 202 (Фиг. 4) или часть MPD 252 (Фиг. 5) устройству 40 клиента. Другой пример описаний MPD согласно Фиг. 2, 6 и 7 может также включать в себя индикации групп представлений, например, элементы XML группы представлений. В любом случае, устройство 40 клиента может принимать информацию, описывающую характеристики группы представлений (этап 402), например, от файла MPD или части файла MPD, принятого от устройства 60 сервера.

[0176] Устройство 40 клиента может затем анализировать характеристики группы представлений, чтобы устранить группы представлений, которые устройство 40 клиента не может или не выберет для извлечения, декодирования или визуализации. Например, устройство 40 клиента может сравнить возможности декодирования и визуализации с характеристиками групп представлений, чтобы определить неподходящие группы представлений. В качестве другого примера, устройство 40 клиента может сравнивать предпочтения пользователя для языка, рейтинга и степени глубины (например, в соответствии с двумя или более видами, имеющими конкретные углы камеры), чтобы устранить нежелательные группы представлений. Устройство 40 клиента может затем выбрать подходящую группу представлений на основании, по меньшей мере частично, возможностей декодирования и визуализации устройства 40 клиента (этап 404). Конечно, должно быть понятно, что этот выбор может быть также (дополнительно или альтернативно) сделан на основании предпочтений пользователя, как рассмотрено выше. В этом способе устройство 40 клиента может выбрать набор представлений на основании общих характеристик для набора представлений.

[0177] После выбора группы представлений устройство 40 клиента может запросить данные для части MPD, которая конкретно описывает представления группы представлений. В ответ устройство 60 сервера может выдать индикации скоростей передачи битов представления, среди других индивидуальных характеристик представления, в выбранной группе представления устройству 40 клиента (этап 406). Например, устройство 60 сервера может послать данные для специфичной одной из частей MPD для групп представлений 260 (Фиг. 5) на устройство 40 клиента. В других примерах устройство 40 клиента могло уже принять полное MPD для мультимедийного контента (например, MPD 202 Фиг. 4), но может в частности анализировать части MPD, конкретно соответствующего выбранной группе представлений. В этом способе в некоторых примерах этап 406 на Фиг. 8 может иметь место перед этапом 402 и/или этапом 404.

[0178] В любом случае, после приема характеристик, специфичных для представлений выбранной группы представлений, включающих в себя скорости передачи битов для представлений (этап 408), устройство 40 клиента может определить в настоящее время доступную величину полосы частот сети (этап 410). Устройство 40 клиента может затем выбрать представление из выбранной группы представлений (этап 412) таким образом, чтобы выбранное представление имело скорость передачи битов, которая может быть согласована определенным в настоящее время доступной величиной полосы частот сети. Скорости передачи битов представлений представляют примеры характеристик кодирования индивидуальных представлений в группе представлений. Устройство 40 клиента может затем запросить данные выбранного представления (этап 414). Например, устройство 40 клиента может построить (например, генерировать и послать) запрос GET HTTP, чтобы запросить сегмент выбранного представления. Альтернативно, устройство 40 клиента может построить запрос частичного GET HTTP, который определяет байтовый диапазон сегмента выбранного представления. В любом случае устройство 40 клиента может подать запрос на устройство 60 сервера.

[0179] Устройство 60 сервера может принять запрос и в ответ послать запрошенные данные на устройство 40 клиента (этап 416). Например, блок 70 обработки запроса может определить адрес сети устройства 40 клиента от данных принятого запроса, например, адрес исходного интернет-протокола (IP) и исходный порт принятого запроса. Блок 70 обработки запроса может сформировать пакеты сети, включая запрошенные данные, и послать запрошенные данные на устройство 40 клиента, например, предназначенные для определенного IP адреса устройства 40 клиента.

[0180] После приема запрошенных данных устройство 40 клиента может начать декодирование и отображение принятых данных (этап 418). Принимая запрошенные данные, устройство 40 клиента может продолжить анализировать в настоящее время доступную полосу частот сети и подавать запросы от представлений, имеющих скорости передачи битов, которые могут быть приспособлены в настоящее время доступным количеством полосы частот сети (этапы 410-414). Если величина полосы частот сети изменяется, устройство 40 клиента может адаптивно переключиться на другое представление в выбранной группе представлений. Например, устройство 40 клиента может определить сегмент в новом представлении, соответствующем временному местоположению последнего сегмента, запрашиваемого от предыдущего представления в группе представлений, затем запросить определенный сегмент (или его часть) в новом представлении.

[0181] В некоторых примерах устройство 60 сервера может обеспечить MPD, соответствующее вставке предназначенного объявления, устройству 40 клиента во время способа Фиг. 8. MPD может вынуждать устройство 40 клиента извлекать мультимедийные данные объявления, предназначенные пользователю устройства 40 клиента. В некоторых примерах устройство 40 клиента может дополнительно выдать пользовательскую информацию в устройство 60 сервера, чтобы предназначить медиаданные объявления для пользователя устройства 40 клиента. Пользовательская информация может включать в себя предпочтения пользователя, пользовательскую информацию идентификации (такую, как ID пользователя), пользовательскую демографическую информацию или другую такую информацию. Вставка предназначенного объявления может иметь место, например, перед этапом 400 Фиг. 8 или после этапа 418 и до выбора последующего представления, например, в течение последующего периода мультимедийного контента.

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

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

[0184] Фиг. 9 является последовательностью операций, иллюстрирующей примерный способ для выдачи данных, представляющих режим быстрого доступа к произвольной точке, посредством устройства сервера, и для использования данных устройством клиента, чтобы извлечь и воспроизвести данные режима быстрого доступа к произвольной точке мультимедийного контента. Хотя способ согласно Фиг. 9 описан относительно устройства 60 сервера и устройства 40 клиента, должно быть понятно, что другие устройства могут реализовать способы, аналогичные таковым из способа согласно Фиг. 9. Например, устройство 20 подготовки контента, или одно или более сетевых устройств сети доставки контента могут выполнять некоторые или все функции, относящиеся к устройству 60 сервера. Кроме того, выбор режима быстрого доступа к произвольной точке может быть выполнен вместе с выбором группы представлений и представления из группы представлений, как описано относительно Фиг. 8 выше.

[0185] Устройство 60 сервера может первоначально получить (например, создать, или принять от устройства 20 подготовки контента) данные для одного или более представлений мультимедийного контента, где по меньшей мере одно из представлений включает в себя временную подпоследовательность, а также файл манифеста для мультимедийного контента. Файл манифеста может указать, что представление включает в себя временную подпоследовательность. Устройство 60 сервера может обеспечить индикации представлений мультимедийного контента, например, характеристики представлений (этап 430), устройству 40 клиента. В дополнение, устройство 60 сервера может обеспечить индикации временных подпоследовательностей одного или более представлений (этап 432). Таким образом, устройство 60 сервера может выдать информацию в файле MPD для мультимедийного контента, указывающую, что временные подпоследовательности доступны для одного или более представлений мультимедийного контента. Например, устройство 60 сервера может обеспечить по меньшей мере часть MPD, включая элемент режима быстрого доступа к произвольной точке, имеющего подэлемент временной подпоследовательности, устройству 40 клиента, как описано относительно Фиг. 6 выше.

[0186] Устройство 40 клиента может выбрать представление на основании характеристик представлений мультимедийного контента (этап 434). Хотя устройство 40 клиента не обязательно должно выбрать представление с временной подпоследовательностью, в целях рассмотрения для иллюстрации этих способов, предполагается в целях примера, что устройство 40 клиента выбирает представление, для которого временная подпоследовательность является доступной. Устройство 40 клиента может затем принять запрос использовать режим быстрого доступа к произвольной точке (этап 436). Например, устройство 40 клиента может принять выбор конкретного временного местоположения, чтобы начать проигрывание, например, от пользователя устройства 40 клиента. Альтернативно, устройство 40 клиента может принять запрос «перемотать» вперед или «перемотать» назад видеоданные.

[0187] В ответ на запрос использовать режим быстрого доступа к произвольной точке устройство 40 клиента может определить, доступна ли временная подпоследовательность для представления, и если это так, запросить данные для извлечения по меньшей мере части временной подпоследовательности (этап 438). Устройство 60 сервера может ответить на запрос посредством обеспечения индикаций местоположений данных для временной подпоследовательности устройству 40 клиента (этап 440). В некоторых примерах часть MPD для мультимедийного контента может указывать местоположение данных для временной подпоследовательности. В других примерах устройство 40 клиента может запросить поля индекса подфрагмента и/или поля фрагмента поддорожки от сегментов соответствующего представления.

[0188] В любом случае устройство 40 клиента может использовать принятые данные, включающие в себя информацию, указывающую местоположения данных для временной подпоследовательности, чтобы запросить данные временной подпоследовательности от указанных местоположений (этап 442). Например, устройство 40 клиента может определить местоположения (например, указатели URL сегментов и, возможно, байтовые диапазоны сегментов), включая случайные точки доступа IDR и/или случайные точки доступа ODR. Устройство 40 клиента может затем построить запросы GET или частичного GET HTTP для данных временной подпоследовательности, чтобы воспроизвести видеоданные согласно режиму быстрого доступа к произвольной точке.

[0189] После приема запросов GET или частичного GET HTTP от устройства 40 клиента, устройство 60 сервера может выдать запрошенные данные в устройство 40 клиента (этап 444). Например, устройство 60 сервера может послать сегменты в ответ на запросы GET HTTP или медиафрагменты сегментов (или части медиафрагментов) в ответ на запросы частичного GET HTTP. После приема запрошенных данных устройство 40 клиента может декодировать и отображать принятые данные (этап 446). Аналогично, устройство 40 клиента может продолжить запрашивать данные от представления (или другого представления, если величина доступной полосы частот сети изменяется).

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

[0191] Аналогично способ согласно Фиг. 9 представляет пример способа, включающего в себя получение данных по меньшей мере для одного представления мультимедийного контента, которое включает в себя временную подпоследовательность, получение данных для файла манифеста для мультимедийного контента, при этом информация файла манифеста указывает, что по меньшей мере одно представление мультимедийного контента включает в себя временную подпоследовательность, и посылку по меньшей мере части файла манифеста на устройство клиента.

[0192] Фиг. 10 является последовательностью операций, иллюстрирующей примерный способ для обеспечения посредством устройства сервера индикаций, что файл манифеста, такой как MPD, должен быть обновлен, и для обновления MPD устройством клиента. Хотя способ согласно Фиг. 10 описан относительно устройства 60 сервера и устройства 40 клиента, должно быть понятно, что другие устройства могут реализовать способы, аналогичные таковым из способа согласно Фиг. 10. Например, устройство 20 подготовки контента, или одно или более сетевых устройств сети доставки контента может выполнять некоторые или все функции, относящиеся к устройству сервера 60. Кроме того, обновление MPD может быть выполнено вместе с выбором режима быстрого доступа к произвольной точке и/или выбором группы представлений и представления из группы представлений, как описано относительно Фиг. 8 и 9, описанных выше.

[0193] В некоторых примерах устройство 20 подготовки контента может кодировать и инкапсулировать закодированные видеоданные, захваченные во время интерактивного события, такого как спортивное событие. В этом способе устройство 40 клиента может извлечь закодированные данные события почти в реальном времени, так как имеет место событие. Первоначально, устройство 60 сервера может принять одно или более представлений мультимедийного контента, соответствующего интерактивному событию, и выдать индикации характеристик для представлений мультимедийного контента в MPD (этап 460). MPD может только описать характеристики и местоположения сегментов до конкретного временного местоположения мультимедийного контента из-за мультимедийного контента, который формируется как событие, снятое в реальном времени.

[0194] Устройство 40 клиента может использовать информацию MPD, чтобы выбрать представление (этап 462). Используя текущее MPD, устройство 40 клиента может запросить сегменты выбранного представления, например, до временного местоположения. В ответ устройство 60 сервера может послать требуемые сегменты. Однако, в дополнение, устройство 60 сервера может послать сегмент, включающий в себя поле обновления MPD или другую информацию, указывающую, что MPD должно быть обновлено, согласно этому сегменту (этап 466).

[0195] В ответ устройство 40 клиента может декодировать и отображать данные одного или более принятых сегментов (этап 468). Устройство 40 клиента может также принять информацию, указывающую, что MPD должно быть обновлено (этап 470). Например, устройство 40 клиента может принять последний сегмент перед временным местоположением, в котором больше не применяется MPD. Устройство 40 клиента может определить, что последний сегмент включает в себя поле обновления MPD, аналогичное полям обновления MPD, описанным относительно Фиг. 7.

[0196] Используя поле обновления, устройство 40 клиента может запросить обновления для MPD (этап 472). Например, устройство 40 клиента может определить местоположение сети обновлений для MPD и запросить обновления от определенного местоположения. Устройство 60 сервера или другое устройство, хранящее обновления для MPD (например, устройство 20 подготовки контента), может послать информацию, указывающую обновления для MPD (этап 474), которую устройство 40 клиента может использовать, чтобы обновить MPD (этап 476). Альтернативно, в некоторых примерах поле обновления MPD может включать в себя информацию, указывающую, что MPD обновляется само, когда устройство 40 клиента может обновить MPD, используя информацию поля обновления MPD. В любом случае устройство 40 клиента может затем запросить сегменты после временного местоположения, в котором предыдущее MPD больше не применялся, используя обновленную версию MPD (этап 478). Устройство 40 клиента и устройство 60 сервера могут продолжить выполнять аналогичные этапы до тех пор, пока устройство 40 клиента не закончит проигрывание мультимедийного контента.

[0197] В некоторых примерах способы, аналогичные способу Фиг. 10, могут быть использованы для выполнения вставки предназначенного объявления. Например, обновленное MPD может включать в себя часть, которая соответствует медиаконтенту объявления. Устройство 40 клиента может быть обязано извлечь и воспроизвести данные медиаконтента объявления на основании обновленного MPD, чтобы принять данные одного или более сегментов медиаконтента объявления, который может включать в себя другое обновленное MPD для извлечения последующих медиаданных желаемого медиаконтента.

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

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

[0200] Фиг. 11 является последовательностью операций, иллюстрирующей примерный способ для построения и использования данных документа отчета о качестве восприятия (QoE). Хотя способ согласно Фиг. 11 описан относительно устройства 60 сервера и устройства 40 клиента, должно быть понятно, что другие устройства могут реализовать способы, аналогичные таковым из способа согласно Фиг. 11. Например, устройство 20 подготовки контента или одно или более сетевых устройств сети доставки контента может выполнять некоторые или все функции, относящиеся к устройству 60 сервера. Кроме того, обеспечение отчета QoE устройству 60 сервера и/или устройству 20 подготовки контента может быть выполнено вместе с любым или всем из: обновлением MPD, выбором режима быстрого доступа к произвольной точке и/или выбором группы представлений и представления из группы представлений, как описано относительно Фиг. 8, 9 и 10 выше.

[0201] Первоначально, устройство 60 сервера может обеспечить индикации характеристик представлений мультимедийного контента в MPD устройству 40 клиента (этап 500). Как рассмотрено выше, устройство 40 клиента может выбрать представление (этап 502), например, на основании возможности декодирования и/или визуализации устройства клиента 40, предпочтений пользователя, доступной полосы частот сети и/или других характеристик представлений мультимедийного контента. Устройство 40 клиента может затем запросить один или более сегментов выбранного представления (этап 504).

[0202] Устройство 60 сервера может послать запрашиваемые сегменты на устройство 40 клиента (этап 506). После приема запрашиваемых сегментов устройство 40 клиента может декодировать и отображать принятые данные (этап 508). Устройство 40 клиента может затем определить, были ли все видеоданные приняты (этап 510). Если последний сегмент представления (или мультимедийный контент в целом) не был принят (ветвь "НЕТ" 510), устройство 40 клиента может снова оценить в настоящее время доступное количество полосы частот сети и выбрать представление на основании этого анализа (этап 502) и запросить сегменты представления (этап 504).

[0203] В целом, устройство 40 клиента может буферизовать данные и пытаться избежать переполнения и недозаполнения буфера посредством запроса данных мультимедийного контента от представления, которое может быть приспособлено в настоящее время доступной полосой частот сети. Время от времени, однако, переполнение и недозаполнение буфера может иметь место, например, если фактические характеристики кодирования мультимедийного контента не соответствовали сигнализированным характеристикам кодирования или если были недостаточные данные для устройства 40 клиента, чтобы сделать надлежащий выбор. Другие факторы могут также привести к уменьшенному качеству восприятия для пользователя устройства 40 клиента. Поэтому, после того как последний сегмент представления (или мультимедийный контент) был принят и должным образом декодирован ("ДА" ветвь 510), устройство 40 клиента может обеспечить отчет о качестве восприятия (QoE) устройству 60 сервера.

[0204] Например, устройство 40 клиента может составить отчет, чтобы включать в себя индикации выбранных сегментов и представлений (этап 512). Устройство 40 клиента может также записать случаи возникновения переполнения и недозаполнения буфера, которые может привести к паузам в проигрывании медиа. Устройство 40 клиента может сформировать отчет, включающий в себя последовательность элементов PeriodReport, представляющих Периоды, которые были воспроизведены. Элемент Периода может включать в себя последовательность элементов RepresentationReport, представляющих непрерывное воспроизведение части Представления, и обеспечивающих время начала и конца как в реальном времени, так и во время презентации. Отчет может также включать в себя первоначальное время запуска, которое является временем от запроса пользователя на просмотр контента и начала воспроизведения. В этом способе документ отчета может содержать отформатированный электронный документ расширяемого языка маркировки (XML), указывающий представления мультимедийного контента, от которых устройство клиента извлекло медиаданные мультимедийного контента.

[0205] Устройство 40 клиента может обеспечить отчет устройству 60 сервера или другому устройству сети доставки контента, такому как устройство 20 подготовки контента или выделенное устройство коллекции отчетов. В этом способе устройство 60 сервера может принимать индикации сегментов и представления, принятые устройством 40 клиента (этап 514). Устройство 60 сервера может затем обеспечить индикации, например, устройству 20 подготовки контента или другому устройству, ассоциированному с поставщиком услуг или медиаассемблером, чтобы улучшить подготовку контента (этап 516). Из информации, выданной устройством 40 клиента, поставщик услуг может точно определить, что было воспроизведено, когда были паузы в проигрывании, и когда были переключения между представлениями. Альтернативно или дополнительно, устройство 40 клиента может выдавать итоговую информацию в форме общей продолжительности воспроизведения и количество отличных непрерывных периодов воспроизведения для каждого представления, вместе с количеством пауз и средним значением, и изменением продолжительностей паузы.

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

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

[0208] В одном или более примерах описанные функции могут быть реализованы в аппаратном обеспечении, программном обеспечении, программно-аппаратном обеспечении или любой их комбинации. Если реализовано в программном обеспечении, функции могут быть сохранены на или переданы по как одна или более команды или код по считываемому компьютером носителю и выполнены основанным на аппаратном обеспечении блоком обработки. Считываемые компьютером носители могут включать в себя считываемые компьютером запоминающие носители, которые соответствуют материальному носителю, такому как запоминающие носители данных или коммуникационные носители, включающие в себя любой носитель, который облегчает передачу компьютерной программы от одного места до другого, например, согласно протоколу связи. В этом способе считываемый компьютером носитель в целом может соответствовать (1) материальным считываемым компьютером запоминающим носителям, которые являются непереходными, или (2) коммуникационному носителю, такому как сигнал или несущая. Запоминающие носители данных могут быть любыми доступными носителями, которые могут быть доступны посредством одного или более компьютеров или одного или более процессоров, чтобы извлечь команды, код и/или структуры данных для реализации способов, описанных в настоящем раскрытии. Компьютерный программный продукт может включать в себя считываемый компьютером носитель.

[0209] Посредством примера, а не ограничения, такие считываемые компьютером запоминающие носители могут содержать RAM, ROM, EEPROM, CD-ROM или другое запоминающее устройство на оптических дисках, запоминающее устройство на магнитных дисках или другие магнитные запоминающие устройства, флеш память или любой другой носитель, который может быть использован, чтобы сохранять желаемый программный код в форме команд или структур данных, и который может быть доступным посредством компьютера. Кроме того, любое соединение может должным образом называться считываемым компьютером носителем. Например, если программное обеспечение передается от вебсайта, сервера или другого удаленного источника, используя коаксиальный кабель, волоконно-оптический кабель, витую пару, абонентскую цифровую линию (DSL) или беспроводные технологии, такие как инфракрасное излучение, радио и микроволны, то коаксиальный кабель, волоконно-оптический кабель, витая пара, DSL или беспроводные технологии, такие как инфракрасное излучение, радио и микроволны включаются в определение носителя. Должно быть понятно, однако, что считываемые компьютером запоминающие носители и запоминающие носители данных не включают в себя соединения, несущие, сигналы или другие непереходные носители, но, вместо этого, направлены на непереходные, материальные, запоминающие носители. Диск (disk) и диск (disc), как используются в настоящем описании, включают в себя компакт-диск (CD), лазерный диск, оптический диск, универсальный цифровой диск (DVD), дискету и диск blue-ray, где диски (disks) обычно воспроизводят данные магнитным способом, в то время как диски (discs) воспроизводят данные оптическим образом посредством лазеров. Комбинации вышеупомянутого должны быть также включены в понятие считываемых компьютером носителей.

[0210] Команды могут быть выполнены одним или более процессорами, например, одним или более цифровыми сигнальными процессорами (процессорами DSP), микропроцессорами общего назначения, специализированными интегральными схемами (схемами ASIC), программируемыми вентильными матрицами (FPGA) или другой эквивалентной интегрированной или дискретной логической схемой. Соответственно, используемый в настоящем описании термин "процессор" может относиться к любой предшествующей структуре или любой другой структуре, подходящей для реализации способов, описанных в настоящем описании. В дополнение, в некоторых аспектах функциональные возможности, описанные в настоящем описании, могут быть обеспечены в пределах выделенных модулей аппаратного и/или программного обеспечения, сконфигурированных для кодирования и декодирования или объединенных в объединенном кодеке. Кроме того, способы могут быть полностью реализованы в одной или более схемах или логических элементах.

[0211] Способы настоящего раскрытия могут быть реализованы в широком разнообразии устройств или приборов, включая беспроводную телефонную трубку, интегральную схему (IC) или набор схем IC (например, набор микросхем). Различные компоненты, модули или блоки описаны в настоящем раскрытии, чтобы подчеркнуть функциональные аспекты устройств, сконфигурированных для выполнения раскрытых способов, но не обязательно требуют реализации посредством различных блоков аппаратного обеспечения. Скорее, как описано выше, различные блоки могут быть объединены в блоке аппаратного обеспечения кодека или обеспечены коллекцией взаимодействующих блоков аппаратного обеспечения, включающих в себя один или более процессоры, как описано выше, вместе с подходящим программным обеспечением и/или программно-аппаратным обеспечением.

Похожие патенты RU2571375C2

название год авторы номер документа
ОБНОВЛЕНИЕ ФАЙЛА МАНИФЕСТА ДЛЯ СЕТЕВОЙ ПОТОКОВОЙ ПЕРЕДАЧИ КОДИРОВАННЫХ ВИДЕОДАННЫХ 2011
  • Чэнь Ин
  • Штокхаммер Томас
  • Уотсон Марк
RU2558615C2
ОПРЕДЕЛЕНИЕ МЕСТОПОЛОЖЕНИЙ СОБЫТИЙ ДОСТАВКИ МУЛЬТИМЕДИА ДЛЯ ТРАНСПОРТИРОВКИ МУЛЬТИМЕДИА 2017
  • Уолкер Гордон Кент
  • Штокхаммер Томас
RU2718170C2
ВЫСОКОУРОВНЕВАЯ ПЕРЕДАЧА СЛУЖЕБНЫХ СИГНАЛОВ ДЛЯ ВИДЕОДАННЫХ ТИПА "РЫБИЙ ГЛАЗ" 2018
  • Ван, Е-Куй
  • Би, Нин
  • Форутанпур, Биджан
RU2767300C2
СПОСОБ АДАПТИВНОЙ ПОТОКОВОЙ ПЕРЕДАЧИ ДАННЫХ С УПРАВЛЕНИЕМ СООБЩЕНИЯМИ АКТИВНОЙ ДОСТАВКИ 2018
  • Фабле, Юэнн
  • Белльссор, Ромен
  • Маз, Фредерик
  • Уэдраого, Наэль
  • Денуаль, Франк
  • Рюэллан, Эрве
RU2683595C1
СПОСОБ АДАПТИВНОЙ ПОТОКОВОЙ ПЕРЕДАЧИ ДАННЫХ С УПРАВЛЕНИЕМ СООБЩЕНИЯМИ АКТИВНОЙ ДОСТАВКИ 2017
  • Фабле Юэнн
  • Белльссор Ромен
  • Маз Фредерик
  • Уэдраого Наэль
  • Денуаль Франк
  • Рюэллан Эрве
RU2659041C1
СПОСОБ АДАПТИВНОЙ ПОТОКОВОЙ ПЕРЕДАЧИ ДАННЫХ С УПРАВЛЕНИЕМ СООБЩЕНИЯМИ АКТИВНОЙ ДОСТАВКИ 2014
  • Фабле Юэнн
  • Белльссор Ромен
  • Маз Фредерик
  • Уэдраого Наэль
  • Денуаль Франк
  • Рюэллан Эрве
RU2625328C1
СИСТЕМА УЛУЧШЕННОЙ ПОТОКОВОЙ ПЕРЕДАЧИ БЛОКОВ ПО ЗАПРОСУ ДЛЯ ОБРАБОТКИ ПОТОКОВОЙ ПЕРЕДАЧИ С МАЛОЙ ЗАДЕРЖКОЙ 2013
  • Луби Майкл Дж.
  • Уотсон Марк
  • Вичизано Лоренцо
  • Пакзад Паям
  • Ван Бинь
  • Чен Ин
  • Штокхаммер Томас
  • Борран Джабер Мохаммад
RU2629001C2
ПОТОКОВАЯ ПЕРЕДАЧА С УПРАВЛЕНИЕМ КАЧЕСТВОМ 2013
  • Резник Юрий
  • Асбан Эдуардо
  • Чен Чжифэн
  • Ванам Рахул
RU2606064C2
УЛУЧШЕННАЯ ПОТОКОВАЯ ПЕРЕДАЧА ПО ЗАПРОСУ БЛОКОВ С ИСПОЛЬЗОВАНИЕМ МАСШТАБИРУЕМОГО КОДИРОВАНИЯ 2010
  • Луби Майкл Дж.
  • Чэнь Ин
  • Штокхаммер Томас
RU2523918C2
УЛУЧШЕННАЯ ПОТОКОВАЯ ПЕРЕДАЧА ПО ЗАПРОСУ БЛОКОВ С ИСПОЛЬЗОВАНИЕМ ШАБЛОНОВ И ПРАВИЛ СОСТАВЛЕНИЯ URL 2010
  • Луби Майкл Дж.
  • Уотсон Марк
  • Вичизано Лоренцо
  • Пакзад Паям
  • Ван Бинь
  • Штокхаммер Томас
RU2577473C2

Иллюстрации к изобретению RU 2 571 375 C2

Реферат патента 2015 года РЕЖИМЫ БЫСТРОГО ДОСТУПА К ПРОИЗВОЛЬНОЙ ТОЧКЕ ДЛЯ СЕТЕВОЙ ПОТОКОВОЙ ПЕРЕДАЧИ КОДИРОВАННЫХ ВИДЕОДАННЫХ

Изобретение относится к области сохранения и транспортировки закодированных мультимедийных данных. Техническим результатом является повышение эффективности потоковой передачи мультимедийных данных по сети. Способ извлечения мультимедийных данных содержит анализ информации файла манифеста для мультимедийного контента, при этом информация файла манифеста указывает, что по меньшей мере одно представление мультимедийного контента включает в себя временную подпоследовательность, при этом временная подпоследовательность включает в себя только картинки случайной точки доступа (RAP); определение одного или более байтовых диапазонов, соответствующих местоположениям данных для упомянутой временной подпоследовательности в одном или более соответствующих сегментах этого по меньшей мере одного представления; и инициализирование одного или более запросов данных для упомянутой временной подпоследовательности, причем запросы задают байтовые диапазоны соответствующих сегментов этого по меньшей мере одного представления, чтобы извлекать картинки RAP упомянутой временной подпоследовательности без извлечения других картинок сегментов, которые не включены в упомянутую временную подпоследовательность. 8 н. и 38 з.п. ф-лы, 7 табл., 11 ил.

Формула изобретения RU 2 571 375 C2

1. Способ извлечения мультимедийных данных, причем способ содержит:
анализ информации файла манифеста для мультимедийного контента, при этом информация файла манифеста указывает, что по меньшей мере одно представление мультимедийного контента включает в себя временную подпоследовательность, при этом временная подпоследовательность включает в себя только картинки случайной точки доступа (RAP);
определение одного или более байтовых диапазонов, соответствующих местоположениям данных для упомянутой временной подпоследовательности в одном или более соответствующих сегментах этого по меньшей мере одного представления, и
инициализирование одного или более запросов данных для упомянутой временной подпоследовательности, причем запросы задают байтовые диапазоны соответствующих сегментов этого по меньшей мере одного представления, чтобы извлекать картинки RAP упомянутой временной подпоследовательности без извлечения других картинок сегментов, которые не включены в упомянутую временную подпоследовательность.

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

3. Способ по п. 1, в котором определение местоположений данных содержит определение местоположений данных для временной подпоследовательности из файла манифеста.

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

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

6. Способ по п. 4, в котором часть представления содержит поле индекса подфрагмента представления.

7. Способ по п. 4, в котором этап извлечения данных для части представления содержит:
определение байта начала части представления и байта окончания части представления из данных файла манифеста и
посылку запроса частичного GET, который определяет байт начала, байт окончания и идентификатор представления.

8. Способ по п. 1, в котором данные для временной подпоследовательности содержат одну или более картинок мгновенного обновления декодера (IDR) упомянутого представления.

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

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

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

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

13. Устройство по п. 11, в котором для извлечения данных для упомянутой части представления упомянутые один или более процессоров сконфигурированы для определения байта начала части представления и байта окончания части представления из данных файла манифеста, и посылки запроса частичного GET, который определяет байт начала, байт окончания и идентификатор представления.

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

15. Устройство для извлечения мультимедийных данных, причем устройство содержит:
средство для анализа информации файла манифеста для мультимедийного контента, при этом информация файла манифеста указывает, что по меньшей мере одно представление мультимедийного контента включает в себя временную подпоследовательность, при этом временная подпоследовательность включает в себя только картинки случайной точки доступа (RAP);
средство для определения одного или более байтовых диапазонов, соответствующих местоположениям данных для временной подпоследовательности в одном или более соответствующих сегментах этого по меньшей мере одного представления; и
средство для инициализирования одного или более запросов данных для упомянутой временной подпоследовательности, причем запросы задают байтовые диапазоны соответствующих сегментов этого по меньшей мере одного представления, чтобы извлекать картинки RAP упомянутой временной подпоследовательности без извлечения других картинок сегментов, которые не включены в упомянутую временную подпоследовательность.

16. Устройство по п. 15, в котором средство для определения местоположений данных содержит средство для определения местоположений данных для временной подпоследовательности из файла манифеста.

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

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

19. Устройство по п. 17, в котором средство для извлечения данных для части представления содержит:
средство для определения байта начала упомянутой части представления и байта окончания части представления из данных файла манифеста и
средство для посылки запроса частичного GET, который определяет байт начала, байт окончания и идентификатор представления.

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

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

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

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

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

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

26. Способ посылки информации для мультимедийных данных, причем способ содержит:
получение данных по меньшей мере для одного представления мультимедийного контента, который включает в себя временную подпоследовательность, при этом временная подпоследовательность включает в себя только картинки случайной точки доступа (RAP);
получение данных для файла манифеста для мультимедийного контента, при этом информация файла манифеста указывает, что по меньшей мере одно представление мультимедийного контента включает в себя временную подпоследовательность;
посылку по меньшей мере части файла манифеста на устройство клиента и
посылку данных, указывающих один или более байтовых диапазонов, соответствующих местоположениям данных для упомянутой временной подпоследовательности в одном или более соответствующих сегментах упомянутого по меньшей мере одного представления, на устройство клиента, при этом упомянутые один или более байтовых диапазонов соответствуют упомянутым картинкам RAP, но не другим картинкам сегментов, которые не включены в упомянутую временную подпоследовательность.

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

28. Способ по п. 26, в котором упомянутая часть представления включает в себя данные, указывающие упомянутые один или более байтовых диапазонов, соответствующих местоположениям упомянутых данных для упомянутой временной подпоследовательности, причем способ дополнительно содержит:
прием запроса части представления от устройства клиента и
посылку части представления на устройство клиента в ответ на запрос.

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

30. Способ по п. 28, в котором файл манифеста указывает байтовый диапазон для упомянутой части представления и в котором запрос содержит запрос частичного GET, который задает байтовый диапазон для упомянутой части представления.

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

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

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

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

35. Устройство по п. 33, в котором файл манифеста указывает байтовый диапазон для упомянутой части представления и в котором запрос содержит запрос частичного GET, который задает байтовый диапазон для упомянутой части представления.

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

37. Устройство для посылки информации для мультимедийных данных, причем устройство содержит:
средство для получения данных для по меньшей мере одного представления мультимедийного контента, которое включает в себя временную подпоследовательность, при этом временная подпоследовательность включает в себя только картинки случайной точки доступа (RAP);
средство для получения данных для файла манифеста для мультимедийного контента, при этом информация файла манифеста указывает, что по меньшей мере одно представление мультимедийного контента включает в себя временную подпоследовательность;
средство для посылки по меньшей мере части файла манифеста на устройство клиента, и
средство для посылки данных, указывающих один или более байтовых диапазонов, соответствующих местоположениям данных для упомянутой временной подпоследовательности в одном или более соответствующих сегментах упомянутого по меньшей мере одного представления, на устройство клиента, при этом упомянутые один или более байтовых диапазонов соответствуют упомянутым картинкам RAP, но не другим картинкам сегментов, которые не включены в упомянутую временную подпоследовательность.

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

39. Устройство по п. 37, в котором часть представления включает в себя данные, указывающие упомянутые один или более байтовых диапазонов, соответствующих местоположениям упомянутых данных для временной подпоследовательности, дополнительно содержащее:
средство для приема запроса части представления от устройства клиента; и
средство для посылки части представления на устройство клиента в ответ на запрос.

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

41. Устройство по п. 39, в котором файл манифеста указывает байтовый диапазон для упомянутой части представления и в котором запрос содержит запрос частичного GET, который задает байтовый диапазон для части представления.

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

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

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

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

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

Документы, цитированные в отчете о поиске Патент 2015 года RU2571375C2

Колосоуборка 1923
  • Беляков И.Д.
SU2009A1
Пломбировальные щипцы 1923
  • Громов И.С.
SU2006A1
Пломбировальные щипцы 1923
  • Громов И.С.
SU2006A1
Приспособление для суммирования отрезков прямых линий 1923
  • Иванцов Г.П.
SU2010A1
СИСТЕМА ВОСПРОИЗВЕДЕНИЯ МУЛЬТИМЕДИА В ПОРТАТИВНОМ УСТРОЙСТВЕ 2003
  • Патвари Сринивас
RU2316907C2

RU 2 571 375 C2

Авторы

Чэнь Ин

Штокхаммер Томас

Уотсон Марк

Даты

2015-12-20Публикация

2011-08-09Подача