Кодирование, хранение и передача информации о масштабируемости

Иллюстрации

Показать все

Изобретение относится к кодеру/декодеру масштабируемого потока данных, включающего по меньшей мере два уровня масштабируемости. Техническим результатом является повышение эффективности масштабируемого потока данных и обеспечение возможности непосредственной передачи в потоке битов, в формате файла или посредством протокола передачи информации о масштабируемости для конкретного уровня масштабируемого потока битов. Предложен способ и устройство кодирования, декодирования, хранения и передачи масштабируемого потока данных, включающего уровни, имеющие различные характеристики кодирования. Способ включает создание одного или более уровней масштабируемого потока данных, при этом по меньшей мере один уровень имеет характеристику кодирования, которая включает по меньшей мере одно из следующего: информацию о масштабируемости степени детализации (FGS); информацию о масштабируемости зоны интереса (ROI); информацию о масштабируемом уровне субсэмпла; информацию о зависимостях декодирования и наборы начальных параметров, способ также включает сигнализацию об уровнях с помощью характеристик кодирования так, чтобы характеристики могли быть считаны декодером без необходимости декодирования всего уровня. 12 н. и 37 з.п. ф-лы, 5 ил., 8 табл.

Реферат

Область техники

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

Уровень техники

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

Технологии, задействованные в мультимедийных приложениях, включают, помимо прочего, кодирование, хранение и передачу медиаданных. Типы медиаданных включают речь, звуки, изображение, видео, графику и текст в реальном времени. Для разных технологий были определены различные стандарты. Стандарты кодирования видеоданных включают ITU-T Н.261, ISO/IEC MPEG-1 Visual, ITU-T H.262 or ISO/IEC MPEG-2 Visual, ISO/IEC MPEG-4 Visual, ITU-T H.264 или ISO/IEC MPEG-4 AVC (в настоящем документе сокращенно AVC, AVC/H.264 или H.264/AVC), и возможные будущие стандарты, например ISO/IEC MPEG-21 SVC, China AVS, ITU-T H.265, и ISO/IEC MPEG 3DAV.

Имеющиеся стандарты формата медиафайлов включают формат файлов Международной организации по стандартизации (ISO) (ISO/IEC 14496-12), формат файлов MPEG-4 (ISO/IEC 14496-14), формат файлов AVC (ISO/IEC 14496-15) и формат файлов Проекта "Партнерство 3-его поколения" (3GPP) (3GPP TS 26.244).

Стандарт 3GPP TS 26.140 определяет типы медиаданных, форматы и кодеки для служб передачи мультимедиа (MMS) внутри системы 3GPP. Стандарт 3GPP TS 26.234 определяет протоколы и кодеки для служб потоковой передачи данных с коммутацией пакетов (PSS, packet-switched streaming) внутри системы 3GPP. Действующий стандарт 3GPP TS 26.346 определяет протоколы и кодеки для служб широкого/группового мультимедиа вещания (MBMS, multimedia broadcast/multicast services) внутри системы 3GPP.

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

С помощью комбинации профиля и уровня декодер может декларировать, способен ли он декодировать поток, без попытки произвести декодирование, которая могла бы привести к сбою декодера, к замедлению работы по сравнению с работой в реальном времени, и/или к отбрасыванию данных вследствие переполнения буфера, если декодер не способен к декодирование потока. Каждая пара профиль-уровень образует "точку совместимости" (interoperability point)

Некоторые стандарты кодирования позволяют создавать масштабируемые потоки битов. Содержательное декодированное представление может быть получено декодированием только некоторой части масштабируемого потока битов. Масштабируемые потоки битов могут использоваться для адаптации скорости предварительно кодированных однонаправленных потоков в текущем сервере и для передачи одного потока битов в терминалы, имеющие различные функциональные возможности и/или различные состояния сети. Список других случаев использования масштабируемого кодирования видеоданных можно найти в изданном ISO/IEC JTC1 SC29 WG11 (MPEG) документе N6880, "Applications and Requirements for Scalable Video Coding", the 71th MPEG meeting, January 2005, Hong Kong, China.

Масштабируемые технологии кодирования включают обычные многоуровневые способы масштабируемого кодирования и кодирование с масштабированием степени детализации (FGS, fine granularity scalability). Обзор этих способов можно найти в статье Weiping Li под заглавием "Overview of fine granularity scalability in MPEG-4 video standard," IEEE Transactions on Circuits and Systems for Video Technology, vol. 11, no. 3, pp.301-317, March 2001.

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

Рабочая версия масштабируемого расширения до H.264/AVC в настоящее время позволяет кодировать множество масштабируемых уровней. Эта рабочая версия описана в работе JVT-N020, "Scalable video coding - working draft 1," 14th meeting, Hong Kong, Jan 2005, и известна также как документ MPEG w6901, 'Working Draft 1.0 of 14496-10:200x/AMD1 Scalable Video Coding," Hong Kong meeting, January 2005. При таком кодировании множества масштабируемых уровней переменная DependencylD (идентификатор зависимости), передаваемая в потоке битов, используется для указания зависимостей кодирования различных масштабируемых уровней.

Масштабируемый поток битов содержит по меньшей мере два уровня масштабируемости: базовый уровень и один или несколько уровней расширения. Если один масштабируемый поток битов содержит больше одного уровня масштабируемости, тогда он имеет в точности такое же количество альтернатив для декодирования и воспроизведения. Каждый уровень является альтернативой декодирования. Уровень 0, базовый уровень, является первой альтернативой декодирования. Уровень 1, первый уровень расширения, является второй альтернативой декодирования. Этот порядок справедлив и для последующих уровней. Как правило, более низкий уровень содержится в более высоких уровнях. Например, уровень 0 содержится в уровне 1, а уровень 1 содержится в уровне 2.

Каждый уровень характеризуется набором, состоящим по меньшей мере из одной характеристики, например информации о масштабируемости степени детализации (FGS), информации о масштабируемости зоны интереса (ROI, Region-of-interest), информации о масштабируемом уровне субсэмпла, информации о зависимостях декодирования, и набора начальных параметров, который могут отличаться от характеристики всего потока.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

на фиг.3 показана блок-схема кодера в одном из примеров выполнения настоящего изобретения;

на фиг.4 показана блок-схема преобразователя в одном из примеров выполнения настоящего изобретения; и

на фиг.5 показана блок-схема декодера в одном из примеров выполнения настоящего изобретения.

ПОДРОБНОЕ ОПИСАНИЕ ПРИМЕРОВ ВЫПОЛНЕНИЯ ИЗОБРЕТЕНИЯ

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

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

На фиг.2 в одном из примеров выполнения настоящего изобретения иллюстрируется сигнализация о наборе информации, включающем по меньшей мере информацию об одной характеристике для каждого уровня масштабируемого потока 200 битов. Каждый уровень масштабируемого потока битов характеризуется набором, включающим по меньшей мере информацию об одной характеристике, которую передают для этого уровня, что позволяет выбрать уровень для декодировании или передачи согласно набору, включающему информацию по меньшей мере об одной характеристике. Такие характеристики могут храниться в заголовке 204. Множество уровней 202 представляют собой множество уровней в масштабируемом потоке битов.

В первом примере использования настоящего изобретения масштабируемый поток битов кодируется и хранится на сервере потока. Набор, включающий информацию по меньшей мере об одной характеристике, например информацию о степени детализации, информацию о масштабируемости зоны интереса, информацию о масштабируемом уровне субсэмпла или субизображения, информацию о зависимостях декодирования и наборы начальных параметров для каждого уровня, - передается в хранимый файл. При описании доступного сеанса связи сервер может создать протокол описания сессии (SDP, Session Description Protocol) для каждого уровня или альтернативы для масштабируемого потока битов в том же самом файле, чтобы клиент потока смог понять, имеется ли идеальный уровень, и выбрать идеальный уровень для воспроизведения потока согласно описаниям SDP. Если сервер не обладает предшествующим знанием о функциональных возможностях приемника, предпочтительно создать множество описаний SDP на основе одного и того же содержания, в этом случае такие описания называются альтернативами. Затем клиент может выбрать то описание, которое наилучшим образом удовлетворяет его функциональным возможностям.

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

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

На фиг.3 показана блок-схема кодера в примере выполнения настоящего изобретения. Кодер 304 принимает поток 302 исходных данных. Поток данных кодируется, и кодер 306 масштабируемых данных кодера 304 создает один или несколько уровней. Затем компонент 308 сигнализации сигнализирует об этих уровнях. О некоторых из уровней, возможно, уже сигнализировал кодер 306 масштабируемых данных, и компонент сигнализации проверяет такие появления. Поток 310 данных, указывающих на характеристику кодирования, выходит из кодера 304, что позволяет приемному устройству (MMSC или декодеру) считывать сигналы для определения характеристик кодирования для уровней потока данных.

На фиг.4 показана блок-схема преобразователя в примере выполнения настоящего изобретения. Преобразователь 404 принимает поток 402 масштабируемых данных в приемнике 406. Приемник 406 считывает также индикаторы характеристик кодирования, связанные с уровнями полученного потока данных. Средство 410 сравнения характеристик кодирования сравнивает индикаторы характеристик кодирования с уже известными параметрами декодера или сети, для которых предназначен этот поток данных. С помощью этого сравнения он определяет, какие именно уровни сможет декодировать целевое устройство. Затем поток данных модифицируется в модификаторе 412 потока данных с тем, чтобы сделать поток данных декодируемым для целевого устройства. Это может включать удаление из потока данных тех уровней, которые, как было определено в элементе 410, не могут быть декодированы целевым устройством. Затем модифицированный поток данных передается передатчиком 414. Модифицированный поток данных 416 выдается из преобразователя 404 в приемное устройство (MMSC или декодер).

На фиг.5 показана схема, иллюстрирующая декодер в примере выполнения настоящего изобретения. Декодер 504 принимает поток 502 данных с характеристикой кодирования в приемнике 506. Идентификатор 510 характеристики кодирования идентифицирует один или несколько уровней в принятом потоке данных и соответствующие характеристики кодирования. На основе характеристики кодирования по меньшей мере одного из уровней верификатор 512 возможностей декодера определяет, способен ли декодер декодировать этот уровень. Если это так, он позволяет компоненту 514 декодирования продолжить декодирование этого уровня потока данных. В противном случае он запрещает компоненту 514 декодирования пытаться декодировать уровень, что позволяет избежать возможного сбоя декодера. На фиг.5 показано, что поток 516 декодированных данных выходит из декодера 504.

Сигнализация в потоке битов

Предпочтительно сигнализировать о характеристиках уровня на уровне последовательности или группы изображений (GOP, group of pictures), например посредством последовательности или заголовков GOP, набора параметров последовательности, сообщений с дополнительной информацией о расширении (SEI, Supplemental Enhancement Information), пользовательских данных и другого синтаксиса для уровня последовательности.

В стандарте JSVM 1.0 (JVT-N023) информация о масштабируемости SEI определена с целью помочь экстрактору потока битов анализировать характеристики масштабируемости потока битов. Информация SEI, как она определена в JSVM 1.0, может быть слишком специфической для текущей реализации SVC в эталонном программном обеспечении JSVM. Ниже предложен новый синтаксис для информации SEI масштабируемости, который обеспечивает следующие операции на системном уровне без синтаксического разбора и анализа в любом кодированном блоке NAL слайса (с единственным исключением для масштабируемости области интереса на основе масштабируемых уровней субизображения).

- Синтезатор файлового формата записывает в файл медиаданные с информацией о масштабируемости.

- Сервер потока предлагает для приемников все возможные точки масштабируемого представления.

- Экстрактор потока битов извлекает любую желательную точку масштабируемого представления.

- Сетевой элемент для работы с медиаданными (например шлюз) решает, какие блоки NAL следует отбросить (а следовательно, не передавать) для желательной точки масштабируемого представления.

Новый синтаксис приведен в таблице 1 и описан ниже. Конечно, специалистам в данной области техники очевидно, что возможны и другие способы сигнализации, и изобретение не ограничено конкретным способом сигнализации. Категории (помеченные в Таблице 1 как С) определяют разбиение данных слайса самое большее на три сегмента, а дескрипторы определяют процесс синтаксического разбора для каждого элемента синтаксиса. Категории и дескрипторы раскрыты в вышеуказанном документе "Working Draft 1.0 of 14496-10:200x/AMD1 Scalable Video Coding".

Таблица 1
scalabiiity_info(payloadSize) { С Дескриптор
num_layers_minus1 5 ue(v)
for (i=0; i<=num_layers_minus1; i++) {
fgs_layer_flag[i] 5 u(1)
sub_piс_layer_flag[i] 5 u(1)
sub_region_layer_flag[i] 5 u(1)
profile_level_info_present_flag[i] 5 u(1)
decoding_dependency_info_present_flag[i] 5 u(1)
bitrate_info_present_flag[i] 5 u(1)
frm_rate_info_present_flag[i] 5 u(1)
frm_size_info_present_flag[i] 5 u(1)
layer_dependency_info_present_flag[i] 5 u(1)
init_parameter_sets_info_present_flag[i] 5 u(1)
if (profile_level_info_present_flag[i]) {
layer_profile_idc[i] 5 u(8)
layer_constraint_set0_flag[i] 5 u(1)
layer_constraint_setl_fiag[i] 5 u(1)
layer_constraint_set2_flag[i] 5 u(1)
layer_constraint_set3_flag[i] 5 u(1)
reserved_zero_4bits /* equalto 0 */ 5 u(4)
layer_level_idc[i] 5 u(8)
}
if (decoding_dependency_info_present_flag[i]) {
dependency_id[i] 5 u(3)
temporal_level[i] 5 u(3)
}
if (bitrate_info_present_flag[i]) {
avg_bitrate[i] 5 u(16)
max_bitrate[i] 5 u(16)
}
if (frm_rate_info_present_flag[i]) {
constant_frm_rate_idc[i] 5 u(2)
avg_frm_rate[i] 5 u(16)
}
if (frm_size_info_present_flag[i]) {
frm_width_in_mbs_minus1[i] 5 ue(v)
frm_height_in_mbs_ininus1[i] 5 ue(v)
}
if (sub_region_layer_flag[ij) {
horizontal_offset[i] 5 u(16)
vertlcial_offset[i] 5 u(16)
region_width[i] 5 u(16)
region_height[i] 5 u(16)
}
if (layer_depdendency_info_present_flag(i) {
num_directly_dependent_leyers[i] 5 ue(v)
for (j=0; j<num_directly_dependent_layers[i]; J++)
directly_dependent_layer_id_delta[i][j] 5 ue(v)
}
if (init_parameter_sets_info_present_flaq[i]) (
num_init_seq_parameter_set_minus1[i] 5 ue(v)
for (j=0; j<=num_seq_parameter_set_minus1 [i]; J++)
init_seq_parameter_set_iddelta[i][j] 5 ue(v)
num_init_pie_parameter_set_minus1[i] 5 ue(v)
for (j=0; j<=num_pie_parameter_set_minus1 [i]; J++)
init_pie_parameter_set_id_delta[i][j] 5 ue(v)
}
}

Семантика определена следующим образом. Это сообщение SEI, когда оно имеется, должно появиться в блоке доступа IDR. Семантика сообщения действительна до следующего сообщения SEI того же типа.

num_layers_minus1+1 указывает количество масштабируемых уровней или точек представления, поддержанных потоком битов. Значение num_layers_minus1 лежит в пределах от 0 до 255 включительно.

Каждый масштабируемый уровень ассоциирован с идентификатором уровня. Назначение идентификатора уровня происходит следующим образом. Большее значение идентификатора соответствует более высокому уровню. Значение 0 обозначает самый низкий уровень. Декодирование и представление уровня не зависят от любого более высокого уровня, но могут зависеть от более низкого уровня. Поэтому самый низкий уровень можно декодировать и представлять независимо; декодирование и представление уровня 1 может зависеть от уровня 0, декодирование и представление уровня 2 может зависеть от уровней 0 и 1 и т.д. Представление масштабируемого уровня требует присутствия самого масштабируемого уровня и всех более низких уровней, от которых масштабируемый уровень зависит прямо или косвенно. В последующем описании масштабируемый уровень и все более низкие уровни, от которых масштабируемый уровень зависит прямо или косвенно, вместе называются представлением масштабируемого уровня.

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

Значение флага fgs_layer_flag[i]=1 указывает, что масштабируемый уровень с идентификатором i уровня представляет собой уровень масштабирования степени детализации (FGS). Значение 0 указывает, что масштабируемый уровень не является уровнем FGS. Кодированный слайс блоков NAL уровня FGS может быть усечен в любой выровненной по байтам позиции.

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

Значение флага sub_pic_layer_flag[i]=1 указывает, что масштабируемый уровень с идентификатором i уровня состоит из субизображений, каждое субизображение состоит из поднабора кодированных слайсов блока доступа. Значение 0 указывает, что масштабируемый уровень состоит из полных блоков доступа.

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

Значение флага sub_region_layer_flag[i]=1 указывает, что масштабируемый уровень с идентификатором i уровня представляет собой подобласть всей области, представленной всем потоком битов. Значение 0 указывает, что масштабируемый уровень представляет всю область, представленную всем потоком битов.

Значение флага profile_level_info_present_flag[i]=1 указывает на наличие в сообщении SEI информации о профиле и уровне для масштабируемого уровня с идентификатором уровня, равным i. Значение 0 указывает, что информация о профиле и уровне для масштабируемого уровня с идентификатором уровня, равным i, в сообщении SEI отсутствует.

Значение флага decoding_dependency_info_present_flag[i]=1 указывает на наличие в сообщении SEI информации о зависимостях декодирования для масштабируемого уровня с идентификатором уровня, равным i. Значение 0 указывает, что информация о зависимостях декодирования для масштабируемого уровня с идентификатором уровня, равным i, в сообщении SEI отсутствует.

Значение флага bitrate_info_present_flag[i]=1 указывает на наличие в сообщении SEI информации о скорости передачи данных для масштабируемого уровня с идентификатором уровня, равным i. Значение 0 указывает, что информация о скорости передачи данных для масштабируемого уровня с идентификатором уровня, равным i, в сообщении SEI отсутствует.

Значение флага frm_rate_info_present_flag[i]=1 указывает на наличие в сообщении SEI информации о скорости кадров для масштабируемого уровня с идентификатором уровня, равным i. Значение 0 указывает, что информация о скорости кадров для масштабируемого уровня с идентификатором уровня, равным i, в сообщении SEI отсутствует.

Значение флага frm_size_info_present_flag[i]=1 указывает на наличие в сообщении SEI информации о размере кадров для масштабируемого уровня с идентификатором уровня, равным i. Значение 0 указывает, что информация о размере кадров для масштабируемого уровня с идентификатором уровня, равным i, в сообщении SEI отсутствует.

Значение флага layer_dependency__info_present_flag[ij=1 указывает на наличие в сообщении SEI информации о зависимости уровня для масштабируемого уровня с идентификатором уровня, равным i. Значение 0 указывает, что информация о зависимости уровня для масштабируемого уровня с идентификатором уровня, равным i, в сообщении SEI отсутствует.

Значение флага init_parameter_sets_info_present_flag[i]=1 указывает на наличие в сообщении SEI информации о наборе начальных параметров для масштабируемого уровня с идентификатором уровня, равным i. Значение 0 указывает, что информация о наборе начальных параметров для масштабируемого уровня с идентификатором уровня, равным i, в сообщении SEI отсутствует.

Наборы начальных параметров - это те наборы параметров, которые могут быть переданы в начале сеанса связи.

Компоненты сообщения layer_profile_idc [i],

layer_constraint_set0_flag[i], layer_constraint_set1_flag[i], Iayer_constraint_set2_flag[i], layer_constraint_set3__flag[i], и layer_level_idc [i] индицируют согласование профиля и уровня в потоке битов представления масштабируемо